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

bdc errors

what type of errors occurs in bdc

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Jan 26, 2007 at 07:05 AM

    The kind of errors which generally occur are related to the data which you are giving where data is not valid, sometimes errors occur even when the recording isnt correct

    You can correct them by using 'Error' mode or Foreground mode where errors are displayed and u can correct ur data accordingly

    check this more info

    https://forums.sdn.sap.com/click.jspa?searchID=907612&messageID=745186

    award points if found helpful

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 26, 2007 at 02:08 PM

    Hi Sunil Kumar

    Execute the bellow code and give one correct record and one in correct record in the flat file which you can upload date for BDC

    Then you will find the Error types.

    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 = 'DAT'

    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

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 26, 2007 at 07:02 AM

    you track all errors in internal table.

    then loop at itab and display all.

    check this link.

    errors in BDC

    regds,

    kiran

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jan 26, 2007 at 07:04 AM

    generally TYPE MISMATCH and FLOW

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 26, 2007 at 07:05 AM

    regarding the error handling in call transaction.

    The BDCMSGCOLL does not have the messages text. It has only the message type, number and message parameters.

    You have to read the message text. (recall that the database table T100 stores all the messages.)

    There are more than one method of doing this.

    Following is the psuedocode for one of the methods.

    LOOP for the internal table IT1 which has data value from flat file.

    call transcation using....

    if SY-SUBRC <> 0.

    Read the dictionary table T100 FOR ALL ENTRIES in BDCMSGCOLL.

    (also use the condition T100-SPRAS = SY-LANGU (the log on language. This is because you need only the message texts in English if the user is logged in English language)

    IF message type is E , then, transfer the contents of this particular error record to file x. (TRANSFER......)

    ( Ignore all other messages. Only consider type 'E' messages. Ignore other types of messages.)

    (You can also store the message text from T100 and the error record in another internal table IT2)

    .....

    ....

    ENDLOOP.

    Cheers

    VJ

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.