RFC-Import, adaptable
Technical description of the interface
The GlobalTaxCenter (GTC) support the import of Balance- and P&L-Values (HGB, IFRS and possibly tax accounting deviations) with the help of a standard-RFC. The associated function block must be implemented by the customer in accordance with the requirements of the GTC documentation.
For customers who already have another RFC, there is the option on the GTC side to configure an associated flexible interface to match this RFC. The identifiers of the import parameters and the results table, together with their fields, are specified in the GTC using an interface structure.
Technical requirements
The GTC Web Server establishes connections to the SAP systems configured in the GTC (i.e. to the SAP systems whose balance sheet and P&L values are queried). Via this connection or connections, remote-capable RFCs are called, which must be installed in these SAP systems.
SAP provides the Java Connector (JCo) as a middleware component for precisely such purposes. GTC uses the JCO 3, which consists of a jar file and a .dll or .so file.
For productive use of the RFC, the jar file is supplied by AMANA as part of the deployment, while the .so or .dll must be installed by the customer on the GTC Web server. To do this, the operating system-specific JCO3 must be downloaded from the SAP Service Marketplace and unpacked.
The customer's network infrastructure must allow communication between the GTC web server (source) and the SAP system (target). In the standard system, the function module communicates via port 33xy, where xy is the system number of the SAP system.
In general, this port must be explicitly released in the infrastructure (firewalls).
The technical SAP account that is stored in the GTC and with which the data is called up must of course be given the necessary authorizations in SAP to be able to call and execute the function module remotely.
SAP has to clarify which authorizations are in detail and is not the responsibility of the GTC system.
Specification of the RFC function module
A function block is programmed on the SAP side. Since the data is loaded from the GTC using a pull mechanism, the export is not actively triggered on the SAP side.
The amounts are delivered in local currency (e.g. currency type 60). A negative balance is given with a negative sign.
Connection parameters
The connection data to the SAP system is stored under "Master data >> Administration" in the area "Management of connection parameters":
- Category: "SAP RFC (Flexible)"
- Name: freely selectable - the connection GTC dialogues are displayed in selection lists under this name.
- SAP server, system number and client
- SAP account and password
- In the last column, the name of the function module (e.g. Z_GTC) in the SAP system is specified as the second parameter.
Attention
Interface structure
When retrieving SAP data, the GTC company ID, the fiscal year and the SAP period are generally specified. In general, the SAP period corresponds to the month of the end of the GTC period. SAP also knows special periods 13 through 16. The user can configure the details of the SAP interface under "Master data >> Interface >> Interface structures". To do this, select the following values from the dropdown lists:
- Direction: "Import"
- Interface type: "SAP RFC (flexible)"
- Goal: "Balance sheet comparison / income statement"
- Source: The connections created under the connection parameters are displayed here
The import parameters of the RFC can now be assigned to the respective GTC fields in the "Import parameters" area. In the example above, when the RFC is called, the parameter "I_UNIT" is filled with the ID of the current company. The values for "Year" and "SAP Period" result from the end of the current period. The period value can be overwritten using an explicitly specified value under “ID of the period of the ERP”.
The values for the two dates "Deviating FY from" and "Deviating FY to" are taken from the company master data. They are passed as strings in the form "YYYYMMDD". If there are no values for these two fields in the master data, "00000000" is transferred.
It is also possible to transfer a fixed value to an RFC field. To do this, the field identifier and the value are specified together with "#". Normally, this option will only be used for the "Additional parameters" field:
- Example: "I_EXTRA1 # 00" for the field "I_EXTRA1" with the value "00"
The fields in SAP normally have the following data types:
Description | Datatype | Length | Decimal places | Specification |
---|---|---|---|---|
Additional parameter (optional) | CHAR | 64 | 0 | Transfer of a constant value |
Unit - ID | CHAR | 20 | 0 | Unit-ID in the GTC |
SAP Period | CHAR | 2 | 0 | Period (= month)
There is no value restriction on the GTC side. If values beyond the usual SAP periods (1 to 16) can also be processed on the RFC side, they can also be used here.
(e.g .: "17" or "201803" in "ID of the period of the ERP"). |
Year | CHAR | 4 | 0 | Fiscal year; Values "1900" to "9999 |
First / different marketing year from (optional) | CHAR | 8 | 0 | Is only transferred if an import parameter is configured in the interface structure. The values are drawn from the master data (e.g. "20180401"). If there is no value, "00000000" is transferred. |
First / Different business year to (optional) | CHAR | 8 | 0 | Is only transferred if an import parameter is configured in the interface structure. The values are drawn from the master data (e.g. "20190331"). If there is no value, "00000000" is transferred. |
GTC normally determines the corresponding data type of the RFC parameter from the metadata of the RFC. In exceptional cases it may be necessary to explicitly control the data type. The data type can be specified as a separator after an additional "#":
- Example: "I_EXTRA1 # 00 # STRING" for the field "I_EXTRA1" with the value "00" and data type "STRING"
- Example: "I_PERIOD ## INTEGER" for the field "I_PERIOD" without a fixed value (therefore two consecutive "#") and data type "java.lang.Integer"
The following type specifications are possible:
- BIGDECIMAL for java.math.BigDecimal
- BIGINTEGER for java.math.BigInteger
- INTEGER for java.lang.Integer
- INT for int
- STRING for java.lang.String
The values to be imported are read from a data table of the function block. First, under "Data table" it must be specified what the result table is called (here: "CT_DATA") and where it can be called up in the RFC (here "Table Parameters" under "Origin"). In addition, the corresponding fields in the results table must be assigned to the GTC fields (example: "PositionId" and "IFRS") (example: "POSID" or "IFRS").
As with the import parameters, the data type can also be explicitly specified for the fields in the result table. Because no values are passed here, the spelling is, for example, "CORR # BIGDECIMAL" (only a "#").