Oracle EBS 如何設定事務處理分配行金額、成本和資源費率等等數字小數點位數?
阿新 • • 發佈:2019-02-12
通常事務處理的分配行金額、採購單價、成本和資源費率等等數字的小數點位數,在想設定新增小數點位數時候,往往誤認在Oracle EBS配置檔案中設定,其實與賬薄的設定本位幣有關係。
例如下圖,當Resource Cost的Resource Unit Cost的小數點超過5位提示錯誤
解決方法:設定本位幣的擴充套件精確度,假設本位幣為CNY。
幣種導航:GL/Setup/Currencies/Default 如下圖
若以後開發中某一些單價或金額相關限制與準標系統保持一致,則可以呼叫如下程式碼
declare currency_code VARCHAR2(15) := 'CNY'; --本位幣 precision NUMBER; --精確度 ext_precision NUMBER; --擴充套件精確度 min_acct_unit NUMBER; --最小可計帳單位 mask VARCHAR2(80); --格式 begin /* --Form開發時,呼叫CSTCORE.pll庫檔案 currency_code := RTRIM(CST_GLOBALS.CURRENCY_CODE); */ currency_code := 'CNY'; FND_CURRENCY.GET_INFO(currency_code, precision, ext_precision, min_acct_unit); dbms_output.put_line('Currency:' || currency_code); dbms_output.put_line('precision:' || precision); dbms_output.put_line('precision:' || ext_precision); dbms_output.put_line('precision:' || min_acct_unit); FND_CURRENCY.BUILD_FORMAT_MASK(format_mask => mask, field_length => 38, ---數字最大長度 precision => ext_precision, min_acct_unit => min_acct_unit); dbms_output.put_line('Format Mask:' || mask); End;