当前位置:   article > 正文

SAP 输出合并单元格样式的ALV 报表_sap合并单元格

sap合并单元格

前言

最近接到财务的一个需求希望能在SAP中实现研发支出分类的明细报表,EXCEL的原样式有很多的单元格合并的内容,对于这种形式的ALV报表开发我以前也未曾接触过只能抱着试一试的心态去开发,但是功夫不负有心人最终实现了这个需求。

一、找轮子

网上还是有很多关于SAP ALV单元格合并的案例的,很多都是基于 https://tricktresor.de/blog/zellen-verbinden/这个类去实现的,我也是去基于这个类进行了需求的实现

二、造车

有了轮子我们就要开始着手造车了,造车过程中遇到了很多的困难就不在这里讨论了,Talk is cheap,Show me the code

REPORT zrfi015.

*-----------------------------------------------------------------------
* TABLES
*-----------------------------------------------------------------------

TABLES: acdoca , coas.

*-----------------------------------------------------------------------
* INCLUDE
*-----------------------------------------------------------------------

INCLUDE <cl_alv_control>.

*-----------------------------------------------------------------------
* TYPES
*-----------------------------------------------------------------------

TYPES: BEGIN OF ty_alv,
         zfield01(50),  "公司代码
         zfield02(50),  "公司名称
         zfield03(50),  "项目名称
         zfield04(50),  "项目编号
         zfield05(50),  "项目类别
         zfield06(50),  "资本化/费用化支出选项
         zfield07(50),  "工资(固定)
         zfield08(50),  "工资(变动)
         zfield09(50),  "奖金(固定)
         zfield10(50),  "奖金(变动)
         zfield11(50),  "社保(固定)
         zfield12(50),  "社保(变动)
         zfield13(50),  "社保-残障金
         zfield14(50),  "公积金(固定)
         zfield15(50),  "公积金(变动)
         zfield16(50),  "外包劳务费(固定)
         zfield17(50),  "外包劳务费(变动)
         zfield18(50),  "研发活动直接消耗-材料
         zfield19(50),  "研发活动直接消耗-燃料
         zfield20(50),  "研发活动直接消耗-动力费用-水费
         zfield21(50),  "研发活动直接消耗-动力费用-电费
         zfield22(50),  "研发支出-费用化支出-模具工装费
         zfield23(50),  "研发支出-费用化支出-样品、样机购置费
         zfield24(50),  "检测认证费
         zfield25(50),  "维修费
         zfield26(50),  "设备租赁费
         zfield27(50),  "折旧费
         zfield28(50),  "摊销费-无形资产
         zfield29(50),  "研发支出-费用化支出-新产品设计费
         zfield30(50),  "研发支出-费用化支出-新工艺规程制定费
         zfield31(50),  "咨询顾问费
         zfield32(50),  "法律费用
         zfield33(50),  "审计评估费
         zfield34(50),  "人事服务费
         zfield35(50),  "其他专业服务费
         zfield36(50),  "专利费
         zfield37(50),  "商标注册费
         zfield38(50),  "辞退福利
         zfield39(50),  "工会经费(固定)
         zfield40(50),  "工会经费(变动)
         zfield41(50),  "餐费
         zfield42(50),  "团队建设费
         zfield43(50),  "其他福利费
         zfield44(50),  "差旅费
         zfield45(50),  "会议费
         zfield46(50),  "协会费
         zfield47(50),  "劳防费
         zfield48(50),  "保险费
         zfield49(50),  "培训费
         zfield50(50),  "车辆费
         zfield51(50),  "办公费
         zfield52(50),  "邮寄费
         zfield53(50),  "运输费
         zfield54(50),  "招待费
         zfield55(50),  "招聘费
         zfield56(50),  "仓储服务费
         zfield57(50),  "软件许可费
         zfield58(50),  "耗材
         zfield59(50),  "税费
         zfield60(50),  "广宣费
         zfield61(50),  "展会费
         zfield62(50),  "其他售后费
         zfield63(50),  "房租费
         zfield64(50),  "机物料消耗
         zfield65(50),  "摊销费-装修
         zfield66(50),  "摊销费-数据费
         zfield67(50),  "摊销费-广告费
         zfield68(50),  "物业费
         zfield69(50),  "客退返修费
         zfield70(50),  "售后三包材料费
         zfield71(50),  "品牌建设费
         zfield72(50),  "物料报废损失
         zfield73(50),  "停工损失
         zfield74(50),  "网络通信费
         zfield75(50),  "产品运营数据存储费
         zfield76(50),  "环保安全费
         zfield77(50),  "售后三包-质量保证金
         zfield78(50),  "办公用具
         zfield79(50),  "低值易耗品
         zfield80(50),  "质量损失
         zfield81(50),  "股份支付
         zfield82(50),  "其他费用
         zfield83(50),  "研发支出-费用化支出-委托境外研发费用
         zfield84(50),  "研发支出-费用化支出-委托境内研发费用
         zfield85(50),  "副产品产出
         zfield86(50),  "其他结转
         zfield87(50),  "余额
         zfield88(50),  "合计
         zsel         TYPE c,
       END OF ty_alv.

TYPES: BEGIN OF ty_alv1,
         zfield01     TYPE acdoca-rbukrs, "公司代码
         zfield02     TYPE t001-butxt,    "公司名称
         zfield03     TYPE coas-ktext,    "项目名称
         zfield04     TYPE acdoca-aufnr,  "项目编号
         zfield05     TYPE coas-auart,    "项目类别
         zfield06(10) TYPE c,             "资本化/费用化支出选项
         zfield07     TYPE acdoca-hsl,    "工资(固定)
         zfield08     TYPE acdoca-hsl,    "工资(变动)
         zfield09     TYPE acdoca-hsl,    "奖金(固定)
         zfield10     TYPE acdoca-hsl,    "奖金(变动)
         zfield11     TYPE acdoca-hsl,    "社保(固定)
         zfield12     TYPE acdoca-hsl,    "社保(变动)
         zfield13     TYPE acdoca-hsl,    "社保-残障金
         zfield14     TYPE acdoca-hsl,    "公积金(固定)
         zfield15     TYPE acdoca-hsl,    "公积金(变动)
         zfield16     TYPE acdoca-hsl,    "外包劳务费(固定)
         zfield17     TYPE acdoca-hsl,    "外包劳务费(变动)
         zfield18     TYPE acdoca-hsl,    "研发活动直接消耗-材料
         zfield19     TYPE acdoca-hsl,    "研发活动直接消耗-燃料
         zfield20     TYPE acdoca-hsl,    "研发活动直接消耗-动力费用-水费
         zfield21     TYPE acdoca-hsl,    "研发活动直接消耗-动力费用-电费
         zfield22     TYPE acdoca-hsl,    "研发支出-费用化支出-模具工装费
         zfield23     TYPE acdoca-hsl,    "研发支出-费用化支出-样品、样机购置费
         zfield24     TYPE acdoca-hsl,    "检测认证费
         zfield25     TYPE acdoca-hsl,    "维修费
         zfield26     TYPE acdoca-hsl,    "设备租赁费
         zfield27     TYPE acdoca-hsl,    "折旧费
         zfield28     TYPE acdoca-hsl,    "摊销费-无形资产
         zfield29     TYPE acdoca-hsl,    "研发支出-费用化支出-新产品设计费
         zfield30     TYPE acdoca-hsl,    "研发支出-费用化支出-新工艺规程制定费
         zfield31     TYPE acdoca-hsl,    "咨询顾问费
         zfield32     TYPE acdoca-hsl,    "法律费用
         zfield33     TYPE acdoca-hsl,    "审计评估费
         zfield34     TYPE acdoca-hsl,    "人事服务费
         zfield35     TYPE acdoca-hsl,    "其他专业服务费
         zfield36     TYPE acdoca-hsl,    "专利费
         zfield37     TYPE acdoca-hsl,    "商标注册费
         zfield38     TYPE acdoca-hsl,    "辞退福利
         zfield39     TYPE acdoca-hsl,    "工会经费(固定)
         zfield40     TYPE acdoca-hsl,    "工会经费(变动)
         zfield41     TYPE acdoca-hsl,    "餐费
         zfield42     TYPE acdoca-hsl,    "团队建设费
         zfield43     TYPE acdoca-hsl,    "其他福利费
         zfield44     TYPE acdoca-hsl,    "差旅费
         zfield45     TYPE acdoca-hsl,    "会议费
         zfield46     TYPE acdoca-hsl,    "协会费
         zfield47     TYPE acdoca-hsl,    "劳防费
         zfield48     TYPE acdoca-hsl,    "保险费
         zfield49     TYPE acdoca-hsl,    "培训费
         zfield50     TYPE acdoca-hsl,    "车辆费
         zfield51     TYPE acdoca-hsl,    "办公费
         zfield52     TYPE acdoca-hsl,    "邮寄费
         zfield53     TYPE acdoca-hsl,    "运输费
         zfield54     TYPE acdoca-hsl,    "招待费
         zfield55     TYPE acdoca-hsl,    "招聘费
         zfield56     TYPE acdoca-hsl,    "仓储服务费
         zfield57     TYPE acdoca-hsl,    "软件许可费
         zfield58     TYPE acdoca-hsl,    "耗材
         zfield59     TYPE acdoca-hsl,    "税费
         zfield60     TYPE acdoca-hsl,    "广宣费
         zfield61     TYPE acdoca-hsl,    "展会费
         zfield62     TYPE acdoca-hsl,    "其他售后费
         zfield63     TYPE acdoca-hsl,    "房租费
         zfield64     TYPE acdoca-hsl,    "机物料消耗
         zfield65     TYPE acdoca-hsl,    "摊销费-装修
         zfield66     TYPE acdoca-hsl,    "摊销费-数据费
         zfield67     TYPE acdoca-hsl,    "摊销费-广告费
         zfield68     TYPE acdoca-hsl,    "物业费
         zfield69     TYPE acdoca-hsl,    "客退返修费
         zfield70     TYPE acdoca-hsl,    "售后三包材料费
         zfield71     TYPE acdoca-hsl,    "品牌建设费
         zfield72     TYPE acdoca-hsl,    "物料报废损失
         zfield73     TYPE acdoca-hsl,    "停工损失
         zfield74     TYPE acdoca-hsl,    "网络通信费
         zfield75     TYPE acdoca-hsl,    "产品运营数据存储费
         zfield76     TYPE acdoca-hsl,    "环保安全费
         zfield77     TYPE acdoca-hsl,    "售后三包-质量保证金
         zfield78     TYPE acdoca-hsl,    "办公用具
         zfield79     TYPE acdoca-hsl,    "低值易耗品
         zfield80     TYPE acdoca-hsl,    "质量损失
         zfield81     TYPE acdoca-hsl,    "股份支付
         zfield82     TYPE acdoca-hsl,    "其他费用
         zfield83     TYPE acdoca-hsl,    "研发支出-费用化支出-委托境外研发费用
         zfield84     TYPE acdoca-hsl,    "研发支出-费用化支出-委托境内研发费用
         zfield85     TYPE acdoca-hsl,    "副产品产出
         zfield86     TYPE acdoca-hsl,    "其他结转
         zfield87     TYPE acdoca-hsl,    "余额
         zfield88     TYPE acdoca-hsl,    "合计
       END OF ty_alv1.

