Orace CDC tables (built in package)

Hi,
Currently I am working on a project about the CDC(Change Data Capture) tables: after I enable the cdc tables in the oracle database for some tables, I need to query some data from these cdc tables. since this related to very complex pl sql, so I am wondering are there some built in packages which allow me to use directly to query some useful data from the cdc tables?
Please let me know if you know something, thank you very much.
here is a simple example:
there are several tables about a users application to some program:
the online application form will be saved in the table: application
Now I enable the cdc table of application table, and now I have the cdc table: application_cdc
this cdc table will record any changes of the application table that the applicant made,
Now I need to get some table from table: application_cdc,
is there some good built in functions or procedure that i can use directly?

Hi,
Thank you for the information, and sorry for the confusion, yes, I am looking for the packages that allow me to get some information from those cdc tables(I already have cdc tables with change records in it). what you told me about the DBMS_CDC_UTILITY package is useful, but it is too general(high level) that I can not use.
For the CDC tables I have, there are many changes records over there, I just need some useful records(rows), now it is difficult for me to write plsql to get it directly.
The Oracle DB I am using is 11g, Synchronous, and related to the subscriber, and I have the dw_.._cdc tables already, if there are not so many built in package for me to query the dw_.._cdc tables, what I can do is:
(1) to write complex plsql directly to query these cdc tables
or
(2)recreate the cdc tables(many original tables combined to one table): to modify the publisher part to make the data(for subscriber) more related to what I want
Im new to the cdc concept, please give me some advise, Thank you.

Similar Messages

  • Execute Built-in Packages

    We have recently installed 8.1.7. I am trying to make use of the built in package DBMS_SPACE. I see that it exists in the SYS schema, but when trying to execute it from the SYSTEM schema I get the error that SYS.DBMS_SPACE does not exist. Do I need to grant execute to SYSTEM from SYS on each package that I want to use individually, or is there some way to grant execute on the whole suite of built-ins?
    Thanks for any response.

    Thanks. Now I am able to call the package directly while logged on as system. However, I have another package that I have created in the system schema which calls the DBMS_SPACE package, and when I run this one, it comes back with:
    ORA-00942: table or view does not exist
    ORA-06512: at "SYS.DBMS_SPACE", line 40
    Does this intermediary package need some special privilege? I thought it would have the privileges of the owner of the package (in this case SYSTEM).
    Thanks again for any response

  • Temporary table within a package

    I'm not sure this is the best way to achieve it, but I'm trying to use a temporary table within my package, but I failed!
    In my package, my procedure do receive 5 different phone numbers (vTel1 to vTel5) and I need to order them, using data from a table. Also, if 2 of them are the same, I need only the one with the highest rank.
    Let say my TelOrder table look likes:
    Reason
    Tel1
    Tel2
    Tel3
    Tel4
    Tel5
    Reason1
    2
    3
    1
    5
    4
    Reason2
    1
    2
    null
    3
    4
    And I receive those variable
    vTel1='5141111111'
    vTel2=null
    vTel3='5143333333'
    vTel4='5141111111'
    vTel5='5145555555'
    vReason='Reason1'
    Using the Reason1, I need to be able to get the result looking like:
    RowNum
    Phone
    Order
    1
    5143333333
    1
    2
    5141111111
    2
    3
    5145555555
    4
    And I need this code to be apart from the procedure, cause many procedures will use the same code, and I don't want to abuse the ctrl+c, ctrl+v at each update.
    I've come close by using something like:
    EXECUTE IMMEDIATE '
         INSERT INTO Table
         SELECT Rownum as RN, Ordre, contact_info, Contact_info_type
         FROM
           (SELECT a.contact_info, a.ordre, contact_info_type FROM
             (SELECT contact_info,min(ordre) as Ordre FROM
               (SELECT Tel1 as Ordre, ''' || vTel1 || ''' as contact_info, 1 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
               UNION ALL
               SELECT Tel2 as Ordre, ''' || vTel2 || ''' as contact_info, 2 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
               UNION ALL
               SELECT Tel3 as Ordre, ''' || vTel3 || ''' as contact_info, 4 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
               UNION ALL
               SELECT Tel4 as Ordre, ''' || vTel4 || ''' as contact_info, 4 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
               UNION ALL
               SELECT Tel5 as Ordre, ''' || vTel5 || ''' as contact_info, 1 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
             WHERE Ordre is not null and contact_info is not null
             GROUP BY contact_info
             ) a
           JOIN
             (SELECT Tel1 as Ordre, ''' || vTel1 || ''' as contact_info, 1 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
             UNION ALL
             SELECT Tel2 as Ordre, ''' || vTel2 || ''' as contact_info, 2 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
             UNION ALL
             SELECT Tel3 as Ordre, ''' || vTel3 || ''' as contact_info, 4 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
             UNION ALL
             SELECT Tel4 as Ordre, ''' || vTel4 || ''' as contact_info, 4 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
             UNION ALL
             SELECT Tel5 as Ordre, ''' || vTel5 || ''' as contact_info, 1 as contact_info_type FROM TelOrder WHERE Reason=''' || vReason || '''
             ) b ON a.contact_info=b.contact_info AND a.ordre=b.ordre
           ORDER BY a.Ordre
    But when I try to remove this code and send it into another procedure/function, I can't make it work.
    PLEASE HELP!!!!  

    No Database to try it. Check at your own risk if this might work for you
    no version specified from your side, NOT TESTED from my side, so let's say we're even
    select row_number() over (order by the_order) "RowNum",
           the_val "Phone",
           the_order "Order"
      from (select v.the_val,t.the_order,
                   row_number() over (partition by v.the_val order by t.the_order) rn
              from (select reason,the_order,the_phone
                      from (select reason,tel1,tel2,tel3,tel4,tel5
                              from telorder
                             where reason = :the_reason
                    unpivot include nulls (the_order for the_phone in (tel1 as 'tel1',
                                                                       tel2 as 'tel2',
                                                                       tel3 as 'tel3',
                                                                       tel4 as 'tel4',
                                                                       tel5 as 'tel5'
                   ) t,
                   (select 'tel1' the_var,:v_tel1 the_val from dual union all
                    select 'tel2' the_var,:v_tel2 the_val from dual union all
                    select 'tel3' the_var,:v_tel3 the_val from dual union all
                    select 'tel4' the_var,:v_tel4 the_val from dual union all
                    select 'tel5' the_var,:v_tel5 the_val from dual
                   ) v
             where t.reason = :v_reason
               and t.the_phone = v.the_var
    where rn = 1
       and the_val is not null
    Regards
    Etbin

  • Unicode export:Table-splitting and package splitting

    Hi SAP experts,
    I know there are lot of forums related to this topic, but I have some new questions and hence posting a new thread.
    We are in the process of doing unicode conversion in our landscape(CRM 7.0 system based on NW 7.01) and we are running on AIX 6.1 and DB2 9.5. The database size is around 1.5 TB and hence, we want to go in for optimization for export and import in order to reduce the downtime.As a part of the process, we have tried to do table-splitting and parallel export-import to reduce the downtime.
    However, we are having some doubts whether this table-splitting has actually worked in our scenario,as the export has exeucted for nearly 28 hours.
    The steps followed by us :
    1.) Doing the export preparation using SAPINST
    2.) Doing table splitting preparation, by creating a table input file having entries in the format <tablename>%<No.of splits>.Also, we have used the latest R3ta file and the dbdb6slib.o(belonging to version 7.20 even though our system is on 7.01) using SAPINST.
    3.) Starting with the export using SAPINST.
    some observations and questions:
    1.) After completion of tablesplitting preparation, there were .WHR files that were generated for each of the tables in DATA directory of export location. However, how many .WHR files should be created and on what basis are they created?
    2.) I will take an example of a table PRCD_CLUST(cluster table) in our environment, which we had split. We had 29 *.WHR files that were created for this particular table. The number of splits given for this table was 36 and the table size is around 72 GB.Also, we noticed that the first 28 .WHR files for this table, had lots of records but the last 29th .WHR file, had only 1 record. But we also noticed that, the packages/splits for the 1st 28 splits were created quite fast but the last one,29th one took a long time(serveral hours) to get completed.Also,lots of packages were generated(around 56) of size 1 GB each for this 29th split. Also, there was only one R3load which was running for this 29th split, and was generating packages one by one.
    3.) Also,Our question here is that is there any thumb rule for deciding on the number of splits for a table.Also, during the export, are there any things that need to be specified, while giving the inputs when we use table splitting,in the screen?
    4.) Also, what exactly is the difference between table-splitting and package-splitting? Are they both effective together?
    If you have any questions and or need any clarifications and further inputs, please let me know.
    It would be great, if we could get any insights on this whole procedure, as we know a lot of things are taken care by SAPINST itself in the background, but we just want to be certain that we have done the right thing and this is the way it should work.
    Regards,
    Santosh Bhat

    Hi,
    First of all please ignore my very first response ... i have accidentally posted a response to some other thread...sorry for that 
    Now coming you your questions...
    > 1.) Can package splitting and table-splitting be used together? If yes or no, what exactly is the procedure to be followed. As I observed that, the packages also have entries of the tables that we decided to split. So, does package splitting or table-splitting override the other, and only one of the two can be effective at a time?
    Package splitting and table splitting works together, because both serve a different purpose
    My way of doing is ...
    When i do package split i choose packageLimit 1000 and also split out the tables (which i selected for table split)  into seperate package (one package per table). I do it because that helps me to track those table.
    Once the above is done i follow it up with the R3ta and wheresplitter for those tables.
    Followed by manual migration monitor to do export/import , as mentioned in the previous reply above you need to ensure you sequenced you package properly ... large tables are exported first , use sections in the package list file , etc
    > 2.) If you are well versed with table splitting procedure, could you describe maybe in brief the exact procedure?
    Well i would say run R3ta (it will create multiple select queries) followed by wheresplitter (which will just split each of the select into multiple WHR files)  ...  
    Best would go thought some document on table spliting and let me know if you have specific query. Dont miss the role of hints file.
    > 3.) Also, I have mentioned about the version of R3ta and library file in my original post. Is this likely to be an issue?Also, is there a thumb rule to decide on the no.of splits for a table.
    Rule is use executable of the kernel version supported by your system version. I am not well versed with 7.01 and 7.2 support ... to give you an example i should not use 700 R3ta on 640 system , although it works.
    >1.) After completion of tablesplitting preparation, there were .WHR files that were generated for each of the tables in DATA directory of export location. However, how many .WHR files should be created and on what basis are they created?
    If you ask for 10 split .... you will get 10 splits or in some case 11 also, the reason might be the field it is using to split the table (the where clause). But not 100% sure about it.
    > 2) I will take an example of a table PRCD_CLUST(cluster table) in our environment, which we had split. We had 29 *.WHR files that were created for this particular table. The number of splits given for this table was 36 and the table size is around 72 GB.Also, we noticed that the first 28 .WHR files for this table, had lots of records but the last 29th .WHR file, had only 1 record. But we also noticed that, the packages/splits for the 1st 28 splits were created quite fast but the last one,29th one took a long time(serveral hours) to get completed.Also,lots of packages were generated(around 56) of size 1 GB each for this 29th plit. Also, there was only one R3load which was running for this 29th split, and was generating packages one by one.
    Not sure why you got 29 split when you asked for 36, one reason might be the field (key) used for split didn't have more than 28 unique records. I dont know how is PRCD_CLUST  split , you need to check the hints file for "key". One example can be suppose my table is split using company code, i have 10 company codes so even if i ask for 20 splits i will get only 10 splits (WHR's).
    Yes the 29th file will always have less records, if you open the 29th WHR you will see that it has the "greater than clause". The 1st and the last WHR file has the "less than" and "greater than" clause , kind of a safety which allows you to prepare for the split even before you have downtime has started. This 2 WHR's ensures  that no record gets missed, though you might have prepared your WHR files week before the actual migration.
    > 3) Also,Our question here is that is there any thumb rule for deciding on the number of splits for a table.Also, during the export, are there any things that need to be specified, while giving the inputs when we use table splitting,in the screen?
    Not aware any thumb rule. First iteration you might choose something like 10 for 50 GB , 20 for 100 GB. If any of the tables overshoots the window. They you can give a try by  increase or decrease the number of splits for the table. For me couple of times the total export/import  time have improved by reducing the splits of some tables (i suppose i was oversplitting those tables).
    Regards,
    Neel
    Edited by: Neelabha Banerjee on Nov 30, 2011 11:12 PM

  • Replacing some text in a text file using TEXT_IO built-in package

    Hi everybody...
    I have written a form procedure in order to replace some text in a text document using the TEXT_IO built-in package. Although the text to be replaced is found , eventually the text is not replaced....
    Obviously , the new file - after the replacement - is not saved(?)..
    So , what should i do?
    The procedure is as follows...
    BEGIN
    in_file := Text_IO.Fopen(filename, 'a');
    LOOP
    Text_IO.Get_Line(in_file, linebuf);
    IF INSTR(linebuf,'C:\LIBS\')<>0
    THEN
    I:=INSTR(linebuf,'C:\LIBS\')-1;
    SUB_STR_BEFORE_VAR:=SUBSTR(linebuf,1,I);
    SUB_STR_AFTER_VAR:=SUBSTR(linebuf,I+9);
    Text_IO.PUT(in_file,SUB_STR_BEFORE_VAR||'D:/SIM/'||SUB_STR_AFTER_VAR);
    END IF;     
    END LOOP;
    EXCEPTION
    WHEN no_data_found THEN
    Text_IO.Fclose(in_file);
    END;
    WHERE :linebuf : is the variable in which the line contents are saved...
    SUB_STR_BEFORE_VAR : is the variable which keeps the substring before the first character of the search string
    SUB_STR_AFTER_VAR : is the variable which keeps the substring after the last character of the search string
    I : variable which keeps the number of character in line (variable linebuf) in which the first character of the search string is found
    Thanks , a lot
    Simon

    Hello,
    The A (Append) mode is used to add data at the end of the file. It will not replace existing data.
    Open the source file in R mode, open the target file in W mode, then rename it with the source name when finished.
    Francois

  • How to get list of tables used in packages

    Dear All
    Can you pls tell me how to get list of tables used in packages
    Regards

    select referenced_name
      from user_dependencies
    where name = 'your_package'
       and referenced_type = 'TABLE'Regards,
    Rob.

  • Split a large table into multiple packages - R3load/MIGMON

    Hello,
    We are in the process of reducing the export and import downtime for the UNICODE migration/Conversion.
    In this process, we have identified couple of large tables which were taking long time to export and import by a single R3load process.
    Step 1:> We ran the System Copy --> Export Preparation
    Step 2:> System Copy --> Table Splitting Preparation
    We have created a file with the large tables which are required to split into multiple packages and where able to create a total of 3 WHR files for the following table under DATA directory of main EXPORT directory.
    SplitTables.txt (Name of the file used in the SAPINST)
    CATF%2
    E071%2
    Which means, we would like each of the above large tables to be exported using 2 R3load processes.
    Step 3:> System Copy --> Database and Central Instance Export
    During the SAPInst process at Split STR files screen , we have selected the option 'Split Predefined Tables' and select the file which has predefined tables.
    Filename: SplitTable.txt
    CATF
    E071
    When we started the export process, we haven't seen the above tables been processed by mutiple R3load processes.
    They were exported by a Single R3load processes.
    In the order_by.txt file, we have found the following entries...
    order_by.txt----
    # generated by SAPinst at: Sat Feb 24 08:33:39 GMT-0700 (Mountain
    Standard Time) 2007
    default package order: by name
    CATF
    D010TAB
    DD03L
    DOKCLU
    E071
    GLOSSARY
    REPOSRC
    SAP0000
    SAPAPPL0_1
    SAPAPPL0_2
    We have selected a total of 20 parallel jobs.
    Here my questions are:
    a> what are we doing wrong here?
    b> Is there a different way to specify/define a large table into multiple packages, so that they get exported by multiple R3load processes?
    I really appreciate your response.
    Thank you,
    Nikee

    Hi Haleem,
    As for your queries are concerned -
    1. With R3ta , you will split large tables using WHERE clause. WHR files get generated. If you have mentioned CDCLS%2 in the input file for table splitting, then it generates 2~3 WHR files CDCLS-1, CDCLS-2 & CDCLS-3 (depending upon WHERE conditions)
    2. While using MIGMON ( for sequencial / parallel export-import process), you have the choice of Package Order in th e properties file.
      E.g : For Import - In the import_monitor_cmd.properties, specify
    Package order: name | size | file with package names
        orderBy=/upgexp/SOURCE/pkg_imp_order.txt
       And in the pkg_imp_txt, I have specified the import package order as
      BSIS-7
      CDCLS-3
      SAPAPPL1_184
      SAPAPPL1_72
      CDCLS-2
      SAPAPPL2_2
      CDCLS-1
    Similarly , you can specify the Export package order as well in the export properties file ...
    I hope this clarifies your doubt
    Warm Regards,
    SANUP.V

  • Information on built-in packages of HTMLDB

    Hi All,
    I have recently started working on HTMLDB.
    Can anybody tell me where from can i get information abt the built-in packages of HTMLDB. I have came across many like WWV_ . But, i dont know where from can i get detailed info abt them.
    Thanks in advance,
    Regards,
    Monika

    Monika,
    The packages available to be used in your own applications are the ones starting with htmldb_. They are documented in the Oracle HTML DB Documentation (http://www.oracle.com/technology/products/database/htmldb/index.html), chapter 16, HTML DB APIs.
    Regards,
    Marc

  • Flattening CDC tables to use in a data warehouse

    I have enabled CDC on 3 tables: [Employee, EmployeeAddress, and Address]. I want to flatten the data out then store it data in a warehouse so I can report what changed in a specific time frame. 
    If a Address is updated the linking table (EmployeeAddress) is not updated since the link to the employee already exists so when i flatten out my data my CDC tables cant figure out the who the address belongs to.
    It feels wrong to in some cases join my CDC table to my production tables. What is a best practice or recommendation for a scenario like this?
    My tables look like:
    Employee:
    EmployeeId | Name
    -------------+-------------
    e1               | Bob Jones
    e2               | jane Doe
    EmployeeAddress:
    EmployeeAddressId |EmplyeeId | AddressId
    --------------------+----------+---------------
    ea1                          | e1              | a1
    ea2                          | e2              | a2
    ea3                          | e2              | a3
    Address:
    AddressId | Address
    ----------+------------------------
    a1            | 111 Some Street
    a2            | 222 Some Street
    a3             | 333 Some Street
    SELECT *
    FROM [cdc].[fn_cdc_get_all_changes_dbo_Employee](sys.fn_cdc_get_min_lsn('dbo_Employee'), sys.fn_cdc_get_max_lsn(), N'all update old') E
    JOIN [cdc].[fn_cdc_get_all_changes_dbo_EmployeeAddress](sys.fn_cdc_get_min_lsn('dbo_EmployeeAddress'), sys.fn_cdc_get_max_lsn(), N'all update old') EA ON EA.EmployeeId = E.EmployeeId
    JOIN [cdc].[fn_cdc_get_all_changes_dbo_Address](sys.fn_cdc_get_min_lsn('dbo_Address'), sys.fn_cdc_get_max_lsn(), N'all update old') A ON A.AddressId = EA.AddressId
    Thanks!

    Create a
    dimensional model instead of flattening. Under normal circumstances this leads to model with a small fact table and some slowly changing dimension tables. The key problem is to find some meaningful measures (HR related, e.g. work time) and to determine
    the appropriate grain and fact table type (transaction or snapshot (periodic, accumulating or temporal)).
    See also
    Kimball Dimensional Modeling Techniques.

  • Functions in Standar Built-In Package

    Hi..
    I need information about somethings function, incluide into
    "Standar package spec" on Forms in Built-in Packages.
    Ex.
    USERENV
    If anyone can helpme, where find it, thanks.
    null

    Hi BioDave,
    I appreciate that you took the time to update your post when you found the solution. That saved me some time, that I now can use to help others...
    Thanks!
    - Philip Courtois, Thinkbot Solutions

  • All Oracle Sample Schemas and all Oracle Built-in Packages in XE?

    Hi,
    I am trying to install Oracle 10g on my home system to improve my knowledge of PL/SQL. Because I'm doing it at home, I have to solve DBA issues I'm somewhat clueless about.
    I would like to install Oracle 10g Express Edition and include the built-in packages (DBMS_OUTPUT, UTL_FILE, DBMS_UTILITY, DBMS_JOB, DBMS_JAVA, DBMS_RANDOM, etc.) as well as the Oracle sample schemas (HR, OE, PM, SH, and IX). None of these, except HR, is included in the express edition.
    If necessary, I'd like to be able to install these things after installing the express edition. How can I do this?
    Thanks,
    Mike

    Hi Mike,
    checking the documentation is always helpful:
    http://www.oracle.com/pls/xe102/homepage
    http://download-uk.oracle.com/docs/cd/B25329_01/doc/appdev.102/b25108/xedev_programs.htm#i2432
    You can always do a quick search on the documentation homepage, e.g. for utl_file:
    http://www.oracle.com/pls/xe102/search?remark=advanced_search&word=utl_file&format=ranked&book=&preference=
    There shouldn't be a need to install any packages. They should come preinstalled already.
    If not, you can find them here:
    C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN
    Just be very careful before trying to install something into the data dictionary. If you are not experienced, you might mess up your database.
    For example, utl_file is installed but invisible to most users, e.g. HR.
    Look at this example:
    SQL> conn hr/oracle1
    Connect durchgef³hrt.
    SQL> desc utl_file;
    ERROR:
    ORA-04043: Objekt "SYS"."UTL_FILE" ist nicht vorhanden
    SQL> conn sys@XE as sysdba
    Kennwort eingeben:
    Connect durchgef³hrt.
    SQL> desc utl_file;
    PROCEDURE FCLOSE
    Argument Name                  Typ                     In/Out Defaultwert?
    FILE                           RECORD                  IN/OUT
       ID                           BINARY_INTEGER          IN/OUT
       DATATYPE                     BINARY_INTEGER          IN/OUT
       BYTE_MODE                    BOOLEAN                 IN/OUT
    PROCEDURE FCLOSE_ALL
    SQL> grant execute  on utl_file to HR;
    Benutzerzugriff (Grant) wurde erteilt.
    SQL> conn hr/oracle1
    Connect durchgef³hrt.
    SQL> desc utl_file;
    PROCEDURE FCLOSE
    Argument Name                  Typ                     In/Out Defaultwert?
    FILE                           RECORD                  IN/OUT
       ID                           BINARY_INTEGER          IN/OUT
       DATATYPE                     BINARY_INTEGER          IN/OUT
       BYTE_MODE                    BOOLEAN                 IN/OUT
    PROCEDURE FCLOSE_ALL
    PROCEDURE FCOPY
    ...So, after granting execute privileges on utl_file to HR, the user HR can now access utl_file. No need to install it.
    The default packages are installed in the schema SYS.
    Regards,
    ~Dietmar.

  • Is there a built in package show components sql statement

    is there an exisitng package that will break down the components of a sql statement, as in the where clause, columns, etc?

    thanks, i had pointed him to that package but it apparenty didn't meet his needs.
    he may have to write something if there isn't a built in package that work.

  • Stproc built in package

    Hello All,
    We are using an ancient version of report writer i.e. 2.5! I have got a very old report to modify which is accessing a stored package procedure. The procedure had to be modified to accept one more parameter. Now the report does not compile. That is because the form has a local package definition with the same package name. The local version seems to have been generated by stproc built in package of report writer. It does not seem to have any business logic but some kind of "interface" with the RDBMS package. If the local version is dropped the report still does not compile (Though there is only one reference to the package in the entire report).
    Modifying the local version of the package to match the changes in RDBMS is extremely painful, as it seems to be generated code, which has entire code of one page in just "one line", wrapped around (see attached). Finally we managed to change it and got the form working. Oracle documentation seems to have not much about stproc except that "it is internal and should not be used".
    What I need to know is
    1. Are there situations where such "interface local version" is necessary. If not why dropping local version is causing problems?
    2. How can this local version be updated without manual intervention to synchronize with modified RDBMS package?
    Thanks in Advance,
    NAG

    Sorry, missed the attachment mentioned above.
    The local package spec & body are as follows -
    package PKG_SAS_UTILS is function DF_GET_ADDRESS (P_ADD_REFNO NUMBER) return CHAR; function DF_GET_NAME (P_PEO_REFNO INTEGER) return CHAR; procedure DP_CREATE_KCS (P_SESSION_ID CHAR, P_ALE_REFNO CHAR, P_APP_REFNO NUMBER, P_AREA_CODE CHAR); procedure DP_CREATE_PRA (P_SREV_ID NUMBER, P_SREV_HRV_STATUS CHAR, P_DOMAIN CHAR, P_CODE CHAR); function DF_APP_FILE_REF (P_APP_REFNO NUMBER) return CHAR; function DF_GET_SYS_PARAM (P_PARAM_CODE CHAR) return CHAR; function DF_APP_APPROVED_DATE (P_APP_REFNO NUMBER, P_HRV_APPLCAT CHAR) return DATE; function DF_GET_TEAM (P_ADD_REFNO NUMBER) return CHAR; function DF_APP_ADDRESS (P_APP_REFNO NUMBER, P_TYPE CHAR) return CHAR; function DF_APP_NAME (P_APP_REFNO NUMBER) return CHAR; function DF_GET_DSP_SCODES (P_STATUS_CODE CHAR) return CHAR; procedure DP_LENGTH_OF_ASSIST (P_APP_REFNO NUMBER, P_RLI_CODE CHAR, P_NO_DAYS out NUMBER, P_TOT_AMT out NUMBER, p_date_till in date); end;
    package body PKG_SAS_UTILS is function DF_GET_ADDRESS (P_ADD_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_ADDRESS(:P_ADD_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_ADD_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_NAME (P_PEO_REFNO INTEGER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_NAME(:P_PEO_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_PEO_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; procedure DP_CREATE_KCS (P_SESSION_ID CHAR, P_ALE_REFNO CHAR, P_APP_REFNO NUMBER, P_AREA_CODE CHAR) is begin stproc.init('begin PKG_SAS_UTILS.DP_CREATE_KCS(:P_SESSION_ID, :P_ALE_REFNO, :P_APP_REFNO, :P_AREA_CODE); end;'); stproc.bind_i(P_SESSION_ID); stproc.bind_i(P_ALE_REFNO); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_AREA_CODE); stproc.execute; end; procedure DP_CREATE_PRA (P_SREV_ID NUMBER, P_SREV_HRV_STATUS CHAR, P_DOMAIN CHAR, P_CODE CHAR) is begin stproc.init('begin PKG_SAS_UTILS.DP_CREATE_PRA(:P_SREV_ID, :P_SREV_HRV_STATUS, :P_DOMAIN, :P_CODE); end;'); stproc.bind_i(P_SREV_ID); stproc.bind_i(P_SREV_HRV_STATUS); stproc.bind_i(P_DOMAIN); stproc.bind_i(P_CODE); stproc.execute; end; function DF_APP_FILE_REF (P_APP_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_FILE_REF(:P_APP_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_SYS_PARAM (P_PARAM_CODE CHAR) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_SYS_PARAM(:P_PARAM_CODE); end;'); stproc.bind_o(X0); stproc.bind_i(P_PARAM_CODE); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_APP_APPROVED_DATE (P_APP_REFNO NUMBER, P_HRV_APPLCAT CHAR) return DATE is X0 DATE; begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_APPROVED_DATE(:P_APP_REFNO, :P_HRV_APPLCAT); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_HRV_APPLCAT); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_TEAM (P_ADD_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_TEAM(:P_ADD_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_ADD_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_APP_ADDRESS (P_APP_REFNO NUMBER, P_TYPE CHAR) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_ADDRESS(:P_APP_REFNO, :P_TYPE); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_TYPE); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_APP_NAME (P_APP_REFNO NUMBER) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_APP_NAME(:P_APP_REFNO); end;'); stproc.bind_o(X0); stproc.bind_i(P_APP_REFNO); stproc.execute; stproc.retrieve(1, X0); return X0; end; function DF_GET_DSP_SCODES (P_STATUS_CODE CHAR) return CHAR is X0 CHAR(2000); begin stproc.init('begin :X0 := PKG_SAS_UTILS.DF_GET_DSP_SCODES(:P_STATUS_CODE); end;'); stproc.bind_o(X0); stproc.bind_i(P_STATUS_CODE); stproc.execute; stproc.retrieve(1, X0); return X0; end; procedure DP_LENGTH_OF_ASSIST (P_APP_REFNO NUMBER, P_RLI_CODE CHAR, P_NO_DAYS out NUMBER, P_TOT_AMT out NUMBER, p_start_date in date) is begin stproc.init('begin PKG_SAS_UTILS.DP_LENGTH_OF_ASSIST(:P_APP_REFNO, :P_RLI_CODE, :P_NO_DAYS, :P_TOT_AMT, :p_date_till); end;'); stproc.bind_i(P_APP_REFNO); stproc.bind_i(P_RLI_CODE); stproc.bind_o(P_NO_DAYS); stproc.bind_o(P_TOT_AMT); stproc.bind_i(p_date_till); stproc.execute; stproc.retrieve(3, P_NO_DAYS); stproc.retrieve(4, P_TOT_AMT); end; end;

  • Definition of table built on a view

    Hi ,
    I am using a table created on a view, i can get the structure of a view from user_views.
    But where can i get the structure for the table built on a selected columns of the view ?? I am looking for structure as it was defined while creating.
    Thanks.

    Hi,
    Welcome to the forum!
    As Alex said, "DESC table_name" shows all of the most important features. (If the tabel was created using "CREATE TABLE table_name AS ...", which I believe is what you mean), then that will probably be everything.
    DESC gets its information from the data dictionary, which includes the views
    user_tables
    user_tab_columns
    user_constraints
    user_cons_columns
    user_views
    and others. You can query these views, which contain information about you own tables and views, or the correpsonding "all_" views (all_tables, all_tab_columns, ...) whcih also include tables in other schemas that you are permitted to use.
    All of this reflects the state of the table at the present time. I don't think information about the table "as it was defined while creating" is kept anywhere in the data dictionary, so if the table was changed, you might be out of luck.

  • Built in package that executes when running a Multi-task

    What built-in package(or procedure) runs when executing a multi-task?

    I think with the many questions you have on the same issue, the Extensibility Documentation will help a lot.
    http://download-uk.oracle.com/docs/cd/B19306_01/em.102/b16246/toc.htm
    Also, you can access other EM documents from the menu here:
    http://www.oracle.com/pls/db102/portal.portal_db?selected=21

Maybe you are looking for

  • How to recover word files with readable format after formatting external hard drive?

    I had tried different software. All software are able to recover word files but all word files having encoded content  is there any way to convert it in readable format? please provide any solution for this problem Thank You.

  • What bios and where are they

      i have a K8T NeoFIS2R mother board and updated the bios by live update now its set the mem timing to cl 2 they wont run stable at 2 i reset in bios to 2.5 and when pc boots it still says 2 but in bios it says 2.5 ive read in the forum using live up

  • Video signal via Airport

    Hi. Is there any way to transfer the video signal using an Airport?

  • How to use dbo procedure to execute for different schema?

    I am using SQL Server 2008 R2, I have a schema [dbo], and in that schema, I have created a stored procedure dbo.GetAccount: CREATE PROCEDURE dbo.GetAccount AS BEGIN select * from tblAccountNet END GO Then, I have created a schema [ABC] with user name

  • Deployment  of Web application containing only Servlets

    I want to deploy my web application on Weblogic which contains only servlets           and html files.           All I know is that I have to write the DTD file. Once i am done with the DTD           file i do not how the further steps to deploy my w