2006 Dec 07 5:55 PM
hi,
I am new to ABAP.
I can create a Module pool to display data from any table
using table control but cant modify that.
Can any one please tell me that how to create a Module pool to modify data from any table using table control?
hi,
I am new to ABAP.
I can create a Module pool to display data from any table
using table control but cant modify that.
Can any one please tell me that how to create a Module pool to modify data from any table using table control?
2006 Dec 07 6:01 PM
Here it is
A good code sample which will give you the logic how to do that,
Regards
Kathirvel
2006 Dec 07 6:03 PM
Hi,
Refre the following programs may be of use to you.
DEMO_DYNPRO_TABCONT_LOOP
DEMO_DYNPRO_TABCONT_LOOP_AT
DEMO_DYNPRO_TABLE_CONTROL_1
DEMO_DYNPRO_TABLE_CONTROL_2
http://www.sapdevelopment.co.uk/dialog/tabcontrol/tchome.htm
Ramesh
2006 Dec 07 6:06 PM
Hi,
CAN YOU SEND THE CODE AND I WILL LET YOU WHERE TO MAKE CHANGES BECAUSE IT QUITE DIFFICULT TO TELL .
First you have to change in the lay out from o/p to ip/op type.
then you have to pass the values in pai i.e
between loop end loop.and again pass the values in back to table control in pbo.
ui guess you are not able to change the values for one reason may be you are again and again reading the values from database. just read once and keep the data and store the changes in the internal table.
post your code if possible
Thanks
venki
2006 Dec 07 6:20 PM
Hi,
welecome to sdn
You have lot of forums on dialog program.just do a search
Thanks.
deepthi
2006 Dec 07 6:20 PM
Hi,
welecome to sdn
You have lot of forums on dialog program.just do a search
Thanks.
deepthi
2006 Dec 07 6:20 PM
Hi,
welecome to sdn
You have lot of forums on dialog program.just do a search
Thanks.
deepthi
2006 Dec 07 6:20 PM
Hi,
welecome to sdn
You have lot of forums on dialog program.just do a search
Thanks.
deepthi
2006 Dec 08 8:45 AM
u need to create a table control for that z table.
here is the program which will help u in resolving ur problem.
&----
*& Module pool Z8CKG_SHADOW_P3_3 *
*& *
&----
*& *
*& *
&----
PROGRAM Z8CKG_SHADOW_P3_3
MESSAGE-ID Z8CKG.
***********************************************************************
PROGRAM : Z8CKG-SHADOW_P3_3
*
Copyright (C) and all others rights in this program
are reserved by Fujitsu.
*
TITLE : xxxxxxxxxxxxxxxxxxxxx
*
AUTHOR : Chinmay Kumar Ghosh. DATE : 11/29/2006
*
DESCRIPTION : This module pool program creates,modify,delete entries
in the transparent table Z8CKG_MAT using table control.
*
*
************************************************************************
CHANGE HISTORY
*
*
MOD DATE CHANGED BY DESCRIPTION CHNG ID
*
xx/xx/xxxx xxxxxxxxxx xxxxxxxxxx xxxx
*
*
************************************************************************
&----
TABLE DECLARACTION
&----
TABLES: Z8CKG_MAT_T1,Z8CKG_TEXT40.
&----
TABLE CONTROL DECLARACTION
&----
CONTROLS TAB_CNTRL TYPE TABLEVIEW USING SCREEN 1001.
&----
TYPE DECLARACTION
&----
TYPES: BEGIN OF TAB_STRUCT,
MATNO TYPE Z8MATNO,
SPRAS TYPE SPRAS,
MATDESC TYPE Z8MATDESC,
MATTYPE TYPE MTART,
MATQUAN TYPE NTGEW,
MATUOM TYPE MEINS,
END OF TAB_STRUCT.
TYPES: BEGIN OF MATNO_S,
TEMP_MATNO TYPE Z8MATNO,
END OF MATNO_S.
&----
DATA DECLARACTION
&----
DATA: OK_CODE_1001(40),
OK_CODE_1002(40).
DATA: BEGIN OF FIELDS OCCURS 1.
INCLUDE STRUCTURE SVAL.
DATA: END OF FIELDS,
RETURNCODE(1) TYPE C,
POPUP_TITLE(30) TYPE C,
START(4) TYPE C,
END(4) TYPE C,
IS_FIRST(1) VALUE 'Y',
FLAG(1) VALUE 'Y',
FLAG1(1) VALUE 'Y',
FLAG2(1) VALUE 'Y',
FLAG_CH01(1),
FIRST(1) VALUE 'Y',
N TYPE I,
MARK TYPE C.
&----
INTERNAL TABLE DECLARACTION
&----
DATA: I_TAB TYPE STANDARD TABLE OF TAB_STRUCT,
I_FINAL TYPE STANDARD TABLE OF TAB_STRUCT,
I_MAT TYPE STANDARD TABLE OF Z8CKG_MAT_T1,
I_TEXT TYPE STANDARD TABLE OF Z8CKG_TEXT40,
I_MATNO TYPE STANDARD TABLE OF MATNO_S,
I_RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
&----
WORKAREA DECLARACTION
&----
DATA: WA_TAB TYPE TAB_STRUCT,
WA_FINAL TYPE TAB_STRUCT,
WA_MAT TYPE Z8CKG_MAT_T1,
WA_TEXT TYPE Z8CKG_TEXT40,
WA_MATNO TYPE MATNO_S.
&----
*& Module STATUS_1001 OUTPUT
&----
text
----
MODULE STATUS_1001 OUTPUT.
SET PF-STATUS FOR THE MENU.
SET PF-STATUS 'SHADOW_P3_MENU2'.
SET THE FLAG AS Y.
IF FIRST = 'Y'.
REFRESH I_MAT.
REFRESH I_TAB.
REFRESH I_FINAL.
POPULATE DATA INTO INTERNAL TABLE I_MAT FROM TABLE Z8CKG_MAT_T1.
SELECT MATNO
MATTYPE
MATQUAN
MATUOM
INTO CORRESPONDING FIELDS OF TABLE I_MAT
FROM Z8CKG_MAT_T1.
IF RECORD IS NOT FOUND.
IF SY-SUBRC <> 0.
ENDIF.
SORT THE INTERNAL TABLE BY MATERIAL NUMBER.
SORT I_MAT BY MATNO.
POPULATE DATA INTO INTERNAL TABLE I_TAB FROM TABLE Z8CKG_TEXT40.
SELECT MATNO
SPRAS
MATDESC
INTO TABLE I_TAB
FROM Z8CKG_TEXT40
FOR ALL ENTRIES IN I_MAT
WHERE MATNO = I_MAT-MATNO.
IF RECORD IS NOT FOUND.
IF SY-SUBRC <> 0.
ENDIF.
SORT THE INTERNAL TABLE BY MATERIAL NUMBER AND LANGUAGE.
SORT I_TAB BY MATNO SPRAS.
CHECK IF RECORD EXIST IN I_TAB.
CHECK NOT I_TAB[] IS INITIAL.
LOOP AT I_TAB.
LOOP AT I_TAB INTO WA_TAB.
READ INTERNAL TABLE I_MAT AS PER THE CONDITION.
READ TABLE I_MAT INTO WA_MAT
WITH KEY MATNO = WA_TAB-MATNO
BINARY SEARCH.
IF RECORD IS FOUND.
IF SY-SUBRC = 0.
MOVE THE DATA FRON TWO INTERNAL TABLE INTO FINAL INTERNAL TABLE.
MOVE: WA_TAB-MATNO TO WA_FINAL-MATNO,
WA_TAB-SPRAS TO WA_FINAL-SPRAS,
WA_TAB-MATDESC TO WA_FINAL-MATDESC,
WA_MAT-MATTYPE TO WA_FINAL-MATTYPE,
WA_MAT-MATQUAN TO WA_FINAL-MATQUAN,
WA_MAT-MATUOM TO WA_FINAL-MATUOM.
APPEND WA_FINAL TO I_FINAL.
ENDIF.
ENDLOOP.
DESCRIBE TABLE I_FINAL LINES N.
END = N.
START = TAB_CNTRL-TOP_LINE.
SET THE FLAG TO N.
FIRST = 'N'.
CHECK IF ENTER KEY WAS PRESSED.
IF OK_CODE_1001 = 'ANZG'.
LOOP AT SCREEN.
LOOP AT SCREEN.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDIF.
ENDMODULE. " STATUS_1001 OUTPUT
&----
*& Module USER_COMMAND_1001 INPUT
&----
text
----
MODULE USER_COMMAND_1001 INPUT.
CHECK WHICH KEY WAS PRESSED.
CASE OK_CODE_1001.
WHEN FUNCTION KEY BACK WAS PRESSED.
WHEN 'BACK'.
LEAVE TO FIRST SCREEN.
LEAVE TO SCREEN 0.
WHEN FUNCTION KEY EXIT WAS PRESSED.
WHEN 'EXIT'.
EXIT FROM THE PROGRAM.
LEAVE TO SCREEN 0.
WHEN THE BUTTON NEW ENTRIES WAS PRESSED.
WHEN 'NE01'.
SET THE FLAG TO N.
FLAG = 'N'.
AGAIN CALL THE SAME SCREEN.
LEAVE TO SCREEN 1002.
WHEN THE BUTTON POSITION WAS PRESSED.
WHEN 'POS1'.
POPUP_TITLE = 'Another Entry'.
CLEAR FIELDS.
FIELDS-TABNAME = 'Z8CKG_MAT_T1'.
FIELDS-FIELDNAME = 'MATNO'.
APPEND FIELDS.
CALL FUNCTION 'POPUP_GET_VALUES_USER_HELP'
EXPORTING
F1_FORMNAME = 'EXAMPLE_1_F1'
F1_PROGRAMNAME = 'Z8CKG_SHADOW_P3_3'
F4_FORMNAME = 'EXAMPLE_1_F4'
F4_PROGRAMNAME = 'Z8CKG_SHADOW_P3_3'
FORMNAME = 'EXAMPLE_1_F4'
POPUP_TITLE = POPUP_TITLE
PROGRAMNAME = 'Z8CKG_SHADOW_P3_3'
START_COLUMN = '5'
START_ROW = '5'
NO_CHECK_FOR_FIXED_VALUES = ' '
IMPORTING
RETURNCODE = RETURNCODE
TABLES
FIELDS = FIELDS
EXCEPTIONS
ERROR_IN_FIELDS = 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.
IF RETURNCODE = 'A'.
REFRESH FIELDS.
CLEAR FIELDS.
CLEAR OK_CODE_1001.
ELSE.
READ TABLE I_FINAL INTO WA_FINAL
WITH KEY MATNO = FIELDS-VALUE
BINARY SEARCH.
IF SY-SUBRC = 0.
TAB_CNTRL-TOP_LINE = SY-TABIX.
REFRESH FIELDS.
CLEAR OK_CODE_1001.
ELSE.
REFRESH FIELDS.
CLEAR OK_CODE_1001.
MESSAGE E004.
ENDIF.
ENDIF.
WHEN SAVE BUTTON WAS PRESSED.
WHEN 'SAV1'.
REFRESH I_MAT.
LOOP AT I_FINAL INTO WA_FINAL.
MOVE: WA_FINAL-MATNO TO WA_MAT-MATNO,
WA_FINAL-MATTYPE TO WA_MAT-MATTYPE,
WA_FINAL-MATQUAN TO WA_MAT-MATQUAN,
WA_FINAL-MATUOM TO WA_MAT-MATUOM,
WA_FINAL-MATNO TO WA_TEXT-MATNO,
WA_FINAL-MATDESC TO WA_TEXT-MATDESC.
WA_TEXT-SPRAS = 'E'.
APPEND WA_MAT TO I_MAT.
APPEND WA_TEXT TO I_TEXT.
ENDLOOP.
MODIFY Z8CKG_MAT_T1 FROM TABLE I_MAT.
MODIFY Z8CKG_TEXT40 FROM TABLE I_TEXT.
WHEN CHANGE BUTTON WAS PRESSED.
WHEN 'CH01'.
IF IS_FIRST = 'Y'.
IS_FIRST = 'N'.
ELSEIF IS_FIRST = 'N'.
IS_FIRST = 'Y'.
ENDIF.
WHEN DELETE BUTTON WAS PRESSED.
WHEN 'DE01'.
FLAG2 = 'N'.
WHEN SELECT ALL BUTTON WAS PRESSED.
WHEN 'SE01'.
CLEAR FLAG2.
FLAG = 'S'.
WHEN DESELECT ALL BUTTON WAS PRESSED.
WHEN 'D001'.
CLEAR FLAG2.
FLAG = 'D'.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_1001 INPUT
&----
*& Module STATUS_1002 OUTPUT
&----
text
----
MODULE STATUS_1002 OUTPUT.
SET PF-STATUS 'SHADOW_P3_MENU1'.
CASE OK_CODE_1001.
WHEN 'BACK'.
N = 1.
READ TABLE I_FINAL INTO WA_FINAL INDEX N.
IF SY-SUBRC = 0.
ENDIF.
WHEN 'NE01'.
CLEAR WA_FINAL.
WHEN 'NX01'.
WHEN 'PR01'.
ENDCASE.
CASE OK_CODE_1002.
WHEN 'NE01'.
CLEAR WA_FINAL.
WHEN 'NX01'.
N = 1.
DO.
READ TABLE I_FINAL INTO WA_FINAL INDEX N.
IF SY-SUBRC <> 0.
N = 1.
EXIT.
ENDIF.
N = N + 1.
CONTINUE.
CLEAR OK_CODE_1002.
ENDDO.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " STATUS_1002 OUTPUT
&----
*& Module USER_COMMAND_1002 INPUT
&----
text
----
MODULE USER_COMMAND_1002 INPUT.
TO CHECK WHICH FUCTION KEY WAS PRESSED.
CASE OK_CODE_1002.
WHEN FUNCTION KEY BACK WAS PRESSED
WHEN 'BACK'.
LEAVE TO SCREEN 1001.
WHEN FUNCTION KEY EXIT WAS PRESSED
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN BUTTON NEW ENTRIES WAS PRESSED
WHEN 'NE01'.
FLAG = 'N'.
LEAVE TO SCREEN 1002.
WHEN SAVE BUTTON WAS PRESSED.
WHEN 'SAV1'.
CHECK IF KEY FIELD I.E MATERIAL NUMBER IS NOT BLANK.
IF NOT WA_FINAL-MATNO IS INITIAL.
CHECK FOR DUPLICATE ENTRIES.
SELECT SINGLE MATNO
INTO WA_FINAL-MATNO
FROM
Z8CKG_MAT_T1
WHERE MATNO = WA_FINAL-MATNO.
IF RECORD IS NOT FOUND.
IF SY-SUBRC <> 0.
MOVE THE CONTENTS OF SCREEN VALUES TO RESPECTIVE
TABLE WORKAREAS.
MOVE: WA_FINAL-MATNO TO WA_MAT-MATNO,
WA_FINAL-MATTYPE TO WA_MAT-MATTYPE,
WA_FINAL-MATQUAN TO WA_MAT-MATQUAN,
WA_FINAL-MATUOM TO WA_MAT-MATUOM,
WA_FINAL-MATNO TO WA_TEXT-MATNO,
WA_FINAL-MATDESC TO WA_TEXT-MATDESC.
WA_TEXT-SPRAS = 'E'.
APPEND THE SCREEN VALUE TO THE FINAL INTERNAL TABLE.
APPEND WA_FINAL TO I_FINAL.
INSERT THE RECORD FROM THE WORKAREA INTO THE DATABASE TABLE
Z8CKG_MAT_T1.
INSERT Z8CKG_MAT_T1 FROM WA_MAT.
IF RECORD IS SUCCESSFULLY INSERTED.
IF SY-SUBRC = 0.
INSERT THE RECORD FROM THE WORKAREA INTO THE TEXT TABLE OF
Z8CKG_MAT_T1.
INSERT Z8CKG_TEXT40 FROM WA_TEXT.
MESSAGE I009 WITH 'RECORD SUCESSFULLY INSERTED'.
SET THE FLAG AS Y.
FIRST = 'Y'.
LEAVE TO SCREEN 1001.
IF RECORD IS NOT SUCCCESFULLY INSERTED IN THE TEXT TABLE
IF SY-SUBRC <> 0.
MESSAGE I010 WITH 'RECORD INSERTION FAILED'.
ENDIF.
ENDIF.
ENDIF.
MESSAGE E002 WITH 'RECORD ALREADY EXIST WITH THE SAME KEY'.
ELSE.
MESSAGE E011 WITH 'ENTER MATERIAL NUMBER FIELD'.
ENDIF.
WHEN CHANGE BUTTON IS PRESSED.
WHEN 'CH01'.
FLAG_CH01 = 'Y'.
OK_CODE_1001 = 'CH01'.
LEAVE TO SCREEN 1001.
WHEN DELETE BUTTON IS PRESSED.
WHEN 'DE01'.
WHEN PREVIOUS BUTTON IS PRESSED.
WHEN 'PR01'.
WHEN NEXT BUTTON IS PRESSED.
WHEN 'NX01'.
WHEN OTHERS.
CLEAR OK_CODE_1002.
ENDCASE.
ENDMODULE. " USER_COMMAND_1002 INPUT
&----
*& Module EXIT_MODULE INPUT
&----
text
----
MODULE EXIT_MODULE INPUT.
SET SCREEN 0.
LEAVE PROGRAM.
ENDMODULE. " EXIT_MODULE INPUT
&----
*& Module ADD_ENTRIES OUTPUT
&----
text
----
MODULE ADD_ENTRIES OUTPUT.
CLEAR WA_FINAL.
READ TABLE I_FINAL INTO WA_FINAL INDEX TAB_CNTRL-CURRENT_LINE.
START = TAB_CNTRL-TOP_LINE.
TAB_CNTRL-LINES = 100.
TAB_CNTRL-V_SCROLL = 'X'.
IF WA_FINAL-MATNO = ''.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WA_FINAL-MATNO'
OR SCREEN-NAME = 'WA_FINAL-MATTYPE'
OR SCREEN-NAME = 'WA_FINAL-MATDESC'.
SCREEN-INPUT = 0.
SCREEN-OUTPUT = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE. " ADD_ENTRIES OUTPUT
&----
*& Module SET_SCREEN OUTPUT
&----
text
----
MODULE SET_SCREEN OUTPUT.
IF FLAG = 'N'.
CLEAR WA_FINAL.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WA_FINAL-MATNO'
OR SCREEN-NAME = 'WA_FINAL-MATDESC'
OR SCREEN-NAME = 'WA_FINAL-MATTYPE'
OR SCREEN-NAME = 'WA_FINAL-MATQUAN'
OR SCREEN-NAME = 'WA_FINAL-MATUOM'.
SCREEN-INPUT = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
CLEAR FLAG.
ELSE.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WA_FINAL-MATNO'
OR SCREEN-NAME = 'WA_FINAL-MATDESC'
OR SCREEN-NAME = 'WA_FINAL-MATTYPE'
OR SCREEN-NAME = 'WA_FINAL-MATQUAN'
OR SCREEN-NAME = 'WA_FINAL-MATUOM'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF FLAG_CH01 = 'Y'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WA_FINAL-MATDESC'
OR SCREEN-NAME = 'WA_FINAL-MATTYPE'
OR SCREEN-NAME = 'WA_FINAL-MATQUAN'
OR SCREEN-NAME = 'WA_FINAL-MATUOM'.
SCREEN-INPUT = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
CLEAR FLAG_CH01.
ENDIF.
ENDMODULE. " SET_SCREEN OUTPUT
&----
*& Module CHAN_SCREEN OUTPUT
&----
text
----
MODULE CHAN_SCREEN OUTPUT.
CASE OK_CODE_1001.
WHEN 'CH01'.
IF IS_FIRST = 'N'.
LOOP AT SCREEN.
IF SCREEN-NAME = 'WA_FINAL-MATNO'
OR SCREEN-NAME = 'WA_FINAL-MATDESC'
OR SCREEN-NAME = 'WA_FINAL-MATTYPE'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
WHEN 'SE01'.
IF FLAG = 'S'.
LOOP AT SCREEN.
IF WA_FINAL-MATNO <> ''.
MARK = 'X'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
WHEN 'DE01'.
IF FLAG = 'D'.
LOOP AT SCREEN.
IF WA_FINAL-MATNO <> ''.
CLEAR MARK.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " CHAN_SCREEN OUTPUT
&----
*& Module MODIFY_ENTRIES INPUT
&----
text
----
MODULE MODIFY_ENTRIES INPUT.
IF FLAG2 = 'N'.
IF MARK = 'X'.
DELETING RECORD FROM INTERNAL TABLE.
DELETE I_FINAL WHERE MATNO = WA_FINAL-MATNO.
IF SY-SUBRC = 0.
DELETE I_MAT WHERE MATNO = WA_FINAL-MATNO.
IF SY-SUBRC = 0.
DELETE I_TEXT WHERE MATNO = WA_FINAL-MATNO.
CLEAR FLAG.
ENDIF.
ENDIF.
DELETING RECORD FROM TRANSPARENT TABLE.
DELETE FROM Z8CKG_MAT_T1 WHERE MATNO = WA_FINAL-MATNO.
IF SY-SUBRC = 0.
DELETE FROM Z8CKG_TEXT40 WHERE MATNO = WA_FINAL-MATNO.
ENDIF.
ENDIF.
ENDIF.
IF FLAG = 'S'.
MARK = 'X'.
ELSEIF FLAG = 'D'.
CLEAR MARK.
ENDIF.
ENDMODULE. " MODIFY_ENTRIES INPUT
&----
*& Module VALIDATE_FIELD INPUT
&----
text
----
MODULE VALIDATE_FIELD INPUT.
SELECT SINGLE MTART
INTO WA_FINAL-MATTYPE
FROM T134 WHERE MTART = WA_FINAL-MATTYPE.
IF SY-SUBRC <> 0.
MESSAGE E007.
ENDIF.
ENDMODULE. " VALIDATE_FIELD INPUT
&----
*& Module READ_ENTRIES INPUT
&----
text
----
MODULE READ_ENTRIES INPUT.
MODIFY I_FINAL FROM WA_FINAL INDEX TAB_CNTRL-CURRENT_LINE.
FIRST = 'Y'.
IF NOT I_FINAL[] IS INITIAL.
ENDIF.
ENDMODULE. " READ_ENTRIES INPUT
FORM EXAMPLE_1_F4 USING TABNAME FIELDNAME DISPLAY
CHANGING RETURNCODE VALUE.
CALL FUNCTION 'F4_FIELD_ON_VALUE_REQUEST'
EXPORTING
TABNAME = 'Z8CKG_MAT_T1'
FIELDNAME = 'MATNO'
SEARCHHELP = 'Z8CKG_MATNO'
SHLPPARAM = ' '
DYNPPROG = ' '
DYNPNR = ' '
DYNPROFIELD = ' '
STEPL = 0
VALUE = ' '
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
SUPPRESS_RECORDLIST = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
SELECTION_SCREEN = ' '
TABLES
RETURN_TAB = I_RETURN
EXCEPTIONS
FIELD_NOT_FOUND = 1
NO_HELP_FOR_FIELD = 2
INCONSISTENT_HELP = 3
NO_VALUES_FOUND = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
VALUE = I_RETURN-FIELDVAL.
ENDFORM.
FORM EXAMPLE_1_F1 USING TABNAME FIELDNAME.
MESSAGE S779 WITH TABNAME FIELDNAME.
ENDFORM.