TYPES: BEGIN OF ty_data,
         bukrs TYPE t001-bukrs,
         butxt TYPE t001-butxt,
         aufnr TYPE coas-aufnr,
         auart TYPE coas-auart,
         ktext TYPE coas-ktext,
         racct TYPE acdoca-racct,
         hsl   TYPE acdoca-hsl,
       END OF ty_data.

*-----------------------------------------------------------------------
* DATA
*-----------------------------------------------------------------------

DATA ok_code_9000     LIKE sy-ucomm.

DATA: gs_alv     TYPE ty_alv,
      gt_alv     TYPE TABLE OF ty_alv,
      gs_alv1    TYPE ty_alv1,
      gt_alv1    TYPE TABLE OF ty_alv1,
      gs_data    TYPE ty_data,
      gt_data    TYPE TABLE OF ty_data,
      gs_variant TYPE disvariant,
      gs_stbl    TYPE lvc_s_stbl.

DATA: cl_grid_9000      TYPE REF TO cl_gui_alv_grid,
      cl_container_9000 TYPE REF TO cl_gui_custom_container.

*-----------------------------------------------------------------------
* CLASS LCL_EVENT_RECEIVER DEFINITION
*-----------------------------------------------------------------------

CLASS cl_event_receiver DEFINITION.
  PUBLIC SECTION.
    METHODS handle_modify  FOR EVENT data_changed_finished OF cl_gui_alv_grid
      IMPORTING e_modified et_good_cells.
ENDCLASS.

*-----------------------------------------------------------------------
* CLASS LCL_EVENT_RECEIVER IMPLEMENTATION
*-----------------------------------------------------------------------

CLASS cl_event_receiver IMPLEMENTATION.
  METHOD handle_modify.
    PERFORM frm_modify USING e_modified et_good_cells.
  ENDMETHOD.
ENDCLASS.

*-----------------------------------------------------------------------
* P A R A M E T E R S   &   S E L E C T - O P T I O N S
*-----------------------------------------------------------------------

SELECTION-SCREEN BEGIN OF BLOCK bk1.
SELECT-OPTIONS: s_bukrs FOR acdoca-rbukrs,
                s_auart FOR coas-auart    NO INTERVALS OBLIGATORY,
                s_aufnr FOR coas-aufnr,
                s_budat FOR acdoca-budat.
SELECTION-SCREEN END OF BLOCK bk1.

*----------------------------------------------------------------------*
* ALV层级关系定义
*----------------------------------------------------------------------*

DATA: gs_layout TYPE lvc_s_layo.

DATA: gs_fieldcat TYPE lvc_s_fcat,
      gt_fieldcat TYPE lvc_t_fcat,
      gt_ztfi012  TYPE TABLE OF ztfi012.

*---------------------------------------------------------------------*
* INITIALIZATION
*---------------------------------------------------------------------*

INITIALIZATION.

*---------------------------------------------------------------------*
* START-OF-SELECTION
*---------------------------------------------------------------------*

START-OF-SELECTION.

  PERFORM frm_layout.
  PERFORM frm_set_fieldacat.
  PERFORM frm_get_data.
  CALL SCREEN 9000.

END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form FRM_LAYOUT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_layout.

  gs_layout-box_fname = 'ZSEL'.
