SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Нумерация партий



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Batman
Участник
Участник



Joined: 13 Aug 2008
Posts: 18
Location: Украина

PostPosted: Thu Sep 04, 2008 4:50 pm    Post subject: Нумерация партий Reply with quote

Здравствуйте.
Есть следующая ситуация.
Необходимо сделать что бы при перемещении с помощью 311 вида движения номер Принимающей партии был не таким как у передающей. А начинался например на 'Z'.
Порывшись в инете я сделал следующее:

В транзакции OMJJ для вида движения 311 поставил:
Создавать новую партию B Автоматически/вручную с проверкой в USER EXIT

С помощью транзакции CMOD поменял компонент расширения: exit_saplv01z_002.
Там я написал следующее:

Code:
*&---------------------------------------------------------------------*
*&  Include           ZXVBZU02
*&---------------------------------------------------------------------*

data numom type string.

if x_bncom-bwart = '311' .                  " Для 311 ВДв

  move x_bncom-umcha to numom.              " Номер партии который генерируется автоматически

  shift numom by 1 places.                  " Отрежем справа один символ

  concatenate 'Z' numom into new_charg.     " Приклеим 'Z'

endif.


Но при перемещении номер принимающей партии все равно копируется из номера передающей.
Помогите, пожалуйста, разобраться - как правильно сделать?

P.S. Доработку такого типа делаю впервые поэтому сильно строго меня не судите.
Back to top
View user's profile Send private message Send e-mail
Jan
Специалист
Специалист



Joined: 29 Feb 2008
Posts: 82

PostPosted: Fri Sep 05, 2008 1:41 pm    Post subject: Reply with quote

if x_bncom-bwart = '311' .
move x_bncom-umcha to numom.
shift numom by 1 places.
concatenate 'Z' numom into new_charg.
*(+)
move numom to x_bncom-umcha.
*(+)
endif.
Back to top
View user's profile Send private message
Batman
Участник
Участник



Joined: 13 Aug 2008
Posts: 18
Location: Украина

PostPosted: Fri Sep 05, 2008 1:57 pm    Post subject: Reply with quote

Немного порылся и если сделать вот так тогда вроде как получается:
Код:
Code:

*&---------------------------------------------------------------------*
*&  Include           ZXVBZU02
*&---------------------------------------------------------------------*

if x_bncom-bwart = '311' .                            " Для 311 ВДв

shift new_charg by 1 places.                          " Отрежем справа один символ

concatenate 'Z' new_charg into new_charg.     " Приклеим 'Z'

endif.


Но есть одна неувязочка нужно теперь сделать следующее:
Формировать номер принимающей партии следующим образом:
[Z][Номер передающей партии][Номер принимающей партии]
Где номер принимающей партии это следующий генерируемый системой номер партии.
Но никак не получается. Если установлен номер передающей партии то система не заходит в exit_saplv01z_002.

Подскажите пожалуйста как можно перехватить номер передающей партии и потом сгенерировать следующий и приклеить к нему 'Z'?
Back to top
View user's profile Send private message Send e-mail
RA
Участник
Участник



Joined: 03 Dec 2007
Posts: 13

PostPosted: Tue Sep 09, 2008 11:14 am    Post subject: Reply with quote

Quote:
Подскажите пожалуйста как можно перехватить номер передающей партии и потом сгенерировать следующий и приклеить к нему 'Z'?

Наверное с помощью ФМ для Number range NUMBER_*
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Sep 10, 2008 12:58 pm    Post subject: Reply with quote

Для подстановки номера партии можно использовать BAdI MB_MIGO_BADI, метод LINE_MODIFY, который работает всегда при вводе/изменении позиции ДМ.
Прередающая партия - CS_GOITEM-CHARG, принимающая партия - CS_GOITEM-UMCHA.
Необходимо также производить анализ или вида движения(311), или выполняемой операции (A08 - проводка переноса)

Для определения следующего номера можно использовать ФМ VB_NEXT_BATCH_NUMBER

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Batman
Участник
Участник



Joined: 13 Aug 2008
Posts: 18
Location: Украина

PostPosted: Wed Sep 10, 2008 1:04 pm    Post subject: Reply with quote

Спасибо большое за советы. Пойду разбираться с BAdi. Как только получится обязательно выложу сюда решение.
Back to top
View user's profile Send private message Send e-mail
Batman
Участник
Участник



Joined: 13 Aug 2008
Posts: 18
Location: Украина

PostPosted: Wed Sep 17, 2008 11:29 am    Post subject: Reply with quote

Всем еще раз спасибо за советы. Решил остановиться на следующем варианте.

Code:
METHOD IF_EX_MB_MIGO_BADI~LINE_MODIFY.

* В момент выбора запаса из передающей партии. Нажатии на кнопку "Скопировать"
IF CS_GOITEM-BWART = '311' AND CS_GOITEM-CHARG <> '' AND CS_GOITEM-UMCHA = CS_GOITEM-CHARG.

  CALL FUNCTION 'VB_NEXT_BATCH_NUMBER'                    " Получим новый номер партии
        EXPORTING
          MATNR                        = CS_GOITEM-MATNR  " Код материала
        IMPORTING
          NEW_CHARG                    = CS_GOITEM-UMCHA. " Новый номер партии

  SHIFT CS_GOITEM-UMCHA BY 1 PLACES.                      " Отрежем справа один символ

  CONCATENATE 'Z' CS_GOITEM-UMCHA INTO CS_GOITEM-UMCHA.   " Приклеим 'Z'

ENDIF.

ENDMETHOD.


Еще один вопросик. Как сгенерировать нажатие на кнопку "Классифицировать", которая на вкладке "Партия"?
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.