ALV Report Color the output
ALV Report Color the output
Steps:
Go to transaction code SE38.
Enter the program Title name and Select attribute type as Executable program.
Click on Save.
Source Code
TYPES : BEGIN OF TY_SO,
VBELN TYPE VBAK-VBELN,
POSNR TYPE VBAP-POSNR,
VKORG TYPE VBAK-VKORG,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
NETWR TYPE VBAP-NETWR,
COLOR(4) TYPE C,
END OF TY_SO.
START-OF-SELECTION.
PERFORM FETCH_DATA USING S_VBELN[] CHANGING IT_SO.
WA_SO-COLOR = 'C310'.
WA_SO-COLOR = 'C510'.
ELSE.
WA_SO-COLOR = 'C610'.
ENDIF.
MODIFY IT_SO FROM WA_SO INDEX SY-TABIX.
ENDLOOP.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-OUTPUTLEN = 10.
WA_FIELDCAT-SELTEXT_M = 'BILLING DOC'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-OUTPUTLEN = 4.
WA_FIELDCAT-SELTEXT_M = 'ITEM'.
WA_FIELDCAT-KEY = 'X'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-FIELDNAME = 'VKORG'.
WA_FIELDCAT-OUTPUTLEN = 4.
WA_FIELDCAT-SELTEXT_M = 'SALES ORG'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-OUTPUTLEN = 18.
WA_FIELDCAT-SELTEXT_M = 'MATERIAL NUMBER'.
WA_FIELDCAT-COL_POS = 5.
WA_FIELDCAT-FIELDNAME = 'ARKTX'.
WA_FIELDCAT-OUTPUTLEN = 40.
WA_FIELDCAT-SELTEXT_M = 'SALES MATERIAL DES'.
APPEND WA_FIELDCAT TO P_IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-COL_POS = 6.
WA_FIELDCAT-FIELDNAME = 'NETWR'.
WA_FIELDCAT-OUTPUTLEN = 15.
WA_FIELDCAT-SELTEXT_M = 'NET PRICE'.
APPEND WA_FIELDCAT TO P_IT_FIELDCAT.
CLEAR WA_FIELDCAT.
endform. " FIELD_CATALOG
*&---------------------------------------------------------------------*
*& Form DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_IT_FIELDCAT text
* -->P_IT_SO text
*----------------------------------------------------------------------*
form DISPLAY using p_it_fieldcat LIKE IT_FIELDCAT
p_it_so LIKE IT_SO.
IS_LAYOUT-info_fieldname = 'COLOR'.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK =''
* I_BYPASSING_BUFFER =''
* I_BUFFER_ACTIVE =''
I_CALLBACK_PROGRAM = SY-REPID
* I_CALLBACK_PF_STATUS_SET =''
* I_CALLBACK_USER_COMMAND = 'SAVE'
* 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 = p_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 = p_it_so
EXCEPTIONS
PROGRAM_ERROR =1
OTHERS =2
.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
Output