Documente Academic
Documente Profesional
Documente Cultură
The information and contents of this document and any notes or handouts contain confidential and proprietary information, and are not to be
disseminated, reproduced, printed, translated or transmitted in any form, in whole or in part, without the prior written consent or express
permission of Pfizer, Inc. Use and distribution limited solely to authorized personnel.
Table of Contents
Document Authors, Reviewers, Approvers........................................................................................2
Document History.............................................................................................................................5
Document History
9.2.1 03-Nov-06 Nicky Carpenter Formatted header and updated contents page
The proposal is that this interface will be used to support the import of sales data from ETMS systems.
ETMS are local systems that manage Sales Orders acquired from Customers by Pfizer Sales Reps out in
the field.
The interface will be used to ensure that the sales order detail created by the source application, is
successfully transferred to and processed by EFSS.
o Data Mapping
o Data validation
2.0 Requirements
2.1.1 General Process Overview
Customer orders will be received from local applications such as ETMS, a system used to collect Sales
Orders from customers by Pfizer Sales Reps in the field.
Order detail will be imported into Oracle via an interface function (details of the interface are
explained in the document).
Orders being imported into Oracle can be imported with one of two statuses either BOOKED or
ENTERED.
ENTERED status should be used in order to be able to review these entered orders and make
any updates or amendments required to approve the order. It is at this stage that Credit Checking will
take place, as well as customer and item validation.
CR5287 for France requires that Price Modifier/Adjustments relating to Sales Order header an/or
lines be imported. This change is to accommodate requirements for the LAULAE ETMS interface for
France and possible future requirements.
Italy requires several new changes to meet Italian requirements for Order Entry & Import as follows:-
Add a field for line type at line level (for promotional and samples, as they can be in the same
sales order but with different sales order line type).
This will allow the interface to dictate the type of the line with the related quantity field
indicating the quantity of that order line. If this field is populated its functionality should take
precedence over the existing functionality using FreeQty and PromoQty fields.
Add a field for the customer price for PGP for being able to see if there is any discrepancy
between the customer and the oracle price. This filed is the customer_net_price and it has to be
not updatable once inserted (so the pll has to be customized as this field can be fullfiled also
manually but not updated).
Allow Discount Information be imported that is classed as Information Only for PCH specific
Orders. PCH will import Orders that use the List Price in the Oracle Price List and apply an
imported discount to get the selling price.
This will allow the Discount be viewed as normal through the View Adjustments form and also
allow such discounts be excluded from having accounting information assigned or being shown
on invoices.
N.B. The Invoice Print and Accrual Accounting extensions will need to be modified to exclude
this type of Modifier from processing
For PCH returns, the requirement is to store the original sales order to take the original price to
add to the return and also store for all in a Return DFF (RETURN_ATTRIBUTE5 for the DFF
Additional Line Return Information) the lot information to send in the interface to WMS system
in P2P4.
Add the salesrep field at header level (SALESREP column from OE_HEADERS_IFACE_ALL)
it has to be validated in the egate that the value exists as a correct value on the salesrep table
(NAME column from JTF_RS_SALESREPS).
For Italian PCH orders that have to be on hold the status will be ENTERED and will be not Book
till OPS system decide it with the actions interface for Sales Orders (O2C69).
For returns (RMA) processing additional information will be passed using Descriptive Flexfields on the
DFF Additonal Line Return information.
(RETURN_ATTRIBUTE6 for the DFF Additional Line Return Information) will contain the
SUBLOT number.
(RETURN_ATTRIBUTE7 for the DFF Additional Line Return Information) will contain the
Lot Expiration Date.
(RETURN_ATTRIBUTE8 for the DFF Additional Line Return Information) will contain the
Sub inventory code.
Other information is required however this is readily available from other sources. Locator is in
Return_Attribute4 and Lot Number is in Retrun_Attribute5. The quantity can be selected from the
standard column on OE_LINES_IFACE_ALL.
The interface will be required facilitate the automatic creation of Sales Orders sent from ETMS
applications.
From System:
To System:
Transaction Volume:
For ETMS orders - Up to 100 orders per day with up to approximately 100 lines.
Average 20 orders of 8-10 lines, each, daily.
Input File Size 2 kb- 30 kb.
Spain across the different business units imports about 700 orders on a monthly basis. Around 90% of
these orders have 20+ order lines.
Frequency:
Dependent on local market.
Currently, the ETMS system executes daily analysis all reps direct orders for the day. It then creates a file
containing order data for each SKU for each customer, which is transmitted to the SAP system.
A similar design is anticipated using EFSS. Daily Sales data will be collated and transmitted to
the EFSS Oracle system. The order data will include delivery data and pricing information.
The pricing information will enable the reps to override the unit selling price from the price list
but will not allow them to apply line- or header-level discounts.
France CR5287 requires that Price Modifier/Adjustments relating to Sales Order header an/or
lines be imported. This change is to accommodate requirements for the LAULAE ETMS
interface for France and possible future requirements.
That an Information Only Price Modifer Adjustment be imported showing the discount
applied. This has been flagged as Information Only using a Line Classifcation
attribute on the Additional Info for List Lines DFF in Advanced Pricing.
By flagging the Modifier as such it can be excluded from subsequent Accounting and
Invoice processing in AR .
For returns, the price will be calculated from the original sales order. In addition, the Lot
Number needs to be stored when processing returns (RMAs)
2.1.7 Assumptions:
OE module will be set-up to use NAME or SEGMENT columns during order import
Order lines with Free goods / sample quantities will necessitate the creation of a new order line
using the specified quantity as the new order quantity
Extract data will be sent from separate organizations. Each extract will include details of the
organization owning the order detail.
Only existing in EFSS and active Customers will be able to place orders. New customers will not
be created during the order import process.
New or one time Shipment, Delivery or Invoicing address will not be created during the Order
Import process.
Defaulting Rules will be created for each import organization. This will facilitate the automatic
assignment of standard order detail i.e. Payment Terms, Shipment Method etc.
A separate run will be submitted for each Operating Unit and only data for this Competing
Organization will be processed during the run.
The local ETMS system will generate a unique Order Number. This Order Number will be
referenced in Oracle and stored in the ORIGINAL_SYS_DOCUMENT_REF field. Oracle also
generates its own order number.
Orders lines without price will be priced within Oracle using the standard functionality to retrieve
the appropriate price list. If a price is supplied in the interface it will be used rather than the
standard pricing functionality.
It is anticipated that you have the choice of allocate a status of BOOKED in Imported Sales
Orders. These orders will be eligible for pick release i.e. inventory allocation/reservation and
picking. Normally, orders will be allocated a status of ENTERED. These orders will then be
modifiable by customer services. It is envisaged that the criteria governing the status of an order
will be part of the imported data.
Italy: Can now import other status or actions for a sales order and sales order line: BOOKED,
ENTERED, CANCEL, HOLD and RELEASE HOLD within the O2C69 Interface only from Italy
PCH to Oracle.
Only SALES ORDER order types will be imported, RETURNS will not be imported, these
will be created manually within Oracle.
Italy: Returns from Italy have to take the price for the original sales order if this is in the records
to import and also lot information can be stored to send in P2P4 to the warehouse to receive the
corresponding RMA.
It has to be taken into account that the original sales order cannot be copied into the return
information, as it will generate an issue with EFSS AR. So this number has to be used just for
retrieving the price into the return information.
Germany
Three new DFFs allocated for Germany on the Return Information DFF. Return_Attribute6
holds SubLot, Return_Attribute7 holds Lot Expiration Date and Return_Attribute8 holds
Subinventory Code
The rounding (up or down) of orders quantities and the use of Selling UOM will not be managed
through the interface. It is assumed that these changes will take either before or after the data has
been imported. Thus the interface will not perform any additional data manipulation.
A common file format will be used to manage all imported data from all sources
During the import process, if a specific sales order line is found to be in error, then the entire order will be
flagged as being in error, even if all other associated lines are correct.
Oracle Transaction
eGate Manager
ETMS
Custmoer 6
EDI Orders Order 5
Header 5
OE_ORDER
_HEADERS
1 _ALL
3
4
Order
Staging table OE_ORDER
Detail
7 _LINES_ALL
Inbound
Directory
2
Outbound
Directory
Error handling during this phase will be managed through the interface.
Failure of any component or process should result in the notification of the
appropriate support team and source users
2. The processing and validation of the imported detail will be managed using the standard Oracle
Order Import functionality
3. Order Management automatically generates an Order Import processing results summary log,
which identifies the total number of successful and failed imported orders.
Order Import is an Order Management Open Interface that consists of open interface tables and a set of
APIs. The procedure can import new, changed, and completed sales orders or returns from the customer
data transmitted from varying source applications.
Order Import features include validation of fields with the set up of the Order Management module,
defaulting values when sales orders are created, processing constraint checks, applying and releasing of
order holds, scheduling of shipments, then ultimately inserting, updating or deleting the orders in the base
Order Management tables.
Valid transactions are then converted into orders with lines, reservations, price adjustments, and sales
credits in the base Order Management tables.
The source data for the import process will come from ETMS order detail. The detail will consist of a
mixture of valid approved orders.
Data will be mapped directly from the staging tables, and used to populate the Open Interface tables.
The layout of these extract files can be found in a separate spreadsheet accompanying this document
(SD_Interface_FD_O2C3_fromETMS_to_EFSS_SalesOrderImport.xls)
The Process Order Interface is the central application process interface (API) provided by Order
Management to perform all common operations such as inserting, updating, deleting, and validating an
order or order line. This API is called by Order Import.
Order Import passes one order, with all lines and other entities, at a time to the Process Order Interface,
along with the operations that need to be completed on the order or line such as, inserting or updating an
order or line.
Errors at any line or entity level will cause the order to fail the importing of the entire order. In addition,
Order Import processes only those orders and lines that meet the validation criteria to generate a new
order within Oracle.
Each time Order Import is run, Order Management automatically generates an Order Import Processing
results summary log which identifies the total number of successful and failed imported orders.
Order Import uses the following interface tables during processing, the tables used to achieve the
functionality under this Function Design are flagged,
OE_HEADERS_IFACE_ALL This is a multi-org table for sales order headers open interface. Yes
This table stores order header information that is imported from a
feeder system into Oracle Order Management using Order
Import.
OE_LINES_IFACE_ALL This is a multi-org table for sales order lines open interface. This Yes
table stores order lines information that is imported from a feeder
system into Oracle Order Management using Order Import.
OE_ACTIONS_IFACE_ALL This is a multi-org table for sales order actions (holds, booking Yes
etc.) open interface
OE_PRICE_ADJS_IFACE_ALL This is a multi-org open interface table for sales order/line price Yes
adjustments. This table stores price adjustment information that
is imported from a feeder system into Oracle Order Management
using Order
OE_LOTSERIALS_IFACE_ALL This is a multi-org table for return line lot serials open interface. No
This table stores return line lot serial information that is imported
from a feeder system into Oracle Order Management using
Order Import
Sales Orders can contain a number of Order Lines for items that are Free of Charge to the Customer,
Samples or Promotional items and the eAi Load and Import process must handle them accordingly.
Examples of different scenarios for these items are as follows, Free of Charge items would be when a
customer orders a large amount of a Pfizer item in a period, Pfizer will give some of the product for free
due to the large volumes; Pfizer may also give Samples of new or existing Pfizer products to Doctors to
promote these items; They may also run Promotions of their products by including non Pfizer items such
as Tee-Shirts, pens etc advertising Pfizer product as part of a Marketing campaign.
The eAi programme that loads the Order Data in the Oracle Open Interface tables needs to handle Free of
Charge , Promotional and Sample goods as follows:-
If a Free Goods is greater than zero is sent for these Goods then a new order line should be created and
should assume a line type that is
1. Associated with order type set against customer ship-to site and
2. Has ATTRIBUTE2 = Y on Transaction Type DFF (marked as Free of Charge)
If a value is sent for Promo/Sample Goods then a new order line should be created and should assume the
default line type from the order type but with a zero unit selling price.
For Italy its needed that different line types will be sent by this interface.
Incoming Orders may contain the Items defined in the Local Market Item code, EAN number, National
Code or some other cross reference. These Item Codes are set up in Oracle to Cross reference with the
Oracle Item Code which is used internally with the Oracle systems as the Item reference.
The Local Item Code or other cross reference Conversion will be done through the Item Cross References
functionality as follows:
All the Item Cross References will be maintained at the Item Validation Organization (IVO).
The Item Validation Organization can be recovered from the OE_SYSTEM_PARAMETERS table
using the Operating Unit Identifier.
France CR5287
This CR applies to France and the import of Price Adjustments relating to Sales Orders from the
LAULAE interface. For this interface, it is required that the list price and related discount
amount are imported by the Order Import and that the selling price is subsequently calculated by
the pricing engine using the imported list price and not the Price available on the Oracle price
list. This is required so that the discount can be displayed on the Invoice.
This is achieved by importing the price adjustment and setting the calculate_price_flag on the
Order Lines Interface table, OE_LINES_IFACE_ALL to P for partial which allows the Price
engine be called to process the Adjustment Modifier but not to replace the imported List price
with the Oracle List Price for the item.
In order to do this, several changes would need to be incorporated to handle the import of Price
Adjustments for this interface. Rather than design the change specifically for the above and as
the changes required are close to a generic import of Price Adjustments it has been decided that
this change should handle the import of Price Adjustments in general.
1. Add the required fields to the existing Price Adjustment (Price Mods) record on the eAi
file in order to make the Price Adjustments import work
3. Add a field to hold the UNIT_SELLING_PRICE at Line level so that this can be
populated separately if required
OE_PRICE_ADJS_IFACE_ALL
In order to Import Price Adjustments/Modifers, a modifier header and line must first be set up that
contains default information relating to the type of price adjustment to be applied.
CALCULATE_PRICE_FLAG
The purpose of The CALCULATE_PRICE_FLAG on the order line interface is to control whether a
pricing/discount - charge calculation should be done on the line once imported
If CALCULATE_PRICE_FLAG field is populated for a line then it takes precedence and should
be mapped to the CALCULATE_PRICE_FLAG on the interface line if it is blank then the
programme should default to its current functionality defined below:-
Orders lines without price will be priced within Oracle using the standard functionality to retrieve the
appropriate price list. This standard functionality is triggered in the interface process by the
CALCULATE_PRICE_FLAG being set to Y for all imported order lines. If a manual price is provided
on the interface the CALCULATE_PRICE_FLAG field will be set to N and the price value supplied
will be used rather than calculated.
If the UNIT_SELLING_PRICE is populated on the Line then it takes precedence and should be used to
populate the UNIT_SELLING_PRICE on the Interface line table otherwise the existing functionality
should be used where by it is populated from the UNIT_LIST_PRICE.
The setup in Figure 1.0 Example of Modifier Setup used to Import Discount Adjustments
Below shows the Modifier Discount List and the Modifier List Line, The Modifier List Number and
Modifier List Line Number should be communicated to the Market as this is what they will use to Supply
the discounts.
Setting the Modifier List Line to Manual allows the Adjustment be imported and applied if it qualifies but
will not automatically be applied for Orders that would qualify but for which you do not want to apply an
Adjustment. The Application method can be any valid method, for example, % or AMT
Interface Functional Design O2C3 from ETMS to EFSS Sales Orders Import
Ver. 9.1.1 Effective Date: 20-June-2006 Doc Number. EFSS_0055_FS
Value is set to 0 as a contingency in case the Automatic setting was switched on and the value applied inadvertently.
The Line Classification DFF is used to further flag the type of Modifier. Information Only in this case will allow the extension for automatic
Discount & Accrual distributions and the Invoice Print programme be modified to exclude Information Only discounts from processing
4.1.7 Figure 1.0 Example of Modifier Setup used to Import Discount Adjustments
Modifier Level Modifier Print on Automatic Override Pricing Phase Application Accrue Value DFF Value
No Type invoice Method
4.1.8 Returns
CR1460e
The Oracle Order Import process can also handle the import of Returns, known as Return Material
Authorizations (RMAs) in Oracle. The data required is similar to that for Orders
The returns from Italy have to take the price for the original sales order if this is in the records to import
and also the lot information.
For Achieve the return with the original price, there has to be a calculation of the price of the original
sales order recorded in the interface for the return. The original sales order cannot be copied in the record
to import, just use it to take the price.
A summarised layout of the mapping between the proposed extract files and the Oracle Open
interfaces tables can be found in a spreadsheet accompanying this document
(SD_Interface_FD_O2C3_fromETMS_to_EFSS_SalesOrderImport.xls)
Files received from ETMS Systems will be allocated in the inbound directory, then processed by the
interface in order to populate Open Interface standard tables, and after that Import Process will be
run.
Error handling will be split across 2 phases on the following areas of validation
5.1 Extraction
Basic validation of the extract detail should occur prior to the data be transferred.
The interface solution will be responsible for maintaining the structure and integrity of the data
being transferred.
Should any process or component fail, during this stage, a notification should be sent to the
destination user (informing them of error), the appropriate interface support team (eGate) and the
Customer Services Group.
If an error is encountered on a single order line whilst being processed, then this f failure would
not necessitate the cancellation of the whole batch. Instead the order line and associated header
can be placed in error and processed at a later date.
Standard Oracle functionality will be used to manage of any errors encountered during this
process. They will be the responsibility of the EFSS solution support team. This team will then
be responsible for informing the Customer Services group.
CR5287: Testing should involve all combinations based on the comments field on the
CALCULATE_PRICE_FLAG section table
Italy: Testing should involve also the P2P4 review of the lot information to be sent.