ZFI012 ZFI013

这是一个SAP资产管理系统中关于资产信息查询的报告,包括资产编号、公司代码、资产类型、折旧等详细数据,并添加了序列号、供应商、制造商等额外字段。程序通过选择屏幕获取查询条件,生成ALV表格展示结果,支持点击单元格跳转到相关交易代码进行深入操作。
摘要由CSDN通过智能技术生成


REPORT zfi012 .
"TYPE-POOLS: alis.


*&---------------------------------------------------------------------*
*& TABLES
*&---------------------------------------------------------------------*


TABLES: acdoca, anla, ankt, t001 ,bseg.
DATA: gw_layout TYPE lvc_s_layo,
      gw_fcat   TYPE lvc_s_fcat,
      gt_fcat   TYPE lvc_t_fcat.

*----------------------------------------------------------------------*
*       定义工作区和内表:
*----------------------------------------------------------------------*


TYPES: BEGIN OF ty_alv,
         rbukrs  LIKE acdoca-rbukrs, "公司
         butxt   LIKE t001-butxt,    "公司代码名称
         anlkl   LIKE anla-anlkl,    "资产类型
         txk50   LIKE ankt-txk50,    "资产类型描述
         anln1   LIKE acdoca-anln1,  "资产编号
         anln2   LIKE acdoca-anln2,  "资产次级编号
         txt50   LIKE anla-txt50,    "资产描述
         deakt   LIKE anla-deakt,    "不活动日期
         yz      LIKE acdoca-hsl,    "原值
         dyzj    LIKE acdoca-hsl,    "当月折旧
         ljzj    LIKE acdoca-hsl,   "累计折旧
         qmjz    LIKE acdoca-hsl,   "期末账面净值


*         TXA50   LIKE ANLA-TXA50,  "旧资产编号
         txa50   LIKE anla-txa50,  "资产补充描述 ADD BY ibmMY AT 20200420
         aktiv   LIKE anla-aktiv,  "资本化日期
         afasl   LIKE anlb-afasl,   "折旧码
         ndjar   LIKE anlb-ndjar,   "计划使用年
         ndper   LIKE anlb-ndper,   "计划使用月
         afabg   LIKE anlb-afabg,   "这就开始日
         kostl   LIKE anlz-kostl,   "成本中心编码
         ltext   LIKE cskt-ltext,   "成本中心名称
         syzj    LIKE acdoca-hsl,   "上月普通折旧
         flag(1),                  "报废标识
         invnr   LIKE anla-invnr,   "库存注记
         gdlgrp  LIKE anlz-raumn,  "保管人


*        GDLGRP LIKE ANLA-GDLGRP,  "保管人


         menge   LIKE anla-menge,     " 数量
         meins   LIKE  anla-meins,    "单位
         ljzjyf  TYPE  char6,         "累计已折旧月份
         syzjyf  TYPE char6,                          "剩余折旧月份
         bnzj    LIKE acdoca-hsl,           "本年折旧

*&------ 添加序列号、供应商、制造商、贸易伙伴、资产小类、原始资产、执照牌号、内部订单号


         sernr   TYPE anla-sernr,    " 序列号
         liefe   TYPE anla-liefe,    " 供应商
         herst   TYPE anla-herst,    " 制造商
         vbund   TYPE anla-vbund,    " 贸易伙伴
         typbz   TYPE anla-typbz,    " 资产小类
         aibn1   TYPE anla-aibn1,    " 原始资产
         kfzkz   TYPE anlz-kfzkz,    " 执照牌号
         caufn   TYPE anlz-caufn,    " 内部订单号
         anlhtxt TYPE anlh-anlhtxt,  " 资产主号说明

         yz_nc   TYPE acdoca-hsl,    " 原值-年初          "@Bengin-added by ibmcsh at 20018.09.03
         bnljzz  TYPE acdoca-hsl,    " 本年累计增值
         bqzz    TYPE acdoca-hsl,    " 本期增值
         bnljzg  TYPE acdoca-hsl,    " 本年累计转固
         bqzg    TYPE acdoca-hsl,    " 本期转固           "@End-added by ibmcsh at 2018.09.03

*--------------------------------------------------------------------*
*ADD BY ibmMY AT 20200420
         zzwxe   TYPE ekko-rlwrt,  "总维修额
         zdywxe  TYPE ekko-rlwrt,  "当月维修额
         zcz     TYPE anlb-schrw,  "残值
         zczl    TYPE t091t-anhtxt, "残值率
*END BY ibmMY AT 20200420
*--------------------------------------------------------------------*


       END OF ty_alv.


