1 2 Previous Next 15 Replies Latest reply: May 25, 2012 4:02 AM by 344384 RSS

    XML Sequence Chars Issue

    344384
      Hi I have a webservice which returns my soap response and the response is like this.
      <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <soap:Body>
          <Bins_GetResponse xmlns="http://xx/">
            <Bins_GetResult xsi:type="xsd:string">&lt;?xml version=&quot;1.0&quot;?&gt;
      &lt;Bins_GetResult xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; RecordCount=&quot;2&quot;&gt;
        &lt;Bin xmlns=&quot;http://www.xyz.com/Bins_Get.xsd&quot;&gt;
          &lt;BinID&gt;1439592&lt;/BinID&gt;
          &lt;SerialNumber&gt;O200003041858&lt;/SerialNumber&gt;
          &lt;BinType&gt;ORGANIC&lt;/BinType&gt;
          &lt;BinSize&gt;240L&lt;/BinSize&gt;
          &lt;BinStatus&gt;IN SERVICE&lt;/BinStatus&gt;
          &lt;Barcode&gt;O200003041858&lt;/Barcode&gt;
          &lt;RFID /&gt;
          &lt;UPRN xsi:type=&quot;xsd:decimal&quot;&gt;200003041858&lt;/UPRN&gt;
          &lt;RecordStamp&gt;
            &lt;AddedBy&gt;bartec&lt;/AddedBy&gt;
            &lt;DateAdded&gt;2010-04-13T16:21:46&lt;/DateAdded&gt;
            &lt;Comments /&gt;
          &lt;/RecordStamp&gt;
        &lt;/Bin&gt;
        &lt;Bin xmlns=&quot;http://www.xyz.com/Bins_Get.xsd&quot;&gt;
          &lt;BinID&gt;1439593&lt;/BinID&gt;
          &lt;SerialNumber&gt;D200003041858&lt;/SerialNumber&gt;
          &lt;BinType&gt;RECYCLABLES&lt;/BinType&gt;
          &lt;BinSize&gt;240L&lt;/BinSize&gt;
          &lt;BinStatus&gt;IN SERVICE&lt;/BinStatus&gt;
          &lt;Barcode&gt;D200003041858&lt;/Barcode&gt;
          &lt;RFID /&gt;
          &lt;UPRN xsi:type=&quot;xsd:decimal&quot;&gt;200003041858&lt;/UPRN&gt;
          &lt;RecordStamp&gt;
            &lt;AddedBy&gt;bartec&lt;/AddedBy&gt;
            &lt;DateAdded&gt;2010-04-13T16:21:46&lt;/DateAdded&gt;
            &lt;Comments /&gt;
          &lt;/RecordStamp&gt;
        &lt;/Bin&gt;
        &lt;Errors xmlns=&quot;http://www.xyz.com/Bins_Get.xsd&quot;&gt;
          &lt;Error&gt;
            &lt;Result&gt;0&lt;/Result&gt;
            &lt;Message /&gt;
          &lt;/Error&gt;
        &lt;/Errors&gt;
      &lt;/Bins_GetResult&gt;</Bins_GetResult>
          </Bins_GetResponse>
        </soap:Body>
      </soap:Envelope>
      When i put in an oracle table with xmltype column the escape chars &lt and &gt are stored and not the way it is displayed to you as of now
      RESP := XMLTYPE.CREATEXML (SOAP_RESPOND);
      
      INSERT INTO XXHCC_STAGING_XML VALUES (XMLTYPE(SOAP_RESPOND), SYSDATE);
      Before i put in my table i want the escape chars to be replaced with actual tags like '>' and '<' like a proper xml envelope.

      Can someone please let me know how to go about it.

      My environment is

      ----------------------------------------------------------------
      Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
      PL/SQL Release 9.2.0.6.0 - Production
      CORE     9.2.0.6.0     Production
      TNS for Solaris: Version 9.2.0.6.0 - Production
      NLSRTL Version 9.2.0.6.0 - Production

      Thanks

      Srini
        • 1. Re: XML Sequence Chars Issue
          Jason_(A_Non)
          You are looking for
          http://docs.oracle.com/cd/B10501_01/appdev.920/a96612/d_xmlge2.htm#1010920

          The first is supposed to work, but the 10.1 system I'm in right now is a bit screwy. I used 1 since that is the value for dbms_xmlgen.ENTITY_DECODE. I added a space before the ; when posting here to prevent it from translating the characters.
          SQL> select dbms_xmlgen.convert('&lt ;data&gt ;', dbms_xmlgen.ENTITY_DECODE)
            2  from dual;
          select dbms_xmlgen.convert('&lt ;data&gt ;', dbms_xmlgen.ENTITY_DECODE)
                                                 *
          ERROR at line 1:
          ORA-06553: PLS-221: 'ENTITY_DECODE' is not a procedure or is undefined
          
          
          SQL> select dbms_xmlgen.convert('&lt ;data&gt ;', 1)
            2  from dual;
          
          DBMS_XMLGEN.CONVERT('&LT;DATA&
          --------------------------------------------------------------------------------
          <data>
          • 2. Re: XML Sequence Chars Issue
            344384
            Hi

            Is this right then,

            SELECT DBMS_XMLGEN.CONVERT (soap_respond, DBMS_XMLGEN.ENTITY_DECODE)
            INTO soap_respond
            FROM DUAL;

            and soap_respond has got the actual data.

            Doesnt seem to work for me.

            S
            • 3. Re: XML Sequence Chars Issue
              Jason_(A_Non)
              Define
              Doesnt seem to work for me.
              Errors? Something else?

              In PL/SQL you could simply do
              SOAP_RESPOND := dbms_xmlgen.convert(SOAP_RESPOND, dbms_xmlgen.ENTITY_DECODE);
              or you could put it on the SQL that inserts into the table
              INSERT INTO XXHCC_STAGING_XML VALUES (XMLTYPE(dbms_xmlgen.convert(SOAP_RESPOND, dbms_xmlgen.ENTITY_DECODE)), SYSDATE);
              Note: I don't have 9.2 to test against so you will need to verify those work.
              • 4. Re: XML Sequence Chars Issue
                odie_63
                Before i put in my table i want the escape chars to be replaced with actual tags like '&gt;' and '&lt;' like a proper xml envelope.

                Can someone please let me know how to go about it.
                Not a good idea.

                Your webservice returns a serialized XML payload. Don't try to unescape characters from the whole envelope, it could also unescape legally escaped characters outside the payload which will render the whole XML invalid.

                You must either store the envelope directly and process the payload later in SQL or PL/SQL, or if you're only interested in the Bins_GetResult document, just extract that part in PL/SQL and store it in the table.

                Example of the first alternative :
                SQL> create table staging_xml ( xml_response xmltype, response_dt date);
                 
                Table created
                 
                SQL> 
                SQL> DECLARE
                  2  
                  3   soap_respond clob := '<?xml version="1.0" encoding="UTF-8"?>
                  4  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                  5    <soap:Body>
                  6      <Bins_GetResponse xmlns="http://xx/">
                  7        <Bins_GetResult xsi:type="xsd:string">&lt;?xml version="1.0"?&gt;
                  8  &lt;Bins_GetResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" RecordCount="2"&gt;
                  9    &lt;Bin xmlns="http://www.xyz.com/Bins_Get.xsd"&gt;
                 10      &lt;BinID&gt;1439592&lt;/BinID&gt;
                 11      &lt;SerialNumber&gt;O200003041858&lt;/SerialNumber&gt;
                 12      &lt;BinType&gt;ORGANIC&lt;/BinType&gt;
                 13      &lt;BinSize&gt;240L&lt;/BinSize&gt;
                 14      &lt;BinStatus&gt;IN SERVICE&lt;/BinStatus&gt;
                 15      &lt;Barcode&gt;O200003041858&lt;/Barcode&gt;
                 16      &lt;RFID /&gt;
                 17      &lt;UPRN xsi:type="xsd:decimal"&gt;200003041858&lt;/UPRN&gt;
                 18      &lt;RecordStamp&gt;
                 19        &lt;AddedBy&gt;bartec&lt;/AddedBy&gt;
                 20        &lt;DateAdded&gt;2010-04-13T16:21:46&lt;/DateAdded&gt;
                 21        &lt;Comments /&gt;
                 22      &lt;/RecordStamp&gt;
                 23    &lt;/Bin&gt;
                 24    &lt;Bin xmlns="http://www.xyz.com/Bins_Get.xsd"&gt;
                 25      &lt;BinID&gt;1439593&lt;/BinID&gt;
                 26      &lt;SerialNumber&gt;D200003041858&lt;/SerialNumber&gt;
                 27      &lt;BinType&gt;RECYCLABLES&lt;/BinType&gt;
                 28      &lt;BinSize&gt;240L&lt;/BinSize&gt;
                 29      &lt;BinStatus&gt;IN SERVICE&lt;/BinStatus&gt;
                 30      &lt;Barcode&gt;D200003041858&lt;/Barcode&gt;
                 31      &lt;RFID /&gt;
                 32      &lt;UPRN xsi:type="xsd:decimal"&gt;200003041858&lt;/UPRN&gt;
                 33      &lt;RecordStamp&gt;
                 34        &lt;AddedBy&gt;bartec&lt;/AddedBy&gt;
                 35        &lt;DateAdded&gt;2010-04-13T16:21:46&lt;/DateAdded&gt;
                 36        &lt;Comments /&gt;
                 37      &lt;/RecordStamp&gt;
                 38    &lt;/Bin&gt;
                 39    &lt;Errors xmlns="http://www.xyz.com/Bins_Get.xsd"&gt;
                 40      &lt;Error&gt;
                 41        &lt;Result&gt;0&lt;/Result&gt;
                 42        &lt;Message /&gt;
                 43      &lt;/Error&gt;
                 44    &lt;/Errors&gt;
                 45  &lt;/Bins_GetResult&gt;</Bins_GetResult>
                 46      </Bins_GetResponse>
                 47    </soap:Body>
                 48  </soap:Envelope>';
                 49  
                 50  BEGIN
                 51  
                 52    insert into staging_xml (xml_response, response_dt)
                 53    values ( xmltype(soap_respond), sysdate );
                 54  
                 55  END;
                 56  /
                 
                PL/SQL procedure successfully completed
                 
                SQL> commit;
                 
                Commit complete
                 
                SQL> select extractvalue(value(x), '/Bin/BinID', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinID
                  2       , extractvalue(value(x), '/Bin/SerialNumber', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as SerialNumber
                  3       , extractvalue(value(x), '/Bin/BinType', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinType
                  4       , extractvalue(value(x), '/Bin/BinSize', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinSize
                  5       , extractvalue(value(x), '/Bin/BinStatus', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinStatus
                  6  from staging_xml t
                  7     , table(
                  8         xmlsequence(
                  9           extract(
                 10             xmltype(
                 11               dbms_xmlgen.convert(
                 12                 extract( xml_response
                 13                        , '/soap:Envelope/soap:Body/Bins_GetResponse/Bins_GetResult/text()'
                 14                        , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/",
                 15                           xmlns="http://xx/"' ).getclobval()
                 16               , 1
                 17               )
                 18             )
                 19           , '/Bins_GetResult/ns0:Bin'
                 20           , 'xmlns:ns0="http://www.xyz.com/Bins_Get.xsd"'
                 21           )
                 22         )
                 23       ) x
                 24  ;
                 
                BINID          SERIALNUMBER      BINTYPE        BINSIZE         BINSTATUS
                -------------- ----------------- -------------- --------------- -----------------
                1439592        O200003041858     ORGANIC        240L            IN SERVICE
                1439593        D200003041858     RECYCLABLES    240L            IN SERVICE
                 
                As you can see the parsing query is rather cumbersome, so the second alternative is to extract the Bin_GetResult document first and store only that part in the table :
                SQL> DECLARE
                  2  
                  3   soap_respond clob := '<?xml version="1.0" encoding="UTF-8"?>
                  4  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                  5    <soap:Body>
                  6      <Bins_GetResponse xmlns="http://xx/">
                  7        <Bins_GetResult xsi:type="xsd:string">&lt;?xml version="1.0"?&gt;
                  8  &lt;Bins_GetResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" RecordCount="2"&gt;
                  9    &lt;Bin xmlns="http://www.xyz.com/Bins_Get.xsd"&gt;
                 10      &lt;BinID&gt;1439592&lt;/BinID&gt;
                 11      &lt;SerialNumber&gt;O200003041858&lt;/SerialNumber&gt;
                 12      &lt;BinType&gt;ORGANIC&lt;/BinType&gt;
                 13      &lt;BinSize&gt;240L&lt;/BinSize&gt;
                 14      &lt;BinStatus&gt;IN SERVICE&lt;/BinStatus&gt;
                 15      &lt;Barcode&gt;O200003041858&lt;/Barcode&gt;
                 16      &lt;RFID /&gt;
                 17      &lt;UPRN xsi:type="xsd:decimal"&gt;200003041858&lt;/UPRN&gt;
                 18      &lt;RecordStamp&gt;
                 19        &lt;AddedBy&gt;bartec&lt;/AddedBy&gt;
                 20        &lt;DateAdded&gt;2010-04-13T16:21:46&lt;/DateAdded&gt;
                 21        &lt;Comments /&gt;
                 22      &lt;/RecordStamp&gt;
                 23    &lt;/Bin&gt;
                 24    &lt;Bin xmlns="http://www.xyz.com/Bins_Get.xsd"&gt;
                 25      &lt;BinID&gt;1439593&lt;/BinID&gt;
                 26      &lt;SerialNumber&gt;D200003041858&lt;/SerialNumber&gt;
                 27      &lt;BinType&gt;RECYCLABLES&lt;/BinType&gt;
                 28      &lt;BinSize&gt;240L&lt;/BinSize&gt;
                 29      &lt;BinStatus&gt;IN SERVICE&lt;/BinStatus&gt;
                 30      &lt;Barcode&gt;D200003041858&lt;/Barcode&gt;
                 31      &lt;RFID /&gt;
                 32      &lt;UPRN xsi:type="xsd:decimal"&gt;200003041858&lt;/UPRN&gt;
                 33      &lt;RecordStamp&gt;
                 34        &lt;AddedBy&gt;bartec&lt;/AddedBy&gt;
                 35        &lt;DateAdded&gt;2010-04-13T16:21:46&lt;/DateAdded&gt;
                 36        &lt;Comments /&gt;
                 37      &lt;/RecordStamp&gt;
                 38    &lt;/Bin&gt;
                 39    &lt;Errors xmlns="http://www.xyz.com/Bins_Get.xsd"&gt;
                 40      &lt;Error&gt;
                 41        &lt;Result&gt;0&lt;/Result&gt;
                 42        &lt;Message /&gt;
                 43      &lt;/Error&gt;
                 44    &lt;/Errors&gt;
                 45  &lt;/Bins_GetResult&gt;</Bins_GetResult>
                 46      </Bins_GetResponse>
                 47    </soap:Body>
                 48  </soap:Envelope>';
                 49  
                 50    xml_payload  clob;
                 51  
                 52  BEGIN
                 53  
                 54    xml_payload :=
                 55      xmltype(soap_respond).extract( '/soap:Envelope/soap:Body/Bins_GetResponse/Bins_GetResult/text()'
                 56                                   , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/",
                 57                                      xmlns="http://xx/"' ).getclobval();
                 58  
                 59    insert into staging_xml (xml_response, response_dt)
                 60    values ( xmltype(dbms_xmlgen.convert(xml_payload, dbms_xmlgen.ENTITY_DECODE)), sysdate );
                 61  
                 62  END;
                 63  /
                 
                PL/SQL procedure successfully completed
                 
                SQL> commit;
                 
                Commit complete
                 
                SQL> select extractvalue(value(x), '/Bin/BinID', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinID
                  2       , extractvalue(value(x), '/Bin/SerialNumber', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as SerialNumber
                  3       , extractvalue(value(x), '/Bin/BinType', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinType
                  4       , extractvalue(value(x), '/Bin/BinSize', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinSize
                  5       , extractvalue(value(x), '/Bin/BinStatus', 'xmlns="http://www.xyz.com/Bins_Get.xsd"') as BinStatus
                  6  from staging_xml t
                  7     , table(
                  8         xmlsequence(
                  9           extract(
                 10             xml_response
                 11           , '/Bins_GetResult/ns0:Bin'
                 12           , 'xmlns:ns0="http://www.xyz.com/Bins_Get.xsd"'
                 13           )
                 14         )
                 15       ) x
                 16  ;
                 
                BINID          SERIALNUMBER      BINTYPE        BINSIZE         BINSTATUS
                -------------- ----------------- -------------- --------------- -----------------
                1439592        O200003041858     ORGANIC        240L            IN SERVICE
                1439593        D200003041858     RECYCLABLES    240L            IN SERVICE
                 
                • 5. Re: XML Sequence Chars Issue
                  344384
                  Thanks very much for the help

                  I can put the XML payload as it is in the table,but when i put in the table the characters > and < are stored as lt and gt respectivelyl.

                  If i use the method to convert and use entity_decode and then store in the table, it becomes an invalid xmltype document.

                  Srini
                  • 6. Re: XML Sequence Chars Issue
                    odie_63
                    Did you check my examples? It should provide exactly what you need.
                    • 7. Re: XML Sequence Chars Issue
                      344384
                      Hi Odie

                      Thanks very much it worked, I have done as per ur instructions.
                      soap_respond :=  xmltype(soap_respond).extract( '/soap:Envelope/soap:Body/Streets_Events_GetResponse/Streets_Events_GetResult/text()'
                                                          , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/",
                                                             xmlns="http://xxi/"' ).getclobval();
                      
                      INSERT INTO XXHCC_STAGING_XML   VALUES ( xmltype(dbms_xmlgen.convert(soap_respond, dbms_xmlgen.ENTITY_DECODE)), sysdate );   
                               COMMIT;
                      I have one more thing to ask, This is a procedure as of now and this would be called by other Oracle procedures. I was wondering to keep the out parameter as CLOB, Would that be the right thing and if i have to i put a retclob OUT parameter and then tried this but doesnt seem to work
                       IF RESP IS NULL
                            THEN
                               DBMS_OUTPUT.PUT_LINE ('NOTHING IN PAYLOAD');
                            ELSE
                               RESP :=
                               RESP := RESP.EXTRACT ('//Streets_Events_GetResult');
                      --        RETURN RESP.GetClobval();
                      --        retclob := xmltype(dbms_xmlgen.convert(soap_respond, dbms_xmlgen.ENTITY_DECODE));
                      --        return soap_respond.getclobval();
                            END IF;
                      The above one errors and I m not sure if my 3 returns are right, I have commented them...none of the returns work properly....

                      How do I pass the XML which i get back as a CLOB or any other type so that others can use it this procedure in their code.

                      Many thanks

                      Sri
                      • 8. Re: XML Sequence Chars Issue
                        odie_63
                        RETURN (with a value) is for a function, not a procedure.

                        Do you want to send back the same document you're inserting in the table?

                        This should work :
                        PROCEDURE get_ws_xml (
                          p_param1
                        , p_param2
                        , ...
                        , retxml  out xmltype
                        )
                        IS
                         ...
                        
                          soap_respond clob;
                          xml_result   xmltype;
                        
                        BEGIN
                        
                         ...
                        
                        soap_respond :=  xmltype(soap_respond).extract( '/soap:Envelope/soap:Body/Streets_Events_GetResponse/Streets_Events_GetResult/text()'
                                                            , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/",
                                                               xmlns="http://xxi/"' ).getclobval();
                        
                        xml_result := xmltype(dbms_xmlgen.convert(soap_respond, dbms_xmlgen.ENTITY_DECODE)));
                        
                        INSERT INTO XXHCC_STAGING_XML   VALUES ( xml_result, sysdate );
                        
                        retxml := xml_result;
                        • 9. Re: XML Sequence Chars Issue
                          344384
                          Thanks very much odie

                          If i have to call this procedure in sqlpluls, Eventually I will put in a package and call it.

                          I have tried like this
                          SQL> var c clob;
                          SQL> 
                          SQL> exec MYPROCSTREET_EVENTS_GET('19101705',:c);
                          BEGIN MYPROCSTREET_EVENTS_GET('19101705',:c); END;
                          
                          
                          ERROR at line 1:
                          ORA-06550: line 1, column 7:
                          PLS-00306: wrong number or types of arguments in call to
                          'MYPROCSTREET_EVENTS_GET'
                          ORA-06550: line 1, column 7:
                          PL/SQL: Statement ignored
                          The above doesnt work, do i have to declare anonymous block and declare xmltype and then execute my procedure?

                          Can u let me know?

                          Thanks

                          Sri
                          • 10. Re: XML Sequence Chars Issue
                            odie_63
                            do i have to declare anonymous block and declare xmltype and then execute my procedure?
                            If the out parameter is of XMLType, yes.

                            Depending on how the XML will be consumed later by the caller, it may be better to keep it as XMLType instead of CLOB.
                            • 11. Re: XML Sequence Chars Issue
                              344384
                              Thanks Odie, I shall keep the out parameter as xmltype,

                              One more thing, As i m switching between Vb.net (as Webservices are in .net) and then oracle (being consumed here). I m consufed a bit here...
                              declare
                                   out xmltype;
                              begin
                                     out:= mypMYPROCSTREET_EVENTS_GET('19101705');
                                     return out;
                              end;
                              The above doesnt work, I know I m doing some stupid mistake, Can u let me know how to call it from anonymous block and display it in sqlplus or TOAD.

                              Thanks very much for the help

                              S
                              • 12. Re: XML Sequence Chars Issue
                                odie_63
                                var clob_out clob
                                
                                declare
                                  xml_out xmltype;
                                begin
                                  MYPROCSTREET_EVENTS_GET('19101705', xml_out);
                                  :clob_out := xml_out.getclobval();
                                end;
                                /
                                
                                print clob_out
                                • 13. Re: XML Sequence Chars Issue
                                  344384
                                  Thanks Odie, that works perfectly..

                                  Sri
                                  • 14. Re: XML Sequence Chars Issue
                                    344384
                                    I do the same thing which you mentioned in TOAD and i get the following errors

                                    This is in TOAD
                                    var clob_out clob;
                                    
                                    declare
                                    xml_out xmltype;
                                    begin
                                    MYPROCSTREET_EVENTS_GET('19101705','05/21/2010','05/21/2012',xml_out);
                                    :clob_out := xml_out.getclobval();
                                    end;
                                    
                                    print clob_out;
                                    The error i get is below, but it works fine in SQL plus
                                    declare
                                    xml_out xmltype;
                                    begin
                                    MYPROCSTREET_EVENTS_GET('19101705','05/21/2010','05/21/2012',xml_out);
                                    :clob_out := xml_out.getclobval();
                                    end;
                                    Error at line 1
                                    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
                                    ORA-06512: at line 5
                                    Any idea why this is happening.

                                    Thanks

                                    Sri
                                    1 2 Previous Next