You are on page 1of 11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

SimpleTabstripControl
Tabstripcontrolisascreenobjectwhichcontainsmorethanonepages.Hereallthescreensaresubscreensinthetabs.Allthe
tabscontainitsTitleandpagearea.Iftherearemanymoretabsthenascrollbarwillappearratherthantabtitle.Atabstripisa
subscreenwithapushbutton.Thetabtitleareaisthepushbuttonhere.
HereisasimpletabstripexamplewhichdisplaysMaterialmasterdetailsintab1,MaterialDescriptionintab2andUnitof
measureofMaterialintab3.Thetitleoftab1isMaterialDetails,tab2isMaterialDescriptionandtab3isFurtherDetails.Hence
allthesetitleswillbeworkingasapushbuttonhere.Insideeverytabtheremustbeasubscreenwhereallthedetailswillbe
displayed.
Belowistheoutputoftheobject.
1.ThisistheInitialscreen.

2.ThefirstscreenwhereMaterialNoisenteredasaninputishere.ThenbyclickingonDISPLAYbuttonwearegoingtothe
tabstripscreen.

3.TAB1whereMaterialDetailsarethere,isdisplayedbelow.

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

1/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

4.TAB2whereMaterialDescriptionisthere.

5.TAB3whereUnitofMeasureisthere.

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

2/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

Therequiredprogramisbelowwitheverymodules:
*&*
*&ModulePoolZSR_MOD
*&
*&*
*&
*&
*&*

INCLUDEzsr_top."globalData
INCLUDEzsr_o01."PBOModules
INCLUDEzsr_i01."PAIModules
INCLUDEzsr_f01."FORMRoutines

TopInclude:
*&*
*&IncludeZSR_TOPModulePoolZSR_MOD
*&
*&*
PROGRAMzsr_mod.
TABLES:mara,makt,marm.
TYPES:BEGINOFty_mara,
matnrTYPEmaramatnr,
ersdaTYPEmaraersda,
ernamTYPEmaraernam,
mtartTYPEmaramtart,
ENDOFty_mara,
BEGINOFty_makt,
matnrTYPEmaktmatnr,
sprasTYPEmaktspras,
maktxTYPEmaktmaktx,

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

3/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

maktgTYPEmaktmaktg,
ENDOFty_makt,
BEGINOFty_marm,
matnrTYPEmarmmatnr,
meinhTYPEmarmmeinh,
umrezTYPEmarmumrez,
umrenTYPEmarmumren,
ENDOFty_marm.
DATA:BEGINOFwa_ssc,
subscreenTYPEsydynnr,
programTYPEsyrepidVALUE'ZSR_MOD',
sel_tabTYPEsyucomm,
ENDOFwa_ssc.
DATA:wa_maraTYPEty_mara,
wa_maktTYPEty_makt,
wa_marmTYPEty_marm,
it_maraTYPESTANDARDTABLEOFty_mara,
it_maktTYPESTANDARDTABLEOFty_makt,
it_marmTYPESTANDARDTABLEOFty_marm.
DATA:ok_code1TYPEsyucomm,
ok_code2TYPEsyucomm.
"DeclaringTabstripControl
CONTROLS:tabstripTYPETABSTRIP.

IncludeforPBO:
*&*
*&IncludeZSR_O01
*&*
*&*
*&ModuleSTATUS_9001OUTPUT
*&*
*text
**
MODULEstatus_9001OUTPUT.
SETPFSTATUS'GUI_9001'.
SETTITLEBAR'TITLE_9001'.
ENDMODULE."STATUS_9001OUTPUT
*&*
*&ModuleSTATUS_9002OUTPUT
*&*
*text
**
MODULEstatus_9002OUTPUT.
SETPFSTATUS'GUI_9002'.
SETTITLEBAR'TITLE_9002'.
ENDMODULE."STATUS_9002OUTPUT
*&*
*&ModuleTABSTRIP_ACTIVE_SETOUTPUT
*&*
*text
**
MODULEtabstrip_active_setOUTPUT.
wa_sscsubscreen=sydynnr.
wa_sscprogram=syrepid.
wa_sscsel_tab=syucomm.
tabstripactivetab=wa_sscsel_tab.

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

4/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

"SelectionforFCTCode
CASEwa_sscsel_tab.
WHEN'DISP'.
wa_sscsubscreen='9003'.
WHEN'TAB1'.
wa_sscsubscreen='9003'.
WHEN'TAB2'.
wa_sscsubscreen='9004'.
WHEN'TAB3'.
wa_sscsubscreen='9005'.
ENDCASE.
ENDMODULE."TABSTRIP_ACTIVE_SETOUTPUT

IncludeforPAI:
*&*
*&IncludeZSR_I01
*&*
*&*
*&ModuleUSER_COMMAND_9001INPUT
*&*
*text
**
MODULEuser_command_9001INPUT.
IFok_code1ISNOTINITIAL.
"UsercommandforScreen1
CASEok_code1.
WHEN'BACK'.
PERFORMleave_program.
WHEN'EXIT'.
PERFORMleave_program.
WHEN'CANCEL'.
PERFORMleave_program.
WHEN'DISP'.
PERFORMdisplay_material.
WHEN'CLR'.
PERFORMrefresh_material.
ENDCASE.
ENDIF.
ENDMODULE."USER_COMMAND_9001INPUT
*&*
*&ModuleUSER_COMMAND_9002INPUT
*&*
*text
**
MODULEuser_command_9002INPUT.
IFok_code2ISNOTINITIAL.
"UsercommandforScreen2
CASEok_code2.
WHEN'BACK'.
PERFORMleave_program.
WHEN'EXIT'.
PERFORMleave_program.
WHEN'CANCEL'.
PERFORMleave_program.
ENDCASE.
ENDIF.

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

5/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

ENDMODULE."USER_COMMAND_9002INPUT
*&*
*&ModuleTABSTRIP_ACTIVE_GETINPUT
*&*
*text
**
MODULEtabstrip_active_getINPUT.
IFok_code2ISNOTINITIAL.
"UsercommandforScreen2subscreenTAB1,TAB2,TAB3
CASEok_code2.
WHEN'TAB1'.
wa_sscsel_tab='TAB1'.
WHEN'TAB2'.
wa_sscsel_tab='TAB2'.
WHEN'TAB3'.
wa_sscsel_tab='TAB3'.
ENDCASE.
ENDIF.
ENDMODULE."TABSTRIP_ACTIVE_GETINPUT

IncludeforSubroutine:
*&*
*&IncludeZSR_F01
*&*
*&*
*&FormLEAVE_PROGRAM
*&*
*text
**
*>p1text
*<p2text
**
FORMleave_program.
"ClearingInputfieldofScreen1
CLEARmaramatnr.
"RefreshingInternalTables
REFRESH:it_mara,it_makt,it_marm.
"ClearingUserCommands
CLEAR:ok_code1,ok_code2.
"Goingbacktoinitialscreen
LEAVETOSCREEN0.
ENDFORM."LEAVE_PROGRAM
*&*
*&FormREFRESH_MATERIAL
*&*
*text
**
*>p1text
*<p2text
**
FORMrefresh_material.
CLEARmaramatnr.
SETSCREEN9001.
ENDFORM."REFRESH_MATERIAL
*&*
*&FormDISPLAY_MATERIAL
*&*

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

6/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

