Core Dump in Oracle Reports10G

Some times when ever i run reports i used to get core dump. I want to know why does it occurs and solution to prevent it. Can any one help me. I am using Solaris OS.

"Don't Panic" is soooooooo August.  Get with the times
Core Dump is the code name of the next release, due soon.

Similar Messages

  • System Core Dumped after Oracle patch upgrade 9.2.0.6 to 9.2.0.8

    Hi,
    We are continously getting dumps on our BW Central instance server after we did an Oracle patch upgrade from 9.2.0.6 to 9.2.0.8.
    Following is our system environment
    SAP Release.............. "640"
    Application server....... "abci"
    Operating system......... "SunOS"
    Release.................. "5.10"
    Hardware type............ "sun4v"
    Database server.......... "abdb"
    Database type............ "ORACLE"
    Database name............ "ABP"
    Database owner........... "SAPABP"
    SAP kernel............... "640"
    Database version......... "OCI_920 "
    Patch level.............. "175"
    Following below is the Core Dump that is generated for any process chains that we schedule on our BW server
    Runtime Errors         SYSTEM_CORE_DUMPED
    Date and Time          14.04.2008 09:26:17
    ShrtText
         Process terminated by signal 11.
    What happened?
        The current ABAP program had to be terminated because the
        ABAP processor detected an internal system error.
        The current ABAP program "SAPMSSY2" had to be terminated because the ABAP
        processor discovered an invalid system state.
    What can you do?
        Make a note of the actions and input which caused the error.
        To resolve the problem, contact your SAP system administrator.
        You can use transaction ST22 (ABAP Dump Analysis) to view and administer
        termination messages, especially those beyond their normal deletion
        date.
    Error analysis
        An SAP System process was terminated by an operating system signal.
        Possible reasons for this are:
        1. Internal SAP System error.
        2. Process was terminated externally (by the system administrator).
                   Last error logged in SAP kernel
        Component............ "Taskhandler"
        Place................ "SAP-Server awci_ABP_00 on host awci (wp 5)"
        Version.............. 1
        Error code........... 11
        Error text........... "ThSigHandler: signal"
        Description.......... " "
        System call.......... " "
        Module............... "thxxhead.c"
        Line................. 9780
    How to correct the error
        The SAP System work directory (e.g. /usr/sap/c11/D00/work ) often
        contains a file called 'core'.
        Save this file under another name.
        If you cannot solve the problem yourself and you wish to send
        an error message to SAP, include the following documents:
        1. A printout of the problem description (short dump)
           To obtain this, select in the current display "System->List->
           Save->Local File (unconverted)".
        2. A suitable printout of the system log
           To obtain this, call the system log through transaction SM21.
           Limit the time interval to 10 minutes before and 5 minutes
           after the short dump. In the display, then select the function
           "System->List->Save->Local File (unconverted)".
        3. If the programs are your own programs or modified SAP programs,
           supply the source code.
           To do this, select the Editor function "Further Utilities->
           Upload/Download->Download".
        4. Details regarding the conditions under which the error occurred
           or which actions and input led to the error.
    Kindly help.
    Regards
    Sachin
    Edited by: Sachin N on Apr 14, 2008 12:26 PM

    No. If the environment would be wrong the system wouldn´t start up.
    Core dumps are in 99 % of the cases program errors (in the SAP kernel or in an interface (libdbora*)), misaligend accesses of data etc.
    If you encounter such an error have a look in the C-Stack. If you can´t see where the error is happening opening an OSS call. Most of those errors are fixed by installing the latest patches for the kernel and the database interface.
    Markus

  • HP Unix 64 bit oracle 9i 9.2.0.5.0 Proc Abort Core Dump

    Hi,
    I am trying small sample proc program on HP unix 64 bit machine. But with 9.2.0.5 it gives core dump
    program:
    ====
    #include <stdio.h>
    #include <string.h>
    #include <sqlca.h>
    #include <oraca.h>
    #define USERNAME "xx1"
    #define PASSWORD "xx1"
    char *username = USERNAME;
    char *password = PASSWORD;
    VARCHAR dynstmt[80];
    VARCHAR ename[12];
    int empno = 10;
    main() {
    EXEC SQL WHENEVER SQLERROR GOTO error;
    EXEC SQL CONNECT :username IDENTIFIED BY :password;
    puts("Connected\n");
    exit(1);
    error :
    puts("\n not connected.\n");
    Machine is
    HP-UX xx B.11.11 U 9000/800 178484665 unlimited-user license
    The program runs fine in oracle 9.0.1.4.0
    But it gives core dump in oracle 9.2.0.5.0
    GDB Trace is shown below,
    ====
    #0 0x800003ffbf157390 in pthread_default_stacksize_np+0xe8 () from /usr/lib/pa20_64/libpthread.1
    #1 0x800003ffbfe609c0 in Ldipme10+0x85daf0 ()
    from /u01/apps/products/oracle/902/lib/libclntsh.sl.9.0
    #2 0x800003ffbf9f1130 in Ldipme10+0x3ee260 ()
    from /u01/apps/products/oracle/902/lib/libclntsh.sl.9.0
    #3 0x800003ffbf9f48c8 in Ldipme10+0x3f19f8 ()
    from /u01/apps/products/oracle/902/lib/libclntsh.sl.9.0
    #4 0x800003ffbf9f5294 in Ldipme10+0x3f23c4 ()
    from /u01/apps/products/oracle/902/lib/libclntsh.sl.9.0
    =========
    Can anyone help me out ? Have anyone faced this issue ?
    Also, is there any patch needs to be updated for 9.2.0.5 ?
    Regards,
    Srinivasan S

    Looks like metalink 435400.1
    I suggest you open a call @ SAP and let them look on the system.
    Markus

  • Linux 6.1/Oracle 8.1.5 Pro C compilation core dumps

    Linux installation did not place stdarg.h or stddef.h in the /usr/include directory for some reaon. I located different copies in other directories and have created symobolic links to them all in the end. BUT all result in the following error when I attempt to make sample1.pc in $ORACLE_HOME/precomp/demo/proc. Has anyone got any ideas how I can fix this problem.
    Yours hopefully Kev
    make -f demo_proc.mk sample1
    gmake -f /oracle/app/oracle/product/8.1.5/precomp/demo/proc/demo_proc.mk
    OBJS=sample1.o EXE=sample1 build
    gmake[1]: Entering directory `/oracle/app/oracle/product/8.1.5/precomp/demo/proc'
    proc iname=sample1
    Pro*C/C++: Release 8.1.5.0.0 - Production on Sun Jan 9 17:02:05 2000
    (c) Copyright 1999 Oracle Corporation. All rights reserved.
    System default option values taken from:
    /oracle/app/oracle/product/8.1.5/precomp/admin/pcscfg.cfg
    gmake[1]: *** [sample1.o] Segmentation fault (core dumped)
    gmake[1]: Leaving directory `/oracle/app/oracle/product/8.1.5/precomp/demo/proc'
    make: *** [sample1] Error 2
    null

    Thanks for your input. But having investiagted further I have made progress.
    On one of the FAQ docs listed throughout the Linux Forum I found an example of what should be in the pcscfg.cfg file. Once this was in place I then had, /usr/bin/ld cannot find -laio (or the file /usr/lib/libaio.a). To get a clean(ish) compile, I created a symbolic link from libc.a to libaio.a which is crude but was effective. I had a working Pro C exe.
    I understand that the second patch solves the libaio.a prob as well as others. But a colleague has installed it and had to regress it, due to more damaging problems he listed but I cannot recall at this time.
    Thanks again.

  • Oracle Client 10.1.0.2.0 Core Dumps

    I have a strange problem where I intermittently receive Oracle client core dumps. I am running version 6 of the WebSphere Message Broker, which communicates with a remote Oracle database. I am using DataDirect to connect to the database and am running the following Oracle versions:
    Client: 10.1.0.2.0
    Database: 10.1.0.5.0 64 bit
    The following is an excerpt from the broker’s .odbc.ini file:
    [OTDAWMB]
    Driver=/opt/IBM/mqsi/6.0/merant/lib/UKor820.so
    Description=DataDirect 5.0 Oracle
    EnableDescribeParam=1
    OptimizePrepare=1
    ServerName=DTHU
    WorkArounds=536870912
    ProcedureRetResults=1
    ColumnSizeAsCharacter=1
    Here’s the problem:
    We submit batch loads where 50,000 messages are put on a queue. Each message processed by the broker involves multiple database inquiries and insert statements. On average we process 10 messages / second which means we’re constantly hitting the database for over an hour. On occasion, we receive a core dump from the broker which points to an Oracle library. The following is an excerpt from the broker’s abend file:
    ----------------------------- Stack dump for current thread ( 6426)
    (0xd70cea34+0x000004e8) ttcdrv [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd6e5ee1c+0x00000050) nioqwa [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd6b6eef4+0x00000588) upirtrc [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd6c4f984+0x0000006c) kpurcsc [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd6d33028+0x000005dc) kpuexecv8 [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd6d34328+0x00001004) kpuexec [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd6d22174+0x0000001c) OCIStmtExecute [opt/oracle/OraHome_1/lib32/libclntsh.a(shr.o)]
    (0xd67cb3f8+0x00000000) <no name available> [opt/IBM/mqsi/6.0/merant/lib/UKor820.so]
    (0xd675bc20+0x00000000) <no name available> [opt/IBM/mqsi/6.0/merant/lib/UKor820.so]
    (0xd675a8a8+0x00000000) <no name available> [opt/IBM/mqsi/6.0/merant/lib/UKor820.so]
    (0xd6796340+0x00000000) <no name available> [opt/IBM/mqsi/6.0/merant/lib/UKor820.so]
    (0xd5f2f248+0x00000000) <no name available> [opt/IBM/mqsi/6.0/lib/libodbc.a(odbc.so)]
    (0xd5eeb1b8+0x00000000) <no name available> [opt/IBM/mqsi/6.0/lib/libodbc.a(odbc.so)]
    (0xd472260c+0x0000010c) execute__16ImbOdbcStatementFv [opt/IBM/mqsi/6.0/lib/libMessageServices.a(libMessageServices.a.so)]
    This can happen at any time and can happen multiple times throughout the load. IBM says it’s a problem with the Oracle client (ILLEGAL INSTRUCTION) and there’s nothing that can be done from their end.
    Has anyone run across something similar? Could this be network related?

    From dump message, looks like your client are calling whole banch of 32bit library. Are your application server also 64 bit ? Can you try install a 64bit client?
    It's also a good idea to patch up your client a bit.
    You should also consider submit a SR on metalink.

  • Call SQLGLM creates core dump segmentation fault in oracle 9i database

    Hi,
    I am doing call to SQLGLM to get description of error message. This always worked in oracle 9i 32 bit but it does not work with 64 bit installation. I get core dump and segmentation fault.
    Please help.
    Altaf

    wow.. I just upgraded glibc to 2.3.2... and everything works!
    :D

  • Throws Core Dump for OCISessionBegin() on Linux for Oracle Client v10.2.0.2

    hi,
    The OCI method, OCISessionBegin() is throwing an core dump on 10g client in Linux on C++, but the same code works fine for 8i and 9i client. Core dumps for 10g Client. 10g tnsnames.ora file is same as of 9i. I just debeggued with the core and says failing in OCISessionBegin() method. I would like to know is there any problem with Oracle Client v10.2.0.2? or how does i can solve the issue? appriciate a quick help in this regard.
    Thanks,
    Sreeni

    Have you looked in the Knowledge Base information at metalink? That would be the place to start.
    If that does not work then the next step would be to remove this thread and post in the OCI - OCCI forum where there are people that can actually help you.

  • Oracle error ORA-07445: exception encountered: core dump

    Dear all,
    I am waqas ahmed working as oracle dba. in my alert log file an error is occured continously as follows
    " ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [priver+181] [PC:0x63E3DE9] [ADDR:0x28] [UNABLE_TO_READ] [] "
    My Operating system : Windows Server 2008 (64 bit)
    My DB version: 10.2.0.4
    Please guide me with you experience & suggestions.
    Best Regards,
    Ahmed.

    923284 wrote:
    Dear,
    Today it is expired my METALINK account and i dont have access to metalink. So please any one share with me knowledge about this problem.
    Regards,
    Ahmed.you have to renew it since ORA-00600 , and ORA-07445 indicate as bug

  • OWB 9.03.35.3 + Oracle 9.2 + Core dumps

    We have big problems, after we migrate to Oracle 9.2 Database with our packages, we use a selfimplemented Flowmanager like the Oracle one based on a web application using oracle specific functions, but after we migrate to 9.2 no package works, most of them causes core dumps!!!!!
    Here is the info we send to Metalink.
    Do someone have an idea what may cause this problems!!!!
    Erik Heindel (DBA)
    Metalink Infos:
    Resolution History
    13-MAR-03 16:58:03
    Can you easily recover from, bypass or work around the problem? = NO
    Does your system or application continue normally after the problem occurs? =
    YES
    Are the standard features of the system or application still available; is the
    loss of service minor? = NO
    ### Platform and O/S version, including patchset or service pack level? ###
    HP-UX 64Bit
    ### What version and patchset level of the database are you running? ###
    9.2.0.2
    ### Are you running the most recent patchset? ###
    Yes
    ### Please describe your problem: ###
    Jobs/Packages generated with OWB results in a core dump.
    ### If you are receiving errors, please list exact error messages and text: ###
    see attached file 'core'
    ### Did the error generate a trace file? ###
    No
    ### Please list all files that you plan to upload: ###
    core dump file
    ### What was being done at time of error? Any changes since this last worked? ##
    Database was upgraded from 8.1.7.4 to 9.2.0.2
    ### Can error be generated if SQL is run in SQL*Plus or Server Manager? ###
    Yes
    ### What is the frequency of the error? ###
    Consistently
    ### What is the impact to your business because of this problem? ###
    DWH can't go live!!! Packages where needed to load the data into the
    Datawarehouse-DB.
    ### Are you running any third-party applications? ###
    NO
    ### If your current issue involves a 3rd party software, has this vendor been co
    Does Not Apply
    Contact me via : E-mail -> [email protected]
    13-MAR-03 17:02:05
    Country: GERMANY
    The customer has uploaded the following file via MetaLink:
    C:\test\core

    Erik,
    Can you identify whether the problem is Warehouse Builder specific or whether it is caused by the database? I will contact the email address that is mentioned in your message.
    Thanks,
    Mark.

  • Core Dump when try to connect to oracle in Pro*C ( on HP)

    Hi ,
    I am getting 'Core Dump' at EXEC SQL Connect stmt in Pro*C. The program works fine on Solaris. Are there any changes needed in Makefile?
    Pls help.
    Thanks
    Nivedita

    I have this exact same problem with 2 MacBook Pro's both running 10.6.5
    I've double checked that the settings are identical on both machines, yet only one of the them can connect to the other using the Guest account. When the Guest account doesn't work and I use the registered user of the other machine, it connects fine. I just would like to be able to use the simple Drop Box function.

  • Segment fault (Core dump)

    Hi
    when i run the following Pro*c file in Unix Environment im getting the SEGMENTATION FAULT(CORE DUMP) error. I used DBX to debug the code. I couldnt find out the proper reason for this error form the dbx output.
    This is the output i got from DBX.
    *signal SEGV (no mapping at the fault address) in _doprnt at 0xfb98736c*
    *0xfb98736c: _doprnt+0x2798:     stb     %o0, [%o1]*
    I did the showmemuse and show leaks, the output for this commands :
    (dbx) showmemuse
    Checking for memory use...
    Blocks in use report (blocks in use: 575 total size: 328086 bytes)
    Total % of Num of Avg Allocation call stack
    Size All Blocks Size
    ======= ==== ====== ====== =======================================
    134876 41% 30 4495 kpummapg < kghgex
    18098 5% 1 18098 lxldlbb < lxlinit < kpummpin < kpupin < sqgctx < sqgrct < sqlcmex < sqlcxt
    16552 5% 4 4138 kogmapg < kghgex
    16516 5% 4 4129 kogmapg < kogmasg
    12288 3% 6 2048 nlhtnsl < nlhthnew
    10350 3% 5 2070 calloc < nsbGetBFS
    9688 2% 1 9688 kouogini < kouoini < kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt
    8200 2% 1 8200 findbuf < doprnt < _fprintf < main
    8120 2% 4 2030 sqlrlc < sqlcopydfn
    8080 2% 1 8080 kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt < main
    7168 2% 1 7168 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
    7168 2% 3 2389 lxldlod < lxdlobj
    5976 1% 4 1494 sqlrlc < sqlcopydfn
    4640 1% 1 4640 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    4640 1% 1 4640 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    4128 1% 1 4128 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
    4024 1% 1 4024 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    3408 1% 1 3408 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
    2452 <1% 8 306 calloc < nsmal
    2156 <1% 7 308 calloc < nlemfins
    (dbx) showleaks
    Checking for memory leaks...
    Actual leaks report (actual leaks: 1 total size: 30 bytes)
    Total Num of Leaked Allocation call stack
    Size Blocks Block
    Address
    ====== ====== ========== =======================================
    30 1 0x9c9c8 getOutFileName < main
    Possible leaks report (possible leaks: 0 total size: 0 bytes)
    i know its because of Pad pointer and something related to Pointer or array overflow. But i couldnt find out where exactly happening....
    Following is my Code, please help me to find out the error and what i need to change in my code:
    #ifndef ORA_PROC
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    #include <ctype.h>
    #include <math.h>
    #else
    typedef struct FILE FILE;
    #endif
    /*** Added by TCS Begins ***/
    char getOutFileName(char );
    char getEnvVar(char );
    void prepare_declare_oracle_cursors();
    void get_calendar_dates();
    void get_issues();
    void get_master_cusip_no();
    void get_run_date_finish();
    void get_payments();
    int get_pub_dates();
    void get_rights();
    void get_s_h_meetings();
    void get_special_codes();
    void get_agents();
    void get_currency();
    void get_payment_codes();
    void get_issue_codes();
    void get_standard_footnotes();
    void get_index_codes();
    void get_exchanges();
    void get_tax_codes();
    void get_tenders();
    int check_if_holiday(int );
    void sql_error(int , int , char *);
    void login_error();
    void no_pub_dates();
    void no_cal_dates();
    void no_finish_date();
    void save_payment_footnote(char , char [3],int , char );
    void save_issue_footnote(char );
    int print_footnotes();
    int print_foreign_tax();
    int get_partial_run_time();
    void save_rght_footnotes();
    int print_supplimental();
    int convert_tender_price(char *);
    void pad_s_h_meetings();
    int strip_out_codes(char *);
    char *getSqlLogonString();
    /**** TCS ADD Ends ****/
    EXEC SQL INCLUDE sqlca;
    EXEC SQL INCLUDE ddr_create_all_tapes.h;
    #define TRUE 1
    #define ORA_NOT_FOUND     ( sqlca.sqlcode == 1403 )
    /* The Definitions of SUCCESS and FAILURE were switched to test the
    idea that SUCCESS should be Zero and FAILURE should be Non-Zero
    #define SUCCESS 1
    #define FAILURE 0
    #define SUCCESS 0
    #define FAILURE -1
    #define SYSOK          0
    #define SYSERR          1
    #define DEBUGGING     0
    #define DEBUG_LEVEL     0
    /*     #define DEBUGGING     1
         #define DEBUG_LEVEL     2
    int          first_cal_date;
    int          footnote_count;
    int          foreign_count;
    int          last_cal_date;
    int          total_records;
    int          which_tape = 0;
    char          cusip_table_name[30];
    char          field_type_code;
    char          final_cusip_number[10];
    /**** char          footnote_text[300][300];
    char          foreign_text[60][100]; **** Commented by TCS as per the change request ****/
    /*** Added by TCS as per the change request ***/
    char          footnote_text[200][300];
    char          foreign_text[200][300];
    /*** TCS Add Ends ***/
    char          freq_type_code;
    char          init_cusip_number[10];
    char          rec_type_code;
    char          payment_where_clause[600];
    char          rights_where_clause[600];
    char          tenders_where_clause[600];
    char          s_h_meet_where_clause[600];
    char          last_run_time[18];
    char          supp_info_buffer[321];
    int          call_flag;
    int          tenders_flag;
    int          rights_flag;
    int          s_h_meet_flag;
    int          rght_foot_pos;
    double          hold_double;
    int          hold_int;
    char          hold_char[100];
    int i=0;
    FILE      *fp;
    FILE     pfp;          / this is used for a report file to correspond to
    the partial tape file */
    int main(int argc, char argv[]) / Modified by TCS */
         char          ddr_tape_name[100];
         char          ddr_partial_rpt[100];
         char          copyright_notice[100];
         long           file_position;
         char           *logname;
         /* READ IN PARAMETERS AND SET UP VARIABLES */
         memset (oracle_uid.arr, 0, sizeof(oracle_uid.arr));
    memset (oracle_pwd.arr, 0, sizeof(oracle_pwd.arr));
    strcpy (oracle_uid.arr, argv[1]);
    oracle_uid.len = strlen(oracle_uid.arr);
    strcpy (oracle_pwd.arr, argv[2]);
    oracle_pwd.len = strlen(oracle_pwd.arr);
    printf("Calling getSqlLogonString");
    logname = getSqlLogonString();
         which_tape = atoi(argv[1]);
         memset (last_run_time, 0, sizeof(last_run_time));
         if ( ( DEBUGGING ) && ( DEBUG_LEVEL > 1 ) )
         printf ("Oracle username: %s\n", oracle_uid.arr);
         printf ("Oracle password: %s\n", oracle_pwd.arr);
         printf ("Oracle username/password@database: %s\n", logname); /** Added by TCS **/
         printf ("Which Tape: %d\n", which_tape);
         hold_double = 0.0;
         hold_int = 0;
         memset (hold_char, ' ', sizeof(hold_char));
         EXEC SQL WHENEVER SQLERROR DO login_error();
    /*      EXEC SQL CONNECT :oracle_uid IDENTIFIED BY :oracle_pwd; */
         EXEC SQL CONNECT :logname ;
         printf ("Connected to ORACLE... \n");
         EXEC SQL WHENEVER SQLERROR continue;
         get_pub_dates();
         memset (ddr_tape_name, 0, sizeof(ddr_tape_name));
         memset (ddr_partial_rpt, 0, sizeof(ddr_partial_rpt));
         memset (cusip_table_name, 0, sizeof(cusip_table_name));
         memset (payment_where_clause, 0, sizeof(payment_where_clause));
         memset (rights_where_clause, 0, sizeof(rights_where_clause));
         memset (tenders_where_clause, 0, sizeof(tenders_where_clause));
         memset (s_h_meet_where_clause, 0, sizeof(s_h_meet_where_clause));
         /* SET UP VARIABLES BASED ON THE DIFFERENT FREQUENCY OF TAPE */
         switch (which_tape)
              case 0:
                   get_partial_run_time();
                   /*sprintf (ddr_tape_name,
                        "idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL_TAPE_TABLE");
                   /*sprintf (ddr_partial_rpt,
                        "idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
                   sprintf (ddr_partial_rpt,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
                   get_calendar_dates();
                   freq_type_code = '0';
                   sprintf (payment_where_clause,
    "AND PYMT_PUB_DATE IS NULL \
    AND ((PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND PYMT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND PYMT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (rights_where_clause,
    "AND RGHT_PUB_DATE IS NULL \
    AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND RGHT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND RGHT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (tenders_where_clause,
    "AND TNDR_PUB_DATE IS NULL \
    AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND TNDR_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND TNDR_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   sprintf (s_h_meet_where_clause,
    "AND SMTG_PUB_DATE IS NULL \
    AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND SMTG_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
    AND SMTG_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_from.arr, p_to.arr, p_from.arr, p_to.arr);
                   break;
              case 3:
    /*     PARTIAL 5     */
                   get_partial_run_time();
                   p_count = 5;
                   /**sprintf (ddr_tape_name,
                        "idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
    /* for testing only I am using seperate TABLE     */
                   /**strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL5_TAPE_TABLE"); ** Commented by TCS **/
                   strcpy (cusip_table_name,
                        "IDB.DDR_PARTIAL_TAPE_TABLE");
                   /*sprintf (ddr_partial_rpt,
                        "idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
                   get_calendar_dates();
                   freq_type_code = '3';
                   sprintf (payment_where_clause,
    "AND ( (PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (rights_where_clause,
    "AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (tenders_where_clause,
    "AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   sprintf (s_h_meet_where_clause,
    "AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
    OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
    p_to.arr, p_to.arr);
                   break;
              case 1:
                   /**strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_daily_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s",getOutFileName("DDR_DAILY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_DAILY_TAPE_TABLE");
                   get_calendar_dates();
                   freq_type_code = '1';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)", pub_to_date.arr);
                   sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
    = TO_DATE('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)", pub_to_date.arr);
                   break;
              case 5:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_weekly_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name, "%s",getOutFileName("DDR_WEEKLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_WEEKLY_TAPE_TABLE");
                   get_calendar_dates();
                   freq_type_code = '2';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   /* ram - 6/28/95 - reverted back to original criteria: */
                   /* include on weekly tape based on pub-date, regardless of */
                   /* whether in calendar or not */
                   sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   break;
              case 12:
                   /* ram - 7/13/95          */
                   /* changed monthly "6" to "12" */
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_monthly_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name, "%s", getOutFileName("DDR_MONTHLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_MONTHLY_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   break;
              case 8:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_quarterly_tape.asc");** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s",getOutFileName("DDR_QUARTERLY_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_QUARTERLY_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              case 9:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_annual_tape.asc"); ** Comented by TCS **/
                   sprintf (ddr_tape_name,"%s", getOutFileName("DDR_ANNUAL_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_ANNUAL_TAPE_TABLE");
                   freq_type_code = '4';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') \
    OR PYMT_PUB_DATE = TO_DATE('29-OCT-1929','DD-MON-YYYY'))",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              case 15:
                   /*strcpy (ddr_tape_name,
                        "idb_tape$out:ddr_general_tape.asc"); ** Commented by TCS **/
                   sprintf (ddr_tape_name,"%s", getOutFileName("DDR_GENERAL_TAPE_ASC")); /* Added by TCS */
                   strcpy (cusip_table_name,
                        "IDB.DDR_GENERAL_TAPE_TABLE");
                   freq_type_code = '3';
                   sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
    BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
    pub_from_date.arr, pub_to_date.arr);
                   sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
    = TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr);               break;
              default:
                   exit (printf ("Invalid tape option: %d\n", which_tape)); /*** %s changed by TCS to %d ***/
                   break;
         if ((fp = fopen(ddr_tape_name, "w+")) == NULL)
              exit (printf ("Unable to open asc <%s> file for write access\n",
                   ddr_tape_name));
    /*     GR. Partial 5
         if (which_tape == 0 || which_tape == 3 )
              if ((pfp = fopen(ddr_partial_rpt, "w+")) == NULL)
                   exit (printf ("Unable to open asc <%s> file \
    for write access\n", ddr_partial_rpt));
         /* WRITE THE HEADER RECORD ON THE TAPE */
         memset (copyright_notice, 0, sizeof(copyright_notice));
         sprintf (copyright_notice, "COPYRIGHT (c) %.4s STANDARD & POOR'S \
    CORPORATION. ALL RIGHTS RESERVED", year.arr);
         fprintf (fp, "%-80.80sDIVIDEND%8d%17.17s ",
    copyright_notice, control_date, run_date_start.arr);
         file_position = ftell(fp);
         fprintf (fp, "\n");
         total_records = 0;
         /* GET THE SPECIAL CATEGORY RECORDS */
         get_special_codes();
         /* SELECT FROM THE DRIVER TABLE TO GET ALL THE OTHER RECORDS */
         get_master_cusip_no();
         printf("After get_master_cusip_no()");
         get_run_date_finish();
         printf("After get_run_date_finish()");
         if ( DEBUGGING )
              printf ("initial cusip = %s\n", init_cusip_number);
              printf ("final cusip = %s\n", final_cusip_number);
              printf ("record type is %c\n", rec_type_code);
         /* WRITE THE TRAILER RECORD */
         fprintf (fp, "%8d%-17.17s%07d%-9.9s1%-9.9s%c\n", control_date,
    run_date_finish.arr, total_records, init_cusip_number , final_cusip_number,
    rec_type_code);
         /* re-wind and add to the header record ... */
         rewind(fp);
         fseek(fp, file_position - 33, 0);
         fprintf (fp, "%07d%-9.9s1%-9.9s%c", total_records, init_cusip_number,
    final_cusip_number, rec_type_code);
         fclose(fp);
    /*     GR Partial 5
         if (which_tape == 0 || which_tape == 3 )
              fclose(pfp);
         printf ("\nDONE: %07d%-9.9s1%-9.9s%c\n", total_records, init_cusip_number,
    final_cusip_number, rec_type_code);
    return (0); /*** Added by TCS ***/
    void prepare_declare_oracle_cursors() /* Modified by TCS */
         /* We'll us dynamic sql to get the appropriate where clause but use */
         /* a bind variable for the master cusip number. So we prepare and */
         /* declare get_issues, get_payments, get_tenders, get rights, and */
         /* get_s_h_meetings cursors only once, outside the driving loop. */
         EXEC SQL BEGIN DECLARE SECTION;
              /**** TCS Comment begins as per the change request ****
              VARCHAR          sql_stmt1[1500];*/     /* issues */
              /*VARCHAR          sql_stmt2[3000];     *//* payments */
              /*VARCHAR          sql_stmt3[500];          *//* tenders */
              /*VARCHAR          sql_stmt4[500];          *//* rights */
              /*VARCHAR          sql_stmt5[500];          *//* s_h_meetings */
              /**** TCS Add begins as per the change request ****/
              VARCHAR          sql_stmt1[2000];     /* issues */
              VARCHAR          sql_stmt2[4000];     /* payments */
              VARCHAR          sql_stmt3[1000];     /* tenders */
              VARCHAR          sql_stmt4[1000];     /* rights */
              VARCHAR          sql_stmt5[1000];     /* s_h_meetings */
              /**** TCS Add ends ****/
         EXEC SQL END DECLARE SECTION;
         /* prepare and declare the get_issues cursor */
         memset (sql_stmt1.arr, 0, sizeof(sql_stmt1.arr));
         sprintf (sql_stmt1.arr, "SELECT \
    A.ISSU_PAR_VALUE, \
    DECODE (A.ISSU_MARKET_SYMBOL||A.ISSU_NASDAQ,'OTCY','NASD', A.ISSU_MARKET_SYMBOL), \
    A.ISSU_C_RATE, A.ISSU_C_FREQ, A.ISSU_C_NEW_AMOUNT, A.ISSU_C_NEW_Q1, \
    A.ISSU_C_NEW_Q2, A.ISSU_C_NEW_Q3, A.ISSU_C_OLD_AMOUNT, A.ISSU_C_OLD_Q1, \
    A.ISSU_C_OLD_Q2, A.ISSU_C_OLD_Q3, A.ISSU_CURRENCY, \
    A.ISSU_UPD_HIS, A.ISSU_COMMENT, A.TAX_EXEMPT_FLAG,\
    B.SEC_TYPE_CODE, B.ACQ_BY_IND, B.ACQ_ISSUER_NO, \
    rtrim(substr(B.ACQ_ISSUER_DESCR,1,30)), \
    B.INDEX_CODE, B.TRFR_AGT_CODE, B.NY_AGT_CODE, B.TICKER_SYMBOL, \
    B.TICKER_SYMBOL2, \
    rtrim(substr(C.ISSR_DDR_ISSUER_DESCR,1,60)), \
    rtrim(substr(E.ISSUE_DESCR,1,30)), \
    rtrim(substr(D.ISSUER_DESCR1,1,30)), \
    F.TRFR_DAYS \
    FROM IDB.DDR_ISSUES A, IDB.DDR_ISSUES_2 B, IDB.DDR_ISSUERS C, \
    BLIS.CUSIP_ISSUERS D, BLIS.CUSIP_ISSUES E, IDB.DDR_TRANSFER F \
    WHERE A.ISSU_CUSIP_NO = :master_cusip_no \
    AND A.ISSU_CUSIP_NO = B.ISSU_CUSIP_NO(+) \
    AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = C.ISSR_ISSUER_NO(+) \
    AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = D.ISSUER_NO \
    AND A.ISSU_CUSIP_NO = E.CUSIP_NO \
    AND A.ISSU_TRANSFER_CODE = F.TRFR_TR_CD(+) ");
         sql_stmt1.len = strlen(sql_stmt1.arr);
         EXEC SQL PREPARE ISSUES FROM :sql_stmt1;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing ISSUES");
         EXEC SQL DECLARE ISSUES_C CURSOR FOR ISSUES;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring ISSUES");
         /* now the get_payments cursor */
         memset (sql_stmt2.arr, 0, sizeof(sql_stmt2.arr));
         sprintf (sql_stmt2.arr, "SELECT \
    a.PYMT_RP_DIV, \
    a.PYMT_RP_DEC, \
    a.PYMT_RP_EXD, \
    a.PYMT_RP_REC, \
    a.PYMT_RP_PAY, \
    a.PYMT_RP_DUE, \
    a.PYMT_RP_TAX, \
    a.PYMT_RP_ANN, \
    a.PYMT_PRP_DIV, \
    a.PYMT_PRP_DEC, \
    a.PYMT_PRP_EXD, \
    a.PYMT_PRP_REC, \
    a.PYMT_PRP_PAY, \
    a.PYMT_PRP_DUE, \
    a.PYMT_PRP_TAX, \
    a.PYMT_PRP_ANN, \
    NVL(a.PYMT_SEQ_NO,0), \
    TO_CHAR(a.PYMT_DECLARED, 'YYMMDD'), \
    TO_CHAR(a.PYMT_EX_DATE, 'YYMMDD'), \
    TO_CHAR(a.PYMT_STK_REC, 'YYMMDD'), \
    TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYMMDD'), \
    TO_CHAR(a.PYMT_PAYABLE, 'YYMMDD'), \
    a.PYMT_CODES, \
    NVL(a.PYMT_CASH_DIVD,0.0), \
    NVL(b.ORDINARY_INCOME,0.0), \
    NVL(b.CAP_GAINS,0.0), \
    NVL(b.SHORT_TM_CAP_GAINS,0.0), \
    NVL(b.LONG_TM_CAP_GAINS,0.0), \
    NVL(b.RETURN_OF_CAPITAL,0.0), \
    b.STK_DIVD_IND, \
    NVL(a.PYMT_STK_DIVD,0), \
    b.FRAC_IN_CASH_STK_IND, \
    NVL(b.FRAC_IN_CASH_PRICE,0.0), \
    NVL(a.PYMT_SPLIT_NEW,0), \
    NVL(a.PYMT_SPLIT_OLD,0), \
    TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
    NVL(b.ARREARS_PAID,0.0), \
    NVL(b.ARREARS_DUE,0.0), \
    b.SPINOFF_IND, \
    b.SPINOFF_ISSUE_NO, \
    b.SPINOFF_ISSUER_DESCR, \
    b.SPINOFF_ISSUE_DESCR, \
    NVL(b.TAX_CODE,0), \
    NVL(b.TAX_CODE_2,0), \
    NVL(b.OLD_SEQ_NO,0), \
    b.ORDINARY_INCOME_CODE, \
    b.CAP_GAINS_CODE, \
    b.SHORT_TM_CAP_GAINS_CODE, \
    b.LONG_TM_CAP_GAINS_CODE, \
    b.RETURN_OF_CAPITAL_CODE, \
    TO_CHAR(b.CALL_DATE, 'YYMMDD'), \
    NVL(b.CALL_PRICE,0.0), \
    b.CALL_PRICE_CURRENCY, \
    b.CALL_AGT_NO, \
    b.ACCRUED_DIVD_IND, \
    TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
    a.PYMT_DB_TEXT, \
    a.PYMT_DVD_TEXT, \
    a.PYMT_YEAR, \
    TO_CHAR(a.PYMT_STK_REC, 'fmMon dd'), \
    TO_CHAR(a.PYMT_DB_DATE, 'fmMon dd'), \
    b.NY_CALL_AGT_NO, \
    NVL(b.FOREIGN_TAX_RATE, 0.0), \
    NVL(b.NET_RATE, 0.0), \
    NVL(b.FEE, 0.0), \
    NVL(b.COMMISSION, 0.0), \
    a.PYMT_CASH_DIVD_FNS, \
    a.PYMT_STK_DIVD_FNS, \
    a.PYMT_DECLARED_FNS, \
    a.PYMT_EX_DATE_FNS, \
    a.PYMT_STK_REC_FNS, \
    a.PYMT_PAYABLE_FNS, \
    a.PYMT_SPLIT_FNS, \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_PUB_DATE, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_STK_REC, 'YYYYMMDD')), 0), \
    NVL (TO_NUMBER (TO_CHAR(a.PYMT_DB_DATE, 'YYYYMMDD')), 0) \
    FROM IDB.DDR_PAYMENTS A, IDB.DDR_PAYMENTS_2 B \
    WHERE A.PYMT_CUSIP_NO = :master_cusip_no \
    AND A.PYMT_CUSIP_NO = B.PYMT_CUSIP_NO (+) \
    AND A.PYMT_SEQ_NO = B.PYMT_SEQ_NO (+) \
    AND NVL(INSTR(A.PYMT_CODES,'CO'),0) NOT IN (1,3,5,7,9,11) ");
         strcat (sql_stmt2.arr, payment_where_clause);
         sql_stmt2.len = strlen(sql_stmt2.arr);
         EXEC SQL PREPARE PAYMENTS FROM :sql_stmt2;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing PAYMENTS");
         EXEC SQL DECLARE PAYMENTS_C CURSOR FOR PAYMENTS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring PAYMENTS");
         /* now the get_tenders cursor */
         memset (sql_stmt3.arr, 0, sizeof(sql_stmt3.arr));
    /* FXL ADD SUBSTR to tndr_price_qual: substr(A.TNDR_PRICE_QUAL,1,14), 3/23/99,
    to to_number 3/29/99 */
         sprintf (sql_stmt3.arr, "SELECT \
    B.TNDR_AGT_NO, \
    B.NY_AGT_NO, \
    TO_CHAR(A.TNDR_TENDER_DATE, 'YYMMDD'), \
    A.TNDR_PRICE, \
    to_number(A.TNDR_PRICE_QUAL), \
    A.TNDR_TE_SIZE, \
    TNDR_TE_TEXT_1 \
    FROM IDB.DDR_TENDERS A, IDB.DDR_TENDERS_2 B \
    WHERE TNDR_CUSIP_NO = :master_cusip_no \
    AND TNDR_CUSIP_NO = TNDR_ISSUE_NO(+) \
    AND A.TNDR_TENDER_DATE = B.TNDR_TENDER_DATE(+) ");
         strcat (sql_stmt3.arr, tenders_where_clause);
         sql_stmt3.len = strlen(sql_stmt3.arr);
         EXEC SQL PREPARE TENDERS FROM :sql_stmt3;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing TENDERS");
         EXEC SQL DECLARE TENDERS_C CURSOR FOR TENDERS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring TENDERS");
         /* now the get_rights cursor */
         memset (sql_stmt4.arr, 0, sizeof(sql_stmt4.arr));
    /* ADD TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD') */
         sprintf (sql_stmt4.arr, "SELECT \
    B.NO_RIGHTS_ISSUED, \
    B.SHS_REQ_FOR_PURCH, \
    B.RGHTS_REQUIRED, \
    B.QTY_SHS_PURCHASED, \
    B.TYPE_SHS_ELIGIBLE, \
    B.NEW_SHS_CUSIP_NO, \
    B.NEW_CO_ISSUER_DESCR, \
    TO_CHAR(A.RGHT_RECORD, 'YYMMDD'), \
    TO_CHAR(A.RGHT_EX_DATE, 'YYMMDD'), \
    TO_CHAR(B.NYC_RECORD_DATE, 'YYMMDD'), \
    TO_CHAR(A.RGHT_EXPIRE, 'YYMMDD'), \
    TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD'), \
    A.RGHT_PRICE, \
    NVL(A.RGHT_RECORD_FNS,' '), \
    NVL(A.RGHT_EXPIRE_FNS,' '), \
    NVL(A.RGHT_EX_DATE_FNS,' '), \
    NVL(A.RGHT_PRICE_FNS,' '), \
    NVL(A.RGHT_BASIS_FNS,' '), \
    A.RGHT_FOOTNOTE, \
    B.US_INELIGIBILITY_IND, \
    B.RGHT_TRFR_IND \
    FROM IDB.DDR_RIGHTS A, IDB.DDR_RIGHTS_2 B \
    WHERE RGHT_CUSIP_NO = :master_cusip_no \
    AND RGHT_CUSIP_NO = RGHT_ISSUE_NO(+) \
    AND A.RGHT_RECORD = B.RGHT_RECORD_DATE(+) ");
         strcat (sql_stmt4.arr, rights_where_clause);
         sql_stmt4.len = strlen(sql_stmt4.arr);
         EXEC SQL PREPARE RIGHTS FROM :sql_stmt4;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in preparing RIGHTS");
         EXEC SQL DECLARE RIGHTS_C CURSOR FOR RIGHTS;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring RIGHTS");
         /* ram - added logic on 7/18/95 */
         /* for the standard footnotes cursor */
         EXEC SQL DECLARE STANDARD_FOOTNOTES_C CURSOR
         FOR
         SELECT SFTN_S_F_TEXT, SFTN_S_F_TYPE
         FROM IDB.DDR_STANDARD_FOOTNOTES
         WHERE SFTN_S_F_TYPE = :standard_footnote_type;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring STANDARD_FOOTNOTES");
         /* now the issue footnotes cursor */
         EXEC SQL DECLARE ISSUE_FOOTNOTES_C CURSOR
         FOR
         SELECT FTNT_F_TEXT, FTNT_F_TYPE
         FROM IDB.DDR_FOOTNOTES
         WHERE FTNT_CUSIP_NO = :master_cusip_no
         AND FTNT_SYMBOL = :footnote_symbol
         AND FTNT_YEAR IS NULL;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring ISSUE_FOOTNOTES");
         /* now the payment footnotes cursor */
         EXEC SQL DECLARE PAYMENT_FOOTNOTES_C CURSOR
         FOR
         SELECT FTNT_F_TEXT, FTNT_F_TYPE
         FROM IDB.DDR_FOOTNOTES
         WHERE FTNT_CUSIP_NO = :master_cusip_no
         AND FTNT_SYMBOL = :footnote_symbol
         AND FTNT_YEAR = :footnote_year;
         if (sqlca.sqlcode)
              sql_error (SYSERR, sqlca.sqlcode,
                   "Error in declaring PAYMENT_FOOTNOTES");
         /* now the get_s_h_meetings cursor */
         /* ONLY for certain tape types. */
    /*     GR PARTial 5
         if (which_tape == 0 || which_tape == 3 || which_tape == 1 || which_tape == 5)
              memset (sql_stmt5.arr, 0, sizeof(sql_stmt5.arr));
              /* ram - 6/15/95 - changed ORigunal to smtg */
              /* TO_CHAR(ORIGINAL_REC_DATE, 'YYMMDD'), \ */
              sprintf (sql_stmt5.arr, "SELECT \
    TO_CHAR(SMTG_MTG_DATE, 'YYMMDD'), \
    TO_CHAR(SMTG_REC_DATE, 'YYMMDD'), \
    SMTG_FOOTNOTE \
    FROM IDB.DDR_S_H_MEETINGS \
    WHERE SMTG_CUSIP_NO = :master_cusip_no ");
              strcat (sql_stmt5.arr, s_h_meet_where_clause);
              sql_stmt5.len = strlen(sql_stmt5.arr);
              EXEC SQL PREPARE S_H_MEET FROM :sql_stmt5;
              if (sqlca.sqlcode)
                   sql_error (SYSERR, sqlca.sqlcode,
                        "Error in preparing S_H_MEET");
              EXEC SQL DECLARE S_H_MEET_C CURSOR FOR S_H_MEET;
              if (sqlca.sqlcode)
                   sql_error (SYSERR, sqlca.sqlcode,
                        "Error in declaring S_H_MEET");
         } /* end of if (which_tape == 0 || which_tape == 1 || which_tape == 5) */
    /* replaced get_calendar_dates function with use of PLSQL - ram - 5/24/95 */
    void get_calendar_dates() /* Modified by TCS */
         /* put first and last calendar dates into global ints */
         /* first_cal_date and last_cal_date (YYYYMMDD) using */
         /* ddr package function get_business_days. */
         /* The package object ddr is owned by idb, so I'll */
         /* specify this, just in case accounts other than idb */
         /* run this code. (EXECUTE priviledge is granted to */
         /* "idb_user" role.) */
    EXEC SQL BEGIN DECLARE SECTION;
              int          cal_start;
              int          cal_end;
              int          return_val;
    EXEC SQL END DECLARE SECTION;
         /* initialize destination globals */

    You actually need to run it with "check -access"; memuse and leaks won't help with the crash, which happens because of illegal memory access. Hopefully, "check -access" will help you to locate the bad guy, but that's not panacea either.
    To be precise:
    - start dbx
    $ dbx <your app>
    - issue
    (dbx) check -access
    (dbx) run
    and wait for dbx to stop and report suspicious memory access.

  • Webcenter crashing with core dump

    Hi All,
    Once in a while Webcenter(11.1.1.5) is crashing and generating core dump and the error message is same evertime. We tried to research on addPartialTriggerListeners and found this kind of behaviour is a bug in apache trinidad version 1.2.5-core and is fixed in 1.2.7-core. But the webcenter we are using as version 1.2.12. Also the issue seems to be comming from webcenter/adf framework itself as none of our code uses addPartialTriggerListeners.
    Please help us resolve this issue as we are getting this issue in our production environment and we need to fix this asap.
    # A fatal error has been detected by the Java Runtime Environment:
    # SIGSEGV (0xb) at pc=0xffffffff7318caf0, pid=19921, tid=149
    # JRE version: 6.0_29-b11
    # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode solaris-sparc compressed oops)
    *# Problematic frame:*
    +*# J  org.apache.myfaces.trinidadinternal.context.RequestContextImpl.addPartialTriggerListeners(Ljavax/faces/component/UIComponent;[Ljava/lang/String;)V*#+
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    --------------- T H R E A D ---------------
    Current thread (0x00000001145ba000): JavaThread "[ACTIVE] ExecuteThread: '13' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon [_thread_in_Java, id=149, stack(0xfffffffea6800000,0xfffffffea6900000)]
    siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000000
    Registers:
    G1=0xffffffff503d5098 G2=0x00000001145ba000 G3=0xffffffff73516254 G4=0x00000000000000d1
    Thanks

    Oracle Support has a thread and work around for this.
    DocID 1514563.1
    Applies to:
    Oracle WebCenter Portal - Version 11.1.1.5.0 and later
    Information in this document applies to any platform.
    Purpose
    Java HotSpot Virtual Machine, a core component of Oracle's Java SE platform, known to core dump (resulting in a server crash) while optimizing certain methods in Oracle WebCenter.
    If you can switch to JRockit you can get around it also. Otherwise follow the note and setup the appropriate pre-compile excludes in your WC startup script.

  • XMLType table Core Dump using CLOB

    I've created an object based XMLType table based on a valid XML Schema. The Schema has an element which has been declared as a CLOB.
    <xs:element name="complete_entry" xdb:SQLType="CLOB" xdb:SQLName="complete_entry"/>
    This registers ok with Oracle and the object that this element is in shows the element as a CLOB as expected.
    However when performing a insert into this table, SQLPlus gives and end-of-communication error and the server core dumps.
    A PL/SQL function retreives an XML file from the file system for insert, here is the code for the function:
    create or replace function getClobDocument(
    filename in varchar2,
    charset in varchar2 default NULL)
    return CLOB deterministic
    is
    file bfile := bfilename('DIR',filename);
    charContent CLOB := ' ';
    targetFile bfile;
    lang_ctx number := DBMS_LOB.default_lang_ctx;
    charset_id number := 0;
    src_offset number := 1 ;
    dst_offset number := 1 ;
    warning number;
    begin
    if charset is not null then
    charset_id := NLS_CHARSET_ID(charset);
    end if;
    targetFile := file;
    DBMS_LOB.fileopen(targetFile, DBMS_LOB.file_readonly);
    DBMS_LOB.LOADCLOBFROMFILE(charContent, targetFile,
    DBMS_LOB.getLength(targetFile), src_offset, dst_offset,
    charset_id, lang_ctx,warning);
    DBMS_LOB.fileclose(targetFile);
    return charContent;
    end;
    The function is called like so:
    INSERT INTO boss_contracts
    VALUES(XMLTYPE(getCLOBDocument('contract_82.xml','UTF8')));
    This works perfectly when the element is declared as a string and Oracle converts it to a varchar2(4000), but core dumps when it is a CLOB.
    I need this element to be able to handle more than 4k of data.
    please help,
    Paul Linney
    [email protected]

    void print_affect(struct oci_connection* conn, OCIStmt* sh) {
    sb2 rowCount;
    ub4 sizep = sizeof(sb2);
    OCIAttrGet(sh, OCI_HTYPE_STMT,&rowCount,
    &sizep,OCI_ATTR_ROW_COUNT, conn->err);OCI_ATTR_ROW_COUNT is a ub4 attribute, not a sb2 one.
    ub4 rowCount = 0;
    ub4 size = sizeof(rowCount);
    --DD                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Redhat 6.0 Webdb 2.2 Server 8.1.5 sqlplus core dump segmentation fault solution

    If anyone else is struggling with this installation, heres a workaround that
    Got things going for me.
    Redhat 6.0
    Oracle 8.1.5
    Webdb 2.2
    The database was up and working fine. Not as many problems as earlier versions but there was still much grief getting it to work. Save yourself some time, dont charge ahead like I did, read the installation notes.
    The installation of Webdb didnt go so well though. Sqlplus would core dump with segmentation fault when a connection to the local instance was attempted. I tried many things, install webdb to 8.1.5 , apply glibc patch, apply 8.0.5 patches to webdb install none of this worked. The workaround I finally found was to use the 8.1.5 listener and the old formatting of a listener.ora and tnsnames.ora file. (i.e. like 7.3.x). Sqlplus would then connect via tcp. Installation still had another problem I could never get past the sys password confirmation. I could connect from the command line with sqlplus s /nolog @passwd.sql sys/mypass@mytnsname but the installer just wouldnt work. An edit of the installation_dir ->webdb-2.2/owa40/owa40.vrf file did the trick. Hard code a location to a dummy pass.sys file.
    After many frustrating hours 160 or so - I think I finally have a working database and a working webdb web site. Hope this info might help others.
    Craig MacPherson
    null

    o Did you end up with 8.1.5 and WebDB2.2 in different Oracle_homes?
    Yes - product/8.1.5
    - product/8.0.5
    o What do you mean that you used the 8.1.5 listener? My database is 8.1.5 so the tnslistener I'm using is from the 8.1.5 install - not the 8.0.5 version.
    o Can you send a sample of the tnsnames.ora file that you used?
    Sure - make sure you set TNS_ADMIN
    # Filename: Listener.ora
    LISTENER =
    (ADDRESS_LIST =
    (ADDRESS= (PROTOCOL= TCP)(Host= 139.142.231.213)(Port= 1521))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (ORACLE_HOME= /oracle/product/8.1.5)
    (SID_NAME = cmac)
    STARTUP_WAIT_TIME_LISTENER = 0
    CONNECT_TIMEOUT_LISTENER = 10
    TRACE_LEVEL_LISTENER = OFF
    # Filename: Tnsnames.ora
    cmac =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL= TCP)(Host= 139.142.231.213)(Port= 1521))
    (CONNECT_DATA = (SID = cmac))
    test =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL= TCP)(Host= dmac)(Port= 1521))
    (CONNECT_DATA = (SID = cmac))
    null

  • Core dump installing 8.1.7 on RH 6.2

    The installation process fails trying to link the oracle executable (core dump). Have anybody suffered the same problem? any walkaround? 8.1.6 is running without problems in the same box.
    Thanks,
    Osvaldo.

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by hugh:
    Does oracle 815 install on Redhat 6.2?
    When I try I get nothing but jre errors using both jre v5 glibc and jre v5 libc5.
    Does anyone know how or do I downgrade to RH 6.1?<HR></BLOCKQUOTE>
    I have just installed 8.1.5 on RH6.2 over the last weekend and it works quite beautifully. Untar the jre bundle into /usr/local and make a softlink to /usr/local/jre.
    Next, cd to to /mount_point/install/linux and run ./runInst.sh from there. Running runInstaller will not work.
    Hope that helps.

Maybe you are looking for

  • My Ipod Was Stolen, and now it won't restore!

    Dear whoever gets this desperate post, My ipod was stolen about 1 month ago. By some strange strokes of luck, I got it back from the police today. I am trying to restore it, thereby subsequently re-loading my songs on it. But I am stuck. I plug it in

  • Itunes new install on windows 7 can't find library on external hard drive

    I just installed itunes on a new windows 7 computer - On my previous computer I had my itunes library on an external hard drive. I can't get itunes to find most of my music. I can't figure out why this has to be so hard - please help.

  • IPod Mini earphone jack issues

    When I plug in my earphones they work most of the time but every now and again I have to wiggle the connection to get it to work. I think I need a new part to replace the jack. Is it worth getting it replaced? Any idea how much$$ and lastly where cou

  • 10.6.3 and iPhone tethering over Bluetooth

    This issue probably won't be widely reported because there is no iPhone tethering in the US with AT&T, but since upgrading to 10.6.3, I'm finding tethering my 13" MacBook Pro to my iPhone over Bluetooth to be really unreliable. Each time I do it, I b

  • Screen Sharing viewing problem

    I am using Skype Version 4.3.0.37 on a desktop using Ubuntu 12.04. Using Screen Sharing in full screen mode there are huge blocks of filler surrounding the screen sharing image making the screen sharing image much smaller and much harder to read. Is