<?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: Is this below code is correct ? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513615#M845110</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;What is your requirement can you give some details so that i can suggest if your code is correct or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards &lt;/P&gt;&lt;P&gt;Lakshmikanth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 27 Feb 2008 10:52:54 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-27T10:52:54Z</dc:date>
    <item>
      <title>Is this below code is correct ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513612#M845107</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts ,&lt;/P&gt;&lt;P&gt;Plz check the below , is this code will work or not ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  job_logic&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM job_logic .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * FROM zt68 INTO TABLE v_zt68_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT v_final_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF v_zt68_tab-jobname(2) EQ 'SA' AND v_zt68_tab-jobname+8(4) NE '-CA7'.&lt;/P&gt;&lt;P&gt;      IF v_zt68_tab-jobtype EQ 'LGY'.&lt;/P&gt;&lt;P&gt;        IF v_zt68_tab-jobid NE 'D O N E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          SELECT jobname jobtype jobid sdlstrtdt sdlstrttm&lt;/P&gt;&lt;P&gt;                 msg1 msg2 msg3 msg4 msg5 msg6 FROM zt68&lt;/P&gt;&lt;P&gt;                 INTO CORRESPONDING FIELDS OF TABLE l_zt68_tab&lt;/P&gt;&lt;P&gt;                                    WHERE jobname EQ v_zt68_tab-jobname&lt;/P&gt;&lt;P&gt;                                      AND jobtype EQ v_zt68_tab-jobtype&lt;/P&gt;&lt;P&gt;                                      AND jobid   NE v_zt68_tab-jobid&lt;/P&gt;&lt;P&gt;                                      AND msg1    EQ zt68-msg1&lt;/P&gt;&lt;P&gt;                                      AND msg2    EQ zt68-msg2&lt;/P&gt;&lt;P&gt;                                      AND msg3    EQ zt68-msg3&lt;/P&gt;&lt;P&gt;                                      AND msg4    EQ zt68-msg4&lt;/P&gt;&lt;P&gt;                                      AND msg5    EQ zt68-msg5&lt;/P&gt;&lt;P&gt;                                      AND msg6    EQ zt68-msg6.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;            CONCATENATE zt68-msg1 zt68-msg2 zt68-msg3 zt68-msg4&lt;/P&gt;&lt;P&gt;                                 zt68-msg5 zt68-msg6 INTO msg.&lt;/P&gt;&lt;P&gt;            MOVE msg TO l_zt68_tab-i_msg.&lt;/P&gt;&lt;P&gt;          ELSE.&lt;/P&gt;&lt;P&gt;            MESSAGE i001(z001).&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF l_zt68_tab[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT jobname jobtype owner text expected_day FROM&lt;/P&gt;&lt;P&gt;           zt67 INTO CORRESPONDING FIELDS OF TABLE l_zt67_tab&lt;/P&gt;&lt;P&gt;                                WHERE jobname EQ l_zt68_tab-jobname&lt;/P&gt;&lt;P&gt;                                  AND jobtype EQ l_zt68_tab-jobtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;Aging&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        i_cmpdate = sy-datum+6(2) - l_zt67_tab-expected_day.&lt;/P&gt;&lt;P&gt;        CONCATENATE sy-datum l_zt67_tab-expected_day&lt;/P&gt;&lt;P&gt;                            INTO i_cmpdate.&lt;/P&gt;&lt;P&gt;        MOVE i_cmpdate TO v_final_tab-datum.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF l_zt67_tab[] IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;        SELECT contact_name FROM zt107 INTO TABLE l_zt107_tab WHERE&lt;/P&gt;&lt;P&gt;                                          owner EQ l_zt67_tab-owner.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING l_zt68_tab TO v_final_tab.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING l_zt67_tab TO v_final_tab.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING l_zt107_tab TO v_final_tab.&lt;/P&gt;&lt;P&gt;    APPEND v_final_tab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " logic&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_final_tab is final internal table using for output display through ALV Grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thnx.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 10:33:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513612#M845107</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-27T10:33:49Z</dc:date>
    </item>
    <item>
      <title>Re: Is this below code is correct ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513613#M845108</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;To my knowledge it has some errors.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;SELECT * FROM zt68 INTO TABLE v_zt68_tab.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;LOOP AT v_final_tab.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;IF v_zt68_tab-jobname(2) EQ 'SA' AND v_zt68_tab_jobname&lt;/EM&gt;8(4) NE '-CA7'.+&lt;/P&gt;&lt;P&gt;&lt;EM&gt;IF v_zt68_tab-jobtype EQ 'LGY'.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;IF v_zt68_tab-jobid NE 'D O N E'.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the above code you had move some datas into an internal table v_zt68_tab but in the loop v_final_tab you trying to check the fileds in that internal table v_zt68_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is not possible. Because as like the table v_final_tab ,&lt;/P&gt;&lt;P&gt;v_zt68_tab this internal table needs loop to fecth data one by one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; or u can use &lt;STRONG&gt;for all entries&lt;/STRONG&gt; and read statement to compare &lt;/P&gt;&lt;P&gt;'LGY' and 'DONE'&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 10:50:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513613#M845108</guid>
      <dc:creator>Pramanan</dc:creator>
      <dc:date>2008-02-27T10:50:20Z</dc:date>
    </item>
    <item>
      <title>Re: Is this below code is correct ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513614#M845109</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Few Observations&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.  While Looping thru V_FINAL_TAB internal you are appending records into it &lt;/P&gt;&lt;P&gt;     which to me sounds strange. So i assume it should be LOOP AT V_zt68_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. For every record from V_ZT68_TAB internal table, how many records are you anticipating to be fetched from ZT68 &amp;amp; ZT67 tables in DB? It looks your select statements inside the loop assumes there would be only record retrieved.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So please check your code logic,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Balaji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 10:50:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513614#M845109</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-27T10:50:56Z</dc:date>
    </item>
    <item>
      <title>Re: Is this below code is correct ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513615#M845110</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;What is your requirement can you give some details so that i can suggest if your code is correct or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards &lt;/P&gt;&lt;P&gt;Lakshmikanth&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 10:52:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513615#M845110</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-27T10:52:54Z</dc:date>
    </item>
    <item>
      <title>Re: Is this below code is correct ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513616#M845111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i need to fetch records from internal table l_zt68_tab, l_zt67_tab and l_zt107_tab. then i need to move the whole records into my final itab i.e.v_final_tab and should display via Alv Grid. already i have written the code ALV. but my problem there is no test data available in my development client .all Db tables are empty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz Help me.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 11:09:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513616#M845111</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-27T11:09:46Z</dc:date>
    </item>
    <item>
      <title>Re: Is this below code is correct ?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513617#M845112</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;Follow the below code it may be useful for you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
