SAP资产明细报表

前两年别人写的,无自定义表字段。。。直接使用:

*&---------------------------------------------------------------------*
*& Report  ZFIR026
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZFIR026.
*&---------------------------------------------------------------------*
*&  包含                ZFIR101_TOP
*&---------------------------------------------------------------------*
TABLES : ANLA,BKPF,KNA1,CSKT, ANLZ,ANLC,ANLB,LFA1,T006A,ANLH,ANEP,T091P,T090NA,ANLP .
TYPE-POOLS:SLIS.
DATA : BEGIN OF GT_OUT OCCURS 0 ,
         BUKRS   TYPE ANLA-BUKRS, "公司代码
         ANLKL   TYPE ANLA-ANLKL,
         TXK50   TYPE ANKT-TXK50,
         ANLN1   TYPE ANLA-ANLN1,
         ANLN2   TYPE ANLA-ANLN2,
         TXT50   TYPE ANLA-TXT50,
         TXA50   TYPE ANLA-TXA50,
         ANLHTXT TYPE ANLH-ANLHTXT,
         INVZU   TYPE ANLA-INVZU,
         RAUMN   TYPE ANLZ-RAUMN,
         SERNR   TYPE ANLA-SERNR,
         AKTIV   TYPE ANLA-AKTIV,
         MENGE   TYPE ANLA-MENGE,
         UNIT    TYPE T006A-MSEHT,
         KOSTL   TYPE ANLZ-KOSTL,
         LTEXT   TYPE CSKT-LTEXT,
         FKBTX   TYPE TFKBT-FKBTX,
         BELNR   TYPE ANEP-BELNR,
         ORD42   TYPE ANLA-ORD42,
         ORD41   TYPE ANLA-ORD41,
         LIFNR   TYPE ANLA-LIFNR,
         LIEFE   TYPE LFA1-NAME1,
         HERST   TYPE ANLA-HERST,
         XZSRZPZ TYPE ANEP-BELNR,   "新增时入账凭证
         SYNX    TYPE ANLB-NDJAR ,  "使用年限(月)
         YTJYF   TYPE ANLA-ORD44 ,  "已计提月份
         ZCYZ    TYPE ANLC-KANSW ,  "资产原值
         LJZJ    TYPE ANLC-KNAFA ,  "累计折旧
         YTJZ    TYPE ANLC-AUFWB ,  "已提减值
         SYYF    TYPE ANLC-KANSW,   "剩余月份
         DQJTJE  TYPE ANLP-NAFAZ ,   "当期计提金额
         ZCJZ    TYPE ANLC-KANSW ,   "资产净值
         CZ      TYPE ANLC-KANSW,   "残值
         XSTIL   TYPE ANLZ-XSTIL,
       END OF GT_OUT .

DATA : GS_OUT LIKE LINE OF GT_OUT .

DATA : GT_ANLA   TYPE TABLE OF ANLA WITH HEADER LINE,
       GS_ANLA   LIKE LINE OF  GT_ANLA,
*       GT_ANLA_T  TYPE TABLE OF ANLA WITH HEADER LINE ,
*       GS_ANLA_S  LIKE LINE OF  GT_ANLA_T ,
       GT_ANLB   TYPE TABLE OF ANLB WITH HEADER LINE,
       GS_ANLB   LIKE LINE OF  GT_ANLB,
       GT_ANLC   TYPE TABLE OF ANLC WITH HEADER LINE,
       GS_ANLC   LIKE LINE OF  GT_ANLC,
       GT_ANLP   TYPE TABLE OF ANLP WITH HEADER LINE,
       GS_ANLP   LIKE LINE OF  GT_ANLP,
       GT_ANKT   TYPE TABLE OF ANKT WITH HEADER LINE,
       GS_ANKT   LIKE LINE OF  GT_ANKT,
       GT_TFKBT  TYPE TABLE OF TFKBT WITH HEADER LINE,
       GS_TFKBT  LIKE LINE OF  GT_TFKBT,
       GT_CSKS   TYPE TABLE OF CSKS WITH HEADER LINE,
       GS_CSKS   LIKE LINE OF  GT_CSKS,
       GT_CSKT   TYPE TABLE OF CSKT WITH HEADER LINE,
       GS_CSKT   LIKE LINE OF  GT_CSKT,
       GT_BKPF   TYPE TABLE OF BKPF WITH HEADER LINE,
       GS_BKPF   LIKE LINE OF  GT_BKPF,
