LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴模切ERP]SAP系统重要细节之小数位,如何避免数据出现差错

admin
2025年4月24日 0:43 本文热度 64

在SAP系统中,所有的数据系统默认是2位小数,但是针对不同的业务需求,对小数位有不同要求,所以我们就有需要对不同业务的不同设置。我们来看一下具体设置的步骤。

货币

路径:SAP NetWeaver - 一般设置 - 货币 - 为货币设置小数位数

事务码:OY04  

这个操作是跨客户端的,所以会影响到整个服务器上的所有客户端,系统会给出提示:

“在您继续之前,请仔细阅读以下内容。如果不留意此注释,您可能会用事务对系统造成不可挽回的损坏。

在 R/3 系统表中,货币字段作为小数存储,其小数位可以改变。小数位不存储在数据库的字段中。每个货币字段对应一个货币码字段。在此事务中,您分配唯一的小数位数给货币码。

样例: 如果您已设置货币 USD 为两个小数位并过帐 100 USD 的金额,10000 USD的数额存储在数据库的货币字段中。除非此数量被进一步处理或输出,系统将使用参考字段的货币码通过此表来决定小数位数。用这种方法,表的容量解释,以进行进一步的处理或格式化带标点的输出。

如果在过帐后更改 USD 的小数位数,例如,改为 3,现有字段内容 10000 将在进一步处理或输出时被解释为 10 USD (10.000)。这使系统中表的容量对于所有包含USD 数量的货币字段,被错误解释为原来的 10%。您必须转换系统中所有包含货币字段的表以保持数据完整性。但是,这样不能在生产系统中同时用于组织原因和运行时方面。”

我们可以使用事务码,或者是通过系统路径也可以进入设置货币代码的小数位,进入系统后看到的界面如下:

需要新增的,可以点击新增,然后指定小数位即可。USD是有2位小数的货币单位,显示的金额和表中存储的值是一样的。而像JPY这样的货币单位是没有小数的,1000 JPY保存在表中的值是10(比如系统下单:1000个 150JPY,MIGO收货了8251个,自动产生的会计凭证会自动取整)。若系统中已经存在了小数位设置,再改动小数位,会造成数据大大的差异。保存数值与显示的金额之间的关系是:

保存数值=显示金额*10^(x-2) 其中x是该货币单位的小数位数。

货币转换

如果某货币的小数位不是2位,则需要通过OY04设置其小数位数。

系统中的数据表存放的日元JPY、俄卢布RUR等货币比前台输入的金额小100倍。

系统根据OY04(Talbe:TCURX)中定义的货币小数位将原金额转换成含小位小数的金额后存储(据说根据ISO的什么标准),如日元为0位小数,120日元转换后变成1.20,缩小100倍.如为TJLP5位小数,12.01230则转换成12012.30,扩大1000倍。

SAP在数据存储时必须要有小数位,再次查资料,发现SAP有所谓的外部和内部的数据格式,不是存透明表取出的数都是external的,所以要解决此问题需要在调用CONVERT_TO_LOCAL_CURRENCY 函数之前,先调用一个函数用于内外部转换的 BAPI_CURRENCY_CONV_TO_INTERNAL 函数就行了。

与之对应的函数是:BAPI_CURRENCY_CONV_TO_EXTERNAL

定义度量单位小数

路径:SAP NetWeaver - 一般设置 - 检查计量单位

事务码:CUNI   

具体如下图所示:

汇率的改动 

事务码:OB08 

查看系统货币汇率的具体内容如下图所示:

一般记帐exchange rate type 是M . 比如local currency本位币是USD  M :  8.70000   CNY = 1 USD CNYdocument currency . 

Cny 1000    local cur.(USD)  114.94 更改汇率: 

M:8.72560  CNY = 1USD .  CNY document currency 记帐 

CNY 1000 :  local cur. (USD) 114.61 

我们可以在系统里更改汇率,这样做是可行的,我想这样在使用外币记帐时,如果currencies的小数定为两位, 产生汇兑损益易的机会会少些。JPY的小数问题. 

写一个关于税务的报表,就是从物料凭证,财务凭证和采购订单获取一些字段,物料凭证和财务凭证的对应如下: 

物料凭证表:MKPF和MSEG

财务凭证表:BKPF和BSEG

BKPF-AWKEY(物料凭证号+公司+会计年度或物料凭证号+会计年度) ,对应到MSEG-MBLNR(物料凭证号) 

MSEG-ZEILE(行项目号)*2-1对应到财务凭证行项目的BSEG-BUZEI(行项目号) 需要从BSEG带出BSEG-WAERS(凭证货币),BSEG-WRBTR (凭证货币金额)BSEG-DMBTR (本位币金额) 比如JPY为凭证货币 Dr:12345 Cr:12345 ,可是BSEG-WRBTR为123.45,这样出来的报表就发生错误。

我想SAP默认的所有的货币的小数都是2位, 这样在记录凭证时, 一定将你输入的数字弄两个小数点。

1.USD 2位或OY04没任何动作 Dr: 12345 Cr: 12345    

在SAP中BSEG-WRBTR为12345.00 Dr: 123.45 Cr:123.45 

在SAP中BSEG-WRBTR为123.45 显示出来不做任何动作 

2. JPY ,OY04定义小数0表示无小数 Dr : 12345   JPY Cr : 12345   JPY 

在SAP中BSEG-WRBTR为123.45 Dr : 123.45   JPY Cr : 123.45   JPY  

你不可能做出这样的凭证显示出来的数据*100 

3.比如TND OY04定义小数为3. Dr 123456 cr 123456 

在SAP中BSEG-WRBTR为1234560.00 Dr:123.456 Cr:123.456 

在SAP中BSEG-WRBTR为1234.56 显示出来的数据/10 

就是SAP保存数据和显示数据是不同的,保存在数据库中总保留两位小数,所以在做报表时要注意这一点。 

显示数据时根据TCURX(就是OY04)里面定义的小数位进行一定计算。


阅读原文:原文链接



点晴模切ERP更多信息:http://moqie.clicksun.cn,联系电话:4001861886

该文章在 2025/4/24 10:04:16 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved