prompt ******************************************************************************
总账接口主要完成其他模块的总账数据或者外围系统的总账数据导入总账生成日记账的过程。这些数据我们要先导入到总账接口表gl_Interface,但是导入gl_interface的数据是否能够在总账模块生成日记账主要取决于写入接口的数据是否符号要求.这就是我们开发接口的意义所在.言归正传我们看看接口表:
Insert Into gl_interface(status --状态:输入 NEW 值说明您要将新数据导入总帐应用产品
,set_of_books_id --帐套ID
,code_combination_id --帐户ID
,user_je_category_name --日记帐类别名称
,user_je_source_name --日记帐分录来源名称
,accounting_date --会计结算日期
,period_name --会计期间
,currency_code --币种代码
,date_created --日记帐分录行的创建日期
,actual_flag --类别表示,一般导总账都是导入实际金额 A表示实际金额,保留款和预算也由此标记控制
,entered_dr --借项金额
,entered_cr --贷项金额
,reference1 --批名,批次导入总账时候可以命名一个统一的批次名称
,reference2 --批说明
,reference4 --日记帐分录名
,reference5 --日记帐分录说明
,reference6 --日记帐分录参考
,reference7 --日记帐分录冲销标志
,reference9 --日记帐冲销方法
,reference10 --日记帐分录行说明
)
Values
(……)
上面的SQL语句就是一个总账接口表常用的插入语句,我常用字段在后边进行了一个说明。
这里要注意的是有些字段需要到ERP里验证数据的正确性,特别是从ERP外围系统导入数据的时候这个验证步骤尤为关键,需要验证的几个关键点如下:
1.帐套ID(set_of_books_id ),帐套我们可以理解为账簿,从常规来理解,没有账簿当然不能做账,ERP也是如此,如果系统里没有正确的帐套是不能进行账务处理的包括应收、应付、和固定资产等.帐套信息保存在gl_sets_of_books表里.
2.帐户ID(code_combination_id),账目是分帐户保存的,帐户是有各种会计科目段决定的.帐户信息保存在gl_code_combinations表里的.
3.币种(currency_code ),验证导入接口的币种是否存在于ERP中,并且看该币种是否有效.验证币种可以用视图fnd_currencies_vl.
4.日记帐分录来源名称(user_je_source_name),验证是否有效存在ERP中,信息存放在表gl_je_sources中。
5.日记帐类别名称(user_je_category_name ),验证是否有效存在ERP中,信息存放在表gl_je_categories中.
6.会计期间(period_name ),验证写入接口的会计期间是否存在和入账日期会计期间是否打开,信息存放在.gl_period_statuses。
其他的根据需要进行验证,比如多币种需要校验汇率类型等信息,这里就不再一样列罗
prompt ******************************************************************************
要使"日记帐导入"成功地将导入数据转换为日记帐分录,您必须在要求输入值的所有GL_INTERFACE 表列(包括所有非空列)中输入值。
请在 GL_INTERFACE表的以下要求列中输入值:
1. 状态:输入 NEW 值,以指明您要将新数据导入总帐应用产品。
2. SET_OF_BOOKS_ID:输入事务处理的相应帐套标识。您可以在总帐应用产品的"帐套"表单-->"帐套"表的 SET_OF_BOOKS_ID 列 (GL_SETS_OF_BOOKS.SET_OF_BOOKS_ID)
中提供了有效值列表。 建议:您可以使用以下 SQL*Statement 来访问相应的帐套标识:
SELECT SET_OF_BOOKS_ID, NAME FROM GL_SETS_OF_BOOKS;
3. USER_JE_SOURCE_NAME:输入事务处理的日记帐分录来源名称。您可以在总帐应用产品的日记帐分录来源"表的 USER_JE_SOURCE_NAME 列
(GL_JE_SOURCES.USER_JE_SOURCE_NAME) 中提供了有效值列表。
4. USER_JE_CATEGORY_NAME:输入事务处理的日记帐类别名称。您可以在总帐应用产品的USER_JE_CATEGORY_NAME 列
(GL_JE_CATEGORIES.user_je_category_name) 中提供了有效值列表。
5. ACCOUNTING_DATE:输入发生事务处理的会计结算日期。总帐应用产品会自动将日记帐批分
6. CURRENCY_CODE:输入事务处理的币种代码。您可以在总帐应用产品的"币种"表单中定义CURRENCY_CODE 列 (FND_CURRENCIES.CURRENCY_CODE)
中提供了有效值列表。
7. DATE_CREATED:输入您的导入日记帐分录行的创建日期。您在此处输入的信息只不过是您自己的记录,它不会显示在总帐应用产品中。
8. CREATED_BY:输入一个标识,以用来识别来自源系统的数据。此处输入的标识为您提供从"日记帐导入"数据到源系统的跟踪线索。
但是,日记帐导入数据在成功导入后将从GL_INTERFACE 表中被删除,并且此标识不会显示在总帐应用产品中。
9. ACTUAL_FLAG:输入 A 值表示实际金额,B 值表示预算金额或 E 值表示保留金额。
10.(保留款)ENCUMBRANCE_TYPE_ID:如果您在 GL_INTERFACE 表的 ACTUAL_FLAG 列中输入了 E 值,则必须输入相应的保留标识。
您可以在总帐应用产品的"保留类型"表单中定义新的保留类型。"保留类型"表的 ENCUMBRANCE_TYPE_ID 列
(GL_ENCUMBRANCE_TYPES.ENCUMBRANCE_TYPE_ID) 中提供了有效值列表。
建议:您可以使用以下 SQL*Statement 来识别相应的保留类型标识:
SELECT ENCUMBRANCE_TYPE_ID, ENCUMBRANCE_TYPE
FROM GL_ENCUMBRANCE_TYPES WHERE
ENABLED_FLAG = 'Y';
11.(预算)BUDGET_VERSION_ID:如果您在 GL_INTERFACE 表的 ACTUAL_FLAG 列中输入了 B值,则必须输入相应的预算标识。
您可以在总帐应用产品的"定义预算"表单中定义新的预算版本。"预算版本"表的 BUDGET_VERSION_ID 列(GL_BUDGET_VERSIONS.BUDGET_VERSION_ ID)
中提供了有效值列表。建议:建议您使用以下 SQL*Statement 来识别相应的预算版本标识:
SELECT BUDGET_VERSION_ID, BUDGET_NAME
FROM GL_BUDGET_VERSIONS
WHERE STATUS IN('C','O');
12.PERIOD_NAME:输入期间名称(仅供预算事务处理,即 ACTUAL_FLAG = B时使用)。在使用"日记帐导入"来导入预算数据时,
您需要输入此列。如果要使用"日记帐导入"来导入预算数据,您必须提供一个期间名称,而不是会计结算日期。此外,该期间名称必须
与打开预算会计年度相关联。
13.ENTERED_DR:输入每行事务处理的借项金额。您可以在给定行的 ENTERED_DR 或 ENTERED_CR 列中输入值,
但不能在同一行中输入两个值。
14.ENTERED_CR:输入每行事务处理的贷项金额。您可以在给定行的 ENTERED_DR 或ENTERED_CR 列中输入值,
但不能在同一行中输入两个值。
15.GL_INTERFACE 表中必须为 NULL 的列 由于"日记帐导入"将 GL_INTERFACE表中的某些列用于内部处理,
或者当前版本中的"日记帐导入"尚未使用这些列,因此您必须将它们保留为 NULL。
16.总帐应用产品的以下各列必须保留为 NULL:
REFERENCE3:请勿在此列输入值。
REFERENCE11 至 REFERENCE20:请勿在此列输入值。
TRANSACTION_DATE:请勿在此列输入值。
JE_BATCH_ID:请勿在此列输入值。
JE_HEADER_ID:请勿在此列输入值。
JE_LINE_NUM:请勿在此列输入值。
CHART_OF_ACCOUNTS_ID:请勿在此列输入值。
FUNCTIONAL_CURRENCY_CODE:请勿在此列输入值。
DATE_CREATED_IN_GL:请勿在此列输入值。
WARNING_CODE:请勿在此列输入值。
STATUS_DEscrīptION:请勿在此列输入值。
DESC_FLEX_ERROR_MESSAGE:请勿在此列输入值。
REQUEST_ID:请勿在此列输入值。
SUBLEDGER_DOC_SEQUENCE_ID:请勿在此列输入值。
SUBLEDGER_DOC_SEQUENCE_VALUE:用于总帐与子分类帐间的数据传递。请勿填入您自己的数据。
17.GL_INTERFACE 表的以下可选列中输入值 为可选列分配值 您可以为 GL_INTERFACE表中的许多可选列输入值。
您可以在这些列中输入值,以便最大程度地控制"日记帐导入"将其创建的日记帐分录行归类到日记帐分录的方式。
如果您启用了平均余额处理,则日记帐导入将按会计结算日期为事务处理分组。事务处理在验证之前进行分组,
如果"有效日期规则"为"累计日期",事务处理则可以累计至期间内最近的有效业务日。如果您未在可选列中输入值,
并且该特定列存在默认值,则"日记帐导入"将自动输入默认值。
REFERENCE1(批名):输入"导入批"的批名。"日记帐导入"使用以下格式来创建默认的批名:(用户输入的可选REFERENCE1)(来源)(请求标识)(实际标志)(组标识)。如果您输入了批名,则"日记帐导入"会将批名的前 50 个字符置于以上格式之前。
REFERENCE2(批说明):输入批说明。如果您未输入批说明,则"日记帐导入"将自动使用以下格式为批提供说明:日记帐导入(来源)(请求标识)。
REFERENCE4(日记帐分录名):为日记帐分录输入日记帐分录名。"日记帐导入"使用以下格式来创建默认的日记帐分录名:
(类别名)(币种)(货币折换类型,如果适用)(货币折换率,如果适用)(货币折换日期,如果适用)(保留类型标识,如果适用)(预算版本标识,如果适用)。
如果您输入日记帐分录名,则"日记帐导入"将按以上格式设置日记帐分录名的前 25 个字符。
19. REFERENCE5(日记帐分录说明):为日记帐分录输入说明。如果未输入日记帐分录说明,则"日记帐导入"将自动
使用以下格式为日记帐分录提供说明:日记帐导入-并发请求标识。
20. REFERENCE6(日记帐分录参考):为日记帐分录输入参考名或编号。如果未输入日记帐分录参考,则"日记帐导入"将自动创建一个称为"创建的日记帐导入"的日记帐分录参考。
21. REFERENCE7(日记帐分录冲销标志):输入"是"将您的日记帐分录标记为要冲销,如果您未输入"是",则"日记帐导入"自动默认为"否"。
如果启用了平均余额处理,则输入要冲销的有效日期。总帐管理系统将根据您提供的日期来确定相应的冲销期间。
注:有效日期仅适用于"实际"余额,不适用于"预算"或"保留"余额。
注:如果您在REFERENCE7 列中输入"是",则必须在此列中输入值。
22.REFERENCE9(日记帐冲销方法):输入"是",表示使用更改符号方法;输入"否",表示使用"借/贷"方法。
23.REFERENCE10(日记帐分录行说明):为日记帐分录行输入说明。如果未输入日记帐分录行REFERENCE21 至
REFERENCE30:输入参考名称或编号以进一步标识导入日记帐分录行。REFERENCE21 至 REFERENCE30 列分别映射至 GL_JE_LINES表
的 REFERENCE_1 至 REFERENCE_10 列。一旦在 GL_JE_LINES表中,总帐管理系统应用产品将在运行的具有行明细的标准报表中打印存储在REFERENCE_1
中的值,并在运行的具有来源明细的标准报表中打印存储在 REFERENCE_4 中的值。其它参考列仅用于说明或跟踪。总帐管理系统应用产品不使用这些列中的值。
GROUP_ID:输入唯一的组编号以区分来源中的导入数据。如果您为每项请求均指定了唯一的组编号,则可以为相同的来源并行运行日记帐导入。
24.STAT_AMOUNT:输入与日记帐分录行数据关联的统计额。您可以在总帐管理系统应用产品的USSGL_TRANSACTION_CODE:为日记帐分录行输入有效的 USSGL
事务处理代码。如果将配置文件选项"启用事务处理代码"设置为"是",并且使用"公共部门事务处理代码"窗口定义了 USSGL 事务处理代码,则"日记帐导入"将验证并导入
USSGL 事务处理代码。 注:如果您安装的是商业版的总帐管理系统,则忽略此列。
ATTRIBUTE1 至 ATTRIBUTE 10:为"日记帐 -日记帐分录行"说明性弹性域输入值。输入的值取决于您在"说明性弹性域段"表单中如何
定义说明性弹性域。
请参阅:定义 Oracle General Ledger 的说明性弹性域,《OracleApplications User Guide》。
ATTRIBUTE11 至 ATTRIBUTE 20:为"日记帐 -捕获信息"说明性弹性域输入值。输入的值取决于您在"说明性弹性域段"表单中如何定义
说明性弹性域。"日记帐 -捕获信息"的上下文为每行中所用帐户的自然帐户值。请参阅:定义 Oracle General Ledger 的说明性弹性域,
《Oracle Applications User Guide》。 CONTEXT:为"日记帐- 日记帐分录行"说明性弹性域输入上下文字段值,以标识说明性弹性域结构。
如果您输入了值,则还可以在 ATTRIBUTE1 至 ATTRIBUTE10 列中输入某些值的组合。
25.CONTEXT2:输入"是"以标识"增值税说明性弹性域"结构。如果要为"增值税说明性弹性域"导入数据,则必须使用此列。
输入"否"以指明日记帐分录行不是纳税项目。如果输入"否",则四个"增值税说明性弹性域"相关列必须为"空"。
26.CONTEXT3:为"日记帐 -捕获信息"说明性弹性域输入上下文字段值(自然帐户),以标识说明性弹性域的结构。仅
在导入"日记帐 -捕获信息"说明性弹性域而不进行验证时才输入值。如果输入了值,则还可以在ATTRIBUTE11 至 ATTRIBUTE20
列中输入某些值的组合。
27.INVOICE_DATE:在税务日记帐分录行中输入付税或收税的日期。请以 DD-MON-YY格式或您所用语言的默认日期格式输入日期。
发票日期应与此发票的税额收付日期一致。如果要为"增值税说明性弹性域"导入数据,则必须使用此列。
28.INVOICE_AMOUNT:输入发票额。请输入与税务日记帐分录行金额相关的净发票额。如果要为"增值税说明性弹性域"导入数据,
则必须使用此列。
29.TAX_CODE:输入标识此发票的纳税类型的有效税码。在定义说明性弹性域值时,请为此字段定义有效税码列表。
如果要为"增值税说明性弹性域"导入数据,则必须使用此列。
30.INVOICE_IDENTIFIER:输入发票标识符。请输入有关收付税的来源单据或发票的参考信息。
如果要为"增值税说明性弹性域"导入数据,则必须使用此列。