Passing values and calling PL/SQL process via a column link

Hello all
I have a report and a link on one of the columns which takes you to another page and passes data from the report to that page. That all works fine. In addition to picking up the details from the report I'd also like the link to call a page process before it goes to the next page using some of the values picked up from the report. This I can get to work by changing the link to a URL and putting in some javascript ie javascript:doSubmit('TEST_PROCESS'); By doing this I "lose" the ability to pass the info from the report via the link.
Can anyone give me a clue as to how I can achieve both please? I'm assuming I'll need to create my own javascript function but I don't know how to pick up information from a row in a report to pass on.
Regards
Helen

Lets say your link would pass 2 items P1_ITEM and P1_ITEM2 to your process. Just write a quick javascript function to do this and put it in the header:
<script type="text/javascript">
function doSomething(pValue1,pValue2){
  $s('P1_ITEM',pValue1);
  $s('P1_ITEM2',pValue2);
  doSubmit('TEST_PROCESS');
</script>This will set 2 hidden items equal to whatever you pass in. Then you can use these in your after-submit process. To call this from your url, just make the url:
javascript:doSomething(#COL1#,#COL2#);#COL1# and 2 being your report columns. This should do what you need i think

Similar Messages

  • Passing values and calling other classes?

    Hello all.
    I have 2 classes(separate .java files). One is a login class and the other is the actual program. Login class(eventually exe file) should open the other class and pass the login parameters if you know what I mean. Is this possible, or do the 2 classes need to be part of one file?
    Thanks alot
    Milan D

    Login class can be another class in another file
    wht u have to do is to make an instance of login class in the class u want to use that class
    like login lg = new Login();
    and call method of login class
    lg.setUser(username);
    where setUser(String user); is a method of login class
    this way u can pass the parameters to login class
    i hope this might be helpful
    regards
    Moazzam

  • How do we pass values and Internal tables to Sub-routines

    how do we pass values and Internal tables to Sub-routines

    Hi,
    You can use the USING..or TABLES..or Changing addition..
    Check this example.
    DATA: T_MARA TYPE STANDARD TABLE OF MARA.
    PERFORM DISPLAY USING T_MARA.
    FORM DISPLAY USING LT_MARA LIKE T_MARA.
    DATA: WA TYPE MARA.
    LOOP AT LT_MARA INTO WA.
      WRITE: / WA-MATNR.
    ENDLOOP.
    ENDFORM.
    Thanks
    Naren

  • Testcase, how to split up an xml message and call a BPEL process.

    Another question.
    Considering the following XML message.
    <?xml version="1.0" encoding="UTF-8"?>
    <rows>
    <row>
    <id>10</id>
    <naam>A</naam>
    </row>
    <row>
    <id>20</id>
    <naam>B</naam>
    </row>
    </rows>
    An input message can consist of 1 to about 20000 <row></row> elements. I would like to split up this message into individual <row></row> and call a BPEL process for further processing.
    I've tried to use the file adapters feature "Files contain Multiple Messages" Publish Messages in batches of.." This did not work. ( root element expected exceptions ).
    I've also tried to invoke an extra async routing service with a mapping which removes the root element. This also doesn't work as it leaves the following ( incorrect ) xml message at the end.
    <row>
    <id>10</id>
    <naam>A</naam>
    </row>
    <row>
    <id>20</id>
    <naam>B</naam>
    </row>
    Which is logical considering how an XSL transformation works.
    Is there any way to achieve this?
    Any help is appreciated!

    You shoul create a while loop, that loops through XML payload for each row. Than you can process each individual row. See also example:
    C:\orabpel\samples\tutorials\112.Arrays\ArraySample.bpel

  • Need to invoke a process from a column link and then redirect to a url

    Is it possible to invoke a process from a column link then redirect to a url
    I want to invoke a process that has a pl sql block of code which will do some table inserts and then redirect the user to an external url.
    Any help would be appreciated.

    Howdy Scott,
    I thought this might help me but I've got a dynamic form with apex_application.g_f01(i) items on it ie tabular form. How can I take the value of these arrays with me to the temporary page with the onload process?
    Thanks
    Gary

  • Passing values to a dynamic selection screen via a report

    Hi,
    I have the following problem and need to seek your expertise urgently.
    In my program, I need to call another report by passing in parameters to the selection screen of other report. However, I could not pass values into a dynamic selection screen. I tried to use submit (report) with free selection but do not know how it works.
    Currently, I tried calling the function RS_REFRESH_FROM_DYNAMICAL_SEL and FREE_SELECTIONS_RANGE_2_EX. Using the object the first function has returned to me, I tried to append values such as fieldname etc to it. However, I realised the field names of a dynamic selection screen keeps changing. So I would not know how to pass a particular value to a selection field.
    Appreciate any help given.
    Thanks,
    CK

    Hello CK,
    Are you using logical database in your selection screen program attributes? If it is, look at include file DBxxxSEL for parameter named xxxDYNSE where xxx = logical database. Debug the program that has that dynamic selection, and look at field xxxDYNSE. This should give you a hint on how to populate the parameter when you submit the program.

  • Passing values to anonymous pl/sql block error

    Hi,
    I have update_table.sql sql script which updates the table MST_TOT. The sql script is being called from
    unix shell script in loop with 2 parameters values. 1. str# 2. rtl#.
    e.g. The shell script will call 5 time sql script with different str# and rtl#.
    update_table.sql
    DECLARE CURSOR cur_qty IS
    SELECT
    COL1,
    COL2
    FROM MST_DTL
    WHERE
         AND STR = &1
         AND RTL = &2;
    l_COL1 NUMBER;
    l_COL2 NUMBER;
    BEGIN
    OPEN cur_qty;
    LOOP
    FETCH cur_qty INTO l_COLtrans_dt, l_COL1, l_COL2;
    EXIT WHEN cur_qty%NOTFOUND;
    UPDATE MST_TOT
    SET item_total = l_COL1
    WHERE str_num = &1
    AND rtl_co_num = l_COL2
    END LOOP;
    CLOSE cur_qty;
    COMMIT;
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    END;
    Problem: It completes first sql call and terminates with following error.
    old 32:      AND STR = &1
    new 32:      AND STR = 40
    old 33:      AND RTL = &2
    new 33:      RTL = 12
    PL/SQL procedure successfully completed.
    SP2-0042: unknown command "48|12|" - rest of line ignored.
    Any suggetion?
    Thanks in advance!!
    Dip

    At first sight I miss the semicolon at the end of your update statement:
    UPDATE MST_TOT
    SET item_total = l_COL1
    WHERE str_num = &1
    AND rtl_co_num = l_COL2;Additionally there may be a problem with your &-variables.
    If the columns/values are of varchar type you should put them into quotes inside your code:
    e.g.
    AND STR = '&1'

  • Confusion about call-by -value and call - by reference

    class A{
    public boolean check(String source, ArrayList arr){
    //pROCESS ON ARRAYLIST
    class B {
    A con = new A();
    String source="this is string ";
    ArrayList arr = new ArrayList();
    // suppose Arraylist has some elements
    boolean  error= false;
    error = A.check(source,arr);
    }Is it call by value or call by ref .
    Please help
    }

    Object references are also passed by value. ???Yes, as demonstrated byclass Foo {
        public int bar = 0;
        public static void main(String[] args) {
                Foo foo = new Foo();
                foo.bar = 1;
                System.out.println(foo.bar);
                baz(foo);
                // if this was pass by reference the following line would print 3
                // but it doesn't, it prints 2
                System.out.println(foo.bar);
        private static void baz(Foo foo) {
            foo.bar = 2;
            foo = new Foo();
            foo.bar = 3;
    }

  • How to get the values and attributes of Longlived processes by using ProcessID.

    Hi Experts,
    For  every process we creates, LC ES2 creates processID.
    we know that if you creates  a long lived process, all  the  values which are in proces will be stored some where  in DB.
    Here my requirement is by using  processID I need to get all/some values/variables stored in database.
    I am not able to get values using processID. Here I don't have clue on  how to get the values.
    Please tell me  how to get the same by using  Process Management. Link/guide would be helpful
    Thanks
    Praveen.

    Searchable means you can put a filter criteria on it (e.g. where amount > 50000)
    Visible means you can add have this column returned as an output (and therefore you can add it as column in listview and see it in Task Details).
    These two attributes were provided so that queries could be done against the process variables, but the exact contents of the variables are not allowed to be seen.

  • Issue with Deploying and calling a BPEL process on ALBPM enterprise server

    Hi,
    I am trying to put in place a POC using Aqualogic BEA products (using ALBPM 5.7, Enterprise Server 5.7, ALSB 2.6, Weblogic App server 9.2). My goal is to put in place a simple BPEL process (using ALBPM) which would call a webservice exposed through ALSB. This BPEL process is initiated by a wrapper BPMN process calling the BPEL process through fuego code.
    Though we are able to do the above on a standalone ALBPM studio, When we try to deploy the exported BPM project on the enterprise server and access it through the hiper workspace portal we are getting the following error in the BPM Process Administrator Log of the Engine.
    A component failed while executing activity '/Process#Default-1.0/Global' (BP-method Global). Details: The task could not be successfully executed. Reason: 'fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. '. Caused by: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. fuego.lang.ComponentExecutionException: The task could not be successfully executed. Reason: 'fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. '. at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:916) at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1068) at fuego.server.execution.TaskExecution.invoke(TaskExecution.java:389) at fuego.server.execution.GlobalTaskExecution.invoke(GlobalTaskExecution.java:106) at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:481) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:655) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:616) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:442) at fuego.server.execution.GlobalTaskExecution.executeGlobalCIL(GlobalTaskExecution.java:164) at fuego.server.execution.GlobalTaskExecution.executeGlobalCIL(GlobalTaskExecution.java:142) at fuego.server.execution.Global.execute(Global.java:81) at fuego.server.AbstractProcessBean$38.execute(AbstractProcessBean.java:2496) at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:290) at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:462) at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:540) at fuego.transaction.TransactionAction.start(TransactionAction.java:213) at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:117) at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66) at fuego.server.AbstractProcessBean.runGlobalActivity(AbstractProcessBean.java:2491) at fuego.ejbengine.EJBProcessControlAdapter.runGlobalActivity(EJBProcessControlAdapter.java:386) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl.runGlobalActivity(EJBProcessControlAdapter_hu750h_EOImpl.java:2877) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl_921_WLStub.runGlobalActivity(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at fuego.papi.impl.AbstractProcessControlHandler.invokeInternal(AbstractProcessControlHandler.java:48) at fuego.papi.impl.j2ee.EJBProcessControlHandler.doInvoke(EJBProcessControlHandler.java:111) at fuego.papi.impl.j2ee.EJBProcessControlHandler.invoke(EJBProcessControlHandler.java:66) at $Proxy77.runGlobalActivity(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1478) at fuego.lang.JavaObject.invoke(JavaObject.java:185) at fuego.papi.impl.j2ee.EJBExecution.next(EJBExecution.java:200) at fuego.portal.wapi.InteractiveExecution.process(InteractiveExecution.java:157) at fuego.portal.wapi.WebInteractiveExecution.process(WebInteractiveExecution.java:54) at fuego.portal.wapi.InteractiveExecution.process(InteractiveExecution.java:200) at fuego.portal.servlet.ExecutionDispatcher.runGlobalActivity(ExecutionDispatcher.java:659) at fuego.portal.servlet.ExecutionDispatcher.processRequest(ExecutionDispatcher.java:144) at fuego.portal.servlet.ExecutionDispatcher.doPost(ExecutionDispatcher.java:105) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at fuego.portal.servlet.AuthenticatedWamServlet.service(AuthenticatedWamServlet.java:1049) at fuego.portal.servlet.SingleThreadPerSession.service(SingleThreadPerSession.java:73) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at fuego.servlet.multipart.BaseMultipartFilter.doFilter(BaseMultipartFilter.java:57) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. at fuego.connector.ConnectorException.connectorNotFound(ConnectorException.java:55) at fuego.connector.ConnectorService.getConnectorInterface(ConnectorService.java:586) at fuego.connector.ConnectorTransaction.getConnectorInterface(ConnectorTransaction.java:618) at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:254) at fuego.soaptype.WSConfiguration.getInstance(WSConfiguration.java:55) at fuego.soaptype.Endpoint.create(Endpoint.java:42) at fuego.soaptype.WebServiceInstantiator.instantiate(WebServiceInstantiator.java:58) at fuego.component.Component.instantiateDynamic(Component.java:123) at CapGemini.Process.Default_1_0.Instance.CIL_callBPEL(Instance.java:241) at CapGemini.Process.Default_1_0.Instance.CIL_callBPEL(Instance.java:307) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:907) ... 64 more
    Two things here that might help to understand the problem better :
    1) As I understand the error is due to some issue while calling the BPEL process from the Fuego code.
    The Fuego code which call's the BPEL from the BPMN process is as follows :
    helloResponse as String = "someoutput"
    helloRequest as String = "someinput"
    sessionid as String
    // Starting a Session.
    // In case you are testing this in the Studio,
    // the password must be the same as the user
    startSession BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using user = "test",
    password = "test"
    returning sessionid = result
    // createTest is the name of the operation
    // in the exposed process.
    // In this case the process "ExposedProcess"
    // has a web service operation
    // called "createTest" that is a "Process Creation" type
    // and uses the Begin activity's argument set
    callHello BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using sessionId = sessionid,
    arg1 = helloRequest
    returning helloResponse = result
    // Closing the session
    discardSession BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using sessionId = sessionid
    display "The BPEL's response : " + helloResponse
    2) Further, I had catalogued the BPEL's wsdl to the location http://localhost:9000/fuegoServices/ws/ProcessServiceListener?WSDL while running the same in Studio, but while deploying on the enterprise server , I made this point to http://localhost:7001/fuegoServices/ws/ProcessServiceListener?WSDL Is this correct ?
    Any thought on this issue would be appreciated.
    Regards
    Deepak

    Hi Deepak,
    We are also facing a similar problem, while accessing an external webservice from a BPM process.
    Were you able to resolve this issue.
    If so, Could you please let us know the procedure that you followed to resolve the issue.
    Thanks in Advance,
    Krishnaveni.

  • 11G and activation agents , starting processes via mail

    Hi !
    Is it possible to start BPEL processes via an activation agent as in 10g by having the process waiting for a mail ?
    I can't find anything about this in the developer guide .

    When you see a beachball cursor or the slowness is especially bad, note the exact time: hour, minute, second.  
    These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad and start typing the name.
    The title of the Console window should be All Messages. If it isn't, select
              SYSTEM LOG QUERIES ▹ All Messages
    from the log list on the left. If you don't see that list, select
              View ▹ Show Log List
    from the menu bar at the top of the screen.
    Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above.
    Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first.
    Copy the messages to the Clipboard by pressing the key combination command-C. Paste into a reply to this message by pressing command-V.
    The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
    Please don't indiscriminately dump thousands of lines from the log into this discussion.
    Please don't post screenshots of log messages—post the text.
    Some private information, such as your name, may appear in the log. Anonymize before posting.

  • Calling a page process by clicking a link

    I have an Apex report with multiple rows and a link column in. I'd like to be able to call a page process to do some work on the row with the clicked link... I also need to pass a couple of parameters somehow to the page process as it calls a procedure which requires the parameters to function correctly.
    So -
    When I click a link on a row.. perhaps a couple of hidden page items get set.
    The page is then submitted and my process calls the procedure, using the values of the set items above as its parameters.
    Control is submitted back to the original page.
    So basically I'm trying to give a user the ability to carry out repetitive actions on each row.
    My thought was to use a URL in the link and maybe Javascript.. or am I barking up the wrong tree and is there a better way rather than a link?
    Thoughts?
    Cheers
    Ken

    You have the right idea. JavaScript is the way to go. Assuming that the values that are being passed are part of that row of data, you can construct the call to a JavaScript process.
    Create two hidden items on your page, make sure they are not protected.
    say P1_CITY and P1_STATE
    Say your query included city and state, define a column in the report as a link of target URL with the following url
    javascript:myFunction('#CITY#', '#STATE#');
    Then define a javascript function in the page HTML Header section
    function myFunction(pCity, pState) {
    $x_value('P1_CITY', pCity);
    $x_value('P1_STATE', pState);
    doSubmit('RUNPROC');
    Then have a process on the page does what ever you want and that is conditional on the REQUEST = 'RUNPROC'

  • How do you pass more than 3 items to another page via a Column Link?

    I know this is a simple question, but I don't see it covered in the manual.
    I have a report on page 1, when the user clicks on a column link, I'd like to pass 4 items to the page that is called.
    The Column Link area allows you to specify 3 items. How do people normally accomplish this?
    Do you somehow use page zero? Do you use Application Items for this purpose?
    Also, can someone recommend a good APEX book to supplement the manuals?
    Thanks

    hI
    Oh Varad I didnt know this, Thanks for a new tip ;)
    Just change the target to URL and enter a simple statement
    in the URL section
    f?p=&APP_ID.:50:&SESSION.:10:&DEBUG.::P50_item1,P50_item2,P50_item3,P50_item4:value1,#column_name2#,#column_name3#,#column_name4#
    Use value when u know a fixed value to be passed
    and column names on the same report can be passes by using #column_name#
    Hope this helps
    Thanks
    Ashri
    Edited by: Ashri on Nov 14, 2008 8:34 AM

  • How to pass values and see outout of PL/SQL Tables, SYS_REFCURSORs?

    I am new to SQL Developer (Version 3.0.02).
    Our QC division wants to test stored procedures using SQL Developer.
    I tried to test procedures with PL/SQL tables and SYS_REFCURSORS as input and output parameters.
    When we run it by pressing the green arrow we get the Run PL/SQL window.
    How can we:
    - Put values to SYS_REFCURSOR and PL/SQL table type input parameters?
    - How can we display SYS_REFCURSOR and PL/SQL table type output parameters?
    All this time we were using SQL*Navigator. In Navigator the PL Tables and SYS_REFCURSORs outputs are shown in a nice grid.
    Here, in SQL Developer, do we have to WRITE our own code to input and display these types of parameters????

    Hi Channa,
    Yes in SQL Developer 3.0 you will have to write your own code to test out ref cursors.
    I had created test harness scripts for all my procedures having ref cursors as parameters.
    And I had to dbms_output all the values on the screen.
    Probably a limitation of the SQL Developer 3.0 tool.
    In case you come across different solution to this do let me know also.
    Thanks,
    Viju
    blog: http://whizdba.wordpress.com

  • How to pass a value and call SE38 program using SUBMIT statement

    Hello Friends
    I am trying to write a batch program in SE38, that calls other SE38 Programs.
    I don't want to use Parameter command to see the value on screen.
    All I want is to send a range of date (ToDate & FromDate) and generate different reports satisfying this date range condition.
    Can some one please help me with this. I would really appreciate it.
    I have tried the command SUBMIT with options of filling the input fields of the subsequent programs but I don't want to do this.
    I want all the sub programs to be called one after another and the reports generated using the date varialbles I send from the main program.
    I don't want to use se37 functions because of the client's request.
    Any help will be highly appreciated.
    Tks
    Ram

    Yes I am using SUBMIT command but I was not using the right options with the SUBMIT command and once I used the right options, it worked.
    Tks
    Ram

Maybe you are looking for