2007 Jul 31 5:23 PM
I have created my own z.. table
I have created segments
and created basic idoc type
and released it
and want to how to extend the basic idoc type which i have created
and what is the purpose of extending the basic idoc type
and how to populate the custom idoc via abap programme
2007 Aug 01 6:18 AM
hi
the following is the code for populating the custom idoc
CONSTANTS: C_DOCTYP TYPE EDIDC-IDOCTP VALUE 'ZUSRDET01', idoctype
C_SEGNAM TYPE EDIDD-SEGNAM VALUE 'Z1USRDET01', segment
C_MESTYP TYPE EDIDC-MESTYP VALUE 'ZUSRDET'. message type
DATA: IT_ZUSR02 TYPE USR02 OCCURS 10,
IT_EDIDC TYPE EDIDC OCCURS 0,
IT_EDIDD TYPE EDIDD OCCURS 0,
WA_ZUSR02 TYPE USR02,
WA_EDIDC TYPE EDIDC,
WA_EDIDD TYPE EDIDD,
WA_Z1USRDET01 TYPE Z1USRDET01,
V_OCCMAX TYPE IDOCSYN-OCCMAX,
V_NBSEG TYPE I.
CLEAR WA_ZUSR02.
CLEAR WA_EDIDC.
Save the message type and the basic IDoc type in the control segment.
MOVE C_MESTYP TO WA_EDIDC-MESTYP.
MOVE C_DOCTYP TO WA_EDIDC-IDOCTP.
Retrieve the maximum number of segments in the basic IDoc type.
SELECT MIN( OCCMAX ) FROM IDOCSYN INTO V_OCCMAX WHERE IDOCTYP EQ C_DOCTYP AND SEGTYP EQ C_SEGNAM.
Save the whole USR02 table content in the IT_ZUSR02 internal table.
SELECT * FROM USR02 INTO CORRESPONDING FIELDS OF TABLE IT_ZUSR02.
Create a data segment for each line of IT_ZUSR02.
LOOP AT IT_ZUSR02 INTO WA_ZUSR02 .
MOVE-CORRESPONDING WA_ZUSR02 TO WA_Z1USRDET01.
CLEAR WA_EDIDD.
MOVE C_SEGNAM TO WA_EDIDD-SEGNAM.
MOVE WA_Z1USRDET01 TO WA_EDIDD-SDATA.
APPEND WA_EDIDD TO IT_EDIDD.
CLEAR WA_ZUSR02.
CLEAR WA_Z1USRDET01.
ENDLOOP.
Count the number of data segments.
DESCRIBE TABLE IT_EDIDD LINES V_NBSEG.
If the number of data segments exceeds the maximum allowed number,then display an error message.
IF V_NBSEG GT V_OCCMAX.
WRITE:/ 'ERROR'.
ENDIF.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control = WA_EDIDC
OBJ_TYPE = ''
CHNUM = ''
tables
communication_idoc_control = IT_EDIDC
master_idoc_data = IT_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
<b>reward points for useful ans</b>
regards
vivek
I have created my own z.. table
I have created segments
and created basic idoc type
and released it
and want to how to extend the basic idoc type which i have created
and what is the purpose of extending the basic idoc type
and how to populate the custom idoc via abap programme
2007 Jul 31 6:04 PM
Hi
Instead of creating a IDOC type with all segments from the scracth we use the existing related IDOC type and we extend it just by creating a single segment with few fields and add to the extended Idoc type
and populate the segment fields from the user exit of that std Basic idoc type or from the fun module program.
<b>Reward points for useful Answers</b>
Regards
Anji
2007 Aug 03 2:27 PM
2007 Jul 31 6:16 PM
Extending Basic Idoc type
Extending Idoc type
.Note
It can occur that you want to fill table fields which already have an equivalent in the basic type but which are not supplied in the standard system. You therefore do not need to extend the basic type, but rather only the function module that supplies the application fields. In this case, skip the procedure.
Procedure
...
1. Choose SAP menu ® Tools ® IDoc Interface/ALE ® Development ® IDoc ® Generate ALE Interface ® IDoc Types (WE30). The IDoc type editor is displayed.
2. If you have not already done so, create a transport request for your development objects (extension segments, extension, function exit and so on). You can access the Workbench Organizer from the editor by selecting Requests (Organizer). From there, select Request ® Create and reply to the questions which appear on screen. By selecting This graphic is explained in the accompanying text you can return to the IDoc type editor.
3. Name your extension in accordance with the customer namespace and choose Extension as the development object. Choose This graphic is explained in the accompanying text.
Caution
The name of your extension should be no more than 8 characters if you wish to use the extension to communicate with partners who are using SAP Releases prior to 4.0. You can only use extension names with more than 8 characters from Release 4.0 onwards.
4. Choose one of the following options:
Create New: Create the extension without a reference.
· Create copy,which you can then change if necessary
· Create as successor: Note that only one successor is allowed per release for each extension.
5. Select the basic type which is to be combined with your extension. Confirm your entries.
The basic type is displayed as a tree structure. See the color legend (Utilities ® Color legend).
6. Position the cursor on the segment where you wish to append the extension segments (the reference segment). Choose This graphic is explained in the accompanying text. You must now assign attributes for these child segments:
· Mandatory segment (indicator): Must data be written to this segment in the IDoc?
· Maximum and minimum frequency of use: How often may/must a segment occur in the IDoc?
7. You can add further children or grandchildren to this or any other reference segment in the basic type.
8. When the new extension is complete, you can save your entry.
Caution
You should keep the following factors in mind when dealing with extensions:
· Segments must not explicitly occur more than once in the IDoc type - this means that the extension cannot have any segments which already exist in the basic type. This also means that a successor must not have any segments which already exist in the predecessor.
· Parent segments of predecessors must remain parent segments in the case of successors.
· Extension segments cannot be created from reference segments using the Cut and Paste functions and vice versa.
Example
In the example call your extension Z1ORDERS. Append Z1TEST1 child segment to E1EDP19reference segment in ORDERS01 basic type. The child segment can be used only once.
to know regarding
regards,
srinivas
*reward for useful answers*</b>
2007 Aug 01 6:18 AM
hi
the following is the code for populating the custom idoc
CONSTANTS: C_DOCTYP TYPE EDIDC-IDOCTP VALUE 'ZUSRDET01', idoctype
C_SEGNAM TYPE EDIDD-SEGNAM VALUE 'Z1USRDET01', segment
C_MESTYP TYPE EDIDC-MESTYP VALUE 'ZUSRDET'. message type
DATA: IT_ZUSR02 TYPE USR02 OCCURS 10,
IT_EDIDC TYPE EDIDC OCCURS 0,
IT_EDIDD TYPE EDIDD OCCURS 0,
WA_ZUSR02 TYPE USR02,
WA_EDIDC TYPE EDIDC,
WA_EDIDD TYPE EDIDD,
WA_Z1USRDET01 TYPE Z1USRDET01,
V_OCCMAX TYPE IDOCSYN-OCCMAX,
V_NBSEG TYPE I.
CLEAR WA_ZUSR02.
CLEAR WA_EDIDC.
Save the message type and the basic IDoc type in the control segment.
MOVE C_MESTYP TO WA_EDIDC-MESTYP.
MOVE C_DOCTYP TO WA_EDIDC-IDOCTP.
Retrieve the maximum number of segments in the basic IDoc type.
SELECT MIN( OCCMAX ) FROM IDOCSYN INTO V_OCCMAX WHERE IDOCTYP EQ C_DOCTYP AND SEGTYP EQ C_SEGNAM.
Save the whole USR02 table content in the IT_ZUSR02 internal table.
SELECT * FROM USR02 INTO CORRESPONDING FIELDS OF TABLE IT_ZUSR02.
Create a data segment for each line of IT_ZUSR02.
LOOP AT IT_ZUSR02 INTO WA_ZUSR02 .
MOVE-CORRESPONDING WA_ZUSR02 TO WA_Z1USRDET01.
CLEAR WA_EDIDD.
MOVE C_SEGNAM TO WA_EDIDD-SEGNAM.
MOVE WA_Z1USRDET01 TO WA_EDIDD-SDATA.
APPEND WA_EDIDD TO IT_EDIDD.
CLEAR WA_ZUSR02.
CLEAR WA_Z1USRDET01.
ENDLOOP.
Count the number of data segments.
DESCRIBE TABLE IT_EDIDD LINES V_NBSEG.
If the number of data segments exceeds the maximum allowed number,then display an error message.
IF V_NBSEG GT V_OCCMAX.
WRITE:/ 'ERROR'.
ENDIF.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control = WA_EDIDC
OBJ_TYPE = ''
CHNUM = ''
tables
communication_idoc_control = IT_EDIDC
master_idoc_data = IT_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 1
ERROR_WRITING_IDOC_STATUS = 2
ERROR_IN_IDOC_DATA = 3
SENDING_LOGICAL_SYSTEM_UNKNOWN = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
<b>reward points for useful ans</b>
regards
vivek
2007 Aug 03 2:39 PM
2007 Aug 03 2:47 PM
Basavraj,
To populate the extended segment values u need to write the code in the patricular <b>User Exit</b>.
Look for the <b>CUSTOMER-FUNCTION</b> and find the right user exit and write the code.
Hope this helps,
Chandra.
null
2007 Aug 03 3:44 PM
Hello
I have created own z table
i have creadted basic idoc type and segmants successfully
how to extend the basic idoc type and send the data to the other client
Awaiting Mail
Basavaraj
2007 Aug 01 10:30 AM
Take the correct Idoc type and Message Type and process code from EDBAS and EDMSG tables and use
see the doc
Data Creation in Idoc
IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
IDoc is a intermediate document to exchange data between two SAP Systems.
*IDocs are structured ASCII files (or a virtual equivalent).
*Electronic Interchange Document
*They are the file format used by SAP R/3 to exchange data with foreign systems.
*Data Is transmitted in ASCII format, i.e. human readable form
*IDocs exchange messages
*IDocs are used like classical interface files
IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
FOr testing you can use WE19.
How to create idoc?
*WE30 - you can create a IDOC type
For more information in details on the same along with the examples can be viewed on:
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
http://www.sappoint.com/presentation.html
http://www.allsaplinks.com/idoc_search.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://www.erpgenie.com/sapedi/idoc_abap.htm
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30 )
Create Message Type ( WE81 )
Assign Idoc Type to Message Type ( WE82 )
Creating a Segment
Go to transaction code WE31
Enter the name for your segment type and click on the Create icon
Type the short text
Enter the variable names and data elements
Save it and go back
Go to Edit -> Set Release
Follow steps to create more number of segments
Create IDOC Type
Go to transaction code WE30
Enter the Object Name, select Basic type and click Create icon
Select the create new option and enter a description for your basic IDOC type and press enter
Select the IDOC Name and click Create icon
The system prompts us to enter a segment type and its attributes
Choose the appropriate values and press Enter
The system transfers the name of the segment type to the IDOC editor.
Follow these steps to add more number of segments to Parent or as Parent-child relation
Save it and go back
Go to Edit -> Set release
Create Message Type
Go to transaction code WE81
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter
Click New Entries to create new Message Type
Fill details
Save it and go back
Assign Message Type to IDoc Type
Go to transaction code WE82
Change the details from Display mode to Change mode
After selection, the system will give this message The table is cross-client (see Help for further info). Press Enter.
Click New Entries to create new Message Type.
Fill details
Save it and go back
Check these out..
Check below link. It will give the step by step procedure for IDOC creation.
http://www.supinfo-projects.com/cn/2005/idocs_en/2/
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
go trough these links.
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
2.IDOCs are independent of the sending and receiving systems.
3.IDOCs are independent of the direction of data exchange.
The two available process for IDOCs are
Outbound Process
Inbound Process
AND There are basically two types of IDOCs.
Basic IDOCs
Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
Extended IDOCs
Extending the functionality by adding more segments to existing Basic IDOCs.
To Create Idoc we need to follow these steps:
Create Segment ( WE31)
Create Idoc Type ( WE30)
Create Message Type ( WE81)
Assign Idoc Type to Message Type ( WE82)
imp links
http://www.allsaplinks.com/idoc_sample.html
http://www.sapgenie.com/sapedi/idoc_abap.htm
--here u can find the ppts and basic seetings for ALE
http://sappoint.com/presentation.html
http://www.sapgenie.com/ale/index.htm
WE30 - you can create a IDOC type.
An IDOC with data, will have to be triggered by the application that is trying to send out the data.
Try this..Hope this will help.
>>>> SAP ALE & IDOC<<<<
Steps to configuration(Basis) >>
1. Create Logical System (LS) for each applicable ALE-enabled client
2. Link client to Logical System on the respective servers
3. Create background user, to be used by ALE(with authorizaton for ALE postings)
4. Create RFC Destinations(SM59)
5. Ports in Idoc processing(WE21)
6. Generate partner profiles for sending system
The functional configuration(Tcode: SALE)
Create a Customer Distribution Model (CDM);
Add appropriate message types and filters to the CDM;
Generate outbound partner profiles;
Distribute the CDM to the receiving systems; and
Generate inbound partner profiles on each of the clients.
Steps to customize a new IDoc >>>
1. Define IDoc Segment (WE31)
2. Convert Segments into an IDoc type (WE30)
3. Create a Message Type (WE81)
4. Create valid Combination of Message & IDoc type(WE82)
5. Define Processing Code(WE41 for OUT / WE42 for IN)
6. Define Partner Profile(WE20)
Important Transaction Codes:
SALE - IMG ALE Configuration root
WE20 - Manually maintain partner profiles
BD64 - Maintain customer distribution model
BD71 - Distribute customer distribution model
SM59 - Create RFC Destinations
BDM5 - Consistency check (Transaction scenarios)
BD82 - Generate Partner Profiles
BD61 - Activate Change Pointers - Globally
BD50 - Activate Change Pointer for Msg Type
BD52 - Activate change pointer per change.doc object
BD59 - Allocation object type -> IDOC type
BD56 - Maintain IDOC Segment Filters
BD53 - Reduction of Message Types
BD21 - Select Change Pointer
BD87 - Status Monitor for ALE Messages
BDM5 - Consistency check (Transaction scenarios)
BD62 - Define rules
BD79 - Maintain rules
BD55 - Defining settings for IDoc conversion
WEDI - ALE IDoc Administration
WE21 - Ports in Idoc processing
WE60 - IDoc documentation
SARA - IDoc archiving (Object type IDOC)
WE47 - IDoc status maintenance
WE07 - IDoc statistics
BALE - ALE Distribution Administration
WE05 - IDoc overview
BD87 - Inbound IDoc reprocessing
BD88 - Outbound IDoc reprocessing
BDM2 - IDoc Trace
BDM7 - IDoc Audit Analysis
BD21 - Create IDocs from change pointers
SM58 - Schedule RFC Failures
Basic config for Distributed data:
BD64: Maintain a Distributed Model
BD82: Generate Partner Profile
BD64: Distribute the distribution Model
Programs
RBDMIDOC Creating IDoc Type from Change Pointers
RSEOUT00 Process all selected IDocs (EDI)
RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
RSARFCEX - Execute Calls Not Yet Executed
RBDMOIND - Status Conversion with Successful tRFC Execution
RBDMANIN - Start error handling for non-posted IDocs
RBDSTATE - Send Audit Confirmations
FOr testing you can use WE19.
Reward points for useful Answers
Regards
Anji
Karthikeyan Pan...
Posts: 545
Questions: 0
Registered: 7/26/07
Forum points: 212
Re: STEPS for creating IDOC .
Posted: Jul 30, 2007 2:15 PM in response to: Amitava joarder Reply
ALE/ IDOC
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.sappoint.com/abap/ale.pdf
http://www.sappoint.com/abap/ale2.pdf
http://www.sapgenie.com/sapedi/idoc_abap.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
http://www.allsaplinks.com/idoc_sample.html
http://www.sappoint.com/abap.html
http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
http://www.sapgenie.com/sapedi/index.htm
http://www.allsaplinks.com/idoc_sample.html
Check these step-by-step links
for Smartforms material
/message/3815745#3815745 [original link is broken]
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |