利用REUSE_ALV_HIERSEQ_LIST_DISPLAY进行多层输出(输出表结构的又一例)

本文介绍了如何在ABAP中利用REUSE_ALV_HIERSEQ_LIST_DISPLAY函数创建一个多级输出的列表,详细展示了从声明表结构到设置输出格式,再到调用函数显示列表的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在程序里包含SLIS
type-pools: slis.

2、声明主表和明细表

* Global structure of list
types:  begin of t_table,
                     tabname  like dd03l-tabname,
                     ddtext   like dd02t-ddtext,
                     as4user  like dd02l-as4user,
        end of t_table.

types:  begin of ud_struct,
                     position   like dd03l-position,
                     tabname    like dd03l-tabname,
                     fieldname  like dd03l-fieldname,
                     ddtext     like dd03t-ddtext,

                     keyflag    like dd03l-keyflag,
                     rollname   like dd03l-rollname,
                     domname    like  dd03l-domname,
                     datatype   like dd03l-datatype,
                     ddleng     like dd03l-leng,
                     checktable like dd03l-checktable,
                     decimals   like dd03l-decimals,
                     eddtext    like dd03t-ddtext,
                     dddtext    like dd03t-ddtext,
       end of ud_struct.
data:   gt_outtabt  type t_table occurs 0 with header line.
data:   gt_outtabf  type ud_struct occurs 0 with header line.

3、申明主表和明细表的名称变量
        g_tabname_header type slis_tabname,
        g_tabname_item   type slis_tabname.

4、声明主表和明细表连接关键字变量
data:   gs_keyinfo  type slis_keyinfo_alv

5 、设置输出格式

6、具体完整样例
*&---------------------------------------------------------------------
*& Report  ZGETTABLEFIELD                                              *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

report  zgettablefield                                              .
* Data declaration
type-pools: slis.

* Global structure of list
types:  begin of t_table,
                     tabname  like dd03l-tabname,
                     ddtext   like dd02t-ddtext,
                     as4user  like dd02l-as4user,
        end of t_table.

types:  begin of ud_struct,
                     position   like dd03l-position,
                     tabname    like dd03l-tabname,
                     fieldname  like dd03l-fieldname,
                     ddtext     like dd03t-ddtext,

                     keyflag    like dd03l-keyflag,
                     rollname   like dd03l-rollname,
                     domname    like  dd03l-domname,
                     datatype   like dd03l-datatype,
                     ddleng     like dd03l-leng,
                     checktable like dd03l-checktable,
                     decimals   like dd03l-decimals,
                     eddtext    like dd03t-ddtext,
                     dddtext    like dd03t-ddtext,
       end of ud_struct.

tables: dd03l,dd02l.

data:   gt_fieldcat type slis_t_fieldcat_alv.
data:   gt_outtabt  type t_table occurs 0 with header line.
data:   gt_outtabf  type ud_struct occurs 0 with header line.
data:   gs_keyinfo  type slis_keyinfo_alv,
        g_tabname_header type slis_tabname,
        g_tabname_item   type slis_tabname.


data:   g_repid like sy-repid.
data : begin of exclude occurs 5,
         fcode like sy-ucomm,
       end   of exclude.
data  p_ucomm like sy-ucomm.

select-options  s_tname for dd02l-tabname  default 'VBAK'.

*======================================================================*
* Initialization fieldcatalog
*======================================================================*
initialization.
  g_repid = sy-repid.
  g_tabname_header = 'GT_OUTTABT'.
  g_tabname_item   = 'GT_OUTTABF'.
* define keyinfo
  clear gs_keyinfo.
  gs_keyinfo-header01 = 'TABNAME'.
  gs_keyinfo-item01   = 'TABNAME'.
  gs_keyinfo-header02 = space.
  gs_keyinfo-item02   = 'POSITION'.

*======================================================================*
* Ereignis : AT SELECTION-SCREEN OUTPUT (PBO-Zeitpunkt)                *
*======================================================================*
at selection-screen output.
  data exclude like rsexfcode occurs 0 with header line.
  if sy-dynnr = 1000.
    call function 'RS_SET_SELSCREEN_STATUS'
      exporting
        p_status  = 'ZGETTBFD'
      tables
        p_exclude = exclude
      exceptions
        others    = 1.
  endif.
  p_ucomm = space.

*======================================================================*
* Ereignis : AT SELECTION-SCREEN (PAI-Zeitpunkt)                       *
*            letztes PAI-Ereignis                                      *
*======================================================================*
at selection-screen.
  p_ucomm = sy-ucomm.
  case p_ucomm.
    when 'STBL'.
      set parameter id 'DTB' field s_tname.
*      PERFORM AUTHORITY_CHECK USING 'SE11' .
      call transaction 'SE11' and skip first screen.
  endcase.

*======================================================================*
* Data selection
*======================================================================*
start-of-selection.
  perform select_table tables gt_outtabt.
  perform select_field tables gt_outtabf.
*======================================================================*
* Display list
*======================================================================*
end-of-selection.

  perform fieldcat_init using gt_fieldcat[].
*  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
*    EXPORTING
*      i_callback_program = g_repid
*      it_fieldcat        = gt_fieldcat[]
*    TABLES
*      t_outtab           = gt_outtabf.
  call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
       exporting
            i_callback_program       = g_repid
*           I_CALLBACK_PF_STATUS_SET = ' '
*           I_CALLBACK_USER_COMMAND  = ' '
*            is_layout                = gs_layout
            it_fieldcat              = gt_fieldcat[]
*           IT_EXCLUDING             =
*            it_special_groups        = gt_sp_group[]
*           IT_SORT                  =
*           IT_FILTER                =
*           IS_SEL_HIDE              =
*           I_SCREEN_START_COLUMN    = 0
*           I_SCREEN_START_LINE      = 0
*           I_SCREEN_END_COLUMN      = 0
*           I_SCREEN_END_LINE        = 0
*           i_default                = g_default
*            i_save                   = g_save
*            is_variant               = g_variant
*            it_events                = gt_events[]
*           IT_EVENT_EXIT            =
            i_tabname_header         = g_tabname_header
            i_tabname_item           = g_tabname_item
            is_keyinfo               = gs_keyinfo
*           IS_PRINT                 =
*      IMPORTING
*           E_EXIT_CAUSED_BY_CALLER  =
       tables
            t_outtab_header          = gt_outtabt
            t_outtab_item            = gt_outtabf.

************************************************************************
* Form Name  : fieldcat_init
* Created by : DEV01
* Created on :
* Form Description:
* Set field's output layout
*----------------------------------------------------------------------*
*parameter description          
*----------------------------------------------------------------------*
* <--- rt_fieldcat: return field's information
*----------------------------------------------------------------------*
* Modification Log:
* Date        Programmer   Description
*----------------------------------------------------------------------*
************************************************************************
form fieldcat_init
      using rt_fieldcat type slis_t_fieldcat_alv.
  data: ls_fieldcat type slis_fieldcat_alv.
  data: pos type i value 1.
  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'TABNAME'.
  ls_fieldcat-tabname      = g_tabname_header.
  ls_fieldcat-ref_fieldname = 'TABNAME'.
  ls_fieldcat-ref_tabname   = 'DD03T'.
  ls_fieldcat-key           = 'X'.
  append ls_fieldcat to  rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DDTEXT'.
  ls_fieldcat-tabname      =  g_tabname_header.
  ls_fieldcat-ref_fieldname = 'DDTEXT'.
  ls_fieldcat-ref_tabname   = 'DD02T'.
  ls_fieldcat-key           = 'X'.
  append ls_fieldcat to  rt_fieldcat.


*  ls_fieldcat-fieldname     = 'TABNAME'.
*  ls_fieldcat-tabname      = g_tabname_item.
*  ls_fieldcat-ref_fieldname = 'TABNAME'.
*  ls_fieldcat-ref_tabname   = 'DD03T'.
*  LS_FIELDCAT-KEY           = 'X'.
*  APPEND ls_fieldcat TO  rt_fieldcat.
*  CLEAR ls_fieldcat.

  ls_fieldcat-fieldname     = 'POSITION'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'POSITION'.
  ls_fieldcat-ref_tabname   = 'DD03L'.
  ls_fieldcat-key           = 'X'.
  append ls_fieldcat to  rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'FIELDNAME'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'FIELDNAME'.
  ls_fieldcat-ref_tabname   = 'DD03T'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DDTEXT'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DDTEXT'.
  ls_fieldcat-ref_tabname   =  'DD03T'.
