Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Module pool

Former Member
0 Likes
499

Hi Guy's,

Please help me present requirement is like this covert the simple list inti alv. In simple list-output contain 1 column contain check box, when check this check box and press the display button it will pass the relatred record information into tiff file through fax.

for this purpose they wrote the coding like this.

AT USER-COMMAND.

CASE SY-UCOMM.

  • WHEN 'ONLI'.

  • PERFORM GET_SELECTIONS.

WHEN 'USEL'.

PERFORM UNMARK_ALL.

WHEN 'MARK'.

PERFORM MARK_ALL.

WHEN 'DISP'.

DO.

CLEAR L_SEL_BOX.

READ LINE SY-INDEX FIELD VALUE SEL_BOX INTO L_SEL_BOX.

IF SY-SUBRC NE 0.

EXIT.

ELSE.

IF L_SEL_BOX = 'X'.

CLEAR SEL_LIST.

READ LINE SY-INDEX FIELD VALUE SEL_BOX INTO L_SEL_BOX

RPT_TAB-WFB_MSGSEQ INTO SEL_LIST-WFB_MSGSEQ.

CALL FUNCTION 'Z_WFR_FRM_PROFILE_WWW'

EXPORTING

WFB_MSGSEQ = SEL_LIST-WFB_MSGSEQ

LAUNCH_FLAG = 'X'

  • IMPORTING

  • O_URL =

  • O_DESC =

EXCEPTIONS

OTHERS = 1.

IF SY-SUBRC NE 0.

EXIT.

ENDIF.

ENDIF.

ENDIF.

ENDDO.

For ALV purpose one field in final internal table for check box.

box type c like this.

Please help me friends how to work this senario.

Thanks,

Sai.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
471

AT USER-COMMAND event replaced with USER_COMMAND event in ALV.

For check box handling see the following code..

You need use the Function moduel in the user command.

when ever you check some thing in the output , you need to update the internal table then you have to call the function in the User command.

GET_GLOBALS_FROM_SLVC_FULLSCR

REPORT ZTEST_ALV_CHECK MESSAGE-ID ZZ .
 
TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT TYPE SLIS_LAYOUT_ALV,
X_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
 
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
CHK(1),
color(4),
END OF ITAB.
 
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
 
X_FIELDCAT-FIELDNAME = 'CHK'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-INPUT = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-CHECKBOX = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-HOTSPOT = 'X'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
L_LAYOUT-info_fieldname = 'COLOR'.
*L_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = ITAB
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 STATUS
&---------------------------------------------------------------------
 
 
text 
----------------------------------------------------------------------
 
-->P_EXTAB text 
----------------------------------------------------------------------
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
 
 
Pf status 
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
 
&---------------------------------------------------------------------
*& Form USER_COMMAND
&---------------------------------------------------------------------
 
text 
----------------------------------------------------------------------
 
-->R_UCOMM text 
-->RS_SELFIELD text 
----------------------------------------------------------------------
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
 
DATA: GD_REPID LIKE SY-REPID, "Exists
REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
IF REF_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.
ENDIF.
IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
ENDIF.
 
loop at itab where chk = 'X'.
itab-color = 'C300'.
modify itab index sy-tabix transporting color.
endloop.
RS_SELFIELD-refresh = 'X'.
break-point.
 
ENDFORM. "USER_COMMAND

Regards

Vijay Babu Dudla

2 REPLIES 2
Read only

Former Member
0 Likes
472

AT USER-COMMAND event replaced with USER_COMMAND event in ALV.

For check box handling see the following code..

You need use the Function moduel in the user command.

when ever you check some thing in the output , you need to update the internal table then you have to call the function in the User command.

GET_GLOBALS_FROM_SLVC_FULLSCR

REPORT ZTEST_ALV_CHECK MESSAGE-ID ZZ .
 
TYPE-POOLS: SLIS.
DATA: X_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
L_LAYOUT TYPE SLIS_LAYOUT_ALV,
X_EVENTS TYPE SLIS_ALV_EVENT,
IT_EVENTS TYPE SLIS_T_EVENT.
 
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
POSNR LIKE VBAP-POSNR,
CHK(1),
color(4),
END OF ITAB.
 
SELECT VBELN
POSNR
FROM VBAP
UP TO 20 ROWS
INTO TABLE ITAB.
 
X_FIELDCAT-FIELDNAME = 'CHK'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 1.
X_FIELDCAT-INPUT = 'X'.
X_FIELDCAT-EDIT = 'X'.
X_FIELDCAT-CHECKBOX = 'X'.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
X_FIELDCAT-FIELDNAME = 'VBELN'.
X_FIELDCAT-SELTEXT_L = 'VBELN'.
X_FIELDCAT-HOTSPOT = 'X'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 2.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
X_FIELDCAT-FIELDNAME = 'POSNR'.
X_FIELDCAT-SELTEXT_L = 'POSNR'.
X_FIELDCAT-TABNAME = 'ITAB'.
X_FIELDCAT-COL_POS = 3.
APPEND X_FIELDCAT TO IT_FIELDCAT.
CLEAR X_FIELDCAT.
 
L_LAYOUT-info_fieldname = 'COLOR'.
*L_LAYOUT-ZEBRA = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = L_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = ITAB
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 STATUS
&---------------------------------------------------------------------
 
 
text 
----------------------------------------------------------------------
 
-->P_EXTAB text 
----------------------------------------------------------------------
FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
 
 
Pf status 
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
 
&---------------------------------------------------------------------
*& Form USER_COMMAND
&---------------------------------------------------------------------
 
text 
----------------------------------------------------------------------
 
-->R_UCOMM text 
-->RS_SELFIELD text 
----------------------------------------------------------------------
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
 
DATA: GD_REPID LIKE SY-REPID, "Exists
REF_GRID TYPE REF TO CL_GUI_ALV_GRID.
IF REF_GRID IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
E_GRID = REF_GRID.
ENDIF.
IF NOT REF_GRID IS INITIAL.
CALL METHOD REF_GRID->CHECK_CHANGED_DATA .
ENDIF.
 
loop at itab where chk = 'X'.
itab-color = 'C300'.
modify itab index sy-tabix transporting color.
endloop.
RS_SELFIELD-refresh = 'X'.
break-point.
 
ENDFORM. "USER_COMMAND

Regards

Vijay Babu Dudla

Read only

0 Likes
471

Hi Vijay,

I build field catalog what ever u r given like that only, in my final internal table contain BOX-field for check box.

how to updated that Box field. i saw in debagging the box field is not updating.

Please help me how to work this senario.

Thanks and Regards,

Sai.