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 save

Former Member
0 Likes
832

Hi Experts,

I have 2 subscreen in the tabstrip screen. I have save option in the menu. When i cilck on the save button the active screen data is not inserted in to the table. With this i have attached the code for reference.

please let me know the mistakes or correction to make this program work correctly.

Thanks in advance..

i Assure to reward points..

PROGRAM YQC.

TABLES : ZMING.

DATA FLAG(1) TYPE C.

DATA: ITAB LIKE ZMING OCCURS 0 WITH HEADER LINE.

CONTROLS: TABSTR TYPE TABSTRIP.

DATA: OKCODE TYPE SY-UCOMM,

FCODE LIKE OKCODE.

DATA: X TYPE I.

START-OF-SELECTION.

CALL SCREEN 100.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'OPTION1'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

FCODE = OKCODE.

CASE FCODE.

WHEN 'CREATE'.

  • if zming-matnr = zming-matnr.

CALL SCREEN 200.

  • ELSEIF

  • WRITE:/ MESS.

  • endif.

WHEN 'MOD'.

CALL SCREEN 200.

  • MODIFY ZMING.

  • COMMIT WORK.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module STATUS_0200 OUTPUT

&----


  • text

----


MODULE STATUS_0200 OUTPUT.

SET PF-STATUS 'OPTION'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0200 OUTPUT

&----


*& Module USER_COMMAND_0200 INPUT

&----


  • text

----


MODULE USER_COMMAND_0200 INPUT.

FCODE = OKCODE.

CLEAR OKCODE.

CASE FCODE.

WHEN 'TAB1'.

TABSTR-ACTIVETAB = 'TAB1'.

WHEN 'TAB2'.

TABSTR-ACTIVETAB = 'TAB2'.

WHEN 'SAVE'.

IF TABSTR-ACTIVETAB = 'TAB1'.

ZMING-MATNR = ZMING-MATNR.

ZMING-BATCH = ZMING-BATCH.

ZMING-SI_NO = ZMING-SI_NO.

ZMING-DESC_INST = ZMING-DESC_INST.

ZMING-ZRANGE = ZMING-ZRANGE.

ZMING-LC = ZMING-LC.

ZMING-MAKE = ZMING-MAKE.

ZMING-LOCATION = ZMING-LOCATION.

ZMING-CHECK_ERROR_AT1 = ZMING-CHECK_ERROR_AT1.

ZMING-CHECK_ERROR_AT2 = ZMING-CHECK_ERROR_AT2.

ZMING-CHECK_ERROR_AT3 = ZMING-CHECK_ERROR_AT3.

ZMING-MAS_USED1 = ZMING-MAS_USED1.

ZMING-MAS_USED2 = ZMING-MAS_USED2.

ZMING-MAS_USED3 = ZMING-MAS_USED3.

ZMING-REF_STD = ZMING-REF_STD.

ZMING-CALIB_PROC_NO = ZMING-CALIB_PROC_NO.

ZMING-CALIB_FREQ = ZMING-CALIB_FREQ.

INSERT ZMING.

COMMIT WORK.

ELSEIF TABSTR-ACTIVETAB = 'TAB2'.

ZMING-CERT_NO1 = ZMING-CERT_NO1.

ZMING-MAS_VALIDITY1 = ZMING-MAS_VALIDITY1.

ZMING-CERT_NO2 = ZMING-CERT_NO2.

ZMING-MAS_VALIDITY2 = ZMING-MAS_VALIDITY2.

ZMING-CERT_NO3 = ZMING-CERT_NO3.

ZMING-MAS_VALIDITY3 = ZMING-MAS_VALIDITY3.

ZMING-CERT_NO4 = ZMING-CERT_NO4.

ZMING-MAS_VALIDITY4 = ZMING-MAS_VALIDITY4.

ZMING-CERT_NO5 = ZMING-CERT_NO5.

ZMING-MAS_VALIDITY5 = ZMING-MAS_VALIDITY5.

ZMING-CERT_NO6 = ZMING-CERT_NO6.

ZMING-MAS_VALIDITY6 = ZMING-MAS_VALIDITY6.

ZMING-CERT_NO7 = ZMING-CERT_NO7.

ZMING-MAS_VALIDITY7 = ZMING-MAS_VALIDITY7.

ZMING-CERT_NO8 = ZMING-CERT_NO8.

ZMING-MAS_VALIDITY8 = ZMING-MAS_VALIDITY8.

