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: 

How to make cell editable in ALV

sachin_yadav3
Active Participant
0 Kudos

Hello all,

I have following scenario.

I am using ALV_GRID_DISPLAY.

I have 5 field on output screen say A , B , C , D , E.

In field A i have check box.

In field B i have number like 0 ,1 , 2 , 3 ,4 ,5.

My problem is whenever i get value of field A as 0 i want to make my only check box of that row editable.

So can anyone help me.

Thanks in advance

Sachin

1 ACCEPTED SOLUTION

Former Member
0 Kudos

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

9 REPLIES 9

Former Member
0 Kudos

Hi,

You can use the following code.

wa_fieldcat-fieldname   = 'NETPR'.
  wa_fieldcat-scrtext_m   = 'Net Price'.
  wa_fieldcat-edit        = 'X'. "sets whole column to be editable
  wa_fieldcat-col_pos     = 7.
  wa_fieldcat-outputlen   = 15.
  wa_fieldcat-datatype     = 'CURR'.
  APPEND wa_fieldcat TO it_fieldcat.
  CLEAR  wa_fieldcat.

Thanks,

Viv

0 Kudos

Thanks buddy but i don't want to set entire column editable i just want to make only one cell editable.

Thanks

0 Kudos

Hi,

Jus chk the below extract from the SAP material:

To make a column editable, it will be sufficient to set the field u201CEDITu201D in the field catalog. The ALV Grid perceives if there are some editable fields and adds buttons for editing purposes.

To make individual cells editable, we will utilize the table we used for making a cell a pushbutton. It was of type u201CLVC_T_STYLu201D. If you have not added this inner table, add it now. For this procedure; add the name of the field to the field u201CFIELDNAMEu201D, and pass u201Ccl_gui_alv_grid=>mc_style_enabledu201D to make a field editable and u201Ccl_gui_alv_grid=>mc_style_disabledu201D to make a field non-editable, to the field u201CSTYLEu201D.

Eg:

DATA ls_listrow LIKE LINE OF pt_list .

DATA ls_stylerow TYPE lvc_s_styl .

DATA lt_styletab TYPE lvc_t_styl .

LOOP AT pt_list INTO ls_listrow .

IF ls_listrow-carrid = 'XY' .

ls_stylerow-fieldname = 'ABC' .

ls_stylerow-style = cl_gui_alv_grid=>mc_style_disabled .

APPEND ls_stylerow TO lt_styletab .

ENDIF .

IF ls_listrow-connid = '02' .

ls_stylerow-fieldname = 'XYZ' .

ls_stylerow-style = cl_gui_alv_grid=>mc_style_enabled .

APPEND ls_stylerow TO lt_styletab .

ENDIF .

INSERT LINES OF lt_styletab INTO ls_listrow-cellstyles .

MODIFY pt_list FROM ls_listrow .

ENDLOOP .

Hope this is quite clear.

former_member1245113
Active Contributor
0 Kudos

Hi,

Take the help of programs BCALV_EDIT_01 to BCALV_EDIT_08

Regards

Ramchander Rao.K

Former Member
0 Kudos

Hi Sachin,

When you fil your field catalog for field which you want to edit,

use like this,

wa_fieldcat-fieldname   = 'SPART'.
  wa_fieldcat-seltext_m   = 'Division'.
  wa_fieldcat-edit        = 'X'. "Editable field
  wa_fieldcat-col_pos     = 6.
  APPEND wa_fieldcat TO it_fieldcat.

Regards,

Manoj Kumar P

Sandeep_Kumar
Product and Topic Expert
Product and Topic Expert
0 Kudos

Tyr this :

Add one more field to ur output table and make layout as ls_layo-stylefname = 'CELLTAB'.

Below you can find the code to make field editable or not :

DATA: ls_celltab TYPE lvc_s_styl,

l_mode TYPE raw4.

  • This forms sets the style of columns BUKRS,RLDNR and PERIV

  • as non-editable

l_mode = cl_gui_alv_grid=>mc_style_disabled.

ls_celltab-fieldname = 'BUKRS'.

ls_celltab-style = l_mode.

INSERT ls_celltab INTO TABLE pt_celltab.

ls_celltab-fieldname = 'RLDNR'.

ls_celltab-style = l_mode.

INSERT ls_celltab INTO TABLE pt_celltab.

ls_celltab-fieldname = 'PERIV'.

ls_celltab-style = l_mode.

INSERT ls_celltab INTO TABLE pt_celltab.

Hope this helps.

Former Member
0 Kudos

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

Former Member
0 Kudos

You will find many examples for editable ALV in the Package SLIS . Search for ALVEDIT* .

regards,

Advait

Former Member
0 Kudos

Hi Sachin,

REPORT zalv_editf4display.*Type pools for alv

TYPE-POOLS : slis.*structure for t582a tbale

TYPES : BEGIN OF ty_table,

infty TYPE infty,

pnnnn TYPE pnnnn_d,

zrmkz TYPE dzrmkz,

zeitb TYPE dzeitb,

dname TYPE dianm,

davo TYPE davo,

