<?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 WRONG OUTPUT in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278950#M1633604</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;i am getting wrong output when executing the below code&lt;/P&gt;&lt;P&gt;i.e the output is coming regard less of the order number  in select statement.&lt;/P&gt;&lt;P&gt;Kindly please help me.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  ZTEMP2.

TYPES: BEGIN OF TY_BKPF,
       MONAT TYPE MONAT,
       BUDAT TYPE BUDAT,
       BELNR TYPE BELNR_D,
       GJAHR TYPE GJAHR,
       BUKRS TYPE BUKRS,
END OF TY_BKPF.

TYPES: BEGIN OF TY_BSEG,
       BUKRS TYPE BUKRS,
       BELNR TYPE BELNR_D,
       GJAHR TYPE GJAHR,
       HKONT TYPE HKONT,
       WRBTR TYPE WRBTR,
       SGTXT TYPE SGTXT,
       AUFNR TYPE AUFNR,
END OF TY_BSEG.



TYPES: BEGIN OF TY_COLL,
       MONAT TYPE MONAT,
       BUDAT TYPE BUDAT,
       BELNR TYPE BELNR_D,
       WRBTR TYPE WRBTR,
       SGTXT TYPE SGTXT,
END OF TY_COLL.

DATA: TOT LIKE BSEG-WRBTR.


DATA: IT_BKPF TYPE TABLE OF TY_BKPF,
      WA_BKPF TYPE TY_BKPF,
      IT_BSEG TYPE TABLE OF TY_BSEG,
      WA_BSEG TYPE TY_BSEG,
      IT_COLL TYPE TABLE OF TY_COLL,
      WA_COLL TYPE TY_COLL.

SELECTION-SCREEN: BEGIN OF BLOCK B1.
SELECT-OPTIONS: S_HKONT FOR WA_BSEG-HKONT memory id one,
                S_AUFNR FOR WA_BSEG-AUFNR memory id twq,
                S_BELNR FOR WA_BKPF-BELNR memory id twe,
                S_BUDAT FOR WA_BKPF-BUDAT memory id two.
SELECTION-SCREEN: END OF BLOCK B1.



START-OF-SELECTION.

SELECT MONAT
       BUDAT
       BELNR
       GJAHR
       BUKRS FROM BKPF
       INTO TABLE IT_BKPF
       WHERE BELNR IN S_BELNR
       AND  BUDAT IN S_BUDAT.

IF NOT IT_BKPF[] IS INITIAL.


  SELECT BUKRS
         BELNR
         GJAHR
         HKONT
         WRBTR
         SGTXT
         AUFNR FROM BSEG
         INTO TABLE IT_BSEG
         FOR ALL ENTRIES IN IT_BKPF
         WHERE HKONT IN S_HKONT
         AND AUFNR IN S_AUFNR
         AND BELNR IN S_BELNR
         AND GJAHR = IT_BKPF-GJAHR
         AND BUKRS = IT_BKPF-BUKRS.


ENDIF.


END-OF-SELECTION.


SORT IT_BKPF BY MONAT.
SORT IT_BSEG BY HKONT.

LOOP AT IT_BKPF INTO WA_BKPF.

Read table IT_BSEG INTO WA_BSEG WITH KEY BUKRS = WA_BKPF-BUKRS
                                         BELNR = WA_BKPF-BELNR
                                         GJAHR = WA_BKPF-GJAHR BINARY SEARCH.

WA_COLL-BELNR = WA_BKPF-BELNR.
WA_COLL-BUDAT = WA_BKPF-BUDAT.
WA_COLL-WRBTR = WA_BSEG-WRBTR.
WA_COLL-SGTXT = WA_BSEG-SGTXT.
WA_COLL-MONAT = WA_BKPF-MONAT.
COLLECT WA_COLL INTO IT_COLL.
CLEAR: WA_BKPF, WA_BSEG.


ENDLOOP.


