<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Select Single Statement in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301457#M158596</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;or you could break it up into bite-sized chunks,&lt;/P&gt;&lt;P&gt;ranges r_docnum2 for vbak-vbeln&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data packsize like sy-dbcnt default 100.&lt;/P&gt;&lt;P&gt;data firstline like sy-dbcnt. &lt;/P&gt;&lt;P&gt;data lastline like sy-dbcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;firstline = 1. &lt;/P&gt;&lt;P&gt;lastline = packsize.&lt;/P&gt;&lt;P&gt;clear sy-dbcnt.&lt;/P&gt;&lt;P&gt;do while sy-dbcnt = 0.&lt;/P&gt;&lt;P&gt;refresh r_docnum2.&lt;/P&gt;&lt;P&gt;loop at r_docnum from firstline to lastline.&lt;/P&gt;&lt;P&gt; append r_docnum to r_docnum2.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single * from edidc&lt;/P&gt;&lt;P&gt;where docnum in r_docnum2&lt;/P&gt;&lt;P&gt;and status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;firstline = firstline + packsize.&lt;/P&gt;&lt;P&gt;lastline = lastline + packsize.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 01 Jun 2006 00:14:54 GMT</pubDate>
    <dc:creator>former_member186741</dc:creator>
    <dc:date>2006-06-01T00:14:54Z</dc:date>
    <item>
      <title>Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301451#M158590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ranges : r_docnum for edidc-docnum.&lt;/P&gt;&lt;P&gt;  constants: c_ready_status(2) type c value '64'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a following select single statement in my code.. &lt;/P&gt;&lt;P&gt;the range r_docnum has more than 1000 records. This select is to check whether any IDoc is in ready status..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; select single * from edidc&lt;/P&gt;&lt;P&gt;        where docnum in r_docnum&lt;/P&gt;&lt;P&gt;        and   status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This statement is giving a short dump.. pls let me know any way of avoiding the short dump.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Suresh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 May 2006 22:21:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301451#M158590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-30T22:21:01Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301452#M158591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use this code&lt;/P&gt;&lt;P&gt;it will work&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RANGES : r_docnum FOR edidc-docnum.&lt;/P&gt;&lt;P&gt;CONSTANTS: c_ready_status(2) TYPE c VALUE '64'.&lt;/P&gt;&lt;P&gt;SELECT * FROM edidc&lt;/P&gt;&lt;P&gt;WHERE docnum IN r_docnum&lt;/P&gt;&lt;P&gt;AND status EQ c_ready_status.&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 May 2006 22:27:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301452#M158591</guid>
      <dc:creator>asarat</dc:creator>
      <dc:date>2006-05-30T22:27:18Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301453#M158592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is there any way you can reduce the size of r_docnum? For example are the numbers consecutive? If so, you could just take the high and low values and that will make your generated sql smaller.&lt;/P&gt;&lt;P&gt;eg&lt;/P&gt;&lt;P&gt;select single * from edidc&lt;/P&gt;&lt;P&gt;where docnum between low_docnum and high_docnum&lt;/P&gt;&lt;P&gt;and status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or if the numbers aren't actually consecutive but contain several groups of consecutive numbers you could put your own logic in to reduce the number of entries in r_docnum by replacing each group of entries with consecutive numbers with a 'BT' entry with the appropriate low and high values. &lt;/P&gt;&lt;P&gt;eg,&lt;/P&gt;&lt;P&gt;  sort r_docnum.&lt;/P&gt;&lt;P&gt;  CLEAR r_docnum2.&lt;/P&gt;&lt;P&gt;  LOOP AT r_docnum.&lt;/P&gt;&lt;P&gt;    IF NOT r_docnum2-low IS INITIAL.&lt;/P&gt;&lt;P&gt;      currdiff = r_docnum-low - prevnum.&lt;/P&gt;&lt;P&gt;      IF currdiff = 1.&lt;/P&gt;&lt;P&gt;        r_docnum2-high = r_docnum-low.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IF r_docnum2-high IS INITIAL.&lt;/P&gt;&lt;P&gt;          r_docnum2-option = 'EQ'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          r_docnum2-option = 'BT'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        APPEND r_docnum2.&lt;/P&gt;&lt;P&gt;        CLEAR r_docnum2.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    prevnum = r_docnum-low.&lt;/P&gt;&lt;P&gt;    IF r_docnum2 IS INITIAL.&lt;/P&gt;&lt;P&gt;      r_docnum2-low = r_docnum-low.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    AT last.&lt;/P&gt;&lt;P&gt;      IF r_docnum2-high IS INITIAL.&lt;/P&gt;&lt;P&gt;        r_docnum2-option = 'EQ'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        r_docnum2-option = 'BT'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      APPEND r_docnum2.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  r_docnum[] = r_docnum2[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or where are you getting the r_docnum values from? If they are coming from a database table maybe could could change your select to use a join rather han storing the values in your range?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 00:46:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301453#M158592</guid>
      <dc:creator>former_member186741</dc:creator>
      <dc:date>2006-05-31T00:46:38Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301454#M158593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try using SELECT UPTO 1 ROWS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select * from edidc upto 1 rows&lt;/P&gt;&lt;P&gt;where docnum in r_docnum&lt;/P&gt;&lt;P&gt;and status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;Note : Please mark the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 00:48:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301454#M158593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T00:48:00Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301455#M158594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you have populated R_DOCNUM through some logic say--&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop at itab.&lt;/P&gt;&lt;P&gt;r_docnum-sign = 'I'.&lt;/P&gt;&lt;P&gt;..&lt;/P&gt;&lt;P&gt;r_docnum-low = itab-docnum.&lt;/P&gt;&lt;P&gt;append r_docnum.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then you can try to..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single * from edidc&lt;/P&gt;&lt;P&gt;where docnum eq itab-docnum&lt;/P&gt;&lt;P&gt;and status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;although this is not advisable (too many selects happening) you can avoid short dump with this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 01:35:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301455#M158594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T01:35:47Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301456#M158595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Suresh,&lt;/P&gt;&lt;P&gt;   Ranges doesn't work if you have too many entries in it and it gives a short dump.&lt;/P&gt;&lt;P&gt;instead of ranges try using a internal table with the following statement&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single * from edidc &lt;/P&gt;&lt;P&gt;for all entries in itab&lt;/P&gt;&lt;P&gt;where status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;itab contains all the edidc-docnum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kinshuk&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 May 2006 04:27:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301456#M158595</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-05-31T04:27:56Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301457#M158596</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;or you could break it up into bite-sized chunks,&lt;/P&gt;&lt;P&gt;ranges r_docnum2 for vbak-vbeln&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data packsize like sy-dbcnt default 100.&lt;/P&gt;&lt;P&gt;data firstline like sy-dbcnt. &lt;/P&gt;&lt;P&gt;data lastline like sy-dbcnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;firstline = 1. &lt;/P&gt;&lt;P&gt;lastline = packsize.&lt;/P&gt;&lt;P&gt;clear sy-dbcnt.&lt;/P&gt;&lt;P&gt;do while sy-dbcnt = 0.&lt;/P&gt;&lt;P&gt;refresh r_docnum2.&lt;/P&gt;&lt;P&gt;loop at r_docnum from firstline to lastline.&lt;/P&gt;&lt;P&gt; append r_docnum to r_docnum2.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single * from edidc&lt;/P&gt;&lt;P&gt;where docnum in r_docnum2&lt;/P&gt;&lt;P&gt;and status eq c_ready_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;firstline = firstline + packsize.&lt;/P&gt;&lt;P&gt;lastline = lastline + packsize.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;enddo.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Jun 2006 00:14:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301457#M158596</guid>
      <dc:creator>former_member186741</dc:creator>
      <dc:date>2006-06-01T00:14:54Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301458#M158597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think the dump he is getting is SQL statement too large. This is because of too many entries in r_docnum. What you need to do is to remove the r_docnum from the where clause and put it after it as follows.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DATA: BEGIN OF itab occurs 0.
        INCLUDE STRUCTURE edidc.
DATA: END OF itab.

SELECT * FROM edidc INTO TABLE itab
        WHERE status = c_ready_status.
DELETE itab WHERE NOT docnum IN r_docnum.
READ TABLE itab INDEX 1.
IF sy-subrc = 0.
*-- at least one document is in ready status
ELSE.
ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Jun 2006 03:49:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301458#M158597</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-06-01T03:49:00Z</dc:date>
    </item>
    <item>
      <title>Re: Select Single Statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301459#M158598</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;removing r_docnum from the sql will certainly solve the dump problem........ but execution time could become an issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think reducing the size of r_docnum or chunking it so that sql can deal with it is the better approach.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Jun 2006 04:01:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/select-single-statement/m-p/1301459#M158598</guid>
      <dc:creator>former_member186741</dc:creator>
      <dc:date>2006-06-01T04:01:39Z</dc:date>
    </item>
  </channel>
</rss>

