Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALE

Former Member
0 Likes
800

hi all

please tell me ale configuration to send idoc

hoe to see if the idoc is send sucessfully or not

3 REPLIES 3
Read only

Former Member
0 Likes
626

hi,

To develop a new custom ALE scenario, comprises 5 steps:

1.Design and develop the custom IDoc with it’s segments and a new message type

2.Configure the ALE environment with the new IDoc and message type (customer model, partner profiles and linking IDoc to message type)

3.Develop the outbound process which does the following:

•Populates the custom IDoc with control info and functional data

•Sends the IDoc to the ALE layer for distribution

•Updates status and handles errors

4.Configure the ALE inbound side (partner profiles with inbound process code)

5.Develop the inbound process which does the following:

•Reads the IDoc into a BDC table; selects other data that is required

•Runs transaction using call transaction or BDC session

•Updates status and handles errors

Outbound Processing

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.

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

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.

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.

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 we’ll 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.

Configuring the Distribution Model

This task is performed on your ALE reference client.

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.

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.

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.

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.

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.

Hope this helps, Do reward.

Read only

Former Member
0 Likes
626

Venkatesh,

STEP BY STEP procedure to create idoc.

Salesorder IDOC

In this example a purchase is created, using the SAP standard functionallity for creating salesorders. When the salesorder is saved, and IDOC is automatically generated. Then we use the IDOC test tool to

create an order confirmation from the salesorder IDOC.

Create Vendor

Create customer

Create partner profiles

Create purchase order

Create the order confirmation IDOC

Create vendor

Create vendor using transaction code MK01. You can also use an existing vendor.

Vendor: T-BILHFN

Purch. org. : 001

Purchase organization may vary from system to system.

Create Customer

Create a customer using transaction VD01. You could also use an existing customer.

In the follwing example the vendor 3471 is used.

Create partner profiles

Create vendor partner profile

General data

Out bound parameters

Inbound parameters

Create customer partner profile

General data

Outbound parameters

Imbound parameters

Create purchase order

Use transaction ME21 to create the purchase order

To send an IDOC when the document is finished, go to Header -> Messages and

change the output medium to EDI.

Then select Further Data and change Dispatch Time to Send immediately. This will

create the IDOC as soon as the purchase order is saved.

Save the document.

Use transaction WE02 to check that the IDOC has been created without errors

Create the order confirmation IDOC

As the system has not been configured to handle the IDOC flow, the IDOC test tool

is used to simulate the flow. The Order IDOC is used as a template to create the

order confirmation IDOC.

Transaction code: WE19

Type the number of the Order IDOC in on the start screen and select menu IDOC ->

Create to create the template.

Change the control record

Note that the name of the port SAPTST may vary from system to system. The name can be seen in the Sender

port of the IDOC

Create new E1DK02 segment

The E1DK02 Document header reference data segment includes references to other documents.

The new E1DK02 segment should be created as a copy of the existing E1DK02, and at the same level.

Change the following fields of the record:

Qualifier: 002

Document item: 10

Qualifier = IDOC qualifier reference document = 002 = Vendor order

Document item =: Item number, see the item number on the purchasing document

Create E1EDP02 segment

The E1EDP02 Document Item Reference data includes references to other documents.

Create E1EDP02 as subelement of E1EDP01 Document item General Data

Qualifier: 001

Document: 4500010757

Document item: 10

Qualifier : IDOC qualifier reference document 001 = Customer purchase order

Document : Document number – The number of the purchase order

Document item : Item number, see the item number on the purchasing document

Changing the ACTION field at header or item level

If you are working without a confirmation control key, the IDoc must have a processable action code at either

header or item level:

At header level, the segment field ACTION of segment E1EDK01 must be filled with the value '000' if the complete

purchase order is to be confirmed.

At item level, the segment field ACTION of segment E1EDP01 must be filled with the value '000' or '004' if the PO

item is to be confirmed.

Test IDOC

After the changes have been made, press the Standard Inbound button to generate the IDOC.

If no errors occurs go to transaction WE02 to check if the IDOC has been processed without errors.

If the IDOC has been processed without errors, then display the Purchase order (Transaction ME23). display the

item data and double-click on the item line. If all went well, you will now se that the field Acknowl. no. has been

filled out.

Read only

Former Member
0 Likes
626

Hi,

ALE IDOC

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 - Create Model View

Tcode BD82 - Generate partner Profiles & Create Ports

Tcode BD64 - Distribute the Model view

This is Receiving system Settings

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

Message Type MATMAS

Tcode BD10 - Send Material Data

Tcode WE05 - Idoc List for watching any Errors

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

1) System Name : ERP000

Description : Sending System

2) 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

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

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)

5) Goto Tcode BD64

seelct the modelview

goto >edit>modelview-->distribute

press ok & Press enter

6)goto Tcode : BD10 for Material sending

Material : mat_001

Message Type : MATMAS

Logical System : ERP800

and Execute

7)goto Tcode : BD11 for Material Receiving

Material : mat_001

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

I know 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

with regards,

sowjanya.gosala