SORT IT_COLL BY MONAT.
LOOP AT IT_COLL INTO WA_COLL.

    WRITE:/06 WA_COLL-BELNR,
           22 WA_COLL-BUDAT,
           32 WA_COLL-WRBTR,
           54 WA_COLL-SGTXT.

    AT end of MONAT.
      SUM.
      WRITE:/ WA_COLL-MONAT.
      WRITE:32 WA_COLL-WRBTR.
    ENDAT.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;ben2012.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 Oct 2011 10:53:43 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2011-10-11T10:53:43Z</dc:date>
    <item>
      <title>WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278950#M1633604</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;i am getting wrong output when executing the below code&lt;/P&gt;&lt;P&gt;i.e the output is coming regard less of the order number  in select statement.&lt;/P&gt;&lt;P&gt;Kindly please help me.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  ZTEMP2.

TYPES: BEGIN OF TY_BKPF,
       MONAT TYPE MONAT,
       BUDAT TYPE BUDAT,
       BELNR TYPE BELNR_D,
       GJAHR TYPE GJAHR,
       BUKRS TYPE BUKRS,
END OF TY_BKPF.

TYPES: BEGIN OF TY_BSEG,
       BUKRS TYPE BUKRS,
       BELNR TYPE BELNR_D,
       GJAHR TYPE GJAHR,
       HKONT TYPE HKONT,
       WRBTR TYPE WRBTR,
       SGTXT TYPE SGTXT,
       AUFNR TYPE AUFNR,
END OF TY_BSEG.



TYPES: BEGIN OF TY_COLL,
       MONAT TYPE MONAT,
       BUDAT TYPE BUDAT,
       BELNR TYPE BELNR_D,
       WRBTR TYPE WRBTR,
       SGTXT TYPE SGTXT,
END OF TY_COLL.

DATA: TOT LIKE BSEG-WRBTR.


DATA: IT_BKPF TYPE TABLE OF TY_BKPF,
      WA_BKPF TYPE TY_BKPF,
      IT_BSEG TYPE TABLE OF TY_BSEG,
      WA_BSEG TYPE TY_BSEG,
      IT_COLL TYPE TABLE OF TY_COLL,
      WA_COLL TYPE TY_COLL.

SELECTION-SCREEN: BEGIN OF BLOCK B1.
SELECT-OPTIONS: S_HKONT FOR WA_BSEG-HKONT memory id one,
                S_AUFNR FOR WA_BSEG-AUFNR memory id twq,
                S_BELNR FOR WA_BKPF-BELNR memory id twe,
                S_BUDAT FOR WA_BKPF-BUDAT memory id two.
SELECTION-SCREEN: END OF BLOCK B1.



START-OF-SELECTION.

SELECT MONAT
       BUDAT
       BELNR
       GJAHR
       BUKRS FROM BKPF
       INTO TABLE IT_BKPF
       WHERE BELNR IN S_BELNR
       AND  BUDAT IN S_BUDAT.

IF NOT IT_BKPF[] IS INITIAL.


  SELECT BUKRS
         BELNR
         GJAHR
         HKONT
         WRBTR
         SGTXT
         AUFNR FROM BSEG
         INTO TABLE IT_BSEG
         FOR ALL ENTRIES IN IT_BKPF
         WHERE HKONT IN S_HKONT
         AND AUFNR IN S_AUFNR
         AND BELNR IN S_BELNR
         AND GJAHR = IT_BKPF-GJAHR
         AND BUKRS = IT_BKPF-BUKRS.


ENDIF.


END-OF-SELECTION.


SORT IT_BKPF BY MONAT.
SORT IT_BSEG BY HKONT.

LOOP AT IT_BKPF INTO WA_BKPF.

Read table IT_BSEG INTO WA_BSEG WITH KEY BUKRS = WA_BKPF-BUKRS
                                         BELNR = WA_BKPF-BELNR
                                         GJAHR = WA_BKPF-GJAHR BINARY SEARCH.

WA_COLL-BELNR = WA_BKPF-BELNR.
WA_COLL-BUDAT = WA_BKPF-BUDAT.
WA_COLL-WRBTR = WA_BSEG-WRBTR.
WA_COLL-SGTXT = WA_BSEG-SGTXT.
WA_COLL-MONAT = WA_BKPF-MONAT.
COLLECT WA_COLL INTO IT_COLL.
CLEAR: WA_BKPF, WA_BSEG.


ENDLOOP.


