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: 

ALV & Edit field

Former Member
0 Kudos

HI ,

I have a ALV with toolbar(page up & page down). Out of ALV, I have a I/O field 'X'.

Issue: When the user selects page-up or down, the value in that row shud appear in the field 'X'. All this is in Module POOL.

what is happening is: actions on ALV are dealt in ALV user command and unable 2 trigger PBO again.hencyby the field values are not being refreshd with new values.

can any one guide me in this issue.

Note: I am using methods for handling the ALV & toolbar completely

I didnt get any solution for my last 3 posts. Hope to get some solution for this.

This is very critical for me.

ANy gud responses shall surely be rewarded.

Thanks

Kiran

5 REPLIES 5

Former Member
0 Kudos

is there a way we can get values of alv to the field outside of ALV?

any methods

or any function modules?

or any other way?

plz guide me.

kiran

0 Kudos

Hi,

Check this link -

you can make changes in your report accordingly.

Regards,

Amit

p291102
Active Contributor
0 Kudos

Hi,

Herewith i am sending the sample coding for EDIT block alv report.

REPORT YMS_EDITBLOCKALV.

TABLES : rmmg1,MCHB, mkpf.

DATA: BEGIN OF t_mseg OCCURS 0,

zeile LIKE mseg-zeile,

menge LIKE mseg-menge,

meins LIKE mseg-meins,

matnr LIKE mseg-matnr,

werks LIKE mseg-werks,

charg LIKE mseg-charg,

bwart LIKE mseg-bwart,

END OF t_mseg.

DATA:BEGIN OF t_mchb OCCURS 0.

INCLUDE STRUCTURE mchb.

data flag type c.

  • matnr LIKE mchb-matnr,

  • charg LIKE mchb-charg,

  • werks LIKE mchb-werks,

  • clabs LIKE mchb-clabs,

DATA END OF t_mchb.

TYPE-POOLS slis.

data: progname like sy-repid,

fieldcattab TYPE slis_t_fieldcat_alv WITH HEADER LINE.

data tabindex type i.

data wa_matnr LIKE mchb-matnr.

progname = sy-repid.

SELECTION-SCREEN BEGIN OF BLOCK b_b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS s_docno FOR mkpf-mblnr OBLIGATORY.

PARAMETERS p_docyr LIKE mkpf-mjahr OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b_b1.

START-OF-SELECTION.

SELECT zeile

menge

meins

matnr

werks

charg

bwart

FROM mseg

INTO TABLE t_mseg

WHERE mblnr IN s_docno AND mjahr = p_docyr.

CLEAR fieldcattab.

fieldcattab-col_pos = 1.

fieldcattab-fieldname = 'ZEILE'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-fix_column = 'X'.

fieldcattab-seltext_l = 'Item'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 2.

fieldcattab-fieldname = 'MENGE'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-seltext_l = 'Quantity'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 3.

fieldcattab-fieldname = 'MEINS'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-seltext_l = 'Unit'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 4.

fieldcattab-fieldname = 'MATNR'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-seltext_l = 'Material'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 5.

fieldcattab-fieldname = 'WERKS'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-seltext_l = 'Plant'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 6.

fieldcattab-fieldname = 'CHARG'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-seltext_l = 'Batch No'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 7.

fieldcattab-fieldname = 'BWART'.

fieldcattab-tabname = 'T_MSEG'.

fieldcattab-seltext_l = 'Inventory'.

fieldcattab-hotspot = 'X'.

APPEND fieldcattab.

end-of-selection.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = PROGNAME

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USERCOMMAND1'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = fieldcattab[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT = fieldcattab

  • IT_HYPERLINK =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = t_mseg

  • 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 usercommand1 USING r_ucomm LIKE sy-ucomm rs_selfield TYPE

slis_selfield.

CASE r_ucomm.

WHEN '&IC1'.

tabindex = rs_selfield-tabindex.

read table t_mseg INDEX tabindex.

select * from mchb into table t_mchb where matnr = t_mseg-matnr.

clear fieldcattab.

CLEAR fieldcattab[].

fieldcattab-col_pos = 1.

fieldcattab-fieldname = 'FLAG'.

fieldcattab-tabname = 'T_MCHB'.

fieldcattab-fix_column = 'X'.

fieldcattab-seltext_l = 'Check Box'.

fieldcattab-input = 'X'.

fieldcattab-edit = 'X'.

fieldcattab-checkbox = 'X'.

APPEND fieldcattab.

clear fieldcattab.

fieldcattab-col_pos = 2.

fieldcattab-fieldname = 'MATNR'.

fieldcattab-tabname = 'T_MCHB'.

fieldcattab-fix_column = 'X'.

fieldcattab-seltext_l = 'Material'.

fieldcattab-emphasize = 'C1'.

fieldcattab-input = 'X'.

fieldcattab-edit = 'X'.

  • fieldcattab-checkbox = 'X'.

APPEND fieldcattab.

clear fieldcattab.

fieldcattab-col_pos = 3.

fieldcattab-fieldname = 'CHARG'.

fieldcattab-tabname = 'T_MCHB'.

fieldcattab-seltext_l = 'Batch No'.

fieldcattab-emphasize = 'C2'.

fieldcattab-input = 'X'.

fieldcattab-edit = 'X'.

APPEND fieldcattab.

clear fieldcattab.

fieldcattab-col_pos = 4.

fieldcattab-fieldname = 'WERKS'.

fieldcattab-tabname = 'T_MCHB'.

fieldcattab-seltext_l = 'Plant'.

fieldcattab-emphasize = 'C30'.

fieldcattab-input = 'X'.

fieldcattab-edit = 'X'.

APPEND fieldcattab.

clear fieldcattab.

fieldcattab-col_pos = 5.

fieldcattab-fieldname = 'CLABS'.

fieldcattab-tabname = 'T_MCHB'.

fieldcattab-seltext_l = 'Stock'.

fieldcattab-emphasize = 'C601'.

fieldcattab-input = 'X'.

fieldcattab-edit = 'X'.

APPEND fieldcattab.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = PROGNAME

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USERCOMMAND2'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = FIELDCATTAB[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = t_mchb

  • 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.

endcase.

endform.

FORM usercommand2 USING r_ucomm LIKE sy-ucomm rs_selfield TYPE

slis_selfield.

CASE r_ucomm.

WHEN '&IC1'.

IF rs_selfield-sel_tab_field = 'T_MCHB-MATNR'.

  • CALL FUNCTION 'ZALV2'

  • EXPORTING

    • CTU = 'X'

  • MODE = 'E'

  • UPDATE = 'A'

    • GROUP =

    • USER =

    • KEEP =

    • HOLDDATE =

    • NODATA = '/'

  • MATNR_001 = '200-200'

    • KZSEL_01_002 = 'X'

    • IMPORTING

    • SUBRC =

    • TABLES

    • MESSTAB =

  • .

**

SET PARAMETER ID 'RID' FIELD RMMG1-MATNR.

CALL TRANSACTION 'MM03' and skip first screen.

    • ENDIF.

    • ENDCASE.

*

  • CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

  • EXPORTING

  • i_callback_program = progname

  • i_callback_user_command = 'USERCOMMAND3'

  • it_fieldcat = fieldcattab[]

  • TABLES

  • t_outtab = t_mchb

  • 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.

endcase.

ENDFORM.

Thanks,

Sankar M

Former Member
0 Kudos

Hi

Try to use- REFRESH_TABLE_DISPLAY

Regds

Seema

Former Member
0 Kudos

tx 4 ur replies...

am not trying to edit field in ALV.

based othe value in ALV, i need to change the field outside ALV.

any chance?

kiran