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/ |