Report Not able to generate values in output

hi gurus,
i am not able to get the output for this report,pls help me in correcting the code and suggest me a sloution.Urgent...............
*& Report  ZRPP006
*&  Modification History
*& Change # | By     | Date     | Purpose of Change
*& C0001 |pradeep.R  | 20070629 | Total component request for sop&Copa
*&       |           |          |
*&       |           |          |
report  zrpp006 line-size 180 line-count 90
        no standard page heading.
Class
*class cl_gui_column_tree definition load.
*class cl_gui_cfw definition load.
*data tree1  type ref to cl_gui_alv_tree.
*data mr_toolbar type ref to cl_gui_toolbar.
Include
*include <icon>.
*include bcalv_toolbar_event_receiver.
*include bcalv_tree_event_receiver.
include zipp007.
selection screen
selection-screen begin of block selscrb with frame title text-s01.
parameters: ra_SOP radiobutton group GRP default 'X',
            ra_COPA radiobutton group GRP.
selection-screen end of block selscrb.
Data:pa_m_frm(6) type c,
     pa_m_to(6) type c,
     pa_y_frm(4) type c,
     pa_y_to(4) type c,
     ra_mth,
     ra_yea,
     l_mode.
*parameter: pa_m_frm(6) type c,
          pa_m_to(6) type c,
          pa_y_frm(4) type c,
          pa_y_to(4) type c..
data: so_matnr,
      so_matkl,
      pa_stprs,
      pa_werks ,
      pa_vrsio .
selection-screen skip 1.
initialization.
  clear: ta_vrsio, ta_type.
  refresh: ta_vrsio, ta_type.
*at selection-screen on value-request for pa_vrsio.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
   EXPORTING
     retfield    = 'VRSIO'
     dynprofield = 'PA_VRSIO'
     dynpprog    = sy-cprog
     dynpnr      = sy-dynnr
     value_org   = 'S'
   TABLES
     value_tab   = ta_vrsio.
Start-of-selection.
if ra_SOP eq 'X'.
    submit ZRPP023 via selection-screen and return.
  elseif ra_COPA eq 'X'.
    submit ZRPP026 via selection-screen and return..
  endif.
select * into corresponding fields of table ta_vrsio
  from p44v
  where gstru = 'S076'.
  sort ta_vrsio by vrsio.
  delete adjacent duplicates from ta_vrsio.
  move 'MONTH' to ta_type-out_type.
  append ta_type.
  move 'YEAR' to ta_type-out_type.
  append ta_type.
at selection-screen output.
  if ra_mth = 'X'.
    loop at screen.
      if screen-name = 'PA_M_FRM'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C001007_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C002009_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = 'PA_M_TO'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C003012_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C004014_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = 'PA_Y_FRM'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C005017_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C006019_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = 'PA_Y_TO'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C007022_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C008024_1000'.
        screen-active = '0'.
        modify screen.
      endif.
    endloop.
  elseif ra_yea = 'X'.
    loop at screen.
      if screen-name = 'PA_M_FRM'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C001007_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C002009_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = 'PA_M_TO'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C003012_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = '%C004014_1000'.
        screen-active = '0'.
        modify screen.
      endif.
      if screen-name = 'PA_Y_FRM'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C005017_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C006019_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = 'PA_Y_TO'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C007022_1000'.
        screen-active = '1'.
        modify screen.
      endif.
      if screen-name = '%C008024_1000'.
        screen-active = '1'.
        modify screen.
      endif.
    endloop.
  endif.
End-of-selection.
  perform get_header_data.
  perform get_top_page.
*&      Form  display_alv
      text
form display_alv.
ALV ***
  g_repid = sy-repid.
  perform layout_init using gs_layout.
  perform eventtab_build using gt_events[].
  gs_variant-report = g_repid.
  g_save           = 'A'.
perform comment_build using gt_list_top_of_page[].
Display monthly report
  if ra_mth = 'X' and
     pa_m_frm <> 0 and
      pa_m_to <> 0.
    perform fieldcat_init_mth using gt_fieldcat[].
    perform printer_setting using print_set.
    call function 'REUSE_ALV_GRID_DISPLAY'
      exporting
           i_background_id    = 'ALV_BACKGROUND'
           i_buffer_active    = 'X'
           i_callback_program = g_repid
           i_structure_name   = 'ITAB_MSALE'
           is_layout          = gs_layout
           it_fieldcat        = gt_fieldcat[]
           i_save             = g_save
           is_variant         = gs_variant
           it_events          = gt_events[]
           it_sort            = gt_it_sort[]
           is_print           = print_set
     I_SCREEN_START_COLUMN    = 0     "Use coordinates for
     I_SCREEN_START_LINE      = 0     "display as dialog box
     I_SCREEN_END_COLUMN      = 0
     I_SCREEN_END_LINE        = 0
      importing
           e_exit_caused_by_caller = g_exit_caused_by_caller
           es_exit_caused_by_user  = gs_exit_caused_by_user
      tables
           t_outtab = itab_msale
      exceptions
           program_error = 1
           others        = 2.
    if sy-subrc = 0.
      if g_exit_caused_by_caller = 'X'.
*"  Forced Exit by calling program
*"  <do_something>.
      else.
*"  User left list via F3, F12 or F15
        if gs_exit_caused_by_user-back = 'X'.       "F3
*"    <do_something>.
        else.
          if gs_exit_caused_by_user-exit = 'X'.     "F15
*"      <do_something>.
          else.
            if gs_exit_caused_by_user-cancel = 'X'. "F12
*"        <do_something>.
            else.
*"        should not occur!
*"        <do_Abnormal_End>.
            endif.
          endif.
        endif.
      endif.
    else.
"Fatal error callin ALVAXXX(XY) WITH ...
    endif.
Display yearly report
  elseif ra_yea = 'X' and
          pa_y_frm <> 0 and
          pa_y_to <> 0.
    perform fieldcat_init_yr using gt_fieldcat[].
    perform printer_setting using print_set.
    call function 'REUSE_ALV_GRID_DISPLAY'
      exporting
           i_background_id    = 'ALV_BACKGROUND'
           i_buffer_active    = 'X'
           i_callback_program = g_repid
           i_structure_name   = 'ITAB_YSALE'
           is_layout          = gs_layout
           it_fieldcat        = gt_fieldcat[]
           i_save             = g_save
           is_variant         = gs_variant
           it_events          = gt_events[]
           it_sort            = gt_it_sort[]
           is_print           = print_set
     I_SCREEN_START_COLUMN    = 0     "Use coordinates for
     I_SCREEN_START_LINE      = 0     "display as dialog box
     I_SCREEN_END_COLUMN      = 0
     I_SCREEN_END_LINE        = 0
      importing
           e_exit_caused_by_caller = g_exit_caused_by_caller
           es_exit_caused_by_user  = gs_exit_caused_by_user
      tables
           t_outtab = itab_ysale
      exceptions
           program_error = 1
           others        = 2.
    if sy-subrc = 0.
      if g_exit_caused_by_caller = 'X'.
*"  Forced Exit by calling program
*"  <do_something>.
      else.
*"  User left list via F3, F12 or F15
        if gs_exit_caused_by_user-back = 'X'.       "F3
*"    <do_something>.
        else.
          if gs_exit_caused_by_user-exit = 'X'.     "F15
*"      <do_something>.
          else.
            if gs_exit_caused_by_user-cancel = 'X'. "F12
*"        <do_something>.
            else.
*"        should not occur!
*"        <do_Abnormal_End>.
            endif.
          endif.
        endif.
      endif.
    else.
*"Fatal error callin ALV
MESSAGE AXXX(XY) WITH ...
    endif.
  else.
  endif.
endform.                    "display_alv
*&      Form  get_top_page
      text
form get_top_page.
  move 'Total Component Requirement by Sales Forecast' to
  gt_list_top_of_page-info.
  gt_list_top_of_page-typ = 'H'.
  append gt_list_top_of_page.
  concatenate 'Plant   :' pa_werks
  into gt_list_top_of_page-info separated by space.
  gt_list_top_of_page-typ = 'S'.
  append gt_list_top_of_page.
  select single vetxt into tp_vetxt
  from p44v
  where gstru = 'S076'
  and vrsio = pa_vrsio.
  concatenate 'Version :' pa_vrsio tp_vetxt
  into gt_list_top_of_page-info separated by space.
  gt_list_top_of_page-typ = 'S'.
  append gt_list_top_of_page.
  call function 'DATUMSAUFBEREITUNG'
    EXPORTING
      idate           = sy-datum
    IMPORTING
      tdat8           = l_date_string
    EXCEPTIONS
      datfm_ungueltig = 1
      datum_ungueltig = 2
      others          = 3.
  concatenate sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2)
  into l_time.
  concatenate 'Date/Time :' l_date_string l_time
  into gt_list_top_of_page-info separated by space.
  gt_list_top_of_page-typ = 'S'.
  append gt_list_top_of_page.
endform.                    "get_top_page
*&      Form  get_header_data
      text
-->  p1        text
<--  p2        text
form get_header_data.
  select pmnux into ta_mat-matnr
   from s076
    where pmnux = so_matnr
    and wenux = pa_werks
    and vrsio = pa_vrsio.
    append ta_mat.
    clear ta_mat.
  endselect.
  if sy-subrc = 0.
    sort ta_mat by matnr .
    delete adjacent duplicates from ta_mat.
    loop at ta_mat.
      select matnr stlnr stlan stlal
       appending corresponding fields of table ta_mat2
       from mast
       where matnr = ta_mat-matnr
             and werks = pa_werks.
    endloop.
    loop at ta_mat2 into wa_ta_mat.
      select stlst bmeng bmein into (tp_stlst,tp_bmeng,tp_bmein)
       from stko where stlnr = wa_ta_mat-stlnr
         and stlal = wa_ta_mat-stlal.
        wa_ta_mat-stlst = tp_stlst.
        wa_ta_mat-bmeng = tp_bmeng.
        wa_ta_mat-bmein = tp_bmein.
        append wa_ta_mat to ta_header.
      endselect.
    endloop.
    perform checking.        "checking if monthly or yearly report is being selected
  else.
    message i003(zwpp001).
  endif.
endform.                    " get_header_data
*&      Form  checking
      text
