SAP ABAP进阶技巧:SUBMIT命令的隐藏用法与性能优化指南

SAP SUBMIT 用一个程序调用其他程序并返回参数 假如我需要用A程序将参数传入B程序,运行B程序后再将结构返回至A程序,这时我就可以使用关键字submit来实现。SUBMIT [被调用的程序B] {WITH 参数关系} {AND RETURN}.传入语句:IMPORT wa FROM MEMORY ID 'wa' . 写在A程序里面。返回语句:EXPORT wa TO MEMORY ID 'wa' . 写在B程序里面。传入的参数可以用memory来存储。注意该表在A和B程序内都需要定义。在寻找资料时,找到了一些参考文章。wa为任意自己创建参数的内表。 阅读详情

SAP ABAP进阶技巧:SUBMIT命令的隐藏用法与性能优化指南

在SAP ABAP开发中,SUBMIT命令是一个强大但常被低估的工具。大多数开发者仅将其用于简单的程序调用,却忽略了它在复杂场景下的潜力。本文将深入探讨SUBMIT的高级用法,特别是那些能显著提升开发效率和系统性能的技巧。

1. SUBMIT命令的核心机制与内存管理

SUBMIT命令的本质是启动另一个ABAP程序的执行,但它与简单的CALL TRANSACTION或SUBMIT...VIA SELECTION-SCREEN有着根本区别。理解其底层机制是掌握高级用法的前提。

当使用EXPORTING LIST TO MEMORY选项时,被调用程序的输出不会直接显示,而是存储在SAP内存的特殊区域中。这种机制使得我们可以:

  • 避免不必要的前端交互
  • 减少数据传输量
  • 实现程序间的无缝数据交换

内存管理最佳实践:

" 正确清理内存的示例
cl_salv_bs_runtime_info=>set(
  display  = abap_false
  metadata = abap_false
  data     = abap_true
).

SUBMIT zfir022 
  USING SELECTION-SCREEN '1000'
  WITH p_bukrs EQ ls_com-bukrs
  EXPORTING LIST TO MEMORY
  AND RETURN.

" 必须及时清理内存
cl_salv_bs_runtime_info=>clear_all( ).

注意:忘记调用clear_all()是常见的内存泄漏原因,特别是在循环调用场景中。

<
SAP 程序相互调用--SUBMIT 遇到一个这样的需求 双击供应商及时率,展示明细,因为这个程序集成的报表有点多,而且多数要求都是计算百分率,然后双击跳转明细的逻辑,为了不相互影响,精简代码,因此选择了 SUBMIT 每一个报表的明细都做成了一个单独的程序,然后双击跳转的时候调用程序. 需要传参,主程序为 A ,被调用程序为 B,此例中B 的选择屏幕 就是 A 的选择屏幕的条件. (1) 调用其他程序: SUBMIT zppr044_5 AND RETURN . (2) 调用其他程序参数传递参数: SU. 阅读详情

相关推荐

ABAP SUBMIT如何使用详解

GET_DATA_REF():方法获取数据(包括显示数据,布局数据,字段数据,过滤器等),这个是SAP提供的API所以我们不关心如何存储,所以该方法不需要修改目标程序就可以直接得到ALV显示的结果,这种方法可以用来访问该数据表变量的引用(动态而且易用),所以即使不知道ALV数据表的结构也没关系,如果知道需要调用的ALV数据表的结构,可以使用GET_DATA()这个方法,但不能设置目标程序的中断点,需显示ALV的函数执行完毕方可获取到数据。同时,它的使用也能够简化代码的编写,提高程序的整体效率和可维护性。

weixin_40672823的博客 1667

ABAP SUBMIT语句深度解析:程序调用、参数传递与实战技巧

在SAP ABAP开发中,程序间调用与数据交互是构建复杂企业应用的基础。其核心原理在于通过特定的调用机制,实现功能模块的解耦与复用,从而提升代码的维护性和执行效率。从技术价值看,这种调用方式不仅能够串联业务流程,还能直接复用SAP标准程序中的成熟逻辑,确保业务处理的合规性与稳定性。在实际应用场景中,它常用于构建批处理作业链、实现后台任务调度,以及整合多个报表程序形成完整的数据处理流程。本文将聚焦于ABAP的SUBMIT语句,详细解析其参数传递方式、内存数据交换技巧,并针对常见问题提供调试与避坑指南,帮助开发

weixin_30838873的博客 468

SAP ABAP开发避坑指南:用PERFORM ON COMMIT搞定增强里的隐式提交难题

