Я расширил 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 таким образом, потому что у меня нет такого же типа значения в схеме выхода пользователя.
Схема моего пользовательского выхода (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, я заполнил IDOC_CIMTYPE Z1MARA1 следующим образом:
idoc_cimtype = 'Z1MARA1'.
Нет синтаксической ошибки, как раньше, но все еще возникает ошибка на BD10.
Кто-нибудь знает, как решить эту проблему?
заранее спасибо
Талха