我已经扩展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。但是,当我MATMAS
使用植物过滤对 BD64 进行过滤时,BD10 会出现此错误:Z1MARA1
消息类型的段不存在MATMAS
。
我已经在互联网上搜索了这个问题,人们通过在 IDOC 控制结构中填充扩展名来解决这个问题。( EDI_DC40-CIMTYP
)
-像这样:idoc_control-cimtyp = 'Z1MARA1'.
但是,我无法像这样填充 cimtype,因为我在用户退出模式中没有相同的值类型。
我的 user-exit(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 上仍然出现错误。
任何人都知道如何解决这个问题?
提前致谢
塔尔哈