Year-to-date summarization

Hi,
I have to get the Year-to-date amount on an ALV output for a GL account. Is there any FM to do it?... Currently Iam just getting the output for the period that I put in selection screen.
Thank you,
SB.

Hi
You have to use the filed symbols for this purpose.
see the sample code
report zfgldr0010
       line-size 122
       line-count 60
       no standard page heading
       message-id zndc.
Database Tables
tables: bsis,      " Accounting: Secondary Index for G/L Accounts
        ska1,      " GL Account Master
        t001,      " Company Codes
        csks,      " Cost Centers Master
        setnode,   " Cost Center Group Hierarchy
        setleaf.   " Cost Center Group Hierarchy
Declaration of Internal Tables
Internal Table to fetch the Opex Budget & Capex Actual Data
data: begin of it_bud_tab occurs 0,
        lednr   like cosp-lednr,          " Ledger No
        objnr   like cosp-objnr,          " Object No
        gjahr   like cosp-gjahr,          " Fiscal Year
        wrttp   like cosp-wrttp,          " Actuals
        versn   like cosp-versn,          " Version
        twaer   like cosp-twaer,          " Currency
        perbl   like cosp-perbl,          " Period Block
        kstar   like cosp-kstar,          " Cost Element/GL A/C No
        wog001  like cosp-wog001,         " Total Value
        wog002  like cosp-wog002,         " Total Value
        wog003  like cosp-wog001,         " Total Value
        wog004  like cosp-wog002,         " Total Value
        wog005  like cosp-wog001,         " Total Value
        wog006  like cosp-wog002,         " Total Value
        wog007  like cosp-wog001,         " Total Value
        wog008  like cosp-wog002,         " Total Value
        wog009  like cosp-wog001,         " Total Value
        wog010  like cosp-wog002,         " Total Value
        wog011  like cosp-wog001,         " Total Value
        wog012  like cosp-wog002,         " Total Value
      end of it_bud_tab.
Internal Table to fetch the Settlement Costs(Opex-Actual)
data: begin of it_set_tab occurs 0,
        kokrs   like coep-kokrs,          " Controlling Area
        belnr   like coep-belnr,          " Acc Document
        buzei   like coep-buzei,          " Line Item
        perio   like coep-perio,          " Period Block
        wkgbtr  like coep-wkgbtr,         " Value in CO Curr
        lednr   like coep-lednr,          " Ledger No
        objnr   like coep-objnr,          " Object No
        gjahr   like coep-gjahr,          " Fiscal Year
        wrttp   like coep-wrttp,          " Actuals
        versn   like coep-versn,          " Version
        kstar   like coep-kstar,          " Cost Element
        beknz   like coep-beknz,          " Dr/Cr Indicator
        parob1  like coep-parob1,         " Partner Object
      end of it_set_tab.
Internal Table to fetch the COBRB data(Settlement rules)
data: begin of cobrb_tab occurs 0,
        objnr   like cobrb-objnr,         " Object No
        rec_objnr1 like cobrb-rec_objnr1, " Ref Object No
        bureg   like cobrb-bureg,         " Dostribution Rule
        lfdnr   like cobrb-lfdnr,         " Sequence No
        perbz   like cobrb-perbz,         " Settlement Rule
        konty   like cobrb-konty,         " Acct Assign Category
        bukrs   like bsis-bukrs,          " Company Code
        kostl   like bsis-kostl,          " Cost Center
      end of cobrb_tab.
Internal Table to Settlement Actual Costs for Cost center & GL
data: begin of set_act_tab occurs 0,
        kostl   like csks-kostl,          " Cost Center
        hkont   like bsis-hkont,          " GL Account No
        amt_atd like bsis-dmbtr,          " YTD Actual
      end of set_act_tab.
Internal Table to Settlement Actual Costs for Cost center
data: begin of set1_act_tab occurs 0,
        kostl   like csks-kostl,          " Cost Center
        hkont   like bsis-hkont,          " GL Account No
        amt_atd like bsis-dmbtr,          " YTD Actual
      end of set1_act_tab.
Internal Table to Capex Budget Figures
data: begin of cap_tab occurs 0,
        belnr   like coej-belnr,          " Accounting Doc No
        buzei   like coej-buzei,          " Line Item No
        objnr   like coej-objnr,          " Object No
        wrttp   like bpej-wrttp,          " Value Type
        gjahr   like coej-gjahr,          " Fiscal Year
        wtjhr   like bpej-wtjhr,          " budget Value
      end of cap_tab.
Internal Table to Segragate the Budget Figures(Full Year and YTD)
data: begin of cap1_tab occurs 0,
        gjahr   like coej-gjahr,          " Fiscal Year
        kostl(10) type n,                 " Cost Center
        hkont(10) type n,                 " GL Account No
        amt_fy  like coej-wkf001,         " Full Year Amount
        amt_ytd like coej-wkf001,         " Ytd Amount
      end of cap1_tab.
Internal Table to Sum up the Budget Figures(Full Year and YTD)
data: begin of cap2_tab occurs 0,
        gjahr   like coej-gjahr,          " Fiscal Year
        kostl(10) type n,                 " Cost Center
        amt_fy  like coej-wkf001,         " Full Year Amount
        amt_ytd like coej-wkf001,         " Ytd Amount
      end of cap2_tab.
Internal Table to Segragate the CAPEX YTD data(GL Wise)
data: begin of cap_ytd_tab occurs 0,
        gjahr   like coej-gjahr,          " Fiscal Year
        kostl(10) type n,                 " Cost Center
        kstar   like coej-kstar,          " Cost Element
        amt_ytd like coej-wkf001,         " Ytd Amount
      end of cap_ytd_tab.
Internal Table to Segragate the CAPEX YTD data(CC Wise)
data: begin of cap1_ytd_tab occurs 0,
        gjahr   like coej-gjahr,          " Fiscal Year
        kostl(10) type n,                 " Cost Center
        amt_ytd like coej-wkf001,         " Ytd Amount
      end of cap1_ytd_tab.
Internal Table to Segragate the Budget Figures(Full Year and YTD)
data: begin of it_ytd_tab occurs 0,
        gjahr   like cosp-gjahr,          " Fiscal Year
        kostl   like bsis-kostl,          " Cost Center
        kstar   like cosp-kstar,          " Cost Element
        amt_fy  like cosp-wkf001,         " Full Year Amount
        amt_ytd like coej-wkf001,         " Ytd Amount
      end of it_ytd_tab.
Internal Table to Segragate the Budget Figures(Full Year and YTD)
data: begin of it_ytd1_tab occurs 0,
        gjahr   like cosp-gjahr,          " Fiscal Year
        kostl   like bsis-kostl,          " Cost Center
        amt_fy  like cosp-wkf001,         " Full Year Amount
        amt_ytd like coej-wkf001,         " Ytd Amount
      end of it_ytd1_tab.
Internal Table to fetch the Actual YTD Figures
data: begin of it_act_tab occurs 0,
        bukrs   like bsis-bukrs,          " Company Code
        hkont   like bsis-hkont,          " GL Account No
        gjahr   like bsis-gjahr,          " Fiscal Year
        belnr   like bsis-belnr,          " Accounting Doc No
        budat   like bsis-budat,          " Posting Date
        waers   like bsis-waers,          " Currency
        kostl   like bsis-kostl,          " Cost Center
        shkzg   like bsis-shkzg,          " Dr/Cr Indicator
        dmbtr   like bsis-dmbtr,          " Doc Amount
      end of it_act_tab.
Internal Table to fetch the Actual YTD Figures( GL-SUM)
data: begin of act1_tab occurs 0,
        bukrs   like bsis-bukrs,          " Company Code
        kostl   like bsis-kostl,          " Cost Center
        hkont   like bsis-hkont,          " GL Account No
        gjahr   like bsis-gjahr,          " Fiscal Year
        dmbtr   like bsis-dmbtr,          " Doc Amount
      end of act1_tab.
Internal Table to fetch the Actual YTD Figures( CC-SUM)
data: begin of act2_tab occurs 0,
        bukrs   like bsis-bukrs,          " Company Code
        kostl   like bsis-kostl,          " Cost Center
        gjahr   like bsis-gjahr,          " Fiscal Year
        dmbtr   like bsis-dmbtr,          " Doc Amount
      end of act2_tab.
Internal Table to fetch the WBS Data
data: begin of wbs_tab occurs 0,
        pspnr   like prps-pspnr,          " WBS Element
        posid   like prps-posid,          " WBS Structure Element
        objnr   like prps-objnr,          " Object No
        psphi   like prps-psphi,          " Project ID
        pbukr   like prps-pbukr,          " Company Code
        pkokr   like prps-pkokr,          " Controlling Area
        fkstl   like prps-fkstl,          " Cost center
      end of wbs_tab.
Internal Table to get Capex Actual from Networks
data: begin of net_tab occurs 0,
        aufnr   like afko-aufnr,          " Order No
        ftrmi   like afko-ftrmi,          " Release Date
        pronr   like afko-pronr,          " Project No
        aufpl   like afvc-aufpl,          " Routing No
        aplzl   like afvc-aplzl,          " Counter No
        objnr   like afvc-objnr,          " Object No
        projn   like afvc-projn,          " WBS Element
      end of net_tab.
Internal Table to get Capex Actual from Orders
data: begin of ord_tab occurs 0,
        aufnr   like aufk-aufnr,          " Order No
        aedat   like aufk-aedat,          " Order Date
        kostl   like aufk-kostl,          " Cost center
        objnr   like aufk-objnr,          " Object No
        pspel   like aufk-pspel,          " WBS Element
      end of ord_tab.
Internal Table to fetch the Capex Actual Data
data: it_cap_tab like kv02s occurs 0 with header line.
Internal Table to store the output of function-G_SET_TREE_IMPORT.
data : ccenter_group_tab like sethier occurs 0 with header line.
Internal Table to store the output of function-G_SET_TREE_IMPORT.
data : cost_center_tab like setvalues occurs 0 with header line.
Declaration of Variables
data: v_f_oper_amnt like bsis-wrbtr,    " Operations   F Year Budget
      v_f_depr_amnt like bsis-wrbtr,    " Depreciation F Year Budget
      v_f_main_amnt like bsis-wrbtr,    " Maintenance  F Year Budget
      v_f_capx_amnt like bsis-wrbtr,    " Capex F Year Budget
      v_b_oper_amnt like bsis-wrbtr,    " Operations   Budget YTD
      v_b_depr_amnt like bsis-wrbtr,    " Depreciation Budget YTD
      v_b_main_amnt like bsis-wrbtr,    " Maintenance  Budget YTD
      v_b_capx_amnt like bsis-wrbtr,    " Capex Budget YTD
      v_a_oper_amnt like bsis-wrbtr,    " Operations   Actual YTD
      v_a_depr_amnt like bsis-wrbtr,    " Depreciation Actual YTD
      v_a_main_amnt like bsis-wrbtr,    " Maintenance  Actual YTD
      v_a_capx_amnt like bsis-wrbtr,    " Capex Actual YTD
      v_v_oper_amnt type i,             " Operations   Variance
      v_v_depr_amnt type i,             " Depreciation Variance
      v_v_main_amnt type i,             " Maintenance  Variance
      v_v_capx_amnt type i,             " Capex Variance
      v_t_f_amnt    type i,             " Total F Year Budget
      v_t_b_amnt    type i,             " Total Budget YTD
      v_t_a_amnt    type i,             " Total Actual YTD
      v_t_v_amnt    type i,             " Total Variance
      v_gt_f_amnt   type i,             " GTotal F Year Budget
      v_gt_b_amnt   type i,             " GTotal Budget YTD
      v_gt_a_amnt   type i,             " GTotal Actual YTD
      v_gt_v_amnt   type i,             " GTotal Variance
      v_per_oper    type i,             " % YTD Operations
      v_per_depr    type i,             " % YTD Depreciation
      v_per_main    type i,             " % YTD Maintenance
      v_per_capx    type i,             " % YTD Capex
      v_per_tot     type i,             " % YTD Total
      v_per_gtot    type i,             " % YTD G Total
      v_kstar(4)    type n,             " Cost element
      v_yr(2)       type c,             " Year
      v_year(4)     type c,             " Year
      v_lines       type i,             " Number
      v_str(10)     type c,             " String
      v_gl(4)       type n,             " GL element
      v_gl1(10)     type n,             " GL Account Code
      v_mon(2)      type n,             " Month
      v_month(2)    type n,             " Month
      v_day(2)      type n,             " Day
      v_date  like sy-datum,            " Start Date in Year
      v_setid like sethier-setid, " To store Identification of a set
      v_subrc like sy-subrc,      " Return code
      v_settid like rgsbs-setnr.  " Identification of a set
data: v_f_oper_amnt1 type i,    " Operations   F Year Budget
      v_f_depr_amnt1 type i,    " Depreciation F Year Budget
      v_f_main_amnt1 type i,    " Maintenance  F Year Budget
      v_f_capx_amnt1 type i,    " Capex F Year Budget
      v_b_oper_amnt1 type i,    " Operations   Budget YTD
      v_b_depr_amnt1 type i,    " Depreciation Budget YTD
      v_b_main_amnt1 type i,    " Maintenance  Budget YTD
      v_b_capx_amnt1 type i,    " Capex Budget YTD
      v_a_oper_amnt1 type i,    " Operations   Actual YTD
      v_a_depr_amnt1 type i,    " Depreciation Actual YTD
      v_a_main_amnt1 type i,    " Maintenance  Actual YTD
      v_a_capx_amnt1 type i.    " Capex Actual YTD
Declaration of Constants
constants : c_i         type c value 'I',         " Sign
            c_x         type c value 'X',         " Sign
            c_d         type c value 'D',         " Type
            c_h         type c value 'H',         " Credit Ind
            c_s         type c value 'S',         " Type
            c_o         type c value 'O',         " Type
            c_a         type c value 'A',         " Type
            c_01(2)     type n value '01',        " Month
            c_opt1(2)   type c value 'EQ',        " Option
            c_opt2(2)   type c value 'BT',        " Option
            c_dot(3)    type c value '...',       " Dots
            c_or(2)     type c value 'OR',        " Type
            c_ks(2)     type c value 'KS',        " Type
            c_mon(2)    type n value '01',        " Month
            c_ndc    like setnode-setname value 'NDC', " CC Group
            c_glno   like coej-versn value '000',  " For GL No
            c_versn1 like coej-versn value '100',  " Value
            c_kokrs  like coej-kokrs value '1000', " Controlling Area
            c_wrttp  like coej-wrttp value '01',   " Value Type
            c_wrttp1 like coej-wrttp value '41',   " Value Type
            c_wrttp2 like coej-wrttp value '04',   " Value Type
            c_versn  like coej-versn value '000',  " Version
            c_kbud   like bpej-vorga value 'KBUD', " Activity
            c_kbfr   like bpej-vorga value 'KBFR', " Activity
            c_kbn0   like bpej-vorga value 'KBN0', " Activity
            c_it_bud_tab_wog0(15)   value 'IT_BUD_TAB-WOG0',
            c_prart  like prps-prart value 'CA',   " Project Type
            c_psin   like afvc-steus value 'PSIN', " Control Key
            c_lednr  like cosp-lednr value '00',   " Ledger
            c_lednr1 like bpej-lednr value '0002', " Ledger
            c_class1 like setnode-setclass value '0101', " Class
            c_class2 like setnode-subclass value '1000', " Subclass
            c_thous     type i value '1000',        " Number
            c_settab like rgsbs-table value 'CCSS', " Table for set
            c_cctfld like t800s-feld value 'KOSTL'. " Field name
