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

Out bound idoc

Former Member
0 Likes
939

Hi experts,

I am given a task to create an out bound IDOC which would be input to TIBCO, which must be triggered every time Good issue transaction is completed by either VT02N or VL02N transaction up pressing SAVE.

IDOC is to have fields from Customize tables apart from standard SAP tables, so was asked to create an own IDOC ( eg: Z--Idoc).

Please tell me how to create the idoc, and also the method to trigger it and how to populate the IDOC ( program etc).

Use full inputs would be promtly rewarded.

Regards,

Ram.

1 ACCEPTED SOLUTION
Read only

paruchuri_nagesh
Active Contributor
0 Likes
888

hi

CATSDB CUSTOM IDOC TRANSFERMATION BETWEEN 2 DIFFERENT APPLICATION SERVERS

For this scenario Client 800 of application server SAPADM is the Sender and client 800 of application server SAP-REMOTE is the Receiver

1. Creating Logical Systems

o Login using 800 client

o Go to T. Code SALE

o Expand Sending and Receiving Systems

o Expand Logical Systems

o Click on Define Logical System

o Click on New Entries

o Create CATSSENDER, ECC Logical Systems

o Save and come back

o Assign the CATSSENDER Logical System to client 800 of Application Server SAPADMAssign the ECC Logical System to client 800 of Application Server SAP-REMOTE

2. Creating the RFCs

o Go to T. Code SM59

o Expand R/3 Connections

o Enter RFC Name as CATSSENDER

o Connection Type as 3

o Language as EN

o Client as 800

o User as SAPUSER

o Password as YESV13

o Target host as SAPADM

o Click on Remote logon button to test the RFC

o Enter RFC Name as ECC

o Connection Type as 3

o Language as EN

o Client as 800

o User as SAPUSER

o Password as YESV123

o Target host as SAPADM

o Click on Remote logon button to test the RFC

3. Creating the Message Type

o Go to T. Code WE81

o Click on change, continue

o Click on New Entries button

o Give message type as ZCATSTIME and description

o Save and back

4. Creating the Segment

o Go to T. Code WE31

o Give segment name as ZSEGMENTTIME

o Enter Short Text

o Enter the Field Name and Data Element in the text boxes

o Save, continue,

o Click on Edit -> Set Release

5. Creating the Basic IDOC Object

o Go to T. code WE30

o Give obj. name as ZTIMEIDOC

o Click on create

o Select create new radio button, give description and continue

o Select the IDOC obj name and click on create button

o Enter the segment name which is create earlier

o Select the check box if you want to make the segment mandatory

o Enter 1 in minimum number 99999 in maximum number, continue

o Save and backo Click on Edit -> Set Release

6. Creating Customer Distribution Model

o Go to T. Code BD64

o Click on change and Create model view button

o Enter the short text and Technical name as CATSSENDER

o Select the model and click on Add Message Type Button

o Give the Sender as CATSSENDER,

o Receiver as ECC,

o Message Type as ZCATSTIME

o Select the model view & click on Environment -> Generate Partner Profiles

o Select Transfer IDOC Immediately and Trigger Immediately radio buttons

o Click on Execute

o You should get a list in green color which means it executed successfully.

o Back to main screen, select the model view

o Click Edit->Model view->Distribute

o Click on continueo

You should get a list saying model view is distributed successfully.

7. Checking the Port

o Go to T. Code WE21

o Expand Transactional RFC

o Find the port from the list which is created using BD64 for ECC (Receiving system) RFC Destination.

8. Checking the Partner Profiles.

o Go to T. Code WE20

o Expand Partner Type LS

o Select the Partner profile ECC

o Double click on Message Type ZCATSTIME in Outbound parmtrs.

o Check Receiver Port is assigned correctlyo

Check the Basic type as your Basic IDOC object.

9. Assigning the Message Type to Basic IDOC Object

o Go to T. Code WE82

o Click on Change & continue, New Entries button

o Give the Message type as ZCATSTIME

o Give Basic Type as ZTIMEIDOC

o Release as 4.6C

o Save and back10. Creating Inbound Function Module (Posting Program)

o Go to T. Code SE37

