自己新建一个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的开发:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值