04-23-2007 4:02 PM
Hi,
In ALV report How to change enable mode for particular field and If I change any field that will reflect in Database? Can any one send me the sample coding for this?
Thanks,
M.Manickam
04-23-2007 4:03 PM
Hello,
In the fieldcatalog of the field enable <b>EDIT = 'X'</b> and in the usercoamnnd update the table with this field.
REgards,
VAsanth
04-23-2007 4:03 PM
Hello,
In the fieldcatalog of the field enable <b>EDIT = 'X'</b> and in the usercoamnnd update the table with this field.
REgards,
VAsanth
04-23-2007 4:06 PM
Hi,
Thank you verymuch. Can you send sample coding?
thanks,
M.Manickam
04-23-2007 4:08 PM
Hello,
Check this code:
*&---------------------------------------------------------------------*
*& Form ALV_DISPLAY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_DISPLAY.
DATA: IT_EVENTS TYPE SLIS_T_EVENT,
WA_EVENTS LIKE LINE OF IT_EVENTS.
REFRESH: IT_EVENTS.
CLEAR: WA_EVENTS,IT_EVENTS.
WA_EVENTS-NAME = 'PF_STATUS_SET'.
WA_EVENTS-FORM = 'STATUS'.
APPEND WA_EVENTS TO IT_EVENTS .
*--- ALV List Display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_PROGNAME
I_CALLBACK_USER_COMMAND = G_CALLBACK_USER_COMMAND
IT_FIELDCAT = GT_FIELDCAT
IT_EVENTS = IT_EVENTS
TABLES
T_OUTTAB = G_T_EKPO
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.
ENDFORM. " ALV_DISPLAY
*&---------------------------------------------------------------------*
*& Form USER_COMMAND_ALV
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
*--- Hotspot selektion
CASE RS_SELFIELD-FIELDNAME.
WHEN 'NOTE'.
SELECT * FROM Z48M_NOTE_LIST INTO TABLE IT_TC01.
READ TABLE G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
SELECT SINGLE * FROM Z48M_LIEF_NOTE
WHERE EBELN = G_T_EKPO-EBELN
AND EBELP = G_T_EKPO-EBELP.
IF SY-SUBRC = 0.
LOOP AT IT_TC01.
IF IT_TC01-KRITER = 'QUALITÄT'.
IT_TC01-NOTE = Z48M_LIEF_NOTE-QUALI.
ENDIF.
IF IT_TC01-KRITER = 'KOSTEN'.
IT_TC01-NOTE = Z48M_LIEF_NOTE-KOSTE.
ENDIF.
IF IT_TC01-KRITER = 'LIEFERTERMIN'.
IT_TC01-NOTE = Z48M_LIEF_NOTE-LIEFE.
ENDIF.
IF IT_TC01-KRITER = 'FLEXIBILITÄT'.
IT_TC01-NOTE = Z48M_LIEF_NOTE-FLEXI.
ENDIF.
IF IT_TC01-KRITER = 'ZUSAMMENARBEIT'.
IT_TC01-NOTE = Z48M_LIEF_NOTE-ZUSAM.
ENDIF.
IF IT_TC01-KRITER = 'SCHWIERIGKEITSGRAD'.
IT_TC01-NOTE = Z48M_LIEF_NOTE-SCHWI.
ENDIF.
MODIFY IT_TC01.
ENDLOOP.
* MESSAGE I999(Z48MM) WITH TEXT-004 G_T_EKPO-EBELN
* G_T_EKPO-EBELP.
CALL SCREEN 0100 STARTING AT 20 05 ENDING AT 80 14.
G_T_EKPO-NOTE = G_F_AVG.
G_T_EKPO-FLAG = 'X'.
MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
RS_SELFIELD-REFRESH = 'X'.
ELSE.
CALL SCREEN 0100 STARTING AT 20 05 ENDING AT 80 14.
G_T_EKPO-NOTE = G_F_AVG.
G_T_EKPO-FLAG = 'X'.
MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
RS_SELFIELD-REFRESH = 'X'.
ENDIF.
ENDCASE.
WHEN '&EMAIL'.
PERFORM BUILD_XLS_DATA_TABLE.
PERFORM MAIL_SEND.
ENDCASE.
ENDFORM. "USER_COMMAND_ALV
If useful reward.
Vasanth