o Create a function Module ZCATSDB_TIMESHEET_SURESH

o Set the Processing type as Remote Enabled Module and mode as start immed, in Attributes Tab.

o Import Parameters

P_WORKDATE LIKE CATSDB-WORKDATE

P_COUNTER LIKE CATSDB-COUNTER

P_LSTAR LIKE CATSDB-LSTAR

o Export Parameters

o Tables

S_PERNR LIKE ZCATSPERNR

[PERNR is select option parameters in ZCUSTOMIDOC report program so that it should be passed to function module ZCATSDB_TIMESHEET_SURESH in tables section. And also in tables section we used ZCATSPERNR, which is a global structure, which contains four fields as

Ø SIGN

Ø OPTION

Ø LOW

Ø HIGH]

o Exceptions

o Source Code

FUNCTION zcatsdb_timesheet_suresh.

*"----

-


""Local interface:

*" IMPORTING

*" VALUE(P_WORKDATE) LIKE CATSDB-WORKDATE

*" VALUE(P_COUNTER) LIKE CATSDB-COUNTER

*" VALUE(P_LSTAR) LIKE CATSDB-LSTAR

*" TABLES

*" S_PERNR STRUCTURE ZCATSPERNR

*"----

-


TABLES: catsdb, edidc, edidd. " using structures of catsdb, edidc, edidd

CONSTANTS: c_doctyp TYPE edidc-idoctp VALUE 'ZTIMEIDOC', " idoc type

c_segnam TYPE edidd-segnam VALUE 'ZSEGMENTTIME', "segment type

c_mestyp TYPE edidc-mestyp VALUE 'ZCATSTIME'. " message type

*001 comment begin

  • creating internal tables with out header lines for catsdb, edidc, edidd and also

- work areas

*001 comment end

DATA: it_edidc TYPE edidc OCCURS 0, " control internal table with out header line

it_edidd TYPE edidd OCCURS 0, " data internal table with out header line

wa_catsdb TYPE it_catsdb1, " work area for it_catsdb internal table

wa_edidc TYPE edidc, " work area for it_edidc internal table

wa_edidd TYPE edidd, " work area for it_edidd internal table

wa_zsegmenttime TYPE zsegmenttime, " work area for zsegment internal table

v_occmax TYPE idocsyn-occmax,

v_nbseg TYPE i.

CLEAR wa_catsdb. " clears work area of catsdb

CLEAR wa_edidc. " clears edidc work area

*002 comment begin

  • Save the message type and the basic IDoc type in the control segment.

*002 comment end

MOVE c_mestyp TO wa_edidc-mestyp. " assigning custom message type to edidc workarea

MOVE c_doctyp TO wa_edidc-idoctp. " assigning custom idoc type to edidc workarea

*003 comment begin

  • Retrieve the maximum number of segments in the basic IDoc type.

*003 comment end

SELECT MIN( occmax ) FROM idocsyn INTO v_occmax WHERE idoctyp EQ c_doctyp AND segtyp EQ c_segnam.

*004 comment begin

  • Save the whole CATSDB table content in the IT_ZCATSDB internal table.

*004 comment end

SELECT pernr workdate lstar counter FROM catsdb INTO CORRESPONDING FIELDS OF TABLE it_catsdb WHERE pernr IN s_pernr AND workdate EQ p_workdate.

*005 comment begin

  • Create a data segment for each line of IT_ZCATSDB.

*005 comment end

IF sy-subrc EQ 0.

LOOP AT it_catsdb INTO wa_catsdb WHERE pernr IN s_pernr.

MOVE-CORRESPONDING wa_catsdb TO wa_zsegmenttime.

CLEAR wa_edidd.

MOVE c_segnam TO wa_edidd-segnam.

MOVE wa_zsegmenttime TO wa_edidd-sdata.

APPEND wa_edidd TO it_edidd.

CLEAR wa_catsdb.

CLEAR wa_zsegmenttime.

ENDLOOP.

ELSE.

MESSAGE 'NO DATA FOUND FOR GIVEN SELECTION' TYPE 'I'.

ENDIF.

*006 comment begin

  • Count the number of data segments.

