Error Logging Clause & Alternatives

Users want data from an external source validated, and any nonconformities logged. I had hoped to do this via constraints and the error logging clause, and cooked up an example to try things out:
SQL> alter table emp add constraint emp_ck_sal check(sal between 1 and 5000) enable;
Table altered.
SQL> select constraint_name, constraint_type from user_constraints where table_name = 'EMP';
CONSTRAINT_NAME                C
EMP_CK_SAL                     C
PK_EMP                         P
FK_DEPTNO                      R
SQL> exec dbms_errlog.create_error_log('emp', 'bad_emp');
PL/SQL procedure successfully completed.
SQL> insert into emp (empno, ename, job, mgr, hiredate, sal, deptno)
  2  select 8001, 'AZIZ', 'CLERK', 7782, sysdate, 1000, 10 from dual
  3  union
  4  select 8002, 'NG', 'CLERK', 7782, sysdate, 0, 10 from dual
  5  union
  6  select 8003, 'ASFAW', 'CLERK', 8000, sysdate, 8000, 50 from dual
  7  log errors into bad_emp
  8  reject limit unlimited;
1 row created.
SQL> select * from emp;
  EMPNO ENAME      JOB              MGR HIREDATE      SAL       COMM  DEPTNO
   7369 SMITH      CLERK           7902 17-DEC-80     800                 20
   7499 ALLEN      SALESMAN        7698 20-FEB-81    1600        300      30
   7521 WARD       SALESMAN        7698 22-FEB-81    1250        500      30
   7566 JONES      MANAGER         7839 02-APR-81    2975                 20
   7654 MARTIN     SALESMAN        7698 28-SEP-81    1250       1400      30
   7698 BLAKE      MANAGER         7839 01-MAY-81    2850                 30
   7782 CLARK      MANAGER         7839 09-JUN-81    2450                 10
   7788 SCOTT      ANALYST         7566 19-APR-87    3000                 20
   7839 KING       PRESIDENT            17-NOV-81    5000                 10
   7844 TURNER     SALESMAN        7698 08-SEP-81    1500          0      30
   7876 ADAMS      CLERK           7788 23-MAY-87    1100                 20
   7900 JAMES      CLERK           7698 03-DEC-81     950                 30
   7902 FORD       ANALYST         7566 03-DEC-81    3000                 20
   7934 MILLER     CLERK           7782 23-JAN-82    1300                 10
   8000 MOORE      MANAGER         7839 22-MAY-06    3600                 40
   8001 AZIZ       CLERK           7782 31-AUG-06    1000                 10
16 rows selected.
SQL> select ora_err_number$, ora_err_mesg$, empno empnox, ename enamex, sal salx, deptno deptnox
from bad_emp;
ORA_ERR_NUMBER$ ORA_ERR_MESG$                EMPNOX ENAMEX     SALX   DEPTNOX
           2290 ORA-02290: check constraint  8002   NG         0      10
                (SCOTT.EMP_CK_SAL) violated
           2290 ORA-02290: check constraint  8003   ASFAW      8000   50
                (SCOTT.EMP_CK_SAL) violatedGreat. "Clean! Modern! Rapid!" as Mr Mori said. However, there's a problem. Employee 8003 ASFAW actually violates 2 constraints: the reported EMP_CK_SAL check constraint for having a salary out of range, and the FK_DEPTNO foreign key constraint because dept 50 doesn't exist - which isn't reported. The users want all the violations reported at once so that only one fix operation is required. I don't think I'm going to do that via the error logging clause? Anything I've missed?
So - any ideas on how to avoid the 3000 line package of row-by-row processing with 7 levels of nested IFs I keep finding predecessors and associates have employed to do this kind of thing?

Hello
I would say that unless you can convince your users that they are going to have to accept that for some rows, they are going to have to correct more than one error, in more than one run, you will end up re-inventing the wheel - infact you will be creating a caterpillar track, capable of navigating pretty much any terrain roughly as quick as an actual caterpillar.
Realistically though, what percentage of data is going to require users to re-import the same row twice? Is the quality of the source data very poor?
One potential solution would be to use views on the source data that identify rows violating any given constraint:
SQL> CREATE TABLE dt_test_dept (id number primary key)
  2  /
Table created.
SQL>
SQL> insert into dt_test_dept values(1)
  2  /
1 row created.
SQL>
SQL> CREATE TABLE dt_test_emp (id number primary key, deptid number, sal number)
  2  /
Table created.
SQL>
SQL> alter table dt_test_emp add constraint emp_dept_fk foreign key (deptid) references dt_test_dept
  2  /
Table altered.
SQL> alter table dt_test_emp add constraint emp_ck_sal check(sal between 1 and 5000) enable
  2  /
Table altered.
SQL>
SQL> CREATE TABLE dt_test_emp_src(id number, deptid number, sal number)
  2  /
Table created.
SQL> insert into dt_test_emp_src VALUES(2, 100,500)
  2  /
1 row created.
SQL> insert into dt_test_emp_src VALUES(3, 1,5001)
  2  /
1 row created.
SQL> insert into dt_test_emp_src VALUES(4, 100,5001)
  2  /
1 row created.
SQL> insert into dt_test_emp_src VALUES(5, 1,5000)
  2  /
1 row created.
SQL>
SQL> CREATE VIEW dt_test_emp_bad_fk
  2  AS
  3  SELECT
  4     'No matching department' err_text,
  5     id,
  6     deptid,
  7     sal
  8  FROM
  9     dt_test_emp_src
10  WHERE
11     NOT EXISTS(     SELECT
12                             NULL
13                     FROM
14                             dt_test_dept
15                     WHERE
16                             dt_test_dept.id = dt_test_emp_src.deptid
17             )
18  /
View created.
SQL> CREATE VIEW dt_test_emp_bad_sal
  2  AS
  3  SELECT
  4     'Salary invalid' err_text,
  5     id,
  6     deptid,
  7     sal
  8  FROM
  9     dt_test_emp_src
10  WHERE
11     sal NOT BETWEEN 1 AND 5000
12  /
View created.
SQL>
SQL> CREATE VIEW dt_test_emp_bad
  2  AS
  3  SELECT
  4     *
  5  FROM
  6     dt_test_emp_bad_fk
  7  UNION ALL
  8  SELECT
  9     *
10  FROM
11     dt_test_emp_bad_sal
12  /
View created.
SQL> select * from dt_test_emp_bad
  2  /
ERR_TEXT                       ID     DEPTID        SAL
No matching department          2        100        500
No matching department          4        100       5001
Salary invalid                  3          1       5001
Salary invalid                  4        100       5001
SQL> select * from dt_test_emp_bad order by id, err_text
  2  /
ERR_TEXT                       ID     DEPTID        SAL
No matching department          2        100        500
Salary invalid                  3          1       5001
No matching department          4        100       5001
Salary invalid                  4        100       5001That way you can pre-emptively idetify the rows that will fail and not even attempt to insert them. It does of course mean one view or select statement per constraint but that's the price I guess.
HTH
David
And it should mean much less code to maintain...
Message was edited by:
david_tyler

Similar Messages

  • Multi table insert with error logging

    Hello,
    Can anyone please post an example of a multitable insert with an error logging clause?
    Thank you,

    Please assume that I check the documentation before asking a question in the forums. Well, apparently you had not.
    From docs in mention:
    multi_table_insert:
    { ALL insert_into_clause
          [ values_clause ] [error_logging_clause]
          [ insert_into_clause
            [ values_clause ] [error_logging_clause]
    | conditional_insert_clause
    subqueryRegards
    Peter

  • Alternative to DML Error Logging

    I am supposed to catch invalid records in error table with the ORA exception. I am using 10g. Using DML Error logging i cannot catch primary key violations. Using for loop it will be very slow because there are lots of records. How to catch invalid records with the ORA exception
    Thanks

    user637544 wrote:
    Using DML Error logging i cannot catch primary key violations.You can't use DML Error Logging future, because:
    The DML error logging functionality is not invoked when:
    Deferred constraints are violated.
    Direct-path INSERT or MERGE operations raise unique constraint or index violations.
    UPDATE or MERGE operations raise a unique constraint or index violation.
    Kamran Agayev A. (10g OCP)
    http://kamranagayev.wordpress.com

  • BULK INSERT into View w/ Instead Of Trigger - DML ERROR LOGGING Issue

    Oracle 10.2.0.4
    I cannot figure out why I cannot get bulk insert errors to aggregate and allow the insert to continue when bulk inserting into a view with an Instead of Trigger. Whether I use LOG ERRORS clause or I use SQL%BULK_EXCEPTIONS, the insert works until it hits the first exception and then exits.
    Here's what I'm doing:
    1. I'm bulk inserting into a view with an Instead of Trigger on it that performs the actual updating on the underlying table. This table is a child table with a foreign key constraint to a reference table containing the primary key. In the Instead of Trigger, it attempts to insert a record into the child table and I get the following exception: +5:37:55 ORA-02291: integrity constraint (FK_TEST_TABLE) violated - parent key not found+, which is expected, but the error should be logged in the table and the rest of the inserts should complete. Instead the bulk insert exits.
    2. If I change this to bulk insert into the underlying table directly, it works, all errors get put into the error logging table and the insert completes all non-exception records.
    Here's the "test" procedure I created to test my scenario:
    View: V_TEST_TABLE
    Underlying Table: TEST_TABLE
    PROCEDURE BulkTest
    IS
    TYPE remDataType IS TABLE of v_TEST_TABLE%ROWTYPE INDEX BY BINARY_INTEGER;
    varRemData remDataType;
    begin
    select /*+ DRIVING_SITE(r)*/ *
    BULK COLLECT INTO varRemData
    from TEST_TABLE@REMOTE_LINK
    where effectiveday < to_date('06/16/2012 04','mm/dd/yyyy hh24')
    and terminationday > to_date('06/14/2012 04','mm/dd/yyyy hh24');
    BEGIN
    FORALL idx IN varRemData.FIRST .. varRemData.LAST
    INSERT INTO v_TEST_TABLE VALUES varRemData(idx) LOG ERRORS INTO dbcompare.ERR$_TEST_TABLE ('INSERT') REJECT LIMIT UNLIMITED;
    EXCEPTION WHEN others THEN
    DBMS_OUTPUT.put_line('ErrorCode: '||SQLCODE);
    END;
    COMMIT;
    end;
    I've reviewed Oracle's documentation on both DML logging tools and neither has any restrictions (at least that I can see) that would prevent this from working correctly.
    Any help would be appreciated....
    Thanks,
    Steve

    Thanks, obviously this is my first post, I'm desperate to figure out why this won't work....
    This code I sent is only a test proc to try and troubleshoot the issue, the others with the debug statement is only to capture the insert failing and not aggregating the errors, that won't be in the real proc.....
    Thanks,
    Steve

  • Error logging on primary key

    Hello,
    Here is the context :
    - The DB (10.2) is in production. I can not disable/drop/alter constraints
    - I have to reinject thousands of rows from another DB through database link but some of thoses lines may be rejected by the primary key / unique key in the production DB
    - As the row number is very large, I do not want to do the following :
    <pre>insert into t_prod ( ...)
    select ... from t_remote@db_link
    where ...
    and .. not in (select ... from t_prod where ..)</pre> ;)
    As the constraints are UK/PK, I can not use the error logging in insert statement
    As the constraints must be kept enabled, I can not use the exceptions into in an alter constraint statement
    Is there any way to avoid the infamous not in select ?
    Thanks,
    Christian.

    I prefere to use the SQL documentation over the Admin Manual (very personal preference). http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9014.htm#BGBEIACB
    Often it is more clear. In this case:
    REJECT LIMIT
    This clause lets you specify an integer as an upper limit for the number of errors to be logged before the statement terminates and rolls back any changes made by the statement. The default rejection limit is zero. For parallel DML operations, the reject limit is applied to each parallel server.
    A reject limit of 0 would be mean, zero errors are logged before the statement terminates and rolls back.
    I agree that this is the same as "no error logging". Good thing you pointed this out, I was not aware of it myself.

  • Does DML error logging work only on local DB and not remote DB?

    (A) does not log the errors but (B) does log the errors.
    Does the LOG clause work only on a local database and not a remote database?
    A)
    begin
    INSERT
    INTO
    "PRISM"."TARGET"@"DBLINK"
    (INVOICE_NUM
    ,INVOICE_AMOUNT)
    VALUES
    ('GHI'
    ,'GI')
    LOG ERRORS INTO "PRISM"."ERR$_TARGET"@"DBLINK" (1000) REJECT LIMIT unlimited
    end;
    B)
    begin
    INSERT
    INTO
    "PEER_TARGET"
    ("INVOICE_NUM",
    "INVOICE_AMOUNT")
    VALUES
    ('GHI'
    ,'GI')
    LOG ERRORS INTO "ERR$_PEER_TARGET" (1000) REJECT LIMIT unlimited
    end;

    Oracle has come back to us saying that
    "DML error logging feature is not supported for distributed DML."

  • Dml error logging  - are exceptions redundant?

    Hi there
    Heard alot about dml error logging and looks good in practice.
    In a data warehouse environment and wish to make use of this in a pl/sql procedure - I'm thinking is the only exception I would neeed know something like
    when others
    then
    insert into error_table values(sqlcodes,sqlerrm);commit;
    raise;
    Another question as purely a background routine with no user interaction do we really need the raise - I know many posts talk about having ir or raise_application_error to alert user something went wrong but in purely batch procedures is this really necessary?
    Also what is the error_stack exactly and how can you query it?
    Any advice/thoughts?
    Many Thanks

    other question as purely a background routine with no
    user interaction do we really need the raise - I know
    many posts talk about having ir or
    raise_application_error to alert user something went
    wrong but in purely batch procedures is this really
    necessary?RAISE:
    there a discussion going on this issue:
    WHAT is the purpose of RAISE in an EXCEPTION clause ?
    RAISE_APPLICATION_ERROR
    this will report an error and will break out. Usually used to report errors while debugging.
    Regards

  • DML Error Logging Tables?

    How can I use DML Error Logging Tables with OWB10gR2 (in tab-definition and mappings)?
    btw: what really is a shadow-table?

    Hi,
    What you can do to solve this is to add a Pre-mapping to your mapping which calls a procedure that alters the constraint on the target table in which you use the "EXCEPTIONS INTO <error_table> " clause.
    like:
    PROCEDURE "ENABLE_CONSTR_WITH_EXCEPTIONS"("P_TABLE" IN VARCHAR2,  "P_CONSTRAINT" IN VARCHAR2) IS
    v_table            varchar2(30) := p_table;
    v_constraint          varchar2(30) := p_constraint;
    v_command           varchar2(200);
    e_CannotValidate      exception;
    PRAGMA EXCEPTION_INIT(e_CannotValidate, -2437);
    -- main body
    BEGIN
    /* Enable Constraint and write error into exception table */
      BEGIN
        v_command := 'ALTER TABLE ' || v_table || ' ENABLE CONSTRAINT '|| v_constraint ||' EXCEPTIONS INTO exceptions';
        execute immediate (v_command);
        commit;
      END;
        EXCEPTION
            WHEN e_CannotValidate THEN
               -- In my case when Unique Constraints are violated I will delete the duplicates.
               DELETE_DUPLICATES(v_table, v_constraint);
            WHEN OTHERS THEN
                NULL;  -- enter any exception code here
    END;
    -- End of ENABLE_CONSTR_WITH_EXCEPTIONS;Greetz,
    Ilona Tielke

  • Error logging approaches

    I would like to hear how people have implemented various error
    logging approaches in Forte applications.
    Forte produces log files automatically for service partitions in
    $FORTE_ROOT/log and pops up dialog boxes with uncaught exceptions
    for client partitions.
    Some of the current problems with the existing Forte error logging
    include the famously painfull task of determining which log file
    in the $FORTE_ROOT/log pertains to your partition and how to
    correctly log client errors.
    We have taken the approach of opening our own error file for each
    Forte project containing a start class method. All exceptions are
    then caught and written to the application error file. This takes
    the guess work out of finding the correct error file but raises
    some interesting design questions:
    1) Should service objects maintain their own error files or should
    all problems just be handled as exceptions to be logged by the
    calling method. ( In some cases the calling method may not care
    that a service object is having a problem. In this case the service
    object may try an alternative approach. If the request is finally
    filled an error with the service object's functioning has occurred
    but not with the calling method's functionality ).
    2) Should all error messages be handled by a central message
    logger operating as a service object. In this case if various clients
    are running on different platforms all error message from an
    application are centralized. This saves the effort of checking error
    files for the same application on multiple platforms. It also means
    that a separate error file does not need to be created for each
    client that is instantiated. The message logger service in this
    case could be accessed by reference among several applications.
    Paul Buchkowski
    Merrill Lynch Canada
    [email protected]

    Never mind...my password to access file server contained a character that was not acceptable. Once changed, access restored.

  • DMEE error (Error Log -  Too many payment mediums created for this payment group)

    Hi Experts,
    Please see the below error while generating the DMEE file.
    Error Log -  Too many payment mediums created for this payment group
    Error is - Too many payment mediums created for this payment group
    Please explain how to resolve this error.Send detail documentation how to rectify this error
    Regards
    Sreedhar

    Hi Nimish Agarwal,
    With reference to the error faced i.e. BFIBL02160 "too many payment
    mediums created for this payment group", please review the information
    provided in the long text of this error in detail.
    Please ensure that the orders are not carried out several times.
    Alternatively you can apply the optional usable message 166 (same
    class: BFIBL02), so that you can prevent creating duplicates in future.
    Please customize this message as an error so as to prevent the system
    from creating duplicate files. You can customize this message in OBA5.
    The message BFIBL02 160 always occurs, if you create more than one
    file for the same payment run, in order to warn you not to send the
    same file twice to the bank.
    The SAPFPAYM program does not create 2 files at once. But if you
    run this program more than once for the same payment run, more than
    one file is created. From the second run on you receive the error
    message BFIBL02 160. You can easily test it, by creating a new
    payment proposal and creating a new file with this proposal and
    SAPFPAYM. The first time you run this program you will not receive
    the message.
    Hope this clarifies.
    Kind Regards,
    Fernando Evangelista

  • FM used for error log

    Hi experts,
    I would like to ask if you happen to kmow an alternative FM to 'SMPO_DISPLAY_MESSAGES'.
    The thing is I'm using error log in my program and I configure it so that there is just a pushbutton in the ALV. Once the button is pushed, the error encountered in the execution of the program will show.
    Using FM 'SMPO_DISPLAY_MESSAGES' would show the pop-up for errors while executing the program and not after execution.
    If you happen to know any alternative for this FM, it would really help.
    Thanks in advance.
    Jen

    Use below FMs
    BAL_LOG_CREATE
    BAL_LOG_REFRESH
    BAL_LOG_MSG_ADD
    BAL_DSP_LOG_DISPLAY
    reward if useful

  • Reg - Error Logging Mechanism

    Create table r_dummy
    a number,
    DATE_COL date,
    constraint unq_a unique(a)
    dbms_errlog.CREATE_ERROR_LOG('R_DUMMY');
    Begin
         Insert
              when (a = 1) then
                   into r_dummy(a,DATE_COL) values(a,SYSDATE)
              when (a != 1) then
                   into r_dummy(a,DATE_COL) values(a,SYSDATE+A)
         select level a from dual connect by level < 50
         log errors into err$_r_dummy('INSERT') reject limit 25;
    End;Error After Executing above code.
    log errors into err$_r_dummy('INSERT') reject limit 25;
    ERROR at line 9:
    ORA-06550: line 9, column 2:
    PL/SQL: ORA-00933: SQL command not properly ended
    ORA-06550: line 3, column 2:
    PL/SQL: SQL Statement ignoredSo,whats wrong with my code ??Are there any restrictions in using error logging mechanism?? Could'nt I use it with 'INSERT WHEN' ,if so what is the alternative . I don't want to use 'WHEN OTHERS THEN' Exception handler.
    Please help me.
    Regards
    Raghu.

    SQL> drop table err$_r_dummy purge;
    Table dropped.
    SQL> drop table r_dummy purge;
    Table dropped.
    SQL> SELECT SYS_CONTEXT('USERENV','SID')
      2  FROM DUAL;
    SYS_CONTEXT('USERENV','SID')
    73
    SQL> Create table r_dummy
      2  (
      3   a number,
      4   DATE_COL date,
      5   constraint unq_a unique(a)
      6  );
    Table created.
    SQL> exec dbms_errlog.create_error_log('R_DUMMY');
    PL/SQL procedure successfully completed.
    SQL> select count(*) from err$_r_dummy;
      COUNT(*)
             0
    SQL> Begin
      2   Insert 
      3      when (a = 1) then
      4      into r_dummy (a,DATE_COL) values (a,SYSDATE)
      5      log errors into err$_r_dummy('INSERT') reject limit 25
      6      when (a != 1) then
      7      into r_dummy(a,DATE_COL)  values (a,SYSDATE+A) 
      8      log errors into err$_r_dummy('INSERT') reject limit 25
      9   select level a from dual connect by level < 50;
    10 
    11  End;
    12  /
    PL/SQL procedure successfully completed.
    SQL>  select count(*) from r_dummy;
      COUNT(*)
            49
    SQL> select count(*) from err$_r_dummy;
      COUNT(*)
             0
               Now,I run the same piece of code
    SQL> Begin
      2   Insert 
      3      when (a = 1) then
      4      into r_dummy (a,DATE_COL) values (a,SYSDATE)
      5      log errors into err$_r_dummy('INSERT') reject limit 25
      6      when (a != 1) then
      7      into r_dummy(a,DATE_COL)  values (a,SYSDATE+A) 
      8      log errors into err$_r_dummy('INSERT') reject limit 25
      9   select level a from dual connect by level < 50;
    10 
    11  End;
    12  /
    Begin
    ERROR at line 1:
    ORA-00001: unique constraint (PHASE36DEV_11G.UNQ_A) violated
    ORA-06512: at line 2
    Error logging mechanism fails :(
    SQL> select count(*) from r_dummy;
      COUNT(*)
            49
    SQL> select count(*) from err$_r_dummy;
      COUNT(*)
            27Different session
    SQL> SELECT SYS_CONTEXT('USERENV','SID')
      2  FROM DUAL;
    SYS_CONTEXT('USERENV','SID')
    219
    SQL> select count(*) from err$_r_dummy;
      COUNT(*)
            27
    SQL> select count(*) from r_dummy;
      COUNT(*)
             0Here it has been proved that error logging is an autonomous transaction.
    Back to my original session.
    SQL> rollback;
    Rollback complete.
    SQL> select count(*) from r_dummy;
      COUNT(*)
             0
    SQL> select count(*) from err$_r_dummy;
      COUNT(*)
            27Now I change my piece of code as below
    SQL> Begin
      2   Insert 
      3      when (a = 1) then
      4      into r_dummy (a,DATE_COL) values (a,SYSDATE)
      5      log errors into err$_r_dummy('INSERT') reject limit 25
      6      when (a != 1) then
      7      into r_dummy(a,DATE_COL)  values (a,SYSDATE+A) 
      8      log errors into err$_r_dummy('INSERT') reject limit 25
      9   select level+48 a from dual connect by level < 50;
    10 
    11  End;
    12  /
    PL/SQL procedure successfully completed.This runs fine without throwing any error !!!!!!!!
    Now I check my log table
    SQL> select count(*) from err$_r_dummy;
      COUNT(*)
            27Twist....count remains same. I thought it'll be increment by 1(as the unique constraint violation occurs for 49) ????
    My observations
    ================
    1)Error Logging mechanism fails when same set of rows are repeated.
    2)Error log table has a composite unique constraint on all the columns.
    3)error logging is an autonomous transaction.
    Conclusion : Now, I'm afraid to use this :(

  • Oracle errors in Weblogic Error logs appear in non english

    We have a problem with weblogic error logging. Specifically, in a managed server's log file, Oracle errors such as ORA-XXXX show in Greek, not English. We are assuming
    that this is because the timezone is Europe/Athens. However, the weblogic application server runs with user.language=en, user.country=US. What's more, there are 4 application servers and 2 of them have this problem. The oracle database is accessed via weblogic datasources.
    Oracle database server Setup: Oracle Server 11gR2 running on Oracle Linux 64 bit, timezone set to Europe/Athens
    Weblogic Server: Weblogic 10.3.5 running on Oracle Linux 64 bit, timezone set to Europe/Athens
    The managed server, according to jrockit, the jvm runs with the following language related system properties:
    user.language=en, user.country=US, user.timezone=Europe/Athens
    The question is: How do we tell oracle / weblogic to log english text for the ORA errors?
    Thanks,
    Chris

    I digged in the weblogic installation directory and it seems like the domain configuration wizard messed up the jdbc configs for the data sources.
    The config xml files for the data sources in the /domain root/config/jdbc directory had oracle driver but the test query was for pointbase. I double checked from the database.xml file in the init-info directory and corrected the entry in the datasource config xmls and voila!.. the errors were gone.
    I am not sure if this was the right approach and whether i have solved the issue or simply patched it.. so I am keeping the question open. If any one has any inputs I will be grateful.
    If the mods/admins feel that the thread should be marked as solved I will surely do so.
    Thanks.

  • Sap Payroll error log report

    Hi All,
    We are developing Report on SAP Payroll log with the error message . Is any table exist in SAP where we can get the standard error message repositery and then convert it in the User freindly error message ?
    Thanks
    H

    Hello hg,
    Before developing report on SAP Payroll error log I suggest taking a look at below blog. There is a new functionality from SAP to improve payroll data validation and they are calling it "Control Center Add-On".
    This is going to be a free add on for anyone who is on EHP7 and NetWeaver on 7.4 release. The general availability is June 2nd 2014.
    Improve payroll data validation with SAP Payroll control center add-on
    Hope this helps.
    Thanks,
    Hemanth Jamithi.

  • No Error Log generated in 'Costing' step in Costing Run (CK40N)

    In the Costing Run, when the 'Costing' step is run (after 'Material selection'  and 'BOM Explosion' steps), it gives a hard stop when it encounters the 1st error, instead of completing the 'Costing ' step and giving an Error Log with material information and nature of errors. This makes it very cumbersome to resolve all the errors.
    In the Costing Variant setting in config, the u2018Save Error Log' indicator has been checked.
    Please let me know if I am missing something.
    Venkat

    Hi Vimal,
    Your proposal does not resolve the issue. I found OSS Note 375901, which addresses this issue - see below
    :In Customizing for the costing variant (Transaction OKKN) in the tab "Misc.", you chose "Messages online" for the Error Management option.
    Solution
    Change the error management for the costing variant to
    "Log and Save Messages..."
    Many thanks for your inputs.
    Venkat

Maybe you are looking for

  • Using apple TV with an LCD monitor

    I've hooked up an Apple TV to a Dell LCD monitor that has an aspect ratio of 16:10 using an HDMI to DVI connector. It seems to me that there is no really solid reason for the Apple TV to not allow support for 16:10 aspect ratio. Watching an espisode

  • Is AVI Assembling possible with Final Cut Pro?

    Hi everyone, Please forgive my ignorance...I'm a complete newbee regarding Final Cut Pro's capabilities. I'm trying to find software that can assemble multiple AVI, OGM and MKV Video files. I'd like to be able to cut each video file into chapters and

  • 10.6.4 Update Completely Broke My MBP

    So I just got done updating to 10.6.4 and iTunes 9.2, watching my MBP to go through all the steps of downloading and logging out to install and beginning to restart, but guess what? It never restarted! It doesn't even get to the gray screen. I can he

  • I'm new - What exactly does cinema tools do?

    Hello all! I'm very new to FCP and MAC for that matter. I'm curious about my new software...What does cinema tools do?

  • How do I make the print on my screen smaller the print is larger and I don't know why

    The screen has writing and features that are larger than normal Is there a way to reset the size of the screen content