Skip to Content
0

BAPI_INCOMINGINVOICE_CREATE amount decimal limited to 4

Jan 04 at 05:59 AM

107

avatar image
Former Member

Hi Experts,

I faced one issue like below.

The customer is using a custom currency with 5 decimal in purchasing.

But when we develop a new program to create invoice verification for the GR, BAPI_INCOMINGINVOICE_CREATE1 will round off the 5th decimal of total amount.

Because the domain field BAPICURR is limited to 4 decimal.

So it will become a small difference to be posted.

But the customer does not like this difference.

Is there any workaround for that?

Thank you in advance.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Jürgen L
Jan 14 at 05:11 PM
0

You probably need to discuss this with SAP, they might have focused on real world currencies when defining the domain for the BAPI currency and ignored that they allowed to customize currencies more decimals.

I could only imagine to create a BAPI extension with an own field which allows to carry more decimals and then using this value via an exit when posting, just brainstorming ... hence I added the ABAP Development tag for further ideas.

Share
10 |10000 characters needed characters left characters exceeded
Raymond Giuseppi
Jan 15 at 08:47 AM
0

You could read some OSS notes like 424420 - IDocs allow a max. of 5 decimal places with currencies (which suggested some 'modifications' and carry some 'side effects', so at your own risk, suggest you raise a message with OSS first or find a workaround)

Some workaround: Look at parameter EXTENSIONIN and BAdI MRM_BAPI_MAPPING (of Ehn. Spot ES_BADI_MRM_EXTENSION)

Share
10 |10000 characters needed characters left characters exceeded
Iftah Peretz
Jan 15 at 08:41 AM
0

As another workaround you can post the difference once it's totaling to 4 decimals and up. Either on the same object or on some global object that is assigned to that same entity you are creating the invoice for.

Share
10 |10000 characters needed characters left characters exceeded