ALV显示金额字段值扩大100倍

Posted rainysblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ALV显示金额字段值扩大100倍相关的知识,希望对你有一定的参考价值。

技术图片

 内表数据

物料                  库位          期末庫存金額
F0D7004DSA   1PYF       701410.944
F0D7004DSA   1SNT       191642.256
F0D7004DSA   1SYF       191642.256

 

显示ALV

技术图片

 金额显示为:

70,141,094
19,164,226

19,164,226

看的出来是乘了100, 然后一顿猛操作
FIELDCAT 写的有问题 :

初始是这么写的:

  DATA : ls_fieldcat TYPE lvc_s_fcat.


  DEFINE alv_field.
    ls_fieldcat-fieldname     = &1.
    ls_fieldcat-tabname       = &2.
    ls_fieldcat-key           = &3.
    ls_fieldcat-edit          = &4.
    ls_fieldcat-scrtext_l     = &5.
    ls_fieldcat-cfieldname    = &6.
    ls_fieldcat-qfieldname    = &7.
    ls_fieldcat-do_sum        = &8.
    ls_fieldcat-outputlen     = &9.
    APPEND ls_fieldcat TO gt_fieldcat.
    CLEAR  ls_fieldcat.
  END-OF-DEFINITION.


alv_field LIGHTS GT_DATA3 ‘‘ ‘‘ 訊息圖示 ‘‘ ‘‘ ‘‘ ‘‘. alv_field WERKS GT_DATA3 X ‘‘ 工廠 ‘‘ ‘‘ ‘‘ 38. alv_field NAME1 GT_DATA3 X ‘‘ 工廠名稱 ‘‘ ‘‘ ‘‘ 48. alv_field MATNR GT_DATA3 X ‘‘ 物料號碼 ‘‘ ‘‘ ‘‘ 48. alv_field MAKTX GT_DATA3 X ‘‘ 物料說明 ‘‘ ‘‘ ‘‘ 48. alv_field LGORT GT_DATA3 X ‘‘ 储位 ‘‘ ‘‘ ‘‘ 48. alv_field LGOBE GT_DATA3 X ‘‘ 儲位名稱 ‘‘ ‘‘ ‘‘ 48. alv_field MTART GT_DATA3 ‘‘ ‘‘ 物料類型 ‘‘ ‘‘ ‘‘ 48. alv_field MTBEZ GT_DATA3 ‘‘ ‘‘ 物料類型說明 ‘‘ ‘‘ ‘‘ 48. alv_field MATKL GT_DATA3 ‘‘ ‘‘ 物料群組 ‘‘ ‘‘ ‘‘ 48. alv_field WGBEZ GT_DATA3 ‘‘ ‘‘ 物料群組說明 ‘‘ ‘‘ ‘‘ 48. alv_field BKLAS GT_DATA3 ‘‘ ‘‘ 評價類別 ‘‘ ‘‘ ‘‘ 48. alv_field BKBEZ GT_DATA3 ‘‘ ‘‘ 評價類別說明 ‘‘ ‘‘ ‘‘ 48. alv_field ATWRT GT_DATA3 ‘‘ ‘‘ 機種 ‘‘ ‘‘ ‘‘ 48. alv_field ATWRT_T GT_DATA3 ‘‘ ‘‘ 機種說明 ‘‘ ‘‘ ‘‘ 48. ls_fieldcat-convexit = CUNIT. alv_field MEINS GT_DATA3 ‘‘ ‘‘ 單位 ‘‘ ‘‘ ‘‘ 48. alv_field WAERS GT_DATA3 ‘‘ ‘‘ 幣別碼 ‘‘ ‘‘ ‘‘ 48. alv_field VERPR_QC GT_DATA ‘‘ ‘‘ 期初價格 ‘‘ ‘‘ ‘‘ 48. alv_field PEINH GT_DATA ‘‘ ‘‘ 價格單位 ‘‘ ‘‘ ‘‘ 48. alv_field SPRIC GT_DATA ‘‘ ‘‘ 期初單價 ‘‘ ‘‘ ‘‘ 48. alv_field VERPR_QM GT_DATA ‘‘ ‘‘ 期末價格 ‘‘ ‘‘ ‘‘ 48. alv_field EPRIC GT_DATA ‘‘ ‘‘ 期末單價 ‘‘ ‘‘ ‘‘ 48. alv_field MENGE GT_DATA3 ‘‘ ‘‘ 期初庫存數量 ‘‘ MEINS ‘‘ 48. alv_field DMBTR GT_DATA3 ‘‘ ‘‘ 期初庫存金額 WAERS ‘‘ ‘‘ 48. alv_field EMENGE GT_DATA3 ‘‘ ‘‘ 期末庫存數量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR GT_DATA3 ‘‘ ‘‘ 期末庫存金額 WAERS ‘‘ ‘‘ 48. alv_field EMENGE2 GT_DATA3 ‘‘ ‘‘ 部門領用(修繕)_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR2 GT_DATA3 ‘‘ ‘‘ 部門領用(修繕)_金额 WAERS ‘‘ ‘‘ 48. alv_field EMENGE4 GT_DATA3 ‘‘ ‘‘ 部門領用(研究)_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR4 GT_DATA3 ‘‘ ‘‘ 部門領用(研究)_金额 WAERS ‘‘ ‘‘ 48. alv_field EMENGE7 GT_DATA3 ‘‘ ‘‘ 部門領用(消耗品)_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR7 GT_DATA3 ‘‘ ‘‘ 部門領用(消耗品)_金額 WAERS ‘‘ ‘‘ 48. alv_field EMENGE8 GT_DATA3 ‘‘ ‘‘ 部門領用(其他)_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR8 GT_DATA3 ‘‘ ‘‘ 部門領用(其他)_金額 WAERS ‘‘ ‘‘ 48. alv_field MMENGE1 GT_DATA3 ‘‘ ‘‘ 生產入庫_数量 ‘‘ MEINS ‘‘ 48. alv_field MDMBTR1 GT_DATA3 ‘‘ ‘‘ 生產入庫_金額 WAERS ‘‘ ‘‘ 48. alv_field SUBMENGE2 GT_DATA3 ‘‘ ‘‘ 耗用—其他_数量 ‘‘ MEINS ‘‘ 48. alv_field SUBDMBTR2 GT_DATA3 ‘‘ ‘‘ 耗用—其他_金額 WAERS ‘‘ ‘‘ 48. alv_field PMENGE GT_DATA3 ‘‘ ‘‘ 採購入庫_数量 ‘‘ MEINS ‘‘ 48. alv_field PDMBTR GT_DATA3 ‘‘ ‘‘ 採購入庫_金額 WAERS ‘‘ ‘‘ 48. alv_field RMENGE GT_DATA3 ‘‘ ‘‘ 採購退回_数量 ‘‘ MEINS ‘‘ 48. alv_field RDMBTR GT_DATA3 ‘‘ ‘‘ 採購退回_金額 WAERS ‘‘ ‘‘ 48. alv_field EMENGE_P20 GT_DATA3 ‘‘ ‘‘ 委外加工_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR_P20 GT_DATA3 ‘‘ ‘‘ 委外加工_金額 WAERS ‘‘ ‘‘ 48. alv_field WMENGE4 GT_DATA3 ‘‘ ‘‘ 委外領用-數量 ‘‘ MEINS ‘‘ 48. alv_field WDMBTR4 GT_DATA3 ‘‘ ‘‘ 委外領用-金額 WAERS ‘‘ ‘‘ 48. alv_field EMENGE_S10 GT_DATA3 ‘‘ ‘‘ 銷貨出貨_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR_S10 GT_DATA3 ‘‘ ‘‘ 銷貨出貨_金額 WAERS ‘‘ ‘‘ 48. alv_field SMENGE2 GT_DATA3 ‘‘ ‘‘ 銷貨退回_数量 ‘‘ MEINS ‘‘ 48. alv_field SDMBTR2 GT_DATA3 ‘‘ ‘‘ 銷貨退回_金額 WAERS ‘‘ ‘‘ 48. alv_field EMENGE_S12 GT_DATA3 ‘‘ ‘‘ 銷貨耗用_数量 ‘‘ MEINS ‘‘ 48. alv_field EDMBTR_S12 GT_DATA3 ‘‘ ‘‘ 銷貨耗用_金額 WAERS ‘‘ ‘‘ 48. alv_field WMENGE1 GT_DATA3 ‘‘ ‘‘ 盤點盈虧_数量 ‘‘ MEINS ‘‘ 48. alv_field WDMBTR1 GT_DATA3 ‘‘ ‘‘ 盤點盈虧_金額 WAERS ‘‘ ‘‘ 48. alv_field WMENGE2 GT_DATA3 ‘‘ ‘‘ 報廢_数量 ‘‘ MEINS ‘‘ 48. alv_field WDMBTR2 GT_DATA3 ‘‘ ‘‘ 報廢_金額 WAERS ‘‘ ‘‘ 48. alv_field WMENGE3 GT_DATA3 ‘‘ ‘‘ 轉倉_数量 ‘‘ MEINS ‘‘ 48. alv_field WDMBTR3 GT_DATA3 ‘‘ ‘‘ 轉倉_金額 WAERS ‘‘ ‘‘ 48. **建立日期 alv_field ERSDA GT_DATA1 ‘‘ ‘‘ 建立日期 ‘‘ ‘‘ ‘‘ 48. alv_field ERTIM GT_DATA1 ‘‘ ‘‘ 建立物件的時間 ‘‘ ‘‘ ‘‘ 48. alv_field ERNAM GT_DATA1 ‘‘ ‘‘ 物件建立者的姓名 ‘‘ ‘‘ ‘‘ 48. alv_field ERTER GT_DATA1 ‘‘ ‘‘ 終端機 ‘‘ ‘‘ ‘‘ 48. alv_field LAEDA GT_DATA1 ‘‘ ‘‘ 最後更改日期 ‘‘ ‘‘ ‘‘ 48. alv_field AETIM GT_DATA1 ‘‘ ‘‘ 最後更改時間 ‘‘ ‘‘ ‘‘ 48. alv_field AENAM GT_DATA1 ‘‘ ‘‘ 物件更改者的名字 ‘‘ ‘‘ ‘‘ 48. alv_field AETER GT_DATA1 ‘‘ ‘‘ 終端機 ‘‘ ‘‘ ‘‘ 48.

 

 后面加了对FIELDCAT 的处理:

  PERFORM frm_edit_fieldcat.

  LOOP AT gt_fieldcat ASSIGNING FIELD-SYMBOL(<lf_fieldcat>).

    CASE <lf_fieldcat>-fieldname.
      WHEN DMBTR
        OR EDMBTR
        OR EDMBTR2
        OR EDMBTR4
        OR EDMBTR7
        OR EDMBTR8
        OR MDMBTR1
        OR SUBDMBTR2
        OR PDMBTR
        OR RDMBTR
        OR EDMBTR_P20
        OR WDMBTR4
        OR EDMBTR_S10
        OR SDMBTR2
        OR EDMBTR_S12
        OR WDMBTR1
        OR WDMBTR2
        OR WDMBTR3.

        <lf_fieldcat>-ref_field = RHCUR.
        <lf_fieldcat>-ref_table = ACDOCA.
        CLEAR: <lf_fieldcat>-cfieldname.
**        <lf_fieldcat>-currency = g_waers.
**        <lf_fieldcat>-cfieldname = ‘CURRENCY‘.
      WHEN OTHERS.
    ENDCASE.

 

然后可以了显示

                                                                                                                                                  期末库存金额

2010   東莞(外銷)工廠 F0D7004DSA DesktopICAIO330-20IGMJ4005/5004G460x47x3      701410.94
2010   東莞(外銷)工廠 F0D7004DSA DesktopICAIO330-20IGMJ4005/5004G460x47x3      191642.26
2010   東莞(外銷)工廠 F0D7004DSA DesktopICAIO330-20IGMJ4005/5004G460x47x3      191642.26

 

以上是关于ALV显示金额字段值扩大100倍的主要内容,如果未能解决你的问题,请参考以下文章

◆◆0[REUSE_ALV_GRID_DISPLAY_LVC]ALV中字段显示前导零(leading zero)

sap alv字段当满足条件变灰

[问题解决]ALV新加字段不显示

ALV选择屏幕增加字段描述

abap ALV字段怎么设置搜索帮助?

商汤绝影车路协同“进城”!10+个智能网联应用,100+场景算法应用,感知范围扩大1000倍...