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 problem

Former Member
0 Likes
812

I have 3 tabstrips with 1 textbox at each tabstrip. When user did not key in the textbox in the first tab, the user is unable to select the other 2 tabs unless they keyed in the textbox in the first tab.

How am I suppose to do that? Codes examples is appreciated and please explain the codes to me

7 REPLIES 7
Read only

Former Member
0 Likes
790

Hi,

There is one approach. Every tabstrip has a function code that triggers it right, most commonly TAB1, TAB2 and TAB3. Assume these are the function codes which you have attached to the tabs.

Now in the PBO you can put the following logic:


data: wa type sy-ucomm, itab like standard table of wa.
 
move 'TAB2' to wa. append wa to itab.
move 'TAB3' to wa. append wa to itab.
 
if textbox is initial.
 set pf-status 'PF_STAT' excluding itab.
else.
 set pf-status 'PF_STAT'.
endif.

What this will do is, if the text box field (here assumed to be "textbox" is not entered, the pf status shall deactivate the tabstrip 2 and 3, only when entered would they be activated.

Regards,

Chandru

Please try this out and let me know.

Read only

0 Likes
790

If I got textbox at the other 2 tabs namely: textbox2 at tab2 and textbox3 at tab3, how am I suppose to do the same if one of these textbox are empty?

Do I have to modify the codes given? Can show me the example?

Read only

Former Member
0 Likes
790

Hi,

Simply make input box as required field....

so when another tab is pressed it will show a error message,

or in PBO where active tab is assign..

check condition for input box Initial..

if yes make other tab output only..

REWARD IF HELPFUL,

GAURAV J.

Read only

0 Likes
790

Any codes example for it?

Read only

0 Likes
790

Hi

check this

PROCESS BEFORE OUTPUT.

MODULE STATUS_0101.

MODULE DATA_1.

MODULE TABSTRP_ACTIVE_TAB_SET.

MODULE SCREEN_SET.

CALL SUBSCREEN subscreen INCLUDING G_TABSTRP-PROG G_TABSTRP-SUBSCREEN.

PROCESS AFTER INPUT.

CALL SUBSCREEN subscreen.

MODULE TABSTRP_ACTIVE_TAB_GET.

module exit_prog at exit-command.

MODULE USER_COMMAND_0101.

USE THIS in MODULE ACTIVE TAB SET.

CASE save_ok_100.

when CDS. "DISPLAY

LOOP AT SCREEN.

IF screen-group1 = 'G2'.

screen-active = 1.

screen-input = 0.

screen-output = 0.

screen-invisible = 1.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'G3'.

screen-active = 1.

screen-input = 1.

screen-output = 1.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'G4'.

screen-active = 1.

screen-input = 0.

screen-output = 1.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

USE UR FCODE AND SY UCOMM.

Full CODE IS LIKE THIS....

*******************

*CONTROL STRUCTURE

*******************

CONTROLS : tabstrp TYPE TABSTRIP.

CONTROLS : table_control TYPE TABLEVIEW USING SCREEN 0104.

******************

*TABLES

******************

tables: Z11_CUSTOMER1, Z11_CUST_SALES.

DATA: t_BANK TYPE STANDARD TABLE OF Z11_CUST_BANK WITH HEADER LINE.

******************

*CONSTANTS

******************

CONSTANTS: CCR(3) value 'CRT'.

CONSTANTS: CCH(3) value 'CHG'.

CONSTANTS: CDS(3) value 'DSP'.

CONSTANTS: CSA(3) value 'SAV'.

CONSTANTS: CBC(3) value 'BCK'.

CONSTANTS: CT1(4) value 'TAB1'.

CONSTANTS: CT2(4) value 'TAB2'.

CONSTANTS: CT3(4) value 'TAB3'.

CONSTANTS: CSL(3) value 'SAL'.

**************************************************

*STRUCTURE TO GET PRESSED TAB & TO SET DEFAULT TAB

  • & Screen no. & program name

**************************************************

DATA: BEGIN OF g_tabstrp,

subscreen LIKE sy-dynnr,

prog LIKE sy-repid VALUE 'Z11GAURAV_ASSIGN_6',

pressed_tab LIKE sy-ucomm VALUE 'TAB1',

END OF g_tabstrp.

****************

*OK CODES

****************

data: ok_code_100(4) , SAVE_OK_100(4),ok_code_105(4),

ok_code_101(4).

data: ok_code type sy-ucomm.

****************

*VARIABLES

****************

DATA: V_KUNNR TYPE KUNNR.

DATA: V_REPLY(1).

DATA: V_FLAG type C value '1'.

DATA: V_FLAG1 TYPE C VALUE '0',

V_FLAG2 TYPE C VALUE '0',

V_FLAG3 TYPE C VALUE '0'.

DATA: V_CUSTOMER TYPE KUNNR.

******MENU AND TITLE FOR SCREEN 0100******

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'Z11GAURAV_XD'.

SET TITLEBAR 'MAIN'.

ENDMODULE. " STATUS_0100 OUTPUT

******VALIDATIONS FOR CUSTOMER NO.***********

&----


*& Module validate_KUNNR INPUT

&----


  • text

----


MODULE validate_KUNNR INPUT.

*VAL....1 NULL value

if Z11_CUSTOMER1-KUNNR is INITIAL.

clear Z11_CUSTOMER1.

MESSAGE E004 with TEXT-010.

endif.

*VAL....2 EXISTANCE

case ok_code_100.

WHEN CCR. "CREATE

select single kunnr into V_kunnr from Z11_CUSTOMER1 WHERE kunnr =

Z11_CUSTOMER1-KUNNR.

if sy-subrc = 0.

clear Z11_CUSTOMER1.

message E001 WITH TEXT-001.

endif.

when CCH. "CHANGE

select single kunnr into V_kunnr from Z11_CUSTOMER1 WHERE kunnr =

Z11_CUSTOMER1-KUNNR.

if sy-subrc <> 0.

clear Z11_CUSTOMER1.

message E002 with TEXT-002.

endif.

WHEN CDS. "DISPLAY

select single kunnr into V_kunnr from Z11_CUSTOMER1 WHERE kunnr =

Z11_CUSTOMER1-KUNNR.

if sy-subrc <> 0.

clear Z11_CUSTOMER1.

message E002 with TEXT-002.

endif.

WHEN ' '.

Message E013 with TEXT-013.

endcase.

ENDMODULE. " validate_KUNNR INPUT

******EXIT COMMAND***********

&----


*& Module exit_prog INPUT

&----


  • text

----


MODULE exit_prog INPUT.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = TEXT-006

  • DIAGNOSE_OBJECT = ' '

text_question = TEXT-005

TEXT_BUTTON_1 = TEXT-003

  • ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = TEXT-004

  • ICON_BUTTON_2 = ' '

  • DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = ' '

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = ' '

  • IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = V_REPLY

  • TABLES

  • PARAMETER =

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2

.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

if V_REPLY = 1.

CLEAR V_REPLY.

leave program.

elseif V_REPLY = 2.

CLEAR V_REPLY.

EXIT.

endif.

ENDMODULE. " exit_prog INPUT

****USER COMMAND FOR SCREEN 0100*****

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

case ok_code_100.

when CCH. "CHANGE GO TO SCREEN 101

SAVE_OK_100 = ok_code_100.

clear ok_code_100.

leave to screen 101.

when CCR. "CREATE GO TO SCREEN 101

SAVE_OK_100 = ok_code_100.

clear ok_code_100.

leave to screen 101.

WHEN CDS. "DISPLAY GO TO SCREEN 101

SAVE_OK_100 = ok_code_100.

clear ok_code_100.

leave to screen 101.

*IF INITIAL SCREEN LEAVE PROGRAM

WHEN CBC. "BACK

IF SY-dynnr = '0100'.

clear ok_code_100.

LEAVE PROGRAM.

ENDIF.

endcase.

ENDMODULE. " USER_COMMAND_0100 INPUT

***MENU AND TITLE BAR FOR SCREEN 0101*****

&----


*& Module STATUS_0101 OUTPUT

&----


  • text

----


MODULE STATUS_0101 OUTPUT.

SET PF-STATUS 'Z11GAURAV_XD2'.

SET TITLEBAR 'TIL'.

CASE sy-ucomm.

WHEN CT1. "TAB 1

SET TITLEBAR 'TAB1'.

WHEN CT2. "TAB 2

SET TITLEBAR 'TAB2'.

WHEN CT3. "TAB 3

SET TITLEBAR 'TAB3'.

WHEN 'LSF'. "NEXT TAB

IF V_FLAG = '1'.

SET TITLEBAR 'TAB1'.

ELSEIF V_FLAG = '2'.

SET TITLEBAR 'TAB2'.

ELSEIF V_FLAG = '3'.

SET TITLEBAR 'TAB3'.

ENDIF.

WHEN 'RSF'. "PREVIOUS TAB

IF V_FLAG = '1'.

SET TITLEBAR 'TAB1'.

ELSEIF V_FLAG = '2'.

SET TITLEBAR 'TAB2'.

ELSEIF V_FLAG = '3'.

SET TITLEBAR 'TAB3'.

ENDIF.

ENDCASE.

ENDMODULE. " STATUS_0101 OUTPUT

*SET PRESSED TAB AND SUBSCREEN FOR THAT TAB

&----


*& Module TABSTRP_ACTIVE_TAB_SET OUTPUT

&----


  • text

----


MODULE TABSTRP_ACTIVE_TAB_SET OUTPUT.

tabstrp-activetab = g_tabstrp-pressed_tab.

IF G_TABSTRP-PRESSED_TAB = CT1 OR V_FLAG = '1'.

g_tabstrp-subscreen = '0102'.

ELSEIF G_TABSTRP-PRESSED_TAB = CT2 OR V_FLAG = '2'.

g_tabstrp-subscreen = '0103'.

ELSEIF G_TABSTRP-PRESSED_TAB = CT3 OR V_FLAG = '3'..

g_tabstrp-subscreen = '0104'.

ENDIF.

ENDMODULE. " TABSTRP_ACTIVE_TAB_SET OUTPUT

*SETTING SCREEN ATTRIBUTES***

&----


*& Module SCREEN_SET OUTPUT

&----


  • text

----


MODULE SCREEN_SET OUTPUT.

CASE save_ok_100.

when CDS. "DISPLAY

LOOP AT SCREEN.

IF screen-group1 = 'G2'.

screen-active = 1.

screen-input = 0.

screen-output = 0.

screen-invisible = 1.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'G3'.

screen-active = 1.

screen-input = 1.

screen-output = 1.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

IF screen-group1 = 'G4'.

screen-active = 1.

screen-input = 0.

screen-output = 1.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDCASE.

ENDMODULE. " SCREEN_SET OUTPUT

***FOR SUB SCREEN 0102, 0103, 0104

&----


*& Module STATUS_0102 OUTPUT

&----


  • text

----


MODULE STATUS_0102 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0102 OUTPUT

*USER COMMAND FOR SUB SCREEN & UPDATING FLAG

&----


*& Module USER_COMMAND_0102 INPUT

&----


  • text

----


MODULE USER_COMMAND_0102 INPUT.

CASE sy-ucomm.

when 'LSF'.

if v_flag ge 1 and v_flag lt 3.

v_flag = v_flag + 1.

endif.

when 'RSF'.

if v_flag gt 1 and v_flag le 3.

v_flag = v_flag - 1.

endif.

endcase.

ENDMODULE. " USER_COMMAND_0102 INPUT

*SET ATTRIBUTES OF SUB SCREEN.

&----


*& Module SUB_SCREEN_SET OUTPUT

&----


  • text

----


MODULE SUB_SCREEN_SET OUTPUT.

CASE save_ok_100.

WHEN CDS.

LOOP AT SCREEN.

IF screen-group1 = 'G4'.

screen-active = 1.

screen-input = 0.

screen-output = 1.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDCASE.

ENDMODULE. " SUB_SCREEN_SET OUTPUT

*TO GET PRESSED TAb WHICH CAN BE ASSIGN TO ACTIVE TAB.

&----


*& Module TABSTRP_ACTIVE_TAB_GET INPUT

&----


  • text

----


MODULE TABSTRP_ACTIVE_TAB_GET INPUT.

ok_code = sy-ucomm.

CASE ok_code.

WHEN CT1.

V_FLAg = '1'.

g_tabstrp-pressed_tab = CT1.

WHEN CT2.

V_FLAg = '2'.

g_tabstrp-pressed_tab = CT2.

WHEN CT3.

V_FLAg = '3'.

g_tabstrp-pressed_tab = CT3.

WHEN 'LSF'.

IF V_FLAG = '1'.

g_tabstrp-pressed_tab = CT1.

ELSEIF V_FLAG = '2'.

g_tabstrp-pressed_tab = CT2.

ELSEIF V_FLAG = '3'.

g_tabstrp-pressed_tab = CT3.

ENDIF.

WHEN 'RSF'.

IF V_FLAG = '1'.

g_tabstrp-pressed_tab = CT1.

ELSEIF V_FLAG = '2'.

g_tabstrp-pressed_tab = CT2.

ELSEIF V_FLAG = '3'.

g_tabstrp-pressed_tab = CT3.

ENDIF.

ENDCASE.

ENDMODULE. " TABSTRP_ACTIVE_TAB_GET INPUT

*GET DATA FOR SUB SCREEN AND MAIN SCREEN

&----


*& Module DATA_1 OUTPUT

&----


  • text

----


MODULE DATA_1 OUTPUT.

IF V_flag1 Lt 1.

IF save_ok_100 = CCH or save_ok_100 = CDS.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = Z11_CUSTOMER1-KUNNR

IMPORTING

OUTPUT = V_CUSTOMER.

.

select single * FROM Z11_CUSTOMER1 WHERE KUNNR = Z11_CUSTOMER1-KUNNR.

Z11_CUSTOMER1-KUNNR = V_CUSTOMER.

V_FLAG1 = V_FLAG1 + 1.

endif.

endif.

ENDMODULE. " DATA_1 OUTPUT

*USER COMMAND FOR SCREEN 0101

&----


*& Module USER_COMMAND_0101 INPUT

&----


  • text

----


MODULE USER_COMMAND_0101 INPUT.

case OK_CODE_101.

WHEN CSL.

Clear ok_code_101.

LEAVE to screen 0105.

WHEN CSA. "SAVE

IF save_ok_100 = CCR. "CREATE

Z11_CUST_SALES-MANDT = sy-mandt.

Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.

INSERT z11_CUSTOMER1.

INSERT Z11_CUST_SALES.

INSERT z11_CUST_BANK FROM TABLE T_BANK.

if sy-subrc = 0.

MESSAGE I006 with TEXT-008.

CLEAR z11_customer1.

CLEAR Z11_CUST_SALES.

REFRESH T_BANK.

CLEAR save_ok_100.

Clear ok_code_101.

g_tabstrp-pressed_tab = CT1.

clear V_FLAG1.

clear V_FLAG2.

clear V_FLAG3.

LEAVE TO SCREEN 0100.

endif.

ELSEIF save_ok_100 = CCH. "CHANGE

Z11_CUST_SALES-MANDT = sy-mandt.

Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.

MODIFY z11_CUSTOMER1.

MODIFY Z11_CUST_SALES.

MODIFY z11_CUST_BANK FROM TABLE t_BANK.

if sy-subrc = 0.

MESSAGE I006 with TEXT-011.

CLEAR z11_customer1.

Clear Z11_CUST_SALES.

REFRESH T_BANK.

CLEAR save_ok_100.

Clear ok_code_101.

g_tabstrp-pressed_tab = CT1.

clear V_FLAG1.

clear V_FLAG2.

clear V_FLAG3.

LEAVE TO SCREEN 0100.

endif.

ENDIF.

WHEN CBC. "BACK

IF SY-dynnr = '0100'. "IF FIRST SCREEN

LEAVE PROGRAM.

ELSE.

if save_ok_100 = CCR.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = TEXT-014

  • DIAGNOSE_OBJECT = ' '

text_question = TEXT-015

TEXT_BUTTON_1 = TEXT-016

  • ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = TEXT-017

  • ICON_BUTTON_2 = ' '

  • DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = ' '

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = ' '

  • IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = V_REPLY

  • TABLES

  • PARAMETER =

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2

.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

if V_REPLY = 1.

Z11_CUST_SALES-MANDT = sy-mandt.

Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.

INSERT z11_CUSTOMER1.

INSERT Z11_CUST_SALES.

INSERT z11_CUST_BANK FROM TABLE T_BANK.

if sy-subrc = 0.

MESSAGE I006 with TEXT-008.

CLEAR z11_customer1.

CLEAR Z11_cust_sales.

REFRESH T_BANK.

CLEAR save_ok_100.

Clear ok_code_101.

g_tabstrp-pressed_tab = CT1.

CLEAR V_reply.

clear V_FLAG1.

clear V_FLAG2.

clear V_FLAG3.

LEAVE TO SCREEN 0100.

endif.

elseif V_REPLY = 2.

CLEAR z11_customer1.

Clear z11_cust_sales.

refresh T_bank.

Clear ok_code_101.

save_ok_100 = ' '.

g_tabstrp-pressed_tab = CT1.

CLEAR V_reply.

clear V_FLAG1.

clear V_FLAG2.

clear V_FLAG3.

leave to screen 0100.

endif.

ELSEIF save_ok_100 = CCH.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = TEXT-014

  • DIAGNOSE_OBJECT = ' '

text_question = TEXT-015

TEXT_BUTTON_1 = TEXT-016

  • ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = TEXT-017

  • ICON_BUTTON_2 = ' '

  • DEFAULT_BUTTON = '1'

DISPLAY_CANCEL_BUTTON = ' '

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = ' '

  • IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = V_REPLY

  • TABLES

  • PARAMETER =

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2

.

IF sy-subrc <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

if V_REPLY = 1.

Z11_CUST_SALES-MANDT = sy-mandt.

Z11_CUST_SALES-KUNNR = Z11_CUSTOMER1-kunnr.

MODIFY z11_CUSTOMER1.

Modify z11_cust_sales.

MODIFY z11_CUST_BANK FROM TABLE t_BANK.

if sy-subrc = 0.

MESSAGE I006 with TEXT-011.

CLEAR z11_customer1.

Clear z11_cust_sales.

REFRESH T_BANK.

CLEAR save_ok_100.

Clear ok_code_101.

g_tabstrp-pressed_tab = CT1.

Clear V_REPLY.

clear V_FLAG1.

clear V_FLAG2.

clear V_FLAG3.

LEAVE TO SCREEN 0100.

endif.

elseif V_REPLY = 2.

CLEAR z11_customer1.

clear z11_cust_sales.

refresh t_bank.

save_ok_100 = ' '.

Clear ok_code_101.

g_tabstrp-pressed_tab = CT1.

CLEAR V_reply.

clear V_FLAG1.

clear V_FLAG2.

clear V_FLAG3.

leave to screen 100.

endif.

elseif save_ok_100 = CDS.

CLEAR z11_customer1.

clear z11_cust_sales.

REFRESH T_BANK.

CLEAR save_ok_100.

Clear ok_code_101.

g_tabstrp-pressed_tab = CT1.

Clear V_flag1.

clear V_flag2.

clear v_flag3.

leave to screen 0100.

ENDIF.

ENDIF.

WHEN 'TOG'.

IF save_ok_100 = CDS.

save_ok_100 = CCH.

ELSEIF save_ok_100 = CCH.

save_ok_100 = CDS.

ENDIF.

ENDCASE.

ENDMODULE. " USER_COMMAND_0101 INPUT

*GET DATA FOR TABLE CONTROl<TABULAR DATA>

&----


*& Module GET_DATA OUTPUT

&----


  • text

----


MODULE GET_DATA OUTPUT.

if V_flag2 lt 1.

IF save_ok_100 = CDS OR save_ok_100 = CCH.

SELECT KUNNR

BANKS

BANKL

BANKN

KOINH

BKONT

BVTYP

BKREF

FROM Z11_CUST_BANK

INTO Corresponding fields of table t_bank

WHERE KUNNR = Z11_CUSTOMER1-KUNNR.

  • IF sy-subrc <> 0.

  • MESSAGE E007 with TEXT-007.

  • ENDIF.

V_flag2 = v_FLAG2 + 1.

ENDIF.

ENDIF.

ENDMODULE. " GET_DATA OUTPUT

*SETTING ATTRIBUTES FOR TABLE ON SCREEN 0104

&----


*& Module SET_LINE_ATTRIBUTES OUTPUT

&----


  • text

----


MODULE SET_LINE_ATTRIBUTES OUTPUT.

CASE save_ok_100.

WHEN CDS. "DISPLAY

LOOP AT SCREEN.

IF screen-group1 = 'A1'.

screen-active = 1.

screen-input = 0.

screen-output = 1.

screen-invisible = 0.

MODIFY SCREEN.

ENDIF.

endloop.

endcase.

ENDMODULE. " SET_LINE_ATTRIBUTES OUTPUT

*MODULE TO POPULATE INTERNAl TABLE FROM SCREEN

&----


*& Module POP_I_TAB INPUT

&----


  • text

----


MODULE POP_I_TAB INPUT.

T_BANK-MANDT = SY-MANDT. "CLIENT

IF save_ok_100 = CCR AND sy-ucomm = CSA ."CREATE+SAVE

IF T_BANK-KUNNR = Z11_CUSTOMER1-KUNNR.

APPEND T_BANK.

ENDIF.

ELSEIF save_ok_100 = CCH AND sy-ucomm = CSA or sy-ucomm = CT3.

"CHANGE+SAVE

IF T_BANK-KUNNR = Z11_CUSTOMER1-KUNNR.

IF TABLE_CONTROL-CURRENT_LINE > SY-DBCNT."IF NEW LINE

APPEND T_BANK.

ELSE.

MODIFY T_BANK INDEX table_control-current_line.

ENDIF.

ENDIF.

ENDIF.

ENDMODULE. " POP_I_TAB INPUT

&----


*& Module STATUS_0105 OUTPUT

&----


  • text

----


module STATUS_0105 output.

SET PF-STATUS 'Z11GAURAV_XD'.

SET TITLEBAR 'TL4'.

endmodule. " STATUS_0105 OUTPUT

&----


*& Module DATA_2 OUTPUT

&----


  • text

----


module DATA_2 output.

IF V_flag3 Lt 1.

IF save_ok_100 = CCH or save_ok_100 = CDS.

select single * FROM Z11_CUST_SALES WHERE KUNNR = Z11_CUSTOMER1-KUNNR.

V_FLAG3 = V_FLAG3 + 1.

endif.

endif.

endmodule. " DATA_2 OUTPUT

&----


*& Module USER_COMMAND_0105 INPUT

&----


  • text

----


module USER_COMMAND_0105 input.

IF OK_CODE_105 = CBC.

CLEAR ok_code_105.

leave to screen 101.

ENDIF.

endmodule. " USER_COMMAND_0105 INPUT

BUT THIS ALSO INCLUDE TABLE CONTROL....

REWARD IF HELPFUL

GAURAV J>

Read only

0 Likes
790

It seems really complicated. Anyway to simplify it and explain to me?

Read only

0 Likes
790

See

in TAB Strip..

all the sub screen called shares a comman PBO AND PAI...

in the pbo of main screen where u jave tab strip...

Make a module...

in that check your Sy ucomm..

if it is Fcode of that push button...

than loop at screen

set screen attributes...

endloop.

you can even use case condition on ucomm to set PF status

You exculed comm to excl. some buttons from menu based on requirement

PLS REWARD IF HELPFUL...

GAURAV J>