如何用 ABAP 以程序方式把指定表项写入 Transport Request

ABAP 百科全书
该专栏为热销专栏榜 第61名
专栏收录该内容
¥9.90
¥99.00
5857 篇文章

在很多项目里,自定义配置往往不只是一个表那么简单。常见模式是:一张主表保存结构化配置,另一张文本表按语言保存描述文本。你在开发系统里维护了一条配置,到了测试或生产系统却发现只带过去了主表数据,界面标题、下拉值说明、报表抬头全都变成空白或默认语言,这类问题在全球化交付里尤其高频。

下面以两张自定义表 ZXA_HEADER 与 ZXA_HEADERT 为例,讲清楚如何用 ABAP 以程序方式把指定表项写入 Transport Request,并确保文本表也一起进入请求。实现路径有两条:

  • 直接往请求里塞 TABU 表项:自己拼 E071 与 E071K 的键
  • 用 SOBJ 定义可运输对象类型(Piece List):只给主对象,系统自动推导依赖表与键

两种方式都能跑通,差别在于可维护性与自动推导能力。理解了底层原理,你会更容易在复杂场景里选对方案并避坑。


场景与数据模型:主表 + 文本表为什么总是成对出现

示例里有两张表:

  • ZXA_HEADER:主表,关键字段是 OBJECTID、OBJECT_TYPE、OBJVERS
  • ZXA_HEADERT:文本表,多一个语言键 LANGU,同样包含 OBJEC
VIP SAP Script表单开发调用ABAP preform方法 SAP Scrip表单开发调用ABAP preform方法。 开通可读全文·1.5k 阅读·0 点赞·2 收藏 阅读全文

相关推荐

abap中SE71里如何维护“段落格式”“Paragraph formats”以及回避错误“不能调用PC编辑器,未知段落格式”

下面我来介绍一下,使用abap的form编辑器se71的过程中,可能遇到哪些现象,以及如何回避这个现象 我遇到的问题是这样的 1.在se71中新建了一个 “段落格式”“Paragraph formats” 2.进入窗口编辑器,进入它的classical editor ,编辑文本,并为文本配置 段落格式 3.配置完以后,选择utilities->test print 进行预览,无法看到效果。

charliefromkansas的博客 1738

ABAP实现SAP配置表条目批量写入Transport Request的完整指南

在SAP项目实施与运维中,配置表数据的自动化传输一直是企业数字化转型与CI/CD流水线建设的关键环节。传统依赖SM30手工维护再通过SE10挂载请求的方式,在批量操作、权限管控与高频发布场景下显得力不从心。ABAP作为SAP平台的核心开发语言,提供了直接操作传输请求的标准化函数接口。通过理解R3TR TABU传输对象、表条目快照原理以及TMS(传输管理系统)的工作机制,开发人员能够编写通用报表或函数模块,将符合特定条件的自定义表记录精准写入传输请求。这一技术不仅适用于系统初始化、批量参数调整、生产数据修正等

weixin_32430941的博客 238

ABAP程序化写入Transport Request:表项传输完整指南

在SAP项目实施中,数据传输与版本管理是交付环节的核心挑战。CTS(Change and Transport System)作为SAP变更传输的基础机制,通过请求、任务和对象列表管理所有开发与配置的流转。然而,手动维护传输请求时,表项遗漏、效率低下等问题常导致上线故障。借助ABAP调用CTS标准函数,可以将自定义表内容(TABU)自动写入传输请求,实现批量和可重复的操作。围绕CTS原理,详解核心函数模块的参数设计、完整示例代码以及常见坑,并延伸到与CI/CD链路的整合。通过程序化方式,交付团队能确保表项传输

weixin_31240035的博客 179

abap中程序跳转(全)

ABAP CALL TRANSACTION 调用事务码方式,使用BDC参数调用事务码并进行跳转REPORTYTEST.INCLUDEBDCRECXY."使用BDC一定要包含此文件DATAL_OPTTYPECTU_PARAMS.SELECTION-SCREENPUSHBUTTON/1(20)PUBU1。效果1.调用程序需要tcode,2.调用会打开新会话(sap只支持六个会话)效果1.调用程序需要tcode,2.调用会打开新会话(sap只支持六个会话)SUBMIT 后面跟着的是程序名而不是tcode事务码。

qq_53645728的博客 2389

SAP开发运维必备:手把手教你用传输请求(Transport Request)跨系统搬运程序和数据字典

本文详细介绍了SAP传输请求(Transport Request)在跨系统迁移开发对象和数据字典中的应用。通过解析核心机制、标准流程和高级管理技巧,帮助开发运维团队高效安全地实现程序、配置等对象的传输,确保系统变更的可靠性和一致性。

weixin_29224589的博客 339

什么是 SAP ABAP Transport Request

SAP 系统提供了多种增强和扩展的方式,允许企业根据自身的业务需求对标准功能进行扩展。例如,通过用户出口(User Exit)、BAdI(Business Add-In)或者增强框架(Enhancement Framework)来增加自定义逻辑。这些增强或扩展的内容同样需要通过在不同系统之间传输,以确保所有环境的功能一致。案例研究:某物流公司需要对 SAP 系统的出库流程进行自定义扩展,以便在生成出库单时根据特定规则计算运输费用。开发人员在开发环境中实现了这一增强逻辑,并将其保存到一个中。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 572

