FM для разузлования спецификаций (по мотивам CS12)

Автор Паганель, Березень 29, 2011, 01:48:03 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Паганель

Описывать параметры не буду, самые важные ясны и с названия, в любом случае есть se37, можно и посмотреть.  :)

CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
   EXPORTING
     ftrel                 = ' '
     aufsw                 = ' '
     brems                 = ' '
     aumng                 = rs_aumng
     capid                 = 'BEST'    "'PP01' "App ID
     datuv                 = rs_datuv
     ehndl                 = '1'
     mbwls                 = ' '
     mktls                 = 'X'
     mehrs                 = 'X'                   " Multi-level
     mtnrv                 = rs_matnr
     stlal                 = rs_stlal
     stlan                 = rs_stlan
     werks                 = rs_werks
   TABLES
     stb                   = ltab  
     matcat                = mtab
   EXCEPTIONS
     alt_not_found         = 1
     call_invalid          = 2
     material_not_found    = 3
     missing_authorization = 4
     no_bom_found          = 5
     no_plant_data         = 6
     no_suitable_bom_found = 7
     OTHERS                = 8.


Пример с минимумом комментариев, в ветке кода http://sapforum.biz/index.php/topic,1506.msg8623.html#msg8623

alpus956

Да, но у меня почему то не работает без этого:

CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      ...
      ...
      AUSKZ                 = 'X'
      ...
      ...
Пишет что sy-subrc = 2 типа call_invalid  :)

Uukrul

Цитата: alpus956 від Травень 29, 2012, 08:35:17 ДП
      AUSKZ                 = 'X'
Комментарии прикольные к этой переменной. В английском варианте написано, что-то типа "с учетом лома", зато в тексте к этой переменной на немецком написано "Комитет рассмотрел", а дальше как "Комитет должен принять во внимание". По ходу у вас требуется этот флажок так как у вас задано поле AUMNG <> 0 - Количество лома. А из текста программы видно, что если количество лома не нулевое, тогда данный флажок должен быть установлен, иначе получите свою ошибку не правильного вызова ФМ:

*  ?Ausschussmenge angegeben ...
   IF     PM_AUMNG <> 0
*     ... ohne dass Ausschuss beruecksichtigt werden soll
      AND PM_AUSCH IS INITIAL.
*     ja; - ist nicht zulaessig
      RAISE CALL_INVALID.
   ENDIF.