Академический Документы
Профессиональный Документы
Культура Документы
Click here to show toolbars of the Web Online Help System: show toolbars
REPORT zhr_permitted_act_to_scanners.
TABLES: zhr_aktivititer.
TYPES:
BEGIN OF t_activities,
orgeh LIKE zhr_aktivititer-orgeh,
actid LIKE zhr_aktivititer-actid,
descr LIKE zhr_aktivititer-descr,
posid LIKE prps-posid,
post1 LIKE prps-post1,
END OF t_activities.
DATA:
gt_activities TYPE STANDARD TABLE OF t_activities,
wa_activities TYPE t_activities,
* Number of idoc created
g_num_of_idocs TYPE i,
* IDOC control record
g_idoc_control LIKE edidc,
* Return data from MASTER_IDOC_DISTRIBUTE
gt_comm_idocs TYPE STANDARD TABLE OF edidc,
wa_comm_idocs TYPE edidc,
* IDOC data record
gt_idoc_data TYPE STANDARD TABLE OF edidd,
wa_idoc_data TYPE edidd,
* Structure for idoc segment Z!ACTIV
g_z1activ LIKE z1activ.
*------------------------------------------------------------------------------
* SELECTION SCREEN
*------------------------------------------------------------------------------
http://www.henrikfrank.dk/abaptips/idocs/generate%20idocs%20from%20a%20report%20.htm 1/5
3/26/2019 Generate IDOCs from a report
* Data selection
SELECT-OPTIONS:
s_orgeh FOR zhr_aktivititer-orgeh.
PARAMETERS:
p_date LIKE sy-datum DEFAULT sy-datum OBLIGATORY.
SELECTION-SCREEN END OF BLOCK SELECTION.
* Communication parameters
SELECTION-SCREEN BEGIN OF BLOCK COMMUNICATION WITH FRAME TITLE text-002.
PARAMETERS:
p_idoctp LIKE edidc-idoctp OBLIGATORY DEFAULT 'ZHRACT01', "Idoc type
p_mestyp LIKE edidc-mestyp OBLIGATORY DEFAULT 'ZHRACT01', "Message type
p_rcvpor LIKE edidc-rcvpor OBLIGATORY DEFAULT 'SAPUXI', "Receiver port
p_rcvprt LIKE edidc-rcvprt OBLIGATORY DEFAULT 'LS', "Receiver partner type
p_rcvprn LIKE edidc-rcvprn OBLIGATORY DEFAULT 'UXICLNT100'. "Receiver partner
SELECTION-SCREEN END OF BLOCK COMMUNICATION.
* Output
SELECTION-SCREEN BEGIN OF BLOCK OUTPUT WITH FRAME TITLE text-010.
PARAMETERS:
p_idoc AS CHECKBOX, "Create idoc
p_report AS CHECKBOX. "Show report
SELECTION-SCREEN END OF BLOCK OUTPUT.
*------------------------------------------------------------------------------
* SELECTION SCREEN OUTPUT
*------------------------------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.
* Protect parameters for idoc type and message type
LOOP AT SCREEN.
IF screen-name = 'P_IDOCTP' OR screen-name = 'P_MESTYP'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*------------------------------------------------------------------------------
* START OF SELECTION
*------------------------------------------------------------------------------
START-OF-SELECTION.
PERFORM read_data.
*------------------------------------------------------------------------------
* END OF SELECTION
*------------------------------------------------------------------------------
END-OF-SELECTION.
PERFORM create_control_record.
PERFORM create_data_records.
IF p_idoc = 'X'.
PERFORM distribute_idoc.
ENDIF.
IF p_report = 'X'.
PERFORM show_report.
ENDIF.
http://www.henrikfrank.dk/abaptips/idocs/generate%20idocs%20from%20a%20report%20.htm 2/5
3/26/2019 Generate IDOCs from a report
*&---------------------------------------------------------------------*
*& Form read_data
*&---------------------------------------------------------------------*
* Read activities from ZHR_AKTIVITITER and the corresponding
* WSB-elements and texts from PRPS
*----------------------------------------------------------------------*
FORM read_data.
REFRESH gt_activities.
SELECT zhr_aktivititer~orgeh
zhr_aktivititer~actid
zhr_aktivititer~descr
prps~posid
prps~post1
INTO CORRESPONDING FIELDS OF TABLE gt_activities
FROM zhr_aktivititer LEFT OUTER JOIN prps
ON prps~pspnr = zhr_aktivititer~pspnr
WHERE zhr_aktivititer~orgeh IN s_orgeh AND
zhr_aktivititer~begda <= p_date AND
zhr_aktivititer~endda >= p_date.
g_idoc_control-mestyp = p_mestyp.
g_idoc_control-idoctp = p_idoctp.
g_idoc_control-rcvpor = p_rcvpor.
g_idoc_control-rcvprt = p_rcvprt.
g_idoc_control-rcvprn = p_rcvprn.
REFRESH gt_idoc_data.
CLEAR:
wa_activities,
l_old_orgeh.
http://www.henrikfrank.dk/abaptips/idocs/generate%20idocs%20from%20a%20report%20.htm 3/5
3/26/2019 Generate IDOCs from a report
wa_idoc_data-segnam = 'Z1ACTIV'.
g_z1activ-orgeh = wa_activities-orgeh.
g_z1activ-actid = wa_activities-actid.
g_z1activ-descr = wa_activities-descr.
g_z1activ-posid = wa_activities-posid.
g_z1activ-post1 = wa_activities-post1.
REFRESH gt_comm_idocs.
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.
ENDIF.
* Generated IDOCs
WRITE : / text-003 COLOR COL_HEADING INTENSIFIED ON.
LOOP AT gt_comm_idocs INTO wa_comm_idocs.
WRITE : / wa_comm_idocs-docnum.
ENDLOOP.
SKIP 2.
ENDIF.
http://www.henrikfrank.dk/abaptips/idocs/generate%20idocs%20from%20a%20report%20.htm 4/5
3/26/2019 Generate IDOCs from a report
* Show selected activities
SKIP 1.
FORMAT COLOR COL_HEADING.
WRITE AT 2 text-004. "Team
WRITE AT 12 text-005. "Aktivitets ID'.
WRITE AT 22 text-006. "Aktivitets beskrivelse'.
WRITE AT 59 text-007. "PSP-element'.
WRITE AT 79 text-008. "PSP kort tekst'.
FORMAT RESET.
http://www.henrikfrank.dk/abaptips/idocs/generate%20idocs%20from%20a%20report%20.htm 5/5