<?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: ABAP Report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533169#M243437</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;assuming that you have all the records from msegin it_mseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_bwart-sign = 'I'.&lt;/P&gt;&lt;P&gt;r_bwart-option = 'BT'.&lt;/P&gt;&lt;P&gt;r_bwart-low = '200'.&lt;/P&gt;&lt;P&gt;r_bwart-high = '292'.&lt;/P&gt;&lt;P&gt;append r_bwart.&lt;/P&gt;&lt;P&gt;clear r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_bwart-sign = 'I'.&lt;/P&gt;&lt;P&gt;r_bwart-option = 'BT'.&lt;/P&gt;&lt;P&gt;r_bwart-low = '551'.&lt;/P&gt;&lt;P&gt;r_bwart-high = '556'.&lt;/P&gt;&lt;P&gt;append r_bwart.&lt;/P&gt;&lt;P&gt;clear r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_bwart-sign = 'I'.&lt;/P&gt;&lt;P&gt;r_bwart-option = 'BT'.&lt;/P&gt;&lt;P&gt;r_bwart-low = '701'.&lt;/P&gt;&lt;P&gt;r_bwart-high = '718'.&lt;/P&gt;&lt;P&gt;append r_bwart.&lt;/P&gt;&lt;P&gt;clear r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_mseg.&lt;/P&gt;&lt;P&gt;at new belnr.&lt;/P&gt;&lt;P&gt;loop at it_mseg where bwart in r_bwart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change the sign of the quantity for debit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF IT_MSEG-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;        IT_EKBE-MENGE = -1 * IT_EKBE-MENGE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      V_BPMNG = V_BPMNG + IT_EKBE-MENGE.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;Qty_rem = it_mseg-BSTMG - v_bpmng.&lt;/P&gt;&lt;P&gt;write:/ qty_rem&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Aug 2006 12:19:53 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-08-24T12:19:53Z</dc:date>
    <item>
      <title>ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533167#M243435</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;i need ur help&lt;/P&gt;&lt;P&gt;can someone help in writing out vthe code for this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Sum the Goods receipt quantity in order unit (MSEG-BSTMG) for all of the following Movement types (MSEG-BWART): &lt;/P&gt;&lt;P&gt;  200 through 292&lt;/P&gt;&lt;P&gt;  551 through 556&lt;/P&gt;&lt;P&gt;  701 through 718&lt;/P&gt;&lt;P&gt;Check the Debit/Credit Indicator (MSEG-SHKZG). Add MSEG-BSTMG if MSEG-SHKZG = &amp;#145;S&amp;#146;. Subtract MSEG-BSTMG if MSEG-SHKZG = &amp;#145;H&amp;#146;.&lt;/P&gt;&lt;P&gt;2. Quantity Remaining = Goods Receipt Quantity (8.) &amp;#150; value calculated in Step 1.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Quantity will be displayed with 2 decimal places.&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;VC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:05:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533167#M243435</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T12:05:03Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533168#M243436</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;i need ur help&lt;/P&gt;&lt;P&gt;can someone help in writing out vthe code for this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Sum the Goods receipt quantity in order unit (MSEG-BSTMG) for all of the following Movement types (MSEG-BWART): &lt;/P&gt;&lt;P&gt;200 through 292&lt;/P&gt;&lt;P&gt;551 through 556&lt;/P&gt;&lt;P&gt;701 through 718&lt;/P&gt;&lt;P&gt;Check the Debit/Credit Indicator (MSEG-SHKZG). Add MSEG-BSTMG if MSEG-SHKZG = &amp;#145;S&amp;#146;. Subtract MSEG-BSTMG if MSEG-SHKZG = &amp;#145;H&amp;#146;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;quantity should be displayed in 2 decimals&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;vc&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:17:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533168#M243436</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T12:17:54Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533169#M243437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;assuming that you have all the records from msegin it_mseg.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_bwart-sign = 'I'.&lt;/P&gt;&lt;P&gt;r_bwart-option = 'BT'.&lt;/P&gt;&lt;P&gt;r_bwart-low = '200'.&lt;/P&gt;&lt;P&gt;r_bwart-high = '292'.&lt;/P&gt;&lt;P&gt;append r_bwart.&lt;/P&gt;&lt;P&gt;clear r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_bwart-sign = 'I'.&lt;/P&gt;&lt;P&gt;r_bwart-option = 'BT'.&lt;/P&gt;&lt;P&gt;r_bwart-low = '551'.&lt;/P&gt;&lt;P&gt;r_bwart-high = '556'.&lt;/P&gt;&lt;P&gt;append r_bwart.&lt;/P&gt;&lt;P&gt;clear r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;r_bwart-sign = 'I'.&lt;/P&gt;&lt;P&gt;r_bwart-option = 'BT'.&lt;/P&gt;&lt;P&gt;r_bwart-low = '701'.&lt;/P&gt;&lt;P&gt;r_bwart-high = '718'.&lt;/P&gt;&lt;P&gt;append r_bwart.&lt;/P&gt;&lt;P&gt;clear r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at it_mseg.&lt;/P&gt;&lt;P&gt;at new belnr.&lt;/P&gt;&lt;P&gt;loop at it_mseg where bwart in r_bwart.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Change the sign of the quantity for debit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF IT_MSEG-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;        IT_EKBE-MENGE = -1 * IT_EKBE-MENGE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      V_BPMNG = V_BPMNG + IT_EKBE-MENGE.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;Qty_rem = it_mseg-BSTMG - v_bpmng.&lt;/P&gt;&lt;P&gt;write:/ qty_rem&lt;/P&gt;&lt;P&gt;endat.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:19:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533169#M243437</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T12:19:53Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533170#M243438</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;Earlier I had written a code for getting opening stock based on material and batch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See if you find it useful...&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Raj&lt;/P&gt;&lt;P&gt;                                                                                REPORT ZMMTISCOSTOCK_ALV&lt;/P&gt;&lt;P&gt;                          LINE-SIZE 255&lt;/P&gt;&lt;P&gt;                          NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                          MESSAGE-ID S1.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program name: ZMMTISCOSTOCK_ALV                                      *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description: RECEIPTS/ISSUES WITH OPENING BAL.AND CL.BAL.            *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date/Author: 02.07.2004 / Rajasekhar (Intelligroup)                  *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;M O D I F I C A T I O N  L O G&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Date        Programmer         Request #      Description&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;dd/mm/yyyy  xxxxxxxxxxxxxx     nnnnn          New Program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : MSEG,MKPF,MARA,MAKT,BEWART,MSLB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ST_OPBAL,&lt;/P&gt;&lt;P&gt;         MATNR LIKE MSEG-MATNR,&lt;/P&gt;&lt;P&gt;         MAKTX LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;         BATCH LIKE MSEG-CHARG,&lt;/P&gt;&lt;P&gt;         BWART LIKE MSEG-BWART,&lt;/P&gt;&lt;P&gt;         MENGE LIKE MSEG-MENGE,&lt;/P&gt;&lt;P&gt;         ZEILE LIKE MSEG-ZEILE,&lt;/P&gt;&lt;P&gt;         WERKS LIKE MSEG-WERKS,&lt;/P&gt;&lt;P&gt;         SOBKZ LIKE MSEG-SOBKZ,&lt;/P&gt;&lt;P&gt;         BUDAT LIKE MKPF-BUDAT,&lt;/P&gt;&lt;P&gt;         MTART LIKE MARA-MTART,&lt;/P&gt;&lt;P&gt;         SHKZG LIKE MSEG-SHKZG,&lt;/P&gt;&lt;P&gt;         DMBTR LIKE MSEG-DMBTR,&lt;/P&gt;&lt;P&gt;         MBLNR LIKE MSEG-MBLNR,&lt;/P&gt;&lt;P&gt;         LGORT LIKE MSEG-LGORT,&lt;/P&gt;&lt;P&gt;       END OF ST_OPBAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I N T E R N A L  T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;       IT_LIST_HEADER TYPE SLIS_T_LISTHEADER,&lt;/P&gt;&lt;P&gt;       IT_EVENTS TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;       GS_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  BEGIN OF G_T_MSEG_LEAN OCCURS 0,&lt;/P&gt;&lt;P&gt;           MBLNR             LIKE      MKPF-MBLNR,&lt;/P&gt;&lt;P&gt;           MJAHR             LIKE      MKPF-MJAHR,&lt;/P&gt;&lt;P&gt;           BLART             LIKE      MKPF-BLART,&lt;/P&gt;&lt;P&gt;           BUDAT             LIKE      MKPF-BUDAT,&lt;/P&gt;&lt;P&gt;           CPUDT             LIKE      MKPF-CPUDT,&lt;/P&gt;&lt;P&gt;           MATNR             LIKE      MSEG-MATNR,&lt;/P&gt;&lt;P&gt;           WERKS             LIKE      MSEG-WERKS,&lt;/P&gt;&lt;P&gt;           LGORT             LIKE      MSEG-LGORT,&lt;/P&gt;&lt;P&gt;           CHARG             LIKE      MSEG-CHARG,&lt;/P&gt;&lt;P&gt;           SHKZG             LIKE      MSEG-SHKZG,&lt;/P&gt;&lt;P&gt;           MENGE             LIKE      MSEG-MENGE,&lt;/P&gt;&lt;P&gt;       END OF G_T_MSEG_LEAN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : OPBAL TYPE ST_OPBAL OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       TMP_OPBAL TYPE ST_OPBAL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF OPBAL2 OCCURS 0,&lt;/P&gt;&lt;P&gt;         SNO(9)      TYPE N,           " Serial #&lt;/P&gt;&lt;P&gt;         MATNR       LIKE MSEG-MATNR,  " Material #&lt;/P&gt;&lt;P&gt;         MAKTX       LIKE MAKT-MAKTX,  " Material Desc&lt;/P&gt;&lt;P&gt;         OP_BAL      LIKE MSEG-MENGE,  " Opening Balance&lt;/P&gt;&lt;P&gt;         OP_BAL_YR   LIKE MSEG-MENGE,  " Opening Balance Yr&lt;/P&gt;&lt;P&gt;         REC         LIKE MSEG-MENGE,  " Receipts&lt;/P&gt;&lt;P&gt;         REC_PLN     LIKE MSEG-MENGE,  " Receipts Planned&lt;/P&gt;&lt;P&gt;         REC_YR      LIKE MSEG-MENGE,  " Receipts Yr&lt;/P&gt;&lt;P&gt;         T_OPBAL_REC LIKE MSEG-MENGE,  " Total Stock&lt;/P&gt;&lt;P&gt;         ISS         LIKE MSEG-MENGE,  " Issues&lt;/P&gt;&lt;P&gt;         ISS_PLN     LIKE MSEG-MENGE,  " Issues Planned&lt;/P&gt;&lt;P&gt;         ISS_YR      LIKE MSEG-MENGE,  " Issues Yr&lt;/P&gt;&lt;P&gt;         CL_BAL      LIKE MSEG-MENGE,  " Closing Balance&lt;/P&gt;&lt;P&gt;         CL_BAL_YR   LIKE MSEG-MENGE,  " Closing Balance Yr&lt;/P&gt;&lt;P&gt;         BATCH       LIKE MSEG-CHARG,  " Batch&lt;/P&gt;&lt;P&gt;         SUBCON      LIKE MSEG-MENGE,&lt;/P&gt;&lt;P&gt;       END OF OPBAL2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF IMARD OCCURS 100,    "aktueller Materialbestand&lt;/P&gt;&lt;P&gt;        WERKS LIKE MARD-WERKS,      "Werk&lt;/P&gt;&lt;P&gt;        MATNR LIKE MARD-MATNR,      "Material&lt;/P&gt;&lt;P&gt;        LGORT LIKE MARD-LGORT,      "Lagerort&lt;/P&gt;&lt;P&gt;        LABST LIKE MARD-LABST,      "frei verwendbarer Bestand&lt;/P&gt;&lt;P&gt;        UMLME LIKE MARD-UMLME,      "Umlagerungsbestand&lt;/P&gt;&lt;P&gt;        INSME LIKE MARD-INSME,      "Qualitätsprüfbestand&lt;/P&gt;&lt;P&gt;        EINME LIKE MARD-EINME,      "nicht frei verwendbarer Bestand&lt;/P&gt;&lt;P&gt;        SPEME LIKE MARD-SPEME,      "gesperrter Bestand&lt;/P&gt;&lt;P&gt;        RETME LIKE MARD-RETME,      "gesperrter Bestand&lt;/P&gt;&lt;P&gt;        KLABS LIKE MARD-KLABS,      "frei verw. Konsignationsbestand&lt;/P&gt;&lt;P&gt;        LBKUM LIKE MBEW-LBKUM,      "bewerteter Bestand&lt;/P&gt;&lt;P&gt;        SALK3(09)            TYPE P    DECIMALS 2,          "n497992&lt;/P&gt;&lt;P&gt;        WAERS LIKE T001-WAERS,      "Währungseinheit&lt;/P&gt;&lt;P&gt;      END OF IMARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;R A N G E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;RANGES: R_DATE FOR MKPF-BUDAT.          " Date Range for Year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;G L O B A L   V A R I A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: FST_OF_MNTH LIKE SY-DATUM,       " First of Month&lt;/P&gt;&lt;P&gt;      FST_OF_YEAR LIKE SY-DATUM.       " First of April&lt;/P&gt;&lt;P&gt;DATA: FLG_AFTER.                       " Flg for High after April 1st&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  SERNO(9) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA OPTOT TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA RECBAL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;DATA RECTOT TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;DATA RECTOT_YR TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA ISSBAL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;DATA ISSTOT TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;DATA ISSTOT_YR TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA TOTALL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;DATA TOTAL_YR TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA OPTOTALL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA RECTOTALL TYPE P DECIMALS 3. "'Receipts(101/102)'&lt;/P&gt;&lt;P&gt;DATA ISSTOTALL TYPE P DECIMALS 3." 'Issues(261/262)',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- DATA TOTALL&lt;/P&gt;&lt;P&gt;DATA TOT_RECBAL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;DATA TOT_ISSBAL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA        FLG TYPE N.&lt;/P&gt;&lt;P&gt;DATA       FLAG TYPE N.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA STOCKVAL        TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;DATA REC_STOCKVAL    TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;DATA ISS_STOCKVAL    TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;DATA STOCKVALALL     TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA REC_STOCKVALALL TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;DATA ISS_STOCKVALALL TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;DATA CL_STKVAL       TYPE MSEG-DMBTR.&lt;/P&gt;&lt;P&gt;DATA : CL_STKVALALL    TYPE MSEG-DMBTR,&lt;/P&gt;&lt;P&gt;       REPID LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;       FRM_DATE(10),TO_DATE(10),&lt;/P&gt;&lt;P&gt;       DISPTEXT(255),DISPTEXT2(255).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S E L E C T I O N  S C R E E N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK X WITH FRAME TITLE TEXT-007.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: P_MATNR FOR MSEG-MATNR,         " Material&lt;/P&gt;&lt;P&gt;                P_MGRP  FOR MARA-MATKL,         " Material Grp&lt;/P&gt;&lt;P&gt;                P_DATE FOR MKPF-BUDAT,          " Date&lt;/P&gt;&lt;P&gt;                P_PLANT FOR MSEG-WERKS          " Plant&lt;/P&gt;&lt;P&gt;                    DEFAULT  'NB01'&lt;/P&gt;&lt;P&gt;                    OBLIGATORY NO INTERVALS&lt;/P&gt;&lt;P&gt;                               NO-EXTENSION .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;I N I T I A L I Z A T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;A T   S E L E C T I O N-S C R E E N    V A L I D A T I O N S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  IF P_DATE-LOW IS INITIAL OR P_DATE-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E902.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  AUTHORITY-CHECK OBJECT 'Z_WERKS_PL'&lt;/P&gt;&lt;P&gt;     ID 'WERKS' FIELD P_PLANT-LOW.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E000(ZT) WITH&lt;/P&gt;&lt;P&gt;    'You are not authorised to use this Plant'(006).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S T A R T - O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*- Get data&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E N D - O F - S E L E C T I O N&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*- Display the Results&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_FLDCAT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Populate ALV Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_FLDCAT USING P_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  1 'Sl.no'          'SNO'&lt;/P&gt;&lt;P&gt;  ' ' 'X'   'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  2 'MATERIAL No.' 'MATNR'&lt;/P&gt;&lt;P&gt;  ' ' 'X'   'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  3 'Batch'          'BATCH'&lt;/P&gt;&lt;P&gt;  ' ' 'X'   'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  4 'OP.Stock'       'OP_BAL'&lt;/P&gt;&lt;P&gt;  ' ' ' '   'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  5 'OP.Stock(Yr)'   'OP_BAL_YR'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  6 'Rcpts. Plan'  'REC_PLN'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  7 'Rcpts.'  'REC'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  8 'Rcpts.(Yr)'  'REC_YR'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  9 'Iss. Plan'  'ISS_PLN'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  10 'Issues'  'ISS'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  11 'Iss. (Yr)'  'ISS_YR'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  12 'Closing Stock.'  'CL_BAL'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM FILL_PARAM_FLDCAT USING  13 'Closing Stk. (Yr)'  'CL_BAL_YR'&lt;/P&gt;&lt;P&gt;  ' ' ' '  'OPBAL2' P_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FILL_FLDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_PARAM_FLDCAT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FILL PARAM FIELDCATALOG&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_PARAM_FLDCAT USING VALUE(P_COL) VALUE(P_TEXT) VALUE(P_FLDNAME)&lt;/P&gt;&lt;P&gt;                             VALUE(P_DOSUM) VALUE(P_ZERO)&lt;/P&gt;&lt;P&gt;                             VALUE(P_TABNAME)&lt;/P&gt;&lt;P&gt;                             PP_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  DATA : WA_FLDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;  CLEAR WA_FLDCAT.&lt;/P&gt;&lt;P&gt;  WA_FLDCAT-COL_POS   = P_COL.&lt;/P&gt;&lt;P&gt;  WA_FLDCAT-SELTEXT_M = P_TEXT.&lt;/P&gt;&lt;P&gt;  WA_FLDCAT-FIELDNAME = P_FLDNAME.&lt;/P&gt;&lt;P&gt;  WA_FLDCAT-TABNAME   = P_TABNAME.&lt;/P&gt;&lt;P&gt;  WA_FLDCAT-DO_SUM    = P_DOSUM.&lt;/P&gt;&lt;P&gt;  WA_FLDCAT-NO_ZERO   = P_ZERO.&lt;/P&gt;&lt;P&gt;  APPEND WA_FLDCAT TO PP_FLDCAT.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FILL_PARAM_FLDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_HEADER&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Fill Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_HEADER USING P_IT_LIST_HEADER TYPE SLIS_T_LISTHEADER.&lt;/P&gt;&lt;P&gt;  DATA: LS_LINE TYPE SLIS_LISTHEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;  LS_LINE-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  IF P_PLANT-LOW EQ 'NB01' OR P_PLANT-LOW EQ 'NB02'.&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = TEXT-002.&lt;/P&gt;&lt;P&gt;  ELSEIF P_PLANT-LOW EQ 'NB11' OR P_PLANT-LOW EQ 'NB12'.&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = TEXT-005.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND LS_LINE TO P_IT_LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Build Date Range Text&lt;/P&gt;&lt;P&gt;  CONCATENATE P_DATE-LOW&lt;EM&gt;6(2) '.' P_DATE-LOW&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;  P_DATE-LOW+0(4)    INTO FRM_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE P_DATE-HIGH&lt;EM&gt;6(2) '.' P_DATE-HIGH&lt;/EM&gt;4(2) '.'&lt;/P&gt;&lt;P&gt;  P_DATE-HIGH+0(4) INTO TO_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-003 FRM_DATE ' To ' TO_DATE&lt;/P&gt;&lt;P&gt;  INTO DISPTEXT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Build Plant Text&lt;/P&gt;&lt;P&gt;  CONCATENATE TEXT-004 P_PLANT-LOW&lt;/P&gt;&lt;P&gt;  INTO DISPTEXT2 SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;  LS_LINE-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  LS_LINE-INFO = DISPTEXT.&lt;/P&gt;&lt;P&gt;  APPEND LS_LINE TO P_IT_LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;  LS_LINE-TYP = 'S'.&lt;/P&gt;&lt;P&gt;  LS_LINE-INFO = DISPTEXT2.&lt;/P&gt;&lt;P&gt;  APPEND LS_LINE TO P_IT_LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FILL_HEADER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_EVENTS&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_EVENTStext&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_EVENTS USING P_IT_EVENTS TYPE SLIS_T_EVENT.&lt;/P&gt;&lt;P&gt;  DATA LS_EVENT TYPE SLIS_ALV_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'TOP_OF_PAGE' TO LS_EVENT-FORM.&lt;/P&gt;&lt;P&gt;  MOVE 'TOP_OF_PAGE' TO LS_EVENT-NAME.&lt;/P&gt;&lt;P&gt;  APPEND LS_EVENT TO P_IT_EVENTS.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FILL_EVENTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="--------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TOP - OF - PAGE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = IT_LIST_HEADER.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FILL_LAYOUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Fill Layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM FILL_LAYOUT USING P_GS_LAYOUT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;  P_GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;  P_GS_LAYOUT-ZEBRA             = 'X'.&lt;/P&gt;&lt;P&gt;  P_GS_LAYOUT-FLEXIBLE_KEY      = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "FILL_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM GET_DATA .&lt;/P&gt;&lt;P&gt;  DATA: OPEN_STOCK LIKE BSIM-MENGE,&lt;/P&gt;&lt;P&gt;        L_YEAR(4),&lt;/P&gt;&lt;P&gt;        L_MONTH(2),&lt;/P&gt;&lt;P&gt;        L_DATE  LIKE BSIM-BUDAT,&lt;/P&gt;&lt;P&gt;        L_STOCK LIKE BSIM-DMBTR,&lt;/P&gt;&lt;P&gt;        L_PLANT LIKE T001W-WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:   SHKZG TYPE MSEG-SHKZG,&lt;/P&gt;&lt;P&gt;          LQ  TYPE QALS-LOSMENGE,&lt;/P&gt;&lt;P&gt;          DQ  TYPE LIPS-LFIMG,&lt;/P&gt;&lt;P&gt;          DLQ TYPE QALS-LOSMENGE,&lt;/P&gt;&lt;P&gt;          UNIT  TYPE QALS-MENGENEINH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Get dates: First of that month and&lt;/P&gt;&lt;P&gt;*-            April 1st of Fiscal Year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- First of that month&lt;/P&gt;&lt;P&gt;  CONCATENATE P_DATE-LOW+0(4)&lt;/P&gt;&lt;P&gt;              P_DATE-LOW+4(2)&lt;/P&gt;&lt;P&gt;              '01' INTO FST_OF_MNTH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- First of April of that Year&lt;/P&gt;&lt;P&gt;  L_YEAR = P_DATE-LOW+0(4).&lt;/P&gt;&lt;P&gt;  L_MONTH = P_DATE-LOW+4(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- If month is &amp;lt; 4 (April) then year is less by 1&lt;/P&gt;&lt;P&gt;  IF  L_MONTH &amp;lt; 4.&lt;/P&gt;&lt;P&gt;    L_YEAR = L_YEAR - 1.&lt;/P&gt;&lt;P&gt;  ELSE.  " year is the same&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CONCATENATE L_YEAR&lt;/P&gt;&lt;P&gt;              '04'            " April&lt;/P&gt;&lt;P&gt;              '01' INTO FST_OF_YEAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Build Date Range for Year if P_DATE-HIGH is after&lt;/P&gt;&lt;P&gt;*- April 1st of the same year&lt;/P&gt;&lt;P&gt;  IF FST_OF_YEAR &amp;lt; P_DATE-HIGH.&lt;/P&gt;&lt;P&gt;*- Set Flag&lt;/P&gt;&lt;P&gt;    FLG_AFTER = 'X'.&lt;/P&gt;&lt;P&gt;*- Build Range with Date Range&lt;/P&gt;&lt;P&gt;    R_DATE-LOW = FST_OF_YEAR.&lt;/P&gt;&lt;P&gt;    R_DATE-HIGH = P_DATE-HIGH.&lt;/P&gt;&lt;P&gt;    R_DATE-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;    R_DATE-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND R_DATE.&lt;/P&gt;&lt;P&gt;    CLEAR  R_DATE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  A~MATNR&lt;/P&gt;&lt;P&gt;          F~MAKTX&lt;/P&gt;&lt;P&gt;          A~CHARG&lt;/P&gt;&lt;P&gt;          A~BWART&lt;/P&gt;&lt;P&gt;          A~MENGE&lt;/P&gt;&lt;P&gt;          A~ZEILE&lt;/P&gt;&lt;P&gt;          A~WERKS&lt;/P&gt;&lt;P&gt;          A~SOBKZ&lt;/P&gt;&lt;P&gt;          D~BUDAT&lt;/P&gt;&lt;P&gt;          E~MTART&lt;/P&gt;&lt;P&gt;          A~SHKZG&lt;/P&gt;&lt;P&gt;          A~DMBTR&lt;/P&gt;&lt;P&gt;          A~MBLNR&lt;/P&gt;&lt;P&gt;          A~LGORT&lt;/P&gt;&lt;P&gt;          INTO TABLE OPBAL&lt;/P&gt;&lt;P&gt;   FROM MKPF AS D JOIN MSEG AS A&lt;/P&gt;&lt;P&gt;           ON D&lt;SUB&gt;MBLNR = A&lt;/SUB&gt;MBLNR  AND&lt;/P&gt;&lt;P&gt;              D&lt;SUB&gt;MJAHR = A&lt;/SUB&gt;MJAHR&lt;/P&gt;&lt;P&gt;        JOIN MARA AS E&lt;/P&gt;&lt;P&gt;           ON E&lt;SUB&gt;MATNR = A&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;        JOIN MAKT AS F&lt;/P&gt;&lt;P&gt;           ON F&lt;SUB&gt;MATNR = A&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;   WHERE   A~MATNR IN P_MATNR&lt;/P&gt;&lt;P&gt;     AND   A~WERKS IN P_PLANT&lt;/P&gt;&lt;P&gt;     AND   A~KZBEW IN (' ','B')&lt;/P&gt;&lt;P&gt;     AND   E~MATKL IN P_MGRP&lt;/P&gt;&lt;P&gt;     AND   A~BWART NOT IN ('541','542','321','322','121')&lt;/P&gt;&lt;P&gt;     AND   A~KZVBR NOT IN ('A')&lt;/P&gt;&lt;P&gt;     AND   D~BUDAT LE P_DATE-HIGH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT OPBAL WHERE BWART EQ '544' AND LGORT EQ ''.&lt;/P&gt;&lt;P&gt;    TMP_OPBAL = OPBAL.&lt;/P&gt;&lt;P&gt;    APPEND TMP_OPBAL.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE OPBAL WHERE ( BWART EQ '309' AND DMBTR EQ 0  ).&lt;/P&gt;&lt;P&gt;  DELETE OPBAL WHERE ( BWART NE '543' AND LGORT EQ '' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT TMP_OPBAL.&lt;/P&gt;&lt;P&gt;    OPBAL = TMP_OPBAL.&lt;/P&gt;&lt;P&gt;    APPEND OPBAL.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  STOCKVAL = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT OPBAL[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT OPBAL BY MATNR BATCH BUDAT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MESSAGE I005(ZT).&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;  LOOP AT OPBAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE LBLAB INTO MSLB-LBLAB FROM MSLB&lt;/P&gt;&lt;P&gt;                         WHERE MATNR = OPBAL-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="12" type="ul"&gt;&lt;P&gt; For the duration   II part  *****************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF OPBAL-BUDAT IN P_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF OPBAL-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;        ISSTOT      = ISSTOT + OPBAL-MENGE.&lt;/P&gt;&lt;P&gt;      ELSEIF OPBAL-SHKZG = 'S'.&lt;/P&gt;&lt;P&gt;        RECTOT = RECTOT + OPBAL-MENGE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- For calculating the Year Receipts/Issues when flag is set&lt;/P&gt;&lt;P&gt;    IF FLG_AFTER = 'X'.&lt;/P&gt;&lt;P&gt;      IF OPBAL-BUDAT IN R_DATE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF OPBAL-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;          ISSTOT_YR      = ISSTOT_YR + OPBAL-MENGE.&lt;/P&gt;&lt;P&gt;        ELSEIF OPBAL-SHKZG = 'S'.&lt;/P&gt;&lt;P&gt;          RECTOT_YR = RECTOT_YR + OPBAL-MENGE.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&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;    AT END OF BATCH. " modified for chek&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Get opening Stocks for the Material based on&lt;/P&gt;&lt;P&gt;*- 1st of the Month and 1st of April of that year&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- For 1st of that month&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR OPEN_STOCK.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_PLANT = P_PLANT-LOW.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     L_DATE = FST_OF_MNTH.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CALL FUNCTION 'ZMM_OPBAL_QTY_BASED_KEYDATE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_MATNR           = OPBAL-MATNR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_PLANT           = L_PLANT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_KEYDT           = L_DATE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        E_STK_OPBAL       = OPEN_STOCK&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  E_STK_VAL         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       OPTOT = OPEN_STOCK.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM GET_OPENING_STOCK.&lt;/P&gt;&lt;P&gt;*- Opening Stock (Batch)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- For 1st of April of that Year&lt;/P&gt;&lt;P&gt;      CLEAR OPEN_STOCK.&lt;/P&gt;&lt;P&gt;      L_PLANT = P_PLANT-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_DATE = FST_OF_YEAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'ZMM_OPBAL_QTY_BASED_KEYDATE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          I_MATNR           = OPBAL-MATNR&lt;/P&gt;&lt;P&gt;          I_PLANT           = L_PLANT&lt;/P&gt;&lt;P&gt;          I_KEYDT           = L_DATE&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;         E_STK_OPBAL       = OPEN_STOCK&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  E_STK_VAL         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        OPBAL2-OP_BAL_YR    = OPEN_STOCK.  " Opening Stock for Yr&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TOTALL = OPTOT + RECTOT - ISSTOT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Calculate Closing Bal for Year&lt;/P&gt;&lt;P&gt;      TOTAL_YR = OPBAL2-OP_BAL_YR + RECTOT_YR - ISSTOT_YR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF OPTOT = '0'   AND RECTOT = '0'  AND ISSTOT = '0'.&lt;/P&gt;&lt;P&gt;        FLG = 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF FLG = 1.&lt;/P&gt;&lt;P&gt;        CLEAR FLG.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        SERNO = SERNO + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        OPBAL2-SNO         = SERNO.&lt;/P&gt;&lt;P&gt;        OPBAL2-MATNR       = OPBAL-MATNR.&lt;/P&gt;&lt;P&gt;        OPBAL2-MAKTX       = OPBAL-MAKTX.&lt;/P&gt;&lt;P&gt;        OPBAL2-OP_BAL      = OPTOT.&lt;/P&gt;&lt;P&gt;        OPBAL2-REC         = RECTOT.&lt;/P&gt;&lt;P&gt;        OPBAL2-T_OPBAL_REC = OPTOT + RECTOT.&lt;/P&gt;&lt;P&gt;        OPBAL2-ISS         = ISSTOT.&lt;/P&gt;&lt;P&gt;        OPBAL2-CL_BAL      = TOTALL.&lt;/P&gt;&lt;P&gt;        OPBAL2-BATCH       = OPBAL-BATCH.&lt;/P&gt;&lt;P&gt;        OPBAL2-SUBCON      = MSLB-LBLAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Year Information&lt;/P&gt;&lt;P&gt;        IF FLG_AFTER = 'X'.&lt;/P&gt;&lt;P&gt;          OPBAL2-REC_YR      = RECTOT_YR.&lt;/P&gt;&lt;P&gt;          OPBAL2-ISS_YR      = ISSTOT_YR.&lt;/P&gt;&lt;P&gt;          OPBAL2-CL_BAL_YR   = TOTAL_YR.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND OPBAL2.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      OPTOT = 0.&lt;/P&gt;&lt;P&gt;      RECTOT = 0.&lt;/P&gt;&lt;P&gt;      ISSTOT = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      RECTOT_YR = 0.&lt;/P&gt;&lt;P&gt;      ISSTOT_YR = 0.&lt;/P&gt;&lt;P&gt;      TOTAL_YR = 0.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_REPORT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Write Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM WRITE_REPORT .&lt;/P&gt;&lt;P&gt;  IF NOT OPBAL2[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Fill Layout&lt;/P&gt;&lt;P&gt;    PERFORM FILL_LAYOUT USING GS_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Perform Fill Events&lt;/P&gt;&lt;P&gt;    PERFORM FILL_EVENTS USING IT_EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Perform Fill ALV Header&lt;/P&gt;&lt;P&gt;    PERFORM FILL_HEADER USING IT_LIST_HEADER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Populate ALV Field catalog&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FLDCAT USING IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Display Data&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_CALLBACK_PROGRAM = REPID&lt;/P&gt;&lt;P&gt;        IT_FIELDCAT        = IT_FLDCAT&lt;/P&gt;&lt;P&gt;        IT_EVENTS          = IT_EVENTS&lt;/P&gt;&lt;P&gt;        IS_LAYOUT          = GS_LAYOUT&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        T_OUTTAB           = OPBAL2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " WRITE_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_OPENING_STOCK&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ******* USE THIS LOGIC FOR GETTING OPENING STOCK OF A BATCH ******&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ********** THE WAY ITS DONE (TO SOME EXTENT) IN Trxn MB5B **********     &lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  **************** VERY USEFUL TO GET STOCK FASTER **************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM GET_OPENING_STOCK .&lt;/P&gt;&lt;P&gt;  DATA: TOTAL TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR       OPTOT.&lt;/P&gt;&lt;P&gt;  REFRESH: IMARD, G_T_MSEG_LEAN.&lt;/P&gt;&lt;P&gt;  CLEAR:   IMARD, G_T_MSEG_LEAN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*- Select data from IMARD&lt;/P&gt;&lt;P&gt;  SELECT * FROM MARD INTO CORRESPONDING FIELDS OF TABLE IMARD&lt;/P&gt;&lt;P&gt;                                          WHERE WERKS = P_PLANT-LOW&lt;/P&gt;&lt;P&gt;                                          AND   MATNR = OPBAL-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    READ TABLE IMARD INDEX 1.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      TOTAL = IMARD-LABST.&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;*- Select data from MSEG and MKPF&lt;/P&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;             MKPF~MBLNR&lt;/P&gt;&lt;P&gt;             MKPF~MJAHR&lt;/P&gt;&lt;P&gt;             MKPF~BLART&lt;/P&gt;&lt;P&gt;             MKPF~BUDAT&lt;/P&gt;&lt;P&gt;             MKPF~CPUDT&lt;/P&gt;&lt;P&gt;             MSEG~MATNR&lt;/P&gt;&lt;P&gt;             MSEG~WERKS&lt;/P&gt;&lt;P&gt;             MSEG~LGORT&lt;/P&gt;&lt;P&gt;             MSEG~CHARG&lt;/P&gt;&lt;P&gt;             MSEG~SHKZG&lt;/P&gt;&lt;P&gt;             MSEG~MENGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE G_T_MSEG_LEAN&lt;/P&gt;&lt;P&gt;           FROM MKPF AS MKPF  JOIN MSEG AS MSEG&lt;/P&gt;&lt;P&gt;                    ON MKPF&lt;SUB&gt;MANDT  =  MSEG&lt;/SUB&gt;MANDT  AND&lt;/P&gt;&lt;P&gt;                       MKPF&lt;SUB&gt;MBLNR  =  MSEG&lt;/SUB&gt;MBLNR  AND&lt;/P&gt;&lt;P&gt;                       MKPF&lt;SUB&gt;MJAHR  =  MSEG&lt;/SUB&gt;MJAHR&lt;/P&gt;&lt;P&gt;           WHERE MSEG~MATNR  =   OPBAL-MATNR&lt;/P&gt;&lt;P&gt;             AND MSEG~WERKS  =   P_PLANT-LOW&lt;/P&gt;&lt;P&gt;             AND MSEG~CHARG  =   OPBAL-BATCH&lt;/P&gt;&lt;P&gt;             AND MKPF~BUDAT  GE  P_DATE-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT  G_T_MSEG_LEAN    BY WERKS MATNR CHARG SHKZG DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT G_T_MSEG_LEAN[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT G_T_MSEG_LEAN.&lt;/P&gt;&lt;P&gt;      IF G_T_MSEG_LEAN-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;        TOTAL = TOTAL + G_T_MSEG_LEAN-MENGE.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        TOTAL = TOTAL - G_T_MSEG_LEAN-MENGE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;*- Assign Stock&lt;/P&gt;&lt;P&gt;    OPTOT = TOTAL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_OPENING_STOCK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:19:54 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533170#M243438</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T12:19:54Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533171#M243439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ranges : r_bwart for mseg-bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  r_bwart-low = '200'&lt;/P&gt;&lt;P&gt;  r_bwart-high = '292'.&lt;/P&gt;&lt;P&gt;  r_bwart-sign = 'BT'.&lt;/P&gt;&lt;P&gt;  r_bwart-option = 'I'.&lt;/P&gt;&lt;P&gt;  append r_bwart.&lt;/P&gt;&lt;P&gt;  r_bwart-low = '551'&lt;/P&gt;&lt;P&gt;  r_bwart-high = '556'.&lt;/P&gt;&lt;P&gt;  r_bwart-sign = 'BT'.&lt;/P&gt;&lt;P&gt;  r_bwart-option = 'I'.&lt;/P&gt;&lt;P&gt;  append r_bwart.&lt;/P&gt;&lt;P&gt;  r_bwart-low = '701'&lt;/P&gt;&lt;P&gt;  r_bwart-high = '718'.&lt;/P&gt;&lt;P&gt;  r_bwart-sign = 'BT'.&lt;/P&gt;&lt;P&gt;  r_bwart-option = 'I'.&lt;/P&gt;&lt;P&gt;  append r_bwart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ltot = 0.&lt;/P&gt;&lt;P&gt;  select * from mseg where bwart in r_bwart.&lt;/P&gt;&lt;P&gt;    if mseg-shkzg = 'H'. &lt;/P&gt;&lt;P&gt;       ltot = ltot - mseg-bstmg.&lt;/P&gt;&lt;P&gt;    elseif mseg-shkzg = 'S'.&lt;/P&gt;&lt;P&gt;       ltot = ltot + mseg-bstmg.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt; endselect.&lt;/P&gt;&lt;P&gt; qtyrem = grqty - ltot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-- define the qtyrem, grqty and ltot with decimals 2 as per your requirement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:20:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533171#M243439</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T12:20:49Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533172#M243440</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Prepare a range for the field movement type MSEG-BWART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with the following data &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RA_BWART-LOW = 200&lt;/P&gt;&lt;P&gt;RA_BWART-HIGH = 292&lt;/P&gt;&lt;P&gt;RA_BWART-SIGN = 'I'&lt;/P&gt;&lt;P&gt;RA_BWART-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;append RA_BWART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RA_BWART-LOW = 551&lt;/P&gt;&lt;P&gt;RA_BWART-HIGH = 556&lt;/P&gt;&lt;P&gt;RA_BWART-SIGN = 'I'&lt;/P&gt;&lt;P&gt;RA_BWART-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;append RA_BWART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RA_BWART-LOW = 701&lt;/P&gt;&lt;P&gt;RA_BWART-HIGH = 718&lt;/P&gt;&lt;P&gt;RA_BWART-SIGN = 'I'&lt;/P&gt;&lt;P&gt;RA_BWART-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;append RA_BWART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USe the range in the select query for fetching data from MSEG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select *&lt;/P&gt;&lt;P&gt;into table tb_mseg&lt;/P&gt;&lt;P&gt;from mseg&lt;/P&gt;&lt;P&gt;where bwart in ra_range...&lt;/P&gt;&lt;P&gt;(other conditions.....) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Loop at all the entries fetched .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; if tb_mseg-shkzg = 'S'&lt;/P&gt;&lt;P&gt;    wf_total = wf_total + tb_mseg-bstmg .&lt;/P&gt;&lt;P&gt; elseif tb_mseg-shkzg = 'H'.&lt;/P&gt;&lt;P&gt;    wf_total = wf_total - tb_mseg-bstmg.&lt;/P&gt;&lt;P&gt; endif.&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;&lt;/P&gt;&lt;P&gt;value calcualted in step 1 = wf_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding, The good receipt quantity given in point 2&lt;/P&gt;&lt;P&gt;if its just sum of all bstmg, then declare one more variable and store the value in that field&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;....... the quantity is never in DECIMALS its always an integer. if you want to display in 2 decimals move it to a P field with 2 decimals and display it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:21:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533172#M243440</guid>
      <dc:creator>former_member195698</dc:creator>
      <dc:date>2006-08-24T12:21:12Z</dc:date>
    </item>
    <item>
      <title>Re: ABAP Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533173#M243441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZGRO_TEST.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;TABLES: MSEG.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_BWART FOR MSEG-BWART NO-DISPLAY.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF ITAB OCCURS 0,&lt;/P&gt;&lt;P&gt;      MATNR LIKE MSEG-MATNR,&lt;/P&gt;&lt;P&gt;      BSTME LIKE MSEG-BSTME,&lt;/P&gt;&lt;P&gt;      BSTMG LIKE MSEG-BSTMG,&lt;/P&gt;&lt;P&gt;      END   OF ITAB.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  S_BWART-SIGN    = 'I'.&lt;/P&gt;&lt;P&gt;  S_BWART-OPTION  = 'BT'.&lt;/P&gt;&lt;P&gt;  S_BWART-LOW     = '200'.&lt;/P&gt;&lt;P&gt;  S_BWART-HIGH    = '292'.&lt;/P&gt;&lt;P&gt;  APPEND S_BWART.&lt;/P&gt;&lt;P&gt;  S_BWART-LOW     = '551'.&lt;/P&gt;&lt;P&gt;  S_BWART-HIGH    = '556'.&lt;/P&gt;&lt;P&gt;  APPEND S_BWART.&lt;/P&gt;&lt;P&gt;  S_BWART-LOW     = '701'.&lt;/P&gt;&lt;P&gt;  S_BWART-HIGH    = '718'.&lt;/P&gt;&lt;P&gt;  APPEND S_BWART.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  SELECT * FROM MSEG where bwart in s_bwart.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;    ITAB-MATNR = MSEG-MATNR.&lt;/P&gt;&lt;P&gt;    ITAB-BSTME = MSEG-BSTME.&lt;/P&gt;&lt;P&gt;    IF MSEG-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;      ITAB-BSTMG = MSEG-BSTMG.&lt;/P&gt;&lt;P&gt;    COLLECT ITAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF MSEG-SHKZG = 'S'.&lt;/P&gt;&lt;P&gt;      ITAB-BSTMG = MSEG-BSTMG * ( -1 ).&lt;/P&gt;&lt;P&gt;    COLLECT ITAB.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  sort itab by matnr.&lt;/P&gt;&lt;P&gt;  LOOP AT ITAB.&lt;/P&gt;&lt;P&gt;    WRITE: / ITAB-MATNR, ITAB-BSTMG, ITAB-BSTME.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you sure you meen BSTMG, BSTME?&lt;/P&gt;&lt;P&gt;otherwise try&lt;/P&gt;&lt;P&gt;MENGE&lt;/P&gt;&lt;P&gt;MEINS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ERFMG&lt;/P&gt;&lt;P&gt;ERFME&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards, dieter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Aug 2006 12:51:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/abap-report/m-p/1533173#M243441</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-24T12:51:33Z</dc:date>
    </item>
  </channel>
</rss>