form checking.
  data : date1 like vtbbewe-dbervon,
         date2 like vtbbewe-dberbis.
  data : emonths like vtbbewe-atage.
  data : lv_m_frm(6) type n,
         lv_m_to(6) type n,
         lv_y_frm(4) type n,
         lv_y_to(4) type n.
check if the Display monthly report is being selected *****
  if ra_mth = 'X' and
       pa_m_frm <> 0 and
       pa_m_to <> 0.
check for correct input format
    lv_m_frm = pa_m_frm.
    lv_m_to = pa_m_to.
    if lv_m_frm ge '200000' and lv_m_to ge '200000'.
calculate the months in between
      clear date1.
      clear date2.
      concatenate pa_m_frm '01' into date1.
      concatenate pa_m_to '01' into date2.
    concatenate pa_m_to '31' into date2.
      perform months_calculate using date1 date2 changing emonths.
   check if months <= 36.
      if emonths <= 36.
        perform get_sales.
        perform retrieve_bom.
      else.
        message i000(zwpp001).
        exit.                            " error message
      endif.
    else.
      message i002(zwpp001).
    endif.
check if the Display yearly report is being selected *****
  elseif ra_yea = 'X' and
         pa_y_frm <> 0 and
         pa_y_to <> 0.
    itab_bom-requantity = lp_s076-absat.    "for current year 2006 ."added by pradeep on 4/07/07
    itab_bom-requantity = lp_s076-absat + 1.                "ie 2007.
    itab_bom-requantity = lp_s076-absat + 2.                "ie 2008.
check for correct input format
    lv_y_frm = pa_y_frm.
    lv_y_to = pa_y_to.
    if lv_y_frm ge '2000' and lv_y_to ge '2000'.
calculate the months in between
      clear date1.
      clear date2.
      concatenate pa_y_frm '0101' into date1.
      concatenate pa_y_to '1201' into date2.
    concatenate pa_y_to '1231' into date2.
      perform months_calculate using date1 date2 changing emonths.
   check if months <= 36.
      if emonths <= 36.
        perform get_sales.
        perform retrieve_bom.
      else.
        message i001(zwpp001).
        exit.                            " error message
      endif.
    else.
      message i002(zwpp001).
    endif.
  else.
    exit.
  endif.
added by pradeep on 04/07/07
if emonths = 4.
   itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endif.
if emonths = 5.
   tp_totalprice = lp_s076-absat * ta_mat-stprs.
endif.
if emonths = 6.
   itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endif.
if emonths = 7.
   tp_totalprice = lp_s076-absat * ta_mat-stprs.
endif.
if emonths = 8.
   itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
endif.
endform.                     " checking
*&      Form  get_sales
      text
form get_sales.
  data: iseq type i,
        tp_sales type p decimals 2,
        tp_totalprice type p decimals 2,"added by pradeep on 03/07/07
        tp_maktx like makt-maktx,
        tp_tabix like sy-tabix,
        tp_pmnux like s076-pmnux,
        seq type i.
  data: yr_frm(6) type c,
        yr_to(6) type c.
  data: year_frm(4) type c,
        year_to(4) type c.
  data: month1(2) type c,
        month12(4) type c.
  data: totalsales like zspp003-mth1.
  data: yr_index like sy-subrc.
check if the Display monthly report is being selected *****
  if ra_mth = 'X' and
      pa_m_frm <> 0 and
      pa_m_to <> 0.
retrieve months
    perform get_months.
    select * into corresponding fields of table lp_s076 from s076
                                   where pmnux = so_matnr
                                   and wenux = pa_werks
                                   and vrsio = pa_vrsio
                                   and spmon ge pa_m_frm
                                   and spmon le pa_m_to.
    iseq = 1.
    seq = 0.
    loop at lp_s076.
      if sy-tabix = 1.
        write : lp_s076-pmnux to tp_pmnux.
      endif.
      select single maktx into tp_maktx from makt
                  where matnr = lp_s076-pmnux.
      clear wa.
      read table ta_s076 into wa with key
      matnr = lp_s076-pmnux.
      if sy-subrc ne 0.
        wa-seq   = iseq.
        wa-matnr = lp_s076-pmnux.
        wa-maktx = tp_maktx.
      endif.
      move lp_s076-absat to tp_sales.
      case lp_s076-spmon.
        when t_mth1.
          move tp_sales to wa-mth1.
          move t_mth1 to wa-sp1.
          ind1 = '1'.
        when t_mth2.
          move tp_sales to wa-mth2.
          move t_mth2 to wa-sp2.
          ind2 = '1'.
        when t_mth3.
          move tp_sales to wa-mth3.
          move t_mth3 to wa-sp3.
          ind3 = '1'.
        when t_mth4.
          move tp_sales to wa-mth4.
          move t_mth4 to wa-sp4.
          ind4 = '1'.
        when t_mth5.
          move tp_sales to wa-mth5.
          move t_mth5 to wa-sp5.
          ind5 = '1'.
        when t_mth6.
          move tp_sales to wa-mth6.
          move t_mth6 to wa-sp6.
          ind6 = '1'.
        when t_mth7.
          move tp_sales to wa-mth7.
          move t_mth7 to wa-sp7.
          ind7 = '1'.
        when t_mth8.
          move tp_sales to wa-mth8.
          move t_mth8 to wa-sp8.
          ind8 = '1'.
        when t_mth9.
          move tp_sales to wa-mth9.
          move t_mth9 to wa-sp9.
          ind9 = '1'.
        when t_mth10.
          move tp_sales to wa-mth10.
          move t_mth10 to wa-sp10.
          ind10 = '1'.
        when t_mth11.
          move tp_sales to wa-mth11.
          move t_mth11 to wa-sp11.
          ind11 = '1'.
        when t_mth12.
          move tp_sales to wa-mth12.
          move t_mth12 to wa-sp12.
          ind12 = '1'.
        when t_mth13.
          move tp_sales to wa-mth13.
          move t_mth13 to wa-sp13.
          ind13 = '1'.
        when t_mth14.
          move tp_sales to wa-mth14.
          move t_mth14 to wa-sp14.
          ind14 = '1'.
        when t_mth15.
          move tp_sales to wa-mth15.
          move t_mth15 to wa-sp15.
          ind15 = '1'.
        when t_mth16.
          move tp_sales to wa-mth16.
          move t_mth16 to wa-sp16.
          ind16 = '1'.
        when t_mth17.
          move tp_sales to wa-mth17.
          move t_mth17 to wa-sp17.
          ind17 = '1'.
        when t_mth18.
          move tp_sales to wa-mth18.
          move t_mth18 to wa-sp18.
          ind18 = '1'.
        when t_mth19.
          move tp_sales to wa-mth19.
          move t_mth19 to wa-sp19.
          ind19 = '1'.
        when t_mth20.
          move tp_sales to wa-mth20.
          move t_mth20 to wa-sp20.
          ind20 = '1'.
        when t_mth21.
          move tp_sales to wa-mth21.
          move t_mth21 to wa-sp21.
          ind21 = '1'.
        when t_mth22.
          move tp_sales to wa-mth22.
          move t_mth22 to wa-sp22.
          ind22 = '1'.
        when t_mth23.
          move tp_sales to wa-mth23.
          move t_mth23 to wa-sp23.
          ind23 = '1'.
        when t_mth24.
          move tp_sales to wa-mth24.
          move t_mth24 to wa-sp24.
          ind24 = '1'.
        when t_mth25.
          move tp_sales to wa-mth25.
          move t_mth25 to wa-sp25.
          ind25 = '1'.
        when t_mth26.
          move tp_sales to wa-mth26.
          move t_mth26 to wa-sp26.
          ind26 = '1'.
        when t_mth27.
          move tp_sales to wa-mth27.
          move t_mth27 to wa-sp27.
          ind27 = '1'.
        when t_mth28.
          move tp_sales to wa-mth28.
          move t_mth28 to wa-sp28.
          ind28 = '1'.
        when t_mth29.
          move tp_sales to wa-mth29.
          move t_mth29 to wa-sp29.
          ind29 = '1'.
        when t_mth30.
          move tp_sales to wa-mth30.
          move t_mth30 to wa-sp30.
          ind30 = '1'.
        when t_mth31.
          move tp_sales to wa-mth31.
          move t_mth31 to wa-sp31.
          ind31 = '1'.
        when t_mth32.
          move tp_sales to wa-mth32.
          move t_mth32 to wa-sp32.
          ind32 = '1'.
        when t_mth33.
          move tp_sales to wa-mth33.
          move t_mth33 to wa-sp33.
          ind33 = '1'.
        when t_mth34.
          move tp_sales to wa-mth34.
          move t_mth34 to wa-sp34.
          ind34 = '1'.
        when t_mth35.
          move tp_sales to wa-mth35.
          move t_mth35 to wa-sp35.
          ind35 = '1'.
        when t_mth36.
          move tp_sales to wa-mth36.
          move t_mth36 to wa-sp36.
          ind36 = '1'.
      endcase.
     move seq to itab_seq-seq.
     append itab_seq.
      tp_tabix = sy-tabix.
      if sy-subrc = 0.
     modify table ta_s076 from wa.
        modify ta_s076 from wa index tp_tabix.
        if lp_s076-pmnux = tp_pmnux.
          seq = seq + 1.
          move seq to itab_seq.
          append itab_seq.
        endif.
      else.
        append wa to ta_s076.
        if lp_s076-pmnux = tp_pmnux.
          seq = seq + 1.
          move seq to itab_seq.
          append itab_seq.
        endif.
      endif.
      iseq = iseq + 1.
    endloop.                " endloop for lp_s076.
    itb_sales[] = ta_s076[].
