SAP ABAP SUBMIT常用用法
导语:一直对SUBMIT的用法模模糊糊,每次用都要去查询,本次痛下决心,腾出时间,梳理了一下,如果本文对你有帮助,点个赞再走~
之前分享过SUBMIT调用程序获取内表的值,就不重复说明了。SUBMIT调用程序获取ALV内表的值https://blog.csdn.net/JYH1999/article/details/121974221?spm=1001.2014.3001.5502
关键字 | 描述 | 样例 |
---|---|---|
USING SELECTION-SCREEN XXX | 指定要访问的屏幕,不使用默认为标准屏幕 | |
VIA SELECTION-SCREEN | 显示被调用的选择屏幕 | SUBMIT rfidcn_ar_aging VIA SELECTION-SCREEN. |
USING SELECTION-SET XXX | 调用选择屏幕变式 | SUBMIT rfidcn_ar_aging USING SELECTION-SET 'S1' . |
WITH SELECTION-TABLE XXX | 使用选择内表传递选择屏幕 | DATA: seltab TYPE TABLE OF rsparams, seltab_wa LIKE LINE OF seltab. seltab_wa-selname = 'DD_KUNNR'. seltab_wa-sign = 'I'. seltab_wa-option = 'EQ'. seltab_wa-low = '0010009119'. APPEND seltab_wa TO seltab. SUBMIT rfidcn_ar_aging WITH SELECTION-TABLE seltab. |
WITH | 直接调用选择屏幕 | RANGES r_kunnr FOR kna1-kunnr. r_kunnr(3) = 'IEQ'. r_kunnr-low = '0010009119'. APPEND r_kunnr. SUBMIT rfidcn_ar_aging WITH dd_kunnr IN r_kunnr VIA SELECTION-SCREEN. |
EXPORTING LIST TO MEMORY AND RETURN | 把取到的数据存储到ABAPLIST里,再使用几个函数进行处理,必须配合AND RETURN使用。 1、LIST_FROM_MEMORY 将列表从ABAP存储器加载到线型ABAPLIST的内部表中 2、WRITE_LIST 在当前列表中插入线型ABAPLIST的内部表的内容,输出展示 3、DISPLAY_LIST 在单独的dynpro列表中显示线型ABAPLIST的内部表的内容 4、LIST_TO_ASCI 将线型ABAPLIST的内部表的内容转换为ASCII表示 最后两个没有研究 | RANGES r_kunnr FOR kna1-kunnr. r_kunnr(3) = 'IEQ'. r_kunnr-low = '0010009119'. APPEND r_kunnr. DATA : gt_list TYPE TABLE OF abaplist. SUBMIT rfidcn_ar_aging WITH dd_kunnr IN r_kunnr EXPORTING LIST TO MEMORY AND RETURN. CALL FUNCTION 'LIST_FROM_MEMORY' TABLES listobject = gt_list. IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. CALL FUNCTION 'WRITE_LIST' TABLES listobject = gt_list. |
VIA JOB AND RETURN | 后台作业模式调用 配合 AND RETURN使用 并需要使用 JOB_OPEN以及JOB_CLOSE函数 | DATA: number TYPE tbtcjob-jobcount, name TYPE tbtcjob-jobname VALUE 'JOB_TEST', print_parameters TYPE pri_params. CALL FUNCTION 'JOB_OPEN' EXPORTING jobname = name IMPORTING jobcount = number. IF sy-subrc = 0. SUBMIT rfidcn_ar_aging WITH dd_kunnr IN r_kunnr VIA JOB name NUMBER number AND RETURN. IF sy-subrc = 0. CALL FUNCTION 'JOB_CLOSE' EXPORTING jobcount = number jobname = name strtimmed = 'X'. ENDIF. ENDIF. |
AND RETURN | 在新的会话中运行程序 不实用的话,会与LUW同时存在,直接运行调用的程序,程序访问结束,继续执行SUBMIT后面的语句 | SAP LUW:SAP logical unit of work(LUW)是一个逻辑单位,我们把需要完成的工作分成一个个独立的单元(LUW),每个单元包含若干操作,这些操作要么完全执行,要么完全不执行 (all-or-nothing principle)。相应地,数据库层面存在更小的单元Database LUW。 SY-CALLD: 在一个调用序列中的第一个程序里为空字符串,否则为值“X”。在调用using CALL TRANSACTION,CALL DIALOG或 者SUBMIT ... AND RETURN后变为“X”。如果程序以LEAVE TO TRANSACTION或者从一个屏幕事务开始的话,则为空。使用SUBMIT(没有AND RETURN)时设定为调用它的程序的值。 |
作者:小飞猪猪猪猪猪猪–CSDN