专注Oracle EBS--理性的浪漫
===========================================================
===========================================================
还有一个问题很重要,就是获得GL_JE_HEADERS 的period_name
方法一采用 01-07 的会计期 + 方案一
方法二采用 JAN-07 的会计期+ 方案二

方案二
修改公司段的取值: trigger alr_gl_je_headers_num 不同

/* Formatted on 2007/02/02 13:22 (Formatter Plus v4.8.7) */
CREATE OR REPLACE TRIGGER apps.alr_gl_je_headers_num
AFTER UPDATE OF status
ON gl_je_headers
-- REFERENCING OLD AS h_old NEW AS h_new
--FOR EACH ROW
--WHEN (h_new.status = 'P')
DECLARE
v_org_id NUMBER;
v_company VARCHAR2 (10);
v_month VARCHAR2 (10);
v_month_a VARCHAR2 (10);
v_month_b NUMBER;
v_je_header_id NUMBER;
v_year NUMBER;
v_max NUMBER;
v_max_y NUMBER;
v_period_name VARCHAR2 (200);
BEGIN
fnd_profile.get (NAME => 'ORG_ID', val => v_org_id);

FOR i IN 1 .. gl_je_headers_num_pkg.t_je_index
LOOP
SELECT period_name
INTO v_period_name
FROM gl_je_headers
WHERE ROWID = gl_je_headers_num_pkg.t_je (i);

-- get ¹«Ë¾¶ÎÖµ modify by Aaron to get company from method 2
/*SELECT attribute1
INTO v_company
FROM hr_organization_units
WHERE organization_id = v_org_id; */
SELECT r.flex_value_rule_name
INTO v_company
FROM fnd_flex_value_rules_vl r, fnd_flex_value_rule_usages u
WHERE r.flex_value_rule_id = u.flex_value_rule_id
AND u.application_id = fnd_profile.VALUE ('RESP_APPL_ID')
--application_id
AND u.responsibility_id = fnd_profile.VALUE ('RESP_ID');

-- responsibility id

--get Ô·Ý
SELECT h.je_header_id
INTO v_je_header_id
FROM gl_je_headers h
WHERE ROWID = gl_je_headers_num_pkg.t_je (i);

SELECT DECODE (UPPER (SUBSTR (h.period_name, 1, 3)), --notice here
'JAN', '01',
'FEB', '02',
'MAR', '03',
'APR', '04',
'MAY', '05',
'JUN', '06',
'JUL', '07',
'AUG', '08',
'SEP', '09',
'OCT', '10',
'NOV', '11',
'DEC', '12'
),
p.adjustment_period_flag
INTO v_month_b,
v_month_a
FROM gl_je_headers h, gl_periods p, gl_sets_of_books b
WHERE h.je_header_id = v_je_header_id
AND h.set_of_books_id = b.set_of_books_id
AND h.period_name = p.period_name
AND b.period_set_name = p.period_set_name;

/*AND h.je_header_id =
(SELECT je_header_id
FROM gl_je_headers
WHERE h.ROWID = gl_je_headers_num_pkg.t_je (i)); */
IF v_month_a = 'Y'
THEN
v_month := 'AD';
ELSE
v_month := v_month_b;
END IF;

-- get max number of updated gl
SELECT COUNT (*)
INTO v_max
FROM gl_je_headers h
WHERE h.period_name = v_period_name
AND h.status = 'P'
AND h.external_reference IS NOT NULL;

--get year
SELECT SUBSTR (h.period_name, 5, 6)
INTO v_year
FROM gl_je_headers h
WHERE ROWID = gl_je_headers_num_pkg.t_je (i);

-- get year max number of updated gl
SELECT COUNT (*)
INTO v_max_y
FROM gl_je_headers h
WHERE SUBSTR (h.period_name, 5, 6) = SUBSTR (v_period_name, 5, 6)
AND h.status = 'P'
AND h.external_reference IS NOT NULL;

UPDATE gl_je_headers
SET external_reference =
TRIM (TO_CHAR (v_company, '00'))
|| v_month
|| TRIM (TO_CHAR ((v_max + 1), '000000'))
|| '|'
|| TRIM (TO_CHAR (v_year, '00'))
|| TRIM (TO_CHAR (v_max_y + 1, '00000000'))
WHERE ROWID = gl_je_headers_num_pkg.t_je (i);
--gl_je_headers_num_pkg.t_je (i);
END LOOP;
--commit;
END;
/

moonsoft 发表于:2007.02.02 15:06 ::分类: ( 财务 , EBS ) ::阅读:(613次) :: 评论 (7) ::收藏此页到365Key
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

楼上兄弟认真点好么,请参见:

http://moonsoft.itpub.net/post/15182/252308

否则我不会写利用基表写DB trigger 来产生总帐凭证编号(2)

理性的浪漫 评论于: 2007.02.06 15:22
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

不好意思,是我搞错了。

Test 评论于: 2007.02.06 15:16
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

骗人吧,gl_je_headers表上的Trigger中是不可能访问这个表本身的,在上述程序中居然还能Select和Update这个表?

Test 评论于: 2007.02.06 14:26
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

哈哈,谢谢
有问题有时间交流一下

moonsoft 评论于: 2007.02.05 14:18
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

tongue你肯定不是了.因为我单位用的是中文的ERP,我觉得那个实施顾问也不至于这样有才华吧!我觉得他不能去看电影laughing

rainbow 评论于: 2007.02.04 17:09
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

wassat.gif你讲的都是和财务有关的处理,你要是我单位的那个实施顾问或者ERP软件支持就太搞笑了,那我就不得不说人不可貌像海水不可斗量了!!

rainbow 评论于: 2007.02.04 17:04
re: 利用基表写DB trigger 来产生总帐凭证编号(2) [回复]

smile你太狠了,博客太有特点了!!简直对我帮助太大了smile!太感谢你了,万分感谢!崇拜!呵呵,真没想到发现宝藏了!

rainbow 评论于: 2007.02.04 16:54

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


Blog信息
博客日历
切换风格
文章归档...
最新发表...
最新评论...
最多阅读文章...
博客统计...
网站链接...
新闻聚合