Accessing Simple Type Variable Defined in BPEL Flow, in Transformation

Hi,
I am using Transform Process Activity. In transform mapping, i would like to map one target element with a value defined in a 'simple type variable' which is defined in calling BPEL Flow, however I am not able to do it.
for example:
I have a BPEL process A where there is a variable NOTIFICATION_EVENT_ID of simple type integer. when I am trying to access it through the function bpws.getVaraibleData(NOTIFICATION_EVENT_ID, "") then it is failing, while giving a hard-coded value makes it run
<?xml version="1.0" encoding="UTF-8" ?>
<?oracle-xsl-mapper
<!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
<mapSources>
<source type="XSD">
<schema location="MarketStatus.xsd"/>
<rootElement name="MarketStatus" namespace="http://www.j.com/soa/2007-07-17/MarketStatus.xsd"/>
</source>
</mapSources>
<mapTargets>
<target type="XSD">
<schema location="MarketNotificationMsg.xsd"/>
<rootElement name="MarketNotificationMsg" namespace="http://www.j.com/soa/2007-07-17/MarketNotificationMsg.xsd"/>
</target>
</mapTargets>
?>
<xsl:stylesheet version="1.0"
xmlns:m="http://www.j.com/soa/2007-07-17/MarketStatus.xsd"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:ns0="http://www.j.com/soa/2007-07-17/MarketNotificationMsg.xsd"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
exclude-result-prefixes="xsl m xs ns0 xp20 bpws ora ehdr orcl ids hwf">
<xsl:template match="/">
<ns0:MarketNotificationMsg>
<xsl:for-each select="/m:MarketStatus/m:MarketRun[1]">
<ns0:MarketEvent>
<ns0:eventID>
<!--          <xsl:value-of select='string("33")'/> -->
<xsl:value-of select='bpws:getVariableData("NOTIFICATION_EVENT_ID","")'/>
</ns0:eventID>
<ns0:tradeDay>
<xsl:value-of select="m:marketStartTime"/>
</ns0:tradeDay>
<ns0:MarketRun>
<ns0:marketRunID>
<xsl:value-of select="m:marketRunID"/>
</ns0:marketRunID>
<ns0:marketID>
<xsl:value-of select="m:marketID"/>
</ns0:marketID>
</ns0:MarketRun>
</ns0:MarketEvent>
</xsl:for-each>
</ns0:MarketNotificationMsg>
</xsl:template>
</xsl:stylesheet>
Suggest some pointers.

> You could use the processXSLT with parameters like here :
>
http://blogs.oracle.com/rammenon/2007/05/07
Hey Eric,
Thanks for the reply and indeed that was a direct pointer for the problem I was facing.
HOWEVER :) it dint work on the version of BPEL PM or BPEL Engine I am working on. it seems that either I have configured wrongly or version on which I am working doesn't support this.
Version I am working on: 10.1.3.2.0
I am not getting any compile time error however on runtime it is failing saying:
ORABPEL-09503 Invalid xpath expression. Error while parsing xpath expression "ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))", the reason is Error in expression: 'ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))'.. Please verify the xpath query "ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))" which is defined in BPEL process.
I will upload BPEL process created snip of my complex Bigger BPEL process but till the time suggest me if this hints you anything.
Is I am missing something?
Thanks.