*       GT_BKPF_T  TYPE TABLE OF BKPF WITH HEADER LINE ,
*       GS_BKPF_S  LIKE LINE OF  GT_BKPF_T ,
       GT_LFA1   TYPE TABLE OF LFA1 WITH HEADER LINE,
       GS_LFA1   LIKE LINE OF  GT_LFA1,
       GT_T006A  TYPE TABLE OF T006A WITH HEADER LINE,
       GS_T006A  LIKE LINE OF  GT_T006A,
*       GT_ANLZ_T  TYPE TABLE OF ANLZ WITH HEADER LINE ,
*       GS_ANLZ_S  LIKE LINE OF  GT_ANLZ_T ,
       GT_ANLZ   TYPE TABLE OF ANLZ WITH HEADER LINE,
       GS_ANLZ   LIKE LINE OF  GT_ANLZ,
       GT_ANLH   TYPE TABLE OF ANLH WITH HEADER LINE,
       GS_ANLH   LIKE LINE OF  GT_ANLH,
       GT_ANEP   TYPE TABLE OF ANEP WITH HEADER LINE,
       GS_ANEP   LIKE LINE OF  GT_ANEP,
       GT_T091P  TYPE TABLE OF T091P WITH HEADER LINE,
       GS_T091P  LIKE LINE OF  GT_T091P,
       GT_T090NA TYPE TABLE OF T090NA WITH HEADER LINE,
       GS_T090NA LIKE LINE OF  GT_T090NA.



DATA:GS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

     GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

     GS_LAYOUT   TYPE SLIS_LAYOUT_ALV.

SELECTION-SCREEN BEGIN OF BLOCK BLK01 WITH FRAME TITLE TEXT-001 .
*PARAMETERS : P_GJAHR LIKE BKPF-GJAHR .
SELECT-OPTIONS :
            S_BUKRS FOR ANLA-BUKRS OBLIGATORY,
            S_GJAHR FOR BKPF-GJAHR OBLIGATORY NO-EXTENSION NO INTERVALS,
            S_MONAT FOR ANLP-PERAF ,
            S_ANLKL FOR ANLA-ANLKL ,
            S_ANLN1 FOR ANLA-ANLN1 ,
            S_ANLN2 FOR ANLA-ANLN2 ,
            S_KOSTL FOR ANLZ-KOSTL ,
            S_ORD41 FOR ANLA-ORD41  .
PARAMETERS P_CH01 AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK BLK01 .



INITIALIZATION .

START-OF-SELECTION .

  PERFORM FRM_GET_DATA .

END-OF-SELECTION .

  PERFORM FRM_FILL_FIELDCAT .
  PERFORM FRM_FILL_LAYOUT .
  PERFORM FRM_LIST_DISPLAY .


*&---------------------------------------------------------------------*
*&  包含                ZFIR101_F01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA .

  CLEAR :GT_ANLA[] ,GT_BKPF[] ,GT_ANLZ[], GT_ANLB[],GT_ANLC[], GT_ANLP[],GT_CSKT[],GT_TFKBT[],GT_LFA1[],GT_CSKS[],GT_ANKT[],GT_T006A[],GT_ANLH[],GT_ANEP[],GT_T090NA[],GT_T091P[] .

  DATA:LINE  TYPE I VALUE 0,
       SUM   TYPE P DECIMALS 2 VALUE 0,
       YEAR  TYPE BKPF-GJAHR VALUE 0,
       MONTH TYPE BKPF-MONAT VALUE 0,
       BZDAT TYPE ANEP-BZDAT VALUE '99991230'.

  IF P_CH01 ='X'.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLA
      FROM ANLA
*    FOR ALL ENTRIES IN GT_ANLP
      WHERE BUKRS IN S_BUKRS
*      BUKRS IN S_BUKRS
      AND   ANLN1 IN S_ANLN1
      AND   ANLN2 IN S_ANLN2
      AND   ANLKL IN S_ANLKL
      AND   ORD41 IN S_ORD41 .
  ELSEIF P_CH01 =''.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLA
   FROM ANLA
*    FOR ALL ENTRIES IN GT_ANLP
   WHERE BUKRS IN S_BUKRS
