Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Short dump in BAPI_PO_CHANGE

Former Member
0 Kudos

HI all,

I am using BAPI_PO_CHANGE to change the Quantity and Item text of PO items .

The following is the function call :

Loop at loop at z_i_item assigning <z_f_item>.
call function 'BAPI_PO_CHANGE'
      exporting
        purchaseorder                = <z_f_item>-ebeln
     tables
       return                        = z_i_return
       poitem                        = z_i_poitem
       poitemx                       = z_i_poitemx
      poschedule                     = z_i_posch
      poschedulex                    = z_i_poschx
       potextitem                =  z_i_itemtxt .
Endloop.

Am filling all the internal tables in the " tables parameter " for every loop of z_i_item.

But it throws a short dump as soon as the BAPI is executed .

" The current ABAP "SAPLMEPO" program had to be terminated because the

ABAP processor detected an internal system error.

When exporting the structure description, the structure

components overlapped. The error occured in the

description of the object "XEKPO". "

3 REPLIES 3

Former Member
0 Kudos

hi,

once have a check that ur datatype assigns are stable inthe sense ur data has the datatype expected and ensure all mandatory fields are passed

shiva

Former Member
0 Kudos

Hi

You can change the approach to get the better pefromance.

try as below:

Loop at item table.

Move all the related items of PO into another ITAB.

Use AT END of EBELN and call the BAPI pass EBELN and ITAB and use commit.

The above will have better performance.

if you wish continue the current appraoch then,

Put some wait after iteration and also use comit based on the return of SY-SUBRC.

Use WAIT UPTO 2 SECONDS. (please check correct stmt)

Regards

Shiva

Former Member
0 Kudos

Hi guys,

Thanks a lot , but it was beacause of a functional mistake .

It is resolved.

Now there is another problem .

When i update the quantity for , eg . The quantity must be changed to 50 , i update the value in POITEM , POITEMX , POSCHEDULE , POSCHEDULEX tables of the BAPI_PO_CHANGE .

Instead of the quantity changing to 50 , value 50 gets added to the existing quantity .

e.g : quantity 2 becomes 52 .instead of changing to 50.

Is there any more parameter to be sent . ?