How Financial transactions should be posted is controlled by the Posting Control functionality within IFS Financials. Any component can register posting (event) types and control types in the Posting Control framework. Applicable posting and control types are sent to the Posting Control framework to retrieve the code string that defines the posting information of a transaction.
Use this page do learn more about how to register posting and control types for a component as well as how related translations are handled.
All component specific basic data related to Posting Control should be placed in a file named PctrlBasicData<Component>.ins. The file normally contains the following sections:
Example files for posting control related basic data:
File Name | Comment |
---|---|
PctrlBasicDataInvoic.ins | Contains posting control specific data for the component/module INVOIC. |
PctrlBasicDataWo.ins | Contains posting control specific data for the component/module WO. |
The following interfaces in package POSTING_CTRL_API can be used:
PROCEDURE Insert_Posting_Type ( posting_type_ IN VARCHAR2, description_ IN VARCHAR2, module_ IN VARCHAR2, ledg_flag_ IN VARCHAR2, tax_flag_ IN VARCHAR2 DEFAULT NULL, currev_flag_ IN VARCHAR2 DEFAULT NULL, logical_unit_ IN VARCHAR2 DEFAULT NULL, sort_order_ IN NUMBER DEFAULT NULL );
Parameter Name | Description |
---|---|
posting_type_ |
Identity of the posting type |
description_ |
Posting type description |
module_ |
Module/component that owns the posting type |
ledg_flag_ |
If the posting type is used for account specific Posting Control then
this parameter defines if the account must be a ledger account or not. Valid values are Y or N |
tax_flag_ |
If the posting type is used for account specific Posting Control then
this parameter defines if the account must be a tax account or not. Valid values are Y or N .
Default value is N |
currev_flag_ |
Specific parameter for currency revaluation in the General Ledger. If
the posting type represents customer ledger events then the value should be
AR . If the posting type represents supplier ledger events
then the value should be AP . Currently used only by INVOIC and
PAYLED Components. Default value is NULL |
logical_unit_ |
Logical Unit name to be used as placeholder for basic data translation.
Default value is NULL . See
Handling Translation Support for Posting Control Basic Data for more
information. |
sort_order_ |
Defines sort order of the posting type within a module/component in the Posting Control window. The sort order will be based on module, sort order, code part and valid from. |
PROCEDURE Set_Cct_Enabled ( posting_type_ IN VARCHAR2 );
Parameter Name | Description |
---|---|
posting_type_ |
Identity of the posting type |
PROCEDURE Insert_Control_Type ( control_type_ IN VARCHAR2, module_ IN VARCHAR2, description_ IN VARCHAR2, ctrl_type_category_ IN VARCHAR2, view_name_ IN VARCHAR2, pkg_name_ IN VARCHAR2, logical_unit_ IN VARCHAR2 DEFAULT NULL );
Parameter Name | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
control_type_ |
Identity of the control type | ||||||||||
module_ |
Module that owns the control type | ||||||||||
description_ |
Control type description | ||||||||||
ctrl_type_category_ |
|
||||||||||
view_name_ |
View reference typically to support List of Values for the control type
values. E.g. the value PAYMENT_TERM(COMPANY) means that the List of
Values view name is PAYMENT_TERM and it has COMPANY
as parent. |
||||||||||
pkg_name_ |
Name of package to be used to:
|
||||||||||
logical_unit_ |
Logical Unit name to be used as placeholder for basic data translation.
Default value is NULL . See
Handling Translation Support for Posting Control Basic Data for more
information. |
PROCEDURE Insert_Allowed_Comb ( posting_type_ IN VARCHAR2, control_type_ IN VARCHAR2, module_ IN VARCHAR2, code_part_ IN VARCHAR2 );
Parameter Name | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
posting_type_ |
Identity of the posting type | ||||||||||||||||||||||||
control_type_ |
Identity of the control type | ||||||||||||||||||||||||
module_ | Module that owns the specified control type | ||||||||||||||||||||||||
code_part_ | Code part that the combination is allowed for. Allowed values are:
|
Descriptions of posting types and control types are supported by the Basic Data Translation framework according to the following:
The description will be defined as the PROG text.
The method in POSTING_CTRL_API to be used to register a posting type looks as follows:
PROCEDURE Insert_Posting_Type ( posting_type_ IN VARCHAR2, description_ IN VARCHAR2, module_ IN VARCHAR2, ledg_flag_ IN VARCHAR2, tax_flag_ IN VARCHAR2 DEFAULT NULL, currev_flag_ IN VARCHAR2 DEFAULT NULL, logical_unit_ IN VARCHAR2 DEFAULT NULL, sort_order_ IN NUMBER DEFAULT NULL )
The argument logical_unit_
in Insert_Posting_Type
method, can be used to specify a Logical Unit in
module_
that should be used as parent
for the translation key.
The method in POSTING_CTRL_API to be used to register a control type looks as follows:
PROCEDURE Insert_Control_Type ( control_type_ IN VARCHAR2, module_ IN VARCHAR2, description_ IN VARCHAR2, ctrl_type_category_ IN VARCHAR2, view_name_ IN VARCHAR2, pkg_name_ IN VARCHAR2, logical_unit_ IN VARCHAR2 DEFAULT NULL )
The argument logical_unit_
in Insert_Control_Type
can be used to specify a Logical Unit in
module_
that should be used as parent
for the translation key.
In both of the described cases the following happens if the parent Logical Unit is omitted:
- If the Logical Unit <module>PostingCtrl exists, then it will be used as the translation placeholder.
- Else if the Logical Unit <module>PostingCtrlTrans, e.g. EquipPostingCtrlTrans, exists then this Logical Unit will be used.
The idea is to have a way to specify a Posting Control related Logical Unit to be used as a translation placeholder, if the component does not have a Logical Unit as <module>PostingCtrl. The following files have to be created in this case:
- <module>PostingCtrlTrans.utility
- <module>PostingCtrlTrans.plsql
- <module>PostingCtrlTrans.views
One example is the Logical Unit EquipPostingCtrlTrans that is represented by the files:
- Else the Logical Unit PostingCtrlPostingType will be used for posting types and the Logical Unit PostingCtrlControlType will be used for control types.
Note: This case is not the preferable one since the two Logical Units PostingCtrlPostingType and PostingCtrlControlType only exists for
module_='ACCRUL'
, meaning that a combination likemodule_= 'EQUIP'
andcannot be found by the translation framework.
Logical Unit_= 'PostingCtrlPostingType'
Translations must in this case be handled manually.