*      BUKRS IN S_BUKRS
   AND   ANLN1 IN S_ANLN1
   AND   ANLN2 IN S_ANLN2
   AND   ANLKL IN S_ANLKL
   AND   ORD41 IN S_ORD41
   AND   AKTIV NE 0 .
  ENDIF .

  IF GT_ANLA[] IS NOT INITIAL.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLP
      FROM ANLP FOR ALL ENTRIES IN GT_ANLA
      WHERE GJAHR IN S_BUKRS
      AND   BUKRS EQ GT_ANLA-BUKRS
      AND   PERAF IN S_MONAT
      AND   ANLN1 EQ GT_ANLA-ANLN1
      AND   ANLN2 EQ GT_ANLA-ANLN2.

    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLH
      FROM ANLH FOR ALL ENTRIES IN GT_ANLA
      WHERE BUKRS EQ GT_ANLA-BUKRS
      AND ANLN1 EQ GT_ANLA-ANLN1 .

    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANEP
      FROM ANEP FOR ALL ENTRIES IN GT_ANLA
      WHERE  BUKRS EQ GT_ANLA-BUKRS
       AND   ANLN1 EQ GT_ANLA-ANLN1
       AND   ANLN2 EQ GT_ANLA-ANLN2.

*
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANKT
      FROM ANKT FOR ALL ENTRIES IN GT_ANLA
      WHERE ANLKL = GT_ANLA-ANLKL.
*    WHERE ANLKL = S_ANLKL .
*
*
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_T006A"1
       FROM T006A FOR ALL ENTRIES IN GT_ANLA
       WHERE MSEHI = GT_ANLA-MEINS .
*
*
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_LFA1
       FROM LFA1 FOR ALL ENTRIES IN GT_ANLA
       WHERE LIFNR = GT_ANLA-LIFNR .
*
*
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLZ
       FROM ANLZ FOR ALL ENTRIES IN GT_ANLA
       WHERE BUKRS =  GT_ANLA-BUKRS
       AND   ANLN1 =  GT_ANLA-ANLN1
       AND   ANLN2 =  GT_ANLA-ANLN2.
**    去掉成本中心不在选择范围内的值  *
    IF S_KOSTL IS NOT INITIAL AND GT_ANLZ[] IS NOT INITIAL.
      DELETE GT_ANLZ WHERE KOSTL NOT IN S_KOSTL.
      DELETE GT_ANLZ WHERE KOSTL IS INITIAL.
    ENDIF.
*
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLB
      FROM ANLB FOR ALL ENTRIES IN GT_ANLA
      WHERE BUKRS =  GT_ANLA-BUKRS
      AND   ANLN1 =  GT_ANLA-ANLN1
      AND   ANLN2 =  GT_ANLA-ANLN2.
*
    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_ANLC
        FROM ANLC
        FOR ALL ENTRIES IN GT_ANLA
        WHERE BUKRS =  GT_ANLA-BUKRS
        AND   ANLN1 =  GT_ANLA-ANLN1
        AND   ANLN2 =  GT_ANLA-ANLN2.

    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSKS
        FROM CSKS FOR ALL ENTRIES IN GT_ANLZ
*      WHERE KOSTL IN S_KOSTL .
        WHERE KOSTL =  GT_ANLZ-KOSTL .

    IF GT_CSKS[] IS NOT INITIAL.
      SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_CSKT
        FROM CSKT FOR ALL ENTRIES IN GT_CSKS
        WHERE KOSTL =  GT_CSKS-KOSTL
        AND KOKRS = GT_CSKS-KOKRS .

      SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_TFKBT
         FROM TFKBT FOR ALL ENTRIES IN GT_CSKS
         WHERE FKBER =  GT_CSKS-FUNC_AREA .
    ENDIF.

    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_T090NA
      FROM T090NA FOR ALL ENTRIES IN GT_ANLB
      WHERE AFASL =  GT_ANLB-AFASL .

    SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_T091P
      FROM T091P FOR ALL ENTRIES IN GT_T090NA
      WHERE ANHWSL =  GT_T090NA-ANHWSL .
  ENDIF.
  SORT GT_ANLZ BY KOSTL DESCENDING ADATU DESCENDING .
  LOOP AT GT_ANLA INTO GS_ANLA.
    GS_OUT-BUKRS  = GS_ANLA-BUKRS .
    GS_OUT-ANLKL  = GS_ANLA-ANLKL .
    GS_OUT-ANLN1  = GS_ANLA-ANLN1 .
    GS_OUT-ANLN2  = GS_ANLA-ANLN2 .
    GS_OUT-TXT50  = GS_ANLA-TXT50 .
    GS_OUT-TXA50  = GS_ANLA-TXA50 .
    GS_OUT-SERNR  = GS_ANLA-SERNR .
    GS_OUT-AKTIV  = GS_ANLA-AKTIV .
    GS_OUT-MENGE  = GS_ANLA-MENGE .
