Function module with process code
I have an inbound interface with IDOCs. I have created a SE38 program for its processing as the requirement wont work in a Function module.
I have to create a process code for this interface.
I want to know that if I leave the "Identification" field blank while creating the process code in transaction WE42, i.e., I dont give any FM name then will the interface still work?
What will happen if I dont give any FM while creating the process code?
Would you use the data available more than one idoc or you just want to start the idoc processing after 2000 idocs.
Incase you will use data inside idoc as you said correctly you have to use Custom program.
Make sure your partner profile is set as "Collect Idoc" mode otherwise they will be processed immediately.
Control record is stored in EDIDC table where you can check the status get the idoc using message type and staus ( = 64)
The table for idoc data is EDID4. you have to query on this table and field SDATA contains the actual data. So if use segment e.g E1EDK01 declare one workarea type E1EDK01 and then pass EDID4-SDATA to that work area.
After you have used the idocs do not forget to chgange the status of the idocs to "68" ( you can copy the logic to chgange status from program RC1_SET_IDOC_STATUS) so that these do not get processed again.
Another way would be creating a custom table based on your desired format and populate it in the idoc inbound function module . Write standalone program which will then read the data from that custom table and do the processing.
I would suggest the second option as it is more safer to do so.
Hope it helps.