SAP ABAP笔记:BDC的执行模式与更新模式

谁说胖子不能爱 提交于 2021-01-14 02:49:37

CALL TRANSACTION 'TCODE' USING bdcdata

                          MODE   'A'
                          UPDATE 'S' MESSAGES INTO it_messtab.


CALL TRANSACTION 'TCODE' USING bdc_tab ... ABAP提供的这个语法是执行BDC的核心,其中bdcdata这个内表的填充方法很多。用事务码 SHDB/SM35可以生成填写这个表的内容,按照ABAP字典结构类型 BDCDATA 的定义对应填写就可以了。


MODE 确定批输入的执行模式,有下面几个可选值:


执行模式,有下列可选值(执行模式常用的是A/ N)




"A" 显示所有输入屏幕,如果在 bdc_tab 中包含该屏幕的功能码,则会出现小窗口显示这个功能码。它也是默认值,如果指定不是下面的值,则都认为是 A。 
"E" 只有在出现错误时才显示屏幕,用户可以修正数据,修正后程序可以继续处理。 
"N" 不显示屏幕的静默模式。如果到达被调用事务的断点,则系统处理终止,并设置一些系统字段。sy-subrc 为 1001,sy-msgty 为 "S"、sy-msgid 为 "00"、sy-msgno 为 "344"、sy-msgv1 为 "SAPMSSY3"、sy-msgv2 为 "0131"。 
"P" 不显示屏幕的调试模式。如果到达被调用事务的断点,则系统自动转到 ABAP 调试器,这种方式主要用于调试过程。






更新模式,有下列可选值(更新模式常用的是S)


"A" 异步更新。被调用程序的更新按照没有指定 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由另一个专门的更新进程执行,主程序一旦提交数据就继续执行,而不管提交的更新是否执行完成。这种方式比较适合于用一个事务码大量更新指定数据,比如维护主数据等。 
"S" 同步更新。被调用程序的更新按照指定了 COMMIT WORK 语句和 AND WAIT 附加的方式执行。也就是说,数据更新被放到更新队列里,由专门的更新进程执行,但是主程序会等到数据提交完成,返回结果信息后才继续执行。这种方式比较适合于数据一致性要求比较高,多个不同事务码的连续处理。 
"L" 本地更新。被调用程序的更新按照执行 SET UPDATE TASK LOCAL 语句的方式执行。也就是说,数据更新在主程序所在的进程中完成,主程序必定等到被调用事务完成才继续执行。 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!