本文深入探讨了SAP ABAP开发中增强功能遇到的隐式提交问题,并详细介绍了如何使用`PERFORM ON COMMIT`技术确保数据一致性。通过实际案例和代码示例,帮助开发者理解SAP LUW机制,避免因隐式提交导致的数据不一致问题,提升增强开发的可靠性和效率。

weixin_42557830的博客 429

SAP ABAP GUI_DOWNLOAD 实战:结合 ALV 字段目录自动生成 Excel 表头

本文详细介绍了在SAP ABAP中利用GUI_DOWNLOAD函数结合ALV字段目录自动生成Excel表头的实战方法。通过动态获取字段目录中的中文描述,实现表头与ALV显示的自动同步,大幅提升报表导出效率。文章包含完整代码示例、性能优化技巧及常见问题解决方案,是ABAP开发人员实现高效数据导出的实用指南。

caodaoxi的专栏 409

SAP ALV编辑保存全攻略:从LVC_S_GLAY参数配置到数字字段处理技巧

本文深入解析了SAP ALV表格编辑保存的完整实现方案,重点介绍了通过配置LVC_S_GLAY-EDT_CLL_CB参数实现单元格编辑后即时回调的优雅方法。文章详细探讨了该参数的应用场景、数字字段处理的常见陷阱与规避技巧,并提供了后台作业(SUBMIT)环境下的兼容性解决方案,帮助开发者构建稳定、高效的ALV数据编辑功能。

g9h0i1的博客 454

SAP ABAP选择屏幕:PARAMETERS与SELECT-OPTIONS实战

在 SAP ABAP 报表开发中,选择屏幕是用户描述查询范围的第一层交互契约。PARAMETERS 适合单值输入,SELECT-OPTIONS 以 SIGN、OPTION、LOW、HIGH 构成选择表,可直接参与 OPEN SQL 的 IN 条件,也能与 RFC、BAPI 和变式协同。理解 INITIALIZATION、PBO、PAI、START-OF-SELECTION 的事件顺序,是避免默认值被重置、校验失效和界面刷新反复查询数据库的关键。把屏幕条件有效下推到 OPEN SQL,可收敛数据范围、降低全表

weixin_33895657的博客 341

告别手动迁移!用ZLAN_ACC工具一键打包你的SAP ABAP程序全家桶(含依赖对象)

本文详细介绍了ZLAN_ACC工具在SAP ABAP程序迁移中的应用,通过智能依赖分析和一键打包功能,显著提升迁移效率并确保对象完整性。工具支持从ECC 4.6到S/4HANA的全版本迁移,覆盖18类ABAP对象,是ABAP开发者进行程序管理的利器。

weixin_30568591的博客 405

SAP VOFM例程实战:解锁采购定价的定制化逻辑

本文详细解析了SAP VOFM例程在采购定价中的定制化应用,通过实战案例展示如何利用ABAP代码实现特殊定价逻辑,如紧急采购附加费、动态价格调整等。文章涵盖例程创建、激活配置、传输问题解决方案及高级应用场景,帮助SAP顾问掌握定价增强技术,提升业务需求响应能力。

weixin_30512965的博客 193

SAP开发避坑指南:ABAP2XLSX导出大文件内存溢出的3种解决方案

本文深入解析ABAP2XLSX导出大文件时内存溢出的问题,提供三种高效解决方案:分页导出架构设计、样式优化与资源回收、生产环境增强方案。通过实战案例和性能对比,帮助SAP开发者优化大数据导出性能,显著降低内存消耗,提升系统稳定性。

weixin_42662293的博客 118

SAP-ABAP:SAP ABAP PARAMETERS 语句深度解析与最佳实践

本文深度解析了SAP ABAP中PARAMETERS语句的技术实现与最佳实践。作为ABAP用户界面的基础构件,PARAMETERS语句在选择屏幕上创建输入参数,兼具数据传递和用户交互功能。文章详细阐述了其语法结构、参数长度定义、数据类型选项、屏幕显示配置等核心技术点,并剖析了选择屏幕生成原理和数据转换机制。重点介绍了企业级开发中的命名规范、参数验证策略和性能优化方法,最后通过多条件查询报表的实战示例展示复杂业务场景的应用。该文为ABAP开发者提供了从基础到进阶的全面指导,特别是对需要构建高效、稳定交互界面的

baidu_35680696的博客 1321

SAP-ABAP:SAP内存管理完全指南:内存类型、作用域与性能优化实战