davoe TYPE davoe,

END OF ty_table.*Structure for infotype text

TYPES : BEGIN OF ty_itext,

infty TYPE infty,

itext TYPE intxt,

sprsl TYPE sprsl,

END OF ty_itext.*Structure for output display

TYPES : BEGIN OF ty_output,

infty TYPE infty,

itext TYPE intxt,

pnnnn TYPE pnnnn_d,

zrmkz TYPE dzrmkz,

zeitb TYPE dzeitb,

dname TYPE dianm,

davo TYPE davo,

davoe TYPE davoe,

END OF ty_output.*internal table and work area declarations

DATA : it_table TYPE STANDARD TABLE OF ty_table INITIAL SIZE 0,

it_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,

it_pbo TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0,

it_ittext TYPE STANDARD TABLE OF ty_itext INITIAL SIZE 0,

wa_table TYPE ty_table,

wa_output TYPE ty_output,

wa_ittext TYPE ty_itext.*Data declarations for dropdown lists for f4

DATA: it_dropdown TYPE lvc_t_drop,

ty_dropdown TYPE lvc_s_drop,

*data declaration for refreshing of alv

stable TYPE lvc_s_stbl.*Global variable declaration

DATA: gstring TYPE c.

*Data declarations for ALV

DATA: c_ccont TYPE REF TO cl_gui_custom_container, "Custom container object

c_alvgd TYPE REF TO cl_gui_alv_grid, "ALV grid object

it_fcat TYPE lvc_t_fcat, "Field catalogue

it_layout TYPE lvc_s_layo. "Layout*ok code declaration

DATA:

ok_code TYPE ui_func.

initialization eventINITIALIZATION.start of selection event

START-OF-SELECTION.*select the infotypes maintained

SELECT infty

pnnnn

zrmkz

zeitb

dname

davo

davoe

FROM t582a UP TO 10 ROWS

INTO CORRESPONDING FIELDS OF TABLE it_table.* *Select the infotype texts

IF it_table[] IS NOT INITIAL.

SELECT itext

infty

sprsl

FROM t582s

INTO CORRESPONDING FIELDS OF TABLE it_ittext

FOR ALL ENTRIES IN it_table

WHERE infty = it_table-infty

AND sprsl = 'E'.

ENDIF.

*Apppending the data to the internal table of ALV output

LOOP AT it_table INTO wa_table. wa_output-infty = wa_table-infty.

wa_output-pnnnn = wa_table-pnnnn.

wa_output-zrmkz = wa_table-zrmkz.

wa_output-zeitb = wa_table-zeitb.

wa_output-dname = wa_table-dname.

wa_output-davo = wa_table-davo.

wa_output-davoe = wa_table-davoe.* For texts READ TABLE it_ittext INTO wa_ittext WITH KEY infty = wa_table-infty.

wa_output-itext = wa_ittext-itext.

APPEND wa_output TO it_output.

CLEAR wa_output. ENDLOOP.* Calling the ALV screen with custom container CALL SCREEN 0600.*On this statement double click it takes you to the screen painter SE51.

*Enter the attributes

*Create a Custom container and name it CCONT and OK code as OK_CODE.

*Save check and Activate the screen painter.

*Now a normal screen with number 600 is created which holds the ALV grid.

  • PBO of the actual screen ,

  • Here we can give a title and customized menus

*create 2 buttons with function code 'SAVE' and 'EXIT'.

  • GIVE A SUITABLE TITLE&---------------------------------------------------------------------

*& Module STATUS_0600 OUTPUT

&----


  • text

----


MODULE status_0600 OUTPUT.

SET PF-STATUS 'DISP'.

SET TITLEBAR 'ALVF4'.

ENDMODULE. " STATUS_0600 OUTPUT

  • calling the PBO module ALV_GRID.

&----


*& Module PBO OUTPUT

&----


  • text

----


MODULE pbo OUTPUT.*Creating objects of the container

CREATE OBJECT c_ccont

EXPORTING

container_name = 'CCONT'.* create object for alv grid

create object c_alvgd

exporting

i_parent = c_ccont.* SET field for ALV

PERFORM alv_build_fieldcat.* Set ALV attributes FOR LAYOUT

PERFORM alv_report_layout.

CHECK NOT c_alvgd IS INITIAL.* Call ALV GRID CALL METHOD c_alvgd->set_table_for_first_display

EXPORTING

is_layout = it_layout

i_save = 'A'

CHANGING

it_outtab = it_output

it_fieldcatalog = it_fcat

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.ENDMODULE. " PBO OUTPUT&----


*& Form alv_build_fieldcat

&----


  • text

----


  • <--P_IT_FCAT text

----


*subroutine to build fieldcatFORM alv_build_fieldcat. DATA lv_fldcat TYPE lvc_s_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '1'.

lv_fldcat-fieldname = 'INFTY'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 8.

lv_fldcat-scrtext_m = 'Infotype'.

lv_fldcat-icon = 'X'.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '2'.

lv_fldcat-fieldname = 'PNNNN'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 15.

lv_fldcat-scrtext_m = 'Structure'.