DATA: BEGIN OF wa_acdoca,
        rbukrs      LIKE acdoca-rbukrs,
        butxt       LIKE t001-butxt,
        anlkl       LIKE anla-anlkl,
        txk50       LIKE ankt-txk50,
        anln1       LIKE acdoca-anln1,
        anln2       LIKE acdoca-anln2,
        txt50       LIKE anla-txt50,
        deakt       LIKE anla-deakt,
        hsl         LIKE acdoca-hsl,
        blart       LIKE acdoca-blart,
        racct       LIKE acdoca-racct,
        drcrk       LIKE acdoca-drcrk,
        gjahr       LIKE acdoca-gjahr,
        depr_period LIKE acdoca-depr_period,
        slalittype  LIKE acdoca-slalittype,
        vorgn       LIKE acdoca-vorgn,
        belnr       LIKE acdoca-belnr,
        poper       LIKE acdoca-poper,
        budat       LIKE acdoca-budat,

        panl1       LIKE acdoca-panl1,                    "@Added by ibmcsh at 2018.09.03
      END OF wa_acdoca.

DATA: BEGIN OF wa_t001,
        bukrs LIKE t001-bukrs,
        butxt LIKE t001-butxt,
      END OF wa_t001.

DATA: BEGIN OF wa_cskt,
        kostl LIKE cskt-kostl,
        ltext LIKE cskt-ltext,
      END OF wa_cskt.

DATA: BEGIN OF wa_anla,
        bukrs   LIKE anla-bukrs,
        anlkl   LIKE anla-anlkl,
        txk50   LIKE ankt-txk50,
        anln1   LIKE anla-anln1,
        anln2   LIKE anla-anln2,
        txt50   LIKE anla-txt50,
        deakt   LIKE anla-deakt,
        txa50   LIKE anla-txa50,
        aktiv   LIKE anla-aktiv,
        invnr   LIKE anla-invnr,


*        gdlgrp LIKE anla-gdlgrp,


        gdlgrp  LIKE anlz-raumn,
        afasl   LIKE anlb-afasl,
        ndjar   LIKE anlb-ndjar,
        ndper   LIKE anlb-ndper,
        afabg   LIKE anlb-afabg,
        kostl   LIKE anlz-kostl,
        menge   LIKE anla-menge,     " 数量
        meins   LIKE  anla-meins,    "单位
        ltext   LIKE cskt-ltext,

        sernr   TYPE anla-sernr,    " 序列号
        liefe   TYPE anla-liefe,    " 供应商
        herst   TYPE anla-herst,    " 制造商
        vbund   TYPE anla-vbund,    " 贸易伙伴
        typbz   TYPE anla-typbz,    " 资产小类
        aibn1   TYPE anla-aibn1,    " 原始资产
        kfzkz   TYPE anlz-kfzkz,    " 执照牌号
        caufn   TYPE anlz-caufn,    " 内部订单号
        anlhtxt TYPE anlh-anlhtxt,  " 资产主号说明

      END OF wa_anla.


DATA: BEGIN OF wa_anlz,
        bukrs LIKE anlz-bukrs,
        anln1 LIKE anlz-anln1,
        anln2 LIKE anlz-anln2,
        raumn LIKE anlz-raumn,
        kostl LIKE anlz-kostl,
        adatu LIKE anlz-adatu,
        bdatu LIKE anlz-bdatu,

        kfzkz TYPE anlz-kfzkz,    " 执照牌号
        caufn TYPE anlz-caufn,    " 内部订单号
      END OF wa_anlz.

DATA: it_alv TYPE STANDARD TABLE OF ty_alv,
      wa_alv TYPE ty_alv.

DATA: it_anlz LIKE wa_anlz OCCURS 0.

*DATA: it_alv LIKE wa_alv  OCCURS 0.


DATA: it_acdoca LIKE wa_acdoca OCCURS 0.
DATA: wa_acdoca1 LIKE wa_acdoca.
DATA: it_acdoca1 LIKE wa_acdoca OCCURS 0.
DATA: ls_acdoca LIKE wa_acdoca OCCURS 0.
DATA: it_t001 LIKE wa_t001 OCCURS 0.
DATA: it_cskt LIKE wa_cskt OCCURS 0.
DATA: it_anla LIKE wa_anla OCCURS 0.

DATA: wa_butxt       LIKE t001-butxt,
      i_deakt        LIKE anla-deakt,
      i_deakt1       LIKE anla-deakt,
      p_fiscyearper  LIKE acdoca-fiscyearper,
      p_fiscyearper1 LIKE acdoca-fiscyearper,
      p_gjahr1       LIKE acdoca-gjahr,
      p_period1      LIKE acdoca-depr_period.

"ALV
DATA: wa_layo TYPE lvc_s_layo.
DATA: wa_fcat TYPE lvc_s_fcat,
      it_fcat TYPE lvc_t_fcat.

DATA: s_belnr TYPE RANGE OF acdoca-belnr WITH HEADER LINE.

DATA: go_cl_grid TYPE REF TO cl_gui_alv_grid.

*----------------------------------------------------------------------*
*       定义选择屏幕:查询条件
*----------------------------------------------------------------------*


SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001.


*SELECT-OPTIONS: s_bukrs FOR anla-bukrs OBLIGATORY NO INTERVALS NO-EXTENSION,     "公司代码
*                s_anln1 FOR anla-anln1 OBLIGATORY  NO INTERVALS NO-EXTENSION,    "资产编号
*                s_anln2 FOR anla-anln2 OBLIGATORY,                               "次级编号
*                s_afabe FOR acdoca-afabe OBLIGATORY DEFAULT '01'.                "折旧范围   默认01
*                s_gjahr FOR acdoca-gjahr OBLIGATORY,                                "财年
*                s_depr_p FOR acdoca-depr_period OBLIGATORY                          "折旧期间


  SELECT-OPTIONS:
               s_anlkl  FOR anla-anlkl,    "资产类型,    "资产类型
               s_anln1  FOR acdoca-anln1,
               s_anln2  FOR acdoca-anln2,
               s_afabe  FOR acdoca-afabe OBLIGATORY DEFAULT '01'.


*            p_gjahr FOR acdoca-gjahr OBLIGATORY NO-EXTENSION,                                "财年
*            p_period FOR acdoca-depr_period  OBLIGATORY.                         "折旧期间


  PARAMETERS: s_rbukrs LIKE acdoca-rbukrs DEFAULT '1000',
              p_gjahr  LIKE  acdoca-gjahr OBLIGATORY,
              p_period LIKE  acdoca-depr_period OBLIGATORY,
              p_monat  LIKE  bseg-h_monat NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK blk1.

*&-----------------------------------------*
* INITIALIZATION/选择屏幕前初始化
*&----------------------------------------*


INITIALIZATION.

*&-----------------------------------------------------------------*
*& SELECTION-SCREEN OUTPUT/选择屏幕控制
*&-----------------------------------------------------------------*


AT SELECTION-SCREEN OUTPUT.


*&---在此可以对选择界面输入的条件进行判断


  PERFORM frm_authority_check.


*&-----------------------------------------*
* EVENT START OF SELECTION
*&-----------------------------------------*


START-OF-SELECTION.
  "显示处理状态
  PERFORM frm_show_progress USING TEXT-s01.
  "主要逻辑处理
  CLEAR: gt_fcat[],gw_layout.
  PERFORM frm_main_ibmle CHANGING gt_fcat
                                   gw_layout.

*  PERFORM get_data.
*  PERFORM PREPARE_FIELDCAT.
*  PERFORM ALV_DISPLAY.

END-OF-SELECTION.

*&---------------------------------------------------------------------*
*&      FORM  FRM_AUTHORITY_CHECK
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*      -->P_S_VKBUR_LOW  TEXT
*----------------------------------------------------------------------*


FORM frm_authority_check.
ENDFORM.


*&---------------------------------------------------------------------*
*&      FORM  FRM_SHOW_PROGRESS
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*      -->P_TEXT_S01  TEXT
*----------------------------------------------------------------------*


FORM frm_show_progress USING pv_text_s01.
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      text = pv_text_s01.
ENDFORM.

*&---------------------------------------------------------------------*
*&      FORM  FRM_MAIN_ibmLE
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
*      -->P_GT_OUTPUT  TEXT
*----------------------------------------------------------------------*


FORM frm_main_ibmle CHANGING ct_fcat LIKE gt_fcat
                                cw_layout LIKE gw_layout.

  DATA: lv_error TYPE char1,
        lv_messe TYPE string.

  CLEAR: lv_error, lv_messe.
  "获取展示数据
  PERFORM frm_get_data .


*  CHANGING ct_fcat
*                                LV_ERROR
*                                LV_MESSE.


  IF lv_error = 'E'.
    MESSAGE s000(zfi001) WITH lv_messe DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.

  "ALV展示数据
  PERFORM frm_display_alv CHANGING ct_fcat
                                    cw_layout.

ENDFORM.


*&---------------------------------------------------------------------*
*& FORM FRM_GET_DATA
*&---------------------------------------------------------------------*
*& TEXT
*&---------------------------------------------------------------------*
*      <--P_LV_ERROR  TEXT
*      <--P_LV_MESSE  TEXT
*&---------------------------------------------------------------------*

*FORM FRM_GET_DATA.
*
*  CONCATENATE P_GJAHR P_PERIOD INTO P_FISCYEARPER.
*  CONCATENATE P_GJAHR P_PERIOD+1(2) '01' INTO I_DEAKT.
*  IF P_PERIOD = '001'.
*    P_GJAHR1 = P_GJAHR - 1.
*    P_PERIOD1 ='012'.
*  ENDIF.
*  CONCATENATE P_GJAHR1 P_PERIOD1 INTO P_FISCYEARPER1.
*
*  CLEAR S_BELNR.
*  S_BELNR-SIGN = 'E'.
*  S_BELNR-OPTION = &#

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT养家和SAP养家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值