Skip to Content

Error With RSDBCSUB

I there guys, i have a big of a problem here in my sap system. My system is SAP R3 Enterprise.

Here's what i have:

I have a program that collects information for creating financial documents, the method i used is creating Batch Input and then process them. I use the SAP standard report RFBIBL00 for creating the BI, and then use the RSBDCSUB for processing the Batch Input.

The program works at some point well, It creates the Batch Input, and then it processes it. The problem is in the RSBDCSUB report that if i put the option EXPORTING LIST TO MEMORY, the program generates a DUMP. I must say that this option must be enabled because the purpose of my program is to send the information to another non sap system via RFC function. If i take this EXPORTING LIST TO MEMORY option, it works really well. I have noticed that the problem is in a function that i think the RSBDCSUB report calls, this function is BDC_PROTOCOL_SELECT that at some point has a SELECT to the APQL table, and it tests if that select returns data, and if it doesn't return it raises an exception INVALID_DATA.

One more thing, if i run the program in Debug Mode and with the EXPORTING TO LIST MEMORY option, it works fine and no DUMP is generated, which makes me think that the problem might be in the update of APQL table, maybe the function BDC_PROTOCOL_SELECT makes an insert in this table and right after makes the select to the table trying to find that record that hadn't had the time to be saved in the table.

Does Anyone know any way to solve this problem?

Here is the code i have and the calls to the report's:

Somewhere in my program i have this:

  • Batch input Creation

SUBMIT rfbibl00 AND RETURN

WITH callmode = 'B'

WITH ds_name = file_as_completo

WITH fl_check = space

WITH max_comm = 1000

WITH os_xon = space

WITH pa_xprot = 'X'

WITH xinf = space

WITH xlog = space

WITH xinf = 'X'

WITH xpop = space.

  • Batch Input Execution

SUBMIT rsbdcsub AND RETURN

EXPORTING LIST TO MEMORY

WITH batchsys = space

WITH bis = sy-datum

WITH fehler = space

WITH logall = space

WITH mappe = pasta

WITH von = sy-datum

WITH z_verarb = 'X'.

The Function that generates the DUMP is BDC_PROTOCOL_SELECT, and is in this SELECT to APQL (right at the end of the function)

SELECT * FROM APQL INTO TABLE APQLTAB

WHERE GROUPID IN R_GROUPID

AND CREATOR IN R_CREATOR

AND STATUS IN R_STATUS

AND MANDANT = CLIENT

AND ( ( CREDATE EQ DATE_FROM

AND CREDATE EQ DATE_TO

AND CRETIME in R_TIME )

OR ( CREDATE EQ DATE_FROM

AND CREDATE NE DATE_TO

AND CRETIME GE TIME_FROM )

OR ( CREDATE NE DATE_FROM

AND CREDATE EQ DATE_TO

AND CRETIME LE TIME_TO )

OR ( CREDATE GT DATE_FROM

AND CREDATE LT DATE_TO ) )

ORDER BY CREDATE DESCENDING CRETIME DESCENDING.

IF SY-SUBRC <> 0.

RAISE INVALID_DATA.

ENDIF.

Below is a link to a file with the DUMP generated.

Dump" target="_blank">http://rapidshare.com/files/17401650/Dump.htm">Dump File

Hopping to hear from you guys,

Ricardo Monteiro

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Feb 20, 2007 at 04:10 PM

    Why do you need the report from RSBDCSUB?

    Rob

    Add a comment
    10|10000 characters needed characters exceeded

    • hia there Rob,

      I've changed the call of the program like this

      SUBMIT rsbdcsub AND RETURN

      TO SAP-SPOOL

      KEEP IN SPOOL ''

      WITHOUT SPOOL DYNPRO

      • EXPORTING LIST TO MEMORY

      WITH batchsys = space

      WITH bis = sy-datum

      WITH fehler = space

      WITH logall = space

      WITH mappe = pasta

      WITH von = sy-datum

      WITH z_verarb = 'X'.

      but the dump continues to appear 😔

      eDITED: Thanks Rob, the problem is solved 😉

      Message was edited by:

      Ricardo Monteiro

  • author's profile photo Former Member
    Former Member
    Posted on Feb 20, 2007 at 04:34 PM

    Hi Ricardo,

    check the Standard program : RPB015FI, In that also the program RSBDCSUB is used as per ur requirement.

    SUBMIT RSBDCSUB WITH MAPPE EQ P_MAP

    WITH VON EQ SY-DATUM

    WITH BIS EQ SY-DATUM

    WITH FEHLER EQ SPACE

    EXPORTING LIST TO MEMORY

    AND RETURN.

    Regards,

    Satya.

    Add a comment
    10|10000 characters needed characters exceeded