Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE37 - Построитель функций => Тема начата: Паганель от Октябрь 04, 2009, 01:45:54 pm

Название: FM VB_CREATE_BATCH - Создание партий
Отправлено: Паганель от Октябрь 04, 2009, 01:45:54 pm
Выдрал с LCOKO1F81, позволяет создавать партии, можно использовать в БАДишках, например  MB_DOCUMENT_BADI - MB_DOCUMENT_BEFORE_UPDATE http://sapforum.biz/index.php/topic,826.new.html (http://sapforum.biz/index.php/topic,826.new.html), до конца не раскопал, думаю если раскопаю, то вопрос по сылке выше решится. А пока небольшой примерчик, кусок кода который вызывается в MB_DOCUMENT_BADI - MB_DOCUMENT_BEFORE_UPDATE и меняет входящую табличку wa_xmseg:

Код: You are not allowed to view links. Register or Login
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, можно найти более подробный пример, который как бы решает мой вопрос, правда еще надо разбирается, как только разберу - отпишусь
Название: Re: FM VB_CREATE_BATCH - Создание партий
Отправлено: Паганель от Октябрь 07, 2009, 01:51:52 pm
Чуть поодправлю пример, так как нашли ошибку .... я то выдрал кусок кода, убрал считываение настроечных данных ls_tco43-kzcla, ls_tco43-xkcfc и добавил  параметр class.
http://sapforum.biz/index.php/topic,782.msg5214.html#msg5214 (http://sapforum.biz/index.php/topic,782.msg5214.html#msg5214)

Код: You are not allowed to view links. Register or Login
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.
Название: Re: FM VB_CREATE_BATCH - Создание партий
Отправлено: Паганель от Октябрь 07, 2009, 03:09:17 pm
Нашел ту FM для изменения/создания видов оценки партии VB_CHANGE_BATCH_VALUATION, будет время - оформлю пример
Название: FM VB_CREATE_BATCH - Создание партий - Странное поведение
Отправлено: Паганель от Октябрь 11, 2009, 06:04:02 pm
Обнаружил странное поведение данной FM, даже если не задавать исходный материал и партию,
Код: You are not allowed to view links. Register or Login
      ref_matnr        = space
      ref_charg        = space
при перемещении 311 ВД, дата изготовления партии mcha-hsdat, подставляется, из перемещаемой партии, классификация, кстати кажется тоже  ???
Название: Re: FM VB_CREATE_BATCH - Создание партий - Странное поведение
Отправлено: Uukrul от Октябрь 12, 2009, 10:11:17 am
You are not allowed to view links. Register or Login
Обнаружил странное поведение данной FM, даже если не задавать исходный материал и партию,
Код: You are not allowed to view links. Register or Login
      ref_matnr        = space
      ref_charg        = space
при перемещении 311 ВД, дата изготовления партии mcha-hsdat, подставляется, из перемещаемой партии, классификация, кстати кажется тоже  ???
Ну как тебе сказать... ну как бы это правильно вообще-то... что подставляется.
Название: Re: FM VB_CREATE_BATCH - Создание партий
Отправлено: Паганель от Октябрь 12, 2009, 10:17:43 am
Согласен, логично, это же не новый материал, который производится, ну тогда при 309 ВД, по идее должна проставляться, ..... ну короче сейчас проверю.
Название: Re: FM VB_CREATE_BATCH - Создание партий
Отправлено: Uukrul от Октябрь 16, 2009, 01:36:34 pm
You are not allowed to view links. Register or Login
Согласен, логично, это же не новый материал, который производится, ну тогда при 309 ВД, по идее должна проставляться, ..... ну короче сейчас проверю.
При 309 тоже не должно.. так как это материал материал а не производство...