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 clicked

Former Member
0 Likes
648

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?

3 REPLIES 3
Read only

Former Member
0 Likes
563

Can u put ur screen's flow logic here as well ?

Read only

0 Likes
563

Screen 9000 Screen with tabstrip

 
PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABSTRIP 'TABNAME2'

  MODULE TABNAME2_ACTIVE_TAB_SET.
  CALL SUBSCREEN:
       9001_SCA INCLUDING G_TABNAME2-PROG '9001',
       9002_SCA INCLUDING G_TABNAME2-PROG '9002',
       9003_SCA INCLUDING G_TABNAME2-PROG '9003'.
MODULE STATUS_9000.

*  MODULE SCREEN_SET.

*
PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABSTRIP 'TABNAME2'


  MODULE TABNAME2_ACTIVE_TAB_GET.
MODULE USER_COMMAND_9000.

    CALL SUBSCREEN:
       9001_SCA,
       9002_SCA,
       9003_SCA.
*    module exit_prog at exit-command.

Screen 9001 Screen with first tab

 
PROCESS BEFORE OUTPUT.
  MODULE PBO_9001.


PROCESS AFTER INPUT.
CHAIN.
FIELD:IO_NAME.
ENDCHAIN.
MODULE USER_COMMAND_9001.

Screen 9002 Screen with second tab

 
PROCESS BEFORE OUTPUT.
  MODULE PBO_9002.


*
PROCESS AFTER INPUT.
CHAIN.
FIELD:IO_AGE.
ENDCHAIN.
MODULE USER_COMMAND_9002.

Screen 9003 Screen with third tab

 
PROCESS BEFORE OUTPUT.
  MODULE PBO_9003.


*
PROCESS AFTER INPUT.
CHAIN.
FIELD:IO_GENDER.
ENDCHAIN.
MODULE USER_COMMAND_9003.

Read only

0 Likes
563

Hi,

*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'.

UPDATE TABLE < tabname >.

ENDIF.

ENDMODULE. "USER_COMMAND_9000 INPUT*

Regards