Текущее время: Сб, июл 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 часа


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

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


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

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