<?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: Where condition in Loop statement in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217647#M1378542</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;try this way....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

FIELD-SYMBOLS: &amp;lt;fs_stru&amp;gt; TYPE ANY.   "declare this

TYPES: BEGIN OF t_data,
deal_no TYPE int4,
count TYPE int4,
index TYPE n,
END OF t_data.


DATA: int_data TYPE STANDARD TABLE OF t_data,
wa_data TYPE t_data,
lv_diff TYPE int4 VALUE '1090',
v_job_index TYPE i VALUE '111'.



wa_data-deal_no = 1.
wa_data-count = 655.
APPEND wa_data TO int_data.

wa_data-deal_no = 1.
wa_data-count = 656.
APPEND wa_data TO int_data.

"new loop
LOOP AT int_data INTO &amp;lt;fs_stru&amp;gt; WHERE index IS INITIAL
AND count &amp;lt;= lv_diff.
lv_diff = lv_diff - &amp;lt;fs_stru&amp;gt;-count.
&amp;lt;fs_stru&amp;gt;-index = v_job_index.
ENDLOOP.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Prabhudas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Sep 2009 14:58:30 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-09-25T14:58:30Z</dc:date>
    <item>
      <title>Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217646#M1378541</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;I came across a weird problem in a where condtion in loop statment. Please try the below code in your system:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ztest_report                            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_data,&lt;/P&gt;&lt;P&gt;       deal_no TYPE int4,&lt;/P&gt;&lt;P&gt;       count TYPE int4,&lt;/P&gt;&lt;P&gt;       index TYPE n,&lt;/P&gt;&lt;P&gt;       END OF t_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: int_data TYPE STANDARD TABLE OF t_data,&lt;/P&gt;&lt;P&gt;      wa_data TYPE t_data,&lt;/P&gt;&lt;P&gt;      lv_diff TYPE int4 VALUE '1090',&lt;/P&gt;&lt;P&gt;      v_job_index TYPE i VALUE '111'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_data-deal_no = 1.&lt;/P&gt;&lt;P&gt;wa_data-count   = 655.&lt;/P&gt;&lt;P&gt;APPEND wa_data TO int_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_data-deal_no = 1.&lt;/P&gt;&lt;P&gt;wa_data-count   = 656.&lt;/P&gt;&lt;P&gt;APPEND wa_data TO int_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT int_data INTO wa_data WHERE index IS INITIAL&lt;/P&gt;&lt;P&gt;                              AND count &amp;lt;= lv_diff.&lt;/P&gt;&lt;P&gt;  lv_diff = lv_diff - wa_data-count.&lt;/P&gt;&lt;P&gt;  wa_data-index = v_job_index.&lt;/P&gt;&lt;P&gt;  MODIFY int_data FROM wa_data TRANSPORTING index.&lt;/P&gt;&lt;P&gt;  WRITE:/ 'modified'.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The expected output is, 'modified' written in the output screen once. But it writes twice because I can see in debugging mode that control goes into the loop second time also (when lv_diff is 453 which is not greater than 656).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried giving a check condition inside the loop and it worked fine. I changed the value of lv_diff to 600, in that case it doesn't go into the loop itself.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anybody explain me what is the real problem with this logic?&lt;/P&gt;&lt;P&gt;Also would like to know if there is any rule that says this type of conditions should not be used within the loop. I'm having an impression that, it should work with the where condition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any pointers on this is very much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 14:50:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217646#M1378541</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-25T14:50:38Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217647#M1378542</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;try this way....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;

FIELD-SYMBOLS: &amp;lt;fs_stru&amp;gt; TYPE ANY.   "declare this

TYPES: BEGIN OF t_data,
deal_no TYPE int4,
count TYPE int4,
index TYPE n,
END OF t_data.


DATA: int_data TYPE STANDARD TABLE OF t_data,
wa_data TYPE t_data,
lv_diff TYPE int4 VALUE '1090',
v_job_index TYPE i VALUE '111'.



wa_data-deal_no = 1.
wa_data-count = 655.
APPEND wa_data TO int_data.

wa_data-deal_no = 1.
wa_data-count = 656.
APPEND wa_data TO int_data.

"new loop
LOOP AT int_data INTO &amp;lt;fs_stru&amp;gt; WHERE index IS INITIAL
AND count &amp;lt;= lv_diff.
lv_diff = lv_diff - &amp;lt;fs_stru&amp;gt;-count.
&amp;lt;fs_stru&amp;gt;-index = v_job_index.
ENDLOOP.


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Prabhudas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 14:58:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217647#M1378542</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-25T14:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217648#M1378543</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;edited&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Prabhu Das on Sep 25, 2009 8:29 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 14:58:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217648#M1378543</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-25T14:58:39Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217649#M1378544</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;gt; The logical expression declared after WHERE is evaluated once when entering the loop. Any changes to the second operand during loop processing are ignored&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/abapdocu_70/en/ABAPLOOP_AT_ITAB_COND.htm#!ABAP_ADDITION_3@3@" target="test_blank"&gt;http://help.sap.com/abapdocu_70/en/ABAPLOOP_AT_ITAB_COND.htm#!ABAP_ADDITION_3@3@&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 15:13:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217649#M1378544</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2009-09-25T15:13:04Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217650#M1378545</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From ABAP help, you can see that the loop's WHERE condition is executed at the entry into the loop not effected by subsequent changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Notes&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;The logical expression specified after WHERE is analyzed &lt;U&gt;once at entry into the loop&lt;/U&gt;. Possible changes of the second operand during loop processing are not taken into account.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 15:23:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217650#M1378545</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-25T15:23:42Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217651#M1378546</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;oops Thomas beat me to it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 15:24:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217651#M1378546</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-25T15:24:13Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217652#M1378547</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Confirms that we have a point &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Good weekend&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 15:26:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217652#M1378547</guid>
      <dc:creator>ThomasZloch</dc:creator>
      <dc:date>2009-09-25T15:26:04Z</dc:date>
    </item>
    <item>
      <title>Re: Where condition in Loop statement</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217653#M1378548</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yet another reason not to change a table that you are looping through.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Sep 2009 15:33:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/where-condition-in-loop-statement/m-p/6217653#M1378548</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-25T15:33:00Z</dc:date>
    </item>
  </channel>
</rss>

