Call Fm dynamically
Hi all,
I am using FP_FUNCTION_MODULE_NAME fm to get a fm name of a Interactive/PDF form.
I want to know that when i get this FM name how to call it dynamically.
Points will be sured for valuable answers.
Thanks
Sanket sethi
Data: LV_FORM_NAME TYPE FPWBFORMNAME,
LV_FM_NAME TYPE RS38L_FNAM,
FP_TEST_DUMMY TYPE FPINTERFACETYPE.
Now pass the form name in LV_FORM_NAME .
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
I_NAME = LV_FORM_NAME
IMPORTING
E_FUNCNAME = LV_FM_NAME
E_INTERFACE_TYPE = FP_TEST_DUMMY.
U'll get the FM name in LV_FM_NAME.
Now
GS_DOCPARAMS-LANGU = 'E'.
GS_DOCPARAMS-COUNTRY = 'US'.
CALL FUNCTION LV_FM_NAME
EXPORTING
/1BCDWB/DOCPARAMS = GS_DOCPARAMS
LFA1 = LFA1
MBMFKTO_PDF = GT_MFKTO_PDF
IMPORTING
/1BCDWB/FORMOUTPUT = FP_RESULT
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4.
Hope this might give answer to U.
Regards
Hemendra.
Similar Messages
-
HR_INFOTYPE_OPERATION not working when called from Dynamic action
Hi ,
Senario : I would like to execute a form from dynamic action which
creates a record in 0015 (Additional payment IT) .
I have writen the code as shown below am using FM HR_INFOTYPE_OPERATION
. When i execute the program from se38 it is creating a record, however it is
not created when it is called from dynamic action..when i debugged the code in
inside the FM HR_INFOTYPE_OPERATION there is a FM HR_MAINTAIN_MASTERDATA where
they are using call dialog (statement) and
sy-oncom = 'N' when called from Dynamic action and
sy-oncom = 'S' when called executed directly.
I tried to change the sy-oncom to S while run from Dynamic action it created
the record.
So Can anyone explain me abt sy-oncom and how can i resolve the issue..
code..
REPORT ZHRPYENH01 .
perFORM TERMIATION_9000.
INCLUDE DBPNPMAC.
FORM Termiation_9000 *
FORM TERMIATION_9000.
INFOTYPES : 0015.
*data : i .
*i ='c'.
*break-point.
*message i000(000) with i.
TABLES : PRELP.
DATA : P9000 TYPE PA9000." with header line.
DATA : P0000 TYPE STANDARD TABLE OF P0000 WITH HEADER LINE.
DATA : P0015 TYPE STANDARD TABLE OF P0015 WITH HEADER LINE.
DATA : HIRE_DATE LIKE SY-DATUM,
TERM_DATE LIKE SY-DATUM.
DATA : MOLGA LIKE T500L-MOLGA VALUE '25',
SEQNR LIKE PC261-SEQNR.
DATA : RGDIR TYPE STANDARD TABLE OF PC261 WITH HEADER LINE.
DATA : ACTUAL_PERIOD LIKE PA9000-RETENTION.
DATA : PNP-SW-FOUND TYPE SY-SUBRC ,
PNP-SY-TABIX TYPE SY-TABIX.
DATA : TER_PERNR LIKE PA0001-PERNR.
DATA : REF_PERNR LIKE PA0001-PERNR.
data : key type BAPIPAKEY.
data : payed_amount type p0015-BETRG.
data : future_payment_amount type p0015-BETRG.
data : p0002 like pa0002.
types : begin of t_deduction ,
deducation_date like p0015-begda,
future_payment_amount type p0015-BETRG.
types : end of t_deduction.
data : future_deduction type standard table of t_deduction with
*header line.
data : future_deduction type t_deduction .
data : RETURN type BAPIRETURN1.
*data : deduction_p0015 like standard table of p0015 with header line.
data : deduction_p0015 like p0015 .
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
****Prepare 0015 data for deduction
*deduction for payed amount
clear deduction_p0015.
*refresh deduction_p0015.
deduction_p0015-pernr = REF_PERNR.
*deduction_p0015-pernr = TER_PERNR.
deduction_p0015-lgart = 'M120'.
deduction_p0015-begda = sy-datum + 1 .
deduction_p0015-endda = sy-datum + 1 .
deduction_p0015-BETRG = payed_amount.
deduction_p0015-WAERS = 'SGD'.
deduction_p0015-ZUORD = TER_PERNR.
*append deduction_p0015.
**deduction for future payment amount
*loop at future_deduction.
*clear deduction_p0015.
*deduction_p0015-pernr = REF_PERNR.
**deduction_p0015-pernr = TER_PERNR.
*deduction_p0015-lgart = 'M120'.
*deduction_p0015-begda = FUTURE_DEDUCTION-DEDUCATION_DATE.
*deduction_p0015-endda = FUTURE_DEDUCTION-DEDUCATION_DATE.
*deduction_p0015-BETRG = future_deduction-future_payment_amount.
*deduction_p0015-WAERS = 'SGD'.
*deduction_p0015-ZUORD = TER_PERNR.
*append deduction_p0015.
*endloop.
Create a deduction wage type in 0015 for the employee
break-point.
CLEAR RETURN.
CALL FUNCTION 'BAPI_EMPLOYEET_ENQUEUE'
EXPORTING
NUMBER = REF_PERNR
VALIDITYBEGIN = '18000101'
IMPORTING
RETURN = return
if not return is initial.
message E000(000) with
'Referred Employee could not be locked for referal payment deducation,
please try after some time'.
endif.
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
EXPORTING
INFTY = '0015'
NUMBER = REF_PERNR
SUBTYPE = 'M120'
OBJECTID =
LOCKINDICATOR =
VALIDITYEND = SY-DATUM
VALIDITYBEGIN = SY-DATUM
RECORDNUMBER =
RECORD = deduction_p0015
OPERATION = 'COPY'
TCLAS = 'A'
DIALOG_MODE = '2'
NOCOMMIT =
VIEW_IDENTIFIER =
SECONDARY_RECORD =
IMPORTING
RETURN = return
KEY = key
break-point.
COMMIT WORK.
if not return is initial.
*return-TYPE
*ID
*NUMBER
*MESSAGE
message I000(000) with return-MESSAGE.
endif.
CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
EXPORTING
NUMBER = REF_PERNR
VALIDITYBEGIN = '18000101'
IMPORTING
RETURN = return
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
Thanks and regards
-Senthil Bala
Message was edited by: senthil balaHi Senthil
Why at all U want a subroutine to create a record in IT0015 through Dynamic action.There are some standard codes available to update infotypes.
Let me give U an example
14 9CON BETRG 4 2 I INS,0015 This will create a record in IT0015 when IT0014 is updated with Wagetype 9CON
14 9CON BETRG 4 3 W P0015-LGART='5400' Set wagetype for IT0015(Here U can use a subroutine call to set the wagetype)
14 9CON BETRG 4 4 W P0015-BETRG=P0014-BETRG set amount for IT0015(Here U can use a subroutine call to get the amount)
14 9CON BETRG 4 5 W P0015-BEGDA=P0014-ENDDA set the dates(Here U can use a subroutine call to set the dates)
Hope this will help U.
Please award points if helpful -
Problem with a Link calling a dynamic page
Hi!
I wanted to create a link calling to a dynamic page. This dynamic page displays a PDF depending on the parameter, the thing here is that I don't know how to set the bind variables or more likely how to say that the value of those variables is going to come from the link in which the dynamic page it's been called.
I have my PL/SQL code where I have this bind variables
id_dep
id_tipo
and I went to the Customization Form Display Options button and there i made them public.
now on a page i created a link with the following structure, in order to call the dynamic page and send the parameters.
http://your.portal.com/portal/pls/portal/SCHEMA.DYN_YOUR_DYN_PAGE_NAME.show?p_arg_names=YOUR_PARAMETER_NAME&p_arg_values=YOUR_PARAMETER_VALUEso my links looks like this one:
http://desarrollo06:7778/pls/portal/TRANSPARENCIA.NOSEQUE.show?p_arg_names=idDep&p_arg_values=11&p_arg_names=idTipo&p_arg_values=25so I was told that I had to check that the parameters bindings are present or set, but I don't know how to do that... 'cause I thought I already did...
can youi help me?
thanks In Advance
aTTe
BlumeHi AMN,
well what I meant was that, see in the manage page for the Dyn Page there are some options bellow, in the one that sais Customize you can test the page, and I put there the values for id_dep and id_tipo as *11* and *25* then run the page and it opens the PDF but when I click on the link you suggested
http://desarrollo06:7778/portal/pls/portal/TRANSPARENCIA.NOSEQUE.show?p_arg_names=idDep&p_arg_values=*11*&p_arg_names=idTipo&p_arg_values=*25*
u_u but it doesn't open the PDF.
...The code I put in my last post is the code for my dyn page, and there's an if where if it doesn't find a file to deploy it show a message that sais "No hay Datos o No Aplica", so when I clic on the link it takes me to the dyn page but shows the message for no data found...
so I don't know what's going on.... if supposedly the dyn page is receiving the same values in different way, why it doesn't work with the link? -_- -
CRM5.2 UI-Call a dynamic URL on button click
Hi all,
My requirement is to call a dynamic url on the click of a button in the overview page. I have added a custom button in the method IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS , and the related code in do_handle_event.I have created a custom method for the button event. I have enhanced a custom controller and created an attribute.In the custom method created for the button event, I have written the code for retrieving the parameters to be passed to the url.
In the layout of the view associated with the display view , I have written the following code for calling the URL in a new window.
<%
DATA: lr_cuco_EMA TYPE REF TO ZL_BP_CONT_BPCONT_IMPL,
lv_url TYPE string,
lv_url1 type string,
lv_count type i.
lr_cuco_EMA ?= controller->get_custom_controller( 'ZBP_CONT/BPCONT' ).
check lr_cuco_EMA is bound.
if lr_cuco_EMA->gv_VALUE is not initial.
if lr_cuco_EMA->gv_COUNT IS NOT INITIAL.
clear lr_cuco_EMA->gv_COUNT.
endif.
LV_URL = lr_cuco_EMA->gv_VALUE.
Concatenate 'http:/' LV_URL into LV_URL1.
Concatenate '"http:/' LV_URL '"' into LV_URL.
lv_count = lr_cuco_EMA->gv_COUNT mod '2'.
if lv_count Ne 0.
lv_url = lv_url1.
endif.
%>
<scrpt language="Javascript">
window.open(<%= lv_url%>).focus();
</script>
<%
lr_cuco_EMA->gv_COUNT = lr_cuco_EMA->gv_COUNT + 1.
clear lr_cuco_EMA->gv_value.
clear lv_count.
clear lv_url.
clear lv_url1.
ENDIF.
%>
But here my URl is getting called alternate times.If I do not write the code by using the variable GV_COUNT the url is getting called only the first time of the button click and to call the URL again you need to navigate back to the search page and again back to the overview page and click on the button.
Can anyone help me regarding this? I want the URL to be called in a new page on every button click.
Thanks in Advance,
ChandanaHi Nisha,
The crux of your issue here is that you want to call the event triggered with onClick before calling the event triggered on onClientClick. This can be achieved by the following code in the function called on the onClientClick.
function fn_button()
htmlbSL(this,2,'b_row_selection:onInputProcessing()');
window.open("new_page",target="BLANK");
Here, fn_button is the javascript function called on button click, and b_row_selection is the event triggered on the onClick event of row selection.
Try this out and let us know if it works for you.
Regards,
Saurabh -
Call Type node not setting Call Type Dynamically By name.
I'm attempting to use the Call Type node to set a Call Type dynamically by name using the following logic:
concatenate("somestring_",userParseFromVXML("CT"),"_Q")
The userParseFromVXML is a custom function that works correctly and pulls my data out of FromExtVXML correctly. If I use a peripheral variable and use the same logic then set the Call Type node to set the call type dynamically by name using the peripheral variable it sets the call type correctly without any problems. I'm using UCCE 9.0.3 and I'm wondering if anyone else has run across this issue.I wish I'd known about the table function before myself.
This is what my experience is now after having tested these scenarios.
Scenario
Example
PASS/FAIL
String literal
concatenate("somestring_", "test", "_Q")
PASS
Peripheral Variable
concatenate("somestring_", Call.PeripheralVariable1, "_Q")
PASS
Custom Function
concatenate("somestring_", userParseFromVXML("CT"), "_Q")
Passing now (not sure what i must have been missing)
The custom function I'm using returns a string and when I created a new custom function returning a String literal it worked just fine. After doing my testing and swapping back to my original custom function I started seeing the call tagged with the correct Call Type, so I can only assume that I was missing something in the original concatenate string. The custom function I am using is as follows:
if((find(%1%,Call.user.microapp.FromExtVXML[0]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[0])),if((find(%1%,Call.user.microapp.FromExtVXML[1]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[1])),if((find(%1%,Call.user.microapp.FromExtVXML[2]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[2])),if((find(%1%,Call.user.microapp.FromExtVXML[3]))>0,before(";",after(concatenate(%1%,"="),Call.user.microapp.FromExtVXML[3])),"Not Found")))) -
HR_INFOTYPE_OPERATION called inside Dynamic action
I am writing a subroutine called by dynamic action.
Where using FM 'HR_INFOTYPE_OPERATION' i have to delimit or delete the records of infotype 0167.
Although, HR_INFOTYPE_OPERATION, is executing with return is 0. but there is no change in the infotype reocrd.
The same code written independent without called from Dynamic action, infotype record is been updated.
Any help would be highly appriciated.
Regards
ManvirAlso look at thread !!
Re: Strange behavior of FM u0093HR_MAINTAIN_MASTERDATA u0093
and
Re: Why does the NOCOMMIT parameter not work in HR_INFOTYPE_OPERATION?
Id recommend you to write BDC program . This FM is behaving in a weird way!!!
<b>I used it only for 'INS' ...</b>
Hope thisll give you idea!!
<b>P.S award the points.</b>
Good luck
Thanks
Saquib Khan
"Some are wise and some are otherwise" -
Call a dynamic action automatically on a regular basis
Hi,
We have a classic report on a page which we would like to refresh automaticallly every X minutes. We have done this using setInterval and $a_report however as I understand, this is unsupported functionality... So I would like to go down the dynamic action route.
But my question is this... how can I call the dynamic action automatically say every 3 minutes, without any user interaction?Hi John,
maybe it's easier for you to get the approval because it's a plug-in we (Oracle) provide.
You mentioned that you already had a setInterval with $a_report solution in place. Instead of the unsupported $a_report you can use the supported
jQuery( "#static_id_of_your_report_region" ).trigger ( "apexrefresh" );to trigger a refresh of your report region. That will be identical to the "Refresh" dynamic action. But I would still suggest to go with the "Timer" dynamic action plug-in, because this will be more transparent for other developers when looking at your page.
Regards
Patrick
My Blog: http://www.inside-oracle-apex.com
APEX Plug-Ins: http://apex.oracle.com/plugins
Twitter: http://www.twitter.com/patrickwolf -
OSB Dynamic service call or dynamic route and transactions
Hello,
I've got the following problem in my OSB architecture for asynchronous incomming services.
OSB version is 10.3.1
ConnectionFactory is XA
Problem domain:
Dynamic service call or dynamic route within transaction boundary
Elements within transaction:
1. JMS Queue ->
2. Upper Proxy Service (De-queue) ->
3. Lower Proxy Service (Canonical Service) ->
4. Business Service (Data Service) ->
5. Database Adapter->
6. Database
Dynamic element
Upper Proxy Service (De-Queue) must be able to determine which Lower Proxy Service (Canonical Service) has to be called on the basis of the message taken from the JMS Queue without losing the transaction (this doesn’t work yet).
Already tried possible solutions:
• Make a service call dynamic by setting the $inbound name attribute. This results in a this property is read-only error.
• Use a Dynamic route instead of a service-call. This results in a loss of transaction. The message is deleted from the Queue without taking failure or success into account.
• Use a Dynamic route with a quality of service set to exactly once in the header. This seems to be ignored, results in a loss of transaction.
• Use a Dynamic route with an explicit reply with failure for errors. Results in a loss of transaction.
• Use a Dynamic Publish. This doesn’t fit the required flow because it has no response.
I hope someone can shed some light on this because I'm at a total loss. I found some references in the forum to what seems to be the same problem but without definite answers. A work-around is also a viable answer.
Regards,
Bas MulHi,
I'll try to clarify.
Upper proxy dequeues a message.
Depending on a value of a specific tag within the message a canonical proxy service (out of 5 at the moment but this numer could increase) has to be called (and be dynamic transform transformed to the format of the specific canonical).
The canonical service must then pass the message to a database adaper's business service which is responsible for the database insert/update/read.
If something in the chain from dequeue to database action goes wrong the message may not dissapear from the queue.
Somehow a dynamic route in the message flow between dequeue proxy and canonical proxy breaks the transaction.
Bas -
How to call a dynamic URL on 'button press' event, in MVC-based BSP
Hi,
My requirement is as below:
On selecting a row in table view, and pressing a button, I need to open a browser.
The Browser URL depends on the row selected.
The key field from table view, is added at the end of the URL string.
Shortly, I can say that, I am getting a value on row selection & want to pass it to button event.
In Views Section, there are 2 tags- (1)table view & (2)button.
Right now, I have put the code for getting the key field, in DO_HANDLE_DATA method.
In Button's OnClientClick method, I have called the Javascript to open the browser.
If I now write the code to concatenate the key field value to form the dynamic URL in 'OnClick' method,
it will be called only after the browser is opened.
(as OnClick event is executed only after OnClientClick event is executed)
Could anyone please tell me what event (and in which tag) can be used to solve this.
Is there any event which is triggered, as soon as the row is selected, & before the button press event is triggered ?
Would really appreciate responses made to this query.
Thanks,
Nisha Vengal.Hi Nisha,
The crux of your issue here is that you want to call the event triggered with onClick before calling the event triggered on onClientClick. This can be achieved by the following code in the function called on the onClientClick.
function fn_button()
htmlbSL(this,2,'b_row_selection:onInputProcessing()');
window.open("new_page",target="BLANK");
Here, fn_button is the javascript function called on button click, and b_row_selection is the event triggered on the onClick event of row selection.
Try this out and let us know if it works for you.
Regards,
Saurabh -
Hi,
I require calling 2 different RFC in the same receiver dynamically based on one of the content in my Message. How can I do this.
Basically, assume i have a message with Create='Y', need to call a one RFC and if Create='N', need to call another RFC.
This is just an example not the actual scenario.
Regards
UnniHey,
we can have two solution for this.
Solution 1:
Use a BPM . in that use a switch case.
based on your condition provided in the switch case(for eg create=y or create=N) choose the interface mapping(using transformation step of BPM). two different RFC's will be having two different interface mappings.
Solution 2:
In your configuration you need to create two different services for the same R3. and have two diffent communication channels.
In your reciever determination give your condition(eg create = y or create=N). Give both the services in the service field.
Now give the interface mappings(different for the two RFCs) in the interface determination for each reciever.
I would suggest you to go with solution 1.
Reward points if helpful. -
Can I call a dynamically loaded subvi from a subvi inside a library?
I have an application that uses a .lvlib, this library has many subvi's. From my executable, I can dynamically load subvi's within the library using the "open reference.vi" and passing in just the name as long as the subvi's being called are listed in the "always included" list of my build specification. What I want to do now is load an external subvi (external to the library) using the same method. But when I try to do this, LabVIEW cannot find the external subvi even when it is included as part of the executable. It seems the Paths are getting messed up. Here is what is happening:
Lets say I have Mylibrary.lvlib as my library in the following path C:\MyProject\Mylibrary.lvlib,
and internal.vi as my subvi within the library in the following path C:\MyProject\MySubVis\internal.vi,
and external.vi as my subvi outside of my library in the following path C:\MyProject\external.vi
This is all in the same project.
I'm using the "Open VI Reference.vi" from internal.vi to call external.vi, and I'm including both internal.vi and external.vi in my executable (MyEXE.exe for illustration purposes). When I run this part of my code I get an error and LabVIEW reports the path of my external subvi as: C:\MyProject\MyEXE.exe\MySubVis\external.vi which is really the path for my library subvi. Why?
Either way, when I hard code what is supposed to be the correct path to my external subvi: C:\MyProject\MyEXE.exe\external.vi, LabVIEW can't seem to find the file, its' almost like an access scope problem because I'm trying to access something outside of the library. Is there such thing? If the file is part of my exe why can't LabVIEW find it??? How can I call my external.vi BY NAME from my internal.vi??
Any help is appreciated.Your hardcoded path is incorrect. How do you have the build configured? Are you using the new executable structure or the pre-8.2 structure.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Calling procedure dynamically, from different schema, permissions issue
Hi,
I have a 'master_user' schema that needs to run DDL on a 'secondary_user' schema.
There appears to be some kind of permissions subtlety that I'm missing. Here are the simplified steps to create, test and troubleshoot:
Secondary schema has a procedure defined:
-- Run as SYSTEM (at build time)
CREATE OR REPLACE PROCEDURE secondary_user.execute_immediate(p_sql_statement IN VARCHAR2)
IS
BEGIN
EXECUTE IMMEDIATE p_sql_statement;
END;
GRANT EXECUTE ON secondary_user.execute_immediate TO master_user;
I then want to call this procedure from master_user to execute DDL dynamically in secondary_user.
- Run as master_user
BEGIN
EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
END;
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at SECONDARY_USER.EXECUTE_IMMEDIATE", line 5
ORA-06512: at line 1
ORA-06512: at line 2
TROUBLESHOOTING SO FAR:
Now I can call this procedure directly:
-- As master_user
EXEC secondary_user.execute_immediate('drop table test1')
PL/SQL procedure successfully completed.
I can call the wrapped procedure as different users:
-- As secondary_user
BEGIN
EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
END;
PL/SQL procedure successfully completed.
-- As SYSTEM
BEGIN
EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
END;
PL/SQL procedure successfully completed.
Can you shed any light on this behaviour? The master_user clearly has permission to run the procedure, but it cannot see it from within an anonymous block. However SYSTEM can so what permission does SYSTEM have that master_user does not?
Much appreciated,
SiSomething doesn't add up:
SCOTT@orcl > create user secondary_user
2 identified by secondary_user
3 default tablespace users
4 quota unlimited on users
5 /
User created.
SCOTT@orcl > grant create session to secondary_user
2 /
Grant succeeded.
SCOTT@orcl > create user master_user
2 identified by master_user
3 default tablespace users
4 quota unlimited on users
5 /
User created.
SCOTT@orcl > grant create session to master_user
2 /
Grant succeeded.
SCOTT@orcl > CREATE OR REPLACE PROCEDURE secondary_user.execute_immediate(p_sql_statement IN VARCHAR2)
2
3 IS
4
5 BEGIN
6
7 EXECUTE IMMEDIATE p_sql_statement;
8
9 END;
10
11 /
Procedure created.
SCOTT@orcl > GRANT EXECUTE ON secondary_user.execute_immediate TO master_user;
Grant succeeded.
SCOTT@orcl >
SCOTT@orcl > create table secondary_user.test1(n number)
2 /
Table created.
SCOTT@orcl > connect master_user@orcl
Enter password:
Connected.
MASTER_USER@orcl > BEGIN
2
3 EXECUTE IMMEDIATE ' BEGIN secondary_user.execute_immediate(''DROP TABLE test1''); END;';
4
5 END;
6
7 /
PL/SQL procedure successfully completed.
MASTER_USER@orcl >
Make sure table secondary_user.test1 exists when you run SP. And, as you can see, neither secondary_user nor master_user have any privs besides create session.
SY. -
Calling a Dynamic URL in a BSP
Hi all,
We are calling a BW Web Report from a BSP application . Presently we have hardcoded the BW Web Report but when we move from Devlopement to Quality and subsequently to Production we would need to pass the respective URLs.
One way of achieving the above, is to write Case statements specific to Development, Quality and Production System -IDs, Is there any other way in which we pass the URLs dynamically to the BSP.
Thanx in advance.to dynamically construct BW web report url you can do the following
call the following FM
CALL FUNCTION 'TH_GET_VIRT_HOST_DATA'
EXPORTING
protocol = 1 " 1 for http 2 for https
virt_idx = 0
LOCAL = 1
IMPORTING
hostname = server
port = port
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3 .
now you can use something like below.
concatenate `http://` server `:` port
`/sap/bw/BEx?sap-language=EN&bsplanguage=EN&CMD=LDOC&INFOCUBE=<cubename>&QUERY=<queryname>` into bwurl.
Hope this is clear. If not do get back.
please note that if you are using webdispatcher then you may have to follow a different approach.
Regards
Raja -
RFC-Call using dynamic Parameters
Dear Forum!
I'd like to call a RFC function module using a dynamic parameter list.
I can either call
CALL FUNCTION bapiname DESTINATION fsystem.
or
CALL FUNCTION bapiname
PARAMETER-TABLE lt_param
EXCEPTION-TABLE lt_excep.
but not both combined!
The ABAP docu says, both should work together. If using DESTINATION the same options as for standard FM calls are allowed... (seen at: Transaction ABAPHELP, search for CALL FUNCTION, choose topic 4 for RFC)
Who is wrong? The docu or me? How can I combine both?
Cheers
TorstenHi Abir,
thanks for your helpful answer.
But I don't understand this:
For calling a remote enabled FM, it needs to be released which means the parameters would be fixed and thus the RFC layer does not allow using parameter table in such cases.
The FM resides on a remote system. It does not matter me, whether the FM is released, fixed or done with something other. As long it is reachable, I'm fine.
I am wondering about the fact, that I can call a local FM dynamically, but cannot do so for a remote call.
In the online documentation you can read, that a remote call function (with parameter destination ) has the same options like a standard call function. Actually this statement seems to be wrong. Right?
Best regards
Torsten -
Hi all,
How can I call a message dynamically?
For e.g.: MESSAGE E011(00)
Where
00 --> Message ID (class) - get at runtime
011 --> Message number - get at runtime
Thanks,
Khanh
Edited by: Khanh Nguyen on Mar 26, 2010 6:43 PMYou always see this in the SY-SUBRC NE 0 statement of a function module but never thought about it
DATA: v_id TYPE sy-msgid VALUE 'Z_MSG',
v_mtype TYPE sy-msgty VALUE 'I',
v_num TYPE sy-msgno VALUE '014'.
MESSAGE ID v_id TYPE v_mtype NUMBER v_num.
Maybe you are looking for
-
Hi, we are using report60, in front end reporting and all the reports call using a parameret form developed in oracle form 6.0 ( as report parameter is suppressed) , when destype is printer is I want to select printer name from all defined printer in
-
We could not complete your iTunes store request an unknown error occured 50
Yeah. I got this message while I was trying to access the iTunes store and I had to wait about 10 minutes then I got this message. "We could not complete your iTunes store request. An unknown error occurred (-50). " I am on a multi-user mac mini runn
-
New OJ6830, latest HP software installed on Win7 64 bit. HP Scan scans and displays the scanned pages. But, when I try to save the file as a pdf or tiff, I get the following error message: "The HP Scan Application was unable to save the file to the
-
My MacBook Pro won't start up. It displays a Question Mark for a while, and you can hear the HDD spinning, as well as some clicks, but nothing happens. It started after I accepted and began a recommended upgrade download and install. I started
-
Ipod touch - won't connect to internet
alrighty. i have an ipod touch 4th gen. this morning it worked fine, it connected to my router, and i was able to access the internet and do everything i usually do. i disconnected my ipod from my router so my dad could run a speed test for me. when