目的:使用程序动态创建账户组合。如果账户组合存在的话,返回存在的ID,不存在的话就动态创建账户组合并返回id。

实现步骤:

1. 得到账簿的CHART_OF_ACCOUNTS_ID

2. 得到账户弹性域分隔符

3. 调用标准的API得到账户组合id

具体实现如下:

1. 得到账簿的CHART_OF_ACCOUNTS_ID实现code:

SELECT sob.chart_of_accounts_id
INTO l_id_flex_num
FROM financials_system_params_all fsp, gl_sets_of_books sob
WHERE org_id = p_org_id
AND sob.set_of_books_id = fsp.set_of_books_id;

2. 得到账户弹性域分隔符实现code:

SELECT concatenated_segment_delimiter
INTO l_segment_delimiter
FROM fnd_id_flex_structures
WHERE application_id = 101
AND id_flex_code = 'GL#'
AND id_flex_num = l_id_flex_num;

3. 调用标准的API得到账户组合id实现code:

l_concatenated_segments := l_segment1 || l_segment_delimiter ||
p_segment2 || l_segment_delimiter ||
p_segment3 || l_segment_delimiter ||
l_segment4 || l_segment_delimiter ||
l_segment5 || l_segment_delimiter ||
l_segment6 || l_segment_delimiter ||
l_segment7 || l_segment_delimiter ||
l_segment8 || l_segment_delimiter ||
l_segment9 || l_segment_delimiter ||
l_segment10 || l_segment_delimiter ||
l_segment11 || l_segment_delimiter ||
l_segment12 || l_segment_delimiter ||
l_segment13 || l_segment_delimiter ||
l_segment14 || l_segment_delimiter ||
l_segment15 || l_segment_delimiter ||
l_segment16 || l_segment_delimiter ||
l_segment17 || l_segment_delimiter ||
l_segment18 || l_segment_delimiter ||
l_segment19 || l_segment_delimiter ||
l_segment20 || l_segment_delimiter ||
l_segment21 || l_segment_delimiter ||
l_segment22 || l_segment_delimiter ||
l_segment23 || l_segment_delimiter ||
l_segment24 || l_segment_delimiter ||
l_segment25 || l_segment_delimiter ||
l_segment26 || l_segment_delimiter ||
l_segment27 || l_segment_delimiter ||
l_segment28 || l_segment_delimiter ||
l_segment29 || l_segment_delimiter ||
l_segment30 || l_segment_delimiter;
l_gcc_account_id := apps.fnd_flex_ext.get_ccid(application_short_name => 'SQLGL',
key_flex_code => 'GL#',
structure_number => l_id_flex_num,
validation_date => to_char(SYSDATE,
apps.fnd_flex_ext.DATE_FORMAT),
concatenated_segments => x_concatenated_seg);
fnd_file.PUT_LINE(fnd_file.log,
'l_gcc_account_id:' || l_gcc_account_id);
IF l_gcc_account_id = 0 THEN
RETURN NULL;
END IF;

注意      :如果账户ID返回0,表示没有创建成功。

错误原因:传入的参数不正确或者账户组合没有通过验证。

EBS动态创建账户组合实现的更多相关文章

  1. EBS WEBADI导入日记账 客户化账户组合规则校验

    近期项目需求对EBS中WEBADI导入日记账时,在加载数据时需要对账户组合额外进行客户化的校验,需要能够做到将校验结果体现在WEBADI模板的数据上,并且对每条错误数据都单独报错. 项目上的方案是调整 ...

  2. Android 动态创建Fragment

    Fragment是activity的界面中的一部分或一种行为.可以把多个Fragment组合到一个activity中来创建一个多界面并且可以在多个activity中重用一个Fragment.可以把Fr ...

  3. 《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

    http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转 ...

  4. Linux下通过shell脚本创建账户

    当我们在linux平台上开发一些项目时,或者有一些项目是需要部署到linux系统上时,有时候会涉及到linux上的特定的账户,例如有一些项目需要运行在某些特定的账户下,或者有时候需要在全新的环境上搭建 ...

  5. 根据ccid取得账户,更改某段值再创建账户,返回新的ccid

    CREATE OR REPLACE PACKAGE cux_cuxaprebate_utl IS * =============================================== * ...

  6. [UE4]使用C++重写蓝图,SpawnObject根据类型动态创建UObject

    先大量使用蓝图制作项目,后续再用C++把复杂的蓝图重写一遍,用C++代码按照蓝图依葫芦画瓢就可以了,很简单,但需要遵守一些原则: 第一种方法:使用继承 一.创建一个C++类作为蓝图的父类(C++类继承 ...

  7. mfc 动态创建EDIT控件

    知识点: CWnd::Create CWnd::CreateEx Spy++工具 动态创建控件 一. CWnd::Create 参数 virtual BOOL Create( LPCTSTR lpsz ...

  8. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  9. OAF 动态创建组件以及动态绑定属性

    在开发中,我们遇到以下一个需求. 一个表格左侧有5列是固定存在的,右侧有N列是动态生成的,并且该N列中第一列可输入,第二列是不可编辑的,但是是数字,如果小于0,那么就要显示为红色,重点标识出来. 首先 ...

随机推荐

  1. 在PADS LAYOUT中如何隐藏不需要的鼠线?

    如下图示,将net GPR_0的鼠线隐藏. 鼠标右键,选择网络----选择你要隐藏的网络------右键选择view nets----点击对话框右边View List里你所选的网络-----在右下角t ...

  2. Android Activity和Fragment传递数据

    1.Activity与Activity传递数据 UserLoginActivity.java: Intent welcomePage = new Intent(); Bundle dataBundle ...

  3. Windows Azure Camp---漫步云端,创意无限

    不再需要一系列繁杂的网银密码,一键搞定所有的支付:与朋友约会时通过实时分享地理位置迅速找到对方,这些都可以在WindowsAzure平台得以实现.在刚刚结束的2013年微软学生夏令营中,来自全国30所 ...

  4. HDU 5724 Chess(博弈论)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5724 [题目大意] 给出一个n行,每行有20格的棋盘,棋盘上有一些棋子,每次操作可以选择其中一个棋 ...

  5. zombie-phantom

    zombie-phantom zombie-phantom Provides a Zombie.js shim around the PhantomJS Headless Browser. npm i ...

  6. Tempter of the Bone(dfs奇偶剪枝)

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  7. XML DOM 节点

    来自:w3cschool菜鸟教程 在 DOM 中,XML 文档中的每个成分都是一个节点. DOM 节点 根据 DOM,XML 文档中的每个成分都是一个节点. DOM 是这样规定的: 整个文档是一个文档 ...

  8. jQeury学习笔记

    jQuery 语法: 核心语法: $(selector).action() 美元符号定义 jQuery 选择符(selector)"查询"和"查找" HTML ...

  9. UVa1585 Score

    #include <stdio.h> int main(){    int T, O, score;    char str[81], *p;    scanf("%d" ...

  10. C#中网站根路径、应用根路径、物理路径、绝对路径,虚拟路径的区别

    C#中网站根路径,请站点的最外一层 /表示 应用根路径 ~/表示,有时候C#程序路径并不是网站路径 物理路径 server.mappath("~/") 是指应用程序放在服务器硬盘的 ...