ALV's: - : Sap - Abap From 4.6 List - LIST Introduced in 4.6 Viewer - Viewer

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 27

ALV’s: --

SAP -- A -- ABAP

From 4.6 LIST -- L -- LIST Introduced in 4.6

VIEWER – V –VIEWER

NOTE: -- To View The Output List In SAP In Better Way Than The Traditional Way I.e.
Both Classical And Interactive Reports.

NOTE: -- ALV Is To Display The Output List With pre-defined functions such as select
ALL, Deselect, Sort, ASC Sort, DESC Sort, Download, Filter, Change Layout etc ….. if
Required new functions (BUTTOUNS) can be added and existing buttons can be
enhanced.

NOTE: -- ALV is initially via function module and now it is through methods (oo).

ALV Via FUNCTION MODULE: --

1) Normal/simple ALV – can display the data from ONLY ONE ITAB.
FM ‘REUSE_ALV_GRID_DISPLAY’.

*&---------------------------------------------------------------------*
*& Report ZDEMO_SIMPLE_ALV_REPORT
*&---------------------------------------------------------------------*

REPORT ZDEMO_FM_ALV_NML.

TABLES: LFA1.

TYPES: BEGIN OF TY_LFA1,


LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.

DATA: WA_LFA1 TYPE TY_LFA1,


IT_LFA1 TYPE TABLE OF TY_LFA1.
START-OF-SELECTION.

SELECT LIFNR LAND1 NAME1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 UP TO 30 ROWS.

LOOP AT IT_LFA1 INTO WA_LFA1.


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
* I_CALLBACK_PROGRAM =''
* I_CALLBACK_PF_STATUS_SET =''
* I_CALLBACK_USER_COMMAND =''
* I_CALLBACK_TOP_OF_PAGE = 'PRINT_HEADER'
* I_CALLBACK_HTML_TOP_OF_PAGE =''
* I_CALLBACK_HTML_END_OF_LIST =''
I_STRUCTURE_NAME = 'LFA1'
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
* IT_FIELDCAT = LFA1
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN =0
* I_SCREEN_START_LINE =0
* I_SCREEN_END_COLUMN =0
* I_SCREEN_END_LINE =0
* I_HTML_HEIGHT_TOP =0
* I_HTML_HEIGHT_END =0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_LFA1
* 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.
ENDLOOP.
FORM PRINT_HEADER.
ENDFORM.

2) Hierarchical ALV – Always display the data from TWO ITAB’s I.e. HEADER &
ITEM data with ATLEAST One Field common to Built Hierarchical .

FM ‘REUSE_ALV_HIERSEQ_LIST_DISPLAY’
*&---------------------------------------------------------------------*
*& Report ZDEMO_HIERSEQ_ALV
*&---------------------------------------------------------------------*

REPORT ZDEMO_HIERSEQ_ALV.

TYPE-POOLS: SLIS.

TABLES:EKKO,EKPO.

TYPES: V_EBELN TYPE EBELN.

DATA: IT_EKKO TYPE TABLE OF EKKO,


IT_EKPO TYPE TABLE OF EKPO,
IS_KEYINFO TYPE SLIS_KEYINFO_ALV.

START-OF-SELECTION.

SELECT * INTO TABLE IT_EKKO FROM EKKO UP TO 20 ROWS.


IF IT_EKKO IS NOT INITIAL.
SELECT * INTO TABLE IT_EKPO FROM EKPO FOR ALL ENTRIES IN IT_EKKO

WHERE EBELN = IT_EKKO-EBELN.


ENDIF.

*FOR THE KEYFIELD BELONG TO THE TWO TABLES


IS_KEYINFO-HEADER01 = 'EBELN'.
IS_KEYINFO-ITEM01 = 'EBELN'.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'


EXPORTING
I_TABNAME_HEADER ='IT_EKKO'
I_TABNAME_ITEM ='IT_EKPO'
I_STRUCTURE_NAME_HEADER = 'EKKO'
I_STRUCTURE_NAME_ITEM = 'EKPO'
IS_KEYINFO = IS_KEYINFO

TABLES
T_OUTTAB_HEADER = IT_EKKO
T_OUTTAB_ITEM = IT_EKPO

.
3) Blocked ALV_DISPLAY data from any no. of ITAB’s as a single an ALV block
sequentially with no relation.

FM1: REUSE_ALV_BLOCK_LIST_INIT.

FM2: REUSE_ALV_BLOCK_LIST_APPEND.

