Текущее время: Сб, июл 26 2025, 11:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Расширение FTR_CREATE
СообщениеДобавлено: Вт, сен 27 2011, 09:12 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Здравствуйте, господа.

Как правильно расширить FTR_CREATE?
Хочу по идее добавить свое пользовательское поле на уровне заголовка (желательно на селективный экран) со своим средством поиска и навешать проверки на уровне проверки селективного экрана и при сохранении.
В зависимости от введенного значения в пользовательское поле должны будут подтянуться определенный перечень данных, который должен автоматом проставиться в стандартные поля. Возможно такое?

Нашел в принципе BADI FTR_CUSTOMER_EXTENT, ищу документацию к нему.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Вт, сен 27 2011, 12:37 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

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

Как правильно расширить FTR_CREATE?
Хочу по идее добавить свое пользовательское поле на уровне заголовка (желательно на селективный экран) со своим средством поиска и навешать проверки на уровне проверки селективного экрана и при сохранении.
Нашел в принципе BADI FTR_CUSTOMER_EXTENT, ищу документацию к нему.

Думаю что, скорее всего, селективный экран, расширить не получится.

С проверками и расширением там где это предусмотрено, думаю подойдет Ваш бади FTR_CUSTOMER_EXTENT. Не плохая документация к нему и ко всем его методам есть в системе, Вам нужно только провалится в интерфейс и потом по меню пройти к документации.

Цитата:
В зависимости от введенного значения в пользовательское поле должны будут подтянуться определенный перечень данных, который должен автоматом проставиться в стандартные поля. Возможно такое?

Да, такое возможно сделать через СП(но не в 100% случаев, нужно смотреть по ситуации), то есть при выборе из СП какого то значения, заполняться стандартные поля на экране.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 06:55 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Besa написал:
DarZ написал(а):
Здравствуйте, господа.

Как правильно расширить FTR_CREATE?
Хочу по идее добавить свое пользовательское поле на уровне заголовка (желательно на селективный экран) со своим средством поиска и навешать проверки на уровне проверки селективного экрана и при сохранении.
Нашел в принципе BADI FTR_CUSTOMER_EXTENT, ищу документацию к нему.

Думаю что, скорее всего, селективный экран, расширить не получится.

С проверками и расширением там где это предусмотрено, думаю подойдет Ваш бади FTR_CUSTOMER_EXTENT. Не плохая документация к нему и ко всем его методам есть в системе, Вам нужно только провалится в интерфейс и потом по меню пройти к документации.

Цитата:
В зависимости от введенного значения в пользовательское поле должны будут подтянуться определенный перечень данных, который должен автоматом проставиться в стандартные поля. Возможно такое?

Да, такое возможно сделать через СП(но не в 100% случаев, нужно смотреть по ситуации), то есть при выборе из СП какого то значения, заполняться стандартные поля на экране.

Спасибо. Сделал через свою дополнительную закладку через этот БАДИ.
Если можно спрошу еще, нужно создавать документ (2) после сохранения сделки (1), во (2) документе указываю ссылку на (1). Но проблема в том что при сохранении сделки (1) ее еще нету в БД, соответственно создание документа (2) становиться невозможным. Как вариант рассматриваю отлов события CONTRACT_CREATED БО BUS2042, осуществляю это в транзакции SWETYPV, подставить свой фм где вызывать БАПИ. Подскажите как это можно красиво реализовать?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 07:01 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Цитата:
Если можно спрошу еще, нужно создавать документ (2) после сохранения сделки (1), во (2) документе указываю ссылку на (1). Но проблема в том что при сохранении сделки (1) ее еще нету в БД, соответственно создание документа (2) становиться невозможным. Как вариант рассматриваю отлов события CONTRACT_CREATED БО BUS2042, осуществляю это в транзакции SWETYPV, подставить свой фм где вызывать БАПИ. Подскажите как это можно красиво реализовать?

Способы решения есть, обсуждали не раз, Вам следует поискать по in Background task или in update task c отложенным запуском(V2) + найти подходящее место где это реализовать(я так понимаю Вы это уже сделали).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 11:11 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Besa написал:
Цитата:
Если можно спрошу еще, нужно создавать документ (2) после сохранения сделки (1), во (2) документе указываю ссылку на (1). Но проблема в том что при сохранении сделки (1) ее еще нету в БД, соответственно создание документа (2) становиться невозможным. Как вариант рассматриваю отлов события CONTRACT_CREATED БО BUS2042, осуществляю это в транзакции SWETYPV, подставить свой фм где вызывать БАПИ. Подскажите как это можно красиво реализовать?

Способы решения есть, обсуждали не раз, Вам следует поискать по in Background task или in update task c отложенным запуском(V2) + найти подходящее место где это реализовать(я так понимаю Вы это уже сделали).

