2007 Sep 12 12:13 PM
how to edit an alv list & alv grid output ?
2007 Sep 12 12:16 PM
hi Prakash,
<b>chk this for Grid</b>
/people/community.user/blog/2007/01/10/displaychange-mode-of-editable-fields-in-alv-using-function-modules-but-not-custom-containers
<b>chk this for list</b>
REPORT ABC.
TYPE-POOLS : SLIS.
*-------------- Data
DATA : BEGIN OF ITAB OCCURS 0.
INCLUDE STRUCTURE T001.
DATA : FLAG TYPE C,
END OF ITAB.
DATA : ALVFC TYPE SLIS_T_FIELDCAT_ALV.
DATA : ALVLY TYPE SLIS_LAYOUT_ALV.
*--------- Select Data
SELECT * FROM T001 INTO TABLE ITAB.
LOOP AT ITAB.
IF SY-TABIX = 1.
ITAB-FLAG = '1'.
MODIFY ITAB.
ENDIF.
IF SY-TABIX = 2.
ITAB-FLAG = 'X'.
MODIFY ITAB.
ENDIF.
IF SY-TABIX = 3.
ITAB-FLAG = '0'.
MODIFY ITAB.
ENDIF.
ENDLOOP.
*------- Field Catalogue
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-CPROG
I_INTERNAL_TABNAME = 'ITAB'
I_INCLNAME = SY-CPROG
CHANGING
CT_FIELDCAT = ALVFC
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
*---------------Display
ALVLY-BOX_FIELDNAME = 'FLAG'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
IT_FIELDCAT = ALVFC
I_CALLBACK_PROGRAM = SY-CPROG "<-------Important
I_CALLBACK_USER_COMMAND =
'ITAB_USER_COMMAND' "<------ Important
IS_LAYOUT = ALVLY
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*-------------------------------------------------
* CALL BACK FORM
*-------------------------------------------------
FORM ITAB_USER_COMMAND USING WHATCOMM TYPE SY-UCOMM WHATROW TYPE
SLIS_SELFIELD.
DATA : MSG(100) TYPE C.
LOOP AT ITAB.
IF ITAB-FLAG = 'X'.
MSG = SY-TABIX.
CONDENSE MSG.
CONCATENATE 'Row Number ' MSG ' ' INTO MSG
SEPARATED BY SPACE.
*message msg type 'I'.
ENDIF.
ENDLOOP.
ENDFORM. "ITAB_user_command
2007 Sep 14 7:54 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |