Accessing method of used compoent from a using component
hi
i have a USED component which implements a interface and its method display_flights.
now i want to call this method from USING component. i have written the below coode
lr_interfacecontroller TYPE REF TO ZIWCI_COMP_1. " zcomp_1 is used component
lr_interfacecontroller = wd_this->wd_cpifc_details_comp( ). " details_comp is component usage
LR_INTERFACECONTROLLER->display_details(
is_flight = ls_flights ).
now problem is LR_INTERFACECONTROLLER doesnot have a method called display_details but only method wd_get_api
how do i call method display_details from wd_get_api.
lr_interfacecontroller TYPE REF TO ZIWCI_COMP_1. " zcomp_1 is used component
your lr_interfacecontroller actually does not have this method and hence in the compile time you would get this error.
What you can do is change the type ref to to your interface type.
lr_interfacecontroller TYPE REF TO <replace with your interface like if_wd_my inteface>
This would solve your problem.
Similar Messages
-
Cross-component: Call method of using component from within used component?
Hi,
I began diving into cross-component programming.
Meanwhile after having digged into some scenarios some questions came up to my mind that I am not able to answer myself. I would appreciate your help here!
Say we have to components. Comp A uses Comp B (hence, B is a component usage in A)
1) How to make them communicate not on a data level (via context binding) but on a process level, thus...
a) can I call A's method from within B? How is the approach on a general level? - as B can be used from totally different components (like A, A1, A2 ...)
b) perhaps the only way to do this is by firing events? If so, how can I react in A when an event in B (marked as interface event) gets fired? As it seems they do not get registered within A directly...
I guess the question seems to be a bit tricky. Nevertheless, I think there will be plenty of you out there who used to asked them the same questions before and came up with an approach. Would be nice to hear from you.
Best wishes,
Marc @sap1Hi,
thanks for your reply!
Indeed, I think the nature of WDA would be just to somehow map the context from the used component to the other back and forth.
Nevertheless, what if I would like to invoke a method of the using component from inside the used component.
One sample for this requirement could be e.g.:
Component B offers a tree item and a send/verify button.
Component A uses B and has some restraints regarding what the selection should look like.
The user taps the button in B (at runtime in the view container of A), the context gets updated in A and B and in Component A the verifyWithOwnConstraints() method gets called (through B).
Thanks again,
Marc -
WDA Component Usage - used component's point of view
Hi folks!
Component Usage is a real nice feature of WDA. The using component knows exactly, when which other components are used.
But what about the used component's point of view:
How can a used component find out if it is currently running natively or as a used component and who is the using component?
Alternatively: How can the using component hand over initialization information (parameter) to the used component the used component has access to in component controller method DOINIT?
Background: In my scenario the used component has to "turn right" when it is used by component A and it has to "turn left" when it is used by component B and it has to go straight forward when it is running in "native" mode..
Thanx in advance for any hint!
Kind Regards,
VolkerhI Volker
You can implement the component usage by implementing interface method or interface node.
1. Interface method :-
Here the using component can access methods of used component.
So in your used component you have three method for 1. TURN RIGHT 2. TURN LEFT 3. STRAIGHT
so from comp A you call TURN RIGHT
From component B you can call TURN LEFT.
Make Straight default which can run in "native" mode..
That is if you want to implement from using component's view.
2.You can take a node in your used component as interface node which must be populated by values from other component.
From your using component you can pass the required value .
Now in your used componentcontroller DOINIT method call that interface node and in the make some condition according to the value it get from using component.
But I don't think in this it can run in "native" mode.
However i dont have that much idea about whether the in used component we can keep any log like where it has been used and how.
Thanks & Regards,
Monishankar C -
I feel like I should know the answer to this. I can't believe it is a hard question.
What is the direct connect method for transfering photos from my macbook pro to my iphone without using iTunes syncronization? (iow: a simple photo copy from mac to iphone?)
Easy? Right?
Just plug my iphone in to a mac and copy a photo from the mac to my iphone.
I don't have internet access - I can't email it, or mobileme it, or dropbox it.iTunes. Other than that there is no direct method. However, do try the iPhone forums.
-
UNABLE TO ACCESS SECURED EJB USING IIOP FROM JSP
Following codes does not work with IIOP when called from jsp returns an
com.sap.engine.services.iiop.CORBA.CORBAObject:com.sap.engine.services.iiop.server.portable.Delegate_1_1@8312b1 step2 RemoteException occurred in server thread; nested exception is: java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: User Guest does not have access to method create(). at
Following codes does not work with IIOP when called from a fat client returns an
org.omg.CORBA.UNKNOWN: vmcid: 0x0 minor code: 0 completed: Maybe
at com.sun.corba.se.internal.core.UEInfoServiceContext.<init>(UEInfoServ
iceContext.java:33)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at com.sun.corba.se.internal.core.ServiceContextData.makeServiceContext(
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.cosnaming.CNCtxFactory");
p.put(Context.PROVIDER_URL, "iiop://hostname:50007");
p.put(Context.SECURITY_PRINCIPAL, "User");
p.put(Context.SECURITY_CREDENTIALS, "pass");
I have add java option to add IIOP filer
-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sap.engine.services.iiop.csiv2.interceptors.SecurityInitializer
Solution Required: Could you please detail me what steps in need to perform in order for me to access secure ejb using iiop protocol.
FYI -- How ever ejb security works with P4 protocol, If required i can send you the test case ear.
Thanks
Vijay
Following are the server side logs
java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: User Guest does not have access to method create().
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:91)
at test._TestEJBHome_Stub.create(_TestEJBHome_Stub.java:214)
at jsp_testIIOP1199698887113._jspService(jsp_testIIOP1199698887113.java:33)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sap.engine.services.security.exceptions.BaseSecurityException: Caller not authorized.
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:608)
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:505)
at com.sap.engine.services.security.resource.ResourceContextImpl.checkPermission(ResourceContextImpl.java:45)
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:89)
... 20 more
; nested exception is:
java.lang.SecurityException: com.sap.engine.services.security.exceptions.BaseSecurityException: Caller not authorized.
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:608)
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:505)
at com.sap.engine.services.security.resource.ResourceContextImpl.checkPermission(ResourceContextImpl.java:45)
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:89)
at test._TestEJBHome_Stub.create(_TestEJBHome_Stub.java:214)
at jsp_testIIOP1199698887113._jspService(jsp_testIIOP1199698887113.java:33)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)That's the code that you need to execute but you should
probably encapsulate that code in Custom Action.
Orion has a EJB Tag Library that is free to distribute that
does all that stuff you just set some attributes.
Go to their site and look at their Tag Libraries.
Also look for other Tag Libraries Freely Available for EJB Access. -
Calling from javascript a method which uses accesscontroller.dopriviledged
Hello everybody!
I've a problem in accessing my pc resources from a signed applet when calling methods from Javascript.
If I try from start() or init() methods, I can do it, but as soon as I try from anoter method defined by myself, it throws this me an AccessControlException:access denied.
I googled and found that I should use this code:
KeyStore smartCardKeyStore= (KeyStore)
AccessController.doPrivileged(
new PrivilegedExceptionAction() {
public Object run() throws KeyStoreException, NoSuchProviderException, NoSuchAlgorithmException, CertificateException, IOException {
KeyStore alfa;
alfa = KeyStore.getInstance("PKCS11",pkcs11Provider.getName());
alfa.load(null,null);//this is the point where it trhew the AccessControlException
return alfa;
);The problem is that with this code, I can't get it work with Firefox (which doesn't throw any exception, just won't work!) neither with IE, which throws this:
netscape.javascript.JSException: Nome sconosciuto.
java.lang.Exception: netscape.javascript.JSException: Nome sconosciuto.
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)Please, help me! I'm in a big trouble, since I should finish my project asap and I am not able to pass this cumbersome obstacle...
Thank you in advance! :)Hi! Don,
You cannot call methods which breach Security from Javascript. That is what SUN says.
But there is a hack, or a work around...
Declare a boolean Variable , say named buttonClicked.
Initailly keep its value false(default).
Write an inner class that extends a thread class whose RUN method will contain the following piece of Code:
public void run(){
while(buttonClicked){
KeyStore smartCardKeyStore= (KeyStore)
AccessController.doPrivileged(
new PrivilegedExceptionAction() {
public Object run() throws KeyStoreException, NoSuchProviderException, NoSuchAlgorithmException, CertificateException, IOException {
KeyStore alfa;
alfa = KeyStore.getInstance("PKCS11",pkcs11Provider.getName());
alfa.load(null,null);//this is the point where it trhew the AccessControlException
return alfa;
}You start the Thread inner class in your init method.
So, its RUN method will continuously be waiting to go into the while loop.
And in your start method you will set the +"buttonClicked"+ variable to true upon a Javascript onclick event of a button.
So, the moment you click a button, you only set the buttonClciked variable to true in your start method--------
This does, in no way breach security. So no exception is thrown.. But the code which breaches security is initiated by another thread other than that spawned the Applet; so the browser does not care anything about its privileges. It just lets the execution of the code.
I hope it works for you; be in contact, if it doesn't.
Thanks and Regards,
Samba -
JET install using flash error: WARNING: FLASH Unknown FLASH access method
Hi all,
hoping someone can shed some light on this. I'm trying to utilize a flar image to jumpstart a server and get a unknown Flash access method error;
# ./make_client testserver
Gathering network information..
Client: xx.xx.xx.xx (xx.xx.xx.0/255.255.255.0)
Server: xx.xx.xx.xx (xx.xx.xx.xx/255.255.255.0, SunOS)
Solaris: client_prevalidate
Clean up /etc/ethers
Creating Client directory for testserver
Solaris: client_build
Creating sysidcfg
WARNING: no base_config_sysidcfg_timeserver specified using JumpStart server
Creating profile
Adding base_config specifics to client configuration
Adding flash specifics to client configuration
FLASH: Modifying client profile for flash install
FLASH: Removing package/cluster/usedisk entries from profile
Solaris: Configuring JumpStart boot for testserver
Solaris: Configure bootparams build
Starting SMF services for JumpStart
updating /etc/bootparams
Force bootparams terminal type
-Restart bootparamd
Running '/opt/SUNWjet/bin/check_client testserver'
Client: xx.xx.xx.xx (xx.xx.xx.xx/255.255.255.0)
Server: xx.xx.xx.xx (xx.xx.xx.xx/255.255.255.0, SunOS)
Checking product base_config/solaris
Checking product flash
WARNING: FLASH: Unknown FLASH access method (/export/install/FLARs/sol10000_00_os_0910_us_3.gbl.flashsun4utools_iplno.fsh)
Check of client testserver FAILS.
The images is shared out under /export/install:
# dfshares
RESOURCE SERVER ACCESS TRANSPORT
servername:/opt/SUNWjet servername - -
servername:/export/install servername - -
any help would be appreciated. JS is functioning when installing an image copied from media.
thanks
DHi,
I had exactly same problem. When I contacted my DBA he provided me Secured URL with https for the site and when i used that URL it worked with out problem.
Badari. -
I have accidentally deleted my IMAP password from my key chain, as a result i cannot access my google email using the Mac Mail. I cannot remember what the password was for IMAP, so can anyone help to resolve this. i can access my mail by going directly to Google Mail.
Regards JKG1135The password for use in the Mail application would be the same password you use when accessing Gmail by using an internet browser. The exception to that would be if you have 2-step verification enabled for Gmail. If that is the case then you would need to use an "application-specific password." If you are using 2-step, you can revoke the previous application-specific password and get a new one as described in https://support.google.com/mail/answer/1173270?hl=en
-
G'day. I am using iMovie 11 and need to clear disk space. How can I do that using an external drive, leaving me the option to go back and make changes or access old events or projects from that external drive?
The slightly bigger question is whether you want to move all movie content to the external drive (essentially meaning that drive will always need to be attached when you're working with your videos), or whether you just want to archive older videos off to the external drive.
If you want to move all videos, then just move the 'Movies' folder in your home directory to the external drive, then create an alias of the external 'Movies' back in to your home directory. Now the 'Movies' icon in your home directory will point to the external drive and everything will just work (as long as the external drive is attached when you launch iMovie)
If you want to archive older movies then each Movie should have its own subdirectory within your Movies folder. These can easily be moved off to the external drive, and moved back should you ever need to work on those movies again. -
My Bank's address is :- http://www.santander.co.uk/csgs/Satellite?appID=abbey.internet.Abbeycom&canal=CABBEYCOM&cid=1237889419188&empr=Abbeycom&leng=en_GB&pagename=Abbeycom/Page/WC_ACOM_Home.
All I get is a rotating green circle & the message "waiting for "service.maxymiser.net"".
Yet when I use the same address in IE it launches ok'
My O/S is Windows 7 Home Premium Sevice Pack 1 (x64 based}I can access the Bank's site from the link in your post above.
Try clearing cache and cookies. Also consider what settings you have on any privacy or ad-blocking software. Blocking ad's may speed things up or it may conceivably block access.
If you have problems with only one site and only in Firefox, the problem is often outdated or corrupt files relating to that web page. I suggest you try the following.
*Note <br /> It '''looks''' complicated but check the site after each numbered step, the first or 2nd step may solve the problem<br /> The linked articles have '''pictures''' ( screen shots) of the actions you need.
# Try using the sites home page or a direct link and not a bookmark.<br /> Try link http://www.santander.co.uk
# Reload website using an extra step to use avoid using the cached info.
#* Hold down the Shift key and left-click the Reload button <br />OR Press '"Ctrl + F5"' |(Mac ) "Cmd + Shift + R"
#Clear the cache, and cookies only from problem websites.
##<u>Remove the cookies </u>for a single problem website <br />Use: FirefoxButton / Tools → Options → |Privacy| → "Remove individual cookies"<br /> See: [[Delete cookies to remove the information websites have stored on your computer#w_delete-cookies-for-a-single-site]]'''_delete-cookies-for-a-single-site'''
## <u>Clear the cache</u> <br />Use ''FirefoxButton / Tools → Options → |Advanced | → Network >'' <br /> See: [[How to clear the Firefox cache#w_clear-the-cache]]_clear-the-cache
# If the above did not work try in Firefox'[http://kb.mozillazine.org/Safe_Mode s] Safe Mode to check if an extension or some other factor causes the issue. <br /> Use: FirefoxButton /Tools → Help → ''Restart with Addons disabled... ''. <br />See: [[Troubleshoot Firefox issues using Safe Mode]] <br />also see [[Troubleshoot extensions, themes and hardware acceleration issues to solve common Firefox problems]] -
How to get the extension Info from firefox? Do we have any firefox API to communicate with the browser? I couldnt see the HTML of the widget displayed in the toolbar how to access the widget using JS or any way
Hi,
Thanks for the suggestion. I've been playing around with some of the classes of the java.net package and java.io
Using the URL class i can get the content of the data from a STATIC page and output that response to file so that is does not display to the client broswer.
But this only works if the URL i give points to a static html page.
So the problem i'm getting is if i'm righting in arguments in the URL, this means that server needs to process the arguments i give and its sends back a dynamic result. Because its dynamic the URL class can not handle this and throws me an exception everytime :(
Have u ever tried to do some things like this?
Rahul -
Accessing the Logon User Exit from the Internet using an ITS Service
I can access the Logon User Exit (EXIT_SAPLSUSF_001) from R/3, but not from the Web using an ITS service. What am I missing in order to access the Logon User Exit from the Web. The ITS service was created from an ABAP screen program.
Thanks
david yeeThe SAPGui logon exit is called after successfull authentication has been completed and after a SAPGui session has been attached.
If you logon via RFC, WebGui, ICM or the Wgate then this exit does not trigger.
What are you wanting to add to your code after the logon ?
An solution I have used is to create a wrapper RFC for a BAPI and create a webservice for the wrapper. Before calling the BAPI you can do whatever you want to from a security perspective.
But for that you need to have an appropriate BAPI...
Please explain what you want to do and what you would have wanted in the exit. Often there is a better way.
Cheers,
Julius
ps: I moved this to the security forum. -
Use RemoteObject method defined in MXML from AS
I need to use a RemoteObject from a custom component written
as an ActionScript class. I can easily define the RemoteObject
service and it's methods in MXML, but I don't know how to acces
that definition from a class insite an ActionScript package. For
example imagine
this
example on Adobe's site on component creation using a RemoteObject
to do the calculations. I don't know how to define methods of a
remote service in AcionScript, only in MXML. Thanks.It seems I don't have to defint the methods, just create a
RemoteObject, set it's dource and destination, and call the methods
on it. (services-config.xml is already set up.)
Still, any comments are welcome. Or tutorials on the web.
Like how to set per-method event handlers. Now I can only set it
globally on the RemoteObject. -
Frontend Printing Using Access Method G - Properties
I am looking for some light on Frontend printing using access method G. I am using ERP 4.7 on Windows 2000 and SQL 2000. We are using access method G to print and when users get the pop up dialog to print, the properties and the cancel options are grayed out. The printers are already define in all of our SAP systems. We are using the latest Kernel 640 and patch level 247 as well as sapgui 7.10 with patch 15.
Thanks for your help in advanceHi,
Check below link:
http://help.sap.com/saphelp_tm60/helpdata/en/42/dd174f02302cede10000000a1553f7/content.htm
Thanks
Sunny -
Can not access in box or contacts from tiscali web mail when using firefox as browser
I can not access my in box or contacts list at my tiscali web mail when using firefox as my browser. I have been able up to a few days ago and I can access these when using internet explorer browser.
Thanks for the helpful solution!
Maybe you are looking for
-
Flex 20, won't start straight out of the box
Hi, Have just purchased an IdeaCentre Flex 20. machine type 10142, configuration number 57318057. Have plugged in and pressed the power button. The LED, top right, comes on but nothing else. Have powered off and then back on. Nothing is plugged into
-
Physical size of dimensions and composites (Express and Oracle OLAP)
Hi, have a rather odd question re: the physical size (in bytes) of composites...are they affected by the dimension sizes? I.e. if I define a dimension "Org" as: define org dimension text width 10 will that result in smaller composites than if I defin
-
List margin (horizontal space??)
http://www.dumasar.net/santas-workshop.html How can I get the list to offset to the right. I wrote a class rule applying 9 ems of left margin and that still does not do it. I am missing something here, but can't figure it out. Help is appreciated, Th
-
Document's transparency blend space? Destination color space?
I need some hand-holding please. I just exported to pdf, and got this message, and would be happy to fix it if I had a clue what to do: The document's transparency blend space doesn't match the destination color space specified in the Export Adobe PD
-
Gente, Alguno pudo instalar en el mismo Appicance los módulos de Prime Infrastructure 1.2 Compliance y Assurance??? Hay una guia de instalacion? Gracias, Marcelo.