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

Tabstrip does not save when first clicked

Former Member
0 Likes
297

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?

1 REPLY 1
Read only

Former Member
0 Likes
276

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