CALL TRANSACTION用法
生活随笔
收集整理的這篇文章主要介紹了
CALL TRANSACTION用法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CALL?TRANSACTION
?CALL TRANSACTION 'tcode' USING bdc_tab ... 是 ABAP 里提供的一個(gè)方便的執(zhí)行批量輸入的語(yǔ)句,使用它可以通過程序代碼完成多個(gè)事務(wù)碼的連續(xù)執(zhí)行。
bdc_tab 這個(gè)批輸入任務(wù)表的填寫方式,網(wǎng)上有很多例子了,大家用到的時(shí)候可以搜索。用事務(wù)碼 SHDB 可以生成填寫這個(gè)表的內(nèi)容,按照 ABAP 字典結(jié)構(gòu)類型 BDCDATA 的定義對(duì)應(yīng)填寫就可以了。
下面詳細(xì)介紹一下這種調(diào)用方式中的執(zhí)行參數(shù):
... { {[MODE mode] [UPDATE upd]}?
????| [OPTIONS FROM opt] }?
????[MESSAGES INTO itab] ... .
?
MODE 確定批輸入的執(zhí)行模式,有下面幾個(gè)可選值:
?
| 執(zhí)行模式 | 作用 |
| "A" | 顯示所有輸入屏幕,如果在 bdc_tab 中包含該屏幕的功能碼,則會(huì)出現(xiàn)小窗口顯示這個(gè)功能碼。它也是默認(rèn)值,如果指定不是下面的值,則都認(rèn)為是 A。 |
| "E" | 只有在出現(xiàn)錯(cuò)誤時(shí)才顯示屏幕,用戶可以修正數(shù)據(jù),修正后程序可以繼續(xù)處理。 |
| "N" | 不顯示屏幕的靜默模式。如果到達(dá)被調(diào)用事務(wù)的斷點(diǎn),則系統(tǒng)處理終止,并設(shè)置一些系統(tǒng)字段。sy-subrc?為 1001,sy-msgty?為 "S"、sy-msgid?為 "00"、sy-msgno?為 "344"、sy-msgv1?為 "SAPMSSY3"、sy-msgv2?為 "0131"。 |
| "P" | 不顯示屏幕的調(diào)試模式。如果到達(dá)被調(diào)用事務(wù)的斷點(diǎn),則系統(tǒng)自動(dòng)轉(zhuǎn)到 ABAP 調(diào)試器,這種方式主要用于調(diào)試過程。 |
?
UPDATE 確定批輸入的更新模式,有下面幾個(gè)可選值:
?
| 更新模式 | 作用 |
| "A" | 異步更新。被調(diào)用程序的更新按照沒有指定 COMMIT WORK 語(yǔ)句和 AND WAIT 附加的方式執(zhí)行。也就是說(shuō),數(shù)據(jù)更新被放到更新隊(duì)列里,由另一個(gè)專門的更新進(jìn)程執(zhí)行,主程序一旦提交數(shù)據(jù)就繼續(xù)執(zhí)行,而不管提交的更新是否執(zhí)行完成。這種方式比較適合于用一個(gè)事務(wù)碼大量更新指定數(shù)據(jù),比如維護(hù)主數(shù)據(jù)等。 |
| "S" | 同步更新。被調(diào)用程序的更新按照指定了 COMMIT WORK 語(yǔ)句和 AND WAIT 附加的方式執(zhí)行。也就是說(shuō),數(shù)據(jù)更新被放到更新隊(duì)列里,由專門的更新進(jìn)程執(zhí)行,但是主程序會(huì)等到數(shù)據(jù)提交完成,返回結(jié)果信息后才繼續(xù)執(zhí)行。這種方式比較適合于數(shù)據(jù)一致性要求比較高,多個(gè)不同事務(wù)碼的連續(xù)處理。 |
| "L" | 本地更新。被調(diào)用程序的更新按照?qǐng)?zhí)行?SET UPDATE TASK LOCAL 語(yǔ)句的方式執(zhí)行。也就是說(shuō),數(shù)據(jù)更新在主程序所在的進(jìn)程中完成,主程序必定等到被調(diào)用事務(wù)完成才繼續(xù)執(zhí)行。 |
總結(jié)
以上是生活随笔為你收集整理的CALL TRANSACTION用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP FI 会计凭证过账bapi BA
- 下一篇: 调用CALL TRANSACTION的三