写点什么

ABAP BDC 的执行模式和更新模式

  • 2022 年 6 月 16 日
  • 本文字数:888 字

    阅读完需:约 3 分钟

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 语句的⽅式执⾏。也就是说,数据更新在主程序所在的进程中完成,主程序必定等到被调⽤事务完成才继续执⾏。

https://wenku.baidu.com/view/33ecb2f96c1aff00bed5b9f3f90f76c660374c71.html


用户头像

还未添加个人签名 2022.06.08 加入

还未添加个人简介

评论

发布
暂无评论
ABAP BDC的执行模式和更新模式_桥下本有油菜花_InfoQ写作社区