itb_sales12[] = ta_s076[].
check if the Display yearly report is being selected *****
  elseif ra_yea = 'X' and
           pa_y_frm <> 0 and
           pa_y_to <> 0.
    clear year1.
    clear year2.
    clear year3.
    perform get_years.
    loop at ta_mat.
      loop at ta_yr.
        clear yr_index.
        yr_index = sy-tabix.
        case yr_index.
          when '1'.
            year1 = ta_yr-year.
          when '2'.
            year2 = ta_yr-year.
          when '3'.
            year3 = ta_yr-year.
        endcase.
        clear yr_frm.
        clear yr_to.
        year_frm = ta_yr-year.
        year_to = ta_yr-year.
        month1 = '01'.
        month12 = '12'.
        concatenate year_frm month1 into yr_frm.
        concatenate year_to month12 into yr_to.
        select * into corresponding fields of table lp_s076 from s076
                                 where pmnux = ta_mat-matnr
                                 and wenux = pa_werks
                                 and vrsio = pa_vrsio
                                 and spmon ge yr_frm
                                 and spmon le yr_to.
      calculate total sales.
        totalsales = 0.
        loop at lp_s076.
          at first.
            sum.
            totalsales = lp_s076-absat.
          endat.
          at end of absat."added by pradeep on 4/07/07
            sum.
            tp_totalprice = lp_s076-absat * ta_mat-stprs.
            itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
          endat.
        endloop.          "endloop for lp_s076
        select single maktx into tp_maktx from makt
           where matnr = ta_mat-matnr.
        read table ta_s076 into wa with key
          matnr = ta_mat-matnr.
        if sy-subrc ne 0.
          wa-matnr = lp_s076-pmnux.
          wa-maktx = tp_maktx.
        endif.
        case yr_index.
          when '1'.
            move totalsales to wa-sales_y1.
            move tp_totalprice to wa-sales_y1."added by pradeep
            move ta_yr-year to wa-year1.
            ind1 = '1'.
          when '2'.
            move totalsales to wa-sales_y2.
            move tp_totalprice to wa-sales_y2.
            move ta_yr-year to wa-year2.
            ind2 = '1'.
          when '3'.
            move totalsales to wa-sales_y3.
            move tp_totalprice to wa-sales_y3.
            move ta_yr-year to wa-year3.
            ind3 = '1'.
        endcase.
        tp_tabix = sy-tabix.
        if sy-subrc = 0.
                 modify table ta_s076 from wa.
          modify ta_s076 from wa index tp_tabix.
        else.
          append wa to ta_s076.
        endif.
      endloop.        "endloop for ta_yr
    endloop.        "endloop for ta_mat
    itb_sales[] = ta_s076[].
  else.
    exit.
  endif.
endform.                   "get_sales
*&      Form  get_months
      text
form get_months.
  move pa_m_frm to t_mth1.
  perform get_next_few_months
  using t_mth1 '1'
  changing t_mth2.
  perform get_next_few_months
  using t_mth2 '1'
  changing t_mth3.
  perform get_next_few_months
  using t_mth3 '1'
  changing t_mth4.
  perform get_next_few_months
  using t_mth4 '1'
  changing t_mth5.
  perform get_next_few_months
  using t_mth5 '1'
  changing t_mth6.
  perform get_next_few_months
  using t_mth6 '1'
  changing t_mth7.
  perform get_next_few_months
  using t_mth7 '1'
  changing t_mth8.
  perform get_next_few_months
  using t_mth8 '1'
  changing t_mth9.
  perform get_next_few_months
  using t_mth9 '1'
  changing t_mth10.
  perform get_next_few_months
  using t_mth10 '1'
  changing t_mth11.
  perform get_next_few_months
  using t_mth11 '1'
  changing t_mth12.
  perform get_next_few_months
  using t_mth12 '1'
  changing t_mth13.
  perform get_next_few_months
  using t_mth13 '1'
  changing t_mth14.
  perform get_next_few_months
  using t_mth14 '1'
  changing t_mth15.
  perform get_next_few_months
  using t_mth15 '1'
  changing t_mth16.
  perform get_next_few_months
  using t_mth16 '1'
  changing t_mth17.
  perform get_next_few_months
  using t_mth17 '1'
  changing t_mth18.
  perform get_next_few_months
  using t_mth18 '1'
  changing t_mth19.
  perform get_next_few_months
  using t_mth19 '1'
  changing t_mth20.
  perform get_next_few_months
  using t_mth20 '1'
  changing t_mth21.
  perform get_next_few_months
  using t_mth21 '1'
  changing t_mth22.
  perform get_next_few_months
  using t_mth22 '1'
  changing t_mth23.
  perform get_next_few_months
  using t_mth23 '1'
  changing t_mth24.
  perform get_next_few_months
  using t_mth24 '1'
  changing t_mth25.
  perform get_next_few_months
  using t_mth25 '1'
  changing t_mth26.
  perform get_next_few_months
  using t_mth26 '1'
  changing t_mth27.
  perform get_next_few_months
  using t_mth27 '1'
  changing t_mth28.
  perform get_next_few_months
  using t_mth28 '1'
  changing t_mth29.
  perform get_next_few_months
  using t_mth29 '1'
  changing t_mth30.
  perform get_next_few_months
  using t_mth30 '1'
  changing t_mth31.
  perform get_next_few_months
  using t_mth31 '1'
  changing t_mth32.
  perform get_next_few_months
  using t_mth32 '1'
  changing t_mth33.
  perform get_next_few_months
  using t_mth33 '1'
  changing t_mth34.
  perform get_next_few_months
  using t_mth34 '1'
  changing t_mth35.
  perform get_next_few_months
  using t_mth35 '1'
  changing t_mth36.
endform.                    "get_months
*&      Form  get_years
      text
form get_years.
  data : tp_yr_frm(4) type n.
  data : tp_yr_to(4) type n.
  data : yr_diff(4) type n.
  move pa_y_frm to tp_yr_frm.
  move pa_y_to to tp_yr_to.
  move tp_yr_frm to ta_yr-year.
  append ta_yr.
  yr_diff = tp_yr_to - tp_yr_frm.
*number of years = 3
  if yr_diff = 2.
    do 2 times.
      tp_yr_frm = tp_yr_frm + 1.
      move tp_yr_frm to ta_yr-year.
      append ta_yr.
    enddo.
*number of years = 2
  elseif yr_diff = 1.
    tp_yr_frm = tp_yr_frm + 1.
    move tp_yr_frm to ta_yr-year.
    append ta_yr.
  else.
    exit.
  endif.
endform.                    "get_years
*&      Form  get_next_few_months
      text
     -->LV_CURR_MONTH  text
     -->LV_MONTHS      text
     -->LV_TARGET_MTH  text
form get_next_few_months using lv_curr_month lv_months
                         changing lv_target_mth.
  data : tp_month_curr like sy-datum,
         tp_month_plus like sy-datum.
  concatenate lv_curr_month '01' into tp_month_curr.
  call function 'SG_PS_ADD_MONTH_TO_DATE'
    EXPORTING
      months  = lv_months
      olddate = tp_month_curr
    IMPORTING
      newdate = tp_month_plus.
  move tp_month_plus(6) to lv_target_mth.
endform.                    " get_months
*&      Form  months_calculate
      text
     -->P_DATE1  text
     -->P_DATE2  text
     <--P_EMONTHS  text
form months_calculate  using    p_date1
                                p_date2
                       changing p_emonths.
  call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
    exporting
      i_date_from          = p_date1
         I_KEY_DAY_FROM       =
      i_date_to            = p_date2
         I_KEY_DAY_TO         =
         I_FLG_SEPARATE       = ' '
   importing
         E_DAYS               =
      e_months             = p_emonths.
         E_YEARS              =
endform.                    " months_calculate
*&      Form  retrieve_bom
      text
-->  p1        text
<--  p2        text
form retrieve_bom .
retrieve BOM components
  sort ta_header by matnr.
  loop at ta_header where stlan = '1' and stlst = '01'.
    tp_bmeng = '1'.
    perform get_bom tables ta_stpo using
                               ta_header-matnr ta_header-werks  ta_header-stlan ta_header-stlal tp_bmeng.
requirement quantity calculation for active bom
    perform calculation1.
retrieve BOM components for pgm
    sort itab_bom2 by idnrk ascending.
    delete adjacent duplicates from itab_bom2 comparing matnr idnrk.
   loop at itab_bom2.         " commented by weihong
    tp_stlan = '1'.
    tp_stlal = '02'.
    perform get_pgm tables ta_stpo12 using
                               itab_bom2-matnr ta_header-werks  tp_stlan tp_stlal.
   endloop.          " endloop for itab_bom2.(commented by weihong)
requirement quantity calculation for inactive bom
    perform calculation2.
    refresh : itab_bom1, itab_bom2, itab_pgm, temp_bom1,itab_path.
    clear : itab_bom1, itab_bom2, itab_pgm, temp_bom1,itab_path.
  endloop.      " endloop for ta_header.
**itab_msale itab_ysale
*break-point.
  perform display_alv.
endform.                "retrieve bom
*&      Form  get_bom
      text
     -->LV_MATNR   text
     -->LV_WERKS   text
     -->LV_STLAN   text
     -->LV_STLAL   text
form get_bom tables lt_stpo structure stpox
             using lv_matnr like mast-matnr
                   lv_werks like mast-werks
                   lv_stlan like mast-stlan
                   lv_stlal like stko-stlal
                   lv_emeng like stko-bmeng .
  data: ta_topmat type cstmat,
        tp_dstst like csdata-xfeld,
        ta_matcat type cscmat occurs 0,
        tp_index like sy-tabix,
        tp_stufe like stpox-stufe,
        tp_diff like stpox-stufe,
        tp_indx like sy-tabix,
        tp_date like sy-datum,
        lv_stufe like stpox-stufe,
        lv_wegxx like stpox-wegxx,
        lv_stprs like stpox-stprs,
        lv_waers like stpox-waers,
       lv_cuky_new like cdpos-cuky_new,
       lv_value_new like cdpos-value_new,
        lv_index like sy-tabix,
        lv_datum like sy-datum,"added by pradeep on 02-07-07
        nxt_index like sy-tabix.
added by weihong.
  data: tp_mtart like mara-mtart,
        tp_matkl like mara-matkl,
        tp_stprs like stpox-stprs,
        tp_bomlv1 like mast-matnr,
        tp_bomlv2 like mast-matnr,
        tp_bomlv3 like mast-matnr,
        tp_bomlv4 like mast-matnr,
        tp_indln type i.
  write : lv_matnr to itab_bom1-matnr.
  write : lv_matnr to itab_bom2-matnr.
  write : lv_matnr to itab_path-matnr.

Hi gurus,actually this program selecion screen is linked to ..as
First screen is .Sop
                      .copa
Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
same for copa also....
so pls tell me a correct solution where to correct and get values.
Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this.

Similar Messages

  • Spec for this report not able to get values in the output

    okSection 1: Document information
    Title     PP – Total Component Requirement by Sales Forecast Report     Create Date     5/2/2006
    Author     Ivie Ng     Revision     1.0     Last changed on     
    Program type     ( X ) Report    (   ) Form        (   ) Batch input    (   ) Dialog program
    Priority     (   ) High       ( X ) Medium    (   ) Low
    Frequency      (   ) As require     (X ) Daily     (  ) Weekly       (  ) Monthly         (  ) Yearly
    (   ) Conversion
    Doc-Ref.     
    Section 2: Contact Person
    Task/Responsibility     Name     Signature     Date
    JM Project Manager     Sean Gilgunn          
    ISS Project Manager     YB Cisse          
    JM-Business Team Lead     Sathe          
    Functional Consultant      Ivie          
    ABAP Consultant     Soh          
    User Acceptance Test / Approved by                
    Transport               
    Section 3: Functional Description
    Background (whatever; Ex.Why does this program have to develop?)
    This is to allow materials dept to view and analyze total component requirement base on sales forecast ie. budget forecast, inactive version within specific planning horizon.
    Requirements
    In SOP, material dept will maintain planning data (sales & production plan) in various version.
    1. Active version: A00
    This version is transferred to demand mgmt as active version. MRP will use this planning data to create order proposals (planned orders, purchase requisitions).
    2. Inactive version: 001 – 999
    There are 3 types of inactive version in SOP:
    a) Sales forecast – 000 – 799
    b) Budge forecast – 800 – 820
    c) Forecast report – 821 – 999
    This report should allow to read any version of the sales forecast and return the total component requirements in the planning horizon that specify.
    Section 3.1: Selection screen
    Field name     Technical name     Type of selection field
         (*Please specify Transparent Table and field name)     (X) Single value             (  ) Range             ( ) Required field
              (  ) Single value             (X) Range             (  ) Required field
              (X) Single value             (  ) Range             (  ) Required field
    Section 3.2: Program Logic
    Business Requirement
    This report will allow option to choose to read the source from SOP or COPA.
    Input Selection
    Main Menu:
    o     Total Component Requirement from SOP forecast
    o     Total Component Requirement from COPA forecast
    If SOP is selected, Source = SOP
    If COPA is selected, Source = COPA
    Option 1: SOP
    1.     Input Layout
    Material: _____________    (note: allow multiple materials entry, no entry indicate all materials)
    RM Material Group: __________     (note: allow multiple entry, no entry indicate all Mat Grp)
    Plant:  MY11  (note: default value)
    Standard Price as of : _____________  (YYYYMM)
    Version: ________    (note: allow F4 option with Version and Description)
    Output Type: ____  (Month/Year)
    (If the output type chosen is Month, the below is display)
    Period From:  _________  (YYYYMM)
    Period To:      _________  (YYYYMM)
    (If the output type chosen is Year, the below is display)
    Period From:  __________ (YYYY)
    Period To:      __________ (YYYY)
    2.     Output Layout
    Plant: MY11
    Source:
    Version:
    System Date/Time:
    Output Layout in Month:
    Material     Desc     Component     Desc     UOM     M04.2006     M05.2006     M06.2006     M07.2006     M08.2006     M09.2006     BOM
    TO2368          NGK0003          PC                                   TO2368
              SIN96-015          MG                                   TO2368
              SIN96-066F          MG                                   TO2368
              SIN96-066N          MG                                   TO2368
              SIN96-127          GCL                                   WCS2004
              SIN96-055          G                                   WCS2004
              SIN96-110          G                                   WCS2004
              SIN96-007          G                                   WCS2004
              SIN96-002          GCL                                   WCS1003
              SIN96-001          GCL                                   WCS1003
              SIN96-006          GCL                                   WCS1003
              TO2358/511          PC                                   TO2368
              TO2358/512          PC                                   TO2368
              WCS2004          GCL                                   TO2368
              WCS1003          GCL                                   WCS2004
    Output Layout in Year:
    Material     Desc     Component     Desc     UOM     2006     2007     2008     BOM
    TO2368          NGK0003          PC                    TO2368
              SIN96-015          MG                    TO2368
              SIN96-066F          MG                    TO2368
              SIN96-066N          MG                    TO2368
              SIN96-127          GCL                    WCS2004
              SIN96-055          G                    WCS2004
              SIN96-110          G                    WCS2004
              SIN96-007          G                    WCS2004
              SIN96-002          GCL                    WCS1003
              SIN96-001          GCL                    WCS1003
              SIN96-006          GCL                    WCS1003
              TO2358/511          PC                    TO2368
              TO2358/512          PC                    TO2368
              WCS2004          GCL                    TO2368
              WCS1003          GCL                    WCS2004
    3.     Header Section:
    Header Field: Plant
    Print input field Plant.
    Header Field: Source
    If SOP is selected, Source = SOP
    If COPA is selected, Source = COPA
    Print Source.
    Header Field: Version
    Print input field Version, Print RMCP2-VETXT (version description).
    Header Field: System Date/Time
    Print current system date and time.
    4.     Table: S076 (SOP - Sales & Operations Planning)
    Read S076 rows with input selection of Material, Plant, Year, Month, Version sorted by Material.
          This table provides sales forecast figure.
    Table: MAKT – Material Decription
    Table: MARA - General Material Data
    Table: CDHDR - Change document header
    Table: CDPOS - Change document items
    5.     Details Section: -
    Read S076.PMNUX(Material).                    Note: There will be multiple rows in S076.PMNUX (Material)
    Field: Material
    Print S076.PMNUX(Material).
    Field: Description
    Read MAKT.MATNR(Material), Print MAKT.MAKTX.
    6.     Read L1 (Level 1) BOM Transaction: CS03
                   Where Material = S076.PMNUX (Material), Plant = MY11 (input field), BOM Usage = ’1’, Status = ‘01’
    7.     This is to print BOM component.
    If Input Material Group = ‘ ’
    Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’ , ‘ZRUH’
    If Input Material Group <> ‘ ’
    Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’ , ‘ZRUH’
          Where MARA-MATKL (Material Group) = Input Material Group.
    If MARA.MTART (material type) = ‘ZRUH’,
          Read L1 (Level 1) BOM Transaction: CS03
                  Where Material = S076.PMNUX, Plant = MY11 (input field), BOM Usage = ’1’, Status = ‘02’.
    GET RC29K-BMENG (Base Qty)  ***
    Field: Material Group
    Print MARA-MATKL
    Field: Component
    Print BOM Component.
    Field: Description
    Print MAKT.MAKTX.
    Field: UOM
    Print MARA.MEINS.
    Field: Currency
    Field: Standard Price
    If Input Standard Price Date = ‘’
       Print Currency = ‘ ‘
       Print Standard Price = 0
    Else
    Read CDHDR-OBJECTID (Material), CDHDR-CHANGENR (ChgNo)
    Where CDHDR-OBJECTID (Material) = BOM Component
    And CDHDR-TCODE (Transaction) = ‘MR21’
    And YYYYMM[CDHDR-UDATE (Date)] = Input Standard Price Date
    If NOT Found, look up YYYYMM[CDHDR-UDATE (Date)] – 1  
    I.e.    Input Standard Price Date is 200702, If CDHDR-UDATE (Date) Not Found, look up 200701.
    If Not Found, look up 200612 until the record is found    **
    If row return > 1, select the latest CDHDR-UDATE (Date)
    i.e. If rows return 20070201 and 20070215, Select 20070215    **
    Read CDPOS-CUKY_NEW (Currency), CDPOS-VALUE_NEW (New Value)
    Where CDPOS-OBJECTID (Material) = CDHDR-OBJECTID (Material)
    And CDPOS-CHANGENR (ChgNo) = CDHDR-CHANGENR (ChgNo)
    Print CDPOS-CUKY_NEW (Currency)
    Print CDPOS-VALUE_NEW (New Value)
    8.     If the output type is Year, print Requirement Qty in Yearly bucket.
    Requirement Qty = sum[S076-ABSAT (Sales) for current Year] ie 2006
    Requirement Qty = sum[S076-ABSAT (Sales) for current Year + 1] ie 2007
    Requirement Qty = sum[S076-ABSAT (Sales) for current Year + 2] ie 2008
         If the output type is Month, print Requirement Qty in Monthly bucket.
    Field: Month (ie. M04.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M04.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M05.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M05.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M06.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M06.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M07.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M07.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M08.2006)
    Requirement Qty = S076-ABSAT (Sales) * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M08.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Note: Repeat the requirement qty display in Monthly bucket base on period specified.
    Field: BOM
    Print L1 BOM which is S076.PMNUX (Material)  from Step 6.
    If Is end of component,
          Repeat Step 5 for next Material in SOP (S076.PMNUX).
    If MARA.MTART (material type) = ‘ZROH’,
    Perform Step 7 to read next L1 BOM Component.
    Perform Step 8 to print Requirement Qty.
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL(material group) = ‘WP0100’, ‘WP0110’, or ‘WP0120’],
          Go Step 9 to read L2 BOM.
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL (material group) <> ‘WP0100’, ‘WP0110’, ‘WP0120’],
          Perform Step 7 to read next BOM Component.
          Perform Step 8 to print Requirement Qty.
    9.     Read L2 (level 2) BOM for the ZHLB at Transaction: CS03
                Where Plant = MY11(input field), BOM Usage= ’1’, Status = ‘01’.
    GET RC29K-BMENG (Base Qty)  ***
    10.     Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’.
    Field: Material Group
    Print MARA-MATKL
    Field: Component
    Print BOM Component.
    Field: Description
    Print MAKT.MAKTX.
    Field: UOM
    Print MARA.MEINS.
    Field: Month (ie. M04.2006)
    Requirement Qty = Requirement Qty from L1 BOM  * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M04.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M05.2006)
    Requirement Qty = Requirement Qty from L1 BOM * Component Qty / / RC29K-BMENG (Base Q)
          Print Requirement Qty.
    Field: Total Price (ie. M05.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
          Note: Repeat until end of Period.
    Field: BOM
    Print L2 BOM from Step 9.
    If is end of component, perform Step 7 to read next L1 BOM component, and Step 8 to print Requirement Qty.
    If MARA.MTART (material type) = ‘ZROH’,
    Perform Step 10 to read next L2 BOM Component.
    If MARA.MTART (material type) = ‘ZHLB’ and MARA.MATKL(material group) = ‘WP0100’, ‘WP0110’, or ‘WP0120’,
          Go Step 11 to read L3 BOM.
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL (material group) <> ‘WP0100’, ‘WP0110’, ‘WP0120’],
          Perform Step 10 to read next L2 BOM Component.
    11.     Read L3 (level 3) BOM for the ZHLB at Transaction: CS03 where Plant=MY11(input field), BOM Usage=’1’, Status =‘01’.
    12.     Read Component (Material), Component Qty from BOM sorted by MARA.MTART (material type) = ‘ZROH’, ‘ZHLB’.
    Field: Material Group
    Print MARA-MATKL
    Field: Component
    Print BOM Component.
    Field: Description
    Print MAKT.MAKTX.
    Field: UOM
    Print MARA.MEINS.
    Field: Currency
    Field: Standard Price
    Read CDHDR-OBJECTID (Material), CDHDR-CHANGENR (ChgNo)
    Where CDHDR-OBJECTID (Material) = BOM Component
    And CDHDR-TCODE (Transaction) = ‘MR21’
    And YYYYMM[CDHDR-UDATE (Date)] = Input Standard Price Date
    If NOT Found, look up YYYYMM[CDHDR-UDATE (Date)] – 1  
    I.e.    Input Standard Price Date is 200702, If CDHDR-UDATE (Date) Not Found, look up 200701.
    If Not Found, look up 200612 until the record is found    **
    If row return > 1, select the latest CDHDR-UDATE (Date)
    i.e. If rows return 20070201 and 20070215, Select 20070215    **
    Read CDPOS-CUKY_NEW (Currency), CDPOS-VALUE_NEW (New Value)
    Where CDPOS-OBJECTID (Material) = CDHDR-OBJECTID (Material)
    And CDPOS-CHANGENR (ChgNo) = CDHDR-CHANGENR (ChgNo)
    Print CDPOS-CUKY_NEW (Currency)
    Print CDPOS-VALUE_NEW (New Value)
    Field: Month (ie. M04.2006)
    Requirement Qty = Requirement Qty from L2 BOM  * Component Qty / RC29K-BMENG (Base Q)
    Print Requirement Qty.
    Field: Total Price (ie. M04.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
    Field: Month (ie. M05.2006)
    Requirement Qty = Requirement Qty from L2 BOM * Component Qty / RC29K-BMENG (Base Q)
          Print Requirement Qty.
    Field: Total Price (ie. M05.2006)
    Total Price = Requirement Qty * Standard Price
    Print Total Price
          Note: Repeat until end of Period.
    Field: BOM
    Print L3 BOM from Step 11.
    If is end of component,
          Perform Step 10 to read next L2 BOM Component.
    If MARA.MTART (material type) = ‘ZROH’,
    Perform Step 12 to read next L3 BOM Component.
    If MARA.MTART (material type) = ‘ZHLB’ and MARA.MATKL(material group) = ‘WP0100’, ‘WP0110’, or ‘WP0120’,
          Repeat for next level of BOM reading.      ** for future BOM expansion **
    If [MARA.MTART (material type) = ‘ZHLB’] and [MARA.MATKL (material group) <> ‘WP0100’, ‘WP0110’, ‘WP0120’],
          Perform Step 12 to read next L3 BOM Component.
    13.     The report is ALV format and should allow to export to Excel. See example below:
    Option 2: COPA
    1.     Input Layout
    Company Code:  ________ 
    Plant:  MY11   
    Material: _____________    (note: allow multiple materials entry, no entry indicate all materials)
    Material Group: __________     (note: allow multiple materials entry, no entry indicate all materials)
    Standard Price as of : _____________  (YYYYMM)
    Version: ________    (note: allow F4 option with Version and Description)
    Read  V_TKEVS_CL-VERSI (Version),  V_TKEVS_CL-VTEXT (Version Description)
    Output Type: ____  (Month/Year)
    (If the output type chosen is Month, the below is display)
    Period From:  _________  (YYYYMM)
    Period To:      _________  (YYYYMM)
    (If the output type chosen is Year, the below is display)
    Period From:  __________ (YYYY)
    Period To:      __________ (YYYY)
    2.     Header Section:
    Header Field: Plant
    Print input field Plant.
    Header Field: Source
    If SOP is selected, Source = SOP
    If COPA is selected, Source = COPA
    Print Source.
    Header Field: Version
    Print V_TKEVS_CL-VERSI (Version),  V_TKEVS_CL-VTEXT (Version Description)
    Header Field: System Date/Time
    Print current system date and time.
    3.     Report details: -
    Table: CE2ASIA - JM Operating Concern
    If input selection is Monthly Report:-
    Read CE2ASIA-ARTNR (Product No), Sum[CE2ASIA-ABSMG001 (Sales Qty)]
    Where CE2ASIA-BUKRS (Company Code) = Input Company Code
    And CE2ASIA-WERKS (Plant) = Input Plant
    And CE2ASIA-PALEDGER (Currency Type) = ‘10’
    And [CE2ASIA-PERBL (FI Period) > = Input Period From And CE2ASIA-PERBL (FI Period) < = Input Period To]
    Group by CE2ASIA-ARTNR (Product No)
    If input selection is Yearly Report:-
    Read CE2ASIA-ARTNR (Product No), CE2ASIA-ABSMG001 (Sales Qty)
    Where CE2ASIA-BUKRS (Company Code) = Input Company Code
    And CE2ASIA-WERKS (Plant) = Input Plant
    And CE2ASIA-PALEDGER (Currency Type) = ‘10’
    And [YYYY[CE2ASIA-PERBL (FI Period)] > = Input Period From And CE2ASIA-PERBL (FI Period) < = Input Period To]
    Note: The details similar to Option 1: SOP, refer section (5)  to (13)
    Section 3.3: Report Layout
    Field name     Technical name     Comment
         (Please specify Transparent Table and field name)     (Ex. In case field does not read directly from transparent table but derive from formular or sum or else. Please show the detail how to do that.)
    Section 3.3: Unit Test Criteria
    Section 4: Technical Description
    Section 4.1: Object information
    Development class     
    Transport number     
    Section 4.2: Input/output file layout (In case upload/download file)
    *Please determine structure of  file like as below:
    No.     Field description     Type (Char,Numeric,…)     Length     Note
    Section 4.3: Report/Form information
    Paper size     Inch 11 8” X 11”     Type of printer     ( ) Laser printer     (X) Dot matrix
    Output report / Pre-printed Attach
    Technical Issue

    Hi gurus,actually this program selecion screen is linked to ..as
    First screen is .Sop
                          .copa
    Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
    same for copa also....
    so pls tell me a correct solution where to correct and get values.
    Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this.

  • Not able to generate multiple lines for headers in report

    Hi,
    I am new to BI publisher and not able to generate multiple lines for headers. Please help me to resolve.
    I am using RTF template, data source as PS Query and XML file (system generated from the data source)
    When I am using system generated 'First XML' file, I am getting output in the follwoing format.
    TEAM_MEMBER, PROJECT_ID, NAME, START_DT
    e.g.
    EMP1 , 71000, Sample, 01-Jan-2010
    EMP1 , 72000, Sample, 01-Feb-2010
    EMP1 , 73000, Sample, 01-March-2010
    But I want the report to be generate with multiple projects for one employee like below format , for that I used 'Second XML' file but I am getting blank report.
    In short if there is one to many case, how to show in reports??? Please correct if I am going wrong.
    TEAM_MEMBER
    PROJECT_ID, NAME, START_DT
    PROJECT_ID, NAME, START_DT
    PROJECT_ID, NAME, START_DT
    e.g.
    EMP1
    71000, Sample, 01-Jan-2010
    72000, Sample, 01-Feb-2010
    73000, Sample, 01-March-2010
    **********First XML**************System generated XML ****************************
    <?xml version="1.0"?>
    <query numrows="2" queryname="SY_EMP_PROJECT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
    <row rownumber="1">
    <TEAM_MEMBER>TEAM_MEMBER </TEAM_MEMBER>
    <PROJECT_ID>PROJECT_ID samp</PROJECT_ID>
    <NAME>NAME sample data</NAME>
    <START_DT>2010-08-25</START_DT>
    </row>
    <row rownumber="2">
    <TEAM_MEMBER>TEAM_MEMBER</TEAM_MEMBER>
    <PROJECT_ID>PROJECT_ID samp</PROJECT_ID>
    <NAME>NAME sample data</NAME>
    <START_DT>2010-08-25</START_DT>
    </row>
    </query>
    **********Second XML**************Manually created XML and using to show multiple projects for one employee****************
    <?xml version="1.0"?>
    <TEST numrows="2" queryname="SY_EMP_PROJECT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
    <TEAM_MEMBER rownumber="1">
    <TEAM_MEMBER>1</TEAM_MEMBER>
    <EMPLOYEE_NAME>SAMPLE</EMPLOYEE_NAME>
    <PROJECT>
    <PROJECT_ID>1111</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01012010</START_DATE>
    </PROJECT>
    <PROJECT>
    <PROJECT_ID>1112</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01022010</START_DATE>
    </PROJECT>
    </TEAM_MEMBER>
    <TEAM_MEMBER rownumber="2">
    <TEAM_MEMBER>2</TEAM_MEMBER>
    <EMPLOYEE_NAME>SAMPLEC</EMPLOYEE_NAME>
    <PROJECT>
    <PROJECT_ID>1111</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01012010</START_DATE>
    </PROJECT>
    <PROJECT>
    <PROJECT_ID>1112</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01022010</START_DATE>
    </PROJECT>
    </TEAM_MEMBER>
    </TEST>
    Edited by: ganeshtw on Aug 25, 2010 12:14 AM

    Hi,
    With your first xml you can print like
    EMP1
    71000, Sample, 01-Jan-2010
    72000, Sample, 01-Feb-2010
    73000, Sample, 01-March-2010While creating the RTF template you can use the Group by option.
    <?for-each-group:ROW;./columnname> then print the column name
    <?columnname?>
    --Then your table format
    71000, Sample, 01-Jan-2010
    72000, Sample, 01-Feb-2010
    73000, Sample, 01-March-2010
    <?end for-each-group?>
    Thanks.

  • Not able to generate report in AVDF 12.1

    Dear DBA's,
    I installed 12.1 database vault server on Linux and created agent on 11.2.0.1 on solaris.
    The host status is showing running.
    In Security Target > Monitoring > Audit Trail in this menu the collection status is showing stopped and i clicked on start still it is showing stopped.
    i am not able to generate any report so far. Kindly help me how to generate report in AVDF.
    Regrds,
    SG

    Hi gurus,actually this program selecion screen is linked to ..as
    First screen is .Sop
                          .copa
    Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
    same for copa also....
    so pls tell me a correct solution where to correct and get values.
    Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this.

  • Not able to generate "Audit Log Tampering report"

    Hi,
    I am not able to generate the Audit Log tampering report in version 8.0 of Sun Identity Manager. I am encountering the following message when I am trying to generate the report.
    "Tamper-resistant logging is disabled. Unable to verify the integrity of the audit logs." I did not find any option to set the tamper-resistant logging feature in version 8.0 of Sun Idm.
    In version 6 there is an option to set the tamper resistant audit log box by "Enabling tamper-resistant audit logs box" ( Please refer: http://docs.sun.com/source/819-4483/auditing.html)
    The generated report (in version 6) did not show any data inspite of me deleting a row in the audit log.
    I hope you can help me with this problem. Thanks in advance
    Regards,
    Sharon

    1) It shouldnt matter, but try
    destype=file (FILE small case)
    2) In builder, in property pallette see if you have given any "initial value" for these parameters (especially desname, destype etc) ?
    3) Do not give "batch=yes" in command line and try
    Thanks
    Ratheesh

  • Not able to generate UCCX Historical Report of one agent

    Dear All,
    I am not able to generate the UCCX Historical report of the agent as the Historical reports of the agent is generating upto the Feburary 2013 but we are not able to view the Historical Report of March 2013 and onwards, the realtime reports are generating and the agent name is added to the Active Directory only once, help is required in this regard.
    Best Regards,
    Durraze Khan

    Rajesh,
    Put a breakpoint and try to debug the report step by step.
    You will findout the reason very easily.
    Whenever you have a select and are trying to append into an internal table, keep checking your internal table if it is been populated with the correct records.
    This way, you will findout the cause and can correct is accordingly.
    Thanks,
    Suresh Ganti

  • Not able to generate reports after 8.1.1.3 patch installation

    Hi All,
    We are not able to generate reports after 8.1.1.3 patch installtion.
    and we also followed workaround as below
    1) Import the sif files from Siebel\8.1\Tools_1\REPPATCH\12-1VMBCSV.zip
    2) Import the 4 SIF files in the following order:
    S_XMLP_REP_TMPL_02112010.sif
    SBL_XMLP_REPORT_SELECTION_FLG.sif
    Report Template BC.sif
    Report Template Registration Applet.sif
    3)Apply the DDL for table S_XMLP_REP_TMPL and compile repository
    Still not able to generate Reports.
    Below is error message
    Please ask your systems administrator to check your application configuration.
    ObjMgrMiscLog     Error     1     000000064e150fa0:0     2011-07-07 19:45:31     (busobj.cpp (1654)) SBL-DAT-00222: An error has occurred creating business component 'Report Template Position BC' used by business object 'Report Administration'.
    Please ask your systems administrator to check your application configuration.
    ObjMgrBusServiceLog     Error     1     000000064e150fa0:0     2011-07-07 19:45:31     (swemenusvc.cpp (406)) SBL-DAT-00222: An error has occurred creating business component '<?>' used by business object '<?>'.
    Please ask your systems administrator to check your application configuration.
    Thanks
    Sean

    Hi Rajan,
    Thankyou for for your reply.
    Reports were working fine and we are able to generate reports at configured views in 8.1.1.1 version.
    After installing 8.1.1.3 patch, if we click on reports icon below is the error message displayed.
    An error has occurred creating business component '<?>' used by business object '<?>'.
    Please ask your systems administrator to check your application configuration. (SBL-DAT-00222).
    - is it mandatory to configure security model?(in 8.1.1.1 we used default security model)?
    -is it necessary to import BIPDataService and BIPSiebelSecurityWS inbound Web Services?
    - I didn't see below views as mentioned in bookshelf.
    . Reports - Custom Templates
    . Reports - Standard Templates?
    Thanks
    Sean

  • Not able to generate AS2 MDN when receiving custom XML via AS2

    Hi friends,
    I have setup the trading partner and the corresponding TP certificate import for receiving the custom XML via AS2 channel.
    I am receiving the custom xml properly to oracle b2b and able to receive the same to bpel as well. however in the oracle b2b console under reports tab i am seeing only one record for inbound document receive and i am not seeing the other record for the AS2 MDN going back to vendor. I have setup the AS2 channel under the external trading partner --> Channel using the vendor AS2 URL and selected all the security parameters while creating the Outbound AS2 channel.
    1. Not able to generate AS2 MDN when receiving custom XML via AS2.
    2. eventhough i am able to decrypt the inbound custom XML and ablr to recieve it in bpel also for processing, in the reports tab the inbound message state is changing to MSG_ERROR and it has the folloing error message:
    Error Code
    B2B-50037
    Error Description
    Machine Info: (***********)  Description: B2B inbound message processing error
    Error Level
    ERROR_LEVEL_COLLABORATION
    for AS2 MDN generation for custom XML receiving using As2 protocol, do we need to setup anything other than the outbound As2 Channel using the external vendor AS2 URL?
    Can you please help me how can i generate the AS2 MDN for the inbound custom XML document i have received and also why the inbound message is failing even though i am receiving the custom XML properly to bpel?
    Thanks,
    Amirineni.

    Hi Prasanna,
    Vendor has enabled the ACK mode as SYNC.
    Below are the headers for the inbound message to B2B. and we are able to receive the input message to bpel also.
    Protocol Transport Binding
    ChannelName=******** AS2-To=****AS2 TE=trailers, deflate, gzip, compress Date=Thu, 02 Oct 2014 14:26:31 GMT AS2-Version=1.2 Accept-Encoding=deflate, gzip, x-gzip, compress, x-compress AS2-From=****AS2 Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1 Disposition-Notification-To=https://******/as2 Message-ID=<CLEO-20141002_142630452-31X54N@****_*****AS2.pcwbedi1-O> Content-type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-length=747006 MSG_RECEIVED_TIME=Thu Oct 02 10:26:39 EDT 2014 Subject=EDI ECID-Context=1.005175bK7U^AXNJCAnf9Cx0002pW000yjX;kXjE1ZDLIPGIj2QCYV8QoKSSILRO_PQT_IS Proxy-Client-IP=****** Recipient-Address=https://******/b2b/httpReceiver User-Agent=RPT-HTTPClient/0.3-3I (Windows 2003) X-Forwarded-For=****** Content-Disposition=attachment; filename="smime.p7m" Host=****** EDIINT-Features=CEM, multiple-attachments, AS2-Reliability Connection=Keep-Alive X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-1497702782 From=****** Mime-Version=1.0
    Message Digest
    Message Digest
    Digest Algorithm
    sha1
    Transport Protocol
    HTTP
    Transport Protocol Version
    1.0
    Url
    http://******
    security
    Transport Headers
    ChannelName=****** AS2-To=******AS2 TE=trailers, deflate, gzip, compress Date=Thu, 02 Oct 2014 14:26:31 GMT AS2-Version=1.2 Accept-Encoding=deflate, gzip, x-gzip, compress, x-compress AS2-From=****AS2 Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1 Disposition-Notification-To=https://******/as2 Message-ID=<CLEO-20141002_142630452-31X54N@****AS2_*****AS2.pcwbedi1-O> Content-type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-length=747006 MSG_RECEIVED_TIME=Thu Oct 02 10:26:39 EDT 2014 Subject=EDI ECID-Context=1.005175bK7U^AXNJCAnf9Cx0002pW000yjX;kXjE1ZDLIPGIj2QCYV8QoKSSILRO_PQT_IS Proxy-Client-IP=***** Recipient-Address=*******/b2b/httpReceiver User-Agent=RPT-HTTPClient/0.3-3I (Windows 2003) X-Forwarded-For=******* Content-Disposition=attachment; filename="smime.p7m" Host=***** EDIINT-Features=CEM, multiple-attachments, AS2-Reliability Connection=Keep-Alive X-WebLogic-KeepAliveSecs=30 X-WebLogic-Force-JVMID=-1497702782 From=***** Mime-Version=1.0
    Thanks,
    Amirineni

  • Not able to find values in LOV of field "Help Desk" of Global contract

    Not able to find values in LOV of field "Help Desk" of Global contract defaults.
    This value should be coming from resource setup.
    Resource is already created.

    Issue resolved:
    The resource should ahve valid Email id in HR People setup

  • Not able to generate the absence quota WITHOUT Time Evaluation

    Hi ALL,
    When i try to generate the absences quota for employees without time evaluation using program RPTQTA00, I am not able to generate it.
    And i am getting "E You have not selected any generation rules".
    Kindly if any one come across this issue please throw some light and do a favour.
    thanks all

    Hi,
    Pls check the follwing tables if u have made correct assignments
    v_t559l
    v_554s
    v_556c
    Check Quoma Feature
    Check what status u selected in IT7
    Check if ur using correct Schema
    If ur Using RPTQTA00 then use No Generation,and if ur using PT60/RPTIME00 change it to Increase.
    Check if u have maintained correct quota groupings.
    Revert back if its not solved
    Regards

  • Error in process -in SRM not able to generate a PO in R/3

    Hi Experts,
    Can anyone tell me hwo to resolve this problem?
    This is classic scenario, version 4.0
    The user has raised a shopping cart without assigning vendor to it, so it has gone error in process as we dont have the Purchase requistion scenario.
    I have now assigned a vendor in the shopping cart by going to the sources of supply tab and giving my vendor in the preferred vendor and then ordered the shopping cart still I the approval and follow on documents are in errors and not able to generate an order
    Please suggets some FM or some solution thru which I can generate an order, I have used the following but not able to generate an order .
    I tried by BBP_PD_SC_RESUBMIT -FM
    BBP_REQREQ_TRANSFER - FM.
    BBP_PD_SC_TRANSFER_INTERNAL.
    but the problem is not yet resolved. Ours in N-step approval badi.
    Please suggest.
    Regards
    Srujank

    Hi Daniel,
    Thanks for your reply !!!
    I m sorry , I have already tried that actually, but didnt not work. Actually the shopping cart is already approved  for that I have made changes and re-submitted .
    the workflow is WS14000133, and N-step approval with Badi implementation.
    so i think this is not allowing me to change.
    Regards
    Srujank

  • ** Not able to create Value Mapping Table in Integration Directory

    Hi friends,
        I am not able to create value mapping entries like below in ID.
    Agency :    Computer1                Agency : Computer2
    Scheme:    Country                     Scheme: CountryCode
    Value for Computer1                   Value for Computer2
    Australia                                     AU
    India                                           IN
    Austria                                       AU
    Note that I have assigned the same country code 'AU' for the Countries 'Australia' & 'Austria'. But, when we assign 'AU' to 'Austria', the system asks question as below:
    Value mapping already exists
              Australia | AU
              Austria | AU
    Do you want to delete it from the existing group and assign it to the current group instead?
                       Continue       Cancel
    Though choose any of the option, I am not able to assign 'AU' to 'Austria'.
    Friends, this is my requirement. How do we solve this ?
    Kindly help me.
    Kind Regards,
    Jeg P.

    Hi Koen,
        I tried this. Its working fine now. Thanks for giving guidance to me. Then, I have another doubt. Suppose if we create 2 sets of VM table, (First Receiver will act as 2nd one how do we achieve this). For Ex:
    Set 1:
           Source Agency: SYS1              Target Agency: SYS2
           Source Scheme: CODE             Scheme : DEPT
             A                                            HR
             B                                            Accts
             C                                            Finance
    Set 2:
           Source Agency: SYS2              Target Agency: SYS3
           Source Scheme: DEPT             Scheme : GRADE
             HR                                             Second
             Accts                                          First
             Finance                                       First
    In this case, I followed the same logic which you said, but I am not able to create. I think the main point is GUID here. If you have any idea, kindly tell me.
    Kind Regards,
    Jegathees

  • Not able to set values in drop down for a table field

    Hi All,
    I am not able to set values in drop down for a table field. Although I am able to set these values to a stand alone field but its not happening for a particular table field. I am using ABAP web dynpro for coding.
    Pls help.
    Regards,
    Bhaskar

    Hi Otto,
    Here is the code I am using:
    * navigate from <CONTEXT> to <DATASOURCE> via lead selection
      lo_nd_datasource = wd_context->get_child_node( name = wd_this->wdctx_datasource ).
    * navigate from <DATASOURCE> to <CHANGING_PARAM> via lead selection
      lo_nd_changing_param = lo_nd_datasource->get_child_node( name = wd_this->wdctx_changing_param ).
    * navigate from <CHANGING_PARAM> to <EDUCATION_TAB> via lead selection
      lo_nd_education_tab = lo_nd_changing_param->get_child_node( name = wd_this->wdctx_education_tab ).
      node_info = lo_nd_education_tab->get_node_info( ).
      REFRESH ddlb_value_set.
      DATA: wa_edu_est TYPE t517t.
      SELECT * FROM t517t INTO wa_edu_est WHERE sprsL = 'EN'.
        s_element-text = wa_edu_est-stext.
        s_element-value = wa_edu_est-slart.
        APPEND s_element TO ddlb_value_set.
      ENDSELECT.
      SORT ddlb_value_set BY text.
    *    Set Value_sets to node_info
      node_info->set_attribute_value_set(
         name      = 'EDU_EST'
         value_set = ddlb_value_set ).
    Regards,
    Bhaskar

  • I am not able to fill up my output table

    I'm fresher to ABAP.
    I am  not able to fill up my output internal table. please help in correcting my select statements.
    Please help me.
    I am pasting my code here.
    DATA: BEGIN OF marc_tab OCCURS 0,
           matnr LIKE marc-matnr,    " Material Number
           eislo LIKE marc-eislo,    " Minimum Safety Stock
           mabst LIKE marc-mabst,    " Maximum stock level
           eisbe LIKE marc-eisbe,    " Safety stock
           werks LIKE marc-werks,    " Plant
           ekgrp LIKE marc-ekgrp,    " Purchasing group
           dispo LIKE marc-dispo,    " MRP controller
    END OF marc_tab.
    DATA: BEGIN OF mard_tab OCCURS 0,
           lgort LIKE mard-lgort,     " Storage Location
           speme LIKE mard-speme,    " Blocked stock
           umlme LIKE mard-umlme,    " Stock in transfer
           insme LIKE mard-insme,    " Stock in quality inspection
           retme LIKE mard-retme,    " Blocked Stock Returns
           labst LIKE mard-labst,    " Valuated stock with unrestricted use
          END OF mard_tab.
    DATA: mard_tab1 LIKE STANDARD TABLE OF mard_tab WITH HEADER
    LINE.
    Material and description
    DATA: BEGIN OF mara_makt_tab OCCURS 0,
          matnr LIKE mara-matnr,   "Material number
          maktx LIKE makt-maktx,   "Material description
          END OF mara_makt_tab.
    DATA: BEGIN OF eord_lfa1_tab OCCURS 0,
          matnr LIKE eord-matnr,  "Material number
          ebeln LIKE eord-ebeln,  "Scheduling Agreement
          lifnr LIKE eord-lifnr,  "Vendor's account number
          name1 LIKE lfa1-name1,                                "Name 1
          END OF eord_lfa1_tab.
    DATA: BEGIN OF mseg_mkpf_tab OCCURS 0,
          budat LIKE mkpf-budat,    "Posting date in the document
          mblnr LIKE mkpf-mblnr,    "Number of material document
          werks LIKE mseg-werks,
          mjahr LIKE mseg-mjahr,     "Material doc. year
          menge LIKE mseg-menge,     "Quantity
          lgort LIKE mseg-lgort,     "Storage location
          bwart1 LIKE mseg-bwart,     " Movement type (inventory management)
          bwart2 LIKE mseg-bwart,    
          lifnr LIKE mseg-lifnr,
          END OF mseg_mkpf_tab.
    DATA: mseg_mkpf_tab1 LIKE STANDARD TABLE OF mseg_mkpf_tab WITH HEADER
    LINE.
    DATA: BEGIN OF mkol_tab OCCURS 0,
          seinm LIKE mkol-seinm,      " Restricted-use consignment stock
          slabs LIKE mkol-slabs,     " Unrestricted-use consignment stock
          sobkz  LIKE mkol-sobkz,     " Special stock indicator         
          END OF mkol_tab.
    DATA: BEGIN OF t_werks OCCURS 0,
          werks LIKE t001w-werks,    " plant
          END OF  t_werks.
    **DATA: BEGIN OF mkpf_tab OCCURS 0,
         budat LIKE mkpf-budat,    "Posting date in the document
         mblnr LIKE mkpf-mblnr,    "Number of material document
         END OF  mkpf_tab.
    DATA: BEGIN OF zresult_tab OCCURS 0,
           matnr LIKE marc-matnr,    " Material Number
           maktx LIKE makt-maktx,   "Material description
           rev_lvl TYPE c,           " Revision level
           ebeln LIKE eord-ebeln,  "Scheduling Agreement
           ekgrp LIKE marc-ekgrp,    " Purchasing group
           dispo LIKE marc-dispo,    " MRP controller
           lifnr LIKE eord-lifnr,  "Vendor's account number
           name1 LIKE lfa1-name1,                               "Name 1
           eislo LIKE marc-eislo,    " Minimum Safety Stock
           mabst LIKE marc-mabst,    " Maximum stock level
           eisbe LIKE marc-eisbe,    " Safety stock
           werks LIKE marc-werks,    " Plant
           bwart LIKE mseg-bwart,     " Movement type (inventory management)
           slabs LIKE mkol-slabs,    " Unrestricted-use consignment stock
           labst LIKE mard-labst,    " Valuated stock with unrestricted use
           speme LIKE mard-speme,    " Blocked stock
           umlme LIKE mard-umlme,    " Stock in transfer
           insme LIKE mard-insme,    " Stock in quality inspection
          retme LIKE mard-retme,    " Blocked Stock Returns /added
         seinm LIKE mkol-seinm,    " Restricted-use consignment stock
         sobkz LIKE mkol-sobkz,   " Special stock indicator         
         lgort LIKE mseg-lgort,     "Storage location
           END OF zresult_tab.
    *DATA: zresult_tab1 LIKE STANDARD TABLE OF zresult_tab WITH HEADER LINE.
    DATA: BEGIN OF zresult_tab1 OCCURS 0,
           matnr LIKE marc-matnr,    " Material Number
           maktx LIKE makt-maktx,   "Material description
           ebeln LIKE eord-ebeln,  "Scheduling Agreement
           ekgrp LIKE marc-ekgrp,    " Purchasing group
           dispo LIKE marc-dispo,    " MRP controller
           lifnr LIKE eord-lifnr,  "Vendor's account number
           name1 LIKE lfa1-name1,                               "Name 1
           eislo LIKE marc-eislo,    " Minimum Safety Stock
           mabst LIKE marc-mabst,    " Maximum stock level
           eisbe LIKE marc-eisbe,    " Safety stock
           werks LIKE marc-werks,    " Plant
           bwart LIKE mseg-bwart,     " Movement type (inventory management)
           menge LIKE mseg-menge,   
           slabs LIKE mkol-slabs,    " Unrestricted-use consignment stock
           labst LIKE mard-labst,    " Valuated stock with unrestricted use
           speme LIKE mard-speme,    " Blocked stock
           umlme LIKE mard-umlme,    " Stock in transfer
           insme LIKE mard-insme,    " Stock in quality inspection
           lgort LIKE mard-lgort,    
          retme LIKE mard-retme,    " Blocked Stock Returns
           END OF zresult_tab1.
    *DATA : begin of zresult_tab1 occurs 0,
    *include zresult_tab LIKE zresult_tab.
    *end of itab.
    and the select statements are like this:
      SELECT matnr
                FROM mara
                    INTO  TABLE zresult_tab
                    WHERE matnr IN s_matnr.
                   and werks in s_werks.
      SELECT mkpfbudat mkpfmblnr
             msegmblnr msegmjahr mseg~menge
             mseglgort msegbwart
            FROM mseg INNER JOIN mkpf
              ON  mkpfmblnr = msegmblnr
                AND  mkpfmjahr = msegmjahr
               INTO CORRESPONDING FIELDS OF
                TABLE mseg_mkpf_tab
                WHERE
                mseg~werks IN s_werks
                AND lgort IN s_lgort1
                AND lgort IN s_lgort2
                AND bwart IN s_bwart1
                AND bwart IN s_bwart2.
              AND budat IN s_usgpid.
      IF sy-subrc EQ 0.
    special stocks from vendor/Vendor consignment stock
        SELECT seinm slabs sobkz
                FROM  mkol
                  INTO CORRESPONDING FIELDS OF
                  TABLE mkol_tab
                  FOR ALL ENTRIES IN mseg_mkpf_tab
                 WHERE matnr IN s_matnr
                AND werks = mseg_mkpf_tab-werks
              AND lifnr in s_lifnr
                AND sobkz  = 'K'.
      ENDIF.
      SELECT lgort speme umlme insme retme labst
       FROM mard INTO TABLE mard_tab
       WHERE matnr = zresult_tab-matnr
                AND werks IN s_werks
                AND lgort IN s_lgort1
                AND lgort IN s_lgort2.
      IF sy-subrc NE 0.
        MESSAGE i000 WITH 'no data populated!!!'.
      ENDIF.
    SELECT matnr ebeln lifnr
                        FROM eord
                            INTO CORRESPONDING FIELDS OF
                            TABLE eord_lfa1_tab
                            WHERE matnr IN s_matnr
                           AND werks IN s_werks.
      IF sy-subrc NE 0.
        MESSAGE i000 WITH 'fgdf'.  ENDIF
      SELECT matnr ebeln lifnr
                    FROM eord
                        INTO CORRESPONDING FIELDS OF
                        TABLE eord_lfa1_tab
                        WHERE lifnr IN  s_lifnr
                        AND werks IN s_werks
      IF sy-subrc NE 0.
        MESSAGE i000 WITH 'No  matching material found'.
      ENDIF.
      IF NOT p_endstk  IS INITIAL.
        CLEAR zresult_tab1.
        LOOP AT mard_tab.
          READ TABLE zresult_tab1 WITH KEY lgort = s_lgort1.
          IF sy-subrc EQ 0.
            COLLECT mard_tab INTO mard_tab1.
          ENDIF.
          MOVE mard_tab1-speme TO zresult_tab-speme.
          MOVE mard_tab1-umlme TO zresult_tab-umlme.
          MOVE mard_tab1-insme TO zresult_tab-insme.
          MOVE mard_tab1-retme TO zresult_tab-retme.
          MOVE mard_tab1-labst TO zresult_tab-labst.
          APPEND zresult_tab.
        ENDLOOP.
      ENDIF.
      IF NOT p_otrstk  IS INITIAL.
        CLEAR zresult_tab1.
        LOOP AT mard_tab.
         READ TABLE zresult_tab1 WITH KEY lgort = s_lgort1 lgort = s_lgort2
          IF sy-subrc EQ 0.
            COLLECT mard_tab INTO mard_tab1.
          ENDIF.
          MOVE mard_tab1-speme TO zresult_tab-speme.
          MOVE mard_tab1-umlme TO zresult_tab-umlme.
          MOVE mard_tab1-insme TO zresult_tab-insme.
          MOVE mard_tab1-retme TO zresult_tab-retme.
        move mard_tab1-labst to zresult_tab-labst.
          APPEND zresult_tab.
        ENDLOOP.
      ENDIF.
      IF NOT p_chk IS INITIAL.
        CLEAR :mseg_mkpf_tab,mseg_mkpf_tab1.
        LOOP AT zresult_tab1.
          READ TABLE mseg_mkpf_tab WITH KEY bwart1 = s_bwart1
          lifnr =  s_lifnr budat = s_usgpid.
          IF sy-subrc EQ 0.
            COLLECT mseg_mkpf_tab INTO mseg_mkpf_tab1.
          ENDIF.
          MOVE mseg_mkpf_tab1-menge TO zresult_tab1-menge.
          APPEND zresult_tab1.
        ENDLOOP.
      ENDIF.
    and filling the zresult _tab like this:
      LOOP AT zresult_tab1.
        READ TABLE mseg_mkpf_tab.
        IF sy-subrc EQ 0.
          zresult_tab1-bwart = mseg_mkpf_tab-bwart1.
          MODIFY  zresult_tab1.
        ENDIF.
      ENDLOOP.
      LOOP AT zresult_tab1.
        READ TABLE mkol_tab.
        IF sy-subrc EQ 0.
          zresult_tab1-slabs = mkol_tab-slabs.
        ENDIF.
        MODIFY zresult_tab1.
      ENDLOOP.
      LOOP AT zresult_tab1.
        READ TABLE marc_tab.
        IF sy-subrc EQ 0.
          zresult_tab1-eislo = marc_tab-eislo.
          zresult_tab1-mabst = marc_tab-mabst.
          zresult_tab1-eisbe = marc_tab-eisbe.
          zresult_tab1-werks = marc_tab-werks.
          zresult_tab1-ekgrp = marc_tab-ekgrp.
          zresult_tab1-dispo = marc_tab-dispo.
        ENDIF.
        MODIFY zresult_tab1.
      ENDLOOP.
      LOOP AT zresult_tab1.
        READ TABLE mard_tab.
        IF sy-subrc EQ 0.
          zresult_tab1-labst = mard_tab-labst.
          zresult_tab1-lgort = mard_tab-lgort.
          zresult_tab1-speme = mard_tab-speme.
          zresult_tab1-umlme = mard_tab-umlme.
          zresult_tab1-insme = mard_tab-insme.
        ENDIF.
        MODIFY zresult_tab1.
      ENDLOOP.
    Thanks
    Alekhya

    Some comments on your code ---
    SELECT lgort speme umlme insme retme labst
    FROM mard INTO TABLE mard_tab
    WHERE matnr = zresult_tab-matnr
    AND werks IN s_werks
    AND lgort IN s_lgort1
    AND lgort IN s_lgort2.
    ---> instead of using zresult_tab-matnr u should be using s_matnr...to populate the mard_tab internal table with the records for all material otherwise it would just do it for the last record of zresult_tab-matnr.
    IF NOT p_endstk IS INITIAL.
    CLEAR zresult_tab1.
    LOOP AT mard_tab.
    READ TABLE zresult_tab1 WITH KEY lgort = s_lgort1.
    IF sy-subrc EQ 0.
    COLLECT mard_tab INTO mard_tab1.
    ENDIF.
    MOVE mard_tab1-speme TO zresult_tab-speme.
    MOVE mard_tab1-umlme TO zresult_tab-umlme.
    MOVE mard_tab1-insme TO zresult_tab-insme.
    MOVE mard_tab1-retme TO zresult_tab-retme.
    MOVE mard_tab1-labst TO zresult_tab-labst.
    APPEND zresult_tab.
    ENDLOOP.
    ENDIF.
    --> I am quiet puzzled with the above code you are trying to read zresult_tab1 and appending data into zresult_tab. Also, for the read to be successful you should try and fill more key columns otherwise it would just fetch the first record.
    --> Also in the final bit of code you are appending and modifying zresult_tab1 table and expecting result in zresult_tab table ?? Can you please check on the code with that respect.
    Regards
    Anurag

  • Embedded BI publisher in 8.98 tools -  Not able to generate a BIP report

    Hi gurus,
    I'm using JdE stand-alone with tools 8.98
    I'm trying to use the embedded reporting solution of BI publisher on tools 8.98. I follow all the steps below, but when I submit I'm not getting any error, but I'm not getting any result. I'm not able to see any formatted document generated, and I'm not getting any output in the "Report Definition Jobs" Section.
    Any clue? Should I set up something else, apart of the steps taken below?
    1. Use Oracle’s BI Publisher Template Builder, Microsoft Excel, Microsoft Word, or Adobe Acrobat to
    create a blank template file.
    2. Add an object to the BI Publisher Object Repository (P95600), using the template name for the
    object name.
    3. Create a report definition in the JD Edwards BI Publisher Report Definition application (P95620),
    associating the source batch application (UBE) and the template.
    4. Submit the report definition to generate an XML data file.
    5. Download the XML data and design the template in the desktop application that you used to create the
    template.
    6. Update the report definition in the BI Publisher Report Definitions application, defining criteria such
    as output types, bursting, and delivery options.
    7. Upload the completed template into BI Publisher Object Repository.
    8. Submit the report definition to BI Publisher.
    9. Use Report Definition Jobs (P95630) to access the submission
    Thanks

    Please see these docs.
    'Report Cannot Be Rendered Because Of An Error - Unexpected element:report' When Using Firefox [ID 605403.1]
    Troubleshooting Oracle BI Publisher Enterprise and XML Publisher Enterprise [ID 412232.1]
    BI Publisher Error On Report Access : java.lang.NoClassDefFoundError [ID 1083315.1]
    BI PUBLISHER DATA TEMPLATE ISSUE RETRIEVING LARGE VARCHAR COLUMNS [ID 960838.1]
    XML-21028 Access Not Allowed While Generating Output With BI Publisher [ID 458161.1]
    Thanks,
    Hussein

