oracle ebs 账户组合验证
DECLARE
l_segment1 GL_CODE_COMBINATIONS.SEGMENT1%TYPE;
l_segment2 GL_CODE_COMBINATIONS.SEGMENT2%TYPE;
l_segment3 GL_CODE_COMBINATIONS.SEGMENT3%TYPE;
l_segment4 GL_CODE_COMBINATIONS.SEGMENT4%TYPE;
l_segment5 GL_CODE_COMBINATIONS.SEGMENT5%TYPE;
l_segment6 GL_CODE_COMBINATIONS.SEGMENT6%TYPE;
l_valid_combination BOOLEAN;
l_cr_combination BOOLEAN;
l_ccid GL_CODE_COMBINATIONS_KFV.code_combination_id%TYPE;
l_structure_num FND_ID_FLEX_STRUCTURES.ID_FLEX_NUM%TYPE;
l_conc_segs GL_CODE_COMBINATIONS_KFV.CONCATENATED_SEGMENTS%TYPE;
p_error_msg1 VARCHAR2(240);
p_error_msg2 VARCHAR2(240);
BEGIN
l_segment1 := '00101';
l_segment2 := '28506';
l_segment3 := '00000';
l_segment4 := '14302';
l_segment5 := '00455';
l_segment6 := '00000';
l_conc_segs := l_segment1||'.'||l_segment2||'.'||l_segment3||'.'||l_segment4||'.'||l_segment5||'.'||l_segment6 ;
BEGIN
SELECT id_flex_num
INTO l_structure_num
FROM apps.fnd_id_flex_structures
WHERE id_flex_code = 'GL#'
AND id_flex_structure_code='EPC_GL_ACCOUNTING_FLEXFIELD';
EXCEPTION
WHEN OTHERS THEN
l_structure_num:=NULL;
END;
---------------Check if CCID exits with the above Concatenated Segments---------------
BEGIN
SELECT code_combination_id
INTO l_ccid
FROM apps.gl_code_combinations_kfv
WHERE concatenated_segments = l_conc_segs;
EXCEPTION
WHEN OTHERS THEN
l_ccid:=NULL;
END;
IF l_ccid IS NOT NULL THEN
------------------------The CCID is Available----------------------
DBMS_OUTPUT.PUT_LINE('COMBINATION_ID= ' ||l_ccid);
ELSE
DBMS_OUTPUT.PUT_LINE('This is a New Combination. Validation Starts....');
------------Validate the New Combination--------------------------
l_valid_combination := APPS.FND_FLEX_KEYVAL.VALIDATE_SEGS
(
operation => 'CHECK_COMBINATION',
appl_short_name => 'SQLGL',
key_flex_code => 'GL#',
structure_number => L_STRUCTURE_NUM,
concat_segments => L_CONC_SEGS
);
p_error_msg1 := FND_FLEX_KEYVAL.ERROR_MESSAGE; IF l_valid_combination then DBMS_OUTPUT.PUT_LINE('Validation Successful! Creating the Combination...');
-------------------Create the New CCID-------------------------- L_CR_COMBINATION := APPS.FND_FLEX_KEYVAL.VALIDATE_SEGS
(
operation => 'CREATE_COMBINATION',
appl_short_name => 'SQLGL',
key_flex_code => 'GL#',
structure_number => L_STRUCTURE_NUM,
concat_segments => L_CONC_SEGS );
p_error_msg2 := FND_FLEX_KEYVAL.ERROR_MESSAGE; IF l_cr_combination THEN
-------------------Fetch the New CCID--------------------------
SELECT code_combination_id
INTO l_ccid
FROM apps.gl_code_combinations_kfv
WHERE concatenated_segments = l_conc_segs;
DBMS_OUTPUT.PUT_LINE('NEW COMBINATION_ID = ' || l_ccid);
ELSE
-------------Error in creating a combination-----------------
DBMS_OUTPUT.PUT_LINE('Error in creating the combination: '||p_error_msg2);
END IF;
ELSE
--------The segments in the account string are not defined in gl value set----------
DBMS_OUTPUT.PUT_LINE('Error in validating the combination: '||p_error_msg1);
END IF;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||' '||SQLERRM);
END;
如上 验证ccid的仅能验证是否符合交叉规则、科目段值是否有效。
需要添加段值是否含有父值逻辑:
l_valid_combination := APPS.FND_FLEX_KEYVAL.VALIDATE_SEGS(operation => 'CHECK_COMBINATION',
appl_short_name => 'SQLGL',
key_flex_code => 'GL#',
structure_number => L_STRUCTURE_NUM,
concat_segments => L_CONC_SEGS,
vrule => '\nSUMMARY_FLAG\nI\n' || 'APPL=SQLGL;NAME=GL_JE_SUMMARY_ACCOUNT\nN\0');
p_error_msg1 := FND_FLEX_KEYVAL.ERROR_MESSAGE;
oracle ebs 账户组合验证的更多相关文章
- EBS WEBADI导入日记账 客户化账户组合规则校验
近期项目需求对EBS中WEBADI导入日记账时,在加载数据时需要对账户组合额外进行客户化的校验,需要能够做到将校验结果体现在WEBADI模板的数据上,并且对每条错误数据都单独报错. 项目上的方案是调整 ...
- EBS动态创建账户组合实现
目的:使用程序动态创建账户组合.如果账户组合存在的话,返回存在的ID,不存在的话就动态创建账户组合并返回id. 实现步骤: 1. 得到账簿的CHART_OF_ACCOUNTS_ID 2. 得到账户弹性 ...
- [转]oracle EBS 基础100问
from:http://www.cnblogs.com/xiaoL/p/3593691.html http://f.dataguru.cn/thread-51057-1-1.html 1001 OR ...
- Oracle EBS供应商接口导入(转)
原文地址 Oracle EBS供应商接口导入 1.供应商导入组成供应商导入主要分为供应商头信息导入.供应商地点信息导入.供应商联系人导入三个部分的信息,其他按实际需求进行添加.供应商头信息导入:导入供 ...
- Oracle Ebs R12 SLA与GL关系变化
http://www.cnblogs.com/bruce_zhao/p/3809886.html Oracle Ebs R12 SLA与GL关系变化 SLA概念:SLA(Subledger Accou ...
- Oracle EBS R12经验谈(二)
作者: jianping.ni 时间: 2009-2-13 12:52 标题: Oracle EBS R12经验谈(二) OAF页面:银行帐户开户人LOV值列表无值 在输入 应付超 ...
- Using Integrated SOA Gateway in Oracle EBS
FROM:http://blog.csdn.net/pan_tian/article/details/10159935 Oracle EBS如何与第三方系统相集成?比如这样的需求,X系统知道物料编码, ...
- Using Integrated SOA Gateway in Oracle EBS(websevice)
http://blog.csdn.net/pan_tian/article/details/10159935 Oracle EBS如何与第三方系统相集成?比如这样的需求,X系统知道物料编码,需要从EB ...
- Oracle EBS WMS功能介绍(二)
Oracle EBS WMS功能介绍(二) (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 出货物流逻辑主要包括 1. 打包.能够进 ...
- Oracle EBS 如何月结、对账[Z]
在Oracle系统处理月结业务时,需要遵循一定的操作顺序.这些业务,牵涉到相应的模块,包括:应付模块.采购模块.库存模块.应收模块.薪资模块.固定资产和总帐模块等 在Oracle系统中,总帐模块处于财 ...
随机推荐
- 消息传递(news)题解
代码 #include<cstdio> #include<algorithm> using namespace std; const int N = 200000; int f ...
- 网络配置:Netplan
Netplan 新出的Ubuntu服务器18.04版本修改了IP地址配置程序, Ubuntu和Debian的软件架构师删除了以前的ifup/ifdown命令和/etc/network/interfac ...
- Java流程控制:用户交互Scanner、选择结构
Java流程控制:用户交互Scanner.选择结构 用户交互Scanner Scanner类用于获取用户的输入 基本语法: Scanner s = new Scanner(System.in);s.c ...
- Linux:find 指令的选项 +n、-n、n
描述 find 指令查找文件时可以通过时间来锁定或缩小搜查范围.其中需要利用到文件的三个时间?:Access Time(atime).Modify Time(mtime) 和 Change Time( ...
- Postgresql 锁等待检测及处理
背景 对于多数数据库,dba技能之一就是查找锁.锁的存在有效合理的在多并发场景下保证业务有序进行.下面我们看一下Postgresql中查找阻塞的方法. 1.找到"被阻塞者",获取被 ...
- OpenAI Chat completion API 入门指南
Chat completion API 入门指南 ChatGPT 由 OpenAI 最先进的语言模型 gpt-3.5-turbo 提供支持. 使用 OpenAI API,您可以使用 GPT-3.5-t ...
- 【C++复习】同名函数判断条件(重载,隐藏,覆盖)
1.重载 以下条件要全部满足: 函数名相同 以下条件满足其1: 函数形参数目不同 函数形参类型不同 注意: 不看返回值 调用形式要不同 //下面两个函数不能重载 fun(int a,int b){} ...
- pip 基本问题
pip语法错误 pip换源 更新错误 无模板 Ignoring警告 问题一 (pip语法错误 ) pip list File "<stdin>", line 1 pip ...
- 基于TDSQL-C对OOM问题进行优化
OOM是实例使用内存超过实例规格内存上限导致进程被kill,实例存在秒级的不可用.MySQL的内存管理比较复杂,内存监控需要开启performance schema查询(默认关闭),会带来额外的内存消 ...
- Python读取保存图像文件
Python处理图像数据时通常需要对图像文件进行读取.保存等操作,因此将现有的方法归纳了一下. 1. PIL 依赖包:Pillow 安装:pip install Pillow 源码: 1 import ...