我已使用MATMAS05
对MATMASEXT
进行了扩展,并使用一些静态代码快速配置了退出ZXMGVU03
:
if segment_name = 'E1MARAM'.
z1mara1-mseht = 'Kilo'.
z1mara1-meins = 'KI'.
ls_idoc_data-sdata = z1mara1.
ls_idoc_data-segnam = 'Z1MARA1'.
append ls_idoc_data to idoc_data.
endif.
当我使用tcode BD10为材料创建IDOC时,此代码工作正常,并创建一个idoc。但是,当我使用工厂过滤在BD64上过滤MATMAS
时,BD10会出现此错误:消息类型Z1MARA1
不存在细分MATMAS
。
我已经在互联网上搜索了这个问题,人们通过在IDOC控制结构中填充扩展名来解决这个问题。 (EDI_DC40-CIMTYP
)
- 就像这样:idoc_control-cimtyp = 'Z1MARA1'.
但是,我无法填充这样的cimtype,因为我在用户出口架构中没有相同的值类型。
我的用户退出(EXIT_SAPLMV01_002)
的架构是这样的:
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(MESSAGE_TYPE) LIKE EDMSG-MSGTYP
*" VALUE(SEGMENT_NAME) LIKE EDIDD-SEGNAM
*" VALUE(F_MARA) LIKE MARA STRUCTURE MARA OPTIONAL
*" VALUE(F_MAKT) LIKE MAKT STRUCTURE MAKT OPTIONAL
*" VALUE(F_MARC) LIKE MARC STRUCTURE MARC OPTIONAL
*" VALUE(F_MARD) LIKE MARD STRUCTURE MARD OPTIONAL
*" VALUE(F_MFHM) LIKE MFHM STRUCTURE MFHM OPTIONAL
*" VALUE(F_MPGD) LIKE MPGD STRUCTURE MPGD OPTIONAL
*" VALUE(F_MPOP) LIKE MPOP STRUCTURE MPOP OPTIONAL
*" VALUE(F_MPRW) LIKE MPRW STRUCTURE MPRW OPTIONAL
*" VALUE(F_MVEG) LIKE MVEG STRUCTURE MVEG OPTIONAL
*" VALUE(F_MVEU) LIKE MVEU STRUCTURE MVEU OPTIONAL
*" VALUE(F_MKAL) LIKE MKAL STRUCTURE MKAL OPTIONAL
*" VALUE(F_MARM) LIKE MARM STRUCTURE MARM OPTIONAL
*" VALUE(F_MEAN) LIKE MEAN STRUCTURE MEAN OPTIONAL
*" VALUE(F_MBEW) LIKE MBEW STRUCTURE MBEW OPTIONAL
*" VALUE(F_MLGN) LIKE MLGN STRUCTURE MLGN OPTIONAL
*" VALUE(F_MVKE) LIKE MVKE STRUCTURE MVKE OPTIONAL
*" VALUE(F_MLAN) LIKE MLAN STRUCTURE MLAN OPTIONAL
*" VALUE(F_MLGT) LIKE MLGT STRUCTURE MLGT OPTIONAL
*" EXPORTING
*" VALUE(IDOC_CIMTYPE) LIKE EDIDC-CIMTYP
*" TABLES
*" IDOC_DATA STRUCTURE EDIDD
*"----------------------------------------------------------------------
所以,我考虑使用导出值也是一个cimtype,我用这样的Z1MARA1填充IDOC_CIMTYPE:
idoc_cimtype = 'Z1MARA1'.
没有像以前那样的语法错误,但仍然在BD10上出现错误。
任何人都知道如何解决这个问题?
提前致谢
塔尔哈
答案 0 :(得分:0)
一旦我也面临同样的问题,例如发件人结构XXXX在为特定消息类型创建idoc时不存在,
我尝试的解决方案正在运行,您也可以尝试这种方法。
希望能够为特定的消息类型创建idoc。
此致 Sasikala。