*006 comment end

DESCRIBE TABLE it_edidd LINES v_nbseg.

*007 comment begin

  • If the number of data segments exceeds the maximum allowed number,then display an error message.

*007 comment end

IF v_nbseg GT v_occmax.

MESSAGE 'IDOC ERROR Message' TYPE 'E000'.

ENDIF.

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE' " for creating an catsdb idoc

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.

  • ENDIF.

ENDFUNCTION.

Save, check and activate

111. Assigning the Inbound Function Module to Basic Type & Message Type

o Go to T. Code WE57

o Click on change, continue, continue and New Entries Button

o Enter the Module as ZCATSDB_TIMESHEET_SURESH Type as "F"

o Basic Type as ZTIMEIDOC

o Message Type as ZCATSTIME

o Direction as 2

o Save and back

Now Login in 800 client of Application Server SAP-REMOTE

12. Assigning the Inbound Function Module in ALE Table

o Go to T. Code BD51

o Click on continue, New Entries button

o Give the Inbound Function Module ZCATSDB_TIMESHEET_SURESH

o Give Input t. as 0 (zero)

o Save and back13. Creating Process Code

o Go to T. Code WE42

o Click on Change, New Entries Button

o Give Process Code name as ZCATSDB, give Description & Save

o Select Processing with ALE Services Radio button

o Select Processing by Function Module Radio button

o Click the ALE Table (arrow Icon) in Identification

o Give the Function Module Name ZIDOC_INPUT_ZBAPI_STUD_MAS

o Give maximum number of repeats 0

o Save and back, back

o Select the process code from the list & click on Logical Messages Icon

o Give the Message Type as ZCATSTIME

o Save & Back, Save & Back, Save & Back

14. Changing the Customer Distribution model in receiving system

o Go to T. Code BD64

o Click on change and Create model view button

o Enter the short text and Technical name as CATSECC

o Select the model view & click on Environment -> Generate Partner Profiles

o Select Transfer IDOC Immediately and Trigger Immediately radio buttonso Click on Execute You should get a list in green color which means it executed successfully.15. Assigning the Process Code to Message Type in Receiving System

o Go to T. Code WE20

o Expand Partner Type LS

o Select the Partner Profile CATSSENDER

o Double click on Message Type ZCATSTIME in Inbound parmtrs.

o Give the Process Code as ZCATSDB

o Click on Trigger Immediately Radio button

o Save & Back

Save & Back

16. Creating the Selection Program (Outbound Program)

- Login in client 800.

- Go to T. Code SE38

- Create a Report Program as ZCUSTOMIDOC with the following code

REPORT ZCUSTOMIDOC

NO STANDARD PAGE HEADING.

TABLES:catsdb. " using structure of cats db table

*000 comment begin

  • this selection screen contains one select option and one parameter

*000 comment end

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS pernr FOR catsdb-pernr.

PARAMETER: workdate LIKE catsdb-workdate,

LSTAR like catsdb-LSTAR,

COUNTER like catsdb-counter.

SELECTION-SCREEN: END OF BLOCK b1 .

DATA: wa_val TYPE i.

wa_val = pernr-high - pernr-low.

*001 comment begin

  • calling custom function module

*001 comment end

CALL FUNCTION 'ZCATSDB_TIMESHEET_SURESH'

EXPORTING

p_workdate = workdate " passing workdate parameter

p_LSTAR = LSTAR

p_counter = counter

TABLES

s_pernr = pernr. " passing pernr select option

IF sy-subrc EQ 0.

MESSAGE i000(zaluri) WITH 'IDOCS CREATED FOR EMPLOYEES BETWEEN' pernr-low ' AND ' pernr-high .

  • MESSAGE i000(zaluri) WITH 'IDOCS CREATED FOR EMPLOYEES BETWEEN' PERNR-LOW 'TO' PERNR-HIGH.

  • gives information message if idocs are created for given employees

ELSE.

MESSAGE e000(zaluri) WITH 'NO IDOCS CREATED FOR EMPLOYEES' pernr-low 'TO' pernr-high. " gives error message

" if idoc is not created

