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: 

Dump in JOIN Query

Former Member
0 Kudos

Hello guys, I have a report. in this report I have some queries, if I execute my report with parameters, this does work well, but if I run my report without parameters to filter in query, the report its very slow and I get a Dump. My query where I get the error in code below:


SELECT   d~j_3gbelnri

              d~j_3gposnri

              d~eqart  " Categoria del Equipo

              d~vbeln  " Documento Venta

              d~posnr  "Posicion

              d~netwr  "Valor Neto

              d~waerk  "Moneda

              d~zmeng

              e~vbeln AS vbeln2 "vbeln de la VBRP

              f~knumv

              g~fkdat

              g~rfbsk

     

       FROM vbap AS d

       INNER JOIN vbrp AS e ON e~j_3gbelnri = d~j_3gbelnri

       AND e~vgpos = d~posnr

       INNER JOIN vbak AS f ON d~vbeln = f~vbeln

      INNER JOIN vbrk AS g ON  g~vbeln = e~vbeln

      "INNER JOIN t37ok as h ON

      INTO TABLE it_alv2

       WHERE d~j_3gbelnri IN p_etm.

The dump in image below:

Could anyone can help to let me know if this error its for TimeOut or other? please help me or please tell me if you can see any error in my query.

4 REPLIES 4

Former Member
0 Kudos

This dump usually means that the roll buffer has been exhausted.

Refer note: 185185 - Investigating memory bottlenecks w/o the Memory Inspector

matt
Active Contributor
0 Kudos

Luis Roberto franco wrote:

Hello guys, I have a report. in this report I have some queries, if I execute my report with parameters, this does work well, but if I run my report without parameters to filter in query, the report its very slow and I get a Dump.

If you'd bothered to search, or apply a little thought, you would have realise the dump is an "out of memory " error. That means you've selected too much data for your session to hold. The clue as to why this is happening I've highlighted above.

Former Member
0 Kudos

I solved  my issue with query below:


SELECT   d~j_3gbelnri

              d~j_3gposnri

              d~eqart  " Categoria del Equipo

              d~vbeln  " Documento Venta

              d~posnr  "Posicion

              d~netwr  "Valor Neto

              d~waerk  "Moneda

              d~zmeng "

              e~vbeln AS vbeln2 "vbeln de la VBRP

              f~knumv

              g~fkdat

              g~rfbsk

              "h~eqart as EARTX

       FROM vbap AS d

       INNER JOIN vbrp AS e ON e~j_3gbelnri = d~j_3gbelnri

       AND e~vgpos = d~posnr

       INNER JOIN vbak AS f ON d~vbeln = f~vbeln

      INNER JOIN vbrk AS g ON  g~vbeln = e~vbeln

      "INNER JOIN t37ok as h ON

      INTO TABLE it_alv2

       "WHERE d~j_3gbelnri IN p_etm.

         FOR ALL ENTRIES IN IT_ALV

         WHERE d~j_3gbelnri EQ IT_ALV-j_3gbelnri.

Regards

matt
Active Contributor
0 Kudos

You've not exactly fixed it - you've just put in another selection to narrow the result set.

FOR ALL ENTRIES is in most cases worse performing than a properly constructed INNER JOIN. Sometimes, it is unavoidable - e.g. if you've already got the reference table (in this case IT_ALV) filled from another source over which you've not much control.

If you do use it, you should always check that IT_ALV is not empty - otherwise you again have no narrowing selection.