Sapforum.Biz

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

Название: VB_CHANGE_BATCH_VALUATION
Отправлено: Паганель от Октябрь 07, 2009, 03:10:00 pm
Нашел ту FM для изменения/создания видов оценки партии VB_CHANGE_BATCH_VALUATION, будет время - оформлю пример (кто бы напомнил через недельку)
Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Паганель от Октябрь 10, 2009, 02:53:12 pm
Кстати, будьте внимательны, не стоит вызывать даную FM в контексте других транзакций  (BADI), так как она вроде бы вызывает коммит
строка 809 
Код: You are not allowed to view links. Register or Login
PERFORM insert_batches ON COMMIT.
Еще одно интересное место строка 229:
Код: You are not allowed to view links. Register or Login
* Change of valuation type is only allowed if exit is not called within
* goods movement and imported valuation type was blank (Note 723294)
    IF no_change_of_bwtar IS INITIAL OR ymcha-bwtar IS INITIAL.
      ymcha-bwtar = loc_bwtar.
    ENDIF.
Как я понял, изменение Вида оценки возможно, если только функция вызывается без движения материала.

Код: You are not allowed to view links. Register or Login
Note 723294 - EXIT_SAPLV01Z_013: Valuation type change at batch creation

Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Dmitriy от Октябрь 10, 2009, 10:53:22 pm
You are not allowed to view links. Register or Login
...так как она вроде бы вызывает коммит
строка 809  
Код: You are not allowed to view links. Register or Login
PERFORM insert_batches ON COMMIT.
COMMIT WORK (http://www.sapdb.info/commit-abap-keyword-a-day/)
Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Dmitriy от Октябрь 10, 2009, 11:10:24 pm
Изучение BC414 (http://www.sapnet.ru/viewtopic.php?t=2) - Programming Database Updates внесет ясность.  
Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Паганель от Октябрь 11, 2009, 10:34:02 am
Мил человек, не расскажешь ли ты, простым, человечесским языком, весь сакральный смысл, описанного по ссылке http://www.sapdb.info/commit-abap-keyword-a-day/ (http://www.sapdb.info/commit-abap-keyword-a-day/)
Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Dmitriy от Октябрь 11, 2009, 12:53:58 pm
Можешь воспользоваться online переводчиком: http://www.multitran.ru/ (http://www.multitran.ru/), например.
Цитировать
Basic form
COMMIT WORK.
Addition
… AND WAIT

Effect
Executes a database commit and thus closes a logical processing unit or Logical Unit of Work ( LUW ) (see also Transaction processing ). This means that:

* calls the subroutines specified by PERFORM … ON COMMIT ,

* executes asynchronously any update requests (see CALL FUNCTION … IN UPDATE TASK) specified in these subroutines or started just before,

* processes the function modules specified in CALL FUNCTION … IN BACKGROUND TASK

Код: You are not allowed to view links. Register or Login
PERFORM insert_batches ON COMMIT.Наличие в коде данной строки, конечно, с некоторой долей вероятности, вроде бы подразумевает конечный DB COMMIT внутри самой функции, но совсем не факт, что
Цитировать
она вроде бы вызывает коммит
Примеры некоторых BAPI тому подтверждение.

P.S. Включи в отладчике опцию "отладка обновлений" и по стеку вызовов посмотри точно, где находится сама строка с командой COMMIT WORK.  
Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Паганель от Октябрь 11, 2009, 06:08:50 pm
You are not allowed to view links. Register or Login
P.S. И строки 809 в исходном коде ф-ции нет, у меня их всего 382, т.е. если ты докопался где-то до чего-то, то указывай имя Include. Включи в отладчике опцию "отладка обновлений" и посмотри точно, где находится сама строка с командой COMMIT WORK.
Хм, извиняюсь, доабапился.... говорил о функции VB_CHANGE_BATCH_VALUATION, а смотрел код VB_CREATE_BATCH
Название: Re: VB_CHANGE_BATCH_VALUATION
Отправлено: Паганель от Октябрь 11, 2009, 10:16:14 pm
Ок, продолжим после ознакомления с курсом BC414 (кхе, не скоро видно это будет).

Не хочется писать в локальный файл, а чтобы потом было легко найти, буду писать в созданный специально для этого раздел http://sapforum.biz/index.php/topic,845.0.html (http://sapforum.biz/index.php/topic,845.0.html)