17. Transferring the CATSDB records from sender Application Server SAPADM to receiver Application Server SAP-REMOTE

- Execute Report Program ZCUSTOMIDOC

- Give the Range of PERSONNEL NO'S, Date, Activity Type, Counter to Transfer

- Give Message Type as ZCATSTIME

- Give Receiver Logical system as ECC

- Execute

- You should get the IDOC Number

- Take the IDOC Number and go to T. Code WE05 & Execute

- In Outbox you can see the IDOC Status

- Select the status record in left side window

- Double click on the Status record in right side window- You can see the Control Record, Data Record and Status Records for that IDOC

If the ICON is green and the status code is 3, it means the IDOC is passed to PORT Successfully

18. SENDING IDOCS FROM APPLICATION SERVER SAPADM

TO APPLICATION SERVER SAP-REMOTE USING WEDI

- Go to T. Code WEDI & execute or T. Code WE19

- Give idoc number it is generated recently

- Continue & double click on segment to view data in segment

- Click on EDIDC to give port, partner no, message type, partner

type of receiver. [For sender no need to give any port no leave it as

blank]

- Click on Standard Outbound Processing button and click continue

- You will get a message as idocs successfully transferred

Now Login in Receiver 800 client

- Go to T. Code WE05 & Execute

- You can see the status record in left side window

- If the status no is 53 and color is green, it means the IDOC is posted to Application successfully.

- You can see the Log Information by double clicking on the status record in right side window.

- Now in left side window, you can see the Control Record, Data Record & Status Record of the IDOC

- Now go to T. Code SE16

- Give the table name CATSDB & press F7

- See the contents of the table

- The table is updated with the catsdb records transferred from 800 client with our selection program.

reward if ufind useful

regards

Nagesh.Paruchuri

3 REPLIES 3
Read only

paruchuri_nagesh
Active Contributor
0 Likes
889

hi

CATSDB CUSTOM IDOC TRANSFERMATION BETWEEN 2 DIFFERENT APPLICATION SERVERS

For this scenario Client 800 of application server SAPADM is the Sender and client 800 of application server SAP-REMOTE is the Receiver

1. Creating Logical Systems

o Login using 800 client

o Go to T. Code SALE

o Expand Sending and Receiving Systems

o Expand Logical Systems

o Click on Define Logical System

o Click on New Entries

o Create CATSSENDER, ECC Logical Systems

o Save and come back

o Assign the CATSSENDER Logical System to client 800 of Application Server SAPADMAssign the ECC Logical System to client 800 of Application Server SAP-REMOTE

2. Creating the RFCs

o Go to T. Code SM59

o Expand R/3 Connections

o Enter RFC Name as CATSSENDER

o Connection Type as 3

o Language as EN

o Client as 800

o User as SAPUSER

o Password as YESV13

o Target host as SAPADM

o Click on Remote logon button to test the RFC

o Enter RFC Name as ECC

o Connection Type as 3

o Language as EN

o Client as 800

o User as SAPUSER

o Password as YESV123

o Target host as SAPADM

o Click on Remote logon button to test the RFC

3. Creating the Message Type

o Go to T. Code WE81

o Click on change, continue

o Click on New Entries button

o Give message type as ZCATSTIME and description

o Save and back

4. Creating the Segment

o Go to T. Code WE31

o Give segment name as ZSEGMENTTIME

o Enter Short Text

o Enter the Field Name and Data Element in the text boxes

o Save, continue,

o Click on Edit -> Set Release

5. Creating the Basic IDOC Object

o Go to T. code WE30

o Give obj. name as ZTIMEIDOC

o Click on create

o Select create new radio button, give description and continue

o Select the IDOC obj name and click on create button

o Enter the segment name which is create earlier

o Select the check box if you want to make the segment mandatory

o Enter 1 in minimum number 99999 in maximum number, continue

o Save and backo Click on Edit -> Set Release

6. Creating Customer Distribution Model

o Go to T. Code BD64

o Click on change and Create model view button

o Enter the short text and Technical name as CATSSENDER

o Select the model and click on Add Message Type Button

o Give the Sender as CATSSENDER,

o Receiver as ECC,

o Message Type as ZCATSTIME

o Select the model view & click on Environment -> Generate Partner Profiles

o Select Transfer IDOC Immediately and Trigger Immediately radio buttons

o Click on Execute

o You should get a list in green color which means it executed successfully.

o Back to main screen, select the model view

o Click Edit->Model view->Distribute

o Click on continueo

You should get a list saying model view is distributed successfully.

7. Checking the Port

o Go to T. Code WE21

o Expand Transactional RFC

o Find the port from the list which is created using BD64 for ECC (Receiving system) RFC Destination.

8. Checking the Partner Profiles.

o Go to T. Code WE20

o Expand Partner Type LS

o Select the Partner profile ECC

o Double click on Message Type ZCATSTIME in Outbound parmtrs.

o Check Receiver Port is assigned correctlyo

Check the Basic type as your Basic IDOC object.

9. Assigning the Message Type to Basic IDOC Object

o Go to T. Code WE82

o Click on Change & continue, New Entries button

o Give the Message type as ZCATSTIME

o Give Basic Type as ZTIMEIDOC

o Release as 4.6C

o Save and back10. Creating Inbound Function Module (Posting Program)

o Go to T. Code SE37

o Create a function Module ZCATSDB_TIMESHEET_SURESH

o Set the Processing type as Remote Enabled Module and mode as start immed, in Attributes Tab.

o Import Parameters

P_WORKDATE LIKE CATSDB-WORKDATE

P_COUNTER LIKE CATSDB-COUNTER

P_LSTAR LIKE CATSDB-LSTAR

o Export Parameters

o Tables

S_PERNR LIKE ZCATSPERNR

[PERNR is select option parameters in ZCUSTOMIDOC report program so that it should be passed to function module ZCATSDB_TIMESHEET_SURESH in tables section. And also in tables section we used ZCATSPERNR, which is a global structure, which contains four fields as

Ø SIGN

Ø OPTION

Ø LOW

Ø HIGH]

o Exceptions

o Source Code

FUNCTION zcatsdb_timesheet_suresh.

*"----

-


""Local interface:

*" IMPORTING

*" VALUE(P_WORKDATE) LIKE CATSDB-WORKDATE

*" VALUE(P_COUNTER) LIKE CATSDB-COUNTER

*" VALUE(P_LSTAR) LIKE CATSDB-LSTAR

*" TABLES

*" S_PERNR STRUCTURE ZCATSPERNR

*"----

-


TABLES: catsdb, edidc, edidd. " using structures of catsdb, edidc, edidd

CONSTANTS: c_doctyp TYPE edidc-idoctp VALUE 'ZTIMEIDOC', " idoc type

c_segnam TYPE edidd-segnam VALUE 'ZSEGMENTTIME', "segment type

c_mestyp TYPE edidc-mestyp VALUE 'ZCATSTIME'. " message type

*001 comment begin

  • creating internal tables with out header lines for catsdb, edidc, edidd and also

- work areas

*001 comment end

DATA: it_edidc TYPE edidc OCCURS 0, " control internal table with out header line

it_edidd TYPE edidd OCCURS 0, " data internal table with out header line

wa_catsdb TYPE it_catsdb1, " work area for it_catsdb internal table

wa_edidc TYPE edidc, " work area for it_edidc internal table

wa_edidd TYPE edidd, " work area for it_edidd internal table

wa_zsegmenttime TYPE zsegmenttime, " work area for zsegment internal table

v_occmax TYPE idocsyn-occmax,

v_nbseg TYPE i.

CLEAR wa_catsdb. " clears work area of catsdb

CLEAR wa_edidc. " clears edidc work area

*002 comment begin

  • Save the message type and the basic IDoc type in the control segment.

*002 comment end

MOVE c_mestyp TO wa_edidc-mestyp. " assigning custom message type to edidc workarea

MOVE c_doctyp TO wa_edidc-idoctp. " assigning custom idoc type to edidc workarea

*003 comment begin

  • Retrieve the maximum number of segments in the basic IDoc type.

*003 comment end

SELECT MIN( occmax ) FROM idocsyn INTO v_occmax WHERE idoctyp EQ c_doctyp AND segtyp EQ c_segnam.

