Sei sulla pagina 1di 3

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

*& Report Z_BLOCK


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Z_BLOCK.
TABLES :EKKO,EKPO.
TYPE-POOLS SLIS.
DATA FCAT1 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA FCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DATA LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA EVENT TYPE SLIS_T_EVENT WITH HEADER LINE.
DATA: BEGIN OF ITAB1 OCCURS 0,
EBELN TYPE EKKO-EBELN,
BUKRS TYPE EKKO-BUKRS,
BSTYP TYPE EKKO-BSTYP,
END OF ITAB1.
DATA: BEGIN OF ITAB2 OCCURS 0,
EBELN TYPE EKPO-EBELN,
STATU TYPE ekpo-statu,
MATNR TYPE EKPO-MATNR,
END OF ITAB2.
SELECT-OPTIONS S_EBELN FOR EKKO-EBELN.
SELECT EBELN
BUKRS
BSTYP
FROM EKKO
INTO TABLE ITAB1
WHERE EBELN IN S_EBELN.
SELECT EBELN
STATU
MATNR
FROM EKPO
INTO TABLE ITAB2
WHERE EBELN IN S_EBELN.
*EBELN
FCAT1-REF_TABNAME = 'EKKO'.
FCAT1-COL_POS = '1'.
fcat1-seltext_l = 'PURCHASE DOCUMENT NUMBER'.
FCAT1-FIELDNAME = 'EBELN'.
FCAT1-TABNAME ='ITAB1'.
FCAT1-HOTSPOT ='X'.
FCAT1-EDIT = 'X'.

APPEND FCAT1.
CLEAR FCAT1.
*BUKRS
FCAT1-REF_TABNAME = 'EKKO'.
FCAT1-COL_POS = '2'.
fcat1-seltext_l = 'COMPANY CODE'.
FCAT1-FIELDNAME = 'BUKRS'.
FCAT1-TABNAME = 'ITAB1'.
FCAT1-HOTSPOT = 'X'.
FCAT1-EDIT = 'X'.
APPEND FCAT1.
CLEAR FCAT1.
*BSTYP
FCAT1-REF_TABNAME = 'EKKO'.
FCAT1-COL_POS = '3'.
fcat1-seltext_l = 'PURCHSE DOCUMENT CATEGORY'.
FCAT1-FIELDNAME = 'BSTYP'.
FCAT1-TABNAME = 'ITAB1'.
FCAT1-HOTSPOT = 'X'.
FCAT1-EDIT = 'X'.
APPEND FCAT1.
CLEAR FCAT1.
*MACRO
DEFINE WHITECOLLAR.
FCAT2-REF_TABNAME = 'EKPO'.
FCAT2-COL_POS = &1.
FCAT2-SELTEXT_L = &2.
FCAT2-FIELDNAME = &3.
FCAT2-TABNAME = 'ITAB2'.
FCAT2-HOTSPOT = 'X'.
FCAT2-EDIT = 'X'.
FCAT2-EMPHASIZE = 'C510'.
APPEND FCAT2.
CLEAR FCAT2.
END-OF-DEFINITION.
*EBELN
WHITECOLLAR '1' 'PURCHASING DOCUMENT NUMBER' 'EBELN'.
*STATU
WHITECOLLAR '2' 'RFQ STATUS' 'STATU'.
*MATNR
WHITECOLLAR '3' 'PURCHASING DOCUMENT NUMBER' 'MATNR'.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM
= SY-REPID.
* I_CALLBACK_PF_STATUS_SET
= ' '
* I_CALLBACK_USER_COMMAND
= ' '
* IT_EXCLUDING
=
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING
IS_LAYOUT
= LAYOUT
IT_FIELDCAT
= FCAT1[]
I_TABNAME
= 'ITAB1'
IT_EVENTS
= EVENT[]
* IT_SORT
=
* I_TEXT
= ' '
TABLES
T_OUTTAB
= ITAB1
* EXCEPTIONS
* PROGRAM_ERROR
= 1
* MAXIMUM_OF_APPENDS_REACHED
= 2
* OTHERS
= 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT
= LAYOUT
IT_FIELDCAT
= fcat2[]
I_TABNAME
= 'ITAB2'
IT_EVENTS
= EVENT[]
* IT_SORT
=
* I_TEXT
= ' '
TABLES
T_OUTTAB
= ITAB2
* EXCEPTIONS
* PROGRAM_ERROR
= 1
* MAXIMUM_OF_APPENDS_REACHED
= 2
* OTHERS
= 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
* EXPORTING
* I_INTERFACE_CHECK
= ' '
* IS_PRINT
=
* I_SCREEN_START_COLUMN
= 0
* I_SCREEN_START_LINE
= 0
* I_SCREEN_END_COLUMN
= 0
* I_SCREEN_END_LINE
= 0
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER
=
* ES_EXIT_CAUSED_BY_USER
=
* 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.

Potrebbero piacerti anche