SORT IT_COLL BY MONAT.
LOOP AT IT_COLL INTO WA_COLL.

    WRITE:/06 WA_COLL-BELNR,
           22 WA_COLL-BUDAT,
           32 WA_COLL-WRBTR,
           54 WA_COLL-SGTXT.

    AT end of MONAT.
      SUM.
      WRITE:/ WA_COLL-MONAT.
      WRITE:32 WA_COLL-WRBTR.
    ENDAT.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;ben2012.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 10:53:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278950#M1633604</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-11T10:53:43Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278951#M1633605</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;&lt;/P&gt;&lt;P&gt;IF you don't pass order no still it will execute the code because  you have Used  select-options : S_AUFNR  FOR  bseg-aufnr  without Obligatory   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Either use PARAMETER    for single value   and make it obligatory   and passvalue   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think you should Go For INNER JOIN  on BSEG and BKPF  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Deepak.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:01:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278951#M1633605</guid>
      <dc:creator>deepak_dhamat</dc:creator>
      <dc:date>2011-10-11T11:01:47Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278952#M1633606</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi thanks for your reply,&lt;/P&gt;&lt;P&gt;but i am entering all the fields in the selection screen.&lt;/P&gt;&lt;P&gt;Even though i am getting data based on date only (i.e it is not considering order number)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And bseg is not allowed for innerjoin..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly suggest me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;ben.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:05:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278952#M1633606</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-11T11:05:10Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278953#M1633607</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;&lt;/P&gt;&lt;P&gt;1)Before passign BKPF data  to BSEG   . delete duplicate reocrds  . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;LOOP AT IT_BKPF INTO WA_BKPF.
 
Read table IT_BSEG INTO WA_BSEG WITH KEY BUKRS = WA_BKPF-BUKRS
                                         BELNR = WA_BKPF-BELNR
                                         GJAHR = WA_BKPF-GJAHR BINARY SEARCH.

IF sy-subrc = 0 .

 
WA_COLL-BELNR = WA_BKPF-BELNR.
WA_COLL-BUDAT = WA_BKPF-BUDAT.
WA_COLL-WRBTR = WA_BSEG-WRBTR.
WA_COLL-SGTXT = WA_BSEG-SGTXT.
WA_COLL-MONAT = WA_BKPF-MONAT.

append  it_coll  using  wa_coll .

endif.

CLEAR: WA_BKPF, WA_BSEG wa_coll.

 
ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Deepak.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:13:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278953#M1633607</guid>
      <dc:creator>deepak_dhamat</dc:creator>
      <dc:date>2011-10-11T11:13:12Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278954#M1633608</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;In the select, please select in the below order (key fields first)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT BUKRS&lt;/P&gt;&lt;P&gt;              BELNR&lt;/P&gt;&lt;P&gt;              GJAHR&lt;/P&gt;&lt;P&gt;              BUDAT&lt;/P&gt;&lt;P&gt;              MONAT&lt;/P&gt;&lt;P&gt;              FROM BKPF&lt;/P&gt;&lt;P&gt;       INTO TABLE IT_BKPF&lt;/P&gt;&lt;P&gt;       WHERE BELNR IN S_BELNR&lt;/P&gt;&lt;P&gt;       AND  BUDAT IN S_BUDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Ashwin Kumar Chitram on Oct 11, 2011 1:15 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:14:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278954#M1633608</guid>
      <dc:creator>former_member212854</dc:creator>
      <dc:date>2011-10-11T11:14:30Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278955#M1633609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for your reply&lt;/P&gt;&lt;P&gt;but am getting error &lt;/P&gt;&lt;P&gt;at&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
append  it_coll  using  wa_coll . " wa_coll is not table with occurs n

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:20:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278955#M1633609</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-11T11:20:49Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278956#M1633610</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;append  internal table it_coll using your work area   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Deepak.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:30:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278956#M1633610</guid>
      <dc:creator>deepak_dhamat</dc:creator>
      <dc:date>2011-10-11T11:30:18Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278957#M1633611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;&lt;SPAN __default_attr="red" __jive_macro_name="color"&gt;Moderator message&lt;/SPAN&gt;&lt;/STRONG&gt; Please use a meaningful subject, and do not put it in ALL CAPITALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:34:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278957#M1633611</guid>
      <dc:creator>matt</dc:creator>
      <dc:date>2011-10-11T11:34:28Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278958#M1633612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ben,&lt;/P&gt;&lt;P&gt;            Your code works as expected. Although i wish to highlight some corrections as shown below.. apply it and try if it suits your requirement...&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  SELECT BUKRS