*  LS_FIELDCAT-NO_OUT        = 'X'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'KEYFLAG'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'KEYFLAG'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
*  LS_FIELDCAT-NO_OUT        = 'X'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DATATYPE'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DATATYPE'.
  ls_fieldcat-ref_tabname   =  'DD03T'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DDLENG'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'LENG'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DECIMALS'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DECIMALS'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'CHECKTABLE'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'CHECKTABLE'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'ROLLNAME'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'ROLLNAME'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
  append ls_fieldcat to rt_fieldcat.

  clear ls_fieldcat.
  ls_fieldcat-fieldname     = 'DOMNAME'.
  ls_fieldcat-tabname      = g_tabname_item.
  ls_fieldcat-ref_fieldname = 'DOMNAME'.
  ls_fieldcat-ref_tabname   =  'DD03L'.
*  LS_FIELDCAT-NO_OUT        = 'X'.
  append ls_fieldcat to rt_fieldcat.
endform.   "fieldcat_init
************************************************************************
* Form Name  : select_table
* Created by : DEV01
* Created on :
* Form Description:
* Get Table's information
*----------------------------------------------------------------------*
*parameter description          
*----------------------------------------------------------------------*
* <---rt_outtab: return field's information
*----------------------------------------------------------------------*
* Modification Log:
* Date        Programmer   Description
*----------------------------------------------------------------------*
************************************************************************
form select_table  tables rt_outtab like gt_outtabt[].

  select dd02l~tabname   dd02t~ddtext   dd02l~as4user
         into (rt_outtab-tabname,rt_outtab-ddtext,rt_outtab-as4user)
         from dd02l left join dd02t
         on dd02l~tabname = dd02t~tabname
            and dd02l~as4local = dd02t~as4local
            and dd02l~as4vers = dd02t~as4vers
            and dd02t~ddlanguage = sy-langu
         where dd02l~tabname in s_tname
               and dd02l~as4local = 'A'
         order by dd02l~tabname.
    append rt_outtab.
  endselect.

endform.                    "SELECT_DATA
************************************************************************
* Form Name  : select_field
* Created by : DEV01
* Created on :
* Form Description:
* Get Table field's information
*----------------------------------------------------------------------*
*parameter description          
*----------------------------------------------------------------------*
* <---rt_outtab: return field's information
*----------------------------------------------------------------------*
* Modification Log:
* Date        Programmer   Description
*----------------------------------------------------------------------*
************************************************************************
form select_field  tables
                     rt_outtab like gt_outtabf[].

  select dd03l~position   dd03l~tabname
         dd03l~fieldname
         dd03t~ddtext
         dd03l~keyflag
         dd03l~rollname
          dd03l~domname
          dd03l~datatype
           dd03l~leng
       dd03l~checktable   dd03l~decimals

         dd04t~ddtext     dd01t~ddtext
         into (rt_outtab-position, rt_outtab-tabname,
               rt_outtab-fieldname, rt_outtab-ddtext,
               rt_outtab-keyflag,rt_outtab-rollname,
               rt_outtab-domname,rt_outtab-datatype,
               rt_outtab-ddleng,rt_outtab-checktable,

               rt_outtab-decimals,
               rt_outtab-eddtext,rt_outtab-dddtext)
         from dd03l left join dd03t
         on dd03l~tabname = dd03t~tabname
            and dd03l~fieldname = dd03t~fieldname
            and dd03t~ddlanguage = sy-langu
         left join dd04t
           on dd03l~rollname = dd04t~rollname
            and dd04t~ddlanguage = sy-langu
         left join dd01t
           on dd03l~domname = dd01t~domname
           and dd01t~ddlanguage = sy-langu
         where dd03l~tabname in s_tname
         order by dd03l~tabname dd03l~position.
    if rt_outtab-ddtext = space.
      if rt_outtab-eddtext = space.
        rt_outtab-ddtext = rt_outtab-dddtext.
      else.
        rt_outtab-ddtext = rt_outtab-eddtext.
      endif.
    endif.
    append rt_outtab.
  endselect.

