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: 

IDOC_INPUT_ORDERS

Former Member
0 Kudos

Hi ,

I have done the enhancement for ORDERS05 and I have done the coding in CALL CUSTOMER FUNCTION '011' to update segments.The data is getting inot the internal table but it is not updating(When I checked in WE02).What may be the problem

Thanks

Umesh

1 ACCEPTED SOLUTION

former_member188685
Active Contributor
0 Kudos

It is Inbound Idoc, Populating the segments(Custom extension segements i guess) in exit 11 will not help. Along with it you have to Implement the exit 002 to populate the BDC data.

Go to Include LVEDAF09

PERFORM customer_function_dynpro. "It will be called inside a loop. so you have to populate the BDCDATA for the custom fields. Standard filed are taken care in this include.

Why we need to do this ?

Because we need to update the custom fields to the trsansaction VA01 .

for validations on custom fields you have to use the Exit 010

Followind exits needs to be implemented.

"exit 11

"exit 010

"exit 002

17 REPLIES 17

Former Member
0 Kudos

Hi ,

Can you pleasa send the code ,may be modify the segment would not have done .

Former Member
0 Kudos

is your enhancement executed at all?

is your internal table relly changed?

/wg

0 Kudos

s internal table DEDIDD is updated but after excecution it is not updating the segments

Thanks

Umesh

former_member188685
Active Contributor
0 Kudos

It is Inbound Idoc, Populating the segments(Custom extension segements i guess) in exit 11 will not help. Along with it you have to Implement the exit 002 to populate the BDC data.

Go to Include LVEDAF09

PERFORM customer_function_dynpro. "It will be called inside a loop. so you have to populate the BDCDATA for the custom fields. Standard filed are taken care in this include.

Why we need to do this ?

Because we need to update the custom fields to the trsansaction VA01 .

for validations on custom fields you have to use the Exit 010

Followind exits needs to be implemented.

"exit 11

"exit 010

"exit 002

0 Kudos

I have not used any custom fields in the transaction VA01 can you please be eloborate on this

Thanks

Umesh

0 Kudos

I have not used any custom fields in the transaction VA01

IF you are not Updaing any custom fields, then if you map the fields properly then it automatically Creates the Order.

Why you want to implement the exits in the IDOC_INPUT_ORDERS.

Only when you want to validate, or Custom Data populations all these we can get using the Exits.

Tell me what exactly you are doing.

It is inbound IDOC, what are you getting, what you want to do with it exactly...?

0 Kudos

What exactly I am doing is

1.I am modifying E1EDKA1 segments based on some condition

2.Updating E1EDP01 segments

3.Updating E1EDKT1 segments

Thanks

Umesh

0 Kudos

Use of the IDOC_INPUT_ORDERS

All the information what ever you filled in the segments will be mapped internally to the respective tables XVBAK, XVBAP etc...

using the tables BDCDATA will be populated. now using the BDC data VA01 will be called and Sales order will be created.

Line # 116 of Include.

CALL TRANSACTION 'VA01' USING bdcdata
                            MODE  input_method
                            UPDATE 'S'
                            MESSAGES INTO xbdcmsgcoll.

1.I am modifying E1EDKA1 segments based on some condition

2.Updating E1EDP01 segments

3.Updating E1EDKT1 segments

Updating the segments only the Requirement. Once it is updated you dont want the Sales order.

0 Kudos

Hi,

Firstly, If you are using the IDOC_INPUT_ORDERS, then you cannot modify the incoming IDoc, it will remain same even if you modify the iternal tables EDIDD.

Enhancements on the inbound side are used to pass custom data to the BDC table that is used to update the database by call transaction and on the outbound side to populate custom data in the IDoc the segment data.

When the Inbound Idoc comes to the SAP system, the ALE layer calls the Inbound processing function, which in your case is IDOC_INPUT_ORDERS, by passing the EDIDC and EDIDD records in tables parameters. You then loop at each EDIDC and EDIDD record and populate the BDC table to be passed to the call transaction ( VA01 in your case ). The enhancements are called after processing of each segment in the EDIDD table and after processing all segments before calling the transaction to enable any custom things to be developed.

Best regards,

Advait

0 Kudos

Yes I need to create the sales order along with I need to update segments also

Can you please provide any peace of code

It is ugent for me

Thanks

Umesh

0 Kudos

No Need to write any code. Code already in place. In General why we write coding in exits is to Validate and modify the Segments data. And If at all we have any Extension and we need to map those to the standard SAP fields then we will use the exits.

In saled order we will show some custom fields , and those fields needs to be updated then we will use the exits.

Make sure that Your BDCDATA populated correctly.

IF input_method IS INITIAL.
      input_method = 'N'.  <--- this is No screen mode.
    ENDIF.
    CALL TRANSACTION 'VA01' USING bdcdata
                            MODE  input_method
                            UPDATE 'S'
                            MESSAGES INTO xbdcmsgcoll.
In debug mode you Change it to 'A' "ALL screen mode.

and check first how the BDC is happening.

0 Kudos

I will try and let you know if any problem

Thanks

Umesh

0 Kudos

You mean to say is it not at all possible to modify incoming IDOC in IDOC_INPUT_ORDERS

Thanks

Umesh

0 Kudos

it is possible . But what ever you mofiy that should fit into SAP fields. and then Transaction should be successfully posted.

IDoc change what you mean by that ? IDoc consists of Data

Incoming IDoc will get the data to SAP frome external system and post it to SAP.

0 Kudos

Hi Vijay....

this is Shyam, actually i have the same problem , I am updating the custom field through the IDOC_input_orders and by using the exit '002' i have to do it. But i don't know how to populate the bdc data table for my custom field.

Can you plz send me the code for this. I 'll be highly thankful for you if you do this favour for me.

Thanks

Shyam

0 Kudos

Hello Vijay,

I'm facing problem creating SO from PO.  I have already posted a query regarding the same. please find the link : http://scn.sap.com/thread/3406892

@Vijay Dudla

Former Member
0 Kudos

hi did you used the commit work there ...or use the bapi 'BAPI_TRANSACTION_COMMIT' for that i hope this will works .