Текущее время: Пн, июл 21 2025, 15:05

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: OpenFI событие 940
СообщениеДобавлено: Пт, мар 30 2007, 15:44 
Специалист
Специалист

Зарегистрирован:
Пн, сен 20 2004, 10:38
Сообщения: 152
Задача: при выравнивании документа (например тр. F-44), необходимо в зависимости от данных введенных на первом экране (счет, дата выравнивания, период, БЕ, валюта) отсеять часть выравниваемых позиций (при этом пользователь не использует ни каких других ограничений выбора).

Решение: пытался сделать это через использование OpenFI по событию 940 "ПРОВОДКА: проверка после выхода из ОБРАБОТКИ ОП".
В своем ФМ правлю табличку T_POSTAB - деактивирую позиции путем снятия флага в поле XAKTP.

Проблема: после отработки собственного ФМ и возврата к коду SAP мои изменения перезаписываются из таблици LT_POSTAB, в которую была скопирована таблица T_POSTAB перед запуском моего ФМ. Изучение сходных тем на форуме дало следующий результат. Везде идет речь о некой ноте которая делает невозможным сохранение своих изменений путем импорта в память. Суть ноты сводится к тому что она коментирует кусок кода, где перед запуском ФМ пользователя содержимое таблиц экспортируется в память, и добавляет кусок кода где копирование идет в резервную таблицу. Это справедливо для момента 1025 "ПРОВОДКА ДОКУМЕНТА: Окончат. проверки завершены". Но в моменте 940, который нужен мне, изначально без ноты, данные из внутренних таблиц на время работы ФМ пользователя хранятся не в памяти, а в резервных таблицах, и после отработки собственного ФМ перезеписывают измененные данные востанавливая их.

Вопрос: можно ли в таких условиях, тем не менее как то изменить таблицу T_POSTAB и сохранить внесенные изменения?

ЗЫ. Может я чего не так понял :( ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 30 2007, 15:48 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Цитата:
ЗЫ. Может я чего не так понял ?

Это уже не важно :)
Если необходимо именно это событие - меняйте значения в LT_POSTAB через ASSIGN. Пусть перезапишет вашими.

З.Ы.: Как крайний вариант. Ответсвенности не несу.


Последний раз редактировалось Пономарев Артем Пт, мар 30 2007, 15:59, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 30 2007, 15:54 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 08:47
Сообщения: 222
Пол: Мужской
Посмотри ФМ OPEN_FI_PERFORM_00000940_E.

Там вызываются ФМы OpenFI по этому событию. Причем измененные данные из этих ФМ не перезаписывают реальные данные.

По моему проще модифицировать ФМ OPEN_FI_PERFORM_00000940_E.

В конце LOOP в ФМ дописать:
Code:
  t_bkpf[] = lt_bkpf[].
  t_postab[] = lt_postab[].
  t_rsgtab[] = lt_rsgtab[].


Такая же ситуация и в событии 1025. Мы его решили как раз модифицированием. Потому что большие размеры данных гонять через память не очень хорошо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 30 2007, 16:25 
Специалист
Специалист

Зарегистрирован:
Пн, сен 20 2004, 10:38
Сообщения: 152
Да у нас как то не принято стандарт модифицировать :( ... оставлю это на самый крайний случай. а так попробую через assign или на худой конец через batch input :(


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

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


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

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


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

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