*text
**
*>p1text
*<p2text
**
FORMdisplay_material.
IFmaramatnrISNOTINITIAL.
SELECTmatnrersdaernammtart
FROMmaraINTOTABLEit_mara
WHEREmatnr=maramatnr.
IFsysubrc=0.
SELECTmatnrsprasmaktxmaktg
FROMmaktINTOTABLEit_makt
FORALLENTRIESINit_mara
WHEREmatnr=it_maramatnr
ANDspras=sylangu.
IFsysubrc=0.
SELECTmatnrmeinhumrezumren
FROMmarmINTOTABLEit_marm
FORALLENTRIESINit_mara
WHEREmatnr=it_maramatnr.
IFsysubrc=0.
"SubroutinetoPopulateScreenDatawithScreenFields
PERFORMpopulate_screen_data.
"CallingScreen2TabstripScreen
CALLSCREEN9002.
ELSE.
MESSAGE'UnitsofMeasuredoesn''texist'TYPE'I'.
ENDIF.
ELSE.
MESSAGE'Descriptiondoesn''texist'TYPE'I'.
ENDIF.
ELSE.
MESSAGE'Materialdoesn''texist'TYPE'I'.
ENDIF.
ELSE.
MESSAGE'PleaseselectvalidMaterialNo.'TYPE'I'.
ENDIF.
ENDFORM."DISPLAY_MATERIAL
*&*
*&FormPOPULATE_SCREEN_DATA
*&*
*text
**
*>p1text
*<p2text
**
FORMpopulate_screen_data.
"PopulatingTAB1subscreenfieldsMaterialdetails
READTABLEit_maraINTOwa_mara
WITHKEYmatnr=maramatnr.
IFsysubrc=0.
CLEARmara.
maramatnr=wa_maramatnr.
maraersda=wa_maraersda.
maraernam=wa_maraernam.
maramtart=wa_maramtart.
CLEARwa_mara.

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

7/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

ENDIF.
"PopulatingTAB2subscreenfieldsMaterialDescription
READTABLEit_maktINTOwa_makt
WITHKEYmatnr=maramatnr.
IFsysubrc=0.
CLEARmakt.
maktmatnr=wa_maktmatnr.
maktspras=wa_maktspras.
maktmaktx=wa_maktmaktx.
maktmaktg=wa_maktmaktg.
CLEARwa_makt.
ENDIF.
"PopulatingTAB3subscreenfieldsUnitmeasureofMaterials
READTABLEit_marmINTOwa_marm
WITHKEYmatnr=maramatnr.
IFsysubrc=0.
CLEARmarm.
marmmatnr=wa_marmmatnr.
marmmeinh=wa_marmmeinh.
marmumrez=wa_marmumrez.
marmumren=wa_marmumren.
CLEARwa_marm.
ENDIF.
ENDFORM."POPULATE_SCREEN_DATA

Screen1(9001):

PROCESSBEFOREOUTPUT.
"Screen1PBO
MODULEstatus_9001.
PROCESSAFTERINPUT.
"Screen1PAI
MODULEuser_command_9001.

Screen2(9002):

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

8/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

PROCESSBEFOREOUTPUT.
"Screen2PBO
MODULEstatus_9002.
"ModuleforTabstripControlPBO
MODULEtabstrip_active_set.
"CallingSubScreenssequentiallyforPBO
CALLSUBSCREENsub_mara
INCLUDINGwa_sscprogramwa_sscsubscreen.
CALLSUBSCREENsub_makt
INCLUDINGwa_sscprogramwa_sscsubscreen.
CALLSUBSCREENsub_marm
INCLUDINGwa_sscprogramwa_sscsubscreen.
PROCESSAFTERINPUT.
"Screen2PAI
MODULEuser_command_9002.
"CallingSubScreenssequentiallyforPAI
CALLSUBSCREENsub_mara.
CALLSUBSCREENsub_makt.
CALLSUBSCREENsub_marm.
"ModuletoselectthespecificTABSubScreen
MODULEtabstrip_active_get.

Screen3(9003)/SubScreen1:

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

9/11

02/12/13

SAP ABAP 4 Tutorial: Simple Tabstrip Control

Screen4(9004)/SubScreen2:

Screen5(9005)/SubScreen3:

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

10/11

02/12/13

sapabap-4.blogspot.com.br/2013/06/simple-tabstrip-control.html

SAP ABAP 4 Tutorial: Simple Tabstrip Control

11/11

You might also like