Return event with parameters ?

Hi Forte-users !
I have to call a method of a Service Object and I want to know when the task is completed.
I have to react differently according to a parameter of the method.
I want that only I receive the event.
I tried different things :
1. With differents events
=========================
In MySO.Mymethod :
IF MyParam = 1 THEN
POST MyEvent1;
ELSE
POST MyEvent2;
END IF;
In my main method :
start task MySO.Mymethod(MyParam)
WHEN MySO.MyEvent1 DO
WHEN MySO.MyEvent2 DO
When I post different events according to MyParam in MyMethod, all users receive this event.
2. With a return event
======================
start task MySO.Mymethod(MyParam) when completion = event
When MySO.MyEvent DO
When I use a return event, I only receive the event but I can't react differently according to MyParam.
Is it possible to define a parameter for MyEvent ? How ?
If not, does anybody see what I could do ?
Thanks,
Solen Boureau
__^__ __^__
| / | Solen Boureau | \ |
| / | Siemens AG Austria | \ |
| / | PSE NLT2 tel: (+43-1) 1707 - 47072 | \ |
| / | Gudrunstr. 11 fax: (+43-1) 1707 - 56256 | \ |
|___| A-1100 Wien email: [email protected] |___|
^ ^

You can use method 1 but instead of posting the event, call a method on an
object that you pass from the client to the SO. You have to anchor that
object and I can't recall the exact procedures to do that. This will allow
you to just notify the client that started the method - not all clients.
Good Luck,
Tony Elmore
MSF&W
Springfield, IL
(217) 698-3535
[email protected]
From: Boureau PSE NLT <[email protected]>
To: [email protected]
Cc: [email protected]
Subject: return event with parameters ?
Date: Friday, March 07, 1997 9:46 AM
Hi Forte-users !
I have to call a method of a Service Object and I want to know when thetask is completed.
I have to react differently according to a parameter of the method.
I want that only I receive the event.
I tried different things :
1. With differents events
=========================
In MySO.Mymethod :
IF MyParam = 1 THEN
POST MyEvent1;
ELSE
POST MyEvent2;
END IF;
In my main method :
start task MySO.Mymethod(MyParam)
WHEN MySO.MyEvent1 DO
WHEN MySO.MyEvent2 DO
When I post different events according to MyParam in MyMethod, all usersreceive this event.
>
>
2. With a return event
======================
start task MySO.Mymethod(MyParam) when completion = event
When MySO.MyEvent DO
When I use a return event, I only receive the event but I can't reactdifferently according to MyParam.
Is it possible to define a parameter for MyEvent ? How ?
If not, does anybody see what I could do ?
Thanks,
Solen Boureau
__^__ __^__
| / | Solen Boureau | \ |
| / | Siemens AG Austria | \ |
| / | PSE NLT2 tel: (+43-1) 1707 - 47072 | \ |
| / | Gudrunstr. 11 fax: (+43-1) 1707 - 56256 | \ |
|___| A-1100 Wien email: [email protected] |___|
^ ^

