ABAP-BDC的执行模式和更新模式
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示