*&---------------------------------------------------------------------*
*& Report ZSS_TEST_005
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zss_test_005.
TABLES: mara,makt.
TYPES: BEGIN OF ty_mara,
matnr TYPE matnr, "Material Number
ersda TYPE ersda, "Created On
ernam TYPE ernam, "Name of Person who Created the Object
END OF ty_mara,
BEGIN OF ty_makt,
matnr TYPE matnr, "Material Number
spras TYPE spras, "Language Key
maktx TYPE maktx, "Material Description (Short Text)
END OF ty_makt.
DATA: it_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 0,
wa_mara TYPE ty_mara,
it_makt TYPE STANDARD TABLE OF ty_makt INITIAL SIZE 0,
wa_makt TYPE ty_makt,
lv_matnr TYPE matnr,
c1.
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_matnr FOR mara-matnr.
SELECTION-SCREEN: END OF BLOCK b1.
AT SELECTION-SCREEN.
IF s_matnr IS NOT INITIAL.
SELECT SINGLE matnr
FROM mara
INTO lv_matnr
WHERE matnr IN s_matnr.
IF sy-subrc NE 0.
MESSAGE: 'Material Number does not exist' TYPE'E'.
ENDIF.
ENDIF.
START-OF-SELECTION.
SELECT matnr
ersda
ernam
FROM mara
INTO TABLE it_mara
WHERE matnr IN s_matnr.
IF sy-subrc EQ 0.
SORT it_mara BY matnr.
ENDIF.
SET PF-STATUS 'CHK'.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'DISPLAY'.
DATA ln TYPE i.
DESCRIBE LIST NUMBER OF LINES ln.
DO ln TIMES.
READ LINE sy-index FIELD VALUE c1 .
IF c1 = 'X'.
SELECT matnr
spras
maktx
FROM makt
INTO TABLE it_makt
WHERE matnr = wa_mara-matnr.
IF sy-subrc EQ 0.
SORT it_makt BY matnr.
ENDIF.
IF it_makt IS NOT INITIAL.
LOOP AT it_makt INTO wa_makt.
WRITE: / wa_makt-matnr,
wa_makt-spras,
wa_makt-maktx.
ENDLOOP.
ENDIF.
ENDIF.
ENDDO.
WHEN 'EXIT'.
message:'Are you sure' type'I'.
LEAVE LIST-PROCESSING.
WHEN OTHERS.
endcase.
END-OF-SELECTION.
IF it_mara IS NOT INITIAL.
LOOP AT it_mara INTO wa_mara.
WRITE: / c1 AS CHECKBOX,wa_mara-matnr,
wa_mara-matnr,
wa_mara-ersda,
wa_mara-ernam.
HIDE wa_mara-matnr.
ENDLOOP.
ENDIF.
AT LINE-SELECTION.
SELECT matnr
spras
maktx
FROM makt
INTO TABLE it_makt
WHERE matnr = wa_mara-matnr.
IF sy-subrc EQ 0.
SORT it_makt BY matnr.
ENDIF.
IF it_makt IS NOT INITIAL.
LOOP AT it_makt INTO wa_makt.
WRITE: / wa_makt-matnr,
wa_makt-spras,
wa_makt-maktx.
ENDLOOP.
ENDIF.
No comments:
Post a Comment