Текущее время: Сб, июл 19 2025, 17:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Ломаем заказ клиента - смена завода
СообщениеДобавлено: Вс, янв 15 2006, 14:14 
Гость
День добрый, уважаемые!
Ситуация: необходимо после нажатия кнопки Save юзером сменить завод в заказе клиента. В заказе указан номер партии и конфигурация - их нужно сохранить и при новом заводе. Дело в том, что подстановка в mv45afzz в FORM ...SAVE и ...PREPARE_SAVE ничего не дает - при повторном просмотре заказа номер завода тот же, что и был задан ранее. То есть вроде как система его после экзита еще раз меняет. Если же подставлять в USEREXIT_MOVE_FIELD_TO_VBAP, то система начинает менять завод при любой модификации позиции (ввели номер материала - завод устанавливается по экзиту и тп). А мне нужно сделать это так, чтоб пользователя другим заводом не озадачивать!
Пожалуйста, помогите!


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Re: Ломаем заказ клиента - смена завода
СообщениеДобавлено: Вс, янв 15 2006, 21:38 
Гость
tatu написал(а):
День добрый, уважаемые!
Ситуация: необходимо после нажатия кнопки Save юзером сменить завод в заказе клиента. В заказе указан номер партии и конфигурация - их нужно сохранить и при новом заводе. Дело в том, что подстановка в mv45afzz в FORM ...SAVE и ...PREPARE_SAVE ничего не дает - при повторном просмотре заказа номер завода тот же, что и был задан ранее. То есть вроде как система его после экзита еще раз меняет. Если же подставлять в USEREXIT_MOVE_FIELD_TO_VBAP, то система начинает менять завод при любой модификации позиции (ввели номер материала - завод устанавливается по экзиту и тп). А мне нужно сделать это так, чтоб пользователя другим заводом не озадачивать!
Пожалуйста, помогите!


попробуй самый хакерский метод: отладь программу после user-exit'а и найди место (переменную), где лежит прежнее значение завода. можешь просто точку наблюдения за исходной переменной поставить. Есть большая вероятность, что эту переменную, из которой возвращается значение завода, можно будет изменить с помощью assign ('....').. ;)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 16 2006, 08:17 
Гость
эх, спасибо за совет, но уж больно это тягостное дело - при дефиците времени и вовсе... :(


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 16 2006, 10:28 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
на краяняк в экзите в after_save можно бапишкой поменять,
а вообще PREPARE_SAVE должен работать. структуры xvbap и vbap посмотри

_________________
полный SAPец


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 16 2006, 16:15 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Цитата:
но уж больно это тягостное дело


Используй F6 при отладке, и тогда ты это место вмиг найщешь.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 16 2006, 16:42 
Гость
дык искала уже - вот так вот и искала... полчаса провозилась и бросила... думала - может кто знает быстрее... но все равно - спасибо! :)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Вт, янв 17 2006, 09:03 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
Попробуйте exit MV45AFZB, FORM USEREXIT_CHECK_VBAP.
Он вроде меняет завод, но только если данные позиции меняются.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 17 2006, 10:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
А какие структуры данных менялись в USEREXIT_SAVE_PREPARE?
Нужно менять XVBAP.
Пример, как это сделать, можно посмотреть в ноте 50551:

Code:
FORM USEREXIT_SAVE_DOCUMENT_PREPARE.
<<<<<<<<<<<<<<< start of modification
<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  LOOP AT XVBAP.
    CHECK XVBAP-UPDKZ NE UPDKZ_DELETE.               
"<<<< new insert
    SVBAP-TABIX = SY-TABIX.
    PERFORM VBAP_BEARBEITEN_VORBEREITEN(SAPFV45P).
    PERFORM VBAP_FUELLEN(SAPFV45P)
*   begin of coding: the following is an example Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!!
*   the field VBAP-ROUTE (not XVBAP !) is filled
    MOVE 'ABCDEF' TO VBAP-ROUTE.
*   Payment terms on item level: field vbkd-zterm is filled
    MOVE '1234' TO VBKD-ZTERM.
*   end   of coding
    PERFORM VBAP_BEARBEITEN(SAPFV45P).
    PERFORM VBAP_BEARBEITEN_ENDE(SAPFV45P).
  ENDLOOP.
<<<<<<<<<<<<<<< end of modification <<
<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ENDFORM.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 17 2006, 10:26 
Гость
Спасибо, уважаемые, но похоже, после смены завода во всех указанных вами экзитах (да и в MV50... и в mv45afzz) система где-то выкапывает старое значение и со злобным хихиканьем водружает его на место... :(
Я раньше принудительно ставила завод, но делала это при создании заказа, на, так сказать, старте - и все прокатывало нормально...


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 17 2006, 10:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
tatu написал(а):
Спасибо, уважаемые, но похоже, после смены завода во всех указанных вами экзитах (да и в MV50... и в mv45afzz) система где-то выкапывает старое значение...

Еще раз:
Удав написал(а):
А какие структуры данных менялись в USEREXIT_SAVE_PREPARE?

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 17 2006, 11:00 
Гость
XVBAP
CVBAP
YVBAP
и, под занавес, сама VBAP
Все данные успешно менялись, modif'аились (кроме vbap), и ... снова зайдя в заказ на экране видим старый завод.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, янв 18 2006, 13:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Там не все так просто.
Лучше воспользоваться методом, описанным в моем посте от
Вт Янв 17, 2006 10:14 am .

Например: если при изменении документа другие данные руками не менялись, то дополнительно нужно устанавливать флаг T185F-DATALOSS в 'X', иначе документ не сохранится.

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ломаем заказ клиента - смена завода
СообщениеДобавлено: Ср, сен 25 2013, 17:38 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Подниму старую тему.

Мне нужно при создании подставить своё значение VBKD-ZTERM. Ну никак не хочет менять.

Может есть какие соображения ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ломаем заказ клиента - смена завода
СообщениеДобавлено: Ср, сен 25 2013, 19:31 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, апр 08 2008, 10:42
Сообщения: 379
Пол: Мужской
move_field_to_vbkd меняет его безо всяких проблем.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ломаем заказ клиента - смена завода
СообщениеДобавлено: Ср, сен 25 2013, 20:52 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Мне, как и автору топика, нужно в USEREXIT_SAVE и USEREXIT_SAVE_PREPARE.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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