*&---------------------------------------------------------------------*
*& Report ZSS_TEST_003
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zss_test_003.
TABLES: mara,ekko,vbak,lips.
TYPES: BEGIN OF ty_mara,
matnr TYPE matnr, "Material Number
mtart TYPE mtart, "Material Type
mbrsh TYPE mbrsh, "Industry sector
matkl TYPE matkl, "Material Group
meins TYPE meins, "Base Unit of Measure
END OF ty_mara,
BEGIN OF ty_ekko,
ebeln TYPE ebeln, "Purchasing Document Number
bukrs TYPE bukrs, "Company Code
bstyp TYPE ebstyp, "Purchasing Document Category
bsart TYPE esart, "Purchasing Document Type
END OF ty_ekko,
BEGIN OF ty_vbak,
vbeln TYPE vbeln_va, "Sales Document
erdat TYPE erdat, "Date on Which Record Was Created
auart TYPE auart, "Sales Document Type
netwr TYPE netwr_ak, "Net Value of the Sales Order in Document Currency
END OF ty_vbak,
BEGIN OF ty_lips,
vbeln TYPE vbeln_vl, "Delivery
posnr TYPE posnr_vl, "Delivery Item
pstyv TYPE pstyv_vl, "Delivery item category
ernam TYPE ernam, "Name of Person who Created the Object
END OF ty_lips.
DATA: it_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 0,
wa_mara TYPE ty_mara,
it_ekko TYPE STANDARD TABLE OF ty_ekko INITIAL SIZE 0,
wa_ekko TYPE ty_ekko,
it_vbak TYPE STANDARD TABLE OF ty_vbak INITIAL SIZE 0,
wa_vbak TYPE ty_vbak,
it_lips TYPE STANDARD TABLE OF ty_lips INITIAL SIZE 0,
wa_lips TYPE ty_lips.
PARAMETERS: p_check1 AS CHECKBOX USER-COMMAND check DEFAULT'X',
p_check2 AS CHECKBOX USER-COMMAND check,
p_check3 AS CHECKBOX USER-COMMAND check ,
p_check4 AS CHECKBOX USER-COMMAND check .
DATA: value TYPE char10.
SELECT-OPTIONS: s_mara FOR mara-matnr MODIF ID s1.
SELECT-OPTIONS: s_ekko FOR ekko-ebeln MODIF ID s2.
SELECT-OPTIONS: s_vbak FOR vbak-vbeln MODIF ID s3.
SELECT-OPTIONS: s_lips FOR lips-vbeln MODIF ID s4.
INITIALIZATION.
p_check1 = 'MARA'.
p_check2 = 'EKKO'.
p_check3 = 'VBAK'.
p_check4 = 'LIPS'.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_check1 = 'X'.
IF screen-group1 = 'S1'.
screen-active = 1.
ELSEIF screen-group1 = 'S2'.
screen-active = 0.
ELSEIF screen-group1 = 'S3'.
screen-active = 0.
ELSEIF screen-group1 = 'S4'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ELSEIF p_check2 = 'X'.
IF screen-group1 = 'S1'.
screen-active = 0.
ELSEIF screen-group1 = 'S2'.
screen-active = 1.
ELSEIF screen-group1 = 'S3'.
screen-active = 0.
ELSEIF screen-group1 = 'S4'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ELSEIF p_check3 = 'X'.
IF screen-group1 = 'S1'.
screen-active = 0.
ELSEIF screen-group1 = 'S2'.
screen-active = 0.
ELSEIF screen-group1 = 'S3'.
screen-active = 1.
ELSEIF screen-group1 = 'S4'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ELSEIF p_check4 = 'X'.
IF screen-group1 = 'S1'.
screen-active = 0.
ELSEIF screen-group1 = 'S2'.
screen-active = 0.
ELSEIF screen-group1 = 'S3'.
screen-active = 0.
ELSEIF screen-group1 = 'S4'.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ELSE.
IF screen-group1 = 'S1'.
screen-active = 0.
ELSEIF screen-group1 = 'S2'.
screen-active = 0.
ELSEIF screen-group1 = 'S3'.
screen-active = 0.
ELSEIF screen-group1 = 'S4'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN.
GET CURSOR FIELD value.
** loop at screen.
IF value = 'P_CHECK1'.
* Select MATNR "Material Number
* MTART "Material Type
* MBRSH "Industry sector
* MATKL "Material Group
* MEINS "Base Unit of Measure
* from mara
* into table it_mara
* where matnr in s_matnr.
* if sy-subrc eq 0.
* sort it_mara by matnr.
* endif.
p_check2 = space.
p_check3 = space.
p_check4 = space.
ELSEIF value = 'P_CHECK2'.
p_check1 = space.
p_check3 = space.
p_check4 = space.
ELSEIF value = 'P_CHECK3'.
p_check1 = space.
p_check2 = space.
p_check4 = space.
ELSEIF value = 'P_CHECK4'.
p_check2 = space.
p_check3 = space.
p_check1 = space.
ENDIF.
START-OF-SELECTION.
IF p_check1 = 'X'.
SELECT matnr "Material Number
mtart "Material Type
mbrsh "Industry sector
matkl "Material Group
meins "Base Unit of Measure
FROM mara
INTO TABLE it_mara
WHERE matnr IN s_mara.
ELSEIF p_check2 = 'X'.
SELECT ebeln "Purchasing Document Number
bukrs "Company Code
bstyp "Purchasing Document Category
bsart "Purchasing Document Type
FROM ekko
INTO TABLE it_ekko
WHERE ebeln IN s_ekko.
ELSEIF p_check3 = 'X'.
SELECT vbeln "Sales Document
erdat "Date on Which Record Was Created
auart "Sales Document Type
netwr "Net Value of the Sales Order in Document Currency
FROM vbak
INTO TABLE it_vbak
WHERE vbeln IN s_vbak.
ELSEIF p_check4 = 'X'.
SELECT vbeln "Delivery
posnr "Delivery Item
pstyv "Delivery item category
ernam "Name of Person who Created the Object
FROM lips
INTO TABLE it_lips
WHERE vbeln IN s_lips.
ENDIF.
END-OF-SELECTION.
IF p_check1 = 'X'.
LOOP AT it_mara INTO wa_mara.
WRITE: / wa_mara-matnr, "Material Number
wa_mara-mtart, "Material Type
wa_mara-mbrsh, "Industry sector
wa_mara-matkl, "Material Group
wa_mara-meins. "Base Unit of Measure
ENDLOOP.
ENDIF.
IF p_check2 = 'X'.
LOOP AT it_ekko INTO wa_ekko.
WRITE: / wa_ekko-ebeln, "Purchasing Document Number
wa_ekko-bukrs, "Company Code
wa_ekko-bstyp, "Purchasing Document Category
wa_ekko-bsart. "Purchasing Document Type
ENDLOOP.
ENDIF.
IF p_check3 = 'X'.
LOOP AT it_vbak INTO wa_vbak.
WRITE: / wa_vbak-vbeln, "Sales Document
wa_vbak-erdat, "Date on Which Record Was Created
wa_vbak-auart, "Sales Document Type
wa_vbak-netwr. "Net Value of the Sales Order in Document Currency
ENDLOOP.
ENDIF.
IF p_check4 = 'X'.
LOOP AT it_lips INTO wa_lips.
WRITE: / wa_lips-vbeln, "Delivery
wa_lips-posnr, "Delivery Item
wa_lips-pstyv, "Delivery item category
wa_lips-ernam. "Name of Person who Created the Object
ENDLOOP.
ENDIF.
No comments:
Post a Comment