Getting the caller name.
Hi All.
I waned to know if thre are any ways I can know the caller class/object type from with in a code.
I mean if there is a method foo() inside, a class A.
if there are 2 classes B and C extend A; can I write few lines of code inside A.foo() to know that the invoker of method foo is an instance of class B or C??
Any pointers will be helpful.
Rgds
Use a stack trace. Keep in mind this is expensive performance-wise. Here's some code:StackTraceElement [] st=new Exception().getStackTrace();
if(st==null)
//Do something--some runtime environments don't support stack traces
System.out.println("The caller is "+st[1]); That should do it.
Similar Messages
-
Get the Caller Name using JTAPI
For the incoming call, I am able to read the Caller ID using connection[0].getAddress(), but it gives me the phone number of the incoming call. Is there a way to get the Caller Name of the incoming call as well?
You get the caller name as shown on the phone's display by calling CiscoCall.getCurrentCallingPartyDisplayName
-
How to get the report name from the call stack
Hi,
I have a question about how to get the caller information dynamically in a function module.
For example.
ZGET_CALLER_INFORAMTION,
get the caller name -- how ??
Thanks in advance
Best Regards,
JohnneyHi,
You can use SY_CPROG - caller in external procedures, bye using this u can get the progam name.
Regards,
kavitha.k -
How to get the caller's name in a custom exit.
I am using the menu exit of ABAP Editor(SEUED001),but in the inclued program, how could I get the program name which is being editing in the editor? the sy-cprog returns the name of the include program.
Edited by: yanluckly on Aug 23, 2010 7:58 AMSMOD->SEUED001->Display componens->double click on EXIT_SAPLEDITOR_002->See the source code...
function exit_sapleditor_002.
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(PROGRAM) LIKE SY-REPID
*" EXCEPTIONS
*" CANCELLED
include zxseuu22 .
endfunction.
PROGRAM is the importing parameter for the function module.
matt -
How to get the table name in the trigger definition without hard coding.
CREATE TRIGGER db.mytablename
AFTER UPDATE,INSERT
AS
INSERT INTO table1(col1)
SELECT InsRec.col1
FROM
INSERTED Ins
--Below i am calling one sp for which i have to pass the table name
EXEC myspname 'tablename'
In the above trigger,presently i am hard coding the tablename
but is it possible to get the table name dynamically on which the trigger is defined in order to avoid hard coding the table nameI really liked your audit table concept. You inspired me to modify it so that, the entire recordset gets captured and added a couple of other fields. Wanted to share my end result.
USE [YourDB]
GO
/****** Object: Trigger [dbo].[iudt_AutoAuditChanges] Script Date: 10/18/2013 12:49:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[iudt_AutoAuditChanges]
ON [dbo].[YourTable]
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;
Declare @v_AuditID bigint
IF OBJECT_ID('dbo.AutoAudit','U') IS NULL BEGIN
CREATE TABLE [dbo].[AutoAudit]
( [AuditID] bigint identity,
[AuditDate] DateTime,
[AuditUserName] varchar(128),
[TableName] varchar(128) NULL,
[OldContent] XML NULL,
[NewContent] XML NULL
ALTER TABLE dbo.AutoAudit ADD CONSTRAINT
PK_AutoAudit PRIMARY KEY CLUSTERED
[AuditID]
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
CREATE NONCLUSTERED INDEX [idx_AutoAudit_TableName_AuditDate] ON [dbo].[AutoAudit]
( [TableName] ASC,
[AuditDate] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
END
Select * Into #AuditDeleted from deleted
Select * Into #AuditInserted from inserted
While (Select COUNT(*) from #AuditDeleted) > 0 OR (Select COUNT(*) from #AuditInserted) > 0
Begin
INSERT INTO [dbo].[AutoAudit]
( [AuditDate], [AuditUserName], [TableName], [OldContent], [NewContent])
SELECT
GETDATE(),
SUSER_NAME(),
[TableName]=object_name([parent_obj]),
[OldContent]=CAST((SELECT TOP 1 * FROM #AuditDeleted D FOR XML RAW) AS XML),
[NewContent]=CAST((SELECT TOP 1 * FROM #AuditInserted I FOR XML RAW) AS XML)
FROM sysobjects
WHERE
[xtype] = 'tr'
and [name] = OBJECT_NAME(@@PROCID)
Set @v_AuditID = SCOPE_IDENTITY()
Delete from AutoAudit
Where AuditID = @v_AuditID
AND Convert(varchar(max),oldContent) = Convert(varchar(max),NewContent)
Delete top(1) from #AuditDeleted
Delete top(1) from #AuditInserted
End
END -
Getting the variant name when the report program is run in background
Hi All,
How to get the variant name for the report program when run in background? My requirement is to create an email attachement with the name 'variant.XLS', where variant = selection screen variant, when the report program is run in background. The system field SY-SLSET holds the variant name only when run online.
Any pointers to this will be highly appreciated.
Thanks and regards,
Nilesh.Hello Nilesh,
Please find the algo:
1. Call the FM: GET_JOB_RUNTIME_INFO to get the background job details.
2. Select data from TBTCP using these details:
DATA:
FP_EVENTID TYPE BTCEVENTID
FP_EVTPARM TYPE BTCEVTPARM
FP_ACTIVE TYPE BTCXPGFLAG
FP_JOBCNT TYPE BTCJOBCNT
FP_JOBNM TYPE BTCJOB
FP_STEPCNT TYPE BTCSTEPCNT.
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
EVENTID = FP_EVENTID
EVENTPARM = FP_EVTPARM
EXTERNAL_PROGRAM_ACTIVE = FP_ACTIVE
JOBCOUNT = FP_JOBCNT
JOBNAME = FP_JOBNM
STEPCOUNT = FP_STEPCNT
EXCEPTIONS
NO_RUNTIME_INFO = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Error calling FM: GET_JOB_RUNTIME_INFO
ENDIF.
DATA: FP_VARIANT TYPE BTCVARIANT.
SELECT JOBNAME JOBCOUNT STEPCOUNT VARIANT
FROM TBTCP
INTO TABLE L_IT_TBTCP
WHERE JOBNAME = FP_JOBNM
AND JOBCOUNT = FP_JOBCNT
AND STEPCOUNT = FP_STEPCNT.
IF SY-SUBRC = 0.
SORT L_IT_TBTCP BY JOBNM JOBCNT STEPCNT.
READ TABLE L_IT_TBTCP INTO L_WA_TBTCP INDEX 1.
IF SY-SUBRC = 0.
FP_VARIANT = L_WA_TBTCP-VARIANT.
ENDIF.
ENDIF.
Hope this helps.
BR,
Suhas -
How do I get the file names on a customized proof sheet?
How do I get the file names on a customized proof sheet?
Actually, I really don't know what you say.
But when you see the properties of a file in Windows, you can see there are two file size. One is called "SIze" and the other one is called "Size on disk".
Therefore, I would like to know the size on disk but not just the size. -
How to get the service name of a webservice using UDDI API
Hi,
Iam working on setting up a dynamic partner link in a BPEL, by passing the endpoint of a web service queried from the UDDI (Oracle Service Registry 10.3 ) using the API. Iam able to do it successfully.
Now, for example I have two operations in my wsdl, one to createCustomer and the other to bookTicket. I need to get the operation name using UDDI API so that i can pass it along with the endpoint to the partner link. ie. When i need to createCustomer, my UDDI API code will need to get the service name createCustomer and the endpoint and I would pass them to the partnerlink and the createCustomer operation of my webservice would be called.
Can any one help me to get the service names of the wsdl using UDDI APIs.
Thanks,
AnanthHi sia,
1. Table is APQI
2. field name for session name is GROUPID
regards,
amit m. -
Getting the file name using ehdr:getRequestHeader function in style sheet
Hi, I am facing an issue while using ehdr:getRequestHeader function to get the name of the file, which was placed in FTPS server and read by FTP Adapter. In style sheet I am trying to get the file name as below.
<xsl:variable name="fileName"
select="ehdr:getRequestHeader('/fhdr:InboundFTPHeaderType/fhdr:fileName','fhdr=http://xmlns.oracle.com/pcbpel/adapter/ftp/;')"/>
and based on the file name I am trying to fetch the values from Property file, map it to a schema and make a SOAP service call.
When i use the above functionality in style sheet exception occurs and in ESB instance I am not able to view the exception.
It is saying as 'Details of the message are not available, The message details would have been purged'. In logs it is showing the following error trace.
<MSG_TEXT>Failed to process deferred message</MSG_TEXT>
<SUPPL_DETAIL>oracle.tip.esb.server.common.exceptions.BusinessEventRejectionException: Error occured while handling monitor message dequeued from monitor topic. Message text is "<activityMessages><activityMessage order='10' type='6'><flowId>cRfy7g6a-8HDUKqyf4GsKw==</flowId><subFlowId>1245307693657</subFlowId><timestamp>1245307703862</timestamp><operationGUID>2F1C13905B3F11DE8F0BD923A1148BB1</operationGUID><operationQName>ESBTest.InvokeESB</operationQName><errorMessage><![CDATA[An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: exception on JaxRpc invoke: serialization error: java.lang.IllegalArgumentException: getSerializer requires a Java type and/or an XML type
at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeOperation(WSIFOperation_JaxRpc.java:1714)
at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeRequestResponseOperation(WSIFOperation_JaxRpc.java:1460)
at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.executeInputOnlyOperation(WSIFOperation_JaxRpc.java:1141)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:227)
at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:136)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:407)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:165)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:310)
at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:547)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:529)
at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:161)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:65)
at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:722)
at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:407)
at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:281)
at oracle.tip.adapter.file.inbound.ProcessWork.publishMessage(ProcessWork.java:1173)
at oracle.tip.adapter.file.inbound.ProcessWork.doTranslation(ProcessWork.java:882)
at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:342)
at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:224)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
at java.lang.Thread.run(Thread.java:595)
]]></errorMessage><exception><![CDATA[oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "org.collaxa.thirdparty.apache.wsif.WSIFException: exception on JaxRpc invoke: serialization error: java.lang.IllegalArgumentException: getSerializer requires a Java type and/or an XML type
at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeOperation(WSIFOperation_JaxRpc.java:1714)
at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.invokeRequestResponseOperation(WSIFOperation_JaxRpc.java:1460)
at com.collaxa.cube.ws.wsif.providers.oc4j.jaxrpc.WSIFOperation_JaxRpc.executeInputOnlyOperation(WSIFOperation_JaxRpc.java:1141)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:894)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(OutboundAdapterService.java:227)
at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(OutboundAdapterService.java:136)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:407)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:165)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:205)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:136)
at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:310)
at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:547)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:529)
at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:161)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:119)
at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:65)
at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:722)
at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:407)
at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:281)
at oracle.tip.adapter.file.inbound.ProcessWork.publishMessage(ProcessWork.java:1173)
at oracle.tip.adapter.file.inbound.ProcessWork.doTranslation(ProcessWork.java:882)
at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:342)
at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:224)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
at java.lang.Thread.run(Thread.java:595)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(WSIFInvoker.java:1020)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:810)
at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(WSIFInvoker.java:832)
at oracle.tip.esb.server.service.impl.outadapte]]></exception><retryable>false</retryable></activityMessage></activityMessages>"
at oracle.tip.esb.monitor.manager.ActivityMessageReceiver.handleMessage(ActivityMessageReceiver.java:96)
at oracle.tip.esb.server.dispatch.agent.ESBWork.process(ESBWork.java:178)
at oracle.tip.esb.server.dispatch.agent.ESBWork.run(ESBWork.java:132)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:825)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.tip.esb.monitor.MonitorException: Due to the error "", the activity message could not be stored.
at oracle.tip.esb.monitor.manager.database.AbstractFaultPersister.persist(AbstractFaultPersister.java:107)
at oracle.tip.esb.monitor.manager.database.DBActivityMessageStore.persistMessage(DBActivityMessageStore.java:340)
at oracle.tip.esb.monitor.manager.database.DBActivityMessageStore.store(DBActivityMessageStore.java:131)
at oracle.tip.esb.monitor.manager.ActivityMessageReceiver.handleMessage(ActivityMessageReceiver.java:83)
... 7 more
Caused by: java.lang.NullPointerException
at oracle.tip.esb.monitor.manager.database.oracle.OracleFaultPersister.persist(OracleFaultPersister.java:102)
at oracle.tip.esb.monitor.manager.database.AbstractFaultPersister.persist(AbstractFaultPersister.java:105)
... 10 more
</SUPPL_DETAIL>
When I use the same function getRequestHeader for FileAdapter, it is working fine. Do anyone know why this issue occurs? Is this an issue with environment?As far as I can see the problem is the invoke of the SOAP service. This could be because of an empty filename but maybe there are other issues. First, make sure that the filename is read correctly by looking it up in the BPEL runtime process. Maybe the content is different than you expected it so that the read action for the properties give wrong result. Are you sure that ehdr is the correct prefix for the ftpheader?
-
How to get the VARIANT name in the program
Hi Guys,
Can somebody tell me how to get the VARIANT name in a program.
I have to perform some code with specific variant only. So I want to check in program which variant has been used to call the program.
Thanks,Hi,
Variants are stored in table VARI and VARID.
You can use RS_ALL_VARIANTS_4_1_REPORT to get all the variants for a report program.
please check out the link below it will be helpful to you
Re: Programs for a transaction variant
Hope this helps.
ashish -
File adapter polling and getting the file name 11g Jdeveloper
I am using JDeveloper 11g. My process is something like;
A file adapter reads a XML file
This triggers the BPM process, file content is sent to start activity as message
I have to get the file name that is read by file adapter.
How to do that? Any help is appreciated.
I have seen couple of answers like bellow in forum but did not help me much
This is a very simple task in JDeveloper 11g, file adapters are linked to the receive activity, here there is a tab called Properties which you can use to extract the file name. Please follow the steps below:
1. Create a Simple Type variable of string type, call it fileName_var or any name you wish.
2. Open the Receive activity in your bpel project.
3. Scroll down to jca.file.FileName and double click on the value column, click on the browse button (...), select Variable, then click the search icon
4. Locate your recently created variable
5. Now when your project runs it will assign the file name to this variable, you can use this same approach also to pull the directory, file size, etc.
*************************/hi,
Like you said.. steps are simple and clearly mentioned in guide.
1. create a variable of type string
2. after configuring the file adapter , go to corresponding receive activity , go to properties tab
3. search for a property with name as jca.file.FileName . This basically keeps track of file name
4. for this property, give the value as name of variable created in step 1 above
5. Use this variable anywhere in assign / transform
HTH,
Ketan -
Hello all,
I am using LabVIEW 8.0 PDS.
I created a new local domain called "MyDomain" in the "NI Domain Account Manager" . I added a new User called "MyUser" and a new group called "Maintenance". I set "MyUser" to be a member of the "Maintenance" group. Then, I configured LabVIEW to invoke the login dialog at start-up in order to log "MyUser" with the correct password.
I would like to get the group name of the current user logged programmatically in a VI. I tried with the VI Server >> Application >> Security properties and methods and also with the properties and methods of the NI Security Class but it seems to be not so simple as I believed at start.
I do not find any informations or KB on this (all the documents I found deal with LV DSC or TestStand).
The final goal is to be able to manage a list of user for my application. Each user is a member of a group ("Administrator", "Operator", "Maintenance") and depending on the group, the user can or cannot access to some parts of the application.
Thanks for your help.
Matthieu
EurilogicRe,
Here is a screenshot of this functions...
If you really own LV DSC 8.2 the best thing to do is to reinstall it.
Regards,
Message Edité par Richard K. le 04-02-2007 04:00 AM
Richard Keromen
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
>> Découvrez, en vidéo, les innovations technologiques réalisées en éco-conception
Attachments:
security.jpg 3841 KB -
How to get the Server Name in Crystal
Hi All,
We created a Crystal Report that pulls images from a File Location at the run time and this File Location is different for each environment (D-Q-P). We are trying to automate the file location by the server name. Is there any function in Crystal Reports that we can get the server name so we know if it is D-Q or P system?
Thank you,Hi,
There is no function in CR that can fetch the Server Name. That is something you need to provide to the formula.
If you're loading images from a location on the Server, you can always use a Relative Path. For eg: if the images would be stored in a folder called Images, then you can write a formula on the 'Graphic Location' for the OLE object as:
"/Images/Crystal.jpg"
This will load the image from the folder when it is run on D, Q or P.
Hope this helps!
-Abhilash -
How to get the function name/ID of the current page
HI,
I searched the forum and google, but it is not clear on how to get the function name of the current page.
I have 4 functions in my self service A ,B,C,D (seeded page links ) they all have to go to a page called hhhPG. Based on which function user is clicks I have to show the data in hhhPG.
so my question is how to get the function name ? I mean I need to know if user click on link A , B, C or D link and came to this page.
I found below in one forum and also there is getfunctionID in pageContext , but I do not know what to pass to getfunctionid("???") to get value.
FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
Or is there a better way of know where user is coming from ? like geturl....
Please help, I need this ASAP.
Thank you.Use below to find out how the user came into the page
FunctionSecurity funcSecurity = pageContext.getFunctionSecurity();
boolean isFunc1 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME1"));
boolean isFunc2 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME2"));
boolean isFunc3 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME3"));
boolean isFunc4 = funcSecurity.testFunction(funcSecurity.getFunction("YOUR_FUNCTION_SHORT_NAME4"));
So one of them will be true based on the function the user came in.
Write your logic based on these flags.
Regards,
Peddi. -
Get the file name using XSLT mapping
Hi
How to get the file Name at receiver side using XSLT mapping.
Could any one please help me
Regards
sowmyaSowmya
If you will use Grpahical Mesage Mapping then this can be achieved using Adapter-Specific Attribute u201CFileNameu201D
http://help.sap.com/saphelp_nw04/helpdata/en/43/03612cdecc6e76e10000000a422035/content.htm
Code Snippet -->
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create(
u201Chttp://sap.com/xi/XI/System/Fileu201D,
u201CFileNameu201D);
But in case you have to ONLY use XSLT mapping then I would suggest to use the same jave code & call it from your XSLT mapping. I never tried such thing you might use couple of jar files too.
- lalit -
Maybe you are looking for
-
How do I get a refund for all my music and apps?
Apple has lost my account. I've gone through the customer support system twice and the most helpful thing that resulted was to rename another Apple ID to my missing one. Consequently, years worth of apps and music have gone. It's not anything I've d
-
I just installed last versión of iphoto and it erased my iPhoto events. Now i dont have iphoto library anymore and i only have my events in iPhone and in MobileMe gallery. How can i download and migrate events in MobileMe gallery to events in iPhoto
-
Airplay button in volume controls on ipod touch 3g?
H. I have an ipt3g and as you can see there is an airplay button in the volume controls? What does this do? BTW I have airserver for mac and an apple tv 2 Thanks
-
hey im thinking about getting a mini mac and final cut. (quick question) can you insert a burned DVD and import its files on the timeline? in sony vegas you can i wasx just wondering about final cut? thanks
-
REG hiding selection-screen comment
Hi all, Cud any one tell me how to hide a selection-screen comment.