sap abap中为啥table和该table的view有些数据会不同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sap abap中为啥table和该table的view有些数据会不同相关的知识,希望对你有一定的参考价值。

比如数字的小数点,在table是两位,在view却变成3位或者没有了小数点

有以下几种可能:
1、table和view的数据元素(数据类型)不一致
2、tabel和view的数据显示视图的设置不一致
能不能附图看一下数据不同的地方?追问

可是建立maintain view时就是直接选择table的呀,没有改数据元素什么的

前面是view的 后面是table的

追答

这跟汇率有关系,SAP中,像JPY和TWD这种货币币值比较小的在数据库中都是缩小100倍存储的,所以视图中看到的数据是数据库表中的100倍

追问

哦哦,原来这样 。你真厉害,谢谢
那有什么方法改成同样的吗

追答

这是SAP的标准功能,没办法更改的

参考技术A 数值显示的时候 是有格式处理的

应该是显示参数的问题 由相关内表中的参数决定

SAP NetWeaver ABAP 服务器的数据库表database table暴露为CDS View

去​​​​​​​参考:SAP Tutorial ​​​​​​​Create a Simple CDS View in ADT

有了数据库表,现在琢磨下,把table暴露为CDS View(将来 暴露为OData)

自动生成的代码:

@AbapCatalog.sqlViewName: ''
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'abap-dev-adt-create-cds-view.html'
define view Z_ACCOUNT_ITEMS_001 as select from data_source_name 
    

 修改后的代码

@AbapCatalog.sqlViewName: 'Z_ACC_ITEMS_001'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'abap-dev-adt-create-cds-view.html'
define view Z_ACCOUNT_ITEMS_001 as select from zaccounts_001 

    zaccounts_001.account_name,
    zaccounts_001.account_number,
    zaccounts_001.city
   


 where city = 'new york'

看看原始数据库表里面有几条数据?3条

看看CDS View里面有几条数据?

以上是关于sap abap中为啥table和该table的view有些数据会不同的主要内容,如果未能解决你的问题,请参考以下文章

SAP ABAP select 语句为啥取不到数据(确认后台表中有数据)

SAP Hybris的类型系统更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH

SAP NetWeaver ABAP 服务器的数据库表database table暴露为CDS View

SAP NetWeaver ABAP 服务器的数据库表database table暴露为CDS View

SAP NetWeaver ABAP 服务器的数据库表database table暴露为CDS View

关于SAP ABAP,选项卡控件中有个表格控件(TABLE CONTROL),表格控件能得到值,但就是初始化时显示不出来,