Добрый день.
Возникла такая проблемка. После создания отношении между ДП (транзакция 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.