MBGMCR02的出站过程代码

2020-09-04 11:40发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好专家:

我需要使用IDOC发送物料移动(文档)信息。 我发现MBGMCR02是合适的,但是过程代码是入站的。

我读了一些线程,它说可以创建一个新的出站过程代码。 但是我不知道该怎么做。

谁能分享一些建议?

非常感谢。

丹尼斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好专家:

我需要使用IDOC发送物料移动(文档)信息。 我发现MBGMCR02是合适的,但是过程代码是入站的。

我读了一些线程,它说可以创建一个新的出站过程代码。 但是我不知道该怎么做。

谁能分享一些建议?

非常感谢。

丹尼斯

付费偷看设置
发送
2条回答
callcenter油条
1楼 · 2020-09-04 12:01.采纳回答

丹尼斯,你好

要解决此问题,请使用以下方法创建出站处理代码:

转到txn WE41:创建一个新的出站流程代码ZMMGRO,并为此指定消息类型MBGMCR。

还要维护一个FM说ZMBGMCR_IDOC_OUPUT,它在出站侧处理IDOC。

FM签名通常应如下所示:

""本地接口:

*"导入

*"价值(对象)类似NAST的结构

*" VALUE(CONTROL_RECORD_IN)像EDIDC结构EDIDC

*"导出

*" VALUE(OBJECT_TYPE)类似于WFAS1-ASGTP

*" VALUE(CONTROL_RECORD_OUT)像EDIDC结构EDIDC

*"表格

*" INT_EDIDD结构EDDID

*"例外情况

*" ERROR_MESSAGE_RECEIVED

*" DATA_NOT_RELEVANT_FOR_SENDING

*" ----


表格:MKPF,MSEG。

数据wa_mkpf类型为MKPF。

数据it_mseg类型为TABLE OF MSEG。

数据wa_mseg类似于LINE OF it_mseg。

数据wa_E1BP2017_GM_HEAD_01类型E1BP2017_GM_HEAD_01。

数据wa_E1MBGMCR类型为E1MBGMCR。

数据wa_E1BP2017_GM_ITEM_CREATE类型E1BP2017_GM_ITEM_CREATE。

数据wa_E1BP2017_GM_CODE类型E1BP2017_GM_CODE。

数据wa_E1BP2017_GM_ITEM_CREATE1类型E1BP2017_GM_ITEM_CREATE1。

数据wa_E1BP2017_GM_SERIALNUMBER类型E1BP2017_GM_SERIALNUMBER。

数据wa_edidd类型edidd。

**********************************************

  • 创建控制记录**********

将CONTROL_RECORD_IN移至CONTROL_RECORD_OUT。

control_record_out-direct ='1'。

control_record_out-serial = sy-datum。

control_record_out-serial + 8 = sy-uzeit。

************************************************

  • 从MKPF和MSEG中填充段数据******

清除wa_edidd。

清除wa_E1MBGMCR。

将wa_E1MBGMCR移至wa_edidd-sdata。

wa_edidd-segnam ='E1MBGMCR'。

将wa_edidd附加到int_edidd。

从MKPF中选择单个*到wa_mkpf,其中

mblnr eq OBJECT-OBJKY + 0(10)

和mjahr eq OBJECT-OBJKY + 10(4)。

清除wa_edidd。

清除wa_E1BP2017_GM_HEAD_01。

wa_E1BP2017_GM_HEAD_01-PSTNG_DATE = wa_mkpf-BUDAT。

wa_E1BP2017_GM_HEAD_01-DOC_DATE = wa_mkpf-BLDAT。

wa_E1BP2017_GM_HEAD_01-BILL_OF_LADING = wa_mkpf-FRBNR。

wa_E1BP2017_GM_HEAD_01-PR_UNAME = wa_mkpf-USNAM。

wa_E1BP2017_GM_HEAD_01-HEADER_TXT = wa_mkpf-BKTXT。

将wa_E1BP2017_GM_HEAD_01移至wa_edidd-sdata。

wa_edidd-segnam ='E1BP2017_GM_HEAD_01'。

将wa_edidd附加到int_edidd。

SELECT * from mseg INTO TABLE it_mseg其中

mblnr eq OBJECT-OBJKY + 0(10)

和mjahr eq OBJECT-OBJKY + 10(4)。

在it_mseg处循环进入wa_mseg。

清除wa_edidd。

清除wa_E1BP2017_GM_ITEM_CREATE。

wa_E1BP2017_GM_ITEM_CREATE-MATERIAL = wa_mseg-MATNR。

wa_E1BP2017_GM_ITEM_CREATE-PLANT = wa_mseg-WERKS。

wa_E1BP2017_GM_ITEM_CREATE-STGE_LOC = wa_mseg-LGORT。

wa_E1BP2017_GM_ITEM_CREATE-BATCH = wa_mseg-CHARG。

wa_E1BP2017_GM_ITEM_CREATE-MOVE_TYPE = wa_mseg-BWART。

wa_E1BP2017_GM_ITEM_CREATE-STCK_TYPE = wa_mseg-INSMK。

wa_E1BP2017_GM_ITEM_CREATE-SPEC_STOCK = wa_mseg-SOBKZ。

wa_E1BP2017_GM_ITEM_CREATE-VENDOR = wa_mseg-LIFNR。

wa_E1BP2017_GM_ITEM_CREATE-ENTRY_QNT = wa_mseg-MENGE。

wa_E1BP2017_GM_ITEM_CREATE-ENTRY_UOM = wa_mseg-ERFME。

wa_E1BP2017_GM_ITEM_CREATE-PO_NUMBER = wa_mseg-EBELN。

wa_E1BP2017_GM_ITEM_CREATE-PO_ITEM = wa_mseg-EBELP。

将wa_E1BP2017_GM_ITEM_CREATE移至wa_edidd-sdata。

wa_edidd-segnam ='E1BP2017_GM_ITEM_CREATE'。

将wa_edidd附加到int_edidd。

endloop。

*************************************************** *****

ENDFUNCTION。

请记住要在WE​​20中维护消息控件,在该控件中应根据输出类型维护此出站代码。

希望这会有所帮助!

zhangjiyang1323
2楼-- · 2020-09-04 11:47

这正是我所需要的。

谢谢

一周热门 更多>