*    GS_OUT-MEINS  = GS_ANLA-MEINS .
    GS_OUT-INVZU = GS_ANLA-INVZU .
    GS_OUT-ORD42  = GS_ANLA-ORD42 .
    GS_OUT-ORD41  = GS_ANLA-ORD41 .
    GS_OUT-LIFNR  = GS_ANLA-LIFNR .
*    GS_OUT-LIEFE  = GS_ANLA-LIEFE .
    GS_OUT-HERST  = GS_ANLA-HERST .
    READ TABLE GT_ANKT INTO GS_ANKT WITH  KEY ANLKL = GS_ANLA-ANLKL  .
    IF SY-SUBRC = 0 .
      GS_OUT-TXK50 = GS_ANKT-TXK50 .
    ENDIF.
    READ TABLE GT_ANLH INTO GS_ANLH WITH  KEY BUKRS = GS_ANLA-BUKRS
                                              ANLN1 = GS_ANLA-ANLN1   .
    IF SY-SUBRC = 0 .
      GS_OUT-ANLHTXT = GS_ANLH-ANLHTXT.
    ENDIF.

    READ TABLE GT_LFA1 INTO GS_LFA1 WITH  KEY LIFNR = GS_ANLA-LIFNR .
    IF SY-SUBRC = 0.
      GS_OUT-LIEFE = GS_LFA1-NAME1 .
    ENDIF.

    READ TABLE GT_ANLZ INTO GS_ANLZ WITH  KEY BUKRS = GS_ANLA-BUKRS
                                              ANLN1 = GS_ANLA-ANLN1
                                              ANLN2 = GS_ANLA-ANLN2 .
    IF SY-SUBRC = 0.

      READ TABLE GT_CSKS INTO GS_CSKS WITH  KEY KOSTL = GS_ANLZ-KOSTL .
      IF SY-SUBRC = 0.
        GS_OUT-KOSTL = GS_ANLZ-KOSTL .
        GS_OUT-XSTIL = GS_ANLZ-XSTIL .
        GS_OUT-RAUMN = GS_ANLZ-RAUMN .
        READ TABLE GT_CSKT INTO GS_CSKT WITH  KEY KOSTL = GS_ANLZ-KOSTL .
        IF SY-SUBRC = 0 .
          GS_OUT-LTEXT = GS_CSKT-LTEXT .
        ENDIF.
        READ TABLE GT_TFKBT INTO GS_TFKBT WITH  KEY FKBER = GS_CSKS-FUNC_AREA .
        IF SY-SUBRC = 0.
          GS_OUT-FKBTX = GS_TFKBT-FKBTX .
        ENDIF.
      ELSE.
        IF S_KOSTL IS NOT INITIAL.
          CLEAR GS_OUT.
          CONTINUE.
        ENDIF.
      ENDIF .
    ELSE.
      CLEAR GS_OUT.
      CONTINUE.
    ENDIF .

    READ TABLE GT_ANLB INTO GS_ANLB WITH  KEY BUKRS = GS_ANLA-BUKRS
                                              ANLN1 = GS_ANLA-ANLN1
                                              ANLN2 = GS_ANLA-ANLN2
                                              AFABE = '01'.
    IF SY-SUBRC = 0.
      GS_OUT-SYNX = GS_ANLB-NDJAR * 12 + GS_ANLB-NDPER .
    ENDIF.

    LOOP AT GT_ANEP INTO GS_ANEP WHERE  BUKRS = GS_ANLA-BUKRS
                                         AND  ANLN1 = GS_ANLA-ANLN1
                                         AND  ANLN2 = GS_ANLA-ANLN2
                                         AND  AFABE = '01'
                                         AND  BWASL = '100'.
      IF SY-SUBRC = 0.
        IF GS_ANEP-LNSAN IS INITIAL .
          IF GS_ANEP-BZDAT < BZDAT .
            GS_OUT-XZSRZPZ = GS_ANEP-BELNR.
            BZDAT = GS_ANEP-BZDAT .
          ENDIF.
        ENDIF.
      ENDIF.
    ENDLOOP .



    SORT GT_ANLP BY GJAHR PERAF .
    LOOP AT  GT_ANLP INTO GS_ANLP WHERE BUKRS = GS_ANLA-BUKRS AND
                                         ANLN1 = GS_ANLA-ANLN1 AND
                                         ANLN2 = GS_ANLA-ANLN2 AND
                                         AFABER = '01' .
      IF SY-SUBRC = 0.
        IF YEAR NE GS_ANLP-GJAHR OR MONTH NE GS_ANLP-PERAF.
          YEAR = GS_ANLP-GJAHR .
          MONTH = GS_ANLP-PERAF .
          LINE = LINE + 1 .
        ENDIF.
      ENDIF.

    ENDLOOP .
    IF  SY-SUBRC = 0.
      GS_OUT-YTJYF = LINE + GS_ANLA-ORD44 .
    ELSE .
      GS_OUT-YTJYF = GS_ANLA-ORD44 .
    ENDIF.

    READ TABLE GT_T006A INTO GS_T006A WITH  KEY MSEHI = GS_ANLA-MEINS.
    IF SY-SUBRC = 0.
      GS_OUT-UNIT = GS_T006A-MSEHT .
    ENDIF.
    READ TABLE GT_ANLC INTO GS_ANLC WITH  KEY BUKRS = GS_ANLA-BUKRS
                                              ANLN1 = GS_ANLA-ANLN1
                                              ANLN2 = GS_ANLA-ANLN2
                                              AFABE = '01' .
    IF  SY-SUBRC = 0.
      GS_OUT-ZCYZ = GS_ANLC-KANSW + GS_ANLC-ANSWL .