Declaration of Ranges
ranges: rn_kostl  for csks-kostl.       " Cost Centers
Selection Screen
selection-screen begin of block b1 with frame title text-001.
parameters     : p_bukrs like t001-bukrs
                            default '1000'," Company Code
                 p_gjahr like bsis-gjahr
                    default sy-datum+0(4), " Fiscal Year
                 p_date  like bsis-budat obligatory.   " Date
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-021.
parameters    : p_cgrup like setnode-setname.  " Cost Center Group
select-options: s_kostl for csks-kostl.        " Cost Center
selection-screen end of block b2.
selection-screen begin of block b3 with frame title text-029.
select-options :
  s_opers for ska1-saknr obligatory,  " Operns & Support GL A/C
  s_deprc for ska1-saknr obligatory,  " Depreciation GL A/C
  s_mmain for ska1-saknr obligatory,  " Major Maintenance GL A/C
  s_capex for ska1-saknr obligatory.  " Capital Expenditure GL A/C
selection-screen end of block b3.
Initialization
initialization.
At selection-screen
at selection-screen.
Validate the Selection Screen fields
  perform validate_screen.
Value request for Cost Center Group.
at selection-screen on value-request for p_cgrup .
Get the F4 Help for Cost center Group
  perform set_auswaehlen(sapfk00b) using c_settab c_cctfld
                                   changing p_cgrup v_subrc
                                            v_settid.
Start-of-Selection
start-of-selection.
Clear all the Variables in the Program
  perform clear_var.
Get the Cost Centers from Cost Center Group.
  perform get_cc_values.
Get the Budget data from database Table COSP
  perform get_budget_data.
Get the Settlement Costs data from database Tables COBRB,COSP
  perform get_cobrb_data.
Get the Actual YTD data from database Table BSIS
  perform get_act_ytd_data.
Get the WBS Element Data
  perform get_wbs_data.
Get the Networks and Activities for the WBS
  perform get_net_ord_data.
Get the WBS Budget data from database Tables BPEJ
  perform get_cap_budget_data.
Get the WBS Actual YTD data for WBS
  perform get_cap_act_ytd_data.
Top-of-page
top-of-page.
Write the Report and Column Headings
  perform top_of_page.
End-of-Selection
end-of-selection.
D-splay the Output Report.
  perform display_report.
Form-Routines
*&      Form  validate_screen
Validation of selection Screen fields
form validate_screen.
Validation of Company Code
  clear t001.
  if not p_bukrs is initial.
    select single bukrs
      into t001-bukrs
      from t001
      where bukrs eq p_bukrs.
    if sy-subrc <> 0.
      message e999 with 'Incorrect Company Code'(033).
    endif.
  endif.
Validation of GL Account Code( P & L Operations )
  clear ska1.
  if not s_opers[] is initial.
    select saknr up to 1 rows
      into ska1-saknr
      from ska1
      where saknr in s_opers
        and ktopl = c_kokrs
        and xbilk = ' '.
    endselect.
    if sy-subrc <> 0.
      message e999 with
      'Incorrect GL Account for Operations and Support Cost'(034).
    endif.
  endif.
Validation of GL Account Code( P & L  Depreciation)
  clear ska1.
  if not s_deprc[] is initial.
    select saknr up to 1 rows
      into ska1-saknr
      from ska1
      where saknr in s_deprc
        and ktopl = c_kokrs
        and xbilk = ' '.
    endselect.
    if sy-subrc <> 0.
      message e999 with
      'Incorrect GL Account for Depreciation'(035).
    endif.
  endif.
Validation of GL Account Code( P & L  Maintenance)
  clear ska1.
  if not s_mmain[] is initial.
    select saknr up to 1 rows
      into ska1-saknr
      from ska1
      where saknr in s_mmain
        and ktopl = c_kokrs
        and xbilk = ' '.
    endselect.
    if sy-subrc <> 0.
      message e999 with
      'Incorrect GL Account for Major Maintenance'(036).
    endif.
  endif.
Validation of GL Account Code (Balance Sheet-Capex)
  clear ska1.
  if not s_capex[] is initial.
    select saknr up to 1 rows
      into ska1-saknr
      from ska1
      where saknr in s_capex
        and ktopl = c_kokrs
        and xbilk = c_x.
    endselect.
    if sy-subrc <> 0.
      message e999 with
      'Incorrect GL Account for Capital Expenditures'(037).
    endif.
  endif.
Validation of Cost Center Group
  if not p_cgrup is initial .
    clear setleaf-setname.
    select setname up to 1 rows
      from setleaf
      into setleaf-setname
      where setname eq p_cgrup and
            setclass = c_class1  and
            subclass = c_class2.
    endselect.
    if sy-subrc <> 0.
      clear setnode-setname.
      select setname up to 1 rows
        from setnode
        into setnode-setname
        where setname eq  p_cgrup and
              setclass = c_class1   and
              subclass = c_class2.
      endselect.
      if sy-subrc <> 0.
        message e999 with
        'Enter Correct Cost Center Group'(038).
      endif.
    endif.
  endif.
Validation of Cost Center
  clear csks.
  if not s_kostl[] is initial.
    select kostl up to 1 rows
      into csks-kostl
      from csks
      where kostl in s_kostl
        and kokrs = c_kokrs.
    endselect.
    if sy-subrc <> 0.
      message e999 with
      'Enter Correct Cost Center Code'(039).
    endif.
  endif.
Enter either Cost Center Group or Values
  if not p_cgrup is initial and not s_kostl[] is initial.
    message e999 with
      'Enter either Cost Center Group or Values'(040).
  endif.
Validation of Date
  if p_date+0(4) ne p_gjahr.
    message e999(zndc) with
       'Please Enter the date in same Fiscal Year'(020).
  endif.
To enter only last day of the month
  clear: v_month, v_day, v_year.
  v_month = p_date+4(2).
  v_day   = p_date+6(2).
  v_year  = p_date+0(4).
  if ( v_month = '01' or v_month = '03' or v_month = '05' or
       v_month = '07' or v_month = '08' or v_month = '10' or
       v_month = '12' ).
    if v_day ne '31'.
      message e999(zndc) with
      'Enter Last date of the Month'(022).
    endif.
  elseif ( v_month = '04' or v_month = '06' or v_month = '09' or
           v_month = '11' ).
    if v_day ne '30'.
      message e999(zndc) with
      'Enter Last date of the Month'(022).
    endif.
  elseif v_month = '02'.
    if v_year eq '2004' or v_year eq '2008'.
      if v_day ne '29'.
        message e999(zndc) with
        'Enter Last date of the Month'(022).
      endif.
    else.
      if v_day ne '28'.
        message e999(zndc) with
        'Enter Last date of the Month'(022).
      endif.
    endif.
  endif.
