Application Development and Automation 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: 
Read only

ALV Interactive

Former Member
0 Likes
653

Hi,

My requirement in ALV is..

Actually i am provided the EDIT Cells after displaying ALV Report.

But i am not able to capture the data after i was done edited the output.

How can we can capture the internal table with changes done.

Based on that i need to do some changes.

please help me..

5 REPLIES 5
Read only

Former Member
0 Likes
622

Hi

for this you need to creat the menu painter

adding save button

after you change the output

write the code to store that change data into a table by useing that save button

<b>fieldcataolg - edit = 'x'.</b>

<b>reward if usefull</b>

Read only

0 Likes
622

Hi naresh,

Thanx for Reply.

My actual requirement is ..

First i will display one alv report in GRID format and i have already provided first column editable.

And i have put one refresh button on application tool bar.

Now my requirement is i will edit few rows in first column and if i press refresh button on application tool bar , the first column should be sorted with complete output.

I have done user command also.

My problem is after i have done changes in first column and click on refresh i am not getting changes in which i have done in alv output.

i am gettting old internal table values.

so can you tell how we need to capture the changes done in output.

so that i can sort it easily,

i am usind ALV Function modules.....

so pls provide some solution.

Read only

Former Member
0 Likes
622

REPORT ZNIHAR_ALV_INTERACTIVE.

TABLES: MARA .

*DATA:ITAB LIKE MARA OCCURS 0 WITH HEADER LINE .

TYPE-POOLS: SLIS.

SELECT-OPTIONS: MAT FOR MARA-MATNR .

DATA: BEGIN OF ITMARA OCCURS 0 ,

MATNR LIKE MARA-MATNR,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM ,

END OF ITMARA .

DATA: BEGIN OF ITAB OCCURS 0,

LAEDA LIKE MARA-LAEDA,

AENAM LIKE MARA-AENAM,

ZEINR LIKE MARA-ZEINR,

END OF ITAB.

DATA: IT_CAT TYPE SLIS_T_FIELDCAT_ALV ,

IT_CAT1 TYPE SLIS_T_FIELDCAT_ALV,

WA_CAT TYPE SLIS_FIELDCAT_ALV ,

WA_CAT1 TYPE SLIS_FIELDCAT_ALV,

XLAYOUT TYPE SLIS_LAYOUT_ALV .

WA_CAT-COL_POS = 3 .

WA_CAT-FIELDNAME = 'MATNR' .

WA_CAT-SELTEXT_L = 'MARTIAL NO'.

APPEND WA_CAT TO IT_CAT .

WA_CAT-COL_POS = 1 .

WA_CAT-FIELDNAME = 'ERSDA' .

WA_CAT-SELTEXT_L = 'CREATION DATE'.

WA_CAT-EDIT = 'X' “ This is for Edit Out put list

WA_CAT-NO_OUT = 'X' “ This is for Hide this rows in o/p

APPEND WA_CAT TO IT_CAT .

WA_CAT-COL_POS = 2 .

WA_CAT-FIELDNAME = 'ERNAM' .

WA_CAT-SELTEXT_L = 'NAME OF PERSON'.

APPEND WA_CAT TO IT_CAT .

*

  • XLAYOUT-ZEBRA = 'X' .

SELECT MATNR ERSDA ERNAM FROM MARA INTO CORRESPONDING FIELDS OF TABLE

ITMARA

WHERE MATNR IN MAT .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'ZNIHAR_ALV_INTERACTIVE'

I_CALLBACK_PF_STATUS_SET = 'NIHAR'

I_CALLBACK_USER_COMMAND = 'COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = 'SUB'

  • I_CALLBACK_HTML_TOP_OF_PAGE = 'SUB'

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME = 'MARA'

  • I_BACKGROUND_ID = ' '

I_GRID_TITLE = 'THIS IS MARA TABLE'

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = IT_CAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'A'

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

  • FORM SUB.

  • WRITE:/56 SY-DATUM.

  • WRITE: SY-ULINE.

  • WRITE:/ 'TOP OF PAGE'.

  • ENDFORM.