*  gs_layout-zebra = 'X'.
  gs_layout-cwidth_opt = 'X'."设置Grid的字段列宽度自动适应
  gs_layout-no_headers = 'X'."隐藏列抬头

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_FIELDACAT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_set_fieldacat .

  DATA: lv_lines         TYPE int4,
        lv_fieldname(50).

  FIELD-SYMBOLS: <lf_zfield>,
                 <lf_alv>,
                 <lf_value>.

  RANGES: r_zfield FOR t001-butxt.

  SELECT
    *
  INTO TABLE @DATA(gt_ztfi012)
  FROM
    ztfi012
  ORDER BY zrow.

  DO 87 TIMES.

    IF sy-index < 10.
      lv_fieldname = 'ZFIELD' && '0' && sy-index.
    ELSE.
      lv_fieldname = 'ZFIELD' && sy-index.
    ENDIF.

    gs_fieldcat-fieldname = lv_fieldname.
    gs_fieldcat-col_pos = sy-index.
    gs_fieldcat-tabname   = '1'.
    gs_fieldcat-datatype  = 'CHAR'.
    gs_fieldcat-inttype   = 'C'.
    gs_fieldcat-intlen    = 50.
    IF sy-index > 1.
      gs_fieldcat-outputlen    = 6.
    ELSE.
      gs_fieldcat-outputlen    = 50.
    ENDIF.
    gs_fieldcat-reptext   = lv_fieldname.
    gs_fieldcat-scrtext_l = lv_fieldname.
    gs_fieldcat-scrtext_m = lv_fieldname.
    gs_fieldcat-scrtext_s = lv_fieldname.
    gs_fieldcat-ref_table = 'EKPO'.
    gs_fieldcat-ref_field = 'MENGE'.

    APPEND gs_fieldcat TO gt_fieldcat.

    CLEAR: lv_fieldname , gs_fieldcat.

  ENDDO.

  "抬头模板设置
  LOOP AT gt_ztfi012 ASSIGNING FIELD-SYMBOL(<lf_ztfi012>).
    AT NEW zrow.
      LOOP AT gt_ztfi012 INTO DATA(ls_ztfi012) WHERE zrow EQ <lf_ztfi012>-zrow .
        ASSIGN COMPONENT ls_ztfi012-zfield OF STRUCTURE gs_alv TO <lf_zfield>.
        IF <lf_zfield> IS ASSIGNED.
          <lf_zfield> = ls_ztfi012-zvalue.
        ENDIF.
        CLEAR ls_ztfi012.
      ENDLOOP.
      APPEND gs_alv TO gt_alv.
      CLEAR gs_alv.
    ENDAT.
  ENDLOOP.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_get_data .

  DATA: lv_zoption(3) TYPE c,
        lv_sum        TYPE acdoca-hsl,
        lv_zfield07   TYPE acdoca-hsl,
        lv_zfield08   TYPE acdoca-hsl,
        lv_zfield09   TYPE acdoca-hsl,
        lv_zfield10   TYPE acdoca-hsl,
        lv_zfield11   TYPE acdoca-hsl,
        lv_zfield12   TYPE acdoca-hsl,
        lv_zfield13   TYPE acdoca-hsl,
        lv_zfield14   TYPE acdoca-hsl,
        lv_zfield15   TYPE acdoca-hsl,
        lv_zfield16   TYPE acdoca-hsl,
        lv_zfield17   TYPE acdoca-hsl,
        lv_zfield18   TYPE acdoca-hsl,
        lv_zfield19   TYPE acdoca-hsl,
        lv_zfield20   TYPE acdoca-hsl,
        lv_zfield21   TYPE acdoca-hsl,
        lv_zfield22   TYPE acdoca-hsl,
        lv_zfield23   TYPE acdoca-hsl,
        lv_zfield24   TYPE acdoca-hsl,
        lv_zfield25   TYPE acdoca-hsl,
        lv_zfield26   TYPE acdoca-hsl,
        lv_zfield27   TYPE acdoca-hsl,
        lv_zfield28   TYPE acdoca-hsl,
        lv_zfield29   TYPE acdoca-hsl,
        lv_zfield30   TYPE acdoca-hsl,
        lv_zfield31   TYPE acdoca-hsl,
        lv_zfield32   TYPE acdoca-hsl,
        lv_zfield33   TYPE acdoca-hsl,
        lv_zfield34   TYPE acdoca-hsl,
        lv_zfield35   TYPE acdoca-hsl,
        lv_zfield36   TYPE acdoca-hsl,
        lv_zfield37   TYPE acdoca-hsl,
        lv_zfield38   TYPE acdoca-hsl,
        lv_zfield39   TYPE acdoca-hsl,
        lv_zfield40   TYPE acdoca-hsl,
        lv_zfield41   TYPE acdoca-hsl,
        lv_zfield42   TYPE acdoca-hsl,
        lv_zfield43   TYPE acdoca-hsl,
        lv_zfield44   TYPE acdoca-hsl,
        lv_zfield45   TYPE acdoca-hsl,
        lv_zfield46   TYPE acdoca-hsl,
        lv_zfield47   TYPE acdoca-hsl,
        lv_zfield48   TYPE acdoca-hsl,
        lv_zfield49   TYPE acdoca-hsl,
        lv_zfield50   TYPE acdoca-hsl,
        lv_zfield51   TYPE acdoca-hsl,
        lv_zfield52   TYPE acdoca-hsl,
        lv_zfield53   TYPE acdoca-hsl,
        lv_zfield54   TYPE acdoca-hsl,
        lv_zfield55   TYPE acdoca-hsl,
        lv_zfield56   TYPE acdoca-hsl,
        lv_zfield57   TYPE acdoca-hsl,
        lv_zfield58   TYPE acdoca-hsl,
        lv_zfield59   TYPE acdoca-hsl,
        lv_zfield60   TYPE acdoca-hsl,
        lv_zfield61   TYPE acdoca-hsl,
        lv_zfield62   TYPE acdoca-hsl,
        lv_zfield63   TYPE acdoca-hsl,
        lv_zfield64   TYPE acdoca-hsl,
        lv_zfield65   TYPE acdoca-hsl,
        lv_zfield66   TYPE acdoca-hsl,
        lv_zfield67   TYPE acdoca-hsl,
        lv_zfield68   TYPE acdoca-hsl,
        lv_zfield69   TYPE acdoca-hsl,
        lv_zfield70   TYPE acdoca-hsl,
        lv_zfield71   TYPE acdoca-hsl,
        lv_zfield72   TYPE acdoca-hsl,
        lv_zfield73   TYPE acdoca-hsl,
        lv_zfield74   TYPE acdoca-hsl,
        lv_zfield75   TYPE acdoca-hsl,
        lv_zfield76   TYPE acdoca-hsl,
        lv_zfield77   TYPE acdoca-hsl,
        lv_zfield78   TYPE acdoca-hsl,
        lv_zfield79   TYPE acdoca-hsl,
        lv_zfield80   TYPE acdoca-hsl,
        lv_zfield81   TYPE acdoca-hsl,
        lv_zfield82   TYPE acdoca-hsl,
        lv_zfield83   TYPE acdoca-hsl,
        lv_zfield84   TYPE acdoca-hsl,
        lv_zfield85   TYPE acdoca-hsl,
        lv_zfield86   TYPE acdoca-hsl,
        lv_zfield87   TYPE acdoca-hsl,
        lv_zfield88   TYPE acdoca-hsl,
        lv_index      TYPE string,
        lv_tmp        TYPE string.

  FIELD-SYMBOLS <fs> .

  SELECT
    acdoca~rbukrs AS bukrs,     "公司代码
    acdoca~racct,               "科目号
    coas~ktext,                 "描述
    coas~aufnr,                 "订单号
    coas~auart,                 "订单类型
    t001~butxt,                 "公司名称
    acdoca~hsl                  "以公司代码货币记的金额
  INTO TABLE @DATA(lt_data)
  FROM
    acdoca
  INNER JOIN coas ON acdoca~aufnr EQ coas~aufnr
  INNER JOIN t001 ON acdoca~rbukrs EQ t001~bukrs AND
                     t001~spras EQ @sy-langu
  WHERE
    acdoca~rbukrs IN @s_bukrs AND
    acdoca~budat  IN @s_budat AND
    coas~aufnr    IN @s_aufnr AND
    coas~auart    IN @s_auart
        .

  SORT lt_data BY bukrs racct ktext aufnr auart butxt.

  LOOP AT lt_data INTO DATA(ls_data).

    "公司代码
    ASSIGN COMPONENT 'ZFIELD01' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield01>).
    IF <lf_zfield01> IS ASSIGNED.
      <lf_zfield01> = ls_data-bukrs.
    ENDIF.

    "公司名称
    ASSIGN COMPONENT 'ZFIELD02' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield02>).
    IF <lf_zfield02> IS ASSIGNED.
      <lf_zfield02> = ls_data-butxt.
    ENDIF.

    "项目名称
    ASSIGN COMPONENT 'ZFIELD03' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield03>).
    IF <lf_zfield03> IS ASSIGNED.
      <lf_zfield03> = ls_data-ktext.
    ENDIF.

    "项目编号
    ASSIGN COMPONENT 'ZFIELD04' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield04>).
    IF <lf_zfield04> IS ASSIGNED.
      <lf_zfield04> = ls_data-aufnr.
    ENDIF.

    "项目类别
    ASSIGN COMPONENT 'ZFIELD05' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield05>).
    IF <lf_zfield05> IS ASSIGNED.
      <lf_zfield05> = ls_data-auart.
    ENDIF.

    "项目类别名称
    IF <lf_zfield05> EQ 'RD01'.
      lv_zoption = '费用化'.
    ELSEIF <lf_zfield05> EQ 'RD02'.
      lv_zoption = '资本化'.
    ENDIF.

    ASSIGN COMPONENT 'ZFIELD06' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield06>).
    IF <lf_zfield06> IS ASSIGNED.
      <lf_zfield06> = lv_zoption.
    ENDIF.

    CASE ls_data-racct.
      WHEN '8000010100'. "工资(固定)
        ASSIGN COMPONENT 'ZFIELD07' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield07>).
        IF <lf_zfield07> IS ASSIGNED.
          <lf_zfield07> = ls_data-hsl.
        ENDIF.
      WHEN '8000010120'. "工资(变动)
        ASSIGN COMPONENT 'ZFIELD08' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield08>).
        IF <lf_zfield08> IS ASSIGNED.
          <lf_zfield08> = ls_data-hsl.
        ENDIF.
      WHEN '8000010200'. "奖金(固定)
        ASSIGN COMPONENT 'ZFIELD09' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield09>).
        IF <lf_zfield09> IS ASSIGNED.
          <lf_zfield09> = ls_data-hsl.
        ENDIF.
      WHEN '8000010220'. "奖金(变动)
        ASSIGN COMPONENT 'ZFIELD10' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield10>).
        IF <lf_zfield10> IS ASSIGNED.
        ENDIF.
      WHEN '8000010400'. "社保(固定)
        ASSIGN COMPONENT 'ZFIELD11' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield11>).
        IF <lf_zfield11> IS ASSIGNED.
          <lf_zfield11> = ls_data-hsl.
        ENDIF.
      WHEN '8000010420'. "社保(变动)
        ASSIGN COMPONENT 'ZFIELD12' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield12>).
        IF <lf_zfield12> IS ASSIGNED.
          <lf_zfield12> = ls_data-hsl.
        ENDIF.
      WHEN '8000010410'. "社保-残障金
        ASSIGN COMPONENT 'ZFIELD13' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield13>).
        IF <lf_zfield13> IS ASSIGNED.
          <lf_zfield13> = ls_data-hsl.
        ENDIF.
      WHEN '8000010500'. "公积金(固定)
        ASSIGN COMPONENT 'ZFIELD14' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield14>).
        IF <lf_zfield14> IS ASSIGNED.
          <lf_zfield14> = ls_data-hsl.
        ENDIF.
      WHEN '8000010520'. "公积金(变动)
        ASSIGN COMPONENT 'ZFIELD15' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield15>).
        IF <lf_zfield15> IS ASSIGNED.
          <lf_zfield15> = ls_data-hsl.
        ENDIF.
      WHEN '8000011700'. "外包劳务费(固定)
        ASSIGN COMPONENT 'ZFIELD16' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield16>).
        IF <lf_zfield16> IS ASSIGNED.
          <lf_zfield16> = ls_data-hsl.
        ENDIF.
      WHEN '8000011720'. "外包劳务费(变动)
        ASSIGN COMPONENT 'ZFIELD17' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield17>).
        IF <lf_zfield17> IS ASSIGNED.
          <lf_zfield17> = ls_data-hsl.
        ENDIF.
      WHEN '8000017300'. "研发支出-费用化支出-原材料
        ASSIGN COMPONENT 'ZFIELD18' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield18>).
        IF <lf_zfield18> IS ASSIGNED.
          <lf_zfield18> = ls_data-hsl.
        ENDIF.
      WHEN '8000012700'. "气费
        ASSIGN COMPONENT 'ZFIELD19' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield19>).
        IF <lf_zfield19> IS ASSIGNED.
          <lf_zfield19> = ls_data-hsl.
        ENDIF.
      WHEN '8000012500'. "水费
        ASSIGN COMPONENT 'ZFIELD20' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield20>).
        IF <lf_zfield20> IS ASSIGNED.
          <lf_zfield20> = ls_data-hsl.
        ENDIF.
      WHEN '8000012600'. "电费
        ASSIGN COMPONENT 'ZFIELD21' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield21>).
        IF <lf_zfield21> IS ASSIGNED.
          <lf_zfield21> = ls_data-hsl.
        ENDIF.
      WHEN '8000017400'. "研发支出-费用化支出-模具工装费
        ASSIGN COMPONENT 'ZFIELD22' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield22>).
        IF <lf_zfield22> IS ASSIGNED.
          <lf_zfield22> = ls_data-hsl.
        ENDIF.
      WHEN '8000017500'. "研发支出-费用化支出-样品、样机购置费
        ASSIGN COMPONENT 'ZFIELD23' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield23>).
        IF <lf_zfield23> IS ASSIGNED.
          <lf_zfield23> = ls_data-hsl.
        ENDIF.
      WHEN '8000016600'. "检测认证费
        ASSIGN COMPONENT 'ZFIELD24' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield24>).
        IF <lf_zfield24> IS ASSIGNED.
          <lf_zfield24> = ls_data-hsl.
        ENDIF.
      WHEN '8000014300'. "维修费
        ASSIGN COMPONENT 'ZFIELD25' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield25>).
        IF <lf_zfield25> IS ASSIGNED.
          <lf_zfield25> = ls_data-hsl.
        ENDIF.
      WHEN '8000012300'. "设备租赁费
        ASSIGN COMPONENT 'ZFIELD26' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield26>).
        IF <lf_zfield26> IS ASSIGNED.
          <lf_zfield26> = ls_data-hsl.
        ENDIF.
      WHEN '8000014400'. "折旧费
        ASSIGN COMPONENT 'ZFIELD27' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield27>).
        IF <lf_zfield27> IS ASSIGNED.
          <lf_zfield27> = ls_data-hsl.
        ENDIF.
      WHEN '8000014500'. "摊销费-无形资产
        ASSIGN COMPONENT 'ZFIELD28' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield28>).
        IF <lf_zfield28> IS ASSIGNED.
          <lf_zfield28> = ls_data-hsl.
        ENDIF.
      WHEN '8000017600'. "新产品设计费
        ASSIGN COMPONENT 'ZFIELD29' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield29>).
        IF <lf_zfield29> IS ASSIGNED.
          <lf_zfield29> = ls_data-hsl.
        ENDIF.
      WHEN '8000017700'. "新工艺规程制定费
        ASSIGN COMPONENT 'ZFIELD30' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield30>).
        IF <lf_zfield30> IS ASSIGNED.
          <lf_zfield30> = ls_data-hsl.
        ENDIF.
      WHEN '8000016700'. "咨询顾问费
        ASSIGN COMPONENT 'ZFIELD31' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield31>).
        IF <lf_zfield31> IS ASSIGNED.
          <lf_zfield31> = ls_data-hsl.
        ENDIF.
      WHEN '8000013500'. "法律费用
        ASSIGN COMPONENT 'ZFIELD32' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield32>).
        IF <lf_zfield32> IS ASSIGNED.
          <lf_zfield32> = ls_data-hsl.
        ENDIF.
      WHEN '8000013600'. "审计评估费
        ASSIGN COMPONENT 'ZFIELD33' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield33>).
        IF <lf_zfield33> IS ASSIGNED.
          <lf_zfield33> = ls_data-hsl.
        ENDIF.
      WHEN '8000016500'. "人事服务费
        ASSIGN COMPONENT 'ZFIELD34' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield34>).
        IF <lf_zfield34> IS ASSIGNED.
          <lf_zfield34> = ls_data-hsl.
        ENDIF.
      WHEN '8000013700'. "其他专业服务费
        ASSIGN COMPONENT 'ZFIELD35' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield35>).
        IF <lf_zfield35> IS ASSIGNED.
          <lf_zfield35> = ls_data-hsl.
        ENDIF.
      WHEN '8000013300'. "专利费
        ASSIGN COMPONENT 'ZFIELD36' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield36>).
        IF <lf_zfield36> IS ASSIGNED.
          <lf_zfield36> = ls_data-hsl.
        ENDIF.
      WHEN '8000013400'. "商标注册费
        ASSIGN COMPONENT 'ZFIELD37' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield37>).
        IF <lf_zfield37> IS ASSIGNED.
          <lf_zfield37> = ls_data-hsl.
        ENDIF.
      WHEN '8000010110'. "辞退福利
        ASSIGN COMPONENT 'ZFIELD38' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield38>).
        IF <lf_zfield38> IS ASSIGNED.
          <lf_zfield38> = ls_data-hsl.
        ENDIF.
      WHEN '8000010900'. "工会经费(固定)
        ASSIGN COMPONENT 'ZFIELD39' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield39>).
        IF <lf_zfield39> IS ASSIGNED.
          <lf_zfield39> = ls_data-hsl.
        ENDIF.
      WHEN '8000010920'. "工会经费(变动)
        ASSIGN COMPONENT 'ZFIELD40' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield40>).
        IF <lf_zfield40> IS ASSIGNED.
          <lf_zfield40> = ls_data-hsl.
        ENDIF.
      WHEN '8000010600'. "餐费
        ASSIGN COMPONENT 'ZFIELD41' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield41>).
        IF <lf_zfield41> IS ASSIGNED.
          <lf_zfield41> = ls_data-hsl.
        ENDIF.
      WHEN '8000010700'. "团队建设费
        ASSIGN COMPONENT 'ZFIELD42' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield42>).
        IF <lf_zfield42> IS ASSIGNED.
          <lf_zfield42> = ls_data-hsl.
        ENDIF.
      WHEN '8000010800'. "其他福利费
        ASSIGN COMPONENT 'ZFIELD43' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield43>).
        IF <lf_zfield43> IS ASSIGNED.
          <lf_zfield43> = ls_data-hsl.
        ENDIF.
      WHEN '8000011300'. "差旅费
        ASSIGN COMPONENT 'ZFIELD44' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield44>).
        IF <lf_zfield44> IS ASSIGNED.
          <lf_zfield44> = ls_data-hsl.
        ENDIF.
      WHEN '8000011600'. "会议费
        ASSIGN COMPONENT 'ZFIELD45' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield45>).
        IF <lf_zfield45> IS ASSIGNED.
          <lf_zfield45> = ls_data-hsl.
        ENDIF.
      WHEN '8000012900'. "协会费
        ASSIGN COMPONENT 'ZFIELD46' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield46>).
        IF <lf_zfield46> IS ASSIGNED.
          <lf_zfield46> = ls_data-hsl.
        ENDIF.
      WHEN '8000011000'. "劳防费
        ASSIGN COMPONENT 'ZFIELD47' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield47>).
        IF <lf_zfield47> IS ASSIGNED.
          <lf_zfield47> = ls_data-hsl.
        ENDIF.
      WHEN '8000011100'. "保险费
        ASSIGN COMPONENT 'ZFIELD48' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield48>).
        IF <lf_zfield48> IS ASSIGNED.
          <lf_zfield48> = ls_data-hsl.
        ENDIF.
      WHEN '8000011200'. "培训费
        ASSIGN COMPONENT 'ZFIELD49' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield49>).
        IF <lf_zfield49> IS ASSIGNED.
          <lf_zfield49> = ls_data-hsl.
        ENDIF.
      WHEN '8000011400'. "车辆费
        ASSIGN COMPONENT 'ZFIELD50' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield50>).
        IF <lf_zfield50> IS ASSIGNED.
          <lf_zfield50> = ls_data-hsl.
        ENDIF.
      WHEN '8000011800'. "办公费
        ASSIGN COMPONENT 'ZFIELD51' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield51>).
        IF <lf_zfield51> IS ASSIGNED.
          <lf_zfield51> = ls_data-hsl.
        ENDIF.
      WHEN '8000011900'. "邮寄费
        ASSIGN COMPONENT 'ZFIELD52' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield52>).
        IF <lf_zfield52> IS ASSIGNED.
          <lf_zfield52> = ls_data-hsl.
        ENDIF.
      WHEN '8000012000'. "运输费
        ASSIGN COMPONENT 'ZFIELD53' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield53>).
        IF <lf_zfield53> IS ASSIGNED.
          <lf_zfield53> = ls_data-hsl.
        ENDIF.
      WHEN '8000012100'. "招待费
        ASSIGN COMPONENT 'ZFIELD54' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield54>).
        IF <lf_zfield54> IS ASSIGNED.
          <lf_zfield54> = ls_data-hsl.
        ENDIF.
      WHEN '8000012200'. "招聘费
        ASSIGN COMPONENT 'ZFIELD55' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield55>).
        IF <lf_zfield55> IS ASSIGNED.
          <lf_zfield55> = ls_data-hsl.
        ENDIF.
      WHEN '8000012800'. "仓储服务费
        ASSIGN COMPONENT 'ZFIELD56' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield56>).
        IF <lf_zfield56> IS ASSIGNED.
          <lf_zfield56> = ls_data-hsl.
        ENDIF.
      WHEN '8000013000'. "软件许可费
        ASSIGN COMPONENT 'ZFIELD57' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield57>).
        IF <lf_zfield57> IS ASSIGNED.
          <lf_zfield57> = ls_data-hsl.
        ENDIF.
      WHEN '8000013100'. "耗材
        ASSIGN COMPONENT 'ZFIELD58' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield58>).
        IF <lf_zfield58> IS ASSIGNED.
          <lf_zfield58> = ls_data-hsl.
        ENDIF.
      WHEN '8000013200'. "税费
        ASSIGN COMPONENT 'ZFIELD59' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield59>).
        IF <lf_zfield59> IS ASSIGNED.
          <lf_zfield59> = ls_data-hsl.
        ENDIF.
      WHEN '8000013800'. "广宣费
        ASSIGN COMPONENT 'ZFIELD60' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield60>).
        IF <lf_zfield60> IS ASSIGNED.
          <lf_zfield60> = ls_data-hsl.
        ENDIF.
      WHEN '8000013900'. "展会费
        ASSIGN COMPONENT 'ZFIELD61' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield61>).
        IF <lf_zfield61> IS ASSIGNED.
          <lf_zfield61> = ls_data-hsl.
        ENDIF.
      WHEN '8000014000'. "其他售后费
        ASSIGN COMPONENT 'ZFIELD62' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield62>).
        IF <lf_zfield62> IS ASSIGNED.
          <lf_zfield62> = ls_data-hsl.
        ENDIF.
      WHEN '8000014100'. "房租费
        ASSIGN COMPONENT 'ZFIELD63' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield63>).
        IF <lf_zfield63> IS ASSIGNED.
          <lf_zfield63> = ls_data-hsl.
        ENDIF.
      WHEN '8000014200'. "机物料消耗
        ASSIGN COMPONENT 'ZFIELD64' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield64>).
        IF <lf_zfield64> IS ASSIGNED.
          <lf_zfield64> = ls_data-hsl.
        ENDIF.
      WHEN '8000014510'. "摊销费-装修
        ASSIGN COMPONENT 'ZFIELD65' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield65>).
        IF <lf_zfield65> IS ASSIGNED.
          <lf_zfield65> = ls_data-hsl.
        ENDIF.
      WHEN '8000014520'. "摊销费-数据费
        ASSIGN COMPONENT 'ZFIELD66' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield66>).
        IF <lf_zfield66> IS ASSIGNED.
          <lf_zfield66> = ls_data-hsl.
        ENDIF.
      WHEN '8000014530'. "摊销费-广告费
        ASSIGN COMPONENT 'ZFIELD67' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield67>).
        IF <lf_zfield67> IS ASSIGNED.
          <lf_zfield67> = ls_data-hsl.
        ENDIF.
      WHEN '8000014600'. "物业费
        ASSIGN COMPONENT 'ZFIELD68' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield68>).
        IF <lf_zfield68> IS ASSIGNED.
          <lf_zfield68> = ls_data-hsl.
        ENDIF.
      WHEN '8000014700'. "客退返修费
        ASSIGN COMPONENT 'ZFIELD69' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield69>).
        IF <lf_zfield69> IS ASSIGNED.
          <lf_zfield69> = ls_data-hsl.
        ENDIF.
      WHEN '8000015400'. "售后三包材料费
        ASSIGN COMPONENT 'ZFIELD70' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield70>).
        IF <lf_zfield70> IS ASSIGNED.
          <lf_zfield70> = ls_data-hsl.
        ENDIF.
      WHEN '8000015600'. "品牌建设费
        ASSIGN COMPONENT 'ZFIELD71' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield71>).
        IF <lf_zfield71> IS ASSIGNED.
          <lf_zfield71> = ls_data-hsl.
        ENDIF.
      WHEN '8000015700'. "物料报废损失
        ASSIGN COMPONENT 'ZFIELD72' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield72>).
        IF <lf_zfield72> IS ASSIGNED.
          <lf_zfield72> = ls_data-hsl.
        ENDIF.
      WHEN '8000015800'. "停工损失
        ASSIGN COMPONENT 'ZFIELD73' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield73>).
        IF <lf_zfield73> IS ASSIGNED.
          <lf_zfield73> = ls_data-hsl.
        ENDIF.
      WHEN '8000015900'. "网络通信费
        ASSIGN COMPONENT 'ZFIELD74' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield74>).
        IF <lf_zfield74> IS ASSIGNED.
          <lf_zfield74> = ls_data-hsl.
        ENDIF.
      WHEN '8000016000'. "产品运营数据存储费
        ASSIGN COMPONENT 'ZFIELD75' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield75>).
        IF <lf_zfield75> IS ASSIGNED.
          <lf_zfield75> = ls_data-hsl.
        ENDIF.
      WHEN '8000016200'. "环保安全费
        ASSIGN COMPONENT 'ZFIELD76' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield76>).
        IF <lf_zfield76> IS ASSIGNED.
          <lf_zfield76> = ls_data-hsl.
        ENDIF.
      WHEN '8000016400'. "售后三包-质量保证金
        ASSIGN COMPONENT 'ZFIELD77' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield77>).
        IF <lf_zfield77> IS ASSIGNED.
          <lf_zfield77> = ls_data-hsl.
        ENDIF.
      WHEN '8000016800'. "办公用具
        ASSIGN COMPONENT 'ZFIELD78' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield78>).
        IF <lf_zfield78> IS ASSIGNED.
          <lf_zfield78> = ls_data-hsl.
        ENDIF.
      WHEN '8000016900'. "低值易耗品
        ASSIGN COMPONENT 'ZFIELD79' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield79>).
        IF <lf_zfield79> IS ASSIGNED.
          <lf_zfield79> = ls_data-hsl.
        ENDIF.
      WHEN '8000017000'. "质量损失
        ASSIGN COMPONENT 'ZFIELD80' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield80>).
        IF <lf_zfield80> IS ASSIGNED.
          <lf_zfield80> = ls_data-hsl.
        ENDIF.
      WHEN '8000017100'. "股份支付
        ASSIGN COMPONENT 'ZFIELD81' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield81>).
        IF <lf_zfield81> IS ASSIGNED.
          <lf_zfield81> = ls_data-hsl.
        ENDIF.
      WHEN '8000017200'. "其他费用
        ASSIGN COMPONENT 'ZFIELD82' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield82>).
        IF <lf_zfield82> IS ASSIGNED.
          <lf_zfield82> = ls_data-hsl.
        ENDIF.
      WHEN '8000017900'. "研发支出-费用化支出-委托境外研发费用
        ASSIGN COMPONENT 'ZFIELD83' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield83>).
        IF <lf_zfield83> IS ASSIGNED.
          <lf_zfield83> = ls_data-hsl.
        ENDIF.
      WHEN '8000017800'. "研发支出-费用化支出-委托境内研发费用
        ASSIGN COMPONENT 'ZFIELD84' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield84>).
        IF <lf_zfield84> IS ASSIGNED.
          <lf_zfield84> = ls_data-hsl.
        ENDIF.
      WHEN '8000018000'. "副产品产出
        ASSIGN COMPONENT 'ZFIELD85' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield85>).
        IF <lf_zfield85> IS ASSIGNED.
          <lf_zfield85> = ls_data-hsl.
        ENDIF.
      WHEN '8000990010'. "结转
        ASSIGN COMPONENT 'ZFIELD86' OF STRUCTURE gs_alv1 TO FIELD-SYMBOL(<lf_zfield86>).
        IF <lf_zfield86> IS ASSIGNED.
          <lf_zfield86> = ls_data-hsl.
        ENDIF.
    ENDCASE.

    COLLECT gs_alv1 INTO gt_alv1.

    CLEAR: ls_data,
           gs_alv1.

  ENDLOOP.

  "负号前置
  LOOP AT gt_alv1 INTO gs_alv1.
    MOVE-CORRESPONDING gs_alv1 TO gs_alv.
    DO 88 TIMES.
      IF sy-index < 10.
        lv_index = 'ZFIELD' && '0' && sy-index.
      ELSE.
        lv_index = 'ZFIELD' && sy-index.
      ENDIF.
      ASSIGN COMPONENT lv_index OF STRUCTURE gs_alv TO <fs>.
      lv_tmp = <fs>.
      CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
        CHANGING
          value = lv_tmp.
      <fs> = lv_tmp.
    ENDDO.
    APPEND gs_alv TO gt_alv.
    CLEAR: gs_alv , gs_alv1 , lv_index , lv_tmp.
  ENDLOOP.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_MERGE_CELL
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_merge_cell USING cl_alv_grid TYPE REF TO zcl_gui_alv_grid_merge.

  DATA: ls_tab_col_merge TYPE lvc_s_co01,
        lt_tab_col_merge TYPE lvc_t_co01.

  DATA lv_index TYPE i.

  "------第一行-------

  "公司代码单元格合并
  ls_tab_col_merge-col_id = 1.
  ls_tab_col_merge-outputlen = 4.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "公司名称单元格合并
  ls_tab_col_merge-col_id = 2.
  ls_tab_col_merge-outputlen = 5.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "项目名称单元格合并
  ls_tab_col_merge-col_id = 3.
  ls_tab_col_merge-outputlen = 6.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "项目编号单元格合并
  ls_tab_col_merge-col_id = 4.
  ls_tab_col_merge-outputlen = 7.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "项目类别单元格合并
  ls_tab_col_merge-col_id = 5.
  ls_tab_col_merge-outputlen = 8.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "项目类别名称单元格合并
  ls_tab_col_merge-col_id = 6.
  ls_tab_col_merge-outputlen = 9.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "余额单元格合并
  ls_tab_col_merge-col_id = 87.
  ls_tab_col_merge-outputlen = 90.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  CALL METHOD cl_alv_grid->z_set_merge_vert
    EXPORTING
      row           = 1
    CHANGING
      tab_col_merge = lt_tab_col_merge.

  "样式设置 粗体/居中对齐
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 1
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 2
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 3
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 4
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 5
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 6
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "人员人工费用单元格合并
  CLEAR lt_tab_col_merge.
  ls_tab_col_merge-col_id = 7.
  ls_tab_col_merge-outputlen = 17.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "直接投入费用单元格合并
  ls_tab_col_merge-col_id = 18.
  ls_tab_col_merge-outputlen = 26.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "新产品设计费用单元格合并
  ls_tab_col_merge-col_id = 29.
  ls_tab_col_merge-outputlen = 30.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "其他相关费用
  ls_tab_col_merge-col_id = 31.
  ls_tab_col_merge-outputlen = 82.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "委托研发费用
  ls_tab_col_merge-col_id = 83.
  ls_tab_col_merge-outputlen = 84.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "转出
  ls_tab_col_merge-col_id = 85.
  ls_tab_col_merge-outputlen = 86.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  CALL METHOD cl_alv_grid->z_set_merge_horiz
    EXPORTING
      row           = 1
    CHANGING
      tab_col_merge = lt_tab_col_merge.

  "样式设置 粗体/居中对齐
  "人员人工费用
  "fiest cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 7
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 17
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "直接投入费用
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 18
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 26
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "折旧费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 27
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "无形资产摊销
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 28
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).


  "新产品设计费
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 29
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 30
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).


  "其他相关费用
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 31
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 82
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "委托研发费用
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 83
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 84
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "转出
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 85
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 86
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "余额
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 87
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "------第二行-------

  "直接从事研发活动人员-工资薪金单元格合并
  CLEAR lt_tab_col_merge.
  ls_tab_col_merge-col_id = 7.
  ls_tab_col_merge-outputlen = 10 .
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "直接从事研发活动人员-五险一金单元格合并
  ls_tab_col_merge-col_id = 11.
  ls_tab_col_merge-outputlen = 15.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "外聘研发人员的劳务费用单元格合并
  ls_tab_col_merge-col_id = 16.
  ls_tab_col_merge-outputlen = 17.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "研发成果的检索、分析、评议、论证、鉴定、评审、评估、验收费用单元格合并
  ls_tab_col_merge-col_id = 32.
  ls_tab_col_merge-outputlen = 35.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "知识产权的申请费、注册费、代理费单元格合并
  ls_tab_col_merge-col_id = 36.
  ls_tab_col_merge-outputlen = 37.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "职工福利费、补充养老保险费、补充医疗保险费单元格合并
  ls_tab_col_merge-col_id = 38.
  ls_tab_col_merge-outputlen = 43.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "差旅费、会议费单元格合并
  ls_tab_col_merge-col_id = 44.
  ls_tab_col_merge-outputlen = 46.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  "其他费用单元格合并
  ls_tab_col_merge-col_id = 47.
  ls_tab_col_merge-outputlen = 82.
  APPEND ls_tab_col_merge TO lt_tab_col_merge.

  CALL METHOD cl_alv_grid->z_set_merge_horiz
    EXPORTING
      row           = 2
    CHANGING
      tab_col_merge = lt_tab_col_merge.

  "样式设置 粗体/居中对齐
  "直接从事研发活动人员-工资薪金
  "fiest cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 7
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 10
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "直接从事研发活动人员-五险一金
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 11
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 15
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "外聘研发人员的劳务费用
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 16
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 17
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).


  "研发活动直接消耗-材料
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 18
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "研发活动直接消耗-燃料
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 19
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "研发活动直接消耗-动力费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 20
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "研发活动直接消耗-动力费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 21
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "用于不构成固定资产的样品、样机及一般测试手段购置费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 22
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "用于中间试验和产品试制的模具、工艺装备开发及制造费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 23
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "用于试制产品的检验费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 24
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "用于研发活动的仪器、设备的运行维护、调整、检验、维修等费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 25
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "通过经营租赁方式租入的用于研发活动的仪器、设备租赁费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 26
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "用于研发活动的设备的折旧费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 27
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "用于研发活动的软件的摊销费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 28
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).


  "新产品设计费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 29
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "新产品设计费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 30
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "技术图书资料费、资料翻译费、专家咨询费、高新科技研发保险费
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 31
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "研发成果的检索、分析、评议、论证、鉴定、评审、评估、验收费用
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 32
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 1
      col   = 35
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "知识产权的申请费、注册费、代理费
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 36
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 37
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "职工福利费、补充养老保险费、补充医疗保险费
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 38
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 43
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "差旅费、会议费
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 44
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 45
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "其他费用
  "first cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 47
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "last cell style
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 82
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "委托境外机构进行研发活动发生的费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 83
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "委托境内机构或个人进行研发活动所发生的费用
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 84
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "副产品产出
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 85
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  "结转
  CALL METHOD cl_alv_grid->z_set_cell_style
    EXPORTING
      row   = 2
      col   = 86
      style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  DO 81 TIMES.

    lv_index = sy-index + 6.

    "------第三行-------

    "样式设置 粗体/居中对齐

    CALL METHOD cl_alv_grid->z_set_cell_style
      EXPORTING
        row   = 3
        col   = lv_index
        style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

    "------第四行-------

    "样式设置 粗体/居中对齐

    CALL METHOD cl_alv_grid->z_set_cell_style
      EXPORTING
        row   = 4
        col   = lv_index
        style = CONV #( alv_style_font_bold + alv_style_align_center_center ).

  ENDDO.

  cl_alv_grid->z_set_fixed_col_row( col = 6 row = 1 ).

  cl_alv_grid->z_display( ).

ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_MODIFY
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*      -->P_E_MODIFIED  text
*      -->P_ET_GOOD_CELLS  text
*&---------------------------------------------------------------------*
FORM frm_modify  USING lv_modified    TYPE char01
      it_good_cells TYPE lvc_t_modi.

  DATA ls_good_cells TYPE lvc_s_modi.

  DATA: lv_message TYPE char100,
        lv_lines   TYPE i.

  FIELD-SYMBOLS <ls_data>  LIKE LINE OF gt_alv.

  DESCRIBE TABLE gt_alv LINES lv_lines.

  LOOP AT gt_alv INTO gs_alv FROM 5 TO lv_lines.

    "余额 = 合计 + 结转
    gs_alv-zfield87 = gs_alv-zfield86 + gs_alv-zfield85 + gs_alv-zfield84 + gs_alv-zfield83 +
    gs_alv-zfield82 + gs_alv-zfield81 + gs_alv-zfield80 + gs_alv-zfield79 + gs_alv-zfield78 +
    gs_alv-zfield77 + gs_alv-zfield76 + gs_alv-zfield75 + gs_alv-zfield74 + gs_alv-zfield73 +
    gs_alv-zfield72 + gs_alv-zfield71 + gs_alv-zfield70 + gs_alv-zfield69 + gs_alv-zfield68 +
    gs_alv-zfield67 + gs_alv-zfield66 + gs_alv-zfield65 + gs_alv-zfield64 + gs_alv-zfield63 +
    gs_alv-zfield62 + gs_alv-zfield61 + gs_alv-zfield60 + gs_alv-zfield59 + gs_alv-zfield58 +
    gs_alv-zfield57 + gs_alv-zfield56 + gs_alv-zfield55 + gs_alv-zfield54 + gs_alv-zfield53 +
    gs_alv-zfield52 + gs_alv-zfield51 + gs_alv-zfield50 + gs_alv-zfield49 + gs_alv-zfield48 +
    gs_alv-zfield47 + gs_alv-zfield46 + gs_alv-zfield45 + gs_alv-zfield44 + gs_alv-zfield43 +
    gs_alv-zfield42 + gs_alv-zfield41 + gs_alv-zfield40 + gs_alv-zfield39 + gs_alv-zfield38 +
    gs_alv-zfield37 + gs_alv-zfield36 + gs_alv-zfield35 + gs_alv-zfield34 + gs_alv-zfield33 +
    gs_alv-zfield32 + gs_alv-zfield31 + gs_alv-zfield30 + gs_alv-zfield29 + gs_alv-zfield28 +
    gs_alv-zfield27 + gs_alv-zfield26 + gs_alv-zfield25 + gs_alv-zfield24 + gs_alv-zfield23 +
    gs_alv-zfield22 + gs_alv-zfield21 + gs_alv-zfield20 + gs_alv-zfield19 + gs_alv-zfield18 +
    gs_alv-zfield17 + gs_alv-zfield16 + gs_alv-zfield15 + gs_alv-zfield14 + gs_alv-zfield13 +
    gs_alv-zfield12 + gs_alv-zfield11 + gs_alv-zfield10 + gs_alv-zfield09 + gs_alv-zfield08 +
    gs_alv-zfield07.

    SHIFT gs_alv-zfield87 LEFT DELETING LEADING space.
    MODIFY gt_alv FROM gs_alv.

    CLEAR gs_alv.

  ENDLOOP.

  CLEAR lv_lines.