--------------------------------------------------------------------------------

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZRJ_SPEC_BUDGET_ACTUAL_COMMIT
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;
*&amp;amp;
*&amp;amp;---------------------------------------------------------------------*

REPORT  ZRJ_SPEC_BUDGET_ACTUAL_COMMIT.


INITIALIZATION.
TYPE-POOLS : SLIS.
PARAMETERS: P_COAREA TYPE COAS-KOKRS DEFAULT 1000,
            P_INTORD TYPE COAS-AUFNR DEFAULT 000000900043,
            P_FISCAL TYPE BPJA-GJAHR DEFAULT 2007.

*********************************************************************************
* DATA TYPE DECLARATION
*********************************************************************************

TYPES : BEGIN OF TY_COAS,
          IONO TYPE COAS-AUFNR,
          ORTYP TYPE COAS-AUART,
          AMT3 TYPE EKBZ-DMBTR,
        END OF TY_COAS,

        BEGIN OF TY_EKKN,
          PONO TYPE EKKN-EBELN,
          ITNO TYPE EKKN-EBELP,
          IONO TYPE EKKN-AUFNR,
*EKKO FIELD
          POTYP TYPE EKKO-BSART,
          POCUR TYPE EKKO-WAERS,
          EXCRT TYPE EKKO-WKURS,
