05-14-2007 10:31 AM
hi experts,
any function module which will update the change made in editable field of alv to database tables. in my case i am editing the field arktx which should update the database table vbap.
05-14-2007 10:32 AM
05-14-2007 10:35 AM
Hi Narasimha Kulkarni,
<b>Check out the following which will guide you with all the relevant functionality
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/cda3992d-0e01-0010-90b2-c4e1f899ac01</b>
Good Luck and thanks
AK
05-14-2007 10:36 AM
Please refer this code for the same...
Also please do use ..transporting when you use modify...
&----
*& Report Z8JAYANT_MAT_RECORD_SHADOW1 *
*& *
&----
*& *
*& *
&----
REPORT Z8JAYANT_MAT_RECORD_SHADOW1 MESSAGE-ID Z8JAYANT.
************************************************************************
Author: Jayant Kumar Sahu
Client:
Date: 11/13/2006
Purpose: To prepare a report on entry of material document number.
Description: Report is in form of ALV.
*----
Modification Log:
Date Developer Reason
*----
11/13/2006 Jayant Sahu Development
************************************************************************
TYPE-POOLS: SLIS. "Type Pool for the ALV reporting.
TABLES: MKPF, MSEG, MARA, MAKT. "Tables Used in Reporting.
----
Structure Declaration *
----
Structure for the Header Data.
TYPES: BEGIN OF IT_HEADER,
MBLNR TYPE MBLNR, "Number of the Material Document.
MJAHR TYPE MJAHR, "Material Document Year.
BLART TYPE BLART, "Document Type.
BUDAT TYPE BUDAT, "Posting Date in Document.
END OF IT_HEADER.
Structure containing all the fields from all tables.
TYPES: BEGIN OF IT_FINAL,
MBLNR TYPE MBLNR, "Number of the Material Document.
MJAHR TYPE MJAHR, "Material Document Year.
BLART TYPE BLART, "Document Type.
BUDAT TYPE BUDAT, "Posting Date in Document.
ZEILE TYPE MBLPO, "Item in Material Document.
MATNR TYPE MATNR, "Material Number.
BWART TYPE BWART, "Movement Type (Inventory Mgmt.).
WERKS TYPE WERKS_D, "Plant.
LGORT TYPE LGORT_D, "Storage Location.
MENGE TYPE MENGE_D, "Quantity.
MEINS TYPE MEINS, "Base Unit of Measure.
MAKTX TYPE MAKTX, "Material Description.
ERSDA TYPE ERSDA, "Creation date.
ERNAM TYPE ERNAM, "Person who Created object.
PSTAT TYPE PSTAT_D, "Maintenance status.
BOX(2) TYPE C,
END OF IT_FINAL,
BEGIN OF T_MSEG,
MBLNR TYPE MBLNR, "Number of the Material Document.
MJAHR TYPE MJAHR, "Material Document Year.
ZEILE TYPE MBLPO, "Item in Material Document.
MENGE TYPE MENGE_D, "Quantity.
MEINS TYPE MEINS, "Base Unit of Measure.
END OF T_MSEG.
TYPES : BEGIN OF T_MATERIAL,
MATNR TYPE MATNR,
ERSDA TYPE ERSDA, "Creation date.
ERNAM TYPE ERNAM, "Person who Created object.
PSTAT TYPE PSTAT_D, "Maintenance status.
MAKTX TYPE MAKTX, "Material Description.
END OF T_MATERIAL.
----
Internal Tables *
----
*Internal Table for the Structure it_header.
DATA: I_HEADER TYPE STANDARD TABLE OF IT_HEADER WITH HEADER LINE.
*Internal Table for the Structure it_final.
DATA: I_FINAL TYPE STANDARD TABLE OF IT_FINAL WITH HEADER LINE.
DATA: I_FINAL2 TYPE STANDARD TABLE OF IT_FINAL WITH HEADER LINE.
DATA: I_MATERIAL TYPE STANDARD TABLE OF T_MATERIAL WITH HEADER LINE.
*Internal Table for the Updating unit of measurement.
DATA: I_MSEG TYPE STANDARD TABLE OF T_MSEG WITH HEADER LINE.
DATA: WA_FINAL TYPE IT_FINAL.
DATA: WA_MSEG TYPE T_MSEG.
DATA: WA TYPE MSEG.
FOR THE SORTING SEQUENCE.
DATA: I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.
----
Data Declaration For the Basic ALV Reporting *
----
DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
V_LAYOUT TYPE SLIS_LAYOUT_ALV,
I_EVENTS TYPE SLIS_T_EVENT.
----
Selection Screen *
----
SELECTION-SCREEN BEGIN OF BLOCK SEL WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_MBLNR FOR MKPF-MBLNR.
SELECTION-SCREEN END OF BLOCK SEL.
----
Validation at Selection Screen *
----
AT SELECTION-SCREEN.
SELECT MBLNR FROM MKPF INTO (I_HEADER-MBLNR) WHERE
MBLNR IN S_MBLNR.
EXIT.
ENDSELECT.
IF SY-SUBRC <> 0. "If record is not found.
MESSAGE E021.
ENDIF.
CLEAR I_HEADER.
REFRESH I_HEADER.
----
Start of Selection Event *
----
*For Selecting the Data Into the Internal Table.
PERFORM SELECT_DATA.
*For the Fieldcatalog .(For Displaying the output.
PERFORM FIELDCATALOG USING I_FIELDCAT[].
*For the Layout.
PERFORM ZF_OUTPUT_LAYOUT.
*For including the events.
PERFORM EVENT_CATALOG USING I_EVENTS.
*For Sorting the fields.
PERFORM SORT_CATALOG USING I_SORTINFO.
*For the Display of the report (grid display).
PERFORM GRID_LAYOUT.
&----
*& Form Select_data
&----
text
----
--> p1 text
<-- p2 text
----
FORM SELECT_DATA .
*Populating the data to Final internal table.
""break-point.
SELECT DISTINCT MKPF~MBLNR
MKPF~MJAHR
MKPF~BLART
MKPF~BUDAT
MSEG~ZEILE
MSEG~MATNR
MSEG~BWART
MSEG~WERKS
MSEG~LGORT
MSEG~MENGE
MSEG~MEINS INTO TABLE I_FINAL
FROM MKPF INNER JOIN MSEG
ON MSEGMBLNR = MKPFMBLNR
AND MSEGMJAHR = MKPFMJAHR
WHERE MKPF~MBLNR IN S_MBLNR.
*Populating the Material Master Data in internal table.
IF I_FINAL[] IS NOT INITIAL.
SELECT MARA~MATNR
MARA~ERSDA
MARA~ERNAM
MARA~PSTAT
MAKT~MAKTX INTO TABLE I_MATERIAL
FROM MARA INNER JOIN MAKT
ON MAKTMATNR = MARAMATNR
FOR ALL ENTRIES IN I_FINAL
WHERE MARA~MATNR = I_FINAL-MATNR.
ENDIF.
*Moving the material Master Information to the final internal table.
LOOP AT I_FINAL.
READ TABLE I_MATERIAL WITH KEY MATNR = I_FINAL-MATNR.
I_FINAL-ERSDA = I_MATERIAL-ERSDA.
I_FINAL-ERNAM = I_MATERIAL-ERNAM.
I_FINAL-PSTAT = I_MATERIAL-PSTAT.
I_FINAL-MAKTX = I_MATERIAL-MAKTX.
MODIFY I_FINAL TRANSPORTING ERSDA ERNAM PSTAT MAKTX.
ENDLOOP.
*Sorting the final internal table on Material Doc. Number.
SORT I_FINAL BY MBLNR.
ENDFORM. " Select_data
&----
*& Form fieldcatalog
&----
text
----
-->P_I_FIELDCAT text
----
FORM FIELDCATALOG USING P_I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA: L_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
*MKPF-MBLNR.
*REFRESH l_FIELDCAT.
CLEAR L_FIELDCAT.
*
L_FIELDCAT-FIELDNAME = 'CHECKBOX'. " FIELD FOR WHICH CATALOG ID FILLED
*.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'CB.'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 1. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 2. " SET THE OUTPUT LENGTH.
L_FIELDCAT-CHECKBOX = 'X'. " CHECK BOX
L_FIELDCAT-EDIT = 'X'.
L_FIELDCAT-INPUT = 'X'.
*
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'MBLNR'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'MAT DOC NO.'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 2. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 14. " SET THE OUTPUT LENGTH.
L_FIELDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
L_FIELDCAT-KEY = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MKPF'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MKPF-MJAHR.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'MJAHR'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'MAT DOC YEAR'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 3. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 7. " SET THE OUTPUT LENGTH.
L_FIELDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
L_FIELDCAT-KEY = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MKPF'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEB-MATNR.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'MATNR'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'MAT NUMBER'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 4. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEB'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MAKT-MAKTX.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'MAKTX'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'MAT DESCRIPTION'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 5. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 25. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MAKT'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MKPF-BLART.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'BLART'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'MAT DOC TYP'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 6. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 4. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MKPF'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MKPF-BUDAT.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'BUDAT'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'POSTING DATE'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 7. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 10. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MKPF'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEG-ZEILE.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'ZEILE'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'LINE ITEM NO'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 8. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 6. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEG'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEG-BWART.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'BWART'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'MOVEMENT TYPE'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 9. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 5. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEG'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEG-WERKS.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'WERKS'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'PLANT'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 10. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 6. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEG'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEG-LGORT.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'LGORT'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'STORAGE LOC'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 11. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 6. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEG'. "TRANSPARENT TABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEG-MENGE.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'MENGE'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'QUANTITY'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 12. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 13. " SET THE OUTPUT LENGTH.
*l_fieldcat-emphasize = 'X'. " COLOR OF THIS COLUMN.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEG'. "TRANSPARENT TABLE.
L_FIELDCAT-INPUT = 'X'. "FOR INPUT.
L_FIELDCAT-EDIT = 'X'. "FIELD IS EDITABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
CLEAR L_FIELDCAT.
*MSEG-MEINS.
CLEAR L_FIELDCAT.
L_FIELDCAT-FIELDNAME = 'MEINS'. " FIELD FOR WHICH CATALOG ID FILLED.
L_FIELDCAT-TABNAME = 'I_FINAL'. "FINAL INETERNAL TABLE.
L_FIELDCAT-SELTEXT_M = 'U.O.M.'. " MEDIUM TEXT FOR HEADER.
L_FIELDCAT-COL_POS = 13. " POSITION OF THE COLUMN.
L_FIELDCAT-OUTPUTLEN = 3. " SET THE OUTPUT LENGTH.
*l_fieldcat-key = 'X'. " Key Field.
L_FIELDCAT-REF_TABNAME = 'MSEG'. "TRANSPARENT TABLE.
L_FIELDCAT-REF_FIELDNAME = 'MEINS'.
L_FIELDCAT-INPUT = 'X'. "FOR INPUT.
L_FIELDCAT-EDIT = 'X'. "FIELD IS EDITABLE.
APPEND L_FIELDCAT TO P_I_FIELDCAT.
""break-point.
ENDFORM. " fieldcatalog
&----
*& Form grid_layout
&----
text
----
--> p1 text
<-- p2 text
----
FORM GRID_LAYOUT .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'Z8JAYANT_MAT_RECORD_SHADOW1'
I_CALLBACK_PF_STATUS_SET = 'PF_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 = 'IT_FINAL'
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = V_LAYOUT
IT_FIELDCAT = I_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = I_SORTINFO
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_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_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_FINAL
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. " grid_layout
&----
*& Form sort_catalog
&----
text
----
-->P_I_SORTINFO text
----
FORM SORT_CATALOG USING P_I_SORTINFO TYPE SLIS_T_SORTINFO_ALV.
DATA: L_SORTINFO TYPE SLIS_SORTINFO_ALV.
CLEAR L_SORTINFO.
L_SORTINFO-SPOS = '1'.
L_SORTINFO-FIELDNAME = 'MBLNR'.
L_SORTINFO-TABNAME = 'I_FINAL'.
L_SORTINFO-UP = 'X'.
L_SORTINFO-GROUP = 'UL'.
" I.E UNDERLINE AFTER EVERY GROUP
APPEND L_SORTINFO TO P_I_SORTINFO.
CLEAR L_SORTINFO.
L_SORTINFO-SPOS = '2'.
L_SORTINFO-FIELDNAME = 'MJAHR'.
L_SORTINFO-TABNAME = 'I_FINAL'.
L_SORTINFO-UP = 'X'.
L_SORTINFO-GROUP = 'UL'.
" I.E UNDERLINE AFTER EVERY GROUP
APPEND L_SORTINFO TO P_I_SORTINFO.
ENDFORM. " sort_catalog
*----
**
*FORM PF_STATUS *
*----
**
FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'MENU'.
ENDFORM. "END OF PF_STATUS.
&----
*& Form event_catalog
&----
text
----
-->P_I_EVENTS text
----
FORM EVENT_CATALOG USING P_I_EVENTS TYPE SLIS_T_EVENT.
DATA: L_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_I_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 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.
CLEAR L_EVENT.
READ TABLE P_I_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO L_EVENT.
*Moving the usercommand event.
IF SY-SUBRC = 0.
MOVE 'USER_COMMAND' TO L_EVENT-FORM.
APPEND L_EVENT TO P_I_EVENTS.
ENDIF.
ENDFORM. " event_catalog
*----
----
*Form user_command *
*----
----
FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM
P_SELFIELD TYPE SLIS_SELFIELD.
""break-point.
SELECT * INTO WA FROM MSEG WHERE MBLNR = I_FINAL-MBLNR.
ENDSELECT.
CASE P_UCOMM.
WHEN 'SAV'.
READ TABLE I_FINAL INDEX P_SELFIELD-TABINDEX.
CASE P_SELFIELD-FIELDNAME.
WHEN 'MENGE'.
IF P_SELFIELD-TABINDEX = '1'.
CLEAR WA-MENGE.
WA-MENGE = P_SELFIELD-VALUE.
MODIFY MSEG FROM WA .
ENDIF.
<b> WHEN 'MEINS'.
IF P_SELFIELD-TABINDEX = '1'.
CLEAR WA-MEINS.
WA-MEINS = P_SELFIELD-VALUE.
MODIFY MSEG FROM WA .
ENDIF.
ENDCASE.</b>
ENDCASE.
ENDFORM. "user_command.
Regards,
Jayant
&----
*& Form ZF_OUTPUT_LAYOUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM ZF_OUTPUT_LAYOUT .
V_LAYOUT-ZEBRA = 'X'.
V_LAYOUT-BOX_FIELDNAME = 'BOX'.
V_LAYOUT-BOX_TABNAME = 'I_FINAL'.
ENDFORM. " ZF_OUTPUT_LAYOUT