BELNR
GJAHR
HKONT
WRBTR
SGTXT
AUFNR FROM BSEG
INTO TABLE IT_BSEG
WHERE HKONT IN S_HKONT
AND AUFNR IN S_AUFNR
AND BELNR IN S_BELNR.


IF NOT IT_BSEG[] IS INITIAL.


  SELECT MONAT
  BUDAT
  BELNR
  GJAHR
  BUKRS FROM BKPF
  INTO TABLE IT_BKPF
  FOR ALL ENTRIES IN IT_BSEG
  WHERE BELNR = IT_BSEG-BELNR
  AND  BUKRS  = IT_BSEG-BUKRS
  AND  GJAHR  = IT_BSEG-GJAHR
  AND  BUDAT  IN S_BUDAT.

ENDIF.


END-OF-SELECTION.

SORT IT_BKPF BY MONAT.
SORT IT_BSEG BY HKONT.

*Looping at bseg will aggregate amount of all the items of an acoounting document.
*LOOP AT IT_BKPF INTO WA_BKPF.
LOOP AT IT_BSEG INTO WA_BSEG.
*  READ TABLE IT_BSEG INTO WA_BSEG WITH KEY BUKRS = WA_BKPF-BUKRS
*                                           BELNR = WA_BKPF-BELNR
*                                           GJAHR = WA_BKPF-GJAHR
*                                  BINARY SEARCH.

  READ TABLE IT_BKPF INTO WA_BKPF WITH KEY BUKRS = WA_BSEG-BUKRS
                                           BELNR = WA_BSEG-BELNR
                                           GJAHR = WA_BSEG-GJAHR
                                  BINARY SEARCH.

  WA_COLL-BELNR = WA_BKPF-BELNR.
  WA_COLL-BUDAT = WA_BKPF-BUDAT.
  WA_COLL-WRBTR = WA_BSEG-WRBTR.
  WA_COLL-SGTXT = WA_BSEG-SGTXT.
  WA_COLL-MONAT = WA_BKPF-MONAT.
  COLLECT WA_COLL INTO IT_COLL.
  CLEAR: WA_BKPF, WA_BSEG.

ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As as indicated above...make the select-options s_aufnr mandatory...&lt;/P&gt;&lt;P&gt;Hope it helps you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 11:42:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278958#M1633612</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-11T11:42:08Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278959#M1633613</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;Logic... you didn't check the subrc field after reading your IT_BSEG table...&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
Read table IT_BSEG INTO WA_BSEG WITH KEY BUKRS = WA_BKPF-BUKRS
                                         BELNR = WA_BKPF-BELNR
                                         GJAHR = WA_BKPF-GJAHR BINARY SEARCH.
IF sy-subrc EQ 0.
"...
ENDIF.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kr,&lt;/P&gt;&lt;P&gt;m.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Oct 2011 12:03:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278959#M1633613</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-11T12:03:12Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278960#M1633614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I tried this way to calculcate opening balance,&lt;/P&gt;&lt;P&gt;but it is not working kindly suggest me.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
REPORT  ZTEMP1.
" Types Declaration part

TYPES: BEGIN OF TY_COLL,
       MONAT TYPE MONAT,
       BUDAT TYPE BUDAT,
       BELNR TYPE BELNR_D,
       WRBTR TYPE WRBTR,
       SGTXT TYPE SGTXT,
       TOT TYPE WRBTR,
END OF TY_COLL.

DATA: TOT LIKE BSEG-WRBTR.


DATA: IT_BKPF TYPE TABLE OF TY_BKPF,
      WA_BKPF TYPE TY_BKPF,
      IT_BSEG TYPE TABLE OF TY_BSEG,
      WA_BSEG TYPE TY_BSEG,
      IT_BKPF1 TYPE TABLE OF TY_BKPF1,
      WA_BKPF1 TYPE TY_BKPF1,
      IT_BSEG1 TYPE TABLE OF TY_BSEG1,
      WA_BSEG1 TYPE TY_BSEG1,
      IT_COLL TYPE TABLE OF TY_COLL,
      WA_COLL TYPE TY_COLL.

