cancel
Showing results for 
Search instead for 
Did you mean: 

net price in orders coming by EDI IDOCs

former_member822355
Participant
0 Kudos

GOod morning,

My sales orders come through EDI IDOCs

I need that the  pricing coming via IDOC is valid and to be captured in order and not the one maintained in VK11.

For example:

price coming from EDI IDOC: 3.5$

price maintained in VK11: 3$

I would like to store 3.5$ in PR00, and 3$ in EDI1 ....

This may be appen only for some customers ...

Is it possible? And how?

Thank in advance...

.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

Recommandation is to create a new condition price that you insert in pricing procedure in correct position. Then you should add routine #6 "Initial price" on cal. type column.

In your Idoc, just insert segment E1EDP05 under E1EDP01 with KSCHL = condition_name and KRATE = price_you_want

Regards,

Pascal

Former Member
0 Kudos

Hi,

1. please provie your requirement to you abap and ask them create new function module.

2. WE20 assign new function module to certain customer who want to adopt customer's price in sales orer

Best regards

Jian

Former Member
0 Kudos

Hi Silvana,

fill field VPREI in idoc ORDERS04/05 in E1EDP05 under E1EDP01 to have filled condition EDI1 in your sales order (condition must have previously been included in your price scheme).

To apply to certain customers, use a free field from your customer master data, for example KNVV-KVGR1 where you define in custo values 01 text "EDI1 yes", 02 text "EDI1 no" and update your customers accordingly.

In your price scheme, you need to define a requirement routine (tcode VOFM) where you write a code to apply only those customers with value KNVV-KVGR1 = 01. Ask for the help of an abapper. Finally, you have to set this requirement in your price schema (column requirements) for your condition EDI1.

Regards,

JM


former_member182378
Active Contributor
0 Kudos

joan,

There is a scope of learning from your post!

Some points that might have to be taken in to consideration -

1. EDI1, EDI2 are customer expected prices.

In other words EDI1 is at same "level" as Net value (and not PR00).

2. EDI1 / 2 are statistical and used not to "update" the prices in the sales order but to compare the customer expected price with the net value (coming  from condition records etc. etc.)

3. The prices in the IDocs should be valid for some customer -

To apply to certain customers, use a free field from your customer master data, for example KNVV-KVGR1 where you define in custo values 01 text "EDI1 yes", 02 text "EDI1 no" and update your customers accordingly.

Rather than doing the above, can we create a custom table and maintain the customers for which the prices in the IDocs should populate in the sales orders?

former_member822355
Participant
0 Kudos

I would like that the value coming from EDI will overrride the net value (not PR00)....

See my answer to SIDI: "I want that Net value coming in IDoc to overrule all price, discounts and surcharges in the pricing. ; this Net Value is my  VAT basis""

Former Member
0 Kudos

Hi TW,

yes, another approach would be using a custom table. Custom tables have pros (more flexible, adding fields not available for example validity dates from to) and cons (need to create the table, create a program to maintain it,  authorizations)

Regards,

JM

Former Member
0 Kudos

Hi Silvana,

a clarification: values for EDI1/ EDI2 can be found in E1EDP01, fields VPREI and NETWR in ORDERS05, no need of segment E1EDP05.

As EDI1 is the net price by unit, I would suggest to use instead EDI2 net pice by line item. In that case, use field NETWR in E1EDP01.

Now that I have a clearer requirement, I would suggest the following approach:

The idea is adding both EDI2 and PN00 conditions to your price schema.

1) create a price condition ZPN0 based in PN00 (which is a manual condition in price scheme) and set a sequence access for it. Create a price record for the sequence access that has to be
very general (sales organization...) and price 1.  We need this for step 3.

2) in your price scheme add ZPN0 condition before condition PN00 and uncheck manual. Set condition EDI2 (statistical) before ZPN0 condition. Use a free subtotal for condition EDI2 in column condition subtotal.

3) copy value of EDI2 to ZPN0 by creating a condition base value in VOFM where xkwert = your subtotal (there are some examples for it, see routines 5 to 7). Ask for the help of an abaper if needed.

I tested it (see attached scfreenshots). Formula 7 used to pass from EDI2 to PN00 (used it instead of ZPN0, for my testing) should additionally multiply amount by 10, not done in the example. Finally, with this new approach, you can restrain it to some customers directly in access sequence for condition ZPN0 which could now include additionally customer.

Regards,

JM

sidi_reghioui
Active Contributor
0 Kudos

what is your objective actually?

You want t have the Net value coming in IDoc to overrule all price, discounts and surcharges in the pricing. i.e. this Net Value is your VAT basis.?

former_member822355
Participant
0 Kudos

Yes I would like that : "Net value coming in IDoc to overrule all price, discounts and surcharges in the pricing. ; this Net Value is my  VAT basis". Thanks a lot

sidi_reghioui
Active Contributor
0 Kudos

Reading the start post I don't think there is a need to do anything in the IDoc itself, either map or alike, as I understand the price is already coming in the IDoc.

If this is true, then I guess what you could try is you should create a price condition type , set is manual as value will come from IDoc and put it before PR00 in your pricing procedure, create a exclusion group and assign both PR00 and this new condition type.

When sales order is created of a normal customer, then only PR00 exists, then all discounts and surcharges apply.

When you create a sales order via IDoc, then PR00 is inactive and the other price condition value is set and will be the Net value for your sales order.

Cheers.