Skip to Content
author's profile photo Former Member
Former Member

Creation of error log on input data and stat report

I am doing call transaction on C202 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

Add comment
10|10000 characters needed characters exceeded

1 Answer

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 06:54 PM

    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

    Add comment
    10|10000 characters needed characters exceeded