Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Паганель от Март 29, 2011, 01:48:03 am

Название: FM для разузлования спецификаций (по мотивам CS12)
Отправлено: Паганель от Март 29, 2011, 01:48:03 am
Описывать параметры не буду, самые важные ясны и с названия, в любом случае есть se37, можно и посмотреть.  :)
Код: You are not allowed to view links. Register or Login
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
Название: Re: FM для разузлования спецификаций (по мотивам CS12)
Отправлено: alpus956 от Май 29, 2012, 08:35:17 am
Да, но у меня почему то не работает без этого:

CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
    EXPORTING
      ...
      ...
      AUSKZ                 = 'X'
      ...
      ...
Пишет что sy-subrc = 2 типа call_invalid  :)
Название: Re: FM для разузлования спецификаций (по мотивам CS12)
Отправлено: Uukrul от Май 29, 2012, 10:36:38 am
You are not allowed to view links. Register or Login
      AUSKZ                 = 'X'
Комментарии прикольные к этой переменной. В английском варианте написано, что-то типа "с учетом лома", зато в тексте к этой переменной на немецком написано "Комитет рассмотрел", а дальше как "Комитет должен принять во внимание". По ходу у вас требуется этот флажок так как у вас задано поле AUMNG <> 0 - Количество лома. А из текста программы видно, что если количество лома не нулевое, тогда данный флажок должен быть установлен, иначе получите свою ошибку не правильного вызова ФМ:
Код: You are not allowed to view links. Register or Login
*  ?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.