Maybe you are looking for

  • Firefox 17 crashes when automation testing is run. But works properly in Firefox 10. It opens many tabs while running and it crosses 50.

    Hi, When we run automation testing of our product, it works well in firefox old versions and IE. But when we run it in firefox 17 it crashes. We noticed that in firefox 10, each task in automation was opened in new windows and ran smoothly. But in fi

  • PR00 Not editable in Credit Memo Request, when copying from Mile stones

    Dear, PROO condition type is not editable in Credit memo request(VA01-CR) when iam creating with ref to Mile stone related invoice. Requirement: Mile stones maintained in Sale order at  line item level - >Invoice created with ref to sale order Miles

  • Can connect to router, but not internet

    I just recently have been unable to connect to the internet.  I have tried everything, reset network settings, reboot ipad, router, and computer.  I show the wifi locations and when I select them I show the bars, but when I go to the internet I get a

  • [SOLVED] gnome-volume-manager is lazy

    Until some update that I missed all was fine. I boot, my volumes are mounted, I can see them in ROX (my main file management program). I insert a CD/DVD/whatever, its mounted and its all in /media/.:D But now it just does nothing, until I start Nauti

  • Details to OSS note 1882839

    Hi CRM Experts, I have following problem: If I would change something in Configuration mode to change Assigement Blocks I get a Dump message after saving into a Transport order. This message is described in this OSS note. http://service.sap.com/sap/s