‎2008 Feb 05 2:11 AM
After I set all the input field to be required for my 3 tabs in my tabstrip, I am only able to save the data in text field after I click the save button the second time and not the first time.
Clicking Save button first time:
http://img407.imageshack.us/img407/6461/screenjk0.png
Clicking Save button second time:
http://img407.imageshack.us/img407/3266/screen2ng4.png
Here are my codes:
-
REPORT ZTREE_STRUCTURE2.
DATA : IO_NAME(40) TYPE C,
IO_AGE(40) TYPE C,
IO_GENDER(40) TYPE C.
DATA: P_HERA TYPE DNTAB-TABNAME VALUE 'ZHERA',
ITAB_HERA TYPE TABLE OF ZHERA,
FIELD_COUNT TYPE I,
WA_HERA LIKE LINE OF ITAB_HERA,
P_HERA2 TYPE DNTAB-TABNAME VALUE 'ZHERA2',
ITAB_HERA2 TYPE TABLE OF ZHERA2,
WA_HERA2 LIKE LINE OF ITAB_HERA2.
SELECT * INTO TABLE ITAB_HERA FROM ZHERA.
SELECT * INTO TABLE ITAB_HERA2 FROM ZHERA2.
*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABNAME2'
CONSTANTS: BEGIN OF C_TABNAME2,
TAB1 LIKE SY-UCOMM VALUE 'TABNAME2_FC1',
TAB2 LIKE SY-UCOMM VALUE 'TABNAME2_FC2',
TAB3 LIKE SY-UCOMM VALUE 'TABNAME2_FC3',
END OF C_TABNAME2.
*&SPWIZARD: DATA FOR TABSTRIP 'TABNAME2'
CONTROLS: TABNAME2 TYPE TABSTRIP.
DATA: BEGIN OF G_TABNAME2,
SUBSCREEN LIKE SY-DYNNR,
PROG LIKE SY-REPID VALUE 'ZTREE_STRUCTURE2',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TABNAME2-TAB1,
END OF G_TABNAME2.
CONSTANTS: BEGIN OF C_TRANSFORM,
TAB1 LIKE SY-UCOMM VALUE 'TRANSFORM_FC1',
TAB2 LIKE SY-UCOMM VALUE 'TRANSFORM_FC2',
END OF C_TRANSFORM.
*&SPWIZARD: DATA FOR TABSTRIP 'TRANSFORM'
CONTROLS: TRANSFORM TYPE TABSTRIP.
DATA: BEGIN OF G_TRANSFORM,
SUBSCREEN LIKE SY-DYNNR,
PROG LIKE SY-REPID VALUE 'ZSCSDM_MODIFY_TRANSFORM_HERA',
PRESSED_TAB LIKE SY-UCOMM VALUE C_TRANSFORM-TAB1,
END OF G_TRANSFORM.
DATA: OK_CODE LIKE SY-UCOMM.
START-OF-SELECTION.
CALL SCREEN 9000.
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS 'SCREEN_9000'.
SET TITLEBAR 'RWB_TRANSFORM'.
ENDMODULE. "STATUS_8000 OUTPUT
MODULE TABNAME2_ACTIVE_TAB_SET OUTPUT.
TABNAME2-ACTIVETAB = G_TABNAME2-PRESSED_TAB.
CASE G_TABNAME2-PRESSED_TAB.
WHEN C_TABNAME2-TAB1.
G_TABNAME2-SUBSCREEN = '9001'.
WHEN C_TABNAME2-TAB2.
G_TABNAME2-SUBSCREEN = '9002'.
WHEN C_TABNAME2-TAB3.
G_TABNAME2-SUBSCREEN = '9003'.
WHEN OTHERS.
*&SPWIZARD: DO NOTHING
ENDCASE.
ENDMODULE. "TABNAME2_ACTIVE_TAB_SET OUTPUT
*&SPWIZARD: INPUT MODULE FOR TS 'TABNAME2'. DO NOT CHANGE THIS LINE!
*&SPWIZARD: GETS ACTIVE TAB
MODULE TABNAME2_ACTIVE_TAB_GET INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN C_TABNAME2-TAB1.
G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB1.
WHEN C_TABNAME2-TAB2.
G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB2.
WHEN C_TABNAME2-TAB3.
G_TABNAME2-PRESSED_TAB = C_TABNAME2-TAB3.
WHEN OTHERS.
*&SPWIZARD: DO NOTHING
ENDCASE.
ENDMODULE. "TABNAME2_ACTIVE_TAB_GET INPUT
MODULE USER_COMMAND_9000 INPUT.
IF SY-UCOMM = 'BACK'.
LEAVE PROGRAM.
ELSEIF SY-UCOMM = 'EXIT'.
LEAVE PROGRAM.
ELSEIF SY-UCOMM = 'CANCEL'.
LEAVE PROGRAM.
ELSEIF SY-UCOMM = 'SAVE'.
ENDIF.
ENDMODULE. "USER_COMMAND_9000 INPUT
FORM INSERT_TABLE.
WA_HERA-NAME = IO_NAME.
WA_HERA-AGE = IO_AGE.
WA_HERA2-GENDER = IO_GENDER.
INSERT INTO ZHERA VALUES WA_HERA.
INSERT INTO ZHERA2 VALUES WA_HERA2.
MESSAGE S001(ZMSG02).
ENDFORM. "UPDATE_TABLE
-
Can anyone tell me what is wrong with my codes?
‎2008 Feb 05 5:16 AM
Hi,
In your module here
IF SY-UCOMM = 'BACK'.
LEAVE PROGRAM.
ELSEIF SY-UCOMM = 'EXIT'.
LEAVE PROGRAM.
ELSEIF SY-UCOMM = 'CANCEL'.
LEAVE PROGRAM.
ELSEIF SY-UCOMM = 'SAVE'.
ENDIF.
... replace all occurrences of SY-UCOMM with OK_CODE.
This will resolve the problem.
Regards,
Aditya
Edited by: Aditya Laud on Feb 5, 2008 12:16 AM