*             GS_OUT-LJZJ = ABSs(GS_ANLC-KNAFA + GS_ANLC-NAFAG)+(GS_ANLC-KAAFA + GS_ANLC-AAFAG)
      GS_OUT-LJZJ = ABS( GS_ANLC-KNAFA + GS_ANLC-NAFAG + GS_ANLC-KAAFA + GS_ANLC-AAFAG ) .
      GS_OUT-YTJZ = ABS( GS_ANLC-KAUFW + GS_ANLC-AUFWB ).

    ENDIF.

*    READ TABLE GT_BKPF INTO GS_BKPF WITH KEY  MONAT = GS_ANLA-MONAT
*                                              BUKRS = GS_ANLA-BUKRS .


    LOOP AT  GT_ANLP INTO GS_ANLP WHERE BUKRS = GS_ANLA-BUKRS AND
                                         ANLN1 = GS_ANLA-ANLN1  AND
                                         ANLN2 = GS_ANLA-ANLN2.
      SUM = SUM + GS_ANLP-NAFAZ .
    ENDLOOP.
    GS_OUT-DQJTJE = ABS( SUM ) .
    IF  GS_OUT-ZCYZ - GS_OUT-YTJZ > 0 .
      GS_OUT-ZCJZ = GS_OUT-ZCYZ - GS_OUT-LJZJ - GS_OUT-YTJZ .
    ELSE .
      GS_OUT-ZCJZ = 0 .
    ENDIF.

    GS_OUT-SYYF = GS_OUT-SYNX - GS_OUT-YTJYF .

    READ TABLE GT_T090NA INTO GS_T090NA WITH  KEY AFASL = GS_ANLB-AFASL .
    IF SY-SUBRC = 0 .
      READ TABLE GT_T091P INTO GS_T091P WITH  KEY ANHWSL = GS_T090NA-ANHWSL .
      IF SY-SUBRC = 0 .
        GS_OUT-CZ = GS_T091P-AHPROZ / 100 * ( GS_ANLC-KANSW + GS_ANLC-ANSWL ) .
      ENDIF .
    ENDIF .
    APPEND GS_OUT TO  GT_OUT .
    CLEAR :GS_OUT,GS_ANLA ,GS_BKPF ,GS_ANLZ, GS_ANLB,GS_ANLC, GS_ANLP,GS_CSKT,GS_TFKBT,GS_LFA1,GS_CSKS,GS_ANKT,GS_T006A,GS_ANLH,GS_ANEP,GS_T090NA,GS_T091P .
    SUM = 0.
    LINE = 0.
    YEAR = 0 .
    MONTH = 0 .
    BZDAT = '99991230'.

  ENDLOOP .
  SORT GT_OUT BY ANLN1.