摘要:SAP ABAP内存管理核心要点 本文系统解析了SAP ABAP开发中的内存管理体系,涵盖5种关键内存类型: ABAP内存:会话内数据共享,通过EXPORT/IMPORT操作,适合程序调用链数据传递 SAP内存(参数ID):跨会话全局存储,基于SET/GET PARAMETER实现,适合用户参数记忆 共享内存:服务器级共享数据区,适合大数据缓存(需手动管理) HIDE内存:报表交互专用,存储行选择数据 数据库存储:持久化方案,适合长期保存数据 重点分析了ABAP内存的会话隔离特性与SAP内存的全局特性

baidu_35680696的博客 247

ABAP子程序SUBMIT调用的方法

这是一个ABAP子程序SUBMIT调用的方法,要根据实际灵活使用。

Kalibr标定避坑指南:如何用AprilGrid板快速完成双目IMU标定

本文详细介绍了使用AprilGrid板进行Kalibr双目IMU联合标定的实战技巧,包括标定工具选型、数据采集优化、标定流程及结果验证。通过AprilGrid板的唯一标识性和抗遮挡优势,结合IMU静止标定和运动激励设计,显著提升标定精度。文章还提供了常见报错处理和高级优化技巧,帮助开发者高效完成传感器标定。

sunny的博客 272

DCDC--控制方式(Control Mode)

DCDC反馈控制方式

网始如芯个人博客 1万+

保姆级教程:手把手配置AutoSar诊断复位(Dcm 0x11服务联动BswM/EcuM)

本文提供AutoSar诊断复位(Dcm 0x11服务联动BswM/EcuM)的保姆级配置教程,详细讲解从诊断服务基础配置到BswM规则引擎搭建、服务端口映射及EcuM复位执行的完整流程。通过Vector配置工具的实际截图和代码片段,帮助开发者高效实现远程复位功能,并分享调试技巧与性能优化实践。

weixin_30756499的博客 538

PSINS工具箱15状态组合导航仿真程序(test_SINS_GPS_153)浅析-卡尔曼滤波设置+导航解算

文章目录test_SINS_GPS_153源码poserrsetkfinitgabiaskfupdate流程 test_SINS_GPS_153源码 poserrset function poserr = poserrset(dpos0, dlon, dhgt) % position errors dpos=[dlat;dlon;dhgt] setting. % % Prototype: poserr = poserrset(dpos0) % Input: dpos0=[dlat; dlon; dhgt],

十八与她的博客 2157

成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题

成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 目录 解决问题 解决思路 解决方法 T1、修改默认配置 T2、修改后缀参数(此方法是其他网友推荐,博主没有尝试) T3、如果以上还不成功,这个时候很可能是环境配置有问题 解决问题 使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题 解决思路 使用jupyter notebook命令打开原先存的.ipynb文件突然消失,说明...

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 5102

基于STM32设计的指针式电子钟与万年历(升级版)

这是基于STM32设计的一个指针式电子钟+万年历小项目,采用3.5寸的LCD屏显示时钟,日历、温度、天气,支持触摸屏调整设置时间,设置闹钟,查看日历等等。整体项目主要是技术点就是LCD屏的图形绘制。比如: 时钟的时针绘制、分针、秒针、表盘、日历绘制等等。

1万+

基于Simulink的发动机管理系统中的自适应增压控制系统设计

通过上述详细设计步骤,我们成功开发了一个基于Simulink的自适应增压控制系统。该系统不仅能够实时监测和预测发动机的运行状态,动态调整增压压力目标值,还具备实时监控、故障诊断和保护功能,确保系统的安全性和可靠性。此外,通过仿真实验和硬件在环测试,我们验证了系统的性能,并对其进行了优化,使其能够更好地满足实际应用需求。这个项目展示了如何利用MATLAB/Simulink的强大功能,结合控制理论和工程实践,开发出高效、可靠的自适应增压控制系统。

MHD0815的博客 214

视觉Transformer实战 | Cross-Attention Multi-Scale Vision Transformer(CrossViT)详解与实现

Vision Transformer (ViT) 在计算机视觉领域取得了巨大成功,但标准 ViT 结构在处理不同尺度的视觉特征时存在局限性。双分支 ViT (Cross-Attention Multi-Scale Vision Transformer, CrossViT) 通过引入双分支结构来解决这一问题,能够同时捕获局部和全局视觉特征。本文将详细介绍 CrossViT 的技术原理,并使用 PyTorch 从零开始实现 CrossViT 模型。

盼小辉丶的博客 716

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 从‘能通’到‘精通’:拆解西电计网实验背后的IP、VLAN与路由核心概念
下一篇: DMR协议深度解析:TDMA时隙结构如何实现双通道通话?
重离子猫猫
博客等级 码龄10年 54粉丝 1570原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值