ZMING-CERT_NO9 = ZMING-CERT_NO9.

ZMING-MAS_VALIDITY9 = ZMING-MAS_VALIDITY9.

ZMING-CERT_NO10 = ZMING-CERT_NO10.

ZMING-MAS_VALIDITY10 = ZMING-MAS_VALIDITY10.

ZMING-CERT_NO11 = ZMING-CERT_NO11.

ZMING-MAS_VALIDITY11 = ZMING-MAS_VALIDITY11.

ZMING-CERT_NO12 = ZMING-CERT_NO12.

ZMING-MAS_VALIDITY12 = ZMING-MAS_VALIDITY12.

ZMING-CERT_NO13 = ZMING-CERT_NO13.

ZMING-MAS_VALIDITY13 = ZMING-MAS_VALIDITY13.

ZMING-CERT_NO14 = ZMING-CERT_NO14.

ZMING-MAS_VALIDITY14 = ZMING-MAS_VALIDITY14.

ZMING-CERT_NO15 = ZMING-CERT_NO15.

ZMING-MAS_VALIDITY15 = ZMING-MAS_VALIDITY15.

INSERT ZMING.

COMMIT WORK.

ENDIF.

WHEN 'MOD'.

LOOP AT SCREEN.

IF TABSTR-ACTIVETAB = 'TAB1'.

MODIFY ZMING.

COMMIT WORK.

ELSEIF TABSTR-ACTIVETAB = 'TAB2'.

MODIFY ZMING.

COMMIT WORK.

ENDIF.

ENDLOOP.

WHEN 'BACK'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE. " USER_COMMAND_0200 INPUT

&----


*& Module get_data OUTPUT

&----


  • text

----


MODULE GET_DATA OUTPUT.

ZMING-SI_NO = ITAB-SI_NO.

ZMING-DESC_INST = ITAB-DESC_INST.

ENDMODULE. " get_data OUTPUT

&----


*& Module select-data OUTPUT

&----


  • text

----


MODULE SELECT-DATA OUTPUT.

SELECT SINGLE * FROM ZMING WHERE MATNR EQ ZMING-MATNR AND

BATCH EQ ZMING-BATCH.

ENDMODULE. " select-data OUTPUT

-


screen 200----


PROCESS BEFORE OUTPUT.

MODULE STATUS_0200.

CALL SUBSCREEN SUB1 INCLUDING SY-REPID '300'.

CALL SUBSCREEN SUB2 INCLUDING SY-REPID '400'.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0200.

CALL SUBSCREEN SUB1.

CALL SUBSCREEN SUB2.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
788

The only mistake that you are doing is that in PAI, u need to call the subscreens first and then the user command module.

The screen changes and data is thus fetched on calling the subscreen areas n then module user_command can process that data.

Do let me know if this helped.

Pranjal.

5 REPLIES 5
Read only

Former Member
0 Likes
789

The only mistake that you are doing is that in PAI, u need to call the subscreens first and then the user command module.

The screen changes and data is thus fetched on calling the subscreen areas n then module user_command can process that data.

Do let me know if this helped.

Pranjal.

Read only

Former Member
0 Likes
788

Dear Mr Bhupathi,

I have seen your code.

I hope the problem is with your code.

First you are selecting the Tab strip right then you are going for save the SAVE action should be there in the subscreen of the tabstrip selected by you.

The SAVE action should be there in the PAI of your subscreen then it will execute.

Regards,

Madan Mohan.

Read only

Former Member
0 Likes
788

Hi Experts,

Thanks for your suggestions.

Even i tried the suggestion you have said, but its doesn't make much difference..

If you have time please mark the error and your corrected code if possible.

Thanks

Read only

0 Likes
788

Your PAI shud look like this :

PROCESS AFTER INPUT.

CALL SUBSCREEN SUB1.

CALL SUBSCREEN SUB2.

MODULE USER_COMMAND_0200.

Is it this way?

Read only

Former Member
0 Likes
788

Hi Boopathy

In PAI of Screen 200 when u click SAVE you r trying save the data into database table directly, thts ok.but from where you are the data from.

you wrote as INSERT ZMING by this statement database cannot recognise from where it should get data and save.

you will have data in your itab.from itab the data should be stored in dabase table.

So write like this

*INSERT ZMING values FROM <ITAB name>.

or

loop the itab into work area and from wa into database table.

Reward if help full

Regards

Lakshman