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

Часовой пояс: 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 часа


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

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


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

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