Pl/sql Package Tuning Tips

Hi Friends,
I have a requirement of Tunning a Pl/sql package.
Kindly share some tips on Tunning the Package.
Thanks & Regards
Dilip Nomula

Ramya,
Profiler is a plsql api which is very effective to find out that in the pl sql program of yours, where is the time spent and on which line? This, otherwise would be very tough to do as the pl sql programs are long and its tough to find the time spent on each line. Using the profiler, a line by line comparison can be shown to you. Here is a link how to use it,
http://www.oracle-base.com/articles/9i/DBMS_PROFILER.php
In addition to it, you can also combine dbms_trace. Combining this with the Profiler, you can have a complete info about the plsql package.
http://www.oracle-base.com/articles/9i/DBMS_TRACE.php
HTH
Aman....

Similar Messages

  • Tuning tips for sql

    Can some one tell me the tuning tips for sql statements, please.
    Thanks
    Ajwat

    Yes get EP (explain plan) going and try add /*+ RULE */ hint to your SIUD commands (Select/Insert/Update/Delete) . This changes the optimizer mode from CHOOSE to RULE, I find RULE uses indexes more often than CHOOSE (see example below).
    select /*+ RULE */ c1,c2,c3 from t1 where n1=123
    --[EP 1 results]
    SELECT STATEMENT Optimizer=HINT: RULE
    TABLE ACCESS (BY INDEX ROWID) OF T1
    INDEX (RANGE SCAN) OF I_NU_T1_N1 (NON-UNIQUE)
    select c1,c2,c3 from t1 where n1=123
    --[EP 2 results]
    SELECT STATEMENT Optimizer=CHOOSE (Cost=1 Card=1 Bytes=12)
    TABLE ACCESS (FULL) OF T1 (Cost=1 Card=1 Bytes=12)
    Look for any FULL TABLE SCAN entries in your EP results and try to get rid of them. As the above example shows, switching to RULE uses the index on table T1.
    There are a while pile of other HINTS listed as well (other than just RULE) which are at ...
    http://download-west.oracle.com/otndoc/oracle9i/901_doc/server.901/a87503/hintsref.htm#4894
    There is a whole section on Oracle Performance at the following address...
    http://download-west.oracle.com/otndoc/oracle9i/901_doc/server.901/a87503/toc.htm
    the Hints section is Chapter 5
    There are many more things to tuning tips, but by far, getting your SQL to use indexes is the primary one and you'll have to get EP results to see which indexes are being used (the FREE Toad program shows EP results nicely).
    Hope this helps,
    Tyler

  • EclipseLink-Redeploying a DBWS WS on PL/SQL package after changing return

    Issue concerning: EclipseLink 2.4.1 (DBWS) on WebLogic
    Hi,
    I've created a DBWS webservice based on a Oracle (10g) PL/SQL package, by using EclipseLink DBWS builder. The PL/SQL function exposed as a webservice call has a Object type return type, e.g.:
    create or replace type eclipse_type as
    object
    num number
    create or replace package test_eclipselink_pkg as
    function test return eclipse_type;
    end;
    As I understand it, EclipseLink-DBWS translates this Oracle object type to an Java type when calling the PL/SQL function over JDBC and translates the Java object to XML to be encapsulated in a SOAP message.
    The problem is that when changing the specification of the return type (e.g. changing the name of the field num to nmb in the Oracle type eclipse_type) of the Oracle PL/SQL function, regenerating the webservice (WAR-file) with DBWS builder and redeploying it on WebLogic 10.3.6, calling the webservice results in a java.lang.reflect.InvocationTargetException.
    Restarting the WebLogic server (or the appropriate managed server) resolves the problem, what shouldn't be a problem in a development environment, but is not always possible in a production environment.
    The problem seems to be that redeploying the webservice doesn't result in the XR Operations/Queries being recreated and as a result the old result type definition is used.
    Has anybody a solution for this problem?
    Kind regards,
    Jan

    Hi,
    I checked the logging while redeploying the WAR file. This part of the output seems to indicate, as you suggested, that the EcliipseLink session is not correctly logged of (InstanceAlreadyExistsException):
    *** <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating redeploy operation for application, PLUS_WS [archive: P:\WS-I\eclipselink-2.4.0\runtime\eclipselink-2.4.1.v20120712-r11838\eclipselink\utils\dbws\output\PLUS_WS.war], to AdminServer .>
    *** <Notice> <Stdout> <BEA-000000> <[EL Warning]: server: 2012-09-03 16:40:16.598--ServerSession(28419523)--Thread(Thread[[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Problem while unregistering MBean: weblogic.management.NoAccessRuntimeException: Access not allowed for subject: principals=[], on ResourceType: Configuration Action: unregister, Target: null>
    *** <Notice> <Stdout> <BEA-000000> <[EL Config]: connection: 2012-09-03
    *** <Notice> <Stdout> <BEA-000000> <[EL Info]: connection: 2012-09-03 16:40:16.599--ServerSession(28419523)--Thread(Thread[[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--schapkaarten-dbws-or-session logout successful>
    *** <Info> <Deployer> <BEA-149060> <Module PLUS_WS.war of application PLUS_WS successfully transitioned from STATE_PREPARED to STATE_NEW on server AdminServer.>
    *** <Notice> <Stdout> <BEA-000000> <[EL Info]: connection: 2012-09-03 16:40:17.07--ServerSession(9455819)--Thread(Thread[[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--schapkaarten-dbws-or-session login successful>
    *** <Notice> <Stdout> <BEA-000000> <[EL Warning]: server: 2012-09-03 16:40:17.071--ServerSession(9455819)--Thread(Thread[[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Problem while registering MBean: javax.management.InstanceAlreadyExistsException: TopLink:Name=Development-schapkaarten-dbws-or-session,Type=Configuration>
    *** <Notice> <Stdout> <BEA-000000> <[EL Warning]: server: 2012-09-03 16:40:17.071--ServerSession(9455819)--Thread(Thread[[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--Problem while registering MBean: javax.management.InstanceAlreadyExistsException: TopLink:Name=Session(schapkaarten-dbws-or-session)>
    What I cannot see, is: who is responsible for this logout? This must be clear so I know I have to log a bug for WebLogic or for EclipseLink.
    Anyone a suggestion how to determine this?
    Thanks,
    Jan

  • HOW TO: Post a SQL statement tuning request - template posting

    This post is not a question, but similar to Rob van Wijk's "When your query takes too long ..." post should help to improve the quality of the requests for SQL statement tuning here on OTN.
    On the OTN forum very often tuning requests about single SQL statements are posted, but the information provided is rather limited, and therefore it's not that simple to provide a meaningful advice. Instead of writing the same requests for additional information over and over again I thought I put together a post that describes how a "useful" post for such a request should look like and what information it should cover.
    I've also prepared very detailed step-by-step instructions how to obtain that information on my blog, which can be used to easily gather the required information. It also covers again the details how to post the information properly here, in particular how to use the \ tag to preserve formatting and get a fixed font output:
    http://oracle-randolf.blogspot.com/2009/02/basic-sql-statement-performance.html
    So again: This post here describes how a "useful" post should look like and what information it ideally covers. The blog post explains in detail how to obtain that information.
    In the future, rather than requesting the same additional information and explaining how to obtain it, I'll simply refer to this HOW TO post and the corresponding blog post which describes in detail how to get that information.
    *Very important:*
    Use the \ tag to enclose any output that should have its formatting preserved as shown below.
    So if you want to use fixed font formatting that preserves the spaces etc., do the following:
    \   This preserves formatting
    \And it will look like this:
       This preserves formatting
       . . .Your post should cover the following information:
    1. The SQL and a short description of its purpose
    2. The version of your database with 4-digits (e.g. 10.2.0.4)
    3. Optimizer related parameters
    4. The TIMING and AUTOTRACE output
    5. The EXPLAIN PLAN output
    6. The TKPROF output snippet that corresponds to your statement
    7. If you're on 10g or later, the DBMS_XPLAN.DISPLAY_CURSOR output
    The above mentioned blog post describes in detail how to obtain that information.
    Your post should have a meaningful subject, e.g. "SQL statement tuning request", and the message body should look similar to the following:
    *-- Start of template body --*
    The following SQL statement has been identified to perform poorly. It currently takes up to 10 seconds to execute, but it's supposed to take a second at most.
    This is the statement:
    select
    from
             t_demo
    where
             type = 'VIEW'
    order by
             id;It should return data from a table in a specific order.
    The version of the database is 11.1.0.7.
    These are the parameters relevant to the optimizer:
    SQL>
    SQL> show parameter optimizer
    NAME                                 TYPE        VALUE
    optimizer_capture_sql_plan_baselines boolean     FALSE
    optimizer_dynamic_sampling           integer     2
    optimizer_features_enable            string      11.1.0.7
    optimizer_index_caching              integer     0
    optimizer_index_cost_adj             integer     100
    optimizer_mode                       string      ALL_ROWS
    optimizer_secure_view_merging        boolean     TRUE
    optimizer_use_invisible_indexes      boolean     FALSE
    optimizer_use_pending_statistics     boolean     FALSE
    optimizer_use_sql_plan_baselines     boolean     TRUE
    SQL>
    SQL> show parameter db_file_multi
    NAME                                 TYPE        VALUE
    db_file_multiblock_read_count        integer     8
    SQL>
    SQL> show parameter db_block_size
    NAME                                 TYPE        VALUE
    db_block_size                        integer     8192
    SQL>
    SQL> show parameter cursor_sharing
    NAME                                 TYPE        VALUE
    cursor_sharing                       string      EXACT
    SQL>
    SQL> column sname format a20
    SQL> column pname format a20
    SQL> column pval2 format a20
    SQL>
    SQL> select
      2             sname
      3           , pname
      4           , pval1
      5           , pval2
      6  from
      7           sys.aux_stats$;
    SNAME                PNAME                     PVAL1 PVAL2
    SYSSTATS_INFO        STATUS                          COMPLETED
    SYSSTATS_INFO        DSTART                          01-30-2009 16:25
    SYSSTATS_INFO        DSTOP                           01-30-2009 16:25
    SYSSTATS_INFO        FLAGS                         0
    SYSSTATS_MAIN        CPUSPEEDNW              494,397
    SYSSTATS_MAIN        IOSEEKTIM                    10
    SYSSTATS_MAIN        IOTFRSPEED                 4096
    SYSSTATS_MAIN        SREADTIM
    SYSSTATS_MAIN        MREADTIM
    SYSSTATS_MAIN        CPUSPEED
    SYSSTATS_MAIN        MBRC
    SYSSTATS_MAIN        MAXTHR
    SYSSTATS_MAIN        SLAVETHR
    13 rows selected.Here is the output of EXPLAIN PLAN:
    SQL> explain plan for
      2  -- put your statement here
      3  select
      4             *
      5  from
      6             t_demo
      7  where
      8             type = 'VIEW'
      9  order by
    10             id;
    Explained.
    Elapsed: 00:00:00.01
    SQL>
    SQL> select * from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |          |     1 |    60 |     0   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |     1 |    60 |     0   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    14 rows selected.Here is the output of SQL*Plus AUTOTRACE including the TIMING information:
    SQL> rem Set the ARRAYSIZE according to your application
    SQL> set autotrace traceonly arraysize 100
    SQL> select
      2             *
      3  from
      4             t_demo
      5  where
      6             type = 'VIEW'
      7  order by
      8             id;
    149938 rows selected.
    Elapsed: 00:00:02.21
    Execution Plan
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |          |     1 |    60 |     0   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |     1 |    60 |     0   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |     1 |       |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    Statistics
              0  recursive calls
              0  db block gets
         149101  consistent gets
            800  physical reads
            196  redo size
        1077830  bytes sent via SQL*Net to client
          16905  bytes received via SQL*Net from client
           1501  SQL*Net roundtrips to/from client
              0  sorts (memory)
              0  sorts (disk)
         149938  rows processed
    SQL>
    SQL> disconnect
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing optionsThe TKPROF output for this statement looks like the following:
    TKPROF: Release 11.1.0.7.0 - Production on Mo Feb 23 10:23:08 2009
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    Trace file: orcl11_ora_3376_mytrace1.trc
    Sort options: default
    count    = number of times OCI procedure was executed
    cpu      = cpu time in seconds executing
    elapsed  = elapsed time in seconds executing
    disk     = number of physical reads of buffers from disk
    query    = number of buffers gotten for consistent read
    current  = number of buffers gotten in current mode (usually for update)
    rows     = number of rows processed by the fetch or execute call
    select
    from
             t_demo
    where
             type = 'VIEW'
    order by
             id
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch     1501      0.53       1.36        800     149101          0      149938
    total     1503      0.53       1.36        800     149101          0      149938
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 88 
    Rows     Row Source Operation
    149938  TABLE ACCESS BY INDEX ROWID T_DEMO (cr=149101 pr=800 pw=0 time=60042 us cost=0 size=60 card=1)
    149938   INDEX RANGE SCAN IDX_DEMO (cr=1881 pr=1 pw=0 time=0 us cost=0 size=0 card=1)(object id 74895)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                    1501        0.00          0.00
      db file sequential read                       800        0.05          0.80
      SQL*Net message from client                  1501        0.00          0.69
    ********************************************************************************The DBMS_XPLAN.DISPLAY_CURSOR output:
    SQL> -- put your statement here
    SQL> -- use the GATHER_PLAN_STATISTICS hint
    SQL> -- if you're not using STATISTICS_LEVEL = ALL
    SQL> select /*+ gather_plan_statistics */
      2  *
      3  from
      4  t_demo
      5  where
      6  type = 'VIEW'
      7  order by
      8  id;
    149938 rows selected.
    Elapsed: 00:00:02.21
    SQL>
    SQL> select * from table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
    PLAN_TABLE_OUTPUT
    SQL_ID  d4k5acu783vu8, child number 0
    select   /*+ gather_plan_statistics */          * from          t_demo
    where          type = 'VIEW' order by          id
    Plan hash value: 1390505571
    | Id  | Operation                   | Name     | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    |   0 | SELECT STATEMENT            |          |      1 |        |    149K|00:00:00.02 |     149K|   1183 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| T_DEMO   |      1 |      1 |    149K|00:00:00.02 |     149K|   1183 |
    |*  2 |   INDEX RANGE SCAN          | IDX_DEMO |      1 |      1 |    149K|00:00:00.02 |    1880 |    383 |
    Predicate Information (identified by operation id):
       2 - access("TYPE"='VIEW')
    20 rows selected.I'm looking forward for suggestions how to improve the performance of this statement.
    *-- End of template body --*
    I'm sure that if you follow these instructions and obtain the information described, post them using a proper formatting (don't forget about the \ tag) you'll receive meaningful advice very soon.
    So, just to make sure you didn't miss this point:Use proper formatting!
    If you think I missed something important in this sample post let me know so that I can improve it.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Alex Nuijten wrote:
    ...you missed the proper formatting of the Autotrace section ;-)Alex,
    can't reproduce, does it still look unformatted? Or are you simply kidding? :-)
    Randolf
    PS: Just noticed that it actually sometimes doesn't show the proper formatting although the code tags are there. Changing to the \ tag helped in this case, but it seems to be odd.
    Edited by: Randolf Geist on Feb 23, 2009 11:28 AM
    Odd behaviour of forum software                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • The -dataSource parameter in assemble a web service from a PL/SQL package

    When I use Web Service Assembler to assemble a Web Service from a PL/SQL package, I need to specify the dataSource parameter, e.g.:
    java -jar wsa.jar -plsqlAssemble -sql pkgname -dataSource jdbc/MyDS -dbConnection ... -dbUser scott/tiger ....
    The dataSource also needs to be pre-configured in the data-sources.xml in OC4J.
    I am wondering why dataSource is needed here because the database connection information is already specified on the commandline ( dbConnection and dbUser).
    If I have to specify dataSource, how do I configure data-sources.xml dynamically at run-time (e.g., adding entries)?
    Thanks,
    Jim

    The -dataSource parameter specifies the data-sources.xml entry used at runtime. The database connection info is only for design time use. Typically you make sure data-sources.xml contains an entry with jndi-location of the same name you specifies for -dataSource. To configure data-sources.xml at runtime, it is out of the scope of web services. Please refer to OC4J admin guide. You can probably modify the data-sources.xml file and force OC4J to reconfigure based on the new data-sources.xml file.

  • Creating PL/SQL Package with all the types

    CREATE OR REPLACE
    TYPE rec_type AS OBJECT (
    first_name VARCHAR2(20),
    last_name VARCHAR2(20)
    CREATE OR REPLACE
    TYPE REC_TYPE_TAB AS TABLE OF rec_type
    I am able to create the above types in oracle and used in PL/SQL packages. And like this I have somany types. I would like to if I can create a package with the types to make the life easier. Could you please tell me how to do it.
    your help is greately appreciated..
    --Krish                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    sb92075 wrote:
    TYPE add only aggravation, complexity, & should be avoidedI disagree.
    When used correctly types can be the simplest solution.
    For example when passing multiple values to a stored procedure. Avoiding the type in the below example would lead to further complexity and aggravation not lessen it.
    SQL> create or replace procedure p
      2      (
      3      p_object_list in sys.odcivarchar2list,
      4      p_result out sys_refcursor
      5      ) as
      6  begin
      7      open p_result for
      8          select owner, object_name, object_type
      9          from all_objects
    10          where object_name in
    11              (
    12              select column_value from
    13              table(p_object_list)
    14              )
    15          order by
    16              owner, object_name, object_type;
    17  end;
    18  /
    Procedure created.
    SQL> exec p(sys.odcivarchar2list('DUAL','ALL_OBJECTS'),:c)
    PL/SQL procedure successfully completed.
    SQL> print c
    OWNER                          OBJECT_NAME                    OBJECT_TYPE
    PUBLIC                         ALL_OBJECTS                    SYNONYM
    PUBLIC                         DUAL                           SYNONYM
    SYS                            ALL_OBJECTS                    VIEW
    SYS                            DUAL                           TABLE

  • Creating PL/SQL packages

    Hello,
    The problem I am confronted with is reusing generated models.
    In the process of DataMinig several steps are used: prepare data, Attribute selection (using AI), and building, testing and applying models.
    If PL/SQL packages are used two problems occur:
    First: Long, hand driven process of building:
    Model generation in ODM,
    PL/SQL package building in ODM and Export to SQL file,
    importing package to DB, compiling and running.
    I am sorry, but I don't understand why is it necessary to export PL/SQL packages in a file? As if these products aren't both Oracle products?
    Second: If data (in time) changes and AI selects new attributes, then all next steps fail, since column names, and even some values, are hard coded! Therefore it is necessary to go trough the build and export process all over again. This really hurts.
    Do you have a suggestion how to get around this problem?
    I already considered using a SPSS Clementine, but since it is not an Oracle product I still believe, the original Oracle solution should give me some advantages.
    Oh and another issue.
    I tried using PL/SQL generator (Ver.: 10.1.3.0.17) in JDeveloper (ver.: 10.1.3.0.4), but it gave me an error:
    java.lang.NoClassDefFoundError: oracle/dmt/dm4j/DM4JConnectionManager
         at oracle.dmt.dm4j.extension.CodeGenerator.invoke(Unknown Source)
         at oracle.ide.wizard.WizardManager.invokeWizard(WizardManager.java:310)
         at oracle.ide.wizard.WizardManager$2.run(WizardManager.java:358)
         at oracle.ide.util.IdeUtil.invokeAfterRepaint(IdeUtil.java:1093)
         at oracle.ide.wizard.WizardManager$1.run(WizardManager.java:366)
         at oracle.ide.util.IdeUtil$1$1.run(IdeUtil.java:1073)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    Thanks for the reply,
    Igor

    Hi,
    The code generation available in ODMr would allow you to deploy the build, apply or test process as generated code.
    I am not sure what your application goal is, but if you simply want to deploy a model be used in an apply process that is rather straight forward.
    You would build the model using ODMr. Then create an Apply Activity, again using ODMr.
    The Apply Activity can then be used to generate code (pl/sql) using the JDev RTM release (10.1.3.2 or above). We will also have a version that will work with SQLDev shortly.
    The generated code is immediately placed into the db for you.
    If you want to score in a separate db you can either create a db link from that db or move both the model and the apply pl/sql code to the new db (using dba utilities).
    If you want to rebuild a model, where you would add/remove attributes, change transformations etc. then you will have to regenerate the code.
    If you simply want to rebuild the model without changing any transformations and settings you could also deploy the model build generated code.
    As for the JDev failure, we are going to look into that. Have you tried the JDev 10.1.3.3 release available on the Oracle web site?
    Thanks, Mark

  • Creating PL/SQL package in SQL Developer 4.0.0.12

    Hi,
    I have built a model in SQL Developer 4.0.0.12 and I want to create it's PL/SQL package.
    In ODMiner 11.1.0.4 from "Tools" > "Create pl/sql package" I can get a script for creating package and every thing is OK.
    but in SQL Developer I select "Deploy" from every node's context menu and it generates a folder containing some scripts related to every node. I don't see any relevant script for creating any package.
    How can I create relevant PL/SQL package from my workflow?
    Thank you for any help you can provide in this situation.

    Please refer to this White paper for how to generate PL/SQL package for workflow deployment:
    Oracle Data Miner (Extension of SQL Developer 4.0)
    Generate a PL/SQL script for workflow deployment
    http://www.oracle.com/technetwork/database/options/advanced-analytics/odmrcodegenwhitepaper-2042206.pdf

  • How to get changes of a custom PL/SQL package updated in ISG?

    Hi All,
    I need some help on how to change a custom PL/SQL package in ISG integration repository:
    I already uploaded my custom PL/SQL package to the integration repositoy some time ago. Now I have made some changes to PL/SQL record/table types defined in the package (added some fields and removed some others). These changed record/table types are used by a procedure I already uploaded to the integration repository. When regenerating the WSDL for my PL/SQL package in integration repository I get an error that the wrapper for respective procedure can't be found. When checking up the SQL types that were automatically generated (by JPublisher) for corresponding PL/SQL types, these generated SQL types are invalid...
    So it seems that in one case JPublisher generated an empty SQL type (with no attributes). In another case JPublisher generated the SQL type with old attribute list, so it didn't adopt the changes of corresponding PL/SQL type in the package...
    Can anybody tell me how to get the changes of a cusotm PL/SQL package updated in ISG? Or is there any possibility to first remove a whole PL/SQL package from the ISG integration repository (and getting rid of all old automatically generated SQL types), so that I can newly upload my PL/SQL package afterwards?
    Thanks
    Konrad
    Edited by: Konrad on 24.10.2011 10:51

    Thanks Daniel, for your reply...
    (-> for info: I'm a colleague of Konrad...)
    Yes, we used a higher version number - and the upload of iLDT file works fine...
    But, the problem occured when generating the WSDL...
    However, I think we have found an approach of how to get the changes of a custom PL/SQL package updated correctly in ISG:
    1. Save a copy of PL/SQL package and then delete it in the database
    2. Regenerate the WSDL for PL/SQL package in ISG (seems that all atutomatically generated JPub wrappers and SQL types are also deleted)
    3. Restart all processes
    4. Create the changed version of PL/SQL package in the database again
    5. upload of iLDT
    6. Regenerate the WSDL for PL/SQL package in ISG
    Best Regards
    Carolin

  • Creating a webservice from PL/SQL Package in JDev 11g

    Hi All...
    I have a PL/SQl package and I am using JDEv 11g. I want to create it as a webservice. I want to deploy it in a remote server. Can I deploy it from my client machine. In server Weblogic already started. What are the prerequisites, that we need to deploy a wbservice. I done the following steps.
    1. Create an application.
    2. Right click the package and select Generate Java option.
    3. It create a Java class in the Application sources.
    4. Double click the class and select Create Web Service. It created the web service.
    5. When I select the webservice and click Run it shows the following error. It going to the Default \server. Actually I need it in a remote server.
    [Running application NewWebService on Server Instance DefaultServer...]
    ---- Deployment started. ---- Apr 20, 2009 1:15:40 PM
    Target platform is (Weblogic 10.3).
    Running dependency analysis...
    2009-04-20 13:15:40.205: Writing WAR file to D:\Oracle\Middleware\jdeveloper\system\system11.1.1.0.31.51.88\o.j2ee\drs\NewWebService\NewWebService-LastNoWebService-webapp
    2009-04-20 13:15:40.222: Wrote WAR file to D:\Oracle\Middleware\jdeveloper\system\system11.1.1.0.31.51.88\o.j2ee\drs\NewWebService\NewWebService-LastNoWebService-webapp
    2009-04-20 13:15:40.357: Writing EAR file to D:\Oracle\Middleware\jdeveloper\system\system11.1.1.0.31.51.88\o.j2ee\drs\NewWebService
    2009-04-20 13:15:40.374: Wrote EAR file to D:\Oracle\Middleware\jdeveloper\system\system11.1.1.0.31.51.88\o.j2ee\drs\NewWebService
    Deploying Application...
    <Apr 20, 2009 1:15:40 PM IST> <Warning> <J2EE> <BEA-160195> <The application version lifecycle event listener oracle.security.jps.wls.listeners.JpsAppVersionLifecycleListener is ignored because the application NewWebService is not versioned.>
    <Apr 20, 2009 1:15:40 PM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1240213540593' for task '3'. Error is: 'java.lang.ClassNotFoundException: sqlj.runtime.ref.DefaultContext'
    java.lang.ClassNotFoundException: sqlj.runtime.ref.DefaultContext
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         Truncated. see log file for complete stacktrace
    java.lang.ClassNotFoundException: sqlj.runtime.ref.DefaultContext
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         Truncated. see log file for complete stacktrace
    >
    <Apr 20, 2009 1:15:40 PM IST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'NewWebService'.>
    <Apr 20, 2009 1:15:40 PM IST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    java.lang.ClassNotFoundException: sqlj.runtime.ref.DefaultContext
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         Truncated. see log file for complete stacktrace
    java.lang.ClassNotFoundException: sqlj.runtime.ref.DefaultContext
         at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:283)
         at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:256)
         at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:54)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         Truncated. see log file for complete stacktrace
    >
    [Deployer:149034]An exception occurred for task [Deployer:149026]deploy application NewWebService on DefaultServer.: sqlj.runtime.ref.DefaultContext.
    weblogic.application.WrappedDeploymentException: sqlj.runtime.ref.DefaultContext
    #### Deployment incomplete. #### Apr 20, 2009 1:15:40 PM
    oracle.jdeveloper.deploy.DeployException
         at oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer.doDeploymentAction(Jsr88RemoteDeployer.java:247)
         at oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer.deployImpl(Jsr88RemoteDeployer.java:157)
         at oracle.jdeveloper.deploy.common.AbstractDeployer.deploy(AbstractDeployer.java:94)
         at oracle.jdevimpl.deploy.fwk.WrappedDeployer.deployImpl(WrappedDeployer.java:39)
         at oracle.jdeveloper.deploy.common.AbstractDeployer.deploy(AbstractDeployer.java:94)
         at oracle.jdeveloper.deploy.common.BatchDeployer.deployImpl(BatchDeployer.java:82)
         at oracle.jdeveloper.deploy.common.AbstractDeployer.deploy(AbstractDeployer.java:94)
         at oracle.jdevimpl.deploy.fwk.WrappedDeployer.deployImpl(WrappedDeployer.java:39)
         at oracle.jdeveloper.deploy.common.AbstractDeployer.deploy(AbstractDeployer.java:94)
         at oracle.jdevimpl.deploy.fwk.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:436)
         at oracle.jdeveloper.deploy.DeploymentManager.deploy(DeploymentManager.java:209)
         at oracle.jdevimpl.runner.adrs.AdrsStarter$5$1.run(AdrsStarter.java:1365)
    Caused by: oracle.jdeveloper.deploy.DeployException
         at oracle.jdevimpl.deploy.common.Jsr88DeploymentHelper.deployApplication(Jsr88DeploymentHelper.java:413)
         at oracle.jdevimpl.deploy.common.Jsr88RemoteDeployer.doDeploymentAction(Jsr88RemoteDeployer.java:238)
         ... 11 more
    Caused by: oracle.jdeveloper.deploy.DeployException: Deployment Failed
         at oracle.jdevimpl.deploy.common.Jsr88DeploymentHelper.deployApplication(Jsr88DeploymentHelper.java:395)
         ... 12 more
    #### Cannot run application NewWebService due to error deploying to DefaultServer.
    [Application NewWebService stopped and undeployed from Server Instance DefaultServer]
    6. when i goto the consoleof weblogic server, already an instance created. But nothing displayed under WebServices.
    7. Select the instance and press 'Start'. While deploying an error came.
    java.lang.Exception: [DeploymentService:290049]Deploy failed for id '1,240,213,727,265' since no targets are reachable.
    Please help me..
    its very urgent...
    Regards,
    Resmi.

    Oh, no - another very urgent question. The world must be about to end ;)
    Resmi, Have a read of [url http://forums.oracle.com/forums/thread.jspa?threadID=883293]this - JDeveloper 11g, as of today, doesn't (at least is not supposed to) support publishing PL/SQL procedures/packages as a web service.
    John

  • How to Print the Value of a variable inside a PL/SQL package

    Hi Friends,
    Here is my Scenario
    I have a PL/SQL Package. Let us call it Baseline Package.
    This Package includes a dynamically built merge Statement.
    Execute Immediate v_merge_query.
    I have a procedure which replaces which few Keywords from the Package Text and Creates a new one depending on Inputs I provide. (This is something like a Code generator)
    Now while Creating the new package, I need to print the Value of v_merge_query.... I Need s Static Query to be Printed inside the new package and not a dynamic query.
    My Question is "Is there a way to print the value of the variable inside a different PL/SQL package?
    Thanks in Advance,
    Mohit

    Print where?
    That PL/SQL code is server-side code. It runs in an Oracle server process.
    That server process does not have a keyboard. Or a screen/monitor. Or display canvas. Or an attached printer.
    That server process is incapable of "printing" as that is not its job or responsibility and not part of its environment.
    What is can do is record data for the client to look at afterwards. This can be done using static PL/SQL session variables. Or a SQL table.
    The former is done by DBMS_OUTPUT - a very primitive interface for writing text into a static PL/SQL string array. That btw resides in expensive private process server memory. The client can query the array after a database call and render the contents.
    PS. Also keep in mind that bind variables are critical for performance and server robustness - especially when (ab)using dynamic SQL.

  • Invoking Web Service From PL SQL package

    Below is the sample code to invoke web service from pl/sql package using UTL_HTTP:
    Declare
    http_req UTL_HTTP.req;
    http_resp UTL_HTTP.resp;
    Begin
    http_req :=
    UTL_HTTP.begin_request
    'http://'
    || lv_hosturl
    -- || '.net/soa-infra/services/finance_rt/Payments/paymentsprocess_client_ep',
    --new url
    || '.net/soa-infra/services/finance_rt/PaymentsReq/paymentsprocess_client_ep?WSDL',
    'POST',
    'HTTP/1.1'
    UTL_HTTP.set_header (http_req, 'Content-Type', 'text/xml');
    -- since we are dealing with plain text in XML documents
    UTL_HTTP.set_header (http_req,
    'Content-Length',
    LENGTH (lv_soap_request)
    UTL_HTTP.set_header (http_req, 'SOAPAction', '');
    -- required to specify this is a SOAP communication
    UTL_HTTP.write_text (http_req, lv_soap_request);
    http_resp := UTL_HTTP.get_response (http_req);
    UTL_HTTP.read_text (http_resp, lv_soap_respond);
    UTL_HTTP.end_response (http_resp);
    resp := XMLTYPE.createxml (lv_soap_respond);
    End;

    Hi,
    there are a lot of option to make plsql web services .
    First you can stay with jdev 10.1.3
    Use the xmldb servlets
    use jdev 11g tp4 to create plsql ws and upgrade to jdev 11g production
    And I think in the next release of jdev it will be back , there are more options which disappeared like the adf bc sdo ws or jmx datacontrol etc.
    thanks Edwin

  • Support for Creating Web Service from pl/sql package in JDeveloper 11

    We have been creating all of our web services from pl/sql packages in our Oracle database using JDeveloper 10.1.3.1. I understand that this capability is not supported in Jdev 11. We have been mandated to either move up to JDeveloper 11, or consider switching to eclipse, or even VS2008 and run .NET services from IIS. I have seen work-around solutions using TopLink and Jdev 11. Are there plans to revive this feature in the near future? We're now looking at switching to .NET since we could scrap our OAS instances and use IIS to publish web services. The only reason we were sticking with Oracle was the ease in converting all our existing package to web services with Jdev.
    Is anyone else in the same situation. If so, what solutions are you considering?

    Hi,
    there are a lot of option to make plsql web services .
    First you can stay with jdev 10.1.3
    Use the xmldb servlets
    use jdev 11g tp4 to create plsql ws and upgrade to jdev 11g production
    And I think in the next release of jdev it will be back , there are more options which disappeared like the adf bc sdo ws or jmx datacontrol etc.
    thanks Edwin

  • Error when publishing a PL/SQL package as a Webservice

    Hi all,
    I am using the JDeveloper (10.1.3.1.0) to publish a PL/SQL package as a Webservice, and I am having some troubles on the generation process.
    The problem that I am facing is on the generated code for the database side, where some methods have a “$GET_” at the end of its name.
    This “$GET_” is handled by the database as a special word, and the package can’t be compiled.
    If the ‘$’ character is removed from all the methods, the package can be compiled and the Webservice works fine.
    What’s wrong? Is there a bug on the generation process of the JDeveloper?
    Regards,
    Rui Torres

    OK, This is the PL/SQL package:
    Function:
    FUNCTION Obtener_paises RETURN res_webservice AS
    v_respuesta res_webservice;
    i PLS_INTEGER:=1;
    CURSOR C_paises IS
    SELECT cpais, tpais
    FROM paises
    ORDER BY tpais;
    BEGIN
    v_respuesta := res_webservice(null,null);
    v_respuesta.error := res_error(null,null,null);
    v_respuesta.error.cerror := 0;
    v_respuesta.error.cerror_ora := 0;
    v_respuesta.error.terror := null;
    v_respuesta.datos := res_datos ();
    FOR v_pais IN C_paises LOOP
    v_respuesta.datos.extend;
    v_respuesta.datos(i) := reg_datos(null,null);
    v_respuesta.datos(i).codigo := v_pais.cpais;
    v_respuesta.datos(i).descripcion := v_pais.tpais;
    i := i + 1;
    END LOOP;
    Insertar_log(NULL,SYSDATE,'C','Obtener_paises',NULL,'ERROR:0');
    RETURN v_respuesta;
    EXCEPTION
    WHEN OTHERS THEN
    v_respuesta.error.cerror := 1;
    v_respuesta.error.cerror_ora := SQLCODE;
    v_respuesta.error.terror := substr(SQLERRM,1,80);
    Insertar_log(NULL,SYSDATE,'C','Obtener_paises',NULL,'ERROR:1 '||substr(SQLERRM,1,120));
    RETURN v_respuesta;
    END Obtener_paises;
    TYPES USED:
    CREATE OR REPLACE
    TYPE res_webservice AS OBJECT (error res_error, datos res_datos);
    CREATE OR REPLACE
    TYPE res_error AS OBJECT (cerror NUMBER(1), cerror_ora VARCHAR2(12), terror VARCHAR2(80));
    CREATE OR REPLACE
    TYPE res_datos AS TABLE OF reg_datos;
    CREATE OR REPLACE
    TYPE reg_datos AS OBJECT(codigo VARCHAR2(12), descripcion VARCHAR2(150));
    Thanks in advanced...
    Could happen this bacause of these defined types???

  • Problem with pl/sql package

    hi,
    i have requirement where i have to create a PL/SQL package which takes two parameters from procedure where i shd give fromdate and todate as parameter below is the code i am getting two errors
    create or replace PACKAGE AgentTimeReport_XDO_pkg AS
    PROCEDURE AgentTimeReport_Demo_RTF(o_errbuf OUT VARCHAR2
                   ,o_retcode OUT VARCHAR2,p_fromdate IN VARCHAR2,p_todate IN VARCHAR2 );
    END AgentTimeReport_XDO_pkg
    CREATE OR REPLACE
    PACKAGE BODY AGENTTIMEREPORT_XDO_PKG AS
    PROCEDURE AgentTimeReport_Demo_RTF(o_errbuf OUT VARCHAR2
                   ,o_retcode OUT VARCHAR2,p_fromdate IN
    VARCHAR2,p_todate IN VARCHAR2 ) AS
    cursor cs_agenttime
    is
    SELECT
    incident.Incident_Number as ServiceRequestNumber,
    TO_CHAR (incident.incident_date,'DD-MON-YYYY') as ServiceRequestDate,
    incident.Summary as Summary,
    agenttime.agentname as AgentName,
    to_char(agenttime.agentstarttime,'DD-MM-YYYY HH24:MI') as StartTime,
    to_char(to_date('00:00:00','HH24:MI:SS') +
    (agenttime.endtime-agenttime.agentstarttime), 'HH24:MI') as TimeSpent
    FROM cs_incidents_all_b incident,cs_agenttime_agv agenttime
    WHERE agenttime.incident_id=incident.incident_id
    AND incident.incident_date between to_date(:p_fromdate,'DD-MON-YYYY')
    AND to_date(:p_todate,'DD-MON-YYYY');
    BEGIN
    /*First line of XML data should be ‘<?xml version="1.0" encoding='utf-8'?>’*/
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<?xml version="1.0" encoding="utf-8"?>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<AGENTTIME>');
    FOR cs_agent IN cs_agenttime
    LOOP
    /*For each record create a group tag <G_AGENT_TIME> at the start*/
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<G_AGENT_TIME>');
    /*Embed data between XML tags for ex:- <EMP_NAME>Abeesh</EMP_NAME>*/
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<SERVICEREQUEST_NUMBER>' ||
    cs_agent.ServiceRequestNumber
    || '</SERVICEREQUEST_NUMBER>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<SERVICEREQUEST_DATE>' ||
    cs_agent.ServiceRequestDate ||
    '</SERVICEREQUEST_DATE>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<START_TIME>' || cs_agent.StartTime
    ||'</START_TIME>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<TIME_SPENT>' || cs_agent.TimeSpent
    ||'</TIME_SPENT>');
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'</G_AGENT_TIME>');
    END LOOP;
    /*Finally Close the starting Report tag*/
    FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'</AGENTTIME>');
    END AgentTimeReport_Demo_RTF;
    END AGENTTIMEREPORT_XDO_PKG;
    Error(20,44): PLS-00049: bad bind variable 'P_FROMDATE'
    Error(21,13): PLS-00049: bad bind variable 'P_TODATE'
    Help me out
    naveen

    create or replace PACKAGE AgentTimeReport_XDO_pkg AS
    PROCEDURE AgentTimeReport_Demo_RTF(o_errbuf OUT VARCHAR2
    ,o_retcode OUT VARCHAR2,p_fromdate IN VARCHAR2,p_todate IN VARCHAR2 );
    END AgentTimeReport_XDO_pkg
    CREATE OR REPLACE
    PACKAGE BODY AGENTTIMEREPORT_XDO_PKG
    AS
    PROCEDURE AgentTimeReport_Demo_RTF
        o_errbuf OUT VARCHAR2 ,
        o_retcode OUT VARCHAR2,
        p_fromdate IN VARCHAR2,
        p_todate   IN VARCHAR2 )
    AS
      CURSOR cs_agenttime(p_fromdate VARCHAR2,p_todate VARCHAR2)
      IS
         SELECT incident.Incident_Number                                                                      AS ServiceRequestNumber,
          TO_CHAR (incident.incident_date,'DD-MON-YYYY')                                                      AS ServiceRequestDate  ,
          incident.Summary                                                                                    AS Summary             ,
          agenttime.agentname                                                                                 AS AgentName           ,
          TO_CHAR(agenttime.agentstarttime,'DD-MM-YYYY HH24:MI')                                              AS StartTime           ,
          TO_CHAR(to_date('00:00:00','HH24:MI:SS') + (agenttime.endtime-agenttime.agentstarttime), 'HH24:MI') AS TimeSpent
           FROM cs_incidents_all_b incident,
          cs_agenttime_agv agenttime
          WHERE agenttime.incident_id=incident.incident_id
        AND incident.incident_date BETWEEN to_date(p_fromdate,'DD-MON-YYYY') AND to_date(p_todate,'DD-MON-YYYY');
    BEGIN
      /*First line of XML data should be ‘<?xml version="1.0" encoding='utf-8'?>’*/
      FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<?xml version="1.0" encoding="utf-8"?>');
      FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<AGENTTIME>');
      FOR cs_agent IN cs_agenttime(p_fromdate,p_todate)
      LOOP
        /*For each record create a group tag <G_AGENT_TIME> at the start*/
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<G_AGENT_TIME>');
        /*Embed data between XML tags for ex:- <EMP_NAME>Abeesh</EMP_NAME>*/
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<SERVICEREQUEST_NUMBER>' || cs_agent.ServiceRequestNumber '</SERVICEREQUEST_NUMBER>');
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<SERVICEREQUEST_DATE>' cs_agent.ServiceRequestDate || '</SERVICEREQUEST_DATE>');
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<START_TIME>' || cs_agent.StartTime ||'</START_TIME>');
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'<TIME_SPENT>' || cs_agent.TimeSpent ||'</TIME_SPENT>');
        FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'</G_AGENT_TIME>');
      END LOOP;
      /*Finally Close the starting Report tag*/
      FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'</AGENTTIME>');
    END AgentTimeReport_Demo_RTF;
    END AGENTTIMEREPORT_XDO_PKG;Ravi Kumar

Maybe you are looking for

  • PLSQL Web Tool Kit (HTP) disabled in R12 - What are the alternitives

    We have developed a fair amount of add-on applications in our e-business suite using the plsql web toolkit (htp). This functionality has been disbaled in R12. My question to Oracle, "What is the work around for using applications we developed in 11i

  • New problems mounting an old external drive!

    I have a 3TB external hitachi drive that has worked great. I have it formatted as MacOS extended Journaled. I haven't used it for quite a while I plugged it in today and I get a popup box: The disk you inserted was not readable by this computer. I in

  • Duplicated URLs inside our PDF files ?

    Forum, We are using Adobe Acrobat for creating plenty of materials and documentations which contains quite many links, These links are internal links which point/redirect to other sections on the exact same PDF file itself, Or external links which po

  • I can't register my serial number , how i do?

    i cAN'T USE MY SERIAL NO. THAT SEND TO ME AFTER I PAID ALREADY

  • BI Versions

    I have couple os questions about ABAP. 1. What is latest version of BI?. What are previous versions of BI?. What is BI version in ECC6.0?. 2. SAP renamed from BW to BIW to BI?..what is sequence?. 3. I am trying to master BI. What all i need to know i