endform.                    "SELECT_DATA

*&---------------------------------------------------------------------*
*&      Form  FUNCTION_EXCLUDE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_EXCLUDE  text                                              *
*----------------------------------------------------------------------*
form function_exclude tables   p_exclude structure exclude.
*  data : rcode like sy-subrc.
* clear p_exclude.
* refresh p_exclude.
* exclude-fcode = 'EERW'.
* append exclude.
* exclude-fcode = 'EXIT'.
* append exclude.
endform.                               " FUNCTION_EXCLUDE 

 

 

 

******************************************************************MI12

REPORT RM07IMAT MESSAGE-ID M7 NO STANDARD PAGE HEADING LINE-SIZE 132.

*-----------------------------------------------------------"n513843
* MI21 : wild card selection of WBS element possible        "n513843
* error fixed reported by the extended progam check         "n513843
*-----------------------------------------------------------"n400792
* selection of WBS element improved                         "n400792
*----------------------------------------------------------------------*
* selection for PI-documents of special stock improved      "n0377071
*----------------------------------------------------------------------*
* For the selection of inventory documents who belong to    "ALRK230033
* special stocks without storage location number the        "ALRK230033
* select-option table IM_LGORT will be extended with an     "ALRK230033
* entry comprising space                                    "ALRK230033
*----------------------------------------------------------------------*
* Handhabung Selektionsbild verbessert     06.05.1999 XJD
* - Der ALV wird auch aufgerufen, wenn keine Daten vorliegen
* - die Routine
* - die Routine ANFORDERUNGSBILD wird nicht mehr aufgerufen
* - Fehlermeldungen nur in Zeitpunkt AT SELECTION-SCREEN
* - SELECT ... FOR ALL ENTRIES TTTT nur, wenn Daten in TTTT vorliegen
*----------------------------------------------------------------------*
* Buchungsperiode von MM.JJJJ nach JJJJ.MM ge鋘dert XJD 22.01.1999
*----------------------------------------------------------------------*
* - ohne log. Datenbank IM/M
* - neue Selektion nach Beleg- und Positions-Stati mit Pushbutton
*   und versteckten Parametern
* - die Funktion "Aendern Inventurbeleg" enfaellt
*
* - Nur noch 2. Stati :
*   STANDARD  fuer die Hauptliste
*     Wie wird der Report aufgerufen ?     moegliche Funktionen
*     direkt                               SUMM, AUSW, AUSR
*     von anderen Programm                 SUMM, AUSW, AURS, UEBN
*
*   SUMM      fuer Verzeigungsliste
*
* - Umgestellt auf ALV :
*   es gibt jetzt die beiden Listen :
*   - Hierseq. Liste mit allen selektierten Materialien
*   - Verzweigungsliste mit den Summen pro Material und Lagerorten
*
*   - Gruppenwechsel Material wird jezt im ALV eingestellt,
*     und zwar ueber die Buttons fuer Sortieren
*     GW=*   default  Anzeige : ein Block pro Material
*                     Druck   : eine Seite pro Material
*     GW=UL           alle Materialien in einem fortlaufenden Block
*----------------------------------------------------------------------*
*
*---- Datendefinition -------------------------------------------------*

*--- Externe Tabellen -------------------------------------------------*
TABLES: DM07I,
        ISEG,                          "Inv.- Belegpositionen
        prps,                "WBS element in long format    "n400792
        RM07I,
        VM07I,
        TM07I,
        T148T,
        T159L,
        T320,
        T001L,
        SSCRFIELDS.          "fuer Pushbutton auf Selektionsbild

*--- Datenfelder fuer ALV ---------------------------------------------

TYPE-POOLS: SLIS.

DATA: GS_LAYOUT_1             TYPE SLIS_LAYOUT_ALV,
      GS_LAYOUT_2             TYPE SLIS_LAYOUT_ALV,

      GS_KEYINFO  TYPE SLIS_KEYINFO_ALV,
      G_EXIT_CAUSED_BY_CALLER,
      GS_EXIT_CAUSED_BY_USER    TYPE SLIS_EXIT_BY_USER,
      G_REPID                   LIKE SY-REPID.