SELECTION-SCREEN: BEGIN OF BLOCK B1.
SELECT-OPTIONS: S_HKONT FOR WA_BSEG-HKONT memory id one,
                S_AUFNR FOR WA_BSEG-AUFNR memory id twq,
                S_BELNR FOR WA_BKPF-BELNR memory id twe,
                S_BUDAT FOR WA_BKPF-BUDAT memory id two.
SELECTION-SCREEN: END OF BLOCK B1.
START-OF-SELECTION.
PERFORM SELECT1.
PERFORM OPB.
END-OF-SELECTION.

PERFORM P_SELECT1.
PERFORM P_OPB.
PERFORM P_COLL.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SELECT1
*&amp;amp;---------------------------------------------------------------------*
FORM SELECT1 .
SELECT MONAT
       BUDAT
       BELNR
       GJAHR
       BUKRS FROM BKPF
       INTO TABLE IT_BKPF
       WHERE BELNR IN S_BELNR
       AND  BUDAT IN S_BUDAT.

IF NOT IT_BKPF[] IS INITIAL.

  SELECT BUKRS
         BELNR
         GJAHR
         HKONT
         WRBTR
         SGTXT
         AUFNR FROM BSEG
         INTO TABLE IT_BSEG
         FOR ALL ENTRIES IN IT_BKPF
         WHERE HKONT IN S_HKONT
         AND AUFNR IN S_AUFNR
         AND BELNR = IT_BKPF-BELNR
         AND GJAHR = IT_BKPF-GJAHR
         AND BUKRS = IT_BKPF-BUKRS.

ENDIF.

ENDFORM.                    " SELECT1
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  OPB
*&amp;amp;---------------------------------------------------------------------*
FORM OPB .

SELECT MONAT
       BUDAT
       BELNR
       GJAHR
       BUKRS FROM BKPF
       INTO TABLE IT_BKPF1
       WHERE BELNR IN S_BELNR
       AND  BUDAT &amp;lt; S_BUDAT+3(8).

IF NOT IT_BKPF1[] IS INITIAL.

  SELECT BUKRS
         BELNR
         GJAHR
         HKONT
         WRBTR
         SGTXT
         AUFNR FROM BSEG
         INTO TABLE IT_BSEG1
         FOR ALL ENTRIES IN IT_BKPF1
         WHERE HKONT IN S_HKONT
         AND AUFNR IN S_AUFNR
         AND BELNR = IT_BKPF1-BELNR
         AND GJAHR = IT_BKPF1-GJAHR
         AND BUKRS = IT_BKPF1-BUKRS.

ENDIF.

ENDFORM.                    " OPB
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  P_SELECT1
*&amp;amp;---------------------------------------------------------------------*
FORM P_SELECT1 .

SORT IT_BKPF BY MONAT.
SORT IT_BSEG BY HKONT.

LOOP AT IT_BSEG INTO WA_BSEG.

  READ TABLE IT_BKPF INTO WA_BKPF WITH KEY BUKRS = WA_BSEG-BUKRS
                                           BELNR = WA_BSEG-BELNR
                                           GJAHR = WA_BSEG-GJAHR BINARY SEARCH.
IF sy-subrc EQ 0.

WA_COLL-BELNR = WA_BKPF-BELNR.
WA_COLL-BUDAT = WA_BKPF-BUDAT.
WA_COLL-WRBTR = WA_BSEG-WRBTR.
WA_COLL-SGTXT = WA_BSEG-SGTXT.
WA_COLL-MONAT = WA_BKPF-MONAT.
COLLECT WA_COLL INTO IT_COLL.
endif.
CLEAR: WA_BKPF, WA_BSEG.
ENDLOOP.

ENDFORM.                    " P_SELECT1
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  P_OPB
*&amp;amp;---------------------------------------------------------------------*
FORM P_OPB .


SORT IT_BKPF1 BY MONAT.
SORT IT_BSEG1 BY HKONT.

LOOP AT IT_BSEG1 INTO WA_BSEG1.


  READ TABLE IT_BKPF1 INTO WA_BKPF1 WITH KEY BUKRS = WA_BSEG1-BUKRS
                                             BELNR = WA_BSEG1-BELNR
                                             GJAHR = WA_BSEG1-GJAHR BINARY SEARCH.
IF sy-subrc EQ 0.