ENDFORM.
*&---------------------------------------------------------------------*
*& Module MD_DISPLAY_ALV_9000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE md_display_alv_9000 OUTPUT.

  DATA cl_alv_grid TYPE REF TO zcl_gui_alv_grid_merge.

  IF cl_grid_9000 IS INITIAL.

    CREATE OBJECT cl_container_9000
      EXPORTING
        container_name = 'CL_CONTAINER_9000'.

    CREATE OBJECT cl_alv_grid
      EXPORTING
        i_parent = cl_container_9000.

    CALL METHOD cl_alv_grid->set_table_for_first_display
      EXPORTING
        i_save                        = 'A'
        i_buffer_active               = 'X'
        is_variant                    = gs_variant
        is_layout                     = gs_layout
      CHANGING
        it_outtab                     = gt_alv
        it_fieldcatalog               = gt_fieldcat
      EXCEPTIONS
        invalid_parameter_combination = 1
        program_error                 = 2
        too_many_lines                = 3
        OTHERS                        = 4.

    DATA: cl_event_receiver_9000 TYPE REF TO cl_event_receiver.
    CREATE OBJECT cl_event_receiver_9000.
*    SET HANDLER cl_event_receiver_9000->handle_modify FOR cl_grid_9000.
    SET HANDLER cl_event_receiver_9000->handle_modify FOR cl_alv_grid.

  ELSE.
    CALL METHOD cl_alv_grid->refresh_table_display
      EXPORTING
        is_stable      = gs_stbl
        i_soft_refresh = 'X'.
  ENDIF.

  cl_alv_grid->set_ready_for_input( ).

  "合并单元格
  PERFORM frm_merge_cell USING cl_alv_grid.