* INTERNE TABELLEN FUER FELDKATALOGE
DATA: FIELDCAT    TYPE  SLIS_FIELDCAT_ALV  OCCURS 0 WITH HEADER LINE,
      FIELDCAT_2  TYPE  SLIS_FIELDCAT_ALV  OCCURS 0 WITH HEADER LINE,
      FIELDCAT_3  TYPE  SLIS_FIELDCAT_ALV  OCCURS 0 WITH HEADER LINE.

* TABELLEN FUER ZUORDNUNG EVENTS - FORM-ROUTINEN
DATA : T_EVENTS_1     TYPE  SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE,
       T_EVENTS_2     TYPE  SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE.

* Tabellen fuer Sort
DATA : T_SORT_1   TYPE SLIS_SORTINFO_ALV   OCCURS 0 WITH HEADER LINE,
       T_SORT_2   TYPE SLIS_SORTINFO_ALV   OCCURS 0 WITH HEADER LINE.

* Tabellen mit dem Listenkopftext
DATA : T_UEB_1        TYPE  SLIS_LISTHEADER OCCURS 0 WITH HEADER LINE,
       T_UEB_2        TYPE  SLIS_LISTHEADER OCCURS 0 WITH HEADER LINE,
       T_UEB_3        TYPE  SLIS_LISTHEADER OCCURS 0 WITH HEADER LINE.

* DRUCKPARAMETER
DATA: IS_PRINT TYPE SLIS_PRINT_ALV.

* Anzeigevarianten
DATA: GX_VARIANT LIKE DISVARIANT,
      G_VARIANT  LIKE DISVARIANT,
      G_EXIT(1) TYPE C,
      G_SAVE(1) TYPE C,
      G_DEFAULT(1) TYPE C.

* Tabellen fuer das Einlesen der Beleg-Koepfe
DATA: BEGIN OF XIKPF OCCURS 1.
        INCLUDE STRUCTURE IKPF.
DATA: END OF XIKPF.

*--- Variablen --------------------------------------------------------
DATA: DIFMG    LIKE VM07I-DIFMG,
      DIFVW    LIKE VM07I-DIFVW,
      H_BWKEY  LIKE T001W-BWKEY,
      IBLNR    LIKE ISEG-IBLNR,
      INDEX_Z  LIKE SY-TABIX,
      XTABIX   LIKE SY-TABIX,
      XTAB     LIKE SY-TABIX,
      XKZWM    LIKE DM07I-KZWMD,    " Beleg aus LVS
      MELDUNG  LIKE AM07M-XSELK.

DATA: X_MATNR LIKE ISEG-MATNR,
      Y_MATNR LIKE ISEG-MATNR,
      X_KWART LIKE ISEG-KWART,
      INVFLAG(1)   TYPE C,
      X_GJAHR LIKE ISEG-GJAHR,
      Y_GJAHR LIKE ISEG-GJAHR,
      X_COUNT LIKE ISEG-ZEILI,
      X_IBLNR LIKE ISEG-IBLNR,
      X_MEINS LIKE ISEG-MEINS,
      X_PFKEY TYPE C,
      ALT-WERKS LIKE ISEG-WERKS,
      ALT-LGORT LIKE ISEG-LGORT,
      ALT-SOBKZ LIKE ISEG-SOBKZ,
      ALT-MATNR LIKE ISEG-MATNR,
      OLD-MATNR LIKE ISEG-MATNR.
* Pfaffp: begin - Kein Abbruch bei gel鰏chtem Werk
DATA: DELORG(1)   TYPE C,
      DELWERK     LIKE ISEG-WERKS.
* end

*--- Strukturen der Inventurbelegpositionen ---------------------------*
DATA: BEGIN OF PERBU,
        GJAHR LIKE IKPF-GJAHR,
        POINT TYPE C,
        MONAT LIKE IKPF-MONAT,
      END OF PERBU.

DATA: BEGIN OF IKPF_KEY,
        MANDT LIKE SY-MANDT,
        IBLNR LIKE IKPF-IBLNR,
        GJAHR LIKE IKPF-GJAHR,
      END OF IKPF_KEY.

DATA: BEGIN OF GRU_ALT_BELEG,
        MANDT LIKE SY-MANDT,
        IBLNR LIKE IKPF-IBLNR,
        GJAHR LIKE IKPF-GJAHR,
      END OF GRU_ALT_BELEG.