WA_COLL-TOT = WA_BSEG1-WRBTR.
COLLECT WA_COLL INTO IT_COLL.
endif.
CLEAR: WA_BKPF1, WA_BSEG1.
ENDLOOP.


ENDFORM.                    " P_OPB
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  P_COLL
*&amp;amp;---------------------------------------------------------------------*
FORM P_COLL .

SORT IT_COLL BY MONAT.
LOOP AT IT_COLL INTO WA_COLL.

    WRITE:/06 WA_COLL-BELNR,
           22 WA_COLL-BUDAT,
           32 WA_COLL-WRBTR,
           54 WA_COLL-SGTXT.

    AT end of MONAT.
      SUM.
      WRITE:/ WA_COLL-MONAT.
      WRITE:32 WA_COLL-WRBTR.
      WRITE: WA_COLL-TOT.  " getting value 0
    ENDAT.
ENDLOOP.

ENDFORM.                    " P_COLL
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Oct 2011 04:07:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278960#M1633614</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-12T04:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278961#M1633615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ben,&lt;/P&gt;&lt;P&gt;           I went through your code and found some inconsistencies as listed below....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. What are you trying to achieve with this condition BUDAT &amp;lt; S_BUDAT+3(8) in the select query? S_BUDAT is an internal table with header line and this condition will only take the value available in the header line into consideration and leave other values if your select options has multiple entries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; SELECT MONAT
       BUDAT
       BELNR
       GJAHR
       BUKRS FROM BKPF
       INTO TABLE IT_BKPF1
       WHERE BELNR IN S_BELNR
       AND  BUDAT &amp;lt; S_BUDAT+3(8).
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Before using READ TABLE...BINARY SEARCH, the internal table should be sorted with the key used for reading it. In the below case IT_BKPF is read with BUKRS,BELNR and GJAHR as key with binary search and sorted only with MONAT ! There exists possibilities of failure of the read statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SORT IT_BKPF BY MONAT.
SORT IT_BSEG BY HKONT.
  
  READ TABLE IT_BKPF INTO WA_BKPF WITH KEY BUKRS = WA_BSEG-BUKRS
                                               BELNR = WA_BSEG-BELNR
                                                GJAHR = WA_BSEG-GJAHR BINARY SEARCH.

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Indicated that you are getting zero for &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  WRITE: WA_COLL-TOT.  " getting value 0 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;   The value for WA_COLL-TOT is passed inside the form p_opb ... there may be a failure of read statement due to the reason indicated in point 2 or failure of select queries in point 1 and subsequent from BSEG. Correct the program accordingly and check.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;FORM P_OPB . 
 
SORT IT_BKPF1 BY MONAT.
SORT IT_BSEG1 BY HKONT.
 
LOOP AT IT_BSEG1 INTO WA_BSEG1.
 
 
  READ TABLE IT_BKPF1 INTO WA_BKPF1 WITH KEY BUKRS = WA_BSEG1-BUKRS
                                             BELNR = WA_BSEG1-BELNR
                                             GJAHR = WA_BSEG1-GJAHR BINARY SEARCH.
IF sy-subrc EQ 0.
 
 
WA_COLL-TOT = WA_BSEG1-WRBTR.
COLLECT WA_COLL INTO IT_COLL.
endif.
CLEAR: WA_BKPF1, WA_BSEG1.
ENDLOOP.
 ENDFORM.                    " P_OPB

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the Best.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Oct 2011 04:37:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278961#M1633615</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-12T04:37:20Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278962#M1633616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here i am trying to calculate opening balance i.e &amp;lt;s_budat,&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
 SELECT MONAT
       BUDAT
       BELNR
       GJAHR
       BUKRS FROM BKPF
       INTO TABLE IT_BKPF1
       WHERE BELNR IN S_BELNR
       AND  BUDAT &amp;lt; S_BUDAT. " here
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Oct 2011 04:54:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278962#M1633616</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-12T04:54:46Z</dc:date>
    </item>
    <item>
      <title>Re: WRONG OUTPUT</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278963#M1633617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;lt;sorry wrong post&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Oct 2011 04:57:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/wrong-output/m-p/8278963#M1633617</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-10-12T04:57:28Z</dc:date>
    </item>
  </channel>
</rss>

