Anda di halaman 1dari 4

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

*& Report ZAB_TEST_INTERACTIVE1


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

REPORT ZAB_TEST_INTERACTIVE1.

TABLES : LFA1,LFB1.

TYPES : BEGIN OF TY_LFA1,

LIFNR TYPE LFA1-LIFNR,


LAND1 TYPE LFA1-LAND1,

END OF TY_LFA1.

DATA : ITAB_LFA1 TYPE STANDARD TABLE OF TY_LFA1,


WA_LFA1 TYPE TY_LFA1.

TYPES : BEGIN OF TY_LFB1,


LIFNR TYPE LFB1-LIFNR,
BUKRS TYPE LFB1-BUKRS,
ERDAT TYPE LFB1-ERDAT,
ERNAM TYPE LFB1-ERNAM,

END OF TY_LFB1.

DATA : ITAB_LFB1 TYPE STANDARD TABLE OF TY_LFB1,


WA_LFB1 TYPE TY_LFB1.

SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.


SELECT-OPTIONS : S_LIFNR FOR LFA1-LIFNR.
SELECTION-SCREEN : END OF BLOCK B1.

DATA : ITAB_FCAT TYPE SLIS_T_FIELDCAT_ALV,


WA_FCAT LIKE LINE OF ITAB_FCAT.

START-OF-SELECTION.

PERFORM GET_LFA1.
PERFORM DISPLAY_LFA1.

FORM GET_LFA1 .

SELECT
LIFNR
LAND1
FROM LFA1
INTO TABLE ITAB_LFA1
WHERE LIFNR IN S_LIFNR.
ENDFORM. " GET_LFA1
*&---------------------------------------------------------------------*
*& Form DISPLAY_LFA1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_LFA1 .

WA_FCAT-COL_POS = '1'.
WA_FCAT-FIELDNAME = 'LIFNR'.
WA_FCAT-TABNAME = 'LFA1'.
WA_FCAT-KEY = 'X'.
WA_FCAT-HOTSPOT ='X'.
WA_FCAT-SELTEXT_M = 'VENDOR NO'.
APPEND WA_FCAT TO ITAB_FCAT.
CLEAR WA_FCAT.

WA_FCAT-COL_POS = '2'.
WA_FCAT-FIELDNAME = 'LAND1'.
WA_FCAT-TABNAME = 'LFA1'.
WA_FCAT-EMPHASIZE = 'C7'.
WA_FCAT-SELTEXT_M = 'COUNTRY KEY'.
APPEND WA_FCAT TO ITAB_FCAT.
CLEAR WA_FCAT.
*HIDE WA_FCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_USER_COMMAND = 'AVINASHCOMMAND'
IT_FIELDCAT = ITAB_FCAT
TABLES
T_OUTTAB = ITAB_LFA1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
REFRESH ITAB_FCAT.

ENDFORM. " DISPLAY_

DATA : ITAB_FCAT1 TYPE SLIS_T_FIELDCAT_ALV,


WA_FCAT1 LIKE LINE OF ITAB_FCAT.

FORM AVINASHCOMMAND USING UCOMM LIKE SY-UCOMM SELFIELD TYPE SLIS_SELFIELD.

IF SELFIELD-FIELDNAME = 'LIFNR'.

READ TABLE ITAB_LFA1 INTO WA_LFA1 INDEX SELFIELD-TABINDEX.


PERFORM GET_DATA.
PERFORM DISPLAY_DATA.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM GET_DATA .

SELECT
LIFNR
BUKRS
ERDAT
ERNAM

FROM LFB1
INTO TABLE ITAB_LFB1
WHERE LIFNR = WA_LFA1-LIFNR.

ENDFORM. " GET_DATA


*&---------------------------------------------------------------------*
*& Form DISPLAY_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .

WA_FCAT1-COL_POS = '1'.
WA_FCAT1-FIELDNAME = 'LIFNR'.
WA_FCAT1-TABNAME = 'LFB1'.
WA_FCAT1-SELTEXT_M = 'VENDOR NO'.
APPEND WA_FCAT1 TO ITAB_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT1-COL_POS = '2'.
WA_FCAT1-FIELDNAME = 'BUKRS'.
WA_FCAT1-TABNAME = 'LFB1'.
WA_FCAT1-SELTEXT_M = 'COMPANY CODE'.
APPEND WA_FCAT1 TO ITAB_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT1-COL_POS = '3'.
WA_FCAT1-FIELDNAME = 'ERDAT'.
WA_FCAT1-TABNAME = 'LFB1'.
WA_FCAT1-SELTEXT_M = 'DATE'.
APPEND WA_FCAT1 TO ITAB_FCAT1.
CLEAR WA_FCAT1.

WA_FCAT1-COL_POS = '4'.
WA_FCAT1-FIELDNAME = 'ERNAM'.
WA_FCAT1-TABNAME = 'LFB1'.
WA_FCAT1-SELTEXT_M = 'PERSON NAME'.
APPEND WA_FCAT1 TO ITAB_FCAT1.
CLEAR WA_FCAT1.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
* I_CALLBACK_USER_COMMAND = 'AVINASHCOMMAND1'
IT_FIELDCAT = ITAB_FCAT1
TABLES
T_OUTTAB = ITAB_LFB1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
REFRESH ITAB_FCAT1.

ENDFORM. " DISPLAY_DATA

Anda mungkin juga menyukai