Фильтрация IDOC приводит к тому, что сегмент Z* не существует для типа сообщения Ошибка MATMAS

Я расширил 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.

Кто-нибудь знает, как решить эту проблему?

заранее спасибо

Талха


person Mtu    schedule 18.07.2012    source источник
comment
Не могли бы вы прикрепить ошибку из WE02 для упомянутой конфигурации IDoc и WE20 для этого конкретного типа сообщения?   -  person bariz    schedule 04.09.2012
comment
Уважаемый bariz, я решил эту проблему, добавив тип расширения в расширение перед выходом пользователя. Спасибо, в любом случае.   -  person Mtu    schedule 04.09.2012


Ответы (1)


однажды я также столкнулся с той же проблемой, что и структура отправителя XXXX не существует при создании idoc для определенного типа сообщения,

Решение, которое я пробовал, работает, вы также можете попробовать этот метод.

  1. структура отправителя XXXX не существует,
  2. есть правило, называемое правилом преобразования, для активации структуры,
  3. идите на bd55, там вы можете найти именно эту структуру.
  4. перейти к bd79 и сохранить те же настройки в структуре xxxx, обратившись к другой рабочей структуре.

Надеюсь, это сработает, чтобы создать idoc для определенного типа сообщения.

С уважением, Сашикала.

person sasikala    schedule 12.02.2014