什么是 SAP ABAP 系统的 Transport Request

在这个 TR 中,我们可以记录这个新程序的所有修改和更改。一旦程序编写完成,并且在开发系统中经过了测试,我们就可以通过这个 TR 将这个程序从开发系统迁移到测试系统。这是非常重要的,因为在大型的 IT 环境中,通常会有多个开发者同时工作在同一系统上,而且这些系统可能会运行在不同的地理位置。在 SAP 系统中,Transport Request (TR) 是一个非常重要的组成部分,它是 SAP 系统中实施改变和确保这些改变能够从一个系统(例如开发系统)传输到另一个系统(例如测试或生产系统)的关键工具。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1073

一张 Transport Request 搞定多个 Package:用 ABAP 批量收集对象并合并传输单的实战方案

摘要:本文介绍了在SAP项目中通过ABAP报表程序批量收集多个Package对象到同一Transport Request(TR)的实用方法。文章首先分析了Package作为交付核心抓手的原因,详细阐述了方案设计思路和核心技术实现,包括按包收集对象、CDS View特殊处理、TR写入与合并等关键环节。通过一个真实案例展示了该方法如何解决跨团队、跨组件交付的痛点,并特别指出了使用时的风险控制点和云环境差异。该方案能显著提升大规模交付的效率和质量,使交付清单更可控、可审计。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 261

深入解析 ABAP Transport Request 系统设计

从系统设计动机到目标明确、从架构层次到领域问题,再到全流程实现细节,ABAP Transport Request 系统无疑是 SAP 环境中不可或缺的一部分。它不仅确保了各环境间变更的高效、安全传递,还通过自动化与智能化手段大大降低了因传输错误带来的风险。作为一名资深 ABAP 技术专家,我深知在实际项目中,每一次传输请求都可能牵一发动全身。系统设计者需要在保证技术严谨性的同时,兼顾实际业务需求与操作便捷性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 557

让 Claude Code 和 ABAP 系统真正协作起来,Model Context Protocol Tools 在 ABAP 开发里的落地方式

ABAP开发工具链中引入Model Context Protocol(MCP)标志着AI辅助开发的重要转变。MCP作为开放标准,允许AI应用安全接入ABAP系统能力,使AI助手不再仅限于代码解释和模板生成,而能实际参与开发流程。通过ADT MCP Server,AI agent可调用包括对象创建、测试执行、对象激活等开发工具,但需遵循系统权限、校验机制和审批流程的约束。关键工具如ABAP Server Destinations确定目标系统,Object Creation工具则通过schema驱动方式确保创建

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1952

把 SAP Transport Request 变成可读的功能配置台账,一套基于 E070、E071、E071K 与 DDIC 的 ABAP 实现

<think>我们根据要求生成一篇≤150字的摘要。内容概述:SAP项目中Transport Request难以直接看出业务配置,文章介绍了一种基于E071K和DDIC元数据解析TABKEY并映射为功能配置台账的方法。需要精炼。</think>SAP Transport Request 含有技术变更,但业务配置难直接看出。文章介绍通过 E071K 的 TABKEY 结合 DDIC 字段定义动态解析,并映射为模块化配置描述(如 MM/Define Plant),并用独立映射表维护分类,将 CTS 信息转成项目

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 35

从 Eclipse ADT 的隐形接口到 AI 驱动的 ABAP 自动化,理解 abap-adt-api 的价值边界和使用场景

这篇文章介绍了 GitHub 仓库 abap-adt-api 的核心功能和定位。它是一个用 TypeScript 编写的 ADT 客户端库,主要作用是封装 SAP ABAP Development Tools 的 REST 接口,为非 Eclipse 工具提供访问 ABAP 仓库的能力。文章分析了该库的技术架构、依赖组件和模块划分,阐述了它在 ABAP 开发生态中的独特价值 - 作为"headless ADT"支持自动化脚本、VS Code 扩展等场景。重点说明了该库解决的 ABAP 开发核心痛点不是语法问

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1364

如何查询 ABAP 传输请求(Transport Request)和使用该请求修改了的程序的信息?

一个朋友咨询我本文标题的问题。 我们用SE38或者SE80打开任意一段 ABAP 代码,在 Utilities->Versions->Version Management 菜单, 都可以看到这段代码的每一个版本,分别是通过哪一个开发请求所修改的: 开发请求的编号,一般是三位的系统ID 开头。 事物码 SE10,可以查看指定用户创建的所有尚未释放和已经释放的传输请求: 也可以使用事物码 SE01,输入单个的请求号码查询其下包含了哪些代码修改: 数据库表 E071 包含了传输请求号和其包含

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1037

SAP ABAP 系统传输请求(Transport Request)导入到其他系统背后执行的逻辑

