Managing finance interface transactions

This document describes how to manage financial transactions imported in program 'FIM Interface. Open' (GLS840) through GLS840MI. Interfaces created for usage type 1-'Position-based API' and 2-'Field-based API' in (GLS850) are handled in (GLS840).

The data in (GLS840) are uploaded through the Generic General Ledger (GL) interface API program (GLS840MI). Below are the different API transactions and how to view and manage the uploaded data for an interface with usage type 2 described.

AddBatchHead – Add header

The transaction 'AddBatchHead' is used to create a header record in table FGLINH for a batch of financial transactions. The header is displayed in (GLS840). This transaction is used for both usage type 1 and 2 interfaces.

This table shows the required fields in the API transaction:

Field name Description Length/type Comments
CONO Company 3 (Numeric)
DIVI Division 3 (String) Required if divisions are used for the company.
KEY1 Key value 15 (String) This is a unique identity for each batch header. This could be for example, a combination of a date and a serial number.
DESC Description 40 (String)
INTN Interface 15 (String) This is the interface name from (GLS850) to link the batch of transactions to the applicable template.

AddBatchLine – Add lines for usage type 1 interfaces

The 'AddBatchLine' transaction is used to create transaction lines in table FGLINL for interfaces with usage type 1-'Position-based API' in (GLS850). The lines are connected to a header record in (GLS840) through the unique value in the 'Key value' field. The transaction data for each line is specified as a long string (max length 900) in the field 'Parameter value' (PARM). You must create an interface template in (GLS850) where from and to positions are defined for each type of input data in the string. The program 'FIM Interface. Open Lines' (GLS841) is used to view the lines.

This table shows all the required fields in the API transaction:

Field name Description Length/type Comments
CONO Company 3 (Numeric)
DIVI Division 3 (String) Required if divisions are used for the company.
KEY1 Key value 15 (String) This is a unique identity for each batch header and must be the same for every line connected to the header.
LINE Line number 7 (Numeric) A sequence number assigned to each line.
PARM Parameter value 900 (String) A long string with the transaction data.

AddBatchLineFld – Add lines for usage type 2 interfaces

The transaction 'AddBatchLineFld' is use to create voucher lines in table FGLINF for interfaces with usage type 2-'Field-based API' in (GLS850). This transaction has an assigned input field for each type of data. You can display the voucher lines in program 'FIM Interface. Open Lines' (GLS842) and are connected to a header record in (GLS840) through the unique value in the 'Key value' field.

Only fields that are defined for population method 1,-'Populated from input file' in the template in (GLS850)/(GLS858) are allowed to pass in the API transaction.

This table shows the excepted fields since these are not included in the template:

Field name Description Length/type Comments
DIVI Division 3 (String) Required if divisions are used for the company.
KEY1 Key value 15 (String)

This is a unique identity for each batch header and must be the same for every line connected to the header.

Required field.

LINE Line number 7 (Numeric)

A sequence number assigned to each line.

Required field.

INRI Input record identity 2 (String)

This field should always be set to 'I1'.

Required field.

GRNR Group number 10 (String)

This is a unique number for transactions which together form a voucher during update to the general ledger. The voucher number is automatically retrieved from the voucher number series indicated in the FAM function specified on (GLS850/E) for the interface. If group number is left blank for all lines in a batch, then all accounting lines are posted to a single voucher number.

Optional field.

This table shows an example of how lines with the same group number receive the same voucher number:

Line number Group number Voucher number (in GL)
1 1 10002130
2 1 10002130
3 2 10002131
4 2 10002131
5 3 10002132
6 3 10002132

CtrlBatch - Run option 6 from (GLS840)

The transaction 'CtrlBatch' is used to start the validation of the uploaded data in (GLS840) and the setup of the interface. You can find this transaction starts a batch job and the result of the validation by navigating to (GLS840). This transaction is used for both usage type 1 and 2 interfaces.

DelBatch - Delete finance interface batch through API transaction GLS840MI.DelBatch

The 'DelBatch' function is used to delete uploaded data in (GLS840). This transaction is used for both usage type 1 and 2 interfaces.

This table shows the tables from which the functions deletes record:
Table Description Program
FGLINH FIM interface header GLS840
FGLINL FIM interface line GLS841
FGLINF FIM field-based interface line GLS842
FFIHST FIM interface history file GLS865
FFIHSD FIM interface history details GLS866

LstBatchLineFld - List lines uploaded through API transaction GLS840MI.AddBatchLineFld

The transaction 'LstBatchLineFld' is used to list the lines uploaded in (GLS840)/(GLS842) through the field based API GLS840MI and AddBatchLineFld (Usage type 2).

UpdBatch - Run option 9 from (GLS840)

The transaction 'UpdBatch' is used to start the same validation as 'CtrlBatch' but also update the General Ledger (GL) with the uploaded data, if no errors found. You can find the result of the validation or update by navigating to (GLS840). This transaction is used for both usage type 1 and 2 interfaces.

Manage uploaded data in (GLS840)/(GLS842) for usage type 2 interfaces

