UPSA Errors, SQL Errors, Timeouts, Event ID 3, Event ID 3355

Greetings,
My User Profile Service has been running without issue for the last week or so; once I was able to provision it.
Yesterday morning, we noticed it was in a "User Profile Sync is not currently provisioned" state.
I went through the normal steps to start the service and after 15 minutes it stopped again.  The certifications are there, I saw the 2 Forefront services start, then I saw a number of errors being logged.  Then, of course, the sync service stopped.
I am investigating the errors logged I see many Event ID 3; SQL timeout.  I am familiar with how to increase the Forefront timeout configuration but am wondering if the issue is something deeper.
This is a small 3 server farm; 01 - Application Server (Central Administration), 02 - Dedicated Search Server, 03 - WFE.
The UPSA and sync is configured to run on 03.  However, when I look at failed timer jobs, I see the "User Profile Service - User Profile Incremental Synchronization" job failing on both servers 01 and 03.  These jobs are running every
minute and have thousands of failures.
Why would this job be running on 01?  I have never scheduled it to run on the 01 server?
I'm not sure if this is related, but I also see intermittent Event ID 3355 in the logs.  This event indicates the following:
"Cannot connect to SQL Server. {Our SQL Server} not found. Additional error information from SQL Server is included below.
Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
Table 'TimerJobHistory'. Scan count 1, logical reads 4, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0."

Hi Bob,
I recommend to check if the User Profile Synchronization Service has been started in both 01 server and 03 server.
If yes, then User Profile Service - User Profile Incremental Synchronization timer job will run on both 01 server and 03 server.
For this issue, I recommend to reset the user profile synchronization and reboot the 01 and 03 sever after the reset, add the Farm account on Sync DB as dbo owner on SQL server and then start the profile synchronization server to check the results.
https://technet.microsoft.com/en-us/library/ff681014.aspx?f=255&MSPPError=-2147217396#resetSync
http://blogs.technet.com/b/balasm/archive/2012/05/18/user-profile-application-unable-to-process-create-message.aspx
As you said that the User Profile Service - User Profile Incremental Synchronization is failing in 01 and 03 server, what was the error message displayed when viewing the failing timer job in Job History?
I also recommend to check ULS log to see if anything unexpected occurred.
For event 3355, please refer to the link below for resolution:
https://technet.microsoft.com/en-us/library/ee513066%28v=office.14%29.aspx?f=255&MSPPError=-2147217396
Thanks,
Victoria
TechNet Community Support
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
[email protected].
Hi Victoria,
I did resolve the issue with the UPSA Synchronization Service failing to run; it was a SQL Server error.  SQL Server was actually running out of memory.  My client added an additional 12GB memory and these specific errors went away.
What I'm still questioning is; why is a synchronization timer job even trying to run on the 01 server.  The UPSA synchronization job was provisioned on the 03 server only and it is running now.  However, I still see the UPSA synchronization timer
job failing on the 01 server.
This is a production environment.  Tearing the UPSA down and rebuilding it is not an option.  I just need to get the UPSA synchronization timer job to stop running on the 01 server.
Thank you!
Bob

Similar Messages

  • Loading issue : Error: sql error in the database while accessing a table

    Hello,
    where as one of the DTP in the process chain failed due to  *Error: sql error in the database while accessing a table*, where as in the short dump it showing as Transaction log of data base is full., but i checked the data base space in DB02, more space is available . once we run the same DTP by manually its successful. its not through  any errors.
    could u please help me out solve the problem.
    Thanks
    siva kumar.

    it might be a lock. do you drop index before loading?
    the database might be full at the moment of loading and not later if many loadings happen at the same time on the same system...
    when you then rerun your dtp manually, it can go through as it's perhaps the only one running at that moment...
    you can try to set the btch parameter to 1...this will help in some cases.
    M.

  • Runtime error SQL error 3114 occurred when accessing program CX_ w

    Hi Friends,
    Iam in a big mess . I have one query based on one my Zinfocube.This query ia attached in the workbook .. Previuolsy all was fine , but now whever iam executing this query it is throwing me the exception
    Query 0: Runtime error SQL error 3114 occurred when accessing program CX_ with parallel processing via RFC.
    and
    Beim Lesen der Daten sind Fehler aufgetreten. Navigation ist möglich
    I am not able to get the cause of error ..
    Can anybody help me in this regrd as its a bit urgent.
    Thanks in advance..

    Hi , thanks for replying ,
    I have tried running query through RSRT also , its not working still it is giving me the same error .
    In st22 it is showing me the follwing dump.
    DBIF_REPO_SQL_ERROR
    Short text
        SQL error 3114 occurred when accessing program
    What happened?
        The system is no longer linked to an ORACLE instance.
        No further operations can be performed on the database.
    What can you do?
        You cannot eliminate this error yourself.
        Please inform your database administrator.
        Note which actions and input led to the error.
        For further help in handling the problem, contact your SAP administrator
        You can use the ABAP dump analysis transaction ST22 to view and manage
        termination messages, in particular for long term reference.
        Note which actions and input led to the error.
        For further help in handling the problem, contact your SAP administrator
        You can use the ABAP dump analysis transaction ST22 to view and manage
        termination messages, in particular for long term reference.
    Error analysis
        The system attempted to access an ORACLE instance to which
        it is no longer linked.
        This situation may arise because the ORACLE instance
        has been stopped due to an error or an external operation.
    How to correct the error
        Database error text........: "ORA-03114: not connected to ORACLE"
        Triggering SQL statement...: "CX_SQL_EXCEPTION==============CP "
        The current status of the ORACLE instance cannot be determined.
        It may be still inactive or the database administrator may have
        restarted it.
        In any case, all systems that have accessed the ORACLE instance
        must be restarted after the ORACLE instance has been restarted.
        If you were working on a central system, inform
        your system administrator.
        If you were working on an external local system, inform
        the person responsible for this system.
        If you were working on your own local system, restart
        the system yourself.
        If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "DBIF_REPO_SQL_ERROR" " "
        "CL_SQL_RESULT_SET=============CP" or "CL_SQL_RESULT_SET=============CM006"
        "NEXT_PACKAGE"
        If you cannot solve the problem yourself and want to send an errornotification to SAP, include the following information:
    1. The description of the current problem (short dump)
       To save the description, choose "System->List->Save->Local File
    (Unconverted)".
    2. Corresponding system log
       Display the system log by calling transaction SM21.
       Restrict the time interval to 10 minutes before and five minutes
    after the short dump. Then choose "System->List->Save->Local File
    (Unconverted)".
    3. If the problem occurs in a problem of your own or a modified SAP
    program: The source code of the program
       In the editor, choose "Utilities->More
    Utilities->Upload/Download->Download".
    4. Details about the conditions under which the error occurred or which
    actions and input led to the error.
    If the error occures in a non-modified SAP program, you may be able to
    find an interim solution in an SAP Note.
    If you have access to SAP Notes, carry out a search with the following
    keywords:
    "DBIF_REPO_SQL_ERROR" " "
    "CL_SQL_RESULT_SET=============CP" or "CL_SQL_RESULT_SET=============CM006"
    "NEXT_PACKAGE"
    Thanks in Advance..

  • Getting error "SQL error in the database when accessing a table."

    Hi All,
    We are getting Dump Error SQL error in the database when accessing a table for the batch job EISSD/REQUISITION 14 / which includes program AQ20FD==========A2============. Please reply. The Dump error details are as follows
    Short text
        SQL error in the database when accessing a table.
    How to correct the error
        Database error text........: "ORA-01555: snapshot too old: rollback segment
         number 21 with name "_SYSSMU21$" too small"
        Internal call code.........: "[RSQL/FTCH/VBRK ]"
        Please check the entries in the system log (Transaction SM21).
    Thanks
    Padmakar Kudtarkar
    Edited by: Rob Burbank on May 19, 2011 9:38 AM

    The query where we are getting error in Standard program AQ20FD==========A2============ for Job
    EISSD/REQUISITION 14 / is as follows:
    select VBRKBUKRS VBRKFKART VBRKFKDAT VBRKFKTYP VBRKGJAHR VBRKKUNAG VBRKKUNRG VBRKKURRF VBRKVBELN VBRKWAERK VBRP~AUBEL
           VBRPAUPOS VBRPFKIMG VBRPKVGR2 VBRPKZWI1 VBRPMATNR VBRPMWSBP VBRPNETWR VBRPPSTYV VBRPVBELN VBRPVGBEL VBRP~VGPOS
           VBRPVKBUR VBRPVKGRP VBRPVRKME VBRPWAVWR
    into (VBRK-BUKRS , VBRK-FKART , VBRK-FKDAT , VBRK-FKTYP , VBRK-GJAHR , VBRK-KUNAG , VBRK-KUNRG , VBRK-KURRF , VBRK-VBELN
         , VBRK-WAERK , VBRP-AUBEL , VBRP-AUPOS , VBRP-FKIMG , VBRP-KVGR2 , VBRP-KZWI1 , VBRP-MATNR , VBRP-MWSBP , VBRP-NETWR
         , VBRP-PSTYV , VBRP-VBELN , VBRP-VGBEL , VBRP-VGPOS , VBRP-VKBUR , VBRP-VKGRP , VBRP-VRKME , VBRP-WAVWR )
    from ( VBRK
           inner join VBRP
           on VBRPVBELN = VBRKVBELN )
           where VBRK~BUKRS in SP$00004
             and VBRK~FKDAT in SP$00001
             and VBRK~KUNAG in SP$00002
             and VBRK~VBELN in SP$00006
             and VBRP~MATNR in SP$00003.
      %dbacc = %dbacc - 1.
      if %dbacc = 0.
        stop.
      endif.
      check SP$00004.
      check SP$00001.
      check SP$00002.
      check SP$00006.
      check SP$00003.
      add 1 to %count-VBRK.
      %linr-VBRK = '01'.
      extract %fg01.
      %ext-VBRP01 = 'X'.
        extract %fgwrVBRP01.
    endselect.

  • Oracle Error: SQL Error Messge: [SERVERERROR] ORA-06550: line 1, column 7:

    The following is the error msg, I am trying to run the stored procedure to insert data into few tables.
    Pls suggest any solution to this error msg: Thanks.
    08/05/2005 11:27:41-> Level:1, UpLoader: SQL Error Messge: [SERVERERROR] ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'ENTPRFMAN'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    PROCEDURE ENTPRFMAN
    p_source_acct_id char, /*1*/
    p_source_system char, /*2*/
    p_entity_name char, /*3*/
    p_entity_legal_name char, /*4*/
    p_entity_long_name char, /*5*/
    p_associated_entity_id char, /*6*/
    p_entity_type char, /*7*/
    p_list_order char, /*8*/
    p_tax_id_number char, /*9*/
    p_inception_date char, /*10*/
    p_fiscal_end_date char, /*11*/
    p_marketing_open_date char, /*12*/
    p_base_currency char, /*13*/
    p_account_status char, /*14*/
    p_entity_code char, /*15*/
    p_orig_source_system char, /*16*/
    p_account_legal_form char, /*17*/
    p_business_sector char, /*18*/
    p_direct_account_ind char, /*19*/
    p_portfolio_type_code char, /*20*/
    p_target_dict_name char, /*21*/
    p_dict_level char, /*22*/
    p_cust_indx_type char, /*23*/
    p_blnd_source char, /*24*/
    p_ml_interpolate_yn char, /*25*/
    p_source_level1 char, /*26*/
    p_source_entity_xref1 char, /*27*/
    p_source_entity_xref1_type char, /*28*/
    p_source_dict_name1 char, /*29*/
    p_weight1 char, /*30*/
    p_source_level2 char, /*31*/
    p_source_entity_xref2 char, /*32*/
    p_source_entity_xref2_type char, /*33*/
    p_source_dict_name2 char, /*34*/
    p_weight2 char, /*35*/
    p_source_level3 char, /*36*/
    p_source_entity_xref3 char, /*37*/
    p_source_entity_xref3_type char, /*38*/
    p_source_dict_name3 char, /*39*/
    p_weight3 char, /*40*/
    p_source_level4 char, /*41*/
    p_source_entity_xref4 char, /*42*/
    p_source_entity_xref4_type char, /*43*/
    p_source_dict_name4 char, /*44*/
    p_weight4 char, /*45*/
    p_source_level5 char, /*46*/
    p_source_entity_xref5 char, /*47*/
    p_source_entity_xref5_type char, /*48*/
    p_source_dict_name5 char, /*49*/
    p_weight5 char, /*50*/
    p_source_level6 char, /*51*/
    p_source_entity_xref6 char, /*52*/
    p_source_entity_xref6_type char, /*53*/
    p_source_dict_name6 char, /*54*/
    p_weight6 char, /*55*/
    p_source_level7 char, /*56*/
    p_source_entity_xref7 char, /*57*/
    p_source_entity_xref7_type char, /*58*/
    p_source_dict_name7 char, /*59*/
    p_weight7 char, /*60*/
    p_source_level8 char, /*61*/
    p_source_entity_xref8 char, /*62*/
    p_source_entity_xref8_type char, /*63*/
    p_source_dict_name8 char, /*64*/
    p_weight8 char, /*65*/
    p_source_level9 char, /*66*/
    p_source_entity_xref9 char, /*67*/
    p_source_entity_xref9_type char, /*68*/
    p_source_dict_name9 char, /*69*/
    p_weight9 char, /*70*/
    p_source_level10 char, /*71*/
    p_source_entity_xref10 char, /*72*/
    p_source_entity_xref10_type char, /*73*/
    p_source_dict_name10 char, /*74*/
    p_weight10 char, /*75*/
    p_OUT OUT char
    AS
    v_date rulesdbo.entity.upd_date%TYPE:= SYSDATE;
    v_update_source rulesdbo.entity.upd_user%TYPE:= 'PRFENT';
    v_entity_id rulesdbo.entity.entity_id%type;
    b_valid BOOLEAN;
    /* Supported Entity Types - Index Index */
    v_sb_entity_type rulesdbo.entity.entity_type%type:= 'INDX';
    v_bb_entity_type rulesdbo.entity.entity_type%type:= 'CIDX';
    v_bb_dict_l1_cv rulesdbo.dictionary_detail.dict_l1_code_value%type := 'TOTAL';
    na_outparam EagleGen.t_outparam;
    /* Constants */
    g_prf_intfc rulesdbo.entity.src_intfc_inst%type:= -1;
    v_src_intfc_inst rulesdbo.entity.src_intfc_inst%type:= -1;
    /* Business Groups */
    v_group_name1 pace_masterdbo.pace_user_groups.group_name%type := 'ASP Reporting Grp';
    v_group_name2 pace_masterdbo.pace_user_groups.group_name%type := 'Client Rptg Grp';
    v_group_name3 pace_masterdbo.pace_user_groups.group_name%type := 'Client Rptg Mgr Grp';
    v_group_name4 pace_masterdbo.pace_user_groups.group_name%type := 'Client Srvc Grp';
    v_group_name5 pace_masterdbo.pace_user_groups.group_name%type := 'Client Srvc Mgr Grp';
    v_group_name6 pace_masterdbo.pace_user_groups.group_name%type := 'Data Mgmt Grp';
    v_group_name7 pace_masterdbo.pace_user_groups.group_name%type := 'Data Services Grp';
    v_group_name8 pace_masterdbo.pace_user_groups.group_name%type := 'Dom Operations (FDS)';
    v_group_name9 pace_masterdbo.pace_user_groups.group_name%type := 'QA Portfolio Mgr Grp';
    v_group_name10 pace_masterdbo.pace_user_groups.group_name%type := 'SRS (LPS) Group';
    v_group_name11 pace_masterdbo.pace_user_groups.group_name%type := 'LG Cap Val PM Group';
    v_group_name12 pace_masterdbo.pace_user_groups.group_name%type := 'APL Large Cap Value';
    v_group_name13 pace_masterdbo.pace_user_groups.group_name%type := 'Small Cap PM Grp';
    v_group_name14 pace_masterdbo.pace_user_groups.group_name%type := 'Client Rptg Dev Grp';
    v_entity_name rulesdbo.entity.entity_name%type; -- HX 17MAR05
    ** Checks to see if entity exists
    PROCEDURE validate_entityid(p_acctid IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_acctid_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    l_entity_id OUT rulesdbo.entity_xreference.entity_id%TYPE,
    b_valid OUT BOOLEAN)
    IS
    BEGIN
    select ex.entity_id into l_entity_id
    from rulesdbo.entity_xreference ex, rulesdbo.entity e
    where ex.xref_account_id = trim(p_acctid)
    and ex.xref_account_id_type = trim(p_acctid_type)
    and ex.entity_id = e.entity_id;
    b_valid:=TRUE;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    b_valid:=TRUE;
    l_entity_id:=null;
    dbms_output.put_line('IN ENTITY VALIDATE no data');
    WHEN OTHERS THEN
    dbms_output.put_line('IN ENTITY VALIDATE ERROR');
    b_valid:=FALSE;
    END; -- validate entity id func ends here
    ** Checks to see if entity xref exists, if not then add xref
    FUNCTION entity_xref(p_acctid rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_acctid_type rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_entity_id rulesdbo.entity_xreference.entity_id%TYPE)
    RETURN BOOLEAN
    AS
    l_count NUMBER:=0;
    v_entity_xref_id rulesdbo.entity_xreference.instance%type;
    BEGIN
    select count(*) into l_count
    from rulesdbo.entity_xreference
    where xref_account_id = trim(p_acctid)
    and xref_account_id_type = trim(p_acctid_type);
    if l_count > 0 then
    UPDATE rulesdbo.entity_xreference
    SET update_date = v_date,
    update_source = v_update_source,
    entity_id = p_entity_id
    WHERE xref_account_id = trim(p_acctid)
    AND xref_account_id_type = trim(p_acctid_type);
    RETURN TRUE;
    else
    pace_masterdbo.getnextinstance('RULESDBO.ENTITY_XREFERENCE',1,v_entity_xref_id);
    INSERT INTO rulesdbo.entity_xreference
    instance, update_date, update_source, entity_id, xref_account_id, xref_account_id_type
    VALUES
    v_entity_xref_id, v_date, v_update_source, p_entity_id, trim(p_acctid), trim(p_acctid_type)
    RETURN TRUE;
    end if;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- entity_xref func ends here
    ** Finds dictionary_id given dictionary_name
    FUNCTION getDictionaryId(p_dict_name IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_dict_id OUT rulesdbo.dictionaries.dictionary_id%TYPE)
    RETURN BOOLEAN
    AS
    v_dict_id rulesdbo.dictionaries.dictionary_id%type;
    v_dict_name rulesdbo.dictionaries.dictionary_name%type;
    BEGIN
    dbms_output.put_line('dictionary_name = '||p_dict_name);
    --trim input
    v_dict_name := trim(p_dict_name);
    select dictionary_id into v_dict_id
    from rulesdbo.dictionaries
    where dictionary_name = v_dict_name;
    dbms_output.put_line('dictionary_id = '||v_dict_id);
    if v_dict_id is not null then
    p_dict_id := v_dict_id;
    RETURN TRUE;
    else
    p_dict_id := NULL;
    RETURN FALSE;
    end if;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- getDictionaryId func ends here
    ** Finds dictionary_detail_id given dictionary_name
    FUNCTION getDictionaryItemId(p_dict_id IN rulesdbo.dictionary_detail.dictionary_id%TYPE,
    p_dict_l1_code_value IN rulesdbo.dictionary_detail.dict_l1_code_value%TYPE,
    p_dict_l2_code_value IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_dict_item_id OUT rulesdbo.dictionary_detail.dictionary_item_id%TYPE)
    RETURN BOOLEAN
    AS
    v_dict_item_id rulesdbo.dictionary_detail.dictionary_item_id%type;
    v_dict_l1 rulesdbo.dictionary_detail.dict_l1_code_value%TYPE;
    v_dict_l2 rulesdbo.dictionary_detail.dict_l2_code_value%TYPE;
    BEGIN
    --trim input
    v_dict_l1 := trim(p_dict_l1_code_value);
    v_dict_l2 := trim(p_dict_l2_code_value);
    /* Total Level Only dictionary custom logic */
    if v_dict_l2 <> 'TOTAL' then
    select dictionary_item_id into v_dict_item_id
    from rulesdbo.dictionary_detail
    where dictionary_id = p_dict_id
    and dict_l1_code_value = v_dict_l1
    and dict_l2_code_value = v_dict_l2;
    else
    select dictionary_item_id into v_dict_item_id
    from rulesdbo.dictionary_detail
    where dictionary_id = p_dict_id
    and dict_l1_code_value = v_dict_l1
    and dict_l2_code_value is null;
    end if;
    if v_dict_item_id is not null then
    p_dict_item_id := v_dict_item_id;
    RETURN TRUE;
    else
    p_dict_item_id := NULL;
    RETURN FALSE;
    end if;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- getDictionaryDetailId func ends here
    ** Finds instance for given source short_desc
    FUNCTION getSourceId(p_source_name IN pace_masterdbo.interfaces.short_desc%TYPE,
    p_source_id OUT pace_masterdbo.interfaces.instance%TYPE)
    RETURN BOOLEAN
    AS
    v_source_id pace_masterdbo.interfaces.instance%TYPE;
    v_source_name pace_masterdbo.interfaces.short_desc%TYPE;
    BEGIN
    --trim input
    v_source_name := trim(p_source_name);
    select instance into v_source_id
    from pace_masterdbo.interfaces
    where short_desc = v_source_name;
    if v_source_id is not null then
    p_source_id := v_source_id;
    RETURN TRUE;
    else
    p_source_id := NULL;
    RETURN FALSE;
    end if;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- getSourceId func ends here
    ** Finds entity_id given xref_account_id
    FUNCTION getEntityId( p_account_id IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_account_id_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_entity_id OUT rulesdbo.entity_xreference.entity_id%TYPE)
    RETURN BOOLEAN
    AS
    v_entity_id rulesdbo.entity_xreference.entity_id%TYPE;
    v_account_id rulesdbo.entity_xreference.xref_account_id%TYPE;
    v_account_id_type rulesdbo.entity_xreference.xref_account_id_type%TYPE;
    BEGIN
    --trim input
    v_account_id := trim(p_account_id);
    v_account_id_type := trim(p_account_id_type);
    select entity_id into v_entity_id
    from rulesdbo.entity_xreference
    where xref_account_id = v_account_id
    and xref_account_id_type = v_account_id_type;
    if v_entity_id is not null then
    p_entity_id := v_entity_id;
    RETURN TRUE;
    else
    p_entity_id := NULL;
    RETURN FALSE;
    end if;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- getEntityId func ends here
    ** FOR BLENDED BENCHMARKS ONLY
    FUNCTION processLevel( p_level_id IN NUMBER,
    p_blend_entity_id IN rulesdbo.entity.entity_id%TYPE,
    p_target_dict_id IN rulesdbo.dictionaries.dictionary_id%TYPE,
    p_dict_level IN rulesdbo.custom_index_attributes.dict_level%TYPE,
    p_dict_l2_code_value1 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref1 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref1_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname1 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight1 IN rulesdbo.custom_index_attributes.weight%TYPE
    RETURN BOOLEAN
    AS
    l_count NUMBER:=0;
    v_instance rulesdbo.custom_index_attributes.instance%TYPE;
    v_source_dict_id rulesdbo.custom_index_attributes.source_dict_id%TYPE;
    v_entity_id rulesdbo.entity.entity_id%TYPE;
    v_src_intfc_inst rulesdbo.custom_index_attributes.src_intfc_inst%TYPE;
    v_target_dict_item_id rulesdbo.custom_index_attributes.target_dict_item_id%TYPE;
    b_valid BOOLEAN;
    BEGIN
    b_valid := getSourceId('EAGLE PACE', v_src_intfc_inst);
    dbms_output.put_line('Source Id = '||v_src_intfc_inst);
    b_valid := getEntityId(p_entity_xref1, p_entity_xref1_type, v_entity_id);
    dbms_output.put_line('Level Entity Xref = '||p_entity_xref1);
    dbms_output.put_line('Level Entity Id = '||v_entity_id);
    IF NOT b_Valid THEN
    na_outparam(na_outparam.COUNT+1) := EagleGen.GetErrEdit(p_Src => v_src_intfc_inst,
    p_ShortDesc => 'ENTITY NF');
    p_OUT := EagleGen.simf_table_to_varchar(na_outparam);
    RETURN FALSE;
    END IF;
    b_valid := getDictionaryId(p_source_dictname1, v_source_dict_id);
    dbms_output.put_line('Level Dictionary Id = '||v_source_dict_id);
    IF NOT b_Valid THEN
    na_outparam(na_outparam.COUNT+1) := EagleGen.GetErrEdit(p_Src => v_src_intfc_inst,
    p_ShortDesc => 'DICT ID NF');
    p_OUT := EagleGen.simf_table_to_varchar(na_outparam);
    RETURN FALSE;
    END IF;
    b_valid := getDictionaryItemId(p_target_dict_id, v_bb_dict_l1_cv, p_dict_l2_code_value1, v_target_dict_item_id);
    dbms_output.put_line('Dictionary Item Id = '||v_target_dict_item_id);
    IF NOT b_Valid THEN
    na_outparam(na_outparam.COUNT+1) := EagleGen.GetErrEdit(p_Src => v_src_intfc_inst,
    p_ShortDesc => 'DIR NF');
    p_OUT := EagleGen.simf_table_to_varchar(na_outparam);
    RETURN FALSE;
    END IF;
    /* initial delete */
    if p_level_id = 1 then
    dbms_output.put_line('Deleting ALL prior blend info');
    DELETE FROM rulesdbo.custom_index_attributes
    WHERE entity_id = p_blend_entity_id
    and target_dict_id = p_target_dict_id
    and source_dict_id = v_source_dict_id
    and dict_level = p_dict_level;
    end if;
    /* verify level */
    if p_dict_l2_code_value1 is not null then
    if (v_entity_id is not null) then
    if (v_source_dict_id is not null) then
    if (p_weight1 is not null) then
    dbms_output.put_line('*** LEVEL '||p_level_id||' - INSERTING NEW RECORD INTO RULESDBO.CUSTOM_INDEX_ATTRIBUTES');
    pace_masterdbo.getnextinstance('RULESDBO.CUSTOM_INDEX_ATTRIBUTES',1,v_instance);
    dbms_output.put_line('Retrieved instance number = '||v_instance);
    /* insert row */
    INSERT INTO rulesdbo.custom_index_attributes (
    instance, effective_date, entity_id, entity_detail_id, target_dict_id, source_dict_id,
    dict_level, dict_level_value, weight, cust_indx_type, src_intfc_inst, update_date,
    update_source, target_dict_item_id
    VALUES (
    v_instance, trunc(v_date), p_blend_entity_id, v_entity_id, p_target_dict_id, v_source_dict_id,
    p_dict_level, substr(p_dict_l2_code_value1, 1, 30), p_weight1, substr(p_cust_indx_type, 1, 4),
    v_src_intfc_inst, v_date, v_update_source, v_target_dict_item_id
    b_valid := TRUE;
    RETURN TRUE;
    end if;
    end if;
    end if;
    end if;
    RETURN FALSE;
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('ERRROR - '||sqlerrm);
    RETURN NULL;
    END; -- processLevel func ends here
    FUNCTION customIndexAttributes(
    p_blend_entity_id IN rulesdbo.entity.entity_id%TYPE,
    p_target_dictname IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_dict_l2_code_value1 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref1 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref1_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname1 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight1 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value2 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref2 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref2_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname2 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight2 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value3 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref3 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref3_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname3 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight3 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value4 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref4 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref4_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname4 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight4 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value5 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref5 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref5_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname5 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight5 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value6 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref6 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref6_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname6 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight6 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value7 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref7 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref7_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname7 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight7 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value8 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref8 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref8_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname8 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight8 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value9 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref9 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref9_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname9 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight9 IN rulesdbo.custom_index_attributes.weight%TYPE,
    p_dict_l2_code_value10 IN rulesdbo.dictionary_detail.dict_l2_code_value%TYPE,
    p_entity_xref10 IN rulesdbo.entity_xreference.xref_account_id%TYPE,
    p_entity_xref10_type IN rulesdbo.entity_xreference.xref_account_id_type%TYPE,
    p_source_dictname10 IN rulesdbo.dictionaries.dictionary_name%TYPE,
    p_weight10 IN rulesdbo.custom_index_attributes.weight%TYPE
    RETURN BOOLEAN
    AS
    l_count NUMBER:=0;
    v_instance rulesdbo.custom_index_attributes.instance%TYPE;
    v_target_dict_id rulesdbo.custom_index_attributes.target_dict_id%TYPE;
    v_source_dict_id rulesdbo.custom_index_attributes.source_dict_id%TYPE;
    v_entity_id rulesdbo.entity.entity_id%TYPE;
    v_entity_detail_id rulesdbo.entity_detail.entity_detail_id%TYPE;
    b_valid BOOLEAN;
    BEGIN
    dbms_output.put_line('TRYING TO INSERT NEW RECORD INTO RULESDBO.CUSTOM_INDEX_ATTRIBUTES');
    b_valid := getDictionaryId(p_target_dictname, v_target_dict_id);
    dbms_output.put_line('Target Dictionary Id = '||v_target_dict_id);
    -- process level 1
    if p_dict_l2_code_value1 is not null then
    dbms_output.put_line('Trying to process level 1');
    b_valid := processLevel(1,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value1,p_entity_xref1,p_entity_xref1_type,
    p_source_dictname1,p_weight1);
    end if;
    -- process level 2
    if p_dict_l2_code_value2 is not null then
    dbms_output.put_line('Trying to process level 2');
    b_valid := processLevel(2,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value2,p_entity_xref2,p_entity_xref2_type,
    p_source_dictname2,p_weight2);
    end if;
    -- process level 3
    if p_dict_l2_code_value3 is not null then
    dbms_output.put_line('Trying to process level 3');
    b_valid := processLevel(3,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value3,p_entity_xref3,p_entity_xref3_type,
    p_source_dictname3,p_weight3);
    end if;
    -- process level 4
    if p_dict_l2_code_value4 is not null then
    dbms_output.put_line('Trying to process level 4');
    b_valid := processLevel(4,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value4,p_entity_xref4,p_entity_xref4_type,
    p_source_dictname4,p_weight4);
    end if;
    -- process level 5
    if p_dict_l2_code_value5 is not null then
    dbms_output.put_line('Trying to process level 5');
    b_valid := processLevel(5,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value5,p_entity_xref5,p_entity_xref5_type,
    p_source_dictname5,p_weight5);
    end if;
    -- process level 6
    if p_dict_l2_code_value6 is not null then
    dbms_output.put_line('Trying to process level 6');
    b_valid := processLevel(6,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value6,p_entity_xref6,p_entity_xref6_type,
    p_source_dictname6,p_weight6);
    end if;
    -- process level 7
    if p_dict_l2_code_value7 is not null then
    dbms_output.put_line('Trying to process level 7');
    b_valid := processLevel(7,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value7,p_entity_xref7,p_entity_xref7_type,
    p_source_dictname7,p_weight7);
    end if;
    -- process level 8
    if p_dict_l2_code_value8 is not null then
    dbms_output.put_line('Trying to process level 8');
    b_valid := processLevel(8,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value8,p_entity_xref8,p_entity_xref8_type,
    p_source_dictname8,p_weight8);
    end if;
    -- process level 9
    if p_dict_l2_code_value9 is not null then
    dbms_output.put_line('Trying to process level 9');
    b_valid := processLevel(9,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value9,p_entity_xref9,p_entity_xref9_type,
    p_source_dictname9,p_weight9);
    end if;
    -- process level 10
    if p_dict_l2_code_value10 is not null then
    dbms_output.put_line('Trying to process level 10');
    b_valid := processLevel(10,p_blend_entity_id,v_target_dict_id,p_dict_level,
    p_dict_l2_code_value10,p_entity_xref10,p_entity_xref10_type,
    p_source_dictname10,p_weight10);
    end if;
    RETURN b_valid;
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.put_line('ERRROR - '||sqlerrm);
    RETURN NULL;
    END; -- customIndexAttributes func ends here
    ** if record in entity Detail exists add else update master entity id
    ** benchmark entity_id = p_mast_entity_id
    ** portfolio entity_id = p_feed_entity_id
    FUNCTION entityDetail( p_mast_entity_id rulesdbo.entity_detail.entity_detail_id%TYPE,
    p_feed_entity_id rulesdbo.entity_detail.entity_id%TYPE,
    p_entity_type rulesdbo.entity_detail.entity_type%TYPE,
    p_list_order rulesdbo.entity_detail.list_order%TYPE)
    RETURN BOOLEAN
    AS
    l_count NUMBER:=0;
    a_count NUMBER:=0;
    BEGIN
    /* if blended benchmark don't need record in ENTITY_DETAIL */
    if (p_entity_type = v_bb_entity_type) then
    return TRUE;
    end if;
    select count(*) into l_count
    from rulesdbo.entity_detail
    where entity_id = p_feed_entity_id
    and entity_type = p_entity_type
    and entity_detail_id = p_mast_entity_id;
    if l_count > 0 then
    dbms_output.put_line('UPDATING EXISTING RECORD IN RULESDBO.ENTITY_DETAIL');
    UPDATE rulesdbo.entity_detail
    SET
    update_date = v_date,
    update_user = v_update_source,
    src_intfc_inst = v_src_intfc_inst,
    list_order = p_list_order
    WHERE
    entity_detail_id = p_mast_entity_id
    AND entity_id = p_feed_entity_id
    AND entity_type = p_entity_type;
    RETURN TRUE;
    else
    /* validate associated entity_id */
    dbms_output.put_line('VALIDATING ASSOCIATED ENTITY_ID');
    dbms_output.put_line('p_feed_entity_id ' || p_feed_entity_id);
    select count(*) into a_count
    from rulesdbo.entity
    where entity_id = p_feed_entity_id;
    if a_count > 0 then
    dbms_output.put_line('INSERTING NEW RECORD INTO RULESDBO.ENTITY_DETAIL');
    INSERT INTO rulesdbo.entity_detail
    entity_detail_id, entity_id, entity_type, update_date, update_user, src_intfc_inst, list_order
    VALUES
    p_mast_entity_id, p_feed_entity_id, p_entity_type, v_date, v_update_source, v_src_intfc_inst, p_list_order
    RETURN TRUE;
    else
    IF p_feed_entity_id is not null then
    --For invalid, non-null associated_entity_id
    RETURN FALSE;
    END IF;
    --For invalid, null associate_entity_id
    return TRUE;
    end if;
    return TRUE;
    end if;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- entityDetail func ends here
    ** FOR BUSINESS GROUPS
    FUNCTION setBusinessGroup
    ( p_group_name pace_masterdbo.pace_user_groups.group_name%TYPE,
    p_entity_id rulesdbo.entity.entity_id%TYPE,
    p_upd_user pace_masterdbo.pace_user_groups.upd_user%TYPE,
    p_upd_datetime pace_masterdbo.pace_user_groups.upd_datetime%TYPE
    RETURN BOOLEAN
    AS
    g_count NUMBER:=0;
    v_group_id pace_masterdbo.pace_user_groups.group_id%TYPE;
    BEGIN
    /* validate that business group is found */
    select count(*) into g_count
    from pace_masterdbo.pace_user_groups
    where group_name = p_group_name;
    if g_count <= 0 then
    dbms_output.put_line('BUSINESS GROUP NOT FOUND - ' || p_group_name);
    return FALSE;
    end if;
    /* get group_id for given group name */
    select group_id into v_group_id
    from pace_masterdbo.pace_user_groups
    where group_name = p_group_name;
    /* check if record already exists in group_entities */
    select count(*) into g_count
    from pace_masterdbo.group_entities
    where group_id = v_group_id
    and entity_id = p_entity_id;
    if g_count > 0 then
    /* update record */
    UPDATE pace_masterdbo.group_entities
    SET upd_user = p_upd_user,
    upd_datetime = p_upd_datetime
    WHERE group_id = v_group_id
    AND entity_id = p_entity_id;
    dbms_output.put_line('UPDATED RECORD FOR BUSINESS GROUP - ' || p_group_name);
    else
    /* insert record */
    INSERT INTO pace_masterdbo.group_entities
    ( group_id, entity_id, upd_user, upd_datetime )
    VALUES
    ( v_group_id, p_entity_id, p_upd_user, p_upd_datetime );
    dbms_output.put_line('INSERTED NEW RECORD FOR BUSINESS GROUP - ' || p_group_name);
    end if;
    RETURN TRUE;
    EXCEPTION
    WHEN OTHERS THEN
    RETURN FALSE;
    END; -- setBusinessGroup func ends here
    ** MAIN
    BEGIN
    -- HX 17MAR05
    v_entity_name := substr(p_entity_name,1,30);
    v_entity_name := translate(v_entity_name,'/\:*?"<>~`!^|;,.''',' ');
    b_valid := getSourceId('EAGLE PACE', g_prf_intfc);
    dbms_output.put_line('Global Source Id = '||g_prf_intfc);
    validate_entityid(p_source_acct_id,p_source_system,v_entity_id, b_valid);
    IF NOT b_Valid THEN
    na_outparam(na_outparam.COUNT+1) := EagleGen.GetErrEdit(p_Src => g_prf_intfc,
    p_ShortDesc => 'INV ENTITY');
    p_OUT := EagleGen.simf_table_to_varchar(na_outparam);
    RETURN;
    END IF;
    if v_entity_id is not null then
    dbms_output.put_line('ENTITY ID EXISTS - ' || v_entity_id);
    /*Update Record in Entity Table */
    UPDATE rulesdbo.entity
    SET entity_type = p_entity_type,
    entity_name = v_entity_name,
    entity_long_name = substr(p_entity_long_name,1,60),
    legal_name = p_entity_legal_name,
    inception_date = to_date(p_inception_date, 'YYYYMMDD'),
    marketing_open_date = to_date(p_marketing_open_date, 'YYYYMMDD'),
    fiscal_end_date = to_date(p_fiscal_end_date, 'YYYYMMDD'),
    tax_id_number = p_tax_id_number,
    upd_date = v_date,
    upd_user = v_update_source,
    base_currency = p_base_currency,
    account_status = p_account_status,
    entity_code = p_entity_code,
    orig_source_system = p_orig_source_system,
    account_legal_form = p_account_legal_form,
    business_sector = p_business_sector,
    direct_account_ind = p_direct_account_ind,
    portfolio_type_code = p_portfolio_type_code,
    ml_interpolate_yn = p_ml_interpolate_yn
    WHERE entity_id = v_entity_id;
    dbms_output.put_line('UPDATED EXISTING RULESDBO.ENTITY RECORD');
    b_valid := entityDetail(v_entity_id, p_associated_entity_id, p_entity_type, p_list_order);
    else
    pace_masterdbo.getnextinstance('RULESDBO.ENTITY',1,v_entity_id);
    /*Insert Record into Entity Table */
    INSERT INTO rulesdbo.entity
    entity_id, entity_type, entity_name,entity_long_name,legal_name,inception_date,marketing_open_date,
    upd_date, upd_user, tax_id_number, fiscal_end_date, base_currency, account_status,
    entity_code, orig_source_system, account_legal_form, business_sector, direct_account_ind,
    portfolio_type_code, ml_interpolate_yn
    VALUES
    ( v_entity_id, p_entity_type,v_entity_name,substr(p_entity_long_name,1,60),p_entity_legal_name,
    to_date(p_inception_date, 'YYYYMMDD'),to_date(p_marketing_open_date, 'YYYYMMDD'),v_date, v_update_source, p_tax_id_number, to_date(p_fiscal_end_date, 'YYYYMMDD'),
    p_base_currency, p_account_status, p_entity_code, p_orig_source_system, p_account_legal_form, p_business_sector,
    p_direct_account_ind, p_portfolio_type_code, p_ml_interpolate_yn
    dbms_output.put_line('ENTITY ID CREATED - ' || v_entity_id);
    /*Insert Record into Entity_Detail Table */
    b_valid := entityDetail(v_entity_id, p_associated_entity_id, p_entity_type, p_list_order);
    end if;
    /* Insert/Update CUSTOM_INDEX_ATTRIBUTES if blended benchmark */
    if (p_entity_type = v_bb_entity_type) then
    b_valid := customIndexAttributes(
    v_entity_id,
    p_target_dict_name,
    p_source_level1,
    p_source_entity_xref1,
    p_source_entity_xref1_type,
    p_source_dict_name1,
    p_weight1,
    p_source_level2,
    p_source_entity_xref2,
    p_source_entity_xref2_type,
    p_source_dict_name2,
    p_weight2,
    p_source_level3,
    p_source_entity_xref3,
    p_source_entity_xref3_type,
    p_source_dict_name3,
    p_weight3,
    p_source_level4,
    p_source_entity_xref4,
    p_source_entity_xref4_type,
    p_source_dict_name4,
    p_weight4,
    p_source_level5,
    p_source_entity_xref5,
    p_source_entity_xref5_type,
    p_source_dict_name5,
    p_weight5,
    p_source_level6,
    p_source_entity_xref6,
    p_source_entity_xref6_type,
    p_source_dict_name6,
    p_weight6,
    p_source_level7,
    p_source_entity_xref7,
    p_source_entity_xref7_type,
    p_source_dict_name7,
    p_weight7,
    p_source_level8,
    p_source_entity_xref8,
    p_source_entity_xref8_type,
    p_source_dict_name8,
    p_weight8,
    p_source_level8,
    p_source_entity_xref9,
    p_source_entity_xref9_type,
    p_source_dict_name9,
    p_weight9,
    p_source_level10,
    p_source_entity_xref10,
    p_source_entity_xref10_type,
    p_source_dict_name10,
    p_weight10
    end if;
    /* Insert/Update Business Groups */
    b_valid := setBusinessGroup(v_group_name1, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name2, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name3, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name4, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name5, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name6, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name7, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name8, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name9, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name10, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name11, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name12, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name13, v_entity_id, v_update_source, v_date);
    b_valid := setBusinessGroup(v_group_name14, v_entity_id, v_update_source, v_date);
    /* Insert/Update entity xref */
    b_valid := entity_xref(p_source_acct_id, p_source_system, v_entity_id);
    IF NOT b_Valid THEN
    dbms_output.put_line('INV ENT XREF 1');
    na_outparam(na_outparam.COUNT+1) := EagleGen.GetErrEdit(p_Src => g_prf_intfc,
    p_ShortDesc => 'INV ENT XREF');
    p_OUT := EagleGen.simf_table_to_varchar(na_outparam);
    RETURN;
    END IF;
    COMMIT;
    /* Pass back any warning messages */
    p_out := EagleGen.simf_table_to_varchar(na_outparam);
    END; -- End of Procedure

    The PLS-00306 error is normally a runtime error. It is telling you that the call to procedure ENTPRFMAN had either too few or too many parameters passed to it or that one or more of the parameters were of the wrong datatype.
    HTH -- Mark D Powell --

  • Getting error SQL Error : ORA-14551: cannot perform a DML operation inside a query

    Hi gurus ,
    Your help is greatly appreciated ..
    I am doing some changes in the fucntion for an existing package .Introducing the new below check , am updating one of the tables based on a if condition ..
           IF  numALLOWED_COUNT >= numLAST_COUNT_ADDED+1  THEN
                     blnGDS_Allowed :=True;
                      varSTMT := 'UPDATE PROD.TMS_PROCESS_COUNTER ';
                      varSTMT := varSTMT ||' SET last_count_added = last_count_added+1';
                      varSTMT := varSTMT ||' WHERE process_name = ''DAILY_GDS_COUNT''';
                      varSTMT := varSTMT ||' AND COUNTER_IND = ''750FD130''';
                     PROC_LOG('Update Tms_Process_counter varSTMT --' || varSTMT);
                     IF INSERT_BATCH(99,varSTMT) > 0 THEN
                        NULL;
                     END IF;
    Function for insert_batch :
    UNCTION INSERT_BATCH(numTABLE_ID IN NUMBER, varSQL_STATEMENT IN VARCHAR2) RETURN NUMBER IS
    varINSERT_BATCH_STMT  VARCHAR2(32767)     := NULL;
    varADD_REC_TYPE       BATCH_TABLES.ADD_REC_TYPE%TYPE;
    BEGIN
        PROC_LOG( 'INSIDE INSERT_BATCH IRC : ' || varSQL_STATEMENT );  --IRC 9/20 UC
        INSERT INTO BATCH_STATEMENT(QUEUE_ID,TABLE_ID,STATEMENT,QUEUE_SEQUENCE_ID)
        VALUES (numQUEUE_ID,numTABLE_ID,varSQL_STATEMENT,1);
    RETURN 1;
    EXCEPTION WHEN OTHERS THEN
        PROC_LOG('Failed in INSERT_BATCH');
        PROC_LOG('SQL Error : ' || SUBSTR(SQLERRM,1,1000));
        RETURN -1;
    END INSERT_BATCH;
    desc PROD.BATCH_STATEMENT
      QUEUE_ID           NUMBER(15)                 NOT NULL
      TABLE_ID           NUMBER(2)                  NOT NULL
      STATEMENT          VARCHAR2(4000 BYTE)        NOT NULL
      QUEUE_SEQUENCE_ID  NUMBER(5)                  NOT NULL
    Some how when its calling the insert_batch , its giving me the error in the logs as below:
    04:01:41 - Update Tms_Process_counter varSTMT --UPDATE PROD.TMS_PROCESS_COUNTER  SET last_count_added = last_count_added+1 WHERE process_name = 'DAILY_GDS_COUNT' AND COUNTER_IND = '750FD130'
    04:01:41 - INSIDE INSERT_BATCH IRC : UPDATE PROD.TMS_PROCESS_COUNTER  SET last_count_added = last_count_added+1 WHERE process_name = 'DAILY_GDS_COUNT' AND COUNTER_IND = '750FD130'
    04:01:41 - Failed in INSERT_BATCH
    04:01:41 - SQL Error : ORA-14551: cannot perform a DML operation inside a query

    Some how when its calling the insert_batch , its giving me the error in the logs as below:
    04:01:41 - SQL Error : ORA-14551: cannot perform a DML operation inside a query
    Yes - and the exception is telling you EXACTLY what the problem is. You have a query
    IF INSERT_BATCH(99,varSTMT) > 0 THEN
    And you are performing a DML operation inside that query:
    INSERT INTO BATCH_STATEMENT(QUEUE_ID,TABLE_ID,STATEMENT,QUEUE_SEQUENCE_ID)
        VALUES (numQUEUE_ID,numTABLE_ID,varSQL_STATEMENT,1);
    Like the exception says: you can't do that.
    You need to call the function using PL/SQL and capture the return value into a variable. Then test that variable:
    myVar := INSERT_BATCH(99,varSTMT);
    if myVar > 0 THEN

  • SAP installation stopped at ABAP load error: sql error '12537'

    Hi ,
    I am installing SAP ECC 6.0 with EHP4 and ABAP  with Oracle 11G on AIX 6.1 load ended up with the error as below, please help
    Import Monitor jobs: running 3, waiting 13, completed 9, failed 3, total 28.
    Loading of 'TODIR' import package: OK
    Import Monitor jobs: running 2, waiting 13, completed 10, failed 3, total 28.
    Import Monitor jobs: running 3, waiting 12, completed 10, failed 3, total 28.
    Loading of 'SAPPOOL' import package: ERROR
    Import Monitor jobs: running 2, waiting 12, completed 10, failed 4, total 28.
    Loading of 'E071K' import package: OK
    Import Monitor jobs: running 1, waiting 12, completed 11, failed 4, total 28.
    Import Monitor jobs: running 2, waiting 11, completed 11, failed 4, total 28.
    Import Monitor jobs: running 3, waiting 10, completed 11, failed 4, total 28.
    Loading of 'SAPSDOCU' import package: ERROR
    Import Monitor jobs: running 2, waiting 10, completed 11, failed 5, total 28.
    Loading of 'SAPSPROT' import package: OK
    Import Monitor jobs: running 1, waiting 10, completed 12, failed 5, total 28.
    Import Monitor jobs: running 2, waiting 9, completed 12, failed 5, total 28.
    Import Monitor jobs: running 3, waiting 8, completed 12, failed 5, total 28.
    Loading of 'SAPSLOAD' import package: ERROR
    Import Monitor jobs: running 2, waiting 8, completed 12, failed 6, total 28.
    Loading of 'SAPCLUST' import package: OK
    Import Monitor jobs: running 1, waiting 8, completed 13, failed 6, total 28.
    Import Monitor jobs: running 2, waiting 7, completed 13, failed 6, total 28.
    Import Monitor jobs: running 3, waiting 6, completed 13, failed 6, total 28.
    Loading of 'SAPUSER' import package: ERROR
    Import Monitor jobs: running 2, waiting 6, completed 13, failed 7, total 28.
    tail -20 SAPSSRC.log
    DbSl Trace: CONNECT failed with sql error '12537'
    DbSl Trace: OCI-call 'OCIServerAttach' failed with rc=12537
    DbSl Trace: CONNECT failed with sql error '12537'
    (DB) ERROR: db_connect rc = 256
    DbSl Trace: OCI-call 'OCIServerAttach' failed with rc=12537
    DbSl Trace: CONNECT failed with sql error '12537'
    DbSl Trace: OCI-call 'OCIServerAttach' failed with rc=12537
    DbSl Trace: CONNECT failed with sql error '12537'
    (DB) ERROR: DbSlErrorMsg rc = 99
    /usr/sap/HRQ/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/HRQ/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20111105170542
    tail -20 FUPARAREF.log
    DbSl Trace: CONNECT failed with sql error '12537'
    DbSl Trace: OCI-call 'OCIServerAttach' failed with rc=12537
    DbSl Trace: CONNECT failed with sql error '12537'
    (DB) ERROR: db_connect rc = 256
    DbSl Trace: OCI-call 'OCIServerAttach' failed with rc=12537
    DbSl Trace: CONNECT failed with sql error '12537'
    DbSl Trace: OCI-call 'OCIServerAttach' failed with rc=12537
    DbSl Trace: CONNECT failed with sql error '12537'
    (DB) ERROR: DbSlErrorMsg rc = 99
    /usr/sap/HRQ/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/HRQ/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20111105170611

    Reasons can be many, you please check whether oracle and listener are up or not. Check 'R3trans -d' and trans.log
    Similar problem thread -
    error when applying PI_BASIS patch SAPKIPYM03 on ECC 6
    Thanks

  • Error in Query Execution : SQL Error: 1110

    Dear Experts,
         We did the system copy from production to Sandbox system. Executing one query got terminated with the following error.
         Error SQL Error: 1110
         Abort System error in program SAPLRRK0 and form RSRDR;SRRK0F30-01-
         I copy this query to the new one and remove all the filter. It works!!!
         Any suggestion on this issue?
    Regards

    Hi,
    check these threads
    BEx query error
    BEx Query Error
    Regards
    harikrishna N

  • Error ODS activation - sql error when accessing a table.

    Hi,
    sometimes occurs an error by activation ODS. I have proces chain and when is loaded second packet an error occurs. In monitor>>
    -RSMPC 128, datapacket 3 is wrong, with status number 9
    -RSMPC 131
    -RSDRO 108 - communcation error (sql error when accessing a table)
    In sm21>
    -sql error when accessing a table
    -The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was  
    either                                                      caught nor passed along using a RAISING clause, in the procedure <b>"UPDATE_ATAB"</b>   "(FORM)"                                                                    
    Since the caller of the procedure could not have expected this exception     
       to occur, the running program was terminated.                               
      The reason for the exception is:                                             
      The database system recognized that your last operation on the database      
      would have led to a deadlock.                                                
      Therefore, your transaction was rolled back                                  
      to avoid this.                                                                       
      ORACLE always terminates any transaction that would result in deadlock.      
      The other transactions involved in this potential deadlock                   
      are not affected by the termination.
    I have BW 3.5.
    Thank You very much.

    There are a few different scenarios that I can think of where this might come up that all involve what might resulting in parallel (concurrent)processes:
    Loading packets in parallel - that is there are X number of processes loading packets concurrently. This could be set in your IMG settings system wide or in the InfoPackage for just this datasource.   You seem to indicate that you don't have this.
    Database parallel processing - RSAMDIN - ORA_PARALLEL_DEGREE ( there was a different RSADMIN parm for older versions - forget what SP the change came with).
    You have multiple InfoPackages for the datasource, each loading what should be a different range of data, and they run atthe same time.
    You could be loading from two different datasources to the ODS at the same time.
    If any of these are true, I would look at bumping the INITRANS setting up.  Your DBA will probably need to do this for table and its indices.  There is a Note - 831234 that allows you to create a parameter in RSADMIN that will specify a INITRANS value (e.g. 20) rather than using the default. The ODS would need to be activated to pick this new setting up for the table to be altered. 
    You could also look at the Processing settings for the InfoPackage and change to PSA first, then target to see if that helps. 
    Or if you are loading from two different datasources at the same time, you might adjust your schedule so that doesn't happen.
    Pizzaman

  • SQL error 942 when logging into shadow system ECC 6.0 upgrade

    Hello,
    I am upgrading an ECC 5.0 system to ECC 6.0, and am trying to log into the shadow system to correct a few activation errors. With just about every transaction I attempt, I get the following error:
    SQL error 942 occurred while accessing program SAPM
    Here is an excerpt from the relevant trace file under /usr/sap/put/<SID>/<Instance>/work:
    A  GENER request remote generation: SAPMS380.
    A  GENER starting inline generation: SAPMS380 (reason: no process available fo
    r remote generation).
    A  GENER got lock for program SAPMS380.
    C  *** ERROR => OCI-call 'OCILobWrite' failed with rc=942
    [dboci.c      2561]
    C  *** ERROR => ORA-942 occurred when writing to a LOB
    [dbsloci.c    10366]
    C  sc_p=112780f80,no=112,idc_p=1127973a0,con=0,act=1,slen=123,smax=1024,#vars=5,
    stmt=11315e9c0,table=REPOLOAD
    C  prep=0,lit=0,nsql=0,lobret=1,#exec=1,dbcnt=1,upsh_p=0,ocistmth_p=11315f5b8
    C  IN : cols=4,rmax=1,xcnt=1,rpc=0,rowi=0,rtot=1,upto=4294967295,rsize=45,vmax=3
    2,bound=1,iobuf_p=112b1c8a0,vda_p=113161020
    C       lobs=1,lmax=4,lpcnt=0,larr=112b1b4c0,lcurr_p=0,rret=0
    C  OUT: cols=1,rmax=1,xcnt=0,rpc=0,rowi=0,rtot=1,upto=0,rsize=4,vmax=64,bound=0,
    iobuf_p=0,vda_p=1131617a0
    C       lobs=1,lmax=4,lpcnt=1,larr=112b1b5c0,lcurr_p=112b1b5c0,rret=1
    C  UPDATE "REPOLOAD" SET "QDATA" = :A0 WHERE "PROGNAME" = :A1 AND "R3STATE" = :A
    2 AND "MACH" = :A3  RET\
    C  URNING "QDATA" INTO :A4;
    B  ***LOG BY4=> sql error 942    performing PUT on table REPOLOAD   [dbrepolo#?
    @ 964] [dbrepolo0964 ]
    B  ***LOG BY0=> ORA-00942: table or view does not exist [dbrepolo#? @ 964] [dbre
    polo0964 ]
    Table REPOLOAD does exist. I am investigating whether it has something to do with the SAPUSER table, but I would appreciate any other ideas anyone may have. I did not encounter this error until the phase ACT_700.
    Regards,
    L. Lessmiller

    Hello Sunny,
    Thanks for your reply. I have looked at Notes 662644 and 400241 thoroughly and cannot find anything wrong with privileges for SAPR3 or SAPR3SHD, nor can I find anything wrong with the OPS$ mechanism.
    Regards,
    L. Lessmiller

  • Displaying full sql error text?

    I'm using getErrorCode() and getMessage() to display the following for an sql error
    SQL error: SQLCODE: -551, SQLSTATE: 42501, SQLERRMC: auth-id ;operation;object-name
    The SQLERRMC only has the auth-id, operation and object-name. How do I build this error message without doing it manually (detect 551 and build the error string)?
    auth-id DOES NOT HAVE THE PRIVILEGE TO PERFORM OPERATION operation ON OBJECT object-name

    Write an abstract DataAccessException class for your data that wraps a java.sql.SQLException and subclass it for this particular database.Then have the concrete class do the work of checking the SQL error code and state and put out a nicer error message.
    That's what Rod Johnson recommends in his "Expert 1-On-1 J2EE".

  • Not catching Sql error in ODI

    Hi guys,
    I have added one not null column to existing table,I have one insert record query to this table.after addind not null column to this table ,it doesnt insert record into this table and also it is not giving any error in operator.
    insert into     abc.C_LOAD_DATES
    PACKAGE_NAME,
    TARGET_TABLE_NAME,
    ETL_PROC_WID,
    LAST_MAX_DATE,
    INSERT_DT
    select     'LOAD_CONSENT_DIMENSION' AS PACKAGE_NAME,
         'W_EHA_CONSENT_D' AS TARGET_TABLE_NAME,
         25996 AS ETL_PROC_WID,
         :LAST_MAX_DATE,
         SYSDATE AS INSERT_DT
    from     DUAL
    In the above query we have missed one not null column but it should give error.
    when i am running trhough sql developer it is giving error
    SQL Error: ORA-01400: cannot insert NULL into ("abc"."C_LOAD_DATES"."ENTERPRISE_ID")

    This tables is not my actual target.
    In middle table ,i want to insert into record after succeesfull execution of interface.It is just like status table.
    Regards,
    Srini

  • SQL error during PGI

    Hi, this is Dipti, during PGI in T-code VL02N system throws an error,
    SQL error 3127 occured when accessing programe sap.
    waiting for quick reply
    Thanks & regards,
    Dipti

    This issue was often solved by extending the parameter abap/buffersize. Please consider
    also note 534729.
    Please increase the size of parameter abap/buffersize and update us
    if it helps to resolve the problem.
    Refer another note also 797792

  • Error at "spacechk_ini" phase with SQL ERROR 942: ORA-00942

    Dear support,
    I am posting this problem again in upgrade forum as i am still dont have proper answer.
    We are performing upgrade from 4.0B (4.0B Ext kernel level 996 , windows 2000 Oracle 9.2.0.5  ) to 4.7 Ext 2.00 SR1. I have upgraded my database from 8.1.7.4 to 9.2.0.5 as prerequisite for upgrade.
    While performing Initialization module we got below error
    " No DB freespace check possible code -4 "
    When i analyzed slog found below error
    Phase SPACECHK_INI:
    ERROR: Statement: SELECT "TABLESPACE_NAME", "BYTES"/1048576 FROM SYS."DBA_TEMP_FILES" WHERE "BYTES" >= 1048576
    ERROR: SQL ERROR 942: ORA-00942: table or view does not exist
    ERROR: Statement: SELECT "TABLESPACE_NAME", "BYTES"/1048576 FROM SYS."DBA_TEMP_FILES" WHERE "BYTES" >= 1048576
    ERROR: ERROR 256: invalid cursors id
    ERROR: SQL ERROR 942: ORA-00942: table or view does not exist
    have observed one more thing at my database ( which is now upgraded to 9.2.0.5 as prerequisite for upgrade to 4.7)
    select * from dba_temp_files;
    no rows selected.
    But when i run same querry to my another server which is 4.7 oracle 9.2.0.5 i get output as list of datafiles with PSAPTEMP tablespace.
    I think problem might be this fixed tables/view dba_temp_files is showing no rows as PSAPTEMP tablespace.Also we cannot add any value to this table as it is fixed tabel/view.
    How we can troubleshoot this?
    I would also like to inform in my 40 B database PSAPTEMP tablespace is dictionary managed after upgrade to 9.2.0.5 but
    In another server which is 4.7 9.2.0.5 , PSAPTEMP tablespace is locally managed
    May be this is the problem why my dba_temp_files showing nothing.
    Do i need to perform DMTS to LMTS for psaptemp tablespace.so that my dba_temp_files view will show me psaptemp tablespace under it?
    Can anybody suggess something on the same at earliest ?
    Best Regards,
    AjitR

    Markus ,
    Thanks for reply but i have performed database refresh of my DEV server long time back. Now as part of upgrade i have also performed Oracle upgrade from 8.1.7.4 to 9.2.0.6 . Now how can i bring data in dba_temp_files.
    Shouls i go for drop and recreate PSAPTEMP tablespace option.
    Please guide me in detail as i cannot restore backup from any other server to DEV because database already upgraded.
    Best Regards,
    AjitR

  • Disp+work.exe problem sql error 942

    Hi experts,
    I am Not able to login SAP first time after instalation and getting error:
    'SQL ERROR 942 occurred when accessing program SAPM'
    Problem Detail:
    When i am starting SAPMMC following error occured and i got popup.
    'disp+work.exe is facing a problem and need to close'.
    Although SAPMMC converted into green status sucessfully.
    Process list in SAPMMC is green and there are two processes running
    MSG_SERVER.EXE
    disp+work.exe (Status: Running message server connection Ok, Dilog Queue time 0.00 sec)
    When I am trying to login through through SAPLOGON i am getting the following error
    'SQL ERROR 942 occurred when accessing program SAPM'
    This is SAP 4.7 Version with Oracle 8i and windows SP2 as OS.

    > This is Windows XP Service Pack 2 .
    > I have done 2 times reinstalation but problem not solved and it is the same . Please help how i may solve it ?
    The problem can't be solved because:
    - Windows XP is not released as an OS for SAP R/3 4.7
    - Oracle 8i will not run on Windows XP (same as with Windos 2003)
    - your software is both already out of maintenance
    Markus

Maybe you are looking for

  • Database Link with 11g R2 and Teradata

    Trying to create a database link from Oracle to a Teradata database using Oracle Database Gateway, and I'm receiving ORA-12154: TNS:could not resolve the connect identifier specified... I'm pretty new at this and my head is spinning a bit.  After fol

  • Create Sequential Numbering in Message Mapping

    We are using XI 3.0 with R/3 Enterprise. I am working on a scenario: Webapp to xi to R/3 to xi to webapp to xi to R/3. Basically, users log onto web site, request invoice details from R/3, dispaly invoice in webapp, pay amount and post receipt into R

  • Folio frozen online?

    Hey, I have 10 folios online currently. But on iPAD it shows another 11th folio, which I created before, and then I deleted it. Although I can not download it (there is no preview picture for it either). When I login into DPS oganizer, I see only my

  • Iphoto cannot be installed

    i just bought the iLife '08. i could install everything but iphoto. can you please help me?

  • Soundblaster Live! 24 quest

    I have just buy this sound card and i have instaled my new speaker system on it taking three pins of the four that the card has (black/green/orange) and I want to install a microphono for talk with friends and the pin of the microphono is pink and th