*EKET FIELD
          DELDT TYPE EKET-EINDT,
*EKPO FIELD
          QTY1 TYPE EKPO-MENGE,
          AMT1 TYPE EKKO-WKURS,
*EKBE FIELD
          QTY2 TYPE EKBE-MENGE,
          AMT21 TYPE EKBE-DMBTR,
*EKBZ FIELD
          AMT22 TYPE EKBZ-DMBTR,
          QTY3 TYPE EKBZ-MENGE,
          AMT33 TYPE EKBZ-DMBTR,
* BPJA FIELD OR  BPGE FIELD ''' DEPENDS ON CONDITION
          AMT4 TYPE BPJA-WTJHR,

       END OF TY_EKKN,

        BEGIN OF TY_EKKO,
          PONO TYPE EKKO-EBELN,
          POTYP TYPE EKKO-BSART,
          POCUR TYPE EKKO-WAERS,
          EXCRT TYPE EKKO-WKURS,
       END OF TY_EKKO,

       BEGIN OF TY_EKET,
         PONO TYPE EKET-EBELN,
         ITNO TYPE EKKN-EBELP,
         DELDT TYPE EKET-EINDT,
       END OF TY_EKET,

       BEGIN OF TY_EKPO,
         PONO TYPE EKET-EBELN,
         ITNO TYPE EKKN-EBELP,
         QTY1 TYPE EKPO-MENGE,
      END OF TY_EKPO,

      BEGIN OF TY_EKBE,
         PONO TYPE EKET-EBELN,
         ITNO TYPE EKKN-EBELP,
         QTY2 TYPE EKBE-MENGE,
         AMT21 TYPE EKBE-DMBTR,
         SHKZG TYPE EKBE-SHKZG,
         BUDAT TYPE EKBE-BUDAT,
      END OF TY_EKBE,

      BEGIN OF TY_EKBZ,
         PONO TYPE EKBZ-EBELN,
         ITNO TYPE EKBZ-EBELP,
         AMT22 TYPE EKBZ-DMBTR,
         SHKZG TYPE EKBZ-SHKZG,
         BUDAT TYPE EKBZ-BUDAT,
      END OF TY_EKBZ,

      BEGIN OF TY_EBKN,
        IONO TYPE EBKN-AUFNR,
        PRNO TYPE EBKN-BANFN,
        ITNO TYPE EBKN-BNFPO,
        AMT6 TYPE EBAN-MENGE,
      END OF TY_EBKN,

      BEGIN OF TY_EBAN,
        PRNO TYPE EBAN-BANFN,
        ITNO TYPE EBAN-BNFPO,
        STATU TYPE EBAN-STATU,
        LOEKZ TYPE EBAN-LOEKZ,
        MENGE TYPE EBAN-MENGE,
        PREIS TYPE EBAN-PREIS,
      END OF TY_EBAN,

      BEGIN OF TY_BPJA,
        OBJNR TYPE BPJA-OBJNR,
        WRTTP TYPE BPJA-WRTTP,
        GJAHR TYPE BPJA-GJAHR,
        WTJHR TYPE BPJA-WTJHR,
      END OF TY_BPJA,

        BEGIN OF TY_BPGE,
        OBJNR TYPE BPGE-OBJNR,
        WRTTP TYPE BPGE-WRTTP,
        WTGES TYPE BPGE-WTGES,
      END OF TY_BPGE.



*********************************************************************************
* DATA OBJECT DECLARATION FOR REPORT
*********************************************************************************

DATA: IT_COAS TYPE STANDARD TABLE OF TY_COAS,
      WA_COAS TYPE TY_COAS,

      IT_EKKN TYPE STANDARD TABLE OF TY_EKKN,
      WA_EKKN TYPE TY_EKKN,

      IT_EKKO TYPE STANDARD TABLE OF TY_EKKO,
      WA_EKKO TYPE TY_EKKO,

      IT_EKET TYPE STANDARD TABLE OF TY_EKET,
      WA_EKET TYPE TY_EKET,

      IT_EKPO TYPE STANDARD TABLE OF TY_EKPO,
      WA_EKPO TYPE TY_EKPO,

      IT_EKBE TYPE STANDARD TABLE OF TY_EKBE,
      WA_EKBE TYPE TY_EKBE,

      IT_EKBZ TYPE STANDARD TABLE OF TY_EKBZ,
      WA_EKBZ TYPE TY_EKBZ,

      IT_EBKN TYPE STANDARD TABLE OF TY_EBKN,
      WA_EBKN TYPE TY_EBKN,

      IT_EBAN TYPE STANDARD TABLE OF TY_EBAN,
      WA_EBAN TYPE TY_EBAN,

       IT_BPJA TYPE STANDARD TABLE OF TY_BPJA,
      WA_BPJA TYPE TY_BPJA,

      IT_BPGE TYPE STANDARD TABLE OF TY_BPGE,
      WA_BPGE TYPE TY_BPGE,

      SUM_S_ME TYPE EKBE-MENGE,
      SUM_H_ME TYPE EKBE-MENGE,
      SUM_TOTME TYPE EKBE-MENGE,

      SUM_S_DMBTR TYPE EKBE-MENGE,
      SUM_H_DMBTR TYPE EKBE-MENGE,
      SUM_TOTDMBTR TYPE EKBE-MENGE,
      FLAG TYPE I,
      SUM_AMT4 TYPE BPJA-WTJHR.



*******************************************************************************
*  "DATA OBJECT DECLARATION for ALV
********************************************************************************
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,    " FOR PASSING FIELDCAT VALUE
       G_REPID LIKE SY-REPID,  " FOR PASSING REPORT ID
       IT_HEADER TYPE SLIS_T_LISTHEADER,   " FOR PASSING HEADER'
       IT_SORT TYPE SLIS_T_SORTINFO_ALV.
*********************************************************************************
* START OF SELECTION
*********************************************************************************

START-OF-SELECTION.
G_REPID = SY-REPID.
SELECT AUFNR AUART FROM COAS INTO TABLE IT_COAS
        WHERE AUFNR = P_INTORD AND KOKRS = P_COAREA .


CHECK IT_COAS IS NOT INITIAL.
    SELECT EBELN EBELP AUFNR FROM EKKN INTO TABLE IT_EKKN
      FOR ALL ENTRIES IN IT_COAS
          WHERE AUFNR = IT_COAS-IONO AND KOKRS = P_COAREA .

CHECK IT_EKKN IS NOT INITIAL.
    SELECT EBELN BSART WAERS WKURS FROM EKKO INTO TABLE IT_EKKO
      FOR ALL ENTRIES IN IT_EKKN WHERE EBELN = IT_EKKN-PONO.

    SELECT EBELN EBELP EINDT FROM EKET INTO TABLE IT_EKET
      FOR ALL ENTRIES IN IT_EKKN WHERE EBELN = IT_EKKN-PONO AND EBELP = IT_EKKN-ITNO AND EINDT &amp;lt;= P_FISCAL.

    SELECT EBELN EBELP MENGE FROM EKPO INTO TABLE IT_EKPO
      FOR ALL ENTRIES IN IT_EKKN WHERE EBELN  = IT_EKKN-PONO AND EBELP = IT_EKKN-ITNO .

    SELECT EBELN EBELP MENGE DMBTR SHKZG BUDAT FROM EKBE INTO TABLE IT_EKBE
      FOR ALL ENTRIES IN IT_EKKN
      WHERE EBELN  = IT_EKKN-PONO AND EBELP = IT_EKKN-ITNO AND VGABE = 1 AND BUDAT &amp;lt;= P_FISCAL .

     SELECT EBELN EBELP DMBTR SHKZG BUDAT FROM EKBZ INTO TABLE IT_EKBZ
      FOR ALL ENTRIES IN IT_EKKN
      WHERE EBELN  = IT_EKKN-PONO AND EBELP = IT_EKKN-ITNO AND VGABE = 1 AND BUDAT &amp;lt;= P_FISCAL .


    LOOP AT IT_EKBE INTO WA_EKBE.
        IF WA_EKBE-SHKZG = 'S'.
         SUM_S_ME = SUM_S_ME + WA_EKBE-QTY2.
         SUM_S_DMBTR = SUM_S_DMBTR + WA_EKBE-AMT21 .
        ELSEIF WA_EKBE-SHKZG = 'H'.
          SUM_H_ME = SUM_H_ME +  WA_EKBE-QTY2.
          SUM_H_DMBTR = SUM_H_DMBTR + WA_EKBE-AMT21 .
       ENDIF.
         SUM_TOTME = SUM_TOTME + ( SUM_S_ME - SUM_H_ME ).
         SUM_TOTDMBTR = SUM_TOTDMBTR + ( SUM_S_DMBTR - SUM_H_DMBTR ).

         WA_EKBE-QTY2 = SUM_TOTME.
         WA_EKBE-AMT21 = SUM_TOTDMBTR.

          CLEAR SUM_TOTME.
          CLEAR SUM_TOTDMBTR.
         MODIFY IT_EKBE FROM WA_EKBE TRANSPORTING QTY2 AMT21.
    ENDLOOP.

    CLEAR :  SUM_S_ME ,
            SUM_H_ME ,
            SUM_TOTME ,
            SUM_S_DMBTR ,
            SUM_H_DMBTR ,
            SUM_TOTDMBTR .

    LOOP AT IT_EKBZ INTO WA_EKBZ.
        IF WA_EKBZ-SHKZG = 'S'.
                   SUM_S_DMBTR = SUM_S_DMBTR + WA_EKBZ-AMT22 .
        ELSEIF WA_EKBZ-SHKZG = 'H'.
                  SUM_H_DMBTR = SUM_H_DMBTR + WA_EKBZ-AMT22 .
       ENDIF.
                SUM_TOTDMBTR = SUM_TOTDMBTR + ( SUM_S_DMBTR - SUM_H_DMBTR ).

         WA_EKBZ-AMT22 = SUM_TOTDMBTR.


          CLEAR SUM_TOTDMBTR.
          MODIFY IT_EKBZ FROM WA_EKBZ TRANSPORTING AMT22.

    ENDLOOP.


CHECK IT_COAS IS NOT INITIAL.

    SELECT AUFNR BANFN BNFPO FROM EBKN INTO TABLE IT_EBKN
      FOR ALL ENTRIES IN IT_COAS
      WHERE AUFNR = IT_COAS-IONO AND KOKRS = P_COAREA.

CHECK IT_EBKN IS NOT INITIAL.

    SELECT BANFN BNFPO STATU LOEKZ MENGE PREIS FROM EBAN INTO TABLE IT_EBAN
      FOR ALL ENTRIES IN IT_EBKN
      WHERE BANFN =  IT_EBKN-PRNO AND BNFPO = IT_EBKN-ITNO AND STATU IN ('B','L','S').



  LOOP AT IT_EBKN INTO WA_EBKN.

      READ TABLE IT_EBAN INTO WA_EBAN WITH KEY PRNO = WA_EBKN-PRNO
                                               ITNO = WA_EBKN-ITNO.

      WA_EBKN-AMT6 = WA_EBAN-MENGE * WA_EBAN-PREIS .

    MODIFY IT_EBKN FROM WA_EBKN TRANSPORTING AMT6.

    READ TABLE IT_COAS INTO WA_COAS WITH KEY IONO  = WA_EBKN-IONO.
*        MESSAGE 'RR' TYPE 'I'.
  ENDLOOP.

  LOOP AT IT_COAS INTO WA_COAS.

  CONCATENATE 'OR' WA_COAS-IONO INTO WA_COAS-IONO.

    IF WA_COAS-ORTYP+0(3) = 'HOP' OR WA_COAS-ORTYP = 'CAPX' OR WA_COAS-ORTYP = 'ONOF'.

        SELECT OBJNR WRTTP GJAHR WTJHR FROM BPJA INTO TABLE IT_BPJA
          WHERE  OBJNR = WA_COAS-IONO AND WRTTP = 41 AND GJAHR &amp;lt;= P_FISCAL .

            FLAG = 0.

    ELSE.
         SELECT OBJNR WRTTP WTGES FROM BPGE INTO TABLE IT_BPGE
           WHERE OBJNR = WA_COAS-IONO AND WRTTP = 41.

            FLAG = 1.
    ENDIF.

  ENDLOOP.


LOOP AT IT_EKKN INTO WA_EKKN.

  READ TABLE IT_EKKO INTO WA_EKKO WITH KEY PONO = WA_EKKN-PONO.
      IF SY-SUBRC = 0.
      WA_EKKN-POTYP = WA_EKKO-POTYP.
      WA_EKKN-POCUR = WA_EKKO-POCUR.
      WA_EKKN-EXCRT = WA_EKKO-EXCRT.
      ENDIF.

   READ TABLE IT_EKET INTO WA_EKET WITH KEY PONO = WA_EKKN-PONO
                                            ITNO = WA_EKKN-ITNO.
      IF SY-SUBRC = 0.
        WA_EKKN-DELDT = WA_EKET-DELDT.
      ENDIF.

   READ TABLE IT_EKBE INTO WA_EKBE WITH KEY  PONO = WA_EKKN-PONO
                                            ITNO = WA_EKKN-ITNO.

        IF SY-SUBRC = 0.
          WA_EKKN-QTY2 = WA_EKBE-QTY2.
          WA_EKKN-AMT21 = WA_EKBE-AMT21.
        ENDIF.

   READ TABLE IT_EKBZ INTO WA_EKBZ WITH KEY  PONO = WA_EKKN-PONO
                                            ITNO = WA_EKKN-ITNO.

        IF SY-SUBRC = 0.
          WA_EKKN-AMT22 = WA_EKBZ-AMT22.
        ENDIF.

    IF FLAG = 0.

      READ TABLE IT_BPJA INTO WA_BPJA INDEX 1.

      IF SY-SUBRC = 0.
        SUM_AMT4 = SUM_AMT4 + WA_BPJA-WTJHR.
        WA_EKKN-AMT4 = WA_EKKN-AMT4 + SUM_AMT4.
     ENDIF.
      ELSEIF FLAG = 1.
      READ TABLE IT_BPGE INTO WA_BPGE INDEX 1.

      IF SY-SUBRC = 0.
        SUM_AMT4 = SUM_AMT4 + WA_BPGE-WTGES.
        WA_EKKN-AMT4 = WA_EKKN-AMT4 + SUM_AMT4.
     ENDIF.
   ENDIF.

    MODIFY IT_EKKN FROM WA_EKKN TRANSPORTING POTYP POCUR EXCRT DELDT QTY2 AMT21 AMT22 AMT4.

      READ TABLE IT_EKPO INTO WA_EKPO WITH KEY PONO = WA_EKKN-PONO
                                            ITNO = WA_EKKN-ITNO.
            IF SY-SUBRC = 0 AND WA_EKKN-POCUR &amp;lt;&amp;gt; 'INR'  .
                WA_EKKN-QTY1 = WA_EKPO-QTY1.
                WA_EKKN-AMT1 = WA_EKKN-EXCRT * WA_EKKN-AMT1.
            ENDIF.
    MODIFY IT_EKKN FROM WA_EKKN TRANSPORTING QTY1 AMT1.

    WA_EKKN-QTY3 = WA_EKKN-QTY1 - WA_EKKN-QTY2.
    WA_EKKN-AMT33 = ( ( WA_EKKN-AMT1 / WA_EKKN-QTY1 )  * WA_EKKN-QTY3 ).

    MODIFY IT_EKKN FROM WA_EKKN TRANSPORTING QTY3 AMT33.

    READ TABLE IT_COAS INTO WA_COAS with KEY IONO = WA_EKKN-IONO.

*      *    MESSAGE 'RA' TYPE 'I'.
ENDLOOP.

 PERFORM BUILD_HEADER USING IT_HEADER[].
PERFORM TOP_OF_PAGE.
PERFORM FIELD_CAT USING IT_FIELDCAT[].
PERFORM it_sort_functionality using it_sort[].
PERFORM ALV_GRID_DISPLAY.



  FORM BUILD_HEADER  USING  P_IT_HEADER TYPE SLIS_T_LISTHEADER..

    DATA: WA_LISTHEADER TYPE SLIS_LISTHEADER.
    DATA: TEXT(50) TYPE C,
          DT(10),
          DT1(10).

    WA_LISTHEADER-TYP = 'H'.
    WA_LISTHEADER-INFO = 'ITC LIMITED &amp;#150; BUDGET ACTUAL COMMIT'.
    APPEND WA_LISTHEADER TO P_IT_HEADER.
    CLEAR WA_LISTHEADER.

    WRITE SY-DATUM TO DT DD/MM/YYYY.

    CONCATENATE 'DATE :' DT INTO TEXT.
    WA_LISTHEADER-TYP = 'S'.
    WA_LISTHEADER-INFO = TEXT.
    APPEND WA_LISTHEADER TO P_IT_HEADER.
    CLEAR WA_LISTHEADER.
    CLEAR DT.

    CONCATENATE 'CONTROLLING AREA :' P_COAREA INTO TEXT.
    WA_LISTHEADER-TYP = 'S'.
    WA_LISTHEADER-INFO = TEXT.
    APPEND WA_LISTHEADER TO P_IT_HEADER.
    CLEAR WA_LISTHEADER.

    CONCATENATE 'ORDER NO : ' P_INTORD INTO TEXT.
    WA_LISTHEADER-TYP = 'S'.
    WA_LISTHEADER-INFO = TEXT.
    APPEND WA_LISTHEADER TO P_IT_HEADER.
    CLEAR WA_LISTHEADER.


*    CONCATENATE 'DATE: ' SO_DATE INTO TEXT.
    WA_LISTHEADER-TYP = 'S'.
    WA_LISTHEADER-INFO = 'DEVELOPED BY RAJAN'.
    APPEND WA_LISTHEADER TO P_IT_HEADER.
    CLEAR WA_LISTHEADER.


  ENDFORM.                    " BUILD_HEADER

FORM TOP_OF_PAGE .
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY = IT_HEADER[]
        I_LOGO             = 'ENJOYSAP_LOGO'.
*   I_END_OF_LIST_GRID       =
*   I_ALV_FORM               =
    .
  ENDFORM.                    " TOP_OF_PAGE

FORM FIELD_CAT  USING P_IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

    clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'PONO'.
    WA_FIELDCAT-ref_fieldname = 'EBELN'.
    WA_FIELDCAT-REF_TABNAME   = 'EKKN'.
*     WA_FIELDCAT-DO_SUM           = 'X'.
    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'ITNO'.
    WA_FIELDCAT-ref_fieldname = 'EBELP'.
    WA_FIELDCAT-REF_TABNAME   = 'EKKN'.
*     WA_FIELDCAT-DO_SUM           = 'X'.
    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'IONO'.
    WA_FIELDCAT-ref_fieldname = 'AUFNR'.
    WA_FIELDCAT-REF_TABNAME   = 'EKKN'.
*     WA_FIELDCAT-DO_SUM           = 'X'.
    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'POTYP'.
    WA_FIELDCAT-ref_fieldname = 'BSART'.
    WA_FIELDCAT-REF_TABNAME   = 'EKKO'.
*     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'POCUR'.
    WA_FIELDCAT-ref_fieldname = 'WAERS'.
    WA_FIELDCAT-REF_TABNAME   = 'EKKO'.
*     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'EXCRT'.
    WA_FIELDCAT-ref_fieldname = 'WKURS'.
    WA_FIELDCAT-REF_TABNAME   = 'EKKO'.
*     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'DELDT'.
    WA_FIELDCAT-ref_fieldname = 'EINDT'.
    WA_FIELDCAT-REF_TABNAME   = 'EKET'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'QTY1'.
    WA_FIELDCAT-SELTEXT_L = 'QTY1'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'AMT1'.
    WA_FIELDCAT-SELTEXT_L = 'AMOUNT 1'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'QTY2'.
    WA_FIELDCAT-SELTEXT_L = 'QTY 2'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'AMT21'.
    WA_FIELDCAT-SELTEXT_L = 'AMT 21'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'AMT22'.
    WA_FIELDCAT-SELTEXT_L = 'AMT22'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'QTY3'.
    WA_FIELDCAT-SELTEXT_L = 'QTY 3'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'AMT33'.
    WA_FIELDCAT-SELTEXT_L = 'AMT 33'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.

clear WA_FIELDCAT.
    WA_FIELDCAT-FIELDNAME     = 'AMT4'.
    WA_FIELDCAT-SELTEXT_L = 'AMT 4'.
     WA_FIELDCAT-DO_SUM           = 'X'.
*    WA_FIELDCAT-KEY           = 'X'.
    APPEND WA_FIELDCAT TO  P_IT_FIELDCAT.


  ENDFORM.                    " FIELD_CAT

FORM it_sort_functionality  USING P_IT_SORT TYPE SLIS_T_SORTINFO_ALV.
    DATA: LS_SORT TYPE SLIS_SORTINFO_ALV.

    LS_SORT-FIELDNAME = 'PONO'.
    LS_SORT-SPOS      = 1.
    LS_SORT-UP        = 'X'.
    LS_SORT-SUBTOT    = 'X'.
    APPEND LS_SORT TO P_IT_SORT.

    LS_SORT-FIELDNAME = 'ITNO'.
    LS_SORT-SPOS      = 1.
    LS_SORT-UP        = 'X'.
    LS_SORT-SUBTOT    = 'X'.
    APPEND LS_SORT TO P_IT_SORT.

ENDFORM.                    " it_sort_functionality


FORM ALV_GRID_DISPLAY .


    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
     EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = G_REPID
*   I_CALLBACK_PF_STATUS_SET          = ' '
       I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
       I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
*   IS_LAYOUT                         = IT_LAYOUT
       IT_FIELDCAT                    = IT_FIELDCAT[]
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
   IT_SORT                           = it_sort[]
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                       = IT_EKKN
     EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2
              .
    IF SY-SUBRC &amp;lt;&amp;gt; 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDFORM.                    " ALV_GRID_DISPLAY


&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dhruv shah&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Feb 2008 11:21:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/is-this-below-code-is-correct/m-p/3513617#M845112</guid>
      <dc:creator>dhruv_shah3</dc:creator>
      <dc:date>2008-02-27T11:21:55Z</dc:date>
    </item>
  </channel>
</rss>