Similar Messages

  • How to read static variable defined java class from flex?

    This is a beginner question. If I use remoteClass to map a java class and a flex class, how can I access a static variable defined in java class from the flex code?
    Thanks!

    Static propeties are by default ignored in the blazeds for serialization. You can try using another global property in the java bean which maps to the value stored in the static property( Hopefully it should work)
    eg,
    public String instanceValue = ClassName.staticValue;
    Ref: http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=serialize_data_3.ht ml

  • Error calling BPEL from ESB  Multi-part simple type

    I am trying to define a soap service in ESB which is refering a BPEL service. I get the error
    The selected porttype is using a message that is invalid for ESB because it is multi-part or has a simple type.The message RuntimeFaultMessage in operation process of port type exportCaCustomers is invalid. Please select another portype.
    Here is the wsdl for the BPEL service. exportCaCustomers.wsdl
    <definitions
    name="exportCaCustomers"
    targetNamespace="http://xmlns.oracle.com/exportCaCustomers"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:ns1="http://www.globalcompany.com/ns/order"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:ns3="http://usconcrete.com/v1/interfaces/common/InputMessage.xsd"
    xmlns:ns2="http://schemas.oracle.com/bpel/extension"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://xmlns.oracle.com/exportCaCustomers"
    xmlns:ns10="http://usconcrete.com/v1/interfaces/common/InputMessage.xsd"
    >
    <import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl"/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.globalcompany.com/ns/order"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:client="http://xmlns.oracle.com/exportCaCustomers">
    <import namespace="http://xmlns.oracle.com/exportCaCustomers" schemaLocation="exportCaCustomers.xsd"/>
    </schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.globalcompany.com/ns/order"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:client="http://xmlns.oracle.com/exportCaCustomers">
    <xsd:import namespace="http://www.globalcompany.com/ns/order" schemaLocation="sampleTax.xsd"/>
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:import namespace="http://usconcrete.com/v1/interfaces/common/InputMessage.xsd" schemaLocation="InputMessage.xsd"/>
    </xsd:schema>
    </types>
    <message name="exportCaCustomersRequestMessage">
    <part name="payload" element="ns10:CVInputMessage"/>
    </message>
    <message name="exportCaCustomersResponseMessage">
    <part name="payload" element="client:exportCaCustomersProcessResponse"/>
    </message>
    <portType name="exportCaCustomers">
    <operation name="process">
    <input message="client:exportCaCustomersRequestMessage"/>
    <output message="client:exportCaCustomersResponseMessage"/>
    <fault name="bindingFault" message="ns2:RuntimeFaultMessage"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="exportCaCustomers">
    <plnk:role name="exportCaCustomersProvider">
    <plnk:portType name="client:exportCaCustomers"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    These are the contents of RuntimeFault.wsdl
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="RuntimeFault"
    targetNamespace="http://schemas.oracle.com/bpel/extension"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <message name="RuntimeFaultMessage">
    <part name="code" type="xsd:string"/>
    <part name="summary" type="xsd:string"/>
    <part name="detail" type="xsd:string"/>
    </message>
    </definitions>
    This looks like a very basic thing to do. My BPEL process is working fine. I just want to access it from ESB. Any ESB gurus there. Please respond.

    <fault name="bindingFault" message="ns2:RuntimeFaultMessage"/>Don't think this is the way to define the RuntimeFaults.
    the fault-element you use to 'throw' you own business faults.
    RunTimeFaults are handled by the bpel framework itself and aren't throwable like this.
    See :
    http://www.oracle.com/technology/products/ias/bpel/htdocs/orabpel_technotes.tn007.html
    ""Business faults are application specific faults and occur when an explicit <throw> activity is executed or an <invoke> activity gets a fault as response. The fault name of a business fault is specified by the BPEL process and the messageType, if one exists, is defined in the WSDL.
    Runtime faults are not user defined and will not appear in the WSDL for a process or service.""

  • Report cannot access pl/sql table variable defined in Package Spec.

    Hi,
    I've created a package spec called pkg_report with a PL/SQL table variable defined called body_text_table. When I tried to compile the following code under the Before Report trigger:
    :desc := pkg_report.body_text_table(1);
    Oracle gave me the following error:
    Implementation Restriction: 'PKG_REPORT.BODY_TEXT_TABLE': Cannot directly access remote package variable or cursor.
    Does anyone have any idea about this error? Thank you for your time at looking at it.
    Regards,
    John

    You cannot directly access the package variable in a database package. The work around is to create a set_variable and get_variable wrapper function in the package body. See Metalink note 105838.1 for more info.
    A simple example:
    create or replace package my_package as
      my_var     number;
      function   get_variable return number ;
      procedure  set_variable (p_value in number) ;
    end ;
    create or replace package body my_package as
      function get_variable return number is
      begin
        return my_var;
      end ;
      procedure set_variable(p_value in number) is
      begin
        my_var := p_value ;
      end ;
    end;

  • Accessing a variable defined in one class from another class..

    Greetings,
    I've only been programming in as3 for a couple months, and so far I've written several compositional classes that take MovieClips as inputs to handle behaviors and interactions in a simple game I'm creating. One problem I keep coming upon is that I'd love to access the custom variables I define within one class from another class. In the game I'm creating, Main.as is my document class, from which I invoke a class called 'Level1.as' which invokes all the other classes I've written.
    Below I've pasted my class 'DieLikeThePhishes'. For example, I would love to know the syntax for accessing the boolean variable 'phish1BeenHit' (line 31) from another class. I've tried the dot syntax you would use to access a MovieClip inside another MovieClip and it doesn't seem  to be working for me. Any ideas would be appreciated.  Thanks,
    - Jeremy
    package  jab.enemy
    import flash.display.MovieClip;
    import flash.events.Event;
    import jab.enemy.MissleDisappear;
    public class DieLikeThePhishes
    private var _clip2:MovieClip; // player
    private var _clip3:MovieClip; //phish1
    private var _clip4:MovieClip; //phish2
    private var _clip5:MovieClip; //phish3
    private var _clip6:MovieClip; //phish4
    private var _clip10:MovieClip; // background
    private var _clip11:MovieClip // missle1
    private var _clip12:MovieClip // missle2
    private var _clip13:MovieClip // missle3
    private var _clip14:MovieClip // missle4
    private var _clip15:MovieClip // missle5
    private var _clip16:MovieClip // missle6
    private var _clip17:MovieClip // missle7
    private var _clip18:MovieClip // missle8
    private var _clip19:MovieClip // missle9
    private var _clip20:MovieClip // missle10
    private var _clip21:MovieClip // missle11
    private var _clip22:MovieClip // missle12
    var ay1 = 0;var ay2 = 0;var ay3 = 0;var ay4 = 0;
    var vy1 = 0;var vy2 = 0;var vy3 = 0;var vy4 = 0;
    var phish1BeenHit:Boolean = false;var phish2BeenHit:Boolean = false;
    var phish3BeenHit:Boolean = false;var phish4BeenHit:Boolean = false;
    public function DieLikeThePhishes(clip2:MovieClip,clip3:MovieClip,clip4:MovieClip,clip5:MovieClip,clip6:M ovieClip,clip10:MovieClip,clip11:MovieClip,clip12:MovieClip,clip13:MovieClip,clip14:MovieC lip,clip15:MovieClip,clip16:MovieClip,clip17:MovieClip,clip18:MovieClip,clip19:MovieClip,c lip20:MovieClip,clip21:MovieClip,clip22:MovieClip)
    _clip2 = clip2;_clip3 = clip3;_clip4 = clip4;_clip5 = clip5;_clip6 = clip6;
    _clip10 = clip10;_clip11 = clip11;_clip12 = clip12;_clip13 = clip13;_clip14 = clip14;
    _clip15 = clip15;_clip16 = clip16;_clip17 = clip17;_clip18 = clip18;_clip19 = clip19;
    _clip20 = clip20;_clip21 = clip21;_clip22= clip22;
    _clip3.stage.addEventListener(Event.ENTER_FRAME, onEnterFrame)
    function onEnterFrame(event:Event):void
    vy1+= ay1;_clip3.y += vy1; vy2+= ay2;_clip4.y += vy2;
    vy3+= ay3;_clip5.y += vy3; vy4+= ay4;_clip6.y += vy4;
    if (phish1BeenHit ==false)
    if(_clip3.y >620)
    {_clip3.y = 620;}
    if (phish2BeenHit ==false)
    if(_clip4.y >620)
    {_clip4.y = 620;}
    if (phish3BeenHit ==false)
    if(_clip5.y >620)
    {_clip5.y = 620;}
    if (phish4BeenHit ==false)
    if(_clip6.y >620)
    {_clip6.y = 620;}
    if (_clip11.hitTestObject(_clip3) ||_clip12.hitTestObject(_clip3)||_clip13.hitTestObject(_clip3)||_clip14.hitTestObject(_cl ip3)||_clip15.hitTestObject(_clip3)||_clip16.hitTestObject(_clip3)||_clip17.hitTestObject( _clip3)||_clip18.hitTestObject(_clip3)||_clip19.hitTestObject(_clip3)||_clip20.hitTestObje ct(_clip3)||_clip21.hitTestObject(_clip3)||_clip22.hitTestObject(_clip3))
    _clip3.scaleY = -Math.abs(_clip3.scaleY);
    _clip3.alpha = 0.4;
    ay1 = 3
    vy1= -2;
    phish1BeenHit = true;
    if (_clip11.hitTestObject(_clip4) ||_clip12.hitTestObject(_clip4)||_clip13.hitTestObject(_clip4)||_clip14.hitTestObject(_cl ip4)||_clip15.hitTestObject(_clip4)||_clip16.hitTestObject(_clip4)||_clip17.hitTestObject( _clip4)||_clip18.hitTestObject(_clip4)||_clip19.hitTestObject(_clip4)||_clip20.hitTestObje ct(_clip4)||_clip21.hitTestObject(_clip4)||_clip22.hitTestObject(_clip4))
    _clip4.scaleY = -Math.abs(_clip4.scaleY);
    _clip4.alpha = 0.4;
    ay2 = 3
    vy2= -2;
    phish2BeenHit = true;
    if (_clip11.hitTestObject(_clip5) ||_clip12.hitTestObject(_clip5)||_clip13.hitTestObject(_clip5)||_clip14.hitTestObject(_cl ip5)||_clip15.hitTestObject(_clip5)||_clip16.hitTestObject(_clip5)||_clip17.hitTestObject( _clip5)||_clip18.hitTestObject(_clip5)||_clip19.hitTestObject(_clip5)||_clip20.hitTestObje ct(_clip5)||_clip21.hitTestObject(_clip5)||_clip22.hitTestObject(_clip5))
    _clip5.scaleY = -Math.abs(_clip5.scaleY);
    _clip5.alpha = 0.4;
    ay3 = 3
    vy3= -2;
    phish3BeenHit = true;
    if (_clip11.hitTestObject(_clip6) ||_clip12.hitTestObject(_clip6)||_clip13.hitTestObject(_clip6)||_clip14.hitTestObject(_cl ip6)||_clip15.hitTestObject(_clip6)||_clip16.hitTestObject(_clip6)||_clip17.hitTestObject( _clip6)||_clip18.hitTestObject(_clip6)||_clip19.hitTestObject(_clip6)||_clip20.hitTestObje ct(_clip6)||_clip21.hitTestObject(_clip6)||_clip22.hitTestObject(_clip6))
    _clip6.scaleY = -Math.abs(_clip6.scaleY);
    _clip6.alpha = 0.4;
    ay4 = 3
    vy4= -2;
    phish4BeenHit = true;
    if (_clip3.y > 10000)
    _clip3.x = 1000 +3000*Math.random()-_clip10.x;
    _clip3.y = 300;
    _clip3.alpha = 1;
    _clip3.scaleY = Math.abs(_clip3.scaleY);
    ay1 = vy1 = 0;
    phish1BeenHit = false;
    if (_clip4.y > 10000)
    _clip4.x = 1000 +3000*Math.random()-_clip10.x;
    _clip4.y = 300;
    _clip4.alpha = 1;
    _clip4.scaleY = Math.abs(_clip4.scaleY);
    ay2 = vy2 = 0;
    phish2BeenHit = false;
    if (_clip5.y > 10000)
    _clip5.x = 1000 +3000*Math.random()-_clip10.x;
    _clip5.y = 300;
    _clip5.alpha = 1;
    _clip5.scaleY = Math.abs(_clip5.scaleY);
    ay3 = vy3 = 0;
    phish3BeenHit = false;
    if (_clip6.y > 10000)
    _clip6.x = 1000 +3000*Math.random()-_clip10.x;
    _clip6.y = 300;
    _clip6.alpha = 1;
    _clip6.scaleY = Math.abs(_clip6.scaleY);
    ay4 = vy4 = 0;
    phish4BeenHit = false;
    var missleDisappear1 = new MissleDisappear(_clip11,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear2 = new MissleDisappear(_clip12,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear3 = new MissleDisappear(_clip13,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear4 = new MissleDisappear(_clip14,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear5 = new MissleDisappear(_clip15,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear6 = new MissleDisappear(_clip16,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear7 = new MissleDisappear(_clip17,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear8 = new MissleDisappear(_clip18,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear9 = new MissleDisappear(_clip19,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear10 = new MissleDisappear(_clip20,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear11 = new MissleDisappear(_clip21,_clip3,_clip4,_clip5,_clip6,_clip10);
    var missleDisappear12 = new MissleDisappear(_clip22,_clip3,_clip4,_clip5,_clip6,_clip10);

    I would approach it in much the same way as you would in java, by making getters and setters for all of your class variables.
    Getters being for returning the values, Setters being for setting them.
    So you would make a get function for the variable you want to access ala:
    function get1PhishBeenHit():boolean {
         return this.phish1BeenHit;
    Then to access the value of that variable from outwith the class:
    var result:boolean = ClassInstanceName.get1PhishBeenHit();

  • Access the New Record in Triggers as a row Type variable

    We are trying to access a record of the being inserted table as a row type variable in the After Insert database Trigger.
    is it possible, if yes
    could you please let me know of the syntax?
    For eg:
    Table Name being inserted VEHICLE
    //Declare section of Trigger
    vehicleRowType VEHICLE%ROWTYPE;
    //Body of Trigger
    vehicleRowType := :NEW.*;
    This fails
    null

    i think u should use the global package vairiables as follow:
    1-define record package global variable as:
    CREATE PACKAGE pk1 AS
    TYPE RecTyp IS RECORD(emp_id INTEGER, salary REAL);
    record2 RecTyp;
    END;
    2-populate global record variable fields with data in befor insert database trigger.
    pk1.record2.emp_id:=:new.x;
    pk1.record2.salary:=:new.x1;
    now this records data is vailable in after insert trigger as one single unit(row)
    null

  • How to convert element to mesasge type variable in BPEL

    Hi,
    I have xml message in element type variable. I want to create one variable of message type and have same elements values what element type variable has.
    I modified my xsd and created of same type like element namespace. Now when i use assign activity to copy from top root another top root. I get error Variable not initialized.
    How to correct?
    My XML message is like
    <CMISAPPL>
    <APPLICANT_FULL_NAME>Abhi</APPLICANT_FULL_NAME>
    <MANAGER_FULL_NAME>Jack</MANAGER_FULL_NAME>
    <INTERVIEWER_FULL_NAME>jack</INTERVIEWER_FULL_NAME>
    <JOB_TITLE>Test</JOB_TITLE>
    <INTERVIEW_DATE>2-Oct-2007</INTERVIEW_DATE>
    <PASSED_DAYS>5</PASSED_DAYS>
    <INT_SCH_PROFILE_VALUE>1,2,4,7</INT_SCH_PROFILE_VALUE>
    <FILE_PATH_PROFILE_VALUE/>
    <PAPERWORK_REQ_SEGMENTS_VALUE/>
    <PAPERWORK_REQ_SEGMENTS_NAME>App test</PAPERWORK_REQ_SEGMENTS_NAME>
    <VACANCY_NAME>test</VACANCY_NAME>
    <INTERVIEWER_EMAIL>t</INTERVIEWER_EMAIL>
    <INTERVIEWER_MANAGER_EMAIL>t</INTERVIEWER_MANAGER_EMAIL>
    </CMISAPPL>

    Looks like a namespace issue. There is no namespace defined in your payload.
    Marc
    http://orasoa.blogspot.com

  • XPATH Predicate for container variable of simple type in BPM

    Hi Experts,
    I have read various threads and blogs with this topic and as I couldn't get a clear view, hence I am raising it here. In my BPM, I am collecting idocs by means of a finite loop. I have used a receive step, container step(to append the idocs) and another container(to increment the counter_variable) in a loop. I want to run the loop for the condition: counter_variable<=3 whereas 'counter_variable' is a container variable of 'simple XSD type(XSD: integer)'.
    All the blogs and threads  have demonstrated like how to use the EX operator with container variable of type 'Abstract interface'. But how can i incorporate the above scenario for a container variable of simple xsd type ? Please share your ideas.
    Regards,
    Laawanya

    so this is what you need to do,
    1. in your loop have a container operation that will increment your simple integer variable each time a message come in.
    2. for your loop the condition will be, left operand (simple integer variable) /= (not equal) 3 (Constant)
    Ref: SAP BASIS (SWCV) -> http://sap.com/xi/XI/System/Patterns -> Integration Process -> BpmPatternCollectPayload
    the only difference here will be the loop condition to be altered as i have mentioned above.

  • Cannot SELECT into a user-defined type variable

    Hi All,
    Oracle 11.2 on Linux.
    See the steps below. I am not able to insert/select into a TYPE variable. I do not want to do a TABLE declaration in my PL/SQL block, but want to use a user defined type. Is it possible ?
    SQL> create or replace type sample_obj_rec as object
      2  (
      3     object_id    number,
      4     object_name  varchar2(32),
      5     object_type  varchar2(32)
      6  );
      7  /
    Type created.
    SQL> create or replace type sample_obj_tab as table of sample_obj_rec ;
      2  /
    Type created.
    -- ------------   CASE 1 ---------------------
    SQL> declare
      2      v_tab   sample_obj_tab := sample_obj_tab() ;
      3  begin
      4      select object_id, object_name, object_type
      5      bulk   collect into v_tab
      6      from   dba_objects
      7      where  rownum < 11 ;
      8  end ;
      9  /
        from   dba_objects
    ERROR at line 6:
    ORA-06550: line 6, column 5:
    PL/SQL: ORA-00947: not enough values
    ORA-06550: line 4, column 5:
    PL/SQL: SQL Statement ignored
    -- ------------   CASE 2 ---------------------
    SQL> declare
      2      v_rec   sample_obj_rec;
      3  begin
      4      select object_id, object_name, object_type
      5      into   v_rec
      6      from   dba_objects
      7      where  rownum = 1;
      8  end ;
      9  /
        from   dba_objects
    ERROR at line 6:
    ORA-06550: line 6, column 5:
    PL/SQL: ORA-00947: not enough values
    ORA-06550: line 4, column 5:
    PL/SQL: SQL Statement ignoredWhat is the issue with both the above cases? what am I missing here?
    Thanks in advance.

    One small detail in the SELECT.
    SQL> create or replace type sample_obj_rec as object
      2  (object_id    number,
      3   object_name  varchar2(32),
      4   object_type  varchar2(32));
      5  /
    Type created.
    SQL>
    SQL> create or replace type sample_obj_tab as table of sample_obj_rec ;
      2  /
    Type created.
    SQL>
    SQL> declare
      2     v_tab   sample_obj_tab := sample_obj_tab() ;
      3  begin
      4     select sample_obj_rec(object_id, object_name, object_type)
      5     bulk   collect into v_tab
      6     from   dba_objects
      7     where  rownum < 11 ;
      8  end ;
      9  /
    PL/SQL procedure successfully completed.
    SQL>

  • How to access the Custom Data type variable given in Expression edit control To and From LabVIEW

    Hello, I would like to know how to access the custom data type variable given in the Espression Edit Control from LabVIEW and vice-versa
    Say, the FileGlobals.Reference_Handle (Custom Data Type Variable) contains the
    VISA I/O session (Which in turn contains VISA_DeviceName: String, Session: Number),
    Channel1: Number and
    Channel2: Number
    I am expecting the user to give FileGlobals.Reference_Handle as the input at the ExpressionEdit Control in the edit screen of the VI Call.
    I would like to know how to get the values of this custom data type to LabVIEW?
    Say, if I have the Cluster in LabVIEW like VISA I/O session (Deive Name and Session Number), Channel1 and Channel2
    how do i need to set this cluster to the Custom Data type variable in TestStand?
    Thanks and Regards
    Prakash 

    Hi,
    TestStand to LabVIEW: i didnt understand what you r trying to achieve. But if you are using references, Use Property nodes and Invoke nodes to achieve what you want in LabVIEW.
     LabVIEW to TestStand: check the image below: You need to click the button next to 'container'. I have used a cluster output in the VI.
    Hope this helps
    .......^___________________^
    ....../ '---_BOT ____________ ]
    ...../_==O;;;;;;;;_______.:/
    Attachments:
    1.JPG ‏187 KB

  • Simple type enumeration access

    Hello colleagues,
    while creating a data dictionary type, you can define an enumeration with keys and description texts. Additionally you can let the WD generator to create the class representation for this enumeration. So you can use it in your code.
    The generated enumeration only provides the key constant value (enum.getName()) but doesn't bring the description text. Is there any "official way" to read it in code providing certain locale?
    I know, you can create a context attribute of this simple type and go for the following expression:
    wdContext.nodeTableLine().getNodeInfo().getAttribute("attr").getSimpleType().getSVServices().getModifiableSimpleValueSet()
    but I can't imagine the WD doesn't provide any context independent way for this simple operation.
    Regards
    Dimitri

    Hi
    I donu2019t want to populate the list of the enumeration. The list is defined at design time. I just want to read key descriptions of the enumeration programmatically and I donu2019t want to use the context for that.
    To your comment: if you use an input field with an enumerated data dictionary type, only the key of the enumeration will be shown in the field.
    Regards
    Dimitri

  • Flash/Javascript access of USER Variables

    Hi all,
    I've searched online many many times and have made many attempts in Flash and in Captivate 4, but to no avail, and I'm wracking my brain over it. By now I've almost given up on Captivate, since what has wasted so much time could have been done in a day or so using Flash to make the entire thing. I would like to avoid that though, since this is a University project, not a personal project.
    I need to access USER created variables, both in Flash animations AND in Javascript (i.e. in the execute Javascript field under multiple actions). They need to be accessed this way since there's no default way to multiply variables or append strings of text to variables (things which as an experienced AS2 user I know should be very simple to do). Also, I want to be able to copy the contents of one (user) variable to another (system) variable later on (for LMS).
    So say I have a user defined Captivate variable called 'userPath', and on a certain slide I want to multiply it by 5 in Flash or in Javascript (just an example).
    How could I access it from Flash with AS2? (I've tried _root.userPath, _root.movie.userPath, no luck).
    How could I access it from the Javascript? (I am comfortable with programming, but don't really use Javascript, so I may be having a problem with the notation).
    Any help would be greatly appreciated, since I need to get this work done soon. Many thanks.

    Lboro SB,
    How familliar are you with AS3?  I would recommend altering the CaptivateMaintimeline.as file typically located at C:\Program Files\Adobe\Adobe Captivate 4\ActionScript 3.0.  You can write your custom functions in AS3 to do your multiplication or whatever and it will use this file to compile your Cp4 project.  Just make sure you're publishing your Cp4 project in AS3 in the project properties.  You could also add your function to the list of ExternalInterface.addCallback(... so that your function could be accessible from JavaScript.  Here's my custom function I've put in the CaptivateMaintimeline.as file:
    /JBL: For External Interface setting any type of value
            public function jim_cpSetValue(variable:String, val):void
            //myTrace("cpSetValue variable1 " + variable + " ; val  " + val);
            var arr:Array = variable.split(".");
            var ref = this;
            for(var i=0; i < arr.length -1; i++)
                ref = ref[arr[i]];
            ref[ arr[arr.length -1] ] = val; // This works fine for numbers, booleans and strings
    // JBL: adding callback to set variables in cp via JavaScript
    ExternalInterface.addCallback("jim_cpSetValue", jim_cpSetValue);
    If you want to do this in JavaScript, you need to get a reference to the Captivate main movie.  I do it like so:
        // Set objCaptivate in IE
        CaptivateObj = document.Captivate;
    Then you can call your custom function
        //JBL:  Custom Function to set Captivate Vars via Javascript
        function setCaptivateVariable(myVariable, myValue)
            CaptivateObj.jim_cpSetValue(myVariable, myValue);
        //JBL:  Shortcut function for Getting values from Captivate SWF
        function getCaptivateUserVariable(n)
            return CaptivateObj.cpGetValue(n);
    I also HIGHLY recommend a lightweight .js file by Philip Hutchison that can do much more located here.
    Good Luck,
    Jim Leichliter

  • How do I access the DCJMS* variables in my response SOAP:Header ?

    Hi all,
    I have set up a sync / async Integration Process in XI
    This is initiated by a SAP R/3 transaction that calls a synchronous function to enter XI
    Once in the Bridge, a JMS receiver adapter sends out an asynchronous request message from XI to MQ
    A correlation allows the JMS sender adapter to return an asynchronous response message from MQ to XI back into my the Integration Process
    I have set up the JMS sender adapter configuration to return the DC (dynamic configuration) variables in the <SOAP:Header> of the XI response message along with the payload
    You can see that the DCJMS* variables are returned below
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Response
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    + <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
    + <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    + <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
    + <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information
    <b>Question</b>
    I want to access the DCJMS* variables but am not sure how to go about it as the
    variables exist in the <SOAP:Header>?
    I followed the SAP documentation to access adapter-specific attributes (refer to link http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm )
    I have used the following code to create a user-defined function for the accessing adapter specific attributes (similar to the link)
    public String Get_Msgid(Container container){
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSMessageID");
    String jmsMsgID = conf.get(key);
    return jmsMsgID;
    <b>Question</b>
    Do I use message mapping to extract the DCJMS* variables?
    <b>Question</b>
    If so then which message is used for the source message so that I can access the <SOAP:Header>?  Eg do I use the response message type or is there a trick to accessing the SOAP:Header?
    <b>Question</b>
    Do I use the user-defined function (like above)?
    I performed the following steps
    •     Opened the message mapping in edit mode
    •     Created the user-defined function using the graphical editor
    •     Saved the message mapping
    •     I have not connected the user-defined function to any of the xml tags in either the source or target messages
    When I go to test the message mapping I am getting the following error
    Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    STACKTRACE:
    com.sap.aii.ib.core.mapping.exec.ExecuteException: Compilation process error : CreateProcess: null\bin\javac -J-Xmx256m @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/O1170817003886.txt @E:/usr/sap/XID/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapd79a7bf0b65611dbaf390002a5d5916b/S1170817003886.txt error=2
    at  com.sap.aii.ib.server.mapping.exec.ServiceUtil.compileSourceCode(ServiceUtil.java:207)
    at com.sap.aii.ib.server.mapping.exec.ServiceUtil.compile(ServiceUtil.java:156)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCode(ServerMapService.java:361)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.compileSourceCodeWithoutAndWithArchives(ServerMapService.java:301)
    at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:153)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:259)
    at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146)
    at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
    at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
    at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    A thread in the SDN (Error while Activating Message Mapping, Posted: Jan 9, 2007 3:32 PM) suggests checking the java path on the XI machine
    This is JAVA_HOME=C:\j2sdk1.4.2_08 and seems ok
    <b>Question</b>
    Do you know why I would get the compilation error?
    Any assistance would be appreciated
    Regards,
    Mike

    Jin,
    My compilation issue has gone via a SAP recommendation to specify the JDK home directory in the instance profile
    Back to the mapping - I can now run my scenario
    <b>Source message</b>
    The response message has the following <SOAP:Header> from which I want to extract the DCJMSCorreleationID (note that it's misspelt)
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Response
      -->
    - <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSCorreleationID">40D982A0-B19D-11DB-9508-0002A5D5916B</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSTimestamp">1170297456940</SAP:Record>
      <SAP:Record namespace="http://sap.com/xi/XI/System/JMS" name="DCJMSMessageID">ID:414d5120514d4430312020202020202045c12b962001dd02</SAP:Record>
      </SAP:DynamicConfiguration>
    <b>Grahpical mapping</b>
    LHS - Response message with occurrance 0..1 so it is not connected to my UDF
    UDF Get_Corrid with no inputs
    RHS - The UDF output is connected to the Acknowledgement msg tag <ACK>
    <b>UDF</b>
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
    (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create
    ("http://sap.com/xi/XI/System/JMS","DCJMSCorreleationID");
    String Corrid = conf.get(key);
    return Corrid;
    <b>Target message</b>
    The idea is to copy the correlation id of the response message into the acknowledgement message.  But as you can see the result is NULL
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns2:AWB0020_MARKET_DATA_RESPONSE_ACK xmlns:ns2="http://awb.com.au/mq/tx/MarketData">
      <ACK>null</ACK>
      </ns2:AWB0020_MARKET_DATA_RESPONSE_ACK>
    Please advise
    Thanks Mike

  • Error in Local Variable Creation in BPEL

    Hi,
    In BPEL, we can easyly create[b] local variable of simple type.
    But i want to create complex type variables that can be used for my internal purpose.
    But it is giving error , if i try to do so.
    Could you please give me some inputs of how to create a[b] complex type local variable in BPEL process.
    Thanks in advance

    define a complex type in the process XSD ..
    then, make the local variable ..

  • Accessing database package variables from Forms

    I have a database package that populates a table of values, i.e.
    type t_route_list is table of rt_route.RTR_ID%type;
    route_list t_route_list
    route_list gets populated by a package function and I want to access route_list in the Form.
    While I can access other package variables by writing a function that returns the variable, Forms doesnt seem to like functions that return a user defined datatype as above. I have also tried using a procedure with an OUT param instead of a function but it also fails with same error.
    i.e.
    declare
    v_route_list pkg_bulk_route_replace.t_route_list;
    begin
    pkg_bulk_route_replace.init;
    pkg_bulk_route_replace.get_route_list(v_route_list);
    message(v_route_list(1));
    end;
    This will not compile, but removing the index (1) from the last line makes it compile but crash with ORA-0600.
    The code above with message replaced with dbms_out.put_line works fine on TOAD.
    So my question is......
    Can my database package return a plsql table to a form and if so, how?!

    Actually I've got this to work now!
    Thde main culprit appears to be a difference in the version of sql or pl/sql used on forms (version 5) and the database (8.1.7).
    I had defined my table as a nested table. By redefining this as a indexed table, simply by adding on 'index by binary_integer' on my server package, I am suddenly able to access the elements of the table on my form. Fortunately this did not break the server code either - the table was populated using bulk collect and that still works.
    Still got a bit of coding to do, but things are looking up now.

Maybe you are looking for

  • Sales Quote and Sales Order for Service Module.

    Hi All, I have a scenario with one of the customer where they have a Service Department. The customer is into installation and servicing of Air conditioning systems. The scenario is as mentioned below: Customer does the installation of Air Conditioni

  • Pricing conditions are not displaying on purchsae order form

    hi. i am using zmedruck form,i am able to modify all and its printing properly,but pricing coditions at item level is not displaying ,if there is any solution for this let me know. Thanks in advance.

  • How to run a background process in a J2EE App ?

    Hi guys, Here is the requirement which totally stumped me. " The web app should have a feature like a background process or something like cron jobs.. which keeps on running in the background and at a particular time each day calls a method". User in

  • I have Mac OSX 10.4.11 but it says Firefox 4 is incompatible when I try to open it

    I had a previous version of Firefox installed and after I replaced it with Firefox 4 I get " You cannot use the application "Firefox" with this version of MAC OSX" and the app will not open. I'm using Mac osx 10.4.11 and I don't see anything in the k

  • Upgrading to 3Gs I paid full price for 3G one year ago

    I'm not sure I understand what the cost of upgrading would be for me. I paid the full price for the iPhone 3G last June because I was not eligible for an upgrade at that time. (I had a WiMo phone then)I did have to sign a new contract with the phone.