2007 Apr 27 11:49 AM
i am using tabstrip .in that i am using textboxes and listboxes.if i trigger a action when i choose a field in the list box the values i entered in the textbox is not retained .
i am using tabstrip .in that i am using textboxes and listboxes.if i trigger a action when i choose a field in the list box the values i entered in the textbox is not retained .
2007 Apr 27 11:51 AM
Check if u are clearing the fields in ur PBO..or they should be fine..until u are using a table control.
santhosh
2007 Apr 27 11:56 AM
i didnt clear any field but even it is not retaining the value in the textbox
2007 Apr 27 11:58 AM
2007 Apr 27 12:01 PM
REPORT zmag_048 .
TABLES bsik.
*TYPE-POOLS slis.
DATA: zmagt_username(10) TYPE c ,
zmagt_password(8) TYPE c ,
zmagt_flighttype(18) TYPE c,
zmagt_destination(18) TYPE c,
zmagt_tclass(18) TYPE c,
zmagt_amount(18) TYPE c,
ZMAGT_TOTAL(18) type c,
ZMAGT_NOOFPERSONS(18) type c,
amt1 type i,
flttyp(18) TYPE c,
fltno(5) TYPE c,
curfield(20) TYPE c,
amt TYPE i,
fltdest(20) TYPE c,
zmagt_flightnumber(5) TYPE c.
DATA count VALUE 0.
TYPE-POOLS vrm.
TABLES zmag_flightdet.
DATA: name TYPE vrm_id,
list TYPE vrm_values,
value LIKE LINE OF list.
Data: begin of fs ,
name(18) type c,
age type i,
gender(18) type c,
street(18) type c,
city(18) type c,
state(18) type c,
mobileno(10) type c,
tvldate type BSIK-BUDAT,
flighttype(18) type c,
destination(18) type c,
flightno(18) type c,
class(18) type c,
totamount type i,
end of fs.
DATA: iflightdet TYPE zmag_flightdet OCCURS 0 WITH HEADER LINE,
BEGIN OF it OCCURS 0,
flghtno TYPE zmag_flighttime-flghtnumber,
END OF it,
wa TYPE zmag_flighttime,
wa1 TYPE zmag_flighttime,
wa2 type ZMAG_TRAVEL.
CALL SCREEN 105.
FUNCTION CODES FOR TABSTRIP 'TABSTRIP1'
CONSTANTS: BEGIN OF c_tabstrip1,
tab1 LIKE sy-ucomm VALUE 'TABSTRIP1_FC1',
tab2 LIKE sy-ucomm VALUE 'TABSTRIP1_FC2',
tab3 LIKE sy-ucomm VALUE 'TABSTRIP1_FC3',
END OF c_tabstrip1.
DATA FOR TABSTRIP 'TABSTRIP1'
CONTROLS: tabstrip1 TYPE TABSTRIP.
DATA: BEGIN OF g_tabstrip1,
subscreen LIKE sy-dynnr,
prog LIKE sy-repid VALUE 'ZMAG_048',
pressed_tab LIKE sy-ucomm VALUE c_tabstrip1-tab2,
END OF g_tabstrip1.
DATA: ok_code LIKE sy-ucomm.
OUTPUT MODULE FOR TABSTRIP 'TABSTRIP1': SETS ACTIVE TAB
MODULE tabstrip1_active_tab_set OUTPUT.
tabstrip1-activetab = g_tabstrip1-pressed_tab.
CASE g_tabstrip1-pressed_tab.
WHEN c_tabstrip1-tab1.
g_tabstrip1-subscreen = '0101'.
CLEAR zmagt_flighttype.
CLEAR zmagt_destination.
WHEN c_tabstrip1-tab2.
g_tabstrip1-subscreen = '0102'.
CLEAR bsik-budat.
WHEN c_tabstrip1-tab3.
g_tabstrip1-subscreen = '0103'.
WHEN OTHERS.
DO NOTHING
ENDCASE.
ENDMODULE.
INPUT MODULE FOR TABSTRIP 'TABSTRIP1': GETS ACTIVE TAB
MODULE tabstrip1_active_tab_get INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN c_tabstrip1-tab1.
g_tabstrip1-pressed_tab = c_tabstrip1-tab1.
CLEAR zmagt_flighttype.
CLEAR zmagt_destination.
CLEAR zmagt_flightnumber.
CLEAR bsik-bldat.
clear zmagt_tclass.
clear ZMAGT_AMOUNT.
WHEN c_tabstrip1-tab2.
g_tabstrip1-pressed_tab = c_tabstrip1-tab2.
*CLEAR zmagt_flighttype.
CLEAR zmagt_destination.
CLEAR zmagt_flightnumber.
CLEAR bsik-bldat.
clear zmagt_tclass.
*
clear ZMAGT_AMOUNT.
WHEN c_tabstrip1-tab3.
g_tabstrip1-pressed_tab = c_tabstrip1-tab3.
WHEN OTHERS.
DO NOTHING
ENDCASE.
ENDMODULE.
----
MODULE USER_COMMAND_0105 INPUT *
----
........ *
----
MODULE user_command_0105 INPUT.
CASE ok_code .
WHEN 'SUBMIT'.
IF zmagt_username = 'MOSES' AND zmagt_password = 'KUMAR207'.
CALL SCREEN 100.
ELSE.
MESSAGE e000(z_mesg) WITH text-002.
ENDIF.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
SET SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0105 INPUT
&----
*& Module STATUS_0105 OUTPUT
&----
text
----
MODULE status_0105 OUTPUT.
SET PF-STATUS 'ZMAG_AIR_PF'.
LOOP AT SCREEN .
IF screen-name = 'ZMAGT_PASSWORD'.
screen-invisible = '1'.
ENDIF.
MODIFY SCREEN .
ENDLOOP.
ENDMODULE. " STATUS_0105 OUTPUT
&----
*& Module STATUS_0100 OUTPUT
&----
text
----
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ZMAG_AIR_PF'.
ENDMODULE. " STATUS_0100 OUTPUT
&----
*& Module USER_COMMAND_0100 INPUT
&----
text
----
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
SET SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&----
*& Module USER_COMMAND_0110 INPUT
&----
text
----
MODULE user_command_0101 INPUT.
CASE ok_code.
WHEN 'DEST'.
IF zmagt_flighttype IS INITIAL.
ELSE.
IF zmagt_destination IS INITIAL.
ELSE.
SELECT SINGLE flghtnumber FROM zmag_flighttime
INTO CORRESPONDING FIELDS OF wa
WHERE
flghttype = zmagt_flighttype
AND
flghtdest = zmagt_destination.
fltno = wa-flghtnumber.
WRITE fltno TO zmagt_flightnumber.
ENDIF.
ENDIF.
WHEN 'SUBMIT'.
MESSAGE i000(z_mesg) WITH text-001.
ENDCASE.
ENDMODULE. " USER_COMMAND_0110 INPUT
&----
*& Module USER_COMMAND_0102 INPUT
&----
text
----
MODULE user_command_0102 INPUT.
IF ok_code = 'DEST'.
IF zmagt_flighttype IS INITIAL.
ELSE.
IF zmagt_destination IS INITIAL.
ELSE.
SELECT SINGLE flghtnumber FROM zmag_flighttime
INTO CORRESPONDING FIELDS OF wa
WHERE
flghttype = zmagt_flighttype
AND
flghtdest = zmagt_destination.
fltno = wa-flghtnumber.
WRITE fltno TO zmagt_flightnumber.
ENDIF.
ENDIF.
ENDIF.
IF ok_code = 'CLASS'.
IF zmagt_tclass = 'BUSINESS'.
SELECT SINGLE busifare FROM zmag_flighttime
INTO CORRESPONDING FIELDS OF wa1
WHERE flghtnumber = fltno.
amt = wa1-busifare.
ENDIF.
IF zmagt_tclass = 'ECONOMY'.
SELECT SINGLE ecofare FROM zmag_flighttime
INTO CORRESPONDING FIELDS OF wa1
WHERE flghtnumber = fltno.
amt = wa1-ecofare.
ENDIF.
WRITE amt TO zmagt_amount.
ENDIF.
IF ok_code = 'SUBMIT'.
select single * from ZMAG_TRAVEL into wa2
where TRAVELDATE = BSIK-BUDAT.
if sy-subrc = 0.
wa2-TRAVELDATE = BSIK-BUDAT.
wa2-TOTALTICKETS = 100.
wa2-BOOKEDTICKETS = 1.
insert into zmag_travel values wa2.
endif.
ENDIF.
ENDMODULE. " USER_COMMAND_0102 INPUT
&----
*& Module USER_COMMAND_0103 INPUT
&----
text
----
MODULE user_command_0103 INPUT.
CASE ok_code.
WHEN 'SUBMIT'.
MESSAGE i000(z_mesg) WITH text-001.
ENDCASE.
ENDMODULE. " USER_COMMAND_0103 INPUT
&----
*& Module STATUS_0101 OUTPUT
&----
text
----
MODULE status_0101 OUTPUT.
IF count = 0.
PERFORM buildlistbox.
PERFORM builddestlistbox.
ENDIF.
count = count + 1.
ENDMODULE. " STATUS_0101 OUTPUT
----
FORM buildlistbox *
----
........ *
----
FORM buildlistbox.
name = 'ZMAGT_FLIGHTTYPE'.
SELECT DISTINCT flighttype INTO CORRESPONDING FIELDS OF TABLE
iflightdet FROM
zmag_flightdet.
LOOP AT iflightdet.
value-key = iflightdet-flighttype.
value-text = iflightdet-flighttype.
APPEND value TO list.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name
values = list.
ENDFORM.
*----
*Destination
*----
FORM builddestlistbox.
DATA: name1 TYPE vrm_id,
list1 TYPE vrm_values,
value1 LIKE LINE OF list1.
name1 = 'ZMAGT_DESTINATION'.
value1-key = 'Bangalore'.
value1-text = 'Bangalore'.
APPEND value1 TO list1.
value1-key = 'Mumbai'.
value1-text = 'Mumbai'.
APPEND value1 TO list1.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name1
values = list1.
ENDFORM.
----
FORM buildgendlistbox *
----
........ *
----
FORM buildgendlistbox.
DATA: name11 TYPE vrm_id,
list11 TYPE vrm_values,
value11 LIKE LINE OF list11.
name11 = 'ZMAGT_GENDER'.
value11-key = 'Male'.
value11-text = 'Male'.
APPEND value11 TO list11.
value11-key = 'Female'.
value11-text = 'Female'.
APPEND value11 TO list11.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name11
values = list11.
ENDFORM.
----
FORM buildclasslistbox *
----
........ *
----
FORM buildclasslistbox.
DATA: name12 TYPE vrm_id,
list12 TYPE vrm_values,
value12 LIKE LINE OF list12.
name12 = 'ZMAGT_TCLASS'.
value12-key = 'Business'.
value12-text = 'Business'.
APPEND value12 TO list12.
value12-key = 'Economy'.
value12-text = 'Economy'.
APPEND value12 TO list12.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name12
values = list12.
ENDFORM.
----
MODULE setval INPUT *
----
........ *
----
MODULE setval INPUT.
SET CURSOR FIELD bsik-bldat .
ENDMODULE. " SETVAL INPUT
&----
*& Module STATUS_0102 OUTPUT
&----
text
----
MODULE status_0102 OUTPUT.
IF count = 0.
PERFORM buildlistbox.
PERFORM builddestlistbox.
PERFORM buildgendlistbox.
PERFORM buildclasslistbox.
ENDIF.
count = count + 1.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0102 OUTPUT
2007 Apr 27 12:17 PM
Sorry yar..couldnt go thru all the code coz..its a bit..long n confusing..
any how I think u are populating the screen fields using a work area or u are wrting a select in ur PBO...which is making the refresh to happen...
do one thing..in your PBO
put every thing btw
If Sy-UCOMM <> 'UCOMM of the List box'.
endif.
santhosh
2007 Apr 27 12:12 PM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |