CREATE OR REPLACE PACKAGE cux_cuxaprebate_utl IS

  * ===============================================
* PROGRAM NAME:
* cux_price_utl_pkg
* DESCRIPTION:
* CUX:应付发票平台返利开发FORM 工具包
* HISTORY:
* 1.00 2013-12-01 cxy
* ==============================================*/
/* =============================================
* FUNCTION / PROCEDURE
* create_account
* DESCRIPTION:
* 根据ccid取得账户,更改某段值再创建账户,返回新的ccid
* ARGUMENT:
p_sql_stmt :动态SQL语句
* RETURN:
* N/A
* HISTORY:
* 1.00 2013-12-01 cxy
* =============================================*/
PROCEDURE create_account(p_org_id IN NUMBER,
p_ccid IN NUMBER,
x_ccid OUT NUMBER); END cux_cuxaprebate_utl;
/
CREATE OR REPLACE PACKAGE BODY cux_cuxaprebate_utl IS
-- Constant Variable
g_pkg_name CONSTANT VARCHAR2(30) := 'cux_CUXAPREBATE_utl';
g_conc_request_id CONSTANT NUMBER := fnd_global.conc_request_id;
g_login_id NUMBER := fnd_global.conc_login_id;
g_user_id NUMBER := fnd_global.user_id;
g_prog_appl_id NUMBER := fnd_global.prog_appl_id;
g_prog_id NUMBER := fnd_global.conc_program_id;
g_request_id CONSTANT NUMBER := fnd_global.conc_request_id;
g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
-- Global constant variable
g_debug_flag VARCHAR2(1) := nvl(fnd_profile.value('AFLOG_ENABLED'), 'N');
g_bg_id CONSTANT NUMBER := fnd_profile.value('PER_BUSINESS_GROUP_ID');
TYPE account_type IS TABLE OF VARCHAR2(20) INDEX BY BINARY_INTEGER;
v_account_type account_type;
/* =============================================
* FUNCTION / PROCEDURE
* create_account
* DESCRIPTION:
* 根据ccid取得账户,更改某段值再创建账户,返回新的ccid
* ARGUMENT:
p_org_id :OU ID
p_ccid :原ccid
x_ccid :生成新的ccid
* RETURN:
* N/A
* HISTORY:
* 1.00 2013-12-01 cxy
* =============================================*/
PROCEDURE create_account(p_org_id IN NUMBER,
p_ccid IN NUMBER,
x_ccid OUT NUMBER) IS
comma_location NUMBER := 0;
v_location VARCHAR2(100);
v_count NUMBER := 0;
account VARCHAR2(100) := '06.0.212101.0.0.0.0';
account_adj VARCHAR2(100);
prev_location NUMBER := 0;
v_account VARCHAR2(100);
x_account VARCHAR2(100); p_segment1 VARCHAR2(30);
p_segment2 VARCHAR2(30);
p_segment3 VARCHAR2(30);
p_segment4 VARCHAR2(30);
p_segment5 VARCHAR2(30);
p_segment6 VARCHAR2(30);
p_segment7 VARCHAR2(30);
--x_ccid NUMBER;
v_segment3 VARCHAR2(30);
BEGIN
--在最后一个段后面加一个点
account := cux_flex_pkg.get_gl_flexfields(p_ccid => p_ccid,
p_return => 'A');
account_adj := account || '.';
LOOP
v_count := v_count + 1;
comma_location := instr(account_adj, '.', comma_location + 1);
EXIT WHEN comma_location = 0;
v_location := substr(account_adj,
prev_location + 1,
comma_location - prev_location - 1);
prev_location := comma_location;
v_account_type(v_account_type.count + 1) := v_location; END LOOP;
SELECT attribute1
INTO v_segment3
FROM cux_lookup_codes v
WHERE v.lookup_type = 'CUX_PUBLIC_ACCOUNT_DEFINE'
AND v.enabled_flag = 'Y'
AND v.lookup_code = 'AP_REBATE_MD';
v_account_type(3) := v_segment3;
FOR i IN v_account_type.first .. v_account_type.last LOOP
IF i = 1 THEN
p_segment1 := v_account_type(i);
ELSIF i = 2 THEN
p_segment2 := v_account_type(i);
ELSIF i = 3 THEN
p_segment3 := v_account_type(i);
ELSIF i = 4 THEN
p_segment4 := v_account_type(i);
ELSIF i = 5 THEN
p_segment5 := v_account_type(i);
ELSIF i = 6 THEN
p_segment6 := v_account_type(i);
ELSIF i = 7 THEN
p_segment7 := v_account_type(i);
END IF;
END LOOP; x_ccid := cux_gl_public_pkg.get_code_combination_id(p_org_id => 101,
p_segment1 => p_segment1,
p_segment2 => p_segment2,
p_segment3 => p_segment3,
p_segment4 => p_segment4,
p_segment5 => p_segment5,
p_segment6 => p_segment6,
p_segment7 => p_segment7);
/* dbms_output.put_line(x_ccid);*/
END; END cux_cuxaprebate_utl;
/

