Skip to main content

YCLASSICAL_JOINING

*&---------------------------------------------------------------------* *& Report  YCLASSICAL_JOINING *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT   yclassical_joining  NO   STANDARD   PAGE  HEADING                               LINE - SIZE   110                               LINE - COUNT   255                               MESSAGE - ID  z...

SAP ABAP Program to Send IDOC

SAP ABAP Program to Send IDOC
This is the SAP ABAP Program to send custom Idoc ,it useful for SAP ABAP Developers who are developing idocs .
*&---------------------------------------------------------------------*
*& Report ZIDOC_PROGRAM
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZIDOC_PROGRAM.
types : begin of zidoc_table,
zid type zid,
zname type znname2,
zcity type zcity,
END OF zidoc_table.
DATA :it_zidoc type TABLE OF zidoc_table,
wa_zidoc type zidoc_table,
s_segment type zidoc_segment,
it_ddic type TABLE OF edidc,
wa_ddic type edidc,
it_eddis type TABLE OF edids,
wa_eddis type edids,
it_eddid type TABLE OF edidd,
wa_eddid type edidd.
CONSTANTS : c_zseg like edidd-segnam VALUE 'zidoc_segment'.
*SELECTION-SCREEN :
select-OPTIONS : s_zid for wa_zidoc-zid.
PARAMETERS : p_mestyp type edidc-mestyp,
p_prtnr type edidc-rcvprt,
p_ddidc type edidc-idoctp,
p_lgsys type edidc-rcvprn,
p_port type edidc-rcvpor,
p_sndsys type edidc-sndprn,
p_sndprt type edidc-sndprt.
perform generate_datarecords.
perform generate_controlrecords.
perform send_idoc.
*&---------------------------------------------------------------------*
*& Form GENERATE_DATARECORDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GENERATE_DATARECORDS .
select zid zname zcity from zidoc_table into table it_zidoc where zid in s_zid.
PERFORM arrange-datarecords.
ENDFORM. " GENERATE_DATARECORDS
*&---------------------------------------------------------------------*
*& Form GENERATE_CONTROLRECORDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GENERATE_CONTROLRECORDS .
wa_ddic-rcvpor = p_port.
wa_ddic-mestyp = p_mestyp.
wa_ddic-idoctp = p_ddidc.
wa_ddic-rcvprt = p_prtnr.
wa_ddic-rcvprn = p_lgsys.
wa_ddic-sndprt = p_sndprt.
wa_ddic-sndprn = p_sndsys.
ENDFORM. " GENERATE_CONTROLRECORDS
*&---------------------------------------------------------------------*
*& Form SEND_IDOC
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM SEND_IDOC .
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL = wa_ddic
* OBJ_TYPE = ''
* CHNUM = ''
TABLES
COMMUNICATION_IDOC_CONTROL = it_ddic
MASTER_IDOC_DATA = it_eddid
* 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.
* Implement suitable error handling here
ENDIF.
ENDFORM. " SEND_IDOC
*&---------------------------------------------------------------------*
*& Form ARRANGE-DATARECORDS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ARRANGE-DATARECORDS .
loop at it_zidoc INTO wa_zidoc.
s_segment-zid = wa_zidoc-zid.
s_segment-zname = wa_zidoc-zname.
s_segment-zcity = wa_zidoc-zcity.
wa_eddid-segnam = c_zseg.
wa_eddid-sdata = s_segment.
append wa_eddid to it_eddid.
clear wa_eddid.
endloop.
ENDFORM. " ARRANGE-DATARECORDS.

Comments

Popular posts from this blog

ABAP Programming Types

ABAP Programming Types In SAP,each ABAP Program has the Type ,based on the Program Type ,we can understand what is that kind of program.There are 8 programming Types . When a program is created, the suitable statement is automatically generated by the ABAP Workbench and should be changed during editing in the additions only. In particular, the keywords FUNCTION-POOL, CLASS-POOL, INTERFACE-POOL, and TYPE-POOL should be created solely by the respective tools of the ABAP Workb ench and never be entered in the source text themselves in order to avoid unexpected system behavior. REPORT Report Type Program is Executable. Module Pool Module Type is a Executable PROGRAM FUNCTION-POOL The introductory statement FUNCTION-POOL declares a program in which you can define function modules. Class Pool The introductory program statements CLASS-POOL and INTERFACE-POOL are provided solely for class and interface definitions. Subroutine Pool This Statement used for creating subrout...

BADI in SAP ABAP Step by Step

BADI in SAP ABAP Step by Step BAdI Acronym of Business Add Ins As a customer outsider, it helps BAdI to improve SAP functionality. Why is BADI? Unlike previous improvement methods, BADI continues the approach aimed at re-use objectives. BADI can be used in a number of times that these standard evaluation techniques can only be used once. For example, if you are upgrading a custom project, you can not map the extension on other custom projects. In order to overcome this disadvantage, SAP provided a new evaluation technique called BADI. Code of transaction for BADI definition: SE18 When you create a BAdI definition, you create a class interface automatically and you can define the methods in the interface. The application of the methods can be made in SE19 transactions. When created BAD, they are generated automatically: An interface with 'IF_EX_' is inserted between the first and second characters of the BAdi name Class classified as 'CL_EX_' inserted betwee...

Created structur transaction

Created structur transaction UFD - Distribute Variant Functions CU01 - Create Dependency CU60 - Table Maintenance CU02 - Change Dependency CU65 - Create Function CU21 - Create Dependency Net CU61 - Create Table Structure CU03 - Display Dependency CU59 - Transfer Variant Table Contents CU22 - Change Dependency Net CU63 - Display Table Structure CU05 - Dependency Where-Used List CU04 - Dependency List CU62 - Change Table Structure CU23 - Display Dependency Net