FORM NIHAR USING NIHAR1 TYPE SLIS_T_EXTAB .

SET PF-STATUS 'STANDARD' .

ENDFORM .

FORM COMMAND USING V-COMM LIKE SY-UCOMM SIE TYPE SLIS_SELFIELD.

CASE V-COMM .

WHEN '&INSERT' .

LEAVE PROGRAM.

ENDCASE.

DATA: MATE(20) TYPE C .

WA_CAT1-COL_POS = 1 .

WA_CAT1-FIELDNAME = 'LAEDA' .

WA_CAT1-SELTEXT_L = 'Date of last change'.

APPEND WA_CAT1 TO IT_CAT1 .

WA_CAT1-COL_POS = 2 .

WA_CAT1-FIELDNAME = 'AENAM' .

WA_CAT1-SELTEXT_L = 'Name of person who changed object'.

APPEND WA_CAT1 TO IT_CAT1 .

WA_CAT1-COL_POS = 3.

WA_CAT1-FIELDNAME = 'ZEINR' .

WA_CAT1-SELTEXT_L = 'Document number'.

APPEND WA_CAT1 TO IT_CAT1 .

IF SIE-FIELDNAME = 'MATNR'.

  • MATE = SIE-VALUE.

SELECT LAEDA AENAM ZEINR FROM MARA INTO TABLE ITAB WHERE MATNR =

SIE-VALUE.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'ZNIHAR_ALV_INTERACTIVE'

I_CALLBACK_PF_STATUS_SET = 'NIHAR'

I_CALLBACK_USER_COMMAND = 'COMMAND'

  • 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 = 'SECONDARY LIST'

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = IT_CAT1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

I_DEFAULT = 'X'

I_SAVE = 'A'

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

CLEAR IT_CAT1.

ENDIF.

IF SIE-FIELDNAME = 'AENAM'.

MESSAGE I200(ZDAS).

ENDIF.

Endform.

Regards.

Nihar Swain

Read only

Former Member
0 Likes
622

Hi

&----


*& Report ZALV_PUSH

*&

&----


*&

*&

&----


REPORT ZALV_PUSH.

TYPE-POOLS : slis,icon.

TABLES : mseg,qals,qave,qmsm,qmel.

SELECT-OPTIONS : s_matnr FOR qals-matnr,

s_werk FOR qals-werk,

s_art FOR qals-art,

s_vcdgrp FOR qave-vcodegrp,

s_vcode FOR qave-vcode,

s_vdatum FOR qave-vdatum.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.

PARAMETERS: p_all RADIOBUTTON GROUP g2,

p_excp RADIOBUTTON GROUP g2.

SELECTION-SCREEN END OF BLOCK b2.

TYPES : BEGIN OF t_out,

icon TYPE icon-id, "TRAFFIC LIGHTS

matnr LIKE qals-matnr, "MATERIAL

werk LIKE qals-werk, "PLANT

vcode LIKE qave-vcode, "USAGE DECISION

mncod LIKE qmsm-mncod, "DISPOSITION

lmenge01 LIKE qals-lmenge01, "UNRESTRICTED QTY

lmenge02 LIKE qals-lmenge02, "SCRAP QTY

lmenge03 LIKE qals-lmenge03, "SAMPLE QTY

lmenge04 LIKE qals-lmenge04, "BLOCKED QTY

lmenge05 LIKE qals-lmenge05, "RETAIN QTY

lmenge06 LIKE qals-lmenge06, "OTHERMAT QTY

lmenge07 LIKE qals-lmenge07, "RTV QTY

lmenge08 LIKE qals-lmenge08, "EXP. SCRAP QTY

prueflos LIKE qals-prueflos, "INSPECTION LOT

art LIKE qals-art, "INSPECTION TYPE

qmnum LIKE qmel-qmnum, "NOTIFICATION

vdatum LIKE qave-vdatum, "DATE

charg LIKE qals-charg, "BATCH

END OF t_out.

TYPES : BEGIN OF t_qmsm,

mncod LIKE qmsm-mncod,

END OF t_qmsm.

DATA: i_qmsm TYPE STANDARD TABLE OF t_qmsm,

