Vous êtes sur la page 1sur 3

*&---------------------------------------------------------------------*

*& Report Z029_OBJTASK2


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z029_OBJTASK2 NO STANDARD PAGE HEADING.
TABLES : MARA.
DATA : OBJ1 TYPE REF TO ZTASK2_CLASSone,
OBJ2 TYPE REF TO ZTASK2_CLASStwo,
OBJ3 TYPE REF TO ZTASK2_CLASSthree,
GT_MARA TYPE ZTASK2_STRU1,
GS_MARA TYPE ZTASK2_STRU,
gt_makt type ztask2_makt1,
gs_makt type ztask2_makt,
gt_marc type ztask2_marc1,
gs_marc type ztask2_marc,
gt_final type ztask2_final1,
gs_final type ztask2_final.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.
START-OF-SELECTION.
CREATE OBJECT OBJ1.
CREATE OBJECT OBJ2.
CREATE OBJECT OBJ3.
*CALL METHOD OBJ->ZTASK2_INTERFACE~getdetails
* EXPORTING
*
s_matnr = S_MATNR[]
* IMPORTING
*
GT_MARA = GT_MARA
*
GT_MAKT = gt_makt
*
GT_MARC = gt_marc.
CALL METHOD obj3->ztask2_interface~getdetails
EXPORTING
s_matnr = s_matnr[]
CHANGING
GT_MARA = gt_mara
GT_MAKT = gt_makt
GT_MARC = gt_marc
.
CALL METHOD obj2->ztask2_interface~getdetails
EXPORTING
s_matnr = s_matnr[]
changing
GT_MARA = gt_mara
GT_MAKT = gt_makt
GT_MARC = gt_marc
.
CALL METHOD obj1->ztask2_interface~getdetails
EXPORTING
s_matnr = s_matnr[]
changing
GT_MARA = gt_mara
GT_MAKT = gt_makt

GT_MARC = gt_marc.
loop at gt_mara into
read table gt_makt
read table gt_marc
MOVE-CORRESPONDING
MOVE-CORRESPONDING
MOVE-CORRESPONDING
append gs_final to

gs_mara.
into gs_makt with key matnr = gs_mara-matnr.
into gs_marc with key matnr = gs_makt-matnr.
gs_mara to gs_final.
gs_makt to gs_final.
gs_marc to gs_final.
gt_final.

endloop.
TYPE-POOLS : SLIS.
DATA : gs_layout TYPE slis_layout_alv.
*
gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
DATA : gt_fcat TYPE slis_t_fieldcat_alv,
gs_fcat TYPE slis_fieldcat_alv.

*
*

gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

1.
= 'MATNR'.
= 'MATERIAL NUMBER'.
'X'.
gt_fcat.

gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

2.
= 'ERNAM'.
= 'NAME'.
'X'.
gt_fcat.

gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

3.
= 'MTART'.
= 'MATERIAL TYPE'.
'X'.
gt_fcat.

gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

4.
= 'MAKTX'.
= 'MATERIAL DESCRIPTION'.
'X'.
gt_fcat.

gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

5.
= 'WERKS'.
= 'PLANT'.
'X'.
gt_fcat.

gs_fcat-col_pos = 6.
gs_fcat-fieldname = 'MATNR'.

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

gs_fcat-seltext_l = 'material number'.


gs_fcat-hotspot = 'X'.
APPEND gs_fcat TO gt_fcat.
CLEAR gs_fcat.
gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

7.
= 'MATWA'.
= 'Material entered'.
'X'.
gt_fcat.

gs_fcat-col_pos =
gs_fcat-fieldname
gs_fcat-seltext_l
gs_fcat-hotspot =
APPEND gs_fcat TO
CLEAR gs_fcat.

8.
= 'MATKL'.
= 'Material Group'.
'X'.
gt_fcat.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM
= sy-repid
IS_LAYOUT
= GS_LAYOUT
IT_FIELDCAT
= gt_fcat
TABLES
t_outtab
= gt_final
EXCEPTIONS
PROGRAM_ERROR
= 1
OTHERS
= 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMETHOD.
ENDCLASS.

"display
"class3 IMPLEMENTATION

Vous aimerez peut-être aussi