‎2008 Feb 04 2:09 AM
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
‎2008 Feb 04 3:00 AM
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.
‎2008 Feb 04 3:06 AM
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?
‎2008 Feb 04 4:18 AM
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.
‎2008 Feb 04 4:58 AM
‎2008 Feb 04 5:23 AM
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>
‎2008 Feb 04 5:29 AM
It seems really complicated. Anyway to simplify it and explain to me?
‎2008 Feb 04 5:33 AM
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>