自己新建一個IDOC type和IDOC 觸發程序

1、發送outbound idoc


      1)WE31建segment type和WE30建idoc type。  這個步驟就比較簡單,按照你的需求走就是了,不過注意就是建完segment type和idoc type需要set release。。。特別是如果當你需要修改segment type,你在修改完segment type,還需要先cancel release IDOC type,然後重新release


       2)WE81建message type和WE82綁定message type和idoc type。


       3)SM59建RFC鏈接,這個一般系統裏面都基本建立起來了,直接用即可,如果沒有,則根據需求去建,一般由basis建。


       4)WE21建立PORT,這個需要根據建立的RFC鏈接。建好PORT之後,就到WE20建立partner,根據前面的配置。注意這裏有個Partner Role,可填,可以不填,不過這裏填了,程序裏面就要把這個role寫入變量。

             

          5)程序的關鍵代碼:FM: MASTER_IDOC_DISTRIBUTE

寫入相關配置:

  GT_MASTER_IDOC_CONTROL-RCVPRT 'LS'.           "Recedived port
  GT_MASTER_IDOC_CONTROL-RCVPRN 'ZXISKVAT'.      "Received partner number
"GT_MASTER_IDOC_CONTROL-RCVPFC = 'LS'.           "Partner Role


  GT_MASTER_IDOC_CONTROL-IDOCTP 'ZVAT_IDOC'.    "Idoc type
  GT_MASTER_IDOC_CONTROL-MESTYP 'ZVAT_MSG'.    "Message type
  GT_MASTER_IDOC_CONTROL-RCVPOR P_PORT.          "Receiver port


寫入IDOC data:

LOOP AT GT_D2.
     MOVE-CORRESPONDING GT_D2 TO LS_D2.
     L_NUM L_NUM + .
     GT_IDOC_DATA-SEGNAM 'ZVAT_D2'.                              segment的名字
     GT_IDOC_DATA-SEGNUM L_NUM.                                  號碼
     MOVE LS_D2 TO GT_IDOC_DATA-SDATA.                         segment的數據
     APPEND GT_IDOC_DATA.
  ENDLOOP.



調用FM:

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
    EXPORTING
      MASTER_IDOC_CONTROL                             GT_MASTER_IDOC_CONTROL                       存放IDOC配置
    TABLES 
      COMMUNICATION_IDOC_CONTROL           GT_IDOC_CONTROL                                          IDOC發出去後生產的NO和STATUS都在這
      MASTER_IDOC_DATA                                      GT_IDOC_DATA                                                    存放IDOC 數據
    EXCEPTIONS                   
      ERROR_IN_IDOC_CONTROL                1
      ERROR_WRITING_IDOC_STATUS            2
      ERROR_IN_IDOC_DATA                   3
      SENDING_LOGICAL_SYSTEM_UNKNOWN       4
    OTHERS   


FM完了之後的處理:

LOOP AT GT_IDOC_CONTROL.
    CALL FUNCTION 'EDI_DOCUMENT_DEQUEUE_LATER'          解釋IDOC 號
      EXPORTING
        DOCNUM                 GT_IDOC_CONTROL-DOCNUM
      EXCEPTIONS
        IDOC_IS_NOT_TO_DEQUEUE 0
        OTHERS                 0.
  ENDLOOP.
  COMMIT WORK.                                                                                       最終保存生產的IDOC




2、inbound  idoc的開發:



發佈了94 篇原創文章 · 獲贊 28 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章