Problem with radiobuttons & inputfields.
Hi All,
I developed one application by using radiobuttons and inputfields.
when i click on radiobutton i can able to enter the value in the corresponding input field. when i click on second radiobutton i can able to enter the value in the corresponding inputfield and the value in the firstinput field is cleared.This is fine and working according to my requirement.
Now my problem is with inputfields.when i click on the firstinputfield directly(i.e with out selecting radiobutton) and entering the value in that field.Then after pressing enter the corresponding radiobutton is activating.
but i want that radiobutton should be activated when i just click on the corresponding inputfield.
How to acheive this.
Is there any posibilty to get event apart from onEnter for inputfield.
i think u got my requirement.
Regards
Sreelakshmi.
Hi Sreelakshmi,
I hope ur requirement is such that the UI should behave in both ways (i.e, Activating the Input Field when the radio button is clicked or vice-versa).
For this u can write the action code in both the UI elements, i.e when radio button is clicked enable the InputField or onEnter Action of the InputField write the code to make the corresponding radio button active.
There is another way which i can suggest u is that, u can disable the Input Field as long as the User doesn't click on the Radiobutton.
Hope this helps u.
Regards,
Poojith M V
Similar Messages
-
Problem with TextInput and RadioButton
Hi,
I've encountered a problem with TextInput and RadioButtons.
I've created some text fields and radio buttons for a
feedback form under a movie _root.feedback.
But for some reason, I can't seem to enter text into the text
field (no blinking cursor), and I can't see the "label" next to my
radio buttons.
Just as a workaround, I tried moving these fields to _root,
and now I can enter text and see the radio button labels.
But to keep my hierarchy clean, I want to use a the
_root.feedback movie for my feedback fields. Any ideas what could
be going wrong? I checked Window -> Component Inspector, and
these textInput fields are enabled.
Stuck.
Thanks.Is the text the same color as the background or do you need
embedded fonts? -
Problem with checkbox in the selection screen
Hi guys,
I have a problem with the check box in the selection screen.When i select a check box then a field in the selection screen should be enabled for entering a value.Again if i unselect the checkbox then the field should be disabled for entering a value.I have written the code in at selection-screen output.
The problem is when i select the check box ,the field is not enabled.But when i press enter after selecting the checkbox then the field is enabled for input.It is the same when i unselect the checkbox,after i press enter only the field is getting disabled.What could be the problem.Any suggestions please?
Thanks.Hi d p
Please try this code . I think this code have some way that you would like.
REPORT zdownload_to_application_server.
TABLES : caufvd, jest.
I N C L U D E P R O G R A M *
*INCLUDE znrpstnd.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t03.
PARAMETERS: p_outb RADIOBUTTON GROUP g1 USER-COMMAND outb DEFAULT 'X' ,
p_inb RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETERS : p_werks LIKE caufvd-werks MODIF ID a. " Plant "OBLIGATORY
SELECT-OPTIONS : s_auart FOR caufvd-auart MODIF ID a, " Order Type
s_aufnr FOR caufvd-aufnr MODIF ID a. " Order number
PARAMETERS: p_path TYPE string DEFAULT 'C:\SchedulerInterface-OutboundTextFile\' MODIF ID a,
p_actual AS CHECKBOX MODIF ID a. " Transfer Actual
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
PARAMETERS : p_werks2 LIKE caufvd-werks MODIF ID b, " Plant "OBLIGATORY
p_path2 TYPE string DEFAULT 'C:\SchedulerInterface-InboundTextFile\' MODIF ID b,
p_path3 TYPE string DEFAULT 'C:\SchedulerInterface-InboundTextFile\' MODIF ID b,
p_sessio TYPE apqi-groupid MODIF ID b. " BDC Session
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
IF p_outb EQ 'X'. " Outbound --> Hide inbound
LOOP AT SCREEN.
"IF screen-name = '%BT02011_BLOCK_1000'.
IF screen-group2 = 'BLK'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'A'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'B'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
"IF screen-name = '%BT01004_BLOCK_1000'.
IF screen-group3 = 'BLK'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'A'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'B'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path2.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = 'C:\SchedulerInterface-InboundTextFile\'
mask = ',Text Files,.txt,All files,.*.'
IMPORTING
filename = p_path2
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path3.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_path = 'C:\SchedulerInterface-InboundTextFile\'
mask = ',Text Files,.txt,All files,.*.'
IMPORTING
filename = p_path3
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
TOP-OF-PAGE.
START-OF-SELECTION.
Regards
Wiboon -
Problem with a Dynpro field (type numc)
hi everybody.
I'm developping a ModulPool application in wich i have 2 RadioButtons with 2 textbox fields.
What i pretend to do is, when the user clicks a radiobutton and strikes Intro, enable the corresponding textbox field and disable the other one.
My code runs fine, but i have a little problem. When I loop the screen table, to set the appropiate value to the 'input' property, in this case, when i try to disable it (input = '0'), I get a zero character in that field. This field has NUMC type, i'm sure this is the problem
'cos i've got no problem with the other field (type char). But i can't solve it.
Anybody's got an idea?
ThanksWhat you are seeing is the normal behavior of a numeric field represented by the SAPgui. This is how all numeric fields are displayed via SAPgui. If you don't want to see the 0, then you just change the field type to CHAR and handle accordingly.
Regards,
Rich Heilman -
Hi Experts,
I'm having a problem with decimal.
I have a alv data grid that can be edited.Once I press enter the value for the decimal fields are changed.
Example: If i input 5.00 in the field then I press enter it converts it to 0.05
And If I input 2.01 in the field it shows an error Too many decimal places(Maximum 0)
DATA INPUT for my internal table:
DATA: BEGIN OF it_data OCCURS 0,
docno LIKE zit_haul_line-docno,
line LIKE zit_haul_line-line,
eqpno LIKE zit_haul_line-eqpno,
rpt LIKE zit_haul_line-rpt,
notrip LIKE zit_haul_line-notrip,
trc LIKE zit_haul_line-trc,
escfee LIKE zit_haul_line-escfee,
tollfee LIKE zit_haul_line-tollfee,
repr LIKE zit_haul_line-repr,
others LIKE zit_haul_line-others,
tba LIKE zit_haul_line-tba,
dik LIKE zit_haul_line-dik,
locorg LIKE zit_haul_line-locorg,
locdes LIKE zit_haul_line-locdes,
END OF it_data.
DATA: wa_data LIKE it_data.
Here is my code in change ALV Change.
FORM data_changed USING ir_data_changed TYPE REF TO cl_alv_changed_data_protocol.
DATA ls_modi TYPE lvc_s_modi.
DATA: ratepertrip LIKE zit_haul_line-rpt,
nooftrip LIKE zit_haul_line-notrip,
lv_value TYPE lvc_value ,
totalrent LIKE zit_haul_line-trc,
escortfee LIKE zit_haul_line-escfee,
tollfee LIKE zit_haul_line-tollfee,
represent LIKE zit_haul_line-repr,
others LIKE zit_haul_line-others,
lv_value1 TYPE lvc_value,
totalbill LIKE zit_haul_line-tba.
DATA: eqpno LIKE equi-equnr,
gv_equnr LIKE equi-equnr.
* Check each modification:
LOOP AT ir_data_changed->mt_mod_cells INTO ls_modi.
CASE ls_modi-fieldname.
WHEN 'EQPNO'.
CONDENSE ls_modi-value.
SELECT SINGLE equnr
INTO gv_equnr
FROM equi
WHERE equnr EQ ls_modi-value.
IF sy-subrc NE 0.
CALL METHOD ir_data_changed->add_protocol_entry
EXPORTING
i_msgid = '00'
i_msgty = 'E'
i_msgno = '398'
i_msgv1 = 'Equipment Number does not exist:'
i_msgv2 = ls_modi-value
i_msgv3 = ''
i_msgv4 = ''
i_fieldname = ls_modi-fieldname
i_row_id = ls_modi-row_id.
ENDIF.
ENDCASE.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'RPT'
IMPORTING e_value = ratepertrip.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'NOTRIP'
IMPORTING e_value = nooftrip.
CLEAR totalrent.
ls_modi-fieldname = 'TRC'.
IF ratepertrip = ''.
ratepertrip = 1.
ELSEIF nooftrip = ''.
nooftrip = 1.
ENDIF.
totalrent = ratepertrip * nooftrip.
CALL METHOD ir_data_changed->modify_cell
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = ls_modi-fieldname
i_value = totalrent.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'ESCFEE'
IMPORTING e_value = escortfee.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'TOLLFEE'
IMPORTING e_value = tollfee.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'REPR'
IMPORTING e_value = represent.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'OTHERS'
IMPORTING e_value = others.
CLEAR totalbill.
ls_modi-fieldname = 'TBA'.
totalbill = escortfee + tollfee + represent + others.
totalbill = totalrent + totalbill.
CALL METHOD ir_data_changed->modify_cell
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = ls_modi-fieldname
i_value = totalbill.
ENDLOOP.
ENDFORM. "data_changedHi,
Can you check my code. I've tried changing the data types of my internal table and my output is stll same when I press enter.
The output should be 2.00 3.00 5.00 7.00
Also if I enter 12345.00 the output should be 12,345.00.
Thank you so much for the help.
* ALV required data objects.
TYPE-POOLS: sdydo, icon, slis.
DATA: w_title TYPE lvc_title,
w_repid TYPE sy-repid,
w_comm TYPE slis_formname,
w_status TYPE slis_formname,
x_layout TYPE slis_layout_alv,
ls_events TYPE LINE OF slis_t_event,
t_events TYPE slis_t_event,
t_fieldcat TYPE slis_t_fieldcat_alv,
x_sort type LINE OF slis_t_sortinfo_alv,
t_sort TYPE slis_t_sortinfo_alv,
ls_heading TYPE slis_listheader,
t_heading TYPE slis_t_listheader,
ls_fieldcat TYPE slis_fieldcat_alv,
gs_variant LIKE disvariant,
gt_events TYPE slis_t_event,
gs_events TYPE slis_alv_event.
DATA:
wa_layout TYPE slis_layout_alv,
wa_events TYPE slis_alv_event,
wa_sort TYPE slis_sortinfo_alv.
TYPES: BEGIN OF t_header,
line01(555) TYPE c,
line02(555) TYPE c,
END OF t_header.
DATA: is_print TYPE slis_print_alv,
gset TYPE lvc_s_glay,
%runmode TYPE aqlimode.
data: it_sortcat type slis_sortinfo_alv occurs 1.
DATA: gw_header TYPE t_header.
" END OF ALV DATA
"========================================================================================================================
DATA: BEGIN OF it_data OCCURS 0,
docno LIKE zit_haul_line-docno,
line LIKE zit_haul_line-line,
eqpno LIKE zit_haul_line-eqpno,
rpt TYPE p DECIMALS 2, "LIKE zit_haul_line-rpt,
notrip TYPE p DECIMALS 2,
trc TYPE p DECIMALS 2,
escfee TYPE p DECIMALS 2,
tollfee TYPE p DECIMALS 2,
repr TYPE p DECIMALS 2,
others TYPE p DECIMALS 2,
tba TYPE p DECIMALS 2,
dik LIKE zit_haul_line-dik,
locorg LIKE zit_haul_line-locorg,
locdes LIKE zit_haul_line-locdes,
END OF it_data.
DATA: wa_data LIKE it_data.
DATA: it_modified TYPE STANDARD TABLE OF zit_haul_line WITH HEADER LINE.
DATA: wa_modified TYPE STANDARD TABLE OF zit_haul_line WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: r_create RADIOBUTTON GROUP rad1 USER-COMMAND a DEFAULT 'X'.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
PARAMETERS: r_proj RADIOBUTTON GROUP rad2 MODIF ID A.
PARAMETERS: r_cost RADIOBUTTON GROUP rad2 MODIF ID A.
SELECTION-SCREEN END OF BLOCK b2.
PARAMETERS: r_post RADIOBUTTON GROUP rad1.
PARAMETERS: r_rev RADIOBUTTON GROUP rad1.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME.
PARAMETERS: p_docno LIKE mseg-belnr MODIF ID B,
p_post LIKE sy-datum MODIF ID B.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME.
PARAMETERS: p_trand LIKE sy-datum,
p_cost LIKE csks-kostl,
p_proj TYPE string,
p_wbs TYPE string,
p_nwa TYPE string.
SELECTION-SCREEN END OF BLOCK b4.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF r_create = 'X'.
IF screen-group1 = 'A'.
screen-active = 1.
ENDIF.
ELSE.
IF screen-group1 = 'A'.
screen-active = 0.
ENDIF.
ENDIF.
IF r_post = 'X' OR r_rev = 'X'.
IF screen-group1 = 'B'.
screen-active = 1.
ENDIF.
ELSE.
IF screen-group1 = 'B'.
screen-active = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
START-OF-SELECTION.
PERFORM get_data.
PERFORM display_report.
FORM get_data.
it_data-line = '001'.
APPEND it_data.
it_data-line = '002'.
APPEND it_data.
it_data-line = '003'.
APPEND it_data.
it_data-line = '004'.
APPEND it_data.
it_data-line = '005'.
APPEND it_data.
it_data-line = '006'.
APPEND it_data.
it_data-line = '007'.
APPEND it_data.
it_data-line = '008'.
APPEND it_data.
it_data-line = '009'.
APPEND it_data.
it_data-line = '010'.
APPEND it_data.
ENDFORM.
"ALV DISPLAY ====================================================================================================================================
"& Form PF_WRITE_FIELDCAT
*& Form pf_write_fieldcat
* text
* -->FNAME text
* -->TNAME text
* -->TEXT text
* -->LEN text
FORM pf_write_fieldcat USING fname
tname
text
len
edt.
* key
* sum.
ls_fieldcat-fieldname = fname.
ls_fieldcat-tabname = tname.
ls_fieldcat-seltext_l = text.
ls_fieldcat-outputlen = len.
* ls_fieldcat-key = key.
* ls_fieldcat-do_sum = sum.
ls_fieldcat-edit = edt.
IF len = '0'.
ls_fieldcat-outputlen = '1'.
ls_fieldcat-no_out = 'X'.
ENDIF.
APPEND ls_fieldcat TO t_fieldcat.
CLEAR ls_fieldcat.
* To set ENTER Event!
gs_events-name = 'CALLER_EXIT'.
gs_events-form = 'CALLER_EXIT'.
APPEND gs_events TO gt_events.
* To change the ALV Changed Protocoll
gs_events-name = 'DATA_CHANGED'.
gs_events-form = 'DATA_CHANGED'.
APPEND gs_events TO gt_events.
ENDFORM. " PF_WRITE_FIELDCAT
*& Form display_report
FORM display_report.
is_print-no_print_selinfos = 'X'.
is_print-no_print_listinfos = 'X'.
is_print-print_ctrl = 'X'.
PERFORM pf_write_fieldcat USING:
* 'DOCNO' 'IT_DATA' 'Line' ' ' '',
'LINE' 'IT_DATA' 'Line' ' ' '',
'EQPNO' 'IT_DATA' 'Equipment No.' ' ' 'X',
'RPT' 'IT_DATA' 'Rate per Trip' ' ' 'X',
'NOTRIP' 'IT_DATA' 'No of Trip' ' ' 'X',
'TRC' 'IT_DATA' 'Total Rental Charges' ' ' '',
'ESCFEE' 'IT_DATA' 'Escort Fee' ' ' 'X',
'TOLLFEE' 'IT_DATA' 'Toll Fee' ' ' 'X',
'REPR' 'IT_DATA' 'Representation' ' ' 'X',
'OTHERS' 'IT_DATA' 'Others' ' ' 'X',
'TBA' 'IT_DATA' 'Total Billable Amount' ' ' '',
'DIK' 'IT_DATA' 'Distance in KM' ' ' 'X',
'LOCORG' 'IT_DATA' 'Location Origin' ' ' 'X',
'LOCDES' 'IT_DATA' 'Location Destination' ' ' 'X'.
* Layout
x_layout-zebra = 'X'.
x_layout-no_keyfix = ' '.
x_layout-colwidth_optimize = 'X'.
* GUI Status
w_status = 'SET_PF_STATUS'.
w_repid = sy-repid.
* User commands
w_comm = 'USER_COMMAND'.
* gs_variant-variant = p_var1.
* gs_variant-handle = space.
* gs_variant-report = sy-repid.
gs_variant-report = sy-repid.
gs_variant-username = sy-uname.
gset-no_colwopt = 'X'.
* Displays the ALV grid
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = t_fieldcat
is_layout = x_layout
"it_sort = t_sort
it_sort = it_sortcat
* i_callback_pf_status_set = w_status
"i_callback_user_command = w_comm
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
* i_callback_html_top_of_page = 'TOP_OF_PAGE'
i_callback_top_of_page = 'TOP-OF-PAGE'
* i_callback_html_end_of_list = 'END-OF-PAGE'
is_variant = gs_variant
i_save = 'A'
is_print = is_print
it_events = gt_events
* i_grid_title = w_title
TABLES
t_outtab = IT_DATA
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " display_report
FORM data_changed USING ir_data_changed TYPE REF TO cl_alv_changed_data_protocol.
DATA ls_modi TYPE lvc_s_modi.
DATA: ratepertrip LIKE zit_haul_line-rpt,
nooftrip LIKE zit_haul_line-notrip,
lv_value TYPE lvc_value ,
totalrent LIKE zit_haul_line-trc,
escortfee LIKE zit_haul_line-escfee,
tollfee LIKE zit_haul_line-tollfee,
represent LIKE zit_haul_line-repr,
others LIKE zit_haul_line-others,
lv_value1 TYPE lvc_value,
totalbill LIKE zit_haul_line-tba.
DATA: eqpno LIKE equi-equnr,
gv_equnr LIKE equi-equnr.
* Check each modification:
LOOP AT ir_data_changed->mt_mod_cells INTO ls_modi.
CASE ls_modi-fieldname.
WHEN 'EQPNO'.
CONDENSE ls_modi-value.
SELECT SINGLE equnr
INTO gv_equnr
FROM equi
WHERE equnr EQ ls_modi-value.
IF sy-subrc NE 0.
CALL METHOD ir_data_changed->add_protocol_entry
EXPORTING
i_msgid = '00'
i_msgty = 'E'
i_msgno = '398'
i_msgv1 = 'Equipment Number does not exist:'
i_msgv2 = ls_modi-value
i_msgv3 = ''
i_msgv4 = ''
i_fieldname = ls_modi-fieldname
i_row_id = ls_modi-row_id.
ENDIF.
ENDCASE.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'RPT'
IMPORTING e_value = ratepertrip.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'NOTRIP'
IMPORTING e_value = nooftrip.
CLEAR totalrent.
ls_modi-fieldname = 'TRC'.
IF ratepertrip = ''.
ratepertrip = 1.
ELSEIF nooftrip = ''.
nooftrip = 1.
ENDIF.
totalrent = ratepertrip * nooftrip.
CALL METHOD ir_data_changed->modify_cell
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = ls_modi-fieldname
i_value = totalrent.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'ESCFEE'
IMPORTING e_value = escortfee.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'TOLLFEE'
IMPORTING e_value = tollfee.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'REPR'
IMPORTING e_value = represent.
CALL METHOD ir_data_changed->get_cell_value
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = 'OTHERS'
IMPORTING e_value = others.
CLEAR totalbill.
ls_modi-fieldname = 'TBA'.
totalbill = escortfee + tollfee + represent + others.
totalbill = totalrent + totalbill.
CALL METHOD ir_data_changed->modify_cell
EXPORTING i_row_id = ls_modi-row_id
i_fieldname = ls_modi-fieldname
i_value = totalbill.
ENDLOOP.
ENDFORM. "data_changed
FORM caller_exit USING is_data TYPE slis_data_caller_exit.
* Switch to OO_ALV:
DATA: lr_alv TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lr_alv.
* Register ENTER as edit event:
CALL METHOD lr_alv->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
* pls. use MC_EVT_MODIFIED if leaving the cell should trigger the edit event!
ENDFORM. "CALLER_EXIT
*& Form TOP-OF-PAGE
* text
FORM top-of-page.
*ALV Header declarations
DATA: t_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader,
t_line LIKE wa_header-info,
ld_lines TYPE i,
ld_linesc(10) TYPE c.
DATA: text TYPE sdydo_text_element,
a_right TYPE REF TO cl_dd_area.
DATA: tran TYPE string,
send TYPE string,
wbs TYPE string,
nwa TYPE string.
text = 'Create Hauling Charges for Project'.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO t_header.
CLEAR: wa_header.
gw_header-line01 = text.
CONCATENATE 'Transaction Date: ' p_trand INTO tran SEPARATED BY space.
text = tran.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO t_header.
CLEAR: wa_header.
gw_header-line01 = text.
CONCATENATE 'Sender Cost Center: ' p_cost INTO send SEPARATED BY space.
text = send.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO t_header.
CLEAR: wa_header.
gw_header-line01 = text.
CONCATENATE 'Receiver WBS: ' p_wbs INTO wbs SEPARATED BY space.
text = wbs.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO t_header.
CLEAR: wa_header.
gw_header-line01 = text.
CONCATENATE 'Receiver Network and NWA: ' p_nwa INTO nwa SEPARATED BY space.
text = nwa.
wa_header-typ = 'S'.
wa_header-info = text.
APPEND wa_header TO t_header.
CLEAR: wa_header.
gw_header-line01 = text.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = t_header.
ENDFORM. "top-of-page
FORM pf_set_top_page_heading USING typ
key
info.
ls_heading-typ = typ.
ls_heading-key = key.
ls_heading-info = info.
APPEND ls_heading TO t_heading.
ENDFORM. " PF_SET_TOP_PAGE_HEADING
*& Form PF_SET_TOP_PAGE_EVENTS
FORM pf_set_top_page_events USING name
form.
ls_events-name = name.
ls_events-form = form.
APPEND ls_events TO t_events.
CLEAR ls_events.
ENDFORM. " PF_SET_TOP_PAGE_EVENTS
*& Form REUSE_ALV_GET_VARIANT
FORM reuse_alv_get_variant
USING value(iv_repid) TYPE sy-repid
value(iv_handle) TYPE slis_handl
CHANGING iv_variant TYPE disvariant-variant.
DATA: lv_exit(1) TYPE c,
ls_variant TYPE disvariant. " Structure for Variant
MOVE: iv_variant TO ls_variant-variant,
iv_handle TO ls_variant-handle,
iv_repid TO ls_variant-report.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = ls_variant
i_save = 'A'
IMPORTING
e_exit = lv_exit
es_variant = ls_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.
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 lv_exit = space.
MOVE ls_variant-variant TO iv_variant.
ENDIF.
ENDFORM. " REUSE_ALV_GET_VARIANT "
FORM user_command USING w_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE w_ucomm.
WHEN '&DATA_SAVE'.
* READ TABLE it_data INTO wa_data." INDEX rs_selfield-tabindex.
DELETE it_data WHERE eqpno IS INITIAL.
LOOP AT it_data INTO wa_data.
CONDENSE wa_data-eqpno.
MOVE-CORRESPONDING wa_data TO wa_modified.
APPEND wa_modified TO it_modified.
ENDLOOP.
MODIFY zit_haul_line FROM TABLE it_modified.
ENDCASE.
ENDFORM. "user_command -
Problem with JRadioButtons....
hi,
we were dealing with a grup of buttons added on a JFrame,
the problem is,when i choose any of the buttons and click the Submit button,the action is supposed to open a file and write the numeber of times its pressed.i wass using hthe ItemListener() for the RadioButtons and ActionListener for the Submit button,and here is the code.....
private JRadioButton bg[]=new JRadioButton[bgOptions];
private String bglabels[]={"A","B","c","d"};
private JButton Submit=new JButton("SUBMIT");
private JPanel lpanel=new JPanel();
lpanel.add(Submit);
Submit.addActionListener(this);
public void initBGgroup()
bgpanel.setBackground(Color.white);
bgpanel.setLayout(new BoxLayout(bgpanel,BoxLayout.Y_AXIS));
for (int k = 0;k < 5;k++)
bg[k]=new JRadioButton(bglabels[k]);
bg[k].addItemListener(this);
bgpanel.add(bg[k]);
optGroup2.add(bg[k]);
bgpanel.setBorder(BorderFactory.createTitledBorder("ButtonGroup"));
public void itemStateChanged(ItemEvent e)
if(e.getStateChange()==ItemEvent.SELECTED)
JRadioButton b = (JRadioButton)e.getSource();
try{
String ss=b.getText();
System.out.println(ss);
if (ss=="A")
DataOutputStream aps=new DataOutputStream(new FileOutputStream("ap"));
DataInputStream aps1=new DataInputStream(new FileInputStream("ap"));
Integer ap12=new Integer(aps1.readInt());
System.out.println(ap12);
int ap1=ap12.intValue();
int apto=ap1+1;
System.out.println(apto);
aps.writeInt(apto);
aps.close();
aps1.close();
else if (ss=="B")
DataOutputStream ans=new DataOutputStream(new FileOutputStream("an"));
DataInputStream ans1=new DataInputStream(new FileInputStream("an"));
Integer an12=new Integer(ans1.readInt());
int an1=an12.intValue();
int anto=an1+1;
ans.writeInt(anto);
ans.close();
ans1.close();
else if (ss=="C")
DataOutputStream bps=new DataOutputStream(new FileOutputStream("bp"));
DataInputStream bps1=new DataInputStream(new FileInputStream("bp"));
Integer bp12=new Integer(bps1.readInt());
int bp1=bp12.intValue();
int bpto=bp1+1;
bps.writeInt(bpto);
bps.close();
bps1.close();
else if (ss=="D")
DataOutputStream bns=new DataOutputStream(new FileOutputStream("bn"));
DataInputStream bns1=new DataInputStream(new FileInputStream("bn"));
Integer bn12=new Integer(bns1.readInt());
int bn1=bn12.intValue();
int bnto=bn1+1;
bns.writeInt(bnto);
bns.close();
bns1.close();
catch(Exception e1)
e1.printStackTrace();
public void actionPerformed(ActionEvent e)
Object obj=e.getSource();
if (obj==Submit)
//apf,anf,bpf,bnf are the textfileds in which the totals r displayed
read1("ap",apf);
read1("an",anf);
read1("bp",bpf);
read1("bn",bnf);
public void read1(String st2,JTextField st3)
try{
DataInputStream tfdis = new DataInputStream(new FileInputStream(st2));
int atot=tfdis.readInt();
Integer alltot = new Integer(atot);
String display = alltot.toString();
st3.setText(display);
is thsi the way to handle,i was getting problem with butoon when i click them...please advice...Thanks for the Sugestion..but the problem is with the ItemListener
it is giving errors at runtime,without going to the submit button
when i select a button...don't know why?i even changed the ss=="a" to (ss.equals(a))but no luck.... -
0CUSTOMER_TEXT - problem with the cyrillic (ukrainian) characters
Hello,
Within the framework of Ukrain deployment, I try to extract customer texts (0CUSTOMER_TEXT) and I meet a problem with the cyrillic (ukrainian) characters. All of them are replaced by a '#' (into the table /BI0/TCUSTOMER & into the PSA too).
From SAP marketplace source, customer text comes from KNA1-NAME1.
The funniest thing is that the cyrillic (ukrainian) characters extracted by 0CUSTOMER_ATTR are accurately uploaded and specially 0NAME attribute filled by the same r/3 field KNA1-NAME1.
FYI: I checked the configuration of RFC connections and for all of ABAP connections have the radiobutton UNICODE selected.
Could someone help me?
Thanks in advance,
SamuelHi
What texts will you get by using T-code: RSA3 in your source system?
Yaniv -
Problems with F4 Value Help in NW2004s Portal
Hello,
we are having some troubles with the F4 ValueHelp Extension from the Advanced BSP Programming book (and the blogs of course).
We've implemented the solution on a 4.7 backend and portal 6.0. No problems there, everything was working fine.
We now moved to erp2005 (WebAS 700) and NW2004s Portal (7.0).
The popup shows and I can select entries from the list. But when clicking the ok icon a javascript error is thrown stating that 'parent.document.getElementById(...)' is null or no object.
I think the problem is, that by making a call to 'parent' we are searching in the portal frame and not the BSP. There (in the portal frame) the element is not known so the error is thrown.
I allready changed from the dialog_ie6.js provided on the BookCD to the one delivered by SAP. Did nothing regarding the error.
I also tried changing ZCL_BSP_M_INPUT_HELP->BUILD_ACCEPT_SELECTION_SCRIPT. I changed all the "parent.document.get..." "to document.get...". The error message was still the same, 'parent.document.getElementById(...)' is null or no object.
So now I'm kind of stuck. If I try the example outside the portal everything works as expected. So this clearly seems to be a problem with the portal integration. All involved BSP-Apps are marked as "supports portal integration".
Any ideas on this topic?
Thanks and kind regards,
Alexander SperlingI have a working solution to the problem. It isn't the nicest solution because it will probably require some modifications to the application that hosts the value help, but we will get to that in a second.
I tried many different ways to come up with a solution that would still work via JavaScript. The portal is now loading the popup javascript in the master frame. It registers event handlers so that if any application triggers a popup internally it "hi-jacks" the event. So regardless of what I change in the BSP javascript library, it gets overriden by the portal one. The portal also now even enforeces its theme on the inner page in the popup. Truly the portal takes complete control over the inner html of the popup.
To make things worse the popop has not path to reach the source that triggered it. The source objects are tracked in the javascript, but because the master frame takes over; the popup window only has access and visibility to the master frame and the navigation frame. In essence in the DOM it is now higher in the stack than the object that actually triggered it.
Web Dynpro gets around this because it doesn't use any client side mechanisms to communicate it results back to the source frame. Web Dynpro has the luxury of always being stateful and therefore can make certain assumptions that would never work in BSP. The hi-jacking is an excellent solution for Web Dynpro. The portal can then override the functionality of Web Dynpro - providing the new functionality of floating the dialog box over the entire portal - without having to make any changes to the Web Dynpro Framework. However they never had our little BSP solution in bind obviously.
It might be possible to completely rewrite the popup_ie.js and popup_ns.js to use all different event, method and variable names. This separate version could then provide complete separation from the portal script. However this is just a theory. I'm afraid that I wouldn't have the bandwidth to rewrite the entire script right now so I focused on a quicker solution.
The only approach that I could come up was to follow the Web Dynpro approach and return to the server with the value. To do that I used Portal Eventing. Portal Eventing allows us to pass a value to the source frame regaurdless of our relative positions in the DOM.
In my inner BSP application for the value help (ZES_VALUEHELP), I made the following change in the model method BUILD_ACCEPT_SEL_SCRIPT_V2. At line 141 I changed the logic. Instead of using JavaScript to write the selected value back into the source element, we will just trigger a Portal Event:
****With an InputField we write the contents directly back into the element
ELSE.
CONCATENATE me->js_close1
`portalFireEvent('com.sap','`
me->element_id
`',"`
key
`");`
INTO me->js_close1.
EXIT.
The other change is within the Element handler class for inputHelpV2 - ZCL_ES_BSP_ELMNT_INPUT_HELP_V2. We need to register the listener for the Portal Event. Therefore in DO_AT_BEGINNING we will add the follwing at line 23 (right after we place the Element Id into the URL Parameters Table.
data: portal_event type ref to cl_portal_event.
portal_event = cl_portal_event=>factory(
name = <wa_params>-value
namespace = 'com.sap' ).
while m_page_context->element_process( element = portal_event ) = co_element_continue.
endwhile. "End portalEvent Render
Overally using the portal eventing actually is an intersting approach. There is only one drawback, now we have a server side event. That being the case, our application now needs some event logic to process this event and populate the value. Depending upon if you are using MVC, Data Binding, or Flow Logic this could vary - and would have to handled by each application. The nice thing about the old approach was that it all happened via JavaScript on the Frontend and didn't require the application programmer to do anything - that was obviously its weakness as well. -
Problem with badi MB_DOCUMENT_BADI
Hi experts
i have a problem with the badi, MB_DOCUMENT_BADI this is i am using for MIGO transaction
my requirement is i need to call MR22 transaction in this badi but as this badi is calling in up date task i cann't use the call transaction statement and there is no BAPI available for MR22 transaction so could you please tell me is there any any way to process the session automatically after creating the session for MR22 transaction.
it would be great help for me
thanks in advanceLets the FM created is Z_Call_transaction_data. ( Make this FM as RFC enabled by selecting radiobutton Remote- Enabled Module in Attributes of the FM)
Call this FM in ur BADiI Method as :
Call function 'Z_Call_transaction_data.' starting new task 'TASK1'.
Import ...
Export...
You can ginve any name to this task.
If you want to debug it , execute ur code and when control reaches to FM , press F5 a new session will be opened .
Starting new task starts the code in new LUW. -
Performance Problem with the Scenebuilder
Hi,
i have a very annoying problem with the scenebuilder. When I'm working with the scenebuilder it takes about 5-6 Minutes till it crashes. First everything is fine, and nothing 'laggs' and slows down. But then, from Minute to Minute it seems like it's getting worse. After about 6 minutes the Scenebuilder shows absolutely no response, so i have to shut it down violently. When this happens my Computer perfomance is very bad, my mouse is moving very slow and you can't open other windows, because the CPU Usage is about 100%. I don't think it has something todo with any of my programs or the memory. Is this a known bug in the scene builder? Downloaded the beta version 1.1, nothing changed, same problem. Even if i quit the scenebuilder, it takes the computer 1-2 minutes to 'calm down', but then everything works fine, i can start the scenebuilder again and work with it, until the described situation starts again.
Has anyone ever experienced same or similar problems?
I'm using Windows XP
NVIDIA GeForce 6600
Duo Core Intel pentium 4 cpu 3.00GHz
and 4GB Ram (3 Usable)
Thanks,
Regards-dabHi guys, thank you for your help.
I've found the jvisualvm, but i've never worked with it before, so its kinda hard for me to get correctly started with it.
Yves,
Product Version
JavaFX Scene Builder 1.1 (Developer Preview)
Build Information
Version: 1.1-b07, Changeset: efd98fc8de3f
Date: 2012-09-27 09:11
JavaFX
Toolkit = QuantumToolkit
Pipeline = D3DPipeline
Hardware acceleration ENABLED
Operating System
Windows XP, x86, 5.1
Java Version
1.7.0_06, Oracle Corporation, 1.7.0_06-b24
I'm using a mouse.
Specific? Not that I know of! What do you exactly mean? I can give you some snippets of my files, that may be relevant.
File 1:
@FXML
private CheckBox radarCheckBox;
@FXML
private CheckBox dataFeederCheckBox;
@FXML
private CheckBox view2CheckBox;
@FXML
private CheckBox labelsCheckBox;
@FXML
private Button quitButton;
@FXML
private Slider rangeSlider;
@FXML
private Slider lowerHeightSlider;
@FXML
private Slider upperHeightSlider;
@FXML
private ChoiceBox speedVectorChoiceBox;
@FXML
private ChoiceBox numberOfHistoriePoints;
@FXML
private RadioButton radioZero;
@FXML
private RadioButton radioFünf;
@FXML
private RadioButton radioZehn;
@FXML
private RadioButton radioFünfzehn;
@FXML
private RadioButton radioZwanzig;
@FXML
private RadioButton radioFünfzwanzig;File 2:
@FXML
private Button tracksCloseButton;
@FXML
private Button tracksStopButton;
@FXML
private Button tracksPauseButton;
@FXML
private TextField tracksTextField;file 3:
@FXML
private TextField oneTrackTextField;
@FXML
private Button getTrackBtn;
@FXML
private CheckBox followCheckBox;Thanks for your help! :-) -
Hi there,
i've got a little problem with my ALV header. every time when i run my program and want to go back to the selection screen with the BACK-button i see my header again. so i've got to push the BACK-button again to get to the selection screen.
here's my alv-code
FORM TOP_OF_PAGE.
REFRESH header_itab[].
CLEAR wa_header.
wa_header-typ = 'H'.
* wa_header-key = 'ausw1'.
wa_header-info = text-001.
APPEND wa_header TO header_itab.
CLEAR wa_header.
IF radio1 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton1'.
wa_header-info = text-002.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSEIF radio2 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton2'.
wa_header-info = text-003.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSEIF radio3 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton3'.
wa_header-info = text-004.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSEIF radio4 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton4'.
wa_header-info = text-005.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSE.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton5'.
wa_header-info = text-006.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ENDIF.
wa_header-typ = 'S'.
wa_header-key = 'Benutzer:'.
wa_header-info = sy-uname.
APPEND wa_header TO header_itab.
CLEAR wa_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = header_itab.
ENDFORM.
* FORM alv_füllen *
FORM alv_fuellen .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = my_repid
i_callback_top_of_page = 'TOP_OF_PAGE'
* i_grid_title = my_title
it_fieldcat = feldkatalog_itab
is_layout = gs_layout
* it_events = event_itab
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
* FORM layout_allg_build *
FORM layout_allg_build.
gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
ENDFORM.
hope someone can help me.
regards tobiashi,
i tried some of your ideas but none helped my.
so here's my complete code
maybe this is helpful.
*& Report z_cd_tool_awdimaiob
REPORT z_cd_tool_awdimaiob.
* G L O B A L I N T E R N A L T A B L E S
DATA: BEGIN OF itab OCCURS 100,
status TYPE dimaiobpar-zstatus,
rtyp TYPE dimaiobpar-zrtyp,
zahlweg TYPE dimaiobpar-ezawe_x,
a_status TYPE i,
a_rtyp TYPE i,
a_partner TYPE i,
a_vertraege TYPE i,
END OF itab .
* G L O B A L D A T A
DATA: ok_code LIKE sy-ucomm,
wa_test_tab LIKE dimaiobpar,
my_title TYPE lvc_title,
my_repid LIKE sy-repid.
TYPE-POOLS: slis.
DATA: feldkatalog_itab TYPE slis_t_fieldcat_alv,
wa_feldkatalog TYPE slis_fieldcat_alv,
event_itab TYPE slis_t_event,
header_itab TYPE slis_t_listheader,
gs_layout TYPE slis_layout_alv,
alv_event TYPE slis_alv_event,
wa_header TYPE slis_listheader.
DATA: t_tab LIKE dimaiobpar.
*selection-screen
SELECTION-SCREEN: SKIP, BEGIN OF BLOCK test WITH FRAME TITLE text-010.
SELECT-OPTIONS: partner FOR t_tab-partner,
astatus FOR t_tab-zstatus.
SELECTION-SCREEN END OF BLOCK test.
*Radiobutton
SELECTION-SCREEN: SKIP, BEGIN OF BLOCK test2 WITH FRAME TITLE text-020.
PARAMETERS: radio1 RADIOBUTTON GROUP test DEFAULT 'X',
radio2 RADIOBUTTON GROUP test,
radio3 RADIOBUTTON GROUP test,
radio4 RADIOBUTTON GROUP test,
radio5 RADIOBUTTON GROUP test.
SELECTION-SCREEN END OF BLOCK test2.
* S T A R T - O F - S E L E C T I O N.
START-OF-SELECTION.
* Select-Abfrage
PERFORM select_data.
*END-OF-SELECTION.
* Feldkatalog fuellen.
PERFORM feldkatalog_fuellen .
* Feldkatalog übergeben
PERFORM alv_feldkatalog.
* ALV-Event
perform alv_event.
* Layout bestimmen.
PERFORM layout_allg_build.
* header aufbau
PERFORM top_of_page.
SORT itab.
my_title = 'Auswertung Dimaiobpar'.
my_repid = sy-repid.
PERFORM exit_program.
END-OF-SELECTION.
* ALV mit daten füllen
PERFORM alv_fuellen.
* FORM alv_event *
FORM alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = event_itab.
READ TABLE event_itab
WITH KEY name = 'TOP_OF_PAGE'
INTO alv_event.
IF sy-subrc EQ 0.
MOVE 'TOP_OF_PAGE' TO alv_event-form.
APPEND alv_event TO event_itab.
ENDIF.
ENDFORM.
* FORM alv_feldkatalog *
FORM alv_feldkatalog.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = my_repid
i_internal_tabname = 'ITAB'
i_inclname = my_repid
* i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = feldkatalog_itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
* FORM header *
FORM top_of_page.
CLEAR wa_header.
wa_header-typ = 'H'.
* wa_header-key = 'ausw1'.
wa_header-info = text-001.
APPEND wa_header TO header_itab.
CLEAR wa_header.
IF radio1 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton1'.
wa_header-info = text-002.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSEIF radio2 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton2'.
wa_header-info = text-003.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSEIF radio3 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton3'.
wa_header-info = text-004.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSEIF radio4 = 'X'.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton4'.
wa_header-info = text-005.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ELSE.
wa_header-typ = 'S'.
wa_header-key = 'Radiobutton5'.
wa_header-info = text-006.
APPEND wa_header TO header_itab.
CLEAR wa_header.
ENDIF.
wa_header-typ = 'S'.
wa_header-key = 'Benutzer:'.
wa_header-info = sy-uname.
APPEND wa_header TO header_itab.
CLEAR wa_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = header_itab.
REFRESH header_itab.
ENDFORM.
* FORM alv_füllen *
FORM alv_fuellen .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = my_repid
i_callback_top_of_page = 'TOP_OF_PAGE'
* i_grid_title = my_title
it_fieldcat = feldkatalog_itab[]
is_layout = gs_layout
* it_events = event_itab
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
* FORM layout_allg_build *
FORM layout_allg_build.
gs_layout-zebra = 'X'.
gs_layout-colwidth_optimize = 'X'.
ENDFORM.
* FORM feldkatalog_fuellen *
FORM feldkatalog_fuellen.
*Feldkatalog erstellen/füllen mit hilfe der if-schleife anhand des
*gewählten Radiobuttons
IF radio1 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'STATUS'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'RTYP'.
wa_feldkatalog-seltext_m = 'Rechungstyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'A_RTYP'.
wa_feldkatalog-seltext_m = 'Anzahl Rechungstyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio2 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'RTYP'.
wa_feldkatalog-seltext_m = 'Rechungstyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'A_STATUS'.
wa_feldkatalog-seltext_m = 'Anzahl Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio3 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'STATUS'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'RTYP'.
wa_feldkatalog-seltext_m = 'Rechungstyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'A_VERTRAEGE'.
wa_feldkatalog-seltext_m = 'Anzahl Verträge'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio4 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'STATUS'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'RTYP'.
wa_feldkatalog-seltext_m = 'Rechungstyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'A_PARTNER'.
wa_feldkatalog-seltext_m = 'Anzahl GPartner'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSE.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'STATUS'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'RTYP'.
wa_feldkatalog-seltext_m = 'Rechungstyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'ZAHLWEG'.
wa_feldkatalog-seltext_m = 'Zahlweg'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'A_PARTNER'.
wa_feldkatalog-seltext_m = 'Anzahl GPartner'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ENDIF.
ENDFORM.
* FORM select_data *
FORM select_data.
*select-abfrage mit hilfe der if-schleife, analog zum Feldkatalog
IF radio1 = 'X'.
* Radiobutton1: Rechungstypen je Satus
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT zrtyp ) AS a_rtyp
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus.
APPEND itab.
ENDSELECT.
ELSEIF radio2 = 'X'.
* Radiobutton2: Status je Rechungstyp.
SELECT
zrtyp AS rtyp
COUNT( DISTINCT zstatus ) AS a_status
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZRTYP
ORDER BY zrtyp.
APPEND itab.
ENDSELECT.
ELSEIF radio3 = 'X'.
* Radiobutton3: Anzahl Verträge je Status und Rtyp.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT insobject ) AS a_vertraege
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus.
APPEND itab.
ENDSELECT.
ELSEIF radio4 ='X'.
* Radiobutton4: Anzahl GPartner je Status und RTyp.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT partner ) AS a_partner
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus zrtyp.
APPEND itab.
ENDSELECT.
ELSE.
* Radiobutton5: Anzahl Kunden nach Zahlweg.
SELECT
zstatus AS status
zrtyp AS rtyp
ezawe_x AS zahlweg
COUNT( DISTINCT partner ) AS a_partner
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus AND
ezawe_x IN ('E', 'F', space)
GROUP BY ZSTATUS zrtyp EZAWE_X
ORDER BY zstatus zrtyp.
APPEND itab.
ENDSELECT.
ENDIF.
ENDFORM.
* FORM EXIT_PROGRAM *
FORM exit_program.
IF sy-ucomm = 'BACK' OR
sy-ucomm = 'EXIT' OR
sy-ucomm = 'CANCEL'.
LEAVE PROGRAM.
endif.
ENDFORM. -
hello all,
i've got a little problem with the output of an internal table with the ALV Grid.
i have made the declaration of my internal table (itab) with DATA: Begin of itab... and i have build my own fieldcatalog.
the output of the fieldcatalog is correct but i don't get the results of my itab shown.
it only shows me the numbers of lines in my itab but not the content.
for this im using 'REUSE_ALV_FIELDCATALOG_MERGE' and 'REUSE_ALV_GRID_DISPLAY'
*ALV-Grid
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'itab'
i_structure_name = 'itab'
i_client_never_display
i_inclname = sy-repid
CHANGING
ct_fieldcat = feldkatalog_itab
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
*ALV call
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = feldkatalog_itab
i_structure_name = 'itab'
it_events = event_itab
TABLES
t_outtab = itab[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
when i debug my programm the lines of the itab are filled.
thanks and regards
Ayse
REPORT z_test_auswertung.
G L O B A L I N T E R N A L T A B L E S
DATA: BEGIN OF itab OCCURS 100,
status TYPE dimaiobpar-zstatus,
rtyp TYPE dimaiobpar-zrtyp,
zahlweg TYPE dimaiobpar-ezawe_x,
a_status TYPE i,
a_rtyp TYPE i,
a_partner TYPE i,
a_vertraege TYPE i,
END OF itab .
G L O B A L D A T A
DATA: ok_code LIKE sy-ucomm,
wa_test_tab LIKE dimaiobpar,
my_title TYPE lvc_title.
TYPE-POOLS: slis.
DATA: feldkatalog_itab TYPE slis_t_fieldcat_alv,
wa_feldkatalog TYPE slis_fieldcat_alv,
event_itab TYPE slis_t_event,
header_itab TYPE slis_t_listheader,
wa_header TYPE slis_listheader.
DATA:
mycontainer TYPE scrfname VALUE 'BCALV_VARIANTS_0100_C1',
my_grid TYPE REF TO cl_gui_alv_grid,
my_custom_container TYPE REF TO cl_gui_custom_container.
DATA: t_tab LIKE dimaiobpar.
*selection-screen
SELECTION-SCREEN: SKIP, BEGIN OF BLOCK test WITH FRAME TITLE text-010.
SELECT-OPTIONS: partner FOR t_tab-partner,
astatus FOR t_tab-zstatus.
SELECTION-SCREEN END OF BLOCK test.
*Radiobutton
SELECTION-SCREEN: SKIP, BEGIN OF BLOCK test2 WITH FRAME TITLE text-020.
PARAMETERS: radio1 RADIOBUTTON GROUP test DEFAULT 'X',
radio2 RADIOBUTTON GROUP test,
radio3 RADIOBUTTON GROUP test,
radio4 RADIOBUTTON GROUP test,
rafio5 RADIOBUTTON GROUP test.
SELECTION-SCREEN END OF BLOCK test2.
S T A R T - O F - S E L E C T I O N.
START-OF-SELECTION.
PERFORM select_data.
CALL SCREEN 100.
DATA ttab LIKE itab.
MOVE itab TO ttab.
Feldkatalog fuellen.
PERFORM feldkatalog_fuellen .
Feldkatalog übergeben
PERFORM alv_feldkatalog.
ALV mit daten füllen
PERFORM alv_füllen.
END-OF-SELECTION.
SORT itab.
my_title = 'Auswertung Dimaiobpar'.
PERFORM exit_program.
FORM alv_feldkatalog *
FORM alv_feldkatalog.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ITAB[]'
i_structure_name = 'TTAB'
i_client_never_display
i_inclname = 'ITAB[]'
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = FELDKATALOG_ITAB
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
FORM alv_füllen *
FORM alv_füllen .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_grid_title = my_title
it_fieldcat = FELDKATALOG_ITAB
i_structure_name = 'ITAB'
it_events = event_itab
TABLES
t_outtab = itab
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
FORM EXIT_PROGRAM *
FORM exit_program.
CALL METHOD G_CUSTOM_CONTAINER->FREE.
CALL METHOD CL_GUI_CFW=>FLUSH.
LEAVE PROGRAM.
ENDFORM.
FORM feldkatalog_fuellen *
FORM feldkatalog_fuellen.
IF radio1 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_rtyp'.
wa_feldkatalog-seltext_m = 'Anzahl RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio2 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_status'.
wa_feldkatalog-seltext_m = 'Anzahl Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio3 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_vertraege'.
wa_feldkatalog-seltext_m = 'Anzahl Vertraege'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSEIF radio4 = 'X'.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_gpartner'.
wa_feldkatalog-seltext_m = 'Anzahl GPartner'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ELSE.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'status'.
wa_feldkatalog-seltext_m = 'Status'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'rtyp'.
wa_feldkatalog-seltext_m = 'RTyp'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'zahlweg'.
wa_feldkatalog-seltext_m = 'Zahlweg'.
APPEND wa_feldkatalog TO feldkatalog_itab.
CLEAR wa_feldkatalog.
wa_feldkatalog-fieldname = 'a_gpartner'.
wa_feldkatalog-seltext_m = 'Anzahl GPartner'.
APPEND wa_feldkatalog TO feldkatalog_itab.
ENDIF.
ENDFORM.
FORM select_data *
FORM select_data.
IF radio1 = 'X' .
WRITE / 'Radiobutton1: Rechungstypen je Satus'.
WRITE / 'Status, Rtyp, Anzahl-Rtyp'.
ULINE.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT zrtyp ) AS a_rtyp
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus.
APPEND itab.
WRITE: / itab.
ENDSELECT.
ELSEIF radio2 = 'X'.
WRITE / 'Radiobutton2: Status je Rechungstyp'.
WRITE /.
SELECT
zrtyp AS rtyp
COUNT( DISTINCT zstatus ) AS a_status
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZRTYP
ORDER BY zrtyp.
APPEND itab.
WRITE: / itab-rtyp, itab-a_status.
ENDSELECT.
ELSEIF radio3 = 'X'.
WRITE / 'Radiobutton3: Anzahl Verträge je Status und Rtyp'.
WRITE /.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT insobject ) AS a_vertraege
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus.
APPEND itab.
WRITE: / itab-status, itab-rtyp, itab-a_vertraege.
ENDSELECT.
ELSEIF radio4 ='X'.
WRITE: / 'Radiobutton4: Anzahl GPartner je Status und RTyp'.
WRITE: /.
SELECT
zstatus AS status
zrtyp AS rtyp
COUNT( DISTINCT partner ) AS a_partner
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus
GROUP BY ZSTATUS zrtyp
ORDER BY zstatus zrtyp.
APPEND itab.
WRITE: / itab-status, itab-rtyp, itab-a_partner.
ENDSELECT.
ELSE.
WRITE / 'Radiobutton5: Anzahl Kunden nach Zahlweg'.
WRITE /.
SELECT
zstatus AS status
zrtyp AS rtyp
ezawe_x AS zahlweg
COUNT( DISTINCT partner ) AS a_partner
INTO CORRESPONDING FIELDS OF itab
FROM dimaiobpar
WHERE
insobject LIKE 'V%' AND
partner IN partner AND
zstatus IN astatus AND
ezawe_x IN ('E', 'F', space)
GROUP BY ZSTATUS zrtyp EZAWE_X
ORDER BY zstatus zrtyp.
APPEND itab.
WRITE: / itab-status, itab-rtyp, itab-zahlweg, itab-a_partner
ENDSELECT.
ENDIF.
APPEND itab.
ENDFORM=Hi,
Make itab into capital letters as below
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = feldkatalog_itab
i_structure_name = 'ITAB'
* it_events = event_itab
TABLES
t_outtab = itab[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
<b>Reward for helpful answers</b> -
Javascript problem with Internet Explorer 6
Hi together
I have a problem with IE6 on a JSP page. I want to disable a HTML button calls
'fehlerdetails' if one of radiobutton list has a value "FIID NOK".
This Java script sample below is running with Netscape 7.0 but Internet Explorer get no objects back.
Has everyone a idea how can I read a value from list:
document.GetFailedPostingPositionListW3InBean.checked[i]
with Internet Explorer 6??
HTML Radiobutton (Struts):
<html:radio styleClass="radioButton" name="GetFailedPostingPositionListW3InBean" onclick="checkAccountNr();" property="checked" value="<%= String.valueOf(j) %>">
</html:radio>
HTML Button:
<td><input class='pushbuttonlarge' type="button" value="fehlerdetails" onClick="document.GetFailedPostingPositionListW3InBean.submit();" name="fehlerdetails"/></td>
Javascript:
function checkAccountNr() {
document.GetFailedPostingPositionListW3InBean.fehlerdetails.disabled = false;
var radioButtons = document.GetFailedPostingPositionListW3InBean.checked;
if(document.GetFailedPostingPositionListW3InBean.checked > 0) {
for(i=0; i < radioButtons.length; i++) {
if(radioButtons.checked) {
radioButtonAccountNr = radioButtons[i].AccountNr;
radioButtonFiidText = radioButtons[i].FiidText;
if (radioButtonAccountNr == "ABACUS-NR NOK" || radioButtonFiidText == "FIID NOK") {
document.GetFailedPostingPositionListW3InBean.fehlerdetails.disabled = true;
Thank you very much for you help.
Cheers Robertfirst, this is a Java forum, not Javascript, and aside from the first 4 letters, the two have nothing in common.
Second.. if there's more then 1 radio button named 'GetFailedPostingPositionListW3InBean', this:
var radioButtons = document.GetFailedPostingPositionListW3InBean.checked;
will be an error.
var radioButtons = document.GetFailedPostingPositionListW3InBean;
for(x=0; x < radioButtons.length; x++) {
if(radioButtons[x].checked) {
... check the value and disable
} -
hi , I 'm making a page with radiobutton as search options .
it works very well except one problem.
I choosed radiobutton among one of my radiobutton group.
and click the search button.
then I got searched data that I expect to get .
but... the button I selected was not selected anymore.
instead , the last radio button is selected after clicking search button or refreshing the page.
thanks for your help in advance.
ps. I tried to search threads like my case , haven't found yet.I resolved the problem in different way.
but thanks anyway.
what I did was
put Java code in CO instead of setting in OAF property setup. that works.
I tried to use flowlayout but I havn't figured out how to do it. -
I am trying to implement some kind of a server listening for requests. The listener part of the app, is a daemon thread that listens for connections and instantiates a handling daemon thread once it gets some. However, my problem is that i must be able to kill the listening thread at the user's will (say via a sto button). I have done this via the Sun's proposed way, by testing a boolean flag in the loop, which is set to false when i wish to kill the thread. The problem with this thing is the following...
Once the thread starts excecuting, it will test the flag, find it true and enter the loop. At some point it will LOCK on the server socket waiting for connection. Unless some client actually connects, it will keep on listening indefinatelly whithought ever bothering to check for the flag again (no matter how many times you set the damn thing to false).
My question is this: Is there any real, non-theoretical, applied way to stop thread in java safely?
Thank you in advance,
LeftyThis was one solution from the socket programming forum, have you tried this??
public Thread MyThread extends Thread{
boolean active = true;
public void run(){
ss.setSoTimeout(90);
while (active){
try{
serverSocket = ss.accept();
catch (SocketTimeoutException ste){
// do nothing
// interrupt thread
public void deactivate(){
active = false;
// you gotta sleep for a time longer than the
// accept() timeout to make sure that timeout is finished.
try{
sleep(91);
}catch (InterruptedException ie){
interrupt();
}
Maybe you are looking for
-
TA20637 I have a print job that I can not delete from the queue.
When I try it says "job is completed and can not be deleted from queue" but it seems to be stuck (and keeps reprinting rather than letting me print other documents). What do I do? I tried clearling the printer queue by turning the printer on and off
-
Assign Sales Office to a GL Account and Profit Centre
Where do I assign a Sales Office to a GL Account and Profit Centre.
-
I'm using an older Macromedia Studio 8 DW version. I don't really understand what DW actually does as it is not very functional in terms of layout and design. I've been hand coding HTML and CSS manually and using DW as a very expensive file managemen
-
I can't access router address. "404 not found"
With my Linksys cable modem and wireless router hooked up and running properly, I can't access the router address. I get "File 404 not found" and "The requested URL was not found on this server. " It is the same address as in the Network Preferences
-
Showing date and time not in the big sidebar
in the previous version i could see the date and time in a little window in the left bottom corner (when info was open) in the existing sidebar. i liked that very much. now i can see it only in a very wide sidebar on the right when info is open. i do