向sap发送message_IDOC练习:发送端配置
第一步WE31创建段(SEGMENT):ZLM_SMT01
第二步WE30创建IDOC基本类型 :ZLM_IDOC_TYPE1
第三步WE81创建IDOC消息类型 :ZLM_IDOC_MSG1
第四步WE82关联基本类型和消息类型
第五步SM59创建远程连接 :19TO21
第六步WE21创建端口 :ZLM_PORT01(own port name) A000000059(generate port name)
两种都行,第一种自动生成端口号,第二种自己命明,此处我懂第二种,填写端口号和远程连接地址
第七步BD54创建逻辑系统 :ZLM_DEV19
第八步WE20配置接收方信息: 这一步才是关键:
添加outbound partners后,回车会进入如下:
到此发送端配置完成,进行接收系统去配置接收端 发送端程序: REPORT ZLM_IDOC_01. *&——————————————————————————————————-* *&IDOC控制变量和数据变量定义 *&——————————————————————————————————-* DATA: g_idoc_ctl LIKE edidc, gi_ret_ctl LIKE edidc OCCURS 0 WITH HEADER LINE, gi_idoc_data LIKE edidd OCCURS 0 WITH HEADER LINE, control_record_in TYPE edidc. DATA: idoc_status TYPE string. DATA: l_data TYPE ZLM_SMT01. *&——————————————————————————————————-* *&控制数据 *&——————————————————————————————————-* g_idoc_ctl-idoctp = ‘ZLM_IDOC_TYPE1’. “IDOC TYPE g_idoc_ctl-mestyp = ‘ZLM_IDOC_MSG1’. “MESSAGE TYPE g_idoc_ctl-outmod = ‘2’. “传输模式 “接收端配置 g_idoc_ctl-rcvprn = ‘ZLM_DEV19’. “接收方的合作伙伴编号 g_idoc_ctl-rcvprt = ‘LS’. “接收方伙伴类型 g_idoc_ctl-rcvpor = ‘ZLM_PORT01’. “接收者端口(SAP 系统,EDI 子系统) “发送端配置 g_idoc_ctl-sndprt = ‘LS’. “发送方伙伴类型 g_idoc_ctl-sndprn = ‘ZLM_DEV21’. “发送方合作伙伴 *维护数据 gi_idoc_data-segnam = ‘ZLM_SMT01’. gi_idoc_data-dtint2 = 0. l_data-CARRID = ‘11’. l_data-CONNID = ‘12’. l_data-COUNTRYFR = ‘13’. MOVE l_data TO gi_idoc_data-sdata. APPEND gi_idoc_data. *&——————————————————————————————————-* *&分发程序 *&——————————————————————————————————-* CALL FUNCTION ‘MASTER_IDOC_DISTRIBUTE’ EXPORTING master_idoc_control = g_idoc_ctl TABLES communication_idoc_control = gi_ret_ctl master_idoc_data = gi_idoc_data EXCEPTIONS error_in_idoc_control = 1 error_writing_idoc_status = 2 error_in_idoc_data = 3 sending_logical_system_unknown = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ‘IDOC distribute error’ TYPE ‘I’. ELSE. READ TABLE gi_ret_ctl INDEX 1. IF sy-subrc = 0. CONCATENATE ‘STATUS’ gi_ret_ctl-status INTO idoc_status. “发送成功状态是30 MESSAGE idoc_status TYPE ‘I’. COMMIT WORK. CALL FUNCTION ‘DEQUEUE_ALL’. ENDIF. ENDIF.
你“在看”我吗?
还没有评论,来说两句吧...