Application Development 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: 

REG ALV

Former Member
0 Kudos

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

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hello,

In the fieldcatalog of the field enable <b>EDIT = 'X'</b> and in the usercoamnnd update the table with this field.

REgards,

VAsanth

3 REPLIES 3

Former Member
0 Kudos

Hello,

In the fieldcatalog of the field enable <b>EDIT = 'X'</b> and in the usercoamnnd update the table with this field.

REgards,

VAsanth

0 Kudos

Hi,

Thank you verymuch. Can you send sample coding?

thanks,

M.Manickam

0 Kudos

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