*004 comment begin

  • Save the whole CATSDB table content in the IT_ZCATSDB internal table.

*004 comment end

SELECT pernr workdate lstar counter FROM catsdb INTO CORRESPONDING FIELDS OF TABLE it_catsdb WHERE pernr IN s_pernr AND workdate EQ p_workdate.

*005 comment begin

  • Create a data segment for each line of IT_ZCATSDB.

*005 comment end

IF sy-subrc EQ 0.

LOOP AT it_catsdb INTO wa_catsdb WHERE pernr IN s_pernr.

MOVE-CORRESPONDING wa_catsdb TO wa_zsegmenttime.

CLEAR wa_edidd.

MOVE c_segnam TO wa_edidd-segnam.

MOVE wa_zsegmenttime TO wa_edidd-sdata.

APPEND wa_edidd TO it_edidd.

CLEAR wa_catsdb.

CLEAR wa_zsegmenttime.

ENDLOOP.

ELSE.

MESSAGE 'NO DATA FOUND FOR GIVEN SELECTION' TYPE 'I'.

ENDIF.

*006 comment begin

  • Count the number of data segments.

*006 comment end

DESCRIBE TABLE it_edidd LINES v_nbseg.

*007 comment begin

  • If the number of data segments exceeds the maximum allowed number,then display an error message.

*007 comment end

IF v_nbseg GT v_occmax.

MESSAGE 'IDOC ERROR Message' TYPE 'E000'.

ENDIF.

CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE' " for creating an catsdb idoc

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.

  • ENDIF.

ENDFUNCTION.

Save, check and activate

111. Assigning the Inbound Function Module to Basic Type & Message Type

o Go to T. Code WE57

o Click on change, continue, continue and New Entries Button

o Enter the Module as ZCATSDB_TIMESHEET_SURESH Type as "F"

o Basic Type as ZTIMEIDOC

o Message Type as ZCATSTIME

o Direction as 2

o Save and back

Now Login in 800 client of Application Server SAP-REMOTE

12. Assigning the Inbound Function Module in ALE Table

o Go to T. Code BD51

o Click on continue, New Entries button

o Give the Inbound Function Module ZCATSDB_TIMESHEET_SURESH

o Give Input t. as 0 (zero)

o Save and back13. Creating Process Code

o Go to T. Code WE42

o Click on Change, New Entries Button

o Give Process Code name as ZCATSDB, give Description & Save

o Select Processing with ALE Services Radio button

o Select Processing by Function Module Radio button

o Click the ALE Table (arrow Icon) in Identification

o Give the Function Module Name ZIDOC_INPUT_ZBAPI_STUD_MAS

o Give maximum number of repeats 0

o Save and back, back

o Select the process code from the list & click on Logical Messages Icon

o Give the Message Type as ZCATSTIME

o Save & Back, Save & Back, Save & Back

14. Changing the Customer Distribution model in receiving system

o Go to T. Code BD64

o Click on change and Create model view button

o Enter the short text and Technical name as CATSECC

o Select the model view & click on Environment -> Generate Partner Profiles

o Select Transfer IDOC Immediately and Trigger Immediately radio buttonso Click on Execute You should get a list in green color which means it executed successfully.15. Assigning the Process Code to Message Type in Receiving System

o Go to T. Code WE20

o Expand Partner Type LS

o Select the Partner Profile CATSSENDER

o Double click on Message Type ZCATSTIME in Inbound parmtrs.

o Give the Process Code as ZCATSDB

o Click on Trigger Immediately Radio button

o Save & Back

Save & Back

16. Creating the Selection Program (Outbound Program)

- Login in client 800.

- Go to T. Code SE38

- Create a Report Program as ZCUSTOMIDOC with the following code

REPORT ZCUSTOMIDOC

NO STANDARD PAGE HEADING.

TABLES:catsdb. " using structure of cats db table

*000 comment begin

  • this selection screen contains one select option and one parameter

*000 comment end

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS pernr FOR catsdb-pernr.

PARAMETER: workdate LIKE catsdb-workdate,

LSTAR like catsdb-LSTAR,

COUNTER like catsdb-counter.

