Текущее время: Вс, июл 27 2025, 09:15

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: userexit_batch_determination
СообщениеДобавлено: Пн, авг 22 2011, 15:11 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, мар 21 2007, 07:42
Сообщения: 51
Привет всем,

Может кто пользовался этим расширением userexit_batch_determination?

В нем я пытаюсь сделать разделение партий, но проблема в том что при сохранении поставки позиции которые я добавил не сохраняются.

При создании я их вижу на экране все нормально.

Может я неправильно заполняю xlips таблицу или может еще куда добавить нужно.

Ниже кусок кода который я дописал в эту форму.


IF sy-mandt = 510 OR
sy-mandt = 610.

IF lips-mtart = 'FERT'.
SELECT * FROM zmcha_v INTO CORRESPONDING FIELDS OF TABLE lt_mcha
WHERE matnr = lips-matnr
AND werks = lips-werks
AND bwtar = lips-bwtar.

SORT lt_mcha ASCENDING BY hsdat.

LOOP AT lt_mcha.
SELECT SINGLE * FROM mchb INTO ls_mchb
WHERE matnr = lt_mcha-matnr
AND werks = lt_mcha-werks
AND lgort = lips-lgort
AND charg = lt_mcha-charg.

APPEND ls_mchb TO lt_mchb.
ENDLOOP.


IF likp-vkorg = '3000' OR " V001
likp-vkorg = '3001' OR " V001
likp-vkorg = '3010' OR " V001
likp-vkorg = '3011' OR " V001
likp-vkorg = '3020' OR " V001
likp-vkorg = '3021' OR " V001
likp-vkorg = '3030' OR " V001
likp-vkorg = '3031'. " V001

DELETE lt_mchb WHERE clabs = 0. " V001
SORT lt_mchb BY ersda. " V001
DATA: lt_lips TYPE lips OCCURS 0 WITH HEADER LINE. " V001
DATA: lfimg LIKE lips-lfimg. " V001
DATA: posnr LIKE lips-posnr VALUE '900000'. " V001
DATA: lt_xlips LIKE xlips OCCURS 0 WITH HEADER LINE." V001
DATA: clabs LIKE lt_mchb-clabs. " V001
CLEAR: lfimg, clabs. " V001

lfimg = lips-lfimg. " V001

*** find previous number of position
lt_xlips[] = xlips[]. " V001
DELETE lt_xlips WHERE pstyv NE 'Z001'. " V001
SORT lt_xlips BY posnr DESCENDING. " V001
READ TABLE lt_xlips INDEX 1. " V001
IF sy-subrc = 0. " V001
posnr = lt_xlips-posnr. " V001
ENDIF. " V001
*** delete quantity what is used before
LOOP AT lt_xlips. " V001
LOOP AT lt_mchb " V001
WHERE matnr = lt_xlips-matnr AND " V001
lgort = lt_xlips-lgort AND " V001
charg = lt_xlips-charg. " V001
SUBTRACT lt_xlips-lfimg FROM lt_mchb-clabs. " V001
MODIFY lt_mchb. " V001
ENDLOOP. " V001
ENDLOOP. " V001
DELETE lt_mchb WHERE clabs = 0. " V001
SORT lt_mchb BY ersda. " V001
***

*** Batch split
LOOP AT lt_mchb. " V001
clabs = lt_mchb-clabs. " V001
SUBTRACT lfimg FROM clabs. " V001
IF clabs > 0. " V001
lips-charg = lt_mchb-charg. " V001
MOVE-CORRESPONDING lips TO lt_lips. " V001
lt_lips-lfimg = lfimg. " V001
lt_lips-lgmng = lfimg. " V001
lt_lips-lfimg_flo = lfimg. " V001
lt_lips-lgmng_flo = lfimg. " V001
IF sy-tabix > 1. " V001
ADD 1 TO posnr. " V001
lt_lips-posnr = posnr. " V001
lt_lips-pstyv = 'Z001'. " V001
lt_lips-uepos = lips-posnr. " V001
lt_lips-uecha = lips-posnr. " V001
CLEAR: lips-charg. " V001
ENDIF. " V001
APPEND lt_lips. " V001
CLEAR: lt_lips. " V001
EXIT. " V001
ELSE. " V001
MOVE-CORRESPONDING lips TO lt_lips. " V001
ADD 1 TO posnr. " V001
lt_lips-posnr = posnr. " V001
lt_lips-pstyv = 'Z001'. " V001
lt_lips-uepos = lips-posnr. " V001
lt_lips-uecha = lips-posnr. " V001
lt_lips-lfimg = lt_mchb-clabs. " V001
lt_lips-lgmng = lt_mchb-clabs. " V001
lt_lips-lfimg_flo = lt_mchb-clabs. " V001
lt_lips-lgmng_flo = lt_mchb-clabs. " V001
lt_lips-charg = lt_mchb-charg. " V001
SUBTRACT lt_mchb-clabs FROM lfimg. " V001
APPEND lt_lips. " V001
CLEAR: lt_lips. " V001
CLEAR: lips-charg. " V001
ENDIF. " V001
ENDLOOP. " V001
APPEND LINES OF lt_lips TO xlips. " V001


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB