Auditing and Custom error logging

Guys,
Can one of you tell me how can we do auditing in ODI i.e like say if load files how many records the file have and how many we have loaded for each file and how many are
bad records etc and how many records we have inserted/updated in each table etc.
Basically some sort of report we need to send in the end as audit report after odi batch run every day
Can we do this in ODI?
Is it possible to do sort of custome error logging like what we do in pl/sql, like inserting into error log table when ever oracle error comes or any runtime error which we need to insert into table etc.
Can we do this kind of error handling ODI?
Cheers
Sri
Edited by: aranisrinivas on 26-Nov-2011 10:13

Just use below details for your required information
'<%=odiRef.getPrevStepLog("STEP_NAME")%>'
'<%=odiRef.getPrevStepLog("SESS_NO")%>'
'<%=odiRef.getPrevStepLog("MESSAGE")%>'
'<%=odiRef.getPrevStepLog("ERROR_COUNT")%>'
You can get more details from below tables.
1) snp_sess_txt_log -( It holds the scripts used for the task and session details)
2) snp_sess_task_log-(It holds the time details error msg and all)
3) snp_sess_task -( it holds the name of the task and technology , context details
Thanks

Similar Messages

  • Write SharePoint Custom Error logs into physical location

    Hi
       I need to programmatically write a custom error logs using SPDiagnosticsService class into my custom physcial location.
       But when i use SPDiagnosticsService it will write error logs into 15hive\logs folder instead i want to write into my physical location(say C:\Logs\Error.log)
       How to achieve this?
    Regards,
    Siva

    Hi,
    SPDiagnosticsService has a property 'loglocation' and it only points to one location. I reckon, you can not use one location for SharePoint log, another one for custom log - if you use SPDiagnosticsService. What I do for my SharePoint projects is, create
    a custom logger, which wrap the SPDiagnosticsService inside. Then My Logger class write the log into some custom location (configurable through web.config or by other means) as well as pass it to SPDiagnosticsService. Having a custom log file for custom solution
    helps to find problem very quickly and easily - which would be difficult if you would need to go through large log files. So I can suggest, write a custom logger, wrap SPDiagnosticsService  inside the cutom logger. Then on every Log Event, write in your
    cusotm file and if you want you can pass the event to SPDiagnosticsService  also.
    Thanks,
    Sohel Rana
    http://ranaictiu-technicalblog.blogspot.com

  • Catch datetime exception and custom error message in SSRS

    I currently working on create report by using SSRS. I have 2 parameters: [Start date] and [End date] to filter data from database and show it on report. I want to validate 2 datetime parameter as describe above. Please tell me a solution to do this.
    For example:
    When user type the text like: 4/15/2014mmm => System validation thrown a message: [The From Date not correct type]
    But in my case, I want to receive a custom error message by myself.(Look like: [Date Invalid!])

    Hi Brain,
    According to your description, you have a report with two parameters for user to input. Now you want to validate these two parameters and display custom error message when the date is invalid. Right?
    In Reporting Service, it doesn’t provide any interference for us to modify the system error message (the text in grey color). That means we can’t modify the system message when error occurs. However we can create a textbox in this report, use custom code
    and expression to display the custom error message. But this all based on the report is successfully running. So if error occurs during report processing, all the custom code and expression will not work. In this scenario, we find a workaround for you. We
    use custom code to judge if the date is valid, if the users type an invalid date, we return a default value to make sure this report can successfully run. Then we use expression to control the visibility of tablix in this report and create a textbox to show
    the custom error message. Your case has been tested in our local environment. Here are steps and screenshots for your reference:
    Go to Report Properties. Put the code below into custom code:
    Public Shared a As Integer=0
    Public Shared Function IsDate(d1 As String,d2 As String) as Integer
            Try
               FormatDateTime(d1)
               FormatDateTime(d2)
            Catch ex As Exception
                       a=1
            End Try
    return a
    End Function
    Create two parameters. One is StartDate, the other is EndDate. Set the data type of these two parameters Text.
    Create a filter for StartDate, put the expression below into Value:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,CDate(IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,Parameters!StartDate.Value,"1/1/2012")),CDate("1/1/2012"))
    Create a filter for EndDate, put the expression below into Value:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,CDate(IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,Parameters!EndDate.Value,"1/1/2013")),CDate("1/1/2013"))
    Ps: In step3 and step4, the date(“1/1/2012”, “1/1/2013”) in the expression are the default we set to make sure the report can successfully process. You can set any date existing in your dataset.
    Use the expression below to set the visibility of the tablix:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,false,true)
    Create a textbox, put the expression below into it:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,"","Date invalid")
    Save and preview. It looks like below:
    Reference:
    SSRS Calendar and Date Restriction
    Errors and Events Reference (Reporting Services)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
      

  • Skip creating invoice scheduled in background and create error log in V.21 Tcode

    Hi All,
    When background job scheduled for VF04 (Billing Due List) to create billing document , we are checking condition for billing date . If the condition satisfied we are creating error log in V.21 by filling XVBFS structure in user exit . In this case billing document is been created .
    My requirement is to skip creating billing document and process the next document in billing due list . Can you please suggest in this regard.
    Thanks in advance.
    Narendra

    This is an excerpt from sap help:
    Putaway using storage unti types
    You receive a delivery of 200 pieces of material O2.
    You post the goods receipt of the delivery in Inventory Management.
    The system creates a transfer order for putaway.
    You display all transfer requests (TRs) for material O2.
    You choose the TR for which you want to create a transfer order (TO) from the list of transfer requests.
    In the palletization section of the preparation screen for the transfer order, the system automatically proposes five industrial pallets of 40 pieces. This proposal is based on the storage unit type in the material master record.
    Palletization
    SU
    Qty per Storage Unit
    SUT
    Type
    Section
    5
    X
    40.000
    IP
    X
    20.000
    Save your entries.
    The system creates the TO for putaway with the palletization data.
    You can also check this link:
    Warehouse Management System (WMS) - SAP Library
    It will help you understand this in more detail.

  • How do you turn on NFS and RPC error logging?

    I'm trying ot find NFS and RPC errors. Di I need to turn error logging on for those calls? Where would/should they show up?

    This is what I use;
    log4j.logger.com.businessobjects = DEBUG, stdoutAppender
    log4j.logger.com.businessobjects12 = DEBUG, stdoutAppender
    log4j.logger.com.crystalreports = DEBUG, stdoutAppender
    log4j.logger.com.crystaldecisions12 = DEBUG,  stdoutAppender
    log4j.logger.com.crystaldecisions = DEBUG,  stdoutAppender
    You will of course need to adjust to the log4j appender you have declared
    Steve

  • Mac pro goes to sleep and the error  log say "The smart launch will be terminated"

    Several times in the last few days my Mac Pro early 2008 has locked up.  This occures when leave the machine and come back to it.  I see the screen is black and the only thing that I see after clicking the mouse and pressing keys on the keyboard, is the white outline of the curser that will move across the screen.  Nothing will bring the system back and my only option is to hold down the power button until the unit shuts down. 
    I checked the logs in the console and the error message that I see is:  mm/dd/yy 9:49:17.719 AM SmartLaunch[31448]: The SmartLaunch will be terminated.
    Any clue where I should start looking?
    Steve Ornat

    That is a great idea to check the memory temperture.  Do they have built in temperture senors and then is there a terminal command to run to check that?  Also how do I change the speed of the fans, again a terminal command?
    I was mistaken, I bought 4- 4GB memory modules, with heatsinks. (8GB were tooooo expensive)  It should be good memory but certainly I wonder as this never happened before the new memory was added, 5 or 6 weeks ago.
    My memory config is:
    2 - 1 GB (orginal whe n I got the sytem)
    2 - 2 GB added 1 year ago from OWC
    4 - 4 GB added 6 weeks ago from ??
    Good suggetions about the hard drive.   I did add a new Seagate 3TB drive a year ago when I got this machine, and I use it for all my data stoage and tunes and pixs and only use the 250GB dirve of OS and apps.  I have not installed the OS and apps on the 3TB drive and that would be an easy thing to do.

  • Sender mail adapter : no messages and no error log

    Hello,
    I have configured a sender mail adapter to read mails from the inbox. I have used IMAP protocol. URL is specified as imap://EMHBSEXM01/Inbox. User name and password is also specified properly. I have kept poll interval to 1 minute. Messages in the inbox are in unread status. But the mail is not getting processed. I do not see anything after 1 minute. I tried using generate fetch report flag. But even then it does not create any message in SXMB_MONI. I checked runtime workbench for Mail adapter but I do not see any message for the same. Is there something that I am missing?
    Thanks,
    Dev

    Hi All,
    I chekced your responses and tried accordingly. Our basis team has given me new link now and the error message has changed. I am getting following error message.
    exception caught during processing mail message; java.io.IOException: unexpected login response; read 001F BAD Command received in Invalid state.
    Does anyone have any idea what this error is?
    Thanks in advance,
    Devendra

  • How do I change the location of the coldfusion-out.log and coldfusion-error.log files in CF10

    When I change the log location in ColdFusion Administrator it changes the location of most but not all the log files.  I have a requirement from my customer to place all log files on a separate partition on the server.  For ColdFusion 9 I was able to modify the registry settings to change StandardOut and StandardErr for the ColdFusion Jrun service.  This does not appear to the case for ColdFusion 10 which now uses Tomcat 7.
    I tried modifying log4j.properties file and was able to relocate the hibernatesql.log, axis2.log, and esapiconfig.log but not the coldfusion-out.log.
    I am running ColdFusion 10 Enterprise Edition on a 64-bit Windows 2008 Server.

    The location of the rest of the ColdFusion logs can be changed in the ColdFusion Administrator.  Go to the Debugging and Logging section, Logging Settings.  There is a form at the top of the page where you can change the log storage location.
    -Carl V.

  • Custom Error Logging

    Hi All,
    I have a requirement to store the error message code returned from the oracle standard API'S.
    for example if the standard oracle error throws WSH_DEL_ASSIGNED_ERROR error with the token name DEL_NAME
    and token value wsh_new_deliveries_pvt.get_name(p_delivery_info.delivery_id).
    I should have a way to store the message WSH_DEL_ASSIGNED_ERROR,DEL_NAME and wsh_new_deliveries_pvt.get_name(p_delivery_info.delivery_id) into my custom table. So at a later point of time the user will run a report to see all the error message.
    Can any one throw some light on how to acheive this?
    Regards,
    Nagesh Manda.
    Edited by: Nagesh Manda on Dec 6, 2008 9:35 PM

    Nagesh
    Can you tell us of which transaction you want to do this? You gave an example of shipping, but please specify the transaction, as there may be ways in some places, but we may not be able to achieve this requirement for all the transactions.
    Thanks
    Nagamohan

  • Back ground scheduling and capturing error log

    hi friends,
    i have to write a report and call a function module for passing one by one those conversion progs which fm is suitable what it is
    one more boubt like i can maintain those conversions in structure and i can loop those one by one passing into fm
    i have to capture those error records
    i have to check whether the coversions runs properly or not.

    Hi,
    create one error table store messages in that.
    using sy-subrc you can identify status.
    for capturing put some condition to identify error records.
    Write subroutine for updating table with error messages.

  • How to create Custom error message in SharePoint 2013

    Hi,
    I have created one document library.On uploading the same file SharePoint throws error as"server error.The same file exit".
    But my requirement is not to show the SharePoint default message.I wanted to create custom message and show the pop up for the same file upload.
    Is there any way to create any custom error page or can I manipulate SharePoint default error page?
    Any help?
    Thank you

    Hi,
    You can create an event receiver to set the validation error messages.  One such post to redirect the custom error page is as follows
    https://social.msdn.microsoft.com/Forums/office/en-US/2bc851f6-e04b-4550-b87f-9b874a290482/sharepoint-event-receivers-and-custom-error-messages?forum=sharepointdevelopmentlegacy
    Create custom error page for SharePoint event receiver
    Please mark it answered, if your problem resolved or helpful.

  • 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

  • Custom error messages in scheduler_job_run_detail

    Is it possible for a job to send custom error# and customer error message to error# and additional_info in schedulerjob_run_details table

    Never mind, I have figured it out. All one needs to do is RAISE application error and pass erro# and a custom msg.

  • How to change the loglevel of error log in DS

    Hi,
    I have a simple question regarding setting the log level of Sun directory server.
    I have created following ldif file to change the log level to 256 while the default was 0:
    dn: cn=config
    changetype: modify
    replace: nsslapd-errorlog-level
    nsslapd-errorlog-level: 256
    I have successfuly modified the Sun DS to have this value anyhow I don't see any changes in error log
    dn: cn=config
    modifytimestamp: 20080411152713Z
    and the error log: (gmt+2)
    [11/Apr/2008:17:22:20 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=204 msgId=205 - search is not indexed
    [11/Apr/2008:17:24:48 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=208 msgId=209 - search is not indexed
    [11/Apr/2008:17:27:17 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=212 msgId=213 - search is not indexed
    [11/Apr/2008:17:29:46 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=216 msgId=217 - search is not indexed
    [11/Apr/2008:17:32:14 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=220 msgId=221 - search is not indexed
    [11/Apr/2008:17:34:42 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=224 msgId=225 - search is not indexed
    [11/Apr/2008:17:37:11 +0200] - WARNING<20805> - Backend Database - conn=5890237 op=228 msgId=229 - search is not indexed
    So obviously no change, is there a need of DS restart to have changes in place ?
    Thanks,
    Jorge Sanchez

    nsslapd-errorlog-level has been deprecated in DS 5.2.
    It will work, but you should use nsslapd-infolog-area and nsslapd-infolog-level in future.
    Also, note that 256 is a value that will not lead to extra logging.
    The additional logging levels for 5.2 are detailed here:
    http://docs.sun.com/source/816-6699-10/confattr.html#15873
    Cheers,
    Deeran

  • Error log not getting written

    Hello there,
    I had to edit the errors file in DS7.0 version but after that DS7.0 is not writing anything into errors file, although i dd not change any permission. I just opened the file and deleted few lines and now errors logs are not written anymore.
    Any idea how to solve this issue?

    Usually restarting slapd does the trick. Worst case, you might need to stop the server, move all files out of the logs directory, and restart. If that doesn't work, then there's probably something wrong with the system or the configuration.
    I've never tried it, but the rotate-now function might fix it too.

Maybe you are looking for