Similar Messages

  • How to raise a self-defined event with parameters in program

    Hi,all,
    I want to raise a self-defined event with parameters in one of my method ,how to do that?Thanks

    Hi Ray,
    If your event name is MYEVENT and the parameter name is MYPARA and the value you want to pass to this parameter is L_PARAVALUE, use the following -
    wd_this->fire_myevent_evt( mypara = l_paravalue ).
    If the event is to be raised in an a view, then you need to get the component controller instance first and use it instead of wd_this.
    Also, this can be obtained directly by clicking on the WD Code Wizard ->Radio button for raise event->selecting your event.
    Regards,
    Neha
    <i><b>PS:Reward if helpful</b></i>

  • RE: (forte-users) Confusion with return event

    Samer,
    The return event is delivered to the calling task, which is the window in
    your first test. It is not deliverd to the event loop of the service object
    unless the call to the processor originated in the event loop, which is the
    case in your second test. The output you get from the server is exactly as I
    would expect.
    You need the following code in you client:
    event loop
    postregister
    SomeService1.StartImmediate();
    when SomeService1.Proc.ProcessEvent_return do
    task.Part.Logmgr.Putline('ProcessEvents_return');
    when SomeService1.Proc.ProcessEvent_exception do
    task.Part.Logmgr.Putline('ProcessEvents_exception');
    end event;
    Note that this logoutput will not be written to a logfile, but will appear
    in the logwindow which is opened when you start a client application.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Samer Kanjo [mailto:skanjoyahoo.com]
    Sent: Thursday, January 18, 2001 1:54 AM
    To: ForteUsers
    Subject: (forte-users) Confusion with return event
    I have observed some odd behavior when attempting to
    catch a return event for a method invoked using start
    task. I provided the primary classes I used during my
    test and some output produced by those classes at the
    bottom of this message.
    The SomeService1 class is used to create an
    environment visible service object and the Processor
    class is one of its members. The Processor class
    starts processing when one of two things happens: the
    SomeService1 timer ticks off 10 seconds or when
    SomeService1.StartImmediate is called directly by
    another entity. Either way StartImmediate is called to
    start processing.
    The provided output is the result of starting a test
    application and invoking StartImmediate from another
    object (I used a window) and then observing what
    happens when the timer ticks. As you can see the
    invocation from the window did not result in the
    return event being received. However, the return event
    was received when the timer ticked.
    According to the Forte documentation a return event
    will only be posted to the parent task's event queue.
    Since I am making a cross partition call, the window
    and service object are not really in the same task
    (Unless my assumption is wrong). That would explain
    why the window did not cause a return event to be
    generated but was an event generated but not caught
    and if so where did the event go?
    In SomeService2 class I added an event StartProcessing
    and moved the code from StartImmediate to the
    StartProcessing event case in the event loop and
    simply posted the StartProcessing event in
    StartImmediate. I performed the same test I used when
    testing SomeService1. The Traceback output is
    identical for the window invocation but the return
    event is received this time! Why?
    It seems that to guarantee the receipt of a return
    event an asynchronous task must be initiated from
    within an event loop. Is this correct?
    I do not understand this behavior does someone have
    any thoughts on this? How can you guarantee the
    receipt of a return event?
    Samer Kanjo
    OUTPUT FROM SOMESERVICE1
    StartTaskTest_cl0: processing loop listening
    StartTaskTest_cl0:
    Traceback:
    SomeService.StartImmediate at line 1
    TestWin.Display at line 4
    C++ Method(s)
    UserApp.Run at offset 105
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0:
    Traceback:
    SomeService.StartImmediate at line 1
    SomeService.ProcessingLoop at line 9
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0: ProcessEvents_return
    OUTPUT FROM SOMESERVICE2
    StartTaskTest_cl0: processing loop listening
    StartTaskTest_cl0:
    Traceback:
    SomeService2.StartImmediate at line 1
    TestWin.Display at line 4
    C++ Method(s)
    UserApp.Run at offset 105
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0: ProcessEvents_return
    StartTaskTest_cl0:
    Traceback:
    SomeService2.StartImmediate at line 1
    SomeService2.ProcessingLoop at line 9
    StartTaskTest_cl0:
    StartTaskTest_cl0: Start processing...
    StartTaskTest_cl0: Processing complete.
    StartTaskTest_cl0: ProcessEvents_return
    SOMESERVICE1 CLASS
    begin CLASS;
    class SomeService1 inherits from Framework.Object
    has public attribute proc: StartTaskTest.Processor;
    has public attribute processing: Framework.boolean;
    has public method Init;
    has public method ProcessingLoop;
    has public method StartImmediate;
    has property
    shared=(allow=off, override=on);
    transactional=(allow=off, override=on);
    monitored=(allow=off, override=on);
    distributed=(allow=on, override=on, default=off);
    end class;
    method SomeService1.Init
    begin
    super.Init();
    processing = FALSE;
    proc = new;
    start task ProcessingLoop();
    end method;
    method SomeService1.ProcessingLoop
    begin
    timer : Timer = new;
    timer.tickInterval = 10000;
    event loop
    task.part.logmgr.putline('processing loop
    listening');
    timer.isActive = TRUE;
    when timer.tick do
    StartImmediate();
    when proc.ProcessEvents_return do
    task.part.logmgr.putline('ProcessEvents_return');
    processing = FALSE;
    when proc.ProcessEvents_exception do
    task.part.logmgr.putline('ProcessEvents_exception');
    processing = FALSE;
    when task.shutdown do
    exit;
    end event;
    end method;
    method SomeService1.StartImmediate
    begin
    task.part.logmgr.putline(task.traceBack());
    processing = TRUE;
    start task proc.ProcessEvents() where completion =
    event;
    end method;
    end CLASS;
    SOMESERVICE2 CLASS
    begin CLASS;
    class SomeService2 inherits from Framework.Object
    has public attribute proc: StartTaskTest.Processor;
    has public attribute processing: Framework.boolean;
    has public event StartProcessing;
    has public method Init;
    has public method ProcessingLoop;
    has public method StartImmediate;
    has property
    shared=(allow=off, override=on);
    transactional=(allow=off, override=on);
    monitored=(allow=off, override=on);
    distributed=(allow=on, override=on, default=off);
    end class;
    method SomeService2.Init
    begin
    super.Init();
    processing = FALSE;
    proc = new;
    start task ProcessingLoop();
    end method;
    method SomeService2.ProcessingLoop
    begin
    timer : Timer = new;
    timer.tickInterval = 10000;
    event loop
    task.part.logmgr.putline('processing loop
    listening');
    timer.isActive = TRUE;
    when timer.tick do
    StartImmediate();
    when self.StartProcessing do
    processing = TRUE;
    start task proc.ProcessEvents() where completion =
    event;
    when proc.ProcessEvents_return do
    task.part.logmgr.putline('ProcessEvents_return');
    processing = FALSE;
    when proc.ProcessEvents_exception do
    task.part.logmgr.putline('ProcessEvents_exception');
    processing = FALSE;
    when task.shutdown do
    exit;
    end event;
    end method;
    method SomeService2.StartImmediate
    begin
    task.part.logmgr.putline(task.traceBack());
    post StartProcessing;
    end method;
    end CLASS;
    PROCESSOR CLASS
    begin CLASS;
    class Processor inherits from Framework.Object
    has public method Init;
    has public method ProcessEvents where completion =
    (return = ProcessEvents_return, exception =
    ProcessEvents_exception);
    has property
    shared=(allow=off, override=on);
    transactional=(allow=off, override=on);
    monitored=(allow=off, override=on);
    distributed=(allow=off, override=on);
    end class;
    method Processor.Init
    begin
    super.Init();
    end method;
    method Processor.ProcessEvents
    begin
    task.part.logmgr.putline('Start processing...');
    task.Delay(msecs = 1500);
    task.part.logmgr.putline('Processing complete.');
    end method;
    end CLASS;
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Yes, you're right. The return event is queued until the moment that you
    actually enter an eventloop. I stand corrected.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Sent: Thursday, January 18, 2001 6:13 PM
    To: Rottier, Pascal
    Cc: 'forte-userslists.xpedior.com'
    Subject: RE: (forte-users) Confusion with return event
    I think it is always safe to use start task with where complition = event
    clause before event loop. The reason is described in Forte Help in the
    Complition Clause index:
    "Requesting the return and exception events automatically registers the
    events for the calling task. When the asynchronous method completes or
    terminates, Fort&eacute; adds the appropriate event to the calling task's event
    queue.
    This registration is unlike the event registration for the event statement.
    In the event statement, the event is registered just before the event
    statement is ready to process the event. In the start task statement, the
    return and exception events are registered when the task is started, even
    though it can be much later on that your application is prepared to wait for
    those events. Therefore, only the "parent" task that executes the start task
    statement is registered for the completion event of the started task."
    and some comments from "Forte Performance and Patterns" page 18:
    "When you use the where completion = event clause in the start task
    statement, Forte automatically buffer the return event until you register
    for it. Therefore, you do not need to worry about the child task completing
    before you register for its return event".
    Regards,
    Zenon
    -----Original Message-----
    From: Rottier, Pascal [SMTP:Rottier.Pascalpmintl.ch]
    Sent: Thursday, January 18, 2001 11:16 AM
    To: 'Samer Kanjo'; ForteUsers
    Subject: RE: (forte-users) Confusion with return event
    Yes, if you want the eventloop of the service object to be informed when
    the
    method on the processor class is invoked, regardless of who invoked it,
    then
    you should simply post an event as the last statement inside the method on
    the processor class.
    The return events are only used to inform a partent task that a child-task
    has completed. So, only the calling task receives the event, only if the
    calling task is inside an event-loop at the moment the child-task
    terminates
    and only if there really is a child task (method started using "start task
    Note, that the calling task doesn't have to be inside an event loop when
    the
    asynchronous call is made. It has to be inside an eventloop when the
    asynchronous task terminates. The following piece of code works just as
    well:
    SomeService1.StartImmediate();
    self.DoSomeOtherStuff();
    event loop
    when SomeService1.Proc.ProcessEvent_return do
    task.Part.Logmgr.Putline('ProcessEvents_return');
    when SomeService1.Proc.ProcessEvent_exception do
    task.Part.Logmgr.Putline('ProcessEvents_exception');
    end event;
    However, if the asynchronous task started from within "StartImmediate"
    finishes before the client gets a chance to enter its event loop, then
    you're too late to catch the event. That's why it's safer to use the
    "postregister" function, which makes sure a certain action is not started
    untill all events from the event loop have been registered.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Samer Kanjo [mailto:skanjoyahoo.com]
    Sent: Thursday, January 18, 2001 5:04 PM
    To: ForteUsers
    Subject: RE: (forte-users) Confusion with return event
    Pascal,
    So you are confirming that a return event can only be
    received in an event loop if a task is started from
    within that event loop.
    After making your proposed changes I was able to
    receive the return event in the window.
    I originally wanted the SomeService event loop to
    always receive the return event regardless of whether
    or not StartImmediate is called by some other entity
    or called when the timer ticks. It seems that the only
    way to do this is with events. Is that correct?
    Thank you for insight,
    Samer Kanjo
    --- "Rottier, Pascal" <Rottier.Pascalpmintl.ch>
    wrote:
    Samer,
    The return event is delivered to the calling task,
    which is the window in
    your first test. It is not deliverd to the event
    loop of the service object
    unless the call to the processor originated in the
    event loop, which is the
    case in your second test. The output you get from
    the server is exactly as I
    would expect.
    You need the following code in you client:
    event loop
    postregister
    SomeService1.StartImmediate();
    when SomeService1.Proc.ProcessEvent_return do
    task.Part.Logmgr.Putline('ProcessEvents_return');
    when SomeService1.Proc.ProcessEvent_exception do
    task.Part.Logmgr.Putline('ProcessEvents_exception');
    end event;
    Note that this logoutput will not be written to a
    logfile, but will appear
    in the logwindow which is opened when you start a
    client application.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch--
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Custom Event with multiple EventTypes

    Hello All, First thanks for all those who tryied to help me and apologize for my approximative english.
    I would like to create the more properly as possible a Custom Event with multiple EventTypes, like the MouseEvent typicaly. 
    With Some EventType which permit to acces to some attributes and other not. But I'm totaly lost,  The second solution if someone knows how, is to explain to me how to do to acces to the code of the MouseEvent.as 
    Thanks! 
    Ps: you will find below the basis of the code i have begin. 
    package fr.flashProject
        import flash.events.Event;
         * @author
        public class SWFAddressManagerEvent extends Event
            public static const CHANGE_PAGE:String = "change_page";
            public static const ERROR_404:String = "error_404";
            public static const HOME_PAGE:String = "home_page";
            private var _page:String;
            private var _params:Object;
            public function SWFAddressManagerEvent(type:String, pPage:String = null, pParams:Object = null, bubbles:Boolean=false, cancelable:Boolean=false)
                super(type, bubbles, cancelable);
                _page = pPage;
                _params = _params;
            public override function clone():Event
                return new SWFAddressManagerEvent(_type, _page, _params, bubbles, cancelable);
            public override function toString():String
                return formatToString("SWFAddressManagerEvent", "type", "page", "params", "bubbles", "cancelable", "eventPhase");
            public function get page():String { return _page; }
            public function get params():Object { return _params; }       

    I am not sure what you are trying to accomplish but event can have only single type. Event type is just a string that is typically a constant - exactly like your constants.
    When dispatched, each event INSTANCE has only one type. Again, these types are described in a type parameter by a string. Each dispatched MouseEvent DOES NOT have multiple types but ONLY ONE. It does have multiple constants that are used to assign type at runtime as does your event.
    If you are talking about multiple parameters, you already do that in your custom event class. You have _page and _params. Nothing stops you from adding more parameters.
    Also I am not sure why you need getters for _page and _params.

  • Calling stored procedures with parameters with the Database Connectivi​ty Toolkit

    Hi all,
    I am new to the forum and am having difficulty finding a solution to a particular problem I am having regarding using the LabVIEW Database Connectivity Toolkit on a project I am currently working on at my job.  I have a database in which I have tables and stored procedures with parameters.  Some of these stored procedures have input, output, and return parameters.
    I have been trying to follow this example but to no avail:  http://digital.ni.com/public.nsf/allkb/07FD1307460​83E0686257300006326C4?OpenDocument
    One such stored procedure I am working on implementing is named "dbo.getAllowablePNs", which executes "SELECT * from DeviceType" (DeviceType is the table).  In this case, it does not require an input parameter, it has an output parameter that generates the table [cluster], and has a return parameter which returns an integer value (execution status code) to show if an error occurred.  The DeviceType table has 3 columns; ID (PK, int, not null), PN (nvarchar(15), null), and NumMACAddresses (int, null).  I have gone over many examples and have talking to NI support to try to implement this and similar stored procedures in LabVIEW but have not been successful.  I am able to connect to the database with the Open Connection VI without error, but am running into some confusion following this step.  I am then trying to use the Create Parameterized Query VI to call the stored procedure and set the parameters.  I assume I would then use the Set Parameter Value VI for each parameter that is wired into the parameters input on the previous Parameterized Query VI?  I am also having some confusion during and following these steps as well.  I would greatly appreciate any advice or suggestions anyone might have in regards to this situation as I am not a SQL expert.  Also, I would be happy to provide any more information that would be helpful.
    Regards,
    Jon
    Solved!
    Go to Solution.

    Also, I don't know if this would be helpful but here is the actual stored procedure in SQL:
    CREATEPROCEDURE [dbo].[getLastSequenceNumber]
    @p1 nvarchar(10)='WO-00000'
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SETNOCOUNTON;
    -- Insert statements for procedure here
    selectmax(SequenceNumber)from Devices where WorkOrderNumber= @p1
    END
    GO

  • I cann't execute javac with parameters. please help !!

    Hi All!!
    I can't understand how to execute application or bat file (javac.exe for example) WITH parameters correctly.
    I can execute javac.exe or bat file - WITHOUT parameters :
    Process p = Runtime.getRuntime().exec(WIN_PATH + " " + WIN_FLAG + " " + "javac.exe");
    But I can't execute correctly the command like:
    "javac.exe -classpath C:\Alex; Test.java"
    I tried to use exec(str,env[]) and exec(cmd[]) methods, but there were different errors as a result :(((
    How can I execute the command "javac.exe -classpath C:\Alex; Test.java" ? Is it possible?
    Please help me by a good idea.
    Thank you.

    right you are! That's why we use "\\" instead "\" :)
    If i try to execute this command -
    cmd=WIN_PATH + " " + WIN_FLAG + " " + "c:/j2sdk1.4.0/deleteMe/javac.exe -classpath C:/WORK/jboss-3.0.3/client/jboss-j2ee.jar;S:/Alexander/jars/sys.jar;S:/Alexander/jars/ejb_conf_dev.jar;S:/Alexander/jars/; C:/j2sdk1.4.0/deleteMe/aaBean.java";
    my OS Windows 2000 returns na error - "Error opening icon..."
    What's wrong?
    Thank you...

  • How to call a AM method with parameters from Managed Bean?

    Hi Everyone,
    I have a situation where I need to call AM method (setDefaultSubInv) from Managed bean, under Value change Listner method. Here is what I am doing, I have added AM method on to the page bindings, then in bean calling this
    Class[] paramTypes = { };
    Object[] params = { } ;
    invokeEL("#{bindings.setDefaultSubInv.execute}", paramTypes, params);
    This works and able to call this method if there are no parameters. Say I have to pass a parameter to AM method setDefaultSubInv(String a), i tried calling this from the bean but throws an error
    String aVal = "test";
    Class[] paramTypes = {String.class };
    Object[] params = {aVal } ;
    invokeEL("#{bindings.setDefaultSubInv.execute}", paramTypes, params);
    I am not sure this is the right way to call the method with parameters. Can anyone tell how to call a AM method with parameters from Manage bean
    Thanks,
    San.

    Simply do the following
    1- Make your Method in Client Interface.
    2- Add it to Page Def.
    3- Customize your Script Like the below one to Achieve your goal.
    BindingContainer bindings = getBindings();
    OperationBinding operationBinding = bindings.getOperationBinding("GetUserRoles");
    operationBinding.getParamsMap().put("username", "oracle");
    operationBinding.getParamsMap().put("role", "F1211");
    operationBinding.getParamsMap().put("Connection", "JDBC");
    Object result = operationBinding.execute();
    if (!operationBinding.getErrors().isEmpty()) {
    return null;
    return null;
    i hope it help you
    thanks

  • Calling Stored procedure with Parameters in PowerPivot DataModel

    Hi All,
    I wanted to call a SQL stored procedure from PowerPivot(Excel) on based on changing slicer's value. 
    Currently, we can call stored procedure wihtout any parameter from Data Model tab using 
    Exec stored_proc_name in Table Properties window.
    What if I want to call the same procedure with a parameter whouse value will come by changing slicer's value. I  meant, changing slicer value will act as a parameter to that stored procedure & it should return updated results. 
    Is this possible in PowerPivot?

    Hi Rameshwar,
    According to your description, you call a SQL Server stored procedure in PowerPivot data model, now the problem is that you need to pass a parameter to the stored procedure, right?
    Based on my research, it seems that we cannot achieve this requirement directly in current version of PowerPivot data model. Here is a similar thread for you reference.
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/5350228d-bc62-4a3b-a1a6-e847483e2858/powerpivot-for-excel-2013-call-execute-stored-procedure-with-parameters?forum=sqlkjpowerpivotforexcel
    If you have any concern about this behavior, you can submit a feedback at
    http://connect.microsoft.com/SQLServer/Feedback and hope it is resolved in the next release of service pack or product. Your feedback enables Microsoft to make software and services the best that they can be, Microsoft might consider to add this feature
    in the following release after official confirmation.
    Regards,
    Charlie Liao
    TechNet Community Support

  • How to create a view with parameters; read the documentation but nothing!

    Hello!
    I'm new to the Oracle world but together with my coworkers we need to very quickly study Oracle to figure out whether we'll add Oracle to our list of supported databases or not.
    Question: How do I create a view with parameters?
    I've read the documentation but I could not find this! I found the sql syntax to create a view but no parameters whatsoever...
    I have found on the web some very complicated way of doing this, but doesn't Oracle support Views with parameters?
    The goal here is to return a recordset, don't forget, so,please don't speak about stored procedures unless you are going to tell me how to get a recordset out of a stored procedure! ;)
    Thanks for all your help and attention!
    Jorge C.

    You can set up a parameterized view via context as follows:
    1. Set up a procedure to set your context values:
    create or replace procedure p_set_context (p_context IN VARCHAR2,p_param_name IN VARCHAR2,p_value IN VARCHAR2)
    as
    BEGIN
    sys.dbms_session.set_context(p_context,p_param_name,p_value);
    END;
    2. Create your context using the procedure you just created
    create or replace context my_ctx using p_set_context
    3. This is the test table I'll use
    create table my_table(col1 number)
    and populate it:
    begin
    for v_index in 1..10
    loop
    insert into my_table values(v_index);
    end loop;
    end;
    and the view that will be parameterised
    create or replace view v_my_table as select col1 from my_table where col1 between sys_context('my_ctx','start_range') and sys_context('my_ctx','end_range')
    4. Now set the parameters using the procedure above.
    begin
    p_set_context('my_ctx','start_range','1');
    p_set_context('my_ctx','end_range','5');
    end;
    5. Selecting from my_table will give you 1 to 10 (no surprise there :-) )
    selectng from v_my_table will give you 1 to 5
    You can use the context to set formats etc using the same principle. A common gotcha to watch for is trying to set the context directly using DBMS_SESSION.SET_CONTEXT instead of creating a procedure. This belongs to SYS and SYS won't have the privileges to set your context so you get an insufficient privileges result leading to much headscratching and unnecessary grants (at least that's my understanding of it).
    Sorry Jorge, as you're new to Oracle I should also have pointed out for completeness sake, that you can change the parameters at any time through recalling the p_set_context, for example, following on from above, after your "select * from v_my_table" and seeing 1 to 5, you could then do
    begin
    p_set_context('my_ctx','start_range','3');
    end;
    and when you requery 'Select * from v_my_table' you will now see rows 3 to 5.
    Bit of a simplistic example, but you can see how easy it is. :-)
    Message was edited by:
    ian512

  • Calling portal v2 pages with parameters in a jsp

         Hello everybody,
         I'm currently trying to create, in a jsp, a link to a portal-v2 page with parameters.
    Practically :
    [JSP / Portlet 1]
         - a 1st jsp generates some links, all to the same page but each sets a different value to a parameter (for example a productId in a list).
    [JSP / Portlet 2]
         - a 2nd jsp gets this parameter and use it (for example it displays the details of the chosen product).
    So the 1st portlet would be jsp (coded by a portlet designer) and clicking a link would lead to another page (chosen by a page designer) which would hold the 2nd portlet (= 2nd jsp, coded by the same portlet designer).
         Writing the second jsp is easy : getting parameters is described in many examples and pdk articles.
         But I can't find the java methods to use to generate the link. More precisely I don't know how to call the portal page (which would then be a jsp1's parameter). Adding the parameter is well described in the jpdk API-Doc.
         I've tried to use portal events but they seem to work only in an html form. So I supposed it was a wrong way.
    As I've lost myself so many times in the API-Doc and I didn't find any jpdk sample about that, I would be really thankfull if someone has an idea (may I hope for a sample code ? :-)
    Thanks.
    Jean-Roch

    I'm having a similar problem!
    I have a JSP page which I have published as a portlet to Portal. The JSP portlet is placed on Portal a page. I need to call this Portal page with some parameters in the URL, which should get passed to the JSP portlet.
    In the JSP portlet I used this syntax in release 1 to retrieve the URL parameters:
    String p_itemID = request.getParameter("item_id");
    That worked great in release 1, but not in release 2.... I think the problem is that you need to define which parameters a portlet has, then map those portlet parameters to page parameters in the page properties. In dynamic page - portlets you define bind variables to accomplish this. But how do you do in JSP portlets? When you try to map Page Parameters to the JSP portlet you'll find that Portal doesn't think that the JSP portlet has any parameters. Hence the page parameters does not get passed to the portlet.
    (More info: JDBC----getImportedKeys() )
    I've looked at the Multipage example and the forminput example. But I don't see how pass a parameter in the URL to the very first JSP portlet from looking at those examples. I do see how you can pass parameters to the next JSP portlet, but that's not my problem. Maybe I'm missing something obvious...
    Any ideas?

  • Is it possible in jsf? Action with parameters????

    I have a NavigationItem, a object of myfaces.....
    And when is clicked it, I want to create a new pane, based on the navigationItem clicked, obviuosly,
    How I can submit a action with parameters???
    Is it possible?
    thanks all !

    I will try to explain better.
    I create menus dynammicaly....
    and this menus has NavigationMenuItems, all componentes of myFaces
    The navigationMenuItem is inherited of SelectItem.....
    and creating it dynamically I need to put a action, and the backing bean has a method that return a string , but the value returned is always null, and I will to know How things I will do depending the parameters (like request parameteres) are passed through the action...
    but I do not know how to set the action dynamically, when the method setAction expect a string and not a MethodBinding.....
    And how I will to know after, what navigationMenuItem was clicked ??
    I don't know if are answers to this questions, I'm not sure about the limitations of web development and jsf, but I must to do it...
    thanks

  • Is it possible to create views with parameters ?

    Hi,
    As MS-Access, is it possible to create views with parameters ?
    Ms-Access syntax : parameters [a] text; select * from table where code = [a]
    If yes, can you give samples ?
    Regards
    Pascal

    I suggest you you write a stored procedure that returns a recordset in oracle. Then execute the stored procedure and loop through the record set.
    Look in in MS Knowledgebase searching on ADO Stored Proceedures for the VB/C++/VBS .. code.
    Look in in Oracle PL/SQL guide for the Stored Proceedure code.

  • Chart with parameters in SSRS 2012

    Hello,
      I want to do a chart (line chart particularly, but I will take an answer for any chart as they all probably work similarly) with one parameter passed (hospitalid) and two values returned (BedDays and MonthYear).  MonthYear is how the horizontal
    line is divided, by each month, and the BedDays should be the number of patient stays in beds in that month.  Doesn't matter if it's sum of bed days or bed days, because a sum is made in the stored procedure, and MonthYear is unique.
      I have spend a few days on this problem, working a lot on it, and I keep running into errors, trying various methods.  I don't know where all my errors could be coming from, it could be in the aspx, it could be in the report design, or it could
    be in the code behind, so I am hoping someone can give me a step by step solution to this problem which should be simple, but apparently is not because there is no worthwhile help that I can find on the internet.  It should work for SSRS 2012, I do not
    have a choice of using an earlier version for this project.  Please include everything I need to do in the report GUI, in the aspx file, and in the code behind, as any little error in any of these could keep this from working and make it very difficult
    for me to pinpoint what is going wrong.
      Please help!

    I'm using Visual Studio 2013.  According to what I read, there is no report preview in newer versions?
    I created a report and then added a line chart.
    I used my connection and under Data Set Name I put: AllevantReportDataSetB
    Under Choose the Dataset, I selected AllevantReportDataSetB as the data source. 
    For "Name" I chose DataSetB
    The stored procedure works (that is all you need to know, because the inner detail shouldn't make a difference), and when a parameter @facilityid is passed to it, it returns a table with the first column named MonthYear which is a date of all of the months,
    years, and the first of each month from the beginning to end of the data - and the second column is BedDays, the number of total stays in a bed for all of the patients at the facility.
    In Category groups, I have MonthYear, and in Values I have BedDays (actually [Sum(BedDays)], but the sum shouldn't matter, because the MonthYears are unique so there is only one MonthYear, there is not more than one of the same month in the whole data set)
    My .aspx is the following:
    <rsweb:ReportViewer ID="ReportViewer1"
    runat="server"
    ProcessingMode="Remote"
    Font-Names="Verdana"
    Font-Size="8pt"
    InteractiveDeviceInfos="(Collection)"
    WaitMessageFont-Names="Verdana"
    WaitMessageFont-Size="14pt"
    Width="95%"
    Height="99%" ShowDocumentMapButton="False"
    ShowPromptAreaButton="False" Visible="true">
    <LocalReport ReportEmbeddedResource="MySolution.Report5.rdlc">
    <DataSources>
    <rsweb:ReportDataSource DataSourceId="Report1DataSource" Name="DataSetB" />
    </DataSources>
    </LocalReport>
    </rsweb:ReportViewer>
    And my VB code behind is the following:
    Protected Function GetReportDataTable() As DataTable
    Dim Conn As New SqlConnection(ConfigurationManager.ConnectionStrings("sql").ToString)
    Dim Command As New SqlCommand("BedDays", Conn)
    Dim BedDaysDataTable As New DataTable()
    BedDaysDataTable.Columns.Add("MonthYear", GetType(DateTime))
    BedDaysDataTable.Columns.Add("BedDays", GetType(Int32))
    Command.CommandType = CommandType.StoredProcedure
    Command.Parameters.Add("@facID", SqlDbType.Int).Value = 20
    Command.Connection = Conn
    Conn.Open()
    Dim DataReader As SqlDataReader = Command.ExecuteReader()
    BedDaysDataTable.Load(DataReader)
    Conn.Close()
    Return BedDaysDataTable
    End Function
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
    FillMetricsDDL()
    FillFacilityDDL()
    Dim rds As ReportDataSource
    rds = New ReportDataSource("Report1DataSource", GetReportDataTable)
    Dim ReportParameters As New List(Of ReportParameter)
    ReportParameters.Add(New ReportParameter("@facID", 20))
    ReportViewer1.LocalReport.DataSources.Add(rds)
    ReportViewer1.LocalReport.ReportPath = "Report5.rdlc"
    ReportViewer1.LocalReport.Refresh()
    End If
    Common.Chosen(Me)
    End Sub
      I am getting the error where the report should be
    Unable to connect to the remote server, no connection could be made because the target machine actively refused it.                                        
    But I suppose once this error is resolved, there will be more, because I really do not quite know exactly how SSRS charts with parameters in SSRS 2012 are suppossed to work, in code behind, in aspx, and in the charting, and how it all ties together.  So
    some complete guidance to show ALL the places where I am going wrong here would be much appreciated, not just an attempt to solve the one error I have above, which may not be the sum total of all of my problems here.
    Unless, of course, it IS the only error which would be GREAT.

  • Calling ora:processXQuery from bpel with parameters

    I am trying to call ora:processXQuery from bpel with parameters. I am using SOA Suite 11.1.1.7
    ora:processXQuery('selectVersionNumber.xq',bpws:getVariableData('XML_FILE_VAR','/ns4:InputParameters'),"OBJ_ID_VAR","OBJ_ID_INNER_VAR", bpws:getVariableData('OBJ_ID_VAR'),bpws:getVariableData('OBJ_ID_INNER_VAR'))
    selectVersionNumber.xq :
    xquery version "1.0";
    declare namespace ns4="http://www.example.org";
    let $item := //ns4:P_RELATIONSHIP_TBL
    for $x in $item/P_RELATIONSHIP_TBL_ITEM
        for $y in $x/ns4:P_RELATIONSHIP_TBL_INNER/ns4:P_RELATIONSHIP_TBL_ITEM_INNER
        where $x/ns4:OBJECT_ID = $OBJ_ID_VAR and $y/ns4:OBJECT_ID=$OBJ_ID_INNER_VAR
            return <objectVersion>{ $y/ns4:OBJECT_VERSION_NUMBER }</objectVersion>
    but ora:processXQuery dosen't accept more than two arguments. Is there any work around?

    Create a specific xml schema for your xquery as a input and pass that. Extract the required values from xml in your xquery.

  • ADF Faces EA15: table update not working properly after dialog return event

    Hi,
    in my application I have a table with read-only records and an edit button for each row.
    The button triggers a dialog where one field of of the record can be edited.
    The record is a bean which is put into processScope.
    After accepting the change in the dialog the bean makes an update in the database changing the order of the records in the table on the launching page.
    The return event triggers a re-rendering of the launching page (which I can see from the output of a phase listener) and the table model gets updated but the table output is not updated visually.
    However, if I call the dialog on another record I don't get the record I see in the table but instead I get the record which I'd expected if the table re-rendered properly.
    Do I have to trigger any kind of event on the table now so that the framework knows that a change has taken place and that the table has to be re-rendered? There is no difference whether I use PPR or not. It used to work in EA14.
    Thanks,
    Achim

    In EA14, the return from the dialog required a full-page refresh (whether the dialog was launched with PPR or not didn't matter). In EA15, it's done with PPR if possible. This avoids the flash (and re-scrolling, etc.), but means you do need to tell us what's going to get changed because of the return. You can use partialTriggers on the table with the "id" of the button to make this happen.

Maybe you are looking for