cancel
Showing results for 
Search instead for 
Did you mean: 

BAPI_CUSTOMERCONTRACT_CHANGE giving Update Error

Former Member
0 Kudos

Hi Friends,

I get an error 'Field header_inx-updateflag is not an input field' when calling the BAPI FM BAPI_CUSTOMERCONTRACT_CHANGE. I pass the 'U' flag to the Updateflag fields of the Header, Item and Condition and yet I get this error. When I debug I see the complete contract_header_inx structure in BAPI is filled where the Updateflag field is 'U' and the other fields to be changed is 'X'. When debugging the FM

after the CALL FUNCTION 'DIALOG_SET_NO_DIALOG'. The MOVE-CORRESPONDING CONTRACT_HEADER_IN TO DA_CONTRACT_HEADER_IN.

MOVE-CORRESPONDING CONTRACT_HEADER_INX TO DA_CONTRACT_HEADER_INX.

where the structure DA_CONTRACT_HEADER_IN shows data but DA_CONTRACT_HEADER_INX does not contain anything...whereas program my program when it passes the structure is filled. Thanks for your help

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Mira,

Your error in fact is not the right errormessage (but probably you fill the CONTRACT_HEADER_INX structure the wrong way). In fact this error [E347(00)] is caused by a check for the field ORDER_HEADER_INX-UPDATEFLAG.

The fields inside CONTRACT_HEADER_IN correspond with fields inside CONTRACT_HEADER_INX structures. By marking a field in the CONTRACT_HEADER_INX structure with the value "X", the BAPI is given the signal that the corresponding field of the CONTRACT_HEADER_IN structure actually has changed and must be updated in the database.

So what to do? The minimum requirements are as follows:

1. Always enter the contractnumber that must be changed (or deleted) in the SALESDOCUMENT structure.

2. Always enter ALL required key fields for any data you wish to change.

3. When changing always enter the UPDATE FLAG (i.e. "U") in the field UPDATEFLAG of structure CONTRACT_HEADER_INX. (You use "I" for INSERT and "D" for DELETE).

4. Any field that changes (or you want to update in the database) mark it with an "X" in the corresponding ...X structure.

If you fill the CONTRACT_CFGS_* structures you must fill the completely.

So you need to fill the structures yourself before calling the BAPI.

Regards,

Rob.