"Partner function may not be changed"

While trying to change the "responsible employee" of an already released contract, system gives an error "Partner function may not be changed". Can anyone help me with this issue....

Hi
This message " Partner functions may not be changed " you are getting because
you are not allowed to do change your PO .
So try to have full authorization for doing this operations.You can maintain this in Personalization Tab in Trasaction PFCG for the specific Role.
Ask BASIS person to help you out.
<b>Related link -></b>
"Partner functions may not be changed"
Regards
- Atul

Similar Messages

  • Error while creating Notification: Partner Function is Not Allowed in Partner Determination Profile Q2

    During Notification Creation I get the error --Partner Function is Not Allowed in Partner Determination Profile Q2
    As I enter Purchase Document Number in the transaction QM01 and press Enter. I get the above error and donot go further.
    Can anyone help me here.

    Hello Prashant,
    You are missing some configuration for the partner function;
    Go- to
    SPRO>IMG>QM>Quality Notifications>Notification Creation>Partners>Define partner Determination Procedure>
    Again Select "Define Partner Determination Procedure".
    Select Quality management> Change Partner
    Now Select Q2.
    Compare settings with Partner Determination Procedure on any other client. Also check Partner functions on the same screen.
    Amol.

  • ORA-04091: table blah is mutating, trigger/function may not see it

    ORA-04091: table blah is mutating, trigger/function may not see it
    ORA-06512: at "AOLALERE.CHK_FOR_POST", line 7
    ORA-06512: at "AOLALERE.CHK_FOR_POST", line 20
    ORA-06512: at "AOLALERE.PREPRODDTA_F41021_AFTER_UPDATE", line 14
    ORA-04088: error during execution of trigger 'AOLALERE.PREPRODDTA_F41021_AFTER_UPDATE'
    TRIGGER preproddta_f41021_after_update
    after insert or update
    on preproddta.f41021
    for each row
    declare
    --nothing to declare
         --pragma autonomous_transaction;
         l_lipqoh preproddta.f41021.lipqoh%type;
         l_lipcom preproddta.f41021.lipcom%type;
         l_lihcom preproddta.f41021.lihcom%type;
         l_lilots preproddta.f41021.lilots%type;
         l_lilocn preproddta.f41021.lilots%type;
         l_lilotn preproddta.f41021.lilots%type;
    l_quantity_avail f41021_audit.quantity_avail%type;
         l_rec_chk f41021_audit.liitm%type;
    begin
    --chk_for_post(:new.limcu,:new.liitm);
    --if :old.limcu <> '      GBD001' then return; end if;
    if :old.lipqoh = :new.lipqoh then
    l_lipqoh := :old.lipqoh;
    else
    l_lipqoh := :new.lipqoh;
    end if;
    if :old.lipcom = :new.lipcom then
    l_lipcom := :old.lipcom;
    else
    l_lipcom := :new.lipcom;
    end if;
    if :old.lihcom = :new.lihcom then
    l_lihcom := :old.lihcom;
    else
    l_lihcom := :new.lihcom;
    end if;
    if :old.lilots = :new.lilots then
    l_lilots := :old.lilots;
    else
    l_lilots := :new.lilots;
    end if;
    if l_lilots <> ' ' then
    l_quantity_avail := - (l_lipcom - l_lihcom);
    else
    l_quantity_avail := l_lipqoh - (l_lipcom + l_lihcom);
    end if;
    l_rec_chk := rec_chk(:old.limcu,:old.liitm,l_lilots);
    if l_rec_chk is not null then
         begin
    update f41021_audit
         set lipqoh = l_lipqoh,
         lipcom = l_lipcom,
    lihcom = l_lihcom,
              quantity_avail = l_quantity_avail
         where limcu = :old.limcu
         and liitm = :old.liitm
         and lilotn = :old.lilotn
         and lilocn = :old.lilocn
         and lilots = l_lilots;
         end;
    else
    -- insert record into audit table
    begin
    insert into f41021_audit
    (limcu,
                        liitm,
                                  lipqoh,
                                  lipcom,
                                  lihcom,
                                  lilots,
                                       lilotn,
                                       lilocn,
                                       quantity_avail)
    values
    (:old.limcu,
    :old.liitm,
    l_lipqoh,
                                  l_lipcom,
                                  l_lihcom,
                                  l_lilots,
                                       :old.lilotn,
                                       :old.lilocn,
                                       l_quantity_avail);
         end;
    end if;
    end;
    create or replace procedure chk_for_post(p_limcu in varchar2,
    p_liitm in number)
    is
    cursor get_bra_qa(p_limcu in varchar2,
    p_liitm in number)is
    select liitm,
         (sum(lipqoh) - sum(lipcom + lihcom)) qual_avail
    from preproddta.f41021 a, preproddta.f4101 b
    where limcu = p_limcu
    and liitm = imitm
    and liitm = p_liitm
    group by liitm,imdsc1;
    l_bra_qa get_bra_qa%rowtype;
    l_itm_bran_qa t_f41021_itm_bran_qa := t_f41021_itm_bran_qa.initialize(p_liitm);
    begin
    open get_bra_qa(p_limcu,p_liitm);
    fetch get_bra_qa into l_bra_qa;
    close get_bra_qa;
    if l_itm_bran_qa.quantity_avail is null then ---This indicate that there is no record for
    ---quantity available for the item based on the branch .
    l_itm_bran_qa := new t_f41021_itm_bran_qa(p_liitm);
         begin
         l_itm_bran_qa.liitm := p_liitm;
         l_itm_bran_qa.limcu := p_limcu;
         l_itm_bran_qa.quantity_avail := l_bra_qa.qual_avail;
         l_itm_bran_qa.add_it;
         commit;
         end;     
    else
    l_itm_bran_qa := t_f41021_itm_bran_qa.initialize(p_liitm);
         if l_itm_bran_qa.quantity_avail = l_bra_qa.qual_avail then
         null; return;
         else
         begin
         l_itm_bran_qa.liitm := p_liitm;
         l_itm_bran_qa.limcu := p_limcu;
         l_itm_bran_qa.quantity_avail := l_bra_qa.qual_avail;
         l_itm_bran_qa.send_to_DB;
         commit;
         end;
         end if;     
    end if;
    end;

    Thanks,
    I comment it out cos it was causing the problem this is the code:
    The following error has occurred:
    ORA-04091: table PREPRODDTA.F41021 is mutating, trigger/function may not see it
    ORA-06512: at "AOLALERE.CHK_FOR_POST", line 7
    ORA-06512: at "AOLALERE.CHK_FOR_POST", line 20
    ORA-06512: at "AOLALERE.PREPRODDTA_F41021_AFTER_UPDATE", line 98
    ORA-04088: error during execution of trigger 'AOLALERE.PREPRODDTA_F41021_AFTER_UPDATE'
    TRIGGER preproddta_f41021_after_update
    after insert or update
    on preproddta.f41021
    for each row
    declare
    --nothing to declare
         --pragma autonomous_transaction;
         l_lipqoh preproddta.f41021.lipqoh%type;
         l_lipcom preproddta.f41021.lipcom%type;
         l_lihcom preproddta.f41021.lihcom%type;
         l_lilots preproddta.f41021.lilots%type;
         l_lilocn preproddta.f41021.lilots%type;
         l_lilotn preproddta.f41021.lilots%type;
    l_quantity_avail f41021_audit.quantity_avail%type;
         l_rec_chk f41021_audit.liitm%type;
    begin
    --if :old.limcu <> '      GBD001' then return; end if;
    if :old.lipqoh = :new.lipqoh then
    l_lipqoh := :old.lipqoh;
    else
    l_lipqoh := :new.lipqoh;
    end if;
    if :old.lipcom = :new.lipcom then
    l_lipcom := :old.lipcom;
    else
    l_lipcom := :new.lipcom;
    end if;
    if :old.lihcom = :new.lihcom then
    l_lihcom := :old.lihcom;
    else
    l_lihcom := :new.lihcom;
    end if;
    if :old.lilots = :new.lilots then
    l_lilots := :old.lilots;
    else
    l_lilots := :new.lilots;
    end if;
    if l_lilots <> ' ' then
    l_quantity_avail := - (l_lipcom - l_lihcom);
    else
    l_quantity_avail := l_lipqoh - (l_lipcom + l_lihcom);
    end if;
    l_rec_chk := rec_chk(:old.limcu,:old.liitm,l_lilots);
    if l_rec_chk is not null then
         begin
    update f41021_audit
         set lipqoh = l_lipqoh,
         lipcom = l_lipcom,
    lihcom = l_lihcom,
              quantity_avail = l_quantity_avail
         where limcu = :old.limcu
         and liitm = :old.liitm
         and lilotn = :old.lilotn
         and lilocn = :old.lilocn
         and lilots = l_lilots;
         end;
    else
    -- insert record into audit table
    begin
    insert into f41021_audit
    (limcu,
                        liitm,
                                  lipqoh,
                                  lipcom,
                                  lihcom,
                                  lilots,
                                       lilotn,
                                       lilocn,
                                       quantity_avail)
    values
    (:old.limcu,
    :old.liitm,
    l_lipqoh,
                                  l_lipcom,
                                  l_lihcom,
                                  l_lilots,
                                       :old.lilotn,
                                       :old.lilocn,
                                       l_quantity_avail);
         end;
    end if;
    chk_for_post(:new.limcu,:new.liitm);
    return;
    end;
    create or replace procedure chk_for_post(p_limcu in varchar2,
    p_liitm in number)
    is
    cursor get_bra_qa(p_limcu in varchar2,
    p_liitm in number)is
    select liitm,
    (sum(lipqoh) - sum(lipcom + lihcom)) qual_avail
    from preproddta.f41021 a, preproddta.f4101 b
    where limcu = p_limcu
    and liitm = imitm
    and liitm = p_liitm
    group by liitm,imdsc1;
    l_bra_qa get_bra_qa%rowtype;
    l_itm_bran_qa t_f41021_itm_bran_qa := t_f41021_itm_bran_qa.initialize(p_liitm);
    begin
    open get_bra_qa(p_limcu,p_liitm);
    fetch get_bra_qa into l_bra_qa;
    close get_bra_qa;
    if l_itm_bran_qa.quantity_avail is null then ---This indicate that there is no record for
    ---quantity available for the item based on the branch .
    l_itm_bran_qa := new t_f41021_itm_bran_qa(p_liitm);
    begin
    l_itm_bran_qa.liitm := p_liitm;
    l_itm_bran_qa.limcu := p_limcu;
    l_itm_bran_qa.quantity_avail := l_bra_qa.qual_avail;
    l_itm_bran_qa.add_it;
    commit;
    end;
    else
    l_itm_bran_qa := t_f41021_itm_bran_qa.initialize(p_liitm);
    if l_itm_bran_qa.quantity_avail = l_bra_qa.qual_avail then
    null; return;
    else
    begin
    l_itm_bran_qa.liitm := p_liitm;
    l_itm_bran_qa.limcu := p_limcu;
    l_itm_bran_qa.quantity_avail := l_bra_qa.qual_avail;
    l_itm_bran_qa.send_to_DB;
    commit;
    end;
    end if;
    end if;
    end;
    Please sugesst any work around. I need to call calculate changes based on the insert or updates

  • Partner Function YS not defined

    Dear Friends,
    We have applied support pack SAPKH47022 as per SAP recommendation.
    Now when we are creating sale order its giving a Warning Message as "Partner Function YS not defined" we can neglect the message and can go forward, but we have some customisations and some BDC's which are developed based on the prior developments.How to rectify this error?
    Please suggest.
    Mahendar.

    Hi..
    please have a look at the follwing menue path:
    customizing SPRO
    Sales and Distribution
    Basic Functions
    Partner Determination
    Set up Partner Determination
    Set Up Partner Determination for Sales Document Header
    For the Sales document type, you should maintain a partner determination procedure.
    Then you should maintain the Partner determination procedure assignment.
    Here you have the possibility to decide if a partner mandatory or if it possible to change the partner.
    Visit-please have a look at the follwing menue path:
    customizing SPRO
    Sales and Distribution
    Basic Functions
    Partner Determination
    Set up Partner Determination
    Set Up Partner Determination for Sales Document Header
    For the Sales document type, you should maintain a partner determination procedure.
    Then you should maintain the Partner determination procedure assignment.
    Here you have the possibility to decide if a partner mandatory or if it possible to change the partner.
    Visit-please have a look at the follwing menue path:
    customizing SPRO
    Sales and Distribution
    Basic Functions
    Partner Determination
    Set up Partner Determination
    Set Up Partner Determination for Sales Document Header
    For the Sales document type, you should maintain a partner determination procedure.
    Then you should maintain the Partner determination procedure assignment.
    Here you have the possibility to decide if a partner mandatory or if it possible to change the partner.
    Regds
    MM

  • Table is mutating, trigger/function may not see it

    Hi,
    I have been trying to get a trigger to execute a stored procedure when an update is made to a row in a table.
    The procedure works when ran manually and the trigger compiles but when the trigger is fired I get a "table is mutating, trigger/function may not see it" error.
    Here's a bit more background:
    I have a product table where the cost of a product is calculate based on costs in other tables (e.g. cost of raw materials is in the suppliesrawmat table).
    I have written a procedure (called proc_costcalc) which takes in a productID and updates that product's cost in the product table.
    I want a trigger to do this for every affected product when a rawmaterial cost is changed.
    The code of my trigger is:
    CREATE OR REPLACE trigger trig_rawcostupdate
    AFTER INSERT OR UPDATE ON suppliesrawmat FOR EACH ROW
    DECLARE
         cursor c1 is
         SELECT p.prodid
         FROM process p,
              (SELECT s.processid
              FROM stage s,
                   (SELECT stageno
                   FROM stagerawmat
                   WHERE prodid = :new.prodid) subquery0
              WHERE s.stageno = subquery0.stageno) subquery1
         WHERE p.processid = subquery1.processid;
    BEGIN
         FOR tuple in c1
         LOOP
              proc_costcalc(tuple.prodid);
         END LOOP;
    END;
    The query for the cursor generates a list of productIDs which I need to run through the proc_costcalc procedure.
    Can anyone show me where I am going wrong? How can I fix this?
    Thanks
    Keith

    I'm afraid I'm still not getting this.
    Suppose I have 4 tables (product, madefrom, rawmat and suppliesrawmat).
    Product (productid, cost)
    Madefrom (productid, rawmatid)
    Rawmat (rawmatid)
    Suppliesrawmat (supplierid, rawmatid, cost)
    The cost of a product should be the sum cost of all rawmaterials it is made from where the cheapest supply cost of that material is used.
    What I want to do is update the cost of a product when the cost of a raw material used in its production changes.
    My earlier attempt was to have a procedure which when given a productid updates the price of that product. However, when trying to call this procedure from an update on the suppliesrawmat table I recieved the table is mutating error. I now understand why (thanks to everyone for that) but I still don't really know how to rectify the problem.
    How should I be doing this?
    Thanks again
    Keith

  • Function may not be use in SQL - PLS-00231

    Here is my code,
    -- Database 10g Enterprise Edition Release 10.2.0.2.0
    declare
    v1 varchar2(2000);
    function test_func ( v2 varchar2) return varchar2
    is
    begin
    return v2 || 'x' || v2;
    end;
    begin
    -- ok
    v1 := test_func('Hello');
    --- Error PLS-00231: Function may not be used
    --insert into xxxx values test_func(….
    select test_func('World') into v1 from dual;
    end;
    I don’t want to define test_func in database as a stand-alone/package function. Is there any other way in 10G.
    Thanks.

    Works for me...
    SQL> select banner from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE 10.2.0.3.0 Production
    TNS for Solaris: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    SQL> set serverout on
    SQL> declare
    2 v1 varchar2(2000);
    3 function test_func ( v2 varchar2) return varchar2
    4 is
    5 begin
    6 return v2 || 'x' || v2;
    7 end;
    8 begin
    9 -- ok
    10 v1 := test_func('Hello');
    11 dbms_output.put_line (v1);
    12 end;
    13 /
    HelloxHello
    PL/SQL procedure successfully completed.

  • ORA-04091: is mutating, trigger/function may not see

    I am getting this error
    ORA-04091: table SATURN.SARQUAN is mutating, trigger/function may not see it
    ORA-06512: at "BANINST1.F_GETSARQUANSEQNO", line 24
    ORA-06512: at "BANINST1.F_GETSARQUANSEQNO", line 30
    I am trying to do this insert
    INSERT INTO sarquan
                            (sarquan_pidm,sarquan_term_code_entry,sarquan_seqno,
                             sarquan_appl_no, sarquan_question,
                             sarquan_answer, sarquan_activity_date,
                             sarquan_user_id
                    SELECT spriden_pidm,'201090',BANINST1.F_GETSARQUANSEQNO(spriden_pidm,'201090','1'),'1',
                     'Would you prefer September admission?',
                    DECODE (szcasup_sept_adm, 'Y', 'Yes', 'N', 'No'),sysdate,'rmanoei'
               FROM saturn_midd.szcasup, saturn.spriden
              WHERE spriden_id = szcasup_common_appl_id
                AND spriden_ntyp_code = 'CAPP'
                AND (   szcasup_sept_adm IS NOT NULL
                     OR szcasup_feb_adm IS NOT NULL
                     OR szcasup_interview IS NOT NULL
                AND NOT EXISTS (
                       SELECT *
                         FROM  sarquan
                        WHERE sarquan_pidm = spriden_pidm
                          AND spriden_ntyp_code = 'CAPP'
                          AND sarquan_term_code_entry = '201090');
                          I got data when I ran just the select statement, none of the records have data in the sarquan table.
    I got data when I select from this function
    ,BANINST1.F_GETSARQUANSEQNO(spriden_pidm,'201090','1'),'1'
    Any ideas?
    Edited by: peace4all on Aug 12, 2009 4:49 PM

    I can not drop the trigger, I don't own the trigger, it is in production, SARQUAN is a production table
    Now I am getting this error ORA-04091: table SATURN.SARQUAN is mutating, trigger/function may not see it
    ORA-06512: at "BANINST1.F_GETSARQUANSEQNO", line 24
    ORA-06512: at "BANINST1.F_GETSARQUANSEQNO", line 30
    ORA-06512: at "SATURN.ST_SARQUAN_INSERT_ROW", line 2
    ORA-04088: error during execution of trigger 'SATURN.ST_SARQUAN_INSERT_ROW'
    when I do the following
    I know that this pidm does not have any records in the table SARQUAN
    spriden_pidm = 2287953
    So I try to do a simple insert, not using the function, now I am hardcoding the seq, I know it needs to be 1 since there are not records in that table yet,
    the sequence go by pidm
    INSERT INTO saturn.sarquan
                     sarquan_pidm,
                     sarquan_seqno,
                     sarquan_term_code_entry,
                     sarquan_appl_no,
                      sarquan_question,
                     sarquan_answer,
                     sarquan_activity_date,
                     sarquan_user_id
    SELECT spriden_pidm,'1',
    '201090','1',
                     'Would you prefer September admission?',
                    DECODE (szcasup_sept_adm, 'Y', 'Yes', 'N', 'No'),sysdate,'recheverri'
               FROM saturn_midd.szcasup, saturn.spriden
              WHERE spriden_id = szcasup_common_appl_id
                AND spriden_ntyp_code = 'CAPP'
                 and spriden_pidm = 2287953
                AND (   szcasup_sept_adm IS NOT NULL
                     OR szcasup_feb_adm IS NOT NULL
                     OR szcasup_interview IS NOT NULL
                AND NOT EXISTS (
                       SELECT *
                         FROM saturn.sarquan
                        WHERE sarquan_pidm = spriden_pidm
                          AND spriden_ntyp_code = 'CAPP'
                          AND sarquan_term_code_entry = '201090');
                          Edited by: peace4all on Aug 13, 2009 5:35 AM

  • ORA-04091: table AM is mutating, trigger/function may not see it

    I create this trigger:
    CREATE OR REPLACE TRIGGER pr_test
    after insert ON AM
    FOR EACH ROW
    declare
    appo_pr varchar2(64):= null;
    BEGIN
    select name
    into appo_pr
    from AS
    where AS_ID=:new.AS_ID;
    insert into AM (name) values (appo_pr);
    END pr_test;
    I insert before a new AS_ID and name in tab AS but when I insert a new record in tab AM I get this error:
    ORA-04091: table AM is mutating, trigger/function may not see it
    ORA-06512: at PR_TEST", line 11
    ORA-04088: error during execution of trigger PR_TEST'
    I'd like to create a trigger that when I insert a new record in AM It verify the value in col name of AS and insert this value in col name of AM.
    What I wrong in this trigger??
    How can I modify it??
    Thanks
    Raf

    Try this:
    CREATE OR REPLACE TRIGGER pr_test
      before insert ON AM
      FOR EACH ROW
    declare
      appo_pr AS.name%TYPE;
    BEGIN
      select name
      into   appo_pr
      from   AS
      where  AS_ID = :new.AS_ID;
      :new.name = appo_pr;
    END pr_test;

  • ORA-04091:table XYZ is mutating,trigger/function may not see it ORA-06512

    Hi everybody
    i am facing mutating problem during data deletion fron XYZ table as
    ORA-04091:table XYZ is mutating,trigger/function may not see it ORA-06512 at "user.procdure_name",line 39 ORA-065
    i have table XYZ and have database trigger on this table
    and also have procedure "user.abc" in this procedure m selecting data from xyz table

    You didn't post the actual code. I was more interested in seeing table name and the trigger body.
    Anyways, mutation problem comes when you refer the same table on the trigger, on which it is based for some data manipulation on that table.
    For e.g, If inside your trigger body, you are doing INSERT on the same table, then it'll definitely result in mutation problem because this trigger will be fired endlessly (as it is after insert trigger).
    Please mark answer as helpful / correct, if it helps you
    Navnit

  • ORA-04091: table ACCESSLOG is mutating, trigger/function may not see it

    Hi
    Got the following error
    ORA-04091: table ACCESSLOG is mutating, trigger/function may not see it
    i searched the error found that the problem is with FOR EACH ROW
    how can i handel this specifically with the following code:
    CREATE OR REPLACE TRIGGER EMP_ACCESS
    AFTER INSERT
    ON ACCESSLOG
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    DECLARE
    tmpVar NUMBER;
    BEGIN
    IF ( :NEW.INOUT = 'OUT' ) THEN
    SELECT 'X'
    INTO tmpVar
    FROM ACCESSLOG
    WHERE EMPLOYEEID = :NEW.EMPLOYEEID
    AND LOGDATE = :NEW.LOGDATE
    AND INOUT ='IN' ;
    IF tmpVar IS NULL THEN
    INSERT INTO Emp_All_Moves_Absent (
    EMP_NO,
    ATT_DATE,
    ATT_FLAG,
    ATT_TIME_IN,
    ATT_TIME_OUT,
    VAC_COD,
    MIS_CODE,
    DAY_FLAG ,
    POSTEDFLAG,
    ATT_TIME_IN_PLANNED,ATT_TIME_OUT_PLANNED)
    VALUES
    (to_number(to_char(:NEW.employeeid,99999)),
    TO_DATE(:NEW.LOGDATE,'DD/MM/YYYY'),
    'ABS' ,
    to_date(:NEW.LOGTIME,'HH24:MI:SS'),
    to_date(:NEW.LOGTIME,'HH24:MI:SS'),
    NULL,
    NULL,
    'WORK',
    0,
    NULL,NULL);
    END IF;
    ELSIF ( :NEW.INOUT = 'IN' ) THEN
    SELECT 'X'
    INTO tmpVar
    FROM ACCESSLOG
    WHERE EMPLOYEEID = :NEW.EMPLOYEEID
    AND LOGDATE = :NEW.LOGDATE-1
    AND INOUT ='IN' ;
    IF tmpVar IS NULL THEN
    INSERT INTO Emp_All_Moves_Absent (
    EMP_NO,
    ATT_DATE,
    ATT_FLAG,
    ATT_TIME_IN,
    ATT_TIME_OUT,
    VAC_COD,
    MIS_CODE,
    DAY_FLAG ,
    POSTEDFLAG,
    ATT_TIME_IN_PLANNED,ATT_TIME_OUT_PLANNED)
    VALUES
    (to_number(to_char(:NEW.employeeid,99999)),
    TO_DATE(:NEW.LOGDATE-1,'DD/MM/YYYY'),
    'ABS' ,
    to_date(:NEW.LOGTIME,'HH24:MI:SS'),
    to_date(:NEW.LOGTIME,'HH24:MI:SS'),
    NULL,
    NULL,
    'WORK',
    0,
    NULL,NULL);
    END IF;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    -- Consider logging the error and then re-raise
    RAISE;
    END EMP_ACCESS_LOG_OUT;
    Urgent help is highly appreciated..
    Regards,
    Abdetu..

    Thanks Jens Petersen for reply
    now i want to make sure of one thing that i have to follow the steps but the last one i will replace it with my trigger NO?
    SQL> create or replace package state_pkg
    2 as
    3 type ridArray is table of rowid index by binary_integer;
    4
    4 newRows ridArray;
    5 empty ridArray;
    6 end;
    7 /
    Package created.
    SQL> create or replace trigger parent_bi
    2 before insert or update on parent
    3 begin
    4 state_pkg.newRows := state_pkg.empty;
    5 end;
    6 /
    Trigger created.
    SQL> create or replace trigger parent_aifer
    2 after insert or update of status on parent for each row
    3 begin
    4 state_pkg.newRows( state_pkg.newRows.count+1 ) := :new.rowid;
    5 end;
    6 /
    Trigger created.
    ---------------------now come my trigger instead of the following one ??---------------
    SQL> create or replace trigger parent_ai
    2 after insert or update of status on parent
    3 begin
    4 for i in 1 .. state_pkg.newRows.count loop
    5 insert into log_table
    6 select theKey, status, effDate
    7 from parent where rowid = state_pkg.newRows(i);
    8 end loop;
    9 end;
    10 /
    Trigger created.
    Regards,
    Abdetu..

  • ORA-04091: table name is mutating, trigger/function may not see it

    Hi,
    I have a row level before update trigger written on a table A which calls a procedure to undergo some processing. Procedure has some select queries against table A and it inturn causes the following error.
    ORA-04091: table name is mutating, trigger/function may not see it
    To overcome this I have used a combination of PL/SQL collection types (nested tables based on the following definition TYPE t_table_a is table of A.colname%TYPE index by binary_integer;), a row level before update trigger and statement level after update trigger. The mutating problem is fixed, but to update one row of data it took around 3 min and I am wondering if its the problem with PL/SQL tables I have used.
    In before update trigger I am storing the unique id's which needs to be updated into the PL/SQL table and in the after update trigger I am looping through the PL/SQL table and peforming the rest of the processing by calling in the procedure.
    Can anyone help how to minimize the run time of this process or if any other better solution exists?
    Thanks for the help

    Triggers raise the mutating table issue, because else they could be used to create endless loops. If you work around the mutating table issue, then you should make sure not to create an endless loop yourself. This would be possible.
    You description also seems to imply something like this.
    Without code it is impossible to say something specific.
    - Do you initialize your collection in a before statement trigger?
    - Is your looping mechanism somehow broken?
    - Do you update the same table again and again and again?

  • ORA-04091: table is mutating, trigger/function may not see

    Hello All,
    I am not an expert in oracle and I have been facing a problem where I get a message as follows :
    ORA-04091: table <table> is mutating, trigger/function may not see it
    I have a table tab1 which has ID, name, and some other columns. the rows in this table form a parent-child type relationship based on some columns within that table. I have created another table called relationship table. The relationship table has 2 columns ID and parentID. I keep this table up to date using triggers. For example if a new record is inserted or upadted in tab1 which affects the parent - child relationship, i update the relationship table accordingly using an insert / update trigger and it works fine.
    I created another trigger as follows
    create or replace trigger MY_DELETE_TRIGGER
    after delete on tab1
    for each row
    BEGIN
    update relationships a set a.parentID = null where a.parentID = :OLD.ID;
    delete from relationships a where a.id = :OLD.ID;
    END MY_DELETE_TRIGGER;
    Basically what I am doing is, the record once deleted, if it was parent of anybody else, i am setting the parent as null and the record itself, if it was in the relationships as a child, I am removing that row.
    This is when I get the table is mutating error, and I don't know how to fix it.
    Can anybody please help me,
    Thanks in advance

    Could you provide more details?
    SQL> select * from tab1;
            ID NAME
             1 test1
             2 test2
    SQL> select * from relationships;
            ID   PARENTID
             1          1
             2          1
    SQL> create or replace trigger MY_DELETE_TRIGGER
      2  after delete on tab1
      3  for each row
      4  BEGIN
      5  update relationships a set a.parentID = null where a.parentID = :OLD.ID;
      6  delete from relationships a where a.id = :OLD.ID;
      7  END MY_DELETE_TRIGGER;
      8  /
    Trigger created.
    SQL> delete from tab1
      2  where id = 1;
    1 row deleted.
    SQL> select * from relationships;
            ID   PARENTID
             2
    SQL> rollback;
    Rollback complete.
    SQL> insert into relationships values(1,1);
    1 row created.
    SQL> select * from relationships;
            ID   PARENTID
             1          1
             2          1
             1          1
    SQL> delete from tab1
      2  where id = 1;
    1 row deleted.
    SQL> select * from relationships;
            ID   PARENTID
             2
    SQL> disconnect
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production
    With the Partitioning option
    JServer Release 9.2.0.3.0 - Production

  • ORA-04091: table ... is mutating, trigger/function may not see it

    Hi,
    I keep getting this error message for my trigger when performing an
    insert..select statement (standard plain old insert works):
    ORA-04091: table ... is mutating, trigger/function may not see it
    The trigger is as follows:
    CREATE OR REPLACE TRIGGER MYTABLE_BEF_INS_CHECK
    BEFORE INSERT ON MYTABLE
    DECLARE
    v_o_id number(10);
    BEGIN
    IF :new.TYP = 'O' THEN
    SELECT 1
         INTO v_o_id
         FROM MYTABLE WHERE TYP = 'O' AND ID=:new.ID;
    END IF;
    END;
    The thing is the trigger works fine for a standard insert like:
    insert into MYTABLE( id,typ)
    values(426672,'O')
    No problem the above works. But when I try an insert select..it
    fails.
    insert into MYTABLE( id,typ)
    SELECT x_id, 'O' from AnyOtherTable;
    the above will fail.
    Anyone an idea why this is the case??
    thx.

    Hi,
    OK OK !!!! This was a copy/paste error. FOR EACH ROW was just not pasted here. Full trigger again:
    CREATE OR REPLACE TRIGGER MYTABLE_BEF_INS_CHECK
    BEFORE INSERT ON MYTABLE
    for each row
    DECLARE
    v_o_id number(10);
    BEGIN
    IF :new.TYP = 'O' THEN
    SELECT 1
         INTO v_o_id
         FROM MYTABLE WHERE TYP = 'O' AND ID=:new.ID;
    END IF;
    END;
    But I want to know why I DO NOT get this problem with the standard insert statement but only with the insert...select.
    thx.
    S.

  • BTPartnerSet custom partner function relationships not showing

    Hi all,
    Using program CRM_GENIL_CUST_MAINTAIN I have successfully copied the Z-partner functions into the BTPartnerSet relationships. They are now also maintained in table view CRMV_ORLALL_BTIL so all good.
    However, when going into the GENIL_BOL_BROWSER and I browse the transaction no details of some of the Z-Partner functions are determined. So I do see the relationship but the data for the partner function is not determined.
    Any idea's? Also which class does the reading of the partner functions?
    Thanks,
    John

    Thanks for your input.
    The problem I have is because the partner function is defined with a '_' in it which is not something you should do because the GENIL method does do a split based on the '_' in the relationship name.
    Regards,
    John

  • Legal Error: Partner Function Mapping not Maintained

    Hello SD Gurus,
    When i create a order and save, i get this pop-up (but i can save the order if i click ok)...
    the pop-up is:
    <u>Legal Error: Partner Function Mapping not Maintained</u>
    Can someone explain why is this appearing and how to correct this?
    Thanks in advance,
    Regards
    Jag

    Hi
    Go to transaction VOPA and maintain partner determination
    In the customer master , VD01 maintain partners for this customer for whom you are creating the sales order
    Hope this helps
    Cheers
    N Ganesh

Maybe you are looking for

  • Hyper-V 2012 R2 On Static IP?

    I have a hyper-v server that has its own static ip address and I want to be able to remotely manage it from a windows 8.1 system. Is this possible? There on different networks and not a part of a domain. thnx

  • Unrecognized Windows Sockets error...

    Hello everybody! I am encountering the following problem, when I try to run a program which wants to access the internet. I pasted an extract from the source code here, which I think includes the critical lines: import java.net.*; import java.io.*; c

  • Exchange Setup on MacBook Air

    I am haviing trouble setting up my Exchange account for mail/calendar/contacts on my new MacBook Air.  I have no trouble with my IPhone 5 or my IPad.  Any reason why the setup would be different on the Air?

  • LOIPRO01 outbound idoc issue

    Hi All, When I release the production order, Idoc need to be send to external system.    I have extended LOIPRO01 idoc(for Production Order)and called RCCLORD program using SUBMIT in user exit include ZXCO1U01 for creation of IDoc and it is successfu

  • Make paragraph style not override character style?

    Hi. Is there any way to make a paragraph style NOT override a character style? For example, I write a lot of scientific reports in Pages and then I use subscript and superscript often and so I have made a character style for that. But if I want to pe