wa_qmsm TYPE t_qmsm,

i_out TYPE STANDARD TABLE OF t_out,

wa_out TYPE t_out,

i_out1 TYPE STANDARD TABLE OF t_out,

wa_out1 TYPE t_out,

i_out2 TYPE STANDARD TABLE OF t_out,

wa_out2 TYPE t_out.

DATA: i_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,

i_layout TYPE slis_layout_alv,

gs_layout TYPE lvc_s_layo,

g_repid TYPE sy-repid,

ls_fieldcat TYPE slis_fieldcat_alv,

lt_event_exit TYPE slis_t_event_exit,

ls_event_exit TYPE slis_event_exit.

DATA : g_vcode LIKE qave-vcode,

gc_refresh TYPE syucomm VALUE '&REFRESH',

flag TYPE i VALUE '0'.

AT SELECTION-SCREEN.

IF s_matnr IS INITIAL.

MESSAGE e000(zlqm).

ENDIF.

START-OF-SELECTION.

SET PF-STATUS 'STATUS'.

SELECT amatnr awerk almenge01 almenge02 almenge03 almenge04

almenge05 almenge06 a~lmenge07

almenge08 aprueflos aart acharg bvcode bvdatum c~qmnum

INTO CORRESPONDING FIELDS OF TABLE i_out

FROM qals AS a INNER JOIN qave AS b

ON aprueflos = bprueflos

INNER JOIN qmel AS c

ON aprueflos = cprueflos

WHERE a~matnr IN s_matnr

AND a~werk IN s_werk

AND a~art IN s_art

  • AND a~stat33 = 'X'

AND b~vcodegrp IN s_vcdgrp

AND b~vcode IN s_vcode

AND b~vdatum IN s_vdatum.

i_out1 = i_out.

LOOP AT i_out INTO wa_out.

SELECT mncod

INTO CORRESPONDING FIELDS OF TABLE i_qmsm

FROM qmsm

WHERE qmnum = wa_out-qmnum.

LOOP AT i_qmsm INTO wa_qmsm.

wa_qmsm-mncod = wa_qmsm-mncod+0(2).

LOOP AT i_out1 INTO wa_out1.

MOVE-CORRESPONDING wa_qmsm TO wa_out1.

APPEND wa_out1 TO i_out1.

CLEAR wa_out1.

EXIT.

ENDLOOP.

ENDLOOP.

ENDLOOP.

g_repid = sy-repid.

CLEAR ls_fieldcat.

ls_fieldcat-tabname = 'I_OUT1'.

ls_fieldcat-fieldname = 'ICON'.

ls_fieldcat-seltext_l = 'STATUS'.

ls_fieldcat-outputlen = 15.

ls_fieldcat-icon = 'X'.

APPEND ls_fieldcat TO i_fieldcat.

CLEAR ls_fieldcat.

ls_fieldcat-tabname = 'I_OUT1'.

ls_fieldcat-fieldname = 'MATNR'.

ls_fieldcat-seltext_l = 'MATERIAL NUMBER'.

ls_fieldcat-outputlen = 15.

APPEND ls_fieldcat TO i_fieldcat.

i_layout-zebra = 'X'.

i_layout-colwidth_optimize = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = g_repid

i_callback_pf_status_set = 'STATUS'

i_callback_user_command = 'USER_COMMAND'

  • 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 = i_layout

it_fieldcat = i_fieldcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • it_event_exit = lt_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

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = i_out2

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 USING P_EXTAB TYPE SLIS_T_EXTAB.

*- Pf status

SET PF-STATUS 'STATUS' excluding p_extab.

ENDFORM. " STATUS</b>

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

case R_UCOMM.

when 'BCK'.

leave to screen 0.

  • when '&IC1'.

  • if rs_selfield-fieldname = 'VBELN'.

    • message i000 with 'clicked on row' rs_Selfield-tabindex.

  • set parameter id 'AUN' field rs_selfield-value.

  • call transaction 'VA03' and skip first screen.

  • endif.

endcase.

ENDFORM. "USER_COMMAND</

Read only

Former Member
0 Likes
622

Solved