根据ccid取得账户,更改某段值再创建账户,返回新的ccid的更多相关文章

  1. DirectoryEntry 账户启动与停用 以及创建账户等

    启动账户: DirectoryEntry usr = new DirectoryEntry("LDAP://CN=New User,CN=users,DC=fabrikam,DC=com&q ...

  2. 一段小代码秒懂C++右值引用和RVO(返回值优化)的误区

    关于C++右值引用的参考文档里面有明确提到,右值引用可以延长临时变量的周期.如: std::string&& r3 = s1 + s1; // okay: rvalue referen ...

  3. 【shell脚本】创建账户及删除账户,批量创建账户及批量删除账户===autoCreateUser.sh

    一.字符串运算符 二.创建账户 1.提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码.如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 123456 ...

  4. 一段完整的创建表格的SQL代码

    一段完整的创建表格的SQL代码 使用SQL语句创建一张表,不仅可以可以快速熟悉SQL语句,还可以从这看出一个人对该技能点的熟悉程度. 这里先说明几点: PRIMARY KEY:主键,一张表中只允许有一 ...

  5. 编写Java程序,使用ThreadLocal类,项目中创建账户类 Account,类中包括账户名称name、 ThreadLocal 类的引用变量amount,表示存款

    查看本章节 查看作业目录 需求说明: 某用户共有两张银行卡,账户名称相同,但卡号和余额不同.模拟用户使用这两张银行卡进行消费的过程,并打印出消费明细 实现思路: 项目中创建账户类 Account,类中 ...

  6. C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解

    前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解  ...

  7. 【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案

    近日在使用SQL Server 2008的过程中,修改已创建完成的表结构时,却一直提示弹出如下提示: 不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了“阻 ...

  8. excel转化为table(去掉所有列值都为空的值一行,即返回有效值的DataTable)

    /// <summary> /// 去掉所有列值都为空的值一行,即返回有效值的DataTable /// </summary> /// <param name=" ...

  9. 关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案

    不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改” 解决方法:  打开SQL SERVER 2008 工具-->选项- ...

随机推荐

  1. java面试2(java技术栈和Hollis面试内容分享)

    1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...

  2. js获取设备

    总结了一个JavaScript获取当前终端类型(pc, mobile),操作系统类型,浏览器类型,浏览器版本的小工具. 个人觉得还行,测试过没有问题,能识别ie7以及以上. 1 2 3 4 5 6 7 ...

  3. NOIP 2007树网的核

    题目描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并 ...

  4. POJ1743 Musical Theme(二分+后缀数组)

    题目大概是给n个数组成的串,求是否有多个“相似”且不重叠的子串的长度大于等于5,两个子串相似当且仅当长度相等且每一位的数字差都相等. 这题是传说中楼教主男人八题之一,虽然已经是用后缀数组解决不可重叠最 ...

  5. ●POJ 1990 MooFest

    题链: http://poj.org/problem?id=1990 题解: 树状数组 把牛们按x坐标从小到大排序,依次考虑每头牛对左边和对右边的贡献. 对左边的贡献:从左向右枚举牛,计算以当前牛的声 ...

  6. 【LSGDOJ1836】: 量化交易 贪心

    题目描述 applepi 训练了一个可以自动在股票市场进行量化交易的模型.通常来说,applepi 写出的模型,你懂得,就好比一架印钞机.不过为了谨慎起见,applepi还是想先检查一下模型的效果.a ...

  7. ●BZOJ 4408 [Fjoi 2016]神秘数

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4408 题解: 主席树 首先,对于一些数来说, 如果可以我们可以使得其中的某些数能够拼出 1- ...

  8. [HNOI2009]最小圈

    题目描述 对于一张有向图,要你求图中最小圈的平均值最小是多少,即若一个圈经过k个节点,那么一个圈的平均值为圈上k条边权的和除以k,现要求其中的最小值 输入输出格式 输入格式: 第一行2个正整数,分别为 ...

  9. bzoj3198[Sdoi2013]spring 容斥+hash

    3198: [Sdoi2013]spring Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 1143  Solved: 366[Submit][Sta ...

  10. Linux查看Tomcat是否多次重启命令

    1.查看命令 ps -ef|grep apache-tomcat-9090|grep -v grep|awk '{print $2}' 如果存在两个端口则多次重启, 2.停掉命令: kill -9  ...