Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

To view messages in call transaction

Former Member
0 Kudos

Hi all,

I am facing some problem in BDC call transaction.Call transacion f.80 returns with the error message.I want to know where the error message is getting populated inside the call transaction.And also i tried debugging with update value as "A".Still i didn't find the error message where it is populated.

1 ACCEPTED SOLUTION

satyajit_mohapatra
Active Contributor
0 Kudos

It's a functionality of CALL TRANSACTION, which stores all messages for each run in an internal table of type BDCMSGCOLL.

Please let us know your exact requirement.

13 REPLIES 13

Former Member
0 Kudos

Hello,

Are you populating the messages using the MESSAGES INTO addition of the call transaction? If yes check that. Also try running the bdc in the mode 'E'. It will exactly stop where the error is encountered

Vikranth

satyajit_mohapatra
Active Contributor
0 Kudos

Could you share the details of the error, you are getting?

0 Kudos

I am using the following code

CALL TRANSACTION c_f80 USING i_bdcdata

MODE v_mode " 'N'

UPDATE v_update " 'S'

MESSAGES INTO i_messtab.

*---Save the return code

MOVE sy-subrc TO v_subrc.

*---Get the last message

DESCRIBE TABLE i_messtab LINES v_msglines.

READ TABLE i_messtab INTO w_messtab INDEX v_msglines.

i_messtab has two values in it.As per the code the second value is taken into w_messtab.

I want to know how these values are populated in the i_messtab

Edited by: ManjuRamani on Apr 13, 2010 9:23 AM

0 Kudos

Simple answer is you cannot.

To explain the behaviour, CALL TRANSACTION is kind of a blackbox where you dont know why & where the messages are triggered.

I am not sure if a Batch Input method can help you in this, but you can give it a try. May be you can try replicating the scenario by manually using the transaction. Does the message text not throw some light on what might be the possible cause ?

BR,

Suhas

0 Kudos

The messages are populated into messtab, based on the standard code written for the T-Code for which BDC is recorded.

Regards

Vinod

Former Member
0 Kudos

Hi

Try this piece of code

data : messtab like bdcmsgcoll occurs 0 with header line.
data : it_msg type standard table of ty_msg,
       wa_msg type ty_msg.

  call transaction <tcode> using bdcdata
                          mode bdcmode
                          messages into messtab.

  refresh : it_msg.
  loop at messtab.
    clear : wa_msg.
    move-corresponding messtab to wa_msg.
    call function 'FORMAT_MESSAGE'
      exporting
        id        = messtab-msgid
        lang      = sy-langu
        no        = messtab-msgnr
        v1        = messtab-msgv1
        v2        = messtab-msgv2
        v3        = messtab-msgv3
        v4        = messtab-msgv4
      importing
        msg       = wa_msg-msg
      exceptions
        not_found = 1
        others    = 2.
    append wa_msg to it_msg.
  endloop.

internal table it_msg will have the formatted BDC Messages.

Regards

Vinod

satyajit_mohapatra
Active Contributor
0 Kudos

It's a functionality of CALL TRANSACTION, which stores all messages for each run in an internal table of type BDCMSGCOLL.

Please let us know your exact requirement.

0 Kudos

I_messtab has two values as

SA38 SAPMSSY0 1000 S E FU 050 PROCESSING COMPLETED.

SA38 SAPLKKBL 0500 S E SY 374 00000005275 LOCL

The exact problem is that we are call transaction in bdc f.80 to reverse the document and save the status to custom table.

After the system upgrade to SAP ECC6.0 , while running the code in background mode.It shows some error in updating the table.We found the error lies in call transaction i_messtab.

In the above i_messab values , second row is taken into the code and throws error.

Want to know how the value SY and 374 is getting populated in the i_messtab

How to overcome this error?Please help me.

Edited by: ManjuRamani on Apr 13, 2010 9:49 AM

0 Kudos

Hi,

SA38 SAPLKKBL 0500 S E SY 374 00000005275 LOCL = "Spool request (number 00000005275) sent to SAP printer LOCL"

is not an error message. It is just an information.

Regards

Vinod

0 Kudos

Hi Vinod,

Thanks for the information.

How to overcome this issue?

0 Kudos

What is the issue you are facing here? The message clearly tells that the processing is completed and as pointed out, the spool is sent to the LOCL printer which is a information message. Is the table not being updated now ?

0 Kudos

Messtab doesn't have any records with message type E (Error), means transaction has been successfully completed.

Regards

Vinod

Former Member
0 Kudos

Hi,

You wont be able to check that with BDC.

You will have to run the transaction manually. Before that put a dynamic break-point on the statement message.

This way you can check at which point you are getting the message.

Hopr it helps,

Raj