To view and manage the uploaded data for an interface with usage type 2, select 2-'Field-based API' in the field for usage type in (GLS840). You can use the selection fields for status to list batches with a certain status.

You must do a validation of the batch to check for any invalid or missing data. You can do this by selecting related option 6='Control' for the batch in (GLS840), or 9='Check and Update' to both validate and update the batch to GL, if no errors found. You can also start these two options through (GLS840MI) transactions.

The 'Status' field in (GLS840/B) is used to monitor the current state of the batch. These batch statuses are applicable for usage type 2:

  • 10=New
  • 13=Verified with errors
  • 14=Verified
  • 15=Validation or update in progress
  • 20=Updated in General Ledger

The fields 'Header error' and 'Line error' indicate if errors are related to the whole batch or lines. Any error must be corrected before the batch can be updated to GL. If a header error is found in the batch validation, an error message is displayed in the list view for (GLS840) to indicate what is incorrect. After the error is corrected, you must select the related option 6 or 9 for the batch. You can also delete the whole batch from (GLS840) and uploaded again to correct the error in the data source.

For usage type 2 interfaces, the related option 15='History' to open 'FIM Interface. Process History' (GLS865) is only used to display the date and time when a batch was updated to GL.

The option 11='Lines' is selected in (GLS840) to display the voucher lines in (GLS842) and correct any line errors. The B-panel has configurable views, and most fields are editable directly in the list view if they have been defined for population method 1 (from the input file) in the template. You can select lines with error status, and an error message is displayed in the list view for the first error found, if more than one. If there is a second error for the same line, a new message is displayed interactively after the first error is corrected and pressing Enter. When a batch has status 15 or 20 in (GLS840), you cannot change the lines in (GLS842).

On the detail panel (GLS842/E), all input fields are displayed but only fields defined for population method 1 are editable when selecting option 2='Change'. Other fields are protected. For fields defined for population method 2, the default value set up in the template is displayed but cannot be changed. If this value is incorrect, you must change it in (GLS858) and you must delete the batch in (GLS840) and then upload again. This is because the default value is retrieved when the lines are created in table FGLINF (GLS842).

Note: Alternatively, you can use the API transaction LstBatchLineFld used to view and manage the uploaded data for an interface with usage type 2.

GL voucher number updated in (GLS842)

Voucher number (VONO), book of account (VSER), and year (YEA4) are updated in table FGLINF when the batch is updated to GL and the voucher is created in table FGLEDG. This is meant to create a link between the lines in (GLS842) and GL. The fields can be displayed in the list view in (GLS842).

Examples of validation errors

Many possible errors exist, therefore every single error is not listed in this document. Attached to each error is a message that describes the error, which should give you enough information to correct it. Below are examples of header and line errors. Header errors refer to the whole batch of transactions or a group number within a batch where a single line cannot be pointed out.

This table shows the batch header errors (GLS840):

Error message Comment
Group no. x is unbalanced The 'Foreign currency amount' (CUAM) for the indicated group number (GRNR) is unbalanced (between credit/debit or negative/positive), or if 'Recorded amount' (ACAM) has population method 1, the balance of ACAM is checked instead and is unbalanced. ACAM cannot be 0, only CUAM. This could be the case if having exchange rate differences.
Group no. x contains several accounting dates Only one accounting date can exist per group number.
No records found No lines exist in (GLS842) connected to the batch header in (GLS840).

This table shows the batch line errors (GLS842):

Error message Comment
Accounting date xxxxxx is not within the valid range The date is not within the accounting date range set up for the FAM function used by the interface.
Accounting date xxxxxx is invalid A date that cannot be recognized by the system that is specified. This could happen if the date is specified in the incorrect format in the API transaction. The format should be sent as YYYYMMDD. Another reason is that the date is outside the date range of the system calendar.
<Field name> must be entered

Some fields are required if defined for population method 1 in the interface template. If any of those are missing, the error message indicates the name of the field and that it must be specified.

Required fields if population method =1:

  • Accounting dimension 1 (AIT1)
  • Accounting date (ACDT)
  • Currency (CUCD)
  • Foreign currency amount (CUAM)
  • Debit/Credit code (DBCR)*
  • Recorded amount (ACAM)
  • Exchange rate type (CRTP)
  • Exchange rate (ARAT)
  • Base country (BSCD)**
  • From/to country (FTCO)**
  • Reversal date (SHDT)

*Only if used for the division, set up in (CRS750).

**BSCD and FTCO are required if population method=1 and the account is defined with a 'VAT account type' (AT04) > 0.

Account x is an accounts receivable account. Account entry is not permitted. Using AR accounts for manual vouchers is not allowed.
Account x is an accounts payable account. Account entry is not permitted. Using AP accounts for manual vouchers is not allowed.
A period account is not allowed. Using period accounts for manual vouchers is not allowed.
Account x cannot be a fixed asset account Using fixed asset accounts (AT08=1 in CRS630) for manual journals is not allowed.
Reversal date is not within permitted limits The date is not within the accounting date range set up for the FAM function used by the interface.