导航

ABAP open sql Demo

Posted on 2008-12-11 22:38  Hahappyppy  阅读(589)  评论(0编辑  收藏  举报

REPORT ZZTEST007 .
tables mseg.
************************************************************************
* define internal table
************************************************************************

data:  begin of i_mseg occurs 0,
         mblnr like mseg-mblnr,
         mjahr like mseg-mjahr,
         matnr like mseg-matnr,
         erfmg like mseg-erfmg,
         erfme like mseg-erfme,
         werks like mseg-werks,
         lgort like mseg-lgort,
         bwart like mseg-bwart,
         charg like mseg-charg,
         kostl like mseg-kostl,
         zeile like mseg-zeile,
         end of i_mseg.
data i type i.
************************************************************************
*define selection-screen
************************************************************************

selection-screen begin of block wing with frame title t1.
parameters: a1 radiobutton group g default 'X',
           a2 radiobutton group g ,
           a3 radiobutton group g,
           a4 radiobutton group g,
           a5 radiobutton group g,
           a6 radiobutton group g,
           a7 radiobutton group g.
selection-screen end of block wing.
************************************************************************
* select  output condition
************************************************************************
if a1 = 'X'.
  perform a1.
endif.
if a2 = 'X'.
  perform a2.
endif.
if a3 = 'X'.
  perform a3.
endif.
if a4 = 'X'.
  perform a4.
endif.
if a5 = 'X'.
  perform a5.
endif.
if a6 = 'X'.
  perform a6.
endif.
if a7 = 'X'.
  perform a7.
endif.
************************************************************************
* form a1 get data                                                     *
************************************************************************
form a1.
  select * from mseg where bwart in ('201','202').
    move-corresponding mseg to i_mseg.
    append i_mseg.
  endselect.
  perform output_data.
endform.

************************************************************************
* form a2 get data                                                     *
************************************************************************
form a2.
*  i_mseg-matnr = 'asssss'.
*  append i_mseg.
  select  mblnr matnr into (i_mseg-mblnr,i_mseg-matnr)
                                from mseg
                                where bwart in ('201','202').
    append i_mseg.
  endselect.
  perform output_data.
endform.
************************************************************************
* form a3 get data                                                     *
************************************************************************
form a3.
  select  * into corresponding fields
                  of i_mseg from mseg
                where bwart in ('201','202').
    append i_mseg.
  endselect.
  perform output_data.
endform.

************************************************************************
* form a4 get data                                                     *
************************************************************************
form a4.
  select  * into corresponding fields
                  of table i_mseg from mseg
                where bwart in ('201','202').
*    append i_mseg.
*  endselect.
  perform output_data.
endform.
************************************************************************
* form a5 get data                                                     *
************************************************************************
form a5.
  select   mblnr mjahr matnr erfmg erfme werks lgort bwart charg
              kostl zeile appending  table i_mseg from mseg
                where bwart in ('201','202').
  append i_mseg.
*  endselect.
  perform output_data.
endform.
************************************************************************
* form a6 get data                                                     *
************************************************************************
form a6.
  select  * appending corresponding fields
                  of table i_mseg from mseg
                where bwart in ('201','202').
  append i_mseg.
*endselect.
  perform output_data.
endform.
************************************************************************
* form a7 get data                                                     *
************************************************************************
form a7.
  perform a1.
  skip.
  perform a2.
    skip.
  perform a3.
    skip.
  perform a4.
    skip.
  perform a5.
    skip.
  perform a6.
endform.

************************************************************************
* form output_data                                                  *
************************************************************************
form output_data.
  loop at i_mseg.
    i = i + 1.
    if i > 11.
      exit.
    endif.
    write:/
              i_mseg-mblnr,
              i_mseg-mjahr,
              i_mseg-matnr,
              i_mseg-erfmg,
              i_mseg-erfme,
              i_mseg-werks,
              i_mseg-lgort,
              i_mseg-bwart,
              i_mseg-charg,
              i_mseg-kostl,
              i_mseg-zeile.
  endloop.
    refresh i_mseg.
  clear i_mseg.
    i = 0.
endform.