Range performance

In terms of range performance within the same wifi system (i.e., a, b, g, or n) , how would you rank the following from best to worst:
1. Airport Express (old models)
2. Airport Extreme (the non-N models)
3. Airport Express (new N models)
4. Airport Extreme (new N models)
5. Time Capsule
I own 1 and 2 and in my experience, the Airport Express (old models) have better range than the Airport Extreme (old model also), which is rather sad.

Duane wrote:
All of the 802.11g devices have the same range.
-> AirPort Express (AX)
-> AirPort Extreme base station (AEBS)
Is that true in practice? I find that not to be true. I own the old Airport Express and the Airport Extreme with the g/b standard (the one before the N version). I can say that my Express produces better signal than the Extreme.
In theory, what you say is accurate but in practice it is unlikely because the design of the antenna and the chips or what not are different.

Similar Messages

  • For all Enteries in & Ranges Performance Problem

    Is there any soln of For all enteries in & Ranges as
    If i use for all enteries in my report, it becomes slow .
    and if i use Ranges , if no. of record exceeds system will throw dump.
    Since long i couldnt find any good soln for this problem , can anyone guide me
    how to solve this problem.
    Thanks

    Hi All
    I am pasting down query for more expert optimzation comments of the current probs
    SELECT zsd_weigh_bridg1~weight_no zsd_weigh_bridg1~challn_no
               likp~vbeln AS likp_vbeln likp~lfdat
               lips~vgbel
               vbfa~vbeln AS vbfa_vbeln vbfa~vbtyp_n
               mkpf~budat
    *         vtfa~vbeln AS vtfa_vbeln
               ekko~knumv AS ekko_knumv
               ekpo~inco1 ekpo~werks
               APPENDING CORRESPONDING FIELDS OF TABLE lit_in
          FROM zsd_weigh_bridg1
               INNER JOIN likp ON likp~traid = zsd_weigh_bridg1~weight_no
               INNER JOIN lips ON lips~vbeln = likp~vbeln
               INNER JOIN vbfa ON vbfa~vbelv = likp~vbeln
               LEFT OUTER JOIN mkpf ON mkpf~mblnr = vbfa~vbeln
               LEFT OUTER JOIN vtfa ON vtfa~vbelv = vbfa~vbeln
               INNER JOIN ekko ON ekko~ebeln = lips~vgbel
               INNER JOIN ekpo ON ekpo~ebeln = ekko~ebeln
    *           FOR ALL ENTRIES IN git_bridge
          WHERE zsd_weigh_bridg1~weight_no  in r_weight." git_bridge-weight_no ." r_weight.
      ENDIF.
      lit_in_tmp[] = lit_in[].
      DELETE lit_in_tmp  WHERE vbtyp_n NE '8'.
      IF lit_in_tmp[] IS NOT INITIAL.
        SELECT mandt knumv kposn vbeln netwr netpr INTO TABLE lit_vfsi
          FROM vfsi FOR ALL ENTRIES IN lit_in
         WHERE vbeln EQ lit_in-likp_vbeln.
        SELECT mandt tknum vbelv posnv vbtyp_v vbeln posnn vbtyp_n
               INTO TABLE lit_vtfa
          FROM vtfa FOR ALL ENTRIES IN lit_in
         WHERE vbelv EQ lit_in-vbfa_vbeln.
        IF lit_vtfa[] IS NOT INITIAL.
          SELECT mandt fknum fkpos knumv
            FROM vfkp INTO CORRESPONDING FIELDS OF TABLE lit_vfkp
                 FOR ALL ENTRIES IN lit_vtfa
           WHERE fknum EQ lit_vtfa-vbeln.
        ENDIF.
      ENDIF.

  • Airport extreme to extend time capsule range - performance degradation

    I have a time capsule - had no wireless coverage on my patio. Installed an extreme base station as an extender and the good news is I now have coverage on my patio. Bad news is the performance in my office went from good to bad. Office had thruput of 5Mb per sec before installing the extender to around 300Kb per second after installing the extreme base station as an extender. When I unplug the extreme base station performance in the office goes back to good - 5Mb per second. Of course when I unplug extreme base station I lose coverage on the patio. I thought the network on my mac book pro would pick the transmitter with the strongest signal. When moving to the office I would restart the MACbook PRO to make sure it wasn't still using the same transmitter as when I moved to patio to office. The workaround is to leave the extender unplugged unless I am on the patio - an ugly kludge. Any insight help will be greatly appreciated.
    Thanks,
    Mike

    Thanks for all your help and the explanations.
    Not looking to beat a dead horse - everything is working to my satisfaction but but my head is spinning on some of this stuff.
    Originally on the TC 'Radio Mode' was set to '802.11n (802.11b/g compatible)'.
    I changed it to '802.11n only (5Ghz)'. That resolved my issues and I am very happy about that.
    Per your post the iphone was not 802.11n capable and my poking around on GOOGLE seems to confirm that.
    However, my iphone 3g looks like it is utilizing my wireless network. I see a fan icon vs. 3g icon. When I first take the iphone off sleep, the icon is 3g but it changes to the fan icon. I can confirm it is using my wireless network through an application. The app is IPOD keeper which syncs my passwords. It shows it is picking up an DHCP ip address and port number from my private wireless network. 192.168.2.xxx.
    My wife has a first gen iphone and an Ipad - she is out of town and I can't test those devices. If the first gen iphone can't utilize the wireless network - no big deal - it's simply a phone for her. Hopefully the Ipad will work - that is a big deal for her.
    I'm always trying to learn and appreciate your time and help.

  • To improve the system performance of the code

    Please help me to improve the system performance of the following program. its very urgent
    report zsdr0125
              no standard page heading
    *         LINE-SIZE  170                                   " SIR 061880
              line-size  210                                   " SIR 061880
              line-count 58
              message-id zz.
    ** Report header ******************************************************
    ** Report name: Activity Costing Report
    ** Report id:   RO-01148
    ** Designed/Coded. Tori Chandler. Reporting Team.
    ** Date: March 01, 2000.
    ** Original SIR:  016113
    ** Application Area: V - Sales & Distribution  (OTC)
    ** Correction/Transport:  D10K951579
    ** Description:  It is normal business practice for logistics
    **               operations to charge business units for the activity
    **               incurred on their behalf.  This is consistent with
    **               activity based costing principles between BU and
    **               shared resources.  The activities involved are picking
    **               storage, shipping and receiving.  The purpose of this
    **               report is to provide data for the first 3.
    **      QRB2 - 03/13/2000 - Tracy, Antoine, Christian, Tori
    ** History:
    * 06/14/2001 SIR 032383 CTS                             Antoine Dailly
    * A plant (WERKS) can have several Distrib points (VSTEL)
    * SIGN = 032383
    * Modification History:
    * Date       Modified by  SIR       CTS          Description
    *11/14/2001  J.CAMPION   034606   D10K979189  Logistics Activity report
    * Logistics Activity reports
    * We added fields ship to customer and country and we also make another
    * total
    * QRB2 Tracy L. Obrien
    * Modification History:
    * Date       Modified by  SIR       CTS          Description
    *11/14/2001  J.CAMPION   37838   D10K982890      Select only
    *                                                material type HALB
    *06/12/2002  T OBrien    38784   D10K988181
    *        Allow option to get material weight from Master data or
    *        from the delivery.
    *  Modified by    SIR       CTS                         Date
    *  Jim Harwood    42730     D10K993119               10 Oct 2002
    * Description:  Code amended to default the Goods Issue Date range to
    * the previous month.  Also amended to print out the Select Options.
    *  Modified by    SIR       CTS                         Date
    *  Jim Harwood    44381     D10K994598               18 Nov 2002
    * Description:  Correct date range processing.  APPEND statement added
    * so that record is added ot internal table S_WADAT.  Also S_VKORG
    * removed as it was NO DISPLAY and nothing was assigned to it. It's use
    * in an SQL call may be causing the wrong optimization.
    *  Modified by    SIR       CTS                         Date
    *  Tori Chandler  45567     D10K995875               03 Jan 2003
    * Description:  Correct reporting of weights for non-pickable items
    *    when the Material Master Data radiobutton is selected. Also found
    *    from SIR 37838, that material type is hardcoded on the LIPS.  I
    *    created a new select option and the person needing the report
    *    can control if they want only HALB or all line items.  Also,
    *    because of this the delivery weight is obtain from header,
    *    changing to accumulate from LIPS to match which lines are selected
    *  QRB2:  1/15/2003:  Eileen, Jerome and Tori
    *{   INSERT         D11K901833                                        1
    *  Modified by    Sir             CTS                    Date
    *  Sue Kastan    48712/054042    D11K901833         28 Aug, 2003
    *  Fix overcounting of records from LIPS
    *}   INSERT
    *  Modified by    SIR       CTS                         Date          *
    *  Vijay Andea   061880    D11K918628               04/20/2006        *
    *                          D11K946194                                 *
    *  Description: Enhence ZSDR0125 Activity Cost Driver Report to allow *
    *  Analysis by Product Groupings.                                     *
    *}   INSERT
    *  Modified by            SIR       CTS                    Date       *
    *  Prakash Arunachalam  091510   D11K950288             09/26/2006    *
    *  Description: Correct Activity Cost report  - material weight       *
    *  calculation                                                        *
    *  Modified by            SIR       CTS                    Date       *
    *  Murali Krishna        301978    D50K903293            01/20/2008
    *  Description: Improve the system performance of this report and
    *               clean-up of code into various form routine
    * Table declaration.
    tables: likp,    " SD Document: Delivery Header Data
            lips,    " SD document: Delivery: Item data
            vepo,    " SD Document: Shipping Unit Item (Content)
            vekp,    " SD Document: Shipping Unit Header
            knvv,    " Customer Master Sales Data
            kna1,    " General Data in Customer Master            SIR 34606
            marm,    " Units of Measure
            mara,    " Material Master: General Data              SIR 38784
            t001l,   " Stge locs
            t001k,   " Valuation area
            tvswz,   " Shipping Points per Plant
            t134,    " Material types
            z0234.   " Alternative Unit of Measure
    *** Selection screen.
    selection-screen begin of block b1 with frame title text-001.
    parameters:     p_werks  like t001l-werks obligatory memory id wrk.
    select-options: s_lgort  for  t001l-lgort,
    *               S_VKORG  FOR  TVKO-VKORG NO-DISPLAY ," SIR 34606, 42730
    *               S_WADAT  FOR  LIKP-WADAT_IST OBLIGATORY NO-EXTENSION,
                    s_wadat  for  likp-wadat_ist no-extension,  " SIR 42730
                    s_mtart  for  t134-mtart,                   " SIR 45567
                    s_lfart  for  likp-lfart no-display no intervals.
    selection-screen skip 2.
    selection-screen comment 1(21) text-002.                    " SIR 38784
    parameters:     p_delwt  radiobutton group grp1,            " SIR 38784
                    p_mstwt  radiobutton group grp1.            " SIR 38784
    *--------------------------------------------------*Start of SIR 061880
    selection-screen skip 2.
    selection-screen comment 1(21) text-006.
    parameters:     p_voldl radiobutton group 2,     " Volume from Delivery
                    p_volmd radiobutton group 2.  " Volume from Master Data
    *-----------------------------------------------------End of SIR 061880
    selection-screen end of block b1.
    *--------------------------------------------------*Start of SIR 061880
    selection-screen begin of block b2 with frame title text-007.
    select-options: s_cbuun for knvv-kvgr1 no intervals,      " Customer BU
                    s_mbuun for mara-prdha+1(2) no intervals, " Material BU
                    s_lobus for mara-prdha+3(3) no intervals,         " LOB
                    s_pac1  for mara-prdha+6(3) no intervals.   " PAC1
    selection-screen end of block b2.
    *----------------------------------------------------*End of SIR 061880
    *---Type Declaration for Internal Tables------------------------------*
    types: begin of t_likp,
              vbeln      like likp-vbeln,  " delivery
              vstel      like likp-vstel,  " shipping point
              lfart      like likp-lfart,  " delivery type
              vkorg      like likp-vkorg,  " Sales organization
              kunag      like likp-kunag,  " sold-to party
              kunnr      like likp-kunnr,  " ship to party        SIR 34606
              btgew      like likp-btgew,  " Delivery weight
              gewei      like likp-gewei,  " Unit of weight
              anzpk      like likp-anzpk,  " Number of Packages   SIR 61880
              volum      like likp-volum,  " Delivery Volume      SIR 61880
              voleh      like likp-voleh,  " Volume Unit          SIR 61880
              vtwiv      like likp-vtwiv,  " Distribution channel
              spaiv      like likp-spaiv,  " Division
              wadat_ist  like likp-wadat_ist,  " actual goods issue date
              del_flg(1) type c,                            "(+) SIR 301978
           end of t_likp.
    types: begin of t_lips,
              vbeln      like lips-vbeln,  " delivery
              posnr      like lips-posnr,  " delivery line
              matnr      like lips-matnr,  " material
              lgort      like lips-lgort,  " storage location
              prodh      like lips-prodh,  " product hierarchy
              meins      like lips-meins,  " base UoM
              brgew      like lips-brgew,  " Material weight
              gewei      like lips-gewei,  " Unit of weight
              volum      like lips-volum,  " Material Volume      SIR 61880
              voleh      like lips-voleh,  " Volume Unit          SIR 61880
              lgmng      like lips-lgmng,  " actual delivery quantity
              komkz      like lips-komkz,  " Indicator for picking control
              mtart      like lips-mtart,  " Material type      " SIR 37838
              del_flg(1) type c,                            "(+) SIR 301978
           end of t_lips.
    types: begin of t_vepo,
              venum      like vepo-venum,  " shipping unit number
              vbeln      like vepo-vbeln,  " delivery
           end of t_vepo.
    types: begin of t_vekp,
              venum      like vekp-venum,  " shipping unit number
              brgew      like vekp-brgew,  " actual weight
              gewei_max  like vekp-gewei_max,  " unit of weight
              vpobjkey   like vekp-vpobjkey,   " key for assigned object
           end of t_vekp.
    types: begin of t_knvv,
              kunnr      like knvv-kunnr,  " customer number
              ktgrd      like knvv-ktgrd,  " acct assign group
              kvgr1      like knvv-kvgr1,  " customer group 1
           end of t_knvv.
    types: begin of t_kna1,                                     " SIR 34606
              kunnr      like kna1-kunnr,  " customer number    " SIR 34606
              land1      like kna1-land1,  " contry             " SIR 34606
           end of t_kna1.                                       " SIR 34606
    types: begin of t_marm,
              matnr      like marm-matnr,  " material
              meinh      like marm-meinh,  " Alt unit of measure     032383
              umrez      like marm-umrez,  " numerator
              umren      like marm-umren,  " denominator
           end of t_marm.
    types: begin of t_mara,                                     " SIR 38784
              matnr      like mara-matnr,  " material           " SIR 38784
              prdha      like mara-prdha,  " Product Hierarchy  " SIR 61880
              brgew      like lips-brgew,  " gross weight       " SIR 38784
              gewei      like mara-gewei,  " Unit of weight     " SIR 38784
              volum      like mara-volum,  " Volume             " SIR 61880
              voleh      like mara-voleh,  " Volume Unit        " SIR 61880
              del_flg(1) type c,                            "(+) SIR 301978
           end of t_mara.                                       " SIR 38784
    types: begin of t_tvswz,
              vstel      like tvswz-vstel, " shipping point
           end of t_tvswz.
    types: begin of t_z0234,                                        "032383
              vstel      like z0234-vstel, " shipping point          032383
              zpaluom    like z0234-zpaluom," pallet unit of measure 032383
              zcsuom     like z0234-zcsuom," Case unit of measure    032383
           end of t_z0234.                                          "032383
    types: begin of t_output_dt,
              wadat_ist    like likp-wadat_ist, " Goods issue date
              ktgrd        like knvv-ktgrd," acct assign group
              bu           like knvv-kvgr1," business unit
              kunnr        like kna1-kunnr," ship to location     SIR 34606
              land1        like kna1-land1," ship to location     SIR 34606
              d_btgew      like likp-btgew," delivery weight
              m_brgew      like lips-brgew," material weight
              a_brgew      like vekp-brgew," actual weight of ship unit
              num_del      type i,         " counter of deliveries
              num_pallets  type i,         " number of pallets
              num_cases    type i,         " number of cases
              num_loose    type i,         " loose quantity
              num_delln    type i,         " counter of delivery lines
    *         packages     like likp-anzpk," Number of Packages " SIR 61880
              packages(3)  type p,         " Number of Packages " SIR 61880
              volume       like lips-volum," Volume             " SIR 61880
              lobus(3)     type c,         " Line of Business   " SIR 61880
              pac1(3)      type c,                    " PAC1    " SIR 61880
           end of t_output_dt.
    types: begin of t_output_ag,
              ktgrd        like knvv-ktgrd," acct assign group
              bu           like knvv-kvgr1," business unit
              land1        like kna1-land1," country              SIR 34606
              d_btgew      like likp-btgew," delivery weight
              m_brgew      like lips-brgew," material weight
              a_brgew      like vekp-brgew," actual weight of ship unit
              num_del      type i,         " counter of deliveries
              num_pallets  type i,         " number of pallets
              num_cases    type i,         " number of cases
              num_loose    type i,         " loose quantity
              num_delln    type i,         " counter of delivery lines
    *         packages     like likp-anzpk," Number of Packages " SIR 61880
              packages(3)  type p,         " Number of Packages " SIR 61880
              volume       like lips-volum," Volume             " SIR 61880
              lobus(3)     type c,         " Line of Business   " SIR 61880
              pac1(3)      type c,                   " PAC1     " SIR 61880
           end of t_output_ag.
    types: begin of t_output_gs,                                " SIR 34606
              ktgrd        like knvv-ktgrd," acct assign group  " SIR 34606
              bu           like knvv-kvgr1," business unit      " SIR 34606
              d_btgew      like likp-btgew," delivery weight    " SIR 34606
              m_brgew      like lips-brgew," material weight    " SIR 34606
              a_brgew      like vekp-brgew," actual weight      " SIR 34606
              num_del      type i,         " counter of deliv   " SIR 34606
              num_pallets  type i,         " number of pallets  " SIR 34606
              num_cases    type i,         " number of cases    " SIR 34606
              num_loose    type i,         " loose quantity     " SIR 34606
              num_delln    type i,         " counter of deliv   " SIR 34606
    *         packages     like likp-anzpk, " Number of Package " SIR 61880
              packages(3)  type p,          " Number of Packages" SIR 61880
              volume       like lips-volum, " Volume            " SIR 61880
              lobus(3)     type c,          " Line of Business  " SIR 61880
              pac1(3)      type c,           " PAC1             " SIR 61880
           end of t_output_gs.                                  " SIR 34606
    *-------------------------------------------------* Begin of SIR 061880
    * Material Type
    types: begin of t_mtart,
           mtart like t134-mtart,                           " Material Type
           end of t_mtart.
    * Customer Business Unit.
    types: begin of t_kvgr1,
           kvgr1 like knvv-kvgr1,                        " Customer Group 1
           end of t_kvgr1.
    * sales Organization.
    types: begin of t_lgort,
           lgort like t001l-lgort,                     " Sales Organization
           end of t_lgort.
    *                                                   Begin of SIR 301978
    *      Header: Material Document
    types: begin of t_mkpf,
             vgart    type mkpf-vgart,
             xblnr    type likp-vbeln,
           end   of t_mkpf.
    *                                                     End of SIR 301978
    *---------------------------------------------------* End of SIR 061880
    *---Internal Tables---------------------------------------------------*
    data:  i_likp        type  t_likp occurs 0 with header line,
           i_temp_likp   type  t_likp occurs 0 with header line,
           v_likp        type  t_likp,
           i_lips        type  t_lips occurs 0 with header line,
           i_temp_lips   type  t_lips occurs 0 with header line,
           v_lips        type  t_lips,
           i_vepo        type  t_vepo occurs 0,
    *      V_VEPO        TYPE  T_VEPO,
           i_vekp        type  t_vekp occurs 0,
           v_vekp        type  t_vekp,
           i_knvv        type  t_knvv occurs 0 with header line,
           v_knvv        type  t_knvv,
           i_kna1        type  t_kna1 occurs 0,                 " SIR 34606
           v_kna1        type  t_kna1,                          " SIR 34606
           i_z0234       type  t_z0234 occurs 0,                "    032383
           v_z0234       type  t_z0234,                         "    032383
           i_z0234_uom   type  t_z0234 occurs 0,                "    032383
           v_z0234_uom   type  t_z0234,                         "    032383
           i_marm        type  t_marm occurs 0 with header line," SIR 61880
           i_marm_pallet type  t_marm occurs 0 with header line,
           v_marm_pallet type  t_marm,
           i_marm_case   type  t_marm occurs 0 with header line,
           v_marm_case   type  t_marm,
    *-------------------------------------------------* Begin of SIR 061880
    *      I_MARA        TYPE  T_MARA OCCURS 0,                 " SIR 38784
           i_mara1       type  t_mara  occurs 0 with header line,
           i_mtart       type  t_mtart occurs 0 with header line,
           i_kvgr1       type  t_kvgr1 occurs 0 with header line,
           i_lgort       type  t_lgort occurs 0 with header line,
           v_kvgr1       type  t_kvgr1,
    *---------------------------------------------------* End of SIR 061880
           v_mara        type  t_mara,                          " SIR 38784
           i_tvswz       type  t_tvswz occurs 0,
           v_tvswz       type  t_tvswz,                     "(+) SIR 301978
           i_output_dt   type  t_output_dt occurs 0,
           v_output_dt   type  t_output_dt,
           i_output_ag   type  t_output_ag occurs 0,
           v_output_ag   type  t_output_ag,
           i_output_gs   type  t_output_gs occurs 0,            " SIR 34606
           v_output_gs   type  t_output_gs,                     " SIR 34606
           i_mkpf        type  table of t_mkpf with header line."SIR 301978
    *** Data Declarations *
    data:  v_page(3)        type c,                          " Page Counter
           v_comp           like t001k-bukrs,       " zbsn0001 company code
           v_title(24)      type c,                 " zbsn0001 report title
           v_rpttyp         type c,                           " report type
           v_ok             type c,             " control While... endwhile
           v_diff_date      type p,                " days between selection
           v_werks          like t001l-werks,                       " plant
    *      v_z0234_zpaluom  like z0234-zpaluom,  " Pallet Unit of Measure
    *      v_z0234_zcsuom   like z0234-zcsuom,   " Case Unit of Measure
           v_palwto         type p decimals 6,                 " SIR 091510
    *       "like likp-btgew,       " Weight after conversion
           v_vekp_tabix     like sy-tabix,                  " index on read
           v_vekp_sum_brgew like vekp-brgew,                " actual weight
           v_pallet_qty     like lips-lgmng,        " calculated pallet qty
           v_pallet_integer type i,                       " true pallet qty
           v_case_qty       like lips-lgmng,          " calculated case qty
           v_case_integer   type i,                         " true case qty
           v_qty_not_pallets like lips-lgmng,                  " calculated
           v_num_pallets    like lips-lgmng,    " calculated nbr of pallets
           v_num_pallets_int type i,                  " true nbr of pallets
           v_num_cases      like lips-lgmng,      " calculated nbr of cases
           v_num_cases_int  type i,                     " true nbr of cases
           v_total_case_qty like lips-lgmng,                " case quantity
           v_loose_qty      type i,             " calculated loose quantity
    *-------------------------------------------------* Begin of SIR 061880
           v_volume         like lips-volum,      " Volume After Convertion
           v_cbuun          like knvv-kvgr1,                  " Customer BU
           v_mbuun          like knvv-kvgr1,                  " Material BU
           v_lobus(3)       type c,                      " Line of Business
           v_pac1(3)        type c,                                  " PAC1
           v_flag           type c.            " Flag Indicator for No Data
    *---------------------------------------------------* End of SIR 061880
    *                                                   Begin of SIR 301978
    * Ranges
    ranges : r_vstel for tvswz-vstel.
    *                                                     End of SIR 301978
    * Constants
    data:  c_uom(3)        type c value 'KG'.    " Kilogram Unit of Meas.
    data : c_vom like mara-voleh value 'M3'.   " Metter Cube.  " SIR 061880
    constants : c_wl(2) type c value 'WL'.                  "(+) SIR 301978
    * Initialization.
    initialization.
      s_lfart-sign   = 'I'.
      s_lfart-option = 'EQ'.
      s_lfart-low    = 'LF  '.
      append s_lfart.
      s_lfart-low    = 'NL  '.
      append s_lfart.
      s_lfart-low    = 'NLCC'.
      append s_lfart.
      s_lfart-low    = 'ZLFI'.
      append s_lfart.
    * AT SELECTION-SCREEN.
    at selection-screen.
    * SIR 42730 - If no Goods Issue Date has been specified in the
    *             Select Options set the range to the previous month.
      if s_wadat-low is initial.
        s_wadat-sign      = 'I'.
        s_wadat-option    = 'BT'.
        s_wadat-high      = sy-datum.              " Today's date
        s_wadat-high+6(2) = '01'.                  " First of this month
        s_wadat-high      = s_wadat-high - 1.      " End of last month
        s_wadat-low       = s_wadat-high.          " End of last month
        s_wadat-low+6(2)  = '01'.                  " First of last month
        append s_wadat.
      endif.     " SIR 42730 IF S_WADAT-LOW IS INITIAL.
      clear v_werks.                                        "(+) SIR 301978
    * Validate Plant/Storage Location from selection screen
      select werks up to 1 rows into v_werks from t001l
            where werks =  p_werks  and
                  lgort in s_lgort.
      endselect.
      if sy-subrc ne 0.
        message e045 with text-e01.
      endif.
    * Validate Storage Location
      if not s_lgort[] is initial.
        select lgort from t001l into table i_lgort where lgort in s_lgort.
        if sy-subrc ne 0.
          message e045 with text-e09.
        endif.
      endif.
    * Validate date range.  do not allow more that 31 days
      if not s_wadat-high is initial.
        v_diff_date = s_wadat-high - s_wadat-low.
        if v_diff_date >= '31'.
          message e045 with text-e02.
        endif.
      endif.
    *-------------------------------------------------* Begin of SIR 061880
    * Validation for Material Type in Selection Screen
      if not s_mtart[] is initial.
        select mtart from t134 into table i_mtart where mtart in s_mtart.
        if sy-subrc ne 0.
          message e045 with text-e07.
        endif.
      endif.
    at selection-screen on block b2.
    * Validation for Material Business Unit and Customer Business Unit.
      if s_cbuun-low is not initial and s_mbuun-low is not initial.
        message e045 with text-e05.
      endif.
    * Validation for Possible combinations of Material BU, Line of Business
    * and PAC1
      if ( s_mbuun-low is not initial and s_lobus-low is not initial
                                    and s_pac1-low is not initial )
      or ( s_mbuun-low is not initial and s_lobus-low is not initial )
      or ( s_lobus-low is not initial and s_pac1-low is not initial )
      or ( s_mbuun-low is not initial and s_pac1-low is not initial ).
        message e045 with text-e06.
      endif.
    * Validation for Customer Business Unit.
      if not s_cbuun[] is initial.
        select kvgr1 from tvv1 into table i_kvgr1 where kvgr1 in s_cbuun.
        if sy-subrc ne 0.
          message e045 with text-e08.
        endif.
    *    free: i_kvgr1.
      endif.
    *---------------------------------------------------- End of SIR 061880
    * TOP-OF-PAGE
    * Top of the page routine to print the headers and columns
    top-of-page.
      format color col_heading on.
      if v_rpttyp = 'D'.
        v_title = text-h01.
      else.
        v_title = text-h02.
      endif.
      perform zbsn0001_standard_header     " Standard Report Heading Form
               using v_comp v_title 'U' v_page.
      skip.
      if v_rpttyp = 'D'.
        perform write_dtlvl_headings.
      else.
        perform write_aglvl_headings.
      endif.
    *       FORM WRITE_DTLVL_HEADINGS                                     *
    *   for date detail level, print the column headers                   *
    form write_dtlvl_headings.
      write: /001 text-h03,                " Acct
              038 text-h04,                " ------ P I C K I N G ------
              105 text-h05,                " ----- S H I P P I N G -----
             /001 text-h06,                " Group
              007 text-h07,                " Date
              017 text-h08,                " BU
              021 text-h17,                " ship to party            34606
              030 text-h18,                " country
              039 text-h09,                " Pallets
              057 text-h10,                " Cases
              075 text-h11,                " Loose
              093 text-h12,                " Lines
              105 text-h13,                " Material Kg
              124 text-h16,                " Delivery Kg
              143 text-h14,                " Actual Kg
              161 text-h15,                " Deliveries
    *----------------------------------------------------Start of SIR 61880
              173 text-h20,                " Packages
              189 text-h21,                " Volume
              201 text-h22,                " LOB
              207 text-h23.                " PAC1
    *-----------------------------------------------------*End of SIR 61880
      skip.
    endform.                               " end of write_dtlvl_headings.
    *       FORM WRITE_AGLVL_HEADINGS                                     *
    *      for account group detail level, print the column headers       *
    form write_aglvl_headings.
      write: /001 text-h03,                " Acct
              038 text-h04,                " ------ P I C K I N G ------
              105 text-h05,                " ----- S H I P P I N G -----
             /001 text-h06,                " Group
              017 text-h08,                " BU
              030 text-h18,                " country              SIR 34606
              039 text-h09,                " Pallets
              057 text-h10,                " Cases
              075 text-h11,                " Loose
              093 text-h12,                " Lines
              105 text-h13,                " Material Kg
              124 text-h16,                " Delivery Kg
              143 text-h14,                " Actual Kg
              161 text-h15,                " Deliveries
    *---------------------------------------------------*Start of SIR 61880
              173 text-h20,                " Packages
              189 text-h21,                " Volume
              201 text-h22,                " LOB
              207 text-h23.                " PAC1
    *-----------------------------------------------------*End of SIR 61880
      skip.
    endform.                               " end of write_aglvl_headings.
    *-------------------------- SUBBROUTINES -----------------------------*
    include zbsn0001.      " Include to print all Standard Report Titles
    include zsdn0004.      " Print the Select Options
    *** MAIN SELECTION.                                                   *
    start-of-selection.
      refresh:  i_likp, i_temp_likp, i_lips, i_temp_lips, i_vepo,
                i_vekp, i_knvv, i_marm_pallet, i_marm_case, i_tvswz,
                i_output_dt, i_output_ag, i_mara1.
      clear:    v_likp, v_lips, v_vekp, v_knvv, v_mara,
                v_marm_pallet, v_marm_case, v_output_dt, v_output_ag.
      v_rpttyp = 'D'.
    * SIR 42730 - Echo the Select Options to the output listing and print
    *             the Goods Issue Date range being used.
      write: /,/.     " SIR 43730 - Skip a couple of lines to centre it.
      perform zsdn0004_print_select_options using sy-cprog ' '.
      if s_wadat-high is initial.
        write: /,/, text-003, 34 s_wadat-low.
      else.
        write: /,/, text-003, 34 s_wadat-low, 44 text-004, 47 s_wadat-high.
      endif.
      new-page.
    * Main Processing.                                                    *
      perform get_data.
      if not i_lips[] is initial.
        perform create_output.
      endif.
    * END-OF-SELECTION
    end-of-selection.
    *-------------------------------------------------* Start of SIR 061880
    *   PERFORM WRITE_REPORT.
      if not i_output_dt[] is initial and not i_output_ag[] is initial and
                                          not i_output_gs[] is initial.
        perform write_report.
      else.
        skip 2.
        write:/ text-e03.
        skip 2.
        uline.
        clear: v_flag.
      endif.
    *---------------------------------------------------* End of SIR 061880
    *       FORM GET_DATA                                                 *
    * build all of the internal tables needed for the report              *
    * selects on t001k, z0234, likp, lips, vepo, vekp, knvv & marm, mara  *
    form get_data.
      perform get_data_t001k.                                  " SIR 301978
      perform get_data_tvswz.                                  " SIR 301978
      if sy-subrc = 0.                     " Build shipping point range
        perform get_data_Z0234.                                " SIR 301978
        if sy-subrc ne 0.
          v_flag = 'X'.
    *      stop.
        else.
          sort i_z0234 by vstel.                                   " 032383
        endif.
    *                                                  Begin of  SIR 301978
    *   The data retrievalfrom LIKP has been modified for performance
    *   reasons
        perform get_data_mkpf.                                 " SIR 301978
        if sy-subrc eq 0.
    *     Deleting data other than Goods issued for delivery
          delete i_mkpf where vgart ne c_wl.
          sort i_mkpf by xblnr.
        endif.
    *   Deleting the data from the internal table i_likp by comparing
    *   shipping point
        r_vstel-sign = 'I'.
        r_vstel-option = 'EQ'.
        clear : v_tvswz.
        loop at i_tvswz into v_tvswz.
          r_vstel-low = v_tvswz-vstel.
          append r_vstel.
        endloop.
        if not i_mkpf[] is initial.
          perform get_data_likp.                             " SIR 301978
        endif.
        if sy-subrc = 0.
          delete i_likp where not lfart in s_lfart.
    *                                                  End    of SIR 301978
    *     Get data for the delivery lines
          if not i_likp[] is initial.
            perform get_data_lips.                         " SIR 301978
    *                                                  Begin of SIR 301978
            if i_lips[] is initial.
              v_flag = 'X'.
              message i089 with text-i02.
              leave list-processing.
            endif.                    " Return code for LIPS select
    *                                                     End of SIR 301978
          endif.
    *-------------------------------------------------* Begin of SIR 061880
    *     Get Data From MARA (Material Master) to Read Material Weight and
    *     Material Voluem from Master Data.
          if not i_lips[] is initial.
    *                                                   Begin of SIR 301978
    *       Delete the duplicate material from delivery item table
            i_temp_lips[] = i_lips[].
            sort i_temp_lips by matnr.
            delete adjacent duplicates from i_temp_lips comparing matnr.
            perform get_data_mara.                         " SIR 301978
            if sy-subrc = 0.
              sort i_mara1 by matnr.
              clear i_temp_lips.
              refresh i_temp_lips.
    *                                                     End of SIR 301978
            else.
              v_flag = 'X'.
              message i089 with text-i01.
              leave list-processing.
            endif.
          endif.
    *     Filter I_LIPS and I_MARA1 When Either material BU or Line of
    *     Business (LOB) or PAC1 are not left Balnk
          perform filter_data_for_prdha.
    *     Get data for the sold-to customer
          perform i_knvv_fill_data.
    *    Filter I_LIKP & I_LIPS & I_MARA for Cust-BU, When Cust-Bu is not
    *    left Blank.
          perform filter_likp_lips_mara_custbu.
    *---------------------------------------------------- End of SIR 061880
    *-------------------------------------------------* Begin of SIR 034606
    *     Get data for the ship to party
          i_temp_likp[]  = i_likp[].
          sort i_temp_likp by kunnr.
          delete adjacent duplicates from i_temp_likp comparing kunnr.
          perform get_data_kna1.                             " SIR 301978
          if sy-subrc = 0.
            sort i_kna1 by kunnr.
          endif.
    *---------------------------------------------------* End of SIR 034606
        else.
          v_flag = 'X'.
          message i089 with text-i04.
          leave list-processing.
        endif.                               " return code to LIKP select
    *    endif.                                                " SIR 061880
        free: i_temp_likp.
      endif.                               " return code for TVSWZ select
    * Process table LIPS
      if not i_lips[] is initial.
        i_temp_lips[] = i_lips[].
        sort i_temp_lips by vbeln.
        delete adjacent duplicates from i_temp_lips comparing vbeln.
    *   Get actual weight
        perform get_data_vepo.                                 " SIR 301978
        if sy-subrc = 0.
          sort i_vepo by venum.
          delete adjacent duplicates from i_vepo comparing venum.
          perform get_data_vekp.                               " SIR 301978
          sort i_vekp by vpobjkey.
        endif.
        free:  i_vepo, i_temp_lips.
        i_temp_lips[] = i_lips[].
        sort i_temp_lips by matnr.
        delete adjacent duplicates from i_temp_lips comparing matnr.
    *   Get Units of Measure for Material
        perform read_data_from_marm.                           " SIR 061880
    *                                                   Begin of SIR 032383
        i_z0234_uom = i_z0234.
        sort i_z0234_uom by zpaluom.
        delete adjacent duplicates from i_z0234_uom comparing zpaluom.
    *                                                   End   of SIR 032383
        clear i_marm_pallet.                                   " SIR 061880
        refresh  i_marm_pallet.                                " SIR 061880
        loop at i_z0234_uom into v_z0234_uom.             "LOOP Z0234 032383
    *-------------------------------------------------* Begin of SIR 061880
    *     Get Alternative Unit of Measure for Pallets
          perform i_marm_pallet_fill.
        endloop.                                      "ENDLOOP Z0234 032383
    ** get alternative UoM for pallets
    *      SELECT MATNR                     " material
    *             MEINH                     " Alt unit of measure  " 032383
    *             UMREZ                     " numerator
    *             UMREN                     " denominator
    **     into table i_marm_pallet                                " 032383
    *      APPENDING TABLE I_MARM_PALLET                            "032383
    *      FROM MARM
    *      FOR ALL ENTRIES IN I_TEMP_LIPS
    *      WHERE MATNR = I_TEMP_LIPS-MATNR  AND
    **           meinh = v_z0234_zpaluom.                          " 032383
    *            MEINH = V_Z0234_UOM-ZPALUOM.                      " 032383
    *---------------------------------------------------* End of SIR 061880
        sort i_marm_pallet by matnr meinh.
        free i_z0234_uom.                                           "032383
        i_z0234_uom = i_z0234.                                      "032383
        sort i_z0234_uom by zcsuom.                                 "032383
        delete adjacent duplicates from i_z0234_uom comparing zcsuom."32383
        clear i_marm_case.                                     " SIR 061880
        refresh i_marm_case.                                   " SIR 061880
        loop at i_z0234_uom into v_z0234_uom.            "LOOP Z0234 032383
    *-------------------------------------------------* Begin of SIR 061880
    *     Get Alternative Unit of Measure for Cases
          perform i_marm_case_fill.
        endloop.                                      "ENDLOOP Z0234 032383
    *---------------------------------------------------* End of SIR 061880
        sort i_marm_case by matnr meinh.
      else.
        v_flag = 'X'.
        message i089 with text-i02.
    *      leave list-processing.
      endif.                               " table LIPS is empty
    endform.                               " get_data
    *       FORM CREATE_OUTPUT                                            *
    * process internal table LIPS, for each delivery/delivery lines create*
    * an output record and collect into i_output internal table.  Fields  *
    * used for header are goods issue date, acct assign, BU for customer, *
    * total weight, total weight for shipping unit and count of           *
    * deliveries, the remaining fields will have a value of zero for the  *
    * collect.  For each delivery line, fields used are goods issue date, *
    * acct assign, BU for material, number of pallets, number of cases,   *
    * loose quantity and number of delivery lines.  The remaining header  *
    * fiels will be zero for the collect.                                 *
    form create_output.
    *-------------------------------------------------* Begin of SIR 061880
      sort i_mara1 by matnr.
      sort i_lips by vbeln posnr matnr.
      sort i_likp by vbeln.
      sort i_z0234 by vstel.
      sort i_knvv by kunnr.
      sort i_kna1 by kunnr.
      sort i_vekp by vpobjkey.
      sort i_marm_pallet by matnr meinh.
      sort i_marm_case by matnr meinh.
    * LOOP AT I_LIPS INTO V_LIPS.
      loop at i_lips.
        clear v_lips.
        v_lips = i_lips.
    *---------------------------------------------------* End of SIR 061880
        at new vbeln.
          perform collect_header_data.
        endat.
        if not v_lips-komkz is initial.                         " SIR 45567
          perform collect_item_data.
        endif.                                                  " SIR 45567
      endloop.
    endform.                               " create_output
    *       FORM COLLECT_HEADER_DATA                                      *
    * Fields used for header are goods issue date, acct assign,           *
    * BU for customer, total weight, total weight for shipping unit       *
    * and count ofdeliveries, the remaining fields will have a value of   *
    * zero for the collect.                                               *
    form collect_header_data.
      clear:  v_likp, v_knvv, v_vekp, v_vekp_sum_brgew.
      v_ok = 'Y'.
      read table i_likp into v_likp with key vbeln = v_lips-vbeln
                                                   binary search.
      if sy-subrc = 0.                                         " SIR 061880
        clear v_z0234.                                      "(+) SIR 301978
        read table i_z0234 into v_z0234                              "32383
             with key vstel = v_likp-vstel                           "32383
             binary search.                                          "32383
        read table i_knvv into v_knvv with key kunnr = v_likp-kunag
                                                     binary search.
        if sy-subrc ne 0.
          select single ktgrd kvgr1 into (v_knvv-ktgrd, v_knvv-kvgr1)
            from knvv where kunnr = v_likp-kunag  and
                            vkorg = v_likp-vkorg  and
                           vtweg = '01' and          " intercompany values
                           spart = '01'.             " intercompany values
        endif.
        clear v_kna1.                                           " SIR 34606
        read table i_kna1 into v_kna1                           " SIR 34606
           with key kunnr = v_likp-kunnr                        " SIR 34606
           binary search.                                       " SIR 34606
        read table i_vekp into v_vekp
           with key vpobjkey(10) = v_likp-vbeln
           binary search.
        if sy-subrc = 0.
          v_vekp_tabix = sy-tabix.
          while v_ok = 'Y'.
            if v_vekp-gewei_max ne c_uom.
              perform z_unit_conversion
                using v_vekp-brgew v_vekp-gewei_max c_uom v_palwto.
              v_vekp_sum_brgew = v_vekp_sum_brgew + v_palwto.
            else.
              v_vekp_sum_brgew = v_vekp_sum_brgew + v_vekp-brgew.
            endif.
            v_vekp_tabix = v_vekp_tabix + 1.
            read table i_vekp into v_vekp
               index v_vekp_tabix.
            if sy-subrc = 0.
              if v_vekp-vpobjkey(10) ne v_likp-vbeln.
                v_ok = 'N'.
              endif.
            else.
              v_ok = 'N'.
            endif.
          endwhile.
        endif.
      endif.                                                   " SIR 061880
    * populate output tables
      clear: v_output_dt, v_output_ag,v_output_gs.              " SIR 34606
      v_output_dt-wadat_ist = v_likp-wadat_ist.
      v_output_dt-ktgrd     = v_knvv-ktgrd.
      v_output_ag-ktgrd     = v_knvv-ktgrd.
      v_output_gs-ktgrd     = v_knvv-ktgrd.                     " SIR 34606
    *-------------------------------------------------* Begin of SIR 061880
    *  V_OUTPUT_DT-BU        = V_KNVV-KVGR1.
    *  V_OUTPUT_AG-BU        = V_KNVV-KVGR1.
    *  V_OUTPUT_GS-BU        = V_KNVV-KVGR1.                    " SIR 34606
    * Populate Business Unit,Line of Busness and PAC1 Values in Header Data
      perform get_busunit_lobus_pac1_data1.
    *---------------------------------------------------* End of SIR 061880
      v_output_dt-kunnr = v_kna1-kunnr.                         " SIR 34606
    * V_OUTPUT_AG-KUNNR = V_KNA1-KUNNR.                         " SIR 34606
      v_output_dt-land1 = v_kna1-land1.                         " SIR 34606
      v_output_ag-land1 = v_kna1-land1.                         " SIR 34606
      v_output_dt-a_brgew     = v_vekp_sum_brgew.
      v_output_ag-a_brgew     = v_vekp_sum_brgew.
      v_output_gs-a_brgew     = v_vekp_sum_brgew.               " SIR 34606
      if s_mbuun[] is initial and                               " SIR 61880
         s_lobus[] is initial and                               " SIR 61880
         s_pac1[] is  initial.                                  " SIR 61880
        v_output_dt-num_del   = 1.
        v_output_ag-num_del   = 1.
        v_output_gs-num_del   = 1.                              " SIR 34606
    *-------------------------------------------------* Begin of SIR 061880
    * Number of Packages
        v_output_dt-packages   = v_likp-anzpk.
        v_output_ag-packages   = v_likp-anzpk.
        v_output_gs-packages   = v_likp-anzpk.
      else.
        clear: v_output_dt-num_del,
               v_output_ag-num_del,
               v_output_gs-num_del,
               v_output_dt-packages,
               v_output_ag-packages,
               v_output_gs-packages.
      endif.
    *---------------------------------------------------* End of SIR 061880
      collect v_output_dt into i_output_dt.
      collect v_output_ag into i_output_ag.
      collect v_output_gs into i_output_gs.                     " SIR 34606
    endform.                               " collect_header_data
    *       FORM COLLECT_ITEM_DATA                                        *
    * For each delivery line, fields used are goods issue date,           *
    * acct assign, BU for material, number of pallets, number of cases,   *
    * loose quantity and number of delivery lines.  The remaining header  *
    * fiels will be zero for the collect.                                 *
    form collect_item_data.
      clear:  v_pallet_qty,      v_pallet_integer,
              v_case_qty,        v_case_integer,
              v_num_pallets,     v_num_pallets_int,
              v_num_cases,       v_num_cases_int,
              v_qty_not_pallets, v_total_case_qty, v_loose_qty.
      read table i_marm_pallet into v_marm_pallet
                 with key matnr = v_lips-matnr
                          meinh = v_z0234-zpaluom binary search."32382
      if sy-subrc = 0.
        v_pallet_qty = v_marm_pallet-umrez / v_marm_pallet-umren.
    * round down partial pallets
        v_pallet_integer = v_pallet_qty - '.499'.
      endif.
      read table i_marm_case into v_marm_case
                  with key matnr = v_lips-matnr
                           meinh = v_z0234-zcsuom binary search."32382
      if sy-subrc = 0.
        v_case_qty = v_marm_case-umrez / v_marm_case-umren.
    * round down partial cases
        v_case_integer = v_case_qty - '.499'.
      endif.
      if v_pallet_integer > 0.
        v_num_pallets     = v_lips-lgmng / v_pallet_integer.
        v_num_pallets_int = v_num_pallets - '.499'.
      endif.
      v_qty_not_pallets = v_lips-lgmng -
                          ( v_num_pallets_int * v_pallet_integer ).
      if v_case_integer > 0.
        v_num_cases     = v_qty_not_pallets / v_case_integer.
        v_num_cases_int = v_num_cases - '.499'.
      endif.
      v_total_case_qty     = v_num_cases_int * v_case_integer.
      if v_qty_not_pallets = v_total_case_qty.
        v_loose_qty = 0.
      else.
        v_loose_qty = 1.
      endif.
    * populate output tables
      clear: v_output_dt, v_output_ag, v_output_gs.             " SIR 34606
      v_output_dt-wadat_ist   = v_likp-wadat_ist.
      v_output_dt-ktgrd       = v_knvv-ktgrd.
      v_output_ag-ktgrd       = v_knvv-ktgrd.
      v_output_gs-ktgrd       = v_knvv-ktgrd.                   " SIR 34606
      v_output_dt-kunnr = v_kna1-kunnr.                         " SIR 34606
    * V_OUTPUT_AG-KUNNR = V_KNA1-KUNNR.                         " SIR 34606
      v_output_dt-land1 = v_kna1-land1.                         " SIR 34606
      v_output_ag-land1 = v_kna1-land1.                         " SIR 34606
    *-------------------------------------------------* Begin of SIR 061880
    *  V_OUTPUT_DT-BU          = V_LIPS-PRODH+1(2).
    *  V_OUTPUT_AG-BU          = V_LIPS-PRODH+1(2).
    *  V_OUTPUT_GS-BU          = V_LIPS-PRODH+1(2).             " SIR 34606
    * Populate Business Unit,Line of Business and PAC1 Values for Item Data.
      perform get_busunit_lobus_pac1_data2.
      if V_OUTPUT_DT-BU is initial.
       clear V_OUTPUT_DT.
       exit.
      endif.
    *---------------------------------------------------* End of SIR 061880
    * get delivery weight from delivery lines instead of header " SIR 45567
      if v_lips-gewei = c_uom.
        v_output_dt-d_btgew  = v_lips-brgew.
        v_output_ag-d_btgew  = v_lips-brgew.
        v_output_gs-d_btgew  = v_lips-brgew.                    " SIR 34606
      else.
        perform z_unit_conversion
             using v_lips-brgew v_lips-gewei c_uom v_palwto.
        v_output_dt-d_btgew  = v_palwto.
        v_output_ag-d_btgew  = v_palwto.
        v_output_gs-d_btgew  = v_palwto.                        " SIR 34606
      endif.
    * Get material weight from delivery (LIPS)(IF P_DELWT = 'X')" SIR 38784
      if p_delwt = 'X'.                                         " SIR 38784
        if v_lips-gewei = c_uom.
          v_output_dt-m_brgew  = v_lips-brgew.
          v_output_ag-m_brgew  = v_lips-brgew.
          v_output_gs-m_brgew  = v_lips-brgew.                  " SIR 34606
        else.
          perform z_unit_conversion
               using v_lips-brgew v_lips-gewei c_uom v_palwto.
          v_output_dt-m_brgew  = v_palwto.
          v_output_ag-m_brgew  = v_palwto.
          v_output_gs-m_brgew  = v_palwto.                      " SIR 34606
        endif.
      else.                                                     " SIR 38784
    * Get material weight from Master data (MARA)               " SIR 38784
        read table i_mara1 into v_mara                          " SIR 38784
                               with key matnr = v_lips-matnr    " SIR 38784
                               binary search.                   " SIR 38784
        if v_mara-gewei = c_uom.                                " SIR 38784
          v_output_dt-m_brgew  = v_mara-brgew * v_lips-lgmng.   " SIR 38784
          v_output_ag-m_brgew  = v_mara-brgew * v_lips-lgmng.   " SIR 38784
          v_output_gs-m_brgew  = v_mara-brgew * v_lips-lgmng.   " SIR 38784
        else.                                                   " SIR 38784
          perform z_unit_conversion                             " SIR 38784
               using v_mara-brgew v_mara-gewei c_uom v_palwto.  " SIR 38784
          v_output_dt-m_brgew  = v_palwto * v_lips-lgmng.       " SIR 38784
          v_output_ag-m_brgew  = v_palwto * v_lips-lgmng.       " SIR 38784
          v_output_gs-m_brgew  = v_palwto * v_lips-lgmng.       " SIR 38784
        endif.                                                  " SIR 38784
      endif.                                                    " SIR 38784
    *-------------------------------------------------* Begin of SIR 061880
    * To Get the Volume Data.
      perform get_volume_data.
    *---------------------------------------------------* End of SIR 061880
      v_output_dt-num_pallets = v_num_pallets_int.
      v_output_ag-num_pallets = v_num_pallets_int.
      v_output_gs-num_pallets = v_num_pallets_int.              " SIR 34606
      v_output_dt-num_cases   = v_num_cases_int.
      v_output_ag-num_cases   = v_num_cases_int.
      v_output_gs-num_cases   = v_num_cases_int.                " SIR 34606
      v_output_dt-num_loose   = v_loose_qty.
      v_output_ag-num_loose   = v_loose_qty.
      v_output_gs-num_loose   = v_loose_qty.                    " SIR 34606
    *{   INSERT         D11K901833                                        1
    * Sir 054042/48712 insert code to put in 0 instead of 1 for collect
    * value for delivery lines
      if v_lips-lgmng = 0.
        v_output_dt-num_delln   = 0.
        v_output_ag-num_delln   = 0.
        v_output_gs-num_delln   = 0.
      else.
    * end of insert for 054042/48712
    *}   INSERT
        v_output_dt-num_delln   = 1.
        v_output_ag-num_delln   = 1.
        v_output_gs-num_delln   = 1.          

    Since this is your first post, let me clue you in. This forum is meant for asking very short and specific questions. For example, if you've asked, how could you improve a particular one SELECT statement, I'm sure many people would have helped you.
    But you cannot seriously expect someone on this forum to spend his/her time and review such a long program. For this people are normally getting paid, you know.

  • For all entries against Ranges

    Hi,
    I have a question regarding a Select query where I have to select some data and then store it in table and refer it for the 2nd Select.
    eg: Select from table 1
          into itab1.
        select from table 2
       into itab2
       for all entries in itab1.
    My question is should I use a Range for the 1st select instead of an itab.The itab1 will be containing max 50 records.
    The problem with for all entries is that I cannot use 'UP TO ROWS' as it only deletes extra entries at application level and not database level. I will be selecting 1000 rows even if I want only 100 rows.
    Please let me know ur views

    From a performance perspective ranges perform better than FOR ALL ENTRIES however the number of records you can use in your range is limited. You will get a run time dump if your range size increases beyond the allowable. If you are very confident that you have not more than 50 entries in your range, I would recommend that you use the range instead of FOR ALL ENTRIES.
    An even better option would be to use a join of two tables. If you can provide specifics I could help you further.

  • New Airport Extreme performing same as previous model..

    Reading about the improved wireless range/performance on the newest airport extreme (MC340LL/A, A1354), I just picked one up hoping I could improve on my older one (MB763LLA, A1301).
    Sadly, it seemes to be performing either equally or slightly worse!
    I used istumbler to test the signal strength in a bunch of locations, and each airport extreme was set to the same 2.4 and 5ghz channels.
    The firmware for each unit is current, as is that of the mbp I used to test...
    Any thoughts? I guess the new extreme isn't worse keeping?

    It may be of small (no) consolation for you to know that I get a better signal from non-Apple 'g' series units that are a good deal further away from my computer than I do the new Extreme. In answer to your question (probably rhetorical) about keeping it - after lots of fruitless Apple tech-support advice and a replaced unit, I can only suggest not.

  • Yoga 13 after Win 8.1 update - apps for Netflix, CNN, ESPN, etc. will not play video - WTH?

    Can someone point me to where I can download the right driver(s) / updates that fix thw Windows 8.1 mess that crippled video playback in the Modern/Metro Win8 interface please?  
    I had other issues with wireless (which I fixed by buying a Linsys 802.11ac USB nub - finally decent range & performance), but really want to get this Win 8.1 video playback issue fixed.  
    OS is Windows 8.1
    Version 6.3.9600 Build 9600
    System Model 20175 
    System SKU Lenovo_MT_20175
    BIOS Version/Date Lenovo 66N55WW 2/28/2013
    BIOS Mode UEFI
    HD Graphics 4000 Driver date 10/1/2013
    Driver Version 10.18.10.3316
    Monitor driver is generic PnP Monitor by Microsoft, dated 6/21/2006
    Driver Version 6.3.9600.16384
    Purchased the system May, 2013.  
    Very disappointed that Microsoft/Intel/Lenovo forced this 8.1 "upgrade" on us without having checked it for flaws in operation like this.  I've read other people having this, and similar problems, so any fixes / suggestions / links are greatly welcomed.  

    (Note that all of the following applies only to the Yoga 13)
    I think the previous reply is inaccurate in several ways.  Let me address each one:
    "Seems like the fix for many of our Windows 8.1 update issues is to roll back to the Windows 8 drivers Lenovo offers on its site (Conexant Audio Driver in this case)"
    This isn't quite correct.  There is no need to "roll back" to any previous driver versions.  What actually happened with the Windows 8.1 upgrade is that the Windows installation process reinstalled or refreshed all of the drivers in the system, and for some reason this driver installation process screwed up and left some drivers not functioning correctly. In almost all cases the solution is to simply reinstall that driver with the current/same version. The Conexant driver is the poster child for this problem.  The version of the driver that comes with the Windows 8.1 upgrade is the same as the version on the Lenovo site.  However it is often necessary to reinstall this driver to get it installed correctly. 
    I just want to reiterate that this is not a version problem, it's a problem with the way 8.1 reinstalled the drivers. This need to reinstall drivers affected people differently, with some people needing to reinstall other drivers as well, such as the Intel Thermal Framework drivers, etc.
    Windows 8.1 comes with newer versions (also newer than the reposted drivers on the Lenovo site) of the network Wifi drivers that for my system have been an improvement. However I have not experienced a lot of the Wifi issues that others have reported.  The only issue I have had with Wifi is that it was always a bit slow to connect after coming out of sleep mode (30-60 seconds). After the 8.1 upgrade my Wifi connects very fast (less than 5 seconds).
    Windows 8.1 also came with an updated Intel graphics driver that is newer than the one on the Lenovo site.  I am not aware of any problems with this new version.
    My Yoga 13 is now functioning perfectly after the 8.1 update, although I did have to perform the reinstall of the Conexant drivers, and I had to reapply the fix for the touch screen missing the first swipe.  I recommend the list of Yoga 13 fixes mentioned on this site.
    "Microsoft or Lenovo should add a setting to the "Configure Windows Update" options - it should be "Wait 6 months after the update is published for it to stabilize"
    I don't agree with this as the drivers that come with 8.1 weren't unstable or problematic. Again, the problem is with the 8.1 installation process, and I do agree that Microsoft should work on fixing that.  It has certainly caused a lot of people some grief, but it also seems that we have a solution which is the driver reinstalls.
    I also don't recommend turning off Windows update.
    Finally, it may be that some of the issues you bulleted are more serious than I am aware, as I haven't had all of these problems.  I would like to know more about these:
    "Kill the video / audio in Windows Apps (aka "Modern" interface) - Netflix, ESPN videos, CNN videos, etc.  "
    This is certainly a common problem. At least we have the fix for this (reinstall the Conexant drivers).
    "Degrade WLAN performance (range and speed)"
    I am skeptical that 8.1 is responsible for Wifi issues.  Seems like in general the new 8.1 network stack is better.  I know that many people had wifi issues prior to the update.
    "Fuzz out the resolution / display such that Display has to be turned down from 150% to "small""
    I don't know about this issue, so I would like to hear more.
    Mess up touchpad, keyboard, tablet-mode keyboard
    This again seems more like a problem that existed before 8.1, as many people had issues with this.  The most consistent solution seems to be disabling the "ymc" service.
    lmader

  • The Airport extreme vs vingor2750vn, which is better?

    I want to buy a Airport extreme,
    But is it better than the vingor2750Vn,
    because my internet is really slow.
    Maybe if I get the Airport router from apple
    my internet will inprove.
    But I am not sure if it will help

    It is basically the same.. range, performance of wireless and router should be identical or very near to.
    See the review here which compares them.
    http://www.anandtech.com/show/4577/airport-extreme-5th-gen-and-time-capsule-4th- gen-review-faster-wifi-/4
    The advantage of the TC is time machine.. Airport extreme might work for TM but apple do not support it and lots of people have issues with it.
    But if you are not going to use Time Machine with the TC then there are cheaper and better options.. especially for windows.

  • Convert data to MSWORD, MSEXCEL or PDF

    Hi,
    I have a requirement of sending SAP std report output as an attachment via email. I am thinking of using SUBMIT TO MEMORY or SPOOL and then get the data from there and convert and send as file attachment using SO_DOCUMENT_SEND_API1 or class CL_BCS. The file is required to be sent as MSWORD or MSEXCEL or PDF which can be decided by having a parameter on selection screen..
    But I am not sure on how to convert data after retrieving it back from Memory or spool. There are a few function modules to convert. Can anyone give me the names please in each case like
    For Spool to PDF function CONVERT_ABAPSPOOLJOB_2_PDF can be used
    For Spool to Excel ?
    For Spool to Word ?
    For memory to PDF ?
    For memory to Word ?
    For memory to Excel ?
    Regards,
    Vin

    Hi,
    I just had the same reuirement and i did it few days back . here is the code ...juz modify it accordingly.
    The program will send my ABAP report as a PDF attachment to the USER>
    REPORT  ZRMM0055  NO STANDARD PAGE HEADING
                      MESSAGE-ID ZZ
                      LINE-SIZE 255
                      LINE-COUNT 65.
                        TABLES DECLARATION                               *
    TABLES : MARD,          " Storage Location Data for Material
             MARC,          " Plant Data for Material
             MSEG,
             SSCRFIELDS.    " Fields on selection screens
                       Internal Tables declaration.                      *
    *---Internal Table to hold the MARD table data
    DATA : BEGIN OF IT_MARD OCCURS 0,
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           LMINB LIKE MARD-LMINB,          " Reorder Point
           LABST LIKE MARD-LABST,          " Stock at storage loc
           END OF IT_MARD.
    *---Internal table to hold data from MSEG, MKPF, MAKT
    DATA : BEGIN OF IT_MSEG OCCURS 0,
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           MENGE LIKE MSEG-MENGE,          " Quantity
           MEINS LIKE MSEG-MEINS,          " UOM
           LIFNR LIKE MSEG-LIFNR,          " Account Number of Vendor
           SHKZG LIKE MSEG-SHKZG,          " Credit/Debit Indicator
           EBELN LIKE EKPO-EBELN,
           MENGE1 LIKE EKPO-MENGE,         " Open PO qty
           EINDT LIKE EKET-EINDT,
           DISPO LIKE MARC-DISPO,          " MRP controller
           EKGRP LIKE MARC-EKGRP,          " Purchasing Group
           MAKTX LIKE MAKT-MAKTX,
           END OF IT_MSEG.
    *----Internal table to hold the data from EKPO and EKET table
    DATA : BEGIN OF IT_EKPO OCCURS 0,
           EBELN LIKE EKPO-EBELN,          " PO document
           EBELP LIKE EKPO-EBELP,          " Item
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           MENGE LIKE EKPO-MENGE,          " Quantity
           EINDT LIKE EKET-EINDT,          " Delivery Date
           END OF IT_EKPO.
    *--Internal Table to hold the final data
    DATA : BEGIN OF IT_FINAL OCCURS 0,
           MATNR LIKE MARD-MATNR,          " Material Number
           MAKTX LIKE MAKT-MAKTX,          " Material Description
           LMINB LIKE MARD-LMINB,          " Reorder Point
           MEINS LIKE MSEG-MEINS,          " UOM
           LABST LIKE MARD-LABST,          " On hand inventory at storageloc
           TOT_LABST LIKE MARD-LABST,      " Total On hand at plant
           ISSUE LIKE MSEG-MENGE,          " YTD issue
           RECEIPT LIKE MSEG-MENGE,        " YTD receipts
           DISPO LIKE MARC-DISPO,          " MRP controller
           EKGRP LIKE MARC-EKGRP,          " Purchasing Group
           MENGE LIKE EKPO-MENGE,          " Open PO Quantity
           EINDT LIKE EKET-EINDT,          " Next Delivery Date
           LIFNR LIKE MSEG-LIFNR,          " Vendor
           EBELN LIKE MSEG-EBELN,          " PO number
           END OF IT_FINAL.
    *----Internal table to hold YTD data
    DATA : BEGIN OF IT_YTD OCCURS 0,
           MENGE LIKE MSEG-MENGE,
           MEINS LIKE MSEG-MEINS,
           SHKZG LIKE MSEG-SHKZG,
           END OF IT_YTD.
    DATA : BEGIN OF X_MSEG,
           MBLNR LIKE MSEG-MBLNR,
           MJAHR LIKE MSEG-MJAHR,
           MATNR LIKE MARD-MATNR,          " Material Number
           WERKS LIKE MARD-WERKS,          " Plant
           LGORT LIKE MARD-LGORT,          " Storage Location
           MENGE LIKE MSEG-MENGE,          " Quantity
           MEINS LIKE MSEG-MEINS,          " UOM
           LIFNR LIKE MSEG-LIFNR,          " Account Number of Vendor
           SHKZG LIKE MSEG-SHKZG,          " Credit/Debit Indicator
           EBELN LIKE EKPO-EBELN,
           MENGE1 LIKE EKPO-MENGE,         " Open PO Qty
           EINDT LIKE EKET-EINDT,
           DISPO LIKE MARC-DISPO,          " MRP controller
           EKGRP LIKE MARC-EKGRP,          " Purchasing Group
           MAKTX LIKE MAKT-MAKTX,
           END OF X_MSEG.
    DATA: V_LMINB(16) TYPE C,
          S_LABST(16) TYPE C,
          V_TOT_LABST(16) TYPE C,
          S_ISSUE(16) TYPE C,
          S_RECEIPT(16) TYPE C,
          V_MENGE(16) TYPE C,
          V_EINDT(8) TYPE C.
    DATA: T_PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
                    VARIABLES DECLARATION                                *
    DATA : V_SUM TYPE MSEG-MENGE,      " Variable for adding GI's to Stock
           V_TEMP TYPE MSEG-MENGE,      " Variable for adding GI's to Stock
           V_TABIX TYPE SY-TABIX,      " Loop count
           V_ISSUE LIKE MSEG-MENGE,    " Variable for calculating YTD issues
           V_RECEIPT LIKE MSEG-MENGE,  " Var for Calculating YTD Receipts
           V_LABST LIKE MARD-LABST,    " Var for Total On hand inv at plant
           V_MJAHR LIKE MSEG-MJAHR,    " Variable for holding the Year
           f_color.
    *----Declaration to send Email
    DATA: IT_PDF          LIKE TLINE      OCCURS 10 WITH HEADER LINE,
          IT_XI_PDF       LIKE TLINE      OCCURS 0  WITH HEADER LINE,
          IT_HTML         LIKE SOLISTI1   OCCURS 0  WITH HEADER LINE,
          IT_XI_TEMP      LIKE BAPIQCMIME OCCURS 0  WITH HEADER LINE,
          IT_XI_MIME(255) TYPE C          OCCURS 0  WITH HEADER LINE.
    DATA:
       LS_DOCDATA    TYPE SODOCCHGI1,
       LT_OBJPACK    TYPE TABLE OF SOPCKLSTI1 WITH HEADER LINE,
       LT_OBJHEAD    TYPE TABLE OF SOLISTI1   WITH HEADER LINE,
       LT_OBJTXT     TYPE TABLE OF SOLISTI1   WITH HEADER LINE,
       LT_OBJBIN     TYPE TABLE OF SOLISTI1   WITH HEADER LINE,
       LT_RECLIST    TYPE TABLE OF SOMLRECI1  WITH HEADER LINE,
       LT_LISTOBJECT TYPE TABLE OF ABAPLIST   WITH HEADER LINE,
       LT_LISTOBJECTLN(1000) TYPE C,
       L_TAB_LINES TYPE I,
       L_ATT_TYPE  LIKE SOODK-OBJTP.
    DATA: IT_OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
    Internal table for Single List with Column Length 255
    DATA : IT_OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    Internal table for Single List with Column Length 255
    DATA : IT_OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
    Internal table for Structure of the API Recipient List
    DATA : IT_RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
    Structure of the API Recipient List
    DATA: X_DOC_CHNG LIKE SODOCCHGI1.
                            SELECTION-SCREEN                             *
    SELECTION-SCREEN BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-001.
    PARAMETERS:
    P_WERKS  LIKE MARD-WERKS OBLIGATORY.     " Plant
    SELECT-OPTIONS:
    S_BUKRS  for mseg-bukrs,                 " Company  code
    S_LGORT  FOR MARD-LGORT OBLIGATORY,      " Storage Location
    S_MATNR  FOR MARD-MATNR,                 " Material Number
    S_DISPO  FOR MARC-DISPO,                 " MRP Controller
    S_DATE   FOR SY-DATUM DEFAULT SY-DATUM OBLIGATORY.  " Date Range
    SELECTION-SCREEN END OF BLOCK S1.
    SELECTION-SCREEN BEGIN OF BLOCK S2 WITH FRAME TITLE TEXT-002.
    PARAMETERS:
    P_MAIL  TYPE C AS CHECKBOX.                " Mail to user Group
    SELECT-OPTIONS:
    S_UNAME FOR SY-UNAME NO INTERVALS.         " Usergroup id
    SELECTION-SCREEN END OF BLOCK S2.
                         Initialization
    INITIALIZATION.
    AT S E L E C T I O N - S C R E E N
    AT SELECTION-SCREEN.
      CHECK SSCRFIELDS-UCOMM EQ 'ONLI'.
      PERFORM VALIDATE_MAIL.
      PERFORM VALIDATE_DATA.
                        START-OF-SELECTION                               *
    START-OF-SELECTION.
      PERFORM FETCH_DATA.
                         END-OF-SELECTION                                *
    END-OF-SELECTION.
      IF NOT IT_FINAL[] IS INITIAL.
        PERFORM DOWNLOAD_DISPLAY_REPORT.
      ENDIF.
                         TOP-OF-PAGE                                *
    TOP-OF-PAGE.
    PERFORM PAGE_HEADER.
    *&      Form  Fetch_DATA
          Pick data
    FORM FETCH_DATA .
      DATA : V_EBELN LIKE EKPO-EBELN,
             V_EBELP LIKE EKPO-EBELP,
             V_MENGE LIKE EKPO-MENGE,
             V_EINDT LIKE EKET-EINDT,
             V_DISPO LIKE MARC-DISPO,
             V_EKGRP LIKE MARC-EKGRP,
             V_MAKTX LIKE MAKT-MAKTX.
    *----Select data from MARD Table
      SELECT MATNR                  " Material Number
             WERKS                  " Plant
             LGORT                  " Storage Location
             LMINB                  " Reorder Point Level
             LABST                  " Stock with unrestricted use
             INTO TABLE IT_MARD
             FROM MARD
             WHERE MATNR  IN S_MATNR AND
                   WERKS  = P_WERKS . "AND
                  LGORT  IN S_LGORT.
                   D~LMINB <> SPACE .
      IF SY-SUBRC = 0.
        LOOP AT IT_MARD.
          CLEAR : V_EBELN, V_EBELP, V_MENGE, V_EINDT.
    *---select data from EKPO table
          SELECT EBELN
                 EBELP
                 MENGE
                 UP TO 1 ROWS
                 FROM EKPO
                 INTO (V_EBELN, V_EBELP, V_MENGE)
                 WHERE MATNR = IT_MARD-MATNR AND
                       WERKS = IT_MARD-WERKS AND
                       LGORT = IT_MARD-LGORT AND
                       BUKRS IN S_BUKRS AND
                       ELIKZ = SPACE.
          ENDSELECT.
          IF SY-SUBRC = 0.
            X_MSEG-EBELN = V_EBELN.
            X_MSEG-MENGE1 = V_MENGE.
            SELECT EINDT
                   UP TO 1 ROWS
                   FROM EKET
                   INTO V_EINDT
                   WHERE EBELN = V_EBELN AND
                         EBELP = V_EBELP.
            ENDSELECT.
            IF SY-SUBRC = 0.
              X_MSEG-EINDT = V_EINDT.
            ENDIF.
          ENDIF.
    *---Select Data from MARC table.
          CLEAR : V_DISPO, V_EKGRP.
          SELECT DISPO
                 EKGRP
                 UP TO 1 ROWS
                 FROM MARC
                 INTO (V_DISPO, V_EKGRP)
                 WHERE MATNR = IT_MARD-MATNR AND
                       WERKS = IT_MARD-WERKS AND
                       DISPO IN S_DISPO.
          ENDSELECT.
          IF SY-SUBRC = 0.
            X_MSEG-DISPO = V_DISPO.
            X_MSEG-EKGRP = V_EKGRP.
          else.
          continue.
          ENDIF.
    *---select Material Description from MAKT
          CLEAR V_MAKTX.
          SELECT SINGLE MAKTX
                 FROM MAKT
                 INTO V_MAKTX
                 WHERE MATNR = IT_MARD-MATNR AND
                       SPRAS = SY-LANGU.
          IF SY-SUBRC = 0.
            X_MSEG-MAKTX = V_MAKTX.
          ENDIF.
    *----Select data from MSEG Table
          SELECT MBLNR
                 MJAHR
                 MATNR                  " Material Number
                 WERKS                  " Plant
                 LGORT                  " Storage Location
                 MENGE                  " Quantity
                 MEINS                  " UOM
                 LIFNR                  " Account No of Vendor
                 SHKZG                  " Credit/Debit Indicator
                 FROM MSEG
                 INTO X_MSEG
                 WHERE MATNR = IT_MARD-MATNR AND
                       WERKS = IT_MARD-WERKS AND
                       LGORT = IT_MARD-LGORT AND
                       BUKRS IN S_BUKRS.
    *---Subroutine to check whether the document is in the given date range
            PERFORM CHECK_DATE.
          ENDSELECT.
        ENDLOOP.
      ELSE.
        STOP.
      ENDIF.
    *----Select YTD receipts and Issues to date from MSEG
      CLEAR : V_MJAHR, V_ISSUE, V_RECEIPT.
      IF S_DATE[] IS NOT INITIAL.
        V_MJAHR = S_DATE+3(4).
      ELSE.
        V_MJAHR = SY-DATUM+0(4).
      ENDIF.
      SELECT MENGE
             MEINS
             SHKZG
             FROM MSEG
             INTO TABLE IT_YTD
             WHERE WERKS = P_WERKS AND
                   MJAHR = V_MJAHR.
    *--Calculating YTD receipts and Issues
      IF SY-SUBRC = 0.
        LOOP AT IT_YTD.
          IF IT_YTD-SHKZG = 'S'.
            V_ISSUE = V_ISSUE + IT_YTD-MENGE.
          ELSE.
            V_RECEIPT = V_RECEIPT + IT_YTD-MENGE.
          ENDIF.
        ENDLOOP.
        IT_FINAL-ISSUE = V_ISSUE.
        IT_FINAL-RECEIPT = V_RECEIPT.
      ENDIF.
    *-----Logic for printing the material
      LOOP AT IT_MSEG.
        V_TABIX = SY-TABIX.
        AT NEW MATNR.
    *----Logic for calculation of Total On hand inv at plant.
    *---Sum of all MARD-LABST.
          CLEAR V_LABST.
          LOOP AT IT_MARD WHERE MATNR = IT_MSEG-MATNR.
            V_LABST = V_LABST + IT_MARD-LABST.
          ENDLOOP.
          IT_FINAL-TOT_LABST = V_LABST.
        ENDAT.
        AT NEW LGORT.
          CLEAR : V_SUM.
        ENDAT.
        READ TABLE IT_MARD WITH KEY MATNR = IT_MSEG-MATNR
                                    WERKS = IT_MSEG-WERKS
                                    LGORT = IT_MSEG-LGORT.
        IF SY-SUBRC = 0 AND IT_MARD-LMINB > 0.
    *---Logic for adding/Subtracting GR/GI
          IF V_TABIX = 1.
            IF IT_MSEG-SHKZG = 'S'.
              V_TEMP = IT_MARD-LABST + IT_MSEG-MENGE.
            ELSE.
              V_TEMP = IT_MARD-LABST - IT_MSEG-MENGE.
            ENDIF.
          ENDIF.
          IF IT_MARD-LABST < IT_MARD-LMINB.  "Stock < Reorder Point
    *---Check for any goods receipts on the given day. SHKZG = 'S'
            IF IT_MSEG-SHKZG = 'S' .
              IF V_TABIX = 1.
                V_SUM = V_TEMP.
              ELSE.
                V_SUM = V_SUM + IT_MSEG-MENGE.
              ENDIF.
              IF V_SUM < IT_MARD-LMINB.
                IT_FINAL-MATNR = IT_MARD-MATNR.
                IT_FINAL-MAKTX = IT_MSEG-MAKTX.
                IT_FINAL-LMINB = IT_MARD-LMINB.
                IT_FINAL-MEINS = IT_MSEG-MEINS.
                IT_FINAL-LABST = IT_MARD-LABST.
                IT_FINAL-DISPO = IT_MSEG-DISPO.
                IT_FINAL-EKGRP = IT_MSEG-EKGRP.
                IT_FINAL-LIFNR = IT_MSEG-LIFNR.
                IT_FINAL-ISSUE = V_ISSUE.
                IT_FINAL-RECEIPT = V_RECEIPT.
                IT_FINAL-TOT_LABST = V_LABST.
                IT_FINAL-EBELN = IT_MSEG-EBELN.
                IT_FINAL-MENGE = IT_MSEG-MENGE1.
                IT_FINAL-EINDT = IT_MSEG-EINDT.
                APPEND IT_FINAL.
                CLEAR IT_FINAL.
              ENDIF.
            ELSE.
    *--- If there is no Goods receipt mov't type on the given day, then
    *---add all the goods issues to the storage location stock.
    *---Goos Receipt = 'S' , Goods Issue = 'H'.
              IF V_TABIX = 1.
                V_SUM = V_TEMP.
              ELSE.
                V_SUM = V_SUM - IT_MSEG-MENGE.
              ENDIF.
              IF V_SUM < IT_MARD-LMINB.
                IT_FINAL-MATNR = IT_MARD-MATNR.
                IT_FINAL-MAKTX = IT_MSEG-MAKTX.
                IT_FINAL-LMINB = IT_MARD-LMINB.
                IT_FINAL-MEINS = IT_MSEG-MEINS.
                IT_FINAL-LABST = IT_MARD-LABST.
                IT_FINAL-DISPO = IT_MSEG-DISPO.
                IT_FINAL-EKGRP = IT_MSEG-EKGRP.
                IT_FINAL-LIFNR = IT_MSEG-LIFNR.
                IT_FINAL-ISSUE = V_ISSUE.
                IT_FINAL-RECEIPT = V_RECEIPT.
                IT_FINAL-TOT_LABST = V_LABST.
                IT_FINAL-EBELN = IT_MSEG-EBELN.
                IT_FINAL-MENGE = IT_MSEG-MENGE1.
                IT_FINAL-EINDT = IT_MSEG-EINDT.
                APPEND IT_FINAL.
                CLEAR IT_FINAL.
              ENDIF.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " Fetch_DATA
    *&      Form  check_date
          text
    FORM CHECK_DATE .
      DATA: LV_BLDAT LIKE MKPF-BLDAT.
      SELECT SINGLE BLDAT
             FROM MKPF
             INTO LV_BLDAT
             WHERE MBLNR = X_MSEG-MBLNR AND
                   MJAHR = X_MSEG-MJAHR AND
                   BLDAT IN S_DATE.
      IF SY-SUBRC = 0.
        MOVE : X_MSEG-MATNR TO IT_MSEG-MATNR,
               X_MSEG-WERKS TO IT_MSEG-WERKS,
               X_MSEG-LGORT TO IT_MSEG-LGORT,
               X_MSEG-MENGE TO IT_MSEG-MENGE,
               X_MSEG-MEINS TO IT_MSEG-MEINS,
               X_MSEG-LIFNR TO IT_MSEG-LIFNR,
               X_MSEG-SHKZG TO IT_MSEG-SHKZG,
               X_MSEG-EBELN TO IT_MSEG-EBELN,
               X_MSEG-MENGE1 TO IT_MSEG-MENGE1,
               X_MSEG-EINDT TO IT_MSEG-EINDT,
               X_MSEG-DISPO TO IT_MSEG-DISPO,
               X_MSEG-EKGRP TO IT_MSEG-EKGRP,
               X_MSEG-MAKTX TO IT_MSEG-MAKTX.
        APPEND IT_MSEG.
        CLEAR IT_MSEG.
      ENDIF.
    ENDFORM.                    " check_date
    *&      Form  PAGE_HEADER
         To Print page header and other details
    FORM PAGE_HEADER .                                          "#EC CALLED
    *---Page header
      ULINE AT /1(150).
      FORMAT COLOR COL_BACKGROUND INTENSIFIED ON .
      WRITE:/ 'Run Date:'(t08), SY-DATUM, 50 'Stanley Works'(t07),
             110 'Page No:'(t09), SY-PAGNO LEFT-JUSTIFIED.
      WRITE:/ 'Run Time:'(t10), SY-UZEIT, 47 SY-TITLE, 110 SY-UNAME.
      WRITE:/ 'Source  :'(t11), SY-SYSID, 110 SY-CPROG .
      ULINE AT /1(150).
      WRITE :/1 'Safety Stock Report for Plant :'(t13),P_WERKS.
    ENDFORM.                    "PAGE_HEADER
    *&      Form  VALIDATE_DATA
          Subroutine to Validate selection screen data
    FORM VALIDATE_DATA .
      DATA V_TEMP(20) TYPE C.                                   "#EC NEEDED
    *--Validation for Plant.
      CLEAR V_TEMP.
      SELECT SINGLE WERKS
             INTO V_TEMP
             FROM T001W
             WHERE WERKS = P_WERKS.
      IF SY-SUBRC NE 0.
        MESSAGE E001(ZZ) WITH 'Invalid Plant'(t03).             "#EC *
      ENDIF.
    *--Validation for Storage Location.
      CLEAR V_TEMP.
      IF NOT S_LGORT[] IS INITIAL.
        SELECT LGORT INTO V_TEMP UP TO 1 ROWS
               FROM T001L
               WHERE LGORT IN  S_LGORT.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZZ) WITH 'Invalid Storage Location'(t04).
        ENDIF.
      ENDIF.
    *--Validation for Material Number.
      CLEAR V_TEMP.
      IF NOT S_MATNR[] IS INITIAL.
        SELECT MATNR
               INTO V_TEMP
               UP TO 1 ROWS
               FROM MARA
               WHERE MATNR IN S_MATNR.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZZ) WITH 'Invalid Material Number'(t05).
        ENDIF.
      ENDIF.
    *--Validation for MRP controller.
      CLEAR V_TEMP.
      IF NOT S_DISPO[] IS INITIAL.
        SELECT  DISPO INTO V_TEMP UP TO 1 ROWS
                FROM T024D
                WHERE DISPO IN S_DISPO.
        ENDSELECT.
        IF SY-SUBRC NE 0.
          MESSAGE E001(ZZ) WITH 'Invalid MRP Controller'(t06).
        ENDIF.
      ENDIF.
    ENDFORM.                    " VALIDATE_DATA
    *&      Form  validate_mail
          Validate user id
    FORM VALIDATE_MAIL .
      IF P_MAIL = 'X' AND S_UNAME[] IS INITIAL.
        MESSAGE E001(ZZ) WITH 'Enter User Mail id'(t01).
      ENDIF.
    ENDFORM.                    " validate_mail
    *&      Form  SEND_MAIL
         Send email to SAP inbox
    FORM SEND_MAIL .
    Structures and internal tables for the send data
      DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2  WITH HEADER LINE,
            OBJHEAD LIKE SOLISTI1   OCCURS 1  WITH HEADER LINE,
            OBJBIN  LIKE SOLISTI1   OCCURS 0  WITH HEADER LINE,
            OBJTXT  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE,
            RECLIST LIKE SOMLRECI1  OCCURS 5  WITH HEADER LINE.
      DATA: DOC_CHNG LIKE SODOCCHGI1,
            TAB_LINES LIKE SY-TABIX.
    Data for the status output after sending
      DATA: SENT_TO_ALL LIKE SONV-FLAG.
      CLEAR: IT_RECLIST, IT_RECLIST[],
             IT_OBJTXT , IT_OBJTXT[],
             IT_OBJPACK, IT_OBJPACK[],
             IT_OBJBIN , IT_OBJBIN[],X_DOC_CHNG.
      LOOP AT IT_HTML.
        OBJBIN-LINE = IT_HTML-LINE.
        APPEND OBJBIN.
        CLEAR OBJBIN.
      ENDLOOP.
    Create the document which is to be sent
      DOC_CHNG-OBJ_NAME  = 'List'(012).
      DOC_CHNG-OBJ_DESCR = 'Mail'(m05).
    Heading
      OBJTXT-LINE = 'Safety Stock Report attached'(014).
      APPEND OBJTXT.
      CLEAR OBJTXT.
    Size
      DESCRIBE TABLE OBJTXT LINES TAB_LINES.
      READ TABLE OBJTXT INDEX TAB_LINES.
      DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
    Fill the fields of the packing_list for the main document:
      CLEAR OBJPACK-TRANSF_BIN.
    The document needs no header (head_num = 0)
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM = 0.
    Body
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM = TAB_LINES.
      OBJPACK-DOC_TYPE = 'RAW'(m02).
      APPEND OBJPACK.
    Create the attachment (the list itself)
      DESCRIBE TABLE OBJBIN LINES TAB_LINES.
    Fill the fields of the packing_list for the attachment:
      OBJPACK-TRANSF_BIN = 'X'.
    Header
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM = 0.
    Body
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM = TAB_LINES.
      OBJPACK-DOC_TYPE = 'PDF'(m01).
      OBJPACK-OBJ_NAME = 'Attachment'(m03).
      OBJPACK-OBJ_DESCR = 'Mail with pdf Attachment'(018).
      OBJPACK-DOC_SIZE = TAB_LINES * 255.
      APPEND OBJPACK.
    *-Fill the mail recipient list
      LOOP AT S_UNAME.
        RECLIST-RECEIVER = S_UNAME-LOW.
        RECLIST-REC_TYPE = 'B'.
        APPEND RECLIST.
        CLEAR: RECLIST.
      ENDLOOP.
    *-Send the document by calling the SAPoffice API1 module for sending
    *-documents with attachments
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          DOCUMENT_DATA              = DOC_CHNG
          PUT_IN_OUTBOX              = 'X'
          COMMIT_WORK                = 'X'
        IMPORTING
          SENT_TO_ALL                = SENT_TO_ALL
        TABLES
          PACKING_LIST               = OBJPACK
          OBJECT_HEADER              = OBJHEAD
          CONTENTS_BIN               = OBJBIN
          CONTENTS_TXT               = OBJTXT
          RECEIVERS                  = RECLIST
        EXCEPTIONS
          TOO_MANY_RECEIVERS         = 1
          DOCUMENT_NOT_SENT          = 2
          OPERATION_NO_AUTHORIZATION = 4
          OTHERS                     = 99.
      CASE SY-SUBRC .
        WHEN 0.
          MESSAGE s001 WITH 'Mail has been sent successfully'(003).
        WHEN OTHERS.
          MESSAGE s001 WITH 'Problem in sending the mail'(004).
      ENDCASE.
    ENDFORM.                    " SEND_MAIL
    *&      Form  download_display_report
          Download and dispaly report
    FORM DOWNLOAD_DISPLAY_REPORT .
      DATA: X_PARAMS TYPE PRI_PARAMS,
            V_VALID.
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
        EXPORTING
          IMMEDIATELY    = ' '
          LAYOUT         = 'X_65_255'
          NO_DIALOG      = 'X'
        IMPORTING
          OUT_PARAMETERS = X_PARAMS
          VALID          = V_VALID.
      IF V_VALID <> SPACE.
        NEW-PAGE PRINT ON PARAMETERS X_PARAMS NO DIALOG.
        PERFORM DISPLAY_REPORT.
        NEW-PAGE PRINT OFF.
        PERFORM CONV_TO_PDF_DOWNLOAD.
      ENDIF.
      PERFORM DISPLAY_REPORT.
    ENDFORM.                    " download_display_report
    *&      Form  DISPLAY_REPORT
          Display the report
    FORM DISPLAY_REPORT .
    ULINE AT /0(204).
      write:/1 sy-vline no-gap, (10)'Material'(032),
             sy-vline no-gap, (40)'Description'(031),
             sy-vline no-gap, (15)'Reorder pt'(030),
             sy-vline no-gap, (03)'BUn'(029),
             sy-vline no-gap, (13)'OnHandQty'(023),
             sy-vline no-gap, (13)'OnHandPlnt'(024),
             sy-vline no-gap, (13)'YTD issues'(025),
             sy-vline no-gap, (13)'YTD Receipts'(026),
             sy-vline no-gap, (08)'MRPcntrl'(027),
             sy-vline no-gap, (04)'POgrp'(028),
             sy-vline no-gap, (13)'POqty'(019),
             sy-vline no-gap, (10)'NextDelvDt'(020),
             sy-vline no-gap, (10)'Vendor'(021),
             sy-vline no-gap, (10)'PO#'(022),
             sy-vline no-gap.
    ULINE AT /0(204).
    loop at it_final.
      PERFORM COLOR_SWAP.
      write:/1 sy-vline no-gap, (10)it_final-matnr,
             sy-vline no-gap, (40)it_final-maktx,
             sy-vline no-gap, (15)it_final-lminb,     "#EC UOM_IN_MES
             sy-vline no-gap, (03)it_final-meins,
             sy-vline no-gap, (13)it_final-labst,     "#EC UOM_IN_MES
             sy-vline no-gap, (13)it_final-tot_labst, "#EC UOM_IN_MES
             sy-vline no-gap, (13)it_final-issue,     "#EC UOM_IN_MES
             sy-vline no-gap, (13)it_final-receipt,   "#EC UOM_IN_MES
             sy-vline no-gap, (08)it_final-dispo,
             sy-vline no-gap, (04)it_final-ekgrp,
             sy-vline no-gap, (13)it_final-menge,     "#EC UOM_IN_MES
             sy-vline no-gap, (10)it_final-eindt,
             sy-vline no-gap, (10)it_final-lifnr,
             sy-vline no-gap, (10)it_final-ebeln,
             sy-vline no-gap.
    endloop.
    ULINE AT /0(204).
    skip 2.
    WRITE:/ '******End of Report*******'.
    ENDFORM.                    " DISPLAY_REPORT
    *&      Form  CONV_TO_PDF_DOWNLOAD
          Convert to PDF
    FORM CONV_TO_PDF_DOWNLOAD .
      DATA: V_NUMBYTES TYPE I,
            V_SPOOLNO TYPE TSP01-RQIDENT.
      CLEAR   IT_PDF.
      REFRESH IT_PDF.
      WAIT UP TO 2 SECONDS.
      V_SPOOLNO = SY-SPONO.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          SRC_SPOOLID   = V_SPOOLNO
          NO_DIALOG     = ' '
        IMPORTING
          PDF_BYTECOUNT = V_NUMBYTES
        TABLES
          PDF           = IT_PDF.
      IF SY-SUBRC = 0.    "#EC *
        PERFORM PAGE_FORMAT.
      ENDIF.
    ENDFORM.                    " CONV_TO_PDF_DOWNLOAD
    *&      Form  page_format
       Format the page
    FORM PAGE_FORMAT .
      DATA : L_LINES       TYPE I,
             L_TEMP(500)   TYPE C,
             L_OFFSET      TYPE P,
             L_LINESLEN(2) TYPE P,
             L_MIMELEN(2)  TYPE P,
             L_TABIX       LIKE SY-TABIX.
      CLEAR : IT_XI_PDF,
              IT_XI_TEMP.
      REFRESH : IT_XI_PDF,
                IT_XI_TEMP.
      IT_XI_PDF[] = IT_PDF[].
    Reformat the line to 255 characters wide (code from SAP)
      CLEAR: L_TEMP, L_OFFSET, IT_XI_TEMP.
      DESCRIBE TABLE IT_XI_PDF   LINES  L_LINES.
      DESCRIBE FIELD IT_XI_PDF   LENGTH L_LINESLEN IN CHARACTER MODE.
      DESCRIBE FIELD IT_XI_TEMP  LENGTH L_MIMELEN IN CHARACTER MODE.
      LOOP AT IT_XI_PDF.
        L_TABIX = SY-TABIX.
        MOVE IT_XI_PDF TO L_TEMP+L_OFFSET.
        IF L_TABIX = L_LINES.
          L_LINESLEN = STRLEN( IT_XI_PDF ).
        ENDIF.
        L_OFFSET = L_OFFSET + L_LINESLEN.
        IF L_OFFSET GE L_MIMELEN.
          CLEAR IT_XI_TEMP.
          IT_XI_TEMP = L_TEMP(L_MIMELEN).
          APPEND IT_XI_TEMP.
          SHIFT L_TEMP BY L_MIMELEN PLACES.
          L_OFFSET = L_OFFSET - L_MIMELEN.
        ENDIF.
        IF L_TABIX = L_LINES.
          IF L_OFFSET GT 0.
            CLEAR IT_XI_TEMP.
            IT_XI_TEMP = L_TEMP(L_OFFSET).
            APPEND IT_XI_TEMP.
          ENDIF.
        ENDIF.
      ENDLOOP.
      CLEAR : IT_XI_MIME,
              IT_XI_MIME[].
      LOOP AT IT_XI_TEMP.
        IT_XI_MIME(255) = IT_XI_TEMP-LINE.
        APPEND IT_XI_MIME.
        CLEAR  IT_XI_MIME.
      ENDLOOP.
    Final Data
      CLEAR : IT_HTML,
              IT_HTML[].
      IT_HTML[] = IT_XI_MIME[].
    For sending mail
      PERFORM SEND_MAIL .
    ENDFORM.                    " page_format
    Form        : color_swap
    Description : Subroutine for color
    form color_swap.
    if flag is set
      if f_color eq 'X'.
        clear f_color.
    switch off the intensity
        format color col_normal intensified off.
      else.
    if flag is not set.
        f_color = 'X'.
    switch on the intensity
        format color col_normal intensified on.
      endif.
    endform.                    " color_swap

  • Excise register updation

    hi
             at the time of register updation system is giving one message (lower the darte range performance will get effected.)
                      all entries entered in register is correct it is warning message.

    hi,
    it is showing red sign because of n no of reasons
    it might be due to PART1 entry is not having enough qty.
    might be ur selection wrong .
    try to check the LOG given by SAP
    regards,
    sujit

  • Urgent: sales report

    Hi All,
    I want to devlop a sales report,
    please can any one explain me how to write select and go ahead
    the requiremnet is like this
    Based on selection criteria
    Sales organisation (VBRK-VKORG),
    Distribution channel (VBRK-VTWEG),
    Division (VBRK_SPART),
    Billing date(VBRK-ERDAT),
    Customer (VBRK-KUNAG),
    plant (VBRP-WERKS), and
    Material Group1(VBRP-MVGR1).
    Check if VBRK-FKSTO # X, VBRK-RFBSK = C, VBRK-FKART #S1 and S2, take all VBRK-VBELNs (Print in Invoice number ).
    VBRK-ERDAT(Print in Invoice Date).
    Pass VBRK-VBELN to VBRP-VBELN and check for every VBRP-MVGR1 pass VBRP-POSNR to KONV-KPOSN and
    For KONV-KSCHL =’ZPTS” sum all KONV-KWERT and display(PTS value).
    For KONV-KSCHL =”YNRV” sum all KONV-KWERT and display(NRV Value).
    thanks in advacne
    points will be rewarded if it is use full
    jay

    Hi,
    Refer this code.
    REPORT  z_daily_sales
            NO STANDARD PAGE HEADING
            MESSAGE-ID sabapdocu.
                          TABLES                                         *
    TABLES : vbak,                              "Sales Document: Header Data
             tfacs,                             "Factory calendar (display)
             vbrk,                              "Billing: Header Data
             vbrp,                              "Billing: Item Data
             vbpa,                              "Sales Document: Partner
             lips,                              "SD doc: Delivery: Item data
             mkpf,                              "Header: Material Document
             mseg,                              "Document Segment: Material
             konv.                              "Conditions (Trans Data)
                          CONSTANTS                                      *
    CONSTANTS : c_top_of_page(15) TYPE c VALUE 'SUB_TOP_OF_PAGE'.
                          TYPE-POOL                                      *
    TYPE-POOLS : slis. "Global types for generic cunning building blocks
                          VARIABLES                                      *
    DATA : v_repid    TYPE sy-repid,             "Report ID
           v_month(2) TYPE c,                    "Variable for Month
           v_year(4)  TYPE c,                    "Variable for year
           v_days(31) TYPE c,                    "Variable for days
           v_ship(10) TYPE c VALUE 0,            "Variable for total days
           v_jan(31)  TYPE c,                    "Variable for month
           v_count(2) TYPE c VALUE 0,            "Variable for count
           v_wdays(2) TYPE c VALUE 0,            "Variable for working days
           v_ndays(2) TYPE c VALUE 0,            "Variable for non work days
           v_tdays(2) TYPE c VALUE 0,            "Variable for total days
           v_oltot    TYPE i VALUE 0,            "Variable for order total
           v_sotot    TYPE i VALUE 0,            "Variable for special order
           v_corebus  TYPE kzwi2 VALUE 0,        "Variable for core bus
           v_onbulk   TYPE kzwi2 VALUE 0,        "Variable for bulk orders
           v_premier  TYPE kzwi2 VALUE 0,        "Variable for premier prog
           v_shipit   TYPE kzwi2 VALUE 0,        "Variable for ship it prog
           v_onpromo  TYPE kzwi2 VALUE 0,        "Variable for on promo
           v_netrev   TYPE kzwi2 VALUE 0,        "Variable for net rev
           v_storev   TYPE kzwi2 VALUE 0,        "Variable for store rev
           v_connet   TYPE kzwi2 VALUE 0,        "Variable for consignment
           v_sporder  TYPE kzwi2 VALUE 0,        "Variable for special order
           v_stdvd    TYPE kzwi2 VALUE 0,        "Variable for dvd
           v_totrev   TYPE kzwi2 VALUE 0,        "Variable for total rev
           v_totbud   TYPE kzwi2 VALUE 0,        "Variable for total budget
           v_ordsize  TYPE kzwi2 VALUE 0.        "Variable for order size
                          TYPES                                          *
    *--Structure for VBRP Table
    TYPES : BEGIN OF t_vbrp,
            vbeln  TYPE vbeln,                  "Billing document
            fkdat  TYPE fkdat,                  "Billing date
            fktyp  TYPE fktyp,                  "Billing category
            fkart  TYPE fkart,                  "Billing type
            vtweg  TYPE vtweg,                  "Distribution channel
            knumv  TYPE knumv,                  "Number of doc condition
            posnr  TYPE posnr,                  "Billing item
            matnr  TYPE matnr,                  "Material Number
            werks  TYPE werks_d,                "Plant
            vgbel  TYPE xblnr,                  "Referance
            vgbel1 TYPE vgbel,                  "Doc no reference document
            kzwi2  TYPE kzwi2,                  "Subtotal 2
            wavwr  TYPE wavwr,                  "Cost in document currency
            kunnr  TYPE kunnr,                  "Customer
            END OF t_vbrp,
    *--Structure for MKPF Table
            BEGIN OF t_mkpf,
            fkdat TYPE fkdat,                   "Billing date
            mblnr TYPE mblnr,                   "Number of material document
            mjahr TYPE mjahr,                   "Material doc. year
            xblnr TYPE xblnr,                   "Referance
            kunnr  TYPE kunnr,                  "Customer
            END OF t_mkpf,
    *--Structure for MSEG Table
            BEGIN OF t_mseg,
            fkdat TYPE fkdat,                   "Billing date
            mblnr TYPE mblnr,                   "Number of material document
            mjahr TYPE mjahr,                   "Material doc. year
            bwart TYPE bwart,                   "Movement type
            sobkz TYPE sobkz,                   "Special Stock indicator
            dmbtr TYPE dmbtr,                   "Amount in local currency
            kunnr TYPE kunnr,                   "Customer
            matnr TYPE matnr,                   "Material Number
            werks TYPE werks_d,                 "Plant
            END OF t_mseg,
    *--Structure for LIPS Table
            BEGIN OF t_lips,
            vbeln TYPE vbeln_vl,                "Delivery
            fkdat TYPE fkdat,                   "Billing date
            knumv TYPE knumv,                   "Number of doc condition
            matnr TYPE matnr,                   "Material Number
            werks TYPE werks_d,                 "Plant
            bwart TYPE bwart,                   "Movement type
            kzwi2 TYPE kzwi2,                   "Subtotal 2
            lfimg TYPE lfimg,                   "Quantity
            END OF t_lips,
    *--Structure for VBAK Table
            BEGIN OF t_vbak,
            erdat TYPE erdat,                   "Created On
            vbeln TYPE vbeln_va,                "Delivery
            auart TYPE auart,                   "Sales document type
            vtweg TYPE vtweg,                   "Distribution channel
            knumv TYPE knumv,                   "Number of doc condition
            END OF t_vbak,
    *--Structure for KONV Table
            BEGIN OF t_konv,
            knumv TYPE knumv,                   "Number of doc condition
            kschl TYPE kscha,                   "Condition type
            kbetr TYPE kbetr,                   "Rate
            END OF t_konv,
    *--Structure for DUMMY Table
            BEGIN OF t_dummy,
            fkdat TYPE fkdat,                   "Billing date
            matnr TYPE matnr,                   "Material Number
            bwart TYPE bwart,                   "Movement type
            kbetr TYPE kzwi2,                   "Net value of billing item
            END OF t_dummy,
    *--Structure for NDAY table
            BEGIN OF t_nday,
            erdat   TYPE erdat,                 "Created On
            flag(1) TYPE c,                     "Flag
            END OF t_nday,
    *--Structure for TFACS Table
            BEGIN OF t_tfacs,
            ident TYPE wfcid,                   "Factory calendar ID
            jahr  TYPE kjahr,                   "Fiscal Year
            mon01 TYPE mon00,                   "Calendar: Days in a month
            mon02 TYPE mon00,                   "Calendar: Days in a month
            mon03 TYPE mon00,                   "Calendar: Days in a month
            mon04 TYPE mon00,                   "Calendar: Days in a month
            mon05 TYPE mon00,                   "Calendar: Days in a month
            mon06 TYPE mon00,                   "Calendar: Days in a month
            mon07 TYPE mon00,                   "Calendar: Days in a month
            mon08 TYPE mon00,                   "Calendar: Days in a month
            mon09 TYPE mon00,                   "Calendar: Days in a month
            mon10 TYPE mon00,                   "Calendar: Days in a month
            mon11 TYPE mon00,                   "Calendar: Days in a month
            mon12 TYPE mon00,                   "Calendar: Days in a month
            END OF t_tfacs,
    *--Structure for shipping days table.
            BEGIN OF t_ship,
            title(35) TYPE c,                   "Title
            days(10)  TYPE c,                   "Days
            END OF t_ship,
    *--Structure for Final Table
            BEGIN OF t_final,
            erdat   TYPE erdat,                 "Date
            oltot   TYPE i,                     "Online Order total
            sotot   TYPE i,                     "Special Order Total
            corebus TYPE kzwi2,                 "ECS Online Promo Rev
            onbulk  TYPE kzwi2,                 "ECS online Bulk Orders
            premier TYPE kzwi2,                 "MSFT Premier Program
            shipit  TYPE kzwi2,                 "MSFT online shipit program
            onpromo TYPE kzwi2,                 "MSFT online promo rev
            netrev  TYPE kzwi2,                 "MSFT/Xbox Consignment
            storev  TYPE kzwi2,                 "MSFT Retail Store promo rev
            connet  TYPE kzwi2,                 "MSFT Retail Consign net rev
            sporder TYPE kzwi2,                 "Special order revenue
            stdvd   TYPE kzwi2,                 "Traveling Store/DVD
            totrev  TYPE kzwi2,                 "Total ECS Revenue
            totbud  TYPE kzwi2,                 "Total ECS Budget
            ordsize TYPE kzwi2,                 "Avg online order size
            END OF t_final,
    *--Structure for Total Table
            BEGIN OF t_total,
            title(10) TYPE c,                   "Date
            oltot     TYPE i,                   "Online Order total
            sotot     TYPE i,                   "Special Order Total
            corebus   TYPE kzwi2,               "ECS Online Promo Rev
            onbulk    TYPE kzwi2,               "ECS online Bulk Orders
            premier   TYPE kzwi2,               "MSFT Premier Program
            shipit    TYPE kzwi2,               "MSFT online shipit program
            onpromo   TYPE kzwi2,               "MSFT online promo rev
            netrev    TYPE kzwi2,               "MSFT/Xbox Consignment
            storev    TYPE kzwi2,               "MSFT Retail Store promo rev
            connet    TYPE kzwi2,               "MSFT Retail Consign net rev
            sporder   TYPE kzwi2,               "Special order revenue
            stdvd     TYPE kzwi2,               "Traveling Store/DVD
            totrev    TYPE kzwi2,               "Total ECS Revenue
            totbud    TYPE kzwi2,               "Total ECS Budget
            ordsize   TYPE kzwi2,               "Avg online order size
            END OF t_total,
    *--Structure for MKPF Table
            BEGIN OF t_jkmkpf,
            budat TYPE budat,                   "Posting date
            mblnr TYPE mblnr,                   "Number of material document
            mjahr TYPE mjahr,                   "Material doc. year
            END OF t_jkmkpf,
    *--Structure for MSEG Table
            BEGIN OF t_jkmseg,
            fkdat TYPE fkdat,                   "Billing date
            matnr TYPE matnr,                   "Material Number
            mblnr TYPE mblnr,                   "Number of material document
            mjahr TYPE mjahr,                   "Material doc. year
            bwart TYPE bwart,                   "Movement type
            menge TYPE menge_d,                 "Quantity
            kbetr TYPE kbetr_kond,              "Rate
            dmbtr TYPE dmbtr,                   "Amount in local currency
            END OF t_jkmseg,
    *--Structure for A006 Table
            BEGIN OF t_a006,
            fkdat TYPE fkdat,                   "Billing date
            matnr TYPE matnr,                   "Material Number
            kappl TYPE kappl,                   "Application
            kschl TYPE kschl,                   "Condition type
            vkorg TYPE vkorg,                   "Sales organization
            vtweg TYPE vtweg,                   "Distribution channel
            datbi TYPE kodatbi,                 "Validity end date
            datab TYPE kodatab,                 "Validity start date
            knumh TYPE knumh,                   "Condition record number
            END OF t_a006,
    *--Structure for KONP Table
            BEGIN OF t_konp,
            fkdat TYPE fkdat,                   "Billing date
            matnr TYPE matnr,                   "Material Number
            knumh TYPE knumh,                   "Condition record number
            kappl TYPE kappl,                   "Application
            kschl TYPE kschl,                   "Condition type
            kbetr TYPE kbetr_kond,              "Rate
            END OF t_konp.
                          WORK AREAS                                     *
    DATA : wa_vbrp   TYPE t_vbrp,          "Work area for VBRP Table
           wa_mkpf   TYPE t_mkpf,          "Work area for MKPF Table
           wa_mseg   TYPE t_mseg,          "Work area for MSEG Table
           wa_jkmkpf TYPE t_jkmkpf,        "Work area for MKPF Table
           wa_jkmseg TYPE t_jkmseg,        "Work area for MSEG Table
           wa_kjmseg TYPE t_jkmseg,        "Work area for MSEG Table
           wa_lips   TYPE t_lips,          "Work area for LIPS Table
           wa_vbak   TYPE t_vbak,          "Work area for VBAK Table
           wa_konv   TYPE t_konv,          "Work area for KONV Table
           wa_dummy  TYPE t_dummy,         "Work area for DUMMY Table
           wa_tfacs  TYPE t_tfacs,         "Work area for TFACS Table
           wa_final  TYPE t_final,         "Work area for Final Table
           wa_total  TYPE t_total,         "Work area for Total Table
           wa_ship   TYPE t_ship,          "Work area for Ship Table
           wa_a006   TYPE t_a006,
           wa_konp   TYPE t_konp,          "Work area for KONP Table
           wa_nday   TYPE t_nday,
           wa_fieldcat TYPE slis_fieldcat_alv,"Work area for fieldcatalog
           wa_layout1 TYPE slis_layout_alv,
           wa_layout2 TYPE slis_layout_alv,
           wa_layout3 TYPE slis_layout_alv.
                          INTERNAL TABLES                                *
    DATA : it_vbrp   TYPE STANDARD TABLE OF t_vbrp   INITIAL SIZE 0,
           it_mkpf   TYPE STANDARD TABLE OF t_mkpf   INITIAL SIZE 0,
           it_mseg   TYPE STANDARD TABLE OF t_mseg   INITIAL SIZE 0,
           it_jkmkpf TYPE STANDARD TABLE OF t_jkmkpf INITIAL SIZE 0,
           it_jkmseg TYPE STANDARD TABLE OF t_jkmseg INITIAL SIZE 0,
           it_kjmseg TYPE STANDARD TABLE OF t_jkmseg INITIAL SIZE 0,
           it_lips   TYPE STANDARD TABLE OF t_lips   INITIAL SIZE 0,
           it_vbak   TYPE STANDARD TABLE OF t_vbak   INITIAL SIZE 0,
           it_konv   TYPE STANDARD TABLE OF t_konv   INITIAL SIZE 0,
           it_dummy  TYPE STANDARD TABLE OF t_dummy  INITIAL SIZE 0,
           it_tfacs  TYPE STANDARD TABLE OF t_tfacs  INITIAL SIZE 0,
           it_final  TYPE STANDARD TABLE OF t_final  INITIAL SIZE 0,
           it_total  TYPE STANDARD TABLE OF t_total  INITIAL SIZE 0,
           it_ship   TYPE STANDARD TABLE OF t_ship   INITIAL SIZE 0,
           it_nday   TYPE STANDARD TABLE OF t_nday   INITIAL SIZE 0,
           it_a006   TYPE STANDARD TABLE OF t_a006   INITIAL SIZE 0,
           it_konp   TYPE STANDARD TABLE OF t_konp   INITIAL SIZE 0,
           it_fieldcat  TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           it_fieldcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           it_events TYPE slis_t_event,
           it_event1 TYPE slis_t_event,
           it_event2 TYPE slis_t_event,
           it_header TYPE slis_t_listheader.
                      PARAMETERS &  SELECT-OPTIONS                       *
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_erdat FOR vbak-erdat NO-DISPLAY. "Created On
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(10) text-003.
    PARAMETERS : p_month(7) TYPE c OBLIGATORY.  "Month
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(40) text-030.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 3(10) text-004.
    PARAMETERS : p_bud(16) TYPE c OBLIGATORY.   "Budget
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK blk1.
                      AT SELECTION SCREEN                                *
    AT SELECTION-SCREEN ON p_month.
    *--Create the date range
      PERFORM sub_create_date.
                      START-OF-SELECTION                                 *
    START-OF-SELECTION.
    *--Select data from TFACS Table
      PERFORM sub_read_tfacs.
    *--Select Data from VBAK Table
      PERFORM sub_read_vbak.
    *--Select Data from VBRP Table
      PERFORM sub_read_vbrp.
    *--Select Data from MKPF Table
      PERFORM sub_read_mkpf.
    *--Select Data from MSEG Table
      PERFORM sub_read_mseg.
    *--Select Data from LIPS Table
      PERFORM sub_read_lips.
    *--Select Data from KONV Table
      PERFORM sub_read_konv.
    *--Collect all the data into final inetrnal table
      PERFORM sub_collect_data.
    *--Collect all the data into final inetrnal table
      PERFORM sub_collect_vbrp.
    *--Collect all the data into final inetrnal table
      PERFORM sub_collect_lips.
    *--Collect MSFT retail store promo rev & MSFT retail
    store consignment net rev
      PERFORM sub_jk_column.
    *--Collect consignment cost
      PERFORM sub_collect_consign.
    *--Calculate Plug Numbers
      PERFORM sub_claculate_plug.
    *--Collect data from vbrp
      PERFORM sub_collect_cost.
    *--Calculate the total & avarages
      PERFORM sub_calculate_total.
    *--Collect totals & avarages into final internal table
      PERFORM sub_collect_total.
                      END-OF-SELECTION                                   *
    END-OF-SELECTION.
    *--This perform creates the ALV events
      PERFORM sub_create_events.
    *--This perform prepare field catalog.
      PERFORM sub_field_catalogmerge.
    *--This perform displays an ALV report
      PERFORM sub_alv_display.
    *&      Form  sub_read_vbrp
          text
    FORM sub_read_vbrp .
    *--Local Variables
      DATA : lv_index LIKE sy-tabix.
    *--Select query to pick the Billing document Billing date Billing
    category Billing type Distribution channel Number of doc condition
    Billing item Material Number Plant Referance Subtotal 2 Cost in
    document currency and Partner function from table VBRK VBRP and VBPA
    using inner join
      SELECT a~vbeln                            "Billing document
             a~fkdat                            "Billing date
             a~fktyp                            "Billing category
             a~fkart                            "Billing type
             a~vtweg                            "Distribution channel
             a~knumv                            "Number of doc condition
             b~posnr                            "Billing item
             b~matnr                            "Material Number
             b~werks                            "Plant
             b~vgbel                            "Referance
             b~kzwi2                            "Subtotal 2
             b~wavwr                            "Cost in document currency
             c~kunnr                            "Partner function
             FROM vbrk AS a
             INNER JOIN vbrp AS b
             ON avbeln EQ bvbeln
             INNER JOIN vbpa AS c
             ON  bvbeln EQ cvbeln
             INTO CORRESPONDING FIELDS OF TABLE it_vbrp
             WHERE fkdat IN s_erdat
             AND   parvw EQ 'ZS'.
      IF sy-subrc EQ 0.
    *--Sort table by Referance
        SORT it_vbrp BY vgbel1.
      ENDIF.
      LOOP AT it_vbrp INTO wa_vbrp.
        lv_index = sy-tabix.
        wa_vbrp-vgbel1 = wa_vbrp-vgbel.
        MODIFY it_vbrp FROM wa_vbrp INDEX lv_index TRANSPORTING
                                          vgbel1.
    *--Clear
        CLEAR : wa_vbrp.
      ENDLOOP.
    ENDFORM.                    " sub_read_vbrp
    *&      Form  sub_read_mkpf
          text
    FORM sub_read_mkpf .
    *--Local Variables
      DATA : lv_index LIKE sy-tabix.
      IF NOT it_vbrp[] IS INITIAL.
    *--Select query to pick the Number of material document Material
    document year and Referance from table MKPF
        SELECT DISTINCT
               mblnr                            "Number of material document
               mjahr                            "Material doc. year
               xblnr                            "Referance
               FROM mkpf
               INTO CORRESPONDING FIELDS OF TABLE it_mkpf
               FOR ALL ENTRIES IN it_vbrp
               WHERE xblnr EQ it_vbrp-vgbel.
      ENDIF.
    *--Sort table by No of material document and fiscal year
      SORT it_mkpf BY mblnr mjahr.
      IF sy-subrc EQ 0.
        DELETE ADJACENT DUPLICATES FROM it_mkpf COMPARING mblnr mjahr.
      ENDIF.
    *--Sort table by referance document
      SORT it_vbrp BY vgbel.
      SORT it_mkpf BY xblnr.
      IF NOT it_mkpf[] IS INITIAL.
        LOOP AT it_mkpf INTO wa_mkpf.
          lv_index = sy-tabix.
    *--Clear
          CLEAR : wa_vbrp.
          READ TABLE it_vbrp INTO wa_vbrp WITH KEY vgbel = wa_mkpf-xblnr
                                                   BINARY SEARCH.
          IF sy-subrc EQ 0.
            wa_mkpf-fkdat = wa_vbrp-fkdat.
            wa_mkpf-kunnr = wa_vbrp-kunnr.
          ENDIF.
          MODIFY it_mkpf FROM wa_mkpf INDEX lv_index TRANSPORTING
                                            fkdat kunnr.
    *--Clear
          CLEAR : wa_mkpf.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " sub_read_mkpf
    *&      Form  sub_read_mseg
          text
    FORM sub_read_mseg .
    *--Local Variables
      DATA : lv_index LIKE sy-tabix.
      IF NOT it_mkpf[] IS INITIAL.
    *--Select query to pick the Number of material document Material
    document year Movement type Special Stock indicator and Amount in
    local currency from table MSEG
        SELECT mblnr                            "Number of material document
               mjahr                            "Material doc. year
               bwart                            "Movement type
               sobkz                            "Special Stock indicator
               dmbtr                            "Amount in local currency
               matnr                            "Material
               werks                            "Plant
               FROM mseg
               INTO CORRESPONDING FIELDS OF TABLE it_mseg
               FOR ALL ENTRIES IN it_mkpf
               WHERE mblnr EQ it_mkpf-mblnr
               AND   mjahr EQ it_mkpf-mjahr.
              AND   bwart EQ '601'.
              AND   sobkz EQ 'K'.
      ENDIF.
    *--Sort table by Number of material document
      SORT it_mkpf BY mblnr.
    *--Sort table by Number of material document
      SORT it_mseg BY mblnr.
      IF NOT it_mseg[] IS INITIAL.
        LOOP AT it_mseg INTO wa_mseg.
          lv_index = sy-tabix.
    *--Clear
          CLEAR : wa_mkpf.
          READ TABLE it_mkpf INTO wa_mkpf WITH KEY mblnr = wa_mseg-mblnr
                                                   BINARY SEARCH.
          IF sy-subrc EQ 0.
            wa_mseg-fkdat = wa_mkpf-fkdat.
            wa_mseg-kunnr = wa_mkpf-kunnr.
          ENDIF.
          MODIFY it_mseg FROM wa_mseg INDEX lv_index TRANSPORTING
                                            fkdat kunnr.
    *--Clear
          CLEAR: wa_mseg.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " sub_read_mseg
    *&      Form  sub_read_lips
          text
    FORM sub_read_lips .
    *--Local Variables
      DATA : lv_index LIKE sy-tabix.
      IF NOT it_vbrp[] IS INITIAL.
    *--Select query to pick the Delivery Material Number Plant
    Movement type Subtotal 2 and Quantity from table LIPS
        SELECT vbeln                            "Delivery
               matnr                            "Material Number
               werks                            "Plant
               bwart                            "Movement type
               kzwi2                            "Subtotal 2
               lfimg                            "Quantity
               FROM lips
               INTO CORRESPONDING FIELDS OF TABLE it_lips
               FOR ALL ENTRIES IN it_vbrp
               WHERE vbeln EQ it_vbrp-vgbel1.
        IF sy-subrc EQ 0.
    *--Sort table by Delivery
          SORT it_lips BY vbeln.
        ENDIF.
      ENDIF.
    *--Sort table
      SORT it_vbrp BY vgbel1.
      LOOP AT it_lips INTO wa_lips.
        lv_index = sy-tabix.
    *--CLear
        CLEAR : wa_vbrp.
        READ TABLE it_vbrp INTO wa_vbrp WITH KEY vgbel1 = wa_lips-vbeln
                                                 BINARY SEARCH.
        IF sy-subrc EQ 0.
          wa_lips-fkdat = wa_vbrp-fkdat.
          wa_lips-knumv = wa_vbrp-knumv.
        ENDIF.
        MODIFY it_lips FROM wa_lips INDEX lv_index TRANSPORTING
                                    fkdat knumv.
    *--Clear
        CLEAR : wa_lips.
      ENDLOOP.
    ENDFORM.                    " sub_read_lips
    *&      Form  sub_read_konv
          text
    FORM sub_read_konv .
      IF NOT it_vbrp[] IS INITIAL.
    *--Select query to pick the Number of doc condition Condition type
    and Rate from table KONV
        SELECT knumv                            "Number of doc condition
               kschl                            "Condition type
               kbetr                            "Rate
               FROM konv
               INTO TABLE it_konv
               FOR ALL ENTRIES IN it_vbrp
               WHERE knumv EQ it_vbrp-knumv
               AND   kschl EQ 'ZR00'.
      ENDIF.
    ENDFORM.                    " sub_read_konv
    *&      Form  sub_read_vbak
          text
    FORM sub_read_vbak .
    *--Select query to pick the Created On Delivery Sales document type
    Distribution channel and Number of doc condition from table VBAK
      SELECT erdat                              "Created On
             vbeln                              "Delivery
             auart                              "Sales document type
             vtweg                              "Distribution channel
             knumv                              "Number of doc condition
             FROM vbak
             INTO TABLE it_vbak
             WHERE erdat IN s_erdat.
      IF sy-subrc EQ 0.
    *--Sort table by created on
        SORT it_vbak BY erdat.
      ENDIF.
    ENDFORM.                    " sub_read_vbak
    Regards,
    prashant

  • Template for ALV

    anyone have a template for ALV with FM reuse_alv_grid
    PLS////

    Hope you mean to ask a sample program for ALV GRID report
    Here you go.
    RANGES: r_fiscal_period     FOR  s600-spmon.
    DATA:   gt_fieldcat         TYPE slis_t_fieldcat_alv,
            gt_fcat             TYPE slis_t_fieldcat_alv,
            gs_fieldcat         LIKE LINE OF gt_fieldcat,
            gs_fcat             LIKE LINE OF gt_fcat,
            gt_fldcat           TYPE lvc_t_fcat,
            gs_fldcat           TYPE lvc_s_fcat,
            gt_layout           TYPE slis_layout_alv,
            gt_events           TYPE slis_t_event,
            gt_list_top_of_page TYPE slis_t_listheader,
            gv_repid            LIKE sy-repid,
            gv_beg_period       LIKE /irm/s_ipcisel-etprd,
            gv_line(2)          TYPE c.
    DATA:   gv_year(4)          TYPE c,
            gv_month(2)         TYPE c,
            gv_count            TYPE i,
            gv_total            TYPE mc_umnetwr,
            gv_num_lines        TYPE i,
            gv_text1(100)       TYPE c.
    DATA:   gt_dyn_table TYPE REF TO data,
            gs_dyn_line  TYPE REF TO data.
    FIELD-SYMBOLS: <fs_quota>   TYPE STANDARD TABLE,
                   <fs_amount>,
                   <fs_quota_wa>.
    *                C O N S T A N T S
    CONSTANTS: c_600                  TYPE tabname VALUE 'S600',
               c_601                  TYPE tabname VALUE 'S601',
               c_602                  TYPE tabname VALUE 'S602',
               c_603                  TYPE tabname VALUE 'S603',
               c_a00                  TYPE vrsio   VALUE 'A00',
               c_01(2)                TYPE c       VALUE '01',
               c_formname_top_of_page TYPE slis_formname
                                      VALUE 'TOP_OF_PAGE'.
    *   I N T E R N A L  T A B L E S     &      W O R K  A R E A S
    *structure to hold the quotas
    TYPES: BEGIN OF ty_quotas,
             umnetwr   TYPE mc_umnetwr,                  "Net Value
           END OF ty_quotas.
    *list of months
    DATA: BEGIN OF gs_months,
            field_1      LIKE s600-umnetwr,
            field_2      LIKE s600-umnetwr,
            field_3      LIKE s600-umnetwr,
            field_4      LIKE s600-umnetwr,
            field_5      LIKE s600-umnetwr,
            field_6      LIKE s600-umnetwr,
            field_7      LIKE s600-umnetwr,
            field_8      LIKE s600-umnetwr,
            field_9      LIKE s600-umnetwr,
            field_10     LIKE s600-umnetwr,
            field_11     LIKE s600-umnetwr,
            field_12     LIKE s600-umnetwr,
            total        LIKE s600-umnetwr,
          END OF gs_months.
    DATA: gs_quotas TYPE ty_quotas,
          gt_quotas LIKE gs_quotas OCCURS 0 WITH HEADER LINE.
    *            S E L E C T I O N - S C R E E N
    SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-013.
    PARAMETER: p_lis  TYPE tabname,                "plan input
               p_date LIKE /irm/s_ipcisel-etprd,   "end period
               p_emp  TYPE /irm/ip_ktonr,          "sales participant
               p_terr LIKE ztip_sales-zzterritory, "territory
               p_dis  TYPE zzdistrict,             "district
               p_reg  TYPE zzregion.               "region
    SELECTION-SCREEN END OF BLOCK bl1.
    *          S T A R T - O F - S E L E C T I O N
    START-OF-SELECTION.
    *clear all tables, work areas, variables etc
      PERFORM clear_variables.
    *get all the months in the period range
      PERFORM get_periods.
    *retrieve component quotas
      PERFORM component_quota_amt.
    *build field catalogue using internal table
      PERFORM field_catalog_create.
    *build dynamic table
      PERFORM build_dynamic_table.
    *build layout for the ALV list
      PERFORM build_layout.
    *event table to trigger the TOP OF PAGE event to display the heading
      PERFORM eventtab_build USING gt_events[].
    *subroutine for displaying the header which contains the number of
    *datasets selected or displayed
      PERFORM header_build  USING gt_list_top_of_page[].
    *ALV grid display
      PERFORM display_alv_grid.
    *&      Form  clear_variables
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM clear_variables.
      CLEAR:     gs_quotas,
                 gv_count,
                 gv_beg_period,
                 gv_total.
      REFRESH:   gt_quotas.
      MOVE sy-repid TO gv_repid.
    ENDFORM.                    " clear_variables
    *&      Form  get_periods
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM get_periods.
    *get the fiscal year
      gv_month = p_date+4(2).
      gv_year  = p_date+0(4).
      MOVE gv_month TO gv_count.
      CONCATENATE gv_year c_01 INTO gv_beg_period.
      r_fiscal_period-low    = gv_beg_period.
      r_fiscal_period-high   = p_date.
      r_fiscal_period-sign   = 'I'.
      r_fiscal_period-option = 'BT'.
      APPEND r_fiscal_period.
    ENDFORM.                    " get_periods
    *&      Form  field_catalog_create
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM field_catalog_create.
      DESCRIBE TABLE gt_quotas LINES sy-tabix.
      gv_num_lines = sy-tabix.
      gv_num_lines = gv_num_lines - 1.
      DO gv_num_lines TIMES.
        MOVE sy-index TO gv_line.
        CONCATENATE 'FIELD_' gv_line INTO gs_fldcat-fieldname.
        APPEND gs_fldcat TO gt_fldcat.
      ENDDO.
      MOVE 'TOTAL' TO gs_fldcat-fieldname.
      APPEND gs_fldcat TO gt_fldcat.
    *build field catalog and change the field texts of some of the amount
    *fields more specific
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                i_program_name         = gv_repid
                i_internal_tabname     = 'GS_MONTHS'
                i_inclname             = gv_repid
                i_bypassing_buffer     = 'X'
           CHANGING
                ct_fieldcat            = gt_fieldcat[]
           EXCEPTIONS
                inconsistent_interface = 1
                program_error          = 2
                OTHERS                 = 3.
      LOOP AT gt_fieldcat INTO gs_fieldcat.
    *condition to check for building a dynamic ALV grid
        CHECK sy-tabix LE gv_count.
        CASE gs_fieldcat-fieldname.
          WHEN 'FIELD_1'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-001 TO gs_fcat-seltext_l.
            MOVE text-001 TO gs_fcat-seltext_m.
            MOVE text-001 TO gs_fcat-seltext_s.
            MOVE text-001 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_2'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-002 TO gs_fcat-seltext_l.
            MOVE text-002 TO gs_fcat-seltext_m.
            MOVE text-002 TO gs_fcat-seltext_s.
            MOVE text-002 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_3'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-003 TO gs_fcat-seltext_l.
            MOVE text-003 TO gs_fcat-seltext_m.
            MOVE text-003 TO gs_fcat-seltext_s.
            MOVE text-003 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_4'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-004 TO gs_fcat-seltext_l.
            MOVE text-004 TO gs_fcat-seltext_m.
            MOVE text-004 TO gs_fcat-seltext_s.
            MOVE text-004 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_5'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-005 TO gs_fcat-seltext_l.
            MOVE text-005 TO gs_fcat-seltext_m.
            MOVE text-005 TO gs_fcat-seltext_s.
            MOVE text-005 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_6'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-006 TO gs_fcat-seltext_l.
            MOVE text-006 TO gs_fcat-seltext_m.
            MOVE text-006 TO gs_fcat-seltext_s.
            MOVE text-006 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_7'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-007 TO gs_fcat-seltext_l.
            MOVE text-007 TO gs_fcat-seltext_m.
            MOVE text-007 TO gs_fcat-seltext_s.
            MOVE text-007 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_8'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-008 TO gs_fcat-seltext_l.
            MOVE text-008 TO gs_fcat-seltext_m.
            MOVE text-008 TO gs_fcat-seltext_s.
            MOVE text-008 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_9'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-009 TO gs_fcat-seltext_l.
            MOVE text-009 TO gs_fcat-seltext_m.
            MOVE text-009 TO gs_fcat-seltext_s.
            MOVE text-009 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_10'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-010 TO gs_fcat-seltext_l.
            MOVE text-010 TO gs_fcat-seltext_m.
            MOVE text-010 TO gs_fcat-seltext_s.
            MOVE text-010 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_11'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-011 TO gs_fcat-seltext_l.
            MOVE text-011 TO gs_fcat-seltext_m.
            MOVE text-011 TO gs_fcat-seltext_s.
            MOVE text-011 TO gs_fcat-reptext_ddic.
          WHEN 'FIELD_12'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-012 TO gs_fcat-seltext_l.
            MOVE text-012 TO gs_fcat-seltext_m.
            MOVE text-012 TO gs_fcat-seltext_s.
            MOVE text-012 TO gs_fcat-reptext_ddic.
        ENDCASE.
        APPEND gs_fcat   TO gt_fcat.
      ENDLOOP.
      LOOP AT gt_fieldcat INTO gs_fieldcat.
        CASE gs_fieldcat-fieldname.
          WHEN 'TOTAL'.
            MOVE-CORRESPONDING gs_fieldcat TO gs_fcat.
            MOVE text-015 TO gs_fcat-seltext_l.
            MOVE text-015 TO gs_fcat-seltext_m.
            MOVE text-015 TO gs_fcat-seltext_s.
            MOVE text-015 TO gs_fcat-reptext_ddic.
            APPEND gs_fcat   TO gt_fcat.
        ENDCASE.
      ENDLOOP.
    ENDFORM.                    " field_catalog_create
    *&      Form  component_quota_amt
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM component_quota_amt.
    *convert the user to a valid format
      PERFORM partid_input_conversion CHANGING p_emp.
      IF p_lis EQ c_600.
    *Employee Monthly Quota Targets
        SELECT   umnetwr
          INTO   TABLE gt_quotas
          FROM   s600                      "Employee Monthly Quota Targets
         WHERE   ssour  EQ space
           AND   vrsio  EQ c_a00
           AND   spmon  IN r_fiscal_period
           AND   pvrtnr EQ p_emp.
      ELSEIF p_lis EQ c_601.
    *Territory monthly quota targets
        SELECT   umnetwr
          INTO   TABLE gt_quotas
          FROM   s601                      "Territory monthly quota targets
         WHERE   ssour      EQ space
           AND   vrsio      EQ c_a00
           AND   spmon      IN r_fiscal_period
           AND   zzterritor EQ p_terr.
      ELSEIF p_lis EQ c_602.
    *District Monthly Quota Targets
        SELECT   umnetwr
          INTO   TABLE gt_quotas
          FROM   s602                      "District  Monthly Quota Targets
         WHERE   ssour      EQ space
           AND   vrsio      EQ c_a00
           AND   spmon      IN r_fiscal_period
           AND   zzdistrict EQ p_dis.
      ELSEIF p_lis EQ c_603.
    *Region Monthly Quota Targets
        SELECT   umnetwr
          INTO   TABLE gt_quotas
          FROM   s603                      "Region Monthly Quota Targets
         WHERE   ssour      EQ space
           AND   vrsio      EQ c_a00
           AND   spmon      IN r_fiscal_period
           AND   zzregion   EQ p_reg.
      ENDIF.
      LOOP AT gt_quotas INTO gs_quotas.
        gv_total = gv_total + gs_quotas-umnetwr.
      ENDLOOP.
      MOVE gv_total    TO gs_quotas-umnetwr.
      APPEND gs_quotas TO gt_quotas.
    ENDFORM.                    " component_quota_amt
    *&      Form  build_dynamic_table
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_dynamic_table.
    *Create dynamic internal table
      CALL METHOD cl_alv_table_create=>create_dynamic_table
                   EXPORTING
                      it_fieldcatalog = gt_fldcat
                   IMPORTING
                      ep_table        = gt_dyn_table.
      ASSIGN gt_dyn_table->* TO <fs_quota>.
      CREATE DATA gs_dyn_line LIKE LINE OF <fs_quota>.
      ASSIGN gs_dyn_line->* TO <fs_quota_wa>.
      LOOP AT gt_quotas INTO gs_quotas.
        ASSIGN COMPONENT sy-tabix OF STRUCTURE <fs_quota_wa> TO <fs_amount>.
        <fs_amount> = gs_quotas-umnetwr.
      ENDLOOP.
      IF sy-subrc = 0.
        APPEND <fs_quota_wa> TO <fs_quota>.
      ENDIF.
    ENDFORM.                    " build_dynamic_table
    *&      Form  display_alv_grid
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM display_alv_grid.
      IF NOT <fs_quota> IS INITIAL.
    * ALV grid display
        CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
             EXPORTING
                  i_callback_program = gv_repid
                  is_layout          = gt_layout
                  it_fieldcat        = gt_fcat
    *              it_sort            = gt_sortcat
                  i_save             = 'A'
                  it_events          = gt_events
             TABLES
                  t_outtab           = <fs_quota>
             EXCEPTIONS
                  program_error      = 1
                  OTHERS             = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ELSE.
        MESSAGE i013(zip).
      ENDIF.
    ENDFORM.                    " display_alv_grid
    *&      Form  build_layout
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_layout.
      gt_layout-zebra             = 'X'.
      gt_layout-no_vline          = ' '.
      gt_layout-reprep            = 'X'.
      gt_layout-detail_popup      = 'X'.
      gt_layout-window_titlebar   = text-014.
      gt_layout-no_scrolling      = ' '.
      gt_layout-detail_titlebar   = text-014.
      gt_layout-numc_sum          = 'X'.
      gt_layout-colwidth_optimize = 'X'.
    ENDFORM.                    " build_layout
    *&      Form  partid_input_conversion
    *       text
    *      <--P_P_EMP  text
    FORM partid_input_conversion CHANGING p_emp.
      DATA: lv_pernr  TYPE pernr_d.
      lv_pernr  = p_emp.
      p_emp     = lv_pernr.
    ENDFORM.                    " partid_input_conversion
    *&      Form  eventtab_build
    *       text
    *      -->P_GT_EVENTS[]  text
    FORM eventtab_build USING p_lt_events TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
    *top of page event is read here to display the heading
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type = 0
           IMPORTING
                et_events   = p_lt_events.
      READ TABLE p_lt_events WITH KEY name =  slis_ev_top_of_page
                             INTO ls_event.
      IF sy-subrc = 0.
        MOVE c_formname_top_of_page TO ls_event-form.
        MODIFY p_lt_events FROM  ls_event TRANSPORTING form
                           WHERE name =  slis_ev_top_of_page.
      ENDIF.
    ENDFORM.                    " eventtab_build
    *&      FORM  TOP-OF-PAGE
    *       text
    FORM top_of_page.
      IF NOT gt_quotas[] IS INITIAL.
    * function module which displayes the number of records selected in the
    *  header part
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
             EXPORTING
                  it_list_commentary = gt_list_top_of_page.
      ENDIF.
    ENDFORM.                    " TOP-OF-PAGE
    *&      Form  header_build
    *       text
    *      -->P_GT_LIST_TOP_OF_PAGE[]  text
    FORM header_build USING p_lt_list_top_of_page TYPE slis_t_listheader.
      DATA: ls_line       TYPE slis_listheader,
            lv_amount(20) TYPE c.
      MOVE gv_total TO lv_amount.
      CONCATENATE text-016 lv_amount INTO gv_text1.
      CONCATENATE gv_text1 'USD' INTO gv_text1 SEPARATED BY space.
      CLEAR ls_line.
      ls_line-typ  = 'H'.
      ls_line-info = gv_text1.
      APPEND ls_line TO p_lt_list_top_of_page.
    ENDFORM.                    " header_build
    Thanks,

  • Mounting Airport on wall

    Can the Airport Base station be mounted on a wall?

    Yes, all versions of the AirPort Extreme Base Stations (AEBS) can be wall-mounted. However, you may encounter range performance issues due to the fixed antenna positions within these models. In addition, the newer 802.11n base station have a built-in heat sink directly under the top of the unit. Mounting the base station, other than in it's intended horizontal orientation, may potentially cause heat related problems.

  • ATI Radeon 9200 and Mac OS X 10.5?

    I just bought this card (ATI Radeon 9200 Mac Edition - 128MB), installed the available drivers (for Mac OS X 10.4, according to ati.com) and firmware update, but the graphics are horrible. In World of Warcraft, it's running at 5 FPS at lowest graphic-settings in the game. Even the Finder is having trouble.
    Doesn't this card work under Mac OS X 10.5?
    I tried to contact ATI, but I haven't heard from them yet. So I'd like to hear, if anyone have the same issues as me.

    Hi-
    The 9200 has a core clock speed of 250mhz. Since it resides in a PCI slot, there is no multiplier, and the results are less than spectacular (as you found out). The 9200 is really meant more for adding multiple monitors, rather than adding performance.
    The FX 5200(?) that came in your G5 also has a core clock speed of 250mhz, but with the 8x AGP slot, it benefits from the multiplier of the AGP, and operates much faster (though the 5200 isn't really a performance card). More on AGP.
    If you are really serious about your gaming, you will need the ATI Radeon X800XT. Here are some Benchmarks. More OEM Benchmarks.
    You might want to consult with OWC as to the possibility of exchange of the 9200 for an X800..... The 9600 may also be a consideration, though it is only a mid range performer.

  • Error while Running BDC

    i have made BDC for Creating Customer XD01 but when i run it in foreground it runs well, but when i run it in backgroung it gives the following error i don't know why
    <b>No batch input data for screen SAPMF02D 1361</b>
    cany any one tell me why it is happening, its urgent pl. reply asap
    abhishek suppal

    i hv commented few lines in ur code(u hv did bdc for 4 contact person & i hv commented 2,3,4 ).
    Can u try this & let us know that u r getting same error
    report ZBDC
           no standard page heading line-size 255.
    include bdcrecx1.
    start-of-selection.
    perform open_group.
    perform bdc_dynpro      using 'SAPMF02D' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'USE_ZAV'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RF02D-BUKRS'
                                  '2000'.
    perform bdc_field       using 'RF02D-VKORG'
                                  '2000'.
    perform bdc_field       using 'RF02D-VTWEG'
                                  '10'.
    perform bdc_field       using 'RF02D-SPART'
                                  '20'.
    perform bdc_field       using 'RF02D-KTOKD'
                                  '0001'.
    perform bdc_field       using 'USE_ZAV'
                                  'X'.
    perform bdc_dynpro      using 'SAPMF02D' '0111'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'SZA1_D0100-SMTP_ADDR'.
    perform bdc_field       using 'SZA1_D0100-TITLE_MEDI'
                                  'Messers'.
    perform bdc_field       using 'ADDR1_DATA-NAME1'
                                  'SAI LAKSHMI IND. PVT. LTD.'.
    perform bdc_field       using 'ADDR1_DATA-NAME2'
                                  'NATIONAL PAPER INDUSTRIES'.
    perform bdc_field       using 'ADDR1_DATA-SORT1'
                                  'SAI LAKSHMI IND. PVT'.
    perform bdc_field       using 'ADDR1_DATA-STREET'
                                  'URBAN ESTATE'.
    perform bdc_field       using 'ADDR1_DATA-POST_CODE1'
                                  '110076'.
    perform bdc_field       using 'ADDR1_DATA-CITY1'
                                  'LUDHIANA'.
    perform bdc_field       using 'ADDR1_DATA-COUNTRY'
                                  'IN'.
    perform bdc_field       using 'ADDR1_DATA-REGION'
                                  '19'.
    perform bdc_field       using 'ADDR1_DATA-LANGU'
                                  'EN'.
    perform bdc_field       using 'SZA1_D0100-TEL_NUMBER'
                                  '3333333'.
    perform bdc_field       using 'SZA1_D0100-MOB_NUMBER'
                                  '4444444'.
    perform bdc_field       using 'SZA1_D0100-FAX_NUMBER'
                                  '5555555'.
    perform bdc_field       using 'SZA1_D0100-SMTP_ADDR'
                                  '[email protected]'.
    perform bdc_dynpro      using 'SAPMF02D' '0120'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNA1-STCEG'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=OPFI'.
    perform bdc_field       using 'KNA1-LIFNR'
                                  'SG00112'.
    perform bdc_field       using 'KNA1-STCEG'
                                  'vat .5435435'.
    perform bdc_dynpro      using 'SAPLJ1I_MASTER' '0200'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=CIN_CUSTOMER_FC2'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'J_1IMOCUST-J_1IEXCO'.
    perform bdc_field       using 'J_1IMOCUST-J_1IEXCD'
                                  'ecc'.
    perform bdc_field       using 'J_1IMOCUST-J_1IEXRN'
                                  'ecc reg no.'.
    perform bdc_field       using 'J_1IMOCUST-J_1IEXRG'
                                  'ecc range'.
    perform bdc_field       using 'J_1IMOCUST-J_1IEXDI'
                                  'ecc division'.
    perform bdc_field       using 'J_1IMOCUST-J_1IEXCO'
                                  'commisionerate'.
    perform bdc_field       using 'J_1IMOCUST-J_1IEXCICU'
                                  '1'.
    perform bdc_dynpro      using 'SAPLJ1I_MASTER' '0200'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=CIN_CUSTOMER_FC3'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'J_1IMOCUST-J_1ILSTNO'.
    perform bdc_field       using 'J_1IMOCUST-J_1ICSTNO'
                                  'cst no.'.
    perform bdc_field       using 'J_1IMOCUST-J_1ILSTNO'
                                  'lst no.'.
    perform bdc_dynpro      using 'SAPLJ1I_MASTER' '0200'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BACK'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'J_1IMOCUST-J_1IPANNO'.
    perform bdc_field       using 'J_1IMOCUST-J_1IPANNO'
                                  'pan no.'.
    perform bdc_dynpro      using 'SAPMF02D' '0120'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNA1-LIFNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNA1-LIFNR'
                                  'SG00112'.
    perform bdc_field       using 'KNA1-STCEG'
                                  'VAT .5435435'.
    perform bdc_dynpro      using 'SAPMF02D' '0125'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNA1-JMJAH'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNA1-KUKLA'
                                  '01'.
    perform bdc_field       using 'KNA1-UMSA1'
                                  '43242'.
    perform bdc_field       using 'KNA1-UWAER'
                                  'inr'.
    perform bdc_field       using 'KNA1-UMJAH'
                                  '2004'.
    perform bdc_field       using 'KNA1-JMZAH'
                                  '  1000'.
    perform bdc_field       using 'KNA1-JMJAH'
                                  '2004'.
    perform bdc_dynpro      using 'SAPMF02D' '0130'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNBK-BKREF(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNBK-BANKS(01)'
                                  'in'.
    perform bdc_field       using 'KNBK-BANKS(02)'
                                  'in'.
    perform bdc_field       using 'KNBK-BANKS(03)'
                                  'in'.
    perform bdc_field       using 'KNBK-BANKS(04)'
                                  'in'.
    perform bdc_field       using 'KNBK-BANKL(01)'
                                  'vendor'.
    perform bdc_field       using 'KNBK-BANKL(02)'
                                  'vendor'.
    perform bdc_field       using 'KNBK-BANKL(03)'
                                  'vendor'.
    perform bdc_field       using 'KNBK-BANKL(04)'
                                  'vendor'.
    perform bdc_field       using 'KNBK-BANKN(01)'
                                  'ac.no1  556688'.
    perform bdc_field       using 'KNBK-BANKN(02)'
                                  'ac.no2  556688'.
    perform bdc_field       using 'KNBK-BANKN(03)'
                                  'ac.no3 666'.
    perform bdc_field       using 'KNBK-BANKN(04)'
                                  'ac.no4  556688'.
    perform bdc_field       using 'KNBK-KOINH(01)'
                                  'acc holder 1'.
    perform bdc_field       using 'KNBK-KOINH(02)'
                                  'ACC HOLDER 2'.
    perform bdc_field       using 'KNBK-KOINH(03)'
                                  'ACC HOLDER 3'.
    perform bdc_field       using 'KNBK-KOINH(04)'
                                  'ACC HOLDER 4'.
    perform bdc_field       using 'KNBK-BKREF(01)'
                                  'icici'.
    perform bdc_field       using 'KNBK-BKREF(02)'
                                  'SC'.
    perform bdc_field       using 'KNBK-BKREF(03)'
                                  'HSBC'.
    perform bdc_field       using 'KNBK-BKREF(04)'
                                  'hdfc'.
    perform bdc_dynpro      using 'SAPMF02D' '0340'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVA-KNFAK(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNVA-ABLAD(01)'
                                  'MUMBAI'.
    perform bdc_field       using 'KNVA-ABLAD(02)'
                                  'pune'.
    perform bdc_field       using 'KNVA-ABLAD(03)'
                                  'CHITTAGONG'.
    perform bdc_field       using 'KNVA-ABLAD(04)'
                                  'MELBOURNE'.
    perform bdc_field       using 'KNVA-DEFAB(01)'
                                  'X'.
    perform bdc_field       using 'KNVA-KNFAK(01)'
                                  'IN'.
    perform bdc_field       using 'KNVA-KNFAK(02)'
                                  'IN'.
    perform bdc_field       using 'KNVA-KNFAK(03)'
                                  'IN'.
    perform bdc_field       using 'KNVA-KNFAK(04)'
                                  'IN'.
    perform bdc_dynpro      using 'SAPMF02D' '0370'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02D-KUNNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNA1-CIVVE'
                                  'X'.
    perform bdc_dynpro      using 'SAPMF02D' '0360'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVK-NAMEV(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=LSDP'.
    perform bdc_field       using 'KNVK-NAMEV(01)'
                                  'Contat first name 1'.
    *perform bdc_field       using 'KNVK-NAMEV(02)'
                                 'Contat first name 2'.
    *perform bdc_field       using 'KNVK-NAMEV(03)'
                                 'Contat first name 3'.
    *perform bdc_field       using 'KNVK-NAMEV(04)'
                                 'Contat first name 4'.
    perform bdc_field       using 'KNVK-NAME1(01)'
                                  'Contact Name 1'.
    *perform bdc_field       using 'KNVK-NAME1(02)'
                                 'Contact Name 2'.
    *perform bdc_field       using 'KNVK-NAME1(03)'
                                 'Contact Name 3'.
    *perform bdc_field       using 'KNVK-NAME1(04)'
                                 'Contact Name 4'.
    perform bdc_field       using 'KNVK-ABTNR(01)'
                                  '0001'.
    *perform bdc_field       using 'KNVK-ABTNR(02)'
                                 '0002'.
    *perform bdc_field       using 'KNVK-ABTNR(03)'
                                 '0003'.
    *perform bdc_field       using 'KNVK-ABTNR(04)'
                                 '0004'.
    perform bdc_field       using 'KNVK-PAFKT(01)'
                                  '01'.
    *perform bdc_field       using 'KNVK-PAFKT(02)'
                                 '02'.
    *perform bdc_field       using 'KNVK-PAFKT(03)'
                                 '03'.
    *perform bdc_field       using 'KNVK-PAFKT(04)'
                                 '04'.
    perform bdc_dynpro      using 'SAPMF02D' '1361'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'KNVK-ABTNR'
                                  '0001'.
    perform bdc_field       using 'KNVK-PAFKT'
                                  '01'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'SZA5_D0700-TEL_NUMBER'.
    perform bdc_field       using 'ADDR3_DATA-NAME_LAST'
                                  'Contact Name 1'.
    perform bdc_field       using 'ADDR3_DATA-NAME_FIRST'
                                  'Contat first name 1'.
    perform bdc_field       using 'SZA5_D0700-TEL_NUMBER'
                                  '5555555'.
    perform bdc_field       using 'SZA5_D0700-SMTP_ADDR'
                                  '[email protected]'.
    *perform bdc_dynpro      using 'SAPMF02D' '0360'.
    *perform bdc_field       using 'BDC_CURSOR'
                                 'KNVK-NAMEV(02)'.
    *perform bdc_field       using 'BDC_OKCODE'
                                 '=LSDP'.
    *perform bdc_dynpro      using 'SAPMF02D' '1361'.
    *perform bdc_field       using 'BDC_OKCODE'
                                 '/00'.
    *perform bdc_field       using 'KNVK-ABTNR'
                                 '0002'.
    *perform bdc_field       using 'KNVK-PAFKT'
                                 '02'..
    *perform bdc_field       using 'BDC_CURSOR'
                                 'SZA5_D0700-SMTP_ADDR'.
    *perform bdc_field       using 'ADDR3_DATA-NAME_LAST'
                                 'Contact Name 2'.
    *perform bdc_field       using 'ADDR3_DATA-NAME_FIRST'
                                 'Contat first name 2'.
    *perform bdc_field       using 'SZA5_D0700-TEL_NUMBER'
                                 '6666666'.
    *perform bdc_field       using 'SZA5_D0700-SMTP_ADDR'
                                 '[email protected]'.
    *perform bdc_dynpro      using 'SAPMF02D' '0360'.
    *perform bdc_field       using 'BDC_CURSOR'
                                 'KNVK-NAMEV(03)'.
    *perform bdc_field       using 'BDC_OKCODE'
                                 '=LSDP'.
    *perform bdc_dynpro      using 'SAPMF02D' '1361'.
    *perform bdc_field       using 'BDC_OKCODE'
                                 '/00'.
    *perform bdc_field       using 'KNVK-ABTNR'
                                 '0003'.
    *perform bdc_field       using 'KNVK-PAFKT'
                                 '03'.
    *perform bdc_field       using 'BDC_CURSOR'
                                 'SZA5_D0700-SMTP_ADDR'.
    *perform bdc_field       using 'ADDR3_DATA-NAME_LAST'
                                 'Contact Name 3'.
    *perform bdc_field       using 'ADDR3_DATA-NAME_FIRST'
                                 'Contat first name 3'.
    *perform bdc_field       using 'SZA5_D0700-TEL_NUMBER'
                                 '8888888'.
    *perform bdc_field       using 'SZA5_D0700-SMTP_ADDR'
                                 '[email protected]'.
    *perform bdc_dynpro      using 'SAPMF02D' '0360'.
    *perform bdc_field       using 'BDC_CURSOR'
                                 'KNVK-NAMEV(04)'.
    *perform bdc_field       using 'BDC_OKCODE'
                                 '=LSDP'.
    *perform bdc_dynpro      using 'SAPMF02D' '1361'.
    *perform bdc_field       using 'BDC_OKCODE'
                                 '/00'.
    *perform bdc_field       using 'KNVK-ABTNR'
                                 '0004'.
    *perform bdc_field       using 'KNVK-PAFKT'
                                 '04'.
    *perform bdc_field       using 'BDC_CURSOR'
                                 'SZA5_D0700-SMTP_ADDR'.
    *perform bdc_field       using 'ADDR3_DATA-NAME_LAST'
                                 'Contact Name 4'.
    *perform bdc_field       using 'ADDR3_DATA-NAME_FIRST'
                                 'Contat first name 4'.
    *perform bdc_field       using 'SZA5_D0700-TEL_NUMBER'
                                 '8888888'.
    *perform bdc_field       using 'SZA5_D0700-SMTP_ADDR'
                                 '[email protected]'.
    perform bdc_dynpro      using 'SAPMF02D' '0360'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVK-NAMEV(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_dynpro      using 'SAPMF02D' '0210'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNB1-AKONT'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNB1-AKONT'
                                  '24400000'.
    perform bdc_dynpro      using 'SAPMF02D' '0215'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNB1-XZVER'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNB1-ZTERM'
                                  's000'.
    perform bdc_field       using 'KNB1-XZVER'
                                  'X'.
    perform bdc_dynpro      using 'SAPMF02D' '0220'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNB5-MAHNA'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_dynpro      using 'SAPMF02D' '0230'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNB1-VRSNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_dynpro      using 'SAPMF02D' '0610'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02D-KUNNR'.
    perform bdc_dynpro      using 'SAPMF02D' '0310'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVV-VERSG'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNVV-BZIRK'
                                  '000001'.
    perform bdc_field       using 'KNVV-AWAHR'
                                  '100'.
    perform bdc_field       using 'KNVV-VKBUR'
                                  'zlud'.
    perform bdc_field       using 'KNVV-KDGRP'
                                  '01'.
    perform bdc_field       using 'KNVV-WAERS'
                                  'INR'.
    perform bdc_field       using 'KNVV-KALKS'
                                  '1'.
    perform bdc_field       using 'KNVV-VERSG'
                                  '1'.
    perform bdc_dynpro      using 'SAPMF02D' '0315'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVV-VSBED'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNVV-LPRIO'
                                  '02'.
    perform bdc_field       using 'KNVV-KZAZU'
                                  'X'.
    perform bdc_field       using 'KNVV-VSBED'
                                  '01'.
    perform bdc_field       using 'KNVV-ANTLF'
                                  '9'.
    perform bdc_dynpro      using 'SAPMF02D' '0320'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVV-KTGRD'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNVV-BOKRE'
                                  'X'.
    perform bdc_field       using 'KNVV-PRFRE'
                                  'X'.
    perform bdc_field       using 'KNVV-INCO1'
                                  'exw'.
    perform bdc_field       using 'KNVV-INCO2'
                                  'BANGALORE'.
    perform bdc_field       using 'KNVV-ZTERM'
                                  's000'.
    perform bdc_field       using 'KNVV-KTGRD'
                                  '11'.
    perform bdc_dynpro      using 'SAPMF02D' '1350'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVI-TAXKD(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_field       using 'KNVI-TAXKD(01)'
                                  '1'.
    perform bdc_field       using 'KNVI-TAXKD(02)'
                                  '1'.
    perform bdc_field       using 'KNVI-TAXKD(03)'
                                  '1'.
    perform bdc_field       using 'KNVI-TAXKD(04)'
                                  '1'.
    perform bdc_dynpro      using 'SAPMF02D' '0324'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KNVP-PARVW(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=VW'.
    perform bdc_transaction using 'XD01'.
    perform close_group.
    regards
    gv

Maybe you are looking for

  • Acrobat connect pro Vs msn messenger

    Hi, I am making business plan an online digital teaching school. I wanted to center my virtual classroom tools around acrobat connect pro. Someone i hired for advises just told me that msn messenger can do most of what acrobat connect does (pertainin

  • Message no. ME898

    Hi Experts,                  The Message no. ME898 it was coming as warning message at the time of PO creation or change,  In configuration I made it as error message, still it is coming as warning.  Kindly explain me how to make it error message. Re

  • JTree and JButton in node.

    Helo. I've a question regarding JTree component. I was wondering if it is possible at all. I want to build JTree component with JButton(JPanel) in each node, for example: RootNode | ---String [JButton][JButton] | ---String [JButton][JButton] Is there

  • Proxy settings of chrome or chromium don't take effect

    I'm using archlinux+kdemod 4.5. The proxy setting of all versions of chrome or chromium seems not to take effect because my ip address doesn't change(http://www.ip-adress.com/) . I also tried swithcy! proxy but it doesn't help. However, starting the

  • Cannot locate Safari toolbar - specifically trying to find VIEW

    I am trying to add items to my bookmarks list but the tutorial says to go to VIEW on the toolbar and select BOOKMARK.  I don't have a menubar /toolbar that has VIEW as an option.  Where is it located or how do I make the toolbar visible?