ENDMODULE.
*&---------------------------------------------------------------------*
*& Module MD_STATUS_9000 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE md_status_9000 OUTPUT.
  SET PF-STATUS 'ST_9000'.
  SET TITLEBAR 'TI_9000'.
ENDMODULE.
*&---------------------------------------------------------------------*
*&      Module  MD_USER_COMMAND_9000  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE md_user_command_9000 INPUT.

  CASE ok_code_9000.
    WHEN 'BACK'.
      LEAVE TO SCREEN 0.
    WHEN 'CANCEL' OR 'EXIT'.
      LEAVE PROGRAM.
    WHEN OTHERS.
  ENDCASE.

  CALL METHOD cl_grid_9000->refresh_table_display
    EXPORTING
      is_stable      = gs_stbl
      i_soft_refresh = 'X'.

ENDMODULE.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492
  • 493
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • 511
  • 512
  • 513
  • 514
  • 515
  • 516
  • 517
  • 518
  • 519
  • 520
  • 521
  • 522
  • 523
  • 524
  • 525
  • 526
  • 527
  • 528
  • 529
  • 530
  • 531
  • 532
  • 533
  • 534
  • 535
  • 536
  • 537
  • 538
  • 539
  • 540
  • 541
  • 542
  • 543
  • 544
  • 545
  • 546
  • 547
  • 548
  • 549
  • 550
  • 551
  • 552
  • 553
  • 554
  • 555
  • 556
  • 557
  • 558
  • 559
  • 560
  • 561
  • 562
  • 563
  • 564
  • 565
  • 566
  • 567
  • 568
  • 569
  • 570
  • 571
  • 572
  • 573
  • 574
  • 575
  • 576
  • 577
  • 578
  • 579
  • 580
  • 581
  • 582
  • 583
  • 584
  • 585
  • 586
  • 587
  • 588
  • 589
  • 590
  • 591
  • 592
  • 593
  • 594
  • 595
  • 596
  • 597
  • 598
  • 599
  • 600
  • 601
  • 602
  • 603
  • 604
  • 605
  • 606
  • 607
  • 608
  • 609
  • 610
  • 611
  • 612
  • 613
  • 614
  • 615
  • 616
  • 617
  • 618
  • 619
  • 620
  • 621
  • 622
  • 623
  • 624
  • 625
  • 626
  • 627
  • 628
  • 629
  • 630
  • 631
  • 632
  • 633
  • 634
  • 635
  • 636
  • 637
  • 638
  • 639
  • 640
  • 641
  • 642
  • 643
  • 644
  • 645
  • 646
  • 647
  • 648
  • 649
  • 650
  • 651
  • 652
  • 653
  • 654
  • 655
  • 656
  • 657
  • 658
  • 659
  • 660
  • 661
  • 662
  • 663
  • 664
  • 665
  • 666
  • 667
  • 668
  • 669
  • 670
  • 671
  • 672
  • 673
  • 674
  • 675
  • 676
  • 677
  • 678
  • 679
  • 680
  • 681
  • 682
  • 683
  • 684
  • 685
  • 686
  • 687
  • 688
  • 689
  • 690
  • 691
  • 692
  • 693
  • 694
  • 695
  • 696
  • 697
  • 698
  • 699
  • 700
  • 701
  • 702
  • 703
  • 704
  • 705
  • 706
  • 707
  • 708
  • 709
  • 710
  • 711
  • 712
  • 713
  • 714
  • 715
  • 716
  • 717
  • 718
  • 719
  • 720
  • 721
  • 722
  • 723
  • 724
  • 725
  • 726
  • 727
  • 728
  • 729
  • 730
  • 731
  • 732
  • 733
  • 734
  • 735
  • 736
  • 737
  • 738
  • 739
  • 740
  • 741
  • 742
  • 743
  • 744
  • 745
  • 746
  • 747
  • 748
  • 749
  • 750
  • 751
  • 752
  • 753
  • 754
  • 755
  • 756
  • 757
  • 758
  • 759
  • 760
  • 761
  • 762
  • 763
  • 764
  • 765
  • 766
  • 767
  • 768
  • 769
  • 770
  • 771
  • 772
  • 773
  • 774
  • 775
  • 776
  • 777
  • 778
  • 779
  • 780
  • 781
  • 782
  • 783
  • 784
  • 785
  • 786
  • 787
  • 788
  • 789
  • 790
  • 791
  • 792
  • 793
  • 794
  • 795
  • 796
  • 797
  • 798
  • 799
  • 800
  • 801
  • 802
  • 803
  • 804
  • 805
  • 806
  • 807
  • 808
  • 809
  • 810
  • 811
  • 812
  • 813
  • 814
  • 815
  • 816
  • 817
  • 818
  • 819
  • 820
  • 821
  • 822
  • 823
  • 824
  • 825
  • 826
  • 827
  • 828
  • 829
  • 830
  • 831
  • 832
  • 833
  • 834
  • 835
  • 836
  • 837
  • 838
  • 839
  • 840
  • 841
  • 842
  • 843
  • 844
  • 845
  • 846
  • 847
  • 848
  • 849
  • 850
  • 851
  • 852
  • 853
  • 854
  • 855
  • 856
  • 857
  • 858
  • 859
  • 860
  • 861
  • 862
  • 863
  • 864
  • 865
  • 866
  • 867
  • 868
  • 869
  • 870
  • 871
  • 872
  • 873
  • 874
  • 875
  • 876
  • 877
  • 878
  • 879
  • 880
  • 881
  • 882
  • 883
  • 884
  • 885
  • 886
  • 887
  • 888
  • 889
  • 890
  • 891
  • 892
  • 893
  • 894
  • 895
  • 896
  • 897
  • 898
  • 899
  • 900
  • 901
  • 902
  • 903
  • 904
  • 905
  • 906
  • 907
  • 908
  • 909
  • 910
  • 911
  • 912
  • 913
  • 914
  • 915
  • 916
  • 917
  • 918
  • 919
  • 920
  • 921
  • 922
  • 923
  • 924
  • 925
  • 926
  • 927
  • 928
  • 929
  • 930
  • 931
  • 932
  • 933
  • 934
  • 935
  • 936
  • 937
  • 938
  • 939
  • 940
  • 941
  • 942
  • 943
  • 944
  • 945
  • 946
  • 947
  • 948
  • 949
  • 950
  • 951
  • 952
  • 953
  • 954
  • 955
  • 956
  • 957
  • 958
  • 959
  • 960
  • 961
  • 962
  • 963
  • 964
  • 965
  • 966
  • 967
  • 968
  • 969
  • 970
  • 971
  • 972
  • 973
  • 974
  • 975
  • 976
  • 977
  • 978
  • 979
  • 980
  • 981
  • 982
  • 983
  • 984
  • 985
  • 986
  • 987
  • 988
  • 989
  • 990
  • 991
  • 992
  • 993
  • 994
  • 995
  • 996
  • 997
  • 998
  • 999
  • 1000
  • 1001
  • 1002
  • 1003
  • 1004
  • 1005
  • 1006
  • 1007
  • 1008
  • 1009
  • 1010
  • 1011
  • 1012
  • 1013
  • 1014
  • 1015
  • 1016
  • 1017
  • 1018
  • 1019
  • 1020
  • 1021
  • 1022
  • 1023
  • 1024
  • 1025
  • 1026
  • 1027
  • 1028
  • 1029
  • 1030
  • 1031
  • 1032
  • 1033
  • 1034
  • 1035
  • 1036
  • 1037
  • 1038
  • 1039
  • 1040
  • 1041
  • 1042
  • 1043
  • 1044
  • 1045
  • 1046
  • 1047
  • 1048
  • 1049
  • 1050
  • 1051
  • 1052
  • 1053
  • 1054
  • 1055
  • 1056
  • 1057
  • 1058
  • 1059
  • 1060
  • 1061
  • 1062
  • 1063
  • 1064
  • 1065
  • 1066
  • 1067
  • 1068
  • 1069
  • 1070
  • 1071
  • 1072
  • 1073
  • 1074
  • 1075
  • 1076
  • 1077
  • 1078
  • 1079
  • 1080
  • 1081
  • 1082
  • 1083
  • 1084
  • 1085
  • 1086
  • 1087
  • 1088
  • 1089
  • 1090
  • 1091
  • 1092
  • 1093
  • 1094
  • 1095
  • 1096
  • 1097
  • 1098
  • 1099
  • 1100
  • 1101
  • 1102
  • 1103
  • 1104
  • 1105
  • 1106
  • 1107
  • 1108
  • 1109
  • 1110
  • 1111
  • 1112
  • 1113
  • 1114
  • 1115
  • 1116
  • 1117
  • 1118
  • 1119
  • 1120
  • 1121
  • 1122
  • 1123
  • 1124
  • 1125
  • 1126
  • 1127
  • 1128
  • 1129
  • 1130
  • 1131
  • 1132
  • 1133
  • 1134
  • 1135
  • 1136
  • 1137
  • 1138
  • 1139
  • 1140
  • 1141
  • 1142
  • 1143
  • 1144
  • 1145
  • 1146
  • 1147
  • 1148
  • 1149
  • 1150
  • 1151
  • 1152
  • 1153
  • 1154
  • 1155
  • 1156
  • 1157
  • 1158
  • 1159
  • 1160
  • 1161
  • 1162
  • 1163
  • 1164
  • 1165
  • 1166
  • 1167
  • 1168
  • 1169
  • 1170
  • 1171
  • 1172
  • 1173
  • 1174
  • 1175
  • 1176
  • 1177
  • 1178
  • 1179
  • 1180
  • 1181
  • 1182
  • 1183
  • 1184
  • 1185
  • 1186
  • 1187
  • 1188
  • 1189
  • 1190
  • 1191
  • 1192
  • 1193
  • 1194
  • 1195
  • 1196
  • 1197
  • 1198
  • 1199
  • 1200
  • 1201
  • 1202
  • 1203
  • 1204
  • 1205
  • 1206
  • 1207
  • 1208
  • 1209
  • 1210
  • 1211
  • 1212
  • 1213
  • 1214
  • 1215
  • 1216
  • 1217
  • 1218
  • 1219
  • 1220
  • 1221
  • 1222
  • 1223
  • 1224
  • 1225
  • 1226
  • 1227
  • 1228
  • 1229
  • 1230
  • 1231
  • 1232
  • 1233
  • 1234
  • 1235
  • 1236
  • 1237
  • 1238
  • 1239
  • 1240
  • 1241
  • 1242
  • 1243
  • 1244
  • 1245
  • 1246
  • 1247
  • 1248
  • 1249
  • 1250
  • 1251
  • 1252
  • 1253
  • 1254
  • 1255
  • 1256
  • 1257
  • 1258
  • 1259
  • 1260
  • 1261
  • 1262
  • 1263
  • 1264
  • 1265
  • 1266
  • 1267
  • 1268
  • 1269
  • 1270
  • 1271
  • 1272
  • 1273
  • 1274
  • 1275
  • 1276
  • 1277
  • 1278
  • 1279
  • 1280
  • 1281
  • 1282
  • 1283
  • 1284
  • 1285
  • 1286
  • 1287
  • 1288
  • 1289
  • 1290
  • 1291
  • 1292
  • 1293
  • 1294
  • 1295
  • 1296
  • 1297
  • 1298
  • 1299
  • 1300
  • 1301
  • 1302
  • 1303
  • 1304
  • 1305
  • 1306
  • 1307
  • 1308
  • 1309
  • 1310
  • 1311
  • 1312
  • 1313
  • 1314
  • 1315
  • 1316
  • 1317
  • 1318
  • 1319
  • 1320
  • 1321
  • 1322
  • 1323
  • 1324
  • 1325
  • 1326
  • 1327
  • 1328
  • 1329
  • 1330
  • 1331
  • 1332
  • 1333
  • 1334
  • 1335
  • 1336
  • 1337
  • 1338
  • 1339
  • 1340
  • 1341
  • 1342
  • 1343
  • 1344
  • 1345
  • 1346
  • 1347
  • 1348
  • 1349
  • 1350
  • 1351
  • 1352
  • 1353
  • 1354
  • 1355
  • 1356
  • 1357
  • 1358
  • 1359
  • 1360
  • 1361
  • 1362
  • 1363
  • 1364
  • 1365
  • 1366
  • 1367
  • 1368
  • 1369
  • 1370
  • 1371
  • 1372
  • 1373
  • 1374
  • 1375
  • 1376
  • 1377
  • 1378
  • 1379
  • 1380
  • 1381
  • 1382
  • 1383
  • 1384
  • 1385
  • 1386
  • 1387
  • 1388
  • 1389
  • 1390
  • 1391
  • 1392
  • 1393
  • 1394
  • 1395
  • 1396
  • 1397
  • 1398
  • 1399
  • 1400
  • 1401
  • 1402
  • 1403
  • 1404
  • 1405
  • 1406
  • 1407
  • 1408
  • 1409
  • 1410
  • 1411
  • 1412
  • 1413
  • 1414
  • 1415
  • 1416
  • 1417
  • 1418
  • 1419
  • 1420
  • 1421
  • 1422
  • 1423
  • 1424
  • 1425
  • 1426
  • 1427
  • 1428
  • 1429
  • 1430
  • 1431
  • 1432
  • 1433
  • 1434
  • 1435
  • 1436
  • 1437
  • 1438
  • 1439
  • 1440
  • 1441
  • 1442
  • 1443
  • 1444
  • 1445
  • 1446
  • 1447
  • 1448
  • 1449
  • 1450
  • 1451
  • 1452
  • 1453
  • 1454
  • 1455
  • 1456
  • 1457
  • 1458
  • 1459
  • 1460
  • 1461
  • 1462
  • 1463
  • 1464
  • 1465
  • 1466
  • 1467
  • 1468
  • 1469
  • 1470
  • 1471
  • 1472
  • 1473
  • 1474
  • 1475
  • 1476
  • 1477
  • 1478
  • 1479
  • 1480
  • 1481
  • 1482
  • 1483
  • 1484
  • 1485
  • 1486
  • 1487
  • 1488
  • 1489
  • 1490
  • 1491
  • 1492
  • 1493
  • 1494
  • 1495
  • 1496
  • 1497
  • 1498
  • 1499
  • 1500
  • 1501
  • 1502
  • 1503
  • 1504
  • 1505
  • 1506
  • 1507
  • 1508
  • 1509
  • 1510
  • 1511
  • 1512
  • 1513
  • 1514
  • 1515
  • 1516
  • 1517
  • 1518
  • 1519
  • 1520
  • 1521
  • 1522
  • 1523
  • 1524
  • 1525
  • 1526
  • 1527
  • 1528
  • 1529
  • 1530
  • 1531
  • 1532
  • 1533
  • 1534
  • 1535
  • 1536
  • 1537
  • 1538
  • 1539
  • 1540
  • 1541
  • 1542
  • 1543
  • 1544
  • 1545
  • 1546
  • 1547
  • 1548
  • 1549
  • 1550
  • 1551
  • 1552
  • 1553
  • 1554
  • 1555
  • 1556
  • 1557
  • 1558
  • 1559
  • 1560
  • 1561
  • 1562
  • 1563
  • 1564
  • 1565
  • 1566
  • 1567
  • 1568
  • 1569
  • 1570
  • 1571
  • 1572
  • 1573
  • 1574
  • 1575
  • 1576
  • 1577
  • 1578
  • 1579
  • 1580
  • 1581
  • 1582
  • 1583
  • 1584
  • 1585
  • 1586
  • 1587
  • 1588
  • 1589
  • 1590
  • 1591
  • 1592
  • 1593
  • 1594
  • 1595
  • 1596
  • 1597
  • 1598
  • 1599
  • 1600
  • 1601
  • 1602
  • 1603
  • 1604
  • 1605
  • 1606
  • 1607
  • 1608
  • 1609
  • 1610
  • 1611
  • 1612
  • 1613
  • 1614
  • 1615
  • 1616
  • 1617
  • 1618
  • 1619
  • 1620
  • 1621
  • 1622
  • 1623
  • 1624
  • 1625
  • 1626
  • 1627
  • 1628
  • 1629
  • 1630
  • 1631
  • 1632
  • 1633
  • 1634
  • 1635
  • 1636
  • 1637
  • 1638
  • 1639
  • 1640
  • 1641
  • 1642
  • 1643
  • 1644
  • 1645
  • 1646
  • 1647
  • 1648
  • 1649
  • 1650
  • 1651
  • 1652
  • 1653
  • 1654
  • 1655
  • 1656
  • 1657
  • 1658
  • 1659
  • 1660
  • 1661
  • 1662
  • 1663
  • 1664
  • 1665
  • 1666
  • 1667
  • 1668
  • 1669
  • 1670
  • 1671
  • 1672
  • 1673
  • 1674
  • 1675
  • 1676
  • 1677
  • 1678
  • 1679
  • 1680
  • 1681
  • 1682

表结构

三、总结

No BB 不看广告,看疗效。

在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/762359
推荐阅读
相关标签
  

闽ICP备14008679号