Input ITAB1
NOTE: - Repeat this FM call for each ITAB to be displayed via the same ALV block.

FM3: ‘REUSE_ALV_LIST_DISPLAY’.

Display the all the ITAB’s that are already APPEND to the ALV block.

*&---------------------------------------------------------------------*
*& Report ZDEMO_BLOCK_ALV
*&---------------------------------------------------------------------*

REPORT ZDEMO_BLOCK_ALV.
TYPE-POOLS: SLIS.

DATA:IT_EKKO TYPE TABLE OF EKKO,


IT_EKPO TYPE TABLE OF EKPO.

DATA: IT_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,


IT_LAYOUT TYPE SLIS_LAYOUT_ALV,
IT_EVENTS TYPE SLIS_T_EVENT.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'


EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG.

SELECT * INTO TABLE IT_EKKO FROM EKKO UP TO 10 ROWS.

SELECT * INTO TABLE IT_EKPO FROM EKPO UP TO 10 ROWS.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'


EXPORTING
I_STRUCTURE_NAME = 'EKKO'
CHANGING
CT_FIELDCAT = IT_FIELDCATALOG.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'


EXPORTING
IS_LAYOUT = IT_LAYOUT
IT_FIELDCAT = IT_FIELDCATALOG
I_TABNAME ='IT_EKKO'
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = IT_EKKO .
CLEAR IT_FIELDCATALOG. "THIS IS MANDATORY TO CLEAR THE ITAB BECAUSE TO AVOID THE
RUNTIME ERROR OF OUTPUT.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'


EXPORTING
I_STRUCTURE_NAME = 'EKPO'
CHANGING
CT_FIELDCAT = IT_FIELDCATALOG.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'


EXPORTING
IS_LAYOUT = IT_LAYOUT
IT_FIELDCAT = IT_FIELDCATALOG
I_TABNAME = 'IT_EKPO'
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = IT_EKPO.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.

Note: -- Two Things are Mandatory in any type of ALV.

1) WHAT TO DISPLAY THE DATA FROM ITAB(S).

2) HOW TO DISPLAY FOR EACH COLUMN (name) TO BE DISPALYED.

COL POSITION
MANDITORY
COL HEADING

CALLED AS
FIELD CATALOG

COLOR
HOT SPOT OPTIONAL
JUSTIFY
EDIT
ETC….

NOTE: -- FIELAD CATALOG CAN BE PREPARED IN THREEE WAYS.

1) AUTOMATIC ------------- Passing STRNAME from DDIC to FM/METHODS.


2) MANUAL prepare IT_FIELDCAT
3) SEMI-AUTOMATIC

COLNAME HEADING COL_POSITION HOTSPOT EDIT NO-


ZEROS
1 L X(YES)
KUNNR CUSTOMER
NO
2 C
NAME1 NAME

AUTOMATIC FIELD CATLOG IN DETAIL

Is passing the table structure from DDIC to respective ALV FM.

Only the mandatory display characteristics (col-pos,col-headings) can be provided as the


DDIC structure can provide only this info for each column in the structure.

Ex:- CALL FM ‘REUSE_ALV_GRID_DISPLAY.


EXPORTING
I_structure_name = ‘LFA1’.

Tables
T_out_tab = IT_LFA1

MANUAL FIELDING CATALOG IN DETAILS:-

Add one record to IT_FIELDCAT for each column to be displayed with the respective
display characteristics.
CLEAR WA_FIELDCAT.

WA_FIELDCAT-COL_NAME = ‘EBELN’
WA_FIELDCAT-COL_POS = ‘1’
WA_FIELDCAT-COL_HEADER = ‘PO NUMBER’
WA_FIELDCAT-COLOR = C6
WA_FIELDCAT-HOTSPOT = ‘X’ YES
WA_FIELDCAT-KEY = X KEY COLOR

APPEND WA_FIELDCAT TO IT_FIELDCAT.

NOTE: -- All the data types referred in ALV FM’s are from type GROUP/POOL : SLIS
and which has to be included in a program to access the same I.e. via TYPE-POOL :
SLIS.

SEMI-AUTOMATIC IN DETAIL: --

CALL FM: - ‘REUSE_ALV_FIELDCATALOG_MERGE’

DDIC IT_FIELDCATLOG FILLED WITH


MANDATORY THINGS

*&---------------------------------------------------------------------*
*& Report ZDEMO_FILEDCATALOG_MANUAL
*&---------------------------------------------------------------------*

REPORT ZDEMO_FILEDCATALOG_MANUAL.
TYPE-POOLS: SLIS.

TYPES: BEGIN OF TY_LFA1,


LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
ORT01 TYPE LFA1-ORT01,
END OF TY_LFA1.

DATA: IT_LFA1 TYPE TABLE OF TY_LFA1,


WA_LFA1 TYPE TY_LFA1.

DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,


WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV.

SELECT LIFNR LAND1 NAME1 ORT01 INTO TABLE IT_LFA1 FROM LFA1 UP TO 20 ROWS.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_L = 'VENDOR NO'.
WA_FIELDCAT-HOTSPOT = 'X'.
WA_FIELDCAT-KEY = 'X'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'LAND1'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-SELTEXT_L = 'COUNTRY KEY'.
WA_FIELDCAT-HOTSPOT = 'X'.
WA_FIELDCAT-JUST = 'C'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'ORT01'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-SELTEXT_M = 'CITY NAME'.
WA_FIELDCAT-EMPHASIZE = 'C41'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-FIELDNAME = 'NAME1'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-SELTEXT_L = 'NAME OF VENDOR'.
WA_FIELDCAT-EMPHASIZE = 'C621'.
APPEND WA_FIELDCAT TO IT_FIELDCAT.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
I_CALLBACK_PROGRAM = SY-CPROG
* I_CALLBACK_PF_STATUS_SET =''
* I_CALLBACK_USER_COMMAND =''
* I_CALLBACK_TOP_OF_PAGE =''
* I_CALLBACK_HTML_TOP_OF_PAGE =''
* I_CALLBACK_HTML_END_OF_LIST =''
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = IT_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN =0
* I_SCREEN_START_LINE =0
* I_SCREEN_END_COLUMN =0
* I_SCREEN_END_LINE =0
* I_HTML_HEIGHT_TOP =0
* I_HTML_HEIGHT_END =0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_LFA1
* 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.

NOTE: -- To Verify the display characteristics from IT_FIELDCAT check


for the long text of the same from the FM.

'REUSE_ALV_GRID_DISPLAY' & the processor to understand ANY


IMPORTING / EXPORTING parameters of the function module.

I.e. SE37 --> DISPALY -->IMPORT --> LONGTEXT -->DISPALY


HANDLING THE EVENTS IN THE FM ALV: --

IN MODULE POOL / UI PROGRAMMING

PROCESS AFTER INPUT


MODULE M1.

IN REPORTS: --

START-OF-SELECTION.
"BUSINESS LOGIC

NOTE: -- THE BUSINESS LOGIC TO BE EXECUTED FOR FM ALV EVENTS SHOULD ALWAYS
VIA SUBROUTINE CALL I.E BUSINEE LOGIC SHOULD KEPT WITH IN FORM -- ENDFORM
ONLY.

EX: -- CALL FUNCTION 'REUSE_ALV_GRID_DISPALY'


EXPORTING
I_CALLBACK_TOP-OF-PAGE = 'PRINT_HEADER' " FORM NAME

IT MEANS PERFORM PRINT_HEADER WHEN TOP OF PAGE IS TRIGGERD.

CLASSICAL REPORT EVENTS:--

INITIALIZATION .
START-OF-SELECTION.
AT SELECTION -SCREEN

TOP OF PAGE
END OF PAGE
SINCE ONLY TOP-OF-PAGE ,END-OF-PAGE ARE THE LIST PROCESSING
EVENTS AND AS PART OF CLASSICAL ALV ONLY THESE EVENTS CAN BE
HANDELED IN FM ALV'S.

SINCE THE PERFORM IS EXEXCVUTED BY ALV FM.IT SHOULD KNOW THE


BOTH FORM NAME AND PROGARAM NAME IN WHICH THE FORM EXIST.

EX:-- CALL FUNCTION 'REUSE_ALV_GRID_DISPALY'

EXPORTING

I_CALLBACK-PROGRAM = <program name in which the form exist>.


I_CALLBACK_TOP-OF-PAGE = 'PRINT_HEADER'.

NOTE: MAKE SURE THAT EVENT HANDLER SUBTOUTINE (FORM) SHOULD BE PART OF ONLY
ONE PROGARM AND PREFERBLY THE CURRENT PROGARAM & IT CAN BE ANY ALSO.

NOTE: -- IN THE FM ALV, ONE PERFORM IS THERE FOR EACH EVENTS I.E.
PERFORM (I_CALLBACK-TOP_PAGE) IN PROGARM (I_CALLBACK_PROGARM) IF FOUND.

FORM-ENDFROM FOR EVENT TOP-OF-PAGE : --

NOTE: -- FM 'REUSE_ALV_COMMENTARY_WRITE' IS TO WRITE / PRINT THE


REQUIRED ON ALV AND CAN BE USED TO PRINT BOTH HEADER / FOOTERS.

STEPS TO PREPARE ALV COMPATIABLE LOGO: --

EXECUTE TCODE 'OAER'.

CLASS NAME PICTURES


CLASS TYPE OT

OBJECT KEY ''ANY THING.

THEN PRESS F8.

CLICK ON STANDARD DOC.TYPES.

DOUBLE CLICK ON SCREEN & PROVIDE THE IMAGE PATH THEN ENTER.
INTERACTIVE REPORTS --EVENTS:--

NOTE: -- THE SAME EVENT 'USER_COMMAND' TRIGGER FOR BOTH THE BUTTON AND THE
LINE SELECTION.
NOTE: -- THE FCODE (FCT.CODE) FOR DOUBLE CLICK IS '&IC1' AND NON-ALV IT IS 'PICK' .

SINCE THE EVENT HANDLER SUBROUTINES ARE PERFORMED (CALLED) FORM ALV FM
SO THAT FORM -- ENDFORM SHOULD HAVE THE SAME SET OF, NO.OF, TYPE OF
ARGUMENTS AND CHECK THE SAME I.E. FOR THE STRUCTURE OF EVENT HANDLER
FROM -- ENDFORM, GO THROUGH THE LONG TEXT OF RESPECTIVE
I_CALLBACK_EVENTNAME =FROM THE FM ALV.

FOR THE EVENT 'USER_COMMAND' --> THE FORM STRUCTURE IS

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM


RS_SELFIELD TYPE SLIS-SELFIELD.

RS-SELFIELD -> COLLECTS THE SELECTED LINE / FIELD DATAILS

TABINDEX - INDEX OF THE SELECTED LINE

SEL-TAB-FIELD - FIELD NAME SELECTED

VALUE - VALUE OF THE SELECTED FIELD

ADDING BUTTON TO THE ALV TOOL BAR: --

IS VIA GUI-STATUS BUT MAKE SURE THAT NEW (OUR OWN) BUTTONS ARE
ALWAYS ALONG WITH THE EXISTING (Std) BUTTONS SO THAT COPY, THE (Std)
GUI STATUS OF THE ALV AND CHANGE IT TO ADD OUR OWN BUTTONS.

NOTE: -- EVENT 'PF-STATUS-SET' TRIGGER BEFORE DISPLAY ALV TOOL BA R & GUI STATUS
HAS TO BE SET IN THE EVENT HANDLER FORM --ENDFORM
OF THE EVENT.

NOTE: -- TO FINDOUT THE STANDARD GUI-STATUS --> GOTO ANY ALV OUTPUT LIST.

SYSTEM --> STATUS-->PROGRAM NAME


GUI-STATUS

PF-STATUS-SET.

PROGRAM = SAPLKKBL
GUI-STATUS = STANDARD_FULLSCREEN

STEPS TO COPY THE GUI-STATUS

EXECUTE SE41.

CLICK ON THE STATUS(COPY STATUS) BUTTON TO COPY

FROM
FORM NAME
STATUS

TO
FORMNAME
STATUS

CLICK ENTER & THEN CHANGE BUTTON

CLICK ON APPLICATION TOOL BAR GIVE THE BUTTON


NAME,SHORTTEXT,FUNCTION KEY
SAVE IT, CHECK IT AND ACTIVATE IT.

COMPLETE SYNTAX FOR GUI-STATUS:--

SET PF-STATUS 'ZSTATUS' [EXCLUDING<it_fcodes>]

IT_ FCODE IS THE LIST OF FUNCTION CODES TO BE EXECTED AT THE


RUNTIME.

NOTE: -- FM 'REUSE_ALV_EVENTS_GET' WRITTEN LIST OF POSSIBLE


EVENTS IN ALV.

NOTE: -- THE LIST OF POSSIBLE EVENTS IN FM ALV ARE 17 BUT THE


FUNCTION MODULE HAS ONLY 5 CALLBACK IMPORTING PARAMETERS TO
ACCEPT THE FORM NAMES SO THAT TO HANDLE ALL THE 17 EVENTS
IT_EVENTS OF THE FUNCTION MODULE HAS TOBE FILLED WITH THE
EVENT NAME & FORM NAME.

ADD ONE RECORD TO IT_EVENTS FOR EACH EVENT TO BE HANDLED WITH


THE EVENT NAME & FORM NAME.

EX: -- CLEAR WA-EVENTS.


WA_EVENT-NAME = 'TOP-OF-PAGE'
WA_EVENT-FORM = 'PRINT-HEADER'
APPEND WA_EVENTS TO IT_EVNTS.

*&---------------------------------------------------------------------*
*& Report ZDEMO_FM_ALV_EVENTS
*&---------------------------------------------------------------------*
REPORT ZDEMO_FM_ALV_EVENTS.

TYPE-POOLS: SLIS.

DATA:IT_EKKO TYPE TABLE OF EKKO,


WA_EKKO TYPE EKKO.

SELECT * INTO TABLE IT_EKKO FROM EKKO UP TO 20 ROWS.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
I_CALLBACK_PROGRAM = SY-CPROG
I_CALLBACK_PF_STATUS_SET = 'ATTACH_GUI_STATUS'
I_CALLBACK_USER_COMMAND = 'HANDLE_USER_COMMEND'
I_CALLBACK_TOP_OF_PAGE = 'PRINT_HEADER'
* I_CALLBACK_HTML_TOP_OF_PAGE =''
* I_CALLBACK_HTML_END_OF_LIST =''
I_STRUCTURE_NAME = 'EKKO'
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
* IT_FIELDCAT =
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN =0
* I_SCREEN_START_LINE =0
* I_SCREEN_END_COLUMN =0
* I_SCREEN_END_LINE =0
* I_HTML_HEIGHT_TOP =0
* I_HTML_HEIGHT_END =0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_EKKO
* 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.

FORM PRINT_HEADER.
DATA:IT_LIST TYPE SLIS_T_LISTHEADER,
WA_LIST TYPE LINE OF SLIS_T_LISTHEADER.

CLEAR WA_LIST.

WA_LIST-TYP = 'H'." HEADER TEXT


WA_LIST-INFO ='LIST OF PURCHASE ORDERS'.

APPEND WA_LIST TO IT_LIST.


CLEAR WA_LIST.

WA_LIST-TYP = 'A'."ACTION TEXT


WA_LIST-INFO ='LIST OF PURCHASE ORDERS'.

APPEND WA_LIST TO IT_LIST.


CLEAR WA_LIST.

WA_LIST-TYP = 'S'." SELECTION TEXT


WA_LIST-INFO ='LIST OF PURCHASE ORDERS'.

APPEND WA_LIST TO IT_LIST.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'


EXPORTING
IT_LIST_COMMENTARY = IT_LIST
I_LOGO = 'ENJOYSAP_LOGO'
* I_END_OF_LIST_GRID =
* I_ALV_FORM =
.
ENDFORM.

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

FORM HANDLE_USER_COMMEND USING r_ucomm LIKE sy-ucomm


rs_selfield TYPE slis_selfield.
DATA: IT_EKPO TYPE TABLE OF EKPO,
WA_EKPO TYPE EKPO.

CASE r_ucomm.
WHEN '&IC1'.

READ TABLE IT_EKKO INTO WA_EKKO INDEX rs_selfield-TABINDEX.


SELECT * INTO TABLE IT_EKPO FROM EKPO WHERE EBELN = WA_EKKO-EBELN.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_STRUCTURE_NAME = 'EKPO'

TABLES
T_OUTTAB = IT_EKPO.
* -----------------------------------------------------------------------------------
WHEN 'GETI'.

SELECT * INTO TABLE IT_EKPO FROM EKPO FOR ALL ENTRIES IN IT_EKKO
WHERE EBELN = IT_EKKO-EBELN.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_STRUCTURE_NAME = 'EKPO'

TABLES
T_OUTTAB = IT_EKPO.

ULINE.
ENDCASE.
ENDFORM.

*---------------------------------------------------------------------------------------------------------

FORM ATTACH_GUI_STATUS USING rt_extab TYPE slis_t_extab.

DATA: WA TYPE LINE OF slis_t_extab.

WA-FCODE = '&INFO'.

APPEND WA-FCODE TO rt_extab.

SET PF-STATUS 'ZSTATUS' EXCLUDING rt_extab.

ENDFORM.

COLORING THE ROWS IN ALV:--


Note: -- coloring the columns via field catalog via EMPHASIZE Attribute.

possible values: ' ' '' No color,


'X' ''Default color
'CXYZ'
'C' Constant
'X' Range of colors(1 to 7)
'Y' Intensify ON/OFF
'Z' Inverse ON/OFF

Note: Y/Z values are '0' for 'OFF',


'1' for 'ON'

STEPS TO COLOR THE ROWS IN ALV: ---

1) Declare an Additional Field in the output ITAB type CHAR,4 (CXYZ) for coloring the
entire row.
'C' Constant
'X' Range of colors(1 to 7)
'Y' Intensify ON/OFF
'Z' Inverse ON/OFF forground/background.

2).MODIFY the ITAB to fill the color details into the additional field for the required
row(s).

WA_EKKO-ROW_CLR = 'C71'.

MODIFY IT_EKKO FROM WA_EKKO TRANSPORTING ROW_CLR


WHERE EBELN = '3000000010'.

3).Pass this additional field name to ALV layout i.e. to inform ALV from which field the
color of the ROW is coming.

IS_LAYOUT_INFO-FIELDNAME = '<Additional Fieldname>'.

IN OO ALV.
IS_LAYOUT_INFO-FNAME ='<Additional fieldname>'.
PASS IS_LAYOUT FOR ALV DISPLAY FM 'REUSE_ALV_GRID_DISPLAY'

REPORT: ZDEMO_COLORING_ROWS_IN_ALV.
*&---------------------------------------------------------------------*
*& Report ZDEMO_COLORING_ROWS_IN_ALV
*&---------------------------------------------------------------------*

REPORT ZDEMO_COLORING_ROWS_IN_ALV.

TYPE-POOLS:SLIS.

TYPES: BEGIN OF TY_T001,


BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
ORT01 TYPE T001-ORT01,
LAND1 TYPE T001-LAND1,
SPRAS TYPE T001-SPRAS,
ROW_CLR(4) TYPE C,
END OF TY_T001.

DATA: IT_T001 TYPE TABLE OF TY_T001,


WA_T001 TYPE TY_T001.

DATA:IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,


WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IT_LAYOUT TYPE SLIS_LAYOUT_ALV.

SELECT BUKRS BUTXT ORT01 LAND1 SPRAS INTO TABLE IT_T001 FROM T001 UP TO 20 ROWS.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-SELTEXT_L ='COMPANY CODE'.
WA_FIELDCAT-EMPHASIZE ='C611'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUTXT'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-SELTEXT_L ='COMPANY NAME'.
WA_FIELDCAT-EMPHASIZE ='C501'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'ORT01'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_L ='CITY NAME'.
WA_FIELDCAT-KEY = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.


CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LAND1'.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-SELTEXT_L ='COMPANY CODE'.
WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'SPRAS'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-SELTEXT_L ='LANGUAGE KEY'.
WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

WA_T001-ROW_CLR = 'C511'.

MODIFY IT_T001 FROM WA_T001 TRANSPORTING ROW_CLR WHERE BUKRS ='1000'.

IT_LAYOUT-INFO_FIELDNAME = 'ROW_CLR'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
I_CALLBACK_PROGRAM = SY-CPROG
* I_CALLBACK_PF_STATUS_SET =''
* I_CALLBACK_USER_COMMAND =''
* I_CALLBACK_TOP_OF_PAGE =''
* I_CALLBACK_HTML_TOP_OF_PAGE =''
* I_CALLBACK_HTML_END_OF_LIST =''
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = IT_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN =0
* I_SCREEN_START_LINE =0
* I_SCREEN_END_COLUMN =0
* I_SCREEN_END_LINE =0
* I_HTML_HEIGHT_TOP =0
* I_HTML_HEIGHT_END =0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_T001
* 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.

DISPLAYING ALV WITH TRAFFIC LIGHTS(YELLOW,GREEN,RED) AT THE


BEGINING OF THE ROW(S) & IS CALLED EXCEPTIONS IN ALV.

1).Declare an Additional field in the output ITAB - AS type I(Integer).

2).MODIFY the out tab to fill Except/Traffic light details for the additional field.

i.e. '1' Red Color Lights


'2' Yellow Color Lights
'3' Green Color Lights

3).PASS the Additional field to the ALV layout through which the light details are
coming to ALV.

IS_LAYOUT_LIGHT-FIELDNAME = "in FM ALV


IS_LAYOUT_EXCEP-FNAME = "IN oo ALV

PROGRAM:-- ZDEMO_TRAFFIC-LIGHTS_IN-ALV
*&---------------------------------------------------------------------*
*& Report ZDEMO_COLORING_ROWS_IN_ALV
*&---------------------------------------------------------------------*

REPORT ZDEMO_TRAFFIC_LIGHTS_IN_ALV.

TYPE-POOLS:SLIS.
TYPES: BEGIN OF TY_T001,
BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
ORT01 TYPE T001-ORT01,
LAND1 TYPE T001-LAND1,
SPRAS TYPE T001-SPRAS,
LIGHTS TYPE I,
END OF TY_T001.

DATA: IT_T001 TYPE TABLE OF TY_T001,


WA_T001 TYPE TY_T001.

DATA:IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,


WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV.

SELECT BUKRS BUTXT ORT01 LAND1 SPRAS INTO TABLE IT_T001 FROM T001 UP TO 20 ROWS.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-SELTEXT_L ='COMPANY CODE'.
WA_FIELDCAT-EMPHASIZE ='C611'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUTXT'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-SELTEXT_L ='COMPANY NAME'.
WA_FIELDCAT-EMPHASIZE ='C501'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'ORT01'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_L ='CITY NAME'.
WA_FIELDCAT-KEY = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LAND1'.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-SELTEXT_L ='COMPANY CODE'.
WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'SPRAS'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-SELTEXT_L ='LANGUAGE KEY'.
WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

WA_T001-LIGHTS = 1."RED

MODIFY IT_T001 FROM WA_T001 TRANSPORTING LIGHTS WHERE BUKRS ='1000'.


WA_T001-LIGHTS = 2."YELLOW

MODIFY IT_T001 FROM WA_T001 TRANSPORTING LIGHTS WHERE BUKRS < '1000'.

WA_T001-LIGHTS = 3."GREEN

MODIFY IT_T001 FROM WA_T001 TRANSPORTING LIGHTS WHERE BUKRS > '1000'.

IS_LAYOUT-LIGHTS_FIELDNAME = 'LIGHTS'."INITATE THE EXTRA FILED TO THE FUNCTION


MODULE

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
I_CALLBACK_PROGRAM = SY-CPROG
* I_CALLBACK_PF_STATUS_SET =''
* I_CALLBACK_USER_COMMAND =''
* I_CALLBACK_TOP_OF_PAGE =''
* I_CALLBACK_HTML_TOP_OF_PAGE =''
* I_CALLBACK_HTML_END_OF_LIST =''
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN =0
* I_SCREEN_START_LINE =0
* I_SCREEN_END_COLUMN =0
* I_SCREEN_END_LINE =0
* I_HTML_HEIGHT_TOP =0
* I_HTML_HEIGHT_END =0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_T001
* 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.

STEPS TO COLOR IN ALV:---

1).Declare an additional filed in the output ITAB as an Internal table with


(FNAM,COLOR)

FNAM COLOR(CXYZ)

Additional field type should be ------>

IN FM ALV -->

IN OO ALV -->

step2).IS_LAYOUT-COLTAB-FIELDNAME ='<Additional Fieldname>'.


IS_LAYOUT-CTAB-FNAME ='in OO ALV

Step3).MODIFY the output ITAB to fill the cell color details for the required cells of the
required records.
So that Additional Field has to filled as

CLEAR WA
WA_FIELDNAME = 'LIFNR'.
WA_COLOR-COL = 5 "X.
WA_COLOR-INT = 1 "Y .
WA_COLOR-INV =1 "Z.

APPEND WA TO ITAB.

WA_EKKO-CTAB = ITAB.

MODIFY IT_EKKO FROM WA_EKKO TRANSPORTING CTAB WHERE EBELN =


'450000008'.

REPORT: - ZDEMO_CELL_COLORING_IN_ALV.
REPORT ZDEMO_CELL_COLORING_IN_ALV.

TYPE-POOLS:SLIS.

TYPES:BEGIN OF TY_TEMP_T001,
BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
ORT01 TYPE T001-ORT01,
LAND1 TYPE T001-LAND1,
SPRAS TYPE T001-SPRAS,
END OF TY_TEMP_T001.

TYPES: BEGIN OF TY_T001,


BUKRS TYPE T001-BUKRS,
BUTXT TYPE T001-BUTXT,
ORT01 TYPE T001-ORT01,
LAND1 TYPE T001-LAND1,
SPRAS TYPE T001-SPRAS,
CTAB TYPE SLIS_T_SPECIALCOL_ALV,
END OF TY_T001.

DATA: IT_T001 TYPE TABLE OF TY_T001,


WA_T001 TYPE TY_T001,
IT_TEMP_T001 TYPE TABLE OF TY_TEMP_T001,
WA_TEMP_T001 TYPE TY_TEMP_T001.

DATA:IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,


WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
IS_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT BUKRS BUTXT ORT01 LAND1 SPRAS INTO TABLE IT_TEMP_T001 FROM T001 UP TO 20
ROWS.

LOOP AT IT_TEMP_T001 INTO WA_TEMP_T001.

WA_T001-BUKRS = WA_TEMP_T001-BUKRS.
WA_T001-BUTXT = WA_TEMP_T001-BUTXT.
WA_T001-ORT01 = WA_TEMP_T001-ORT01.
WA_T001-LAND1 = WA_TEMP_T001-LAND1.
WA_T001-SPRAS = WA_TEMP_T001-SPRAS.

APPEND WA_T001 TO IT_T001.


ENDLOOP.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-SELTEXT_L ='COMPANY CODE'.
WA_FIELDCAT-EMPHASIZE =''.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'BUTXT'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-SELTEXT_L ='COMPANY NAME'.
WA_FIELDCAT-EMPHASIZE =''.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'ORT01'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-SELTEXT_L ='CITY NAME'.
WA_FIELDCAT-KEY = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'LAND1'.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-SELTEXT_L ='COMPANY CODE'.
WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.
WA_FIELDCAT-FIELDNAME = 'SPRAS'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-SELTEXT_L ='LANGUAGE KEY'.
WA_FIELDCAT-HOTSPOT = 'X'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

IS_LAYOUT-COLTAB_FIELDNAME = 'CTAB'.

DATA: ITAB TYPE SLIS_T_SPECIALCOL_ALV,


WA TYPE LINE OF SLIS_T_SPECIALCOL_ALV.
CLEAR WA.
WA-FIELDNAME = 'BUTXT'.
WA-COLOR-COL = '5'.
WA-COLOR-INT = '1'.
WA-COLOR-INV = '1'.

APPEND WA TO ITAB.

WA_T001-CTAB = ITAB.

MODIFY IT_T001 FROM WA_T001 TRANSPORTING CTAB WHERE BUKRS = '2000'.

CLEAR WA.
WA-FIELDNAME = 'BUKRS'.
WA-COLOR-COL = '6'.
WA-COLOR-INT = '1'.
WA-COLOR-INV = '1'.

APPEND WA TO ITAB.

WA_T001-CTAB = ITAB.

REFRESH ITAB.

MODIFY IT_T001 FROM WA_T001 TRANSPORTING CTAB WHERE BUKRS = '2000'.

CLEAR WA.
WA-FIELDNAME = 'ORT01'.
WA-COLOR-COL = '3'.
WA-COLOR-INT = '1'.
WA-COLOR-INV = '1'.

APPEND WA TO ITAB.

WA_T001-CTAB = ITAB.

REFRESH ITAB.

MODIFY IT_T001 FROM WA_T001 TRANSPORTING CTAB WHERE BUKRS = '1000'.

CLEAR WA.
WA-FIELDNAME = 'LAND1'.
WA-COLOR-COL = '1'.
WA-COLOR-INT = '1'.
WA-COLOR-INV = '1'.

APPEND WA TO ITAB.

WA_T001-CTAB = ITAB.

REFRESH ITAB.

MODIFY IT_T001 FROM WA_T001 TRANSPORTING CTAB WHERE BUKRS = '2500'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
I_CALLBACK_PROGRAM = SY-CPROG
* I_CALLBACK_PF_STATUS_SET =''
* I_CALLBACK_USER_COMMAND =''
* I_CALLBACK_TOP_OF_PAGE =''
* I_CALLBACK_HTML_TOP_OF_PAGE =''
* I_CALLBACK_HTML_END_OF_LIST =''
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID =''
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = IS_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE =''
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN =0
* I_SCREEN_START_LINE =0
* I_SCREEN_END_COLUMN =0
* I_SCREEN_END_LINE =0
* I_HTML_HEIGHT_TOP =0
* I_HTML_HEIGHT_END =0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_T001
* 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.

You might also like