DATA: BEGIN OF MAKT_KEY,
        MANDT LIKE SY-MANDT,
        MATNR LIKE MAKT-MATNR,
      END OF MAKT_KEY.

DATA: BEGIN OF BUPE1,
        GJAHR LIKE IKPF-GJAHR,
        MONAT LIKE IKPF-MONAT,
      END OF BUPE1.

*--- Interne Tabelle f黵 Inventurpositionsdaten ----------------------*
DATA: BEGIN OF PRE_IKPF OCCURS 0,  "Zum Nachlesen Beleg-Kopf-Segmente
       MANDT LIKE SY-MANDT,
       IBLNR LIKE IKPF-IBLNR,
       GJAHR LIKE IKPF-GJAHR,
     END OF PRE_IKPF.

DATA: BEGIN OF IISEG OCCURS 30.
        INCLUDE STRUCTURE ISEG.
DATA: END OF IISEG.

DATA: BEGIN OF XISEG OCCURS 30.
        INCLUDE STRUCTURE ISEG.
DATA: END OF XISEG.

DATA: BEGIN OF XISEG1 OCCURS 30.
        INCLUDE STRUCTURE ISEG.
DATA: END OF XISEG1.

*--- Interne Tabelle f黵 Bereichssummen          ----------------------*
DATA: BEGIN OF STAB OCCURS 10,
        COUNT LIKE ISEG-ZEILI,
        MATNR LIKE ISEG-MATNR,
        WERKS LIKE ISEG-WERKS,
        LGORT LIKE ISEG-LGORT,
        GJAHR LIKE ISEG-GJAHR,
        DMBTR LIKE ISEG-DMBTR,
        VDMBT LIKE ISEG-DMBTR,
        VDIFM LIKE VM07I-DIFMG,
        DIFMG LIKE VM07I-DIFMG,
        WAERS LIKE ISEG-WAERS,
        MEINS LIKE ISEG-MEINS,
        DIFVW LIKE VM07I-DIFVW,
        VDIFV LIKE VM07I-DIFVW,
        KWART LIKE ISEG-KWART,
        SOBKZ LIKE ISEG-SOBKZ,
        MESSAGE(03) TYPE C,
      END OF STAB.

*--- Interne Tabelle f黵 Bereichssummen          ----------------------*
DATA: BEGIN OF STAB1 OCCURS 10,
        COUNT LIKE ISEG-ZEILI,
        MATNR LIKE ISEG-MATNR,
        WERKS LIKE ISEG-WERKS,
        LGORT LIKE ISEG-LGORT,
        GJAHR LIKE ISEG-GJAHR,
        DMBTR LIKE ISEG-DMBTR,
        DIFMG LIKE VM07I-DIFMG,
        WAERS LIKE ISEG-WAERS,
        MEINS LIKE ISEG-MEINS,
        DIFVW LIKE VM07I-DIFVW,
        KWART LIKE ISEG-KWART,
        SOBKZ LIKE ISEG-SOBKZ,
        MESSAGE(03) TYPE C,
      END OF STAB1.

*--- Interne Tabelle f黵 Bereichssummen          ----------------------*
DATA: BEGIN OF STAB2 OCCURS 10,
        COUNT LIKE ISEG-ZEILI,
        MATNR LIKE ISEG-MATNR,
        WERKS LIKE ISEG-WERKS,
        LGORT LIKE ISEG-LGORT,
        GJAHR LIKE ISEG-GJAHR,
        VDMBT LIKE ISEG-DMBTR,
        VDIFM LIKE VM07I-DIFMG,
        WAERS LIKE ISEG-WAERS,
        MEINS LIKE ISEG-MEINS,
        VDIFV LIKE VM07I-DIFVW,
        KWART LIKE ISEG-KWART,
        SOBKZ LIKE ISEG-SOBKZ,
        MESSAGE(03) TYPE C,
      END OF STAB2.

* diese Tabelle enthaelt die Daten zu einem Material. Sie wird dem
* ALV zum Drucken zugewiesen
* Achtung : der Aufbau weicht vom Aufbau STAB ab !
* Mengen und Werte des Vorjahres werd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值