SAPtrunc函数怎么切除小数点后几位中的小数据位数
SAP当然能定义小数位,可以为currencies and unit定义小数位.
1 定义currencies小数位.
T-code:OY04 , Path :Global settings->currencies->set decimal places for currencies
如果在此没有定义,比如CNY,RMB就没有,default decimal 是2,
OY04 enter后 发现有JPY没定义小数位,这样在记帐时如果JPY出现小数就会抱错.
比如手工做张凭证doc currency :JPY
Dr:12.5 Cr:12.5是不能save的.必须四`舍五入才到13才可.
但是比如有一PO是JPY下单. 10000个150 JPY.
MIGO收8521个,自动产生的会计凭证会自动取整.
但是如果已经有了数据,改动小数位就会出现大大的异外,具体如何自己测试下就知道
2 定义度量单位小数.
T-code:CUNI Path:Global settings->check unit of measurement.
比如EA想定义3位小数目.
这样就允许create BOM时采用EA做单位的 component material落实到小数点后三位.
3 汇率的改动. 我想是可细到四位的
OB08 , 默认的就是5位. 
一般记帐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的小数问题.
写一个关于税务的报表,就是从material doc, FI doc和PO抓些字段.
material doc.和FI doc的对应如下:
mat doc tables :Mkpf( header), MSeg(item)
FI doc  tables :Bkpf( Header), BSeg( Item)
BKPF-AWKEY(Mat. doc no+公司+fiscal year或mat. no+fiscal year)
对应到MSEG-mblnr(mat. doc. no)
MSEG-ZEILE(itemno)*2-1对应到FI doc item的bseg-buzei(item no)
需要从BSEG带出bseg-waers document curerncy.
bseg-wrbtr (doc currency amount)
bseg-dmbtr (local currency amount)
比如JPY为doc currency.
Dr:12345
Cr:12345
可bseg-wrbtr为123.45, 这样出来的报表就发生错误.
Why?我想SAP默认的所有的currencies的小数都是2位, 这样在record一document时,
不管三七二一,一定将你输入的数字弄两个小数点.
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
你不可能做出这样的document
显示出来的数据*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保存数据和显示数据是不同的,保存在数据库中总保留两位小数,所以在做report时间要小心,
显示数据时根据TCURX(就是OY04)里面定义的小数位进行一定计算,
至于关系你看上面6个例子就明白了!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。