Transaction Error logs

Hi OATS gurus,
I have done a test and for some of the clicks it got failed. I'm not sure what is the reason (May be String validation or Server side HTTP errors and so on). Test got completed yesterday and when I open the session for reporting today, I'm not able to view those error log. Is there any way we can view the error logs of the previous test runs?
Thanks,
Thiru

Hi Friend,
There is no standard FM to get the log because it is written in the program of VFX3.
To get the log in your program check value of RFBSK (VBRK) for each invoice. If there is any error for any invoice it will show in the respctive values for RFBSK field (like K =  Accounting document not created (no authorization) ).
It will solve the problem.
Regards
Krishnendu

Similar Messages

  • Error log of failed transaction in csv format

    Hi All,
    I need to generate an error log of all failed transaction in .csv file. It needs to have the failed file name(that comes in xml) and the error. How do i do it?
    Thanks

    You should have an Error batch file being created that lists those transactions in error. If you have a particular piece of data that you want, you may have to add to the RCBDFDFL.DFD (the recipient batch DFD) file and then map the content to a GVM of the appropriate name.  But start by looking at the Error batch - assuming you don't have it set to NULL.  That isn't a CSV file, but is a plain ASCII file that you can probably read.

  • 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

  • Call transaction error handling

    how to maintain the log i.e sucess/failures like below.
    Line No.     Success/ Failure  Document No     Error Details
    1     S     Doc 740000001     
    2     S     Doc 740000002     
    3     F          Co- code does not exist
    4     F          GL Account does not exist
    I'm getting only one last document no: but i need all the documents to be displayed i.e either success/failures.
    below is my code.
    TYPES: BEGIN OF ty_filedata,
           bukrs TYPE bukrs,           "Company code
           blart TYPE blart,           "Document type
           bldat TYPE char10,          "Document Date
           budat TYPE char10,          "Posting date
           xblnr TYPE xblnr,           "Reference
           bktxt TYPE bktxt,           "Document Header text
           waers TYPE waers,           "Currency
           newbs TYPE bschl,           "Posting Key for the next line item
           wrbtr TYPE char10,          "Amount
           zuonr LIKE bsik-zuonr,      "Assignment
           sgtxt TYPE sgtxt,           "Text
           newko TYPE hkont,           "Account for the next line item
           END OF ty_filedata.
    TYPES: BEGIN OF ty_detail_log,
             item_no TYPE i,        " Item line no.
             status(1) TYPE c,      " Status - success/failure
             doc_no TYPE bkpf-belnr," Document No.
             message TYPE string,   " Message
           END OF ty_detail_log.
    *&             DATA declaration of internal tables
         Internal Table declaration for excel data
    DATA:  it_itab TYPE STANDARD TABLE OF alsmex_tabline INITIAL SIZE 0,
        Internal Table declaration for upload data
          it_upload TYPE STANDARD TABLE OF ty_filedata INITIAL SIZE 0,
        Internal Table Declaration for BDCDATA
          it_bdcdata  TYPE STANDARD TABLE OF bdcdata,
        Internal Table Declaration for BDCMSGCOLL
          it_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll,
        Internal Table Declaration for FILENMAE
          lf_fname TYPE rlgrap-filename.
         t_err_log  TYPE STANDARD TABLE OF ty_err
                           INITIAL SIZE 0,  " table for validation error log
         t_DETAIL_LOG TYPE STANDARD TABLE OF TY_DETAIL_LOG.
         C_MSGNO TYPE BDC_MNR VALUE '312',
    *&             DATA declaration of work area
        Work Area declaration for Excel Data
    DATA: w_itab TYPE alsmex_tabline,
        Work Area declaration for upload data
          w_upload TYPE ty_filedata,
        Work Area declaration for upload data
          w_upload_n TYPE ty_filedata,
        Work Area declaration for upload data
          w_bdcdata TYPE bdcdata,
        Work Area declaration for upload data
          w_bdcmsgcoll TYPE bdcmsgcoll,
          w_detail_log TYPE ty_detail_log.
    *&                     SELECTION-SCREEN
    SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
    PARAMETERS:p_file TYPE rlgrap-filename.          " MODIF ID G1.
    SELECTION-SCREEN:  END OF BLOCK bk1.
    *&                             AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          dynpro_number = syst-dynnr
        CHANGING
          file_name     = p_file
        EXCEPTIONS
          mask_too_long = 1
          OTHERS        = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *&                     START-OF-SELECTION
    START-OF-SELECTION.
      DATA:  lw_itab TYPE alsmex_tabline.
      lf_fname = p_file.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = lf_fname
          i_begin_col             = '1'
          i_begin_row             = '6'
          i_end_col               = '12'
          i_end_row               = '999'
        TABLES
          intern                  = it_itab[]
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
    *MESSAGE S205(ZF_COMMON_MSGS_FIN1) DISPLAY LIKE C_E.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ELSE.
      IF it_itab IS NOT INITIAL.
        SORT it_itab BY row col.
    DELETE it_itab WHERE row LT 6.
        LOOP AT it_itab INTO lw_itab.
          w_itab = lw_itab.
          AT NEW row.
            CLEAR: w_upload.
          ENDAT.
          CASE w_itab-col.
            WHEN '0001'.
              w_upload-bukrs = w_itab-value.
            WHEN '0002'.
              w_upload-blart = w_itab-value.
            WHEN '0003'.
              w_upload-bldat = w_itab-value.
            WHEN '0004'.
              w_upload-budat = w_itab-value.
            WHEN '0005'.
              w_upload-xblnr = w_itab-value.
            WHEN '0006'.
              w_upload-bktxt = w_itab-value.
            WHEN '0007'.
              w_upload-waers = w_itab-value.
            WHEN '0008'.
              w_upload-newbs = w_itab-value.
            WHEN '0009'.
              w_upload-wrbtr = w_itab-value.
            WHEN '0010'..
              w_upload-zuonr = w_itab-value.
            WHEN '0011'.
              w_upload-sgtxt = w_itab-value.
            WHEN '0012'.
              w_upload-newko = w_itab-value.
          ENDCASE.
          AT END OF row.
            APPEND w_upload TO it_upload.
            CLEAR: w_upload.
          ENDAT.
        ENDLOOP.
    *endif.
      ENDIF.
      DATA: lw_upload TYPE ty_filedata,
            lv_lines TYPE sy-tabix,
            lv_index TYPE sy-tabix.
      DESCRIBE TABLE it_upload LINES lv_lines.
      LOOP AT it_upload INTO lw_upload.
        lv_index = sy-tabix.
        w_upload = lw_upload.
        IF NOT w_upload-bukrs IS INITIAL.
          IF lv_index GT 1.
           CALL TRANSACTION 'FB01' USING it_bdcdata
                   MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
           PERFORM fr_format_message_text.
            REFRESH: it_bdcdata.
          ENDIF.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0100'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'BKPF-XBLNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BKPF-BLDAT'
                                        w_upload-bldat.
          PERFORM bdc_field       USING 'BKPF-BLART'
                                        w_upload-blart.
          PERFORM bdc_field       USING 'BKPF-BUKRS'
                                        w_upload-bukrs.
          PERFORM bdc_field       USING 'BKPF-BUDAT'
                                        w_upload-budat.
          PERFORM bdc_field       USING 'BKPF-WAERS'
                                        w_upload-waers.
          PERFORM bdc_field       USING 'BKPF-XBLNR'
                                        w_upload-xblnr.
    *perform bdc_field       using 'FS006-DOCID'
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        w_upload-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        w_upload-newko.
        ENDIF.
        IF lv_index NE lv_lines.
          lv_index = lv_index + 1.
          READ TABLE it_upload INTO w_upload_n INDEX lv_index.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'BSEG-WRBTR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                        w_upload-wrbtr.
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                  w_upload_n-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                  w_upload_n-newko.
        ELSE.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'BSEG-WRBTR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=BU'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                       w_upload-wrbtr.
        ENDIF.
        PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'COBL-ANLN1'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTE'.
      ENDLOOP.
      CALL TRANSACTION 'FB01' USING it_bdcdata
              MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
      PERFORM fr_format_message_text .
      REFRESH: it_bdcdata.
    *&      Form  BDC_DYNPRO
    FORM bdc_dynpro USING program  dynpro.
      CLEAR w_bdcdata.
      w_bdcdata-program  = program.
      w_bdcdata-dynpro   = dynpro.
      w_bdcdata-dynbegin = 'X'.
      APPEND w_bdcdata TO it_bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      IF fval <> space.
        CLEAR w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        APPEND w_bdcdata TO it_bdcdata.
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  fr_format_message_text
    FORM fr_format_message_text.
      DATA: lf_msg   TYPE string.
      WRITE:/ sy-uline(125).
      FORMAT COLOR 1 INTENSIFIED ON.
      WRITE : /1 sy-vline,
               2  text-041 ,  "'record Number',
               16 sy-vline,
               17 text-042 ,  " 'success/failure',
               35  sy-vline,
               36 text-043,   " 'document no',
               55 sy-vline,
               56 text-044,   "'Error details',
               125 sy-vline.
      WRITE:/ sy-uline(125).
      LOOP AT it_bdcmsgcoll INTO w_bdcmsgcoll.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = w_bdcmsgcoll-msgid
            lang      = sy-langu
            no        = w_bdcmsgcoll-msgnr
            v1        = w_bdcmsgcoll-msgv1
            v2        = w_bdcmsgcoll-msgv2
            v3        = w_bdcmsgcoll-msgv3
            v4        = w_bdcmsgcoll-msgv4
          IMPORTING
            msg       = lf_msg
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        IF sy-subrc EQ 0.
          WRITE:/01 sy-vline,
                  02 sy-tabix,
                  16 sy-vline,
                  17 w_bdcmsgcoll-msgtyp,
                  35 sy-vline,
                  36 w_bdcmsgcoll-msgv1,
                  55 sy-vline,
                  56 lf_msg,
                  125 sy-vline.
          WRITE:/ sy-uline(125).
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "fr_format_message_text
    Thanks in advance.

    Hi Neelima,
    Just put the following code within that LOOP...ENDLOOP statement.
    LOOP AT it_upload INTO lw_upload.
      CALL TRANSACTION 'FB01' USING it_bdcdata
      MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
      PERFORM fr_format_message_text .
      REFRESH: it_bdcdata.
    ENDLOOP.
    Regards,
    R.Nagarajan.
    We can -

  • Regarding capturing VF01 ERROR logs in a background job

    Hi ,
    We are running a background job that calls transaction VF01 via BDC .
    CALL TRANSACTION 'VF01' USING   bdcdata
                              MODE    S
                              UPDATE  N
                              MESSAGES INTO gt_messtab.
    In some cases billing documents will not be generated. In such cases systems will throw message "Check the log "
    After which we can check the error messages via Menu Edit>logs.
    This error messages (stored in XVBFS internal table) need to captured in the job log  i.e custom programme.
    Unfortunately i could not found any user exits/BADIs that can help me in capturing message.
    Can you please help me how can i solve this issue?
    Thanks in advance
    Manoj
    Edited by: Manoj J on Nov 16, 2011 9:42 AM
    Moderator message : Duplicate post locked, continue with original thread [How to capture error logs of VF01 in a background job log   |Re: How to capture error logs of VF01 in a background job log].
    Edited by: Vinod Kumar on Nov 16, 2011 3:34 PM

    Hi Manoj,
    I had a similar problem.
    I solved it selecting from VBSK the last record of the user regarding elaboration of invoices, and then calling f.m. 'VBSK_ALV_DISPLAY'.
    Otherwise you could call directly transaction "V.21"
    Hope this could help you
    Andrea

  • How to write error log while creating invoice and avoid implicite commit

    Hi,
    I've have written code in exit RV60AFZZ in which I check for some possible errors while invoicing via VF01/VF04. If conditions are met then we create error message and display it to the user. As result we had a lot of missing SD invoices in FI when we did batch/mass invoicing. I've opened OSS note and SAP support team wrote that using statement MESSAGE is forbidden in UE. It can lead to implicite commits.
    Do you have some example how to write error log for invoincing in VF01/VF04 transactions?
    Thanks

    @ sri nath. Please read post before answering. I wouldn't be posting trivial questions. As I wrote before it doesn't work.  Also SAP support would not answer to the question in my OSS.
    In VOFM, SAP is using routine  VBFS_HINZUFUEGEN_ALLG to write to error log.
    Mine is something like this in ue:
          PERFORM ZVBFS_HINZUFUEGEN_ALLG
                     USING VBAP-VBELN VBAP-POSNR  'ZSD' 'E '600'
                           SPACE SPACE SPACE SPACE.
    (we have custom message class)
    As result  XVBFS and VBSK are filled with error, but posting is also done.  Error log is filled but invoice is created and posted in FI.
    That is not OK.
    thanks

  • ORABPEL-08033: EJB Transaction Error

    Hi
    I have a usecase in which procA(sync Service) calling procB (Async Service) and on completion of execution, ProcB gives a non blocking invoke back to procA. Condition: The either of one should be in running state always.
    However there are fault situation in ProcB hence to not to break the sequence we have put a catchAll block which handles/logs and then gives the non blocking invoke back to procA.
    But when ProcB fails somewhere because of some other partner links, it is safely going into catchAll and handling it well and when it tries to do a non blocking invoke it is resulting in following:
    ORABPEL-08033
    EJB Transaction Error.
    EJB exception happened while invoking the partner. Please verify partner service.
    Can somebody give me some leads in this?
    TIA
    regards
    Joy

    I have setup catch statements, both an catch all in the outermost scope and a catch for remote fault at the scope surrounding the call to the AQ. But that's not the issue. The problem is that BPEL don't get the error. The error stay's at the adapter and the BPEL don't come to a failed state.

  • Creation of error log  on input data  and stat report

    I am doing call transaction on <b>C202</b> transaction.my client asked me before uploading the file he needs some validations on input file and he is asking me to create  a log for all the validations.i have to place error lof for all the input data.
    •An error log will record all errors occurring during upload. For each error the list should
    contain the data (line) going in error and an error text in a subsequent column (subsequent to data). The change number used to perform  the upload will be stated in the header of the error list.A txt-file containing the error log will get the same name as the input file, but with an ending –err.xls.
    Therefore no Batch-Input-Session is needed.
    • After execution of the batch input program, the following analysis regarding execution will be shown:
    o Number of records in input file (including title, first line)
    o Number of records successfully updated
    o Number of records in error
    Example:
    Number of records in input file (incl. first line) 4
    Number of records successfully updated:   3
    Number of records in error:      0
    How to do this according to client  requirements.can u help me to get a statastical way to represent errors.  Send me some smpale code for number of errors and no records gets success and no of failed.
    Thanks
    chandrasekhar

    Hai Chandrasekhar
    Go through the following Code
    report Z_CALLTRANS_VENDOR_01
    no standard page heading line-size 255.
    Generated data section with specific formatting - DO NOT CHANGE ***
    data: begin of it_lfa1 occurs 0,
    KTOKK like lfa1-ktokk,
    NAME1 like lfa1-name1,
    SORTL like lfa1-sortl,
    LAND1 like lfa1-land1,
    end of it_lfa1.
    End generated data section ***
    data : it_bdc like bdcdata occurs 0 with header line.
    *DATA: IT_MESSAGES TYPE TABLE OF BDCMSGCOLL WITH HEADER LINE.
    *DATA: LV_MESSAGE(255).
    data : it_messages like bdcmsgcoll occurs 0 with header line.
    data : V_message(255).
    data : V_flag.
    data : V_datum1 type sy-datum.
    data : begin of it_mesg occurs 0,
    message(100),
    end of it_mesg.
    *V_datum1 = sy-datum-1.
    parameters : P_Sess like APQI-GROUPID.
    start-of-selection.
    perform Get_data.
    *perform open_group.
    loop at it_lfa1.
    perform bdc_dynpro using 'SAPMF02K' '0100'.
    perform bdc_field using 'BDC_CURSOR'
    'RF02K-KTOKK'.
    perform bdc_field using 'BDC_OKCODE'
    '/00'.
    perform bdc_field using 'RF02K-KTOKK'
    it_lfa1-KTOKK.
    perform bdc_dynpro using 'SAPMF02K' '0110'.
    perform bdc_field using 'BDC_CURSOR'
    'LFA1-LAND1'.
    perform bdc_field using 'BDC_OKCODE'
    '=UPDA'.
    perform bdc_field using 'LFA1-NAME1'
    it_lfa1-name1.
    perform bdc_field using 'LFA1-SORTL'
    it_lfa1-sortl.
    perform bdc_field using 'LFA1-LAND1'
    it_lfa1-land1.
    call transaction 'XK01' using it_bdc
    mode 'N'
    update 'S'
    messages into it_messages.
    if sy-subrc <> 0.
    if V_flag <> 'X'.
    perform open_group.
    V_flag = 'X'.
    endif.
    perform bdc_transaction. "using 'XK01'.
    endif.
    perform format_messages.
    refresh : it_bdc,it_messages.
    endloop.
    if V_flag = 'X'.
    perform close_group.
    endif.
    *& Form Get_data
    text
    --> p1 text
    <-- p2 text
    FORM Get_data .
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    FILENAME = 'C:\srinu_vendor.txt'
    FILETYPE = 'ASC'
    TABLES
    DATA_TAB = it_lfa1
    EXCEPTIONS
    CONVERSION_ERROR = 1
    INVALID_TABLE_WIDTH = 2
    INVALID_TYPE = 3
    NO_BATCH = 4
    UNKNOWN_ERROR = 5
    GUI_REFUSE_FILETRANSFER = 6
    OTHERS = 7
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " Get_data
    *& Form bdc_dynpro
    text
    -->P_0061 text
    -->P_0062 text
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
    CLEAR it_BDC.
    it_BDC-PROGRAM = PROGRAM.
    it_BDC-DYNPRO = DYNPRO.
    it_BDC-DYNBEGIN = 'X'.
    APPEND it_BDC.
    ENDFORM.
    Insert field *
    FORM BDC_FIELD USING FNAM FVAL.
    CLEAR it_BDC.
    it_BDC-FNAM = FNAM.
    it_BDC-FVAL = FVAL.
    APPEND it_BDC.
    ENDFORM.
    *& Form format_messages
    text
    --> p1 text
    <-- p2 text
    FORM format_messages .
    loop at it_messages.
    CALL FUNCTION 'FORMAT_MESSAGE'
    EXPORTING
    ID = it_messages-MSGID
    LANG = 'EN'
    NO = it_messages-MSGNR
    V1 = it_messages-MSGV1
    V2 = it_messages-MSGV2
    V3 = it_messages-MSGV3
    V4 = it_messages-MSGV4
    IMPORTING
    MSG = V_message
    EXCEPTIONS
    NOT_FOUND = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    write : / V_message.
    clear : V_message.
    endloop.
    ENDFORM. " format_messages
    *& Form open_group
    text
    --> p1 text
    <-- p2 text
    FORM open_group .
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
    CLIENT = SY-MANDT
    GROUP = P_Sess
    HOLDDATE = V_datum1
    KEEP = 'X'
    USER = SY-UNAME
    IF SY-SUBRC = 0.
    write : / 'Session Creating wit Name : ',P_Sess.
    ENDIF.
    ENDFORM. " open_group
    *& Form close_group
    text
    --> p1 text
    <-- p2 text
    FORM close_group .
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    ENDFORM. " close_group
    *& Form bdc_transaction
    text
    -->P_0132 text
    FORM bdc_transaction. "USING VALUE(P_0132).
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
    TCODE = 'XK01'
    POST_LOCAL = NOVBLOCAL
    PRINTING = NOPRINT
    SIMUBATCH = ' '
    CTUPARAMS = ' '
    TABLES
    DYNPROTAB = it_bdc
    EXCEPTIONS
    INTERNAL_ERROR = 1
    NOT_OPEN = 2
    QUEUE_ERROR = 3
    TCODE_INVALID = 4
    PRINTING_INVALID = 5
    POSTING_INVALID = 6
    OTHERS = 7
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " bdc_transaction
    Regards
    Sreeni
    Message was edited by: Sreenivasulu Ponnadi

  • Use global temp table for DML error logging

    our database is 11.2.0.4 enterprise edition on solaris 10
    we are wondering if anyone has an opinion of or has done this before, to use a global temp table for DML error logging. We have a fairly busy transactional database with 2 hot tables for inserts. The regular error table created with dbms_errlog has caused many deadlocks which we don't quite understand yet. we have thought using global temp table for the purpose, and that seemed to work, but we can't read error from the GTT, the table is empty even reading from the same session as inserts. Does anyone have an idea why?
    Thanks

    The insert into the error logging table is done with a recursive transaction therefore it's private from your session which is doing the actual insert.
    Adapted from http://oracle-base.com/articles/10g/dml-error-logging-10gr2.php
    INSERT INTO dest
    SELECT *
    FROM  source
    LOG ERRORS INTO err$_dest ('INSERT') REJECT LIMIT UNLIMITED;
    99,998 rows inserted.
    select count(*) from dest;
      COUNT(*)
        99998
    SELECT *
    FROM  err$_dest
    WHERE  ora_err_tag$ = 'INSERT';
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    1000        Description for 1000
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    10000        Description for 10000
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    1000        Description for 1000
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    10000        Description for 10000
    rollback;
    select count(*) from dest;
      COUNT(*)
            0
    SELECT *
    FROM  err$_dest
    WHERE  ora_err_tag$ = 'INSERT';
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    1000        Description for 1000
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    10000        Description for 10000
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    1000        Description for 1000
    1400    "ORA-01400: cannot insert NULL into ("E668983_DBA"."DEST"."CODE")"        I    INSERT    10000        Description for 10000

  • DML ERROR LOGGING - how to log 1 constraint violation on record

    Hi there
    We are using DML error logging to log records which violate constraints into an error table.
    The problem is when a record violates > 1 constraint it logs the record but details only 1 constraint violation - is there a way to get it to record all constraint violations on an individual record.
    Many Thanks

    In the Netherlands several years ago a framework called CDM RuleFrame was introduced that did just this. Their main thought was that it is desirable to collect all error messages from one transaction and display them all at the end of the transaction.
    [url http://www.dulcian.com/papers/ODTUG/2001/BR%20Symposium%202001/Boyd_BR.htm]Here is an article that explains the concept.
    In short: it involves coding every single business rule as a database trigger using transaction management of CDM RuleFrame.
    I would not recommend it however, because I think [url http://rwijk.blogspot.com/2007/09/database-triggers-are-evil.html]database triggers are evil. However, it may appeal to first time users of an application.
    Hope this helps.
    Regards,
    Rob.
    Message was edited by:
    Rob van Wijk
    But if cannot be "turned on" by some switch: you have to design your system this way. So the short answer to your question is: no, it is not possible.

  • MAXL error logging

    Hi Guys,
    I have a script to import a number of dimensions, this was previously done with an Esscmd script but is now in a MAXL script. Is it possible to write to an error log for each dimensionn I dont seem to be able to get the syntax correct;
    import database Appname.DBname dimensions
    connect as 'user' identified by 'password' using server rules_file 'Products' preserve all data on error append to '\\\server\\share\Products.err',
    connect as 'user' identified by 'password' using server rules_file 'Customer' preserve all data on error append to '\\\server\\share\product.err',
    and so on, this will error at the first comma at the end of line 3, if I replace the comma with semi colon the first statement is executed ok but not the second.
    All help appreciated
    Ed

    What happened is that you used the error file after each transaction, you should add the error file after your last transaction or build. Or if you want to have separate error files you have to have separate statements for each dimension build that starts with 'importdatabase Appname.DBname dimensions'.
    here's a sample of a single statement:
    import database sample.basic dimensions
    from server text data_file 'genref' using server rules_file 'genref' suppress verification,
    from server text data_file 'level' using server rules_file 'level' suppress verification,
    from server text data_file 'time' using server rules_file 'time'
    preserve input data on error append to 'C:\Hyperion\EAS\eas\client\dataload.err';

  • Back ground batch input processing error log handling

    Dear Friends,
    Currently im am scheduling job for batch processing of goods receipt through bapi, now after the succesfull run of this program im appending all the success and error logs in one internal table and sending this table to spool for future reference.
    Is there any other way to handle the error logs??
    bcoz in the method im using every time user has to run transaction sp01 to access that spool request to check the error logs.
    Kindly suggest ....
    Regards,
    Sunny V

    Best way will be creating Application Logs of the reports log.This will be forever in the system unless you delete it.
    Few one time settings are required. After that you can use tcodes
    SLG1 (Analyze application log) and
    SLG2 (Application Log: Delete expired logs).
    For more info take the help from below link:
    [Create Application Log|http://help.sap.com/saphelp_nw04/Helpdata/EN/2a/fa0216493111d182b70000e829fbfe/frameset.htm]
    Let me know if you find any difficulty in doing this.

  • Sales Order Costing Error Log Display

    When I look at Sales Order costing thru VA03 or when I run the Multi-level BOM costing for sales order CK87_99 I can not display the costing error log.  I can generate the log thru VA02, but we need to limit the Sales Order change transaction to the Order Management group and did not want to give change order access to the product cost group. 
    Any options to get the costing error log from VA03?
    Thanks

    I cheeked OKY9 and the Update tab had the "Save Error Log" checked, but on the Misc tab the "Log Messages but do not save" on the error message field was selected.  When I changed the selection to "Log and Save Message" this corrected my problem.
    Your suggestion guided me in the right direction. Thanks,

  • When does a error log is creaded during BDC recording

    hi,
    i am working on Reports, i need to know how the BDC recording works, and when the error log log be created

    Hi anitha,
    You have got a message generated from message class "RQ" with message number "XXX".
    Are you getting this error during recording. Which transaction you are using for recording.
    The error messages will be generated when you documented is not proceesed completly via BDC. You can collect the error messages in to an internal table and print at the end of the program as a report.
    If you are using Call Traansaction
    *------ Declaring Internal Table to Store BDC Errors *----
    DATA: BEGIN OF T_MESSTAB OCCURS 0.
            INCLUDE STRUCTURE BDCMSGCOLL.
    DATA: END OF T_MESSTAB.
    CALL TRANSACTION 'TCODE' USING BDC_TAB MODE 'A'
                           MESSAGES INTO T_MESSTAB.
    LOOP AT T_MESSTAB.
            WRITE / TEXT-001.
            WRITE:/10 T_MESSTAB-DYNAME, 30 T_MESSTAB-DYNUMB.
            WRITE:/10 T_MESSTAB-MSGV1.
    ENDLOOP.
    Lanka

  • Error log in Session method

    Hello friends,
           Is it possible to create error log in session method, just like call transaction ( BDCMSGCOLL) . I want to create error log.
    Is it possible or not, If possible how ?
    Please let me know the answer.
    Thanks,
    Ajay

    Hi,
    * To catch no. of lines in itab.
    DESCRIBE TABLE itab LINES trec.
    * To catch no. of lines in it_err.
    DESCRIBE TABLE it_err LINES erec.
    * Calculation for records which are successfully uploaded.
    srec = trec - erec.
    * Layout for display summary begin.
    WRITE:(60) sy-uline..
    WRITE:/ sy-vline, '             SUMMARY OF TRANSACTION                '
    COLOR COL_HEADING,60 sy-vline..
    WRITE:/(60) sy-uline..
    WRITE:/ sy-vline, 'TOTAL NO. OF RECORDS                       ' COLOR
    COL_TOTAL, 46 sy-vline, 50 trec LEFT-JUSTIFIED, 60 sy-vline.
    WRITE:/(60) sy-uline.
    WRITE:/ sy-vline, 'No Of Records Not Uploaded Successfully are:' COLOR
    COL_NEGATIVE  HOTSPOT ON,50  erec LEFT-JUSTIFIED, 46 sy-vline,60
    sy-vline.
    WRITE:/(60) sy-uline.
    WRITE:/ sy-vline, 'No Of Records Uploded Successfully are:    ' COLOR
    COL_POSITIVE ,50 srec LEFT-JUSTIFIED,46 sy-vline,60 sy-vline.
    WRITE:/(60) sy-uline.
    * Function to create error file.
    CALL FUNCTION 'WS_DOWNLOAD'
      EXPORTING
        filename = 'C:\ERRORS.TXT'
        filetype = 'DAT'
      TABLES
        data_tab = it_err.
    * Subroutine for bdc_dynpro.
    FORM bdc_dynpro USING program dynpro.
      CLEAR bdcdata.
      bdcdata-program  = program.
      bdcdata-dynpro   = dynpro.
      bdcdata-dynbegin = 'X'.
      APPEND bdcdata.
    ENDFORM.                    "BDC_DYNPRO
    * Subroutine for bdc_field.
    FORM bdc_field USING fnam fval.
      CLEAR bdcdata.
      bdcdata-fnam = fnam.
      bdcdata-fval = fval.
      APPEND bdcdata.
    ENDFORM.                    "BDC_FIELD
    * Subroutine for bdc_transaction.
    FORM bdc_transaction USING tcode.
      DATA text(74).
      DATA text1(34).
      DATA text2(20).
      text1 = 'Uploading Data for MATERIAL(MAKTX):' .
      text2 =  '---PLEASE WAIT.'.
      CONCATENATE text1 itab-MAKTX text2 INTO text.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
        EXPORTING
          text   = text
        EXCEPTIONS
          OTHERS = 1.
      REFRESH messtab.
      CALL TRANSACTION tcode USING bdcdata
                        MODE  'N'
    *                    MODE  'A'
                        UPDATE 'S'
                       MESSAGES INTO messtab.
      l_subrc = sy-subrc.
    * Moving data to it_trec.
      MOVE l_subrc TO it_trec-rtcode.
      MOVE itab-line TO it_trec-rec.
      MOVE itab-MAKTX TO it_trec-MAKTX.
      MOVE itab-MATKL TO it_trec-MATKL.
      APPEND it_trec.
    * Looping in bdcmsgcoll structure.
      LOOP AT messtab.
        SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra
                                  AND   arbgb = messtab-msgid
                                  AND   msgnr = messtab-msgnr.
        IF sy-subrc = 0.
          l_mstring = t100-text.
          IF l_mstring CS '&1'.
            REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.
            REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.
            REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.
            REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.
          ELSE.
            REPLACE '&' WITH messtab-msgv1 INTO l_mstring.
            REPLACE '&' WITH messtab-msgv2 INTO l_mstring.
            REPLACE '&' WITH messtab-msgv3 INTO l_mstring.
            REPLACE '&' WITH messtab-msgv4 INTO l_mstring.
          ENDIF.
          CONDENSE :  l_mstring.
          MOVE l_mstring TO it_trec-mess.
          MODIFY it_trec INDEX sy-tabix.
        ENDIF.
    ENDLOOP.
      FORMAT COLOR 4.
    * Catching error records from it_trec & moving to it_err.
      LOOP AT it_trec WHERE rtcode <> 0.
        MOVE-CORRESPONDING it_trec TO it_err.
        APPEND it_err.
      ENDLOOP.
      REFRESH it_trec.
      REFRESH bdcdata.
    Nikhil.
    Edited by: Nikhil Kanegaonkar on May 27, 2009 2:31 PM

Maybe you are looking for

  • Arrow keys on my wired keyboard don't work.  How do I fix these?

    The four (4) arrow keys on my wired keyboard don't work.  How do I fix these? Sorry, I came from a PC and am very new to the Mac. Thanks.

  • XI3.0 Receiver file adapter write to windows shared drive

    Hi, Our XI server SP09 currently runs on windows 2003 server,  I wish to use the receiver file adapter to create a file on another windows server.  I have created a folder on the other server and set permissions so that anyone can read and write to i

  • Duplicate driver lvlib

    Hello, my question is regarding to HW handling "best practice". I have a LV project which connects (beside other things) to a MKS PR4000 control station (this is a digital PSU and readout/controller device for pressure sensors and flow controllers).

  • Create Process Order without requiring a GR

    HI, Does anyone know if it is possible to create an order type for rework purpose that allows us to allocate operations but requires no material goods issue but mainly requires no goods receipt. We need the input batch, Hu's, serial numbers to remain

  • HUGE problem with the updater (i think)

    Ok, So last month my computer crashed and i lost all of my songs. The songs are still on the i-pod though, so is there any way to stop i-tunes from erasing all of my songs when i plug it in again.