第一篇,总帐
一、总帐凭证导入说明
1.1 简单导入例子
declare
l_interface_run_id number;
l_group_id number;
l_dr_rec gl_interface%rowtype;
l_cr_rec gl_interface%rowtype;
l_request_id number;
begin
--初始化
fnd_global.apps_initialize(3632, --user_id
50240, --resp_id
101); --appl id
--取INTERFACE_RUN_ID及GROUP_ID
SELECT gl_journal_import_s.NEXTVAL INTO l_interface_run_id FROM dual;
SELECT gl_interface_control_s.NEXTVAL INTO l_group_id FROM dual;
--插入数据至gl_interface表
--借项
l_dr_rec.status := 'NEW'; --状态
l_dr_rec.ledger_id := 1001; --分类帐ID
l_dr_rec.accounting_date := trunc(sysdate); --GL日期
l_dr_rec.currency_code := 'CNY'; --币别
l_dr_rec.date_created := sysdate; --创建日期
l_dr_rec.created_by := fnd_profile.value('USER_ID'); --创建人
l_dr_rec.actual_flag := 'A'; --日记帐种类
l_dr_rec.user_je_category_name := '手工日记帐'; --类别
l_dr_rec.user_je_source_name := '人工'; --来源
l_dr_rec.period_name := to_char(sysdate, 'yyyy-mm'); --期间
l_dr_rec.reference1 := '测试批名';
l_dr_rec.reference4 := '测试分录名';
l_dr_rec.reference5 := '测试分录说明';
l_dr_rec.reference10 := '日记帐分录行说明';
l_dr_rec.code_combination_id := 11002; --CCID
l_dr_rec.entered_dr := 100;
l_dr_rec.group_id := l_group_id;
insert into gl_interface values l_dr_rec;
--贷项
l_cr_rec.status := 'NEW'; --状态
l_cr_rec.ledger_id := 1001; --分类帐ID
l_cr_rec.accounting_date := trunc(sysdate); --GL日期
l_cr_rec.currency_code := 'CNY'; --币别
l_cr_rec.date_created := sysdate; --创建日期
l_cr_rec.created_by := fnd_profile.value('USER_ID'); --创建人
l_cr_rec.actual_flag := 'A'; --日记帐种类
l_cr_rec.user_je_category_name := '手工日记帐'; --类别
l_cr_rec.user_je_source_name := '人工'; --来源
l_cr_rec.period_name := to_char(sysdate, 'yyyy-mm'); --期间
l_cr_rec.reference1 := '测试批名';
l_cr_rec.reference4 := '测试分录名';
l_cr_rec.reference5 := '测试分录说明';
l_cr_rec.reference10 := '日记帐分录行说明';
l_cr_rec.code_combination_id := 11002; --CCID
l_cr_rec.entered_cr := 100;
l_cr_rec.group_id := l_group_id;
insert into gl_interface values l_cr_rec;
--插入数据至gl_interface_control
INSERT INTO gl_interface_control
(set_of_books_id,
interface_run_id,
je_source_name,
group_id,
status,
packet_id)
VALUES
(1001, l_interface_run_id, 'Manual', l_group_id, 'S', NULL);
commit;
--提交导入请求
l_request_id := FND_REQUEST.SUBMIT_REQUEST('SQLGL',
'GLLEZL',
'',
'',
FALSE,
l_interface_run_id,
fnd_profile.value('GL_ACCESS_SET_ID'),
'N', --error to suspense flag
'', --from accounting date
'', --to accounting date
'N', -- create summary flag
'O', --import desc flex flag
'Y' --Data security mode flag
);
commit;
end;
1.2 手工导入凭证信息的一些小技巧
1.2.1 如何导入凭证头弹性域
(1) 把头弹性域的信息输入至gl_interface字段reference21 ~ reference 30
(2) 在导入完成后,gl_interface字段reference21 ~ reference30的信息将保存于gl_je_lines的reference_1 ~ reference_10字段
(3) 此时可直接把这些信息更新至gl_je_headers中即可
1.2.2 外币汇率的处理方法
(1) 在gl_interface为CURRENCY_CODE,CURRENCY_CONVERSION_DATE 和 USER_CURRENCY_CONVERSION_TYPE列中输入相应值即可
(2) 如果USER_CURRENCY_CONVERSION_TYPE为User即用户汇率,CURRENCY_CONVERSION_RATE列必须输入
(3) 如果不想受计算影响,可以直接为ACCOUNTED_DR 和 ACCOUNTED_CR输入值
1.3 使用WEBADI时的一个小技巧
1.3.1 当WEBADI中存在错误信息或有多人同时使用时,必须设置“GLDI:创建组标识”
1.4 如何控制其他模块导入的总帐凭证的信息
在gl_interface_control加一个trigger即可,简单例子如下
CREATE OR REPLACE TRIGGER CUX_GL_INTERFACE_CONTROL_TRG
BEFORE INSERT on GL.Gl_Interface_Control
for each ROW
DECLARE
l_sql VARCHAR2(6000);
BEGIN
--为从资产模块导入的数据添加信息
IF :new.interface_table_name IS NOT NULL and