On both sides:
Logical System Names SALE
Setup RFC destinations SM59
Port Destinations WE21
In Source system:
Segment Creation WE31
Basic IDOC Type Creation WE30
Message Type Creation WE81
Assign Message Type To Basic IDOC Type WE82
Distribution Model BD64
Writing Report Program SE38
Partner Profile WE20
Message control NACE
Check IDOCs WE02, WE05
In Destination System:
Creating FM SE37
Assign FM to Logical Message WE57
Define I/P method for Inbound FM BD51
Create Process Code WE42
Generate Partner Profile BD64.
--------------------------------------------------------------------------------
Note:Different clients but same server.
Creating the Logical System Names and Assigning to Clients:Creating table structure:
ð Go to TCODE SE11.
ð Specify table name as zdemo_material.( in client 800 EC3)
Creating IDOC Segments:
Go to TCODE WE31.
Specify a name and Click on Create Button.
Creating Basic IDOC Type:
Go to TCODE WE30Specify a name to your IDOC and click on create button.
after creating NOTE: Go to menu EDIT->Click Set ReleaseCreating Message Type:
Go to TCODE WE81.
Click on Display / Change button.
Assign Message Type to Basic IDOC Type:
Go to TCODE WE82
Click on Display / Change Button
Creating Model View and Distributing and Generating Partner profile:
Go to TCODE BD64
Click on Display/ Change button
check partner profile
Go to TCODE WE20
In displayed screen select the partner system in left side tree under Partner Type LS.
TABLES: zdemo_material.
DATA : S_CTRL_REC LIKE EDIDC, "Idoc Control Record
S_ZSEGMENT LIKE ZSEGMENT. "CUSTOMER Header Data
DATA : T_zdemo_material LIKE zdemo_material OCCURS 0 WITH HEADER LINE.
DATA : T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE. "Data Records
DATA : T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE. "Generated Communication IDOc
CONSTANTS :C_ZSHSTUSEG LIKE EDIDD-SEGNAM VALUE 'ZSEGMENT'.
CONSTANTS: C_IDOCTP LIKE EDIDC-IDOCTP VALUE 'ZSTUDENTIDOC'.
*** Selection Screen
SELECT-OPTIONS : S_BUKRS FOR zdemo_material-BUKRS OBLIGATORY.
PARAMETERS : C_MESTYP LIKE EDIDC-MESTYP DEFAULT 'ZCLIENTMSG', "Message Type
C_RCVPRT LIKE EDIDC-RCVPRT DEFAULT 'LS', "Partner type of receiver
C_LOGSYS LIKE EDIDC-RCVPRN DEFAULT 'EC3812'.
* C_RCVPOR LIKE EDIDC-RCVPOR DEFAULT 'A000000018',
* C_SNDPRN LIKE EDIDC-SNDPRN DEFAULT 'EC3',
* C_SNDPRT LIKE EDIDC-SNDPRT DEFAULT 'LS'. "Destination System
DATA ZSEGMENT.
***START-OF-SELECTION
START-OF-SELECTION.
PERFORM GENERATE_DATA_RECORDS.
PERFORM GENERATE_CONTROL_RECORD.
PERFORM SEND_IDOC.
*&---------------------------------------------------------------------*
*& Form GENERATE_DATA_RECORDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GENERATE_DATA_RECORDS .
SELECT * FROM zdemo_material
INTO TABLE T_zdemo_material
WHERE BUKRS IN S_BUKRS.
IF SY-SUBRC NE 0.
MESSAGE E398(00) WITH 'No Company code Found'.
ENDIF.
PERFORM ARRANGE_DATA_RECORDS.
ENDFORM. " GENERATE_DATA_RECORDS
*&---------------------------------------------------------------------*
*& Form GENERATE_CONTROL_RECORD
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GENERATE_CONTROL_RECORD .
* S_CTRL_REC-RCVPOR = C_RCVPOR. "Receiver Port
S_CTRL_REC-MESTYP = C_MESTYP. "Message type
S_CTRL_REC-IDOCTP = C_IDOCTP. "Basic IDOC type
S_CTRL_REC-RCVPRT = C_RCVPRT. "Partner type of receiver
S_CTRL_REC-RCVPRN = C_LOGSYS. "Partner number of receiver
* S_CTRL_REC-SNDPRT = C_SNDPRT. "Sender Partner type
* S_CTRL_REC-SNDPRN = C_SNDPRN. "Sender Partner Number
ENDFORM. " GENERATE_CONTROL_RECORD
*&---------------------------------------------------------------------*
*& Form SEND_IDOC
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SEND_IDOC .
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = S_CTRL_REC
* OBJ_TYPE = ''
* CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = T_COMM_IDOC
MASTER_IDOC_DATA = T_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.
ELSE.
COMMIT WORK.
LOOP AT T_COMM_IDOC.
WRITE:/ 'IDoc Generated - ', T_COMM_IDOC-DOCNUM.
ENDLOOP.
ENDIF.
ENDFORM. " SEND_IDOC
*&---------------------------------------------------------------------*
*& Form ARRANGE_DATA_RECORDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ARRANGE_DATA_RECORDS .
SORT T_zdemo_material BY BUKRS.
LOOP AT T_zdemo_material.
S_ZSEGMENT-MANDT = T_zdemo_material-MANDT.
S_ZSEGMENT-BUKRS = T_zdemo_material-BUKRS.
S_ZSEGMENT-BUTXT = T_zdemo_material-BUTXT.
S_ZSEGMENT-ORT01 = T_zdemo_material-ORT01.
s_ZSEGMENT-ADRNR = T_zdemo_material-ADRNR.
T_EDIDD-SEGNAM = C_ZSHSTUSEG.
T_EDIDD-SDATA = S_ZSEGMENT.
APPEND T_EDIDD.
CLEAR T_EDIDD.
ENDLOOP.
ENDFORM. " ARRANGE_DATA_RECORDS
Go to TCODE WE02 to check the generated IDOC control records.
Click on Execute or Refersh
If u find the Status Yellow.
Then Go se38.. Program name: RSEOUT00...Execute
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.