Where is implementation of play method Applet
Hi,
Where is specified how an applet plays an AudioClip? I looked at the sources but, in the Applet the play() method refers to the AudioClip it simply says:
public void play(URL url) {
AudioClip clip = getAudioClip(url);
if (clip != null) {
clip.play();
but the AudioClip is an interface so all the methods are not further specified....
How and where is the implementation for this method
(this goes by the way for a lot of the Applet methods, refering back and forth with AppletStub or Context, would someone care to explain this?)
Thanks, I had a look
But it doesnt tell me how these methods are working. I need the code I have to know this because I need to play a sound directly after a key is hit, so on a Key_pressed or TYPED event. But it doesnt play the sound untill the Key is Released. Probably because PC keyboards produce Key pressed and KeyTyped events continiously if the key is held. There for I thought that the play method is coded in such a way that it want a confirmation of key relased first (other wise it would be starting the same clip a couple of times) So I want to copy this code and make a little change to it, or override it or something. Have you got an Idea how to work around this?
Similar Messages
-
Where in the bc4j framework is the real implementation of interface methods
I was going through a ADF for forms and 4 GL developers and came across following code.
package devguide.examples.client;
import oracle.jbo.client.Configuration;
import oracle.jbo.*;
import oracle.jbo.domain.Number;
import oracle.jbo.domain.*;
+public class TestClient {+
+public static void main(String[] args) {+
String amDef = "devguide.examples.UserService";
String config = "UserServiceLocal";
ApplicationModule am =
Configuration.createRootApplicationModule(amDef,config);
ViewObject vo = am.findViewObject("UserList");
+while (vo.hasNext()) {+
Row curUser = vo.next();
System.out.println(vo.getCurrentRowIndex()". "++
curUser.getAttribute("UserId")" "++
curUser.getAttribute("Email"));
Configuration.releaseRootApplicationModule(am,true);
+}+
+}+
I wanted to understand that findViewObject returns an interface of type ViewObject.Since ViewObject is an interface so it does not have code implementation of any of its method like hasNext or next.Where in the framework is the actual implementation of these methods ?
ThanksAre you asking to look at the code of the interface?
For that you'll need an Oracle Support license and then you can request the actual source code of Oracle ADF from Oracle Support by opening an SR.
If you just want to see the documentation for a method check the documentation API section for example:
http://docs.oracle.com/cd/E35521_01/index.htm
http://docs.oracle.com/cd/E35521_01/apirefs.111230/e17483/toc.htm
http://docs.oracle.com/cd/E35521_01/apirefs.111230/e17483/oracle/jbo/ViewObject.html -
Where can we find the methods of the classes in OLE Interface
Hi All,
I am developing the code to download the file into multiple sheets of excel file.
got many links and sample codes from this forum.
but my doubt is where can we find the methods in applications.
Example:
add, cells, range etc are the methods in the object excel.application.
I want to find all other methods in this same object.
Please help me.
thanks in adv.
EswarHE,
see this demo program which is in DWDM
*& Report DEMOEXCELINTEGRATION *
INCLUDE rdemoexcelintegrationtop.
DATA: control TYPE REF TO i_oi_ole_container_control.
DATA: container TYPE REF TO cl_gui_custom_container.
DATA: link_server TYPE REF TO i_oi_link_server.
DATA: table_coll TYPE REF TO i_oi_table_collection.
DATA: retcode TYPE t_oi_ret_string,
document_type TYPE soi_document_type
VALUE soi_doctype_excel_chart,
document_format TYPE soi_document_type.
DATA: doc_url TYPE t_url.
DATA: usa_sales TYPE i VALUE 1000,
europe_sales TYPE i VALUE 2000,
japan_sales TYPE i VALUE 1000,
asia_sales TYPE i VALUE 100,
america_sales TYPE i VALUE 100,
africa_sales TYPE i VALUE 100.
DATA: total_sales TYPE i VALUE 0.
DATA: BEGIN OF test_line, region(50), sales TYPE i, END OF test_line.
DATA: test_table LIKE TABLE OF test_line.
DATA: wa_test_table LIKE test_line.
CLASS c_excel_document DEFINITION
CLASS c_excel_document DEFINITION.
PUBLIC SECTION.
DATA: proxy TYPE REF TO i_oi_document_proxy.
DATA: document_type TYPE soi_document_type.
DATA: data_table TYPE sbdst_content,
data_size TYPE i,
doc_url TYPE t_url.
METHODS: constructor
IMPORTING control TYPE REF TO i_oi_ole_container_control
document_type TYPE soi_document_type.
METHODS: on_close_document
FOR EVENT on_close_document OF i_oi_document_proxy
IMPORTING document_proxy has_changed.
METHODS: on_custom_event
FOR EVENT on_custom_event OF i_oi_document_proxy
IMPORTING document_proxy event_name param_count
param1 param2 param3.
METHODS: create_document
IMPORTING open_inplace TYPE c DEFAULT ' '
EXPORTING retcode TYPE t_oi_ret_string.
METHODS: open_document
IMPORTING open_inplace TYPE c DEFAULT ' '
open_readonly TYPE c DEFAULT ' '
EXPORTING retcode TYPE t_oi_ret_string.
METHODS: open_document_url
IMPORTING open_inplace TYPE c DEFAULT ' '
open_readonly TYPE c DEFAULT ' '
doc_url TYPE t_url DEFAULT ' '
EXPORTING retcode TYPE t_oi_ret_string.
METHODS: retrieve_document
IMPORTING documents TYPE document_list
EXPORTING document_format TYPE soi_document_type
doc_url TYPE t_url.
METHODS: close_document
IMPORTING do_save TYPE c DEFAULT ' '
RETURNING value(retcode) TYPE t_oi_ret_string.
PRIVATE SECTION.
DATA: control TYPE REF TO i_oi_ole_container_control.
ENDCLASS.
DATA: l_fcode LIKE fcode.
DATA: document TYPE REF TO c_excel_document.
DATA: bds_instance TYPE REF TO cl_bds_document_set.
*& Module STATUS_0100 OUTPUT
MODULE status_0100 OUTPUT.
SET PF-STATUS 'MAIN0100'.
SET TITLEBAR '001'.
retcode = c_oi_errors=>ret_ok.
IF control IS INITIAL.
DATA: b_has_activex.
CALL FUNCTION 'GUI_HAS_ACTIVEX'
IMPORTING
return = b_has_activex.
IF b_has_activex IS INITIAL. MESSAGE e007. ENDIF.
CALL METHOD c_oi_ole_control_creator=>get_ole_container_control
IMPORTING control = control
retcode = retcode.
CALL METHOD c_oi_errors=>show_message
EXPORTING type = 'E'.
CREATE OBJECT container
EXPORTING container_name = 'CONTAINER'.
CALL METHOD control->init_control
EXPORTING r3_application_name =
'Demo' "#EC NOTEXT
inplace_enabled = 'X'
inplace_scroll_documents = 'X'
parent = container
register_on_close_event = 'X'
register_on_custom_event = 'X'
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message
EXPORTING type = 'E'.
CALL METHOD control->get_link_server
IMPORTING link_server = link_server
retcode = retcode.
CALL METHOD c_oi_errors=>show_message
EXPORTING type = 'E'.
CALL METHOD link_server->start_link_server
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message
EXPORTING type = 'E'.
CALL METHOD control->get_table_collection
IMPORTING table_collection = table_coll
retcode = retcode.
PERFORM refresh_sales.
CREATE OBJECT document
EXPORTING control = control
document_type = document_type.
CALL METHOD table_coll->add_table
EXPORTING table_name = 'SALES_IN'
table_type = table_coll->table_type_input
IMPORTING retcode = retcode
CHANGING data_table = test_table.
ENDIF.
IF bds_instance IS INITIAL.
CREATE OBJECT bds_instance.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
MODULE user_command_0100 INPUT.
l_fcode = fcode.
CLEAR fcode.
CALL METHOD cl_gui_cfw=>dispatch.
CASE l_fcode.
WHEN 'EXIT'. "Zurück
IF NOT document IS INITIAL.
CALL METHOD document->close_document.
FREE document.
ENDIF.
IF NOT link_server IS INITIAL.
CALL METHOD link_server->stop_link_server
IMPORTING retcode = retcode.
FREE link_server.
ENDIF.
IF NOT table_coll IS INITIAL.
FREE table_coll.
ENDIF.
IF NOT control IS INITIAL.
CALL METHOD control->destroy_control
IMPORTING retcode = retcode.
FREE control.
ENDIF.
IF NOT bds_instance IS INITIAL.
FREE bds_instance.
ENDIF.
LEAVE TO SCREEN 0.
WHEN 'CREATE'.
IF NOT control IS INITIAL.
document->data_size = 0.
CLEAR document->data_table.
CALL METHOD document->create_document.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ENDIF.
WHEN 'SELECT'.
IF NOT control IS INITIAL.
DATA: documents TYPE document_list.
DATA: descr TYPE document_descr.
CLEAR documents.
descr-document_name = 'Car Sales Chart'(do1).
descr-document_id = 'DEMOEXCELCHART1'.
APPEND descr TO documents.
descr-document_name = 'Car Sales Chart 2'(do3).
descr-document_id = 'DEMOEXCELCHART2'.
APPEND descr TO documents.
descr-document_name = 'Car Sales Sheet'(do2).
descr-document_id = 'DEMOEXCELSHEET1'.
APPEND descr TO documents.
CLEAR doc_url.
CALL METHOD document->retrieve_document
EXPORTING documents = documents
IMPORTING document_format = document_format
doc_url = doc_url.
IF NOT doc_url IS INITIAL.
CALL METHOD document->close_document.
CALL METHOD document->open_document_url
EXPORTING open_inplace = 'X'
doc_url = doc_url
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ELSE.
MESSAGE e010.
ENDIF.
ENDIF.
WHEN 'OPEN'.
IF document->data_size NE 0.
IF NOT control IS INITIAL.
CALL METHOD document->open_document
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ENDIF.
ELSE.
MESSAGE e005.
ENDIF.
WHEN 'INPLACE'.
IF document->data_size NE 0.
IF NOT control IS INITIAL.
CALL METHOD document->open_document
EXPORTING open_inplace = 'X'
open_readonly = 'X'
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ENDIF.
ELSE.
MESSAGE e005.
ENDIF.
WHEN 'SAVEAS'.
IF NOT document IS INITIAL AND NOT document->proxy IS INITIAL.
CALL METHOD document->proxy->save_as
EXPORTING prompt_user = 'X'
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ELSE.
MESSAGE e000.
ENDIF.
WHEN 'CLOSE'.
IF NOT document IS INITIAL.
CALL METHOD document->close_document
EXPORTING do_save = 'X'.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ELSE.
MESSAGE e000.
ENDIF.
WHEN 'COPYLINK'.
IF NOT link_server IS INITIAL.
PERFORM refresh_sales.
CALL METHOD link_server->execute_copy_link_dialog
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ELSE.
MESSAGE e004.
ENDIF.
WHEN 'REFRESH'.
IF NOT link_server IS INITIAL.
PERFORM refresh_sales.
ELSE.
MESSAGE e004.
ENDIF.
IF NOT document IS INITIAL AND NOT document->proxy IS INITIAL.
CALL METHOD document->proxy->execute_macro
EXPORTING macro_string = 'R3StartupMacro'
param_count = 1
param1 = 10
IMPORTING retcode = retcode.
CHANGING retvalue = usa_sales.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ELSE.
MESSAGE e000.
ENDIF.
WHEN 'PRINT'.
IF NOT document IS INITIAL AND NOT document->proxy IS INITIAL.
CALL METHOD document->proxy->print_document
EXPORTING prompt_user = 'X'
IMPORTING retcode = retcode.
CALL METHOD c_oi_errors=>show_message EXPORTING type = 'E'.
ELSE.
MESSAGE e000.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
CLASS c_excel_document IMPLEMENTATION.
CLASS c_excel_document IMPLEMENTATION.
METHOD: constructor.
IMPORTING control TYPE REF TO i_oi_ole_container_control
document_type TYPE soi_document_type
me->control = control.
me->document_type = document_type.
ENDMETHOD.
METHOD create_document.
IMPORTING open_inplace TYPE c DEFAULT ' '
RETURNING value(retcode) TYPE t_oi_ret_string.
IF NOT proxy IS INITIAL.
CALL METHOD me->close_document.
ENDIF.
CALL METHOD control->get_document_proxy
EXPORTING document_type = document_type
IMPORTING document_proxy = proxy
retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
CALL METHOD proxy->create_document
EXPORTING create_view_data = 'X'
open_inplace = open_inplace
IMPORTING retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
SET HANDLER me->on_close_document FOR proxy.
SET HANDLER me->on_custom_event FOR proxy.
ENDMETHOD.
METHOD open_document.
IMPORTING open_inplace TYPE c DEFAULT ' '
open_readonly TYPE c DEFAULT ' '
RETURNING value(retcode) TYPE t_oi_ret_string.
IF NOT proxy IS INITIAL.
CALL METHOD me->close_document.
ENDIF.
CALL METHOD control->get_document_proxy
EXPORTING document_type = document_type
IMPORTING document_proxy = proxy
retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
CALL METHOD proxy->open_document_from_table
EXPORTING document_table = data_table
document_size = data_size
open_inplace = open_inplace
open_readonly = open_readonly
IMPORTING retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
SET HANDLER me->on_close_document FOR proxy.
SET HANDLER me->on_custom_event FOR proxy.
CALL METHOD proxy->update_document_links
EXPORTING update_manual_links = 'X'
IMPORTING retcode = retcode.
ENDMETHOD.
METHOD close_document.
IMPORTING do_save TYPE c DEFAULT ' '
RETURNING value(retcode) TYPE t_oi_ret_string.
DATA: is_closed TYPE i, has_changed TYPE i.
DATA: doc_url(256).
IF NOT proxy IS INITIAL.
CALL METHOD proxy->is_destroyed IMPORTING ret_value = is_closed.
IF is_closed IS INITIAL.
CALL METHOD proxy->close_document
EXPORTING do_save = do_save
IMPORTING has_changed = has_changed
retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
ENDIF.
IF NOT has_changed IS INITIAL.
CALL METHOD proxy->save_document_to_table
IMPORTING retcode = retcode
CHANGING document_table = data_table
document_size = data_size.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
ENDIF.
CALL METHOD proxy->release_document
IMPORTING retcode = retcode.
SET HANDLER me->on_close_document FOR proxy ACTIVATION ' '.
SET HANDLER me->on_custom_event FOR proxy ACTIVATION ' '.
ELSE.
retcode = c_oi_errors=>ret_document_not_open.
ENDIF.
ENDMETHOD.
METHOD open_document_url.
IMPORTING open_inplace TYPE c DEFAULT ' '
open_readonly TYPE c DEFAULT ' '
doc_url TYPE t_url DEFAULT ' '
RETURNING value(retcode) TYPE t_oi_ret_string.
IF NOT proxy IS INITIAL.
CALL METHOD me->close_document.
ENDIF.
CALL METHOD control->get_document_proxy
EXPORTING document_type = document_type
IMPORTING document_proxy = proxy
retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
me->doc_url = doc_url.
CALL METHOD proxy->open_document
EXPORTING document_url = doc_url
open_inplace = open_inplace
open_readonly = open_readonly
IMPORTING retcode = retcode.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
Document shall also be available in ITAB for respective operations:
CALL METHOD proxy->save_document_to_table
IMPORTING retcode = retcode
CHANGING document_table = data_table
document_size = data_size.
IF retcode NE c_oi_errors=>ret_ok.
EXIT.
ENDIF.
SET HANDLER me->on_close_document FOR proxy.
SET HANDLER me->on_custom_event FOR proxy.
CALL METHOD proxy->update_document_links
EXPORTING update_manual_links = 'X'
IMPORTING retcode = retcode.
ENDMETHOD.
METHOD retrieve_document.
importing documents type document_list
exporting document_format type soi_document_format
doc_url type t_url.
*----BDS-Data-Structures:--
Tables and WAs:
DATA: doc_signature TYPE sbdst_signature,
wa_doc_signature LIKE LINE OF doc_signature,
doc_components TYPE sbdst_components,
wa_doc_components LIKE LINE OF doc_components,
doc_properties TYPE sbdst_properties,
wa_doc_properties LIKE LINE OF doc_properties,
doc_uris TYPE sbdst_uri,
wa_doc_uris LIKE LINE OF doc_uris.
ID's:
DATA: doc_classname TYPE sbdst_classname VALUE 'SOFFICEINTEGRATION',
doc_classtype TYPE sbdst_classtype VALUE 'OT',
doc_object_key TYPE sbdst_object_key VALUE 'SOFFICEINTEGRATION',
doc_mimetype TYPE bapicompon-mimetype.
DATA: field_desc TYPE TABLE OF rsvbfidesc.
DATA: wa_field_desc TYPE rsvbfidesc.
DATA: l_nr LIKE sy-tabix.
CLEAR: field_desc, wa_field_desc.
wa_field_desc-fieldnum = 1.
wa_field_desc-display = 'X'.
APPEND wa_field_desc TO field_desc.
l_nr = 0.
CALL FUNCTION 'RS_VALUES_BOX'
EXPORTING
left_upper_col = 5
left_upper_row = 5
pagesize = 10
title = 'Select document'(sdc)
IMPORTING
linenumber = l_nr
TABLES
field_desc = field_desc
value_tab = documents
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0 AND l_nr NE 0.
READ TABLE documents INDEX l_nr INTO descr.
IF sy-subrc EQ 0.
CLEAR: wa_doc_signature, wa_doc_components, wa_doc_uris.
CLEAR: doc_signature, doc_components, doc_uris.
wa_doc_signature-prop_name = 'DESCRIPTION'.
wa_doc_signature-prop_value = descr-document_id.
APPEND wa_doc_signature TO doc_signature.
CALL METHOD bds_instance->get_info
EXPORTING classname = doc_classname
classtype = doc_classtype
object_key = doc_object_key
CHANGING components = doc_components
signature = doc_signature
EXCEPTIONS nothing_found = 1
error_kpro = 2
internal_error = 3
parameter_error = 4
not_authorized = 5
not_allowed = 6.
IF sy-subrc NE 0 AND sy-subrc NE 1.
MESSAGE e016.
ENDIF.
IF sy-subrc = 1.
MESSAGE e017.
ENDIF.
CALL METHOD bds_instance->get_with_url
EXPORTING classname = doc_classname
classtype = doc_classtype
object_key = doc_object_key
CHANGING uris = doc_uris
signature = doc_signature
EXCEPTIONS nothing_found = 1
error_kpro = 2
internal_error = 3
parameter_error = 4
not_authorized = 5
not_allowed = 6.
IF sy-subrc NE 0 AND sy-subrc NE 1.
MESSAGE e016.
ENDIF.
IF sy-subrc = 1.
MESSAGE e017.
ENDIF.
READ TABLE doc_components INTO wa_doc_components INDEX 1.
READ TABLE doc_uris INTO wa_doc_uris INDEX 1.
doc_mimetype = wa_doc_components-mimetype.
doc_url = wa_doc_uris-uri.
CASE doc_mimetype.
WHEN 'application/x-rtf' OR 'text/rtf'.
document_format = soi_docformat_rtf.
WHEN 'application/x-oleobject'.
document_format = soi_docformat_compound.
WHEN 'text/plain'.
document_format = soi_docformat_text.
WHEN OTHERS.
document_format = soi_docformat_native.
ENDCASE.
ENDIF.
ENDIF.
ENDMETHOD.
METHOD on_close_document.
FOR EVENT on_close_document OF c_oi_ole_container_control
IMPORTING document_proxy has_changed.
DATA: answer, do_save.
IF has_changed EQ 1.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = 'Office Integration Demo'(oid)
text_question = 'Save Document?'(sav)
display_cancel_button = ' '
IMPORTING
answer = answer.
IF answer EQ '1'.
do_save = 'X'.
ELSE.
do_save = ' '.
ENDIF.
CALL METHOD me->close_document
EXPORTING do_save = do_save.
CALL METHOD c_oi_errors=>show_message
EXPORTING type = 'E'.
ENDIF.
ENDMETHOD.
METHOD on_custom_event.
FOR EVENT on_custom_event OF i_oi_document_proxy
IMPORTING document_proxy event_name param_count
param1 param2 param3.
IF event_name EQ 'ON_SERIES_CHANGE'.
CALL METHOD table_coll->get_table
EXPORTING table_name = 'SALES_IN'
IMPORTING retcode = retcode
CHANGING data_table = test_table.
CALL METHOD c_oi_errors=>show_message
EXPORTING type = 'E'.
CLEAR wa_test_table.
READ TABLE test_table INTO wa_test_table INDEX 1.
usa_sales = wa_test_table-sales.
CLEAR wa_test_table.
READ TABLE test_table INTO wa_test_table INDEX 2.
europe_sales = wa_test_table-sales.
CLEAR wa_test_table.
READ TABLE test_table INTO wa_test_table INDEX 3.
japan_sales = wa_test_table-sales.
CLEAR wa_test_table.
READ TABLE test_table INTO wa_test_table INDEX 4.
asia_sales = wa_test_table-sales.
CLEAR wa_test_table.
READ TABLE test_table INTO wa_test_table INDEX 5.
america_sales = wa_test_table-sales.
CLEAR wa_test_table.
READ TABLE test_table INTO wa_test_table INDEX 6.
africa_sales = wa_test_table-sales.
CLEAR wa_test_table.
ENDIF.
CALL METHOD control->set_focus.
ENDMETHOD.
ENDCLASS.
FORM refresh_sales.
FORM refresh_sales.
DATA: BEGIN OF item_line,
region(60),
sales TYPE i,
date TYPE d,
time TYPE t,
weight TYPE f,
amount TYPE p DECIMALS 3,
id(10) TYPE n,
END OF item_line.
DATA: sales_table LIKE TABLE OF item_line.
DATA: wa_sales_table LIKE item_line.
DATA: fields_table TYPE TABLE OF rfc_fields.
DATA: wa_fields_table TYPE rfc_fields.
DATA: ind TYPE i.
CALL FUNCTION 'DP_GET_FIELDS_FROM_TABLE'
TABLES
data = sales_table
fields = fields_table.
READ TABLE fields_table INDEX 1 INTO wa_fields_table.
wa_fields_table-fieldname = 'Region'."#EC NOTEXT
MODIFY fields_table FROM wa_fields_table INDEX 1.
CLEAR wa_fields_table.
READ TABLE fields_table INDEX 2 INTO wa_fields_table.
wa_fields_table-fieldname = 'Sales'. "#EC NOTEXT
MODIFY fields_table FROM wa_fields_table INDEX 2.
CLEAR: sales_table, wa_sales_table.
wa_sales_table-region = 'USA'(usa).
wa_sales_table-sales = usa_sales.
APPEND wa_sales_table TO sales_table.
CLEAR wa_sales_table.
wa_sales_table-region = 'Europe'(eur).
wa_sales_table-sales = europe_sales.
APPEND wa_sales_table TO sales_table.
CLEAR wa_sales_table.
wa_sales_table-region = 'Japan'(jap).
wa_sales_table-sales = japan_sales.
APPEND wa_sales_table TO sales_table.
CLEAR wa_sales_table.
wa_sales_table-region = 'Asia'(asi).
wa_sales_table-sales = asia_sales.
APPEND wa_sales_table TO sales_table.
CLEAR wa_sales_table.
wa_sales_table-region = 'America'(ame).
wa_sales_table-sales = america_sales.
APPEND wa_sales_table TO sales_table.
CLEAR wa_sales_table.
wa_sales_table-region = 'Africa'(afr).
wa_sales_table-sales = africa_sales.
APPEND wa_sales_table TO sales_table.
CLEAR wa_sales_table.
LOOP AT sales_table INTO wa_sales_table.
ind = sy-tabix.
wa_sales_table-date = sy-datum + ind.
wa_sales_table-time = sy-uzeit + ind.
wa_sales_table-weight = 100000 * ind.
wa_sales_table-amount = 11111 * ind.
wa_sales_table-id = ind.
MODIFY sales_table FROM wa_sales_table INDEX ind.
ENDLOOP.
CALL METHOD table_coll->add_table
EXPORTING table_name = 'SALES_OUT'
table_type = table_coll->table_type_output
IMPORTING retcode = retcode
CHANGING data_table = sales_table
fields_table = fields_table.
CALL METHOD link_server->add_table_item2
EXPORTING item_name = 'Sales' "#EC NOTEXT
item_title = 'Car Sales Figures'(sal)
IMPORTING retcode = retcode
CHANGING data_table = sales_table
fields_table = fields_table.
CALL METHOD link_server->add_string_item
EXPORTING item_name = 'ChartTitle'
item_title = 'Chart Title'(ti0)
item_value = 'Car Sales by Region'(ti1)
no_flush = 'X'
IMPORTING retcode = retcode.
CALL METHOD link_server->add_string_item
EXPORTING item_name = 'ColumnTitle1'
item_title = 'Column Title 1'(ti2)
item_value = 'Region'(ti3)
no_flush = 'X'
IMPORTING retcode = retcode.
CALL METHOD link_server->add_string_item
EXPORTING item_name = 'ColumnTitle2'
item_title = 'Column Title 2'(ti4)
item_value = 'Sold Cars'(ti5)
no_flush = ' '
IMPORTING retcode = retcode.
ENDFORM. -
How to implement classes and methods in badi's ?
how to implement classes and methods in badi's? and where i have to write the code based on the requirement?can anyone explain me briefly?
Hi
Every BADI by default Implements an INTERFACE which already contains some methods with parameters.
So you have to find the relavenet method based on the related paramters (by checking the fields in that paramters) you have to double click on the method and to write the code.
see the doc
DEFINING THE BADI
1) execute Tcode SE18.
2) Specify a definition Name : ZBADI_SPFLI
3) Press create
4) Choose the attribute tab. Specify short desc for badi.. and specify the type :
multiple use.
5) Choose the interface tab
6) Specify interface name: ZIF_EX_BADI_SPFLI and save.
7) Dbl clk on interface name to start class builder . specify a method name (name,
level, desc).
Method level desc
Linese;ection instance methos some desc
8) place the cursor on the method name desc its parameters to define the interface.
Parameter type refe field desc
I_carrid import spfli-carrid some
I_connid import spefi-connid some
9) save , check and activate adapter class proposed by system is
ZCL_IM_IM_LINESEL is genereated.
IMPLEMENTATION OF BADI DEFINITION
1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.
2) Specify aname for implementation ZIM_LINESEL
3) Specify short desc.
4) Choose interface tab. System proposes a name fo the implementation class.
ZCL_IM_IMLINESEL which is already generarted.
5) Specify short desc for method
6) Dbl clk on method to insert code..(check the code in AAA).
7) Save , check and activate the code.
Some useful URL
http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm
Now write a sample program to use this badi method..
Look for BBB sample program.
AAA
data : wa_flights type sflight,
it_flights type table of sflight.
format color col_heading.
write:/ 'Flight info of:', i_carrid, i_connid.
format color col_normal.
select * from sflight
into corresponding fields of table it_flights
where carrid = i_carrid
and connid = i_connid.
loop at it_flights into wa_flights.
write:/ wa_flights-fldate,
wa_flights-planetype,
wa_flights-price currency wa_flights-currency,
wa_flights-seatsmax,
wa_flights-seatsocc.
endloop.
BBB
*& Report ZBADI_TEST *
REPORT ZBADI_TEST .
tables: spfli.
data: wa_spfli type spfli,
it_spfli type table of spfli with key carrid connid.
*Initialise the object of the interface.
data: exit_ref type ref to ZCL_IM_IM_LINESEL,
exit_ref1 type ref to ZIF_EX_BADISPFLI1.
selection-screen begin of block b1.
select-options: s_carr for spfli-carrid.
selection-screen end of block b1.
start-of-selection.
select * from spfli into corresponding fields of table it_spfli
where carrid in s_carr.
end-of-selection.
loop at it_spfli into wa_spfli.
write:/ wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-cityfrom,
wa_spfli-deptime,
wa_spfli-arrtime.
hide: wa_spfli-carrid, wa_spfli-connid.
endloop.
at line-selection.
check not wa_spfli-carrid is initial.
create object exit_ref.
exit_ref1 = exit_ref.
call method exit_ref1->lineselection
EXPORTING
i_carrid = wa_spfli-carrid
i_connid = wa_spfli-connid.
clear wa_spfli.
Reward points for useful Answers
Regards
Anji
Message was edited by:
Anji Reddy Vangala -
when I compiled my code, I got this error message:
soundTest.java:7: cannot resolve symbol
symbol : method play (java.lang.String)
location: class soundTest
play("songHere.mp3");
^
1 errorhere's the code:
import java.applet.*;
import java.awt.*;
public class soundTest extends Applet {
Label myLabel = new Label("sound test thing");
public void init() {
add(myLabel);
play("songHere.mp3");
}in the documentation, it says one of java.applet.Applet's is play, yet the compiler doens't seem to know that.You are right, there is a play method in the class java.applet.Applet. Two, in fact. One that takes an instance of java.net.URL as a parameter and one that takes a URL and a String as parameters. The problem is that there's no method that takes only a String.
Try withplay(getCodeBase(), "songHere.mp3");I would expect you to run in problems with that too since I'm pretty sure mp3 files are not supported by that method. -
How can I implement a get method that lets me divide two values, Help plz
I need to implement a method that divides the values return by two other methods but I keep getting an error message, I think its divide by zero error ( I am not too sure on the exact error msg as I do not have java installed on this pc as yet), here is my example,
I have two get methods that take an int value so say
getValueOne() as method one
getValueTwo() as method two
Now I have a third method that does the following,
Public int getValueThree() {
int value =0;
value = (getValueOne() / getValueTwo())
return value;
I am not two sure on the exact code but it does something like this and I get an error. Could someone please guide me how I can successfully implement a get method that divides two values that are returned by two methods.
Thanks,
ZubHi, thanks for your reply. Right, how can I go about to throw an exception? I can definitely give the exact code and error message tomorrow when I can access my home pc.
And you are right there are some values that are zero! I am not very sure what throwing an exception means to be honest. Could you please give an example?
Thanks... -
I have a Mac Air. When I go to view video online (youtube for example), the screen for the video comes up with a black square space where the video should play. But there is no pay button and the vidoe never starts playing. Any suggestions would be appreciated.
Shockwave and Flash are not the same. Try installing a Flash plug-in. Here's the latest: Adobe Flash Player 11.2.202.183
-
Where is the random play option in the new version?
Where is the random play option? I want to play all my music through random but you can't seem to make that choice in this new itunes. Anybody figure it out?
Could it be Controls > Shuffle?
-
PLEASE HELP ME I AM FACING A PROBLEM
My name is Ameer.
I watch youtube videos from ipad2 ( safari )
today for my first time, when i run a video and i want to pause it, i touch the screen where the video is playing to reach the pause botton that is located on a bar under the video which appears when i touch the screen. Today every time i touch the screen nothing happens and i cannt pause the video nor adjusting its quality.
So plese help me fixing this problem as soon as posible.
RegardsSame problem on my ipad mini, running ios 6.0.2.
A bit more info:
-tried using YouTube in Safari on another ipad. Worked fine.
Tried reboot (sleep + home buttons for 15 seconds). Didn't fix.
-tried logging out of my YouTube account, thinking the problem was tied to my settings. Didn't fix.
-tried uninstalling all apps I downloaded since the last time YouTube worked properly. Didn't fix.
-tried watching a video in desktop mode. Can tap video screen to bring up pause okay in that mode.
There are work arounds, but the thing I want to know is why YouTube doesn't work in Safari as of a couple of days ago, and is it indicative of another more serious problem with my ipad. -
Where will i get the method code and method name in Bpc
Dear Experts,
Thanks for watching this thread at the time of creating Consolidation methods they have
NEW
HOLDING
GLOBAL
PROPORTIONAL
EQUITY
lEAVING (END OF THE YEAR)
LEAVING(DURING THE YEAR)
Where will i get the method Code and method name.
Can you please guide me.
Regards,
Srinivasan.The consolidation methods types you have listed are the standard ones provided by BPC for Consolidation Method types.
You can set the Consolidation Methods in the BPC Administration Console under Business Rules Library -> Consolidation Methods.
There you can see some defaults - you can remove these and set your own if you prefer.
You should read the BPC340 Training guide. -
Hi all,
In SE24 i made an abstract class & made a method abstract successfully.
Now i made another class that inherited my abstract class, it is showing my abstract method there.
Now when i want to give implementation to that method, but when i double click on that system is showing "method is abstract & has not yet redefined".
Pleas let me know..how i implement it..
Thanx in advance..
<b>Have ur point.s</b>Hi
Inheritance Inheritance defines the implementation relationship between classes, in which one class (the subclass) shares the structure and the behavior defined in one or more other classes (superclasses). Note: ABAP Objects only allows single inheritance.
Inheritance is a relationship, in which one class (the subclass) inherits all the main characteristics of another class (the superclass). The subclass can also add new components (attributes, methods, and so on) and replace inherited methods with its own implementations.
<b>Single Inheritance</b>
ABAP Objects only has single inheritance.
A class may only have one direct superclass, but it can have more than one direct subclass. The empty class OBJECT is the root node of every inheritance tree in ABAP Objects.
<b>Relationship between Superclasses and Subclasses</b>
Common components only exists in the superclass
new components in the supercalss are automatically available in subclass
amount of new coding is reduced ( programing by difference)
Subclass are extremely dependent on superclases
white box reuse subclass must possess detailed knowledge of the implementation of the superclass
<b>Inheritance: Syntax</b>
Normally the only other entry required for subclasses is what has changed in relation to the direct superclass. Only additions are permitted in ABAP Objects, that is, in a subclass you can "never take something away from a superclass". All components from the superclass are automatically present in the subclass.
<b>Class name defination.
public section.
methods. First name importing some type some type
returning value(value) type some type.
private section
data : make type string..
Endclass.
Class name1 definition inheriting name
public section
method. : get returning value ( value) type get.
Priavte section.
data : max type some type
endclass</b>
<b> Redefining methods</b>
The REDEFINITION statement for the inherited method must be in the same SECTION as the definition of the original method.
If you redefine a method, you do not need to enter its interface again in the subclass, but only the name of the method.
In the case of redefined methods, changing the interface (overloading) is not permitted; exception: Overloading is possible with the constructor.
Within the redefined method, you can access components of the direct superclass using the SUPER reference.
The pseudo-reference super can only be used in redefined methods.
reward if usefull -
Just got 5s, where is icon to play music on Air Port Express? did with iphone4s before
Just got Iphone 5s, where is icon to play music on AIr Port Express? Did with iphone4s before
In iOS 7, go the the Home screen (tap the Home button) and swipe up from the bottom to reveal the AirPlay icon.
-
How to know the status of stream played using NetStream.Play method ?
I am playing stream data published by third party server
similar to FCS by creating NetStream object and calling Play method
on it. Now the problem is, sometimes I am not able to view the
published stream by playing it using Play method. Also it does not
call OnStatus method of NetSteam. How can I know the status(or
result) of Play method ?
Note: NetConnection gets created successfully. I get status
of NetStream.Play.Start / Stop when I put local flv as a first
parameter to Play methodHi
There are SQL reports in the following zip which has SQLDeveloper reports for runtime objects such as mappings and process flows;
http://www.oracle.com/technology/products/warehouse/htdocs/Experts/owb_sqldeveloper.zip
Cheers
David -
If a app is free why am I being directed to my bank details where it's saying payment method was declined
Unless you set up your itunes ID/account when it was created to not use a credit card, then you must provide one. If payment is declined it may be due to an invalid card or expired date. You'lll need to update your payment method.
To manage the Apple ID:
https://appleid.apple.com -
Hi,
After transport, getting an a dump while executing BSP applicaiton in QA.
After looking at the dump I understand its because of syntax error in CL_O23Y5C5WOKYR0QODKI9XCZJLYKX.
Error: Implementation missing for method "%_ONLAYOUT".
I am not sure when this object is generated, while developing the BSP application. [I found this class/interface in DEV, QA environment; But there is no entry for this class in any of the transports].
To resolve the issue, Do I need to re-transport? If yes, which componant should be transported again.
Hints Please. I have to close this as early as possible.
Thanks,
Pramod.Thanks for all your inputs.
Somehow the problem is resolved after activating the class.
btw, Class which I refered in my posting is related to a View in BSP application that we have devloped.
Regards,
reddy
Maybe you are looking for
-
Unable to Login SQL server management studio:sql server 2005
Hello All, I am unbale to login SQL server management studio with below scanario: Server Type:Database Engine Server Name:XXX Authntication:Windows Auth After enter "Connect : button below eeror is displaying Error:"Canot connetc to XXX server Additi
-
Customer Service - or distinct lack of!
Placed my order to move my phone to a new property on 27th March - had to replace the order on 24th April as BT wanted to charge me £130 for the privalige (after being a BT customer for nearly 30 years!) - order replaced and original date maintained
-
How Do I Create a List of Reports?
Looking to create an exportable list of reports that are housed in my Crystal Reports Server 2008 Enterprise. Report Name, owner, next run time, last modify time, etc. The export preferably needs to be in Excel.
-
Problems migrating PSE 8 on Windows to Lr 3 on Mac
I have a 22K+ photo PSE 8 catalog on Windows. I've just recently gotten a new Mac and a coworker convinced me to get Lr 3 for the Mac. He migrated his PSE catalog (I don't know the version) to Lr 3 on the Mac with no problems. Lucky him. After tw
-
How to create multiple folder levels of connections
Is it possible to create multiple levels of folders in the Connections tab. For example, I have 3 projects and each projects have dev, qa, prod. The documentations that come with sqlDeveloper2.1 only tells how to create 1 level of folder. Please shar