Текущее время: Чт, мар 28 2024, 17:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Пн, май 25 2020, 22:45 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
с помощью репорта в котором успользуюся модуль
BAPI_ACC_DOCUMENT_POST
генерируются receipt
в BAPI передаетсся через внутреннюю таблицу параметр дистриб. канала (CHANNEL):
TABLES
extension2 = p_ext2

Receipt Header сохряняется соответственно в BKPF
информация о канале после вызова модуля BAPI_ACC_DOCUMENT_POST сохраняется в таблицe BSEG, поле ZZCHANNEL

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Вт, май 26 2020, 14:02 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
Скорее всего, заполнение Z-поля проиходит где-то в "юзер-экзите" (BTE, BADI или энхансменте), и соответствующие изменения в этом "юзер-экзите" не были перенесены на прод.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Сб, май 30 2020, 16:41 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
есть репорт который вызывает BAPI_ACC_DOCUMENT_POST. т.е эксит или бади навешен после вызова? как его найти?
данный модуль паркует документ.
а может быть так что потеря происходит после того как паркованный документ постят с FBV0?
может быть что на данную транзакцию тоже навешен какой нибуть бади или эксит?
как найти их?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Пн, июн 01 2020, 19:19 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
AlexU123 написал(а):
есть репорт который вызывает BAPI_ACC_DOCUMENT_POST... данный модуль паркует документ.
Вообще-то это ФМ для постинга. Как удалось заставить его парковать документы? Это реально очень интересно.
AlexU123 написал(а):
а может быть так что потеря происходит после того как паркованный документ постят с FBV0?
Таблицы, в которых находятся запаркованные документы, аналогичны стандартным, только в качестве 1-й буквы к названию добавляется "V" (т.е. vbkpf, vbseg).
AlexU123 написал(а):
может быть что на данную транзакцию тоже навешен какой нибуть бади или эксит? как найти их?
BADI - установить в отладчике брейкпоинт на call badi (для новых) или установить точку прерывания в методе CL_EXITHANDLER=>GET_INSTANCE() (для старых). БТЕ-ФМ-ы можно найти в транзакции fibf (далее - меню Settings/PS modules или Process modules/of a customer). Список неявных энхансментов - в таблице ENHINCINX(в принципе, можно заглянуть в ENHHEADER, там и неявные энхансменты, и бади). А вообще универсальный способ - установить в отладчике точку прерывания в BAPI_ACC_DOCUMENT_POST, попав в эту точку, настроить Debugger Layer на Z* (или какое там пространство имён применяется на проекте), после чего с помощью "Next Object Set" перескакать все фрагменты Z-кода, участвующие в процессе.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Пн, июн 01 2020, 20:31 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
благодарю за подробную информацию.
Цитата:
Вообще-то это ФМ для постинга. Как удалось заставить его парковать документы?

Code:
       lwa_ext-structure  = 'PARK'.
        lwa_ext-valuepart2 = '1'.
        APPEND lwa_ext TO lit_ext.

        CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
          EXPORTING
            documentheader    = lwa_bapihdr
          IMPORTING
            obj_key           = lv_objkey
          TABLES
           .....
            extension2        = lit_ext.


все через таблицу extension2 равно как и трансфер каналов.
дальнейшее принял априори, так как документ реально идет "в парк".
с вашей подсказки нашел бади BADI_ACC_DOCUMENT и метод IF_EX_ACC_DOCUMENT~CHANGE
где идет трансфер ZZ* колонок. запостил ордер
самое интересное что каналы не теряются на продуктивном сервере.
т.е где то "там" делают те же операции и теряют каналы.
я произвожу все то же. читаю в репорт эксель, паркую документ и у меня все наместе.
почему так происходит теперь вообще нет идеи.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST  Тема решена
СообщениеДобавлено: Ср, июн 03 2020, 21:31 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
AlexU123 написал(а):
Цитата:
Вообще-то это ФМ для постинга. Как удалось заставить его парковать документы?
все через таблицу extension2 равно как и трансфер каналов. дальнейшее принял априори, так как документ реально идет "в парк".
Не, это не помогает. Видимо, где-то в дальнейшем это значение как-то обрабатывается.
ЗЫ. Нашёл ноту, в которой САП добавил возможность парковать через этот ФМ. Может, она применена...
AlexU123 написал(а):
CHANNEL по неясной причине не сохраняется в таблице сегментов BSEG,. причем потеря CHANNEL происходит в продуктивной системе.
AlexU123 написал(а):
самое интересное что каналы не теряются на продуктивном сервере.
т.е где то "там" делают те же операции и теряют каналы.
я произвожу все то же. читаю в репорт эксель, паркую документ и у меня все наместе.
почему так происходит теперь вообще нет идеи.
Вот тут не понял: теряется Z-поле на проде или не теряется? Или имеется в виду, что после паркинга на проде Z-поле - на месте, а после постинга - увы?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Чт, июн 04 2020, 13:44 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
нет. клиенты на другом континент работают в продуктивной системе, в которой с момента существования каналы не загружаются в таблицу, но только на продуктивной системе.
все до постинга, т.е. в паркованном документе каналов уже нет.
я проверил у себя, все работает. теперь грешат на то что они загружают программу с Fiori, а я с SE38. чушь помоему. кстати не подскажете как в Fiori актуализировать программу?
На сервере я актуализировал репорт, т.е. теперь доработанная программа с тем же именем, но с Fiori грузится старая.
/IWFND/CACHE_CLEANUP не помогает.


Последний раз редактировалось AlexU123 Сб, июн 27 2020, 17:47, всего редактировалось 3 раз(а).

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Чт, июн 04 2020, 18:00 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
все оказалось банально.
Фьери вызывал веб динпро который вызавал бапи, который вызавал бади.
в веб динпро банально забыли передать канал.
я работал с репортом c SE38, который вызывал бапи по своему и с заполненным каналом.
затем в дебаггере я попадал в общую для обеих программ бади.
вообще не думал о фьёри с которым работали клиенты.
2 разных программы с общим бади которые делают то ж самое.. но не совсем.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: CHANNEL не сохраняется в таблицe BSEG после вызова модуля BAPI_ACC_DOCUMENT_POST
СообщениеДобавлено: Ср, июл 08 2020, 13:55 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, апр 11 2020, 21:34
Сообщения: 53
попробую в дополнение вопрос задать.
Можно ли с вызовом
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
каким-то образом установить чек-бокс "Calculate Тax", поле XMWST ( Calculate Tax Automatically) в Таблице VBKPF в "TRUE" ?


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

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


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

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


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

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