SELECTION-SCREEN: END OF BLOCK b1 .

DATA: wa_val TYPE i.

wa_val = pernr-high - pernr-low.

*001 comment begin

  • calling custom function module

*001 comment end

CALL FUNCTION 'ZCATSDB_TIMESHEET_SURESH'

EXPORTING

p_workdate = workdate " passing workdate parameter

p_LSTAR = LSTAR

p_counter = counter

TABLES

s_pernr = pernr. " passing pernr select option

IF sy-subrc EQ 0.

MESSAGE i000(zaluri) WITH 'IDOCS CREATED FOR EMPLOYEES BETWEEN' pernr-low ' AND ' pernr-high .

  • MESSAGE i000(zaluri) WITH 'IDOCS CREATED FOR EMPLOYEES BETWEEN' PERNR-LOW 'TO' PERNR-HIGH.

  • gives information message if idocs are created for given employees

ELSE.

MESSAGE e000(zaluri) WITH 'NO IDOCS CREATED FOR EMPLOYEES' pernr-low 'TO' pernr-high. " gives error message

" if idoc is not created

17. Transferring the CATSDB records from sender Application Server SAPADM to receiver Application Server SAP-REMOTE

- Execute Report Program ZCUSTOMIDOC

- Give the Range of PERSONNEL NO'S, Date, Activity Type, Counter to Transfer

- Give Message Type as ZCATSTIME

- Give Receiver Logical system as ECC

- Execute

- You should get the IDOC Number

- Take the IDOC Number and go to T. Code WE05 & Execute

- In Outbox you can see the IDOC Status

- Select the status record in left side window

- Double click on the Status record in right side window- You can see the Control Record, Data Record and Status Records for that IDOC

If the ICON is green and the status code is 3, it means the IDOC is passed to PORT Successfully

18. SENDING IDOCS FROM APPLICATION SERVER SAPADM

TO APPLICATION SERVER SAP-REMOTE USING WEDI

- Go to T. Code WEDI & execute or T. Code WE19

- Give idoc number it is generated recently

- Continue & double click on segment to view data in segment

- Click on EDIDC to give port, partner no, message type, partner

type of receiver. [For sender no need to give any port no leave it as

blank]

- Click on Standard Outbound Processing button and click continue

- You will get a message as idocs successfully transferred

Now Login in Receiver 800 client

- Go to T. Code WE05 & Execute

- You can see the status record in left side window

- If the status no is 53 and color is green, it means the IDOC is posted to Application successfully.

- You can see the Log Information by double clicking on the status record in right side window.

- Now in left side window, you can see the Control Record, Data Record & Status Record of the IDOC

- Now go to T. Code SE16

- Give the table name CATSDB & press F7

- See the contents of the table

- The table is updated with the catsdb records transferred from 800 client with our selection program.

reward if ufind useful

regards

Nagesh.Paruchuri

Read only

Former Member
0 Likes
888

Hi Rama,

Just try the mentioned Userexits.

You can use the below userexit for delivery(VL02N). It will automatically triger the IDoc.

-> <b>userexit_save_document</b>. which is in program sapmv50a

You can use the below userexit for shipment(VT02N). It will automatically triger the IDoc.

-> <b>userexit_save_document</b>. which is in program sapmv56a

OR

Once you have created the IDoc you can do settings in NACE which will send the IDoc when you press SAVE in either VT02N or VL02N.

For NACE settings you will have to do the following things

1.Go to transaction NACE.

2. Maintain Output type

3. Assign a Processing Routine (give your prog name and the routine name)

4. Assign Partner functions

5. Maintain Output Determination Procedure

6. Assign Output Determination Procedures

Once you have done the settings you will be able to send the IDoc.

Reward if useful

Regards,

Aarti. T.

Read only

Former Member
0 Likes
888

IDOC types are templates for specific message types depending on what is the business document, you want to exchange.

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.

WE30 - you can create a IDOC type.

WE30 - you can create a IDOC type

FOr testing you can use WE19.

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 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://www.sapgenie.com/sapedi/index.htm

http://www.allsaplinks.com/idoc_sample.html

http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm

http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm