06/08/2010

How to Find a Screen Exit in a Given SAP Standard T-code


REPORT ZRRSAMPLE.

TABLES: modsap, modact, tstc.

PARAMETERS: input1 LIKE tstc-tcode DEFAULT ' ',
input2 LIKE modsap-typ DEFAULT ' '.

DATA: search1(6),
search2(3),
search3 LIKE modsap-member.

DATA : first_row VALUE 'Y'.

CONCATENATE: '%' input1 '%' INTO search1,
'%' input2 INTO search2.

SELECT * FROM tstc WHERE tcode LIKE search1.

first_row = 'Y'.

CHECK tstc-pgmna NE space.

CONCATENATE '%' tstc-pgmna '%' INTO search3.

SELECT * FROM modsap WHERE typ LIKE search2
AND member LIKE search3.

SELECT SINGLE * FROM modact WHERE member = modsap-name.

IF first_row EQ 'Y'.
WRITE: /0 tstc-tcode, 6 tstc-pgmna, 16 modsap-name, 32 modsap-typ,
45 modsap-member, 70 modact-name.
first_row = 'N'.
ELSE.
WRITE: /16 modsap-name, 32 modsap-typ, 45 modsap-member, 70 modact-name.
ENDIF.

CLEAR : modsap, modact.

ENDSELECT.

IF sy-subrc NE 0.
WRITE : /0 tstc-tcode, 6 tstc-pgmna, 30 'No exits found'.
ENDIF.

CLEAR tstc.

ENDSELECT.

END-OF-SELECTION.

CLEAR: search1, search2, search3.

Checkbox as a Radiobutton


REPORT ZRRSAMPLE.

PARAMETERS: p_check1 AS CHECKBOX USER-COMMAND check,
p_check2 AS CHECKBOX USER-COMMAND check,
p_check3 AS CHECKBOX USER-COMMAND check ,
p_check4 AS CHECKBOX USER-COMMAND check .

DATA: value TYPE char10.

AT SELECTION-SCREEN.

GET CURSOR FIELD value.

IF value = 'P_CHECK1'.
p_check2 = space.
p_check3 = space.
p_check4 = space.
ELSEIF value = 'P_CHECK2'.
p_check1 = space.
p_check3 = space.
p_check4 = space.
ELSEIF value = 'P_CHECK3'.
p_check1 = space.
p_check2 = space.
p_check4 = space.
ELSEIF value = 'P_CHECK4'.
p_check2 = space.
p_check3 = space.
p_check1 = space.

ENDIF.

Colors in REUSE_ALV_GRID_DISPLAY_LVC


REPORT ZRRSAMPLE.

*&---------------------------------------------------------------------*
* type pools
*----------------------------------------------------------------------*
TYPE-POOLS: slis.

*&---------------------------------------------------------------------*
* declarations for alv and internal tables
*----------------------------------------------------------------------*
DATA: it_fieldcat TYPE lvc_t_fcat,
wa_fieldcat TYPE lvc_s_fcat,
wa_layout TYPE lvc_s_layo,
v_position TYPE i ,
ls_cellcolor TYPE lvc_s_scol,
l_index TYPE sy-tabix.

DATA: BEGIN OF it_spfli OCCURS 0,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
cellcolor TYPE lvc_t_scol,
END OF it_spfli.

*&---------------------------------------------------------------------*
* start of selection
*----------------------------------------------------------------------*
START-OF-SELECTION .

*---get data from db table
PERFORM get_data .

*---build layout for alv
PERFORM build_layout .

*---build fieldcat for alv
PERFORM build_fieldcat .

*---modify fieldcat for colors in alv
PERFORM modify_fieldcat .

*---display alv
PERFORM display_alv .

*&---------------------------------------------------------------------*
*& Form get_data
*----------------------------------------------------------------------*
FORM get_data .

SELECT carrid
connid
UP TO 25 ROWS
INTO CORRESPONDING FIELDS OF TABLE it_spfli
FROM spfli.

ENDFORM. " get_data
*&---------------------------------------------------------------------*
*& Form build_fieldcat
*----------------------------------------------------------------------*
FORM build_fieldcat .

wa_fieldcat-fieldname = 'CARRID'.
wa_fieldcat-reptext = 'CARRID'.

APPEND wa_fieldcat TO it_fieldcat.

CLEAR wa_fieldcat.

wa_fieldcat-fieldname = 'CONNID'.
wa_fieldcat-reptext = 'CONNID'.

APPEND wa_fieldcat TO it_fieldcat.

CLEAR wa_fieldcat.

ENDFORM. " build_fieldcat
*&---------------------------------------------------------------------*
*& Form build_layout
*----------------------------------------------------------------------*
FORM build_layout .

wa_layout-ctab_fname = 'CELLCOLOR'.
wa_layout-zebra = 'X'.

ENDFORM. " build_layout
*&---------------------------------------------------------------------*
*& Form modify_fieldcat
*----------------------------------------------------------------------*
FORM modify_fieldcat .

LOOP AT it_spfli.

l_index = sy-tabix.

IF l_index = 5 OR l_index = 15.

ls_cellcolor-fname = 'CARRID'.
ls_cellcolor-color-col = '6'.
ls_cellcolor-color-int = '1'.

APPEND ls_cellcolor TO it_spfli-cellcolor.

MODIFY it_spfli INDEX l_index TRANSPORTING cellcolor.

ENDIF.

IF l_index = 10 OR l_index = 20.

ls_cellcolor-fname = 'CONNID'.
ls_cellcolor-color-col = '4'.
ls_cellcolor-color-int = '1'.

APPEND ls_cellcolor TO it_spfli-cellcolor.

MODIFY it_spfli INDEX l_index TRANSPORTING cellcolor.

ENDIF.

IF it_spfli-carrid IS INITIAL .

DELETE it_spfli.

ENDIF.

ENDLOOP.

ENDFORM. " modify_fieldcat
*&---------------------------------------------------------------------*
*& Form display_alv
*----------------------------------------------------------------------*
FORM display_alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
is_layout_lvc = wa_layout
it_fieldcat_lvc = it_fieldcat
TABLES
t_outtab = it_spfli.

ENDFORM. " display_alv

Icon on Selection Screen - 2


REPORT ZRRSAMPLE.

TYPE-POOLS: icon.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(17) fld_lab.
SELECTION-SCREEN COMMENT 18(5) icon1.
PARAMETERS: p_check.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN OUTPUT.

WRITE icon_configuration AS ICON TO icon1.
fld_lab = 'This is the label'.

START-OF-SELECTION.