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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Ср, окт 27 2010, 16:13 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
При сохранении исходящей поставки требуется некоторая z-обработка упакованных позиций.
в SAPMV50A есть FORM USEREXIT_SAVE_DOCUMENT. Но в ней видны только данные поставки (xlips, xlikp ..) без сведений об упаковке (HU). Как увидеть сведения об упаковке в рамках USEREXIT_SAVE_DOCUMENT? или другим способом?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 06:47 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
andry_moz написал:
При сохранении исходящей поставки требуется некоторая z-обработка упакованных позиций.
в SAPMV50A есть FORM USEREXIT_SAVE_DOCUMENT. Но в ней видны только данные поставки (xlips, xlikp ..) без сведений об упаковке (HU). Как увидеть сведения об упаковке в рамках USEREXIT_SAVE_DOCUMENT? или другим способом?

Через assign к глобальной вн. таблице (SAPLV51G)IVEKP[] например?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 10:22 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
Besa написал:
andry_moz написал:
При сохранении исходящей поставки требуется некоторая z-обработка упакованных позиций.
в SAPMV50A есть FORM USEREXIT_SAVE_DOCUMENT. Но в ней видны только данные поставки (xlips, xlikp ..) без сведений об упаковке (HU). Как увидеть сведения об упаковке в рамках USEREXIT_SAVE_DOCUMENT? или другим способом?

Через assign к глобальной вн. таблице (SAPLV51G)IVEKP[] например?


(SAPLV51G)IVEKP[] не содержит всех необходимых данных, например то что на вкладке "Доп данные" EO (HU)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 11:22 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
andry_moz написал:
(SAPLV51G)IVEKP[] не содержит всех необходимых данных, например то что на вкладке "Доп данные" EO (HU)

К сожалению, у нас этот функционал, можно сказать не развернут, я не вижу этой вкладки. Суть в том, чтобы через assign получить значение глобальных переменных (много раз обсуждалось на форуме), если это возможно. Посмотрите логику экрана "Доп данные"(кстати какая программа и номер экрана?), какие там переменные участвуют, можно ли к ним обратиться и т.д.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 11:37 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
Besa написал:
andry_moz написал:
(SAPLV51G)IVEKP[] не содержит всех необходимых данных, например то что на вкладке "Доп данные" EO (HU)

К сожалению, у нас этот функционал, можно сказать не развернут, я не вижу этой вкладки. Суть в том, чтобы через assign получить значение глобальных переменных (много раз обсуждалось на форуме), если это возможно. Посмотрите логику экрана "Доп данные"(кстати какая программа и номер экрана?), какие там переменные участвуют, можно ли к ним обратиться и т.д.


Изменение поставки, кнопка "упаковка"
Программа SAPLV51G экран 6130.

Имя программы SAPLV51G
Номер экрана 6130


Имя программы SAPLV51G
Статус HU_6100


Имя таблицы VEKPVB
Вид таблицы Структ.
Имя поля VHILM_KU
Элемент данных VHILM_KU
Дополнение к ЭД 0


Поле экрана VEKPVB-VHILM_KU
Имя программы SAPLV51G
№ экрана 6100


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 11:53 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
(SAPLV51G)GS_VEKP посмотрите.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 12:04 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
Besa написал:
(SAPLV51G)GS_VEKP посмотрите.


я больше склоняюсь к (SAPLV51P)GT_XVEKP[]
но в FORM USEREXIT_SAVE_DOCUMENT эта таблица уже пустая :( .


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 12:16 
Специалист
Специалист

Зарегистрирован:
Пт, окт 20 2006, 16:39
Сообщения: 230
Если просто посмотреть данные о ЕО, можно использовать БАДИ DELIVERY_PUBLISH там метод PUBLISH_AFTER_SAVE
и достать данные из поставки BAPI_DELIVERY_GETLIST. Как то так.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 12:31 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
demst написал(а):
Если просто посмотреть данные о ЕО, можно использовать БАДИ DELIVERY_PUBLISH там метод PUBLISH_AFTER_SAVE
и достать данные из поставки BAPI_DELIVERY_GETLIST. Как то так.


смотреть и сделать некоторые действия с ЕО нужно до момента сохранения поставки, а не после.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 12:45 
Специалист
Специалист

Зарегистрирован:
Пт, окт 20 2006, 16:39
Сообщения: 230
тогда попробуйте LE_SHP_DELIVERY_PROC
в методе DELIVERY_FINAL_CHECK точно видна (SAPLV51P)GT_XVEKP[]
возможно Вам подойдут и другие методы...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 13:15 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Зачем творить зло и умножать энтропию? Никакие ASSIGN'ы не нужны.
Функциональность HU написана достаточно корректно, и доступ к данным можно получить с помощью обычных ФМов.
Тех же самых V51P_FIND_HEADER и V51P_FIND_ITEMS.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 15:13 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
Пономарев Артем написал:
Зачем творить зло и умножать энтропию? Никакие ASSIGN'ы не нужны.
Функциональность HU написана достаточно корректно, и доступ к данным можно получить с помощью обычных ФМов.
Тех же самых V51P_FIND_HEADER и V51P_FIND_ITEMS.


смотрим V51P_FIND_HEADER
Code:
  IF NOT if_header_index IS INITIAL.
    READ TABLE gt_xvekp INTO es_header INDEX if_header_index.
    IF sy-subrc NE 0. MESSAGE e151(hugeneral) RAISING not_found. ENDIF.
    ef_header_index = if_header_index.                      "SP_643282
    EXIT.
  ENDIF.


так вот в момент USEREXIT_SAVE_DOCUMENT
gt_xvekp уже пуста из-за выполненного ранее HU_PACKING_REFRESH.


Последний раз редактировалось andry_moz Чт, окт 28 2010, 15:51, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 15:41 
Специалист
Специалист

Зарегистрирован:
Пт, окт 20 2006, 16:39
Сообщения: 230
там уже напрямую читается табличка gt_xvekp


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 16:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
andry_moz написал:
так вот в момент USEREXIT_SAVE_DOCUMENT
gt_xvekp уже пуста из-за выполненного ранее HU_PACKING_REFRESH.

Для заполнения доп.данных процедура USEREXIT_SAVE_DOCUMENT не подходит, т.к. вызывается уже после запуска сохранения данных. Используйте USEREXIT_SAVE_DOCUMENT_PREPARE :!:

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение исходяще поставки USEREXIT_SAVE_DOCUMENT
СообщениеДобавлено: Чт, окт 28 2010, 16:08 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
andry_moz, данные ЕО уже сохранены в БД в момент срабатывания экзита.
По поводу правильного экзита уже подсказал Удав.

Если принципиально использовать именно USEREXIT_SAVE_DOCUMENT, то что мешает прочитать их другим ФМом по номеру поставки?
Я выкладывал код, в котором такое чтение реализовано. Можно найти через поиск по автору.

UPD: Хотя может и не выгореть, если сохранение идет в апдейт процессе. А оно, скорее всего, именно так. Так что поменять экзит самый простой вариант.


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

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


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

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


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

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