endform.                    " validate_screen
*&      Form  get_cc_values
Get the Cost Centers from Cost Center Group
form get_cc_values.
Populate the Cost Centers from Cost Center Group
  if s_kostl[] is initial.
    if p_cgrup is initial.
      p_cgrup = c_ndc.
    else.
      p_cgrup = p_cgrup.
    endif.
Concatenating Setnode table setclass,subclass fields and
Cost Center Group
    concatenate c_class1 c_class2 p_cgrup
                   into v_setid.
Calling function module to get SET_HIERARCHY & SET_VALUES
    perform frm_g_set_tree_import tables ccenter_group_tab[]
                                         cost_center_tab[]
                                  using  v_setid.
    loop at cost_center_tab.
      rn_kostl-low = cost_center_tab-from.
      rn_kostl-high = cost_center_tab-to.
      rn_kostl-sign =   c_i.
      if rn_kostl-low = rn_kostl-high.
        rn_kostl-option = c_opt1.
      else.
        rn_kostl-option = c_opt2.
      endif.
      append rn_kostl.
    endloop.
    clear v_setid.
   endif.
  else.
    rn_kostl[] = s_kostl[].
  endif.
endform.              "get_cc_values
*&       FORM  FRM_G_SET_TREE_IMPORT
Subroutine to call the function G_SET_TREE_IMPORT.
form frm_g_set_tree_import
                     tables ccenter_group_tab structure sethier
                            cost_center_tab   structure setvalues
                     using  p_v_setid.
  call function 'G_SET_TREE_IMPORT'
    exporting
  CLIENT                          = SY-MANDT
  FIELDNAME                       = ' '
  LANGU                           = SY-LANGU
  NO_DESCRIPTIONS                 = ' '
  NO_RW_INFO                      = ' '
      setid                           = p_v_setid
  TABNAME                         = ' '
  NO_VARIABLE_REPLACEMENT         = ' '
  ROOT_HEADER_ONLY                = ' '
  NO_TABLE_BUFFERING              = ' '
  MAX_HIER_LEVEL                  = 99
  DATE_FROM                       =
  DATE_TO                         =
IMPORTING
  SET_NOT_TRANSPARENT             =
   tables
     set_hierarchy                   = ccenter_group_tab
     set_values                      = cost_center_tab
EXCEPTIONS
  SET_NOT_FOUND                   = 1
  ILLEGAL_FIELD_REPLACEMENT       = 2
  ILLEGAL_TABLE_REPLACEMENT       = 3
  OTHERS                          = 4
  if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
endform.                    "frm_g_set_tree_import
*&      Form  clear_var
Clear all the Variables in the program
form clear_var.
Clear/Initialize all the Variables
  clear: v_f_oper_amnt1, v_f_depr_amnt1, v_f_main_amnt1,
         v_f_capx_amnt1, v_b_oper_amnt1, v_b_depr_amnt1,
         v_b_main_amnt1, v_b_capx_amnt1, v_a_oper_amnt1,
         v_a_depr_amnt1, v_a_main_amnt1, v_a_capx_amnt1,
         v_f_oper_amnt, v_f_depr_amnt, v_f_main_amnt,
         v_f_capx_amnt, v_b_oper_amnt, v_b_depr_amnt,
         v_b_main_amnt, v_b_capx_amnt, v_a_oper_amnt,
         v_a_depr_amnt, v_a_main_amnt, v_a_capx_amnt,
         v_v_oper_amnt, v_v_depr_amnt, v_v_main_amnt,
         v_v_capx_amnt, v_t_f_amnt, v_t_b_amnt,
         v_t_a_amnt, v_t_v_amnt, v_gt_f_amnt,
         v_gt_b_amnt,v_gt_a_amnt,v_gt_v_amnt,
         v_per_oper, v_per_depr, v_per_main,
         v_per_capx, v_per_tot,  v_per_gtot.
endform.               "clear_var
*&      Form  get_budget_data
Get the Budget Data from Database Table COSP
form get_budget_data.
Form Local data
  data: l_period(2) type n,
        l_name(35)  type c,
        l_monat     type i .
  l_monat = p_date+4(2).
Field Symbols
  field-symbols <fs>.
  clear it_bud_tab.
  refresh it_bud_tab.
  select lednr             " Ledger No
         objnr             " Object No
         gjahr             " Fiscal Year
         wrttp             " Actuals
         versn             " Version
         twaer             " Currency
         perbl             " Period Block
         kstar             " Cost Element/GL A/C No
         wog001            " Total Value
         wog002            " Total Value
         wog003            " Total Value
         wog004            " Total Value
         wog005            " Total Value
         wog006            " Total Value
         wog007            " Total Value
         wog008            " Total Value
         wog009            " Total Value
         wog010            " Total Value
         wog011            " Total Value
         wog012            " Total Value
    into table it_bud_tab
    from cosp
    where lednr = c_lednr  and
          gjahr = p_gjahr  and
          wrttp = c_wrttp  and
          versn = c_versn  and
          beknz in (c_d,c_s).
  if sy-subrc = 0.
Segragate the Budget Figures(Full Year and YTD)
    loop at it_bud_tab.
      if it_bud_tab-objnr+0(2) eq c_ks.
        move-corresponding it_bud_tab to it_ytd_tab.
        it_ytd_tab-kostl = it_bud_tab-objnr+6(10).
        it_ytd_tab-amt_fy = it_bud_tab-wog001  + it_bud_tab-wog002  +
                            it_bud_tab-wog003  + it_bud_tab-wog004  +
                            it_bud_tab-wog005  + it_bud_tab-wog006  +
                            it_bud_tab-wog007  + it_bud_tab-wog008  +
                            it_bud_tab-wog009  + it_bud_tab-wog010  +
                            it_bud_tab-wog011  + it_bud_tab-wog012.
Get the YTD Budget using Field Symbols
        do l_monat times.
          l_period = sy-index.
          concatenate c_it_bud_tab_wog0 l_period
                       into l_name.
          assign (l_name) to <fs>.
          it_ytd_tab-amt_ytd = it_ytd_tab-amt_ytd +
                                      <fs>.
        enddo.
        collect it_ytd_tab.
        clear   it_ytd_tab.
      endif.
    endloop.
    sort it_ytd_tab by gjahr kostl kstar.
Cost Center wise Sum Up of Costs
    loop at it_ytd_tab.
      at end of kostl.
        sum.
        move-corresponding it_ytd_tab to it_ytd1_tab.
        append it_ytd1_tab.
      endat.
      clear it_ytd1_tab.
    endloop.
    sort it_ytd1_tab by gjahr kostl.
Segragate the Budget Figures into different Accounts/Cost elements
    loop at it_ytd_tab.
      if it_ytd_tab-kostl in rn_kostl.
Budget Full Year and YTD (Operations & Support Cost)
        if not s_opers[] is initial.
          if it_ytd_tab-kstar in s_opers.
            v_f_oper_amnt = v_f_oper_amnt + it_ytd_tab-amt_fy.
            v_b_oper_amnt = v_b_oper_amnt + it_ytd_tab-amt_ytd.
          endif.
        endif.
Budget Full Year and YTD (Depreciation)
        if not s_deprc[] is initial.
          if it_ytd_tab-kstar in s_deprc.
            v_f_depr_amnt = v_f_depr_amnt + it_ytd_tab-amt_fy.
            v_b_depr_amnt = v_b_depr_amnt + it_ytd_tab-amt_ytd.
          endif.
        endif.
Budget Full Year and YTD (Major Maintainance)
        if not s_mmain[] is initial.
          if it_ytd_tab-kstar in s_mmain.
            v_f_main_amnt = v_f_main_amnt + it_ytd_tab-amt_fy.
            v_b_main_amnt = v_b_main_amnt + it_ytd_tab-amt_ytd.
          endif.
        endif.
      endif.
    endloop.
Convert the Amount fields to nearest Thousand
    v_f_oper_amnt1 =  v_f_oper_amnt / c_thous .
    v_f_depr_amnt1 =  v_f_depr_amnt / c_thous .
    v_f_main_amnt1 =  v_f_main_amnt / c_thous .
    v_b_oper_amnt1 =  v_b_oper_amnt / c_thous .
    v_b_depr_amnt1 =  v_b_depr_amnt / c_thous .
    v_b_main_amnt1 =  v_b_main_amnt / c_thous .
  endif.
endform.                "get_budget_data
*&      Form  get_cobrb_data
Get the Settlement Data from Database Table COBRB
form get_cobrb_data.
  clear cobrb_tab.
  refresh cobrb_tab.
  select objnr            " Object No
         rec_objnr1       " Ref Object No
         bureg            " Dostribution Rule
         lfdnr            " Sequence No
         perbz            " Settlement Rule
         konty            " Acct Assign Category
         bukrs            " Company Code
         kostl            " Cost Center
     into table cobrb_tab
     from cobrb
     where kostl in rn_kostl.
  sort cobrb_tab by objnr rec_objnr1.
  delete adjacent duplicates from cobrb_tab comparing objnr.
Get the Settlement Costs from COEP Table
  clear it_set_tab.
  refresh it_set_tab.
  if not cobrb_tab[] is initial.
    select kokrs            " Controlling Area
           belnr            " Acc Document
           buzei            " Line Item
           perio            " Period Block
           wkgbtr           " Value in CO Curr
           lednr            " Ledger No
           objnr            " Object No
           gjahr            " Fiscal Year
           wrttp            " Actuals
           versn            " Version
           kstar            " Cost Element
           beknz            " Dr/Cr Indicator
           parob1           " Partner Object
       into table it_set_tab
       from coep
       for all entries in cobrb_tab
       where lednr = c_lednr  and
             wrttp = c_wrttp2 and
             versn = c_versn  and
             gjahr = p_gjahr  and
             objnr = cobrb_tab-objnr and
             parob1 = cobrb_tab-rec_objnr1 and
             beknz in (c_o, c_a).
  endif.
Settlement Actual Costs
  loop at cobrb_tab.
    if cobrb_tab-objnr+0(2) eq c_or.
      loop at it_set_tab where objnr  = cobrb_tab-objnr
                               and parob1 = cobrb_tab-rec_objnr1.
        set_act_tab-kostl = cobrb_tab-kostl.
        set_act_tab-hkont = it_set_tab-kstar.
Get the Actual Settlement Costs YTD Amount
        if it_set_tab-perio between c_mon and v_month.
          set_act_tab-amt_atd = set_act_tab-amt_atd +
                                abs( it_set_tab-wkgbtr ).
        endif.
        collect set_act_tab.
        clear   set_act_tab.
      endloop.
    endif.
  endloop.
  sort set_act_tab by kostl hkont.
Sum Up the Settlement Costs-CC wise
  loop at set_act_tab.
    at end of kostl.
      read table set_act_tab index sy-tabix.
      sum.
      move-corresponding set_act_tab to set1_act_tab.
      append set1_act_tab.
    endat.
    clear set1_act_tab.
  endloop.
  sort set1_act_tab by kostl.
  delete set1_act_tab where amt_atd = 0.
endform.              "get_cobrb_data
*&      Form  get_act_ytd_data
Get the Actual YTD Data from Database Table BSIS
form get_act_ytd_data.
  clear it_act_tab.
  refresh it_act_tab.
  select
        bukrs            " Company Code
        hkont            " GL Account No
        gjahr            " Fiscal Year
        belnr            " Accounting Doc No
        budat            " Posting Date
        waers            " Currency
        kostl            " Cost Center
        shkzg            " Dr/Cr Indicator
        dmbtr            " Doc Amount
     into table it_act_tab
     from bsis
     where bukrs eq p_bukrs  and
           gjahr eq p_gjahr  and
           budat le p_date   and
           kostl in rn_kostl.
  if sy-subrc = 0.
    sort it_act_tab by bukrs hkont.
    loop at it_act_tab.
      if it_act_tab-shkzg = c_h.
        it_act_tab-dmbtr = it_act_tab-dmbtr * -1.
      endif.
      move-corresponding it_act_tab to act1_tab.
      collect act1_tab.
      clear act1_tab.
    endloop.
    sort act1_tab by bukrs kostl hkont.
  endif.
Cost Center wise Sum Up of Costs
  loop at act1_tab.
    at end of kostl.
      sum.
      move-corresponding act1_tab to act2_tab.
      append act2_tab.
    endat.
    clear act2_tab.
  endloop.
  sort act2_tab by gjahr kostl.
Seperate the different Actual YTD Expenditures
  loop at act1_tab.
Actual YTD (Operations & Support Cost)
    if not s_opers[] is initial.
      if act1_tab-hkont in s_opers.
        v_a_oper_amnt = v_a_oper_amnt + act1_tab-dmbtr.
      endif.
    endif.
Actual YTD (Depreciation)
    if not s_deprc[] is initial.
      if act1_tab-hkont in s_deprc.
        v_a_depr_amnt = v_a_depr_amnt + act1_tab-dmbtr.
      endif.
    endif.
Actual YTD (Major Maintainance)
    if not s_mmain[] is initial.
      if act1_tab-hkont in s_mmain.
        v_a_main_amnt = v_a_main_amnt + act1_tab-dmbtr.
      endif.
    endif.
  endloop.
Opex Settlement Actual Costs
  loop at set_act_tab.
Actual YTD (Operations & Support Cost)
    if not s_opers[] is initial.
      if set_act_tab-hkont in s_opers.
        v_a_oper_amnt = v_a_oper_amnt + set_act_tab-amt_atd.
      endif.
    endif.
Actual YTD (Depreciation)
    if not s_deprc[] is initial.
      if set_act_tab-hkont in s_deprc.
        v_a_depr_amnt = v_a_depr_amnt + set_act_tab-amt_atd.
      endif.
    endif.
Actual YTD (Major Maintainance)
    if not s_mmain[] is initial.
      if set_act_tab-hkont in s_mmain.
        v_a_main_amnt = v_a_main_amnt + set_act_tab-amt_atd.
      endif.
    endif.
  endloop.
Convert Amount Fields to nearest thousands
  v_a_oper_amnt1 =  v_a_oper_amnt / c_thous .
  v_a_depr_amnt1 =  v_a_depr_amnt / c_thous .
  v_a_main_amnt1 =  v_a_main_amnt / c_thous .
endform.                    " get_act_ytd_data
*&      Form  get_wbs_data
Get the WBS Element Data
form get_wbs_data.
  clear wbs_tab.
  refresh wbs_tab.
  select pspnr             " WBS Element
         posid             " WBS Structure Element
         objnr             " Object No
         psphi             " Project ID
         pbukr             " Company Code
         pkokr             " Controlling Area
         fkstl             " Cost Center
     into table wbs_tab
     from prps
     where pbukr = p_bukrs  and
           pkokr = c_kokrs  and
           fkstl in rn_kostl and
           prart = c_prart.
Consider only the Same Year WBS Elements Data
  loop at wbs_tab.
    v_yr   = wbs_tab-posid+5(2).
    if v_yr <> p_gjahr+2(2) .
      delete wbs_tab index sy-tabix.
    endif.
    clear: v_yr, v_gl.
  endloop.
  sort wbs_tab by pspnr posid.
endform.              "get_wbs_data
*&      Form  get_net_ord_data
Get the Network, Orders Data for the WBS
form get_net_ord_data.
Get the Network data
  clear: net_tab, ord_tab.
  refresh: net_tab, ord_tab.
  if not wbs_tab[] is initial.
    select a~aufnr             " Order No
           a~ftrmi             " Release Date
           a~pronr             " Project No
           b~aufpl             " Routing No
           b~aplzl             " Counter No
           b~objnr             " Object No
           b~projn             " WBS Element
       into table net_tab
       from afko as a join afvc as b
       on aaufpl eq baufpl
       for all entries in wbs_tab
    

Similar Messages

  • SSRS expression for today,yesterday,Lastweek ,Last fortnight,Last Month, Year to date

    Hi All;
    I have a field called createdon 
    Using this field i need to create the SSRS expression for the table as below 
    Any help much appreciated
    Thanks
    Pradnya07

    use expressions as below
    assuming this is to be done in SSRS
    Today
    =COUNT(IIF(
    DateDiff(DateInterval.Day,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Day,Cdate("01/01/1900"),Now()),Fields!YourRequiredField.Value,Nothing))
    Yesterday
    =COUNT(IIF(
    DateDiff(DateInterval.Day,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Day,Cdate("01/01/1900"),Now())-1,Fields!YourRequiredField.Value,Nothing))
    LastWeek
    =COUNT(IIF(
    DateDiff(DateInterval.Week,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Week,Cdate("01/01/1900"),Now())-1,Fields!YourRequiredField.Value,Nothing))
    Last fortnight
    =COUNT(IIF(
    (DateDiff(DateInterval.Week,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Week,Cdate("01/01/1900"),Now())-1)
    Or (DateDiff(DateInterval.Week,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Week,Cdate("01/01/1900"),Now())-2),Fields!YourRequiredField.Value,Nothing))
    Last Month
    =COUNT(IIF(DateDiff(DateInterval.Month,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Month,Cdate("01/01/1900"),Now())-1,Fields!YourRequiredField.Value,Nothing))
    Year To Date
    =COUNT(IIF(DateDiff(DateInterval.Year,Cdate("01/01/1900"),Fields!createdon.Value) = DateDiff(DateInterval.Year,Cdate("01/01/1900"),Now())
    And
    DateDiff(DateInterval.Day,Cdate("01/01/1900"),Fields!createdon.Value) <= DateDiff(DateInterval.Day,Cdate("01/01/1900"),Now()),Fields!YourRequiredField.Value,Nothing))
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How to fetch year till date value for earning for current ,last and year

    hi,
    how to fetch year till date value for earning for current ,last and year before that from payroll result
    plz reply soon,
    pratyush

    Dear Pratyush,
    Pick this from CRT.
    Use LDB PNPCE & Fire event GET PAYROLL &
    then you can pick from CRT.
    Hope this helps.
    Kindly reward in case useful.
    Regards & Thanks,
    Darshan Mulmule

  • Table for Year to date payments made to vendors

    Hi friends,
    I am generating one query, in which I have to show year to date payments made to vendors.
    can anyone tell me from which table and from which foield can I get this information.
    Please help.

    hi,
    GO to SE16 and select doc type wise , you will get a solution .
    i hope it helps you.
    regds,
    raman

  • HT2513 On iCal this year the date of shrove tuseday is showing on Tuesday 13 of February witch for a start is wrong coz it's a Thursday and wrong because its meant to be in march

    On iCal this year the date of shrove tuseday is showing on Tuesday 13 of February witch for a start is wrong coz it's a Thursday and wrong because its meant to be in march

    kaeandcolesmon,
    If you open the recovery drive (partition) it should only have a single folder (Recovery).
    To make sure that your not saving restore points to that drive.
    See:
    Start, Control Panel, System, System Protection tab. Make sure the D drive partition is set to OFF so that it does not save there.
    I am a volunteer. I am not an HP employee.
    To say THANK YOU, press the "thumbs up symbol" to render a KUDO. Please click Accept as Solution, if your problem is solved. You can render both Solution and KUDO.
    The Law of Effect states that positive reinforcement increases the probability of a behavior being repeated. (B.F.Skinner). You toss me KUDO and/or Solution, and I perform better.
    (2) HP DV7t i7 3160QM 2.3Ghz 8GB
    HP m9200t E8400,Win7 Pro 32 bit. 4GB RAM, ASUS 550Ti 2GB, Rosewill 630W. 1T HD SATA 3Gb/s
    Custom Asus P8P67, I7-2600k, 16GB RAM, WIN7 Pro 64bit, EVGA GTX660 2GB, 750W OCZ, 1T HD SATA 6Gb/s
    Custom Asus P8Z77, I7-3770k, 16GB RAM, WIN7 Pro 64bit, EVGA GTX670 2GB, 750W OCZ, 1T HD SATA 6Gb/s
    Both Customs use Rosewill Blackhawk case.
    Printer -- HP OfficeJet Pro 8600 Plus

  • Year to Date and Monthly totals

    I know that this is rather simplistic, but I'm new to Discoverer and need to set up a bunch of sales reports with MTD and YTD columns. I'm going to be using the same SQL query for many of my reports but customizing the reports to show sales by state, product line, etc.
    Is there a formula/function I can use in Discover for the Month to Date and Year to Date totals?
    Thanks,
    Joseph

    Hi Joseph
    You can use the analytic range SUM calculation for these. For the month to date, use the a PARTITION BY of month with a range of all the preceding rows in the partition up to and including the current row. For the year, you would simply change the PARTITION BY to be the year.
    Here are some examples drawn from my own database:
    I have the following items:
    ORDER_YEAR
    ORDER_MONTH
    ORDER_DATE
    SELLING_PRICE
    With these defined, the formula for month to date is:
    SUM(Sales.Selling Price SUM) OVER (PARTITION BY ORDER_MONTH ORDER BY ORDER_DATE ASC ROWS UNBOUNDED PRECEDING)
    The formlua for year to date is:
    SUM(Selling Price SUM) OVER(PARTITION BY ORDER_YEAR  ORDER BY  ORDER_DATE ASC  ROWS  UNBOUNDED PRECEDING )
    Basically what we are doing is telling Discoverer to SUM the SELLING_PRICE, and you should be able to take these and adjust them for your own report.
    Let me take a look at the month to end and describe what is going on. Basically the PARTITION BY is defining a set of rows which are to be included. In this case it is all rows that have the same ORDER_MONTH. The ORDER BY clause tells Discoverer to place the items in order, with the oldest order first. The ROWS UNBOUNDED PRECEDING tells Discoverer to SUM all of the items within the set (within the PARTITION BY) from the oldest item (UNBOUNDED PRECEDING) to and including the current item. We could have added a BETWEEN clause too but that is implied. With a BETWEEN clause it would look like this:
    SUM(Sales.Selling Price SUM) OVER (PARTITION BY ORDER_MONTH ORDER BY ORDER_DATE ASC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
    If you want the current row to be included with UNBOUNDED PRECEDING you don't need to explicitly name it because that is the default. Other options you could use are these:
    UNBOUNDED FOLLOWING - this SUMS to the end of the PARTITION
    ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING - you can guess that this will add all of the items, which you will rarely use because if you omit the ROWS command then this range between first and last is actually the default
    Rather than ROWS BETWEEN you can also say RANGE BETWEEN, like this:
    SUM(Sales.Selling Price SUM) OVER (PARTITION BY ORDER_MONTH ORDER BY ORDER_DATE ASC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
    I hope this little dissertation on running totals helps.
    Best wishes
    Michael

  • Month to Date and Year to date calculation

    Hello Experts,
    It would be great If you could provide the formula to implement in BO universe or in the Reporting level for the below requirement.
    MTD, LastMonth, Year to Date, Last to LastMonth and examples are below.
    Last Week:
    Eg: Monday through Sunday
    Description: Based on Todayu2019s date, select the Monday of the previous week for the start date and Sunday will be the end date.
    Example:
    If Today is May 22, 2009
    The result would be, Monday = May 11, 2009, Sunday = May 17, 2009
    MTD:
    If Today is May 22, 2009
    I need a result MTD = May 1, 2009 u2013 May 21, 2009
    LastMonth:
    If Today is May 22, 2009
    I need a result LastMaont = April 1, 2009 u2013 April 30, 2009
    Last to LastMonth:
    If Today is May 22, 2009
    I need a result LastMaont = March 1, 2009 u2013 March 31, 2009
    Thank you.

    Nisniki,
    Here are the methods using WebI:
    MTD: 
    Create a local variable "MTD Start"
    =RelativeDate(LastDayOfMonth(RelativeDate(CurrentDate();-30));1)
    Create a local variable "MTD End"
    =currentdate()
    LastMonth
    =LastDayOfMonth(RelativeDate(CurrentDate();-30))
    Year to Date
    create a local variable "YTD Begin"
    =ToDate("01/01/"+FormatNumber(Year(CurrentDate());"####");"mm/dd/yyyy")
    (reuse "MTD End" or build a "YTD End" variable same as "MTD End")
    Last to LastMonth
    (similiar to MTD, but using "60" versus "30" to move back two months versus moving back 1 month.
    To perform this stuff in the universe requires an understanding of the SQL syntax for the paricular vendor your are working with.  ANSI SQL agrees to represent and compute dates uniformly, however, the functions to make it happen varies by the vendor.
    Thanks,
    John

  • Month to Date and Year to Date Scenarios

    <b>Dear SAP BI Gurus,
    Can anyone please give me guidance how to create a Month to Date and Year To Date Scenarios (Variables perhaps?) for 0SRR_CF_C1?  The date is in decimal and not DATE format…  I’m assuming the reason for this is to get the Time variance….  Nonetheless, I’d like to create a MTD and YTD scenario for reporting.
    Much Thanks
    Philips Manalaysay</b>

    Hi,
    You should take a look at the blog and doc below.
    /people/vikash.agrawal/blog/2006/10/17/enable-trend-reporting-150-by-manipulating-variable-value
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/25d98cf6-0d01-0010-0e9b-edcd4597335a
    Regards,

  • Month-to-Date and Year-to-Date values in Query

    Hello experts,
    One of our BI reports has the following requirement: the user should be asked for the report date. After the user inputs the date, the report shows the key figures in three different "flavors": one is the values for that date, the second one is the cumulate values from the first day of the month of the report date to the report date itself, and the third is the cumulate values from the first day of the year of the report date to the report date itself.
      I created my report date variable based on 0CALDAY. Then I searched for SAP-exit variables that would help me achieve this, but could not really find any, except for 0P_ABO10, 0P_ABO11, 0P_ABO12 variables, all of them have as description "Start of Key Date Year". I tried creating a few selections in which the dates taken were defined as a range from each of these variables to the report date variable (for the year-to-date values), but I got the error "Variable 0P_ABO10 could not be substituted". I also got this error for the other two variables. And I could not find any SAP-exit variables like "Start of Key Date Month", in order to do the Month-to-Date part. My next try was to use the field "Key Date" with a variable in it, instead my own report date variable based on 0CALDAY, but it gave me the same errors.
    I searched the forums and found a few threads that looked useful, like
    First and Last day of month and
    1st day of month / 1st day of week variables
    However, they require some ABAP coding, and I do not know where to place the code (actually, I do not know where to work with ABAP code), and I also believe that I would have to do some changes to it.
    Any suggestions?

    Hi Pedro,
    You have to create customer exit in T_Code: CMOD
    1. Create a Z project
    2. Select RSR00001 as enhancement type.
    3. Go into include ZXRSRU01
    4. create a code like
    Here A is your variable based on 0calmonth with type customer exit and B is variable for 0calday.
    Try to write logic for your case taking this as example.
    WHEN 'A'.
        IF I_Step = 2.
          Loop at I_T_VAR_RANGE into L_T_VAR_RANGE where VNAM = 'B'.
            Concatenate L_T_VAR_RANGE-LOW(4) '001' into D1.
            Concatenate L_T_VAR_RANGE-LOW(4) '012' into D2.
            Clear L_S_Range.
            L_S_Range-low = D1.
            L_S_RANGE-high = D2.
            L_S_RANGE-sign = 'I'.
            L_S_RANGE-opt = 'BT'.
            Append L_S_Range to E_T_Range.
          ENDLOOP.
        ENDIF.
    If you want exact code I can help you in that.
    Thanks,
    Kams

  • Month and Year-To-Date Grouping

    Hello,
    I have 4 key figures.  For each of the key figures I need to display the value for the month and the value for the year-to-date.  Example, if the user selects October as the month the query should display only the totals for October and the totals from January to October.  The user does not want to see the totals for January, February, March and so on. 
    ........................Month of October.................Year-To-Date
    No. of Orders .................. 3,005..................... 22,950
    Order Value ..................190,000................ 5,900,000
    Canceled Orders .....................7........................... 60
    Value of Canceled Orders......700........................8000
    Can someone tell me how I go about doing that?

    Hello MIG,
    I guess you can create a structure for your key figures at the rows area of the query and a structure for your dates (e.g. fiscal periods) at the columns area. For your columns, you will need two restricted key figures. The first key fgure will be for your user's current month (e.g. Oct) -- this will be equal to fiscal year/period restricted by a user entry variable for the current month. The second key figure will be for your year to date KF (e.g. Jan to Oct) -- this will be equal to fiscal year/period restricted by a customer exit variable that computes for the date range between Jan and the user's current month. <b>OR</b> you can ask the user to input the initial date (should be defaulted to Jan 2006*) and the current month in a date range -- this will be an interval variable. Hope this helps.
    Juice

  • How to derive month/year from date in SAP BW 3.5 data flow

    Hi
    How we can derive cal year/month and fiscal month/year from date in SAP BW 3.5 data flow (we're using transfer and update rule)..
    Thanks,
    PK

    Hi,
    if you have any date filed in source side you can just map to any time char system will automatically convert to target objects.
    please look at the screen shot for understanding. (not 3.x it is 7.x)
    Thanks,
    Phani.

  • Extract Month & Year  From Date

    Hi All,
    I have a key figure quantity and i want the data on date,for the month and for the year.
    i create the variables for the date,for the month(ie from date to date) and for the year(ie, from date to date) seperatly that means i have three input variables which may sometimes create confusion.
    My problem is that I want to enter only date and the variable itself calculate the month and year from the date so that it returns the data as desired above.
    for eg. : Now i to enter date : 3/14/2009
              enter MTD (FROM/TO) : 3/01/2009 - 3/14/2009
              enter YTD (FROM/TO) : 4/01/2008 - 3/14/2009
    I want to enter only date : 3/14/2009
    and the variable itself extract the month and year till date.
    and also the same variable calculates number of days so that need not to take the formula variable of date difference to calculate the average qty.
    Neha..

    Hi,
    1. Create User Entry Variable on 0CALDAY : Name = ZCDAY.
    2. Craete a Customer Exit Variable on 0CALDAY: Name  = ZMTD.
    3. Craete a Customer Exit Variable on 0CALDAY: Name  = YMTD.
    Properties of Customer Exit Variables.
    Variable reporesents = Single
    Variable Entry = Mandatory
    Processing By = Customer Exit.
    Character = Calender Day
    Here I'm thinking that ZKF is your key figure.
    In columns you create two selections one is for MTD and other is for YTD.
    In MTD selection, drag and drop ZKF and Drag and Drop 0CALDAY and then Right Clcik and Restrict-->
    Selection = Value Range. (In Between) and restrict with the follwoing Variables
    []ZMTD; ZCDAY.
    In YTD selection, drag and drop ZKF and Drag and Drop 0CALDAY and then Right Clcik and Restrict-->
    Selection = Value Range. (In Between) and restrict with the follwoing Variables
    []YTD; ZCDAY.
    Then write the following code in I_STEP = 2.
    DATA: ZT_DT1 TYPE SY-DATUM,
              ZT_DT2 TYPE SY-DATUM,
              ZT_SDT TYPE SY-DATUM,
              ZT_YR(4) TYPE N,
              ZT_DY(2) TYPE N,
              ZT_MT(2) TYPE N,
              ZE_TT(2) TYPE N,
              ZPOPER TYPE POPER,
             ZRELJR TYPE RELJR.
    WHEN 'ZMTD_A'.
      LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZCDAY'.
        IF sy-subrc = 0.
          CLEAR: l_s_range.
          ZT_DY = '01'.
          ZT_SDT = loc_var_range-low.
          ZT_MT = ZT_SDT+4(2).
          ZT_YR = ZT_SDT+0(4).
          CONCATENATE ZT_YR ZT_MT ZT_DY INTO ZT_DT1.
          l_s_range-low = ZT_DT1.
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          APPEND l_s_range TO e_t_range.
        ENDIF.
      ENDLOOP.
    WHEN 'ZYTD'.
      LOOP AT i_t_var_range INTO loc_var_range WHERE vnam = 'ZCDAY'.
        IF sy-subrc = 0.
          CLEAR: l_s_range.
          ZT_DY = '01'.
          ZT_SDT = loc_var_range-low.
          CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
            EXPORTING
              I_DATE               = ZT_SDT
    *         I_MONMIT             = 00
              I_PERIV              = 'V3'
           IMPORTING
             E_BUPER              = zbuper
             E_GJAHR              = zbdatj
           EXCEPTIONS
             INPUT_FALSE          = 1
             T009_NOTFOUND        = 2
             T009B_NOTFOUND       = 3
             OTHERS               = 4
          IF SY-SUBRC <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CALL FUNCTION 'FIRST_AND_LAST_DAY_IN_YEAR_GET'
            EXPORTING
              I_GJAHR              = zbdatj
              I_PERIV              = 'V3'
           IMPORTING
             E_FIRST_DAY          = ZT_DT2
    *         E_LAST_DAY           =
           EXCEPTIONS
             INPUT_FALSE          = 1
             T009_NOTFOUND        = 2
             T009B_NOTFOUND       = 3
             OTHERS               = 4
          IF SY-SUBRC <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          l_s_range-low = ZT_DT2.
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          APPEND l_s_range TO e_t_range.
        ENDIF.
      ENDLOOP.
    Thanks
    Reddy

  • Return current period based off of current fiscal year and date

    Good Afternoon,
    Is there a way in the webi that I can create a dimension that always reflects the current Fiscal Month based of Fiscal year and date? I have a report that I am trying to show sales for a customer based off the current fiscal month. I would like this report when refreshed to be based off this fiscal month dimension instead of showing each fiscal month or changing it manually. What is the best way to do this?
    I have attached an image that shows current numbers by period (month) and then the YTD Totals. I would like to have my 'Period' column always reflect the current period and the Total column to reflect that months totals based off the period column. So for this period (3), instead of seeing 3 lines for each month I would just see the '3' and the total as $541,310.46, monthly as 412,502.09 and my YTD as 1,080,091.06.
    Any help is always appreciated!
    Thank you,
    Tiffany

    Hi,
    Create a variable
    FlagVar=If([Period]=Max([Period]) In Report;"Show";"Hide")
    And apply block filter of FlagVar=Show
    Are these coming TotalSales  MonthlyGoal YTDSales directly from universe? If they are calculated at report level then you might want to use NoFilter. like =NoFilter([YTDSales])

  • Extracting year and date

    I am working on the following query
    SELECT report_date, EXTRACT (MONTH FROM report_date) FROM program_details;
    SELECT a.customer_id, a.report_date as change_date
    FROM program_details AS a
    LEFT JOIN program_details AS b
    on a. customer_id = b. customer_id
    AND EXTRACT (MONTH FROM a.report_date) = EXTRACT (MONTH FROM b.report_date) - 1
    AND EXTRACT (YEAR FROM a.report_date) = EXTRACT (YEAR FROM b.rpt_date )
    WHERE a.code_status = 'Gold' and b.code_status = 'Plat'
    AND a.report_date >= '2007-12-01 00:00:00.0'
    AND a.report_date < '2009-01-01 00:00:00.0'
    I have a table with customer id, yyyy-mm-dd for many years , and status as gold silver or platinum. and I need to work out the month that the status changed, and return a field as year-month.
    I am trying to extract the year and date that a customer changed from gold to plat but I am not sure how date arithmetic works. I need to have output like : customer_id and year-month but I keep just getting month.
    I know this is vague, but if you could help with the part of the query that delivers year and month back that would be great.
    Thank you very much

    Hi,
      1  SELECT a.customer_id, to_char(a.report_date, 'yyyy-mm') as change_date
      2* FROM program_details a
    SQL> /
    CUSTOMER_ID CHANGE_
              1 2009-06Bartek

  • CURRENT YEAR SALES DATE PARAMATER AND PRIOR YEAR SAME DATE RANGE

    I am pulling data from a SQL view dbo.view that has current and historical SOP data by line.  The date paramater is a date range,  uppr date and lower date formulas are in the report.  I need to include prior year SOP data for the same prior year date range in the detail.  I have tried adding the view in twice with no luck, just duplications.  Ultimately I want to supress the detail and only show the totals by customer so it is comparitive.  Thanks for your help.  Jayne

    OK
    lets simplify it
    get a test data source with some simple dates in it.
    get the report logic working.
    it looks like you have the right formula ideas but lets go for
    @upperthisyear
    @upperlastyear
    @lowerthisyear
    @lowerlastyear
    then assuming a date field of {table1.date}
    the record selection would be
    if (@upperthisyeare > {table1.date} and @lowerthisyear < {table1.date}) or (@upperlastyeare > {table1.date} and @lowerlastyear < {table1.date}) then 1 else 0
    I would test this by using it as a formula field with the test data.

Maybe you are looking for