IDOC Data transfer
Hi Experts,
I have few questions related to IDOC Data transfer. I have two different SAP Systems S1 and S2, S1 Creates sales order and send the data through IDOC Type ORDERS05 to S2, To create sales order in S1.
As i know, Program IDOC_INPUT_ORDERS is used for I/B IDocs in S2. Will be there be any programs to push the data from S1 System.
Thank you
Kris
hi,
idoc is not meant for sending files to another system, they are basically data containers which are sent to other systems like to send the data related to sales orders you can send idoc ORDERS.
you need to first be clear with the requirement for which business object you want to transfer the data, then need to look out if the Idoc is available for the same then only u can sent it.
for more info on idocs you can easily search on forums.
Reg,
NJ
Similar Messages
-
How does IDOC data transfer happensbetween two system?
Hi,
If there are data in system A and I need to transfer to system B using IDoc.
What are the key things which will enable data transfer from system A to system.
It would be great if someone can explain how does IDOC data gets transferred from system A to sytemB.
Regards,
Rachel
Moderator Message : Search for available information or Read SAP documentation. Thread locked
Edited by: Vinod Kumar on Apr 26, 2011 12:37 PMthanks for all your replies...
let me write down what i have understood ..plz correct me if i have not followed properly..
1) Once IDocs successfully reach R3 , a function module specific to the Idoc type is called "<b>automatically</b>" and updates database...
2) this function module we specify in the process code while creating partner profiles
basically all we need to do is to specify correct function module, right?
the rest of the process ie . updation in the tables(database) is done automatically..
Once database is updated, where can i see the added/updated records in database?
also how do we find this function module?
I am using MATMAS05...
Regards,
Roshani -
IDOC data transfer SAP to Java using SAP JCo
Dear Experts,
The challenging requirement we are having is, we need to create the interface for data transfer between SAP system and the Java system. The data will be transferred from SAP to java and similarly once some processing done in Java again the details needs to be transferred from Java to SAP.
For this data transferred we are planning to use IDOC process and for interface "SAP Java connector" we are planning to use. In this case we are having some doubts.
1. The data from SAP is going to be transfered from one Custom transaction (Z tcode). Once "Outbound IDOC" will get triggered and will carry the details. Now the doubt is, whether the data / details will get transfered to JAVA system automatically or we need to perform any other steps from SAP ABAP coding...(like converting in to flat file, XML file and etc) ??
2. We are planning to install "SAP Jco" in Java server. Is this correct...??
3. Other than SAP Jco any other softwares needs to be installed or not..??
4. Since we are going to trigger the "outbound IDOC" from custom transaction, we are planning to develope one program in SE37. Other than this any other program we need to develop or not..??
If anybody has detailed steps or explanation please share it with us.
Warm Regards,
VELHi All,
For the above mentioned issue, we implemented JCo software in JAVA system and created the JAVA program including SAP logon credential details like Client, User name, password and Language details.
When this JAVA program was compiled successfully then, that non SAP system will appear in SAP gateway Tcode.
Once non SAP system started appearing in SAP gateway that means, both SAP & Non SAP are connected automatically.
Regards,
Velmurugan P -
IDOC data transfer between 2 SAP Clients on same system
HI All,
i was transferring data through standard IDOC from table A609 in client 100(say) to client 301(say).
Sender u2013 100 (sender side)
Receiver u2013 301 (receiver side)
I did all configurations that were required for transferring data.
But at receiving side i.e. client 301, data is not populating in the table A609.
The status at sender side is:
status 03: Data Passed to port OK.
But the status is at the receiving side is:
status 64: IDOC ready to be transferred to application (yellow light)
My query is why the data is not getting populated in table at receiver end.
Waiting for your responses.......Hi,
Instead of using idoc ..
You can write code in RFC function module and update the table directly.
If it is a Application i mean transaction back end many tables need to update on that case Idoc is necessary other wise use RFC preferabble,
Program RBDMANI2 for status 51 & 52
Program RBDAPP01 for status 64 ,66 "Run this Program By Passing Idoc number it will turn to Green and Table wil be updated
Program RBDAGAIE for status 32 and 69 (Edited IDocs)
Program RBDSYNER for status 26
Program RSEOUT00 for status 30
re-process IDocs failing in 29 status, use program RBDAGAIN.
transactions WEINBQUEUE and WEOUTQUEUE to control the individual queues
Regards,
Prabhuads -
Data transfer b/w SAP to Java using IDOC and Interface SAP Jco
Dear Experts,
The challenging requirement we are having is, we need to create the interface for data transfer between SAP system and the Java system. The data will be transferred from SAP to java and similarly once some processing done in Java again the details needs to be transferred from Java to SAP.
For this data transferred we are planning to use IDOC process and for interface "SAP Java connector (Version 3.0.5)" we are planning to use. As per our understanding, from Java side one program needs to be written to connect with SAP as "Registered program". This registered program will appear in SAP GATEWAY automatically and using tRFC, TCP/IP connection both SAP and Java system will be connected.
In this case we are having some doubts.
1. The data from SAP is going to be transfered from one Custom transaction (Z tcode). Once "Outbound IDOC" will get triggered and will carry the details. Now the doubt is, whether the data / details will get transfered to JAVA system automatically or we need to perform any other steps from SAP ABAP coding...(like converting in to flat file, XML file and etc) ??
2. We are planning to install "SAP Jco" in Java server. Is this correct...??
3. Other than SAP Jco any other softwares needs to be installed or not..??
4. Since we are going to trigger the "outbound IDOC" from custom transaction, we are planning to develope one program in SE37. Other than this any other program we need to develop or not..??
5. Any sample Java program for the SAP Jco version 3.0.5 to create the "Registered program" with SAP..? (e.g. SAP Listener program).?
If anybody has detailed steps or explanation please share it with us.
Thanks in advance
Warm Regards,
VELHi All,
For the above mentioned issue, we implemented JCo software in JAVA system and created the JAVA program including SAP logon credential details like Client, User name, password and Language details.
When this JAVA program was compiled successfully then, that non SAP system will appear in SAP gateway Tcode.
Once non SAP system started appearing in SAP gateway that means, both SAP & Non SAP are connected automatically.
Regards,
Velmurugan P -
Data transfer using ALE/IDOC into XML.
Dear All,
I have to transfer FI document data (FB01) from the sap system ,convert it into XML and dump it in 1 of the file servers.I want to do this using ALE/IDOC.Is it possible to do the same and how.Similarly i want to do the same for Vendor and Customer master i.e sending the data in XML format.
Kindly Suggest how do i go about doin the same..Its very urgent.Please help.
Thanks & Regards,
Lailu Philip.In continuation:
Example Purchasing & Selling scenario
We will develop a custom IDoc to carry the billing number from the Service Receivers system to the Service Providers system. We will populate the IDoc in a user exit on the sending side and we will process the transaction on the receiving side using a custom function module and a BDC transaction call.
No rule conversion, segment filtering or version conversion will be implemented in the model as described in Figure 1.
Requirements
Working ALE environment - See ALE Basis Configuration Guide;
ALE scenario design together with the business requirement;
Development access; and
ALE configuration access.
NOTES:
1. All IMG references to transactions are located in the transaction SALE which is the ALE portion of the IMG
2. This is one way of developing a scenario where no message control exists. If message control exist (EG. On purchase orders) then NAST can be used to call an outbound function module that would create the required IDocs.
3. Extensive knowledge of IDocs and ALE basis configuration is required in order to understand this guide.
2. OUTBOUND PROCESSING
2.1. Create IDoc type (WE30) Client independent
The IDoc type refers to the IDoc structure that you will require for your development. In our case the IDoc type is called ZINVRV01. This IDoc type will have 1 segment called Z1INVRV with 2 fields, LIFNR & XBLNR, in this segment. If you require many segments or nested segments then they are also created using the same procedure.
We will create the IDoc of the following structure:
ZINVRV01
Purchasing and Selling - Invoice receipt reversal
Z1INVRV P&S - Segment 1
Segment fields
LIFNR Vendor account number
XBLNR Reference document number
Figure 3: IDoc type ZINVRV01
To create the IDoc type, follow these next few steps:
Enter transaction WE30 (ALE -> Extensions -> IDoc types -> Maintain IDoc type)
Type in ZINVRV01 and click on Basic IDoc type, click the Create icon
Click on Create new (we are creating an IDoc from scratch but you may want to copy another IDoc if it is similar to your requirements) and enter a description, and press enter
Click on ZINVRV01 and then on the Create icon
Enter Z1INVRV as the segment type (must start with Z1), check mandatory if the segment must exist (in this case check it), enter 1 in minimum number and 1 as maximum number. (Make the maximum number 9999999999 if there are going to be many of these segments in each IDoc. IE. When line items are passed via IDocs), click on Segment editor
Enter a description for your segment type and create
Enter a description for your segment, enter each field required in your IDoc, in our case type LIFNR across for Field name, DE structure and DE documentation, repeat for XBLNR and press enter to validate.
Save and generate, press back
To release the segment choose Goto, Release from the menu
Check the box on the line of your new segment
Save, back and enter
Your IDoc type structure should be displayed with your new segment
Save and back
To release the IDoc type choose Extras, Release type from the menu and Yes
Your IDoc is now ready for use. If you need to add fields or segments to your IDoc type, you will need to cancel the release of the IDoc type as well as the segment release using a similar procedure followed above (except now you uncheck the release box for the segment and you choose cancel release for the IDoc type).
2.2. Create message type (WE81) Client independent
To create a new message type, follow these next few steps:
Enter transaction WE81 (ALE -> Extensions -> IDoc types -> Maintain message type for intermed. Structure -> Create logical message type)
Choose Create logical message type by double clicking on it
Click on change icon to enter change mode
Click on New entries to add a new type
Enter the required message type, in our case it is ZINVRV and an appropriate description
Save and exit.
Your message type has now been created. The next step will be to link it to the IDoc.
2.2.1. Link message to IDoc type (WE82 & BD69) Client independent
To link the message type to the IDoc type follow these next few steps:
Enter transaction WE82 (ALE -> Extensions -> IDoc types -> Maintain message type for intermed. Structure -> EDI: Message Types and Assignment to IDoc Types)
Click on change icon to enter change mode
Click on New entries to create the link
Enter the message type ZINVRV and the BasicIDoc type as ZINVRV01
Save and exit
Enter transaction BD69 (ALE -> Extensions -> IDoc types -> Maintain message type for intermed. Structure -> Assign message type to IDoc for ALE)
Click on change icon to enter change mode
Click on New entries to create the link
Enter the message type ZINVRV and the BasicIDoc type as ZINVRV01
Save and exit
Your IDoc is now linked to your message type. We still need to link object types and add the message to the model before we can use the message.
2.2.2. Maintain object type for message type (BD59) Client independent
The ALE objects are used to create links between IDocs and applications objects, to control the serialisation, to filter messages in the customer model and to use listings.
For our own message type and IDoc you must maintain object types for the links.
If you want to check the serialisation for the message type, then you must maintain object types for the serialisation. If no serialisation object has been maintained for a given message type, then the serialisation will not be checked for this message type.
To add an object type to our message type, follow these next few steps:
Enter transaction BD59 (ALE -> Extensions -> ALE object maintenance -> Maintain object types)
Type in your message type ZINVRV and press enter
Click on New entries
Enter your object type, LIFNR (We need to use the vendor as a filter object), the segment name where LIFNR resides, Z1INVRV, a number 1 for the sequence followed by the actual field name LIFNR
Save and exit.
You have now created an object that well use as a filter object in the customer model to direct the flow of messages to the various logical systems based on the vendors in the filter of the message type ZINVRV.
We now need to add our new message type to the distribution model.
2.3. Configuring the Distribution Model
This task is performed on your ALE reference client.
2.3.1. Manual Configuration (BD64) Client dependent
To manually configure the customer distribution model, read the ALE configuration procedure, and follow these steps:
Perform the Maintain customer distribution model directly function. (ALE -> Distribution customer model -> Maintain customer distribution model directly)
Specify the customer model you want to maintain and the logical system that is to be the sender of the messages OR create a new model. (Create model ALE with logical system ALELS1C400)
Choose the receiving systems to which the sending system must forward message type ZINVRV to.
For each receiving logical system allocate the message type necessary for communication to the receiving systems as per ALE configuration procedure.
Create filter objects (in our case LIFNR as the object type with the associated vendor number, 0000018001 with leading zeros, in the object area) for the message types.
Save the entries.
NOTES:
You cannot maintain a message type between the same sender and receiver in more than one customer distribution model.
Only the owner is authorised to modify the model.
To change the owner of a model, choose the 'Maintain ownership of customer distribution model' function. Make sure that all changes will be distributed to all systems that know the corresponding model. To do so, you can use the correction and transport system.
To transport the customer distribution model you should use the Distribute customer model function of the IMG as described below.
2.3.2. Distribute customer model (BD71) Client dependent
After the customer model has been created centrally, it must be distributed to the other remote systems. This entails first of all setting up the communication for the distributed systems and then sending the model.
2.3.2.1. Distribute Model (BD71) Client dependent
This task is performed on your ALE reference client. To distribute the customer distribution model, read the ALE configuration procedure and follow these steps:
Make the settings for the communication with the other decentral systems, you have not set them yet.
Define the RFC destination for R/3 connections whose names correspond to the name of the corresponding logical system.
Create the output partner profile.
Distribute the customer model
Specify the name of the customer model.
You must specify the target system to which you want to distribute the customer model.
You must repeat this function for every distributed logical system.
2.3.2.2. Maintain sending system partner profile (WE20) Client dependent
With this function, you define the partner profiles for all outbound and inbound messages on the basis of the customer distribution model.
After you have defined and distributed the customer model, you will have to maintain the partner profiles locally. To do this read the ALE configuration procedure.
Enter the output mode (background, immediately) and the package size for outbound processing.
Requirements
The customer model must be maintained.
RFC destinations must be maintained.
The customer model must be distributed.
To ensure that the appropriate persons in charge are informed if a processing error occurs, you must make settings in: Error processing Maintain organisational units.
2.4. Populate & distribute IDoc using ABAP
An IDoc consists of a control record with structure edidc and one or more data records with structure edidd. The control record contains the sender and recipient of the IDoc, as well as information on the type of message.
To be able to pass an IDoc to the ALE layer, you must set up a field string with structure edidc and an internal table with structure edidd. They are used to call function module master_idoc_distribute, which performs the save to the database and triggers the dispatch if necessary.
2.4.1. Example code
The code displayed below does the following:
populates our IDoc segment Z1INVR with the 2 fields XBLNR and LIFNR, populates the segment name and appends this to an internal table used to store the IDoc data;
populates the control record info with the message type and IDoc type; and
calls the MASTER_IDOC_DISTRIBUTE function module which distributes the IDoc as configured in the customer distribution model.
Data declaration statements
DATA: C_INVREV_SEGNAME(7) TYPE C VALUE 'Z1INVRV',
C_INVREV_MESTYPE(6) TYPE C VALUE 'ZINVRV',
C_INVREV_IDOC_TYPE(8) TYPE C VALUE 'ZINVRV01',
Z1INVRV LIKE Z1INVRV,
C_INVREV_DOCTYPE LIKE BKPF-BLART VALUE 'YY',
IDOC_CONTROL LIKE EDIDC,
T_COMM_CONTROL LIKE EDIDC OCCURS 0 WITH HEADER LINE,
IDOC_DATA LIKE EDIDD OCCURS 0 WITH HEADER LINE.
Move the document header into a structure
LOOP AT DOC_HEAD_TAB INTO DOC_HEAD.
ENDLOOP.
Move the document item data into a structure
LOOP AT DOC_ITEM_TAB INTO DOC_ITEM WHERE NOT ( LIFNR IS INITIAL ).
ENDLOOP.
Populate the IDoc segments field with the required data
CLEAR Z1INVRV.
Z1INVRV-LIFNR = DOC_ITEM-LIFNR. Store vendor number for filter
Z1INVRV-XBLNR = DOC_HEAD-XBLNR. Billing number
IDOC_DATA-SEGNAM = C_INVREV_SEGNAME. Segment name
IDOC_DATA-SDATA = Z1INVRV. Segment data
APPEND IDOC_DATA. Populate IDoc internal table
Move the control data info required for the distribution
IDOC_CONTROL-MESTYP = C_INVREV_MESTYPE.
IDOC_CONTROL-DOCTYP = C_INVREV_IDOC_TYPE.
Call the distribute function with the required parameters
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE' IN UPDATE TASK
EXPORTING
MASTER_IDOC_CONTROL = IDOC_CONTROL
TABLES
COMMUNICATION_IDOC_CONTROL = T_COMM_CONTROL
MASTER_IDOC_DATA = IDOC_DATA
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5.
Figure 4: Outbound processing example code
NOTE:
For debugging purposes, use transaction WE05 (IDoc overview) to see check your IDoc status, or to see whether an IDoc was created/
3. INBOUND PROCESSING
3.1. Create Function Module
This function module is called when a message type, of type ZINVRV, comes into the receiving system. This needs to be configured and is dealt with later in this section. The function module is passed the IDoc as a parameter.
Example parameters
Import parameters Reference field Opt Y/N
INPUT_METHOD BDWFAP_PAR-INPUTMETHD N
MASS_PROCESSING BDWFAP_PAR-MASS_PROC N
Export Parameters Reference field Opt Y/N
WORKFLOW_RESULT BDWFAP_PAR-RESULT N
APPLICATION_VARIABLE BDWFAP_PAR-APPL_VAR N
IN_UPDATE_TASK BDWFAP_PAR-UPDATETASK N
CALL_TRANSACTION_DONE BDWFAP_PAR-CALLTRANS N
Table Parameters Reference field Optional Y/N
IDOC_CONTRL EDIDC
IDOC_DATA EDIDD
IDOC_STATUS BDIDOCSTAT
RETURN_VARIABLES BDWFRETVAR
SERIALIZATION_INFO BDI_SER
Exceptions
WRONG_FUNCTION_CALLED
Example code
The code displayed below does the following:
populates a BDC table with the IDoc info;
calls the transaction via a BDC call; and
updates the IDoc status according to the BDC error status.
EXTRACT FROM: Z_IDOC_INPUT_ZINVRV
Declaration of local variables
DATA: C_SEGNAM(10) TYPE C VALUE 'Z1INVRV'.
*-Loop through the IDOCs
LOOP AT IDOC_CONTRL.
*---Loop through the data for the IDOC
LOOP AT IDOC_DATA WHERE DOCNUM = IDOC_CONTRL-DOCNUM.
CASE IDOC_DATA-SEGNAM.
WHEN C_SEGNAM.
Here we get the info from the idoc table
IT_Z1INVRV = IDOC_DATA-SDATA.
ENDCASE.
PERFORM REV_INV.
ENDLOOP.
PERFORM UPDATE_IDOC_STATUS.
ENDLOOP.
FORM REV_INV "Reverse invoice form
Local variables & constants
DATA: C_TCODE LIKE BKPF-TCODE VALUE 'VF11'. "BDC transaction code
Now we can build the bdc table to call the reversal transaction start of screen 109
CLEAR BDC_TAB.
BDC_TAB-PROGRAM = 'SAPMV60A'.
BDC_TAB-DYNPRO = '109'.
BDC_TAB-DYNBEGIN = 'X'.
APPEND BDC_TAB.
Document number
CLEAR BDC_TAB.
BDC_TAB-FNAM = 'KOMFK-VBELN(01)'.
BDC_TAB-FVAL = IT_Z1INVRV-XBLNR. "Billing document number
APPEND BDC_TAB.
OK Code for screen 109
CLEAR BDC_TAB.
BDC_TAB-FNAM = 'BDC_OKCODE'.
BDC_TAB-FVAL = 'SICH'.
APPEND BDC_TAB.
Now we can call transaction 'VF11' with the populated bdc table. The transaction is called inside the idoc-contrl loop, so a transaction will be called for every idoc (journal). the transaction is called in no-display mode ('N') because this code runs in background as it is called by ale. The update is specified to be synchronous ('S') because we have to wait for the result to update the idoc status correctly.
CALL TRANSACTION C_TCODE USING BDC_TAB MODE 'N' UPDATE 'S'.
Store the return code for use in another form (status update)
RETURN_CODE = SY-SUBRC.
Here we check the return code, if there was an error, we put the transaction in a bdc session for the user to review and correct.
IF SY-SUBRC NE 0.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
GROUP = 'ZINVRV'
USER = C_ALE_USER
KEEP = 'X'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = C_TCODE
TABLES
DYNPROTAB = BDC_TAB.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
ELSE. "No problems
C_EXISTS = 'N'.
Select from the billing document table to get sales doc number
SELECT * FROM VBRP WHERE VBELN = IT_Z1INVRV-XBLNR.
Select from the sales document table to get user status number
SELECT SINGLE * FROM VBAP WHERE VBELN = VBRP-AUBEL AND
POSNR = VBRP-AUPOS.
Select from the status table to change the user status to pending
SELECT * FROM JEST WHERE OBJNR = VBAP-OBJNR AND
STAT LIKE C_USER_STATUS.
IF JEST-STAT = C_US_PENDING. "User status is pending
JEST-INACT = C_UNCHECKED. "Make pending the active status
UPDATE JEST.
C_EXISTS = 'Y'. "I.E. An entry is already in table
ELSEIF JEST-INACT = C_UNCHECKED AND JEST-STAT NE C_US_PENDING.
JEST-INACT = C_CHECKED. "Make everything else inactive
UPDATE JEST.
ENDIF.
ENDSELECT.
IF C_EXISTS = 'N'. "I.E. Pending has never been a status before
JEST-OBJNR = VBAP-OBJNR.
JEST-STAT = C_US_PENDING.
JEST-INACT = C_UNCHECKED. "Make pending the active status
INSERT JEST.
ENDIF.
ENDSELECT. "Select from VBRP (Billing document table)
ENDIF.
ENDFORM. " REV_INV
FORM UPDATE_IDOC_STATUS.
Now we check the CALL TRANSACTION return code and set IDOC status
CLEAR IDOC_STATUS.
IF RETURN_CODE = 0.
WORKFLOW_RESULT = '0'.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-UNAME = SY-UNAME.
IDOC_STATUS-REPID = SY-REPID.
IDOC_STATUS-MSGTY = SY-MSGTY.
IDOC_STATUS-MSGID = SY-MSGID.
IDOC_STATUS-MSGNO = SY-MSGNO.
IDOC_STATUS-MSGV1 = SY-MSGV1.
IDOC_STATUS-MSGV2 = SY-MSGV2.
IDOC_STATUS-MSGV3 = SY-MSGV3.
IDOC_STATUS-MSGV4 = SY-MSGV4.
RETURN_VARIABLES-WF_PARAM = 'Processed_IDOCs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
ELSE.
WORKFLOW_RESULT = '99999'.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-UNAME = SY-UNAME.
IDOC_STATUS-REPID = SY-REPID.
IDOC_STATUS-MSGTY = SY-MSGTY.
IDOC_STATUS-MSGID = SY-MSGID.
IDOC_STATUS-MSGNO = SY-MSGNO.
IDOC_STATUS-MSGV1 = SY-MSGV1.
IDOC_STATUS-MSGV2 = SY-MSGV2.
IDOC_STATUS-MSGV3 = SY-MSGV3.
IDOC_STATUS-MSGV4 = SY-MSGV4.
RETURN_VARIABLES-WF_PARAM = 'ERROR_IDOCS'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
ENDIF.
APPEND IDOC_STATUS.
ENDFORM. " UPDATE_IDOC_STATUS
Figure 5: Inbound processing example code
3.1.1. Debugging inbound FM
Use transaction WE19 to test inbound function module in debugging mode. Also use WE05 to view the IDocs and their statuses.
3.2. Maintain ALE attributes
The inbound function module needs to be linked to the message type and the message type needs to be linked to the appropriate inbound process code at the partner profile level before the scenario is enabled. These steps are described below in detail.
3.2.1. Link Message Type to Function Module (WE57) Client independent
To link a message (ZINVRV) type to a function module (Z_IDOC_INPUT_ZINVRV) follow these steps:
Enter transaction WE57 (ALE -> Extensions -> Inbound -> Allocate function module to logical message)
Select an entry (EG. IDOC_INPUT_ORDERS) and copy
Type in module name Z_IDOC_INPUT_ZINVRV
Type in basic IDoc type as ZINVRV01
Type in message type as ZINVRV
Type object type as IDOCINVOIC (Invoice document) - Used for workflow
Direction should be set to 2 for inbound
Enter and save
3.2.2. Define FM settings (BD51) Client independent
Enter transaction BD51 (ALE -> Extensions -> Inbound -> Define settings for input modules)
Click on New entries
Type in the name of the new function module Z_IDOC_INPUT_ZINVRV
Enter 0 for mass processing in the output column
Save and Exit
3.2.3. Maintain process codes (WE42) Client dependent
A process code needs to be maintained on each client. It then needs to be linked to the message via the partner profiles on each client. This allows the various clients to use a unique function module for the same message type.
To maintain the process code follow these steps:
Log on to the appropriate receiving system client
Execute WE42 (ALE -> Extensions -> Inbound -> Maintaining process codes inbound)
Choose Inbound with ALE service
Choose Processing with function module
Click on Processing with function module and choose create icon
Click on New Entries
Type in process code ZINR and give it a description and save
Now you are asked to Please maintain codes added in ALE entry methods, enter and choose Z_IDOC_INPUT_FIRVSL and copy it. You should choose a FM similar to your one.
Enter your process code ZINR
Enter your function module Z_IDOC_INPUT_ZINVRV
NOTE: The next 6 steps are used in workflow error handling.
Enter IDPKFIDCMT in object type
Enter MASSINPUTFINISHED in End event
Enter IDOCINVOIC in IDoc object type
Enter INPUTERROROCCURREDFI in IDoc start event
Enter INPUTFINISHEDFI in IDoc End event
Enter IDOCINVOIC in Application object type
You will need to determine the task associated with object IDOCINVOIC, and then assign the appropriate position to it. This position will then receive the application error messages via workflow.
To set up the workflow area please consult the Workflow config guide.
3.3. Create inbound partner profile
For each message type you need to maintain the inbound partner profiles.
3.3.1. Maintain receiving system partner profile (WE20) Client dependent
To maintain inbound partner profiles read the document ALE configuration procedure:
Add the message type ZINVRV with process code ZINR.
Enter the output mode (background, immediately) for inbound processing and NO message code.
Enter the position S and choose the ALE administrator 50000085. This position will then receive all the technical ALE errors via workflow.
3.4. Test
Once the inbound function module has been debugged the scenario should be ready to test in its entirety. If problems occur, read through the relevant areas of this document to check your configuration or code.
Hope this will help you,
If you want me to explain more, you can give me your email id.
Reward with points incase you are satisfied.
Regards,
Sushama -
Data transfer between SAP & Java and Vice versa using IDOC Process
Dear Experts,
We are working on one of the good requirement related to data transfer between SAP and Java software. Client requirement is, they want to transfer the data in both the ways (from SAP --> Java and Vice versa also).
In detail is, after sales order creation using one custom program loading plan details will be calculated. Once loading dates are confirmed then, user will release the sales document to transfer the data from SAP to Java using "Outbound IDOC processing". Similarly in that JAVA software some shipment details will be performed, once completed from JAVA software again details needs to be pumped back to SAP as "Inbound IDOC Processing".
For this fields are already identified from external software SAP and we are looking for the same to perform the steps in SAP.
At this stage, I need your expert opinion / feedback how to go about at this stage.
Meaning,
1. What are the customizing steps needs to be done in SAP..?
2. How to trigger the :Outbound IDOC process" once the documents are "Released" from custom transaction
3. How to create the link between SAP and JAVA to transfer the data between these 2 software
4. How to trigger the "Inbound IDOC Process" from JAVA software to SAP and how to store the data in SAP
Experts, please give your feedback in terms of reply or by sending the step by step process to fulfill this client requirement.
Thanks for your cooperation.
Regards,
RameshMaybe too many open questions in the same document.
Maybe you should repost a more specific question in a technical forum.
This looks like a small project where you already know what you want, maybe you should contract a technical specialist so he proceeds to the implementation! -
Hi All,
Can any one please explain me about "Data transfer with IDoc".Dear Prasad,
Using the IDoc option , you will not have a staging in BW like PSA were you can do corrections if required,
We can use IDOC option when we are very sure that data we are loading is error free,
and in older versions we are forced to use only IDOC option when doing hierarchy loads and its ruled out now,
Data transfer with IDoc
The data is packed into IDocs by the source system and sent to the Business Information Warehouse. In BW your data is saved persistently and intransparently in the IDoc store. From there the IDocs can be updated in the IDocs manually or automatically.
It is used for hierarchies load Limitations with IDoc is:
transfer structure must not have more than 1000 Bytes in the character format.
If it is a critical data we can use IDocs it can't be modified here. In case the load fails we need to load data from source system.
http://help.sap.com/saphelp_nw04/helpdata/en/7d/724d3caa70ea6fe10000000a114084/frameset.htm
Hope this helps u..
Best Regards,
VVenkat.
Edited by: Venkata Narayana Jakkampudi on Dec 23, 2008 12:03 PM -
Data Transfer using LSMW IDOC processing with multiple segments
we need to post the document data (Header structure, BP item structure, G/L item structure..etc) using LSMW IDOC processing.
is it possible to transfer data for all these structures (Segments) in single file?Thanks for the reply.
I am assuming when we are specifying the file in LSMW we are going to give the option to generate the file with include all structures.
could you please elaborate further is there any thing specific we need to do while configuring LSMW to get the file for all segments in the IDOC with field names which we are going to populate with data, so that we can use it for data transfer.
any help document will be helpful. -
Creat Job for LSMW (periodical data transfer)- idoc BLAORD
Hi,
We are trying to create job for LSMW (thru frame program for periodic data transfer) for idoc BLAORD (Purchasing contract)
When I am running the job that I created, the job is cancelled and the error is:
"Upload from front-end is not possible in batch mode.
Message no. /SAPDMC/LSMW_OBJ_070 020"
How can I correct that? so I will be able to run a job (the job mast run background?)
Thanks,
Tal SassonHello,
I was also receiving the same message /SAPDMC/LSMW_OBJ_070 020 even though I specified in /SAPDMC/SAP_LSMW_INTERFACE the server path. The problem was that in LSMW->Specify Files you have to delete the definition of front-end files and define application server files.
That Flag File (Path and Name) (field /SAPDMC/LSOINP-FILENAME in program /SAPDMC/SAP_LSMW_INTERFACE) is kind of useless since it is ignored anyway and files defined in LSMW object are imported and they have to be read anyway if you use more than one file.
Regards,
Peter -
IDoc based asychronus data transfer
Hello Experts,
IDoc based asynchronus data transfer from a non-SAP application to BW is required to be set up.
I understand that SOAP based XML data transfer will achieve the same goal - however our requirement is to use IDocs. It would essentially be a push type of extractor sending data to BW asynchronusly.
Has anyone tried this before? Please share your experiance/ideas.
Thanks,
Yogesh
Message was edited by: Yogesh Baviskaryou will have the option when you create the infocube. select "Data transfer wth Direct Access" option. Then you create the DTP by giving the data source details.Once you have created the DTP, right lick on cube and select activate direct access.
-
ISSUE:regarding production version tab of MRP4 of data transfer using BD10
Hi all,
This is regarding production version tab of MRP4 of data transfer using ALE idoc (BD10).
When i transfer the data using BD10 the production version is received at receiving end through segment
but not created in MRP4 view tab.An error is coming as-
"You wanted to maintain the master record of the material AB_06.04.09(2). However, it is already being processed by the user EBGABAP and is therefore locked."
I logged in as-EBGABAP
Please help me resolve the issue.
Thanks
Edited by: sanu debu on May 6, 2009 11:08 AM
Edited by: sanu debu on May 6, 2009 11:09 AM
Edited by: sanu debu on May 6, 2009 11:11 AM>
sanu debu wrote:
> Hi,
> I have to upload production version tab data of MRP4 view(MM01).Please suggest a function moduleor bapi for the same.
>
> Thanks.
>
> Edited by: sanu debu on May 6, 2009 3:24 PM
BAPI_MATERIAL_SAVEDATA can be used, populate the respective fields in input parameter PLANTDATA -
ALE data transfer in E-recruiting
hi All,
We are Implementing E-recruitment in HCM.
I have following 2 requirements
Case 1). Distribute data of infotypes 0000,0001,0002,0006,0022,0023,,0024,1000 and 1001 into ER(E-recruiting) from my HCM (ECC) system. This i have achieved using message type HRMD_A and setting up ALE as per standard guidelines.
Case 2) i have to transfer Candidate data which gets created in E-recruitment server back into HCM(ECC) server(reverse of case 1) and stored them in infotypes 0000,0001,0002,0006,0022,0023 and 0024. How this can be achieved ??
is there any standard way i mean IMG configuration or ALE setup to transfer this data back into HCM (ESS) server?? or any BAdis or BAPIss??
kindly suggest me some solution if anyone of you have encountered the same situation in past. The final solution i m thinking is of creating custom basic IDOC type, message type and custom programs for inbound and outbound processing but before doing this i just wan to have a confirmation that there is no standard way of doing this...
Thanks in advance..Hi.
There is a standard activity in e-Recruiting "Data Transfer for New Employee" which transfer the Candidate data from e-Recruiting to HCM system in temprary table T752F. when you hire this candidate from PA48 all transfer data will get stored in respective Infotype of SAP HCM system..
Thanks,
Madhu -
Iam able to do tutorials for Direct input and batch input method.I tried doing BAPI and IDOCs too.The point where Iam getting strucked is with flat file.
For example If i want to transfer Purcharse order or vendor master information,I need to put valid data in text file.Lets say for material master, the valide material type is 'XYZ',if i put '123' in flat file,it throws the error that 123 is not valid material type(during the session processing).So I need to put only valid data in the flat text file.How to go about this?
Hope you understood my question.
Another question is that does ALE deals with creating segments.In my understanding
LSMW is a tool which helps in data transfer with following ways
i)Direct input method
ii)Batch input method - recording
iii)BAPI - using built in business objects
iv)Idcos - using inbout idoc processing where we create ports.
BDC is another tool like LWMW,where the ways are call transaction and session.
Is what I understood correct?Any changes?Hi Gopi
For the First Question:
We should always havea valid data in the input file for successful processing. otherwise by very nature of the program the LSMW throw an error saying that the data is invalid and I believe that this is the functionality that is required.
I am not sure abt ALE part
BDC is not a tool in SAP but its a programming done which is similar to the recording method in LSMW. instead of Autmatic generation of the code we write a custome code to upload the data using the recording done either by call transaction or session method. in short its not a tool but one kid of programming logi to upload the data.
Santosh -
Data Transfer Issue from R/3 Prod to BW Prd
Hello All,
We have recently connected our BW PRD system to R/3 PRD system.
During data transfer its giving an Message " Error Opening an RFC Connection"
So we have to go to the Transact RFC mode & Forcefully transfer the data.
we have given below profiles to the ALEREMOTE & BIWREMOTE users in R/3 & BW
SAP_ALL, SAP_NEW, S_BI-WHM_RFC, S_BI-WX_RFC, S_RS_ALL
Any thing is missing, please let us know
Regards
LalanHi,
If you are using SAP R/3 Plug-In 2004.1
For BIWREMOTE profile S_BI-WHM_RFC (Business Information Warehouse, RFC user in the Warehouse) is sufficient to extract the data.
For ALEREMOTE profile SAP_ALL covers all authorizations.
Check following configurations for both systems
RFC connections
ALE settings
Partner profiles
Port
IDoc types
IDoc segments
BW settings
All the above configuration is fine, still you are facing same problem check the OSS note: 150315
Regards,
RC
Maybe you are looking for
-
To remove the cancelled Billin doc from VFX3
Hi all, We have a cancelled billing doc in VFX3. This is because the accounting document is not generated for the same due to some foreign exchange value mismatch as the biiling doc was created in one month and cancelled in another month. So credit m
-
Is this a Bug or Feature?
I would not expect this to work at all, but it does: CREATE TABLE WDD.TABLE_1 ID_1 NUMBER NOT NULL CREATE TABLE WDD.TABLE_2 ID_2 NUMBER NOT NULL SELECT TAB.ID_1, TAB.ID_2 FROM TABLE_1 TAB, TABLE_2 TAB WHERE TAB.ID_1 = TAB.ID_2 I guess that it works b
-
Connecting multiple NMEA sources to a single system
Hi, I am trying to interface multiple NMEA sources in my system, my Labview program hangs after sometime if I do not have provision for resetting it manually Pls help me out
-
Order number In FI DOC of MIGO against Service PO.
Hii MM experts, when i do Standard PO with Acc assignment K, then after MIGO , order number is displayed in FI DOCUMENT. but when i do Service PO with Acc. assign. K , then in FI doc of MIGO (material document) , order number is not di
-
Had forgotten administrator password on hp. Mini 210-1000 no reset disc
Hp mini 210-1000 windows 7 service pack 1 32 bit operating system windows activated. Workgroup. Product I'd . 00342-OEM-8992752-30008 loc I'd 1033