спасибо, с этим понятно. Место еще не определил, но посмотрев программу нашел в инклюде IFTR_CL_APPL_SUPP_IMP метод process_save_request, там как раз и происходит коммит. Думаю воткнуть в начало метода Enhancement и вызвать свои модули обновления IN UPDATE TASk и STARTING NEW TASK и BAPI.

Блин, не правильный момент, оказывается мне номер документа еще не известен. Буду искать дальше.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 12:33 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Все конечно хорошо, а если в фм обновления вылетит ошибка как тогда откатить первый документ?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE  Тема решена
СообщениеДобавлено: Чт, сен 29 2011, 13:14 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
DarZ написал(а):
Все конечно хорошо, а если в фм обновления вылетит ошибка как тогда откатить первый документ?

Отката конечно не будет, потому у Вас LUW-ы разные. (Вы конечно можете отсторнировать док1, но это другое.)
А как Вы представляете возможным вообще такое реализовать в одном луве, если у Вас второй док создается только в случаев если первый создастся (то есть пройдет коммит в БД). Если мне кто то подскажет схему решения таких ситуаций, буду рад.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 14:32 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Besa написал:
DarZ написал(а):
Все конечно хорошо, а если в фм обновления вылетит ошибка как тогда откатить первый документ?

Отката конечно не будет, потому у Вас LUW-ы разные. (Вы конечно можете отсторнировать док1, но это другое.)
А как Вы представляете возможным вообще такое реализовать в одном луве, если у Вас второй док создается только в случаев если первый создастся (то есть пройдет коммит в БД). Если мне кто то подскажет схему решения таких ситуаций, буду рад.

Вроде все сделал, вот только документ все равно не создается. Я думаю что ошибся с местом внедрения. Использую IF_EX_FTR_CUSTOMER_EXTENT~EVT_TRANSACTION_SAVE_READY тот же БАДИ.
Извиняюсь, поторопился с ответом. Баг в коде.

Besa, спасибо большое.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 14:39 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
DarZ написал(а):
Вроде все сделал, вот только документ все равно не создается. Я думаю что ошибся с местом внедрения. Использую IF_EX_FTR_CUSTOMER_EXTENT~EVT_TRANSACTION_SAVE_READY тот же БАДИ.

"все сделал" это что? :) Пишите что именно делали? Какой тип ФМа, как вызывали? Что внутри ФМ? Отлаживались?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Чт, сен 29 2011, 17:29 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Besa написал:
DarZ написал(а):
Вроде все сделал, вот только документ все равно не создается. Я думаю что ошибся с местом внедрения. Использую IF_EX_FTR_CUSTOMER_EXTENT~EVT_TRANSACTION_SAVE_READY тот же БАДИ.

"все сделал" это что? :) Пишите что именно делали? Какой тип ФМа, как вызывали? Что внутри ФМ? Отлаживались?

С enhancement-ом не получилось.
То что сделал :D
Code:
" Метод класса (БАДИ) IF_EX_FTR_CUSTOMER_EXTENT~EVT_TRANSACTION_SAVE_READY
  CALL FUNCTION 'ZAGR_TRTM_EXITS_ADDELEMENT_UPD' IN UPDATE TASK
    EXPORTING
      bukrs         = m_bukrs
      rfha           = m_rfha
      agrno         = me->agrno
            .

Разумеется проверки, как без них
Code:
" IF_EX_FTR_CUSTOMER_EXTENT~EVT_TRANSACTION_SAVE_CHECK
" IF_EX_FTR_CUSTOMER_EXTENT~EVT_TRANSACTION_CHECK
  CALL METHOD me->check_cust_data
    EXPORTING
      pi_proxy_transaction = pi_proxy_transaction
      pi_proxy_messages    = pi_proxy_messages
      pi_cust_transaction  = pi_cust_transaction.



Code:
" ФМ Модуль обновления - ЗапускОткладыв - IN UPDATE TASK
  CALL FUNCTION 'ZAGR_TRTM_EXITS_ADDELEMENT_REM' STARTING NEW TASK 'ZAGR_TRTM_EXITS'
    EXPORTING
      bukrs = bukrs
      rfha  = rfha
      agrno = agrno.


Code:
" ФМ Дистанционный модуль - STARTING NEW TASK
" Бла-бла-бла
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.


Это еще не конечный результат, еще надо докручивать...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Расширение FTR_CREATE
СообщениеДобавлено: Пн, янв 23 2012, 14:31 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
DarZ написал(а):
.... Как вариант рассматриваю отлов события CONTRACT_CREATED БО BUS2042, осуществляю это в транзакции SWETYPV, подставить свой фм где вызывать БАПИ...


Скажите пожалуйста, у вас возникает это событие для BUS2042? почему-то у меня в системе оно не возникает :(

_________________
Silence v.2.0


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

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


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

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


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

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