BDC - ooxxvv/MySAPnotes GitHub Wiki

PageOutline {{{#!comment -------------------- 以上的部份是固定的,不要變動 ----- ---------------------------------------- 在建立連結時,請標明連結的頁面類型,例如:wiki:WikiStart,而不要只用 WikiStart ----- }}}

BDC

  • Batch Data Conversion
  • 利用程式來做大量輸入的工作。

摘要

  • Tcode

  • SHDB => 錄製 BDC ,並由系統功能自動產生 Program 或 Function module

  • SM35 => 管理所產生的 Session

  • Table

  • BDCDATA => 用來指定畫面上那個欄位及其值的 Structure

  • BDCMSGCOLL => BDC 傳回訊息的 Structure

  • Program

  • RSBDCSUB => 可用來執行 sessions

  • BDC_OPEN_GROUP => Open batch input session for adding transactions

  • BDC_INSERT => Insert batch input transactions in batch input session

製作BDC的流程

  1. SHDB 中錄製所要操作的動作。
  • 錄製動作時,儘量不要有彈跳視窗的出現。
  • 錄製動作時,儘量用滑鼠點選 icon 的方式來執行程式,而少用快速鍵。
  1. SHDB 自動產生 Program 或 Function module

  2. 修改所產生的 Program 或 Function module

  3. 可在程式中決定立即執行程式,或只是產生 Session

  4. SM35 管理所產生的 Session

找出畫面沒有的搜尋功能

  • 如果在錄製時,有關 Table Control 的指定 Item ,畫面上沒有可供搜尋的功能時,可手動加入 OK_CODE 為 "=PAPO" 的方式來測試是否可以呼叫出搜尋畫面,以 VA01 的 Header Partner Function 為例,可手動加入以下的程式碼來指定某個 Partner Function (這裡是以 VE 為例)。

{{{#!abap PERFORM bdc_dynpro USING 'SAPMV45A' '4002'. PERFORM bdc_field USING 'BDC_OKCODE' '=PAPO'. PERFORM bdc_dynpro USING 'SAPLV09C' '0666'. PERFORM bdc_field USING 'BDC_OKCODE' '/00'. PERFORM bdc_field USING 'DV_PARVW' 'VE'. }}}

{{{#!comment -------------------- 以下的部份是固定的,不要變動 ----- }}}