ENDFORM.                    " FRM_GET_DATA
*&---------------------------------------------------------------------*
*&      Form  FRM_LIST_DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_LIST_DISPLAY .
*  CHECK GT_OUT[] IS NOT INITIAL .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
*     I_INTERFACE_CHECK  = ' '
*     I_BYPASSING_BUFFER = ' '
*     I_BUFFER_ACTIVE    = 'X'
      I_CALLBACK_PROGRAM = SY-REPID
      IS_LAYOUT          = GS_LAYOUT
      IT_FIELDCAT        = GT_FIELDCAT
*     IT_EXCLUDING       =
*     IT_SPECIAL_GROUPS  =
*     IT_SORT            =
*     IT_FILTER          =
*     IS_SEL_HIDE        =
*     I_DEFAULT          = 'X'
      I_SAVE             = 'A'
    TABLES
      T_OUTTAB           = GT_OUT
*   EXCEPTIONS
*     PROGRAM_ERROR      = 1
*     OTHERS             = 2
    .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.


ENDFORM.                    " FRM_LIST_DISPLAY


DEFINE SET_FIELDCAT.
  gs_fieldcat-FIELDNAME = &1.
  gs_fieldcat-COL_POS = &2.
  gs_fieldcat-seltext_l = &3.
  gs_fieldcat-ICON = &4.
  gs_fieldcat-no_zero = &5.
  gs_fieldcat-DECIMALS_OUT = &6.
  APPEND gs_fieldcat to gt_fieldcat.
END-OF-DEFINITION.

FORM FRM_FILL_FIELDCAT  .
  CLEAR GS_FIELDCAT .
  SET_FIELDCAT:
      'BUKRS' 1 '公司代码' '' '' '',
      'ANLKL' 2 '资产类别' '' '' '',
      'TXK50' 3 '资产类别名称' '' '' '',
      'ANLN1' 4 '资产编号' '' 'X' '',
      'ANLN2' 5 '资产次级编号' '' 'X' '',
      'TXT50' 6 '资产名称' '' '' '',
      'TXA50' 7 '型号' '' '' '',
      'SERNR' 8 '原资产编号' '' '' '',
      'AKTIV' 9 '资本化日期' '' '' '',
      'MENGE' 10 '数量' '' '' '0',
      'UNIT' 11 '单位' '' '' '',
      'KOSTL' 12 '成本中心' '' '' '',
      'LTEXT' 13 '成本中心描述' '' '' '',
      'FKBTX' 14 '功能范围' '' '' '',
      'ORD42' 15 '经济用途' '' '' '',
      'XSTIL' 16 '是否停用' '' '' '',
      'ORD41' 17 '变动方式' '' '' '',
      'LIFNR' 18 '供应商编码' '' '' '',
      'LIEFE' 19 '供应商描述' '' '' '',
      'HERST' 20 '制造商' '' '' '',
      'SYNX' 21 '使用年限(月)' '' '' '',
      'YtjYF' 22 '已计提月份' '' '' '',
      'ZCYZ' 23 '资产原值' '' '' '',
      'LJZJ' 24 '累计折旧' '' '' '',
      'YTJZ' 25 '已提减值' '' '' '',
      'DQJTJE' 26 '当期计提金额' '' '' '',
      'ANLHTXT' 27 '文本' '' '' '' ,
      'INVZU' 28 '存放地' '' '' '' ,
      'RAUMN' 29 '保管人' '' '' '' ,
      'XZSRZPZ' 30 '新增时入账凭证' '' '' ''  ,
      'syyf' 31 '剩余月份' '' ''  '0',
      'CZ' 33 '残值' '' '' '' ,
      'ZCJZ' 32 '资产净值' '' '' ''.

ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  FRM_FILL_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_FILL_LAYOUT .
  GS_LAYOUT-ZEBRA = 'X'.
  "is_layout-no_keyfix = ''.
  GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

ENDFORM.                    " FRM_FILL_LAYOUT
原文地址:https://www.cnblogs.com/sapSB/p/5707897.html