Guardian News & Media
GNM SLM
Oracle AR interfaces
Technical specification
Prepared by O3 Team Limited
Authors Nigel Robson
Creation date 04/12/2013
Document Ref. GNM_SLM_AR_Interfaces_TS.docx
Version draft for review
.Introduction
Purpose
The document GNM_SLM_System_Interfaces_FS.docx is the functional specification that describes what business functions RCS supports in relation to its interfaces with other GNM systems as well as any external integration.
This document is one of a set of technical specifications that provide details of how those functions are implemented in RCS.
Scope
This document focusses on the Oracle AR interfaces: the data being transferred and how the transactions are managed. Separate documents deal with all the other inter-system interfaces that pass data between RCS/SLM and other systems. The configuration of the AR interfaces is also documented under separate cover, as these are really housekeeping screens.
This document is intended as a high-level technical document outlining how the relevant business functions are implemented in terms of software modules.
Importantly, this document does not aim to provide the level of detail that would be required in a programming specification in areas such as program structure, detailed business rules, data integrity, validation, locking considerations, data security, and calls to/from other software modules, performance considerations, and so forth.
For details of program logic and coding, the reader should refer to the program files themselves.
.Oracle AR interface
Data sent to Oracle AR
Customer interface
New customer details are sent to Oracle AR by means of an API call over a database link. One record is sent per customer. For each customer only the billing address and billing contact details are sent. Other contact details are kept in RCS for correspondence purposes and are not sent to Oracle AR.
For each message sent a record is retained in the CUSTOMER_SEND_MESSAGES table. These messages can be reviewed in the Customer messages sent screen which is accessed from the menu option: Syndication → AR Interfaces → Customer messages sent.
This opens an Oracle Form named rcs_csme_010_pc.fmb
To send these messages to Oracle AR an SLM process executes the Oracle AR packaged function called guard_customer_interface.create_customer_api
This API call returns a record that includes various IDs that were created in Oracle. It also returns a status that indicates success (0) or failure (1). If the status indicates success the SLM customer is updated with the Oracle IDs and is marked as having been sent to Oracle AR.
SLM owns the customer data until it is sent to Oracle AR, at which point it is locked down and can only be changed in Oracle. Changes made in Oracle are propagated back to SLM via automated Customer change messages as described in a later section of this document.
.
Invoice interface
Invoice instructions are sent to Oracle AR for Customers who have been setup in Oracle AR (see last section). These invoices relate to individual licences and fees dues under aggregate contracts for the reuse of content published content.
These messages are recorded in SLM and can be reviewed in the Invoice messages sent screen. This screen is accessible from the menu option: Syndication → AR Interfaces → Invoice messages sent.
This opens an Oracle Form named rcs_iins_010_pc.fmb
Each message sent relates to one invoice line. For licences each invoice only has a single invoice line. Contract invoices may have multiple lines. Invoice lines are sent in sequential order and the last line is identified as such using a flag in the data (shown as “Last?” above).
To send these messages to Oracle AR an SLM process executes the Oracle AR packaged function (API) called guard_bfg_sales_api.create_order_item
SLM makes the call and if the function returns TRUE RCS commits the changes; otherwise it rolls them back and records the failure in SLM.
.
Data received from Oracle AR
Customer change messages
Oracle AR notifies SLM when a customer’s data has been changed, so that SLM can be kept in synch. Each message received relates to a single customer and is queued for processing in the table CUSTOMER_CHANGE_MESSGAES.
The screen displaying these messages is accessible from the menu option: Syndication → AR Interfaces → Customer messages rec’d.
This opens an Oracle Form named rcs_ccme_010_pc.fmb
The messages shown in this screen are written by an RCS API packaged procedure (guard_oracle_ccm.customer_change_message_api) which is called by software in Oracle EBS. The Oracle EBS process controls the commit.
These messages are processed asynchronously in RCS by a database job executing ccme.process_new_messages, which updates the corresponding record(s) in the CUSTOMERS and CUSTOMER_ADDRESSES table(s) as advised.
Payment receipt data
SLM delays the payment of royalty fees until 90 days after a licence is issued, or until the licence fee has been paid. To find out if the fee has been paid SLM queries a view in Oracle AR called guard_slm_payments_v to get the currency, original amount owed, and remaining amount owed.
This process is managed by a database job which executes the packaged procedure iins_receipts.get_receipt_data
.
SLM / AR Invoice instructions report
A report is available in SLM that lists the invoice instructions sent to Oracle AR over a given period.
This report is requested via a report requests screen, which is opened from this menu option: Syndication → AR Interfaces → Oracle AR invoice report…
The screen that opens, shown below, is called rcs_reports_170_pc.fmb
The report is delivered by email to the requesting user as a csv attachment which can easily be opened in Excel.
The report files contains the data listed below, with subtotalling under each day if subtotals have been requested.
Period, AR/Licence date, Customer, Cust ref., Contributor, Format, Spot/Perm, Content, Publication, Order, Legal entity, Cost centre, Account, Product, <Spare>, Analysis 1, Analysis 2, Project, Date published, Fee before, VAT, Currency, Request date, Needed by
End of Document
<enter keywords here>
Keywords (or tags) are important to provide accurate search results. They are vital if you have attached rather than pasted content to this page.