FM VB_CREATE_BATCH - Создание партий

Автор Паганель, Жовтень 04, 2009, 01:45:54 ПП

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

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

Паганель

Выдрал с LCOKO1F81, позволяет создавать партии, можно использовать в БАДишках, например  MB_DOCUMENT_BADI - MB_DOCUMENT_BEFORE_UPDATE http://sapforum.biz/index.php/topic,826.new.html, до конца не раскопал, думаю если раскопаю, то вопрос по сылке выше решится. А пока небольшой примерчик, кусок кода который вызывается в MB_DOCUMENT_BADI - MB_DOCUMENT_BEFORE_UPDATE и меняет входящую табличку wa_xmseg:


SELECT SINGLE * INTO ls_mcha FROM mcha WHERE charg = wa_xmseg-charg AND
        matnr = wa_xmseg-matnr AND werks = wa_xmseg-werks.
     IF sy-subrc = 0. " Найдено
       clear ls_mcha-charg.
       CLEAR ls_mcha-bwtar. " не знаю вроде бы так  или наоборот ... clear valuation type in case of single batch valuation

       CALL FUNCTION 'VB_CREATE_BATCH'
       EXPORTING
         ymcha            = ls_mcha
         new_lgort        = wa_xmseg-lgort
         bypass_lock      = space
         x_bncom          = xbncom
         kzcla            =  'X'  "ls_tco43-kzcla - возможность классификации, упростил см LCOKO1F81 там выбор по транзакции и профилю производства
         xkcfc            =  space " ls_tco43-xkcfc
         no_change_of_bwtar = space " yx
       IMPORTING
         ymcha            = ls_mcha
       TABLES
         new_batch        = gt_mcha
         new_batch_stoloc = gt_mchb
       EXCEPTIONS
         OTHERS           = 01.

      wa_xmseg-charg = ls_mcha-charg.
      wa_xmseg-bwtar = ls_mcha-bwtar.


Параметры:
ymcha        - партия для товара (может ошибаюсь)
new_lgort    - склад для партии
bypass_lock - рабочие поля для списков (выбор и вывод на экран) ???
x_bncom      -Нумерация партий: блок связи (диалог) ???
KZCLA - Возможность классификации партий
XKCFC - Расширенная классификация посредством CFC (Программы пользователя)
no_change_of_bwtar  - не менять Вид оценки
CLASS - судя по всему, класс, т.е. можно задать сразу код класса

По коду LCOKO1F81, можно найти более подробный пример, который как бы решает мой вопрос, правда еще надо разбирается, как только разберу - отпишусь

Паганель

Чуть поодправлю пример, так как нашли ошибку .... я то выдрал кусок кода, убрал считываение настроечных данных ls_tco43-kzcla, ls_tco43-xkcfc и добавил  параметр class.
http://sapforum.biz/index.php/topic,782.msg5214.html#msg5214


clear ls_mcha-charg.
        CLEAR ls_mcha-bwtar. " не знаю вроде бы так  или наоборот ... clear valuation type in case of single batch valuation

        ls_mcha-matnr = wa_xmseg-matnr.
        ls_mcha-werks = wa_xmseg-werks.
        ls_mcha-ERSDA = sy-datum.

        CALL FUNCTION 'VB_CREATE_BATCH'
        EXPORTING
          ymcha            = ls_mcha
          new_lgort        = wa_xmseg-lgort
          bypass_lock      = space
          x_bncom          = xbncom
          kzcla            =  '1'  "ls_tco43-kzcla - возможность класификации, упростил см LCOKO1F81 там выбор по транзакции и профилю производству
          xkcfc            =  'X'  "space " ls_tco43-xkcfc
          CLASS            = 'BATCH'
          no_change_of_bwtar = space "space " yx'X'
        IMPORTING
          ymcha            = ls_mcha
        TABLES
          new_batch        = gt_mcha
          new_batch_stoloc = gt_mchb
        EXCEPTIONS
          OTHERS           = 01.

       wa_xmseg-charg = ls_mcha-charg.
       wa_xmseg-bwtar = ls_mcha-bwtar.

Паганель

Нашел ту FM для изменения/создания видов оценки партии VB_CHANGE_BATCH_VALUATION, будет время - оформлю пример

Паганель

Обнаружил странное поведение данной FM, даже если не задавать исходный материал и партию,
      ref_matnr        = space
      ref_charg        = space

при перемещении 311 ВД, дата изготовления партии mcha-hsdat, подставляется, из перемещаемой партии, классификация, кстати кажется тоже  ???

Uukrul

Цитата: Паганель від Жовтень 11, 2009, 06:04:02 ПП
Обнаружил странное поведение данной FM, даже если не задавать исходный материал и партию,
      ref_matnr        = space
      ref_charg        = space

при перемещении 311 ВД, дата изготовления партии mcha-hsdat, подставляется, из перемещаемой партии, классификация, кстати кажется тоже  ???
Ну как тебе сказать... ну как бы это правильно вообще-то... что подставляется.

Паганель

#5
Согласен, логично, это же не новый материал, который производится, ну тогда при 309 ВД, по идее должна проставляться, ..... ну короче сейчас проверю.

Uukrul

Цитата: Паганель від Жовтень 12, 2009, 10:17:43 ДП
Согласен, логично, это же не новый материал, который производится, ну тогда при 309 ВД, по идее должна проставляться, ..... ну короче сейчас проверю.
При 309 тоже не должно.. так как это материал материал а не производство...