在 SAP 系统中,当我们需要将一些更改从一个系统(例如开发系统)传输到另一个系统(例如测试系统)时,我们会使用 Transport Request。当你释放 Transport Request 并将其导入到测试系统时,系统会按照 Transport Request 中的指示,在目标系统中重新创建 Dynpro 程序。当你在开发系统中编写 Dynpro 程序并保存到 Transport Request 中时,你实际上是在创建一个包含你的 Dynpro 程序和相关代码的包。系统将代码导入到新创建的对象中。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 893

使用 ABAP 代码释放某个传输请求 - transport request

REPORT rswbo011 . DATA: gv_released TYPE trboolean VALUE ' '. PARAMETERS: request TYPE trkorr obligatory, wobjchk AS CHECKBOX, "without objects' check ...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1354

DaVinci Developer中枚举类型变量的创建与实战应用

本文详细介绍了在DaVinci Developer中创建和使用枚举类型变量的方法与实战应用。通过智能温控系统的案例,阐述了枚举类型在嵌入式开发中的核心价值,包括提升代码可读性、类型安全性和维护便捷性。文章还提供了枚举类型在状态机实现和多模块协同中的高级应用技巧,以及调试与优化的实用建议。

ik678901234的博客 506

UE5 AI寻路全攻略:从Nav Mesh基础到动态障碍与多模式导航

在游戏开发中,AI寻路是赋予非玩家角色自主移动能力的关键技术。其核心原理是通过预计算或实时生成一个表示可行走区域的导航网格,AI路径查找算法(如A*)在此网格上规划最优路径。这项技术的价值在于,它能极大提升游戏世界的真实感和交互性,使NPC能够智能地绕开障碍、穿越复杂地形,广泛应用于开放世界、RPG、策略游戏等多种场景。本文聚焦于虚幻引擎5的寻路系统,深入探讨其寻路网格体配置。针对动态环境挑战,文章详细介绍了如何利用寻路修饰体积和动态障碍物组件实现导航网格的实时更新;同时,针对游泳、飞行等特殊移动需求,解析

weixin_33226816的博客 352

KMS服务器一键部署与激活实战指南

本文详细介绍了KMS服务器的一键部署与激活实战指南,包括快速入门、安装步骤、服务管理技巧及常见问题排查。特别针对Windows和Mac用户提供了Office激活的具体操作步骤,并分享了高级配置与优化方案,帮助IT管理员高效管理批量授权激活。

weixin_29305313的博客 454

微信内置浏览器抓包全攻略:从ADB配置到Chrome调试(附常见问题解决)

本文提供了一套完整的微信内置浏览器抓包与调试解决方案。从ADB工具的深度配置与稳定性连接开始,详细讲解了如何开启X5内核调试开关,并利用Chrome DevTools建立远程连接。文章重点剖析了Network面板进行网络请求抓取、性能分析和问题定位的实战技巧,并附带了设备连接失败、无网络请求等常见问题的排查指南,帮助开发者高效解决微信H5页面调试难题。

gitlab7runner的博客 532

强化学习赋能宇树机器狗:Isaac Gym与MuJoCo仿真训练全解析

本文详细解析了如何利用Isaac Gym和MuJoCo两大仿真平台为宇树机器狗构建强化学习训练管道。内容涵盖环境配置、模型导入、PPO算法框架设计、奖励函数构建以及从仿真到实机的策略迁移技巧,为开发者提供了一套完整的宇树狗仿真训练实践方案。

zeta9的博客 611

潜望式长焦模组全解析:结构构造、光路设计与工程实战挑战

随着移动影像能力的不断进化,潜望式长焦模组成为旗舰手机实现 5x 甚至 10x 光学变焦的关键配置。相比传统横向堆叠镜组,潜望式结构通过反射棱镜实现纵向空间上的光路折叠,有效解决了模组厚度与变焦行程的矛盾问题。然而,高倍变焦模组不仅面临复杂的光学路径设计,还涉及反射损耗控制、防抖马达配合、模组热应力管控与 ISP 畸变校正等一系列工程难点。本文将结合主流机型的实战经验,深入解析潜望式长焦模组的结构构造与调试路径,为影像系统工程师提供完整的实战参考。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3120

prplOS适配USB LAN网卡

本文介绍了将USB LAN网卡(如rndis0)适配到prplOS的LAN管理流程。

四儿家的小祖宗的博客 320

(考研湖科大教书匠计算机网络)第四章网络层-第三节3、4:划分子网的IPv4地址和无分类IP地址

子网掩码: 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号子网掩码使用连续的比特1来对应网络号和子网号子网掩码使用连续的比特0来对应主机号将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址如下图。

快乐江湖的博客 1333

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

上一篇: 在 Steampunk 的 ABAP 环境里落地 ATC 豁免审批:从开发申请到双人复核的全链路实践
下一篇: 层次报表改动后变体丢失:从表 VARID 精准定位,到函数 RS_COPY_SELECTION_SETS 快速恢复

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
汪子熙
汪子熙 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域 优质创作者: 软件测试技术领域 优质创作者: 软件测试技术领域 领域专家: 数据库技术领域 领域专家: 数据库技术领域
博客等级 码龄16年 3万+粉丝 1万+原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值