Deleting a segment in an IDOC - ABAP - IDOC Scenario
Hi All,
I stuck at one issue..when we send delivery shipment notice through EDI..it takes output type "YSH1'. whenever in line item category is 'YPLC' the idoc sending failure..
So the requirement is whenever output type is 'YSH1' and item category is 'YPLC'..the IDOC segment should be delete at runtime...
So...Let me know Is there any Function Module to delete the IDOC particular line item segment E1EDL24..in the EXIT .."EXIT_SAPLV56K_002".
If there is not any function module please let me know how to delete the segment at runtime...
Please Help me ASAP..
Thanking you all
Surya
Message was edited by:
Suryakant Baranwal
Hi Sivaparvathi
I am really so thankful to you for your suggestion..
Please guide me how do I make changes in RBDOUTPU program which make possible to delete the particular one segment or more than one segment according to item category of line item data.
I am manipulating data in EXIT 'EXIT_SAPLV56K_002' and the data is filled in the IDOC before processing of this EXIT ..in the function module 'IDOC_OUTPUT_DELVRY' ..Please correct me if my understanding is wrong..
So how do i delete the existing segment of IDOC in this USEREXIT...
Please help me...
Thanking you
Suryakant Baranwal
Similar Messages
-
How to delete E1EDP19 002 segment frm the inbound ORDERS IDoc?
Hi ABAP/EDI experts,
I am implementing an User exit related to inbound Sales order EXIT_SAPLVEDA_001.
Most of the time my IDocs contain the below segments.
E1EDP19 001 (QUALF = '001')
E1EDP19 002 (QUALF = '002')
Sometimes, IDoc contain only E1EDP19 001 (QUALF = '001') segment.
My problem is whenever i have two E1EDP19 segments, i want to delete the 1st E1EDP19 segment and retain the second E1EDP19 segment.
Can anyone tell me the pseudocode for deleting the 1st E1EDP19 segment from the inbound orders IDoc.
Am i using the correct user exit??
Thanks,
Creasy Matt
Edited by: Creasy Matthew on Jan 22, 2009 12:56 AMHi Matt,
You can loop on idoc_data internal table. This table will be having all the data and the segments.
data: l_count type i value 0,
l_tabix type sy-tabix.
LOOP AT idoc_data WHERE docnum = idoc_contrl-docnum.
CASE idoc_data-segnam.
WHEN e1edp19.
l_tabix = sy-tabix.
l_count = l_count + 1.
if l_count = 2.
l_tabix = l_tabix -1.
delete idoc_data index l_tabix.
endif.
ENDCASE.
ENDLOOP.
I hope this will work.
Please let me know if any issues. -
Reg: Deleting a segment of an IDoc
Hi Experts,
We have created an extension to IDoc (added a Z segment) in 4.7 ERP and transported to the ECC 6.0.
I want to delete the segment in ECC 6.0, which we extended in 4.7.
I believe one way is to delete the segment in 4.7 and export the transport from 4.7 and import into ECC 6.0
Please let me know the ways to delete the segment from the IDoc in ECC 6.0.
Regards,
Venu VHi Karthik,
Thanks for the replay. I want to delete the IDoc extension (a z segment added to the basic type by using we30) in SAP ECC.
There is a option of delete in we30. Can i use the same tcode to delete the extn of IDoc? or any other ways are there to delete the ZSEGMENT added to the basic type?
Regards,
Venu V -
HTMLError in sxmb_moni, Idoc to ABAP Proxy Scenario
Hi Friends
I am trying to send data from R3 to SCMTM system(SAP System), via Idoc to ABAP Proxy Scenario ,I am getting the following under HTMLError in sxmb_moni
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
<SAP:P1>400</SAP:P1>
<SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2>
<SAP:P3>(See attachment HTMLError for details)</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Error while receiving by HTTP (error code: 400, error text: ICM_HTTP_CONNECTION_FAILED) (See attachment HTMLError for details)</SAP:Stack>
<SAP:Retry>A</SAP:Retry>
</SAP:Error>
Any ideas will be helpful.Hi,
I faced similar problem. it was due to configuration problem in SXMB_ADM. corss check specific server confiration in SXMB_ADM.
/people/krishna.moorthyp/blog/2006/07/23/http-errors-in-xi
Regards,
Reyaz -
PI : Idoc to JDBC scenario : repeating segments mapping issue
Experts
Please help.
Question reg. mapping for ECC idoc to JDBC scenario.
I am using the ORDRSP idoc which has multiple segments as below.
IDOC -> multiple E1EDK14 segments with 2 fields (QUALF and ORGID)
Depending on the value of the QUALF field i need to populate the column in my target structure.
QUALF 001 => Colmn a
QUALF 002 => Colmn b
For now my graphical mapping is very simple - QUALF => column a (done just to find out how PI mapping works)
What happens in my case, is the PI Payload shows all the E1EDK14 segments however only the value 006 present in the first occurence goes into the target column.
How do I repeat a mapping between QUALF and target col. for multiple occurences of the same segment?
Please can you guide me reg. use of context, loop over segment, UDF = which will be the best solution to achieve this?Hi
My mapping is as below. I will take an example of a sales order that has 2 line items 00010, 00020. The payload is as follows
I see this payload in the SXMB_MONI transaction => Receiver grouping => Payloads
- <ZORDRES>
- <IDOC BEGIN="1">
+ <EDI_DC40 SEGMENT="1">
+ <E1EDK01 SEGMENT="1">
+ <E1EDK14 SEGMENT="1">
<QUALF>006</QUALF>
<ORGID>01</ORGID>
</E1EDK14>
+ <E1EDK14 SEGMENT="1">
<QUALF>007</QUALF>
<ORGID>01</ORGID>
</E1EDK14>+ <E1EDK03 SEGMENT="1">
+ <E1EDK03 SEGMENT="1">
+ <E1EDK03 SEGMENT="1">
+ <E1EDK03 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDKA1 SEGMENT="1">
+ <E1EDK02 SEGMENT="1">
+ <E1EDK02 SEGMENT="1">
+ <E1EDK17 SEGMENT="1">
+ <E1EDK18 SEGMENT="1">
+ <E1EDK18 SEGMENT="1">
+ <E1EDP01 SEGMENT="1">
<POSEX>000010</POSEX>
+ <E1EDP01 SEGMENT="1">
<POSEX>000020</POSEX>
</E1EDP01>+ <E1EDS01 SEGMENT="1">
<SUMID>001</SUMID>
<SUMME>2</SUMME>
</E1EDS01>
+ <E1EDS01 SEGMENT="1">
<SUMID>002</SUMID>
<SUMME>1100.00</SUMME>
<SUNIT>GBP</SUNIT>
</E1EDS01>
</IDOC>
</ZORDRES>
There are 2 problems. First one which I discovered after posting the query. I can see only the line item 10 in the query that gets contructed in PI to insert the data into the target jdbc table. Please see jdbc receiver communication channel log below
If you see above there are 2 E1EDP01 segments for line 00010, 00020.
INSERT INTO tblOItem (IDocDate, IDocTime, SalesOrderNo, ItemNo, Plant, ItemCategory, UnitSellPrice, QuantityOrdered, QuantityAllocated, ScheduledDeliveryDate) VALUES (20111206, 135530, 0015002085, 000010, 0086, ZTAN, 0.00, 1.000, 1.000, 20111201)
My source and target mappings are as below.
ZSALORD
IDOC
BEGIN
E1EDK01
E1EDP01
POSEX =============> SalOrdItm table column itemno
My target side structure (idoc to jdbc scenario is as follows)
I have mapped the E1EDP01 to Statement - I thought this will build one query per line item (per occurence of E1EDP01) but this is not working.
MT_OITEM
Statement
dbtablename ============> SalOrdItm
action =================> Insert
table
access
Itemno (this is one of the columns from the table)
The occurence of E1EDP01 is 0..9999999 while the occurence of Statement node is 1...unbounded.
Please is there any email address where I can send you screen shots if the above is not clear.
I need to get this interface delivered as soon as possible but am STUCK.
Edited by: gary jojo on Dec 6, 2011 3:06 PM -
Some segments are missing in the idocs for master data zdebmas
hi guru's,
can any one hlep me here we facing the probelumm
some segments are missing in the idocs for master data zdebmas
, there is some issue on the generation of the Site Master IDoc (Message type: ZDEBMAS, Basic type: DEBMAS06).
This is using the SAP standard program (RBDMIDOC) which reads the Site master change pointers.
There is some segments below is missing in the IDoc:
how to chcek this probelumm...hi
i got the function module. it is triggerig whne i do changepointer running.
what ever changes i made only that segments are onlycomming in to the idoc. but remaing segments are not comming.
my req is to show all segments even if i do changes in one segmet fields dont change theay have send to the interfece all athe segments.i ahve to do some enhancemetns for that
can u plse help me the login or any function module which will fill the alla the segmetns . -
Add segment in Idocs Error Idocs Document date 00.00.0000 is incorrect in item
Hi every body ,
I have the idocs WMMBXY with error <Document date 00.00.0000 is incorrect in item >
because one segment is missing E1MBXYH in this idocs
How can i add this segment <E1MBXYH > to process my idocs
Thank youThank you for your feedback
Now i have add the segment E1MBXYH and the date wich was missing , i prossec l'idoc in forground , and i have an other error <<Please check table 158 : entry WE19 does not exist>>
here the screen shot , did you know how i can solve this ??. -
Hi ,
I am doing an IDOC to IDOC scenario. Idoc from source system is successfully sent to xi and xi is able to delivery the idoc to the target system. When the idoc is posted to target system the status is 64 IDoc ready to be transferred to application. When I run the RBDAPP01 report it is giving me dump. Find below the dump
Can any one throw some light on it please?
Runtime Errors GETWA_NOT_ASSIGNED
Date and Time 28.09.2007 09:28:27
Short text
Field symbol has not yet been assigned.
What happened?
Error in the ABAP Application Program
The current ABAP program "SAPLHRALX00_INTEGRATION_PERSON" had to be terminated
because it has
come across a statement that unfortunately cannot be executed.
Error analysis
You attempted to access an unassigned field symbol
(data segment 32785).
This error may occur if
- You address a typed field symbol before it has been set with
ASSIGN
- You address a field symbol that pointed to the line of an
internal table that was deleted
- You address a field symbol that was previously reset using
UNASSIGN or that pointed to a local field that no
longer exists
- You address a global function interface, although the
respective function module is not active - that is, is
not in the list of active calls. The list of active calls
can be taken from this short dump.
Trigger Location of Runtime Error
Program SAPLHRALX00_INTEGRATION_PERSON
Include LHRALX00_INTEGRATION_PERSONF52
Row 486
Module type (FORM)
Module Name IDOC_CONVERT
Source Code Extract
Line SourceCde
456 add_idoc_msg ct_idoc_errors <ls_segment>-docnum <ls_segment>-segnum gc_idoc_warn
457 'RH_ALEOX_INTG_CP_IDOC_1' 'IDOC_CONVERT/MAPPING'.
458 CLEAR <ls_segment>-segnam.
459 CONTINUE.
460 ENDIF. "mapping
461
462 ELSEIF <ls_e1pad31>-sclas = gc_quali AND
463 <ls_e1pad31>-otype = gc_pernr AND
464 <ls_e1pad31>-relat = gc_q_cp_subty+1.
465
466 <ls_e1pad31>-otype = gc_cpers.
467 <ls_e1pad31>-objid = <ls_mapping>-objid.
468
469 PERFORM idoc_convert_1001_q USING <ls_segment>
470 CHANGING et_e1p1001_q
471 et_refobj_q.
472 PERFORM idoc_convert_5586 CHANGING <ls_segment>.
473
474 ENDIF.
475 * -
476 WHEN gc_e1p0000.
477 * -
478 PERFORM idoc_convert_pa_infty USING gc_cpers
479 <ls_mapping>-objid
480 '5580'
481 space
482 <ls_mapping>-begda
483 'E1P5580'
484 CHANGING <ls_segment>.
485 * -
>>>>> WHEN gc_e1p0001.
487 * -
488 APPEND <ls_segment>-sdata TO lt_segment_0001.
489 PERFORM idoc_convert_pa_infty USING gc_cpers
490 <ls_mapping>-objid
491 '5581'
492 space
493 <ls_mapping>-begda
494 'E1P5581'
495 CHANGING <ls_segment>.
496 * -
497 WHEN gc_e1p0002.
498 * -
499 APPEND <ls_segment> TO lt_segment_0002.
500 PERFORM idoc_convert_pa_infty USING gc_cpers
501 <ls_mapping>-objid
502 '5582'
503 space
504 <ls_mapping>-begda
505 'E1P5582'
Thanks
MohammadHi Mohammad
you should post in the ABAP forum, there is a quick, good answer expectable.
Regards,
Udo -
Why we dont need sender agreement and comm channel in IDOC to file scenario
Hi,
there are 2 queries:
first query :
Scenario is "Idoc to file transfer"
why we dont need sender agreement and communication channel for IDOC to file ,while we do need
both of these for "File to RFC "
Answer : which i got is because IDOC sits at ABAP stack but same is valid for RFC also.
Then why For "IDOC to file" we dont need that.
Second query:
Also when i did scenario for File1-RFC-File2 scenario using BPM i have created a interface
between XI-RFC synchronous to send data which we got from file1 in XI to RFC importing parameter
and getting data from RFC back to File2.
Here in IDOC to file scenario why we dont need any interfface for IDOC-XI Asynchronous.
Regards,
Mayank
Edited by: mayank verdia on Jan 13, 2009 11:49 AM
Edited by: mayank verdia on Jan 13, 2009 11:50 AMDear All,
For file to idoc scenario is there any possibility to get line items details or xml details i.e the segments and its related field details using reference id, transaction id or interface name or message id in SAP PI 7.0. I know we need to click each and every message in sxi_monitor and look for details.
For SAP(R3 System) I can create a report and set the job for specific time period so automatically it throws the details(like reference no, document date, invoice no from) in ftp path as .csv file. The same ftp path is maintained in program.
I wanted to check FTP--->PI postings and I have set the job at r3 system it is working fine and Im monitoring it too.
Now the end to end scenario is FTP--->PI--->ECC(R3 system). Please help.Many Thanks. -
Idoc-xi-rfc scenario random fails to be processed
Hallo all .
Let me first describe our scenario.
Generally it is an IDOC - > XI -> RFC case.
Idocs are created after an order creation .
In XI there are two different mappings, depending on the idoc structure (the IDOC type is the same, but the segments created are different) and two different receivers, each one with an individual communication channel. Each channel is allowed to have up to 200 multiple simultaneous connections .
Then, each functions decides whether the inbound data is appropriate for it and processes it or not .
Our problem is this :
If we send a bunch of orders (eg 100), all of them are processed successfully except of some of them, (eg 4 ).
In the SXMB__MONI, they are all marked as "waiting for acknowledgment" .
Yet, there is no obvious reason for their failure.
If we send again the failed orders, then 3 of them may be processed.
And finally if we send them again even the last one will be processed.
So, from what I can see, this problem cannot exist due to the data we send, or the XI configuration, or the functions that are finally called. Actually, it seems to be absolutely random.
Any suggestions would be highly appreciated .
Edited by: John Syrigos on Dec 30, 2008 6:08 PM
Some clarifications : The business scenario is to handle the ORDER idocs that created in the SAP ERP system from SD (Outbound Deliveries) or the Stock Transport Orders (Outbound Deliveries). The problem for the created IDocs is that if the outbound delivery is coming from SD then for each line item of the sd document fills the segment A for example and if the outbound delivery is coming from the Stock Transport Order then fills another IDOC segment for example B. For this reason we decide to create two separate interface mappings in order to send each IDOC in both of the Function Module that handle which of them will be executed. In the daily order processing the user every afternoon use a standard SAP ERP transaction and collect all the outbound deliveries and create for the collectively the appropriate IDOCs. We suppose the mass processing will create some problems.
Thanks in advancehi,
one simple advice (less then one day) would be to change
>Generally it is an IDOC - > XI -> RFC case.
either to:
Generally it is an IDOC - > XI -> ABAP proxy case.
or if this is not abap proxy enabled receiver system to:
Generally it is an IDOC - > XI -> IDOC case.
if you already have a working RFC then changing it to and IDOC
and changing a mapping is less then one day and in both cases
abap proxy and IDOC you will have a clear status and LOG!
(as both IDOCs and ABAP proxies are persistent in receiver system)
this is the best possible option I believe and nothing will get lost for sure
Regards,
Michal Krawczyk
http://mypigenie.com XI/PI FAQ -
Delete a segment in the IDOC_DATA.
Hi,
i'm sending an outbound 856(IDOC type DELVRY03).
In this,
if the E1EDL26 - PSTYV = ZPAR,
I need to delete the entire information related to that particular line item meaning.. all child segments under the segment E1EDL24.. (because I don't want the material with this item category to go to the customer.)
but I'm confused on how to do it as.. by the time I read the E1EDL26 - PSTYV, i would already have the E1EDL24 segment in my IDOC_DATA. So I need to go back and delete it..
Can someone help me with this.
<promise removed by moderator>
Thanks for all for your help!
Edited by: Thomas Zloch on Mar 8, 2011 9:44 PMHi Ravindra,
Define one global variable for flag. When your condition get satisfied set this flag = X.
Then in your user-exit in for segname = E1EDL20 delete other segments when flag = X.
case sgname.
when E1EDL20
if flag = X.
loop idoc_data and delete the segments which you would like to delete.
endcase.
Regards
Sachin
Edited by: sachin G patil on Mar 9, 2011 1:55 PM -
Hi Experts,
I need help from you all as i struck in idoc to idoc scenario.
i need to send the idoc from source system(R/3) to target system SAP(APO).
Please guide me what all the steps to be followed.
i need to send the same idoc to target.hi,
[Re: IDOC to IDOC Scenario;
also a sample scenario wid steps as follows :
Description:
In this scenario we are sending an IDOC from an R/3 system to the IDOC in other R/3 system through XI.
XI Details:
Integration Builder: Design
Component Name : SAPNW of sapnw
Namespace : urn: idoc2idoc
Integration Builder: Configuration
Scenario Name : IDoc2IDoc
Business System : SAP01 (Cgnsap 01 System)
SSI (Cgnsap 13 System)
Communication Channels:
1) No Sender Channel is required as we are using IDOC.
2) CC_OUT_IDOC_MATMAS05 [Send the data from Xi to CGNSAP01].
Transaction Codes Used:
SM59- To Create RFC Destinations
WE21- To Create IDoc Ports
SALE- To Create Logical System
WE20- To Create Partner Profiles
BD64- Display Distribution Model
WE19- To Trigger an IDoc
IDX1- Port Maintenance in IDoc Adapter
IDX2- Metadata Overview for IDoc Adapter
Processing Steps:
Source Side Configuration: CGNSAP13 (SAP R/3)
IDOC used: MATMAS.MATMAS05
Using Transaction Code WE19 we can see the structure of IDOC (MATMAS05), which we are using
Go to Transaction Code WE19 and enter the name of IDOC in Basic Type and execute
Click on the Segment data and then a screen will come in which the data of IDOC is entered
Creation of RFC Destination:
1. Create RFC Destination: To create a RFC destination use transaction SM59.
The RFC destination is created to provide IDOC a route from SAP system to XI server. Thus once the IDOC is initiated will reach to this destination for further transformations.
2. Create a RFC Destination XI_IDOC2IDOC with Target Host: Cgnsap 32(XI System) and select the connection type as 3(Connection to R/3 System).
The following screen will come once you will click on Create for new RFC destination.
Give a name to your RFC destination.
The Target Host field will be your XI server like cgnsap32.
All the other fields are dependent on the target host.
Save this and your RFC will be created.
Go to Logon/Security tab and fill the details for the Cgnsap32 system as shown below
Creation of IDOC PORT:
3. Create Port: To create a port uses the transaction WE21. We need a port to send the IDOC to the intended RFC destination.
Create a new Transactional RFC.
Give the port name.
Select the RFC destination for this port.
Save the data.
Creation of Logical System:
4. Now Go to Transaction Code SALE and create Logical System.
Sending and Receiving Systems->Logical Systems->Define Logical System
Click on New Entries and fill the relevant details as show below
b) As we will save it a new window will pop up, in this click on Create and then it will ask you to create a New Request. Just give description of the request and save it, else everything is self-generated.
c) Hence the Logical System is created.
Create another RFC Destination with Target host as cgnsap13. Also create a port and logical system as above using the RFC Destination. This is used as a sender to trigger the IDOC from cgnsap13.
Creation of Partner Profile:
Partner Profiles: Now we will create Partner Profiles by using transaction WE20. These partner profiles are created to identify our logical system uniquely, as we know that there can be n number of logical system in a Business System.
In the Partner No field enter the name of the logical system created.
Enter the Partner Type as LS (logical system).
The type and Lang field will be same.
In the Agent field select the business system from which you are sending the IDOC.
In the Message Type Field include the IDOC.
Save all the data.
Creation of Distribution Model:
Go to Transaction Code BD64 and create Distribution Model.
Click on create model view, window will popup as shown below.
Enter the short text and the technical name as required.
Once the model view is created, click on Add message type. A window pops up as shown below. Enter the details of the model view, sender logical system name (for cgnsap13 in this case) and the receiver logical system name. (Logical system created in cgnsap13 for sending to XI server)
XI SIDE CONFIGURATION: CGNSAP32 (XI SYSTEM)
Creation of RFC Destination:
1. Go to Transaction Code SM59 and select R/3 Connections and click on CREATE.
2. Create a RFC Destination RFC_IODCTOIODC with Target Host: Cgnsap 01(R/3 System) and select the connection type as 3(Connection to R/3 System).
Creation of IDOC PORT:
3. Go to Transaction Code IDX1 and create an IDoc Port PORT_01 (Transactional RFC) and map it with the RFC destination (RFC_IDOCTOIDOC).
4. Go to Transaction Code IDX2, Click on Create and enter the details of IDoc Type and Source Port.
Target Side Configuration: CGNSAP01 (SAP R/3)
Creation of Logical System:
4. Now Go to Transaction Code SALE and create Logical System.
Sending and Receiving Systems->Logical Systems->Define Logical System.
Click on New Entries and fill the relevant details as show below
b) As we will save it a new window will pop up, in this click on Create and then it will ask you to create a New Request. Just give description of the request and save it , else everything is self generated.
c) Hence the Logical System is created.
Creation of Partner Profile:
Partner Profiles: Now we will create Partner Profiles by using transaction WE20. These partner profiles are created to identify our logical system uniquely, as we know that there can be n number of logical system in a Business System.
In the Partner No field enter the name of the logical system created.
Enter the Partner Type as LS (logical system).
The type and Lang field will be same.
Now add Inbound parameters.
In this screen, enter the Message type and the Process Code for u2018MATMASu2019 and save it.
Now go to XI (http://cgnsap32:50000/rep), click on Integration Repository for Design.
Go to SLD by clicking on the u2018System Landscape Directoryu2019 in the above screen
Click on Business Landscape and check for the Business Systems, which have the required Technical systems (cgnsap01, cgnsap13 in this case) and the required clients (800 of cgnsap01 and 800 of cgnsap13).
We create a business system if the required business systems do not exist
Creation of Business System:
Click on New Business System and the following screen will appear.
Enter the name of the Business System and click next.
Select the type of the business system in this case its Web AS ABAP.
Select the Technical System for the Business System.
Select the required client.
Select the Business system role and related integration server and click Finish to complete the creation of the business system.
Design: Integration Repository
1. Create a Namespace under component SATYAM_SAPXI_IDOC.
2. Import the IDOC by using Import Wizard in the Imported Object in the Design time.
3. Create a Message Mapping and drag IDOC Structure into Source Message and Target Message panes. Map the mandatory fields of the input and output IDoc structure. Save and activate the message mapping.
4. Create an Interface Mapping for the IDoc.
CONFIGURATION TIME:
SCENARIO: Create a scenario in which all the objects will be created.
Scenario Name: SAP_XI_IDOCTOIDOC
Business System Name: SAP01 (for cgnsap01), SSI (for cgnsap13)
As we are going to send IDOC from the system so no Sender Channel is required.
SENDER AGREEMENT: No Sender Agreement is required.
Communication Channel:
Select IDOC Adapter and provide the details as shown below.
RECEIVER DETERMINATION: In receiver determination, we have to specify the Service and Receiver details.
INTERFACE DETERMINATION: Specify the service, interface and Inbound and outbound interfaces.
RECEIVER AGREEMENT:
Provide the sender service, receiver service and Receiver Communication Channel here.
In the Header Mapping, select the Sender Service as the receiving R/3 Business system
(SAP 01 in this case).
Testing :
To test all the configuration of IDOC which you have done follow this test procedure:
Use transaction we19 for IDOC Processing.
Give your IDOC and execute it.
c) Then enter values in IDOC and save it.
d) Check the values in the XI System using SXMB_MONI Transaction Code.
Regards.
Siddhesh
Edited by: Siddhesh Naik on Nov 3, 2008 10:06 AM -
hello experts !! could u plz give me some idea or step by step help for creating IDoc to IDoc data transfer through ALE.
My scenarion is like the following:
there will be two client in two R/3 system..(Sending and receiving)....
in sending system i want to insert data in a particular table....
that data will be automatically updated in receiving system..
plz help meeeeeeee
thanks...
points will be rewarded.......Hi Soumya,
Follow the process as below
Outbound:
Step 1. Application document is created when transaction is saved.
2. Message control is invoked.
3. Messages are processed by system.
4. Messages are Edited (if desired).
5. Output (ALE / EDI) is checked
6. Validate against Message control record from Partner Profile
7. Application Document is saved.
8. Entry NAST table is created for every selected output program
along with Medium & Timing.
9. Check for Process Immediately .
If (yes)
Determine Processing Program from TNAPR Table.
ELSE
Execute RSNASTED Program.
10. Read Partner Profile to determine Process Code.
11. Process Code points to the Function Module & Invoked.
12. IDoc is generated.
13. Check for ALE Request.
if (Yes)
Perform Filters, Conversions, Version Changes etc.
Else.
IDoc is stored in DATABASE.
INBOUND:
Step 1. EDI Subsystem creates an IDoc file from EDI Messages
2. Subsystem calls Functional Module EDI_DATA_INCOMING from startRFC program.
3. Data in Control Record is validate against the Partner Profile.
4. IDoc is generated in Database and syntax check is carried out.
5. IDoc file is deleted once file read.
6. Event PROCESSSTATE REACHED is triggered in Idoc Object Workflow.
7. Check for Process Immediately.
If NO
Execute RBDAPP01 Program
Else
Read Process Code from Partner Profile
Process Code Points to Function Module
Application Document Posted.
further help:
check url
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/ale/configuration.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapdevelopment.co.uk/training
And also u can get lots of inof from the below link.
http://www.sapgenie.com/ale/why_ale.htm
Just follow the procedure
Sending System(Outbound ALE Process)
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Create Model View
Tcode BD82 ? Generate partner Profiles & Create Ports
Tcode BD64 ? Distribute the Model view
Message Type MATMAS
Tcode BD10 ? Send Material Data
Tcode WE05 ? Idoc List for watching any Errors
Receiving System(Inbound ALE )
Tcode SALE ? for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 ? Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 ? Idoc List for inbound status codes
ALE IDOC Steps
Sending System(Outbound ALE Process)
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Create Model View
Tcode BD82 !V Generate partner Profiles & Create Ports
Tcode BD64 !V Distribute the Model view
This is Receiving system Settings
Receiving System(Inbound ALE )
Tcode SALE ?3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59-RFC Destination
Tcode BD64 !V Check for Model view whether it has distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 Getting Material Data
Tcode WE05 !V Idoc List for inbound status codes
Message Type MATMAS
Tcode BD10 !V Send Material Data
Tcode WE05 !V Idoc List for watching any Errors
STEP 1)a Goto Tcode SALE
Click on Sending & Receiving Systems-->Select Logical Systems
Here Define Logical Systems---> Click on Execute Button
go for new entries
-System Name : ERP000
-Description : Sending System
-System Name : ERP800
-Description : Receiving System
press Enter & Save
it will ask Request
if you want new request create new Request orpress continue for transfering the objects
B) goto Tcode SALE
Select Assign Client to Logical Systems-->Execute
000--> Double click on this
Give the following Information
-Client : ERP 000
-City :
-Logical System
-Currency
-Client role
Save this Data
Step 2) For RFC Creation
Goto Tcode SM59-->Select R/3 Connects
Click on Create Button
RFC Destination Name should be same as partner's logical system name and case sensitive
to create the ports automatically while generating the partner profiles
give the information for required fields
RFC Destination : ERP800
Connection type: 3
Description
Target Host : ERP000
System No:000
lan : EN
Client : 800
User : Login User Name
Password:
save this & Test it & RemortLogin
STEP 3) Goto Tcode BD64 -- click on Change mode button
click on create moduleview
short text : xxxxxxxxxxxxxx
Technical Neme : MODEL_ALV
save this & Press ok
select your just created modelview Name :'MODEL_ALV'.
goto add message type
Model Name : MODEL_ALV
sender : ERP000
Receiver : ERP800
Message type :MATMAS
save & Press Enter
STEP 4) Goto Tcode BD82
Give Model View : MODEL_ALV
Partner system : ERP800
execute this by press F8 Button
it will gives you sending system port No :A000000015(Like)
STEP 5) Goto Tcode BD64
select the modelview
goto >edit>modelview-->distribute
press ok & Press enter
STEP 6) goto Tcode : BD10 for Material sending
Material : mat_001
Message Type : MATMAS
Logical System : ERP800
and Execute
STEP 7)goto Tcode : BD11 for Material Receiving
Material : 100-300
Message Type : MATMAS
and Execute --> 1 request idoc created for message type Matmas
press enter
Here Master Idoc set for Messge type MATMAS-->press Enter
1 Communication Idoc generated for Message Type
this is your IDOC
Change Pointers
how to change the description of a material using ALE Change Pointers.
I will give the following few steps
1) Tcode BD61---> check the change pointers activated check box
save and goback.
2) Tcode BD50---> check the MATMAS check box save and comeback.
3) Tcode BD51---> goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
4) Tcode BD52---> give message type : matmas press ok button.
select all what ever you want and delete remaining fields.
save & come back.
5) 5) go to Tcode MM02 select one material and try to change the description and save it
it will effects the target systems material desciption will also changes
6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
give Message type : MATMAS and Executte
ALE/IDOC Status Codes/Messages
01 Error --> Idoc Added
30 Error --> Idoc ready for dispatch(ALE Service)
then goto SE38 --> Execute the Program RBDMIDOC
29 Error --> ALE Service Layer
then goto SE38 --> Execute the Program RSEOUT00
03 Error --> Data Passed to Port ok
then goto SE38 --> Execute the Program RBDMOIND
12 Error --> Dispatch ok
Inbound Status Codes
50 Error --> It will go for ALE Service Layer
56 Error --> Idoc with Errors added
51 Error --> Application Document not posted
65 Error --> Error in ALE Service Layer
for 51 or 56 Errors do the following steps
goto WE19 > give the IDOC Number and Execute>
Press on Inbound function Module
for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
Regards,
Satish -
What is memory idoc , communication idoc
plz tell me about
memory idoc , communication idoc.hi kalyan,
Master IDOC : This idoc collects all the required data into
single IDOC and this is temporarily stored in memory.
Communication IDOC: there can be n number of communication
IDOCs generated. This comes into picture after the Master
IDOC is validated from the distribution model . And this
IDOC is stored in database table . you can see this IDOC
from we02 tcode..comm idoc is the physical idoc which is reciever specific
IDOC Programming
There are two processes in IDOC processing one is INBOUND PROCESS( IDOC coming to the system and its handling at various stages) and the other is OUTBOUND PROCESS( IDOC is send to other system . Separate ABAP programs are written for these 2 processes and different configuration settings are required for each one .Depending upon the trigeering mechanism different programming approaches are used.OUTBOUND PROGRAMS handle the IDOC creation and INBOUND PROGRAMS handle the inbound IDOC and the data trasfer from the IDOC to the database tables.
NEED FOR ABAP PROGRAMMING arises if
1)New IDOC was created
Depending upon the triggering mechanism i.e change pointer,message control
etc the programming technique changes and the type of process.
2)Existing IDOC was extended
User Exits are used to populate data in new segments added and to read them
back.
3)To enhance an exsiting process.
User Exits are used .
Basic structure of an OUTBOUND PROGRAM
The basic structure of all outbound programs is same. The CONTROL
record which is of TYPE EDIDC has to be filled. It contains important fields like
IDOCTP IDOC type
MESTYP Message Type
RCVPRN Recieving Partner (Destination)
RCVPRT Partner Type (it is LS i.e Logical System)
The DATA RECORD internal table which is of TYPE EDIDD has to be filled
in the same order as there are segments in the IDOC definition.
It has 2 important fields which are to be filled ,these are
SEGNAM Name of the segment
SEGDATA Data in the segment and can be upto 1000 bytes.This field
is corresponds to each data segment in the IDOC.
e.g.
DATA INT_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.
DATA W_SEGDATA LIKE zsegment "custom segment zsegment
INT_EDIDD-SEGNAM = 'ZSEGMENT'
W_SEGDATA-field1 = value "taken from some table
W_SEGDATA-field2 = value "taken from some table
INT_EDIDD-SEGDATA = W_SEGDATA
APPEND INT_EDIDD
This will fill the data record corresponding to the segment ZSEGMENT . For all
segments the sam steps will be repeated until all the data corresponding to all the
segments in the idoc is filled in the internal table of type EDIDD.
There is only one control record and can be multile data records in the idoc
structure.
Which data is to be extracted from the tables to be filled in EDIDD type internal table is determined in standalone programs from the objects which are specified in the selection screen and from the object key passed to the function module in case of message control and is taken from BDCP table in case of change pointers using function modules "CHANGE_POINTERS_READ"
In case of stand alone programs and function modules based on change pointers method the function module "MASTER_IDOC_DISTRIBUTE" is used to send the IDOC to ALE layer for distribution ,in case of message control it is handled automatically by the RSNASTED program invoked by the message control.
OUTBOUND PROCESS AND OUTBOUND PROGRAM
Outbound programs are used in outbound process to genearte IDOCs . There
purpose is to extract the data from the tables and to fill the IDOC data records
and the control record in the IDOC and pass ito the ALE layer for distribution to the recieving system .
Depending upon the triggering mechanism (how and when the outbound program will be started different techniques and interface is used for outbound program.
1)Message control
Application like PO(purchase order) creation use this technique , where the output type is linked to the application(Message control is a configurable cross application component which can be set in IMG .Such programs are created in the form of function modules and linked to the output type which is linked to the apllication.These have predefined interfaces.
In outbound programs(function module) that use message control the key of the
application document is passed to the function module whcig will read the data from the table depending upon the key passed(NAST structure) and fill the IDOC segemnts with the application data.The control record is also passed to the function module but is not fully filled, the rmaining fields are filled and the control is passed back to the calling program which is RSNASTED and is invoked by the
message control to process ALE and EDI output types and this program on recieving the IDOC data will create the physical IDOC in the system.
The parameteers passed to the function module are
IMPORTING PARAMETERS
OBJECT LIKE NAST
It contains documents key.
CONTROL_RECORD_IN LIKE EDIDC
It contains the partailly filled control record
EXPORETING PARAMETER
OBJECT_TYPE
CONTROL_RECORD_OUT LIKE EDIDC
TABLES
INT_EDID LIKE EDIDD
The internal table used to fill the data records in the same order as they exists in
the IDOC.
The important parameters that should be filled in the custom function module are
CONTROL_RECORD_OUT and INT_EDIDD .The OBJK field of the structue NAST contains the key of the apllication document.
2)Stand alone programs
Generally used for Master Data transfer and as such depending upon the requirement can have different interfaces.The programs have a selection screen which has select options to select the objects, and parameters for specifying the recipient Logical System and the Message Type.
Data is selected based on the specified objects from the tables . and control record of type EDIDC is created and filled with important values like DIRECTION ,IDOCTP,RCVPRT,RCVPRN and MESTYP .
Data is filled in an internal table of TYPE EDIDD according to segment definitions
and in same order and the function module MASTER_IDOC_DISTRIBUTE is called passing the control record and the internal table containg IDOC data and importing an internal table consisting of control records for each communication IDOCS created.
3)Change pointer
Change Pointer table is read and checked if changes were made to important fields , if so the outbound program will be triggered automatically , these have predefined interfaces
thanks
abdul
reward me if usefull -
Dear All,
I am working on Idoc-XI-Idoc scenario in which I am getting ORDRSP Idoc in input. In one of its segment I am getting value as either A or B. If value is coming as A in input then in the output we want PORDCR101 Idoc but if we have B as value in the source idoc then we should have multiple PORDCR102 Idocs ie for each line item there will be different idocs.
Please guide me on how we can implement BPM in this scenario as required two MM i have created and they are working fine.
Regards,
NJHi,
If value is coming as A in input then in the output we want PORDCR101 Idoc but if we
have B as value in the source idoc then we should have multiple PORDCR102 Idocs ie for
each line item there will be different idocs.
For Source = A:
SourceField----
-----equalS ----ifwithoutElse ----then Constant(blank) ---> PORDCR101
Constant(A)---
Assuming that A in input then in the output we want PORDCR101 Idoc means that you need only one occurence of the IDOC
For Source = B:
SourceField----
-----equalS ----ifwithoutElse ----then LineItem ---> PORDCR102
Constant(B)---
Regards,
ABhishek.
Maybe you are looking for
-
My apple TV is not playing my purchased TV shows
I have purchased several TV shows on my apple TV and not had any problems so far. The last week I am unable to watch a show. When I press PLAY it just returns back to the play screen. Help?
-
Using a video adapter with Leopard
I have a fellow teacher who has always used her eMac with a video adapter to connect to her TV to share with her students what was on her screen. During the summer, her eMac was updated to Leopard. Now nothing will show on her TV. The adapter works o
-
Appearance in different browsers
My web pages look fine in Safari, but lose almost all formatting in Firefox and Explorer. Is there a setting wrong that I can adjust or do I have to live with it? Thanks.
-
Run Option disabled in Repository Reports
I am using a fresh install of Oracle 9i 9.2.0.1.0 on XP Pro and Designer 9i 9.0.2.7. Everything functions perfectly until I attempt to run Repository Reports. The Report Navigator responds and I can select the container and diagram for a report, howe
-
Transport User Groups in Portal
Hi In Development Portal i assigned Portal roles to user groups How can i transport the assignment.....i mean user groups Thanks