‎2007 Sep 26 10:34 AM
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..
‎2007 Sep 26 10:50 AM
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>
‎2007 Sep 26 11:26 AM
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.
‎2007 Sep 26 11:49 AM
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
‎2007 Sep 26 1:24 PM
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</
‎2010 May 13 11:57 AM