1.5: Multiset problem

Hi
There is a problem during debugging procedure with statement like:
ResultTable := ResultTable Multiset Union All SomeOtherTable;
This problem occurs in all Developer versions- when you try to debug procedure it hangs (on 'Finished processing prepared classes'); and it is impossible to close the debug session; if I remove those lines- there is no problem. The problem concerns only debug- procedure works fine anyway.
ps by the way: is there any way I can close debug session, except the red button (which is pretty useless as it is 'grayed' usually)- there is a warning dialoguebox when trying exit Developer with active session- how can I call it without closing?
Regards
BartlomiejD

It looks like you have older versions of AIR installed.
Could you follow the advice in the end of this message:
http://www.adobe.com/cfusion/webforums/forum/messageview.cfm?forumid=75&catid=697&threadid =1397739&enterthread=y
and run the utility and clean up the old installation and try
to install again?
-ted

Similar Messages

  • Update Nested Table Problem

    Hi All,
    I have a update problem in nested table.
    Below is my query:
    CREATE OR REPLACE TYPE TRACER.SEARCH_DATA AS TABLE OF VARCHAR2(20);
    UPDATE TRACER_SEARCH_SCHEDULE_LOT_NUM
    SET NOT_FOUND_SOR_LOT_NUM = SEARCH_DATA(
    SELECT
    COLUMN_VALUE
    FROM
    TABLE (SELECT SORTING_LOT_NUMBER FROM TRACER_SEARCH_SCHEDULE_LOT_NUM WHERE JOB_ID = 8)
    WHERE
    TRIM(COLUMN_VALUE) NOT IN (SELECT DISTINCT (SORTING_LOT_NUMBER) FROM SEARCH_SCHEDULE_RESULT_LOT_NUM WHERE JOB_ID = 8)
    ) WHERE JOB_ID = 8;
    ORA-00936: missing expression
    or I try as following
    DECLARE
    sor_lot_num_not_found SEARCH_DATA :=
    SEARCH_DATA
    SELECT
    FROM
    TABLE (SELECT SORTING_LOT_NUMBER FROM TRACER_SEARCH_SCHEDULE_LOT_NUM WHERE JOB_ID = 8)
    WHERE
    TRIM(COLUMN_VALUE) NOT IN (SELECT DISTINCT (SORTING_LOT_NUMBER) FROM SEARCH_SCHEDULE_RESULT_LOT_NUM WHERE JOB_ID = 8)
    BEGIN
    UPDATE TRACER_SEARCH_SCHEDULE_LOT_NUM SET NOT_FOUND_SOR_LOT_NUM = sor_lot_num_not_found WHERE JOB_ID = 8;
    END;
    ORA-06550: line 5, column 9:
    PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
    ( ) - + case mod new not null others <an identifier>
    table avg count current exists max min prior sql stddev sum
    variance execute multiset the both leading trailing forall
    merge year month DAY_ hour minute second timezone_hour
    timezone_minute timezone_region timezone_abbr time timestamp
    interval date
    <a string literal with character set specificat
    ORA-06550: line 11, column 5:
    PLS-00103: Encountered the symbol ")" when expecting one of the following:
    ; for and or group having intersect minus order start union
    where connect
    ORA-06550: line 14, column 4:
    PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
    begin case declare end exception exit for goto if loop mod
    null pragma raise return select update while with
    <an identifier> <a double-quoted d
    I have try on the Select Statement, it work. So is it the way that I assign data from nested table and update method is wrong?
    Edited by: skymonster84 on Mar 8, 2011 5:12 PM

    Hi,
    I think MULTISET operators might interest you.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/operators006.htm
    Not tested :
    UPDATE tracer_search_schedule_lot_num
    SET not_found_sor_lot_num =
          sorting_lot_number
          MULTISET EXCEPT ALL
          CAST(
            MULTISET(
              SELECT distinct sorting_lot_number
              FROM search_schedule_result_lot_num
              WHERE job_id = 8
            AS search_data
    WHERE job_id = 8
    ;

  • Cant deploy the mapping which is validated fine-Problem in debugging

    Hi All,
    I have a complex mapping with almost thirthy tables involved.
    I have created a mapping with step by step process of t1 Join t2 ,t2 Join t3....t29 join t30
    The mapping seems fine and was validated succesfully.
    When I try to deploy the same it is throwing me the warnings as below...
    how to resolve this?
    how to pinpoint the exact problem area in pls code generated while deploying.
    Thanks Much!
    Srid
    Below is the deployment warning message
    COPY_OF_MAP_PS_2OJAN
    Create
    Warning
    ORA-06550: line 11, column 3:
    PL/SQL: ORA-00923: FROM keyword not found where expected
    COPY_OF_MAP_PS_2OJAN
    Create
    Warning
    ORA-06550: line 11, column 3:
    PL/SQL: SQL Statement ignored
    COPY_OF_MAP_PS_2OJAN
    Create
    Warning
    ORA-06550: line 2247, column 3
    PL/SQL: ORA-00923: FROM keyword not found where expected
    COPY_OF_MAP_PS_2OJAN
    Create
    Warning
    ORA-06550: line 2247, column 3:
    PL/SQL: SQL Statement ignored
    COPY_OF_MAP_PS_2OJAN
    Create
    Warning
    ORA-06550: line 4738, column 7:
    PL/SQL: ORA-00923: FROM keyword not found where expected
    COPY_OF_MAP_PS_2OJAN
    Create
    Warning
    ORA-06550: line 4738, column 7:
    PL/SQL: SQL Statement ignored
    Job Summary
    Updated : 2009-01-21 07:38:57.0 Job Final Status : Completed with warnings Job Processed Count : 1 Job Error Count : 0 Job Warning Count : 6
    My mapping has only 18808 lines when i looked at the .pls script generated while deploying(surprisingly... the debug message shows the error is on 22776 line)
    when tried to debug the mapping Below is the debugging message
    Analyzing map for debug...
    Retrieving Control Center connection info...
    Connecting to Control Center schema...
    Checking character set of Control Center schema...
    Configuring sources and targets...
    Validating map...
    Correlated Commit is OFF.
    Generating debug package...
    Deploying temp debug tables...
    Deploying debug package...
    Debug code deployment messages:
    LINE 22776 ,COLUMN 46:
    PLS-00103: Encountered the symbol "B_BN_BNI_66_BN_ORIGI$2" when expecting one of the following:
    . ( * % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
    The symbol "." was substituted for "B_BN_BNI_66_BN_ORIGI$2" to continue.
    End debug code deployment messages
    Mapping Debugger Error:
    oracle.wh.service.sdk.mapping.debugger.WBMappingDebuggerException: DBG1012: Debug deployment errors, can't run debug code.

    Hi,
    there is only one software version. Whether or not you have to license it depends on the features you use.
    Generate the code in the mapping editor using the "generate" button
    In the generation result window, select generation style = intermediate and operating mode = "[PL/SQL] Set based"
    Now you have to select some input or output group of some operator in your mapping.
    Then the generation result window displays an SQL statement that represents the data that would go into the group you have selected.
    Run the SQL directly in your target schema (using sql*plus, sql developer, etc.).
    If the SQL cannot be executed, the problem is in that particular part of the mapping.
    You may try to locate it further.
    Good luck,
    Carsten.

  • Urgent: export/import problem

    Hey there.
    I can't import my application anymore into ApEx 2.2,
    I took an export from the development application (also 2.2) and wanted to import it into the production environment but i get the next error:
    ORA-20001: GET_BLOCK Error. ORA-20001: Execution of the statement was unsuccessful. ORA-06550: line 77, column 19: PLS-00103: Encountered the symbol "F" when expecting one of the following: ) , * & = - + < / > at in is mod remainder not rem <een exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ between || multiset member SUBMULTISET_ <pre>begin --application/shared_com
    Error installing application.
    Any ideas what could be wrong?
    Thank you in advance.
    In addition:
    I get the same error when importing with mozilla, only the &quot;F&quot; differs:
    ORA-20001: GET_BLOCK Error. ORA-20001: Execution of the statement was unsuccessful. ORA-06550: line 77, column 19: PLS-00103: Encountered the symbol &quot;F&quot; when expecting one of the following: ) , * &amp; = - + &lt; / &gt; at in is mod remainder not rem &lt;een exponent (**)&gt; &lt;&gt; or != or ~= &gt;= &lt;= &lt;&gt; and or like LIKE2_ LIKE4_ LIKEC_ between || multiset member SUBMULTISET_ <pre>begin --application/shared_com
    Error installing application.
    Return to application.
    Message was edited by:
    OLI

    Joel,
    The problem is solved it seems,
    I imported the application with carachter set: West European ISO-8859-1
    It gave no problems.
    So to resume:
    Host DAD WE8ISO8859P1
    Imported with character set: West European ISO-8859-1
    I now changed the DAD of the target server to WE8ISO8859P1 but that hasn't got anything to do with the problem, i think i choose the wrong character set to import it.
    Thanks for the help

  • Problem with htp.p and popUp

    <p>I think the problem is related with the javascript function and the &quot;&quot;.
    </p>
    <p>When i Open the page without the popUp it works fine!
    htp.p('&lt;a href=&quot;javascript:popUp('f?p=&amp;APP_ID.:5:&amp;SESSION.::::P5_FIC_ID:'||p_photo||')&quot;;&gt;&lt;img src=&quot;#WORKSPACE_IMAGES#ver_recorte.jpg&quot; border=&quot;0&quot; alt = &quot;Clique para Ver&quot;&gt;&lt;/a&gt;');ErroR:
    following: ) , * & | = - + < / > at in is mod remainder not rem => .. <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ as between from using || multiset member SUBMULTISET_
    Thanks
    Sorry for the previous post
    Message was edited by:
    José Lopes

    Thanks Scott
    With a litle change on the original(the javascript popup code was wrong)..it worked fine
    htp.p('&lt;a href=&quot;javascript:popUp(''f?p=&amp;APP_ID.:5:&amp;SESSION.::::P5_FIC_ID:'||p_photo||''')&quot;;&gt;&lt;img src=&quot;#WORKSPACE_IMAGES#ver_recorte.jpg&quot; border=&quot;0&quot; alt = &quot;Clique para Ver&quot;&gt;&lt;/a&gt;');
    [\Code]
    Best Regards
    José Lopes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Object view multi-cast problem

    We are using the following object to generate XML the output for multi=cast is prodicing an unwanted extra tag "*_ITEM"
    Any ideias??
    CREATE OR REPLACE VIEW sjs.arrest_obj_view
    AS SELECT CAST(MULTISET(SELECT 'ERROR NEEDED ' FROM dual) AS errors_type) AS "Errors",
    a.a_date AS "ArrestDate",
    NVL(a.a_photo_num,'NULL') AS "PhotographNumber",
    NVL(a.a_division,'NULL') AS "AgencyDivision",
    'MODEL MAPPING PROBLEM' AS "ArrestType",
    NVL(agcy.agcy_ori,'NULL') AS "ArrestingAgency",
    a.a_id AS "ArrestNumber",
    NVL(oa.o_number,'NULL') AS "ArrestingOfficerID",
    NVL(o.o_number,'NULL') AS "AssistingOfficerID",
    'MODEL MAPPING PROBLEM' AS "AssistingAgency",
    'MODEL MAPPING PROBLEM' AS "CJTN",
    CAST(MULTISET(SELECT l.lu_name AS "Weapon"
    FROM sjs.arrestweapons awm,
    sjs.lookuptable l
    WHERE awm.a_id = a.a_id
    AND awm.weapons_id = lu_id (+)) AS arrest_weapons_type) AS "ArrestWeapons"
    FROM sjs.arrest a,
    sjs.agency agcy,
    sjs.officers o,
    sjs.officers oa
    WHERE a.agcy_id = agcy.agcy_id (+)
    AND a.o_arrest_id = oa.o_id (+)
    AND a.o_assist_id = o.o_id (+)
    - <ROWSET>
    - <ROW num="1">
    <InterfaceTransaction>ADD</InterfaceTransaction>
    <Resubmission>RESUBMISSION NEEDED</Resubmission>
    <SubmittingAgency>NY1111111</SubmittingAgency>
    <SubmittingEmployeeID>FFOTI</SubmittingEmployeeID>
    <TOT>TOT NEEDED</TOT>
    - <Errors>
    - <Errors_ITEM>
    <Error>ERROR NEEDED</Error>
    </Errors_ITEM>
    </Errors>
    <ArrestDate>3/18/2002 9:40:0</ArrestDate>
    <PhotographNumber>PPPPP</PhotographNumber>
    <AgencyDivision>PPP</AgencyDivision>
    <ArrestType>MODEL MAPPING PROBLEM</ArrestType>
    <ArrestingAgency>NY1111111</ArrestingAgency>
    <ArrestNumber>1</ArrestNumber>
    <ArrestingOfficerID>NULL</ArrestingOfficerID>
    <AssistingOfficerID>NULL</AssistingOfficerID>
    <AssistingAgency>MODEL MAPPING PROBLEM</AssistingAgency>
    <CJTN>MODEL MAPPING PROBLEM</CJTN>
    - <ArrestWeapons>
    - <ArrestWeapons_ITEM>
    <Weapon>FULLY AUTOMATIC RIFLE OR MACHINE GUN</Weapon>
    </ArrestWeapons_ITEM>
    - <ArrestWeapons_ITEM>
    <Weapon>FIRE/INCENDIARY DEVICE</Weapon>
    </ArrestWeapons_ITEM>
    </ArrestWeapons>
    </ROW>
    </ROWSET>

    How would you replace the multi-cast within the object with cursor?
    Thanks

  • CAST MULTISET...is it supported by BI

    In a precedent POst i explained the problems we had with multiple queries to display data as a hierarchical manner, with more than 2 levels
    We'd like to explore the way with CAST MULTISET...but before to spend time, we'd like to assure that it is supported by BI Publisher.
    As an example ( with one level):
    We prepared the Object Types as is :
    create or replace TYPE ETAG_T AS OBJECT("@S_NUME_OBJE" NUMBER,
                        S_NUME_ETAG NUMBER,
                        C_TYPE_ETAG VARCHAR2(4 CHAR),
                        L_DESC_ETAG VARCHAR2(50 CHAR),
                        N_NOMB_PIEC NUMBER,
                        N_SURF_TOTA NUMBER,
                        D_MODI DATE,
                        R_FONC CHAR(5),
                        R_UTIL CHAR(20),
                        C_CODE_LANG VARCHAR2(4 CHAR)
    create or replace TYPE etaglist_t AS TABLE OF etag_t
    create or replace TYPE obje_t as Object (
    "@S_NUME_OBJE" NUMBER,
    N_NUME_IMME VARCHAR2(5) ,
    N_NUME_OBJE VARCHAR2(5) ,
    etag_list etaglist_t
    Then the data query is (Statement is named Q1):
    SELECT
    obje_t(s_nume_obje, n_nume_obje, n_nume_imme,
    CAST (MULTISET (SELECT S_NUME_OBJE,
                        S_NUME_ETAG,
                        C_TYPE_ETAG,
                        L_DESC_ETAG,
                        N_NOMB_PIEC,
                        N_SURF_TOTA,
                        D_MODI,
                        R_FONC,
                        R_UTIL,
                        C_CODE_LANG
    FROM imm.b12_0 eta
    WHERE eta.s_nume_obje = obj.s_nume_obje)
    AS etaglist_t))
    AS "obj"
    FROM pointi.b02_v obj
    WHERE obj.s_nume_obje= :sNumeObje
    As a result , we get only the <obj> element like this :
    <LIST_Q1>
    <Q1>
    <obj/>
    </Q1>
    </LIST_Q1>
    We tried too :
    SELECT XMLElement("Object",
    obje_t(s_nume_obje, n_nume_obje, n_nume_imme,
    CAST (MULTISET (SELECT S_NUME_OBJE,
                        S_NUME_ETAG,
                        C_TYPE_ETAG,
                        L_DESC_ETAG,
                        N_NOMB_PIEC,
                        N_SURF_TOTA,
                        D_MODI,
                        R_FONC,
                        R_UTIL,
                        C_CODE_LANG
    FROM imm.b12_0 eta
    WHERE eta.s_nume_obje = obj.s_nume_obje)
    AS etaglist_t))
    AS "obj" ) as "objXML"
    FROM pointi.b02_v obj
    WHERE obj.s_nume_obje= :sNumeObje
    And we get :
    <Q1>
    <objXML/>
    </Q1>
    Seems to be not supported isn't it...
    Laurent

    Ok thanks,
    I already checked your blog before to speak about pl/sql tables ;-)
    I think , for maintenance, it will better too , than having a single query with many cast...Multiset , which could have more than 500 lines :-(
    But in our case, as we should have kind of hierarchies in the XML (with levels) and collections, i think we should have a mix :
    store pl/sql tables in a package, that will be reused from the main query, and certainly continue to use cast multiset to manage theses nested collections.
    As you said, i think we could remove the use of Object Types as we do today.

  • Problem with OWB Paris (case expression)

    I've got a little problem with defining an attribute property. I've defined a simple case statement: case when LKP_IN.TEST_TAB_ID is null then 'INS' else 'UPD' end. When I validate the expression I get the following error message:
    Line 1, Col 8:
    PLS-00103: Encountered the symbol "when" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
    The symbol ". was inserted before "when" to continue.
    Line 1, Col 50:
    PLS-00103: Encountered the symbol "THEN" when expecting one of the following:
    ; and or
    Needless to say that this worked well with OWB 10g R1. Any clue?
    Thanks in advance
    Jörg

    Hello, Jörg
    To what database are you trying to deploy your mapping? It seems that db version is pre-9i?
    If so, note that CASE statement is unavailable in PL/SQL until Oracle 9i – it’s available only in SQL (in pre-9i Oracle had different code from SQL and PL/SQL interpretation, after 9i it share interpreter code). The compilation error may appear in “ROW-based” parts of package: OWB generates code that calls CASE statement directly in PL/SQL – it cause error.
    To avoid deployment error “wrap” this expression component by some operator (order, dedup, join, set). In this case OWB pack expression along with “wrap” operator in SQL statement and package will compile.
    Where were discussion here (in forum) about using analytical function in mapping – the same approach works for CASE / DECODE if deploying to pre-9i database.
    Sergey

  • Problem with single quote around ANYINTERACT

    CREATE TABLE JUNK
    as SELECT s.survey_id,s.shape,s.original_depth
    FROM bathyuser.sounding s,m_covr r
    WHERE SDO_GEOM.RELATE (s.shape, 'ANYINTERACT', R.geom, 0.5) = 'TRUE'
    AND R.DSNM=CNT.DSNM
    and
    s.SURVEY_ID in
    (SELECT unique s.survey_id FROM header s, m_covr r
    WHERE SDO_GEOM.RELATE (s.shape, 'ANYINTERACT', r.geom, 0.5) = 'TRUE'
    AND DSNM=CNT.DSNM)';
    This above SQL works fine in SQL prompt. But when I put it together in PL/SQL it gives me this error :
    WHERE SDO_GEOM.RELATE (s.shape, 'ANYINTERACT', R.geom, 0.5) = 'TRUE'
    ERROR at line 17:
    ORA-06550: line 17, column 39:
    PLS-00103: Encountered the symbol "ANYINTERACT" when expecting one of the
    following:
    * & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
    Could someone help me fix this error. I know I have to try it with "EXECUTE IMMEDIATE" command, but I'm having problem with "||" (concatinate).
    Thanks so much
    Cuong

    This is how you go about debugging execute immediate statements. I am assuming that you fixed the first problem as marias suggested and cam up with something like this. Note, I changed the table in your surso to dual since I do not have your tables, but the effect is the same. I changed the EXECUTE IMMEDIATE to DBMS_OUTPUT.Put_Line so you can actually see what you are trying to execute. I also added some carriage returns to make the formatting a littel easier to see. This is what I got:
    SQL> DECLARE
      2     statement varchar2(1000);
      3  CURSOR C_DSNM5 IS
      4     SELECT dummy dsnm FROM dual;
      5  BEGIN
      6     FOR CNT IN C_DSNM5 LOOP
      7        STATEMENT := 'CREATE TABLE JUNK'||
      8                     ' AS SELECT s.survey_id,s.shape,s.original_depth'||CHR(10)||
      9                     ' FROM bathyuser.sounding s,m_covr r '||CHR(10)||
    10                     'WHERE SDO_GEOM.RELATE (s.shape, '||
    11                     '''ANYINTERACT'''||
    12                     ', R.geom, 0.5) = '||'''TRUE'''||CHR(10)||
    13                     ' AND R.DSNM = CNT.DSNM '||CHR(10)||
    14                     ' AND s.SURVEY_ID IN '||
    15                     ' (SELECT UNIQUE s.survey_id FROM HEADER s, m_covr r'||CHR(10)||
    16                     ' WHERE SDO_GEOM.RELATE (s.shape, '||
    17                     '''ANYINTERACT'''||
    18                     ', r.geom, 0.5) = '||
    19                     '''TRUE'''||CHR(10)||
    20                     ' AND R.DSNM = '||CNT.DSNM||' )';
    21        DBMS_OUTPUT.Put_Line (statement);
    22     END LOOP;
    23  END;
    24  /
    CREATE TABLE JUNK AS SELECT s.survey_id,s.shape,s.original_depth
    FROM bathyuser.sounding s,m_covr r
    WHERE SDO_GEOM.RELATE (s.shape, 'ANYINTERACT', R.geom, 0.5) = 'TRUE'
    AND R.DSNM = CNT.DSNM
    AND s.SURVEY_ID IN  (SELECT UNIQUE s.survey_id FROM HEADER s, m_covr r
    WHERE SDO_GEOM.RELATE (s.shape, 'ANYINTERACT', r.geom, 0.5) = 'TRUE'
    AND R.DSNM = X )
    PL/SQL procedure successfully completed.You have at least two issues with this CREATE TABLE statement. The last line needs to have the X (which came from dual) quoted since it is a string. You also still have a reference to CNT.DSNM, unless you fixed both occurences.
    Another major problem is that if your cursor will return more than one row, and by the structure of this I assume that it might, the on the second record you are going to get:
    ORA-00955: name is already used by an existing object.
    Although I see no reason why you need dynamic sql here, you really need to use bind variables whereever possible (everywhere you use a variable except ofr names of database objects. So, your procedure should look more like:
    DECLARE
       statement varchar2(1000);
       CURSOR C_DSNM5 IS
          SELECT distinct DSNM from M_COVR where dsnm like 'US5%';
    BEGIN
       FOR CNT IN C_DSNM5 LOOP
          STATEMENT := 'CREATE TABLE JUNK'||
                       ' AS SELECT s.survey_id,s.shape,s.original_depth'||
                       ' FROM bathyuser.sounding s,m_covr r '||
                       'WHERE SDO_GEOM.RELATE (s.shape, '||
                       '''ANYINTERACT'''||
                       ', R.geom, 0.5) = '||'''TRUE'''||
                       ' AND R.DSNM = :b1 '||
                       ' AND s.SURVEY_ID IN '||
                       ' (SELECT UNIQUE s.survey_id FROM HEADER s, m_covr r'||
                       ' WHERE SDO_GEOM.RELATE (s.shape, '||
                       '''ANYINTERACT'''||
                       ', r.geom, 0.5) = '||
                       '''TRUE'''||
                       ' AND R.DSNM = :b2 )';
          EXECUTE IMMEDIATE statement USING cnt.dsnm, cnt.dsnm
       END LOOP;
    END;But it is still very wrong.
    Perhaps if you can explain in words what you are trying to accomplish someone can provide a much better response.
    John

  • DBMS_XMLQuery problems

    The xmlquery is creating and extra "ITEM" tag when using the object view below.
    Any Ideas?
    Thanks
    CREATE OR REPLACE VIEW sjs.arrest_obj_view
    AS SELECT a.a_date AS "ArrestDate",
    NVL(a.a_photo_num,'NULL') AS "PhotographNumber",
    NVL(a.a_division,'NULL') AS "AgencyDivision",
    'MODEL MAPPING PROBLEM' AS "ArrestType",
    NVL(agcy.agcy_ori,'NULL') AS "ArrestingAgency",
    a.a_id AS "ArrestNumber",
    NVL(o.o_number,'NULL') AS "AssistingOfficerID",
    'MODEL MAPPING PROBLEM' AS "CJTN",
    CAST(MULTISET(SELECT l.lu_name AS "WeaponForce"
    FROM sjs.arrestweapons awm,
    sjs.lookuptable l
    WHERE awm.a_id = a.a_id
    AND awm.weapons_id = lu_id (+)) AS arrest_weapons_type)
    AS "ArrestWeapons"
    FROM sjs.arrest a,
    sjs.agency agcy,
    sjs.officers o
    WHERE a.agcy_id = agcy.agcy_id (+)
    AND a.o_assist_id = o.o_id (+)
    <ROWSET>
    <ROW num="1">
    <InterfaceTransaction>ADD</InterfaceTransaction>
    <ArrestDate>6/11/1996 16:45:0</ArrestDate>
    <PhotographNumber>NULL</PhotographNumber>
    <AgencyDivision>NULL</AgencyDivision>
    <ArrestType>MODEL MAPPING PROBLEM</ArrestType>
    <ArrestingAgency>NY0353400</ArrestingAgency>
    <ArrestNumber>1</ArrestNumber>
    <AssistingOfficerID>NULL</AssistingOfficerID>
    <CJTN>MODEL MAPPING PROBLEM</CJTN>
    <ArrestWeapons>
    <ArrestWeapons_ITEM>
    <WeaponForce>NONE/NOT APPLICABLE</WeaponForce>
    </ArrestWeapons_ITEM>
    </ArrestWeapons>
    </ROW>
    </ROWSET>

    Hi Frank,
    Please chech your object view definition.
    are u sure that there will be sigle value populated in the set ArrestWeapons?? your definition says that there will be multiple values and thais is how xmlquery typically handles the nesting.
    inside the <ArrestWeapons> ,there will be no of <ArrestWeapons_ITEM> nestings equal to the no of records.
    if u do not want this item tag there or two options.
    1)try canging the object view definition.i am not sure about your requirements of the xml query. the heriarchy can also be acheived by nested cursors and by objects/nested tables.
    2)u will have to manipulate the clob while generating the xml file and delete the unwanted tags.
    feel free to post any further queries...

  • Refer Multiset Union value from cursor

    Hi everyone,
    I am new to the concept of pseudo functiona and was just trying to use the multiset union function. I have written a cursor which gives me a column 'buyer' and a corresponding dataset. Now my dilemna is how to refer the elements in the dataset using the cursor. Could anyone please help?
    CREATE TABLE BUYER
      BUYER        NUMBER(4)                        NOT NULL,
      BUYER_NAME   VARCHAR2(120 BYTE)               NOT NULL,
      BUYER_PHONE  VARCHAR2(20 BYTE),
      BUYER_FAX    VARCHAR2(20 BYTE)
    SET DEFINE OFF;
    Insert into RMS.BUYER
       (BUYER, BUYER_NAME, BUYER_PHONE, BUYER_FAX)
    Values
       (110, 'Kendr', '5147, 876', NULL);
    Insert into RMS.BUYER
       (BUYER, BUYER_NAME, BUYER_PHONE, BUYER_FAX)
    Values
       (101, 'Amelie Dube', '(514),808', NULL);
    Insert into RMS.BUYER
       (BUYER, BUYER_NAME, BUYER_PHONE, BUYER_FAX)
    Values
       (102, 'Jennifer Baie', '51962,860', NULL);
    Insert into RMS.BUYER
       (BUYER, BUYER_NAME, BUYER_PHONE, BUYER_FAX)
    Values
       (103, 'Loriannstris', '5333962,785', NULL);
    Insert into RMS.BUYER
       (BUYER, BUYER_NAME, BUYER_PHONE, BUYER_FAX)
    Values
       (104, 'Sandra St-re', '513962,736', NULL);
    COMMIT;
    create or replace type tab1 is table of varchar2 (30);    
    DECLARE
    cursor c1 is
    select buyer,
          CAST (multiset(select buyer_name from buyer where rownum<4) as tab1) as data1
          from buyer
    MULTISET UNION ALL
    select  buyer,
              CAST(multiset(select buyer_name from buyer where rownum<5) as tab1) as data2
    from buyer;
    BEGIN
      for c_rec in c1
        loop
          DBMS_OUTPUT.PUT_LINE(c_rec.buyer||'~'||c_rec.column_value(1)); --  i want to print all the values in the 'data set' along with the buyer id.
       end loop;
    end;
    error:
    PLS-00302: component 'COLUMN_VALUE' must be declared

    Thanks a lot for your help. Now the one i posted was just to simplify the actual problem. But let me try and give you the complete picture.
    I have a nested table structure:
    Table structure:
                                              ->ExtOfXOrderSkuDesc_TBL -> ExtOfOrderExpDesc_TBL    
        I_message -> ExtOfXOrderDesc_TBL
                                              ->ExtOfXOrderPackDesc_TBL -> ExtOfOrderExpDesc_TBLCould not post the whole table detail as its too big
    CURSOR c_insert_item IS
       SELECT im.item,
              item_diff.import_country_id,
              item_diff.hts_no,
              item_diff.ExtOfOrderExpDesc_TBL --needs to be casted
         FROM TABLE(CAST(I_message.ExtOfXOrderDesc_TBL(1).ExtOfXOrderSkuDesc_TBL AS "RIB_ExtOfXOrderSkuDesc_TBL")) item_diff,
              item_master im
        WHERE item_diff.style_no = im.item_parent
       UNION ALL
       SELECT im.item,
              pack_diff.import_country_id,
              pack_diff.hts_no,
              pack_diff.ExtOfOrderExpDesc_TBL --needs to be casted
         FROM TABLE(CAST(I_message.ExtOfXOrderDesc_TBL(1).ExtOfXOrderPackDesc_TBL AS "RIB_ExtOfXOrderPackDesc_TBL")) pack_diff,
              item_master im
        WHERE pack_diff.style_no = im.item_parent;Now i need to make an union of all the elements including the ExtOfOrderExpDesc_TBL . So i wanted the cast it as multiset. But pardon my ignorance i feel i am lost somewhere. Based on you reply could you suggest how can i make the union and access each element using the cursor record?
    Thanks

  • A problem with threads

    I am trying to implement some kind of a server listening for requests. The listener part of the app, is a daemon thread that listens for connections and instantiates a handling daemon thread once it gets some. However, my problem is that i must be able to kill the listening thread at the user's will (say via a sto button). I have done this via the Sun's proposed way, by testing a boolean flag in the loop, which is set to false when i wish to kill the thread. The problem with this thing is the following...
    Once the thread starts excecuting, it will test the flag, find it true and enter the loop. At some point it will LOCK on the server socket waiting for connection. Unless some client actually connects, it will keep on listening indefinatelly whithought ever bothering to check for the flag again (no matter how many times you set the damn thing to false).
    My question is this: Is there any real, non-theoretical, applied way to stop thread in java safely?
    Thank you in advance,
    Lefty

    This was one solution from the socket programming forum, have you tried this??
    public Thread MyThread extends Thread{
         boolean active = true;          
         public void run(){
              ss.setSoTimeout(90);               
              while (active){                   
                   try{                       
                        serverSocket = ss.accept();
                   catch (SocketTimeoutException ste){
                   // do nothing                   
         // interrupt thread           
         public void deactivate(){               
              active = false;
              // you gotta sleep for a time longer than the               
              // accept() timeout to make sure that timeout is finished.               
              try{
                   sleep(91);               
              }catch (InterruptedException ie){            
              interrupt();
    }

  • A problem with Threads and MMapi

    I am tring to execute a class based on Game canvas.
    The problem begin when I try to Play both a MIDI tone and to run an infinit Thread loop.
    The MIDI tone "Stammers".
    How to over come the problem?
    Thanks in advance
    Kobi
    See Code example below:
    import java.io.IOException;
    import java.io.InputStream;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.Image;
    import javax.microedition.lcdui.game.GameCanvas;
    import javax.microedition.media.Manager;
    import javax.microedition.media.MediaException;
    import javax.microedition.media.Player;
    public class MainScreenCanvas extends GameCanvas implements Runnable {
         private MainMIDlet parent;
         private boolean mTrucking = false;
         Image imgBackgound = null;
         int imgBackgoundX = 0, imgBackgoundY = 0;
         Player player;
         public MainScreenCanvas(MainMIDlet parent)
              super(true);
              this.parent = parent;
              try
                   imgBackgound = Image.createImage("/images/area03_bkg0.png");
                   imgBackgoundX = this.getWidth() - imgBackgound.getWidth();
                   imgBackgoundY = this.getHeight() - imgBackgound.getHeight();
              catch(Exception e)
                   System.out.println(e.getMessage());
          * starts thread
         public void start()
              mTrucking = true;
              Thread t = new Thread(this);
              t.start();
          * stops thread
         public void stop()
              mTrucking = false;
         public void play()
              try
                   InputStream is = getClass().getResourceAsStream("/sounds/scale.mid");
                   player = Manager.createPlayer(is, "audio/midi");
                   player.setLoopCount(-1);
                   player.prefetch();
                   player.start();
              catch(Exception e)
                   System.out.println(e.getMessage());
         public void run()
              Graphics g = getGraphics();
              play();
              while (true)
                   tick();
                   input();
                   render(g);
          * responsible for object movements
         private void tick()
          * response to key input
         private void input()
              int keyStates = getKeyStates();
              if ((keyStates & LEFT_PRESSED) != 0)
                   imgBackgoundX++;
                   if (imgBackgoundX > 0)
                        imgBackgoundX = 0;
              if ((keyStates & RIGHT_PRESSED) != 0)
                   imgBackgoundX--;
                   if (imgBackgoundX < this.getWidth() - imgBackgound.getWidth())
                        imgBackgoundX = this.getWidth() - imgBackgound.getWidth();
          * Responsible for the drawing
          * @param g
         private void render(Graphics g)
              g.drawImage(imgBackgound, imgBackgoundX, imgBackgoundY, Graphics.TOP | Graphics.LEFT);
              this.flushGraphics();
    }

    You can also try to provide a greater Priority to your player thread so that it gains the CPU time when ever it needs it and don't harm the playback.
    However a loop in a Thread and that to an infinite loop is one kind of very bad programming, 'cuz the loop eats up most of your CPU time which in turn adds up more delays of the execution of other tasks (just as in your case it is the playback). By witting codes bit efficiently and planning out the architectural execution flow of the app before start writing the code helps solve these kind of issues.
    You can go through [this simple tutorial|http://oreilly.com/catalog/expjava/excerpt/index.html] about Basics of Java and Threads to know more about threads.
    Regds,
    SD
    N.B. And yes there are more articles and tutorials available but much of them targets the Java SE / EE, but if you want to read them here is [another great one straight from SUN|http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html] .
    Edited by: find_suvro@SDN on 7 Nov, 2008 12:00 PM

  • J2ME problem with threads

    Hi all,
    I would like to ask you for a help. I need to write a small program at my university. I started to write a midlet which function would be to countdown time for sports activities. I woul like to start a new thread - the one that counts down - and at the same time make the main thread sleep. After the "countdown" thread finishes, the main thread wakes up and waits for user input. The problem is that when the "countdown" thread finishes his work, I've got Uncaught exception java/lang/NullPointerException. error and the midlet halts.
    Below you can find the code
    import java.lang.*;
    import java.util.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
    public class intervals extends MIDlet implements CommandListener
    public Display ekran;
    private SweepCanvas sweeper;
    private Form rundy;
    private TextField round0, round1, round2, round3, round4, round5, round6, round7, round8;
    private long czas,x;
    private Command exitCommand;
    private Command addRound;
    private Command delRound;
    private Command start;
    private TextField repeat;
    private Form odliczanie;
    private Alert ostrz;
    Licznik thread;
    String test;
    StringItem test1;
    int parz,i,j,k;
    static int l;
    int ilrund;
    int ilpowt;
    Item sec;
    long sec1;
    public intervals()
        rundy = new Form("Interwa&#322;y sportowe");
        exitCommand = new Command("Wyj&#347;cie", Command.EXIT, 2);
        addRound = new Command("Dodaj","Dodaj rund&#281;", Command.ITEM,1);
        delRound = new Command("Usu&#324;","Usu&#324; ostatni&#261; rund&#281;", Command.ITEM,1);
        start = new Command("Start", Command.ITEM,1);
        odliczanie = new Form("Odliczanie");
        TextField dodaj(TextField kolej)
            kolej=new TextField("Podaj czas (s) rundy "+parz,null, 4, TextField.NUMERIC);//stworzenie nowej instancji do wybierania czasu trwania rundy
            if(rundy.size()==0)
                rundy.insert(rundy.size(),kolej);
                else
                    rundy.insert(rundy.size()-1, kolej);
            return kolej;
        void odliczanie(TextField round)
            monitor m=new monitor();
            k=Integer.parseInt(round.getString());
            ekran.setCurrent(odliczanie);
            thread=new Licznik(k,odliczanie);
            thread.start();
            ekran.setCurrent(rundy);
    public void startApp()// throws MIDletStateChangeException
        rundy.deleteAll();
        repeat = new TextField("Podaj ilo&#347;&#263; powtórze&#324;",null,1,TextField.NUMERIC);
        rundy.addCommand(addRound);
        rundy.addCommand(exitCommand);
        rundy.setCommandListener(this);
        Canvas obrazek = new MyCanvas();
        ekran = Display.getDisplay(this);
        ekran.setCurrent(obrazek);
        czas=System.currentTimeMillis();
        while (System.currentTimeMillis()<czas+1000)
            continue;
        ekran.setCurrent(rundy);
    public void pauseApp()
    public void destroyApp(boolean unconditional)
        notifyDestroyed();
    public void commandAction(Command c, Displayable s)
        if (c == exitCommand)
            destroyApp(false);
            notifyDestroyed();
        else if(c==addRound)
            if(rundy.size()==0)//Sprawdzenie ilo&#347;ci elementów w celu poprawnego wy&#347;wietlania liczby rund w formie
                parz=1;
                else
                parz=rundy.size();
            switch(parz)
                case 1:
                    round0=dodaj(round0);break;
                case 2:
                    round1=dodaj(round1);break;
                case 3:
                   round2= dodaj(round2);break;
                case 4:
                    round3=dodaj(round3);break;
                case 5:
                    round4=dodaj(round4);break;
                default:
                    ostrz=new Alert("Uwaga","Maksymalna liczba rund wynosi 9", null, AlertType.INFO);
                    ostrz.setTimeout(3000);
                    ekran.setCurrent(ostrz);
            if(rundy.size()==1)
                rundy.append(repeat);
                rundy.addCommand(start);
            rundy.addCommand(delRound);
        else if(c==delRound)
            if(rundy.size()!=0)
                rundy.delete(rundy.size()-2);
                if (rundy.size()==1)
                    rundy.deleteAll();
                if(rundy.size()==0)
                    rundy.removeCommand(delRound);
                    rundy.removeCommand(start);
        else if(c==start)
            ilrund=rundy.size()-1;
            if(this.repeat.size()>0)
                ilpowt=Integer.parseInt(this.repeat.getString());
            ekran = Display.getDisplay(this);
            for (i=1; i<=ilpowt;i++)
                odliczanie= new Form("Odliczanie");
                 for (j=0;j<ilrund;j++)
                    switch(j)
                         case 0:
                             odliczanie(round0);
                             break;
                         case 1:
                             odliczanie(round1);
                             break;
                         case 2:
                             odliczanie(round2);
                             break;
                         case 3:
                             odliczanie(round3);
                             break;
                         case 4:
                             odliczanie(round4);
                             break;
                         case 5:
                             odliczanie(round5);
                             break;
                         case 6:
                             odliczanie(round6);
                             break;
                         case 7:
                             odliczanie(round7);
                             break;
                         case 8:
                             odliczanie(round8);
                             break;
    class Licznik extends Thread
        int czas1,k;
        Form forma;
        monitor m;
        public Licznik(int k,Form formap)
            czas1=k;
            forma=formap;
        public synchronized void run()
            while(czas1>0)
                forma.deleteAll();
                forma.append("Czas pozosta&#322;y (s): "+czas1);
                try{Thread.sleep(1000);} catch(InterruptedException e){e.printStackTrace();}
                czas1--;
            if(czas1<=0)
                m.put();
        }and monitor class
    public class monitor
    boolean busy=false;
    synchronized void get()
        if(!busy)
            try
                wait();
            }catch(InterruptedException e){e.printStackTrace();}
        notify();
    synchronized void put()
        if(busy)
            try
            wait();
            }catch(InterruptedException e){e.printStackTrace();}
        busy=true;
        notify();
    }Can anybody help me with this?

    Groovemaker,
    Your Licznik class has a member m of type monitor, which has not been instantiated (in other words is null) hence, when calling m.put() you get NullPointerException. Please also mind, that using Thread.sleep(1000) is not an accurate way of measuring time.
    If I may, please use recommended for Java class naming conventions - some of your names use lower case, while other don't which is confusing to the reader.
    Daniel

  • Problem with threads within applet

    Hello,
    I got an applet, inside this applet I have a singleton, inside this singleton I have a thread.
    this thread is running in endless loop.
    he is doing something and go to sleep on and on.
    the problem is,
    when I refresh my IE6 browser I see more than 1 thread.
    for debug matter, I did the following things:
    inside the thread, sysout every time he goes to sleep.
    sysout in the singleton constructor.
    sysout in the singleton destructor.
    the output goes like this:
    when refresh the page, the singleton constructor loading but not every refresh, sometimes I see the constructor output and sometimes I dont.
    The thread inside the singleton is giving me the same output, sometime I see more than one thread at a time and sometimes I dont.
    The destructor never works (no output there).
    I don't understand what is going on.
    someone can please shed some light?
    thanks.
    btw. I am working with JRE 1.1
    this is very old and big applet and I can't convert it to something new.

    Ooops. sorry!
    I did.
         public void start() {
         public void stop() {
         public void destroy() {
              try {
                   resetAll();
                   Configuration.closeConnection();
                   QuoteItem.closeConnection();
              } finally {
                   try {
                        super.finalize();
                   } catch (Throwable e) {
                        e.printStackTrace();
         }

Maybe you are looking for

  • Problem with Lovs in same row of table

    Hi all, I am using two lovs in a row of advanced table.In first lov I am searching for few attributes and storing on of the values in a formValue(by using addLovRealtions(....,...,...,LOV_RESULT,...)). Based on this value I am using LOV_PASSIVE_CRITE

  • Time series functions are not working in OBIEE for ESSBASE data source

    Hi All, I am facing a problem in OBIEE as I am getting error messages for measure columns with Time series functions(Ago,ToDate and PeriodRolling) in both RPD and Answers. Error is "Target database does not support Ago operation". But I am aware of O

  • Auto-Create a form number when form is opened.

    Hello, I was wondering if I can auto-create a number to populate in sequence every time I open the form?  For example, Microsoft Word, Excel auto populates the date when the form is open.  I'd like the same functionality when creating a form to auto-

  • Sycing Podcasts...Listed Out of Order

    When syncing my podcasts to the iPad, it does not sort my files by name, so the episodes order seems scrambled. How do I fix it?

  • How can i find how many sessions are opened in my database

    Hai Iam using Oracle 10g version, front end that iam using is oracle forms6i, sometimes my system get hanged because of some session and not closed i think, can i know how can i find how many session is opened on my database.