SAPфорум.RU
https://www.sapboard.ru/forum/

IS-U. Дамп при создание отношений между деловыми партнёрами
https://www.sapboard.ru/forum/viewtopic.php?f=85&t=70956
Страница 1 из 1

Автор:  BenderMTB [ Пн, июл 04 2011, 14:50 ]
Заголовок сообщения:  IS-U. Дамп при создание отношений между деловыми партнёрами

Добрый день.
Возникла такая проблемка. После создания отношении между ДП (транзакция BP, Отношения, FSB001), при сохранение проваливается в дамп. Притом проваливается в дамп не всегда. У некоторых создаёт нормально, у некоторых создается только с одной стороны (то есть если есть ДП № 1 и № 2. При создание отношения ДП № 1 к № 2 "является компаньоном" падает в дамп, а при создание отношения ДП № 2 к № 1 "имеет компаньона" создаётся. Хотя по сути это равносильные операции, т.е. в таблицы BUT050 при это должна появляться одна и таже запись.) Бывает что вообще не присваиваются отношения не в ту, не в другую сторону.

Информация из дампа (MESSAGE_TYPE_X):

Code:
Technical information about the message:
Message class....... 00
Number.............. 081
Variable 1.......... "NESTED_PERFORM_ON_COMMIT"
Variable 2.......... "caller: SAPLBUPA_BADI_CALL"
Variable 3.......... "program: SAPLBUPA_BADI_CALL"
Variable 4.......... "form: BADI_CALL"


Code:
   61     if sy-subrc ne 0.
   62       describe table imode_orders lines i_level.
   63       imode_orders_wa-prog = prog.
   64       imode_orders_wa-rout = rout.
   65       imode_orders_wa-i_level = i_level.
   66       imode_orders_wa-u_level = u_level.
   67       insert imode_orders_wa into imode_orders index sy-tabix.
   68       export imode_orders imode_rb_orders to memory id %_vbkey.
   69     endif.
   70   else.
   71     if sy-oncom = 'P'.
   72 *     already in PERFORM ON COMMIT
   73       call 'C_SAPGPARAM' id 'NAME'  field 'abap/allow_nested_poc'  "#EC CI_CCALL
   74                          id 'VALUE' field allow_nested_poc.
   75       if allow_nested_poc <> 'X'.
   76 *       nested PERFORM ON COMMIT not allowed
   77         call 'AB_GET_CALLER' id 'PROGRAM' field caller.  "#EC CI_CCALL
   78         if caller <> 'SAPMSSY0'.
   79           mpar1 = 'NESTED_PERFORM_ON_COMMIT'.
   80           concatenate 'caller:'  caller into mpar2 separated by ' '.
   81           concatenate 'program:' prog   into mpar3 separated by ' '.
   82           concatenate 'form:'    rout   into mpar4 separated by ' '.
   83 *         switch back kernel flag: just for sure.
   84           call 'SET_SWITCH_TXEND' id 'STATE' field ' '.  "#EC CI_CCALL
   85 *         issue short dump
>>>>>           message x081(00) with mpar1 mpar2 mpar3 mpar4.
   87         endif.
   88       endif.
   89     endif.
   90     read table orders
   91       into orders_wa
   92       with key prog = prog
   93                rout = rout
   94       binary search.
   95     if sy-subrc ne 0.
   96       describe table orders lines i_level.
   97       orders_wa-prog = prog.
   98       orders_wa-rout = rout.
   99       orders_wa-i_level = i_level.
  100       orders_wa-u_level = u_level.
  101       insert orders_wa into orders index sy-tabix.
  102     endif.
  103 *   for RTM test concerning POC during OS event handling
  104     if sy-oncom = 'E'.
  105       orders_wa-prog = prog.

Автор:  BenderMTB [ Вт, июл 05 2011, 09:02 ]
Заголовок сообщения:  Re: IS-U. Дамп при создание отношений между деловыми партнёрами

Обнаружил ещё вот такую штуку. При сохранения ДП заполняется таблица orders, в которой указывается, что именно надо обновить в ДП. Таблица содержит имя программы и имя подпрограммы, которые последовательно запускаются. Когда отношения создаются, то эта таблица содержит 5 записей, а когда проваливается в дамп, то таблица содержит 53 записи (Видимо почему то пытается обновить всё в ДП) и запарывается на программе SAPLBUSS подпрограмме BUS_BAPI_SAVE.

Автор:  BenderMTB [ Чт, июл 07 2011, 14:06 ]
Заголовок сообщения:  Re: IS-U. Дамп при создание отношений между деловыми партнёрами

Обнаружил ещё одну особенность. Отношения создаются, если "Общие данные" находятся в режиме изменения. То есть сначала обновляет дебитора, а потом отношения между ДП. Но всё же у большинства ДП отношения создаются и без режима изменения "Общих данных", хотя в роле дебиторов определенны все.

Автор:  BenderMTB [ Пн, июл 11 2011, 10:41 ]
Заголовок сообщения:  Re: IS-U. Дамп при создание отношений между деловыми партнёрами

Поотслеживал цепочку в коде.
Сохранение проходит успешно если не введён номер телефона (Нет метки в ADRC-FLAGCOMM2). Если же он введён, то в
CL_IM_CVI_ADDRESS_UPD_IMPL / CL_IM_CVI_ADDRESS_UPD_IMPL / 25
METHOD / IF_EX_ADDRESS_UPDATE~FINISHED
параметр lv_address_must_be_finished = 'X', после чего происходит заполнение таблицы orders (В частности добавляется запись с подпрограммой BUS_BAPI_SAVE, в которой проваливается в дамп)

Так же сохранение проходит успешно, если "Общие данные" находится в режиме изменения. Тогда он сначала сохраняет данные в дебиторе, а потом обновляет отношения и не задействует лишних подпрограмм обновления

Не могу найти никакой ноты по этому поводу. Может кто сталкивался с подобным?

Автор:  Kosmos [ Вт, май 28 2013, 09:33 ]
Заголовок сообщения:  Re: IS-U. Дамп при создание отношений между деловыми партнёрами

Есть такая нота:
SAP Note 956054 - BP_CVI: Customer/vendor integration as
of ERP 6.00
Там описаны настройки отношений.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/