RSI - Regulate Sun Interface



What is RSI

RSI is used to stop and start the ITAS/SUN Interface. The interface is an ITAS service that communicates to a Sun web service, sending invoices (accounting) to the Sun system. There is a separate service for each ITAS company that are marked as requiring a SUN interface. The activation for a specific company is also enabled by RSI with the ‘Activate for Company xx’ tick box.
On the first time that RSI is activated on the server by a start service command, it will attempt to set up the service. It will use the default services account, so the ITAS system managers i.e. with windows administration privilege will need to run the Windows Services application to apply the correct ITAS Server credentials.

The Interface also needs the following information set up in S01:
  • Web Service (Overall Control): Address of web service, for example http://localhost:81/TestSun/ITASUtils.asmx
  • SOAP Command (Overall Control): SOAP command to run to call web service function, for example http://tempuri.org/generateSUNLedger
  • Sun Next ID. This is a unique value that is incremented with each call to the web service.          
  • Operating Interfaces (Main page, Company Setup tab): Sun
  • Location (B2B Screen): This is passed to the web service
  • Profit Centre (B2B Screen): This is passed to the web service

When the service is running, it  “wakes up” every 30 seconds and looks for companies that operate the Sun Interface. For each company, it searches for current transactions that have not been sent to Sun, by looking at the “Sent to SAP” indicator (txx_senttosap <> “Y”). Only the following document types are processed: PI, SI, CN, DN and reversals of these. Only legs with a non-zero value are processed. Each transaction found will be transmitted via XML to the web service.

Each document is sent individually to Sun using XML. The XML has the following structure:
  • Root: SunGLData
  • EventIdentifier: Describes the data
  • Header: Overall document information
  • Details: Single record per leg

EventIdentifier

Field
Data Type
ITAS Content
EventType
String
Description of first expense code (cmy101_name). If this can’t be found, we send txx_com
Action
String
“POST”
RecordId
Unsigned Long
ctrl10_sunnextid
EventTimeStamp
String
System date and time in “mm/dd/yyyy hh:mm:ss” format

Header

Field
Data Type
ITAS Content
BusinessUnit
String
Defined as S01 parameter /B2B page e.g. “E10”, “A30” for “ACOLA”. (If this is blank we use the following hard-coded values: “E10” for ASUSU profit centre, “A30” for ACOLA, and “Q5A” for ASUSG.)
AccountPeriod
String
Document period in “mmmyyyy” format, for example “0032009” (txx_period)
TransactionDate
String
Document Date in “mm/dd/yyyy” format (txx_ddate)
TransactionReference
String
Document Reference (txx_docref). If it’s not an SI or a reversal, we use client reference (txx_cliref)
BaseCurrency
String
Home currency (Menu.Ccy)
Journal Type
String
“X” plus document type, e.g. “XPI” (from txx_docref)
JournalSource
String
Full name of user who created document (prv40_fullname). If that can’t be found we use txx_setinit

Details

Field
Data Type
ITAS Content
Description
String
Document Reference
Quantity
String
Quantity on documents, expressed in default units (txx_units)
PaymentTerm
String
Payment terms if the document relates to a physical contract, otherwise blank.
CostType
String
Blank
UnitOfMeasurement
String
Document Weight code (ctrl02_qtycode)
TransactionCurrency
String
Transaction Currency (txx_ccy)
FXToBaseRate
Decimal
Rate of exchange to narrative (base) currency (txx_roe)
PaymentDueDate
String
Value date in “mm/dd/yyyy” format (txx_vdate)
DebitCredit
String
“DR” or “CR” depending on signing
Account
String
See Account Mapping below
TransactionAmount
String
Amount, expressed as a positive value, with no formatting, except for currency decimal places (txx_amt)
AllocationMarker
String
“1” for PI (or EJ of a PI), “2” for others
L1
String
Sun Profit Centre. Ctrl02_sunprofitcentre as entered in S01 /B2B page
L2
String
Contract commodity code (phys01­_cmynum)
L3
String
EDI Address of client account (chr20_ediaddr). If the interface cannot locate this, it uses txx_assclacc.
L4
String
Contract Reference or external cost code – see below for details.
L5
String
. Comes from physical (phys01_portorig).
L6
String
Destination. Comes from physical (phys01_portdest or phys01_contermsport for ASUSU).
L7
String
Tax Code as maintained on the destination port’s static (cmy16_taxcode).
L8
String
Profit Centre. This is only sent for internal accounts (chr20_group = “Y”) and is ctrl02_sunprofitcentre.
L9
String
Location. Ctrl02_sunlocation, as maintained in S01 /B2B page.
L10
String
If VAT is active, we send the VAT interface code (cmy100_gpcode) matching the transaction VAT code (txx_vatcd). If there is no interface code, we send the VAT code prefixed by “I” for inputs, or “O” for outputs. If the code is “NT”, we send “NA”. If VAT isn’t active, we sent txx_paywhom. If this is blank we send the word “CHECK”

L4 Details:
Normally, this is the contract reference for the header, or tranche header.. So if the contract is “P00001.A01” then we send “P00001.A00”.
There is additional logic for Noble Cocoa, recognised as profit centre “ACOLA”: when the document relates to a cost, we send third party cost code. We recognise the document as being a cost when expense code is not the nominated purchase or sales invoice expense codes in EXP. We then determine the cost code from the expense code and send the third-party cost code field.

The account mapping depends upon the ledger as shown below:
Ledger
Usage
Client
Client’s EDI Address (chr20_ediaddr)
Nominal
For P&L accounts, we use the expense code alternative code (cmy101_altcode); for non P&L accounts we use the Nominal Ledger alternative code (nhr20_altcode)
WIP
Expense code alternative code (cmy101_altcode)
If the account is still blank, we just the actual account from the document (txx_account).

Was this helpful?
Thanks for your feedback