lv_fldcat-icon = ''.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '3'.

lv_fldcat-fieldname = 'ITEXT'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 60.

lv_fldcat-scrtext_m = 'Description'.

lv_fldcat-icon = ''.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat.

lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '5'.

lv_fldcat-fieldname = 'ZRMKZ'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 1.

lv_fldcat-scrtext_m = 'PERIOD'.

lv_fldcat-icon = ''.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '6'.

lv_fldcat-fieldname = 'ZEITB'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 5.

lv_fldcat-scrtext_m = 'Time constraint'.

lv_fldcat-edit = 'X'.

*To avail the existing F4 help these are to

*be given in the field catalogue

lv_fldcat-f4availabl = 'X'.

lv_fldcat-ref_table = 'T582A'.

lv_fldcat-ref_field = 'ZEITB'. APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '7'.

lv_fldcat-fieldname = 'DNAME'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 15.

lv_fldcat-scrtext_m = 'Dialogmodule'.

lv_fldcat-icon = ''.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '8'.

lv_fldcat-fieldname = 'DAVO'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 15.

lv_fldcat-scrtext_m = 'Start'.

lv_fldcat-edit = 'X'.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat. lv_fldcat-row_pos = '1'.

lv_fldcat-col_pos = '9'.

lv_fldcat-fieldname = 'DAVOE'.

lv_fldcat-tabname = 'IT_OUTPUT'.

lv_fldcat-outputlen = 15.

lv_fldcat-scrtext_m = 'End'.

lv_fldcat-icon = ''.

APPEND lv_fldcat TO it_fcat.

CLEAR lv_fldcat.

*To create drop down for the field 'DAVO'

  • with our own f4 help

ty_dropdown-handle = '1'.

ty_dropdown-value = ' '.

APPEND ty_dropdown TO it_dropdown.

ty_dropdown-handle = '1'.

ty_dropdown-value = '1'.

APPEND ty_dropdown TO it_dropdown.

ty_dropdown-handle = '1'.

ty_dropdown-value = '2'.

APPEND ty_dropdown TO it_dropdown.

ty_dropdown-handle = '1'.

ty_dropdown-value = '3'.

APPEND ty_dropdown TO it_dropdown. CALL METHOD c_alvgd->set_drop_down_table

EXPORTING

it_drop_down = it_dropdown.

LOOP AT it_fcat INTO lv_fldcat.

CASE lv_fldcat-fieldname.

    • To assign dropdown in the fieldcataogue

WHEN 'DAVO'.

lv_fldcat-drdn_hndl = '1'.

lv_fldcat-outputlen = 15.

MODIFY it_fcat FROM lv_fldcat.

ENDCASE.

ENDLOOP.ENDFORM. " alv_build_fieldcat&----


*& Form alv_report_layout

&----


  • text

----


  • <--P_IT_LAYOUT text

----


*Subroutine for setting alv layout

FORM alv_report_layout.

it_layout-cwidth_opt = 'X'.

it_layout-col_opt = 'X'.

it_layout-zebra = 'X'.ENDFORM. " alv_report_layout* PAI module of the screen created. In case we use an interactive ALV or

*for additional functionalities we can create OK codes

*and based on the user command we can do the coding.

&----


*& Module PAI INPUT

&----


  • text

----


MODULE pai INPUT.*To change the existing values and refresh the grid

*And only values in the dropdown or in the default

*F4 can be given , else no action takes place for the dropdown

*and error is thrown for the default F4 help and font changes to red

and on still saving, value is not changed c_alvgd->check_changed_data( ).Based on the user input

*When user clicks 'SAVE;

CASE ok_code. WHEN 'SAVE'.*A pop up is called to confirm the saving of changed data

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

titlebar = 'SAVING DATA'

text_question = 'Continue?'

icon_button_1 = 'icon_booking_ok'

IMPORTING

answer = gstring

EXCEPTIONS

text_not_found = 1

OTHERS = 2.

IF sy-subrc NE 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.*When the User clicks 'YES'

IF ( gstring = '1' ).

MESSAGE 'Saved' TYPE 'S'.

*Now the changed data is stored in the it_pbo internal table

it_pbo = it_output.

*Subroutine to display the ALV with changed data.

PERFORM redisplay.

ELSE.

*When user clicks NO or Cancel

MESSAGE 'Not Saved' TYPE 'S'.

ENDIF.

**When the user clicks the 'EXIT; he is out

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE. CLEAR: ok_code.ENDMODULE. " PAI INPUT

&----


*& Form REDISPLAY

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM redisplay .*Cells of the alv are made non editable after entering OK to save CALL METHOD c_alvgd->set_ready_for_input

EXPORTING

i_ready_for_input = 0.*Row and column of the alv are refreshed after changing values stable-row = 'X'.

stable-col = 'X'.*REfreshed ALV display with the changed values

*This ALV is non editable and contains new values

CALL METHOD c_alvgd->refresh_table_display

EXPORTING

is_stable = stable

EXCEPTIONS

finished = 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. " REDISPLAY

Regards,

Flavya