Mirror of Oracle documentation

Converted for search and offline reading. Authoritative source: Oracle. Diagrams and some complex tables are simplified — check the PDF when in doubt.

6 Scheduled Integration

This chapter provides a summary of integrations that are scheduled either to be run once per day or periodically throughout the day. There are generally two types of integrations - those that expect or produce files and those that move data between integration tables, also referred to as Bulk Data Integration (BDI).

File-based Integration Overview

Merchandising and Sales Audit require that all inbound and outbound file-based transactions adhere to standard file layouts. There are two types of file layouts: detail-only and masterdetail, which are described in the sections below.

Standard File Layouts

The Merchandising interface library supports two standard file layouts: one for master/detail processing, and one for processing detail records only. True sub-details are not supported within the Merchandising base package interface library functions.

A 5-character identification code or record type identifies all records within an I/O file, regardless of file type. The following includes common record type values:

  • FHEAD-File Header

  • FDETL-File Detail

  • FTAIL-File Tail

  • THEAD-Transaction Header

  • TDETL-Transaction Detail

  • TTAIL-Transaction Tail

Each line of the file must begin with the record type code followed by a 10-character record ID.

Detail-Only Files

File layouts have a standard file header record, a detail record for each transaction to be processed, and a file trailer record. Valid record types are FHEAD, FDETL, and FTAIL.

Example 6-1 Detail-Only Files
FHEAD0000000001STKU1996010100000019960929
FDETL0000000002SKU100000040000011011
FDETL0000000003SKU100000050003002001
FDETL0000000004SKU100000050003002001
FTAIL00000000050000000003

Master and Detail Files

File layouts consists of:

  • Standard file header record

  • Set of records for each transaction to be processed

  • File trailer record.

The transaction set consists of:

  • Transaction set header record

  • Transaction set detail for detail within the transaction

  • Transaction trailer record

Valid record types are FHEAD, THEAD, TDETL, TTAIL, and FTAIL.

Example 6-2 Master and Detail Files
FHEAD0000000001RTV 19960908172000
THEAD000000000200000000000001199609091202000000000003R
TDETL000000000300000000000001000001SKU10000012
TTAIL0000000004000001
THEAD000000000500000000000002199609091202001215720131R
TDETL000000000600000000000002000001UPC400100002667
TDETL0000000007000000000000020000021UPC400100002643 0
TTAIL0000000008000002
FTAIL00000000090000000007
Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type Record
Descriptor
Char(5)FHEADIdentifies file record type.
File Line IdentifierNumber(10)Specified by
external system
Line number of the
current file.
File Type
Definition
Char(4)N/AIdentifies transaction
type.
File Create DateDateCreate dateDate file was written by
external system.
Transaction
Header
File Type Record
Descriptor
Char(5)THEADIdentifies file record type.
File Line IdentifierNumber(10)Specified by
external system
Line number of the
current file.
Transaction Set
Control Number
Char(14)Specified by
external system
Used to force unique
transaction check.
Detail Sequence
Number
Char(6)Specified by
external system
Sequential number
assigned to detail
records within a
transaction.
Transaction DetailFile Type Record
Descriptor
Char(5)TDETLIdentifies file record type.
File Line IdentifierNumber(10)Specified by
external system
Line number of the
current file.
Transaction SetChar(14)Specified byUsed to force unique
Control Numberexternal systemtransaction check.
Record NameField NameField TypeDefault ValueDescription
Detail Sequence
Number
Char(6)Specified by
external system
Sequential number
assigned to detail
records within a
transaction.
Transaction TrailerFile Type Record
Descriptor
Char(5)TTAILIdentifies file record type.
File Line IdentifierNumber(10)Specified by
external system
Line number of the
current file.
Transaction Detail
Line Count
Number(6)Sum of detail linesSum of the detail lines
within a transaction.
File TrailerFile Record Type
Descriptor
Char(5)FTAILIdentifies file record type.
File Line IdentifierNumber(10)Specified by
external system
Line number of the
current file.
Total Transaction
Line Count
Number(10)Sum of all
transaction lines
All lines in file less the
file header and trailer
records.

Integration Batch Wrapper FAQ

See also the “Batch Wrapper Overview” in Chapter 1 of the Merchandising Operations Guide, Volume 1 .

For input files, are there any specific file format names?

Usually, the input file pattern is the same as the batch name. This can be seen in the ParameterValue column of the Job tab in the Batch Schedule spreadsheet. For example, dealupld has this parameter value:

dealupld #SysOpt.dbwallet dealupld

The input file pattern is the 3rd parameter ( dealupld ) so the filename should have dealupld in it (for example, dealupld_input , input_dealupld , and so on). There are some batch programs that should start with a specific pattern like saimptlogi - the input file should start with RTLOG*. This can be seen as well in the Batch Schedule spreadsheet:

#SysOpt.dbwallet RTLOG

How and where will files be moved?

The input file (zipped) should be in uploaded to the Object Storage through the FTS Rest service. The files should have a prefix of incoming/ .

Files uploaded to FTS Rest Service are no longer required to have a .complete file.

The batch wrappers will handle downloading the files from Object Storage using FTS Rest Service with “incoming/” prefix and the corresponding file name pattern at each batch runtime. The files will be downloaded to the batch/incoming folder. Each file downloaded from Object Storage will again be uploaded with a “downloaded/” prefix. The files with “incoming/” prefix will then be deleted from Object Storage.

The batch wrappers will move the downloaded files to the input folder (data/in) given that the filename of the zip file corresponds to the expected file name pattern.

When will files be unzipped?

This will be unzipped when it is moved to the input folder (data/in).

What will happen to the files once they are processed?

Successfully processed files will be move to the processed folder (data/processed). Files with errors will be uploaded to Object Storage with a “reject/” prefix and will be removed from the input folder (data/in) and corresponding errors will be logged in the error log.

Will processed file be archived?

Yes. Input files will be archived in the processed folder (data/processed), while any output file will be archived in the archive folder (data/archive)

What will happen if the file is rejected?

Reject files will be created as applicable and this will be sent to the outgoing folder (batch/ outgoing) as well as archived in the archive folder (data/archive). Reject files in the batch/ outgoing folder will be uploaded to Object Storage with a “reject/” prefix and deleted from the batch/outgoing folder.

Depending on the batch, if the program completes successfully even with rejected records then the rejected input file will be moved to the processed folder (data/processed). But if the batch aborts, then the rejected input file will be removed from the input folder (data/in) and uploaded to Object Storage with a “reject/” prefix.

How will rejected files be reprocessed?

Reprocessing the files would require manual intervention. Upload a corrected file to Object Storage with an “incoming/” prefix. Ensure the filename is the same as the rejected file.

Input/Output File Naming Convention

BatchInput File NameZip File Name
dealuplddealuplddealdupld.zip
ediupackediupackediupack.zip
ediupavlediupavlediupavl.zip
lcup798lcup798lcup798.zip
lcupldlcupldlcupld.zip
cmpupldcmpupldcmpupld.zip
fcosttmplupld.kshfcosttmplupldfcosttmplupld.zip
htsupldhtsupldhtsupld.zip
otbupldotbupldotbupld.zip
tranupldtranupldtranupld.zip
fcustomerupload.kshfcustomeruploadfcustomerupload.zip
iindbatch.kshInput file name is provided by user.
Must end in *.xml
.zip
Template name must correspond to
S9T_TEMPLATE.TEMPLATE_KEY
poindbatch.kshInput file name is provided by user.
Must end in *.xml
.zip
Template name must correspond to
S9T_TEMPLATE.TEMPLATE_KEY
replindbatch.kshInput file name is provided by user.
Must end in *.xml
.zip
Template name must correspond to
S9T_TEMPLATE.TEMPLATE_KEY
saimpadjsaimpadjsaimpadj.zip
load_item_forecast.kshdemanddemand.zip
lcmt700lcmt700lcmt700.zip
lcmt707lcmt707lcmt707.zip
resa2simSIMT*No zip file.
Input file is from saexpsim.
resa2dwRDWT*No zip file.
RDWF*Input file is from saexpdw.
RDWS*
RDWC*
lcmt730lcmt730lcmt730.zip
lcmt798lcmt798lcmt798.zip
lifstkuplifstkuplifstkup.zip
ordinvupldORIN*ORIN*.zip
sa_rules_total_upload.kshsartexp_*
sartexp*.zip
saimptlogfinstoredayfileNo zip file.
Input file is from sagetref.
saimptlogiRTLOG__.datRTLOG*.zip
BatchInput File NameZip File Name
saimptlogtdup_updstoredayfile
storeposfile
No zip file.
Input file is from sagetref.
savouchsavouchsavouch.zip
stlgdnldstlgdnldstlgdnld.zip
stockcountupload.kshSTK*.STK*.zip
trandataload.kshtrandataloadtrandataload.zip
uploadsales.kshPOSU_<tran_date>
.<thread_val>
POSU*.zip
wfslsupld.kshwfslsupldwfslsupld.zip
wfordupld.kshwford*.datwford*.zip
wfretupld.kshwfreturn*.datwfreturn*.zip

Bulk Data Integration Overview

Oracle Bulk Data Integration (BDI) is a solution that is part of the Oracle Retail Integration Cloud Service that defines the architecture and infrastructure used to move bulk data among Oracle Retail applications.

In a Bulk Data Integration system, message families are represented as interface modules. Each interface module (for example, DiffGrp_Fnd) contains a Merchandising component that takes care of pulling and staging data for publication to the External BDI system. Interface modules are divided by functional entity (for example, Item Master, Stores, Diffs, and so on).

For more information on BDI, see the Oracle Retail Integration Cloud Service documentation on docs.oracle.com/retail .

Outbound Scheduled Integration

This section provides a summary of integrations that are scheduled either to be run once per day or periodically throughout the day to send data from Merchandising or Sales Audit to another solution. It includes both file-based and BDI-based integrations.

Foundation Data

Merchandising publishes foundation data for many other solution areas, including stores, warehouses, omni-channel, and so on.

The following scheduled outbound integrations are included in this functional area:

  • Brand Publication API (BDI_Brand_Fnd_PF_From_RMS_EOW_JOB)

  • Calendar Publication API (BDI_Calendar_Fnd_PF_From_RMS_EOW_JOB)

  • Code Detail Publication API (BDI_CodeDetail_Fnd_PF_From_RMS_JOB)

  • Code Head Publication API (BDI_CodeHead_Fnd_PF_From_RMS_JOB)

  • Company-wide Closings and Company Closed Exceptions (BDI_CompanyClosed_Fnd_PF_From_RMS_JOB)

  • Currency Conversion Rates Publication API (BDI_CurrConvRates_Fnd_PF_From_RMS_EOW_JOB)

  • Delivery Slot Publication API (BDI_DeliverySlot_Fnd_PF_From_RMS_JOB)

  • Diff Group Export (export_diffgrp.ksh)

  • • Diff Group Publication API (BDI_DiffGrp_Fnd_PF_From_RMS_JOB) • Diff ID and Type Export (export_diffs.ksh) • Diff ID Publication API (BDI_Diff_Fnd_PF_From_RMS_JOB)

  • Finisher Address Publication API (BDI_FinisherAddr_Fnd_PF_From_RMS_JOB)

  • • Location Closed Publication API (BDI_LocClosed_Fnd_PF_From_RMS_JOB) • Merch Hierarchy Publication API (BDI_MerchHier_Fnd_PF_From_RMS_JOB) • Merchandise Hierarchy Export (export_merchhier.ksh)

  • Organization Hierarchy Publication API (BDI_OrgHier_Fnd_PF_From_RMS_JOB)

  • Organizational Hierarchy Export (export_orghier.ksh)

  • Partner Address Publication API (BDI_PartnerAddr_Fnd_PF_From_RMS_JOB)

  • • Partner Org Unit Publication API (BDI_PartOrgUnit_Fnd_PF_From_RMS_JOB) • Partner Publication API (BDI_Partner_Fnd_PF_From_RMS_JOB)

  • Store Address Publication API (BDI_StoreAddr_Fnd_PF_From_RMS_JOB)

  • • Store Hours Publication API (BDI_StoreHours_Fnd_PF_From_RMS_JOB) • Store Publication API (BDI_Store_Fnd_PF_From_RMS_JOB)

  • Stores Export (export_stores.ksh)

  • Supplier Address Publication API (BDI_SupplierAddr_Fnd_PF_From_RMS_JOB)

  • • Sups Publication API (BDI_Supplier_Fnd_PF_From_RMS_JOB)

  • Tax Download - Brazil (taxdnld)

  • Ticket Download (tcktdnld)

  • UDA Publication API (BDI_Uda_Fnd_PF_From_RMS_JOB)

  • UDA Values Publication API (BDI_UdaValues_Fnd_PF_From_RMS_JOB)

  • UOM Class Publication API (BDI_UomClass_Fnd_PF_From_RMS_JOB)

  • UOM Conversion Publication API (BDI_UomConversion_Fnd_PF_From_RMS_JOB)

  • • VAT Codes, Regions, and Rates Export (export_vat.ksh)

  • VAT Publication API (BDI_Vat_Fnd_PF_From_RMS_JOB)

  • Warehouse (BDI_Wh_Fnd_PF_From_RMS_JOB)

  • Warehouse Address Publication API (BDI_WhAddr_Fnd_PF_From_RMS_JOB)

Brand Publication API (BDI_Brand_Fnd_PF_From_RMS_EOW_JOB)

This section describes the Brand Publication BDI.

Functional Area

Foundation Data

Business Overview

This API publishes the creation, update and deletion of brand information to the RIB such that all the downstream applications (including an external system) may subscribe to it and have information in sync with Merchandising. Publishing is provided synchronously in a near-real time manner.

New Brand

Creating a new brand triggers a message sent to notify external systems. Brand name and description are sent as part of the create message.

Table 6-1 Brand – Create and Update

Message ElementIncluded?Notes
Brand nameAlwaysThis feld contains the brand name.
Brand DescriptionAlwaysThis feld contains the description of the
brand.
Updated Brand

Updating a brand triggers a message to be sent to notify external systems. Brand name and description are sent as part of the update message.

Deleted Brand

Deleting a brand triggers a message sent to notify external systems. The brand name is sent as part of the delete message.

Table 6-2 Brand – Delete

Message ElementIncluded?Notes
Brand nameAlwaysThis feld contains the brand name being deleted.

Error Handling

When the publication encounters a non-fatal error, messages continue to be processed. For the message where the error was encountered, a status of Hospital ( H ) is sent to the RIB and the status of the message in the queue is set to H . These types of errors occur when no changes in the database have been made and a process to try to re-publish the messages is available. In case the error is a fatal error, a status of Error ( E ) is sent to the RIB and the next message in the queue is not retrieved until the error is resolved.

Message XSD

Here are the filenames that correspond with each message type. Please consult the RIB documentation for each message type for a detailed picture of the composition of each message.

Message TypesMessage Type DescriptionXML Schema Definition (XSD)
brandcreBrand Create MessageBrandDesc.xsd
Message TypesMessage Type DescriptionXML Schema Definition (XSD)
brandupdBrand Modify MessageBrandDesc.xsd
branddelBrand Delete MessageBrandRef.xsd

Calendar Publication API (BDI_Calendar_Fnd_PF_From_RMS_EOW_JOB)

This section describes the Calendar Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Calendar information (2 prior years, current year, 2 future years) from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.CALENDAR_UP(O_error_message IN OUT
RTK_ERRORS.RTK_TEXT%TYPE,                               O_control_id    IN OUT
NUMBER,                               I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising V_BDI_DAY_LEVEL_CALENDAR view.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
CalendarCalendar upload to BDICalendar_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
CALENDAR_OUTNoYesNoNo
V_BDI_DAY_LEVEL_CALENDARYesNoNoNo

Code Detail Publication API (BDI_CodeDetail_Fnd_PF_From_RMS_JOB)

This section describes the Code Detail Publication BDI.

Functional Area

Cross Pillar

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Detail information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.CODE_DETAIL_UP(
                        O_error_message  IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                        O_control_id     IN OUT  NUMBER,
                        I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function updates the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising CODE_DETAIL table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This updates the internal BDI control tables.

A database commit is issued, and the control ID is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Code DetailCode Detail upload to BDICodeDetail_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
CODE_DETAIL_OUTNoYesNoNo
CODE_DETAILYesNoNoNo

Code Head Publication API (BDI_CodeHead_Fnd_PF_From_RMS_JOB)

This section describes the Code Head Publication BDI.

Functional Area

Cross Pillar

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.CODE_HEAD_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                                  O_control_id    IN OUT NUMBER,
                                  I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising CODE_HEAD table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Code HeadCode Head upload to BDICodeHead_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
CODE_HEAD_OUTNoYesNoNo
CODE_HEADYesNoNoNo

Company-wide Closings and Company Closed Exceptions (BDI_CompanyClosed_Fnd_PF_From_RMS_JOB)

This section describes the Company-wide Closings and Company Closed Exceptions Publication BDI.

Functional Area

Foundation

Design Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Store information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

The following packages are impacted:

Filename: bdifoundations.pls
BDI_FOUNDATION_SQL.COMPANY_CLOSED_UP (
                           O_error_message   IN OUT   RTK_ERRORS.RTK_TEXT%TYPE,
                           O_control_id      IN OUT   NUMBER,
                           I_job_context     IN       VARCHAR2)
Filename: bdifoundationb.pls
BDI_FOUNDATION_SQL.COMPANY_CLOSED_UP (
                           O_error_message   IN OUT   RTK_ERRORS.RTK_TEXT%TYPE,
                           O_control_id      IN OUT   NUMBER,
                           I_job_context     IN       VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising company closed and company closed exception table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
Company
Closed
Company Closed upload
to BDI
CompanyClosed_Fnd_BdiInterfaceModule.xml
Company
Closed
Company Closed
Exceptions upload to
CompanyClosedExcep_Fnd_BdiInterfaceModule.xml
ExceptionsBDI

Tables

TABLESELECTINSERTUPDATEDELETE
COMPANY_CLOSED_OUTNoYesNoNo
COMPANY_CLOSED_EXCEP_OUTNoYesNoNo
COMPANY_CLOSED_ECXEPYesNoNoNo
COMPANY_CLOSEDYesNoNoNo

Currency Conversion Rates Publication API

(BDI_CurrConvRates_Fnd_PF_From_RMS_EOW_JOB)

This section describes the Currency Conversion Rates Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Currency conversion rates information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandisingowned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.CURR_CONV_RATES_UP(
                          O_error_message IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                          O_control_id    IN OUT  NUMBER,
                          I_job_context   IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising MV_CURRENCY_CONVERSION_RATES materialized view.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Currency Conversion
Currency Conversion Rates
CurrConvRates_Fnd_BdiInterfaceModule.xml
Ratesupload to BDI

Table Impact

TABLESELECTINSERTUPDATEDELETE
CURR_CONV_RATES_OUTNoYesNoNo
MV_CURRENCY_CONVERSION_RA
TES
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
STOREYesNoNoNo
WHYesNoNoNo

Delivery Slot Publication API (BDI_DeliverySlot_Fnd_PF_From_RMS_JOB)

This section describes the Delivery Slot Publication BDI.

Functional Area

Cross Pillar

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Delivery Slot information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.DELIVERY_SLOT_UP (
                        O_error_message  IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                        O_control_id     IN OUT  NUMBER,
                        I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising DELIVERY_SLOT table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Delivery SlotDelivery Slot upload to BDIDeliverySlot_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
DELIVERY_SLOT_OUTNoYesNoNo
DELIVERY_SLOTYesNoNoNo

Diff Group Export (export_diffgrp.ksh)

Module Name export_diffgrp.ksh Description Extraction of differentiator groups data. Functional Area Foundation Module Type Integration Module Technology ksh Catalog ID RMS255 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising diff group information into a flat file. Data to be extracted will be pulled off from the differentiator group tables.The mode (full vs. delta) will be an input parameter for this batch. The mode will allow a full extract (all diff group records in Merchandising) as well as delta processing (all diff group record changes in the time frame passed in the program) of data. For a full extract, records will be retrieved from the differentiator group tables. For a delta extract, the action type and diff group ID will be retrieved from the differentiator group staging export table and the attributes will be retrieved from the differentiator group tables.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name diffgrphdr_date_[full/delta]_[#ofLines].dat diffgrpdtl_date_[full/delta]_[#ofLines].dat Integration Contract IntCon000212.html IntCon000213.html

Design Assumptions

N/A

Diff Group Publication API (BDI_DiffGrp_Fnd_PF_From_RMS_JOB)

This section describes the Diff Group Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Diff Groups from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.DIFF_GROUP_UP(O_error_message  IN OUT  VARCHAR2,
                                   O_control_id     IN OUT  NUMBER,
                                   I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound tables that reside in the BDI_RMS_INT_SCHEMA schema. These outbound tables are loaded with records from the Merchandising Diff Group head and detail tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Diff GroupDiff Group upload to BDIDiffGrp_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
DIFF_GRP_OUTNoYesNoNo
DIFF_GRP_DTL_OUTNoYesNoNo
DIFF_GROUP_HEADYesNoNoNo
DIFF_TYPEYesNoNoNo
DIFF_GROUP_DETAILYesNoNoNo

Diff ID and Type Export (export_diffs.ksh)

Module Name export_diffs.ksh Description Extraction of differentiator’s data defined for a differentiator type. Functional Area Foundation Module Type Integration Module Technology ksh Catalog ID 256 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising differentiator information into a flat file. Data to be extracted will be pulled off from the differentiator extract staging and the differentiator IDs table.

The mode (full vs. delta) will be an input parameter for this batch. The mode will allow a full extract (all differentiator records in Merchandising) as well as delta processing (all differentiator record changes in the time frame passed in the program) of data.

For a full extract, records will be solely retrieved from the differentiator IDs table. For a delta extract, the action type and differentiator ID will be retrieved from the differentiator export staging table and the attributes will be retrieved from the differentiator IDs table.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name diffs_date_[full/delta]_[#ofLines].dat Integration Contract IntCon000206.html

Design Assumptions

N/A

Diff ID Publication API (BDI_Diff_Fnd_PF_From_RMS_JOB)

This section describes the Diff ID Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Diff IDs from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.DIFF_UP(O_error_message  IN OUT  VARCHAR2,
                             O_control_id     IN OUT  NUMBER,
                             I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Diff tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data Flow TypeDescriptionXML Schema Definition (XSD)
Diff IdDiff Id upload to BDIDiff_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
DIFF_OUTNoYesNoNo
DIFF_IDSYesNoNoNo
DIFF_TYPEYesNoNoNo

Finisher Address Publication API (BDI_FinisherAddr_Fnd_PF_From_RMS_JOB)

This section describes the Finisher Address Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Finisher Address positions from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package

Package Impact

Filename: bdifoundations/b.pls
BDI_FOUNDATION_SQL.FINISHER_ADDR_UP(O_error_message  IN OUT  VARCHAR2,
                                    O_control_id     IN OUT  NUMBER,
                                    I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Finisher Address tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Finisher AddressFinisher Address upload to BDIFinisherAddr_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
FINISHER_ADDR_OUTNoYesNoNo
ADD_TYPE_MODULEYesNoNoNo
WHYesNoNoNo
V_ADD_TYPE_TLYesNoNoNo
COUNTRYYesNoNoNo
STATEYesNoNoNo
ADDRYesNoNoNo
PARTNERYesNoNoNo

Location Closed Publication API (BDI_LocClosed_Fnd_PF_From_RMS_JOB)

This section describes the Location Closed Publication BDI.

Functional Area

Foundation

Design Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Store information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

The following packages are impacted by this BDI:

Bulk Interface Module

The following build interface module packages are impacted:

Filename: bdifoundations.pls
FUNCTION LOCATION_CLOSED_UP(O_error_message   IN OUT   RTK_ERRORS.RTK_TEXT%TYPE,
                            O_control_id      IN OUT   NUMBER,
                            I_job_context     IN       VARCHAR2)
Filename: bdifoundationb.pls
FUNCTION LOCATION_CLOSED_UP(O_error_message   IN OUT   RTK_ERRORS.RTK_TEXT%TYPE,
                            O_control_id      IN OUT   NUMBER,
                            I_job_context     IN       VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Location closed table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
LocationLocation Closed uploadLocationClosed_Fnd_BdiInterfaceModule.xml
Closedto BDI

Tables

TABLESELECTINSERTUPDATEDELETE
LOCATION_CLOSED_OUTNoYesNoNo
LOCATION_CLOSEDYesNoNoNo

Merch Hierarchy Publication API (BDI_MerchHier_Fnd_PF_From_RMS_JOB)

This section describes the Merch Hierarchy Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Merchandise Hierarchy information from Merchandising to other Oracle Retail Applications.

On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdimerchb.pls
BDI_MERCH_SQL.MERCH_HIER_UP(O_error_message  IN OUT  VARCHAR2,
                            O_control_id     IN OUT  NUMBER,
                            I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Merchandise Hierarchy tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Merchandise
Merchandise Hierarchy upload
MerchHier_Fnd_BdiInterfaceModule.xml
Hierarchyto BDI

Table Impact

TABLESELECTINSERTUPDATEDELETE
MERCH_HIER_OUTNoYesNoNo
DIVISIONYesNoNoNo
COMPHEADYesNoNoNo
GROUPSYesNoNoNo
DEPSYesNoNoNo
CLASSYesNoNoNo
SUBCLASSYesNoNoNo

Merchandise Hierarchy Export (export_merchhier.ksh)

Module Name export_merchhier.ksh Description Extraction of merchandise hierarchy data. Functional Area Foundation Module Type Integration Module Technology ksh Catalog ID 260 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising merchandise hierarchy information from division to subclass into a flat file. Data to be extracted will be pulled off from

the merchandise hierarchy export staging table and the main merchandise hierarchy tables. The mode (full vs. delta) will be an input parameter for this new batch. The mode will allow a full extract (all merchandise hierarchy records in Merchandising) as well as delta processing (all merchandise hierarchy changes since the last export) of data.For a full extract, records will be solely retrieved from the main merchandise hierarchy tables. For a delta extract, the action type and entity ID will be retrieved from the merchandise hierarchy export staging table and the attributes of the entities will be retrieved from their corresponding man entity tables.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name merchhierarchy_[Date]_[full/delta]_[#ofLines].dat Integration Contract IntCon000207

Design Assumptions

N/A

Organization Hierarchy Publication API (BDI_OrgHier_Fnd_PF_From_RMS_JOB)

This section describes Organization Hierarchy Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Org Hierarchy information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandisingowned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiorgb.pls
BDI_ORG_SQL.ORG_HIER_UP(O_error_message  IN OUT  VARCHAR2,
                        O_control_id     IN OUT  NUMBER,
                        I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Organization Hierarchy tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Table Impact

Data FlowDescriptionXML Schema Definition (XSD)
Org HierarchyOrg Hierarchy upload to BDIOrgHier_Fnd_BdiInterfaceModule.xml
TABLESELECTINSERTUPDATEDELETE
ORG_HIER_OUTNoYesNoNo
WHYesNoNoNo
AREAYesNoNoNo
CHAINYesNoNoNo
COMPHEADYesNoNoNo
DISTRICTYesNoNoNo
REGIONYesNoNoNo
STOREYesNoNoNo
WHYesNoNoNo

Organizational Hierarchy Export (export_orghier.ksh)

Module Name export_orghier.ksh Description Extraction of organizational hierarchy data. Functional Area Foundation Module Type Integration Module Technology Ksh Catalog ID RMS261 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising organizational hierarchy information from company to stores and warehouses into a flat file. Data to be extracted will be pulled off from the organizational hierarchy export staging table and the main organizational

hierarchy tables. The mode (full vs. delta) will be an input parameter for this batch. The mode will allow a full extract (all organizational hierarchy records in Merchandising) as well as delta processing (all organizational hierarchy changes since the last export) of data.For a full extract, records will be solely retrieved from the main organizational hierarchy tables. For a delta extract, the action type and entity ID will be retrieved from the organizational hierarchy export staging table and the attributes of the entities will be retrieved from their corresponding man entity tables.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name orghierarchy_[Date]_[full/delta]_[#ofLines].dat Integration Contract IntCon000203

Design Assumptions

N/A

Partner Address Publication API (BDI_PartnerAddr_Fnd_PF_From_RMS_JOB)

This section describes the Partner Address Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.PARTNER_ADDR_UP(
                               O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                               O_control_id    IN OUT NUMBER,
                               I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Partner Address table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Partner AddressPartner Address upload to BDIPartnerAddr_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
PARTNER_ADDR_OUTNoYesNoNo
ADDRYesNoNoNo
V_ADD_TYPE_TLYesNoNoNo
ADD_TYPE_MODULEYesNoNoNo
STATEYesNoNoNo
COUNTRYYesNoNoNo
PARTNERYesNoNoNo

Partner Org Unit Publication API (BDI_PartOrgUnit_Fnd_PF_From_RMS_JOB)

This section describes the Partner Org Unit Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.PARTNER_ORG_UNIT_UP(
                         O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                         O_control_id    IN OUT NUMBER,
                         I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Partner Org Unit table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Table Impact

Data FlowDescriptionXMLSchema Definition (XSD)
Partner Org UnitPartner Org Unit u
BDI
pload to
Partn
erOrgUnit_Fnd_BdiInterfaceModule.xml
TABLESELECTINSERTUPDATEDELETE
PARTNER_ORG_UNIT_OUTNoYesNoNo
PARTNER_ORG_UNITYesNoNoNo

Partner Publication API (BDI_Partner_Fnd_PF_From_RMS_JOB)

This section describes the Partner Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.PARTNER_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                              O_control_id    IN OUT NUMBER,
                              I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API. A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Partner table. After the insert, another call to a BDI function is performed to

signify the successful loading of records. This will update the internal BDI control tables.A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
PartnerPartner upload to BDIPartner_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
PARTNER_OUTNoYesNoNo
PARTNERYesNoNoNo

Store Address Publication API (BDI_StoreAddr_Fnd_PF_From_RMS_JOB)

This section describes the Store Address Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Store Address information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiorgb.pls
BDI_ORG_SQL.STORE_ADDR_UP(O_error_message  IN OUT  VARCHAR2,
                          O_control_id     IN OUT  NUMBER,
                          I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Store Address table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Store AddrStore Address upload to BDIStoreAddr_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
STORE_ADDR_OUTNoYesNoNo
V_ADD_TYPE_TLYesNoNoNo
ADDRYesNoNoNo
STOREYesNoNoNo
STATEYesNoNoNo
COUNTRYYesNoNoNo
ADD_TYPE_MODULEYesNoNoNo

Store Hours Publication API (BDI_StoreHours_Fnd_PF_From_RMS_JOB)

This section describe the Store Hours Publication BDI.

Function Area

Foundation

Design Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Store information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

The following packages are impacted by the Store Hours Publication BDI:

Bulk Interface Module

In the Build Interface Module:

Filename: bdiorgb.pls
BDI_ORG_SQL.STORE_HOURS_UP(O_error_message  IN OUT  VARCHAR2,
                           O_control_id     IN OUT  NUMBER,
                           I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Store table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
StoreStore upload to BDIStoreHours_Fnd_BdiInterfaceModule.xml

Tables

TABLESELECTINSERTUPDATEDELETE
STORE_HOURS_OUTNoYesNoNo
STORE_HOURSYesNoNoNo

Store Publication API (BDI_Store_Fnd_PF_From_RMS_JOB)

This section describes the Store Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Store information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiorgb.pls
BDI_ORG_SQL.STORE_UP(O_error_message  IN OUT  VARCHAR2,
                     O_control_id     IN OUT  NUMBER,
                     I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Item Location table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
StoreStore upload to BDIStore_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
STORE_OUTNoYesNoNo
CODE_DETAILYesNoNoNo
CHANNELSYesNoNoNo
STORE_FORMATYesNoNoNo
LANGYesNoNoNo
VAT_REGIONYesNoNoNo
TSFZONEYesNoNoNo

Stores Export (export_stores.ksh)

Module Name export_stores.ksh Description Extraction of store data. Functional Area Foundation Module Type Integration Module Technology Ksh Catalog ID RMS263 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising store information into two flat files - one for store and one for store addresses. Data to be extracted will be pulled from the store export staging, store and address tables. The mode (full vs. delta) will be an input

parameter for this batch. The mode will allow a full extract (all store records in Merchandising) as well as delta processing (all store changes since the last export) of data.For a full extract, records will be solely retrieved from the store table for store information and address table for store addresses. For a delta extract, the action type, store ID and address will be retrieved from the store export staging table and the details of the store will be retrieved from both the store and address tables.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name store_[Date]_[full/delta]_[#ofLines].datstoreaddr_[Date]_[full/ delta]_[#ofLines].dat Integration Contract IntCon000204 IntCon000205

Design Assumptions

N/A

Supplier Address Publication API (BDI_SupplierAddr_Fnd_PF_From_RMS_JOB)

This section describes the Supplier Address Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Supplier Address positions from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundations/b.pls
BDI_FOUNDATION_SQL.SUPPLIER_ADDR_UP(O_error_message  IN OUT  VARCHAR2,
                                    O_control_id     IN OUT  NUMBER,
                                    I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Supplier Address tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
SupplierSupplier Address upload toSupplierAddr_Fnd_BdiInterfaceModule.xml
AddressBDI

Table Impact

TABLESELECTINSERTUPDATEDELETE
SUPPLIER_ADDR_OUTNoYesNoNo
ADDRYesNoNoNo
V_ADD_TYPE_TLYesNoNoNo
STATEYesNoNoNo
COUNTRYYesNoNoNo
SUPSYesNoNoNo
ADD_TYPE_MODULEYesNoNoNo

Sups Publication API (BDI_Supplier_Fnd_PF_From_RMS_JOB)

This section describes the Sups Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.SUPS_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                           O_control_id    IN OUT NUMBER,
                           I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Sups table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
SupplierSupplier upload to BDISupplier_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
SUPS_OUTNoYesNoNo
SUPSYesNoNoNo

Tax Download - Brazil (taxdnld)

Module Name taxdnld Description Tax Download to 3rd Party POS in Global Tax [GTAX] Implementations Functional Area Integration - 3rd Party POS Module Type Integration Module Technology ProC Catalog ID RMS124 Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program downloads the tax information to 3rd Party POS systems when the Merchandising default tax type is GTAX.This program only needs to be run if the client uses Merchandising Global Tax functionality.

Restart/Recovery

The logical unit of work for this module is defined by item, ref_item and store combination. This batch program uses table-based restart/recovery. The commit happens in the database when the commit max counter is reached.

Integration Contract

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000020

Output File Layout

Table 6-3 Output File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Sequence
Number(10)N/ALine number of
the current file
File Type
Definition
Char(4)TAXDIdentifies file as
’Tax Details’
File Create
Date
Char(14)create dateVdate in
’YYYMMDDHHMI
SS’format
FDETLFDETLChar(5)FDETLFDETL
File Line
Sequence
Number(10)N/ALine number of
the current file
STOREChar(10)N/AStore number
ITEMChar(25)N/AItem
item_number_tChar(6)S - StoreItem number type
ypeW - Warehouse
format_idChar(1)N/AFormat id
prefixChar(2)N/APrefix
ref_itemChar(25)N/AReference Item
ref_item_numb
er_type
Char(6)N/ARefrerence item
number type
ref_format_idChar(1)N/ARef format id
ref_prefixChar(2)N/ARef no. prefix
taxable
indicator
Char(1)N/ATaxable indicator
class_vat_indChar(1)N/AClass vat
indicator
FTAXDFTAXDChar(5)FTAXDFTAXD
File Line
Sequence
Number(10)N/ALine number of
the current file
tax_codeChar(10)N/ATax code
tax_rateChar(20)N/ATax rate
calculation_bas
is
Char(1)N/ACalculation basis

Table 6-3 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
tax_amountChar(20)N/ATax amount
effective_fromChar(8)N/AEffective from
timeChar(6)N/ATime
statusChar(1)N/AStatus
FTAILFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Sequence
Number(10)N/ALine number of
the current file
rec_counterNumber(10)N/ARecord counter

Design Assumptions

N/A

Ticket Download (tcktdnld)

Module Name tcktdnld.pc Description Download of Data to be Printed on Tickets Functional Area Foundation Data Module Type Integration Module Technology PROC Catalog ID RMS59 Wrapper Script rmswrap_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program creates an output file containing the information to be printed on a ticket or label for a particular item/location. This program is driven by the requests for tickets generated from Merchandising and Pricing. The details of what should be printed on each ticket are defined in Merchandising on the ticket type details table.

Restart/Recovery

N/A

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameters

Integration Contract

IntCon000107

Output File Layout

Table 6-4 tcktdnld.pc - Output File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record type
File Line
Sequence
Number(10)N/ALine number of the current file
File Type
Definition
Char(4)TCKTIdentifies file as ‘Print Ticket
Requests’
File Create
Date
Char(14)N/AThe date on which the file was
created in ‘YYYMMDDHHMISS’
format
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type
File Line
Sequence
Number(10)N/ALine number of the current file
ITEMChar(25)N/AID number of the transaction level
item for which the ticket applies.
Ticket TypeChar(4)N/AID which indicates the ticket type
to be printed
Location TypeChar(1)N/AIdentifies the type of location for
which tickets will be printed. Valid
values are store (S) and
warehouse (W).
LocationChar(10)N/AThe ID of the store or warehouse
for which tickets will be printed
QuantityNumber(12,4)N/AThe quantity of tickets to be
printed; which includes 4 implied
decimal places
TCOMPFile Type
Record
Descriptor
Char(5)TCOMPIdentifies file record type
File Line
Sequence
Number(10)N/ALine number of the current file
ITEMChar(25)N/AID number of the item which is
only populated if the item in
THEAD is a pack item
QuantityNumber(12,4)N/AQuantity of the component item
as a part of the pack; includes 4
implied decimal places
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type

Table 6-4 (Cont.) tcktdnld.pc - Output File Layout

Record NameField NameField TypeDefault ValueDescription
File Line
Sequence
Number(10)N/ALine number of the current file
Detail
Sequence
Number
Number(10)N/ASequential number assigned to
the detail records
Ticket ItemChar(4)N/AID indicating the detail to be
printed on the ticket. If the
attribute is a UDA, then this will
contain the ID of the UDA.
Otherwise, it is the code
associated with the attribute in
Merchandising (such as, CLSS =
class)
Attribute
Description
Char(120)N/ADescription of the attribute –
either the UDA description or the
Merchandising description for the
attribute
ValueChar(250)N/ADetail to be printed on the ticket
(for example:. Item number,
Department Number, Item
description)
SupplementChar(120)N/ASupplemental description to the
Value (for example: Department
Name)
TTAILFile Type
Record
Descriptor
Char(5)TTAILIdentifies file record type
File Line
Sequence
Number(10)N/ALine number of the current file
Transaction
Detail Line
Count
Number(6)sum of detail
lines
Sum of the detail lines within a
transaction
FTAILFile Type
Record
Descriptor
Char(5)FTAILIdentifies file record type
File Line
Sequence
Number(10)N/ALine number of the current file

Design Assumptions

N/A

UDA Publication API (BDI_Uda_Fnd_PF_From_RMS_JOB)

This section describes the UDA Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls
BDI_FOUNDATION_SQL.UDA_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                          O_control_id    IN OUT NUMBER,
                          I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UDA table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
UDAUDA upload to BDIUda_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
UDA_OUTNoYesNoNo
UDAYesNoNoNo

UDA Values Publication API (BDI_UdaValues_Fnd_PF_From_RMS_JOB)

This section describes the UDA Values Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundationb.pls.pls
BDI_FOUNDATION_SQL.UDA_VALUES_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                                 O_control_id    IN OUT NUMBER,
                                 I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UDA Values table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
UDA ValuesUDA Values upload to BDIUdaValues_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
UDA_VALUES_OUTNoYesNoNo
UDA_VALUESYesNoNoNo

UOM Class Publication API (BDI_UomClass_Fnd_PF_From_RMS_JOB)

This section describes the UOM Class Publication BDI.

Functional Area

Cross Pillar

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Uom Class information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.UOM_CLASS_UP (
                        O_error_message  IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                        O_control_id     IN OUT  NUMBER,
                        I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UOM_CLASS table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Uom ClassUom Class upload to BDIUomClass_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
UOM_CLASS_OUTNoYesNoNo
UOM_CLASSYesNoNoNo

UOM Conversion Publication API (BDI_UomConversion_Fnd_PF_From_RMS_JOB)

This section describes the UOM Conversion BDI.

Functional Area

Cross Pillar

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Uom Conversion information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandisingowned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdicrosspillarb.pls
BDI_CROSS_PILLAR_SQL.UOM_CONVERSION_UP (
                        O_error_message  IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                        O_control_id     IN OUT  NUMBER,
                        I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UOM_CONVERSION table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
UomUom Conversion upload toUomConversion_Fnd_BdiInterfaceModule.xml
ConversionBDI

Table Impact

TABLESELECTINSERTUPDATEDELETE
UOM_CONVERSION_OUTNoYesNoNo
UOM_CONVERSIONYesNoNoNo

VAT Codes, Regions, and Rates Export (export_vat.ksh)

Module Name export_vat.ksh Description Extraction of vat data Functional Area Foundation Module Type Integration Module Technology Ksh

Catalog ID RMS264 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising VAT information into a flat file. Data to be extracted will be pulled off from the VAT export staging, VAT region, VAT codes, and VAT code rates tables.

The mode (full vs. delta) will be an input parameter for this batch. The mode will allow a full extract (all vat region/vat code/vat code rate combination records in RMS) as well as delta processing (all VAT record changes in the time frame passed in the program) of data.

In either of the mode exempt vat region won’t get fetched in case of SVAT tax type.

For a full extract, records will be retrieved from the VAT region, VAT code, and VAT code rates tables. For a delta extract, the action type, vat region, vat code and active date will be retrieved from the VAT export staging table and the attributes will be retrieved from the main table.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name vat_date_[full/delta]_[#ofLines].dat Integration Contract IntCon000215

Design Assumptions

N/A

VAT Publication API (BDI_Vat_Fnd_PF_From_RMS_JOB)

This seciton describes the VAT Publication BDI.

Functional Area

Foundation

Design Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Vat information from RMS to other Oracle Retail Applications. On this particular integration stream, the data flow is from RMS to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling an RMS owned API that will pull data from RMS and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Bulk Interface Module
Filename: bdifoundationb.pls
BDI_FOUNDATION_SQL.FUNCTION VAT_UP
                            (O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                             O_control_id    IN OUT   NUMBER,
                             I_job_context   IN       VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the VAT_CODES, VAT_CODE_RATES and VAT_REGION tables from RMS.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
VatVat upload to BDIVat_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
VAT_OUTNoYesNoNo
VAT_CODESYesNoNoNo
VAT_CODE_RATESYesNoNoNo
VAT_REGIONYesNoNoNo

Warehouse (BDI_Wh_Fnd_PF_From_RMS_JOB)

This section describes Warehouse Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Warehouse information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API

that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiorgb.pls
BDI_ORG_SQL.WH_UP(O_error_message  IN OUT  VARCHAR2,
                  O_control_id     IN OUT  NUMBER,
                  I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Warehouse tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
WarehouseWarehouse upload to BDIWh_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
WH_OUTNoYesNoNo
WHYesNoNoNo

Warehouse Address Publication API (BDI_WhAddr_Fnd_PF_From_RMS_JOB)

This section describes Warehouse Address Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Warehouse Address information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API

that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiorgb.pls
BDI_ORG_SQL.WH_ADDR_UP(O_error_message  IN OUT  VARCHAR2,
                       O_control_id     IN OUT  NUMBER,
                       I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Warehouse Address tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
Warehouse AddressWarehouse Address upload
to BDI
WhAddr_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
WH_ADDR_OUTNoYesNoNo
ADDRYesNoNoNo

Items

Merchandising publishes item data for many other solution areas, including stores, warehouses, omni-channel, and so on.

  • Item Image Publication API (BDI_ItemImage_Fnd_PF_From_RMS_JOB)

  • Item Location Export (export_itemloc.ksh)

  • Item Location Publication API (BDI_ItemLoc_Fnd_PF_From_RMS_JOB)

  • Item Master Export (export_itemmaster.ksh)

  • Item Master Publication API (BDI_ItemHdr_Fnd_PF_From_RMS_JOB)

  • Item Supplier Country Dimensions Publication API (BDI_ItSupCtryDim_Fnd_PF_From_RMS_JOB)

  • • Item Supplier Country Publication API (BDI_ItSupCtry_Fnd_PF_From_RMS_JOB) • Item Supplier Manufacturing Country Publication API (BDI_ItSupManCtry_Fnd_PF_From_RMS_JOB)

  • Item Supplier Publication API (BDI_ItemSupp_Fnd_PF_From_RMS_JOB)

  • Item Supplier UOM Publication API (BDI_ItemSuppUom_Fnd_PF_From_RMS_JOB)

  • • Item VAT Rates Export (export_itemvat.ksh) • Pack Item Publication API (BDI_PckitemBrkout_Fnd_PF_From_RMS_JOB) • POS Configuration Data to 3rd Party POS (poscdnld) • Price History Publication API (BDI_PriceHist_Fnd_PF_From_RMS_JOB) • Related Items Export (export_relitem.ksh) • Related Item Publication API (BDI_RelatedItem_Fnd_PF_From_RMS_JOB) • UDA Item Date Publication API (BDI_UdaItemDate_Fnd_PF_From_RMS_JOB) • UDA Item FF Publication API (BDI_UdaItemFF_Fnd_PF_From_RMS_JOB) • UDA Item LOV Publication API (BDI_UdaItemLov_Fnd_From_RMS_JOB) • Capture Item Inventory Records (maintain_ilseod_hist.ksh)

  • Maintain Item Cost Records (maintain_isc_hist.ksh)

Item Image Publication API (BDI_ItemImage_Fnd_PF_From_RMS_JOB)

This section describes the Item Image Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item Image information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_IMAGE_UP (O_error_message  IN OUT  VARCHAR2,
                            O_control_id     IN OUT  NUMBER,
                            I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising ITEM_IMAGE table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Item ImageItem Image upload to BDIItemImage_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_IMAGE_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_IMAGEYesNoNoNo

Item Location Export (export_itemloc.ksh)

Module Name export_itemloc.ksh Description Extraction of item location data. Functional Area Foundation Module Type Integration Module Technology ksh Catalog ID RMS257 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job extracts new, updated and deleted Merchandising item-location information into a flat file.

  • This batch supports both a full and delta export of item-location data.

  • A threading indicator parameter should be passed. Passing ‘Y’ means a thread number (1-20) will be passed in. Passing ‘N’ means no thread number will be passed in and the program will use a default thread number.

  • An optional location parameter may be passed in for either modes. If this value is passed in, the batch will create a flat file for the location passed in. If it is not passed in, the batch will create flat files for all locations.

  • This creates separate files per location (Store, Warehouse or External Finisher).

  • This exports delta item header information for each applicable store location.

  • This will export data only for approved, sellable items.

  • This will export attributes from item/location and item/location traits.

  • • This should also include the item parent as its own record in the extract.

  • The flat files that will be created will now be pipe delimited.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name itemloc_[#date]_[#loc_type]_[#location]_[full/delta]_[#ofLines].dat itemhdr_[#date]_[#store_id]_delta_[#ofLines].dat Integration Contract IntCon000209 IntCon000208

Design Assumptions

N/A

Item Location Publication API (BDI_ItemLoc_Fnd_PF_From_RMS_JOB)

This section describes the Item Location Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item Location information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_LOC_UP(O_error_message  IN OUT  VARCHAR2,
                         O_control_id     IN OUT  NUMBER,
                         I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Item Location table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
Item LocationItem Location upload to BDIItemLoc_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_LOC_OUTNoYesNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_TRAITSYesNoNoNo
STOREYesNoNoNo
WHYesNoNoNo
PARTNERYesNoNoNo
ITEM_MASTERYesNoNoNo

Item Master Export (export_itemmaster.ksh)

Module Name export_itemmaster.ksh Description Extraction of item data Functional Area Foundation Module Type Integration Module Technology ksh Catalog ID RMS258 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising item master information into a flat file.

Data to be extracted will be pulled off from the item export information, item export staging and the main item tables.

  • The mode (full vs. delta) will be an input parameter for this new batch. The mode will allow a full extract (all approved, sellable items in Merchandising) as well as delta processing (all approved, sellable item changes in the main item table since the last export) of data.

  • A threading indicator parameter should be passed. Passing ‘Y’ means a thread number (1-20) will be passed in. Passing ‘N’ means no thread number will be passed in and the program will use a default thread number.

  • In full mode, normal operation will produce both a corporate level file and files for all stores. An optional input parameter will also allow the program to produce a location level file for a specified store.

  • In delta mode, the only option is to produce corporate level files. Item header files at the store level will be created in the export_itemloc.ksh for delta mode.

  • The store specific file will also include UPC items. To determine which UPC Items to include, the store where the UPC’s parent and/or grandparent item is ranged should be taken into consideration.

  • The flat files that will be created will now be pipe delimited.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name itemhdr_[#date]_corp_[full/delta]_[#ofLines].dat itemhdr_[#date]_[location]_full_[#ofLines].dat IntCon000208

Integration Contract

Design Assumptions

N/A

Item Master Publication API (BDI_ItemHdr_Fnd_PF_From_RMS_JOB)

This section describes the Item Master Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item Master information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI calls a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API is in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module
Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_MASTER_UP(O_error_message  IN OUT  VARCHAR2,
                            O_control_id     IN OUT  NUMBER,
                            I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Item Master table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

Data FlowDescriptionXML Schema Definition (XSD)
Item MasterItem Master upload to BDIItemHdr_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_HDR_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
CLASSYesNoNoNo
SUBCLASSYesNoNoNo
DIFF_GROUP_HEADYesNoNoNo
DIFF_IDSYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo

Item Supplier Country Dimensions Publication API (BDI_ItSupCtryDim_Fnd_PF_From_RMS_JOB)

This section describes the Item Supplier Country Dim Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item Supplier Country Dim information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandisingowned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_SUP_CTY_DIM_UP (O_error_message  IN OUT  VARCHAR2,
                                  O_control_id     IN OUT  NUMBER,
                                  I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising ITEM_SUPP_COUNTRY_DIM table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Item SupplierItem supplier country DimItSupCtryDim_Fnd_BdiInterfaceModule.xml
Country Dimupload to BDI

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_SUP_CTY_DIM_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRY_DIMYesNoNoNo

Item Supplier Country Publication API (BDI_ItSupCtry_Fnd_PF_From_RMS_JOB)

This section describes the Item Supplier Country Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item supplier country information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandisingowned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_SUPP_COUNTRY_UP (O_error_message  IN OUT  VARCHAR2,
                                   O_control_id     IN OUT  NUMBER,
                                   I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising ITEM_SUPP_COUNTRY table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Item Supplier
Country
Item supplier country upload to
BDI
ItSupCtry_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_SUPP_COUNTRY_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_COUNTRYYesNoNoNo

Item Supplier Manufacturing Country Publication API (BDI_ItSupManCtry_Fnd_PF_From_RMS_JOB)

This section describes the Item Supplier Manufacturing Country Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item Supplier Manufacturing Country information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_SUP_MAN_CTY_UP (O_error_message  IN OUT  VARCHAR2,
                                  O_control_id     IN OUT  NUMBER,
                                  I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising ITEM_SUPP_MANU_COUNTRY table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Item Supplier ManufacturingItem supplier ManufacturingItSupManCtry_Fnd_BdiInterfaceModu
CountryCountry upload to BDIle.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_SUP_MAN_CTY_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_MANU_COUNTRYYesNoNoNo

Item Supplier Publication API (BDI_ItemSupp_Fnd_PF_From_RMS_JOB)

This section describes the Item Supplier Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item supplier information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_SUPPLIER_UP(O_error_message  IN OUT  VARCHAR2,
                              O_control_id     IN OUT  NUMBER,
                              I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising ITEM_SUPPLIER table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Table Impact

Data Flow
Description
XML Schema Definition (XSD)
Item supplier
Item Supplier uplo
ad to BDI
I
temSupplier_Fnd_BdiInterfaceModule.xml
TABLESELECTINSERTUPDATEDELETE
ITEM_SUPPLIER_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPPLIERYesNoNoNo

Item Supplier UOM Publication API (BDI_ItemSuppUom_Fnd_PF_From_RMS_JOB)

This section describes the Item Supplier UOM Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Item supplier UOM information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandisingowned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.ITEM_SUPP_UOM_UP(O_error_message  IN OUT  VARCHAR2,
                              O_control_id     IN OUT  NUMBER,
                              I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising ITEM_SUPP_UOM table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Item supplier
UOM
Item Supplier UOM upload to
BDI
ItemSuppUom_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
ITEM_SUPP_UOM_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_SUPP_UOMYesNoNoNo

Item VAT Rates Export (export_itemvat.ksh)

Module Name export_itemvat.ksh Description Extraction of vat item data. Functional Area Foundation Module Type Integration Module Technology ksh

Catalog ID RMS259 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising item VAT information into a flat file.

  • This batch supports both a full and delta export of item VAT data.

  • A threading indicator parameter should be passed. Passing ‘Y’ means a thread number (1-20) will be passed in. Passing ‘N’ means no thread number will be passed in and the program will use a default thread number.

  • In full mode, normal operation will produce both a corporate level file and files for all stores. An optional input parameter will also allow the program to produce a location level file for a specified store.

  • In full mode for store specific file if store belong to such a vat region, which is exempt (In case of tax type SVAT), then files for that store won’t get generated.

  • In delta mode, this will produce both corporate level files and files for all stores the modified items are ranged to and the vat region the store is associated with.

  • In delta mode for store specific file if store belong to such a vat region, which is exempt, then files for that store won’t get generated.

  • This will export data only for approved, sellable items.

  • This will export item VAT information from the item export staging and item tables.

  • This should also include the item parent as its own record in the extract.

  • The flat files that will be created will now be pipe delimited.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name vatitem_[#date]_corp_[full/delta]_[#ofLines].dat vatitem_[#date]_[location]_[full/delta]_[#ofLines].dat Integration Contract IntCon000214

Design Assumptions

N/A

Pack Item Publication API (BDI_PckitemBrkout_Fnd_PF_From_RMS_JOB)

This section describes the Pack Item Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Pack Item information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.PACK_ITEM_UP(O_error_message  IN OUT  VARCHAR2,
                          O_control_id     IN OUT  NUMBER,
                          I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising PACKITEM table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Pack ItemPack Item upload to BDIPackItem_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
PACK_ITEM_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
PACKITEMYesNoNoNo

Populate ITEM_LOC_SOH_EOD table for RDE Extract (maintain_ilseod_hist)

Module Namemaintain_ilseod_hist.ksh
(ilseodhistsqls.pls/ ilseodhistsqlb.pls)
DescriptionPopulateITEM_LOC_SOH_EOD_HIST
table for RDE Extract
Functional AreaStock Ledger
Module TypeBusiness Processing
Module TechnologyPLSQL
Catalog ID
Wrapper Scriptrmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program copies current data from ITEM_LOC_SOH_EOD into ITEM_LOC_SOH_EOD_HIST and drops old partitions based on defined retention days

( SYSTEM_OPTIONS.ILS_EOD_HIST_RETENTION_DAYS ). It inserts a row into the

RMS_RDE_BATCH_STATUS table stating that the INVENTORY_SNAPSHOT staging is complete for the business date.

Restart/Recovery

In the case of a restart from failure, it rebuilds records on ITEM_LOC_SOH_EOD_HIST for the current business date.

Design Assumptions

N/A

Populate ITEM_SUPP_COUNTRY_HIST and ITEM_SUPP_COUNTRY_LOC_HIST table (maintain_isc_hist)

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program copies data from ITEM_SUPP_COUNTRY into ITEM_SUPP_COUNTRY_HIST and drops old partitions based on defined retention days

( SYSTEM_OPTIONS.ISC_HIST_RETENTION_DAYS ). It also populates ITEM_SUPP_COUNTRY_LOC_HIST based on ITEM_SUPP_COUNTRY_LOC . The data is as of the SCN stored in the FLASHBACK_SNAPSHOT_INFO table.

This accepts an optional parameter of I_business_date which will then be used to extract the SCN data from FLASHBACK_SNAPSHOT_INFO that will be the basis for the extract from ITEM_SUPP_COUNTRY and ITEM_SUPP_COUNTRY_LOC . The SCN stored at this table should still be accessible. If the I_business_date input parameter is not provided, it uses the current PERIOD.VDATE .

This job should not be skipped. If it is skipped as part of the nightly batch, it should run immediately after the nightly has completed with the I_business_date equal to the latest

business_date stored in the FLASHBACK_SNAPSHOT_INFO table. The data that is available to extract is based on the availability of the redo data for the SCN query.

Restart/Recovery

In the case of a restart from failure, it rebuilds records on ITEM_SUPP_COUNTRY_HIST and ITEM_SUPP_COUNTRY_LOC_HIST for the business date (current vdate is no input parameter passed in).

Design Assumptions

N/A

POS Configuration Data to 3rd Party POS (poscdnld)

Module Name poscdnld.pc Description Download of POS Configuration Data to 3rd Party POS Functional Area Integration - 3rd Party POS Module Type Integration Module Technology ProC Catalog ID RMS69 Wrapper Script rmswrap_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program downloads POS configuration information from Merchandising to a flat file. This file can be used to load POS and back-office systems.This program (and its related prepost function) should only be run if Merchandising is used to master:

  • Coupon definitions and relationships to items

  • Restrictions on product sales, including but not limited to minimum age of purchaser, time/ days when product cannot be sold, tenders that cannot be used to purchase the product, and so on.

Restart/Recovery

The logic unit of work is pos configuration type and pos configuration ID. The commit_max_ctr field should be set to prevent excessive rollback space usage, and to reduce the overhead of file I/O. The recommended commit counter setting is 1000 records (subject to change based on implementation).

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter. Integration Contract IntCon000063

Output File Layout

Table 6-5 Output File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADRecord TypeChar(5)‘FHEAD’Record Identifier
Line idNumber(10)0000000001Sequential Line
Identifier
File NameChar(4)‘POSC’File Identifier
File DateChar(14)N/ADate the file was
created in
’YYYYMMDD
HHMMSS’ format
TCOUPRecord TypeChar(5)TCOUPRecord Identifier
Line idNumber(10)N/ASequential Line
Identifier
Coupon idNumber(6)N/AN/A
Coupon DescChar(250)N/AN/A
Currency CodeChar2(3)N/AN/A
Max Discount
Amount
Number(20,4)N/AN/A
AmountNumber(20,4)N/AN/A
Percent IndChar(1)‘N’ - Amount
’Y’- Percentage
N/A
Profit CenterChar(6)N/AN/A
Tax ClassChar(6)N/AN/A
Export CodeChar(6)N/AN/A
Effective DateChar(14)N/AIndicates the first
day the coupon
can be used in
’YYYYMMDD
HHMMSS’ format
Expiration DateChar(14)N/AIndicates the day
the coupon
becomes invalid
in ‘YYYYMMDD
HHMMSS’ format
Prompted IndChar(1)‘Y’, ‘N’This indicator
identifies if the
cashier should be
prompted to ask
for a
Coupon.
Display IndChar(1)‘Y’, ‘N’This indicator
specifies whether
the coupon is
displayed in the
list of valid
coupons on the
register.

Table 6-5 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
StatusChar(1)‘A’,‘C’,‘D’Indicates if the
coupon
configuration is
new, has been
changed, or
being deleted.
VendorNumber(10)N/AN/A
Vendor TypeChar(6)‘AG’ - AgentN/A
’AP’ - Applicant
’BK’ - Bank
’BR’ - Broker
’CN’ -
Coonsignee
’CO’ -
Consolidator
’FA’ - Factory
’FF’ - Freight
Forwarder
’IM’ - Importer
’SU’ - Supplier
PromotionNumber(10)N/AN/A
Coupon
Barcode
Char(20)N/AN/A
Coupon Max
Qty
Number(6)N/AN/A
TPRESRecord TypeChar(5)TPRESRecord Identifier
Line idNumber(10)N/ASequential Line
Identifier
POS Product
Restriction id
Number(6)N/AN/A
POS Product
Restriction
Desc
Char(120)N/AN/A

Table 6-5 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
POS Product
Restriction
Char(6)‘PPRT’ include:
‘STMP’ - Food
N/A
TypeStamp
’MNAG’ -
Minimum Age
’CNDP’ -
Container
Deposit
’CNVL’ -
Container
Redemption
Value
’DTDR’ - Day/
Time/Date
Restriction
’TENT’ - Tender
Type
’NDSC’ - Non-
Discountable
’RTRN’ -
Returnable
’QLMT’ -
Quantity Limit
Effective DateChar(14)N/ADate the product
restriction is first
effective in
’YYYYMMDD
HHMMSS’ format
Currency CodeChar(3)N/AN/A
Product
Restriction
Amount
Number(20,4)N/AN/A
Age MinimumNumber(2)N/AN/A
DateChar(14)N/ADate on which a
Restrictionspecified product
restriction is
applied in
’YYYYMMDD
HHMMSS’ format
Before Time
Restriction
Char(6)N/AN/A
After TimeChar(6)N/AN/A
Restriction
Day RestrictionChar(6)N/AN/A
Max QtyNumber(124)N/AN/A

Amount
,

Table 6-5 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Tender Type
Group
Char(6)‘CASH’ - Cash,
‘CHECK’ -
Check,
‘CCARD’ -
Credit,
‘COUPON’ -
Coupon,
‘LOTTRY’ -
Lottery,
‘FSTAMP’ -
Food Stamp,
‘DCARD’ -
Debit Card,
‘MORDER’ -
Money Order
’VOUCH’ -
Voucher
N/A
’ERR’ - Error,
‘SOCASS’ -
Social
Assistance,
‘TERM’ -
Termination
Record,
‘DRIVEO’ -
Drive Off,
‘EBS’ -
Electronic
Benefits ( Food
Stamps)
StatusChar(1)‘A’,‘C’,‘D’Indicates if the
product
restriction
configuration is
new, has been
changed, or
being deleted.
TSTORRecord TypeChar(5)‘TSTOR’N/A
Line idNumber(10)N/AN/A
StoreNumber(10)N/AN/A
StatusChar(1)‘A’ - AddN/A
’D’ - Delete
’C’ - Change
TITEMRecord TypeChar(5)TITEMRecord Identifier
Line idNumber(10)N/ASequential Line
Identifier
ItemChar(25)N/ALeft-Justified Item
Identifier

Table 6-5 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
StatusChar(1)‘A’ - Add
’D’ - Delete
’C’ - Change
Indicates the
item’s status at
the POS.
Overlays of items
as a result of a
change to the
merch criteria will
have a ‘C’ status.
FTAILRecord TypeChar(5)FTAILMarks end of file
Line idNumber(10)N/ATotal number of
lines in file
Number of
transactions
Number(10)N/ANumber of
transactions in
file

Design Assumptions

N/A

Price History Publication API (BDI_PriceHist_Fnd_PF_From_RMS_JOB)

This section describes the Price History Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Price History positions from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdifoundations/b.pls
BDI_FOUNDATION_SQL.PRICE_HIST_UP(O_error_message  IN OUT  VARCHAR2,
                                 O_control_id     IN OUT  NUMBER,
                                 I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Price History tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Price HistoryPrice History upload to BDIPriceHist_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
PRICE_HIST_OUTNoYesNoNo
PRICE_HISTYesNoNoNo

Module Name export_relitem.ksh Description Extraction of related item data Functional Area Foundation Module Type Integration Module Technology ksh Catalog ID RMS262 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract new, updated and deleted Merchandising related items information into a flat file.

  • This batch will support both a full and delta export of related item data.

  • A threading indicator parameter should be passed. Passing ‘Y’ means a thread number (1-20) will be passed in. Passing ‘N’ means no thread number will be passed in and the program will use a default thread number.

  • In full mode, normal operation will produce both a corporate level files and files for all stores. An optional input parameter will also allow the program to produce location level files for a specified store.

  • In delta mode, this will produce both corporate level files and files for all stores the modified data are ranged to.

  • This will export data only for approved, sellable items.

  • This will export item related item information from the related item export staging and related item tables.

  • Two types of flat files will be created for this extract - one for the related item header information and one for the related item detail information.

  • When creating the location level files, ensure that both items (the main item and related item) are ranged in the location.

  • The flat files that will be created will now be pipe delimited.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name relitemhead_date_corp_[full/delta]_[#ofLines].dat relitemhead_date_[Location]_[full/delta]_[#ofLines].dat relitemdet_date_corp_[full/delta]_[#ofLines].dat relitemdet_date_[Location]_[full/delta]_[#ofLines].dat Integration Contract IntCon000210 IntCon000211

Design Assumptions

N/A

This section describes the Related Item Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Related Items from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.REL_ITEM_UP(O_error_message  IN OUT  VARCHAR2,
                         O_control_id     IN OUT  NUMBER,
                         I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound tables that reside in the BDI_RMS_INT_SCHEMA schema. These outbound tables are loaded with records from the Merchandising Related Item head and detail tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Related ItemRelated Item upload to BDIRelatedItem_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
RELATED_ITEM_OUTNoYesNoNo
RELATED_ITEM_DTL_OUTNoYesNoNo
RELATED_ITEM_HEADYesNoNoNo
RELATED_ITEM_DETAILYesNoNoNo
ITEM_MASTERYesNoNoNo

UDA Item Date Publication API (BDI_UdaItemDate_Fnd_PF_From_RMS_JOB)

This section describes the UDA Item Date Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.UDA_ITEM_DATE_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                              O_control_id    IN OUT NUMBER,
                              I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UDA Item Date table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
UDA ITEM
DATE
UDA Item Date upload to BDIUdaItemDate_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
UDA_ITEM_DATE_OUTNoYesNoNo
UDA_ITEM_DATEYesNoNoNo

UDA Item FF Publication API (BDI_UdaItemFF_Fnd_PF_From_RMS_JOB)

This section describes the UDA Item FF Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.UDA_ITEM_FF_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                            O_control_id    IN OUT NUMBER,
                            I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UDA Item FF table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
UDA ITEM FFUDA Item FF upload to BDIUdaItemFF_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
UDA_ITEM_FF_OUTNoYesNoNo
UDA_ITEM_FFYesNoNoNo

UDA Item LOV Publication API (BDI_UdaItemLov_Fnd_From_RMS_JOB)

This section describes the UDA Item LOV Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Code Head information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdiitemb.pls
BDI_ITEM_SQL.UDA_ITEM_LOV_UP(O_error_message IN OUT RTK_ERRORS.RTK_TEXT%TYPE,
                             O_control_id    IN OUT NUMBER,
                             I_job_context   IN     VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising UDA Item LOV table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
UDA ITEM LOVUDA Item LOV upload to BDIUdaItemLov_Fnd_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
UDA_ITEM_LOV_OUTNoYesNoNo
UDA_ITEM_LOVYesNoNoNo

Financials

Merchandising stages General Ledger (GL) data for subsequent upload into a financial system. A set of batch processes gather and organize the data before using it to populate the staging table, STG_FIF_GL_DATA .

For more information about how data moves from these staging tables to the General Ledger of a financial application and other integration between Merchandising and financial applications, see Oracle Retail Financial Integration for Oracle Retail Merchandise Operations Management and Oracle E-Business Suite Financials Implementation Guide

The following scheduled outbound integrations are included in this functional area:

  • Daily or Weekly Donwload of Stock Ledger Data (stlgdnld)

  • Finance General Ledger to RFI (BDI_RFI_FinGenLdgr_Tx_PF_From_RMS_JOB)

  • Financial Data Publish Extract (fif_gl_publish_extract)

  • Invoice Matching Accounts Payable Detail Outbound Publish Extract (fif_ap_detail_publish_extract)

  • Invoice Matching Accounts Payable Header Publish Extract (fif_ap_head_publish_extract)

  • Fixed Deal Income (dealfinc)

  • Franchise Billing Extract (wfbillex.ksh)

  • General Ledger Cross Reference Dynamic Mapping (fif_gl_dynamic_map)

  • Item/Location Daily Stock Ledger Transactions (fifgldn1)

  • Monthly Stock Ledger Transactions (fifgldn3)

  • Open to Buy Download Stock Ledger (otbdlsal)

  • RMS Financial Data Publish (fif_gl_publish)

  • Rolled Up Daily Stock Ledger Transactions (fifgldn2)

  • Stage G/L Extracts (gl_extract.ksh)

  • Tran Data Publication (BDI_TranData_Tx_PF_From_RMS_EOW_JOB)

  • Capture Stock Ledger Cut-off Time for Business Date (stockledger_switchtime.ksh)

  • • Maintain Transaction Data Records (maintain_iftd_hist.ksh)

Daily or Weekly Donwload of Stock Ledger Data (stlgdnld)

Module Name stlgdnld.pc Description Weekly or Historical Download of Stock Ledger Data Functional Area Stock Ledger Module Type Integration Module Technology ProC Catalog ID RMS17 Wrapper Script batch_stlgdnld.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program extracts stock ledger data at the item level. The program can extract data for a historic period or for the most current complete week. The program accepts an input file that determines whether the extract is a historic extract or a weekly extract.

This program is often used in integration with RPAS applications.

Restart/Recovery

The logical unit of work for this program is set at item, location type, location and date. Threading is done by dept using the v_restart_dept view to thread properly.

The changes will be posted when the commit_max_ctr value is reached. The commit_max_ctr field should be set to prevent excessive rollback space usage, and to reduce the overhead of file I/O. The value of the counter is subject to change based on implementation.

I/O Specification

Integration Type Download from Merchandising File Name The input filename is a runtime parameter. The output filename is hardcoded to stkldgr%d.dat where %d is substituted with the domain id. Each run of the program can produce multiple output files, one for each department. Additional input parameters are defined in the input file

Integratin Contract

IntCon000034 (output file)

Input File Layout

Table 6-6 Input File Layout

Field NameField TypeDefault ValueDescription
Task IndicatorChar(1)N/ATask Indicator. Valid
values are ‘H’ -
historical, ‘W’ - weekly

Table 6-6 (Cont.) Input File Layout

Field NameField TypeDefault ValueDescription
From DateChar(8)N/AFrom Date in
’YYYYMMDD’ format
To DateChar(8)N/ATo Date in
’YYYYMMDD’ format

Output File Layout

Table 6-7 Output File Layout

Field NameField TypeDefault ValueDescription
ItemChar(25)N/AItem number
Location TypeChar(1)N/ALocation Type
Valid values are ‘S’,‘W’
LocationNumber(20)N/ALocation Number
Eow_dateChar(8)N/AEnd of Week date in
’YYYYMMDD’ format
Update_IndChar(1)N/AUpdate Indicator
Valid values are ‘I ‘
and ‘U’
Regular_sales_retailNumber(25,4)N/ARegular sales value
(retail)
Regular_sales_costNumber(25,4)N/ARegular sales value
(cost)
Regular_sales_unitsNumber(17,4)N/ARegular sales value
(units)
Promo_sales_retailNumber(25,4)N/APromo sales value
(retail)
Promo_sales_costNumber(25,4)N/APromo sales value
(cost)
Promo_sales_unitsNumber(17,4)N/APromo sales value
(units)
Clear_sales_retailNumber(25,4)N/AClearance sales value
(retail)
Clear_sales_costNumber(25,4)N/AClearance sales value
(cost)
Clear_sales_unitsNumber(17,4)N/AClearance sales value
(units)
Sales_retail_excluding_vatNumber(25,4)N/ASales value excluding
vat (retail)
Custom_returns_retailNumber(25,4)N/ACustom returns value
(retail)
Custom_returns_costNumber(25,4)N/ACustom returns value
(cost)
Custom_returns_unitsNumber(17,4)N/ACustom returns value
(units)

Table 6-7 (Cont.) Output File Layout

Field NameField TypeDefault ValueDescription
Rtv_retailNumber(25,4)N/AReturn to Vendor
value (retail)
Rtv_costNumber(25,4)N/AReturn to Vendor
value (cost)
Rtv_unitsNumber(17,4)N/AReturn to Vendor
value (units)
Reclass_in_retailNumber(25,4)N/AReclass In value
(retail)
Reclass_in_costNumber(25,4)N/AReclass In value
(cost)
Reclass_in_unitsNumber(17,4)N/AReclass In value
(units)
Reclass_out_retailNumber(25,4)N/AReclass Out value
(retail)
Reclass_out_costNumber(25,4)N/AReclass Out value
(cost)
Reclass_out_unitsNumber(17,4)N/AReclass Out value
(units)
Perm_markdown_valueNumber(25,4)N/APermanent markdown
value (retail)
Prom_markdown_valueNumber(25,4)N/APromotion markdown
value (retail)
Clear_markdown_valueNumber(25,4)N/AClearance markdown
value (retail)
Markdown_cancel_valueNumber(25,4)N/AMarkdown cancel
value
Markup_valueNumber(25,4)N/AMarkup value
Markup_cancel_valueNumber(25,4)N/AMarkup cancel value
Stock_adj_retailNumber(25,4)N/AStock adjustment
value (retail)
Stock_adj_costNumber(25,4)N/AStock adjustment
value (cost)
Stock_adj_unitsNumber(17,4)N/AStock adjustment
value (units)
Received_retailNumber(25,4)N/AReceived value (retail)
Received_costNumber(25,4)N/AReceived value (cost)
Received_unitsNumber(17,4)N/AReceived value (units)
Tsf_in_retailNumber(25,4)N/ATransfer In value
(retail)
Tsf_in_costNumber(25,4)N/ATransfer In value
(cost)
Tsf_in_unitsNumber(17,4)N/ATransfer In value
(units)
Tsf_out_retailNumber(25,4)N/ATransfer Out value
(retail)

Table 6-7 (Cont.) Output File Layout

Field NameField TypeDefault ValueDescription
Tsf_out_costNumber(25,4)N/ATransfer Out value
(cost)
Tsf_out_unitsNumber(17,4)N/ATransfer Out value
(units)
Freight_costNumber(25,4)N/AFreight cost
Employee_disc_retailNumber(25,4)N/AEmployee disc (retail)
Cost_varianceNumber(25,4)N/ACost variance
Wkroom_other_cost_salesNumber(25,4)N/AWkroom other sales
(cost)
Cash_disc_retailNumber(25,4)N/ACash disc (retail)
Freight_claim_retailNumber(25,4)N/AFreight Claim (retail)
Freight_claim_costNumber(25,4)N/AFreight Claim (cost)
Freight_claim_unitsNumber(25,4)N/AFreight Claim (Units)
Stock_adj_cogs_retailNumber(25,4)N/AStock Adjust COGS
(retail)
Stock_adj_cogs_costNumber(25,4)N/AStock Adjust COGS
(cost)
Stock_adj_cogs_unitsNumber(25,4)N/AStock Adjust COGS
(Units)
Intercompany_in_retailNumber(25,4)N/AIntercompany In value
(retail)
Intercompany_in_costNumber(25,4)N/AIntercompany In value
(cost)
Intercompany_in_unitsNumber(25,4)N/AIntercompany In value
(units)
Intercompany_out_retailNumber(25,4)N/AIntercompany Out
value (retail)
Intercompany_out_costNumber(25,4)N/AIntercompany Out
value (cost)
Intercompany_out_unitsNumber(25,4)N/AIntercompany Out
value (units)
Intercompany_markupNumber(25,4)N/AIntercompany Markup
Intercompany_markup_unitsNumber(25,4)N/AIntercompany Markup
(units)
Intercompany_markdownNumber(25,4)N/AIntercompany
Markdown
Intercompany_markdown_unitsNumber(25,4)N/AIntercompany
Markdown (units)
Wo_activity_upd_invNumber(25,4)N/AWork Order Activity -
Update Inventory
(cost)
Wo_activity_upd_inv_unitsNumber(25,4)N/AWork Order Activity -
Update Inventory
(units)

Table 6-7 (Cont.) Output File Layout

Field NameField TypeDefault ValueDescription
Wo_activity_post_finNumber(25,4)N/AWork Order Activity -
Post to Financials
(retail)
Wo_activity_post_fin_unitsNumber(25,4)N/AWork Order Activity -
Post to Financials
(units)

Design Assumptions

N/A

Finance General Ledger to RFI (BDI_RFI_FinGenLdgr_Tx_PF_From_RMS_JOB)

Module Name BDI_RFI_FinGenLdgr_Tx_PF_From_RMS_JOB Description Extracts financial general ledger to RFI Functional Area Finance Module Type Integration Module Technology BDI Job Catalog ID N/A Runtime Parameters FinGenLdgr_Tx_ProcessFlow_From_RMS FinGenLdgr_Tx_Extractor

Design Overview

This API extracts staged data from Merchandising and Sales Audit and transfers it to the General Ledger inbound staging tables. To accomplish this data transfer, BDI will call a Merchandising owned API that will pull data from RMS and deliver these to the BDI integration layer.

This integration is applicable when using Oracle Retail Financial Integration (RFI) to supported financial solutions. For more information on RFI, see the ORFI Implementation Guide, as part of the documentation for Oracle Retail Integration Cloud Service.

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyDaily
Scheduling ConsiderationN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XML)
FinanceGeneral Ledger upload to BDIFinGenLdgr_Tx_BdiInterfaceModule.xml

Financial Data Publish Extract (fif_gl_publish_extract)

Module Nameff_gl_publish_extract.ksh
DescriptionFinancial Data Publish Extract
Functional AreaGeneral Ledger
Module TypeBusiness Processing
Module Technologyksh
Catalog ID
Wrapper Scriptbatch_ff_gl_publish_extract.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will have the following runtime parameters:

ParameterDescription
application_nameSource of the GL record. Example: RMS or IM or RFM
fle_prefxPrefx for the generated fle.
num_records_per_fleNumber of records extracted per fle. If -1, only 1 fle will be
generated.
upload_to_object_storeDefault value N. Indicates if the generated fle will only be
uploaded to object store.
republish_indDefault to N for nightly batch, Y for adhoc run to republish records.
republish_dateRequired when republish_ind is Y. Extract date of records to
republish [YYYYMMDD]

During nightly run, this job will extract records from FIF_GL_PUBLISH for the application name (either RMS or IM or RFM) where journal_entry_create_date = current date, write to file, and upload to object storage

Example: /outgoing/RMS_ACCOUNT_ENTRY_20250131024118.zip

The zip can contain the files like: RMS_ACCOUNT_ENTRY_20250131_20250131_00.csv

The num_records_per_file parameter should be big enough because the program can only generate up to 100 files that is packaged in the zip.

During adhoc run, records from FIF_GL_PUBLISH where journal_entry_create_date = republish date will be extracted.

If upload_to_object_store is Y, this job will extract records from FIF_GL_PUBLISH, write to file, and upload to object storage.

If upload_to_object_store is N, this job will invoke the merch background engine which will extract data from FIF_GL_PUBLISH table into a csv file, zip the file and publish to Fusion Financials using theCFIN by invoking a ReST end point.

Restart/Recovery

N/A

Key Tables Affected

TableSelectInsertUpdateDelete
FIF_GL_PUBLISHYesNoNoNo
FIF_PUBLISH_STATUSYesYesYesYes
PERIODYesNoNoNo

Fixed Deal Income (dealfinc)

Module Name dealfinc.pc Description Calculation & Interface of Fixed Deal Income for General Ledger Functional Area Integration - General Ledger Module Type Integration Module Technology ProC Catalog ID RMS65 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module writes to the STG_FIF_GL_DATA financial staging table to perform stock ledger processing for fixed deals. It splits deal income over all dept/class/subclass locations on the deal. This prorated income is written to the general ledger under a suitable cost center mapping.

Restart/Recovery

The logical unit of work for this program is a DEAL_ID. The database commit takes place when number of deal records processed is equal to the commit max counter in the restart control table.

I/O Specification

Integration Type Download from Merchandising File Name N/A Integration Contract IntCon000019 STG_FIF_GL_DATA table

Design Assumptions

N/A

Franchise Billing Extract (wfbillex.ksh)

Module Name wfbillex.ksh Description Franchise Billing Extract Functional Area Franchise Management Module Type Integration Module Technology ksh Catalog ID RMS155 Wrapper Script rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this shell script module is to fetch all billing information for Franchise sale and return transactions and write these to an output file for integration with an external financial application that manages billing. A file is generated for each customer location (store)/day.

The format of the generated file is based on a run time parameter:

  • If no parameter is passed or if the value 1 is used, the previously existing format (refer Output File Layout Format 1) will be generated.

  • If the value 2 (or greater than 2) is passed, the new file format (refer Output File Layout Format 2) will be generated.

Restart/Recovery

The logical unit of work for this module is defined as the customer location (store). Only one commit will be done for a customer location that has been completely processed. The WFBX formatted output file will be created with a temporary name and renamed just before a customer location commit. In case of failure, all work done will be rolled back.

I/O Specification

Integration Type Download from Merchandising File Name WFBX__ Integration Contract IntCon000110

Output File Layout

Table 6-8 Output File Layout Format 1

Record NameField NameField TypeDefault ValueDescription
FHEADRecordChar(5)FHEADIdentifies the file
descriptorrecord type
File Line IdChar(10)Sequential file
line number

Table 6-8 (Cont.) Output File Layout Format 1

Record NameField NameField TypeDefault ValueDescription
File type
definition
Char(4)WFBXIdentifies the file
type
File Create
Char(14)File Create Date
Datein
YYYYMMDDHH
MMSS format
THEADRecord
descriptor
Char(5)THEADIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
Customer
Location
Number(10)Franchise store
number
Customer
Order
Char(20)Reference
number provided
Reference
Number
by the franchise
customer
Franchise
Order Number
Number(10)Franchise Order
Number
Transaction
Type
Char(6)SALES or
RETURN
RMA NumberNumber(10)Return
Merchandise
Authorization
Number for the
return
Order Return
Date
Number(8)Order return date
for Return
transaction type
or Order date for
Sale transaction
type in
YYYYMMDD
format
Shipment DateNumber(8)Date on which
the item was
shipped to the
franchise location
or returned to the
retailer
TDETLRecord
descriptor
Char(5)TDETLIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
ItemChar(25)Item sequence
number
DepartmentNumber(4)Department
number of the
item

Table 6-8 (Cont.) Output File Layout Format 1

Record NameField NameField TypeDefault ValueDescription
ClassNumber(4)Class number of
the item
SubclassChar(4)Subclass number
of the item
Order Return
Quantity
Number(12)Return quantity
with 4 implied
decimal places
Order Return
Quantity UOM
Char(4)Return quantity
unit of measure
Order Return
Cost
Number(20)Return cost for
Return
transaction type
or Customer cost
for Sale
transaction type.
For both it is the
per-unit cost
Freight CostNumber(20)Freight
associated to the
franchise order
ReturnNumber(20)Unit restocking
Restocking Feefee charged for
received items
VAT CodeChar(6)VAT code for the
item
VAT RateNumber(20)VAT rate
associated to the
VAT code for the
item
Other Order
Charges
Number(20)Other charges for
the item
TTAILRecord
descriptor
Char(5)TTAILIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
Tran Record
Counter
Number(6)Number of
TDETL records in
this transaction
set
FTAILRecord
descriptor
Char(5)FTAILIdentifies the file
record type
File Line IdNumber(10)Sequential file
line number

Table 6-8 (Cont.) Output File Layout Format 1

Record NameField NameField TypeDefault ValueDescription
File Record
counter
Number(10)Number of
records/
transactions
processed in
current file (only
records between
head & tail)

Table 6-9 Output File Layout Format 2

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor
Char(5)FHEADIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
File type
definition
Char(4)WFBXIdentifies the file
type
File Create
Date
Char(14)File Create Date
in
YYYYMMDDHH
MMSS format
Version No.Char(2)02Identifies the file
format version
THEADRecord
descriptor
Char(5)THEADIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
Customer
Location
Number(10)Franchise store
number
CustomerChar(20)Reference
Ordernumber provided
Reference
Number
by the franchise
customer
FranchiseNumber(10)Franchise Order
Order NumberNumber
Transaction
Type
Char(6)SALES or
RETURN
RMA NumberNumber(10)Return
Merchandise
Authorization
Number for the
return

Table 6-9 (Cont.) Output File Layout Format 2

Record NameField NameField TypeDefault ValueDescription
Order Return
Date
Number(8)Order return date
for Return
transaction type
or Order date for
Sale transaction
type in
YYYYMMDD
format
Shipment DateNumber(8)Date on which
the item was
shipped to the
franchise location
or returned to the
retailer
TDETLRecord
descriptor
Char(5)TDETLIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
ItemChar(25)Item sequence
number
DepartmentNumber(4)Department
number of the
item
ClassNumber(4)Class number of
the item
SubclassChar(4)Subclass number
of the item
Order Return
Quantity
Number(12)Return quantity
with 4 implied
decimal places
Order Return
Quantity UOM
Char(4)Return quantity
unit of measure
Order ReturnNumber(20)Return cost for
CostReturn
transaction type
or Customer cost
for Sale
transaction type.
For both it is the
per-unit cost
Freight CostNumber(20)Freight
associated to the
franchise order
ReturnNumber(20)Unit restocking
Restocking Feefee charged for
received items
VAT CodeChar(6)VAT code for the
item

Table 6-9 (Cont.) Output File Layout Format 2

Record NameField NameField TypeDefault ValueDescription
VAT RateNumber(20)VAT rate
associated to the
VAT code for the
item
Other Order
Charges
Number(20)Other charges for
the item
Uom TypeChar(4)Uom Type
fetched from GTS
tax engine to be
considered when
tax is in value
Uom ValueNumber(20)UOM value
fetched from GTS
tax engine to be
considered when
tax is in value.
Having 10 places
of decimal digits.
Uom Tax Value
Per Unit
Number(20)UOM tax value
per unit fetched
from GTS tax
engine to be
considered when
tax is in value.
Having 10 places
of decimal digits.
TTAILRecord
descriptor
Char(5)TTAILIdentifies the file
record type
File Line IdChar(10)Sequential file
line number
Tran RecordNumber(6)Number of
CounterTDETL records in
this transaction
set
FTAILRecord
descriptor
Char(5)FTAILIdentifies the file
record type
File Line IdNumber(10)Sequential file
line number
File Record
counter
Number(10)Number of
records/
transactions
processed in
current file (only
records between
head & tail)

Design Assumptions

N/A

General Ledger Cross Reference Dynamic Mapping (fif_gl_dynamic_map)

Module Name fif_gl_dynamic_map.ksh Description General Ledger Cross Reference Dynamic Mapping Functional Area General Ledger Module Type Business Processing Module Technology ksh Catalog ID Wrapper Script rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

If the system is set up to use dynamic segments

( FINANCIAL_UNIT_OPTIONS.USE_DYNAMIC_SEGMENTS = Y ) and there are changes to either GL cross reference or dynamic segment records, this program calls the DYNAMIC_MAPPING_SQL.PROCESS function to perform the following:

  • Synchronize fully formed GL cross reference records between the FIF_GL_CROSS_REF and FIF_GL_CROSS_REF_DYNAMIC tables.

  • Build fully formed combinations in FIF_GL_CROSS_REF_DYNAMIC using dynamic segment mappings and GL cross reference records based on the following order:

    • GL cross reference rows missing minimal segments to rows with maximal segments.

    • Fully formed GL cross reference rows with base indicator set.

    • Fully formed GL cross reference rows.

  • When a GL cross reference record is deleted, all child records in FIF_GL_CROSS_REF_DYNAMIC will also be deleted. The program will attempt to rebuild the combination using existing GL Cross Reference records.

  • When a dynamic segment mapping is deleted, all records in FIF_GL_CROSS_REF_DYNAMIC using this dynamic segment will be deleted.

  • When a GL cross reference record is updated, all child records in FIF_GL_CROSS_REF_DYNAMIC will also be updated. The account combination will need to be re-validated.

  • When a dynamic segment mapping is updated, all records in FIF_GL_CROSS_REF_DYNAMIC using this dynamic segment will be updated. The account combination will need to be revalidated.

  • After building the combinations, validate the account against the FIF_GL_ACCT table. If the account does not exist, it will be deleted from FIF_GL_CROSS_REF_DYNAMIC .

Records from FIF_GL_CROSS_REF_DYNAMIC are used by fifgldn1 , fifgldn2 , fifgldn3 , and dealfinc batch programs when getting General Ledger cross-reference mappings for the transaction data.

Restart/Recovery

N/A

Design Assumptions

Invoice Matching Accounts Payable Detail Outbound Publish Extract (fif_ap_detail_publish_extract)

Module Nameff_ap_detail_publish_extract.ksh
DescriptionInvoice Matching Accounts Payable Detail
Publish Extract
Functional AreaGeneral Ledger
Module TypeBusiness Processing
Module Technologyksh
Catalog ID
Wrapper Scriptbatch_ff_ap_publish_extract.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will have the following runtime parameters:

ParameterDescription
application_name
Source of the GL record. Valid values: IM or RFM
fle_prefx
Prefx for the generated fle.
num_records_per_fleNumber of records extracted per fle. If -1, only 1 fle will be
generated.
upload_to_object_storeDefault value N. Indicates if the generated fle will only be
uploaded to object store.
republish_indDefault to N for nightly batch, Y for adhoc run to republish records.
republish_dateRequired when republish_ind is Y. Extract date of records to
republish [YYYYMMDD]
republish_date_run_idRun Id from the extract date of records to republish. Valid values
between 1 and 9999. Optional. Defaulted to 1 if Null.

During nightly run, this job will extract records from FIF_AP_DETAIL_PUBLISH for the application name (either IM or RFM) where im_create_date = current date , write to file, and upload to object storage.

Example: /outgoing/INVOICE_DETAIL_20250131024118.zip

The zip can contain the files like: INVOICE_DETAIL_20250131_20250131_00.csv

The num_records_per_file parameter should be big enough because the program can only generate up to 100 files that is packaged in the zip.

Invoice publish from Invoice Matching to AP can happen multiple times in a day if the job is scheduled to run multiple times in a day. Each run is assigned a one up number, starting from 1 for that day.

During republish to AP for exception scenarios, the run ID for the batch run ( republish_date_run_id ) can be provided to selectively republish a particular job run. In this case, if a run ID is not provided, it is defaulted to 1. That is, during republish, records from FIF_AP_DETAIL_PUBLISH where im_create_date = republish_date and

extract_date_run_id = republish_date_run_id will be extracted. If republish_date_run_id is not provided, then records with extract_date_run_id = 1 will be extracted.

Restart/Recovery

N/A

Key Tables Affected

TableSelectInsertUpdateDelete
FIF_AP_DETAIL_PUBLISHYesNoYesNo
FIF_PUBLISH_STATUSYesYesYesYes
PERIODYesNoNoNo

Invoice Matching Accounts Payable Header Publish Extract (fif_ap_head_publish_extract)

Module Nameff_ap_head_publish_extract.ksh
DescriptionInvoice Matching Accounts Payable Header
Publish Extract
Functional AreaGeneral Ledger
Module TypeBusiness Processing
Module Technologyksh
Catalog ID
Wrapper Scriptbatch_ff_ap_publish_extract.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will have the following runtime parameters:

ParameterDescription
application_nameSource of the GL record. Valid values: IM or RFM
fle_prefxPrefx for the generated fle.
num_records_per_fleNumber of records extracted per fle. If -1, only 1 fle will be
generated.
upload_to_object_storeDefault value N. Indicates if the generated fle will only be
uploaded to object store.
republish_indDefault to N for nightly batch, Y for adhoc run to republish records.
ParameterDescription
republish_dateRequired when republish_ind is Y. Extract date of records to
republish [YYYYMMDD]
republish_date_run_idRun Id from the extract date of records to republish. Valid values
between 1 and 9999. Optional. Defaulted to 1 if Null.

During nightly run, this job will extract records from FIF_AP_HEAD_PUBLISH for the application name (either IM or RFM ) where im_create_date = current date, write to file, and upload to object storage.

Example: /outgoing/INVOICE_HEADER_20250131024118.zip

The zip can contain the files like: INVOICE_HEADER_20250131_20250131_00.csv

The num_records_per_file parameter should be big enough because the program can only generate up to 100 files that is packaged in the zip.

Invoice publish from Invoice Matching to AP can happen multiple times in a day if the job is scheduled to run multiple times in a day. Each run is assigned a one-up number, starting from 1 for that day.

During republish to AP for exception scenarios, the run ID for the batch run ( republish_date_run_id ) can be provided to selectively republish a particular job run. In this case, if a run ID is not provided, it is defaulted to 1. That is, during republish, records from FIF_AP_HEAD_PUBLISH where im_create_date = republish date and extract_date_run_id = republish_date_run_id are extracted. If republish_date_run_id is not provided, then records with extract_date_run_id = 1 will be extracted.

If upload_to_object_store is Y , this job will extract records from FIF_AP_HEAD_PUBLISH , write to file, and upload to object storage.

If upload_to_object_store is N , this job will extract data from FIF_AP_HEAD_PUBLISH and FIF_AP_DETAIL_PUBLISH table into a csv file, zip the file and publish to Fusion Financials using the ReST end point.

Restart/Recovery

N/A

Key Tables Affected

TableSelectInsertUpdateDelete
FIF_AP_HEAD_PUBLISHYesNoYesNo
FIF_AP_DETAIL_PUBLISHYesNoYesNo
FIF_PUBLISH_STATUSYesYesYesYes
PERIODYesNoNoNo

Item/Location Daily Stock Ledger Transactions (fifgldn1)

Module Name fifgldn1sqls.pls/fifgldn1sqlb.pls Description Interface to General Ledger of Item/Loc Level Transactions Functional Area General Ledger

Module Type Integration Module Technology PLSQL Catalog ID RMS66 Wrapper Script rmswrap_plsql.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program extracts the detailed stock ledger information for certain transaction types on a daily basis in order to bridge the information to an interfaced financial application. The program reads from the IF_TRAN_DATA table for each transaction type/amount type and posts it to the Oracle Retail General Ledger staging table at the SKU detail level.

If transactions exist for which GL cross mappings do not exist, these will be logged in TRAN_DATA_ERRORS and a notification will be sent to the Finance Analyst user indicating that unmapped transactions exist. The TRAN_DATA_ERRORS table is available through the Data Access Schema, enabling users to view the errors and create the missing mappings. The fifgldn1 module will attempt to reprocess records from TRAN_DATA_ERRORS if mappings have been created. During the month-end processing run, if unmapped transactions still exist they will be posted into the clearing accounts as outlined below:

1. The cost value of the transaction will be posted into the Credit Clearance account [Credit Clearance Segment 1-10] associated with the location’s set of books.

2. The cost value of the transaction will be posted into the Debit Clearance account [Debit Clearance Segment 1-10] associated with the location’s set of books.

3. The retail value of the transaction will be posted into the Credit Clearance account [Credit Clearance Segment 1-10] associated with the location’s set of books.

4. The retail value of the transaction will be posted into the Debit Clearance account [Debit Clearance Segment 1-10] associated with the location’s set of books.

The month-end processing is typically executed on the End of Month (EOM) date plus Close Month After Days to allow for late-posted transactions to be attributed to the correct month. If on this date, clearing accounts are not defined and unresolved mappings continue to exist, then the month will remain open for an additional number of days specified in Force Close Month After Additional Days . After this duration, the fifgldn1 module will move the recordspending posting from TRAN_DATA_ERRORS to STG_FIF_GL_EOM_ERRORS and proceed to close the month without failure. The STG_FIF_GL_EOM_ERRORS table is available through DAS/RDS to enable extraction and processing of unposted transaction records.

Restart/Recovery

The logical unit of work is department/class/subclass/location/item. The batch is multithreaded using the restart department view.

I/O Specification

Integration Type Download from Merchandising File Name N/A

Integration Contract

IntCon000019 STG_FIF_GL_DATA table

Design Assumptions

N/A

Monthly Stock Ledger Transactions (fifgldn3)

Module Name Fifgldn3sqls.pls/fifgldn3sqlb.pls Description General Ledger Interface 3 Functional Area Interface to General Ledger of Month Level Information Module Type Integration Module Technology PLSQL Catalog ID RMS68 Wrapper Script rmswrap_plsql.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program summarizes stock ledger data from the monthly stock ledger table based on the level of information required and writes it to the financial general ledger staging table. The transactions extracted are determined by the CODE_TYPE GLRT (general ledger rolled transactions). Written information is then sent to the financial application. Stock ledger information may be rolled-up at department, class or subclass level. The level at which information is rolled-up to is determined by the system parameter GL_ROLLUP .

The fifgldn3 module is scheduled to run monthly and operates off both the TRAN_DATA and MONTH_DATA tables. If the module encounters an unmapped transaction, depending on whether the source of the unmapped transaction is TRAN_DATA or MONTH_DATA , the transaction will be logged into TRAN_DATA_ERRORS or MONTH_DATA_ERRORS tables, respectively. If clearing accounts have been defined, these unmapped transactions will be posted into the clearing accounts as outlined below:

1. The cost value of the transaction will be posted into the Credit Clearance account [Credit Clearance Segment 1-10] associated with the location’s set of books.

2. The cost value of the transaction will be posted into the Debit Clearance account [Debit Clearance Segment 1-10] associated with the location’s set of books.

3. The retail value of the transaction will be posted into the Credit Clearance account [Credit Clearance Segment 1-10] associated with the location’s set of books.

4. The retail value of the transaction will be posted into the Debit Clearance account [Debit Clearance Segment 1-10] associated with the location’s set of books.

A notification will be sent to the Finance Analyst user indicating that unmapped transactions exist and whether the postings to the clearance accounts have occurred.

The month-end processing is typically executed on the End of Month (EOM) date plus Close Month After Days to allow for late-posted transactions to be attributed to the correct month. If

on this date, clearing accounts are not defined and unresolved mappings continue to exist, the fifgldn3 module will move the records-pending posting from TRAN_DATA_ERRORS and MONTH_DATA_ERRORS to STG_FIF_GL_EOM_ERRORS and proceed to close the month without failure. The STG_FIF_GL_EOM_ERRORS table is available through DAS/RDS to enable extraction and processing of unposted transaction records.

Restart/Recovery

The logical unit of work is dependent on the level of rollup defined in the system options table. It can be department (department rollup), department/class (class rollup) or department/class/ subclass (subclass rollup). The batch is multithreaded using the restart all locations view.

I/O Specification

Integration Type Download from Merchandising File Name N/A Integration Contract IntCon000019 STG_FIF_GL_DATA table

Design Assumptions

N/A

Open to Buy Download Stock Ledger (otbdlsal)

Module Name otbdlsal.pc Description Open To Buy Download Stock Ledger Functional Area OTB - Stock Ledger to Planning System Interface Module Type Integration Module Technology ProC Catalog ID RMS16 Wrapper Script Rmswrap_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module will sum stock ledger data from the DAILY_DATA table and opening stock information from the WEEK_DATA table across the current week, grouping by department, class, subclass, location and date, and export the data to a flat file for use by an outside planning system.

Restart/Recovery

The logical unit of work for the OTBDLSAL module is department, class, subclass and location. The commit_max_ctr field should be set to prevent excessive rollback space usage, and to reduce the overhead of the file I/O. The recommended commit counter setting is 10000 records. Each time the record counter equals the maximum recommended commit number, an

application image array record will be written to the restart_start_array for restart/recovery if a fatal error occurs.

Locking Strategy

N/A

Security Considerations

N/A

Performance Considerations

N/A

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract OTB - Stock Ledger to Planning System Interface IntCon00030

Output File Format

Table 6-10 File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Sequence
Number
Number(10)0000000001Keeps track of
the record’s
position in the file
by line number
File Type
Definition
Char(4)STKEIdentifies file as
Stock Ledger
Export
File Create
Date
Char(14)vdateDate file was
written by batch
program in
YYYYMMDD
format.
Remaining six
characters are
blank.
FDETLFile Type
Record
Descriptor
Char(5)FDETLIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
Keeps track of
the record’s
position in the file
by line number

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Transaction Set
Control Number
Number(14)sequence
number
Used to force
unique file check
DepartmentNumber(4)N/AThe ID number of
a department
ClassNumber(4)N/AThe ID number of
a class within the
department given
SubclassNumber(4)N/AThe ID number of
a subclass within
the class given
Loc_typeChar(1)N/AThe type of the
location from
which stock
ledger data was
collected
LocationNumber(10)N/AThe location from
which stock
ledger data was
collected
Half No.Number(5)N/AThe half number
for this stock
ledger data
Month No.Number(2)N/AThe month
number in the
half for this stock
ledger data
Week No.Number(2)N/AThe week
number in the
month for this
stock ledger data
Open StockNumber(20,4)N/AThe retail
Retailopening stock
from the
week_data table
*10000 (implied 4
decimal places)
for this stock
ledger period
Open Stock
Cost
Number(20,4)N/AThe cost opening
stock from the
week_data table
*10000 (implied 4
decimal places)
for this stock
ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Stock
Adjustments
Retail
Number(20,4)N/AThe retail stock
adjustments
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Stock
Adjustments
Number(20,4)N/AThe cost stock
adjustments
Costsummed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
PurchasesNumber(20,4)N/AThe retail
Retailpurchases
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Purchases CostNumber(20,4)N/AThe cost
purchases
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
RTV RetailNumber(20,4)N/AThe retail return
to vendor amount
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
RTV CostNumber(20,4)N/AThe cost return to
vendor amount
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock

ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Freight CostNumber(20,4)N/AThe freight cost
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Net Sales
Retail
Number(20,4)N/AThe retail net
sales summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Net Sales CostNumber(20,4)N/AThe cost net
sales summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Returns RetailNumber(20,4)N/AThe retail returns
amount summed
from the

DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Returns CostNumber(20,4)N/AThe cost returns
amount summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Promotional
Markdowns
Number(20,4)N/AThe retail
promotional
Retailmarkdowns
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Markdown
Cancellations
Retail
Number(20,4)N/AThe retail
markdown
cancellations
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
EmployeeNumber(20,4)N/AThe retail
Discount Retailemployee
discounts amount
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
WorkroomNumber(20,4)N/AThe workroom
Amountamount summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Cash DiscountNumber(20,4)N/AThe cash
Amountdiscounts amount
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Sales UnitsNumber(12,4)N/AThe sales units
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Markups RetailNumber(20,4)N/AThe retail
markups
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Markup
Cancellations
Number(20,4)N/AThe retail markup
cancellations
Retailsummed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
ClearanceNumber(20,4)N/AThe retail
Markdownsclearance
Retailmarkdowns
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
PermanentNumber(20,4)N/AThe retail
Markdowns
Retail
permanent
markdowns
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Freight ClaimNumber(20,4)N/AThe retail freight
Retailclaim summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Freight Claim
Cost
Number(20,4)N/AThe cost freight
claim summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Stock Adjust
Cost of Goods
Number(20,4)N/AThe retail stock
adjust COGS
Sold (COGS)
Retail
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Stock AdjustNumber(20,4)N/AThe cost stock
Cost of Goodsadjust COGS
Sold (COGS)summed from the
CostDAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Inter-companyNumber(20,4)N/AThe Inter-
In Retailcompany In retail
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Inter-companyNumber(20,4)N/AThe Inter-
In Costcompany In cost
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Inter-company
Out Retail
Number(20,4)N/AThe Inter-
company Out
Retail summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Inter-company
Out Cost
Number(20,4)N/AThe Inter-
company Out
Cost summed
from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Inter-companyNumber(20,4)N/AThe Inter-
Markupcompany Markup
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Inter-companyNumber(20,4)N/AThe Inter-
Markdowncompany
Markdown
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
Work Order
Activity Update
Inventory
Number(20,4)N/AThe Work Order
Activity Update
Inventory
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)

for this stock
ledger period

Table 6-10 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Work Order
Activity Post
Finishing
Number(20,4)N/AThe Work Order
Activity Post
Finishing
summed from the
DAILY_DATA
table *10000
(implied 4
decimal places)
for this stock
ledger period
FTAILFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Sequence
Number
Number(10)N/AKeeps track of
the record’s
position in the file
by line number
Control Number
File Line Count
Number(10)N/ATotal number of
all transaction
lines, not
including file
header and trailer

Design Assumptions

N/A

Populate FLASHBACK_SNAPSHOT_INFO table (stockledger_switchtime)

Module Namestockledger_switchtime.ksh (fashbacksnapshots.sql/
fashbacksnapshotb.sql)
DescriptionPopulateFLASHBACK_SNAPSHOT_INFOtable with database
SCN and timestamp values
Functional AreaStock Ledger
Module TypeBusiness Processing
Module TechnologyPLSQL
Catalog ID
Wrapper Scriptrmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch capture the current VDATE , timestamp, and the corresponding SCN into a table named FLASHBACK_SNAPSHOT_INFO . This SCN value will be used to extract the point in time data from various tables as part of other batch processing such as maintain_isc_history .

It will also delete the previous day record. If corresponding records from the previous day do not exist, this batch will fail and will require troubleshooting to ensure that no data is lost for the RDE extract and other dependent modules.

Restart/Recovery

This is restartable.

Design Assumptions

N/A

Populate IF_TRAN_DATA_HIST and IF_FUTURE_TRAN_DATA_HIST tables for RDE Extract (maintain_iftd_hist)

Module Namemaintain_iftd_hist.ksh (iftdhistsqls.pls/
iftdhistsqlb.pls)
DescriptionPopulateIF_TRAN_DATA_HISTand
IF_FUTURE_TRAN_DATA_HISTtables for RDE Extract
Functional AreaStock Ledger
Module TypeBusiness Processing
Module TechnologyPLSQL
Catalog ID
Wrapper Scriptrmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program copies current data from IF_TRAN_DATA into IF_TRAN_DATA_HIST and drops old partitions based on defined retention days ( SYSTEM_OPTIONS.IFTD_HIST_RETENTION_DAYS ). It will also extract data into IF_FUTURE_TRAN_DATA_HIST based on IF_FUTURE_TRAN_DATA . It inserts a row in RMS_RDE_BATCH_STATUS table stating that the TRAN_DATA staging is complete for the business date.

Restart/Recovery

In the case of a restart from failure, it rebuilds records on IF_TRAN_DATA_HIST for the current business date.

Design Assumptions

N/A

RMS Financial Data Publish (fif_gl_publish)

Module Nameff_gl_publish.ksh
DescriptionRMS Financial Data Publish
Functional AreaGeneral Ledger
Module TypeBusiness Processing
Module Technologyksh
Catalog IDN/A
Wrapper Scriptrmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job calls the program FIF_GL_PUBLISH_SQL.PROCESS that loads records from STG_FIF_GL_DATA for the current date to the FIF_GL_PUBLISH table. The reference and attribute columns in this table will be populated with the value from the STG_FIF_GL_DATA column based on the mappings defined in the FIF_OUT_ATTRIBUTE_MAPPING table. If no mapping is defined for any of the fields in this table, a direct copy is performed.

If the set of books from STG_FIF_GL_DATA does not have an external reference ID defined in FIF_GL_SETUP , this program creates an error.

Restart/Recovery

N/A

Key Tables Affected

TableSelectInsertUpdateDelete
FIF_OUT_ATTRIBUTE_MAPPINGYesNoNoNo
RMS_PLSQL_BATCH_CONFIGYesNoNoNo
CODE_DETAILYesNoNoNo
STG_FIF_GL_DATAYesNoNoNo
FIF_GL_PUBLISHYesYesNoYes
FIF_GL_SETUPYesNoNoNo

Rolled Up Daily Stock Ledger Transactions (fifgldn2)

Module Name Fifgldn2sqls.pls/fifgldn2sqlb.pls Description Interface to General Ledger of Rolled Up Transactions Functional Area Integration - General Ledger Module Type Integration Module Technology PLSQL Catalog ID RMS67 Wrapper Script rmswrap_plsql.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program summarizes stock ledger data from the transaction staging table (IF_TRAN_DATA) based on the level of information required and writes it to the financial general ledger staging table. The transactions extracted are determined by the CODE_TYPE ‘GLRT’ (General Ledger Rolled Transactions). The written information can then be extracted by the financial applications. Stock ledger information may be rolled-up at department, class or subclass level. The level at which information is rolled-up to is determined by the system parameter GL_ROLLUP.

If transactions exist for which GL cross mappings do not exist, these will be logged in TRAN_DATA_ERRORS and a notification will be sent to the Finance Analyst user indicating that unmapped transactions exist. The TRAN_DATA_ERRORS table is available through the Data Access Schema, enabling users to view the errors and create the missing mappings. The fifgldn2 module will attempt to reprocess records from TRAN_DATA_ERRORS if mappings have been created. During the month-end processing run, if unmapped transactions still exist they will be posted into the clearing accounts as outlined below:

1. The cost value of the transaction will be posted into the Credit Clearance account [Credit Clearance Segment 1-10] associated with the location’s set of books.

2. The cost value of the transaction will be posted into the Debit Clearance account [Debit Clearance Segment 1-10] associated with the location’s set of books.

3. The retail value of the transaction will be posted into the Credit Clearance account [Credit Clearance Segment 1-10] associated with the location’s set of books.

4. The retail value of the transaction will be posted into the Debit Clearance account [Debit Clearance Segment 1-10] associated with the location’s set of books.

The month-end processing is typically executed on the End of Month (EOM) date plus Close Month After Days to allow for late-posted transactions to be attributed to the correct month. If on this date, clearing accounts are not defined and unresolved mappings continue to exist, then the month will remain open for an additional number of days specified in Force Close Month After Additional Days . After this duration, the fifgldn2 module will move the recordspending posting from TRAN_DATA_ERRORS to STG_FIF_GL_EOM_ERRORS and proceed to close the month without failure. The STG_FIF_GL_EOM_ERRORS table is available through DAS/RDS to enable extraction and processing of unposted transaction records.

Restart/Recovery

The logical unit of work is dependent on the level of rollup defined in the system options table. It can be department (department rollup), department/class (class rollup) or department/class/ subclass (subclass rollup). The batch is multithreaded using the restart department view.

I/O Specification

Integration Type Download from Merchandising File Name N/A Integration Contract IntCon000019 STG_FIF_GL_DATA table

Design Assumptions

N/A

Stage G/L Extracts (gl_extract.ksh)

gl_extract.ksh

Module Name gl_extract.ksh Description Extraction of General Ledger transaction data from Merchandising and Sales Audit to be interfaced to third party GL/Financial system Functional Area Integration to General Ledger Module Type Integration Module Technology ksh Catalog ID RMS495 Wrapper Script rmswrap_shell_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch job will extract general ledger transaction data from Sales Audit and Merchandising into a file. Data to be extracted will be pulled off from the STG_FIF_GL_DATA table. Once the data is extracted into the file batch will purge the data from the table.

Restart/Recovery

N/A

I/O Specification

Integration Type Extract from Merchandising File Name GL_EXTRACT_[#date].dat Integration Contract Na

Output File Layout

The output file is comma delimited with the following fields:

Record NameField Name
All records have the same
structure
SET_OF_BOOKS_ID
ACCOUNTING_DATE
CURRENCY_CODE
STATUS
DATE_CREATED
CREATED_BY
ACTUAL_FLAG
USER_JE_CATEGORY_NAME
USER_JE_SOURCE_NAME
CURRENCY_CONVERSION_DATE
Record NameField Name
CURRENCY_CONVERSION_TYPE
ACCT_SEGMENT1
ACCT_SEGMENT2
ACCT_SEGMENT3
ACCT_SEGMENT4
ACCT_SEGMENT5
ACCT_SEGMENT6
ACCT_SEGMENT7
ACCT_SEGMENT8
ACCT_SEGMENT9
ACCT_SEGMENT10
ENTERED_DR_AMOUNT
ENTERED_CR_AMOUNT
TRANSACTION_DATE
REFERENCE1
REFERENCE2
REFERENCE3
REFERENCE4
REFERENCE5
ATTRIBUTE1
ATTRIBUTE2
ATTRIBUTE3
ATTRIBUTE4
ATTRIBUTE5
ATTRIBUTE6
PERIOD_NAME
CODE_COMBINATION_ID
PGM_NAME
ACCT_SEGMENT11
ACCT_SEGMENT12
ACCT_SEGMENT13
ACCT_SEGMENT14
ACCT_SEGMENT15
ACCT_SEGMENT16
ACCT_SEGMENT17
ACCT_SEGMENT18
ACCT_SEGMENT19
ACCT_SEGMENT20
REFERENCE_TRACE_ID
PRIM_CURRENCY_CODE

Record Name Field Name PRIM_ENTERED_DR_AMOUNT PRIM_ENTERED_CR_AMOUNT FIN_GL_SEQ_ID PROCESSED_FLAG

Design Assumptions

N/A

Tran Data Publication (BDI_TranData_Tx_PF_From_RMS_EOW_JOB)

This section describes the Tran Data Publication BDI.

Functional Area

Transactional Data

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of transactional data from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

Filename: bdimfpb.pls
BDI_MFP_SQL.TRAN_DATA_UP(O_error_message  IN OUT
RTK_ERRORS.RTK_TEXT%TYPE,                         O_control_id     IN OUT
NUMBER,                         I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising transaction tables/views.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Tran DataTran Data upload to BDITranData_Tx_BdiInterfaceModule.xml

Table Impact

TABLESELECTINSERTUPDATEDELETE
TRAN_DATA_OUTNoYesNoNo
V_BDI_MFP_TRAN_DATAYesNoNoNo

Ordering and Inventory

Merchandising publishes purchase order and inventory-related for many other solution areas, including purchase orders, import details, invoices, available inventory, and other inventory related data. This section has been broken down into subsections for:

  • Purchasing

  • Import Management

  • Invoices

  • Inventory

Purchasing

Merchandising has scheduled integration for the following purchasing related data:

  • Download Contracts to Suppliers (edidlcon)

  • Download Current & Future OTB by Subclass (otbdnld)

  • Download Purchase Orders to Suppliers (edidlord)

  • Download Summary of Outstanding Orders on OTB by Subclass (otbdlord)

  • On Order Publication API (BDI_OnOrder_Tx_PF_From_RMS_EOW_JOB)

  • Replenishment Item Location Publication API (BDI_ReplItemLoc_Fnd_PF_From_RMS_JOB)

Download Contracts to Suppliers (edidlcon)

Module Name edidlcon.pc Description Download Contracts to Suppliers Functional Area Contracts Module Type Integration Module Technology ProC Catalog ID RMS45 Wrapper Script rmswrap_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

Contacts are defined in an Merchandising UI that writes to series of contracts database tables. This program is used to send this contract information to vendors. Only approved contracts

that are flagged as EDI contracts are processed by this batch program. The output file of this program contains all records for the supplier contract data which are in approved status.

Restart/Recovery

The logical unit of work for this program is set at the contract number. This program processes one contract number at a time.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000011

Output File Layout

Table 6-11 edidlcon.pc- File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADFile head
descriptor
Char(5)FHEADDescribes file
line type
Line NumberNumber(10)0000000001Sequential file
line number
Gentran IDChar(4)‘DNCN’Identifies which
translation
Gentran uses
Current dateChar(14)N/AIndicates the
date that the file
was created in
YYYYMMDDHH
24MISS format
THEADFile head de-
scriptor
Char(5)THEADDescribes file
line type
Line NumberNumber(10)N/ASequential file
line number
Transaction
Number
Number(10)N/ASequential
transaction
number
SupplierNumber(10)N/AIndicates the
supplier
associated with
the contract
Contract
Number
Number(6)N/AIndicates the
Merchandising
contract number
Contract typeChar(1)N/AType of
contract. Valid
types are A, B,
C or D

Table 6-11 (Cont.) edidlcon.pc- File Layout

Record NameField NameField TypeDefault ValueDescription
DepartmentNumber(4)N/AIndicates the
Merchandising
department ID
for which the
contract applies
Currency codeChar(3)N/AIndicates the
currency code
for the contract
Total contract
cost
Number(20)N/AContains the
total cost of the
contract;
includes 4
implied decimal
places
TDETLFile record
descriptor
Char(5)TDETLDescribes file
line type
Line NumberNumber(10)N/ASequential file
line number
Transaction
number
Number(10)N/ASequential
transaction
number
Item Number
Type
Char(6)N/AIndicates the
type of item
number is
represented in
the file. This
corresponds to
the item number
type defined for
items on
ITEM_MASTER
Item NumberChar(25)N/AContains the
unique ID for
the item on the
contract
Ref Item
Number Type
Char(6)N/AIndicates the
item number
type for the
reference
number
corresponding
to the item
number
Ref Item
Number
Char(25)N/AContains the
unique ID for
the reference
number for the
item
Diff1Char(120)N/AContains the
description of
Diff1 for the
item

Table 6-11 (Cont.) edidlcon.pc- File Layout

Record NameField NameField TypeDefault ValueDescription
Diff2Char(120)N/AContains the
description of
Diff2 for the
item
Diff3Char(120)N/AContains the
description of
Diff3 for the
item
Diff4Char(120)N/AContains the
description of
Diff4 for the
item
VPNChar(30)N/AVendor Product
Number for the
item
Unit costNumber(20)Contains the
cost of the item
on the contract
with 4 implied
decimal places
Ready DateChar(14)Date on which
the items are to
be provided by
supplier. This
field contains
only values for
contract types
of ‘A’ or ‘B’
Ready QuantityNumber(20)Quantity
contracted with
supplier with 4
implied decimal
points. This field
contains only
values for
contract types
of ‘A’ or ‘B’
Location TypeChar(2)Indicates the
type of location
on the contract -
either ‘ST’
(store) or ‘WH’
(warehouse).
This field
contains only
values for
contract types
of ‘A’ or ‘B’

Table 6-11 (Cont.) edidlcon.pc- File Layout

Record NameField NameField TypeDefault ValueDescription
LocationNumber(10)Contains a
numberlocation on the
contract. This
field contains
only values for
contract types
of ‘A’ or ‘B’
TTAILFile Record
descriptor
Char(5)TTAILDescribes file
line type
Line NumberNumber(10)N/ASequential file
line number
Transaction
number
Number(10)N/ASequential
transaction
number
FTAILFile record
descriptor
Char(5)FTAILMarks the end
of file
Line numberNumber(10)N/ASequential file
line number
Number of linesNumber(10)N/ANumber of lines
in file not
counting
FHEAD and
FTAIL
tions

This module shou
nt & Future OTB b
Module Name
ld only be run if contractin
y Subclass (otbdnld)
otbdnld.pc
g is turned onin the system.
DescriptionDownload Current & Future OTB by Subclass
Functional AreaOpen To Buy
Module TypeIntegration
Module TechnologyProC
Catalog IDRMS130
Wrapper Scriptrmswrap_out.ksh
Design Assumptions
  • This module should only be run if contracting is turned on in the system.

Download Current & Future OTB by Subclass (otbdnld)

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program will extract current and future Open to Buy data from the OTB table in Merchandising and export it to a flat file for use by an external planning system. All records with an end of week date greater than or equal to today will be sent.

Restart/Recovery

The logical unit of work for the OTBDNLD module is department, class, subclass, and end-ofweek date, with a recommended commit counter setting of 10,000. Each time the record counter equals the maximum recommended commit number, an application image array record will be written to the restart_start_array for restart/recovery if a fatal error occurs.

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000031

Output File Layout

Table 6-12 otbdnld.pc - Output File

Record NameField NameField TypeDefault ValueDescription
FHEADFile Type
Record
Descriptor
Char (5)FHEADIdentifies file
record type
File Line
Sequence
Number
Number (10)N/AKeeps track of
the record’s
position in the
file by line
number
File Type
Definition
Char (4)N/AIdentifies file as
‘OTB Export’
File Create
Date
Char(14)N/ADate the file
was created in
YYYYMMDD
format.
Remaining 6
characters are
blank
FDETLFile record
descriptor
Char(5)FDETLIdentifies file
record type
File Line
Sequence
Number
Number (10)Keeps track of
the record’s
position in the
file by line
number
Transaction Set
Control Number
Number(14)Used to force
unique file
check
DepartmentNumber(4)The ID number
of a department
ClassNumber(4)The ID number
of a class within
the department
given

Table 6-12 (Cont.) otbdnld.pc - Output File

Record NameField NameField TypeDefault ValueDescription
SubclassNumber(4)The ID number
of a subclass
within the class
given
EOW DateDateThe end of
week date for
the budgeted
period. Format
is
’YYYYMMDDH
HMMSS’
Week numberNumber(2)The week
number in the
month for the
budgeted period
Month numberNumber(2)The month
number in the
half for the
budgeted period
Half numberNumber(5)The half
number for the
budgeted period
Cancel AmountNumber(20)The total
amount
cancelled from
orders of all
order type for
the budgeted
period; value
includes 4
implied decimal
places
N ApprovedNumber(20)The amount of
Amountapproved non-
basic (order
type N/B)
orders for the
budgeted
period; value
includes 4
implied decimal
places
N ReceiptsNumber(20)The amount of
Amountnon-basic
(order type N/B)
orders due in
the budgeted

period that have
been received;
value includes 4
implied decimal

places

Table 6-12 (Cont.) otbdnld.pc - Output File

Record NameField NameField TypeDefault ValueDescription
B Approved
Amount
Number(20)The amount of
approved buyer-
replenished
basic (order
type BRB)
orders for the
budgeted
period; value
includes 4
implied decimal
places
B ReceiptsNumber(20)The amount of
Amountbuyer-
replenished
basic (order
type BRB)
orders due in
the budgeted
period that have
been received;
value includes 4
implied decimal
places
A ApprovedNumber(20)The amount of
Amountapproved auto-
replenished
basic (order
type ARB)
orders for the
budgeted
period; value
includes 4
implied decimal
places
A Receipts
Number(20)The amount of
Amountauto-replenihed
basic (order
type ARB)
orders due in
the budgeted
period that have
been received;
value includes 4
implied decimal
places
FTAILFile recordChar (5)FTAILIdentifies file
descriptorrecord type
File LineNumber (10)Keeps track of
Sequencethe record’s
Numberposition in the
file by line
number

Table 6-12 (Cont.) otbdnld.pc - Output File

Record NameField NameField TypeDefault ValueDescription
tions
N/A
Number of linesNumber (10)Total number of
all transaction
lines, not
including file
header and
trailer
hase Orders to Su
Module Name
ppliers (edidlord)
edidlord.pc
DescriptionDownload of Purchase Order from Merchandising to Suppliers
Functional AreaPurchase Order
Module TypeIntegration
Module TechnologyProC
Catalog IDRMS46
Wrapper Scriptrmswrap_multi_out.ksh
Design Assumptions

N/A

Download Purchase Orders to Suppliers (edidlord)

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

Orders created within the Oracle Retail system are written to a flat file if they are approved and marked as EDI orders. This module is used to write new and changed purchase order data to a flat file in the Oracle Retail standard format. The translation to EDI format is expected to take place via a 3rd party translation utility. The order revision tables and allocation revision tables are also used to ensure that the latest changes are being sent and to allow both original and modified values to be sent. These revision tables are populated during the online ordering process and the batch replenishment process whenever an order has been approved, and constitutes a history of all revisions to the order.

The program sums up all quantities to the physical warehouse level from the virtual warehouse level for an order, before writing it into the output file.

If shipments are to be pre-marked by the supplier for cross docking, then along with the order information: allocation, location and quantities are also sent.

If the backhaul type is specified as “Calculated”, then the backhaul allowances will be calculated.

If the order contains pack items; hierarchical pack information is sent (this may include outer packs, inner packs, and fashion styles with associated pack templates as well as component item information).

If the order is a Drop Ship Customer Order (location is a non-stockholding store), the customer billing and delivery information will be written to the flat file.

Restart/Recovery

The logical unit of work for this program is set at the supplier level. Threading is performed by the supplier using the v_restart_supplier view.

Restart ability is implied because the program updates ordhead.edi_sent_ind as records and are written out. The commit_max_ctr field should be set to prevent excessive rollback space usage, and to reduce the overhead of the file I/O. The recommended commit counter setting is 10000 records.

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000012

Output File Layout Summary Across Versions
Version NumberRecord NameLength
1File Header - FHEAD34
Transaction Order Header Information – TORDR5827
Transaction Order Item Information – TITEM900
Transaction Pack Component Information – TPACK978
Transaction Shipment Information –TSHIP318
Transaction Customer Order Information –TCUST3777
Transaction Trailer - TTAIL35
File Trailer - FTAIL25
2File Header - FHEAD34
Transaction Order Header Information – TORDR5847
Transaction Order Item Information – TITEM900
Transaction Pack Component Information – TPACK978
Transaction Shipment Information –TSHIP318
Transaction Customer Order Information –TCUST3777
Transaction Trailer - TTAIL35
File Trailer - FTAIL25
3File Header - FHEAD34
Transaction Order Header Information – TORDR5848
Transaction Order Item Information – TITEM900
Transaction Pack Component Information – TPACK978
Transaction Shipment Information –TSHIP318
Transaction Customer Order Information –TCUST3777
Transaction Trailer - TTAIL35
File Trailer - FTAIL25
Output File Layout
Record
Field NameField
Default
DescriptionAdded in
NameTypeValueversion
FHEADRecord
descriptor
Char(5)FHEADFile head marker
Line idNumber(
10)
0000000001Unique line id
Translator idChar(5)DLORDIdentifies transaction type
File create dateChar(14)Vdate in
YYYYMMDDHH24MISS
format
TORDRRecord
descriptor
Char(5)TORDROrder header information
Line idNumber(
10)
Unique file line id
Transaction idNumber(
10)
Unique transaction id
Order change
type
Char(2)‘CH’ (changed) or ‘NW’ (new)
Order numberNumber(
12)
Internal Oracle Retail order no
SupplierNumber(
10)
Internal Oracle Retail supplier
id
Vendor order idChar(15)External vendor_order_no (if
available)
Order written
Char(14)Order created date in
dateYYYYMMDDHH24MISS
format
Original order
approval date
Char(14)Original order approval date in
YYYYMMDDHH24MISS
format
Old Currency
Code
Char(3)Old order currency_code (ISO
standard)
New Currency
Code
Char(3)Changed order currency_code
(ISO standard)
Old Shipment
Method of
payment
Char(2)Old ship_pay_method
New Shipment
Method of
Payment
Char(2)Changed ship_pay_method
Old
Transportation
Responsibility
Char(2)Old fob_trans_res
OldChar(250Old fob_trans_res_desc
Transportation
)
Responsibility
Description
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
New
Transportation
Responsibility
Char(2)Changed fob_trans_res
New Trans.
Resp.
Description
Char(250
)
New fob_trans_res_desc
Old Title
Passage
Location
Char(2)Old fob_title_pass
New Title
Passage
Location
Char(2)Changed fob_title_pass
Old Title
Passage
Description
Char(250
)
Old fob_title_pass_desc
New Title
Passage
Description
Char(250
)
Changed fob_title_pass_desc
Old not before
date
Char(14)Old not_before_date in
YYYYMMDDHH24MISS
format
New not before
date
Char(14)Changed not_before_date in
YYYYMMDDHH24MISS
format
Old not after
date
Char(14)Old not_after_date in
YYYYMMDDHH24MISS
format
New not after
date
Char(14)Changed not_after_date in
YYYYMMDDHH24MISS
format
Old Purchase
type
Char(6)Old Purchase type
New Purchase
type
Char(6)New Purchase type
Backhaul
allowance
Char(20)Backhaul allowance
Old termsChar(240Old terms description from
description)terms table
New terms
description
Char(240
)
New terms description from
terms table
Old pickup dateChar(14)Old pickup date
YYYYMMDDHH24MISS
New pickup dateChar(14)New pickup date
YYYYMMDDHH24MISS
Old ship methodChar(6)Old ship method
New ship
method
Char(6)New ship method
Old commentChar(200Old comment description

description
0)
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
New comment
description
Char(200
0)
New comment description
Supplier DUNS
number
Char(9)Supplier DUNS number
Supplier DUNS
location
Char(4)Supplier DUNS location
Customer order
number
Char(48)Master customer order
number from the Order
Management System
Fulfillment order
number
Char(48)Master Fulfillment order
number from the Order
Management System
File IDChar(20)To support supplier pooling via
the buyer worksheet, the
recommended order quantities
for the individual suppliers are
linked together for logistical
purposes while generating
orders from the worksheet
based on this identifier.
2
Non-Self Invoice
Indicator
Char(1)To support vendor invoicing for
Consignment POs, these POs
will need to be communicated
to the supplier. This will serve
as an indicator to the supplier
that the PO is being sent only
for purposes of consignment
invoicing and doesn’t need to
be processed.
3
TITEMFile record
descriptor
Char(5)TITEMItem info
Line idNumber(
10)
Unique line id
Transaction idNumber(
10)
Unique transaction id
Item Number
Type
Char(6)Item_number_type
ItemChar(25)Item (For a pack item, this will
be the pack number)
Old Ref Item
Number type
Char(6)Item_number_type for old
ref_item
Old Ref ItemChar(25)Old Ref_Item
New Ref Item
Number type
Char(6)Item_number_type for new
ref_item
New Ref ItemChar(25)Changed Ref_Item
Vendor catalog
number
Char(30)Supplier_item (VPN)
Free Form
Description
Char(250
)
Item_desc
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
Supplier Diff 1Char(120
)
Supplier’s diff 1
Supplier Diff 2Char(120
)
Supplier’s diff 2
Supplier Diff 3Char(120
)
Supplier’s diff 3
Supplier Diff 4Char(120
)
Supplier’s diff 4
Pack SizeNumber(
12)
Supplier defined pack size *
10000 (4 implied decimal
places)
Item_line_noNumber(
10)
Indicates the detail item line
number.
TPACKFile record
descriptor
Char(5)TPACKPack component info
Line idNumber(
10)
Unique line id
Transaction idNumber(
10)
Unique transaction id
Pack idChar(25)Packitem_breakout.pack_no
(same as item for the pack
item)
Inner pack idChar(25)Inner pack identification
Pack QuantityNumber(
12)
Packitem_breakout.pack_item
_qty*10000 (4 implied decimal
places)
Component
Pack Quantity
Number(
12)
Packitem_breakout.comp_pac
k_qty*10000 (4 implied
decimal places)
Item Parent Part
Quantity
Number(
12)
Packitem_breakout.item_pare
nt_pt_qty*10000 (4 implied
decimal places)
Item QuantityNumber(
12)
Packitem_breakout.item_qty*1
0000 (4 implied decimal
places)
Item Number
Type
Char(6)Item number type
ItemChar(25)Item
Ref Item
Number Type
Char(6)Ref_item_number_type
Ref ItemChar(25)Ref_item
VPNChar(30)Supplier item (vpn)
Supplier Diff 1Char(120
)
Supplier’s diff 1
Supplier Diff 2Char(120
)
Supplier’s diff 2
Supplier Diff 3Char(120
)
Supplier’s diff 3
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
Supplier Diff 4Char(120
)
Supplier’s diff 4
Item ParentChar(25)Required when Pack Template
is not NULL
Pack templateNumber(
8)
Pack template associated w/
style
(packitem_breakout.pack_tmpl
_id)
Template
description
Char(250
)
Description of pack template.
sups_pack_tmpl_desc.supp_p
ack_desc
TSHIPRecord typeChar(5)TSHIPDescribes the file record-
shipment information
Line idNumber(
10)
Unique file line number
Transaction idNumber(
10)
Unique transaction number
Location typeChar(2)‘ST’ store or ‘WH’ warehouse
Ship to locationNumber(
10)
Location value form ordloc
(store or warehouse_–_For
warehouse,if multichannel
option is ON, physical
warehouse value is taken from
warehouse)
Old unit costNumber(
20)
Old unit cost*10000 (4 implied
decimal places)
New unit costNumber(
20)
New unit cost*10000 (4
implied decimal places)
Old quantityNumber(
12)
Old qty_ordered 10000 or
qty_allocated
10000 (4
implied decimal places)
New quantityNumber(
12)
Changed qty_ordered10000
or qty_allocated
10000 (4
implied decimal places)
Old outstandingNumber(Old (qty_ordered-
quantity12)qty_received)*10000 or
(qty_allocated-qty
transferred)*10000 for an
allocation
(4 implied decimal places)
New outstanding
quantity
Number(
12)
Changed qty_ordered-
qty_received (4 implied
decimal places)(or
qty_allocated-qty_transferred,
for an allocation)
Cancel codeChar(1)
Old cancelled
quantity
Number(
12)
Previous quantity cancelled (4
implied decimal places)
New cancelledNumber(Changed quantity cancelled (4
quantity12)
implied decimal places)
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
Quantity type
flag
Char(1)‘S’hip to ‘A’llocate
Store or
warehouse
indicator
Char(2)‘ST’ (store) or ‘WH’
(warehouse)
Old x-dock
location
Number(
10)
Alloc_detail location (store or
wh)
New x-dock
location
Number(
10)
Alloc_detail location (store or
wh)
Case lengthNumber(
12)
Case length (4 implied
decimal places)
Case widthNumber(
12)
Case width (4 implied decimal
places)
Case heightNumber(
12)
Case height (4 implied
decimal places)
Case LWH unit
of measure
Char(4)Case LWH unit of measure
Case weightNumber(
12)
Case weight (4 implied
decimal places)
Case weight unit
of measure
Char(4)Case weight unit of measure
Case liquid
volume
Number(
12)
Case liquid volume (4 implied
decimal places)
Case liquid
volume unit of
measure
Char(4)Case liquid volume unit of
measure
Location DUNS
number
Char(9)Location DUNS number
Location DUNS
loc
Char(4)Location DUNS loc
Old unit cost initNumber(
20)
Old unit cost init (4 implied
decimal places)
New unit cost
init
Number(
20)
New unit cost init (4 implied
decimal places)
Item/loc
discounts
Number(
20)
Item/loc discounts (4 implied
decimal places)
TCUSTRecord typeChar(5)TCUSTDescribes the file record-
customer order information
Line idNumber(
10)
Unique file line number
Transaction idNumber(
10)
Unique transaction number
Delivery first
name
Char(120
)
First name for the delivery
address on the order
Delivery
Char(120
Phonetic first name for the
phonetic first
name
)delivery address on the order
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
Delivery last
name
Char(120
)
Last name for the delivery
address on the order
Delivery
phonetic last
name
Char(120
)
Phonetic last name for the
delivery address on the order
Delivery
preferred name
Char(120
)
Preferred name for the
delivery address on the order
Delivery
company name
Char(120
)
Company name for the
delivery address on the order
Delivery address
Line 1
Char(240
)
First line of the delivery
address of the customer
Delivery address
Line 2
Char(240
)
Second line of the delivery
address of the customer
Delivery address
Line 3
Char(240
)
Third line of the delivery
address of the customer
Delivery countyChar(250
)
County portion of the delivery
address
Delivery cityChar(120
)
City portion of the delivery
address
Delivery stateChar(3)State portion of the delivery
address
Delivery country
ID
Char(3)Country portion of the delivery
address
Delivery postChar(30)Postal code portion of the
delivery address
Delivery
jurisdiction
Char(10)Jurisdiction code of the
delivery country-state
relationship
Delivery phoneChar(20)Phone number in the delivery
information
Billing first nameChar(120
)
First name for the billing
address on the order
Billing phonetic
first name
Char(120
)
Phonetic first name for the
billing address on the order
Billing last nameChar(120
)
Last name for the billing
address on the order
Billing phonetic
last name
Char(120
)
Phonetic last name for the
billing address on the order
Billing preferred
name
Char(120
)
Preferred name for the billing
address on the order
Billing company
name
Char(120
)
Company name for the billing
address on the order
Billing address
Line 1
Char(240
)
First line of the billing address
of the customer
Billing address
Line 2
Char(240
)
Second line of the billing
address of the customer
Billing addressChar(240Third line of the billing address

Line 3
)
of the customer
Record
Name
Field NameField
Type
Default
Value
DescriptionAdded in
version
Billing countyChar(250
)
County portion of the billing
address
Billing cityChar(120
)
City portion of the billing
address
Billing stateChar(3)State portion of the billing
address
Billing country
ID
Char(3)Country portion of the billing
address
Billing postChar(30)Postal code portion of the
billing address
Billing
jurisdiction
Char(10)Jurisdiction code of the billing
country-state relationship
Billing phoneChar(20)Phone number in the billing
information
TTAILRecord typeChar(5)TTAILDescribes file record – marks
end of order
Line idNumber(
10)
Unique file line id
Transaction idNumber(
10)
Unique transaction id
#Lines in
transaction
Number(
10)
Number of lines in transaction
FTAILRecord typeChar(5)FTAILDescribes file record – marks
end of file
Line idNumber(
10)
Unique file line id
#linesNumber(
10)
Total number of transaction
lines in file (not including
FHEAD and FTAIL)

For a new order, the “old” fields should be blank. For a changed order, both old and new fields should hold values. If the value has changed, “old” values come from the revision tables for the latest revision before the current one (the last one sent), while new orders come from the ordering tables.

  • FHEAD - REQUIRED: File identification, one line per file.

  • TORDR - REQUIRED: Order level information, one line per order.

  • TITEM - REQUIRED: Item description, multiple lines per order possible.

  • TPACK - OPTIONAL: Pack contents, multiple lines per order possible. This line will be written only for pack items.

  • TSHIP - REQUIRED: Ship to location and quantity, allocation location, multiple lines per item possible. Allocation information is optional on this line-will exist if premark_ind is ‘Y’.

  • TCUST - OPTIONAL: Customer order information, one line per order. This line will be written only for Drop Ship Customer Orders.

  • TTAIL - REQUIRED: Order end, one line per order.

  • FTAIL - REQUIRED: End of file marker, one line per file.Output File Layout

Design Assumptions

N/A

Download Summary of Outstanding Orders on OTB by Subclass (otbdlord)

Module Name otbdlord.pc Description Download Summary of Outstanding Orders on OTB by Subclass Functional Area Open To Buy Module Type Integration Module Technology ProC Catalog ID RMS13 Wrapper Script rmswrap_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program runs at the end of the half to delete rows from the OTB table that are at least one half old. The current and previous half’s OTB data is retained. The number of days that OTB records are retained by Merchandising is not configurable via a system parameter.

Restart/Recovery

The logical unit of work for the otbdlord module is department/class/subclass. The commit_max_ctr field should be set to prevent excessive rollback space usage, and to reduce the overhead of the file I/O. The recommended commit counter setting is 10000 records. Each time the record counter equals the maximum recommended commit number, an application image array record will be written to the restart_start_array for restart/recovery if a fatal error occurs.

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000029

Output File Layout

Table 6-13 otbdlord.pc - Output File

Record NameField NameField TypeDefault ValueDescription
File HeaderFile TypeChar(5)FHEADIdentifies file
Recordrecord type
Descriptor

Table 6-13 (Cont.) otbdlord.pc - Output File

Record NameField NameField TypeDefault ValueDescription
File Line
Sequence
Number
Number(10)N/AKeeps track of
the record’s
position in the
file by line
number
File TypeChar(4)OOEXIdentifies file as
Definition‘OTB Out-
standing Order
Export’
File Create
Date
Char(14)N/ADate the file
was created in
YYYYMMDD
format.
Remaining six
characters are
blank.
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies file
record type
File Line
Sequence
Number(10)N/AKeeps track of
the record’s
Numberposition in the
file by line
number
Transaction Set
Control Number
Number(14)N/ASequence
number used to
force unique
detail record
check
DepartmentNumber(4)N/AThe number of
the department
which contains
the outstanding
order quantity
value
ClassNumber(4)N/AThe number of
the class which
contains the
outstanding
order quantity
value.
SubclassNumber(4)N/AThe number of
the subclass
which contains
the outstanding
order quantity
value

Table 6-13 (Cont.) otbdlord.pc - Output File

Record NameField NameField TypeDefault ValueDescription
N Outstanding
Amt
Number(20)N/AThe amount of
outstanding
non-basic
orders (order
type N/B) for
past periods;
value includes 4
implied decimal
places
B Outstanding
Amt
Number(20)N/AThe amount of
outstanding
buyer-
replenished
basic (order
type BRB)
orders for past
periods; value
includes 4
implied decimal
places
A Outstanding
Amt
Number(20)N/AThe amount of
outstanding
auto-
replenished
basic (order
type ARB)
orders for past
periods; value
includes 4
implied decimal
places
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Sequence
Number
Number(10)N/AKeeps track of
the record’s
position in the
file by line
number
Control Number
File Line Count
Control Number
File Line Count
Number(10)
N/ATotal number of
all transaction
lines, not
including file
header and
trailer
Design Assumptions

N/A

On Order Publication API (BDI_OnOrder_Tx_PF_From_RMS_EOW_JOB)

This section describes the On Order Publication BDI.

Functional Area
Inventory Tracking
Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of quantities On Order information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact
Filename: bdimfpb.pls
BDI_MFP_SQL.ON_ORDER_UP(O_error_message  IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                        O_control_id     IN OUT  NUMBER,
                        I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Order tables/view.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
On OrderOn Order upload to BDIOnOrder_Tx_BdiInterfaceModule.xml
Table Impact
TABLESELECTINSERTUPDATEDELETE
ON_ORDER_OUTNoYesNoNo
V_BDI_MFP_ON_ORDERYesNoNoNo

Replenishment Item Location Publication API (BDI_ReplItemLoc_Fnd_PF_From_RMS_JOB)

This section describes the Replenishment Item Location Publication BDI.

Functional Area

Item

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Replenishment Item Location information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact
Filename: bdiitemb.pls
BDI_ITEM_SQL.REPL_ITEM_LOC_UP(O_error_message  IN OUT  VARCHAR2,
                              O_control_id     IN OUT  NUMBER,
                              I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising REPL_ITEM_LOC table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Replenishment Item
Location
Replenishment Item Location
upload to BDI
ReplItemLoc_Fnd_BdiInterfaceModule.xml
Table Impact
TABLESELECTINSERTUPDATEDELETE
REPL_ITEM_LOC_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
REPL_ITEM_LOCYesNoNoNo

Import Management

When using the Import Management features in Merchandising, there are several outbound integration processes that are available for customs entry and letter of credit functions. These integrations are only available if you are using not using Simplified Import Management (based on your system options configurations).

For additional information about import management, including detailed flow diagrams, see the RTM Overview white paper in the Merchandising Documentation Library (Doc ID: 1585843.1).

  • Download of Customs Entry Transactions to Brokers (cednld)

  • Letter of Credit Amendment Download (lcmdnld)

    • SWIFT File Conversion – Letter of Credit Amendment (lcmt707)
  • Letter of Credit Application Download (lcadnld)

    • SWIFT File Conversion - Letter of Credit Application (lcmt700)

Download of Customs Entry Transactions to Brokers (cednld)

Module Name cednld.pc Description Download of Customs Entry Transactions to Brokers Functional Area Oracle Retail Trade Management Module Type Integration Module Technology ProC Catalog ID RMS53 Wrapper Script batch_cednld.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program is used to download custom entry information from the Merchandising database to brokers. Each night, this program reads all customs entry (CE) transactions that are in Sent status for a broker ID. These transactions are written to a flat file and the status is changed to Downloaded. One flat file is written per broker.

Restart/Recovery

The Logical Unit of Work for the program is a single row from the customs entry header table. Restart/Recovery will be used for init and commit.

Table based restart/recovery must be used. The commit max counter field should be set to prevent excessive rollback space usage, and to reduce the overhead of file I/O. The recommended commit counter setting is 1000 records (subject to change based on implementation).

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integratin Contract IntCon000050

Output File Layout

Table 6-14 Output File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Identifier
Number(10)Nine leading
zeroes:
0000000001
ID of current line
being processed
by input file
File Type
Definition
Char(4)CEDNIdentifies file as
‘Customs Entry
download’
File Create
Date
DateCreate dateVdate in
YYYYMMDDHH2
4MISS format
THEADFile Type
Descriptor
Char(5)THEADIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
CE IDNumber(10)ce_head.ce_idN/A
Entry NoChar (15)ce_head.entry_
no
N/A
Entry DateChar(14)ce_head.entry_
date
YYYYMMDDHH2
4MISS format
Entry StatusChar(6)ce_head.entry_
status
N/A
Entry TypeChar(6)ce_head.entry_
type
N/A
Entry PortChar(5)ce_head.entry_
port
N/A
Summary DateChar(14)ce_head.summ
ary date
YYYYMMDDHH2
4MISS format
Broker IDChar(10)ce_head.broker
_id
N/A
Broker Ref. IDChar(18)ce_head.broker
_ref_id
N/A
File NumberChar(18)ce_head.file_noN/A
Importer IDChar(10)ce_head.import
er_id
N/A
Import CountryChar(3)ce_head.import
_country_id
N/A
Currency CodeChar(3)ce_head.curren
cy_code
N/A
Exchange RateNumber(20,10)ce_head.excha
nge_rate*1000
0000000 (with
10 implied
decimal places)
N/A

Table 6-14 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Bond NumberChar(18)ce_head.bond_
no
N/A
Bond TypeChar(6)ce_head.bond_
type
N/A
Surety CodeChar(6)ce_head.surety
_code
N/A
Consignee IDChar(10)ce_head.consig
nee_id
N/A
Live IndicatorChar(1)ce_head.live_in
d
N/A
Batch NumberChar(20)ce_head.batch
_no
N/A
Entry TeamChar(3)ce_head.entry_
team
N/A
Liquidation
Amount
Number(20,4)ce_head.liquida
tion_amt*10000
(4 implied
decimal places)
N/A
Liquidation
Date
Datece_head.liquida
tion_date
YYYYMMDDHH2
4MISS format
Reliquidation
Amount
Number(20,4)ce_head.reliqui
dation_amt*100
00 (4 implied
decimal places)
N/A
Reliquidation
Date
Datece_head.reliqui
dation_date
YYYYMMDDHH2
4MISS format
Merchandise
Loc
Char(40)ce_head.merch
andise_loc
N/A
Location CodeChar(4)ce_head.locatio
n_code
N/A
TSHIPFile Type
Descriptor
Char(5)TSHIPIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
Vessel IDChar(20)ce_shipment.ve
ssel_id
N/A
Voyage Flt IDChar(10)ce_shipment.vo
yage_flt_id
N/A
Estimated
Departure Date
Datece_shipment.es
timated_depart
_date
YYYYMMDDHH2
4MISS format
Vessel SCAC
Code
Char(6)ce_shipment.ve
ssel_scac_cod
e
N/A
Lading PortChar(5)ceshipment.laN/A
_
ding_port

Table 6-14 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Discharge PortChar(5)ce_shipment.di
scharge_port
N/A
Tran Mode IDChar(6)ce_shipment.tr
an_mode_id
N/A
Export DateDatece_shipment.ex
port_date
YYYYMMDDHH2
4MISS
Import DateDatece_shipment.im
port_date
YYYYMMDDHH2
4MISS
Arrival DateDatece_shipment.ar
rival_date
YYYYMMDDHH2
4MISS
Export CountryChar(3)ce_shipment.ex
port_country_id
N/A
Shipment
Number
Number(10)ce_shipment.sh
ipment_no
N/A
TORDIFile Type
Descriptor
Char(5)TORDIIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
Order NumberNumber(8)ce_ord_item.or
der_no
N/A
ItemChar (25)ce_ord_item.ite
m
N/A
BL AWB IDChar(30)ce_ord_item.bl_
awb_id
‘MULTI’ – means
multiple airway
bills (otherwise a
single airway bill
will be retrieved)
Invoice IDChar(30)ce_ord_item.inv
oice_id
N/A
Invoice DateDatece_ord_item.inv
oice_date
YYYYMMDDHH2
4MISS format
Invoice AmountNumber(20,4)ce_ord_item.inv
oice_amt*1000
0 (4 implied
decimal places)
N/A
Currency CodeChar(3)ce_ord_item.cu
rrency_code
N/A
Exchange RateNumber(20,10)ce_ord_item.ex
change_rate*10
000000000 (10
implied decimal
places)
N/A
Manifest Item
Quantity
Number(12,4)ce_ord_item.m
anifest_item_qt
y*10000 (4
implied decimal
places)
N/A

Table 6-14 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Manifest Item
Quantity UOM
Char(4)ce_ord_item.m
anifest_item_qt
y_uom
N/A
Carton QuantityNumber (12,4)ce_ord_item.ca
rton_qty*10000
(4 implied
decimal places)
N/A
Carton Quantity
UOM
Char(4)ce_ord_item.ca
rton_qty_uom
N/A
Gross WeightNumber(12,4)ce_ord_item.gr
oss_wt*10000
(4 implied
decimal places)
N/A
Gross Weight
UOM
Char(4)ce_ord_item.gr
oss_wt_uom
N/A
Net WeightNumber(12,4)ce_ord_item.ne
t_wt*10000 (4
implied decimal
places)
N/A
Net Weight
UOM
Char(4)ce_ord_item.ne
t_wt_uom
N/A
CubicNumber(12,4)ce_ord_item.cu
bic*10000 (4
implied decimal
places)
N/A
Cubic UOMChar(4)ce_ord_item.cu
bic_uom
N/A
Cleared
Quantity
Number(12,4)ce_ord_item.cle
ared_qty*10000
(4 implied
decimal places)
N/A
Cleared
Quantity UOM
Char(4)ce_ord_item.cle
ared_qty_uom
N/A
In Transit
Number
Char(15)ce_ord_item.in
_transit_no
N/A
In Transit DateDatece_ord_item.in
_transit_date
YYYYMMDDHH2
4MISS format
Rush IndicatorChar(1)ce_ord_item.ru
sh_ind
N/A
Related
Indicator
Char(1)ce_ord_item.rel
ated_ind
N/A
Tariff TreatmentChar(10)ce_ord_item.tar
iff_treatment
N/A
Ruling NumberChar(10)ce_ord_item.rul
ing_no
N/A
Do NumberChar(10)ce_ord_item.do
_no
N/A

Table 6-14 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Do DateDatece_ord_item.do
_date
YYYYMMDDHH2
4MISS format
Manufacture IDChar(18)sup_import_attr
.mfg_id
N/A
TBLAWFile Type
Descriptor
Char(5)TBLAWIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
BL AWB IDChar(30)Transportation.
bl_awb_id
N/A
TCONTFile Type
Descriptor
Char(5)TCONTIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
Container IDChar(20)Transportation.
container_id
N/A
Container
SCAC Code
Char(6)Transportation.
container_scac
_code
N/A
TLICVFile Type
Descriptor
Char(5)TLICVIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
License/Visa
Type
Char(6)ce_lic_visa.lice
nse_visa_type
N/A
License/Visa IDChar(30)ce_lic_visa.lice
nse_visa_id
N/A
License/Visa
Quantity
Number(12,4)ce_lic_visa.lice
nse_visa_qty*1
0000 (4 implied
decimal places)
N/A
License/Visa
Quantity UOM
Char(4)ce_lic_visa.lice
nse_visa_qty_u
om
N/A
Quota CategoryChar (6)ce_lic_visa.quo
ta_category
N/A
Net WeightNumber(12,4)ce_lic_visa.net
_weight*10000
(4 implied
decimal places)
N/A
Net Weight
UOM
Char(4)ce_lic_visa.net
_weight_uom
N/A
Holder IDChar(18)ce_lic_visa.hold
er_id
N/A

Table 6-14 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
TCHRGFile Type
Descriptor
Char(5)TCHRGIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
Sequence
Number
Number(6)ce_charges.seq
_no
N/A
Pack ItemChar(25)ce_charges.pac
k_item
N/A
HTSChar(10)ce_charges.htsN/A
Effect From
Date
Datece_charges.effe
ct_from
YYYYMMDDHH2
4MISS format
Effect To DateChar(14)ce_charges.effe
ct_to
YYYYMMDDHH2
4MISS format
Component IDDatece_charges.co
mp_id
N/A
Component
Rate
Number(20,4)ce_charges.co
mp_rate*10000
(4 implied
decimal places)
N/A
Per Count UOMChar(3)ce_charges.per
_count_uom
N/A
Component
Value
Number(20,4)ce_charges.co
mp_value *
10000 (4
implied decimal
places)
N/A
TMDOCFile Type
Descriptor
Char(5)TMDOCIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file
Doc_idNumber(6)Missing_doc.do
c_id
N/A
Received_dateDateMissing_doc.re
ceived_date
YYYYMMDDHH2
4MISS format
FTAILFile Type
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Identifier
Number(10)Incremented
internally
ID of current line
being processed
by input file.
File Record
Counter
Number(10)Determined
internally
Number of
records/
transactions
processed in
current file (only
records between
head & tail)
Design Assumptions

N/A

Letter of Credit Amendment Download (lcmdnld)

Module Name lcmdnld.pc Description Letter of Credit Amendment Download Functional Area Oracle Retail Trade Management Module Type Integration Module Technology ProC Catalog ID RMS56 Wrapper Script rmswrap_dnld_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

lcmdnld.pc downloads amended letter of credit information to a bank, in the S.W.I.F.T. format.

Online user actions flag LCs for download by writing to the LC_DOWNLOAD table.

Restart/Recovery

Restart/recovery for this program is set up at the lc_ref_id level. The recommended commit counter setting is 1000 records (subject to change based on experimentation).

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integratin Contract IntCon000053

Output File Layout

Table 6-15 File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record type
File Line
Sequence
Number
Number(10)Line number in
file
Keeps track of the record’s
position in the file by line
number
File Type
Definition
Char(4)LCAMIdentifies file as ‘Letter of Credit
Amendment’

Table 6-15 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
File Create
Date
Char(14)Create dateCurrent date, formatted to
‘YYYYMMDDHH24MISS’
Transaction HeaderFiletype
Record
descriptor
Char(5)THEADIdentifies file record type
File Line
Sequence
Number
Number (10)Line number in
file
Keeps track of the record’s
position in the file by line
number
Transaction
Set Control
Number
Number (10)Sequence
number
Used to force unique file check
Issuing BankChar(10)lc_head.issuin
g_bank
Used to sort the LCs into
individualized bank SWIFT
formatted files (using another
program) – bank where LC
application is headed
Issuing Bank
Name
Char(240)partner.partner
_desc
The description from the
partner table where partner_id
= issuing_bank and
partner_type = ‘BK’
Issuing Bank
Address 1
Char(240)addr.add_1Mandatory line of address
Issuing Bank
Address 2
Char(240)addr.add_2Non-mandatory line of address
(can be null)
Issuing Bank
Address 3
Char(240)addr.add_3Non-mandatory line of address
(can be null)
Issuing Bank
City
Char(120)addr.cityCity bank located in
Issuing Bank
State
Char(3)addr.stateState, if applicable, where bank
located in
Issuing Bank
Post Code
Char(30)addr.postPost code, if applicable, where
bank located in
Issuing Bank
Country
Char(3)addr.country_i
d
Country bank located in
Letter of CreditNumber (8)lc_detail.lc_ref
_id
The LC_REF_ID off the
LC_DETAIL table
Bank Letter of
Credit ID
Char(16)lc_head.bank_l
c_id
The BANK_LC_ID off the
LC_HEAD table
Currency CodeChar(3)lc_head.curren
cy_code
The CURRENCY_CODE off
the LC_HEAD table
Date of Issue/
Transfer of the
Credit
Char(14)lc_head.confir
med_date
Date the Issuing Bank thinks is
the date of issue–when it was
officially confirmed, formatted
to ‘YYYYMMDDHH24MISS’

Table 6-15 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Current
Amount of LC
Number (20,4)N/AThis amount will be calculated
in the get_current_amount()
function and will be the net
amount of the LC calculated
only using amendments that
have been downloaded.
Normally, the net amount is
calculated using amendments
in the ‘D’ownloaded status
BeneficiaryNumber (10)lc.head.benefic
iary
Party in favor of which the LC is
being issued
Beneficiary
Name
Char(240)sups.sup_nam
e
Beneficiary (supplier) name
from the SUPS table
Beneficiary
Address 1
Char(240)addr.add_1Mandatory line of address
Beneficiary
Address 2
Char(240)addr.add_2Non-mandatory line of address
(can be null)
Beneficiary
Address 3
Char(240)addr.add_3Non-mandatory line of address
(can be null)
Beneficiary
City
Char(120)addr.cityCity beneficiary located in
Beneficiary
State
Char(3)addr.stateState, if applicable, where
beneficiary located in
Beneficiary
Post Code
Char(30)addr.postPost code, if applicable, where
beneficiary located in
Beneficiary
Country
Char(3)addr.country_i
d
Country beneficiary located in
Transaction DetailFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type
File Line
Sequence
Number
Number (10)line number in
file
Keeps track of the record’s
position in the file by line
number
Transaction
Set Control
Number
Number (10)sequence
number
Used to force unique file check
Amendment
Number
Number (8)lc_amendment
s.amend_no
Holds the amendment number
for the amendment
Order_noNumber (8)lc_amendment
s.order_no
Order_no, if applicable, that is
attached to the LC that is being
amended
ItemChar(25)lc_amendment
s.item
Item being amended, either a
Style or Staple sku

Table 6-15 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Value Being
Amended
Char(6)lc_amendment
s.amended_val
ue
LC Field being amended. Can
be any of the following
code_types:
CODE CODE_DESC
AI Add Item
AO Add PO
ARQD Add Reqd Doc.
C Cost
ED Expiration Date
ESD Earliest Ship Date
LSD Latest Ship Date
NA Net Amount
ND Negotiation Days
OC Origin Country
OQ Order Quantity
PE Place of Expiry
PRT Presentation Terms
PSF Partial Ship Flag
RI Remove Item
RO Remove PO
RRQD Remove Reqd Doc
TFF Transferable Flag
TSF Transshipment Flag
Value Being
Amended
Description
Char(40)code_detail.co
de_desc
The Value Being Amended
decoded (see the above list).
Will possibly be used when
printing to the SWIFT file MT
707 for clarity
Original Value
of Amended
Field
Char(45)lc_amendment
s.original_valu
e
Current value of field that is
being amended
New Value of
Amended Field
Char (2000)lc_amendment
s.new_value
New value of the field that is
being amended
Description of
New Value
Char(40)code_detail.co
de_desc
The new value decoded (or
fetched from a table, as in the
origin_country case)– only
applicable to the following
amended values: place of
expiry, title_pass_location,
origin_country, presentation
terms, purchase type
SignChar(1)N/AIf the effect is negative it will be
“-“ if the effect is positive it will
be “ “
EffectNumber (20,4)lc.amendment
s.effect
Effect that amendment will
have on LC if amendment to
change qty or cost of a PO or
amount of LC itself

Table 6-15 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Date of
Amendment
Char(14)Lc_amendmen
ts.accept_date
Date on which Issuing Bank (or
issuing party, in this case the
retailer) considers the credit as
being amended, formatted to
‘YYYYMMDD HH24MISS’
Transaction TextFile Type
Record
Descriptor
Char(5)TTEXTIdentifies file record type
File Line
Sequence
Number
Number (10)line number in
file
Keeps track of the record’s
position in the file by line
number
Transaction
Set Control
Number
Number (10)sequence
number
Used to force unique file check
Amendment
Text
Char (2000)text descriptionA text description of the
individual amendment (for each
TDETL line of the output file)
built by the package
LC_AMEND_SQL.
AMEND_TEXT.
Transaction TrailerFile Type
Record
Descriptor
Char (5)TTAILIdentifies File Record Type
File Line
Sequence
Number
Number (10)Line Number
in file
ID of current line being created
for output file
Transaction set
control number
Number (10)Sequence
number
Used to force unique file check
Transaction
detail line
count
Number (10)ID of current
line being
created for
output file
Sume of the detail lines within
a transaction
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file record type
File Line
Sequence
Number
Number (10)line number in
file
Keeps track of the record’s
position in the file by line
number
Control
Number File
Line Count
Number (10)total detail
lines
Sum of all transaction lines, not
including the file header and
trailer

Letter of Credit Application Download (lcadnld)

Module Name Lcadnld.pc Description Letter of Credit Application Download Functional Area Retail Trade Management

Module Type Integration Module Technology ProC Catalog ID RMS57 Wrapper Script rmswrap_dnld_in.ksh

Schedule

See Oracle Merchandising Batch Schedule.

Design Overview

Lcadnld sends letter of credit (LC) applications to partner banks. Online user actions flag LCs for download by writing to the LC_DOWNLOAD table.

Restart/Recovery

Restart/recovery for this program is set up at the lc_ref_id level. The recommended commit counter setting is 10000 records (subject to change based on experimentation).

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integratin Contract IntCon000052

Output File Layout

Table 6-16 File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Identifier
Number(10)line number
in file
ID of current line
being created for
output file
File Type
Definition
Char(4)LCAPIdentifies file as
‘Letter of Credit
Application’
File Create
Date
Char(14)create dateCurrent date,
formatted to
‘YYYYMMDDHH
24MISS’
File DetailFile Type
Record
Descriptor
Char(5)THEADIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
ID of current line
being created for
output file.
Transaction Set
Control Number
Number(10)sequence
number
Used to force
unique file check
Table 6-16 (Cont.) File Layout
Record NameField NameField TypeDefault ValueDescription
Issuing BankChar(10)lc_head.issuing
_bank
Used to sort the
LCs into
individualized
bank SWIFT
formatted files
(using another
program) - bank
where LC
application is
headed
Issuing Bank
Name
Char(240)partner.partner
_desc
The description
from the partner
table where
partner_id =
issuing_bank and
partner_type =
‘BK’
Issuing Bank
Address 1
Char(240)addr.add_1Mandatory line of
address
Issuing Bank
Address 2
Char(240)addr.add_2Non-mandatory
line of address
(can be null)
Issuing Bank
Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Issuing Bank
City
Char(120)addr.cityCity bank located
in
Issuing Bank
State
Char(3)addr.stateState, if
applicable, where
bank located in
Issuing Bank
Post Code
Char(30)addr.postPost code, if
applicable, where
bank located in
Issuing Bank
Country
Char(3)addr.country_idCountry bank
located in
Advising BankChar(10)lc_head.advisin
g_bank
Used to sort the
LCs into
individualized
bank SWIFT
formatted files
(using another
program) - bank
where LC
application is
headed
Advising Bank
Name
Char(240)Partner.partner
_desc
The description
from the partner
table where
partner_id =
advising_bank
and partner_type
= ‘BK’

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Advising Bank
Address 1
Char(240)Addr.add_1Mandatory line of
address
Advising Bank
Address 2
Char(240)Addr.add_2Non-mandatory
line of address
(can be null)
Advising Bank
Address 3
Char(240)Addr.add_3Non-mandatory
line of address
(can be null)
Advising Bank
City
Char(120)Addr.cityCity bank located
in
Advising Bank
State
Char(3)Addr.stateState, if
applicable, where
bank located in
Advising Bank
Post Code
Char(30)Addr.postPost code, if
applicable, where
bank located in
Advising Bank
Country
Char(3)Addr.country_idCountry bank
located in
Letter of CreditNumber(8)lc_head.lc_ref_i
d
The LC_REF_ID
off the LC_HEAD
table
Form TypeChar(6)lc_head.form_t
ype
The level of detail
that the LC will
send to the
issuing bank
Form Type
Description
Char(40)code_detail.cod
e_desc
Describes the
form type: Long
or Short
Letter of Credit
Type
Char(6)lc_head.lc_typeDescribes the
form type: Long
or Short
Letter of CreditChar(40)code_detail.codDescribes the LC
Type
Description
e_desctype: Master,
Normal,
Revolving
Form of Letter
of Credit – I
Char(1)sup_import_attr
.revocable_ind
The
REVOCABLE_IN
D from the
SUP_IMPORT_A
TTR table
Form of Letter
of Credit – II
Char(1)lc_head.transfe
rable_ind
Indicates if LC
transferable
Application
Date
Char(14)lc_head.applica
tion_date
Date the LC is
created within
Import
Management/
Merchandising,
formatted to
’YYYYMMDD
HH24MISS’

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Expiration DateChar(14)lc_head.expirati
on_date
The date the LC
expires,
formatted to
’YYYYMMDD
HH24MISS’
Place of ExpiryChar(6)lc_head.place_
of_expiry
Code for the
place the LC will
expire
Place of Expiry
Description
Char(40)desc is
retrieved
through a
decode
The description
of the place the
LC will expire
ApplicantChar(10)lc_head.applica
nt
Party on whose
behalf the LC is
being issued
Applicant NameChar(240)partner.partner
_desc
The description
from the partner
table where
partner_id =
applicant and
partner_type =
‘AP’
Applicant
Address 1
Char(240)addr.add_1Mandatory line of
address
Applicant
Address 2
Char(240)addr.add_2Non-mandatory
line of address
(can be null)
Applicant
Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Applicant CityChar(120)addr.cityCity applicant
located in
Applicant StateChar(3)addr.stateState, if
applicable, where
applicant located
in
Applicant Post
Code
Char(10)addr.postPost code, if
applicable, where
applicant located
in
Applicant
Country
Char(3)addr.country_idCountry applicant
located in
BeneficiaryNumber(10)lc.head.benefici
ary
Party in favor of
which the LC is
being issued
BeneficiaryChar(240)sups.sup_nameBeneficiary
Name(supplier) name
from the SUPS
table

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Beneficiary
Address 1
Char(240)addr.add_1Mandatory line of
address
Beneficiary
Address 2
Char(240)addr.add_2Non-mandatory
line of address
(can be null)
Beneficiary
Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Beneficiary CityChar(120)addr.cityCity beneficiary
located in
Beneficiary
State
Char(3)addr.stateState, if
applicable, where
beneficiary
located in
Beneficiary
Post Code
Char(30)addr.postPost code, if
applicable, where
beneficiary
located in
Beneficiary
Country
Char(3)addr.country_idCountry
beneficiary
located in
Currency CodeChar(3)lc_head.curren
cy_code
The country of
origin for the
orders on the LC
Exchange RateNumber (20,10)lc_head.exchan
ge_rate
Exchange_rate to
convert LC
currency to
Merchandising
currency
Origin Country
ID
Char(3)lc_head.origin_
country_id
Origin country of
the orders
associated with
the LC
Presentation
Terms
Char(6)lc_head.presen
tation_terms
Code for the
terms of
presentation
Presentation
Terms
Char(40)desc is
retrieved
Description of the
terms of
Descriptionthrough a
decode
presentation
Purchase TypeChar(6)lc_head.purcha
se_type
Code for the
purchase type
Purchase Type
Description
Char(40)desc is
retrieved
through a
decode
Description of the
purchase type
Advice MethodChar(6)lc_head.advice
_method
Code for the
advice method

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Advice Method
Description
Char(40)desc is
retrieved
through a
decode
Description of the
advice method
(eg. Full Wire,
Mail, and so on)
IssuanceChar(6)lc_head.issuan
ce
Code for the
issuance
Issuance
Description
Char(40)desc is
retrieved
through a
decode
Description of the
issuance (for
example Cable,
Telex, and so on)
Amount TypeChar(6)lc_head.amoun
t_type
If ‘E’xact, then
amount must be
exat, if
’A’pproximate
then amount can
be within
variance percent
Amount Type
Description
Char(40)desc is
retrieved
through a
decode
Description of
amount_type
AmountNumber (20,4)lc_head.amoun
t
The total amt of
the Letter of
Credit
Variance
Percent
Number (12,4)lc_head.varianc
e_pct
Allowed currency
variance percent
for the LC
SpecificationChar(6)lc_head.specifi
cation
Code for any
condition for the
credit, such as,.
“maximum”, and
so on
Specification
Description
Char(40)desc is
retrieved
Description of
condition for the
through a
decode
credit, such as,.
“maximum”, and
so on
Credit Available
With
Char(10)lc_head.credit_
avail_with
Code for bank
with which credit
is available
Credit With
Bank Name
Char(40)partner.partner
_desc
The description
from the partner
table where
partner_id =
credit_avail_with
and partner_type
= ‘BK’
Credit With
Address 1
Char(240)addr.add_1Mandatory line of
address

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Credit With
Address 2
Char(240)addr.add_2Non-mandatory
line of address
(can be null)
Credit With
Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Credit With CityChar(120)addr.cityCity creditor
located in
Credit With
State
Char(3)addr.stateState, if
applicable, where
creditor located
in
Credit With
Post Code
Char(30)addr.postPost code, if
applicable, where
creditor located
in
Credit With
Country
Char(3)addr.country_idCountry creditor
located in
Drafts AtChar(6)lc_head.drafts_
at
Specifies the
terms of the
drafts to be
drawn under the
LC
Drafts At
Description
Char(40)desc is
retrieved
through a
decode
Description of the
terms of the
drafts to be
drawn under the
LC
DraweeChar(10)lc_head.paying
_bank
Identifies drawee
of drafts to be
drawn under LC
(paying bank)
Drawee NameChar(240)partner.partner
_desc
The description
from the partner
table where
partner_id =
paying_bank and
partner_type =
‘BK
Drawee
Address 1
Char(240)addr.add_1Mandatory line of
address
Drawee
Address 2
Char(240)addr.add_2Non-mandatory
line of address
(can be null)
Drawee
Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Drawee CityChar(120)addr.cityCity bank located
in

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Drawee StateChar(3)addr.stateState, if
applicable, where
bank located in
Drawee Post
Code
Char(30)addr.postPost code, if
applicable, where
bank located in
Drawee
Country
Char(3)addr.country_idCountry bank
located in
Negotiating
Bank
Char(10)lc_head.negotia
ting_bank
Identifies the
negotiating bank
Negotiating
Bank Name
Char(240)partner.partner
_desc
The description
from the partner
table where
partner_id =
negotiating_bank
and partner_type
= ‘BK’
Negotiating
Bank Address 1
Char(240)addr.add_1Mandatory line of
address
Negotiating
Bank Address 2
Char(240)addr.add_2Non-mandatory
line of address
(can be null)
Negotiating
Bank Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Negotiating
Bank City
Char(120)addr.cityCity bank located
in
Negotiating
Bank State
Char(3)addr.stateState, if
applicable, where
bank located in
Negotiating
Bank Post
Code
Char(30)addr.postPost code, if
applicable, where
bank located in
Negotiating
Bank Country
Char(3)addr.country_idCountry bank
located in
Confirming
Bank
Char(10)lc_head.confirm
ing_bank
Confirming
Bank Name
Char(240)partner.partner
_desc
Identifies the
confirming bank
Confirming
Bank Address 1
Char(240)addr.add_1The description
from the partner
table where
partner_id =
confirming_bank
and partner_type
= ‘BK’
Confirming
Bank Address 2
Char(240)addr.add_2Mandatory line of
address
Table 6-16 (Cont.) File Layout
Record NameField NameField TypeDefault ValueDescription
Confirming
Bank Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Confirming
Bank City
Char(120)addr.cityNon-mandatory
line of address
(can be null)
Confirming
Bank State
Char(3)addr.stateCity bank located
in
Confirming
Bank Post
Code
Char(30)addr.postState, if
applicable, where
bank located in
Confirming
Bank Country
Char(3)addr.country_idPost code, if
applicable, where
bank located in
Transferring
Bank
Char(10)lc_head.transfe
rring_bank
Country bank
located in
Transferring
Bank Name
Char(240)partner.partner
_desc
Identifies the
transferring bank
Transferring
Bank Address 1
Char(240)addr.add_1The description
from the partner
table where
partner_id =
transferring_bank
and partner_type
= ‘BK’
Transferring
Bank Address 2
Char(240)addr.add_2Mandatory line of
address
Transferring
Bank Address 3
Char(240)addr.add_3Non-mandatory
line of address
(can be null)
Transferring
Bank City
Char(120)addr.cityNon-mandatory
line of address
(can be null)
Transferring
Bank State
Char(3)addr.stateCity bank located
in
Transferring
Bank Post
Code
Char(30)addr.postState, if
applicable, where
bank located in
Transferring
Bank Country
Char(3)addr.country_idPost code, if
applicable, where
bank located in
Partial
Shipment
Indicator
Char(1)lc_head.partial_
ship_ind
Country bank
located in
TransshipmentChar(1)lc_head.transshIndicates whether
Indicatoripment_indgoods covered by
LC can be
partially shipped
or not

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Fob Title PassChar(6)lc_head.fob_titl
e_pass
Indicates whether
goods can be
transferred to
another vessel
midway through
the voyage
Fob Title Pass
Decode
Char(40)desc is
retrieved
through a
decode
Indicates where
the title for goods
is passed from
the vendor to the
purchaser
Fob Title Pass
Description
Char(250)lc_head.ob_title
_pass_desc
Decode of where
the title for goods
is passed from
the vendor to the
purchaser
TransportationChar(5)lc_head.transpDescribes the
toortation_toFOB_TITLE_PAS
S - could be city
name and so on
Transportation
to description
Char(150)outloc.outloc_d
esc
Transportation to
location
With Recourse
Indicator
Char(1)lc_head.with_re
course_ind
Description of
transportation to
location
LatestChar(14)lc_head.latest_Indicates
Shipment Dateship_dateconditional
payment on the
part of the bank
as instructed by
the buyer
EarliestChar(14)lc_head.earliestLatest ship date
Shipment Date_ship_datefor all Pos
included in the
LC, formatted to
’YYYYMMDD
HH24MISS’
Letter of CreditNumber(3)lc.head.lc_neg_The number of
Negotiationreplaces xdaysdays to negotiate
Daysin the string
“DOCUMENTS
TO BE
PRESENTED
WITHIN x
DAYS AFTER
ISSUANCE OF
THE SHIPPING
DOCUMENTS
BUT WITHIN
THE VALIDITY
OF THIS
CREDIT”
documents

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Bank’s LC
reference id
Number(8)lc_head.bank_l
c_id
Bank’s LC ref id
File Type
Record
Descriptor
Char(5)THDCMIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
ID of current line
being created for
output file
Transaction Set
Control Number
Number(10)sequence
number
Used to force
unique file check
Header Level
Comments
Char(2000)lc_head.comme
nts
Holds any
comments that
you added to the
Letter of Credit.
File Type
Record
Descriptor
Char(5)TDOCSIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
ID of current line
being created for
output file
Transaction Set
Control Number
Number(10)sequence
number
Used to force
unique file check
Swift TagChar(6)doc.swift_tagIdentifies
individual
document types
that can be
associated with
an LC
Document IDNumber(6)req_doc.doc_idUniquely
identifies the
individual
documents
associated with
an LC
Body TextChar(2000)req_doc.doc_te
xt
Documents
associated with a
given LC
Description of
Goods and
Services OR
Documents
Required OR
Additional
Conditions OR
Narrative
File Type
Record
Descriptor
Char(5)TDETLIdentifies file
record type
File Line
Number(10)line number in
ID of current line
Sequence
Number
filebeing created for
output file

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Transaction Set
Control Number
Number(10)sequence
number
Used to force
unique file check
Order NumberNumber(8)lc_detail.order_
no
PO associated
with the LC
ItemChar(25)lc_detail.itemItem on the PO -
item is rolled up
to the item_level
of 1, if possible
CostNumber (20,4)lc_detail.costIf form_type =
‘S’hort then cost
is the total cost of
the order; if the
form_type =
‘L’ong then the
cost is the unit
cost of the item
QuantityNumber (12,4)lc_detail.qtyTotal qty of the
item for the order
on the LC
Standard UOMChar(4)Item_master.st
andard_uom
Standard unit of
measure of the
quantity of the
item for the order
on the LC
Earliest Ship
Date
Char(14)lc_detail.earlies
t_ship_date
The earliest date
an order on the
LC can be
shipped,
formatted to
’YYYYMMDDHH
24MISS
Latest Ship
Date
Char(14)lc_detail.latest_
ship_date
The latest date
an order on the
LC can be
shipped,
formatted to
’YYYYMMDD
HH24MISS’
item descriptionChar(250)Item_master.de
sc_up
Item’s description
File Type
Record
Descriptor
Char(5)TMERCIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
ID of current line
being created for
output file
Transaction SetNumber(10)sequenceUsed to force
Control Numbernumberunique file check

Table 6-16 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Merchandise
Description
Char(2000)lc_detail.merch
_desc
Contains the
merchandise
description of the
field.
File Type
Record
Descriptor
Char(5)TDTCMIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
ID of current line
being created for
output file
Transaction Set
Control Number
Number(10)sequence
number
Used to force
unique file check
Detail Level
Comments
Char(2000)lc_detail.comm
ents
Holds any
comments that
you added to the
Letter of Credit
detail record.
File TrailerFile Type
Record
Descriptor
Char(5)TTAILIdentifies file
record type
File Line
Sequence
Number
Number(10)line number in
file
ID of current line
being created for
output file
Transaction Set
Control Number
Number(10)sequence
number
Used to force
unique file check
Transaction
detail line count
Number(10)ID of current
line being
created for
output file
Sum of the detail
lines within a
transaction
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Identifier
Number(10)Sequential
number
ID of current line
being created for
Created by
program.
output file.
File Record
Counter
Number(10)N/ANumber of
records/
transactions
processed in
current file (only
records between
head & tail)

SWIFT File Conversion – Letter of Credit Amendment (lcmt707)

Module Name Description

lcmt707

SWIFT File Conversion – Letter of Credit Amendment

Functional Area Oracle Retail Trade Management Module Type Integration Module Technology Perl Catalog ID RMS137 Wrapper Script rmswrap_perl.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This Perl script converts the Oracle retail standard interface file format for Amendments to Letters of Credit download to the corresponding S.W.I.F.T file format (MT 707). The input file for this Perl script is the output of the lcmdnld.pc Merchandising batch.

I/O Specification

Integration Type Download to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000053 (input) IntCon000138 (output)

Output
The SWIFT MT 707 output file should be in the following format:
  • Most output fields are contained in their own line (or 3-4 line for addresses).

  • Each amendment consists of only one part, the MT 707. There may be several MT 707s at any given time associated to an LC because they are grouped by amendment number at the time of creation. All TDETL records with the same amend_no will be grouped together in one MT 707.

  • Each record starts with a colon and a SWIFT field identifier, followed by another colon: for example, ‘:40A:’-

  • Each amendment is separated by a line with only the ASCII 3 symbol (a heart) on it.

Logic Setup:

The input file will be in standard Merchandising file format. It will potentially have numerous TDETL lines per each THEAD line. There may be numerous TDETL records for one amendment. MT 707 will write one record for each amendment, so if there are multiple TDETL records they need to be combined. There is one TTEXT for each TDETL.

There are three values that need to be calculated. 32B, 33B, 34B. 32B is the total increment or the sum of the positive effect values for each amendment. 33B is the total decrement or the sum of all the negative effect values for each amendment. 32B and 33B are separate totals for each amendment. 34B is the total difference, so it is the sum of the total increment and total decrement. 34B is not just for one amendment though; it is for all amendments of a THEAD record, so this total will run through each TDETL in a THEAD.

For example: if the input file contains:
  • THEAD

  • TDETL amendment 1, effect +1000

  • TTEXT

  • TDETL amendment 1, effect +500

  • TTEXT

  • TDETL amendment 2, effect -2500

  • TTEXT

  • TDETL amendment 3, effect +4000

  • TTEXT

  • TDETL amendment 3, effect -1000

  • TTEXT

  • TDETL amendment 3, effect +500

  • TTEXT

  • TDETL amendment 4, effect -1000

  • TTEXT

  • TDETL amendment 4 , effect –2500

  • TTEXT

  • TTAIL

32B for amendment 1 = 1500
33B for amendment 1 = 0
34B for amendemnt 1 = 1500
32B for amendment 2 = 0
33B for amendment 2 = 2500
34B for amendemnt 2 = -1000
32B for amendment 3 = 4500
33B for amendment 3 = 1000
34B for amendemnt 3 = 4500
32B for amendment 4 = 0
33B for amendment 4 = 3500
34B for amendemnt 4 = 1000
Examples of how individual lines of the M T 707 should look:
APPLICANT:
OPERATOR:
OPERATION DATE:
OPERATION TIME:
TEST KEY:
BATCH TOTAL:
SEGMENT TOTAL:
MT/PRIORITY:707 02
:27:1/1
:20:10001981
:21:1981
:52D:Bank One
100 Bank One Way
Columbus        ,OH  41984      US
:31C:990204
:30:990204
:26E:1
:59:David Fashion Creations P/L Pack
Wholesale Division
109 Ackland St.
St. Kilda      ,VA  30280-1234 US
:32B:USD500,0
:33B:USD0,0
:34B:USD500,0
:79:Letter of Credit:  has been changed from 25 to 30
for Style 10049369, resulting in an effect of 500
(USD).
The layout of the S.W.I.F.T MT 707 (Amendment to a Documentary Credit) file is as follows:

SWIFT I.D. DATA TYPE CODES (refer to SWIFT User Handbook – Standards General Information – October 1998 release for formatting information):

Note

The field lengths and types in the Oracle Retail Standard Download Format of the MT 707 are important because sometimes they are different from the information that is being placed in them and the fields may have to be truncated, rounded, and so on.

There is always a new line (nl) after every individual SWIFT ID (and there may be more than one line within an individual field (example 59 - Beneficiary, four lines to hold address information).

In some situations, certain fields will be blank. These fields should be skipped over. In other words, no blank line or tag should be printed indicating the field is blank. Simply ignore it.

SWIFT File Conversion - Letter of Credit Application (lcmt700)

Module Name lcmt700 Description SWIFT File Conversion – Letter of Credit Application Functional Area Oracle Retail Trade Management Module Type Integration Module Technology Perl Catalog ID RMS136 Wrapper Script rmswrap_perl.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This Perl script will convert the standard Merchandising flat file into the bank specific S.W.I.F.T. MT 700 output files. The input file for this Perl script is the output of the lcadnld.pc Merchandising batch. One output file will be created for each issuing bank in the lcadnld.pc output file.

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000052 (input) IntCon000137 (output)

Output

All files layouts input and output the SWIFT MT 700. The output file should be in the following format:

  • Most output fields are contained in their own line (or 3-4 line for addresses).

  • Each application consists of four parts, one MT 700 and three MT 701s, which are ordered through the Sequence of Total field: for example, ‘:27:1/4 MT 700’ is the first (MT 700) part of the application.

  • MT 700 and MT 701s will be mingled in the same file.

  • Each record starts with a colon and a SWIFT field identifier, followed by another colon: for example, ‘:40A:’-

  • Each application is separated by a line with only the ASCII 3 symbol (a heart) on it.

Examples of how individual lines of the MT 700 or MT 701 should look:
:27:1/4
:40A:IRREVOCABLE
:20:29893098
:23:NOREF
:31C:910906
:31D:911022DALLAS
:51D:NORTHERN TRUST INT'L BANKING CORP.
       ONE WORLD TRADE CENTER
SUITE 3941
NY, NY 10048 USA
The layout of the S.W.I.F.T MT 700 (Issue of a Documentary Credit) file is as follows:

SWIFT I.D. DATA TYPE CODES (refer to SWIFT User Handbook - Standards general Information - October 1998 release for formatting information):

Note

There is always a new line (nl) after every individual SWIFT ID (and there may be more than one line within an individual field [for example, 59 – Beneficiary, four lines to hold address information]).

In some situations, certain fields will be blank. These fields should be skipped over. In other words, no blank line or tag should be printed indicating the field is blank. Simply ignore it.

Invoices

Merchandising has scheduled integration for the following invoices for communication with Oracle Retail Invoice Matching Cloud Service:

  • Stage Complex Deal Invoice Information (vendinvc)

  • Stage Fixed Deal Invoice Information (vendinvf)

  • Download of Invoice for Invoice Matching (edidlinv)

Download of Invoice for Invoice Matching (edidlinv)

Module Name edidlinv.pc Description Download of Invoice For Invoice Matching Functional Area Invoice Matching Module Type Integration Module Technology ProC Catalog ID RMS127 Wrapper Script rmswrap_multi_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The EDIDLINV program extracts invoice information from Merchandising invoice tables (INVC_HEAD, INVC_DETAIL) to a flat file. This flat file is used by Invoice Matching to upload invoice data into tables such as IM_DOC_HEAD, IM_INVOICE_DETAIL and

IM_DOC_NON_MERCH. This batch program is run daily, extracting invoice records whose invoice date falls on the current vdate.

If the batch is run ad hoc, there may be issues when consignment invoices are generated as the sales process can also run multiple times a day. Invoice information can potentially be not the latest when the extract is generated.

Restart/Recovery

Restart/recovery for this program is set up at the invoice ID and line sequence level. The program resumes writing to file starting on the next line where the previous process ended.

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000024

Output File Layout

Table 6-17 edidlinv.pc - Output File Layout

Record
Name
Field NameField TypeDefault
Value
Description
FHEADRecord
descriptor
Char(5)FHEADDescribes file record type. Valid value
is FHEAD.
Line idNumber(10)000000000
1
Sequential file line number.
Gentran IDChar(5)UPINVThe type of transaction this file
represents. Valid value is UPINV.
Current dateChar(14)Vdate in YYYYMMDDHH24MISS
format.
File VersionNumber(2)05Numeric number of the file version to
backward compatibility. Starting with 2,
incremented by 1 each time the file
format changes
THEADRecord
descriptor
Char(5)Describes file record type. Valid value
is THEAD.
Line idNumber (10)Sequential file line number.
Transaction
number
Number(10)Sequential transaction number. All
records within this transaction will also
have this transaction number.
Document TypeChar(6)Describes the type of document being
uploaded. The document type will
determine the types of detail
information that are valid for the
document upload. Invoice types are
held on the codes table under a code
type of ‘IMIT’.
Vendor
Document
Number
Char (50)Vendor’s document number.
Group IDChar(10)NULLThe Group ID is an informational field,
which can be used to identify groups of
invoices that were transmitted to
Invoice Matching together. This is not
populated by Merchandising.
Vendor TypeChar(6)Type of vendor (either supplier or
partner) for this document. Valid values
include Bank ‘BK’, Agent ‘AG’, Freight
Forwarder ‘FF’, Importer ‘IM’, Broker
’BR’, Factory ‘FA’, Applicant ‘AP’,
Consolidator ‘CO’, Consignee ‘CN’,
Supplier Hierarchy Level 1 ‘S1’,
Supplier Hierarchy Level 2 ‘S2’, and
Supplier Hierarchy Level 3 ‘S3’. These
partner types will be held on the codes
table under the code_type ‘PTAL’.
Vendor IDChar(10)Vendor for this document.
Vendor
Document Date
Char(14)Date document was issued by the
vendor (in YYYYMMDDHH24MISS
format).

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Field NameField TypeDefault
Description
NameValue
Order Number /
RTV order
number
Number(12)Merchandising system order number
for this document. Required for
merchandise invoices and optional for
others. This field can also contain the
RTV order number if the RTV flag is ‘Y’
LocationNumber(10)Merchandising system location for this
document.
Location TypeChar(1)Merchandising system location type
(either ‘S’tore or ‘W’arehouse) for this
document. Required for merchandise
invoices and optional for others.
TermsChar(15)Terms of this document. If terms are
not provided, the vendor’s default
terms will be associated with this
record.
Due DateChar(14)Date the amount due is due to the
vendor (YYYYMMDDHH24MISS
format). If due date is not provided,
default due date is calculated based on
vendor and terms.
Payment
method
Char(6)Method for paying this document.
Currency codeChar(3)Currency code for all monetary
amounts on this document.
Exchange rateNumber(20,4)Exchange rate *10000 (implied 4
decimal places) for conversion of
document currency to the primary
currency.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) total cost amount.
Total CostNumber(20,4)Total document cost *10000 (implied 4
decimal places), including all items and
costs on this document. This value is in
the document currency.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) total tax amount.
Total Tax
Amount
Number(20,4)Total TAX amount *10000 (implied 4
decimal places), including all items and
costs on this document. This value is in
the document currency.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) total quantity amount.
Total QuantityNumber(12,4)Total quantity of items *10000 (implied
4 decimal places) on this document.
This value is in EACHES (no other
units of measure are supported in
Invoice Matching).
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) total discount amount.

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Name
Field NameField TypeDefault
Value
Description
Total DiscountNumber(12,4)Total discount *10000 (implied 4
decimal places) applied to this
document. This value is in the
document currency.
Freight TypeChar(6)NULLThe freight method for this document.
Always blank.
Paid IndChar(1)Indicates if this document has been
paid.
Multi-LocationChar(1)NIndicates if this invoice goes to multiple
locations.
Merchandise
Type
Char(1)Indicates if this invoice is a
consignment invoice.
Deal IdNumber(10)NULLDeal Id from Merchandising if this
invoice is a deal bill back invoice.
Always blank.
Deal Detail IdChar(10)NULLComplex Deal Component Id.
Always blank from Merchandising.
Ref CNR Ext
Doc Id
Char(50)NULLReference to the External Id of Credit
Note Request associated with this
document. Always blank from
Merchandising.
Ref INV Ext
Doc Id
Char(50)NULLReference to the External Id of Invoice
associated with this document. Always
blank from Merchandising.
Deal Approval
Indicator
Char(1)NULLIndicates if the document on
IM_DOC_HEAD is to be created in
Approved or Submitted status. Always
blank from Merchandising.
RTV indicatorChar(1)Indicates if this invoice is a RTV
invoice.
Custom
Document
Reference 1
Char(90)NULLThis optional field is included in the
upload file for client customization. No
validation will be performed on this
field. Always blank from
Merchandising.
Custom
Document
Reference 2
Char(90)NULLThis optional field is included in the
upload file for client customization. No
validation will be performed on this
field. Always blank from
Merchandising.
Custom
Document
Reference 3
Char(90)NULLThis optional field is included in the
upload file for client customization. No
validation will be performed on this
field. Always blank from
Merchandising.

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Name
Field NameField TypeDefault
Value
Description
Custom
Document
Reference 4
Char(90)NULLThis optional field is included in the
upload file for client customization. No
validation will be performed on this
field. Always blank from
Merchandising.
Cross-reference
document
number
Number(10)Document that a credit note is for.
Blank for all document types other than
merchandise invoices.
Third-Party
Payee
Number(10)NULLThis optional field is included in the
upload file for client customization. No
validation will be performed on this
field. Always blank from
Merchandising.
Fiscal IDChar(240)NULLThis is fiscal document ID. Always
blank from Merchandising.
Best Terms
Date
Char(14)NULLBasis Date for calculating the
Payment Date. Always blank from
Merchandising.
TDETLRecord
descriptor
Char(5)Describes file record type. Valid value
is TDETL.
Line idNumber(10)Sequential file line number.
Transaction
number
Number(10)Transaction number for this item detail
record.
UPCChar(25)NULLUPC for this detail record. Valid item
number will be retrieved for the UPC.
Always blank from Merchandising.
UPC
Supplement
Number(5)NULLSupplement for the UPC. Always blank
from Merchandising.
ItemChar(25)Item for this detail record.
VPNChar(30)NULLVendor Product Number which can
(optionally) be used instead of the
Oracle Retail Item Number.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) Original Document
Quantity amount.
Original
Document
Quantity
Number(12,4)Quantity *10000 (implied 4 decimal
places), in EACHES, of the item on this
detail record.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) Original Unit Cost amount.
Original Unit
cost
Number(20,4)Unit cost *10000 (implied 4 decimal
places), in document currency, of the
item on this detail record.
Original Tax
Code
Char (6)Tax code for item. This will be Blank if
the
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Field NameField TypeDefault
Description
NameValue
Original Tax
rate
Number (20,10)Tax Rate for the Tax code/item. This
will be Blank if the
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) total allowance. Default is
“+” if no allowances exist for this detail
record.
Total AllowanceNumber(20,4)Sum of allowance details for this item
detail record *10000 (implied 4 decimal
places). If no allowances exist for this
item detail record, value will be 0.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Tax Basis. Always blank
from Merchandising.
Tax BasisNumber (20,4)Specify the basis for which this tax
should be calculated. If not provided
and tax calc type is ‘P’, use the qty *
unit cost as basis. Always blank from
Merchandising.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Per Unit Tax. Per Unit
tax will be negative on Debit Memos,
Credit Note Requests, and Credit
Notes since quantity is always positive.
Always blank from Merchandising.
Per Unit TaxNumber (20,4)Used to calculate the tax amount when
tax rate type is ‘U’. Tax amount =
quantity * per unit tax. (Quantity is the
quantity of the item). Always blank from
Merchandising.
TDTLTRecord
descriptor
Char(5)Describes file record type. Valid value
is TDTLT. This record will be populated
only if
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.
Line idNumber(10)Sequential file line number.
Transaction
number
Number(10)Transaction number for this item tax
detail record.
UPCChar(25)NULLUPC for this detail record. Valid item
number will be retrieved for the UPC.
Always blank from Merchandising.
UPC
Supplement
Number(5)NULLSupplement for the UPC. Always blank
from Merchandising.
ItemChar(25)Item for this tax detail record.
VPNChar(30)NULLVendor Product Number which can
(optionally) be used instead of the
Oracle Retail Item Number.

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Field NameField TypeDefault
Description
NameValue
Original Tax
Code
Char (6)Tax code for item.
Original Tax
rate
Number (20,10)Tax Rate for the Tax code/item
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Tax Basis.
Tax BasisNumber (20,4)Specify the basis for which this tax
should be calculated. If not provided
and tax calc type is ‘P’, use the qty *
unit cost as basis.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Per Unit Tax. Per Unit
tax will be negative on Debit Memos,
Credit Note Requests, and Credit
Notes since quantity is always positive.
Per Unit TaxNumber (20,4)Used to calculate the tax amount when
tax rate type is ‘U’. Tax amount =
quantity * per unit tax. (Quantity is the
quantity of the item).
TNMRCRecord
descriptor
Char(5)Describes file record type. Valid value
is TNMRC.
Line idNumber (10)Sequential file line number.
Transaction
number
Number(10)Transaction number for this non-
merchandise record.
Non
Merchandise
Code
Char(6)Non-Merchandise code that describes
this cost.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) Non Merchandise Amt.
Non
Merchandise
Amt
Number(20,4)Cost *10000 (implied 4 decimal places)
in the document currency.
Non Merch TAX
Code
Char (6)Tax Code for Non-Merchandise. This
will be Blank if the
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.
Non Merch Tax
Rate at this TAX
code
Number (20, 10)Tax Rate corresponding to the Tax
code. This will be Blank if the
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.
Service
Performed
Indicator
Char(1)Indicates if a service has actually been
performed.
StoreNumber(10)Store at which the service was
performed.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Tax Basis. Always blank
from Merchandising.

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Name
Field NameField TypeDefault
Value
Description
Tax BasisNumber (20,4)Specify the basis for which this tax
should be calculated. Always blank
from Merchandising.
TNMRTRecord
descriptor
Char(5)Describes file record type. Valid value
is TNMRT. This record will be
populated only if
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.
Line idNumber (10)Sequential file line number.
Transaction
number
Number(10)Transaction number for this non-
merchandise record.
Non
Merchandise
Code
Char(6)Non-Merchandise code that describes
this cost.
Non Merch TAX
Code
Char (6)Tax Code for Non-Merchandise.
Non Merch Tax
Rate at this TAX
code
Number (20, 10)Tax Rate corresponding to the Tax
code.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Tax Basis.
Tax BasisNumber (20,4)Specify the basis for which this tax
should be calculated.
TVATSFile record
descriptor
Char(5)Marks costs at tax rate line. Valid value
is TVATS.
Line idChar(10)Sequential file line number
Transaction
number
Number(10)Transaction number for this tax detail
record.
TAX codeChar(6)Tax code that applies to cost
TAX rateNumber (20,10)Tax Rate corresponding to the Tax
code. In case of
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE being GTS, this will be populated
only when the tax calc type is ‘P’.
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) Original Document
Quantity amount. In case of
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE being GTS, this will be populated
only when the tax calc type is ‘P’.
Cost at this TAX
code
Number (20,4)Total amount *10000 (implied 4
decimal places) that must be taxed at
the above TAX code. In case of
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE being GTS, this will be populated
only when the tax calc type is ‘P’.

Table 6-17 (Cont.) edidlinv.pc - Output File Layout

Record
Name
Field NameField TypeDefault
Value
Description
Sign IndicatorChar(1)Indicates either a positive (+) or a
negative (-) for Tax Amount. This will
be calculated only if the
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS.
Total Tax
Amount
Number (20,4)Invoice level total tax amount * 1000
(implied 4 decimal places) for the tax
code. It includes both merchandise and
non-merchandise taxes. This will be
calculated only if the
SYSTEM_OPTIONS.DEFAULT_TAX_T
YPE is GTS. RMS will sum up the
values in the Merch Tax Detail (i.e.
TDTLT) and the Non-Merch Tax Detail
(i.e. TNMRT) and aggregate it by Tax
Code and Tax Rate if the tax calc type
is ‘P’ and aggregate it by Tax Code if
the tax calc type is ‘U’.
TTAILRecord
descriptor
Char(5)Describes file record type. Default
value is TTAIL.
Line idNumber(10)Sequential file line number.
Transaction
number
Number(10)Transaction number for the transaction
that this record is closing.
Transaction
lines
Number(6)Total number of detail lines within this
transaction.
FTAILRecord
descriptor
Char(5)Describes file record type.
Line idNumber(10)Sequential file line number.
Number of linesNumber(10)Total number of lines within this file
excluding FHEAD and FTAIL.
Design Assumptions

N/A

Stage Complex Deal Invoice Information (vendinvc)

Module Namevendinvc.pc
DescriptionStage Complex Deal Invoice Information
Functional AreaDeals
Module TypeIntegration
Module TechnologyProC
Catalog IDRMS122
Wrapper Scriptrmswrap.ksh
Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch module creates records in invoice match staging tables dealing for complex type deals.

The invoicing logic will be driven from the billing period estimated next invoice date for complex deals. The amount to be invoiced will be the sum of the income accruals of the deal since the previous invoice date (or the deal start date for the first collection).

prepost vendinvc pre - truncates STAGE_COMPLEX_DEAL_HEAD and STAGE_COMPLEX_DEAL_DETAIL tables to remove previous days records.

prepost vendinvc post - calls the process_deal_head() function to update est_next_invoice_date of the deal to NULL.

Restart/Recovery

When the max commit point is reached, the data is updated.

I/O Specification

Integration Type Download from Merchandising File Name N /A Integration Contract IntCon000009

Records are written to the stage_complex_deal_head and stage_complex_deal_detail tables.

Design Assumptions

N/A

Stage Fixed Deal Invoice Information (vendinvf)

Module Name vendinvc.pc Description Stage Complex Deal Invoice Information Functional Area Deals Module Type Integration Module Technology ProC Catalog ID RMS123 Wrapper Script rmswrap_multi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The batch module creates records in staging tables dealing for fixed type deals.

The invoicing logic will be driven by the collection dates for fixed deals. The amount to be invoiced will be retrieved directly from fixed deal tables for a given deal date.

prepost vendinvf pre - truncates STAGE_FIXED_DEAL_HEAD and STAGE_FIXED_DEAL_DETAIL tables to remove previous days records.

prepost vendinvf post – calls the process_fixed_deal function to update the status of the fixed deal claim to ‘I’ (inactive)

Restart/Recovery

Data is committed to the database once the number of transactions processed reaches or exceeds the max_commit_ctr.

I/O Specification

Integration Type Download from Merchandising File Name N /A Integration Contract IntCon000009

Records are written to the stage_complex_deal_head and stage_complex_deal_detail tables.

Design Assumptions

N/A

Inventory

Merchandising has scheduled integration for inventory and sales data through the following processes:

  • Download Sales and Stock on Hand to Suppliers (edidlprd)

  • Future Available Inventory Publication API (BDI_COFutureAvail_Tx_PF_From_RMS_JOB)

  • Inventory Publication API (BDI_Inventory_Tx_PF_From_RMS_EOW_JOB)

  • Item Location History (BDI_ItemLocHist_Tx_PF_From_RMS_JOB)

  • Reject POSU Transactions (salesgenrej.ksh)

  • Store Available Inventory Publication API (BDI_InvAvailStore_Tx_PF_From_RMS_JOB)

  • Warehouse Inventory Publication API (BDI_InvAvailWh_Tx_PF_From_RMS_JOB)

Download Sales and Stock on Hand to Suppliers (edidlprd)

Module Name edidlprd.pc Description Download Sales and Stock On Hand to Suppliers Functional Area Inventory Module Type Integration Module Technology ProC Catalog ID RMS47 Wrapper Script rmswrap_multi_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program is used to transmit item-level sales and stock-on-hand information to vendors. The report is a summary that will be sent to specified suppliers through EDI, giving sales details, as well as current stock on hand and in transit for all locations for each of the items supplied by that supplier. Only those suppliers which have an EDI sales reporting frequency of either daily or weekly will have files generated by this program. The system parameter EDI Daily Report Lag is used for suppliers receiving daily updates to determine the day lag for sales data sent, to account for late posting sales.

Restart/Recovery

Restart/recovery in this program is achieved through utilizing a global temporary table. Once a supplier is processed, it is deleted from the temporary table to prevent the same supplier from being processed again during recovery.

I/O Specification

Integration Type Download from Merchandising File Name Determined by runtime parameter Integration Contract IntCon000013

Output File Layout

Table 6-18 edidlprd.pc - Output File

Record NameField NameField TypeDefault ValueDescription
FHEADFile record
descriptor
Char(5)FHEADDescribes record
type
Line numberNumber(10)0000000001Sequential file line
number
File sourceChar(5)DLPRDFile Type
File create
date
Char(8)N/ADate that the file was
created in
YYYYMMDD format
THEADFile record
descriptor
Char(5)THEADIdentifies record type
Line numberNumber(10)N/ASequential file line
number
Transaction
number
Number(10)N/ASequential
transaction number

Table 6-18 (Cont.) edidlprd.pc - Output File

Record NameField NameField TypeDefault ValueDescription
Report dateChar(8)N/AFor weekly reporting,
this will contain the
current date. For
daily reporting, it will
be the date
represented by the
sales, current date –
lag days. Both will be
in the YYYYMMDD
format
SupplierNumber(10)N/AMerchandising
Supplier Number
TITEMFile record
descriptor
Char(5)TITEMIdentifies file record
type
Line numberNumber(10)N/ASequential file line
number
Transaction
number
Number(10)N/ASequential
transaction number
ItemChar(25)N/ATransaction level item
to which with the data
is related
Item_Num_Typ
e
Char(6)N/AContains the item
number type for the
item on
ITEM_MASTER
Ref_ItemChar(25)N/AContains the primary
reference item for the
item in the file, if
defined
Ref_Item_Num
_Type
Char(6)N/AContains the item
number type for the
reference item from
ITEM_MASTER
Vendor catalog
number
Char(30)N/AContains the VPN
(Vendor Product
Number), if defined
for the item/supplier
Item
description
Char(250)N/AContains the
transaction level item
description from
ITEM_MASTER
TQUTYFile record
descriptor
Char(5)TQUTYIdentifies record type
Line numberNumber(10)N/ASequential file line
number
Transaction
number
Number(10)N/ASequential
transaction number

Table 6-18 (Cont.) edidlprd.pc - Output File

Record NameField NameField TypeDefault ValueDescription
Quantity
descriptor
Char(15)N/AIndicates what the
quantity represents,
either ‘On-hand’
(stock), ‘Sold’(sales),
or ‘In transit’
Location typeChar(2)N/AIndicates the type of
location represented
in the file: ‘ST’ for
store or ‘WH’
warehouse
LocationNumber(10)N/AContains the store or
warehouse number
for which the
information applies
Unit costNumber(20)N/AContains the current
unit cost for the item/
location with 4
implied decimal
places. This value will
be in the supplier’s
currency
QuantityNumber(12)N/AIndicates the quantity
of the item sold, on
hand or in transit to
the location; the
quantity is
represented with 4
implied decimal
places
TTAILFile record
descriptor
Char(5)TTAILIdentifies record type
Line numberNumber(10)N/ASequential file line
number
Transaction
lines
Number(6)N/ANumber of lines for
this transaction
FTAILFile record
descriptor
Char(5)FTAILIdentifies record type
Line numberNumber(10)N/ATotal number of lines
in file
Number of
transaction
lines
Number(10)N/ANumber of
transaction lines in
file
Design Assumptions

A data translator will be used to convert the flat file produced by Merchandising to the required EDI data format.

Only data for items where the supplier is indicated as the primary supplier/origin country for the item will be included in the report.

Future Available Inventory Publication API (BDI_COFutureAvail_Tx_PF_From_RMS_JOB)

This section describes the Future Available Inventory Publication BDI.

Functional Area

Inventory

Design Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of on-order quantity for all item/location combinations that are flagged as back-orderable in Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact

The following packages are impacted:

Bulk Interface Module

In the bulk interface module:

Filename: bdiavinvb.pls
BDI_AV_INV_SQL.CO_FUTURE_AVAIL_UP(O_error_message  IN OUT  VARCHAR2,
                                  O_control_id     IN OUT  NUMBER,
                                  I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Item Inventory tables/view.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
CO Future AvailCO Future AvailabilityCOFutureAvail_Tx_BdiInterfaceModule .xml
Tables
TABLESELECTINSERTUPDATEDELETE
CO_FUTURE_AVAIL_OUTNoYesNoNo
V_BDI_CO_FUTURE_AVAILYesNoNoNo

Inventory Publication API (BDI_Inventory_Tx_PF_From_RMS_EOW_JOB)

This section describes the Item Inventory Publication BDI.

Functional Area

Inventory

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of inventory from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

Package Impact
Filename: bdimfpb.pls
BDI_MFP_SQL.INVENTORY_UP(O_error_message  IN OUT  RTK_ERRORS.RTK_TEXT%TYPE,
                         O_control_id     IN OUT  NUMBER,
                         I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Item Inventory tables/view.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
InventoryInventory upload to BDIInventory_Tx_BdiInterfaceModule.xml
Table Impact
TABLESELECTINSERTUPDATEDELETE
INVENTORY_OUTNoYesNoNo
V_BDI_MFP_INVENTORYYesNoNoNo

Item Location History (BDI_ItemLocHist_Tx_PF_From_RMS_JOB)

Module Name

BDI_ItemLocHist_Tx_PF_From_RMS_JOB

Description Extracts Sales History Functional Area Sales Module Type Integration Module Technology BDI job Catalog ID N/A Runtime Parameters ItemLocHist_Tx_ProcessFlow_From_RMS ItemLocHist_Tx_Extractor

Design Overview

Merchandising extracts item-location sales history on a weekly basis. It utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement from Merchandising to an external solution.

Scheduling Constraints
Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated
weekly on End of Week date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A
Restart/Recovery

N/A

Key Tables Affected
TableSelectInsertUpdateDelete
ITEM_LOC_HISTYesNoNoNo
ITEM_LOC_HIST_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DATA_CTLYesNoNoNo
BDI_DWNLDR_IFACE_DATA_CTLYesNoNoNo
Integration Contract

Refer to ItemLocHist_Tx_BdiInterfaceModule.xml.

Reject POSU Transactions (salesgenrej.ksh)

Module Name salesgenrej.ksh Description Reject POSU Transactions Functional Area Sales Posting Module Type Business Processing

Module Technology KSH Catalog ID RMS338 Wrapper Script batch_salesgenrej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this module is to archive the rejected transactions and create a reject file based on the recently processed POSU file which is still in the staging table. It will also generate a retry file based on input parameter (Retry Indicator1) if error was due to locking and if the number of attempts does not exceed the retry lock attempt configuration (RMS_PLSQL_BATCH_CONFIG.RETRY_LOCK_ATTEMPT).

Restart/Recovery

N/A

Performance Considerations

The number of threads, the amount of waiting time, number for retries, and average volume of data should be considered. RETRY_WAIT_TIME shouldn’t be increased significantly.

Reject File:

The module will have the ability to re-process the reject file directly. The file format will therefore be identical to the input file layout. A reject line counter will be kept in the program and is required to ensure that the file line count in the trailer record matches the number of rejected records. If no errors occur, no reject files would be generated.

Retry File:

If the retry input indicator is set to Y, then a retry file is going to be generated if the error is due to locking only. This will be automatically be placed at the input directory ready to be picked up by the next sales upload and processing.

Store Available Inventory Publication API (BDI_InvAvailStore_Tx_PF_From_RMS_JOB)

This section describes the Store Available Inventory Publication BDI.

Functional Area

Foundation

Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Store Address information from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API that will pull data from Merchandising and deliver these to the BDI integration layer. This API will be in the form of a PLSQL function inside a PLSQL package.

1 Input parameter is not required and is defaulted to N that will disable the generate the retry file functionality for locked records.

Package Impact

This section describes the package impact.

Bulk Interface Module

Filename: bdiavinvb.pls
BDI_AV_INV_SQL.ST_AVAIL_INV_UP(O_error_message  IN OUT  VARCHAR2,
                               O_control_id     IN OUT  NUMBER,
                               I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Merchandise Hierarchy tables.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition

Data FlowDescriptionXML Schema Definition (XSD)
Store InventoryStore inventory upload to BDIInvAvailStore_Tx_BdiInterfaceModule.xml
Table Impact
TABLESELECTINSERTUPDATEDELETE
INV_AVAIL_STORE_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
STOREYesNoNoNo

Warehouse Inventory Publication API (BDI_InvAvailWh_Tx_PF_From_RMS_JOB)

This section describes the Warehouse Inventory Publication BDI.

Functional Area
Foundation
Business Overview

BDI (Bulk Data Integration) is an integration layer that facilitates the bulk transfer of Warehouse Inventory positions from Merchandising to other Oracle Retail Applications. On this particular integration stream, the data flow is from Merchandising to BDI, and then BDI to downstream applications. To accomplish this data transfer, BDI will be calling a Merchandising-owned API

that will pull data from Merchandising and deliver these to the BDI integration layer. This API is in the form of a PLSQL function inside a PLSQL package.

Package Impact

This section describes the package impact.

Bulk Interface Module

Filename: bdiavinvb.pls
BDI_AV_INV_SQL.WH_AVAIL_INV_UP(O_error_message  IN OUT  VARCHAR2,
                               O_control_id     IN OUT  NUMBER,
                               I_job_context    IN      VARCHAR2)

This function begins by calling a BDI function that signals the start of the interface process. The BDI function will update the internal BDI control tables to track the progress of the API.

A DML insert statement is then executed to populate the BDI outbound table that resides in the BDI_RMS_INT_SCHEMA schema. This outbound table is loaded with records from the Merchandising Item Location table.

After the insert, another call to a BDI function is performed to signify the successful loading of records. This will update the internal BDI control tables.

A database commit is issued, and the control Id is returned by the API.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
Warehouse Inventory
Avail
Wh Available InventoryInvAvailWh_Tx_BdiInterfaceModule.xml
Table Impact
TABLESELECTINSERTUPDATEDELETE
INV_AVAIL_WH_OUTNoYesNoNo
ITEM_MASTERYesNoNoNo
ITEM_LOC_SOHYesNoNoNo
WHYesNoNoNo

Planning and Forecasting

Merchandising provides critical foundation and transactional information to the Oracle Retail planning and forecasting solutions. Because the planning and forecasting solutions are built on the same platform, several of the integrations from Merchandising are used by more than one of the solutions. The tables below summarize the key outbound integration points by solution.

Table 6-19 Integration to Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

DescriptionProgram
Calendar Extract to Planning
and Forecasting
BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB
Currency Rates Extract to
Planning and Forecasting
BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB
Inventory Extract to PlanningBDI_MFP_Inventory_Tx_PF_From_RMS_JOB
Merchandise Hierarchy and
Item Extract to Planning and
Forecasting
BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB
On Order Extract to PlanningBDI_MFP_OnOrder_Tx_PF_From_RMS_JOB
Organization Hierarchy Extract
to Planning and Forecasting
BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB
Store Extract to Planning and
Forecasting
BDI_RPAS_Store_Fnd_PF_From_RMS_JOB
Transaction Data Extract to
Planning
BDI_MFP_TranData_Tx_PF_From_RMS_JOB

Table 6-20 Integration to Oracle Retail Assortment and Item Planning for Fashion/ Softlines Cloud Service (A&IP CS)

DescriptionProgram
Brand Extract to PlanningBDI_RPAS_Brand_Fnd_PF_From_RMS_JOB
Calendar Extract to Planning
and Forecasting
BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB
Currency Rates Extract to
Planning and Forecasting
BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB
Differentiator Extract to
Planning
BDI_RPAS_Diff_Fnd_PF_From_RMS_JOB
Inventory Extract to PlanningBDI_MFP_Inventory_Tx_PF_From_RMS_JOB
Merchandise Hierarchy and
Item Extract to Planning and
Forecasting
BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB
On Order Extract to PlanningBDI_MFP_OnOrder_Tx_PF_From_RMS_JOB
Organization Hierarchy Extract
to Planning and Forecasting
BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB
Store Extract to Planning and
Forecasting
BDI_RPAS_Store_Fnd_PF_From_RMS_JOB
Supplier Extract to PlanningBDI_RPAS_Supplier_Fnd_PF_From_RMS_JOB
Transaction Data Extract to
Planning
BDI_MFP_TranData_Tx_PF_From_RMS_JOB
UDA Extract to PlanningBDI_RPAS_UdaAndUdaValues_Fnd_PF_From_RMS_JOB
UDA Item Extract to Planning
and Forecasting
BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB

Table 6-21 Integration to Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

DescriptionProgram
Calendar Extract to Planning
and Forecasting
BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB
Merchandise Hierarchy and
Item Extract to Planning and
Forecasting
BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB
Organization Hierarchy Extract
to Planning and Forecasting
BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB
Out of Stock Extract to
Forecasting
BDI_RDF_StockOut_Tx_PF_From_RMS_JOB
Store Extract to Planning and
Forecasting
BDI_RPAS_Store_Fnd_PF_From_RMS_JOB
UDA Item Extract to Planning
and Forecasting
BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB
Weekly Sales Extract to
Forecasting
BDI_RDF_WeeklySales_Tx_PF_From_RMS_JOB

Brand Extract to Planning (BDI_RPAS_Brand_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_Brand_Fnd_PF_From_RMS_JOBbdi_merch_extract_to_file_wrap per.shbdi_rpas_brand_extract.ksh Description Extracts Brand information to Planning Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters Brand_Fnd_ProcessFlow_From_RMSBrand_Fnd_ExtractorDatabase connection, download file location, filename, trigger filename

Design Overview

This process extracts its brand data to Planning on a weekly basis.

Key assumptions for this integration:

  • The full set of brands is included in this integration each time it runs.

  • Retailers will not create a Diff with an ID of ‘BRAND’.

  • In order to meet the format required by Planning, the UDA description in this extract is hard coded to “Brand” and does not take into account the primary language configuration in Merchandising.

  • The intended targets for this integration are

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to Planning. The batch job BDI_RPAS_Brand_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_Brand_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
  <properties>
    <property name="description" value="Extracts Brand information and writes it out to
a flat file for processing by AP and IP."/>
  </properties>
  <step id="batchlet-step">
    <batchlet ref="BDIInvokerBatchlet">
      <properties>
        <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
          <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
          <property name="predicateDS" value="RmsDBDS"/>
          <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
      </properties>
    </batchlet>
    <end on="COMPLETED"/>
  </step>
</job>

When the batch job BDI_RPAS_Brand_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Brand_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (Brand_Fnd_Extractor) calls BDI_FOUNDATION_SQL.BRAND_UP function to extract data from Merchandising table BRAND to BDI outbound staging table BRAND_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_brand_extract.ksh to write brand information from the BRAND_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Two separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • AP_outboundLocation

  • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Schedule InformationDescription
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
BRANDYesNoNoNo
BRAND_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
UDA_IDChar(6)YesHardcoded to ‘BRAND’
UDA_DESCChar(120)YesHardcoded to ‘Brand’
BRAND_NAMEChar(30)YesThe brand ID from the
Merchandising Brand table.
BRAND_DESCRIPTIONChar(120)YesThe brand description in the
primary language from the
Merchandising Brand table.

Calendar Extract to Planning and Forecasting (BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB)

Note

This module replaces the ftmednld.pc module from previous releases.

Module Name BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB Description Extracts calendar information to RPAS from RMS Functional Area Foundation Module Type Integration Module Technology BDI job Catalog ID N/A

Module Name
Runtime Parameters

Calendar_Fnd_ProcessFlow_From_RMS Calendar_Fnd_Extractor

Design Overview

This program extracts calendar data to planning and forecasting on a weekly basis.

Key assumptions for this integration:

  • The last two years, current year, and two years into the future are extracted each time this process is run.

  • A data set is sent each time the extract runs.

  • This extract supports a 4-5-4 calendar only.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This program utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement from Merchandising to the target applications.

The batch job BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts calendar information and writes it
out to a flat file for processing by both MFP and RDF."/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RPAS_Calendar_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Calendar_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (Calendar_Fnd_Extractor) calls BDI_FOUNDATION_SQL.CALENDAR_UP function to extract data from Merchandising view V_BDI_DAY_LEVEL_CALENDAR to BDI outbound staging table CALENDAR_OUT.

  • A generic BDI Downloader file creator job writes calendar information from the CALENDAR_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • MFP_outboundLocation

    • RDF_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
V_BDI_DAY_LEVEL_CALENDARYesNoNoNo
CALENDAR_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
DAYDateYesThe date for which the data was
derived, in YYYYMMDD format
WEEKDateYesThe end of week date for the day,
in YYYYMMDD format
Field NameField TypeRequiredDescription
MONTHNumber(2)YesThe month number of the day in
the year; valid values 1-12
QUARTERNumber(1)YesThe quarter of the year for the
day; valid values 1-4
HALFNumber(1)YesThe half of the year for the day;
valid values are 1 or 2
YEARNumber(4)YesThe year for the day (YYYY
format).
WEEK_OF_YEARNumber(2)YesThe week of the year for the day;
valid values 1-53
DAY_OF_WEEKNumber(1)YesThe day number within the week;
valid values 1-7.

Currency Rates Extract to Planning and Forecasting (BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rpas_curr_conv_rates_extract.ksh Description Extracts currency rates information to RPAS Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters CurrConvRates_Fnd_ProcessFlow_From_RMS CurrConvRates_Fnd_Extractor Database connection, download file location, filename, trigger filename

Design Overview

This program extracts its currency rates data to planning and forecasting on a weekly basis.

Key assumptions for this integration:

  • Only currency rates for which stores and warehouse exist will be included in the extract.

  • Either the consolidated or operational rate will be sent based on the setting of the Consolidation system option. If Y, then the consolidation rates will be sent. If N, then the operational rates are used.

  • All applicable currency rates are sent each time this process is run.

  • The rates sent in this integration are based on a materialized view. The process that refreshes this view (batch_rfmvcurrconv.ksh) must be scheduled to ensure that the latest currency information is sent each week.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

  • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This program utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement from Merchandising to the target applications.

The batch job BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts currency conversion rate
information and writes it out to a flat file for processing by both MFP and RDF."/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RPAS_CurrConvRates_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (CurrConvRates_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (CurrConvRates_Fnd_Extractor) calls BDI_FOUNDATION_SQL.CURR_CONV_RATES_UP function to extract data from Merchandising view MV_CURRENCY_CONVERSION_RATES to BDI outbound staging table CURR_CONV_RATES_OUT.

    • Only the currencies for which stores and warehouses exist in Merchandising will be extracted.

    • Either consolidated or operational rates will be included based on Merchandising system options (consolidation_ind).

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_curr_conv_rates_extract.ksh to write currency rates information from the CURR_CONV_RATES_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • MFP_outboundLocation

    • RDF_outboundLocation

  • AP_outboundLocation

  • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date
Scheduling ConsiderationsN/A
Pre-Processingbatch_rfmvcurrconv.ksh
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
MV_CURRENCY_CONVERSION
_RATES
YesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
CURR_CONV_RATES_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
EFFECTIVE_DATEDateYesHolds the effective date of the
exchange rate for the currencies
and the exchange type
FROM_CURRENCY_CO
DE
Char(3)YesHolds the convert from currency
code.
TO_CURRENCY_CODEChar(3)YesHolds the convert to currency
code.
EXCHANGE_TYPEChar(1)YesIdentifies the type of exchange
rate. This will be either C
(consolidation) or O (operational).

Field Name Field Type Required Description EXCHANGE_RATE Number(20,10) Yes Contains the exchange rate between the from and to currencies for the specified exchange type on the next effective date. It is expressed in terms of the to-currency.

Differentiator Extract to Planning (BDI_RPAS_Diff_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_Diff_Fnd_PF_From_RMS_JOBbdi_merch_extract_to_file_wrapper .shbdi_rpas_diff_extract.ksh Description Extracts Diff Types and Diff ID information to Planning Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters Diff_Fnd_ProcessFlow_From_RMS Diff_Fnd_Extractor Database connection, download file location, filename, trigger filename

Design Overview

This process extracts its differentiator data to Planning on a weekly basis.

Key assumptions for this integration:

  • The full set of differentiators and diff types are included in this integration each time it runs.

  • The intended targets for this integration are

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to Planning. The batch job BDI_RPAS_Diff_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_Diff_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
  <properties>
    <property name="description" value="Extracts Diff Types and Diff ID information and
writes it out to a flat file for processing by AP and IP."/>
  </properties>
  <step id="batchlet-step">
    <batchlet ref="BDIInvokerBatchlet">
      <properties>
        <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
        <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
        <property name="predicateDS" value="RmsDBDS"/>
        <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
      </properties>
    </batchlet>
    <end on="COMPLETED"/>
  </step>
</job>

When the batch job BDI_RPAS_Diff_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Diff_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (Diff_Fnd_Extractor) calls BDI_CROSS_PILLAR_SQL.DIFF_UP function to extract data from DIFF_IDS and DIFF_TYPE to BDI outbound staging table DIFF_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_diff_extract.ksh to write differentiator information from the DIFF_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
DIFF_IDSYesNoNoNo
DIFF_TYPEYesNoNoNo
DIFF_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
DIFF_TYPE_IDChar(6)YesThe ID of the diff type (for
example, C for color).
DIFF_TYPE_DESCChar(120)YesThe description of the diff type
(for example, Color) in the
primary language.
DIFF_IDChar(10)YesThe ID of the diff (for example, S
for Small).
DIFF_DESCChar(120)YesThe description of the diff (for
example, Small) in the primary
language.

Inventory Extract to Planning (BDI_MFP_Inventory_Tx_PF_From_RMS_JOB)

Module Name BDI_MFP_Inventory_Tx_PF_From_RMS_JOB Description Extracts inventory information to Planning Functional Area Inventory Module Type Integration Module Technology BDI job Catalog ID N/A Runtime Parameters Inventory_Tx_ProcessFlow_From_RMS Inventory_Tx_Extractor

Design Overview

This process extracts owned inventory information for inventoried, non-pack approved transaction items to planning on a weekly basis, at the end of the week. The integration captures the current on-hand and in-transit for all the included item/locations at the point in time that the integration is run.

Key assumptions for this integration:

  • Only inventoried, approved transaction items are included in the integration.

  • Any inventory for pack items is aggregated with inventory for the component items.

  • Only stockholding stores are included in the integration.

  • Cost values are based on system configuration for cost:

    • For a cost department with the system configured for average cost, the cost basis is the item/location’s weighted average cost, converted to primary currency.

    • For a cost department with the system configured for standard cost, the cost basis is the item/locations unit cost, converted to primary currency.

    • For a retail department, the cumulative mark-on percentage is used to calculate cost based on the retail price, converted to primary currency.

  • Retail values sent are based on the current item/location retail price, converted to primary currency. The retail will include VAT if the system option to include VAT in the stock ledger is set to include VAT so that the retail values in this integration are consistent with other data sent to planning.

  • All unit values are sent in terms of the standard unit of measure for the item.

  • Planning will interpret inventory as being clearance if the clearance flag sent in this integration shows the item/location to be on clearance at the end of the week.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement from Merchandising to the target applications. The batch job

BDI_MFP_Inventory_Tx_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_MFP_Inventory_Tx_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts information regarding inventory for
use by the MFP application"/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_MFP_Inventory_Tx_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Inventory_Tx_ProcessFLow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (Inventory_Tx_ExtractorJob) calls BDI_MFP_SQL. INVENTORY_UP function to extract data from Merchandising view V_BDI_MFP_INVENTORY to BDI outbound staging table INVENTORY_OUT.

  • A generic BDI Downloader file creator job writes inventory quantities information from the INVENTORY_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Two separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

  • MFP_outboundLocation

  • AP_outboundLocation

  • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
V_BDI_MFP_INVENTORYYesNoNoNo
INVENTORY_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
EOWDateYesIndicates the end of week date
that the on order information
pertains to.
ITEMVarchar2(25YesTransaction level item only.
LOCATIONNumber(10)YesCould be a store or virtual
warehouse.
LOC_TYPEVarchar2(1)YesIndicates if the location is a store
or warehouse - S = Store; W =
Warehouse.
CLEAR_INDNumber(1)YesIndicates if the item/location is
currently on clearance.
Field NameField TypeRequiredDescription
REGULAR_INVENTORY_
UNITS
Number(12,4)YesCurrent owned inventory for the
item/location in units based on
the standard unit of measure;
calculated as stock on hand +
pack component stock on hand +
in transit + pack component in
transit.
REGULAR_INVENTORY_
COST
Number(20,4)YesThe cost value of current owned
inventory for the item/location;
calculated based on unit
inventory and the cost basis of
the item’s department, as
described above.
REGULAR_INVENTORY_
RETAIL
Number(20,4)YesThe retail value of current owned
inventory for the item/location;
calculated based on the unit
inventory value shown above and
the current item/location unit
retail.
UNIT_COSTNumber(20,4)YesThe current supplier purchase
cost for the item/location.
AV_COSTNumber(20,4)YesThe current weighted average
cost for the item/location.
UNIT_RETAILNumber(20,4)YesThe current unit retail for the item/
location. If the item is on
clearance, this would be the
clearance price.

Merchandise Hierarchy and Item Extract to Planning and Forecasting (BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rpas_merchhier_extract.ksh Description Extracts merchandise hierarchy and item information to RPAS Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters ItemHdrAndMerchHier_Fnd_ProcessFlow_From_RMS ItemHdr_Fnd_Extractor Database connection, download file location, filename, trigger filename

Design Overview

This program extracts the merchandise hierarchy from company to transaction level item to planning and forecasting on a weekly basis. Additional key attributes about the items are also included, such as the primary supplier, brand, and any differentiators (for example, colors, sizes, and so on) that exist for the item.

Key assumptions for this integration:

  • The full merchandise hierarchy and all items are sent each time this process is run.

  • Only approved, inventoried and sellable transaction-level items will be included in the integration. Pack items are not included.

  • All descriptions are sent in the primary language as defined in Merchandising.

  • For transaction items that do not have a parent item, then the transaction item is also displayed as the parent item, as well as the parent/diff level.

  • For a parent item that is not marked as an aggregate item or does not have any of its diffs flagged as aggregates, the parent item is sent as the parent/diff level for all of its transaction items.

  • A single unit of measure is assumed for all items and therefore the standard units of measure for the items are not sent.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This program utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to the target applications. The batch job BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts Merch Hierarchy information and
writes it out to a flat file for processing by both MFP and RDF."/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RPAS_MerchHier_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (ItemHdrAndMerchHier_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to the target applications:

  • Extractor jobs (MerchHier_Fnd_Extractor, ItemHdr_Fnd_Extractor) call respective BDI_MERCH_SQL and BDI_ITEM_SQL functions to extract data from Merchandising tables to BDI outbound staging tables MERCH_HIER_OUT and ITEM_HDR_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_merchhier_extract.ksh to write merchandise hierarchy and item information from the MERCH_HIER_OUT and ITEM_HDR_OUT tables into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • MFP_outboundLocation

    • RDF_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
COMPHEADYesNoNoNo
DIVISIONYesNoNoNo
GROUPSYesNoNoNo
DEPSYesNoNoNo
CLASSYesNoNoNo
SUBCLASSYesNoNoNo
ITEM_MASTERYesNoNoNo
DIFF_GROUP_HEADYesNoNoNo
DIFF_IDSYesNoNoNo
SYSTEM_OPTIONSYesNoNoNo
MERCH_HIER_OUTYesYesNoYes
ITEM_HDR_OUTYesYesNoYes
TableSELECTINSERTUPDATEDELETE
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
YesNoNoNo
L
ITEM_SUPPLIER_OUTYesYesNoYes

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
ITEMChar(25)YesThe transaction level item ID.
ITEM_DESCChar(250)YesThe transaction level item
description.
ITEM_PARENT_DIFFChar(30)YesConcatenated value consisting of
item parent ID with the composite
diff aggregate. If there is no item
parent, this will contain the
transaction level item.
ITEM_PARENT_DIFF_DE
SC
Char(250)YesDescription of the item parent diff
Concatenated value consisting of
the item parent description and
the diff IDs for all diffs associated
to the parent marked as
aggregates. If there is no item
parent, it will contain the
transaction level item description.
ITEM_PARENTChar(25)YesIf there is no item parent, it will
contain the transaction level item.
ITEM_PARENT_DESCChar(250)YesIf there is no item parent, it will
contain the transaction level item
description.
SUBCLASS_IDNumber(10)YesUnique subclass ID
SUBCLASS_NAMEChar(120)YesConcatenated value consisting of
the subclass number with name.
CLASS_IDNumber(10)YesUnique class ID
CLASS_NAMEChar(120)YesConcatenated value consisting of
the class number with name.
DEPTNumber(4)YesDepartment ID
DEPT_NAMEChar(120)YesConcatenated value consisting of
the department ID and name.
GROUP_NONumber(4)YesGroup ID
GROUP_NAMEChar(120)YesGroup name
DIVISIONNumber(4)YesDivision ID
DIV_NAMEChar(120)YesDivision name
COMPANYNumber(4)YesCompany ID
COMPANY_NAMEChar(120)YesCompany name

Concatenated value consisting of item parent ID with the composite diff aggregate. If there is no item parent, this will contain the transaction level item.

Description of the item parent diff. Concatenated value consisting of the item parent description and the diff IDs for all diffs associated to the parent marked as aggregates. If there is no item parent, it will contain the transaction level item description.

If there is no item parent, it will contain the transaction level item.

Concatenated value consisting of the class number with name.

Concatenated value consisting of the department ID and name.

Field NameField TypeRequiredDescription
FORECAST_INDChar(1)YesIndicates whether or not the item
should be forecasted. Valid
values are Y or N.
CLASSNumber(10)YesThe class ID that is displayed in
the Merchandising screens.
SUBCLASSNumber(10)YesThe subclass ID that is displayed
in the Merchandising screens.
BRAND_NAMEChar(30)YesIf a brand is not assigned, this is
defaulted to ‘NA’.
BRAND_DESCRIPTIONChar(120)YesThe brand description for the
transaction item. If a brand is not
assigned, this is defaulted to ‘Not
Assigned’.
SUPPLIERNumber(10)YesThe ID of the primary supplier for
the transaction item.
SUPPLIER_NAMEChar(240)YesThe name of the primary supplier
for the transaction item.
DIFF_1Char(10)NoThe ID of the first diff for the
transaction level item. If a diff is
not assigned, this is defaulted to
’NA’.
DIFF_1_DESCChar(120)NoThe name of the first diff for the
transaction item. If a diff is not
assigned, this is defaulted to
’unassigned’.
DIFF_2Char(10)NoThe ID of the second diff for the
transaction item. If a diff is not
assigned, this is defaulted to ‘NA’.
DIFF_2_DESCChar(120)NoThe name of the second diff for
the transaction item. If a diff is not
assigned, this is defaulted to
’unassigned’.
DIFF_3Char(10)NoThe ID of the third diff for the
transaction item. If a diff is not
assigned, this is defaulted to ‘NA’.
DIFF_3_DESCChar(120)NoThe name of the third diff for the
transaction item. If a diff is not
assigned, this is defaulted to
’unassigned’.
DIFF_4Char(10)NoThe ID of the fourth diff for the
transaction item. If a diff is not
assigned, this is defaulted to ‘NA’.
DIFF_4_DESCChar(120)NoThe name of the fourth diff for the
transaction item. If a diff is not
assigned, this is defaulted to
’unassigned’.

On Order Extract to Planning (BDI_MFP_OnOrder_Tx_PF_From_RMS_JOB)

Note

This module replaces the onordext.pc and onorddnld.pc modules from previous releases.

Module Name BDI_MFP_OnOrder_Tx_PF_From_RMS_JOB Description Extracts inventory information to Planning Functional Area Inventory Tracking Module Type Integration Module Technology BDI job Catalog ID N/A Runtime Parameters OnOrder_Tx_ProcessFlow_From_RMS OnOrder_Tx_Extractor

Design Overview

This process extracts its quantities on order to planning and forecasting on a weekly basis, at the end of the week. The integration sends any open on order quantities aggregated by week, grouped by the open to buy end of week date. Any on order quantity that is still open and has an OTB EOW date in the past will be combined with the current week’s on order.

Key assumptions for this integration:

  • Only orderable, inventoried, approved transaction items are included in the integration.

  • Any on order for pack items is sent based on the component items.

  • Purchase orders flagged to not be included in “on order” are not included in the integration.

  • Cost and retail values sent are based on the purchase order’s cost and retail value, converted to primary currency.

  • Retail values will include VAT if the system option to include VAT in the stock ledger is set to include VAT so that the retail values in this integration are consistent with other data sent to planning.

  • All unit values are sent in terms of the standard unit of measure for the item.

  • Planning will interpret the on order as being clearance if the clearance flag sent in this integration shows the item/location to be on clearance at the end of the week.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to the target applications.

The batch job BDI_MFP_OnOrder_Tx_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_MFP_OnOrder_Tx_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts information regarding quantities on
order for use by the MFP application"/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_MFP_OnOrder_Tx_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end of week date. If the vdate is an end of week date, it invokes a BDI process flow (OnOrder_Tx_ProcessFlow_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (OnOrder_Tx_Extractor) calls BDI_MFP_SQL. ON_ORDER_UP function to extract data from Merchandising view V_BDI_MFP_ON_ORDER to BDI outbound staging table ON_ORDER_OUT.

  • A generic BDI Downloader file creator job writes quantities on order information from the ON_ORDER_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • MFP_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
V_BDI_MFP_ON_ORDERYesNoNoNo
ON_ORDER_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
EOWDateYesIndicates the end of week date
that the on order information
pertains to.
ITEMVarchar2(25)YesTransaction level item only.
LOCATIONNumber(10)YesCould be a store or virtual
warehouse.
LOC_TYPEVarchar2(1)YesIndicates if the location is a store
or warehouse - S = Store; W =
Warehouse.
CLEAR_INDNumber(1)YesIndicates if the item/location is
currently on clearance.
ON_ORDER_UNITSNumber(12)YesIndicates the total quantity of the
item in the order in standard unit
of measure.
ON_ORDER_COSTNumber(20,4)Yeson order * PO cost in primary
currency
ON_ORDER_RETAILNumber(20,4)Yeson order * PO retail in primary
currency

Organization Hierarchy Extract to Planning and Forecasting (BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rpas_orghier_extract.ksh Description Extracts organizational hierarchy information to RPAS Functional Area Foundation Module Type Integration

Module Name

Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters StoreAndWhAndOrgHier_Fnd_ProcessFlow_From_RMS Store_Fnd_Extractor Wh_Fnd_Extractor OrgHier_Fnd_Extractor Database connection, download file location, filename, trigger filename

Design Overview

This program extracts the organization hierarchy data from company to location, which can be stores or warehouses to planning and forecasting on a weekly basis. Additional key attributes about the organizational hierarchy will also be sent to assist in building alternate hierarchies for planning, such as channel.

Key assumptions for this integration:

  • MFPCS will use the third level of the Merchandising hierarchy (area) to represent channel.

  • The full organizational hierarchy is sent each time this process is run.

  • All names and descriptions are sent in the primary language only.

  • The location in the file can represent either a store or a virtual warehouse location.

  • Because warehouses live outside the organization hierarchy, for the levels of the organizational hierarchy above location (chain through district) when the location is a warehouse, the warehouse ID and description will be repeated.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This program utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to the target applications. The batch job BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts Org Hierarchy information and
writes it out to a flat file for processing by both MFP and RDF."/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RPAS_OrgHier_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (StoreAndWhAndOrgHier_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor jobs (Store_Fnd_Extractor, Wh_Fnd_Extractor, OrgHier_Fnd_Extractor) call respective BDI_ORG_SQL functions to extract data from Merchandising tables to BDI outbound staging tables ORG_HIER_OUT, STORE_OUT, and WH_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_orghier_extract.ksh to write organization hierarchy information from the ORG_HIER_OUT, STORE_OUT, and WH_OUT tables into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • MFP_outboundLocation

    • RDF_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
STOREYesNoNoNo
WHYesNoNoNo
AREAYesNoNoNo
TableSELECTINSERTUPDATEDELETE
CHAINYesNoNoNo
DISTRICTYesNoNoNo
REGIONYesNoNoNo
COMPHEADYesNoNoNo
CHANNELSYesNoNoNo
CODE_DETAILYesNoNoNo
STORE_FORMATYesNoNoNo
LANGYesNoNoNo
VAT_REGIONYesNoNoNo
TSFZONEYesNoNoNo
ORG_HIER_OUTYesYesNoYes
STORE_OUTYesYesNoYes
WH_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
LOCATIONNumber(10)YesStore or virtual warehouse ID
LOC_NAMEChar(150)YesStore or warehouse name
DISTRICTNumber(10)YesDistrict ID; for warehouses,
repeat the warehouse ID with the
prefix “WH”
DISTRICT_NAMEChar(120)YesDistrict name; for warehouses,
repeat the warehouse name
REGIONNumber(10)YesRegion ID; for warehouses,
repeat the warehouse ID with the
prefix “WH”
REGION_NAMEChar(120)YesRegion name; for warehouses,
repeat the warehouse name
AREANumber(10)YesArea ID; for warehouses, repeat
the warehouse ID with the prefix
”WH”
AREA_NAMEChar(120)YesArea name; for warehouses,
repeat the warehouse name
CHAINNumber(10)YesChain ID; for warehouses, repeat
the warehouse ID with the prefix
”WH”
CHAIN_NAMEChar(120)YesChain name; for warehouses,
repeat the warehouse name
Field NameField TypeRequiredDescription
COMPANYNumber(4)YesCompany ID
COMPANY_NAMEChar(120)YesCompany name
COMPANY_CURRENCYChar(3)YesThe currency code for the base
currency defined in system
options
LOC_TYPEChar(1)Yes’S’ for store, ‘W’ for warehouse
LOC_TYPE_NAMEChar(120)YesStore or Warehouse depending
on location type
PHYSICAL_WHNumber(10)YesPhysical warehouse ID for
warehouses, repeat store ID for
store
PHYSICAL_WH_NAMEChar(120)YesPhysical warehouse name for
warehouse, repeat store name for
stores
CHANNEL_IDNumber(4)YesChannel ID for the store or virtual
warehouse; if no channel is
defined, then NA
CHANNEL_NAMEChar(120)YesChannel name; if no channel is
defined, then ‘unassigned’
STORE_CLASSChar(1)YesFor stores, the store class ID; for
warehouses or if no store class is
defined; then NA.
STORE_CLASS_DESCRI
PTION
Char(250)YesFor stores, the description of the
store class, if defined; for
warehouses or if not defined for a
store, then ‘unassigned’.
STORE_FORMATNumber(4)YesFor stores, the store format ID; for
warehouses or if no store class is
defined; then NA.
STORE_FORMAT_NAMEChar(60)YesFor stores, the description of the
store format, if defined; for
warehouses or if not defined for a
store, then ‘unassigned’.

Out of Stock Extract to Forecasting (BDI_RDF_StockOut_Tx_PF_From_RMS_JOB)

Note

This module replaces the soutdnld.pc module from previous releases.

Module Name BDI_RDF_StockOut_Tx_PF_From_RMS_JOB Description Extracts out of stock item location information to Forecasting Functional Area Foundation Module Type Integration Module Technology BDI job Catalog ID N/A

Runtime Parameters

StockOut_Tx_ProcessFlow_From_RMS StockOut_Tx_Extractor

Design Overview

This process extracts items which are out of stock for use by Forecasting on a weekly basis. This integration sends all item/store combinations that meet the criteria for review and have a stock-on-hand position of less than or equal to zero at the end of the week.

Key assumptions for this integration:

  • Only stockholding stores are included in this integration.

  • Only forecasted items are included in this integration.

  • Only item/store combinations that have a status of Active and a ranged flag of Yes are reviewed for stock out conditions.

  • Only item/store combinations that have a last sold date that is between the end of week date and x number of days back are reviewed for stock out conditions, where x is the value reports system option value Days Since Last Transaction.

  • The intended targets for this integration are

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to the target applications. The batch job BDI_RDF_StockOut_Tx_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RDF_StockOut_Tx_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts information for items which are out
of stock for use by the RDF application"/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RDF_StockOut_Tx_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (StockOut_Tx_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (StockOut_Tx_ExtractorJob) calls BDI_RDF_SQL. STOCKOUT_UP function to extract data from the Merchandising view V_BDI_RDF_STOCKOUT to outbound staging table STOCKOUT_OUT.

  • A generic BDI Downloader file creator job writes out of stock item information from the STOCKOUT_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful.

  • The downloaded data files and trigger files are written to designated location as configured through BDI system options:

    • RDF_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
V_BDI_RDF_STOCKOUTYesNoNoNo
STOCKOUT_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
ITEMVarchar2(25)YesItem that is out of stock at the
store.
STORENumber(10)YesStore that is out of stock for the
item.
EOW_DATEDateYesIndicates the end of week date for
which the data applies.
OUT_OF_STOCKNumber(1)YesFlag to indicate if the item/store is
out of stock at end of week. This
will always be 1, as only out-of-
stock items are sent.

Store Extract to Planning and Forecasting (BDI_RPAS_Store_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_Store_Fnd_PF_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rpas_store_extract.ksh Description Extracts store information to RPAS Functional Area Foundation Module Type Integration Module Technology BDI, shell scripts Catalog ID N/A Runtime Parameters Store_Fnd_ProcessFlow_From_RMS Store_Fnd_Extractor Database connection, download file location, filename, trigger filename

Module Name

Design Overview

This program extracts store data to planning and forecasting on a weekly basis. This data supplements the store information included in the organizational hierarchy feed.

Key assumptions for this integration:

  • Both stockholding and non-stockholding stores are included.

  • Both company and franchise types of stores are included.

  • All stores are sent each time this process is run.

  • Planning will derive the status of the store (e.g. open or closed) based on the dates sent in this integration. For example, if the open date is in the past and there is no close date defined or it is a future date, then the store is considered open.

  • All descriptions are sent in the primary language as defined in Merchandising.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This program utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement from Merchandising to the target applications.

The batch job BDI_RPAS_Store_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_Store_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts store information and writes it out
to a flat file for processing by both MFP and RDF."/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RPAS_Store_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function

(RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Store_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (Store_Fnd_Extractor) calls BDI_ORG_SQL.STORE_UP function to extract data from Merchandising tables to BDI outbound staging table STORE_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_store_extract.ksh to write store information from the STORE_OUT table into a comma-delimited flat file, which will be consumed by the target application. A zero-byte trigger file is also generated to signal that the extract process was successful. Two separate copies of the data file and the trigger file are sent to the target application.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • MFP_outboundLocation

    • RDF_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
STOREYesNoNoNo
CHANNELSYesNoNoNo
CODE_DETAILYesNoNoNo
STORE_FORMATYesNoNoNo
LANGYesNoNoNo
VAT_REGIONYesNoNoNo
TSFZONEYesNoNoNo
STORE_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
STORENumber(10)YesStore ID
STORE_NAMEChar(150)YesStore name
DISTRICTNumber(10)YesDistrict in which the store is a
member.
STORE_CLOSE_DATEDATEYesDate on which the store closed. If
NULL, set to NA.
STORE_OPEN_DATEDATEYesDate on which the store opened
REMODEL_DATEDATEYesDate on which the store was last
remodeled. If NULL, set to NA.
STORE_CLASSChar(1)YesID for the store class of which the
store is a member.
STORE_CLASS_DESCRI
PTION
Char(250)YesStore class description
STORE_FORMATNumber(4)YesStore format. If NULL, set to NA.
STORE_FORMAT_NAMEChar(60)YesStore format name. If NULL, set
to ‘unassigned’.
CURRENCYChar(3)YesCurrency under which the store
operates.
STORE_TYPEChar(6)YesIndicates whether the store is a
franchise (F) or company store
(C).
STOCKHOLDING_INDChar(1)YesIndicates whether the store can
hold stock. Valid values are Y or
N.

Supplier Extract to Planning (BDI_RPAS_Supplier_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_Supplier_Fnd_PF_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rpas_supplier_extract.ksh Description Extracts Supplier information to Planning Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters Supplier_Fnd_ProcessFlow_From_RMS Supplier_Fnd_Extractor Database connection, download file location, filename, trigger filename

Module Name

Design Overview

This process extracts supplier data to Planning on a weekly basis.

Key assumptions for this integration:

  • All active, orderable supplier sites will be included in this integration each time it runs.

  • Retailers will not create a Diff with an ID of ‘SUP’.

  • In order to meet the format required by Planning, the UDA description in this extract is hard coded to “Supplier” and does not take into account the primary language configuration in Merchandising.

  • The intended targets for this integration are

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to Planning.

The batch job BDI_RPAS_Supplier_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_Supplier_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
  <properties>
    <property name="description" value="Extracts Supplier information and writes it out
to a flat file for processing by AP and IP."/>
  </properties>
  <step id="batchlet-step">
    <batchlet ref="BDIInvokerBatchlet">
      <properties>
        <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
        <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
        <property name="predicateDS" value="RmsDBDS"/>
        <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
      </properties>
    </batchlet>
    <end on="COMPLETED"/>
  </step>
</job>

When the batch job BDI_RPAS_Supplier_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Supplier_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (Supplier_Fnd_Extractor) calls BDI_FOUNDATION_SQL.SUPS_UP function to extract data from the Merchandising table SUPS to BDI outbound staging table SUPS_OUT. Only supplier sites will be extracted.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_supplier_extract.ksh to write supplier information from the SUPS_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Two separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
SUPSYesNoNoNo
SUPS_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
UDA_IDChar(6)YesHardcoded ‘SUP’
UDA_DESCChar(120)YesHardcoded ‘Supplier’
SUPPLIERChar(30)YesThe supplier site ID.
SUP_NAMEChar(120)YesThe supplier site name in the
primary language.

Transaction Data Extract to Planning (BDI_MFP_TranData_Tx_PF_From_RMS_JOB)

Module Name BDI_MFP_TranData_Tx_PF_From_RMS_JOB Description Extracts Transaction data to Planning from RMS Functional Area Transactional Data Module Type Integration Module Technology BDI job Catalog ID N/A Runtime Parameters TranData_Tx_ProcessFlow_From_RMS TranData_Tx_Extractor

Design Overview

This process extracts transactional data to planning on a weekly basis, aggregating all transactions that posted in the last week, which could include transactions for previous weeks that posted late.

Key assumptions in this integration:

  • Only orderable, inventoried, approved transaction items are included in the integration.

  • Pack items are not included in this integration; any transactions involving pack items will be sent in terms of the pack’s component items.

  • Cost and retail values sent in primary currency.

  • Sales sent will always be net sales. If gross sales are needed in Planning, then net sales can be combined with returns.

  • Retail values will include VAT if the system option to include VAT in the stock ledger is set to include VAT so that the retail values in this integration are consistent with other data sent to planning.

  • All unit values are sent in terms of the standard unit of measure for the item.

  • Late posted transactions included in this integration may be for any week in the open stock ledger month, as well as any week in the previous month that posted during the week but before the previous month closed, if the month close ran during the current week.

  • The intended targets for this integration are

    • Oracle Retail Merchandise Financial Planning Cloud Service (MFPCS)

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to the target applications. The batch job BDI_MFP_TranData_Tx_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_MFP_TranData_Tx_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts information regarding transaction
data for use by the MFP application"/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_MFP_TranData_Tx_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function

(RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (Trandata_Tx_ProcessFLow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (TranData_Tx_Extractor) calls BDI_MFP_SQL. TRAN_DATA_UP function to extract data from the Merchandising view V_BDI_MFP_TRAN_DATA to BDI outbound staging table TRAN_DATA_OUT.

  • A generic BDI Downloader file creator job writes transactional information from the TRAN_DATA_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated MFP location as configured via BDI system options:

    • MFP_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Schedule InformationDescription
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
V_BDI_MFP_TRAN_DATAYesNoNoNo
TRAN_DATA_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
EOWDateYesIndicates the end of week date
that the information pertains to.
ITEMVarchar2(25)YesTransaction level item only.
LOCATIONNumber(10)YesCould be a store or virtual
warehouse.
LOC_TYPEVarchar2(1)YesIndicates if the location is a store
or warehouse - S = Store; W =
Warehouse.
CLEAR_INDNumber(1)YesIf Y, item/location is currently on
clearance.
NET_SALES_REG_UNIT
S
Number(12,4)Notran_data_history.units:
tran_code = 1 and sales type = R
NET_SALES_REG_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 1 and sales type = R
NET_SALES_REG_RETAI
L
Number(20,4)Notran_data_history.total_retail:
tran_code = 1 and sales type = R
NET_SALES_PROMO_U
NITS
Number(12,4)Notran_data_history.units:
tran_code = 1 and sales type = P
NET_SALES_PROMO_C
OST
Number(20,4)Notran_data_history.total_cost:
tran_code = 1 and sales type = P
NET_SALES_PROMO_R
ETAIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 1 and sales type = P
NET_SALES_CLEAR_UN
ITS
Number(12,4)Notran_data_history.units:
tran_code = 1 and sales type = C
Field NameField TypeRequiredDescription
NET_SALES_CLEAR_CO
ST
Number(20,4)Notran_data_history.total_cost:
tran_code = 1 and sales type = C
NET_SALES_CLEAR_RE
TAIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 1 and sales type = C
NET_SALES_REG_RETAI
L_VAT_EXCL
Number(20,4)Notran_data_history.total_retail:
tran_code = 2 and sales type = R
NET_SALES_PROMO_R
TL_VAT_EXCL
Number(20,4)Notran_data_history.total_retail:
tran_code = 2 and sales type = P
NET_SALES_CLR_RETAINumber(20,4)Notran_data_history.total_retail:
L_VAT_EXCLtran_code = 2 and sales type = C
RETURNS_REG_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 4 and sales type = R
RETURNS_REG_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 4 and sales type = R
RETURNS_REG_RETAILNumber(20,4Notran_data_history.total_retail:
tran_code = 4 and sales type = R
RETURNS_PROMO_UNI
TS
Number(12,4)Notran_data_history.units:
tran_code = 4 and sales type = P
RETURNS_PROMO_COS
T
Number(20,4)Notran_data_history.total_cost:
tran_code = 4 and sales type = P
RETURNS_PROMO_RET
AIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 4 and sales type = P
RETURNS_CLEAR_UNIT
S
Number(20,4)Notran_data_history.units:
tran_code = 4 and sales type = C
RETURNS_CLEAR_COS
T
Number(20,4)Notran_data_history.total_cost:
tran_code = 4 and sales type = C
RETURNS_CLEAR_RETA
IL
Number(20,4)Notran_data_history.total_cost:
tran_code = 4 and sales type = C
REG_MARKDOWN_RETA
IL
Number(20,4)Notran_data_history.total_retail:
tran_code 13 - tran_code 14
(Markdown Cancel) - tran_code
11 (Markup)
PROMO_MARKDOWN_R
ETAIL_REG
Number(20,4)Notran_data_history.total_retail:
tran_code = 15 - if the item is not
on clearance EOW
PROMO_MARKDOWN_R
ETAIL_CLEAR
Number(20,4)Notran_data_history.total_retail:
tran_code = 15 - if the item is on
clearance EOW
CLEAR_MARKDOWN_RE
TAIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 16
WF_MARKDOWN_RETAI
L
Number(20,4)Notran_data_history.total_retail:
tran_code = 85
WF_MARKUP_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 84
SHRINK_UNITSNumber(12,4)Notran_data_history.units:
tran_code 22
SHRINK_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code 22
Field NameField TypeRequiredDescription
SHRINK_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code 22
DEAL_INCOME_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code 6 & 7
RECEIPT_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 20 + 44
RECEIPT_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 20 + 44
RECEIPT_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 20 + 44
NON_SHRINK_ADJ_UNIT
S
Number(12,4)Notran_data_history.units:
tran_code = 23
NON_SHRINK_ADJ_COS
T
Number(20,4)Notran_data_history.total_cost:
tran_code = 23
NON_SHRINK_ADJ_RET
AIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 23
DEAL_INCOME_PURCH
ASES
Number(20,4)Notran_data_history.total_cost:
tran_code 7
MARKUPNumber(20,4)Notran_data_history.total_retail:
tran_code 11
MARKDOWN_CANCELNumber(20,4)Notran_data_history.total_retail:
tran_code 14
INTERCOMPANY_MARK
UP
Number(20,4)Notran_data_history.total_retail:
tran_code 17
INTERCOMPANY_MARK
DOWN
Number(20,4)Notran_data_history.total_retail:
tran_code 18
RTV_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 24
RTV_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 24
RTV_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 24
TSF_IN_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 30
TSF_IN_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 30
TSF_IN_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 30
TSF_IN_UNITS_BOOKNumber(12,4)Notran_data_history.units:
tran_code = 31
TSF_IN_COST_BOOKNumber(20,4)Notran_data_history.total_cost:
tran_code = 31
TSF_IN_RETAIL_BOOKNumber(20,4)Notran_data_history.total_retail:
tran_code = 31
TSF_OUT_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 32
TSF_OUT_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 32
Field NameField TypeRequiredDescription
TSF_OUT_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 32
TSF_OUT_UNITS_BOOKNumber(12,4)Notran_data_history.units:
tran_code = 33
TSF_OUT_COST_BOOKNumber(20,4)Notran_data_history.total_cost:
tran_code = 33
TSF_OUT_RETAIL_BOO
K
Number(20,4)Notran_data_history.total_retail:
tran_code = 33
RECLASS_IN_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 34
RECLASS_IN_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 34
RECLASS_IN_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 34
RECLASS_OUT_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 36
RECLASS_OUT_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 36
RECLASS_OUT_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 36
TSF_IN_UNITS_ICTNumber(12,4)Notran_data_history.units:
tran_code = 37
TSF_IN_COST_ICTNumber(20,4)Notran_data_history.total_cost:
tran_code = 37
TSF_IN_RETAIL_ICTNumber(20,4)Notran_data_history.total_retail:
tran_code = 37
TSF_OUT_UNITS_ICTNumber(12,4)Notran_data_history.units:
tran_code = 38
TSF_OUT_COST_ICTNumber(20,4)Notran_data_history.total_cost:
tran_code = 38
TSF_OUT_RETAIL_ICTNumber(20,4)Notran_data_history.total_retail:
tran_code = 38
INTERCOMPANY_MARGI
N
Number(20,4)Notran_data_history.total_retail:
tran_code = 39
TSF_RECEIPT_UNITSNumber(12,4)Notran_data_history.units:
tran_code = 44
TSF_RECEIPT_COSTNumber(20,4)Notran_data_history.total_cost:
tran_code = 44
TSF_RECEIPT_RETAILNumber(20,4)Notran_data_history.total_retail:
tran_code = 44
RTV_RESTOCK_FEENumber(20,4)Notran_data_history.total_cost:
tran_code = 65
FRANCHISE_SALES_UNI
TS
Number(12,4)Notran_data_history.units:
tran_code = 82
FRANCHISE_SALES_CO
ST
Number(20,4)Notran_data_history.total_cost:
tran_code = 82
FRANCHISE_SALES_RE
TAIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 82
Field NameField TypeRequiredDescription
FRANCHISE_RETURNS_
UNITS
Number(12,4)Notran_data_history.units:
tran_code = 83
FRANCHISE_RETURNS_
COST
Number(20,4)Notran_data_history.total_cost:
tran_code = 83
FRANCHISE_RETURNS_
RETAIL
Number(20,4)Notran_data_history.total_retail:
tran_code = 83
FRANCHISE_RESTOCK_
FEE
Number(20,4)Notran_data_history.total_cost:
tran_code = 86

UDA Extract to Planning (BDI_RPAS_UdaAndUdaValues_Fnd_PF_From_RMS_JOB)

Module Name BDI_RPAS_UdaAndUdaValues_Fnd_PF_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rpas_uda_extract.ksh Description Extracts LOV Type UDA information to Planning Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters UdaAndUdaValues_Fnd_ProcessFlow_From_RMS Uda_Fnd_Extractor UdaValues_Fnd_Extractor Database connection, download file location, filename, trigger filename

Design Overview

This process extracts its UDA data to Planning on a weekly basis.

Key assumptions for this integration:

  • The full set of user defined attributes (UDAs) is included in this integration each time it runs.

  • Only list of value type UDAs will be included in the integration.

  • The intended targets for this integration are

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to Planning. The batch job BDI_RPAS_UdaAndUdaValues_Fnd_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RPAS_UdaAndUdaValues_Fnd_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
  <properties>
    <property name="description" value="Extracts LOV Type UDA information and writes it
out to a flat file for processing by AP and IP."/>
  </properties>
  <step id="batchlet-step">
    <batchlet ref="BDIInvokerBatchlet">
      <properties>
        <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
        <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
        <property name="predicateDS" value="RmsDBDS"/>
        <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
      </properties>
    </batchlet>
    <end on="COMPLETED"/>
  </step>
</job>

When the batch job BDI_RPAS_UdaAndUdaValues_Fnd_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an and-of-week date, it invokes a BDI process flow (UdaAndUdaValues_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor jobs (Uda_Fnd_Extractor, UdaValues_Fnd_Extractor) call respective BDI_FOUNDATION_SQL functions to extract data from Merchandising tables UDA and UDA_VALUES to BDI outbound staging tables UDA_OUT and UDA_VALUES_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rpas_uda_extract.ksh to write UDA information from the UDA_OUT and UDA_VALUES_OUT tables into a comma-delimited flat file, which will be consumed by the target applications. Only LOV type UDAs will be extracted. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated locations as configured via BDI system options:

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
UDAYesNoNoNo
UDA_VALUESYesNoNoNo
UDA_OUTYesYesNoYes
UDA_VALUES_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
UDA_IDNumber(5)YesThe ID of the UDA assigned to
the item.
UDA_DESCChar(120)YesThe description of the UDA (for
example, Fabric Content).
UDA_VALUENumber(5)YesThe ID of the UDA value for the
UDA assigned to the item.
UDA_VALUE_DESCChar(250)YesThe description of the UDA value
(for example, Cotton).

UDA Item Extract to Planning and Forecasting (BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB)

Module Name BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB bdi_merch_extract_to_file_wrapper.sh bdi_rdf_itemuda_extract.ksh Description Extracts information for LOV type of UDAs to Planning and Forecasting Functional Area Foundation Module Type Integration Module Technology BDI job, shell scripts Catalog ID N/A Runtime Parameters ItemHdrAndUdaItemLov_Fnd_ProcessFlow_From_RMS ItemHdr_Fnd_Extractor UdaItemLov_Fnd_Extractor Database connection, download file location, filename, trigger filename

Design Overview

This process extracts user-defined attributes (UDAs) assigned to item to Planning and Forecasting on a weekly basis.

Key assumptions for this integration:

  • Only list of value (LOV) type UDAs will be included.

  • Both forecasted and non-forecasted items are included in this extract, with the forecast flag included.

  • Planning and Forecasting can only support a specific UDA being associated with an item once. Merchandising has a configuration that allows the same UDA to be associated with an item more than one time. However, when implementing with Planning or Forecasting, this should be avoided for LOV-type UDAs to prevent issues with interpreting the data. If more than one is associated with the item, then only the last UDA with a particular ID will be visible in Planning and Forecasting.

  • The intended targets for this integration are

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

    • Assortment & Item Planning for Fashion/Softlines Cloud Service and Assortment & Item Planning Enterprise Edition Cloud Service (referred to jointly as APCS)

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement from Merchandising to the target applications. The batch job

BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts UDA item LOV information and writes
it out to a flat file for processing by RDF."/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RDF_UdaItemLov_Fnd_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (ItemHdrAndUdaItemLov_Fnd_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to the target applications:

  • Extractor jobs (ItemHdr_Fnd_Extractor, UdaItemLov_Fnd_Extractor) call respective BDI_ITEM_SQL functions to extract data from Merchandising tables to BDI outbound staging tables ITEM_HDR_OUT and UDA_ITEM_LOV_OUT.

  • Downloader file creator job calls the wrapper script, bdi_merch_extract_to_file_wrapper.sh, to set the runtime parameters on environment variables. This script will then call bdi_rdf_itemuda_extract.ksh to write LOV type of UDA information from the ITEM_HDR_OUT and UDA_ITEM_LOV_OUT tables into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to

signal that the extract process was successful. The data file and the trigger file are then sent to the target applications.

  • The downloaded data file and trigger file are written to designated locations as configured through BDI system options:

    • RDF_outboundLocation

    • AP_outboundLocation

    • IP_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
ITEM_MASTERYesNoNoNo
CLASSYesNoNoNo
SUBCLASSYesNoNoNo
DIFF_GROUP_HEADYesNoNoNo
DIFF_IDSYesNoNoNo
SYSTEM_OPTIONYesNoNoNo
UDA_ITEM_LOVYesNoNoNo
UDAYesNoNoNo
UDA_VALUESYesNoNoNo
UDA_ITEM_LOV_OUTYesYesNoYes
ITEM_HDR_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field Name Field Type Required Description ITEM Char(25) Yes The ID of the item. UDA_ID Number(5) Yes The ID of the UDA assigned to the item. UDA_DESC Char(120) Yes The description of the UDA (for example, Fabric Content) UDA_VALUE Number(5) Yes The ID of the UDA value for the UDA assigned to the item. UDA_VALUE_DESC Char(250) Yes The description of the UDA value (for example, Cotton). FORECAST_IND Char(1) Yes Indicates whether or not the item is to be forecasted. Valid values are Y or N.

Weekly Sales Extract to Forecasting (BDI_RDF_WeeklySales_Tx_PF_From_RMS_JOB)

Module Name BDI_RDF_WeeklySales_Tx_PF_From_RMS_JOB Description Extracts weekly sales information to Forecasting Functional Area Foundation Module Type Integration Module Technology BDI job Catalog ID N/A Runtime Parameters WeeklySales_Tx_ProcessFlow_From_RMS WeeklySales_Tx_Extractor

Design Overview

This process extracts weekly sales for use by Forecasting on a weekly basis. It sends only the sales from the last week.

Key assumptions for this integration:

  • This integration sends gross sales. Returns are not netted out of the sales values.

  • Warehouse issues are not included in this integration. Only sales for stores.

  • Only forecasted items are included in this integration.

  • The intended targets for this integration are

    • Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting

This process utilizes BDI (Bulk Data Integration) to facilitate the bulk data movement to the target applications.

The batch job BDI_RDF_WeeklySales_Tx_PF_From_RMS_JOB is defined in the Merchandising JOS batch job admin as follows:

<job id="BDI_RDF_WeeklySales_Tx_PF_From_RMS_JOB" version="1.0" xmlns="http://
xmlns.jcp.org/xml/ns/javaee">
    <properties>
        <property name="description" value="Extracts weekly sales information for use by
the RDF application"/>
    </properties>
    <step id="batchlet-step">
        <batchlet ref="BDIInvokerBatchlet">
            <properties>
                <property name="bdiProcessFlowUrl" value="#SysOpt.bdiProcessFlowUrl"/>
                <property name="bdiProcessFlowCredential"
value="#SysOpt.bdiProcessFlowUrlUserAlias"/>
                <property name="predicateDS" value="RmsDBDS"/>
                <property name="predicateFunction"
value="RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL"/>
            </properties>
        </batchlet>
        <end on="COMPLETED"/>
    </step>
</job>

When the batch job BDI_RDF_WeeklySales_Tx_PF_From_RMS_JOB is executed, a batchlet (BDIInvokerBatchlet) starts the execution flow. It calls a PLSQL function (RMS_BATCH_STATUS_SQL.GET_EOW_RUN_SIGNAL) to ensure the process flow is only executed on an end-of-week date. If the vdate is an end-of-week date, it invokes a BDI process flow (WeeklySales_Tx_ProcessFlow_From_RMS) to perform a series of steps to extract, download, and transport the downloaded files to target applications:

  • Extractor job (WeeklySales_Tx_ExtractorJob) calls BDI_RDF_SQL. WEEKLY_SALES_UP function to extract data from a Merchandising view V_BDI_RDF_WEEKLY_SALES to outbound staging table WEEKLY_SALES_OUT.

  • A generic BDI Downloader file creator job writes weekly sales information from the WEEKLY_SALES_OUT table into a comma-delimited flat file, which will be consumed by the target applications. A zero-byte trigger file is also generated to signal that the extract process was successful. Separate copies of the data file and the trigger file are sent to the target applications.

  • The downloaded data files and trigger files are written to designated location as configured via BDI system options:

RDF_outboundLocation

Scheduling Constraints

Schedule InformationDescription
Processing CycleEnd of Day
FrequencyScheduled daily but files will only be generated weekly on End of Week
date.
Scheduling ConsiderationsN/A
Pre-ProcessingN/A
Post-ProcessingN/A
Threading SchemeN/A

Restart/Recovery

N/A

Key Tables Affected

TableSELECTINSERTUPDATEDELETE
V_BDI_RDF_WEEKLY_SALESYesNoNoNo
WEEKLY_SALES_OUTYesYesNoYes
BDI_DWNLDR_IFACE_MOD_DA
TA_CTL
YesNoNoNo
BDI_DWNLDR_IFACE_DATA_CT
L
YesNoNoNo

Integration Contract

The flat file will contain the following information:

Field NameField TypeRequiredDescription
ITEMVarchar2(25)YesIndicates the item.
STORENumber(10)YesIndicates the store.
EOW_DATEDateYesIndicates the end of week date for
which the data applies.
SALES_UNITSNumber(12,4)NoThis value will be the total sales
units for the item/location for the
week.
SALES_TYPEVarchar2(1)YesIndicates the sales type. For
example, R (Regular Sales), P
(Promotional Sales) or C
(Clearance Sales).

Sales Audit

The purpose of Sales Audit is to accept transaction data from point-of-sale (POS) and order management (OMS) solutions and move the data through a series of processes that culminate in “clean” data. Data that Sales Audit finds to be inaccurate is brought to the attention of the auditors who can use the features in Sales Audit to correct the exceptions.

For more information on Sales Audit processing see Merchandising Operations Guide Volume 1 .

This section contains details about the following integration processes used to export data from Sales Audit to other solutions:

  • Download from Sales Audit to Account Clearing House (ACH) System (saexpach)

  • Download of Escheated Vouchers from Sales Audit for Payment (saescheat)

  • Export DSD and Escheatment from Sales Audit to Invoice Matching (saexpim)

  • Export from Sales Audit to Oracle Retail Insights (saexpdw)

  • Export Inventory Reservation/Release for In Store Customer Order & Layaway Transactions (saordinvexp)

  • Export of POS transactions from Sales Audit to Merchandising (saexprms) (file-based integration)

  • Export of POS Transactions from Sales Audit to Merchandising Based on Direct Table Load (saexprocsales) (table-based integration)

  • Export of Revised Sale/Return Transactions from ReSA to SIM/SIOCS (saexpsim)

  • Export of Revised Sale/Return Transactions from Sales Audit to Store Inventory Management (saexport_sales_to_sim)

  • Export to Universal Account Reconciliation System from Sales Audit (saexpuar)

  • Extract of POS Transactions by Store/Date from Sales Audit for Web Search (ang_saplgen)

  • Post User Defined Totals from Sales Audit to General Ledger (saexpgl)

Download from Sales Audit to Account Clearing House (ACH) System (saexpach)

Module Name saexpash.pc Description Download from Sales Audit to Account Clearing House (ACH) System Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA03 Wrapper Script rmswrap_out.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module will post store/day deposit totals to the SA_STORE_ACH table and bank deposit totals for a given day in a file formatted for export to an ACH (Account Clearing House). The ACH export deviations from the typical Sales Audit export in that store/days must be exported even though errors may have occurred for a given day or store (depending on the unit of work defined), and also, the store/day does not need to be closed for the export to occur. The nature of the ACH process is such that as much money as possible must be sent as soon as possible to the consolidating bank. Any adjustments to the amount sent can be made using the sabnkach screen in the online system.

Deposits for store/days that have not been Fully (F) loaded will not be transferred to the consolidating bank. After they are fully loaded, their deposits will be picked up by the next run of this program.

Restart/Recovery

This module is in two distinct parts, with two different logical units of work. Thus, restart/ recovery has to be implemented so that the first part does not get reprocessed in case the program is being restarted. Details on the implementation follow.

The first driving cursor in this module retrieves a store/day to generate ACH totals. Once the first cursor is complete, the second retrieves bank locations by account numbers.

The first Logical Unit of Work (LUW) is defined as a unique store/day combination. Records will be fetched, using the first driving cursor, in batches of commit_max_ctr, but processed and committed one store/day at a time.

The first driving cursor will fetch all store/days that have been Fully Loaded (F), whose audit status is Audited (A), HQ Errors Pending (H), or Store Errors Pending (S) and that are ready to be exported to ACH. Before processing starts, a write lock is obtained using get_lock (). This driving cursor only fetches store/days with a sa_export_log.status of SAES_R. After a store/day is processed, sa_export_log.status is set to SAES_P so that this store/day will not be selected again if the program is restarted. The commit is performed using retek_force_commit after each store/day has been processed and sa_export_log updated, so as to release the lock.

In case a store/day could not be processed due to locking, the store/day information is placed on a list (called locked store/day list) and the next store/day is processed. This list is kept in memory and is available only during processing. If the store for a store/day obtained from the first driving cursor, is on the locked store/day list, then this store/day cannot be processed. This is the case because there is a data dependency such that data from a particular store/day is dependent on data for the same store but at an earlier date. Thus, if a store/day cannot be processed, then subsequent store/days for the same store cannot be processed either. After the driving cursor returns no more data, the program attempts to process each store/day on the list two more times. If the store/day is still locked, then it is skipped entirely and a message is printed to the error log.

The second LUW is a bank account number. Again, records will be fetched in batches of commit_max_ctr. The second driving cursor cannot retrieve information by the LUW because it is possible for the store’s currency to be different from the local bank’s currency. In that case, a currency conversion is needed.

For each store/day, the query should retrieve the required ACH transfer. The latter is determined by adding the estimated deposit for the next day, the adjustment to the estimate for the current day, and any manual adjustment to the estimate.

Since a store can be associated with different accounts at different banks, only accounts that are consolidated should be retrieved. Since it is possible for the local bank to be in a different country than the consolidating bank, the currency of the partner should also be fetched.

Since processing is dependent on the type of account at the RDFI, the account type should be fetched by this cursor.

Due to differences in transaction processing in cases when the bank is outside the United States, the partner’s country should also be fetched. The results of the query should be sorted by partner country. The results of the query should also be ordered by accounts.

Security Considerations

The fact that this program automates the transfer of funds on behalf of the user makes it a likely target for electronic theft. It must be made clear that the responsibility of electronic protection lies with the users themselves.

Following are some tips and recommendation to users:

  • A specific user should be used to run the program. This user would be the only one (or one of a few) who has access to this program.

  • The umask for this user should be set up so as to prevent other users from reading/writing its files. This would ensure that when the output file is created, it would not be accessible to other users.

  • The appropriate permissions should be set up on the directory, which holds the ACH files. The most restrictive decision would be to not allow any other user to view the contents of the directory.

  • A secure means of communication should be implemented for transferring the file from where it has been created to the ACH network. This may be done through encryption, or by copying the file to a disk and trusting the courier to deliver the files intact.

  • The ACH network needs to be secure.

I/O Specification

Integration TypeDownload from Sales Audit
File NameACH_ appended with the consolidating routing number, consolidating account
number, and current system date.
Integration ContractIntCon000040
Output File

Table 6-22 Output File

Record NameField NameField TypeDefault ValueDescription
ACH File
Section No.Number(3)101Constant number.
HeaderConsole Route
No
Number(10)N/AThe routing number of the
consolidating bank.
Sender IDChar(10)N/AID used by the Originator to
identify itself.
Current DateChar(6)N/AVdate in YYMMDD format.
Day TimeChar(4)N/ATime of file creation in HH24MM
format.
File Header No.Number(7)0094101Constant number.
Console Bank
Name
Char(23)N/AName of the Originating Financial
Depository Institution.
Company NameChar(23)N/AThe name of the company name.
Ref CodeChar (8)N/AReference code.
ACH CCD
Section No.Number(4)5225Constant number.
Batch HeaderCompany NameChar(16)N/AThe name of the company.
Comp Disc
Data
Char(20)NULLAny kind of data specific to the
company.
Comp IdChar(10)N/AAlphanumeric code to identify the
company.
CCD Header IdChar(3)CCDConstant value.
Comp Entry
Desc
Char(10)CONSOLA short description from the
Originator about the purpose of
the entry.
TomorrowChar(6)N/AVdate+1 in YYMMDD format.
TomorrowChar(6)N/AVdate+1 in YYMMDD format.
Settle DateChar(3)NULLThis is inserted by receiving the
ACH Operator.
ReservedNumber(1)1Constant number.
Odfi IdNumber(8)8-digit routing number of the
ODFI.

Table 6-22 (Cont.) Output File

Record NameField NameField TypeDefault ValueDescription
Batch NoNumber(7)Batch number.
ACH CBR
Section No.Number(4)5225Constant number.
Batch HeaderCompany NameChar(16)N/AThe name of the company.
ReservedChar(3)FV1Constant value.
Exch RateNumber(15)Exchange rate for the specified
currency.
ReservedChar(2)USConstant value.
Comp IdChar(10)Alphanumeric code to identify the
company
CBR Header IdChar(3)CBRConstant value.
Comp Entry
Desc
Char(10)“CONSOL “A short description from the
Originator about the purpose of
the entry.
Partner Curr
Code
Char(3)N/ACode identifying the currency the
partner uses for business
transactions.
ReservedChar(3)USDConstant value.
TomorrowChar(6)N/AVdate+1 in YYMMDD forma.
Settle DateChar(3)NULLThis is inserted by the receiving
ACH Operator.
ReservedNumber(1)1Constant number.
Odfi IdNumber(8)N/A8-digit routing number of the
ODFI.
Batch NoNumber(7)N/ABatch number.
ACH CCD EntrySection No.Number(1)6Constant number.
Trans CodeChar(2)Code used to identify the type of
debit and credit.
Value accepted are 27 and 37.
Routing NoNumber(9)Routing number for the bank
account.
Acct NoChar(17)Account number of the bank.
DepositNumber(10)The amount involved in the
transaction* 10000 (4 implied
decimal places).
IdChar(15)NullIdentification number. Optional
field containing a number used by
the Originator to insert its own
number for tracing purposes.
Store NameChar(22)Name of the local store.
Disc DataChar(2)NullDiscretionary data. Any kind of
data specific to the transaction.
ReservedNumber(1)0Constant number.

Table 6-22 (Cont.) Output File

Record NameField NameField TypeDefault ValueDescription
Trace NoNumber(15)Used to uniquely identify each
entry within a batch. The first 8
digits contain the routing number
of the ODFI and the other 7
contains a sequence number.
ACH CBR EntrySection No.Number(1)6Constant number.
Trans CodeChar(2)N/ACode used to identify the type of
debit and credit.
Values accepted are 27 and 37.
Routing NoNumber(9)N/ARouting number for the bank
account.
Acct NoChar(17)N/AAccount number of the bank
DepositNumber(10)N/AThe amount involved in the
transaction* 10000 (4 implied
decimal places).
IdChar(15)NULLIdentification number. Optional
field containing a number used by
the Originator to insert its own
number for tracing purposes.
Store NameChar(22)N/AName of the local store.
Disc DataChar(2)NULLDiscretionary data. Any kind of
data specific to the transaction.
ReservedNumber(1)1Constant number.
Trace NoNumber(15)N/AUsed to uniquely identify each
entry within a batch. The first 8
digits contain the routing number
of the ODFI and the other 7
contains a sequence number.
ACH CBR
Section No.Number(3)701Constant number.
AddendumPayment InfoChar(80)NullPayment related information.
ReservedNumber(4)0001Constant number
Trace Seq NoNumber(7)N/ASequence number part of the
Trace Number of the entry record
to which this addendum is
referring.
ACH BatchSection No.Number(4)8225Constant number.
ControlBatch Line
Count
Number(6)N/AThe number of entries and
addenda in the batch.
Hash CountNumber(10)N/ASum of the RDFI IDs in the detail
records.
Total Batch
Debit
Number(12)N/AContains the accumulated debit
and debit for the file * 10000 (4
implied decimal places).
Total Batch
Credit
Number(12)N/AContains the accumulated credit
and credit for the file * 10000 (4
implied decimal places).

Table 6-22 (Cont.) Output File

Record NameField NameField TypeDefault ValueDescription
Comp IdChar(10)N/AAn alphanumeric code identifying
the company.
AuthChar(19)NullMessage Authentication Code.
The first 8 characters represent a
code from the Data Encryption
Standard (DES) algorithm. The
remaining eleven characters are
blanks.
ReservedChar(6)NullReserved.
ODFI IdNumber(8)N/A8-digit routing number of the
ODFI.
Batch NoNumber(7)N/ABatch number.
ACH File
Section No.Number(1)9Constant number.
ControlBatch countNumber(6)N/AThe number of batches sent in
the file.
Block countNumber(6)N/AThe number of physical blocks in
the file, including both File
Header and File Control Records.
This is the ceiling of the number
of records divided by the blocking
factor, which is 10.
Entry countNumber(8)N/AThe number of entries and
addenda in the file.
Total hash
count
Number(10)N/ASum of the Entry Hash fields on
the Batch Control Records.
Total file debitNumber(12)N/AContains the accumulated debit
and debit for the file * 10000 (4
implied decimal places).
Total file credit,Number(12)N/AContains the accumulated credit
and credit for the file * 10000 (4
implied decimal places).
ReservedChar(39)NULLReserved.
ACH Completed
Block
End stringChar(94)N/AMark the end of the file: a string
of 94 ‘9’ characters.
The number of end lines with a
string of 94 ‘9’ characters is
identified by the following
equation:
10 - mod (number of lines in the
file, 10).

Design Assumptions

N/A

Download of Escheated Vouchers from Sales Audit for Payment (saescheat)

Module Name

saescheat.pc

Description Download of Escheated Vouchers from Sales Audit for Payment Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA05 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The laws of individual states and countries may require a retailer to return monies for aged, unclaimed gift certificates, and vouchers. This process is called escheatment. This program writes records for this data to tables that are read into Invoice Matching by the program saexpim.pc. The data can then be sent as invoices approved for payment to a financial application.

The saescheat batch program will set the status of vouchers that have met certain state’s escheats rules or have expired to the proper status and produce a total for later export to Invoice Matching. The rules for escheatment are defined on the sa_escheatment_options table.

Restart/Recovery

The logical unit of work is a store/day. The program commits when the number of store/day records processed has reached the commit_max_ctr.

I/O Specification

Integration TypeDownload from Sales Audit
File NameN/A
Integration ContractIntCon000039

Design Assumptions

N/A

Export DSD and Escheatment from Sales Audit to Invoice Matching (saexpim)

Module Namesaexpim.pc
DescriptionExport DSD and Escheatment from Sales Audit to Invoice Matching
Functional AreaOracle Retail Sales Audit
Module TypeIntegration
Module TechnologyProC
Catalog IDRSA04
Wrapper Scriptrmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this program is to support interfacing invoices from Direct Store Delivery and Escheatment sales audit transactions to the Invoice Matching application. Direct Store Delivery invoices refer to products or services that are delivered to the store and paid for at the store. This program will take DSD invoices that have been staged to the transaction header table by the saimptlog.pc program and move them into the invoice header table. All DSD transactions will be assumed paid. They can be assumed received if there is a proof of delivery number listed on them. Transactions with a vendor invoice ID or a proof of delivery number should be matched to any existing invoice in the invoice header, and that invoice updated with the new information being interfaced. Invoices that do not match an existing invoice in the invoice head table will need to be inserted. Each transaction will be exported to the invoice head table only once.

The Sales Audit Transaction type used to identify invoices for Direct Store Delivery transactions will be “Paid Out”. The Paid Out transaction has a code of ‘PAIDOU’. The Sales Audit sub-transaction types will be used to identify whether the invoice is an “Expense Vendor Payout” or a “Merchandise Vendor Payout”. The codes are ‘EV’ for Expense Vendor Payout and ‘MV’ for Merchandise Vendor Payout. Any Paid Out transaction with a sub transaction type of Expense Vendor will create a non-merchandise invoice and cause a record to be written to the invoice non-merchandise table. Sales Audit will store non-merchandise codes in the reason_code field on sa_tran_head. Valid values for these reason codes should correspond to the codes stored on the non_merch_code_head table.

In addition to DSD invoices, this program will also interface Escheatment totals to Invoice Matching. Escheatment is the process where an unredeemed gift certificate/voucher or credit voucher will, after a set period of time, be paid out as income to the issuing retailer, or in some states, the state receives this escheatment income. Sales Audit will be the governing system that determines who receives this income, but Invoice Matching will send the totals, with the related Partner, to an Accounts Payable system. Escheatment information will be stored on the Sales Audit SA_TOTALS table and will be used to create non-merchandise invoices in Invoice Matching. These invoices will be assumed not paid.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, updated, and inserted based on the commit_max_ctr specified on the restart_control table. Only two commits will be done, one to establish the store/day lock and another at the end, to release the lock after a store/day has been completely processed.In case of failure, all work done will be rolled back to the point right after the call to get_lock and releases the lock. Thus, the rollback segment should be large enough to hold all inserts into sa_exported for one store_day.

Integration Contract

Integration TypeDownload from Sales Audit
File NameN/A
Integration ContractIntCon00004
INVC_HEAD table

Design Assumptions

N/A

Export from Sales Audit to Oracle Retail Analytics (saexport_sales_to_dw)

Module Name saexport_sales_to_dw.ksh Description Export from ReSA to Oracle Retail Analytics Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology KSH Catalog ID RSA02 Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to fetch all sales and return transactions that do not have Retail Analytics errors from the Oracle Retail Sales Audit (ReSA) database tables and export them into the interface tables SA_EXPDW_RDW* . Retail Data Store (RDS) views have been written on the top of these interface tables so that the Oracle Retail Analytics application can fetch the exported sales and return data through Retail Data Store (RDS). The data will be exported at the store-day level. If the transaction has a status of Deleted and if it has been previously exported, a reversal of the transaction will be exported.

The batch has been designed to integrate with either Oracle Retail Insights or a 3rd Party Retail Analytics system. For integration with Oracle Retail Insights, this batch will export RDWT and RDWF data to three tables at the store day level:

  • SA_EXPDW_RDWT_HEAD – Transaction head and transaction items are exported to this table.

  • SA_EXPDW_RDWT_DETAIL – Transaction discounts are exported to this table.

  • SA_EXPDW_RDWF_DETAIL – Form of payment (tender) is exported to this table.

For integration with a third-party Retail Analytics system, this batch will additionally export RDWS and RDWC data to two more tables at the store day level:

  • SA_EXPDW_RDWS_DETAIL – Store Totals are exported to this table.

  • SA_EXPDW_RDWC_DETAIL – Cashier/Register Totals are exported to this table.

The export of RDWS and RDWC data to SA_EXPDW_RDWS_DETAIL and SA_EXPDW_RDWC_DETAIL is controlled by a Y/N flag defined in the MERCH_BATCH_PARAM table with a batch_name of SAEXPDW_EXPORT_JOB and param_key of EXPORT_DW_S_C . The default value of the flag is N .

For customers using Oracle Retail Insights, EXPORT_DW_S_C should be set to N to prevent the batch from writing to SA_EXPDW_RDWS_DETAIL and SA_EXPDW_RDWC_DETAIL , because Oracle Retail Insights doesn’t need the RDWS and RDWC data.

For customers using a third-party Retail Analytics and requiring Store Totals or Cashier/ Register Totals, the EXPORT_DW_S_C flag needs to be set to Y to extract RDWS and RDWC data.

Note

This batch can run in two modes – trickle mode and batch mode. If Y is passed as a parameter while running the batch, then the batch runs in trickle mode. If N or the no parameter is passed, it runs in normal batch mode.

Tables Affected

TableSELECTINSERTUPDATEDELETE
SA_EXPDW_RDWT_HEADNoYesNoNo
SA_EXPDW_RDWT_DETAILNoYesNoNo
SA_EXPDW_RDWF_DETAILNoYesNoNo
SA_STORE_DAYYesNoNoNo
SA_EXPORT_LOGYesNoYesNo
SA_EXPORTEDYesYesYesNo
SA_EXPORTED_REVYesNoNoNo
SA_TRAN_HEADYesNoNoNo
SA_TRAN_HEAD_REVYesNoNoNo
SA_TRAN_ITEMYesNoNoNo
SA_TRAN_ITEM_REVYesNoNoNo
SA_TRAN_DISCYesNoNoNo
SA_TRAN_DISC_REVYesNoNoNo
SA_TRAN_TENDERYesNoNoNo
SA_TRAN_TENDER_REVYesNoNoNo
SA_VOUCHERYesNoNoNo
SA_STORE_PRICE_HIST_TEMPYesYesNoNo
ORDCUSTYesNoNoNo
SA_EXPDW_RDWS_DETAILNoYesNoNo
SA_EXPDW_RDWC_DETAILNoYesNoNo
SA_TOTALYesNoNoNo
SA_TOTAL_HEADYesNoNoNo
SA_TOTAL_USAGEYesNoNoNo
SA_HQ_VALUEYesNoNoNo
SA_STORE_VALUEYesNoNoNo
SA_SYS_VALUEYesNoNoNo
SA_POS_VALUEYesNoNoNo
SA_STORE_EMPYesNoNoNo
SA_BALANCE_GROUPYesNoNoNo
SA_ERRORYesNoNoNo
SA_ERROR_IMPACTYesNoNoNo
IF_ERRORSNoYesNoNo
SA_EXPDW_WC_WS_TEMPYesYesYesYes

Design Assumptions

N/A

Export from Sales Audit to Oracle Retail Insights (saexpdw)

Module Name saexpdw.pc Description Export from Sales Audit to Oracle Retail Analytics Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA02 Wrapper Script batch_resa2dw.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to fetch all sales and return transactions that do not have Retail Analytics errors from the Sales Audit database tables for transmission to the Oracle Retail Analytics application. The data will be sent at the store day level. If the transaction has a status of Deleted, and if it has been previously Transmitted, a reversal of the transaction will be sent.

Note

This batch program can be run in two modes - trickle mode and batch mode. If ‘Y’ is passed as a parameter while running the batch program, then the batch runs in trickle mode. If ‘N’ or no parameter is passed, it runs in normal batch mode.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, updated, and inserted based on the commit_max_ctr. Only two commits will be done: one to establish the store/day lock and another at the end, to release the lock after a store/day has been completely processed. The RDWT, RDWF, RDWS, and RDWC formatted output files will be created with temporary names and renamed just before the end of store/day commit.

In case of a failure, all the work done will be rolled back to the point right after the call to get_lock() and the lock is released. Thus, the rollback segment should be large enough to hold all inserts into sa_exported for one store/day.

I/O Specification

Integration Type Download from Sales Audit

File Name RDWT_ appended with store number, business date, and system date. RDWF_ appended with store number, business date, and system date. RDWS_ appended with store number, business date, and system date. RDWC_ appended with store number, business date, and system date. Integration Contract IntCon000041 (RDWT) IntCon000156 (RDWF) IntCon000157 (RDWS) IntCon000158 (RDWC)

Four output files will be created for each store_day:

  • RDWT - Transaction File

  • RDWF - Form of Payment (Tender) file

  • RDWS - Store Totals output file

  • RDWC - Cashier output File

Each output file is converted into a format for loading into Retail Analytics by the resa2dw Perl script.

Sales Audit - File Layout - Retail Analytics

  • File layouts for the interface between sales audit and Retail Analytics.

  • Char fields are left justified and blank filled.

  • Number fields are right justified and zero filled. They can contain only numbers.

  • Numeric fields are left justified and blank filled. They can contain only numbers.

RDWT File

Table 6-23 RDWT File

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record
type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed by
input file.
Yes
File Type
Definition
Char(4)RDWTIdentifies file as
‘Retail Analytics
Transaction file’
Yes
File Create
Date
Number(14)create dateDate file was written
by external system.
Format
YYYYMMDDHH24
MISS
Yes
Transaction
Header
File Type
Record
Descriptor
Char(5)THEADIdentifies
transaction record
type

Table 6-23 (Cont.) RDWT File

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed by
input file.
Yes
Business dateNumber(8)Format
YYYYMMDD (Note,
This is the date the
Retail Analytics will
consider the
transaction date)
Yes
Transaction
Date
Number(14)transaction
date
Date sale/return
transaction was
processed at the
POS. Format
YYYYMMDDHH24
MISS (Note, the
Retail Analytics only
uses the HH24MI
part of this date)
Yes
LocationNumber(10)specified by
external
system
Store or warehouse
identifier. This value
is now being
determined based
on either the
Account for Sale or
Account for Return
system option.
Yes
Register IDChar(5)The register
identifier
Yes, -1 for null
Banner IDChar(4)The unique
identifier of the
banner.
Yes, -1 for null
Line Media IDChar(10)The identifier of the
media for the order
line. For non-
merchandise items,
such as Shipping &
Handling, Service
Lines and gift
certificates, the
media code will be
that of the order line
it’s associated.
Yes, -1 for null
Selling Item IDChar(25)The unique
identifier of a selling
item.
Yes, -1 for null
Customer Order
Header ID
Char(48)The unique
identifier of a
customer order.
Yes, -1 for null
Table 6-23 (Cont.) RDWT File
Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Customer Order
Line ID
Char(30)The identifier of a
customer order line.
For a Value Added
Service, like
monogramming,
this will be the line
number for the item
which the service
was applied.
Yes, -1 for null
Customer Order
Create Date
Char(8)The date when the
customer order was
created/placed.
Yes, -1 for null
Cashier
Identifier
Char(10)The cashier
number. This will be
the unique
employee number.
Yes, -1 for null
Salesperson
Identifier
Char(10)The salesperson
number. This will be
the unique
employee number.
Yes, -1 for null
Customer ID
Type
Char(6)The type of ID
number used by this
customer.
Yes, -1 for null
Customer ID
Number
Char(16)Customer id
associated with the
transaction.
Yes, -1 for null
Transaction
Number
Number(10)The unique
transaction
reference number
generated by the
POS.
Yes
Original
Register ID
Char(5)Register ID of the
original transaction.
Yes for a
transaction type of
‘PVOID’.
Original
Transaction
Number
Number(10)Transaction number
of the original
transaction.
Yes for a
transaction type of
‘PVOID’, ‘EEXCH’
and ‘RETURN’
Transaction
Header Number
Numeric(20)Unique reference
used within sales
audit to represent
the date/store/
register/tran_no
No
Revision
number
Number(3)Number used to
identify the version
of the transaction
being sent.
Yes

Table 6-23 (Cont.) RDWT File

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales Quantity
and Total Sales
Value are positive
or negative.
Yes
Transaction
Type
Char(6)Transaction type
code
Yes
Sub Transaction
Type
Char(6)The Sub
Transaction type
Yes, -1 for null
Retail TypeChar(1)‘R’egular,
‘P’romo, or
‘C’learance
Yes
Item_Seq_NoNumber(4)The order in which
items were entered
during the
transaction.
No
Employee
Number
(Cashier)
Char(10)Employee
identification
number. This will
only be populated if
the sub transaction
type is ‘EMP’.
Yes, -1 for null
Receipt
Indicator
Char(1)Flag that identifies
returns that have
been processed
without a receipt.
This field will only
be populated if the
transaction type is
‘RETURN’.
No
Reason CodeChar(6)A reason is required
with a Paid In/Out
transaction type,
and optional with a
return transaction.
Yes, -1 for null
Vendor numberNumber(10)This will only get
populated when the
paid in code is
Expense Vendor
No
Item TypeChar(6)item type
identifier
Type of item sold,
‘ITEM’, ‘REF’,
‘GCN’ (gift
certificate number),
or ‘NMITEM’
No
ItemChar(25)ID number of theNo. Required if
item or gift
certificate.
Item Type is not
null.

Table 6-23 (Cont.) RDWT File

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Ref ItemChar(25)Sub-transaction
level item
No. Also, this field
can never be
populated without
a transaction level
item in the item
field.
Taxable
Indicator
Char(1)Taxable/non-taxable
status indicator
No
Entry/modeChar(6)Indicator that
identifies whether
the item was
scanned or
manually entered
No
DepartmentNumber(4)Department of item
sold or returned.
Yes need to validate
if using ReSA.
No
ClassNumber(4)Class of item sold
or returned. Yes
need to validate if
using ReSA.
No
SubclassNumber(4)Subclass of item
sold or returned.
Yes need to validate
if using ReSA.
No
Total Sales
Quantity
Number(12)Number of units
sold at a particular
location with 4
implied decimal
places.
No
Total
Transaction
Number(20)Sales value, net
sales value of
No
Valuegoods sold/returned
with 4 implied
decimal places.
Override
Reason
Char(6)This column will be
populated when an
item’s price has
been overridden at
the POS to define
why it was
overridden. This will
also always be sent
if the transaction
originated in
RCOM.
Yes, -1 for null
Return ReasonChar(6)The reason an item
was returned.
Yes, -1 for null
Total originalChar(1)‘P’- positiveNo
sign‘N’ – negative

Table 6-23 (Cont.) RDWT File

RecordField NameField TypeDefault
DescriptionRequired
NameValue
Total Original
Sales Value
Number(20)This column will be
populated when the
item’s price was
overridden at the
POS and the item’s
original unit retail is
known. This will
always be written
when the
transaction
originated in
RCOM. This has 4
implied decimals.
No
WeatherChar(6)For transaction
types of ‘COND’,
this field will store
the type of weather
for the store-day.
No
TemperatureChar(6)For transaction
types of ‘COND’,
this field will store
the type of
temperature for the
store-day.
No
TrafficChar(6)For transaction
types of ‘COND’,
this field will store
the type of traffic for
the store-day.
No
ConstructionChar(6)For transaction
types of ‘COND’,
this field will store
info regarding any
construction on that
store-day.
No
Drop Shipment
Indicator
Char(1)‘Y’ or ‘N’Indicates whether
item is involved in a
drop shipment.
No
Item StatusChar(6)The status of the
item, required for
voided or
exchanged items.
Valid values are
found in the
code_detail table
under code_type
SASI.
Y, -1 for null

Table 6-23 (Cont.) RDWT File

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Tran Process
Sys
Char(3)This column holds
the name of the
system that
processed the
transaction. This
will be used for
filtering duplicate
transactions coming
from the different
systems for export
to downstream
systems. Expected
values are POS –
Point of Sale, OMS
– Order
Management
System and SIM –
Store Inventory
Management.
Y, -1 for null
Return WhNumber(10)This column
contains the
physical warehouse
ID for the
warehouse identifier
where the item was
returned.
N, -1 for null
Fulfill Order NoChar(48)This column holds
the number from
OMS related to the
fulfillment details.
One or more
fulfillment orders
could relate back to
a single customer
order in OMS. This
column is required if
the order is a cross
channel order (i.e.
Sales Type = ‘E’)
and the item status
is ‘ORD’.
N, -1 for null
No Inventory
Return Ind
Char(1)This column
contains an
indicator that
identifies a return
without inventory.
This is generally a
non-required
column, but in case
of Returns, this is
required.
N

Table 6-23 (Cont.) RDWT File

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Sales TypeChar(1)This column
indicates whether
the line item is a
Regular Sale, a
customer order
serviced by OMS
(External CO) or a
customer order
serviced by a store
(In Store CO).
Y
Return
Disposition
Char(10)This column will
contain the
disposition code
published by RWMS
as part of the
Returns upload to
OMS.
N, -1 for null
Original StoreChar(10)This column
contains the store
ID for the original
store.
N
Original
Transaction
Number
Number(10)Original transaction
number for the
returned item.
N
Reference
Number 1
Char(30)No
Reference
Number 2
Char(30)No
Reference
Number 3
Char(30)No
Reference
Number 4
Char(30)No
Reference
Number 5
Char(30)No
Reference
Number 6
Char(30)No
Reference
Number 7
Char(30)No
Reference
Number 8
Char(30)No
Reference
Number 25
Char(30)No
Reference
Number 26
Char(30)No
Reference
Number 27
Char(30)No
ReferenceChar(30)No
Number 28

Table 6-23 (Cont.) RDWT File

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Reference
Number 29
Char(30)No
Reference
Number 30
Char(30)No
Reference
Number 31
Char(30)No
Fulfill Loc TypeChar(2)This column
contains the
fulfillment location
type of the
customer order.
Valid values are ‘S’
for physical store
and ‘V’ for virtual
store.
N, -1 for null
Fulfill Loc IDNumber(10)This column
contains the
fulfillment location
of the customer
order. It can only be
either a physical
store or a virtual
store.
N, -1 for null
Posting StoreNumber(10)This column
contains the store
at which the item
sale/return should
be accounted for in
case of cross-store
sales happening at
co-located stores. It
is expected that this
field will be
populated only for
items that are
checked out at a
different store from
the one at which
they are originally
managed.
N, -1 for null
Transaction
Detail
File Type
Record
Descriptor
Char(5)TDETLIdentifies
transaction record
type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed by
input file.
Yes
Discount TypeChar(6)Code for discount
type from
code_detail,
code_type = ‘SADT’
No

Table 6-23 (Cont.) RDWT File

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Promotional
Transaction
Type
Char(6)Code for
promotional type
from code_detail,
code_type =
‘PRMT’
Yes
Promotion
Number
Number(10)promotion
number
Promotion number
from Merchandising
No
Promotion
Component
Number
Number(10)Offer ID from
Pricing
Required if it is a
promotional sale.
Coupon
Number
Char(40)Yes if Discount
Type is ‘SCOUP’.
Coupon
Reference
Number
Char(16)No
Sales QuantityNumber(12)Number of units
sold in this prom
type with 4 implied
decimal places.
No
Transaction
Sign
Char(1)‘P’- positive
‘N’ – negative
Yes
Transaction
Value
Number(20)Value of units sold
in this promotion
type with 4 implied
decimal places.
Yes
Discount ValueNumber(20)Value of discount
given in this prom
type with 4 implied
decimal places.
Yes
Reference
Number 13
Char(30)No
Reference
Number 14
Char(30)No
Reference
Number 15
Char(30)No
Reference
Number 16
Char(30)No
Transaction
Trailer
File Type
Record
Descriptor
Char(5)TTAILIdentifies file record
type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed by
input file.
Yes
Transaction
Count
Number(6)specified by
external
system
Number of TDETL
records in this
transaction set
Yes

Table 6-23 (Cont.) RDWT File

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file record
type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed by
input file.
Yes
File Record
Counter
Number(10)Number of records/
transactions
processed in
current file (only
records between
head & tail)
Yes

Transaction Item Information Produced by saexpdw.pc after Translation by resa2dw

Table 6-24 File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Business dateNumber(8)Format YYYYMMDDYes
Transaction
Date
Number(14)transaction
date
Date sale/return
transaction was
processed at the
POS. Format
YYYYMMDDHH24M
ISS
Yes
LocationNumber(10)specified by
external
system
Store or warehouse
identifier. This value
is now being
determined based
on either the
Account for Sale or
Account for Return
system option.
Yes
Register IDChar(5)The register
identifier
Yes, -1 for null
Banner IDChar(4)The unique identifier
of the banner.
Yes, -1 for null
Line Media IDChar(10)The identifier of the
order line media. For
non-merchandise
items, such as
Shipping &
Handling, Service
Lines and gift
certificates, the
media code will be
that of the order line
it’s associated.
Yes, -1 for null

Table 6-24 (Cont.) File Layout

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Selling Item IDChar(25)The unique identifier
of a selling item.
Yes, -1 for null
Customer
Order Header
ID
Char(48)The unique identifier
of a customer order.
Yes, -1 for null
Customer
Order Line ID
Char(30)The identifier of a
customer order line.
For a Value Added
Service, like
monogramming, this
will be the line
number for the item,
which the service
was applied.
Yes, -1 for null
Customer
Order Create
Date
Number(8)The customer order
creation date
Yes, ‘transaction
date’ for null
Cashier
Identifier
Char(10)The cashier number.
This will be the
unique employee
number.
Yes, -1 for null
Salesperson
Identifier
Char(10)The salesperson
number. This will be
the unique employee
number.
Yes, -1 for null
Customer ID
Type
Char(6)The type of ID
number used by this
customer.
Yes, -1 for null
Customer ID
Number
Char(16)Customer id
associated with the
transaction.
Yes, -1 for null
Transaction
Number
Number(10)The unique
transaction
reference number
generated by the
POS.
Yes
Original
Register ID
Char(5)Register ID of the
original transaction.
Yes for a
transaction type
of ‘PVOID’.
Original
Transaction
Number
Number(10)Transaction number
of the original
transaction.
Yes for a
transaction type
of ‘PVOID’.
Transaction
Header
Number
Numeric(20)Unique reference
used within sales
audit to represent
the date/store/
register/tran_no
Yes

Table 6-24 (Cont.) File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Revision
number
Number(3)Number used to
identify the version
of the transaction
being sent.
Yes
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales Quantity
and Total Sales
Value are positive or
negative.
Yes
Transaction
Type
Char(6)Transaction type
code
Yes
Sub
Transaction
Type
Char(6)The Sub Transaction
type
Yes, -1 for null
Retail TypeChar(1)‘R’egular,
‘P’romo, or
‘C’learance
Yes
Item_Seq_NoNumber(4)The order in which
items were entered
during the
transaction.
No
Employee
Number
(Cashier)
Char(10)Employee
identification
number. This will
only be populated if
the sub transaction
type is ‘EMP’.
Yes, -1 for null
Receipt
Indicator
Char(1)Flag that identifies
returns that have
been processed
without a receipt.
This field will only be
populated if the
transaction type is
‘RETURN’.
No
Reason CodeChar(6)A reason is required
with a Paid In/Out
transaction type,
and optional with a
return transaction.
Yes, -1 for null
Vendor numberNumeric(10)This will only get
populated when the
paid in code is
Expense Vendor
No
Item TypeChar(6)item type
identifier
Type of item sold,
‘ITEM’, ‘REF’, ‘GCN’
(gift certificate
number), or
‘NMITEM’
No

Table 6-24 (Cont.) File Layout

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
ItemChar(25)ID number of the
item or gift
certificate.
No. Required if
Item Type is not
null.
Ref ItemChar(25)Sub-transaction
level item
No. Also, this
field can never be
populated without
a transaction
level item in the
item field.
Taxable
Indicator
Char(1)Taxable/non-taxable
status indicator
No
Entry/modeChar(6)Indicator that
identifies whether
the item was
scanned or manually
entered
No
DepartmentNumber(4)Department of item
sold or returned. Yes
need to validate if
using ReSA.
No
ClassNumber(4)Class of item sold or
returned. Yes need
to validate if using
ReSA.
No
SubclassNumber(4)Subclass of item
sold or returned. Yes
need to validate if
using ReSA.
No
Total Sales
Quantity
Number(12)Number of units sold
at a particular
location with 4
implied decimal
places.
No
Total
Transaction
Value
Number(20)Sales value, net
sales value of goods
sold/returned with 4
implied decimal
places.
No
Override
Reason
Char(6)This column will be
populated when an
item price has been
overridden at the
POS to define why it
was overridden. This
will always be sent if
the transaction
originated in RCOM.
Yes, -1 for null
Return ReasonChar(6)The reason an item
was returned.
Yes, -1 for null

Table 6-24 (Cont.) File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Total original
sign
Char(1)‘P’- positive
‘N’ – negative
No
Total Original
Sales Value
Number(20)This column will be
populated when the
item’s price was
overridden at the
POS and the item’s
original unit retail is
known. This will
always be sent if the
transaction
originated in RCOM.
This has 4 implied
decimals.
No
WeatherChar(6)For transaction
types of ‘COND’,
this field will store
the type of weather
for the store-day.
No
TemperatureChar(6)For transaction
types of ‘COND’,
this field will store
the type of
temperature for the
store-day.
No
TrafficChar(6)For transaction
types of ‘COND’,
this field will store
the type of traffic for
the store-day.
No
ConstructionChar(6)For transaction
types of ‘COND’,
this field will store
info regarding any
construction on that
store-day.
No
Drop Shipment
Indicator
Char(1)‘Y’ or ‘N’Indicates whether
item is involved in a
drop shipment.
No
Item StatusChar(6)The status of the
item, required for
voided or exchanged
items. Valid values
are found in the
code_detail table
under code_type
SASI.
Y, -1 for null

Table 6-24 (Cont.) File Layout

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Tran Process
Sys
Char(3)This column holds
the name of the
system that
processed the
transaction. This will
be used for filtering
duplicate
transactions coming
from the different
systems for export
to downstream
systems. Expected
values are POS –
Point of Sale, OMS
– Order
Management
System and SIM –
Store Inventory
Management.
Y, -1 for null
Return WhNumber(10)This column
contains the
physical warehouse
ID for the warehouse
identifier where the
item was returned.
N, -1 for null
Fulfill Order NoChar(48)This column holds
the number from
OMS related to the
fulfillment details.
One or more
fulfillment orders
could relate back to
a single customer
order in OMS. This
column is required if
the order is a cross
channel order (i.e.
Sales Type = ‘E’)
and the item status
is ‘ORD’.
N, -1 for null
No Inventory
Return Ind
Char(1)This column
contains an indicator
that identifies a
return without
inventory. This is
generally a non-
required column, but
in case of Returns,
this is required.
N

Table 6-24 (Cont.) File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Sales TypeChar(1)This column
indicates whether
the line item is a
Regular Sale, a
customer order
serviced by OMS
(External CO) or a
customer order
serviced by a store
(In Store CO).
Y
Return
Disposition
Char(10)This column will
contain the
disposition code
published by RWMS
as part of the
Returns upload to
OMS.
N, -1 for null
Original StoreChar(10)This column
contains the store ID
for the original store.
No
Original
Transaction
Number
Number(10)Original transaction
number for the
returned item.
No
Discount TypeChar(6)Code for discount
type from
code_detail,
code_type = ‘SADT’
No
Promotional
Transaction
Type
Char(6)Code for
promotional type
from code_detail,
code_type = ‘PRMT’
Yes
Promotion
Number
Number(10)promotion
number
Promotion number
from Merchandising
No
Promotion
Component
Number
Numbr(10)Offer ID from
Pricing
Required if it is a
promotional sale.
Coupon
Number
Char(40)Yes if Discount
Type is ‘SCOUP’.
Coupon
Reference
Number
Char(16)No
Sales QuantityNumber(12)Number of units sold
in this prom type
with 4 implied
decimal places.
No
TransactionChar(1)‘P’- positiveYes
Sign‘N’ – negative

Table 6-24 (Cont.) File Layout

Record
Field NameField TypeDefault
DescriptionRequired
NameValue
Transaction
Value
Number(20)Value of units sold in
this promotion type
with 4 implied
decimal places.
Yes
Discount ValueNumber(20)Value of discount
given in this prom
type with 4 implied
decimal places.
Yes
Reference
Number 1
Char(30)No
Reference
Number 2
Char(30)No
Reference
Number 3
Char(30)No
Reference
Number 4
Char(30)No
Reference
Number 5
Char(30)No
Reference
Number 6
Char(30)No
Reference
Number 7
Char(30)No
Reference
Number 8
Char(30)No
Reference
Number 13
Char(30)No
Reference
Number 14
Char(30)No
Reference
Number 15
Char(30)No
Reference
Number 16
Char(30)No
Reference
Number 25
Char(30)No
Reference
Number 26
Char(30)No
Reference
Number 27
Char(30)No
Reference
Number 28
Char(30)No
Reference
Number 29
Char(30)No
Reference
Number 30
Char(30)No
ReferenceChar(30)No
Number 31

Table 6-24 (Cont.) File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired
Fulfill Loc TypeChar(2)This column
contains the
fulfillment location
type of the customer
order. Valid values
are ‘S’ for physical
store and ‘V’ for
virtual store.
N, -1 for null
Fulfill Loc IDNumber(10)This column
contains the
fulfillment location of
the customer order.
It can only be either
a physical store or a
virtual store.
N, -1 for null
Posting StoreNumber(10)This column
contains the store at
which the item sale/
return should be
accounted for in
case of cross-store
sales happening at
co-located stores. It
is expected that this
field will be
populated only for
items that are
checked out at a
different store from
the one at which
they are originally
managed.
N, -1 for null

RDWF File

Table 6-25 RDWF File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
File Type
Definition
Char(4)RDWFIdentifies file as
‘Retail Analytics
Form of Payment
(Tender) file’
Yes

Table 6-25 (Cont.) RDWF File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
File Create
Date
Number(14)create dateDate file was
written by
external system.
Format
YYYYMMDDHH2
4MISS
Yes
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
Business dateNumber(8)Format
YYYYMMDD
Yes
Transaction
Date
Number(14)transaction
date
Date sale/return
transaction was
processed at the
POS. Format
YYYYMMDDHH2
4MISS
Yes
LocationNumber(10)specified by
external
system
Store or
warehouse
identifier.
Yes
Cashier
Identifier
Char(10)The cashier
number. This will
be the unique
employee
number.
Yes, -1 for null
Register
Identifier
Char(5)Yes, -1 for null
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales
Quantity and Total
Sales Value are
positive or
negative.
Yes
Transaction
Sequence
Number
Numeric(20)Unique reference
used within sales
audit to represent
the date/store/
register/
transaction
number
Yes
Revision
number
Number(3)Number used to
identify the
version of the
transaction being
sent.
Yes
Transaction
Type
Char(6)Transaction type
code.
Yes

Table 6-25 (Cont.) RDWF File

Record
Field NameField TypeDefault ValueDescriptionRequired
Name
Tender type
group
Char(6)Yes
Tender type idNumber(6)Tender type code.Yes
Tender amountNumber(20)Tender amount.Yes
Credit Card
Entry Mode
Char(6)Contains the
method in which
the transaction
was entered at
the POS. Possible
entry modes
could include:
Terminal Used,
Magnetic Strip
Track One Read,
Magnetic Strip
Two Read,
Magnetic Strip
One Transmitted,
or Magnetic Strip
Two Transmitted.
The code type for
this field is
‘CCEM’.
No
Voucher
Number
Char(25)No
Voucher AgeNumeric(5)Age of the gift
certificate.
Redeemed date
minus sold date.
Yes if Tender Type
Group is
‘VOUCH’.
Escheat DateNumeric(8)Date on which
this gift certificate
escheats. Format
is YYYYMMDD.
Yes if voucher can
escheat.
Coupon
Number
Char(40)Yes if Tender Type
Group is
‘COUPON’.
Coupon
Reference
Number
Char(16)No. Only if Tender
Type Group is
‘COUPON’.
Transaction
Status
Char(1)Determines if the
transaction is
Present (‘P’) or
Voided/Deleted
(‘R’ - Reverse)
NO
Reference
Number 9
Char(30)No
Reference
Number 10
Char(30)No
ReferenceChar(30)No
Number 11

Table 6-25 (Cont.) RDWF File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
Reference
Number 12
Char(30)No
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
File Record
Counter
Number(10)Number of
records/
transactions
processed in
current file (only
records between
head & tail)
Yes

Retail Analytics Form of Payment File after Translation by resa2dw

Table 6-26 Form of Payment File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
Business dateNumber(8)Format
YYYYMMDD
Yes
Transaction
Date
Number(14)transaction
date
Date sale/return
transaction was
processed at the
POS. Format
YYYYMMDDHH2
4MISS
Yes
LocationNumber(10)specified by
external
system
Store or
warehouse
identifier.
Yes
Cashier
Identifier
Char(10)The cashier
number. This will
be the unique
employee number.
Yes, -1 for null
Register
Identifier
Char(5)Yes, -1 for null
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales
Quantity and Total
Sales Value are
positive or
negative.
Yes

Table 6-26 (Cont.) Form of Payment File

Record
Field NameField TypeDefault ValueDescriptionRequired
Name
Transaction
Sequence
Number
Numeric(20)Unique reference
used within sales
audit to represent
the date/store/
register/
transaction
number
Yes
Revision
number
Number(3)Number used to
identify the
version of the
transaction being
sent.
Yes
Transaction
Type
Char(6)Transaction type
code.
Yes
Tender type
group
Char(6)Yes
Tender type idNumber(6)Tender type code.Yes
Tender amountNumber(20)Tender amount.Yes
Credit Card
Entry Mode
Char(6)Contains the
method in which
the transaction
was entered at the
POS. Possible
entry modes could
include: Terminal
Used, Magnetic
Strip Track One
Read, Magnetic
Strip Two Read,
Magnetic Strip
One Transmitted,
or Magnetic Strip
Two Transmitted.
The code type for
this field is
‘CCEM’.
No
Voucher
Number
Char(25)No
Voucher AgeNumber(5)Age of the gift
certificate.
Redeemed date
minus sold date.
Yes if Tender Type
Group is ‘VOUCH’.
Escheat DateNumber(8)Date on which this
gift certificate
escheats. Format
is YYYYMMDD.
Yes if voucher can
escheat.
Coupon NumberChar(40)Yes if Tender Type
Grou is
p
‘COUPON’.

Table 6-26 (Cont.) Form of Payment File

RDWS File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
Coupon
Reference
Number
Char(16)No. Only if Tender
Type Group is
‘COUPON’.
Transaction
Status
Char(1)Determines if the
transaction is
Present (‘P’) or
Voided/Deleted
(‘R’ - Reverse)
No
Reference
Number 9
Char(30)No
Reference
Number 10
Char(30)No
Reference
Number 11
Char(30)No
Reference
Number 12
Char(30)No
Table 6-27
Record
Name
RDWS File
Field Name
Field TypeDefault ValueDescriptionRequired
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
File Type
Definition
Char(4)RDWSIdentifies file as
‘Retail Analytics
Store Totals file’
Yes
File Create DateNumeric(14)create dateDate file was
written by external
system. Format
YYYYMMDDHH2
4MISS
Yes
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies
transaction record
type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
Business dateNumber(8)Format
YYYYMMDD
Yes

Table 6-27 RDWS File

Table 6-27 (Cont.) RDWS File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
LocationNumber(10)specified by
external
system
Store or
warehouse
identifier
Yes
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales
Quantity and Total
Sales Value are
positive or
negative.
Yes
Total IDChar(10)Category identifier
used to determine
the type of total.
Yes
Reference
Number 1
Char(30)No
Reference
Number 2
Char(30)No
Reference
Number 3
Char(30)No
Total SignChar(1)‘P’- positive
‘N’ – negative
Yes
Total AmountNumber(20)Total over/short
amount with 4
implied decimal
places.
Yes
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
File Record
Counter
Number(10)Number of
records/
transactions
processed in
current file (only
records between
head & tail)
Yes

Store Totals Information after Translation by resa2dw

Table 6-28 Store Totals Information

RecordField NameField TypeDefault ValueDescriptionRequired
Name
Business dateNumber(8)FormatYes
YYYYMMDD

Table 6-28 (Cont.) Store Totals Information

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
LocationNumber(10)specified by
external
system
Store or
warehouse
identifier
Yes
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales
Quantity and Total
Sales Value are
positive or
negative.
Yes
Total IDChar(10)Category identifier
used to determine
the type of total.
Yes
Reference
Number 1
Char(30)No
Reference
Number 2
Char(30)No
Reference
Number 3
Char(30)No
Total SignChar(1)‘P’- positive
‘N’ – negative
Yes
Total AmountNumber(20)Total over/short
amount with 4
implied decimal
places.
Yes

RDWC File

Table 6-29 RDWC File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
File Type
Definition
Char(4)RDWCIdentifies file as
‘Retail Analytics
Cashier/Register
Totals file’
Yes
File Create DateNumber(14)create dateDate file was
written by external
system. Format
YYYYMMDDHH2
4MISS
Yes

Table 6-29 (Cont.) RDWC File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies
transaction record
type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
Business dateNumber(8)Format
YYYYMMDD
Yes
LocationNumber(10)specified by
external
system
Store or
warehouse
identifier
Yes
Cashier
Identifier
Char(10)The cashier
number
If Cashier_id is
NULL then
Register_id has
value. If
Cashier_id has
value then
Register_id is
NULL.
Yes, -1 for null
Register IDChar(5)The register
identifier
If Cashier_id is
NULL then
Register_id has
value. If
Cashier_id has
value then
Register_id is
NULL.
Yes, -1 for null
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales
Quantity and Total
Sales Value are
positive or
negative.
Yes
Total IDChar(10)Category identifier
used to determine
the type of total.
Yes
Reference
Number 1
Char(30)No
Reference
Number 2
Char(30)No
Reference
Number 3
Char(30)No
Total SignChar(1)‘P’- positiveYes
‘N’ – negative

Table 6-29 (Cont.) RDWC File

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
Total AmountNumber(20)Total over/short
amount with 4
implied decimal
places.
Yes
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Identifier
Number(10)specified by
external
system
ID of current line
being processed
by input file.
Yes
File Record
Counter
Number(10)Number of
records/
transactions
processed in
current file (only
records between
head & tail)
Yes

Cashier/ Register Totals Information after Translation by resa2dw

Table 6-30 Cashier/Register Totals Information

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
Business dateNumber(8)Format
YYYYMMDD
Yes
LocationNumber(10)specified by
external
system
Store or
warehouse
identifier
Yes
Cashier
Identifier
Char(10)The cashier
number
If Cashier_id is
NULL then
Register_id has
value. If
Cashier_id has
value then
Register_id is
NULL.
Yes, -1 for null
Register IDChar(5)The register
identifier
If Cashier_id is
NULL then
Register_id has
value. If
Cashier_id has
value then
Register_id is
NULL.
Yes, -1 for null

Table 6-30 (Cont.) Cashier/Register Totals Information

Record
Name
Field NameField TypeDefault ValueDescriptionRequired
Sales SignChar(1)‘P’- positive
‘N’ – negative
Determines if the
Total Sales
Quantity and Total
Sales Value are
positive or
negative.
Yes
Total IDChar(10)Category identifier
used to determine
the type of total.
Yes
Reference
Number 1
Char(30)No
Reference
Number 2
Char(30)No
Reference
Number 3
Char(30)No
Total SignChar(1)‘P’- positive
‘N’ – negative
Yes
Total AmountNumber(20)Total over/short
amount with 4
implied decimal
places.
Yes

Design Assumptions

N/A

Export Inventory Reservation/Release for In Store Customer Order & Layaway Transactions (saordinvexp)

saordinvexp.pc

Module Name saordinvexp.pc Description Export Inventory Reservation/Release for In Store Customer Order & Layaway Transactions from Sales Audit Functional Area Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA12 Wrapper Script rmswrap_multi_dnld_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program will generate a flat file to reserve or un-reserve the inventory for items on in-store customer order or layaway transactions. Inventory will be reserved for items on customer order/layaway initiate and un-reserved for customer order/layaway cancel or complete transactions.

Customer orders can be categorized into two categories: In-Store Customer Orders and External Customer Orders. The In-Store Customer Orders are defined as orders that are serviced at the store and inventory reservation is done in Oracle Retail Store Inventory Management (SIM). While the External Customer orders are serviced by an external order management system, no inventory reservation will be made at the store in SIM.

This batch should only process records where the sales type is not equal to External Customer Sales, as it handles only the in-store type orders.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination.

Records are fetched, updated, and inserted in batches of pl_commit_max_ctr. Only two commits are done, one to establish the store/day lock and another at the end, to release the lock after a store/day is completely processed. The ORIN formatted output file is created with a temporary name and renamed just before the end of store/day commit.

In case of failure, all work done is rolled back to the point right after the call to get_lock() and the lock is released. Thus, the rollback segment should be large enough to hold all inserts into sa_exported for one store/day.

I/O Specification

Integration TypeInventory Export from Sales Audit to Merchandising
File NameORIN_<tran_date>
Integration ContractIntCon000049
Output File Layout

Table 6-31 Output File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor
Char(5)FHEADIdentifies the file record type.
File Line IdChar(10)0000000001Sequential file line number.
File type
Definition
Char(4)ORINIdentifies the file type.
File Create
Date
Char(14)N/AFile Create Date in
YYYYMMDDHHMMSS format.
LocationNumber(10)N/AStore location number.
THEADRecord
descriptor
Char(5)THEADIdentifies the file record type.
File Line IdChar(10)Sequential file line number.

Table 6-31 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Transaction
Date & Time
Char(14)Transaction
Date
Date and time of the order
processed.
Transaction
Type
Char(6)SALETransaction type code specifies
whether the transaction is sale or
return.
TDETLRecord
descriptor
Char(5)TDETLIdentifies the file record type.
File Line IdChar(10)N/ASequential file line number.
Item TypeChar(3)REF or
ITM
Can be REF or ITM.
ItemChar(25)N/AID number of the ITM or REF.
Item StatusChar(6)LIN - Layaway
Initiate
Type of transaction.
LCA - Layaway
Cancel
LCO - Layaway
Complete
PVLCO - Post
void of Layaway
complete
ORI - Pickup/
delivery Initiate
ORC - Pickup/
delivery Cancel
ORD - Pickup/
delivery
Complete
PVORD - Post
void of Pick-up/
delivery
complete
DeptNumber(4)N/ADepartment of item sold or
returned.
ClassNumber(4)N/AClass of item sold or returned
Sub classNumber(4)N/ASubclass of item sold or returned.
Pack IndChar(1)N/APack indicator of item sold or
returned.
Quantity SignChanr(1)P or NSign of the quantity.
QuantityNumber(12)N/AQuantity * 10000 (4 implied
decimal places), number of units
for the given order (item) status.
Selling UOMChar(4)N/AUOM at which this item was sold.
Catchweight IndChar(1)N/AIndicates if the item is a
catchweight item. Valid values are
Y or NULL.
Customer Order
number
Char(48)N/ACustomer Order number.
Table 6-31 (Cont.) Output File Layout
Record NameField NameField TypeDefault ValueDescription
Posting StoreNumber(10)Contains the store at which the
item reservation/ reservation
cancellation should occur in case
of cross-store transactions
happening at co-located stores. It
is expected that this field will be
populated only for items that are
to be reserved (or have the
reservation canceled) at a
different store from the one at
which the checkout happened.
TTAILFile Type
Record
Descriptor
Char(5)TTAILIdentifies file record type.
File Line
Identifier
Number(10)Specified by
Sales Audit
ID of current line being processed
by input file.
Transaction
count
Number(6)Specified by
Sales Audit
Number of TDETL records in this
transaction set.
FTAILFile Type
Record
Descriptor
Char(5)FTAILIdentifies file record type.
File Line
Identifier
Number(10)Specified by
external system
ID of the current line being
processed by input file.
File Record
Counter
Number(10)Number of records/transactions
processed in the current file (only
records between FHEAD and
FTAIL).

Design Assumptions

N/A

Export of POS transactions from Sales Audit to Merchandising (saexprms)

Module Name saexprms.pc Description Export of POS transactions from Sales Audit to Merchandising Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA01 Wrapper Script rmswrap_multi_dnld_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to fetch all sale and return transactions that do not have Merchandising errors from the Sales Audit database tables for transmission to the Merchandising system. Transaction data is rolled up to the item/store/day/price point/sales type level for SALES transaction type and item/store/day/price point/sales type/no inventory return indicator/return disposition/return warehouse level for RETURN transaction types.

If unit of work system parameter is defined as ‘S’, then the whole store/day is skipped if any Merchandising error is found. If this value is ‘T’, then only transactions with Merchandising errors are skipped.

If the consignment rate review process is used, then consignment transactions eligible for review will not be exported from Sales Audit to Merchandising until the transaction has either been marked as reviewed or the review period specified has elapsed. Once the review period has elapsed, the batch will mark the transactions still pending review as expired and export them to Merchandising.

If the transaction has a status of Deleted and it has previously been transmitted, a reversal of the transaction will be sent.

A file is generated for each store/day.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, updated and inserted in batches of pl_commit_max_ctr. Only two commits will be done, one to establish the store/day lock and another at the end, to release the lock after a store/day has been completely processed. The POSU formatted output file will be created with a temporary name and renamed just before the end of store/day commit.

In case of failure, all work done will be rolled back to the point right after the call to get_lock() and releases the lock. Thus, the rollback segment should be large enough to hold all inserts into sa_exported for one store/day.

I/O Specification

Integration TypeDownload from ReSA
File Name“POSU_” appended with store number, business
date and system date
Integration ContractIntCon000044

Table 6-32 File Layout

RecordField NameField TypeDefault ValueDescription
Name
FHEADRecord descriptorChar(5)FHEADIdentifies the file record type
File Line IdChar(10)0000000001Sequential file line number
File type definitionChar(4)POSUIdentifies the file type
File Create DateChar(14)File Create Date in
YYYYMMDDHHMMSS format
StoreNumber(10)Store location

Table 6-32 (Cont.) File Layout

Record
Field NameField TypeDefault ValueDescription
Name
Vat include indicatorChar(1)Determines whether or not the store
stores values including vat. Not
required but populated by Oracle
Retail sales audit
Vat regionNumber(4)Vat region the given location is in.
Not required but populated by
Oracle Retail sales audit
Currency codeChar(3)Currency of the given location. Not
required but populated by Oracle
Retail sales audit
Currency retail
decimals
Number(1)Number of decimals supported by
given currency for retails. Not
required but populated by Oracle
Retail sales audit
THEADRecord descriptorChar(5)THEADIdentifies the file record type
File Line IdChar(10)Sequential file line number
Transaction dateChar(14)Transaction date in
YYYYMMDDHHMMSS format.
Corresponds to the date that the
sale/return transaction was
processed at the POS
Item TypeChar(3)REF or
ITM
Can be REF or ITM
ItemChar(25)Id number of the ITM or REF
DeptNumber(4)Department of item sold or returned.
ClassNumber(4)Class of item sold or returned.
Sub ClassNumber(4)Subclass of item sold or returned.
Pack IndChar(1)Pack indicator of item sold or
returned.
Item LevelNumber(1)Item level of item sold or returned.
Tran levelNumber(1)Transaction level of item sold or
returned.
Wastage TypeChar(6)Wastage type of item sold or
returned
Wastage pctNumber(12)Waste pct (4 implied decimal
places)
Tran typeChar(1)Transaction type code to specify
whether transaction is a sale or a
return
Drop Shipment
indicator
Char(1)Indicates whether the transaction is
a drop shipment or not.
Total sales qtyNumber(12)Total sales quantity (4 implied
decimal places)
Selling UOMChar(4)Selling Unit of Measure for the item

Table 6-32 (Cont.) File Layout

Record
Name
Field NameField TypeDefault ValueDescription
Sales signChar(1)Determines if the Total Sales
Quantity and Total Sales Value are
positive or negative.
Total Sales ValueNumber(20)Total sales value of goods sold/
returned (4 implied decimal places)
Last Date time
modified
Char(14)Date and time of last modification in
YYYYMMDDHHMMSS format. For
VBO future use
Catchweight
indicator
Char(1)Indicates if item is a catchweight
item.
Total weightNumber(12)The actual weight of the item, only
populated if catchweight_ind = ‘Y’
Sub Tran type
indicator
Char(1)Tran type for ReSA
Valid values are ‘A’, ‘D’, NULL
Total IGTAX ValueNumber(20)This will indicate total of all IGTAX
amount for the item.
Sales TypeChar(1)This column indicates whether the
line item is a Regular Sale, a
customer order serviced by OMS
(External CO) or a customer order
serviced by a store (In Store CO).
No Inventory
Return Indicator
Char(1)This column contains an indicator
that identifies a return without
inventory. This is generally a non-
required column, but in case of
Returns, this is required.
Return DispositionChar(10)This column will contain the
disposition code published by
RWMS as part of the Returns
upload to OMS.
Return WarehouseChar(10)This column contains the physical
warehouse ID for the warehouse
identifier where the item was
returned.
Customer Order NoChar(48)This column contains the customer
order number ID.
Fulfillment Order NoChar(48)This column contains the fulfillment
order number ID.
Fulfillment Loc TypeChar(2)This column contains the fulfillment
location type. Code for the fulfillment
loc type from code_detail where
code_type = ‘FLTP’
Fulfillment LocNumber(10)This column contains the fulfillment
loc ID.
Orig StoreNumber(10)This column contains the original
store value for a Return transaction.

Table 6-32 (Cont.) File Layout

Record
Field NameField TypeDefault ValueDescription
Name
POS Tran IdNumber(20)This column contains the unique
identifier for a sale transaction.
This is anOptionalfield.
Posting StoreNumber(10)This column contains the store at
which the item sale/return should be
accounted for in case of cross-store
sales happening at co-located
stores. It is expected that this field
will be populated only for items that
are checked out at a different store
from the one at which they are
originally managed.
Consignment RateNumber(12)This column contains the
consignment rate that should be
applied while posting the sales/
returns to Merchandising. (4 implied
decimal places)
Consignment Unit
Cost
Number(20)This column contains the
consignment unit cost that should
be applied while posting the sales/
returns to Merchandising. (4 implied
decimal places)
Inventory Identifier
Type
Char(6)This column contains the inventory
identifier type passed in Sales/
Return transactions. Valid values
are found under the Inventory
Identifier Types (IIDT) code type, for
e.g Lot (L), Expiry Date (E), Import
Document (D).
Inventory IdChar(120)This column contains the inventory
id value being passed in sales/
return transactions.
TTAXRecord descriptorChar(5)TTAXIdentifies the file record type
File Line IdChar(10)Sequential file line number
Tax CodeChar(6)The Tax Code of the item
Tax RateNumber(20)The tax rate of the item (10 implied
decimal places)
Total Tax AmountNumber(20)The item level tax or prorated
transaction level tax of the item (4
implied decimal places)
TDETLRecord descriptorChar(5)TDETLIdentifies the file record type
File Line IdChar(10)Sequential file line number
Promo Tran TypeChar(6)Code for the promotional type from
code_detail where code_type =
‘PRMT’
Promotion NumberNumber(10)Promotion number from
Merchandising

Table 6-32 (Cont.) File Layout

Record
Name
Field NameField TypeDefault ValueDescription
Sales quantityNumber(12)Sales quantity sold for this
promotion type (4 implied decimal
places)
Sales valueNumber(20)Sales value for this promotion type
(4 implied decimal places)
Discount valueNumber(20)Discount value for this promotion
type (4 implied decimal places)
Promotion
component
Number(10)Links the promotion to additional
pricing attributes. This contains the
OFFER_ID from Pricing.
TTAILRecord descriptorChar(5)TTAILIdentifies the file record type
File Line IdChar(10)Sequential file line number
Tran Record
Counter
Number(6)Number of TDETL records in this
transaction set
FTAILRecord descriptorChar(5)FTAILIdentifies the file record type
File Line IdNumber(10)Sequential file line number
File Record counterNumber(10)Number of records/transactions
processed in current file (only
records between head & tail)

Fields expected in POSU format based on changes adopted:

V16V16 with Customer
Order Changes
V19V19.3V24V25
Fulfillment Order NoNoYesYesYesYesYes
Fulfillment Loc TypeNoYesYesYesYesYes
Fulfillment LocNoYesYesYesYesYes
Orig StoreNoYesYesYesYesYes
POS Tran IdNoNoYesYesYesYes
Posting StoreNoNoNoYesYesYes
Consignment Rate/
Unit Cost
NoNoNoNoYesYes
Inventory Identifier
Type
NoNoNoNoNoYes
Inventory IdNoNoNoNoNoYes

Design Assumptions

1. Tax can be sent either in TTAX or IGTAX regardless of default_tax_type of SVAT, GTAX, SALES or GTS. Prorated tax in TTAX will only be sent to Merchandising in all configuration.

2. POS can send either transactional level tax details in TTAX lines or item-level tax details in IGTAX lines through the RTLOG file to ReSA. These tax details will be passed on to Merchandising in the TTAX lines of the POSU file. Even though POS can pass multiple

IGTAX/TTAX lines to ReSA and from Sales Audit to Merchandising, Merchandising only supports one tax code per item. If multiple taxes for an item are sent from POS to Sales Audit, they will be summed to a single tax in Merchandising sales upload process and assigned one of the applicable tax codes when writing tran_data 88.

3.

Export of POS Transactions from Sales Audit to Merchandising Based on Direct Table Load (saexprocsales)

Module Name saexprocsales.ksh Description Export of POS transactions from Sales Audit to Merchandising based on direct table load Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ksh Catalog ID RSA01 Wrapper Script rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch module fetches all sale and return transactions that do not have Merchandising errors from the Sales Audit database tables for transmission to the Merchandising system. Transaction data is rolled up to the store/day/transaction/item/price point/sales type level for the SALES transaction type and store/day/transaction/item/price point/sales type/no inventory return indicator/return disposition/return warehouse level for the RETURN transaction type.

If the unit of work system parameter is defined as S , then the whole store/day is skipped if any Merchandising error is found. If this value is T , then only transactions with Merchandising errors are skipped.

If the consignment rate review process is used, then consignment transactions eligible for review will not be exported from Sales Audit to Merchandising until the transaction has either been marked as reviewed, or the specified review period has elapsed. Once the review period has elapsed, the batch will mark the transactions still pending review as expired and export them to Merchandising.

If the transaction has a status of Deleted and it has previously been transmitted, a reversal of the transaction will be sent.

Transactions are exported to the Merchandising Sales process global temporary tables and the sales postings are processed.

The execution of this batch is controlled through a Sales Audit System option that indicates whether a table-based or file-based export is to be used.

Design Assumptions

For exports from Sales Audit to Merchandising, either saexprocsales or saexprms can be used to export Sales Audit transactions, depending on the configuration of Sales Audit.

For Merchandising, importing sales transactions is supported through both the saexprocsales table-based integration or POSU-file-based import modes.

POS can send either transaction-level tax details in TTAX lines or item-level tax details in IGTAX lines through the RTLOG file to Sales Audit. These tax details are passed on to Merchandising in relevant sales processing, global, temporary table records.

For a non-GTS environment, even though POS can pass multiple IGTAX / TTAX lines to Sales Audit and from Sales Audit to Merchandising, Merchandising only supports one tax code per item. If multiple taxes for an item are sent from POS to Sales Audit, they will be summed to a single tax in the Merchandising sales upload process and assigned one of the applicable tax codes when writing tran_data 88 .

When GTS is set as the Default Tax type in the system options, the sales process batch should be capable of both processing multiple records in sales processing global temporary tables, and posting multiple lines for transaction code 88 , with one line for each tax detail record.

When GTS is set to the Default Tax type in the system options, the sales process batch can process multiple TTAX lines in the POSU file and post multiple lines for transaction code 88 , one for each TTAX line.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. The rollback segment should be large enough to hold all inserts into sa_exported for one store/day.

The number of threads running in parallel is based on the RMS_PLSQL_BATCH_CONFIG.MAX_CONCURRENT_THREADS column value with the SA_EXPROC_SALES_SQL program name.

Key Tables Affected

TableSelectInsertUpdateDelete
SA_STORE_DAYYesNoNoNo
SA_EXPORT_LOGYesNoYesNo
MV_SA_RESTART
_EXPORT_RMS
YesNoNoNo
STOREYesNoNoNo
CURRENCIESYesNoNoNo
SA_TRAN_HEADYesNoNoNo
SA_ERRORYesNoNoNo
SA_ERROR_IMPA
CT
YesNoNoNo
SA_EXPORTEDYesYesNoNo
SA_TRAN_SEQ_T
EMP
NoYesNoYes
SA_TRAN_HEAD_
REV
YesNoNoNo
SA_EXPORTED_R
EV
YesNoNoNo
SA_SYSTEM_OPT
IONS
YesNoNoNo
TableSelectInsertUpdateDelete
SA_TRAN_ITEM_
REV
YesNoNoNo
ITEM_MASTERYesNoNoNo
SA_TRAN_DISC_
REV
YesNoNoNo
SA_TRAN_DISCYesNoNoNo
SA_TRAN_ITEMYesNoNoNo
SA_TRAN_SEQ_T
EMP
YesYesNoYes
SA_STORE_DAY_
READ_LOCK
NoYesNoYes
SA_TRAN_IGTAX_
REV
YesNoNoNo
SA_TRAN_IGTAXYesNoNoNo
SA_TRAN_TAXYesNoNoNo
SA_TRAN_TAX_R
EV
YesNoNoNo
VAT_ITEMYesNoNoNo
VAT_HISTORYNoYesYesNo
DAILY_SALES_DIS
COUNT
NoYesYesNo
JOB_AUDIT_LOGNoYesNoNo
SA_EXPROC_SAL
ES_ERROR
NoYesNoNo
SVC_TRAN_HEAD
_GTT
NoYesNoNo
SVC_POSUPLD_F
HEAD_GTT
NoYesNoNo
SVC_POSUPLD_T
HEAD_GTT
NoYesYesYes
SVC_POSUPLD_T
TAX_GTT
NoYesNoNo
SVC_POSUPLD_T
DETL_GTT
NoYesNoNo
DEAL_HEADYesNoNoNo
DEAL_COMP_PR
OM
YesNoNoNo
DEAL_ACTUALS_
FORECAST
YesNoNoNo
ITEM_LOCYesNoNoNo
ITEM_LOC_SOHYesNoYesNo
VAT_ITEMYesNoNoNo
ITEM_SUPP_COU
NTRY
YesNoNoNo
ITEM_SUPPLIERYesNoNoNo
TableSelectInsertUpdateDelete
SUPSYesNoNoNo
TERMSYesNoNoNo
PRICE_HISTYesNoNoNo
TEMP_TRAN_DAT
A
NoYesNoNo
ITEM_LOC_HISTYesYesYesNo
ITEM_LOC_HIST_
MTH
YesYesYesNo
EDI_DAILY_SALESYesYesYesNo
ORDHEADYesYesNoNo
INVC_HEADYesYesNoNo
INVC_MERCH_VA
T
YesYesYesNo
INVC_XREFNoYesNoNo
INVC_DETAIL_TE
MP2
NoYesNoNo
INVC_DETAILYesNoNoNo
CODE_DETAILYesNoNoNo
UOM_CLASSYesYesNoNo
ITEM_XFORM_HE
AD
YesNoNoNo
ITEM_XFORM_DE
TAIL
YesNoNoNo
ITEM_SUPP_COU
NTRY_LOC
YesNoNoNo
TRAN_DATANoYesNoNo
INVC_DETAIL_TE
MP
NoYesNoNo
INVC_HEAD_TEM
P
NoYesNoNo
CONCESSION_DA
TA
NoYesNoNo
DEAL_ACTUALS_I
TEM_LOC
YesYesYesNo
V_PACKSKU_QTYYesNoNoNo
RTV_HEADYesNoNoNo

Export of Revised Sale/Return Transactions from ReSA to SIM/SIOCS (saexpsim)

Module Name Saexpsim.pc Description Export of Revised Sale/Return Transactions from Sales Audit to SIM Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC

Catalog ID RSA14 Wrapper Script rmswrap_multi_dnld_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to fetch all revised sale and return transactions that do not have SIM errors from the Sales Audit database tables for transmission to SIM. It retrieves all quantity revision transaction data for SALES, RETURN, EEXCH, VOID, and SPLORD transaction types.

If sa_system_options.unit_of_work is S, the whole store/day is skipped if any SIM error is found. If this value is T, then only transactions with SIM errors are skipped.

The batch will only export transactions whose quantity has been revised. The batch will write these revised transactions to the output file along with a reversal of the quantity.

A file of type SIMT is generated for each store/day.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, updated, and inserted in batches of pl_commit_max_ctr. Only two commits will be done, one to establish the store/day lock and another at the end, to release the lock after a store/day has been completely processed. The SIMT formatted output file will be created with a temporary name and renamed just before the end of store/day commit.

In case of failure, all work done will be rolled back to the point right after the call to get_lock() and the lock released. Thus, the rollback segment should be large enough to hold all inserts into SA_EXPORTED for one store/day.

I/O Specification

Integration TypeDownload from Sales Audit
File NameSIMT_ appended by store number, business date, and system date
Integration ContractIntCon000045
Output File Layout

Table 6-33 Output File

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor
Char(5)FHEADIdentifies the file record type.
File Line IdChar(10)0000000001Sequential file line number.
File type
definition
Char(4)SIMTIdentifies the file type.
StoreNumber(10)N/AStore location.

Table 6-33 (Cont.) Output File

Record NameField NameField TypeDefault ValueDescription
Business DateChar(8)N/ABusiness Date in YYYYMMDD
format.
File Create
Date
Char(14)N/AFile Create Date in
YYYYMMDDHHMMSS format.
THEADRecord
descriptor
Char(5)THEADIdentifies the file record type.
File Line IdChar(10)N/ASequential file line number.
Transaction
Number
Number(10)N/ATransaction Identifier.
Revision
Number
Number(3)N/ARevision Number of the
transaction.
Transaction
date
Char(14)N/ATransaction date in
YYYYMMDDHHMMSS format.
Corresponds to the date that the
transaction occurred.
Transaction
Type
Char(6)N/ATransaction Type.
POS
Transaction
Indicator
Char(1)N/AIndicates if the transaction was
received from POS or manually
created. Valid values:
Y - POS
N - Manual
TDETLRecord
descriptor
Char(5)TDETLIdentifies the file record type.
File Line IdChar(10)N/ASequential file line number.
Item Sequence
Number
Number(4)N/AItem sequence number.
ItemChar(25)N/AIdentifies the merchandise item.
Item number
type
Char(6)N/AIdentifies the type of item number
if the item type is ITEM or REF.
Item StatusChar(6)N/AStatus of the item within the
transaction, V for item void, S for
sold item, R for returned item.
ORI - Order Initiate
ORC - Order Cancel
ORD - Order Complete
LIN - Layaway Initiate
LCA - Layaway Cancel
LCO - Layaway Complete
Serial NumberChar(128)N/AUnique ID.
Pack IndicatorChar(1)N/APack Indicator.
Catchweight
Indicator
Char(1)N/ACatchweight Indicator.
Quantity SignChar(1)N/ASign of the quantity.

Table 6-33 (Cont.) Output File

Record NameField NameField TypeDefault ValueDescription
Quantity ValueNumber(12)N/ANumber of items, with 4 implied
decimal places.
Standard Unit of
Measure
Char(4)N/AStandard Unit of Measure of the
item.
Selling Unit of
Measure
Char(4)N/AUnit of Measure of the quantity
value.
Waste TypeChar(6)N/AWaste Type.
Waste PercentNumber(12)N/AWaste Percent.
Drop Ship
Indicator
Char(1)N/AIndicates whether the item is part
of a drop shipment.
Actual WeightNumber(12)N/AContains the weight of the item
sold, with 4 implied decimal
places.
Actual Weight
Sign
Char(1)N/ASign of the actual weight.
Reason CodeChar(6)N/AReason entered by the cashier for
some transaction types.
Sales ValueNumber(20)N/ATransaction value, with 4 implied
decimal places
Sales Value
Sign
Char(1)N/ATransaction value sign.
Unit RetailNumber(20)N/AUnit retail, with 4 implied decimal
places.
Sales TypeChar(1)N/AIndicates if the transaction is an
In Store Customer Order,
External Customer Order, or
Regular Sale.
Customer Order
Number
Char(48)N/AContains the customer order ID.
Customer Order
Type
Char(6)N/ACustomer order type.
Fulfillment
Order Number
Char(48)N/AContains the order ID of the
fulfillment order.
Customer Order
Line Number
Number(6)Contains customer order line
number.
TTAILRecord
descriptor
Char(5)TTAILIdentifies the file record type.
File Line IdChar(10)N/ASequential file line number.
Tran Record
Counter
Number(6)N/ANumber of TDETL records in this
transaction set.
FTAILRecord
descriptor
Char(5)FTAILIdentifies the file record type.
File Line IdNumber(10)N/ASequential file line number.
File Record
counter
Number(10)N/ANumber of records/transactions
processed in the current file (only
records between head and tail).

Design Assumptions

N/A

Export of Revised Sale/Return Transactions from Sales Audit to Store Inventory Management (saexport_sales_to_sim)

Module Name saexport_sales_to_sim.ksh Description Export of Revised Sale/Return Transactions from ReSA to SIOCS in a Direct Database integration. Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology KSH Catalog ID Wrapper Script

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to fetch all revised sale and return transactions that do not have SIOCS errors from the Sales Audit database tables for transmission to Store Inventory Operations System (SIOCS). It retrieves all quantity revision transaction data for SALES , RETURN , EEXCH , VOID , and SPLORD transaction types.

If sa_system_options.unit_of_work is S , then the whole store/day is skipped if any SIOCS error is found. If this value is T , then only transactions with SIOCS errors are skipped.

The batch will only export transactions whose quantity has been revised. The batch will write these revised transactions to the SA_EXPSIM_REVISED_SALES_HEAD and

SA_EXPSIM_REVISED_SALES_DETAIL interface tables along with a reversal of the quantity. It will also populate the ICL_SA_REVISED_SALES table to signal the Store Inventory Operations system to process the data.

Note

This batch can be run in two modes – trickle mode and batch mode. If Y is passed as a parameter while running the batch, then the batch would run in trickle mode else if N or no parameter is passed, it would then run in normal batch mode.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Only two commits will be done: one to establish the store/day lock, and another at the end to release the lock after a store/day has been completely processed. In case of failure, all work done will be rolled back to the point right after the call to get_lock() and releases the lock. Thus, the rollback segment should be large enough to store all inserts into SA_EXPORTED for one store/ day.

Tables Affected

TableSelectInsertUpdateDelete
ICL_SA_REVISED_SALESNoYesNoNo
SA_EXPSIM_REVISED_SALES_HEADNoYesNoNo
SA_EXPSIM_REVISED_SALES_DETAILNoYesNoNo
SA_STORE_DAYYesNoNoNo
SA_EXPORT_LOGYesNoYesNo
SA_EXPORTEDYesYesYesNo
SA_EXPORTED_REVYesNoNoNo
SA_TRAN_HEADYesNoNoNo
SA_TRAN_HEAD_REVYesNoNoNo
SA_TRAN_ITEMYesNoNoNo
SA_TRAN_ITEM_REVYesNoNoNo
SA_ERRORYesNoNoNo
SA_ERROR_IMPACTYesNoNoNo

Design Assumptions

N/A

Export to Universal Account Reconciliation System from Sales Audit (saexpuar)

Module Name saexpuar.pc Description Export to Universal Account Reconciliation System from Sales Audit Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA06 Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The SAEXPUAR program is used to select the lottery, bank deposit, money order, and credit card totals and write them to output files for export to an external account clearing house application. For each store day, saexpuar posts specified totals to their appropriate output files.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, updated, and inserted in batches of commit_max_ctr. Only two commits will be

done. One to establish the store/day lock (this will be done by the package) and the other is done at the end, after a store/day has been completely processed.

I/O Specification

Integration TypeDownload from Sales Audit
File NameUAR usage type appended with system date.
Integration ContractIntCon000046
Output File Layout

The output file will contain one line for each store/day detail record in a comma-delimited format. The fields are surrounded by double quotes. For example, a record for store 1000 on May 20, 2001 with an amount of 19.99 will look something like this:

“1”, “1000”, “1999”, “20010520”,“2”,"",“1”,"","","","","","","","",“MN”,“RET”

Table 6-34 Output File

Field NameField TypeDescription
Detail FlagChar“1” for detail record.
StoreNumberStore number.
AmountNumberTotal Value * 100 (with 2 implied decimal places).
TranDateCharTransaction Date in YYYYMMDD format.
UAR TranCodeCharTransaction Code. “1” for negative amount, “2” for
positive amount.
User Defined Value 1CharRef Number 1 on SA_TOTAL.
User Defined Value 2CharTotal Seq Number on SA_TOTAL.
User Defined Value 3CharRef Number 2 on SA_TOTAL.
User Defined Value 4CharRef Number 3 on SA_TOTAL.
User Defined Value 5CharNot used.
User Defined Value 6CharNot used.
User Defined Value 7CharNot used.
User Defined Value 8CharNot used.
User Defined Value 9CharNot used.
User Defined Value 10CharNot used.
StateCharState.
AccountCharTotal Identification on SA_TOTAL.

Design Assumptions

N/A

Extract of POS Transactions by Store/Date from Sales Audit for Web Search (ang_saplgen)

Module Name

ang_saplgen.pc

Description Extract of POS Transactions by Store/Date from Sales Audit for Web Search Functional Area Sales Audit Module Type Integration Module Technology ProC Integration Catalog ID RMS162 Wrapper Script N/A

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to fetch all corrected sale and return transactions that do not have Merchandising errors from the Sales Audit database tables for transmission to an external web search engine. If the transaction has a status of Deleted or Post Voided and has previously been transmitted, a reversal of the transaction will be sent. A file of type POSLOG is generated for each store/day.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, in batches of pl_commit_max_ctr. The POSLOG formatted output file will be created with a completion of store/day looping.

I/O Specification

Integration TypeDownload from Sales Audit
File NamePOSLOG_.xml
Integration ContractIntCon000018
Output File Layout

Table 6-35 Output File Layout

Field NameField TypeDescription
BatchIDCHAR(18)A concatenation of store number and business
date for a store.
RetailStoreIDCHAR(10)The store number for which the POSLog file has to
be extracted.
WorkStationIDCHAR(5)RegistryID for the store.
TillIDCHAR(5)RegistryID for the store.
SequenceNumberCHAR(10)Point of Sale system defined transaction number
associated with a transaction.
BeginDateCHAR(8)Starting date time of the transaction.
EndDateCHAR(8)End date time of the transaction.
CurrencyCodeCHAR(3)Code of the currency used during the transaction.

Table 6-35 (Cont.) Output File Layout

Field NameField TypeDescription
VoidFlagCHAR(5)Indicates if the item in the transaction is voided or
not. Valid values are TRUE and FALSE.
Item_StatusCHAR(40)Status of the item is required for voided,
exchanged, or returned item.
MerchandisingHierarchyCHAR(4)Department number to which the item belongs
DescriptionCHAR(250)Item description that has been sold.
ItemCHAR(25)Item number.
TaxIncludedInPriceCHAR(5)Indicates if the item is being taxed or not. Valid
values are TRUE and FALSE.
RegularSalesUnitPriceCHAR(20)Field holds the unit retail in the standard unit of
retail for the item/location combination.
ActualSalesUnitPriceCHAR(20)Retail price for the item.
ExtendedAmountCHAR(20)Total sales for the item in the detail level.
QtyCHAR(21)Unit sold of the item.

Design Assumptions

N/A

Post User Defined Totals from Sales Audit to General Ledger (saexpgl)

Module Name saexpgl.pc Description Post User Defined Totals from Sales Audit to General Ledger Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Integration Catalog ID RSA09 Wrapper Script rmswrap.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this module is to post all the properly configured user-defined Sales Audit totals to a general ledger application (Oracle or PeopleSoft). Totals without errors will be posted to the appropriate accounting ledger, as defined in the Sales Audit GL cross-reference module. Depending on the unit of work system parameter, the data will be sent at either the store/day or individual total level. Newly revised totals, that have already been posted to the ledger, will have their previous revision reversed, and the new total posted to the appropriate accounts.

When this module encounters a total that is not mapped to the General Ledger (GL), it will write the same into the IF_ERRORS table and raise a notification that unmapped total/store combinations exist. The IF_ERRORS table is available through the Data Access Schema,

which will enable you to query for the error and create the missing mappings. It will also look for records written into IF_ERRORS on previous runs and attempt to reprocess the posting if GL mappings have been created.

‘Late posted totals’ that are received within a duration specified in the Close Month After Days system option after the end of the fiscal period will be processed by the module and posted to the intended month. All late posted totals received after this specified number of days has elapsed will be recorded against the first day of the subsequent month.

Restart/Recovery

The logical unit of work for this module is defined as a unique store/day combination. Records will be fetched, updated, and inserted in batches the size of commit max counter. Only one commit will be performed after a store/day has been completely processed. A call to the release lock functions performs a commit.

I/O Specification

Integration TypeDownload from Sales Audit
File NameN/A
Integration ContractIntCon000019
TG_FIF_GL_DATA

Design Assumptions

N/A

Inbound Scheduled Integration

This section provides a summary of integrations that are scheduled either to be run once per day or periodically throughout the day to retrieve data from another solution to Merchandising or Sales Audit. It includes both file-based and BDI-based integrations.

Item, Cost, and Price

Merchandising subscribes to data related to items, costs, and competitive prices from external sources, such as suppliers, PIM solutions, and so on.

The following scheduled inbound integrations are included in this functional area:

  • Upload Competitor’s Prices (cmpupld)

  • Upload Items and Cost Changes (iindbatch.ksh)

Upload Competitor’s Prices (cmpupld)

Module Name cmpupld.pc Description Upload Competitor’s Prices Functional Area Competitive Pricing Module Type Integration Module Technology ProC Catalog ID RMS61

Wrapper Script rmswrap_in_rej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program is used to upload and process competitor item prices from an external source. The flat file being uploaded can contain pricing data for a completed shopping list or data for a new list of items to be shopped. The module processes data for both features.

Restart/Recovery

This is a file based upload, and file based restart/recovery logic is applied. The commit_max_ctr field should be set to prevent excessive rollback space usage and to reduce the overhead of file I/O. The recommended commit counter setting is 10000 records (subject to change based on experimentation).

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000007

Input File Layout

Table 6-36 Input File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
CHAR (5)FHEADValue that
identifies the
record type.
File Line
Identifier
NUMBER (10)0000000001Sequential file
line number.
File Type
Definition
CHAR(4)CMPUValue that
identifies the file
as that for this
program.
File Create
Date
CHAR (14)N/ADate when the
file was written by
the external
system. It should
be in the
YYYYMMDDHH2
4MISS format.
File DetailFile Type
Record
CHAR (5)FDETLValue that
identifies the
Descriptorrecord type.
File Line
Identifier
NUMBER (10)Sequential file
line number.

Table 6-36 (Cont.) Input File Layout

Record NameField NameField Type
Default Value
Description
Shopper IDNUMBER (4)Numeric value
that uniquely
identifies the
shopper to which
the competitive
shopping list is
assigned.
Shop DateCHAR (14)Date when the
competitive shop
was performed. It
should be in the
YYYYMMDDHH2
4MISS format.
ItemCHAR (25)Alphanumeric
value that
uniquely
identifies the
transaction level
or below
transaction level
item that was
competitively
shopped.
Competitor IDNUMBER(10)Numeric value
that uniquely
identifies a
competitor.
CompetitorNUMBER(10)Numeric value
Store IDthat uniquely
identifies a
competitor’s
store.
Recorded DateCHAR (14)Date when the
item’s retail price
was recorded at
the competitor’s
store. It should
be in the
YYYYMMDD24M
ISS format.
CompetitiveNUMBER(20,4)Numeric value
Retail Pricethat represents

the retail price at
the competitor’s
store. Format for
this value should
include four
implied decimal

places.

Table 6-36 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
CompetitiveCHAR(6)R, P, CValue that
Retail Typerepresents the
retail type (‘R’ is
for regular; ‘P’,
promotional; and
’C’, clearance)
that was
recorded.
Promotion Start
Date
CHAR (14)Effective start
date of the
competitor’s
price. It should
be in the
YYYYMMDDHH2
4MISS format.
Promotion EndCHAR (14)Effective end
Datedate of the
competitor’s
price. It should
be in the
YYYYMMDDHH2
4MISS format.
Offer TypeCHAR(6)Alphanumeric
Codevalue that
corresponds to a
valid offer type
(such as,.
Coupon, Bonus
Card, Pre-
priced). Valid
values are
defined on
CODE_DETAIL
table with
CODE_TYPE
’OFTP’.
Multi-UnitsNUMBER(12,4)Numeric value
that represents
the number of
units that must
be purchased to
qualify for a multi-
unit price. An
example of a
multi-unit price
would be 2
for $3.00. There
are four implied

decimal places.

Table 6-36 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
Multi-Units
Retail
NUMBER(20,4)Numeric value
that represents
the price for a
multi-unit item
that was
competitively
shopped. There
should be four
implied decimal
places.
File TrailerFile Type
Record
Descriptor
CHAR(5)FTAILValue that
identifies the
record type.
File Line
Identifier
NUMBER (10)N/ASequential file
line number.
File Record
Counter
NUMBER (10)N/ANumeric value
that represents
the number of
FDETL records in
the file.

Design Assumptions

  • Items included in the file must be defined as transaction level items in Merchandising.

Upload Items and Cost Changes (iindbatch.ksh)

Module Name iindbatch.ksh Description Upload items and cost changes from an external system Functional Area Item and Cost Maintenance Module Type Integration Module Technology ksh Catalog ID RMS474 Wrapper Script rmswrap_shell_multi_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program is used to bulk upload XML data files from template files to the Merchandising templates table. It supports two types of templates - those for items and those for cost changes. The templates used in this upload are the same as those used for spreadsheet upload of items and cost changes.

See also Oracle Retail Merchandising Induction CSV to XML File Transformer Usage on My Oracle Support (Doc ID 2730273.1), for more details on formatting XML files for this upload.

This batch will be responsible for validating the input parameters, below are the list of validations.

  • The Input file should exist.

  • The Input file’s extension must be “.xml”.

  • The template name should be valid.

  • Destination (Optional Parameter) determines whether data will be loaded into the main Merchandising tables (RMS) or staging tables for further enrichment (STG). If a destination is not included, then it will be defaulted to STG.

Once XML data is loaded into the staging table, the script will do the following:

  • Initializes a row in the process tracker table for asynchronous processing.

  • Call the main induction process that uploads data into the staging tables, validates and inserts data into the base Merchandising item or cost change tables.

Note

The base templates used by this batch are loaded through a script on provisioning (ITEM_MASTER_DATA and COST_CHANGE). Additional templates can be configured using the Data Loading Template Configuration in the Merchandising task list under Application Administration for type Item or Cost Change.

Restart/Recovery

N/A

Design Assumptions

N/A

Ordering and Inventory

Merchandising subscribes to purchasing and inventory data via scheduled integration from external sources, such as stores, warehouses, order management solutions, and import partners.

This section has been broken into the following sub-sections:

  • Purchasing

  • Import Management

  • Stock Counts

  • Franchise

  • Other Inventory

Purchasing

Merchandising subscribes to data related to purchase orders from external sources, such as suppliers, planning solutions, and so on.

The following scheduled inbound integrations are included in this functional area:

  • Upload of Deals from 3rd Party Systems (dealupld)

  • Upload Order Data (poindbatch.ksh)

  • Upload OTB Budget from Planning Systems (otbupld)

  • Upload Purchase Order and Purchase Order Change Acknowledgements from Suppliers to RMS (ediupack)

  • Upload Replenishment Data (replindbatch.ksh)

For more on purchase order processing, see Merchandising Operations Guide - Volume 1 .

Upload of Deals from 3rd Party Systems (dealupld)

Module Name dealupld.pc Description Upload of Deals from 3rd Party Systems Functional Area Deals Module Type Integration Module Technology ProC Catalog ID RMS42 Wrapper Script rmswrap_multi_in_rej.ksh

Design Overview

This process uploads deals from external systems into Merchandising. Generally, deals are uploaded from merchandise suppliers and other trading partners. This program uses a proprietary file format (not any EDI standard).

The deals that are uploaded through the batch are created in the worksheet ( W ) status by default but can be created in the submitted ( S ) or approved ( A ) status as well based on the Deal Upload Status configuration for the supplier. In case of any validation errors during the deal submission or approval, it will be created in the worksheet status and the user needs to manually rectify the error through the Deal UI to approve it.

Note

This functionality is limited to Supplier-based deals. Deals created for other Partners can only be created in the worksheet status.

Backward Compatibility

Added additional parameter to indicate version. If no parameter is given, then the version defaults to 1 (initial version).

Assumptions

1. The fields noted below can be omitted from the file format if you are not creating deals with a billing type of Clearance Consignment Rate (CCR), Promotional Consignment Rate (PCR) or Vendor Funded Promotion (VFP).

  • Consignment Rate in the TDETL record for Transaction Detail Record Type DCDTL .

  • The CPDTL section of the file, including THEAD , TDETL , and TTAIL .

  • a. Clearance Consignment Rate ( CCR ):

  • The DCDTL TDETL Consignment Rate must be included in the upload.

  • The CPDTL section is not required for CCR type.

  • b. Promotional Consignment Rate ( PCR ):

    • The CPDTL section is required for PCR type.
Note

The CPDTL TDETL expects only File Type Record Descriptor, File Line Identifier, Prom ID, Promo Comp Id, Consignment Rate, Reference Line.

  • c. Vendor Funded Promotion ( VPF ):

    • The CPDTL section is required for VPF type.
Note

The CPDTL TDETL expects File Type Record Descriptor, File Line Identifier, Prom ID, Promo Comp Id, Consignment Rate (to be defaulted to 0 as not required for VFP ), Reference Line, Vendor Contrib Type, Contrib Value, and Promo Source.

This is to support backward compatibility.

  • The Promo Source field usage is based on the file version being used.

    • If the file version is 1

      • Promo Source (in the CPDTL TDETL ) is not required and will not be validated.
    • If the file version is 2

    • The Promo Source (in the CPDTL TDETL ) is a required field in the CPDTL TDETL

2. In File version number 3, a new billing type Allowance ( ALW ) has been introduced. Version number 3 need to be explicitly specified by user while calling the batch to create ALW deals.

3. If the input file contains billing type as BB and rebate indicator as Y , then the billing type will be converted to BBR while inserting into the DEAL_HEAD table.

Restart/Recovery

The program uses File based restart recovery process. The logical unit of work is a single deal head detail record and its associated component records in the input file.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000008

Input File Layout

Table 6-37 dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
FHEADFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record type (the
beginning of the input file).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
File Type
Definition
Char(5)EDIDUIdentifies file as ‘EDI Deals
Upload’
File Create
Date
Char(14)Create dateCurrent date, formatted to
‘YYYYMMDDHH24MISS’.
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type to
upload a new deal header.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Detail
Record
Type
Char(5)DHDTLIdentifies file record type Deal
Header. This record MUST BE
FOLLOWED BY ONE AND
ONLY ONE REQUIRED TDETL
RECORD that holds the deal
head information.
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type to
upload a new deal.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Partner
Type
Char(6)REQUIREDType of the partner the deal
applies to. Valid values are ‘S’
for a supplier, ‘S1’ for supplier
hierarchy level 1 (for example,
the manufacturer), ‘S2’ for
supplier hierarchy level 2 (for
example, the distributor) and
’S3’ for supplier hierarchy level 3
(that is, the wholesaler).
Descriptions of these codes will
be held on the codes table
under a code_type of ‘SUHL’.
Information pertaining to a
single deal has to belong to the
same supplier, since a deal may
have only one supplier
hierarchy associated with it.
Only items with the same
supplier hierarchy can be on the
same deal. Supplier hierarchy is
stored at an item / supplier /
country / location level.
Partner IdChar(10)Blank
(space
character
string)
Level of supplier hierarchy (for
example, manufacturer,
distributor or wholesaler), set up
as a partner in the PARTNER
table, used for assigning
rebates by a level other than
supplier. Rebates at this level
will include all eligible supplier/
item/country records assigned
to this supplier hierarchy level.
This field is required if the
Partner Type field was set to
‘S1’, ‘S2’ or ‘S3’. This field must
be blank if the Partner Type field
was set to ‘S’.
SupplierNumber
(10)
Blank
(space
character
string)
Deal supplier’s number. This
supplier can be at any level of
supplier hierarchy.
This field is required if the
Partner Type field was set to ‘S’.
This field must be blank if the
Partner Type field was set to
‘S1’, ‘S2’ or ‘S3’.
Deals for items with an
ownership of Consignment can
only be set up for the primary
supplier for the given item/
location combination.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
TypeChar(6)REQUIREDType of the deal. Valid values
are A for annual deal, P for
promotional deal, O for PO-
specific deal or M for vendor-
funded markdown. Deal types
will be held on the codes table
under a code type of ‘DLHT’.
Currency
Code
Char(3)Blank
(space
character
Currency code of the deal’s
currency. All costs on the deal
will be held in this currency.
string)If Type is ‘O’, ‘P’ or ‘A’, then
Currency Code may not be
blank. Currency Code has to be
blank if Type is ‘M’.
Active DateChar(14)REQUIREDDate the deal will become
active. This date will determine
when deal components begin to
be factored into item costs. For
a PO-specific deal, the active
date will be the order’s written
date.
Close DateChar(14)Blank
(space
character
string)
Date the deal will/did end. This
date determines when deal
components are no longer
factored into item costs. It is
optional for annual deals,
required for promotional deals.
It will be left NULL for PO-
specific deals.
Close Date must not be blank if
Type is ‘P’ or ‘M’. Close Date
has to be blank if Type is ‘O’.
External
Reference
Number
Char(30)Blank
(space
character
string)
Any given external reference
number that is associated with
the deal.
Order
Number
Number
(12)
Blank
(space
character
string)
Order the deal applies to, if the
deal is PO-specific.
Recalculate
Approved
Orders
Char(1)REQUIREDIndicates if approved orders
should be recalculated based
on this deal once the deal is
approved. Valid values are Y for
yes or N for no.
Valid values are ‘Y’ and ‘N’.
CommentsChar (2000)Blank
(space
character
string)
Free-form comments entered
with the deal.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Billing TypeChar(6)REQUIREDBilling type of the deal
component.
Valid values are ‘OI’ for off-
invoice, ‘BB’ for bill-back, ‘BBR’
for bill-back rebate, ‘VFP’ for
vendor funded promotion, ‘VFM’
for vendor funded markdown,
‘CCR’ for clearance
consignment rate and ‘PCR’ for
promotional consignment rate
and ‘ALW’ for allowance. Billing
types are held in the codes
table under a code type of
’DLBT’.
Bill Back
Period
Char(6)Blank
(space
character
string)
Code that identifies the bill-back
period for the deal component.
This field will only be populated
for billing types of ‘BB’ or ‘BBR’
or ‘VFP’ or ‘VFM’. Valid bill back
period codes are ‘W’, ‘M’, ‘Q’,
‘H’, ‘A’.
If Billing Type is ‘BB’ or ‘BBR’,
then Bill Back Period must not
be blank; if Billing Type is ‘OI’
(off invoice), ‘CCR’ (clearance
consignment rate), ‘PCR’
(promotional consignment rate,
then Bill back Period has to be
blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Deal
Invoicing
Basis
Char(6)Blank
(space
character
string)
Indicates when and how the
deal component should be
applied for invoicing for
Purchase Based Bill Back
deals. Valid values are ‘O’ for
Approved POs, ‘R’ for Net
Receipts, ‘G’ for Gross
Receipts, and ‘S’ for Shipment.
These values will be held on the
codes tables under a code type
of ‘AALC’. In case of ‘O’ –
Approved POs, the deal would
apply based on when the PO
was approved, in case of ‘R’ –
Net Receipts and ‘G’ – Gross
Receipts, the deal would apply
based on when receipt was
made and in case of ‘S’ –
Shipment, the deal would apply
based on when shipment was
made. In case of Net Receipts,
receipts are adjusted for
Returns to Vendor (RTVs) and
Receiver Unit and Cost
Adjustments; while in case of
Gross Receipts, gross value of
receipts are considered. This
attribute is not applicable to an
M-type deal (vendor funded
markdown) and must be NULL.
Threshold
Limit Type
Char(6)Blank
(space
character
string)
Identifies whether thresholds
will be set up as quantity
values, currency amount values
or percentages (growth rebates
only). Valid values are ‘Q’ for
quantity, ‘A’ for currency
amount. Threshold limit types
will be held on the codes table
under a code type of ‘DLLT’. It
must be NULL for an M-type
deal (vendor funded markdown)
or if the threshold value type is
‘Q’ (buy/get deals) or a
’CCR’/‘PCR’ deal.
If Growth Rebate Indicator is ‘Y’,
then the Threshold Limit Type
has to be ‘Q’, ‘A’ or NULL.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Threshold
Limit Unit of
Measure
Char(4)Blank
(space
character
string)
Unit of measure of the threshold
limits, if the limit type is quantity.
Only Unit of Measures with a
UOM class of ‘VOL’ (volume),
‘MASS’ or ‘QTY’ (quantity) can
be used in this field. Valid Unit
of Measures can be found on
the UOM_CLASS table.
If the Threshold Limit Type is
’A’, then Threshold Limit Unit of
Measure has to be blank. If the
Threshold Limit Type is ‘Q’,
Threshold Limit Unit of Measure
must not be blank. If Threshold
Limit Type is blank, Threshold
Limit Unit of Measure must be
blank.
Rebate
Indicator
Char(1)REQUIREDIndicates if the deal component
is a rebate. Deal components
can only be rebates for bill-back
billing types. Valid values are ‘Y’
for yes or ‘N’ for no.
If Billing Type is ‘BB’, ‘OI’, ‘CCR’
or ‘PCR’, then Rebate Indicator
must be ‘N’.
Rebate
Calculation
Type
Char(6)Blank
(space
character
string)
Indicates if the rebate should be
calculated using linear or scalar
calculation methods. Valid
values are ‘L’ for linear or ‘S’ for
scalar. This field will be required
if the rebate indicator is ‘Y’.
Rebate calculation types will be
held on the codes table under a
code type of ‘DLCT’.
If Rebate Indicator is ‘Y’, then
Rebate Calculation Type must
not be blank. Otherwise it has to
be blank.
Growth
Rebate
Indicator
Char(1)REQUIREDIndicates if the rebate is a
growth rebate, meaning it is
calculated and applied based
on an increase in purchases or
sales over a specified period of
time. Valid values are ‘Y’ for yes
or ‘N’ for no.If Rebate Indicator
is ‘N’, then Growth Rebate
Indicator must be ‘N’.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Historical
Comparison
Start Date
Char(14)Blank
(space
character
string)
The first date of the historical
period against which growth will
be measured in this growth
rebate. Note performance and
the rebate amount are not
calculated - this field is for
informational/reporting
purposes only.
If Growth Rebate Indicator is ‘Y’,
then Historical Comparison
Start Date must not be blank.
Otherwise it must be blank.
Historical
Comparison
End Date
Char(14)Blank
(space
character
string)
The last date of the historical
period against which growth will
be measured in this growth
rebate. Note performance and
the rebate amount are not
calculated - this field is for
informational/reporting
purposes only.
If Growth Rebate Indicator is ‘Y’,
then Historical Comparison End
Date must not be blank.
Otherwise it must be blank.
Rebate
Purchases
or Sales
Char(6)Blank
(space
character
Indicates if the rebate should be
applied to purchases or sales.
Valid values are ‘P’ for
Application
Indicator
string)purchases, ‘S’ for sales, and ‘I’
for issues. It will be required if
the rebate indicator is ‘Y’.
Rebate purchase/sales
indicators will be held on the
codes table under a code type
of ‘DLRP’.
If the Rebate Indicator is ‘Y’,
then the Rebate Purchases or
Sales Application Indicator must
not be blank. Otherwise it has to
be blank.
Security
Indicator
CharYSecurity Indicator
TTAILFile Line
Identifier
Char(5)TTAILIdentifies file record type (the
end of the transaction detail).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Transaction
Record
Counter
Numeric
ID(6)
Sequential
number
Created by
program.
Number of records/transactions
in current transaction set (only
records between thead and
ttail). For DHDTL TDETL
records this will always be 1!
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type to
upload a new deal sub loop.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Detail
Record
Type
Char(5)DCDTLIdentifies file record type of sub
loop as Deal Component Detail.
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type to
upload deal components.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Deal
Component
Type
Char(6)REQUIREDType of the deal component,
user-defined and stored on the
DEAL_COMP_TYPE table.
Application
Order
Number
(10)
Blank
(space
character
string)
Number indicating the order in
which the deal component
should be applied with respect
to any other deal components
applicable to the item within the
deal. This number will be
unique across all deal
components within the deal. It
must be NULL for an M-type
deal (vendor funded
markdown).
Collect
Start Date
Char(14)Blank
(space
character
string)
Date that collection of the bill-
back should begin.
If Billing Type is ‘BB’ or ‘BBR’
then Collect Start Date must not
be blank, otherwise it has to be
blank.
Collect End
Date
Char(14)Blank
(space
character
string)
Date that collection of the bill-
back should end.
If Billing Type is ‘BB’ or ‘BBR’
then Collect End Date must not
be blank, otherwise it has to be
blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Cost
Application
Level
Indicator
Char(6)Blank
(space
character
string)
Indicates what cost bucket the
deal component should affect.
Valid values are ‘N’ for net cost,
‘NN’ for net cost and ‘DNN’ for
dead net cost. These values will
be held on the codes tables
under a code type of ‘DLCA’. It
must be NULL for an M-type
deal (vendor funded
markdown), ‘CCR’ or ‘PCR’
deals. It must be N for ‘ALW’
deal.
Pricing Cost
Indicator
Char(1)REQUIREDIdentifies deal components that
should be included when
calculating a pricing cost.
Valid values are ‘Y’es and ‘N’o.
Deal ClassChar(6)Blank
(space
character
string)
Identifies the calculation class
of the deal component. Valid
values are ‘CU’ for cumulative
(discounts are added together
and taken off as one lump sum),
‘CS’ for cascade (discounts are
taken one at a time with
subsequent discounts taken off
the result of the previous
discount) and ‘EX’ for exclusive
(overrides all other discounts).
’EX’ type deal components are
only valid for promotional deals.
Deal classes will be held on the
codes table under a code type
of ‘DLCL’. It must be NULL for
an M-type deal (vendor funded
markdown), ‘CCR’, ‘PCR’, and
‘ALW’ deals.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Threshold
Value Type
Char(6)Blank
(space
character
string)
Identifies whether the discount
values associated with the
thresholds will be set up as qty
values, currency amount values,
percentages or fixed amounts.
Valid values are ‘Q’ for qty, ‘A’
for currency amount, ‘P’ for
percentage or ‘F’ for fixed
amount. Qty threshold value
(buy/get) deals are only allowed
on off-invoice discounts. Deal
threshold value types will be
held on the codes table under a
code type of ‘DLL2’. It must be
NULL for an M-type deal
(vendor funded markdown),
‘CCR’ and ‘PCR’ deals.
If Billing Type is ‘BB’ or ‘BBR’,
then the Threshold Value Type
must be ‘A’ or ‘P’. If billing type
is ‘ALW’ it can have values ‘A’
or ‘P’
Buy ItemChar(25)Blank
(space
character
string)
Identifies the item that must be
purchased for a quantity
threshold-type discount. This
value is required for quantity
threshold value type discounts.
Otherwise it has to be blank.
Get TypeChar(6)Blank
(space
character
string)
Identifies the type of the ‘get’
discount for a quantity
threshold-type (buy/get)
discount. Valid values include
’X’ (free), ‘P’ (percent), ‘A’
(amount) and ‘F’ (fixed amount).
They are held on the codes
table under a code type of
’DQGT’. This value is required
for quantity threshold value
deals. Otherwise it has to be
blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Get ValueNumber(20,
4)
All 0s.Identifies the value of the ‘get’
discount for a quantity
threshold-type (buy/get)
discount that is not a ‘free
goods’ deal. The Get Type
above identifies the type of this
value. This value is required for
quantity threshold value type
deals that are not a Get Type of
free. Otherwise it has to be 0.
If Get Type is ‘P’, ‘A’ or ‘F’, then
Get Value must not be blank. If
the Get Type is ‘X’ or blank,
then Get Value has to be blank.
Buy Item
Quantity
Number(12,
4)
All 0s.Identifies the quantity of the
threshold ‘buy’ item that must
be ordered to qualify for the
’free’ item. This value is
required for quantity threshold
value type discounts. Otherwise
it has to be 0.
Recursive
Indicator
Char(1)REQUIREDFor ‘buy/get free’ discounts,
indicates if the quantity
threshold discount is only for
the first ‘buy amt.’ purchased
(such as, for the first 10
purchased, get 1 free), or if a
free item will be given for every
multiple of the ‘buy amt’
purchased on the order (such
as, for each 10 purchased, get 1
free). Valid values are ‘Y’ for yes
or ‘N’ for no.
If the Get Type is blank, then
Recursive Indicator has to be
‘N’.
Buy Item
Order
Number(12,
4)
All 0s.Indicates the targeted purchase
level for all locations on a
Target
Quantity
purchase order. This is the
target level that will be used for
future calculation of net cost.
This value is required for
quantity threshold value type
deals. Otherwise it has to be 0.
Average
Buy Item
Order
Target
Number(12,
4)
All 0s.Indicates the average targeted
purchase level per location on
the deal. This value will be used
in future cost calculations. This
Quantity
Per
Location
value is required for quantity
threshold value type deals.
Otherwise it has to be 0.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Get ItemChar(25)Blank
(space
character
string)
Identifies the ‘get’ item for a
quantity threshold-type (buy/
get) discount. This value is
required for quantity threshold
value deals. Otherwise it has to
be blank.
If Get Type is ‘P’, ‘A’, ‘F’ or ‘X’,
then Get Item must not be
blank. If the Get Type is blank,
then Get Item has to be blank.
Get
Quantity
Number(12,
4)
All 0s.Identifies the quantity of the
identified ‘get’ item that will be
given at the specified ‘get’
discount if the ‘buy amt’ of the
buy item is purchased. This
value is required for quantity
threshold value type discounts.
Otherwise it has to be 0.
If Get Type is ‘P’, ‘A’, ‘F’ or ‘X’,
then Get Quantity must not be
0. If the Get Type is blank, then
Get Quantity has to be 0.
Free Item
Unit Cost
Number(20,
4)
All 0s.For ‘buy/get free’ discounts,
identifies the unit cost of the
threshold ‘free’ item that will be
used in calculating the prorated
qty. discount. It will default to
the item/supplier cost, but can
be modified based on the
agreement with the supplier. It
must be greater than zero as
this is the cost that would
normally be charged for the
goods if no deal applied.
If Get Type is ‘P’, ‘A’, ‘F’ or
blank, then Free Item Unit Cost
must be 0. If the Get Type is ‘X’,
then Free Item Unit Cost must
not be 0.
Transaction
Level
Discount
Indicator
Char(1)REQUIREDIndicates if the discount is a
transaction-level discount (for
example, 10% across an entire
PO).
Valid Values are ‘Y’ or ‘N’. If set
to ‘Y’, Deal Class has to be ‘CU’
and Billing Type has to be ‘OI’.
For ‘CCR’, ’PCR’, and ‘ALW’
deals, the valid value is ‘N’. No
DIDTL or PPDTL records may
be present for a Transaction
Level Discount DCDTL record.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
CommentsChar(2000)Blank
(space
character
string)
Free-form comments entered
with the deal component.
Get Free
Discount
Number(12,
4)
All 0s.This specifies how much
percentage of the total discount
should be apportioned from the
get items unit cost for off invoice
deals where buy item is not
same as the get item and
QTY_THRESH_GET_TYPE is
X. The remaining will be
apportioned from the buy item
unit cost.
Consignme
nt Rate
Number(12,
4)
All 0s.Rate used to capture the deal
consignment rate applicable for
the set of item/location
combinations that are included
in the deal during the deal
timeframe, instead of the
regular consignment rate.
TTAILFile Line
Identifier
Char(5)TTAILIdentifies file record type (the
end of the transaction detail).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Record
Counter
Numeric
ID(6)
Sequential
number
Created by
program.
Number of records/transactions
in current transaction set (only
records between thead and
ttail).
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type to
upload a new deal sub loop.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Detail
Record
Type
Char(5)CPDTLIdentifies file record type of sub
loop as Deal Component Prom.
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type to
upload deal proof of
performance details.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Prom IDNumber
(10)
All 0s.Promotion identification number.
Promo
Comp Id
Number
(10)
All 0s.Promotion offer identification
number.
Consignme
nt Rate
Number(12,
4)
All 0s.Rate used to capture the deal
consignment rate applicable for
the set of item/location
combinations that are included
in the deal during the deal
timeframe, instead of the
regular consignment rate.
Reference
Line
Number
(10)
REQUIREDThis value determines which
line in the input file this deal
component-promotional record
belongs to.
Vendor
Contrib
Type
Varchar2(6)Blank
(space
character
string).
Vendor Contribution Type can
be ‘P’ Percent or ‘A’ Amount,
and is required for VFP Deal.
This field is not required for
PCR Deal
Contrib
Value
Number(20,
4)
All 0sRate used to capture the deal
Contribution Value applicable
for the set of item/location
combinations that are included
in the deal during the deal
timeframe.
If Vendor Contrib Type is ‘P’,
then the value should be
between 0 and 100.
For Vendor Contrib Type ‘A’, a
positive value is required.
Promo
Source
Varchar2(2)Blank
(space
character
string).
This contains the Promo
Source. Valid values are ‘MP’
(Merch Pricing) or ’CE’
(Customer Engagement).
If the Promo Source is ‘MP’, the
promo_id and promo_comp_id
(offer_id) should be from
Pricing.
2
If the Promo Source is ‘CE’, the
promo_id (promotion_id) and
promo_comp_id (deal_id)
should be from the Customer
Engagement (CE).
TTAILFile Line
Identifier
Char(5)TTAILIdentifies file record type (the
end of the transaction detail).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Transaction
Record
Counter
Numeric
ID(6)
Sequential
number
Created by
program.
Number of records/transactions
in current transaction set (only
records between thead and
ttail).
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type to
upload a new deal sub loop.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Detail
Record
Type
Char(5)DIDTLIdentifies file record type of sub
loop as Deal Component Item-
location Detail.
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type to
upload deal item-location
details.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Merchandis
e Level
Char(6)REQUIREDIndicates what level of the
merchandise hierarchy the
record is at. Valid values include
’1’ for company-wide (all items),
‘2’ for division, ‘3’ for group, ‘4’
for dept, ‘5’ for class, ‘6’ for
subclass, ‘7’ for line, ‘8’ for line/
differentiator 1, ‘9’ for line/
differentiator 2’ ‘10’ for line/
differentiator 3, ‘11’ for line/
differentiator 4 and ‘12’ for.
These level types will be held
on the codes table under a code
type of ‘DIML’.
Company
Indicator
Char(1)REQUIREDIndicates if the deal component
is applied company-wide (that
is, whether all items in the
system will be included in the
discount or rebate). Valid values
are ‘Y’ for yes and ‘N’ for no.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
DivisionNumber (4)Blank
(space
character
string)
ID of the division included in or
excluded from the deal
component. Valid values are on
the DIVISION table.
If Group is not blank, then
Division must not be blank. If
Merchandise Level is 2, then
Division must not be blank and
Group, Department, Class and
Subclass must be blank.
GroupNumber (4)Blank
(space
character
string).
ID of the group included in or
excluded from the deal
component. Valid values are on
the GROUPS table.
If Department is not blank, then
Group must not be blank. If
Merchandise Level is 3, then
Group must not be blank and
Department, Class and
Subclass must be blank.
DepartmentNumber (4)Blank
(space
character
string).
ID of the department included in
or excluded from the deal
component. Valid values are on
the DEPS table.
If Class is not blank, then
Department must not be blank.
If Merchandise Level is 4, then
Department must not be blank
and Class and Subclass must
be blank.
ClassNumber (4)Blank
(space
character
string).
ID of the class included in or
excluded from the deal
component. Valid values are on
the CLASS table.
If Subclass is not blank, then
Class must not be blank. If
Merchandise Level is 5, then
Class must not be blank and
Subclass must be blank.
SubclassNumber (4)Blank
(space
character
string).
ID of the subclass included in or
excluded from the deal
component. Valid values are on
the SUBCLASS table.
If Merchandise Level is 6 or
more than 6, then Subclass
must not be blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Item ParentChar(25)Blank
(space
character
string)
Alphanumeric value that
uniquely identifies the item/
group at the level above the
item. This value must exist as
an item in another row on the
ITEM_MASTER table.
If Merchandise Level is 7, then
Item Parent or Item
Grandparent must not be blank
(at least one of them has to be
given).
Item
Grandparen
t
Char(25)Blank
(space
character
string)
Alphanumeric value that
uniquely identifies the item/
group two levels above the item.
This value must exist as both an
item and an item parent in
another row on the
ITEM_MASTER table.
If Merchandise Level is 7, then
Item Parent or Item
Grandparent must not be blank
(at least one of them has to be
given).
Differentiato
r 1
Char(10)Blank
(space
character
string)
Diff_group or diff_id that
differentiates the current item
from its item_parent.
If Item Grandparent, Item
Parent and Differentiator 2 are
blank, then Differentiator 1 must
be blank. If Merchandise Level
is 8, then Differentiator 1 must
not be blank.
Differentiato
r 2
Char(10)Blank
(space
character
Diff_group or diff_id that
differentiates the current item
from its item_parent.
string)If Item Grandparent, Item
Parent and Differentiator 1 are
blank, then Differentiator 2 must
be blank. If Merchandise Level
is 9, then Differentiator 2 must
not be blank.
Differentiato
r 3
Char(10)Blank
(space
character
string)
Diff_group or diff_id that
differentiates the current item
from its item_parent.
If Item Grandparent, Item
Parent and Differentiator 1 and
2 are blank, then Differentiator 3
must be blank. If Merchandise
Level is 10, then Differentiator 3
must not be blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Differentiato
r 4
Char(10)Blank
(space
character
string)
Diff_group or diff_id that
differentiates the current item
from its item_parent.
If Item Grandparent, Item
Parent and Differentiator 1, 2
and 3 are blank, then
Differentiator 4 must be blank. If
Merchandise Level is 10, then
Differentiator 4 must not be
blank.
Organizatio
nal Level
Char(6)Blank
(space
character
string)
Indicates what level of the
organizational hierarchy the
record is at. Valid values include
’1’ for chain, ‘2’ for area, ‘3’ for
region, ‘4’ for district and ‘5’ for
location. These level types will
be held on the codes table
under a code type of ‘DIOL’.
If company indicator is N, this
must not be blank. If location
type is warehouse or location
list, this must be 5.
ChainNumber
(10)
Blank
(space
character
string).
ID of the chain included in or
excluded from the deal
component. Valid values are on
the CHAIN table.
If org. level is 1, this field must
not be blank.
AreaNumber
(10)
Blank
(space
character
string).
ID of the area included in or
excluded from the deal
component. Valid values are on
the AREA table.
If org. level is 2, this field and
chain must not be blank.
RegionNumber
(10)
Blank
(space
character
string).
ID of the region included in or
excluded from the deal
component. Valid values are on
the REGION table.
If org. level is 3, this field, area,
and chain must not be blank.
DistrictNumber
(10)
Blank
(space
character
string).
ID of the district included in or
excluded from the deal
component. Valid values are on
the DISTRICT table.
If org. level is 4, then this field,
region, area, and chain must
not be blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
LocationNumber
(10)
Blank
(space
character
string).
ID of the location included in or
excluded from the deal
component. Valid values are on
the STORE, WH, or
LOC_LIST_HEAD table.
If org. level is 5, this field must
not be blank. Chain, area,
region, and district should be
blank if the loc_type is L or W. If
the loc_type is S, then they all
must not be blank.
If Location Type is not blank,
then Location must not be
blank. Otherwise it has to be
blank.
Origin
Country
Identifier
Char(3)Blank
(space
character
string)
Origin country of the item that
the deal component should
apply to.
Location
Type
Char(1)Blank
(space
character
string)
Type of the location referenced
in the location field. Valid values
are ‘S’ and ‘W’. Location types
will be held on the codes table
under the code type ‘LOC3’.
If location is blank then this field
has to be blank also.
ItemChar(25)Blank
(space
Unique alphanumeric value that
identifies the item.
character
string)
If Merchandise Level is 10, then
Item must not be blank.
Exclusion
Indicator
Char(1)REQUIREDIndicates if the deal component
item/location line is included in
the deal component or excluded
from it. Valid values are ‘Y’ for
yes or ‘N’ for no.
Reference
Line
Number
(10)
REQUIREDThis value determines which
line in the input file this item-loc
record belongs to.
TTAILFile Line
Identifier
Char(5)TTAILIdentifies file record type (the
end of the transaction detail).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Record
Numeric
ID(6)
Sequential
number
Number of records/transactions
in current transaction set (only
CounterCreated by
program.
records between thead and
ttail).

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type to
upload a new deal sub loop.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Detail
Record
Type
Char(5)PPDTLIdentifies file record type of sub
loop as Proof of Performance
Detail.
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type to
upload deal proof of
performance details.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Deal Sub
Item
Char(25)No dataSpecific transaction level (or
below) item that’s proof of
performance is being
measured. This can be
populated when the deal itself is
on a case UPC but the proof of
performance is on an individual
selling unit.
Proof of
Performanc
e Type
Char(6)REQUIREDCode that identifies the proof of
performance type (that is, the
term is that the item must be
displayed on an end cap for 28
days - the pop_type is code
’ECD’ for end cap display). Valid
values for this field are stored in
the code_type = ‘PPT’. This
field is required by the
database.
Proof of
Performanc
e Value
Number
(20,4)
All 0s.Value that describes the term of
the proof of performance type
(that is, the term is that the item
must be displayed on an end
cap for 28 days - the pop_value
is 28). This field is required by
the database if the record has a
pop_value_type.
If Proof of Performance Value is
not blank, then Proof of
Performance Value Type must
not be blank. If Proof of
Performance Value is blank,
then Proof of Performance
Value Type must be blank.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
Proof of
Performanc
e Value
Type
Char(6)Blank
(space
character
string)
Value that describes the type of
the pop_value (that is, the term
is that the item must be
displayed on an end cap for 28
days - the pop_value_type is
the code ‘DAYS’ for days). Valid
values for this field are stored in
the code_type = ‘PPVT’. This
field is required by the database
if the record has a pop_value.
If Proof of Performance Value is
not blank, then Proof of
Performance Value Type must
not be blank. If Proof of
Performance Value is blank,
then Proof of Performance
Value Type must be blank.
Vendor
Recommen
ded Start
Date
Char(14)Blank
(space
character
string)
This column holds the date that
the vendor recommends that
the POP begin.
Vendor
Recommen
ded End
Date
Char(14)Blank
(space
character
string)
This column holds the date that
the vendor recommends that
the POP end.
Planned
Start Date
Char(14)Blank
(space
character
string)
This column holds the date that
the merchandiser/category
manager plans to begin the
POP.
Planned
End Date
Char(14)Blank
(space
character
string)
This column holds the date that
the merchandiser/category
manager plans to end the POP.
CommentChar(255)Blank
(space
character
string)
Free-form comments.
Reference
Line
Number
(10)
REQUIREDThis value determines which
line in the input file this Proof of
Performance record belongs to.
TTAILFile Line
Identifier
Char(5)TTAILIdentifies file record type (the
end of the transaction detail).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Record
Counter
Numeric
ID(6)
Sequential
number
Created by
program.
Number of records/transactions
in current transaction set (only
records between thead and
ttail).

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
THEADFile Type
Record
Descriptor
Char(5)THEADIdentifies file record type to
upload a new deal sub loop.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Detail
Record
Type
Char(5)DTDTLIdentifies file record type of sub
loop as Deal Component
Threshold Detail.
TDETLFile Type
Record
Descriptor
Char(5)TDETLIdentifies file record type to
upload deal threshold details.
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Lower LimitNumber
(20,4)
REQUIREDLower limit of the deal
component. This is the
minimum value that must be
met in order to get the specified
discount. This value will be
either a currency amount or
quantity value, depending on
the value in the
deal_detail.threshold_limit_type
field of this deal component
(Threshold Value Type field of
the DCDTL record that this
DTDTL record belongs to as
specified in the reference line
field).
Upper LimitNumber
(20,4)
REQUIREDUpper limit of the deal
component. This is the
maximum value for which the
specified discount will apply.
This value will be either a
currency amount or quantity
value, depending on the value
in the
deal_detail.threshold_limit_type
field of this deal component
(Threshold Value Type field of
the DCDTL record that this
DTDTL record belongs to as
specified in the reference line
field).

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record**Field Name **Field TypeDefault
Description/ConstraintsAdded in
NameValueVersion
ValueNumber
(20,4)
REQUIREDValue of the discount that will be
given for meeting the specified
thresholds for this deal
component. This value will be
either a currency amount or
quantity value, depending on
the value in the
deal_detail.threshold_value_typ
e field of this deal component
(Threshold Value Type field of
the DCDTL record that this
DTDTL record belongs to as
specified in the reference line
field).
Target Level
Indicator
Char(1)REQUIREDIndicates if a threshold level is
the targeted purchase or sales
level for a deal component. This
indicator will be used for cost
calculations. Valid values are ‘Y’
for yes and ‘N’ for no.
Reference
Line
Number
(10)
REQUIREDThis value determines which
line in the input file this
Threshold record belongs to.
Allowance_
comp_id
Char(10)Blank
(space
character
string)
This field will hold an allowance
component that contains the
details on how the allowance is
to be calculated. This field is
mandatory if the billing type is
‘ALW’.
3
Allowance_
comp_rate
Number(20,
4)
Blank
(space
character
string)
The field will hold the rate for an
allowance
3
TTAILFile Line
Identifier
Char(5)TTAILIdentifies file record type (the
end of the transaction detail).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.
Transaction
Record
Counter
Numeric
ID(6)
Sequential
number
Created by
program.
Number of records/transactions
in current transaction set (only
records between thead and
ttail).
FTAILFile Line
Identifier
Char(5)FTAILIdentifies file record type (the
end of the input file).
File Line
Identifier
Numeric
ID(10)
Sequential
number
Created by
program.
ID of current line being read
from input file.

Table 6-37 (Cont.) dealupld.pc - Input File Layout

Record
Name
**Field Name **Field TypeDefault
Value
Description/ConstraintsAdded in
Version
File Record
Counter
Numeric
ID(10)
Sequential
number
Number of records/transactions
in current file (only records
Created bybetween head and tail).
program.

The input file structure should be as below:

FHEAD
{
THEAD of DHDTL    REQUIRED   for deal head record
   TDETL          REQUIRED   1 deal head record
   TTAIL          REQUIRED   end of deal head record
   THEAD of DCDTL REQUIRED   for deal component records
   [
      TDETL       OPTIONAL   for deal component records
   ]
   TTAIL          REQUIRED   end of deal component records
   THEAD of CPDTL OPTIONAL   for deal component promotion records
   [
      TDETL          OPTIONAL   for deal component promotion records
   ]
   TTAIL          OPTIONAL   end of deal component promotion records
   THEAD of DIDTL REQUIRED   for item-loc records
   [
      TDETL       OPTIONAL   for item-loc records
   ]
   TTAIL          REQUIRED   end of item-loc records
   THEAD of PPDTL REQUIRED   for proof of performance records
   [
      TDETL       OPTIONAL   for proof of performance records
   ]
   TTAIL          REQUIRED   end of proof of performance records
   THEAD of DTDTL REQUIRED   for threshold records
   [
      TDETL       OPTIONAL   for threshold records
   ]
   TTAIL          REQUIRED   end of threshold records
}
FTAIL
   THEAD   of DIDTL   REQUIRED   for item-loc records
   [
        TDETL         OPTIONAL   for item-loc records
   ]
   TTAIL              REQUIRED   end of item-loc records
   THEAD of PPDTL     REQUIRED   for proof of performance records
   [
        TDETL         OPTIONAL   for proof of performance records
   ]
   TTAIL              REQUIRED   end of proof of performance records
   THEAD   of DTDTL   REQUIRED   for threshold records
   [
        TDETL         OPTIONAL   for threshold records
   ]
   TTAIL              REQUIRED   end of threshold records
} FTAIL
Vendor ContribVarchar2(6)Blank (spaceVendor
Typecharacter
string).
Contribution
Type can be ‘P’
Percent or ‘A’
Amount, and is
required for
VFP Deal. This
field is not
required for
PCR Deal
Contrib ValueNumber(20,4)All 0sRate used to
capture the deal
Contribution
Value
applicable for
the set of item/
location
combinations
that are
included in the
deal during the
deal timeframe.
If Vendor
Contrib Type is
‘P’, then the
value should be
between 0 and
100.
For Vendor
Contrib Type
‘A’, a positive
value is
required.

Promo Source Varchar2(2) Blank (space This contains 2 character the Promo string). Source. Valid values are ‘MP’ (Merch Pricing) or ’CE’ (Customer Engagement). If the Promo Source is ‘MP’, the promo_id and promo_comp_id (offer_id) should be from Pricing. If the Promo Source is ‘CE’, the promo_id (promotion_id) and promo_comp_id (deal_id) should be from the Customer Engagement (CE). Module Name poindbatch.ksh Description Upload Order Data Functional Area Purchase Order Maintenance Module Type Integration Module Technology Ksh Catalog ID RMS234 Wrapper Script rmswrap_shell_multi_in.ksh

Upload Order Data (poindbatch.ksh)

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program is used to Bulk upload xml file data from template files to S9T_FOLDER table (into content_xml column).

This batch will be responsible for validating the input parameters, below are the list of validations.

  • The Input file should exist.

  • The Input file’s extension must be “.xml”.

  • The template_name should be valid. Function S9T_PKG.CHECK_TEMPLATE is called for validation.

  • Destination (Optional Parameter) should be STG or Merchandising. If destination is not passed then default it to STG.

Once XML data is loaded into S9T_FOLDER table, the script will do post processing by calling the packages listed below:

  • PO_INDUCT_SQL.INIT_PROCESS - This initialize a row in svc_process_tracker for asynchronous processing.

  • PO_INDUCT_SQL.EXEC_ASYNC - This function calls the main induction process that uploads data into the staging tables, validates and inserts data into the base Merchandising purchase order tables.

Note

The base templates used by this batch are loaded through a script on provisioning (PURCHASE_ORDER_DATA). Additional templates can be configured using the Data Loading Template Configuration in the Merchandising task list under Application Administration for type Purchase Orders.

Restart/Recovery

N/A

Design Assumptions

N/A

Upload OTB Budget from Planning Systems (otbupld)

Module Name otbupld.pc Description Upload OTB Budget from Planning Systems Functional Area Open To Buy Module Type Integration Module Technology ProC Catalog ID RMS132 Wrapper Script rmswrap_multi_in_rej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this batch module is to accept new and updated open to buy (OTB) budget data from an external planning system. Merchandising supports three types of OTB budgets – those associated with Non-Basic (N/B), Buyer Replenished Basic (BRB) and Auto-Replenished Basic (ARB) orders, as defined by the Order type on Merchandising purchase orders. OTB budgets are created by subclass/end of week date in Merchandising.

Restart/Recovery

Processing of each row is independent and thus if an erroneous record is found during processing; only that record needs to be corrected and reprocessed.

If a record fails validation, it will be written to a rejected record file. This file will facilitate easy reprocessing once the error is fixed by writing the record exactly as it was in the source file.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000033

Input File Layout

Table 6-38 otbupld - Input File

Record NameField NameField TypeDefault ValueDescription
FHEADFile head
descriptor
Char(5)FHEADDescribes file
line type
Line idNumber(10)0000000001Sequential file
line number
File Type
Definition
Char(4)‘OTBI’Identifies file as
‘OTB Import’
File Create
Date
Char(14)N/AThe date on
which the file
was written by
external
system. The
Date is in
YYYYMMDDHH
24MISS format
SubclassNumber(4)The ID number
of a subclass
within the class
given
Eow DateChar(14)The end of
week date for
the budgeted
week in
YYYYMMDDHH
24MISS format
FDETLFile record
descriptor
Char(5)FDETLDescribes file
line type
Line IDNumber(10)N/ASequential file
line number
Transaction Set
Control Number
Number(14)N/ASequence
number used to
force unique
transaction
check

Table 6-38 (Cont.) otbupld - Input File

Record NameField NameField TypeDefault ValueDescription
Order TypeChar(1)N/AOrder type
budgeted for:
specified as A
for ARB, B for
BRB, and N for
N/B
DepartmentNumber(4)N/AThe ID number
of a department
ClassNumber(4)N/AThe ID number
of a class within
the department
given
SubclassNumber(4)N/AThe ID number
of a subclass
within the class
given
Eow DateChar(14)N/AThe end of
week date for
the budgeted
week in
YYYYMMDDHH
24MISS forma
Budget AmountNumber(20)N/ABudgeted
amount for the
specified order
type/week;
value includes 4
implied decimal
places
FTAILFile record
descriptor
Char(5)N/AMarks end of
file
Line IDNumber(10)Line number in
file
Sequential file
line number
Number of linesNumber(10)Total detail linesNumber of lines
in file not
counting
FHEAD and
FTAIL
Design Assumptions
  • POs with an Order Type of DSD and Customer Order do not impact open to buy.

Upload Purchase Order and Purchase Order Change Acknowledgements from Suppliers to RMS (ediupack)

Module Name

Description

ediupack.pc

Upload Purchase Order and Purchase Order Change Acknowledgements from Suppliers to Merchandising

Functional Area Purchase Orders Module Type Integration Module Technology ProC Catalog ID RMS48 Wrapper Script rmswrap_in_rej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program has four functions:

1. to acknowledge vendor receipt of a buyer-generated order without changes (acknowledge type AK)

2. to acknowledge vendor receipt of a buyer-generated order with date, cost or quantity modifications (acknowledge type AK)

3. to notify buyer of a new or updated vendor-generated order (acknowledge type AP)

4. to acknowledge order cancellations (acknowledge type CA)

All acknowledgements update the ORDHEAD table with acknowledgement information.

When the supplier sends the acknowledgement of a buyer order with modifications, they can send the entire purchase order or only the changes. The file details are matched to the current order. If the Not Before Date, Not After Date, Quantity, Price, and item all match the current order, then no changes were submitted. If one of the variables is blank, for example the price, assume that no pricing changes were made. As soon as one of the variables does not match, the order has been changed. These changes will not be written directly to the order; they will be written to the revision tables. Revisions will be accepted in the on-line ordering screens and changed orders will be resubmitted via EDIDLORD.

Vendor generated orders will create new orders by inserting new records on the EDI temporary order tables that are picked up by a subsequent process (VRPLBLD). For revisions to a vendor-generated order, updates will be made to the order automatically without requiring user acceptance. If the update is to add a new item/location to the order, this will generate a new purchase order using the same vendor reference number.

For Customer Order POs created through an external Order Management System (OMS) and Franchise Order POs, the modifications to the dates, quantity and cost are applied automatically (and will not need to be accepted online). Also, changes to Franchise POs through this program will not affect their associated Franchise orders.

Restart/Recovery

The files will not have enough volume to warrant the implementation of restart recovery for commit/rollback considerations but minimal file-based restart/recovery capability will be added. The logical unit of work is a complete transaction represented by detail lines between the transaction header and transaction tail.

A savepoint will be issued before each transaction header record is successfully processed. If a non-fatal error occurs, a rollback to the last savepoint will be issued so that the rejected records are not posted to the database. If a fatal error occurs and restart is necessary, processing will restart at the last commit point.

I/O Specification
Integration Type File Name Integration Contract

Upload to Merchandising Determined by runtime parameter IntCon000014

Input File Layout

Table 6-39 ediupack - Input File

Record NameField NameField TypeDefault ValueDescription
FHEADFile head
descriptor
Char(5)FHEADDescribes file line type
Line idNumber(10)0000000001Sequential file line number
File Type
Definition
Char(4)ORAKIdentifies file as ‘Order
Acknowledgment Import’
THEADFile record
descriptor
Char(5)THEADDescribes file line type
Line idNumber(10)Line number in
file
Sequential file line number
Transaction
number
Number(10)N/ASequential transaction number
Acknowledge
type
Char(2)N/AAP-product replenishment (VMI
orders and updates)
AK- Acknowledge or change
CA-cancel order (no detail)
Order numberChar(15)N/AMay be external order number
(vendor order number) OR
Oracle Retail order number
Written_dateChar(8)N/AWritten date in YYYYMMDD
format
Supplier numberNumber(10)N/ASupplier number
Not before dateChar(8)N/ANot_before_date YYYYMMDD
Not after dateChar(8)N/ANot_after_date YYYYMMDD
Purchase typeChar(6)N/ASpecifies type of purchase – may
be blank
Pickup dateChar(8)N/APickup_date YYYYMMDD – may
be blank
TITEMFile record
descriptor
Char(5)TITEMDescribes file line type
Line idNumber(10)Line number in
file
Sequential file line number
Transaction
number
Number(10)N/ASequential transaction number
ITEMChar(25)N/AItem (either item or ref_item must
be defined)
Ref_itemChar(25)N/AReference item (either item or
ref_item must be defined)

Table 6-39 (Cont.) ediupack - Input File

Record NameField NameField TypeDefault ValueDescription
Vendor catalog
number
Char(30)N/AVPN (Vendor Product Number)
Unit cost valueNumber(20)N/AUnit_cost * 10000 (4 implied
decimal places)
Loc_typeChar(2)N/A‘ST’ for store, ‘WH’ for warehouse
LocationNumber(10)N/AIf NULL, apply to all locations for
this item
Pickup locationChar(250)N/ALocation to pick up item – may be
blank
TSHIPFile record
descriptor
Char(5)TSHIPDescribes file line type
Line idNumber(10)Line number in
file
Sequential file line number
Transaction
number
Number(10)N/ASequential transaction number
Store/wh
indicator
Char(2)N/A‘ST’ for store, ‘WH’ for warehouse
Ship to locationNumber(10)N/AStore or warehouse number
QuantityNumber(12)N/AQuantity ordered * 10000 (4
implied decimal places)
TTAILFile record
descriptor
Char(5)TTAILDescribes file line type
Line idNumber(10)Line number in
file
Sequential file line number
Transaction
number
Number(10)N/ASequential transaction number
Lines in
transaction
Number(6)N/ATotal number of lines in this
transaction
FTAILFile record
descriptor
Char(5)FTAILMarks end of file
Line idNumber(10)Line number in
file
Sequential file line number
Number of
transactions
Number(10)´NANumber of lines between FHEAD
and FTAIL
Design Assumptions

N/A

Upload Replenishment Data (replindbatch.ksh)

Module Name replindbatch.ksh Description Upload replenishment schedule Functional Area Inventory Movement Module Type Integration

Module Technology Ksh Catalog ID RMS475 Wrapper Script rmswrap_shell_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program is used to Bulk upload xml file data from template files to a staging table (into the content XML column).

This batch will be responsible for validating the input parameters, below are the list of validations.

  • The input file should exist.

  • The input file’s extension must be “.xml”.

  • The template_name should be valid. A package function will be called for validation.

Once xml data is loaded into the staging table, the script will do the following:

  • Initialize a row in the process tracker table for asynchronous processing.

  • Call the main induction process that uploads data into the staging tables, validates and inserts data into the base Merchandising replenishment schedule tables.

Note

The base templates used by this batch are loaded through a script on provisioning (REPLENISHMENT_DATA). Additional templates can be configured using the Data Loading Template Configuration in the Merchandising task list under Application Administration for type Replenishment.

Restart/Recovery

N/A

Design Assumptions

N/A

Import Management

When using the Import Management features in Merchandising, there are several inbound integration processes that are available for harmonized tariff schedules (HTS), transportation, and letter of credit functions. If you are using Simplified Import Management (based on your system options configurations), then only the HTS upload is supported.

For additional information about import management, including detailed flow diagrams, see the RTM Overview white paper in the Merchandising Documentation Library (Doc ID: 1585843.1).

The following integrations are included in this section:

  • Harmonized Tariff Schedule Upload (htsupld)

  • Letter of Credit Confirmation Upload (lcupld)

    • SWIFT File Conversion - Letter of Credit Confirmation (lcmt730)
  • Letter of Credit Drawdowns and Charges Upload (lcup798)

    • SWIFT File Conversion - Letter of Credit Drawdowns and Charges (lcmt798)

  • Transportation Upload (tranupld)

Harmonized Tariff Schedule Upload (htsupld)

Module Name htsupld.pc Description Harmonized Tariff Schedule Upload Functional Area Oracle Retail Trade Management Module Type Integration Module Technology ProC Catalog ID RMS41 Wrapper Script rmswrap_multi_in_rej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The harmonized tariff schedule batch module processes a file containing the most recent tariff schedule, by country of import, into Merchandising tables. The module uploads both the initial entry of the schedule and all the updates, as they become available. Once the HTS definitions have been updated in Merchandising, if the system settings indicate that updates of items and/or purchase orders should be performed, the program will update items and purchase orders if definitions of the HTS classifications that are associated with the items or orders were updated.

Restart/Recovery

Recommended commit counter is 2000. Input file names must end in a “.1” for the restart mechanism to properly parse the file name. Because there is only 1 input file to be uploaded, only 1 thread is used.

A reject file is used to hold records that have failed processing. You can fix the rejected records and process the reject file again.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000051

Input File Layout

Table 6-40 Input File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
Descriptor
Char(5)FHEADDescribes file line
type
Line numberNumber(10)0000000001Sequential file
line number
File IDChar(5)HTSUPDescribes file
type
THEADRecord
Descriptor
Char(5)THEADDescribes file line
type
Line numberNumber(10)N/ASequential file
line number
Transaction idNumber(14)N/AUnique
transaction id

Table 6-40 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
HTS LineChar(418)N/AThe HTS Line is
broken down into
subsections, V1,
V2, V3, and V4
or VL. These
subsections are
concatenated
together. The V1
and V2
subsections are
required, but the
V3, V4 and VL
subsections are
optional.The
data in the V4
and VL
subsections is
not used by
Merchandising/
Import
Management, if
provided, the
data is ignored.
For US imports,
special programs
are provided in
the US HTS file
in sections V3
and VD. The
special program
codes in both of
these records
should be
concatenated
together in the
Oracle Retail
HTS Upload
Input File’s
THEAD HTS
Line’s V3
subsection. See
HTS Line
breakdown below
for details
TDETLRecordChar(5)TDETLDescribes file line
Descriptortype
Line numberNumber(10)N/ASequential file
line number
Transaction idNumber(14)N/AUnique
transaction id

Table 6-40 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
Tax/fee lineChar(95)N/AThe Tax/Fee Line
is broken down
into subsections
V5, V6, V7, V8,
V9, VA, VB, and
VC. Each
subsection is
optional and
when provided, is
expected to be
on a separate
TDETL line.
If there is no data
for a subsection,
the entire TDETL
record will not be
present in the
file, which means
for some THEAD
records there
may not be any
TDETL lines.
TTAILRecord
Descriptor
Char(5)TTAILDescribes file line
type
Line numberNumber(10)N/ASequential file
line number
Detail linesNumber(6)N/ANumber of lines
between
THEAD and
TTAIL
FTAILRecord
Descriptor
Char(5)FTAILDescribes file line
type
Line numberNumber(10)N/ASequential file
line number
TransactionNumber(10)N/ANumber of lines
Linesbetween FHEAD
and FTAIL
Input File THEAD – HTS Line Subsections

For each tariff (also referred to as an HTS classification), the HTS Line in THEAD is broken into concatenated subsections: V1, V2, V3, and V4 or VL. Subsections V1 and V2 are mandatory. Subsections V3, V4 and VL are optional, which means the entire subsection can be blank.

The inclusion of a V4 or VL subsection in the THEAD record will not cause any errors in the program. However, any data provided in subsections V4 or VL is not currently used in Merchandising/Import Management. Because neither is utilized by Merchandising/Import Management, they should be omitted from the input file completely.

If one or more special programs (tariff treatments) are associated with an HTS in the V3 subsection, and no corresponding V5-VC records are provided, the rates of the special program are assumed to be zero (that is, duty free).

Reco
Field NameField TypeDefault ValueDescription
rd
Nam
e
V1Control identifierChar(1)VIdentifies start of record
a
bRecord typeChar(1)1Identifies record type
cTariff numberNumber(25)Harmonized Tariff
Schedule (HTS) code or
tariff number used to
classify merchandise for
import. If this number is
less than 25 positions, it
is left justified.
dTransaction
code
Char(1)A, D, RA code representing the
type of transaction. Valid
Transaction Codes are:
A = Add
D = Delete
R = Replace
eBegin effective
date
char(6)A numeric date in
MMDDYY (month, day,
year) format representing
the record begin effective
date. This date indicates
when the record
becomes effective.
fEnd effective
date
char(6)A numeric date in
MMDDYY (month, day,
year) format representing
the record end effective
date. This date indicates
the last date the record is
effective.
gnumber of
reporting units
number(1)0,1,or 2 or 3The number of reporting
units required by the
Bureau of the Census. In
a few instances, units not
required by Census may
be required to compute
duty. In these cases, the
Census reporting units
are always first, followed
by any additional units
required to compute the
duty.
Reco
rd
Field NameField Type
Default Value
Description
Nam
e
h1streporting unit
of measure
char(4)A code representing the
first unit of measure.
Valid unit of measure
codes are found on the
Units of Measure Class
table (uom_class) in
Merchandising. If this
number is less than 4
positions, it is left
justified.
I2ndreporting
unit of measure
char(4)A code representing the
second unit of measure.
Valid unit of measure
codes are found on the
Units of Measure Class
table (uom_class) in
Merchandising. If this
number is less than 4
positions, it is left
justified.
j3rdreporting unit
of measure
char(4)A code representing the
third unit of measure.
Valid unit of measure
codes are found on the
Units of Measure Class
table (uom_class) in
Merchandising. If this
number is less than 4
positions, it is left
justified.
kduty
computation
code
char(1)A code indicating the
formula to be used to
compute the duty. Valid
Duty Computation Codes
are found under the Duty
Computation Codes
(DCMP) code type.
lcommodity
description
char(30)A condensed version of
the commodity
description that appears
in the HTS.
mcolumn 1
specific rate of
duty
Number(12)The specific rate of duty
(monetary amount per
unit of measure) applied
for imports in general
when no conditional tariff
treatments are
applicable. Within
Merchandising this rate
is stored against the
Column 1 (C1) tariff
treatment. Eight decimal
places are implied.
Reco
Field NameField TypeDefault ValueDescription
rd
Nam
e
nbase rate
indicator
char(1)‘B’ or blankA code indicating if the
rate contains a base rate.
If the base rate indicator
is_B_, the duty rate is a
base rate; otherwise,
space fill.Not Used in
RMS.
ospace fillchar(1)blankSpace fill.
V2Control identifierchar(1)VIdentifies start of record
a
bRecord typechar(1)2Identifies record type
ctariff numberNumber (25)Harmonized Tariff
Schedule (HTS) code or
tariff number used to
classify merchandise for
import. If this number is
less than 25 positions, it
is left justified. This
number is the same as
that in Record Identifier
V1.
dgeneral column
1 ad valorem
percentage
Number (12)The ad valorem rate of
duty applied for imports
in general when no
conditional tariff
treatments are
applicable. Within
Merchandising this rate
is stored against the
Column 1 (C1) tariff
treatment. Eight decimal
places are implied.
ecolumn 1 otherNumber (12)The other rate of duty
applied for imports in
general when no
conditional tariff
treatments are
applicable. Within
Merchandising this rate
is stored against the
Column 1 (C1) tariff
treatment. Eight decimal
places are implied.
Reco
rd
Field NameField TypeDefault ValueDescription
Nam
e
fColumn 2
specific rate
Num(12)The specific rate of duty
(monetary amount per
unit of measure) applied
for imports in general
when the country of
origin is not in good
standing with the country
of import and higher
rates of duty are
assessed to deter trade.
Within Merchandising
this rate is stored against
the Column 2 (C2) tariff
treatment. Eight decimal
places are implied.
gColumn 2 ad
valorem
percentage
Num(12)The ad valorem rate of
duty applied for imports
in general when the
country of origin is not in
good standing with the
country of import and
higher rates of duty are
assessed to deter trade.
Within Merchandising
this rate is stored against
the Column 2 (C2) tariff
treatment. Eight decimal
places are implied.
hColumn 2 other
rate
Num(12)The other rate of duty
applied for imports in
general when the country
of origin is not in good
standing with the country
of import and higher
rates of duty are
assessed to deter trade.
Within Merchandising
this rate is stored against
the Column 2 (C2) tariff
treatment. Eight decimal
places are implied.
icountervailing
duty flag
char(1)blank or 1A code of_1_indicating the
tariff number is subject to
countervailing duty;
otherwise, space fill.
jadditional tariff
indicator
char(1)blank or ‘R’A code indicating if an
additional HTS code or
tariff number may be
required to fully classify
the item. This indicator is
R when an additional
tariff number may be
required; otherwise,
space fill.
Reco
Field NameField TypeDefault ValueDescription
rd
Nam
e
kMiscellaneous
Permit/ License
Indicator
char(2)A code indicating if a
tariff number may be
subject to a
miscellaneous permit/
license number.
lspace fillchar(4)blanksBlank space fill.
V3Control identifierchar(1)Videntifies start of record
a
bRecord typechar(1)3identifies record type
ctariff numberNumber(25)Harmonized Tariff
Schedule (HTS) code or
tariff number used to
classify merchandise for
import. If this number is
less than 25 positions, it
is left justified. This
number is the same as
that in Record Identifier
V1.
dGSP excluded
countries
char(20)The International
Organization for
Standardization (ISO)
country code that
indicates countries not
eligible for preferential
treatment under GSP.
Valid country codes are
found on the country
table (country). Up to 10
2-position country codes.
eOGA codeschar(15)Codes that indicate
special requirements by
Other Government
Agencies (OGA) may
apply. Up to five 3
position OGA codes can
be provided.
fanti-dumping
flag
char(1)1 or blankA code of_1_indicating the
tariff number is subject to
an antidumping duty;
otherwise, space fill.
gquota indicatorchar(1)1 or blankA code of_1_indicating the
tariff number may be
subject to quota. If the
tariff number is not
subject to quota, space
fill.
Reco
d
Field NameField TypeDefault ValueDescription
r
Nam
e
hcategory
number
char(6)A code located in the
HTS indicating the textile
category assigned to the
tariff number. If there is
no textile category
number, space fill.
Ispecial program
indicators
Special Program
Indicator (SPI) /
Tariff Treatment
char(60)Special Program
Indicator or Tariff
Treatment codes that
indicate if a tariff number
is subject to a special
program with preferential
rates of duty. Up to thirty
2 position codes can be
reported. Left justify,
meaning if the SPI code
is 1-position, space fill
position 2. The tariff
treatment codes are not
reported in any
sequence.
For US imports, special
programs are provided in
the US HTS file in
sections V3 and VD. The
special program codes in
both of these records
should be concatenated
together in the Oracle
Retail HTS Upload Input
File’s THEAD HTS Line’s
V3 subsection.
V4
a
Control identifierchar(1)VIdentifies start of record.
The entire V4 record
not used in
Merchandising/Import
Management. If
provided, it will be
ignored.
bRecord typechar(1)4Identifies record type
ctariff numberNumber (25)Harmonized Tariff
Schedule (HTS) code or
tariff number used to
classify merchandise for
import. If this number is
less than 25 positions, it
is left justified. This
number is the same as
that in Record Identifier
V1.
dvalue edit codechar(3)A code representing the
value edit.
Reco
rd
Field NameField TypeDefault ValueDescription
Nam
e
evalue low
bounds
Number (10)A value representing the
minimum value edit. Five
decimal places are
implied. If this record
contains date edits this
field will contain, space
fill.
fvalue high
bounds
Number (10)A value representing the
maximum value edit. Five
decimal places are
implied. If this record
contains date edits this
field will contain, space
fill.
gentry date
restriction
Number (1)0,1, or 2A code representing the
first entry date restriction
code.
hbeginning
restriction date
char(4)A numeric date in MMDD
(month and day) format
representing the first
begin restriction date
used in the edit. If this
record contains a value
edit this field will contain,
space fill.
Iend restriction
date
char(4)A numeric date in MMDD
(month and day) format
representing the first end
restriction date used in
the edit. If this record
contains a value edit this
field will contain, space
fill.
jentry date
restriction 2
number(1)0,1, or 2A code representing the
second entry date
restriction code.
kbeginning
restriction date 2
char(4)A numeric date in MMDD
(month and day) format
representing the second
begin restriction date
used in the edit. If this
record contains a value
edit this field will contain,
space fill.
lend restriction
date 2
char(4)A numeric date in MMDD
(month and day) format
representing the second
end restriction date used
in the edit. If this record
contains a value edit this
field will contain, space
fill.
Reco
Field NameField TypeDefault ValueDescription
rd
Nam
e
mcountry of originchar(2)A code representing the
value edit.
nspace fillerchar(2)blanksA value representing the
minimum value edit. Five
decimal places are
implied. If this record
contains date edits this
field will contain, space
fill.
oquantity edit
code
char(3)A value representing the
maximum value edit. Five
decimal places are
implied. If this record
contains date edits this
field will contain, space
fill.
plow quantityNumber (10)A code representing the
first entry date restriction
code.
qhigh quantityNumber (10)A numeric date in MMDD
(month and day) format
representing the first
begin restriction date
used in the edit. If this
record contains a value
edit this field will contain,
space fill.
VL
a
Control identifierchar(1)VIdentifies start of record.
The entire VL record
not used in
Merchandising/Import
Management. If
provided, it will be
ignored.
bRecord typechar(1)LIdentifies the record type
ctariff numberNumber (25)Harmonized Tariff
Schedule (HTS) code or
tariff number used to
classify merchandise for
import. If this number is
less than 25 positions, it
is left justified. This
number is the same as
that in Record Identifier
V1.

Reco Field Name Field Type rd Nam e d Participating char(60) Government Agency (PGA) Codes e space fill char(8) blanks

Default Value

Description

Codes that indicate special requirements by participating government agencies (PGAs) must or may apply. Up to 20 3- position PGA codes can be provided. PGAs are not supported in MFCS at this time. This data is ignored by the system. blank space fill

Input File TDETL – TaxFee Line Subsections

The Tax/Fee Line in TDETL contains tax/fee information and rates for special programs (tariff treatments), and all have the same structure. The Tax/Fee Line is broken into optional subsections V5-V9, VA, VB, and VC. Each of these subsections is in its own TDETL line.

Record NameField NameField TypeDefault ValueDescription
V5
a
Control identifierchar(1)VIdentifies start of
record
bRecord typechar(1)5,6,7,8,9,A,B,CIdentifies record
type
ctariff numberNumber (25)Harmonized Tariff
Schedule (HTS)
code or tariff
number used to
classify
merchandise for
import. If this
number is less than
25 positions, it is
left justified. This
number is the same
as that in Record
Identifier V1.
dCountry code
Special Program
Indicator (SPI) /
Tariff Treatment /
Country Code
char(2)A code
representing a tariff
treatment/special
program indicator
which may or may
not be the same as
a valid ISO country
code. Single
character tariff
treatment codes
should include a
space after the
code to fill the 2-
character space
per code.
Record NameField NameField TypeDefault ValueDescription
especific rateNumber (12)The specific rate of
duty listed in the
Special column of
the HTS. Eight
decimal places are
implied.
fad valorem rateNumber (12)The ad valorem
rate of duty listed in
the Special column
of the HTS. Eight
decimal places are
implied.
gOther rateNumber (12)The rate of duty
listed in the Special
column of the HTS
that is not a specific
or ad valorem rate.
Eight decimal
places are implied.
htax/fee class codechar(3)A code
representing the
tax/fee class or
type. The system
assumes that any
class/type code
which is less than
23 (i.e. 016, 017,
018, 022, etc.) is a
tax, and any value
greater than or
equal to 23 is a fee
(i.e. 023, 024, 045,
056, etc.).
Itax/fee computation
code
char(1)A code indicating
the first tax/fee
computation
formula. Valid
Computation
formulas for taxes
and fees are found
under the Duty
Computation
Codes (DCMP)
code type, but
computation codes
0, J and K are only
valid for duty, not
for tax and fee
computations.
Record NameField NameField TypeDefault ValueDescription
jtax/fee flagnumber(1)A code indicating a
tax/fee is required.
Valid Tax/Fee Flag
Codes are:
1 = Tax/fee
required
2 = Tax/fee may be
required.Not used
in Merchandising/
Import
Management.
ktax/fee specific rateNumber (12)blank if no valueThe specific rate of
duty required to
compute taxes
and/or fees. Eight
decimal places are
implied.
If this field is filled
with 0’s when no
tax/fee class code,
computation code,
or flag are
provided, HTS
upload will ignore
the rates. Meaning
a rate filled with 0’s
is the same as
leaving the field
blank.
ltax/fee ad valoremNumber (12)blank if no value, or
filled with 0’s
The ad valorem
rate of duty
required to
compute taxes
and/or fees. Eight
decimal places are
implied.
If this field is filled
with 0’s when no
tax/fee class code,
computation code,
or flag are
provided, HTS
upload will ignore
the rates. Meaning
a rate filled with 0’s
is the same as
leaving the field
blank.
mspace fillchar(1)blankSpace fill.

Note: V6, V7, V8, V9, VA, VB, and VC subsections have the same fields as the V5 subsection described above.

Note

The HTS Line in THEAD and the Tax/Fee Line in TDETL have subsections that start with a two-character code such as V1, V3, VA, and so on, which correspond to records provided by US Customs and Border Protection in the electronic file publication of the US Harmonized Tariff Schedule. The VD record in the US HTS file is used as an overflow for the V3 record in the event that the HTS tariff has more than 14 special programs (or tariff treatments). The Oracle Retail HTS Upload input file format supports additional special program codes in the V3 subsection of the THEAD HTS Line that is long enough to accept codes from both of the US HTS file’s V3 and VD records.

Design Assumptions

N/A

Letter of Credit Confirmation Upload (lcupld)

Module Name lcupld.pc Description Letter of Credit Confirmation Upload Functional Area Oracle Retail Trade Management Module Type Integration Module Technology ProC Catalog ID RMS55 Wrapper Script Rmswrap_in_rej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The LCUPLD program is used to upload LC (Letter of Credit) confirmations from bank partners.

After this program has processed a confirmation, the appropriate tables will be updated; a confirmation will update the LC to confirm status and it will write the appropriate records to the LC_ACTIVITY table.

Restart/Recovery

Restart/recovery for this program is set up at the individual FDETL record. Although there may be more than one FDETL record for a given LC, they will each be processed as a separate entity.

File based restart/recovery must be used. The commit_max_ctr field should be set to prevent excessive rollback space usage, and to reduce the overhead of file I/O. The recommended commit counter setting is 10000 records.

I/O Specification
Integration Type

Upload to Merchandising

File Name Determined by runtime parameter Integratin Contract IntCon000054

Input File Layout

Table 6-41 Input File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Sequence
Number
Number(10)0000000001Line number of
the current file
File Type
Definition
Char(4)LCUPIdentifies file as
‘Letter of Credit
Upload’
File Create
Date
Char (14)vdateDate file was
written by
external system
‘YYYYMMDDHH
24MISS’ format
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies file
record type
File Line
Sequence
Number
Number(10)Line number of
the current file
Sender’s
Reference
Char(16)lc_head.bank_l
c_id
The LC number
that the bank
assigns to a
Letter of Credit
Receiver’s
Reference
Number(8)lc_activity.lc_ref
_id
The LC number
that Trade
Management
assigned to the
Letter of Credit
Date of
Message Being
Acknowledged
Char(14)lc_activity.activit
y_date
YYYYMMDDHH2
4MISS format
CommentsChar(2000)lc_activity.com
ments
This field is a
concatenation of
the following
SWIFT fields:
71B – Charges,
72 – Sender
information
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Sequence
Number(10)N/ALine number of
the current file

Table 6-41 (Cont.) Input File Layout

Record Name Field Name Field Type Default Value Description Total number Number(10) N/A Total number of lines lines in file not including FHEAD and FTAIL Module Name lcup798.pc Description Letter of Credit Drawdowns and Charges Functional Area Oracle Retail Trade Management Module Type Integration Module Technology ProC Catalog ID RMS54 Wrapper Script rmswrap_in_rej.ksh

Letter of Credit Drawdowns and Charges Upload (lcup798)

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program reads data from an input file containing letter of credit charges and drawings (in standard Oracle Retail format, modified from the SWIFT 798 format by the lcmt798 Perl script), validates it, and inserts it into the LC_ACTIVITY table. If a record fails validation, it will be written to a reject file. These rejected records can be reprocessed by lcup798 after errors have been corrected.

Restart/Recovery

This program will be restartable but not threadable.

Restart/recovery logic for file-based processing is used. Records will be committed to the database when commit_max_ctr defined in the RESTART_CONTROL table is reached.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integratin Contract IntCon000055

The input file for this batch program is the output from the lcmt798 Perl script.

Input File Layout

Table 6-42 Input File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADFile head
descriptor
Char(5)FHEADDescribes file line
type
Line idNumber (10)0000000001Sequential file
line number
File Type
Definition
Char(4)‘LCCH’Identifies as an
LC 798 file-Letter
of Credit Charges
Current dateDateN/AFile date in
YYYYMMDDHH2
4MISS format
FDETLFile record
descriptor
Char(5)FDETLDescribes file line
type
Line idNumber (10)Sequential file
line number
Bank letter of
credit reference
ID
Char (16)SWIFT tag 20Bank’s LC ref ID
Order numberNumber(8)SWIFT tag 21Order number
attached to
LC.May be blank
Invoice numberNumber (15)SWIFT tag 23NOT a
Merchandising
invoice number,
just a reference
invoice number
from the issuing
bank. May be
blank
Transaction
number
Number (10)N/AAmendment
number or
transaction
number assigned
by bank.May be
null
Transaction
code
Char(6)B or D‘B’ank charge
or‘D’rawdown
AmountNumber(21)SWIFT tag
33A,71A
(This is a 20-digit
number with a
leading – sign or
blank and 4
implied decimal
places.) Amount
of charge or
drawdown
Currency codeChar(3)SWIFT
33A,71A
Currency that the
amount is in

Table 6-42 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
Activity dateDateSWIFT
33A,32C,32D
Activity
date(formatted as
’YYYYMMDD’)
CommentsChar(2000)SWIFT tag 72Any comments
associated with
activity.May be
null
FTAILFile record
descriptor
Char(5)FTAILMarks end of file
Line idChar(10)N/ASequential file
line number
Number of linesNumber(10)N/ANumber of lines
in file not
counting FHEAD
and FTAIL
version - Letter of
Module Name
Credit Confirmation (l
lcmt730
cmt730)
DescriptionSWIFT File Conversion –Letter of CreditConfirmation
Functional AreaOracle Retail Trade Management
Module TypeIntegration
Module TechnologyPerl
Catalog IDRMS138
Wrapper Scriptbatch_lcmt730.ksh

SWIFT File Conversion - Letter of Credit Confirmation (lcmt730)

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The lcmt730 Perl script converts letter of credit confirmations from a S.W.I.F.T. format (MT730) to a Merchandising flat file format. The output file from this script will be the input file for the lcupld.pc.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integratin Contract IntCon000054 (output) IntCon000139 (input)

Input File Layout

Table 6-43 Input File Layout

SWIFT I.D. and DescriptionData TypeDescriptionHow MT 730
fields are put
into the
Merchandising
standard file
format and what
should be the
size of
Merchandising
to be dealt with
Comments
20 - Sender’s
Reference
16xLC number.
The one
assigned by
the Sender
(issuing bank)
FDETL
- Sender’s
reference,
Char(16)
This field maps
to Trade
Management’s
Bank LC Ref ID.
21 -16xLC numberFDETLThis field maps
Receiver’s Referenceassigned by
the Receiver
(retailer)
- Receiver’s
reference,
Number(8)
(NOREF used if
unknown)
to Trade
Management’s
LC Ref ID. If this
field has
’NOREF’, the
record must be
rejected since
this field is used
to indicate the
LC within Trade
Management to
which this record
applies.
25 - Account
Identification
35xIdentifies the
number of the
account, which
has been used
for the
settlement of
charges, on
the books of
the Sender.
N/ATrade
Management
currently does
not have fields
that map directly
to this. Current
position - will be
included in the
input file.
However, it will
be ignored
during the
upload process.

Table 6-43 (Cont.) Input File Layout

SWIFT I.D. and DescriptionData TypeDescriptionHow MT 730
fields are put
into the
Merchandising
standard file
format and what
should be the
size of
Merchandising
to be dealt with
Comments
30 - Date of Message Being
Acknowledged
6!nWhen a
message is
acknowledging
a MT700, this
field specifies
the date of
issue. In all
other cases,
this field
specifies the
date on which
FDETL
- Date of message
Being
Acknowledged,
Date
This field maps
to the LC activity
date. As well, if
this in confirming
an LC
application, it will
be mapped to
the LC’s
confirmation
date. Year
interpretation:
the message
being
acknowledged
If YY>79 then
YYMMDD =
19YYMMDD
was sent.Else YYMMDD =
20YYMMDD.
32a -Option BContains theFDETLCurrent position
Amount of- 3!a15dcurrency code
-Upload_type =-
ChargesOption D
-
6!n3!a15d
and total
amount of
charges
claimed by the
sender of the
message.
When charges
have been
debited, D is
used (:32D)
and when
reimbursement
for charges is
needed, B is
used (:32B).
’C’onfirmationBecause the 730
will only be used
for
confirmations,
this field will not
contain any
values. The
upload type
should be set
equal to
’C’onfirmation.

Table 6-43 (Cont.) Input File Layout

SWIFT I.D. and DescriptionData TypeDescriptionHow MT 730
fields are put
into the
Merchandising
standard file
format and what
should be the
size of
Merchandising
to be dealt with
Comments
57a -
Account
With Bank
Option A -
[/1!a][/34x]
4!a2!a2!c[
3!c]
Option D -
[/1!a][/34x]
4*35x
This field
specifies the
bank to which
the amount of
charges is to
be remitted in
favor of the
Sender.
FDETL
- Account With
Bank, Char(10)
Current position
- will be added to
the input file
however will be
ignored in the
upload process.
Because Trade
Management
has no facilities
to maintain BICs
or party
identifiers, option
D will always be
used for this field
(that is, 57D)
without [/1!a][/
34x] party
identifier.
71B - Charges6*35xSpecification of
the charges
claimed.
FDETL
- Comments,
Char(2000)
This field maps
to Trade
Management’s
activity
comments field.
Sender to
Receiver
information (72)
will be
concatenated to
this.
72 - Sender to Receiver
Information
6*35xText
explanation if
wanted.
FDETL
- Comments,
Char(2000)
This field maps
to Trade
Management’s
activity
comments field.
Charges (71B)
will be
concatenated to
this.
Output File Layout

Table 6-44 Output File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type
File Line
Sequence
Number
Number(10)specified by
external system
Line number of
the current file
File Type
Definition
Char(4)LCUPIdentifies file as
‘Letter of Credit
Upload’
File Create
Date
Char (14)vdatedate file was
written by
external system
‘YYYYMMDD
HH24MISS’
format
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies file
record type
File Line
Sequence
Number
Number(10)specified by
external system
Line number of
the current file
Sender’s
Reference
Char(16)lc_head.bank_l
d_id
The LC number
that the bank
assigns to a
Letter of Credit
Receiver’s
Reference
Number(8)lc_activity.lc_ref
_id
The LC number
that
Merchandising
assigned to the
Letter of Credit
Date of
Message Being
Acknowledged
Date (char 8)lc_activity.activit
y_date
If the upload type
is ‘L’ then this
date will match
the date MT 700
date of issue
(which we have
not resolved
between being
the vdate or the
lc_head.applicati
on_date)
‘YYYYMMDD’
format

Table 6-44 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
CommentsChar(2000)lc_activity.com
ments
Need to
truncate? This
field will probably
be a
concatenation of
the following
SWIFT fields:
71B – Charges,
72 – Sender
information
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Sequence
Number(10)Specified by
external system
Line number of
the current file
Total number of
lines
Number(10)Specified by
external system
Total number
lines in file
Design Assumptions

N/A

SWIFT File Conversion - Letter of Credit Drawdowns and Charges (lcmt798)

Module Name lcmt798 Description SWIFT File Conversion – Letter of Credit Drawdowns and Charges Functional Area Retail Trade Management - Letter of Credit Interfaces Module Type Integration Module Technology Perl Catalog ID RMS139 Wrapper Script batch_lcmt798.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This Perl script converts letter of credit (L/C) activity data for charges and drawdowns from a S.W.I.F.T. format input file to a Merchandising format file.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000139 (input)

Input File Layout

Table 6-45 Input File Layout

Swift TagDescriptionRegd?DatatypeMerchandising Field
20 - Transaction Reference
Number
The sender’s
unambiguous
identification of
the transaction.
Its detailed
form and
content are at
the discretion
of the sender.
Yes16x -
Transaction
Reference
Number
Bank L/C ID
Lc_head.bank_lc_id
Varchar2(16)
12 - Type of Financial
Instrument
This field
classifies the
financial
instrument by a
description or
proprietary
code.
YesOption A-
:4!c/[8c]/30x
:4!c - Qualifier
/ - Delimiter
[8c] - Issuer
Code
/ - Delimiter
30x - Type
This field will contain a
constant identifier -
‘798’
77E - Proprietary MessageThis field
contains the
proprietary
message in a
format agreed
to by the
Sender and the
Receiver.
YesOption E-
73x
[n*78x]
This field will contain
the information below
(fields 21, 23, 32C,
32D, 71A, 33A, 72)
Carriage return, Line
feed, Colon ‘CrLf:’ will
be used to separate
fields included in this
77E
For example:
:77E:‘CrLf’
:21:10004321:CrLf’
:32C:990121USD1045
and so on.
There may be multiple
77Es in one file

Table 6-45 (Cont.) Input File Layout

Swift TagDescriptionRegd?DatatypeMerchandising Field
21 - Related ReferenceThis field
specifies, in an
unambiguous
way, a
message or
transaction
identifier which
is normally
included as
part of the
information
supplied with
the message
or transaction
itself, and can
subsequently
be used to
distinguish the
message or
transaction
identified from
other
messages or
transactions.
No16xP/O Number
Lc_activity.order_no
Number(8)
23 - Further identificationThis field
specifies the
type of
transaction
being
confirmed, as
well as the
settlement
method used.
No16xInvoice Number
Lc_activity.invoice_no
Varchar2(15)
32C - Date and AmountThis field
specifies the
currency code
and amount in
a transaction
and a
corresponding
date.
NoOption A-
:4!c/[8c]/30x
:4!c - Qualifier
/ - Delimiter
[8c] - Issuer
Code
/ - Delimiter
30x - Type
Charges Credited (this
is interpreted as a
positive amount)
Date will be in format
YYMMDD
The integer part of the
Amount must contain at
least one digit. A
decimal comma ’,’ is
mandatory and is
included in the
maximum length
Lc_activity.amount
Number(20,4)
Lc_activity.currency_co
de
Varchar2(3)
Lc_activity.activity_date
Date

Table 6-45 (Cont.) Input File Layout

Swift TagDescriptionRegd?DatatypeMerchandising Field
32D - Date and AmountThis field
specifies the
currency code
and amount in
a transaction
and a
corresponding
date.
NoOption D-
6!n3!a15d
6!n - Date
3!a - Currency
15d - Amount
Charges Debited (this
is interpreted as a
negative amount)
Date will be in format
YYMMDD
The integer part of the
Amount must contain at
least one digit. A
decimal comma ’,’ is
mandatory and is
included in the
maximum length
Lc_activity.amount
Number(20,4)
Lc_activity.currency_co
de
Varchar2(3)
Lc_activity.activity_date
Date
33A - Date and AmountThis field
specifies the
currency code
and amount in
a transaction
and a
corresponding
date.
NoOption A-
6!n3!a15d
6!n - Date
3!a - Currency
15d - Amoun
Date, currency, amount
of drawing (this is
interpreted as a
positive amount)
Date will be in format
YYMMDD
The integer part of the
Amount must contain at
least one digit. A
decimal comma ’,’ is
mandatory and is
included in the
maximum length
Lc_activity.amount
Number(20,4)
Lc_activity.currency_co
de
Varchar2(3)
Lc_activity.activity_date
Date

Table 6-45 (Cont.) Input File Layout

Swift TagDescriptionRegd?DatatypeMerchandising Field
33C - Date and AmountThis field
specifies the
currency code
and amount in
a transaction
and a
corresponding
date.
NoOption A-
6!n3!a15d
6!n - Date
3!a - Currency
15d - Amount
Date, currency, amount
of drawing (this is
interpreted as a
negative amount)
Date will be in format
YYMMDD
The integer part of the
Amount must contain at
least one digit. A
decimal comma ’,’ is
mandatory and is
included in the
maximum length.
Lc_activity.amount
Number(20,4)
Lc_activity.currency_co
de
Varchar2(3)
Lc_activity.activity_date
Date
72 - Sender to Receiver
Information
This field
specifies
instructions or
additional
information for
the Receiver,
Intermediary,
Account with
Institution or
Beneficiary
Institution.
No6*35xComments
Lc_activity.comment
Varchar2(2000)
18A - Number of Repetitive
Parts
This field
specifies the
number of
times the
repetitive
part(s)/
sequence(s)dir
ectly before or
after this field
appears in the
message.
NoOption A-
5n - Number of
Repetitive
Parts.
Number of 77E’s
contained within the
file.
I/O Specification
Integration TypeUpload to Merchandising
File NameDetermined by runtime parameter
Integratin ContractIntCon000055 (input)
Output File Layout

Table 6-46 Output File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record
type
File Line
Identifier
Number (10)Line number in
file
ID of current line being
created for output file
File Type
Definition
Char(4)LCCHIdentifies file as ‘Letter
of Credit Changes’
File Create
Date
Char(14)Create dateCurrent date,
formatted to
‘YYYYMMDDHH24MI
SS’
File DetailFile Type
Record
Descriptor
Char(5)FDETLIdentifies file record
type
File Line
Sequence
Number
Number (10)Line number in
file
ID of current line being
created for output file
Bank Letter of
Credit
Reference ID
Char(16)SWIFT tag 20Bank L/C ID
Order NumberNumber (8)SWIFT tag 21Contains the order
number that is
attached to the letter of
credit
Invoice
Number
Char (15)SWIFT tag 23Identifies the Issuing
Bank’s invoice number
to which the drawdown
refers. This field does
not correspond to a
Merchandising invoice
number
Transaction
Number
Char (10)NullIdentifies the
amendment number or
actual transaction
number assigned by
the bank
Transaction
Code
Char (6)If the
transaction is
a Bank
Identifies the type of
transaction that
occurred
Charge – ‘B’
f the
transaction is
a Drawdown –
‘D’
The type is determined
by what detail fields
are received for the
record. If the record
contains a 33A this
field will get a ‘D’. If the
record contains either
a 32C or 32D this field
will get a ‘B’

Table 6-46 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
Amount SignChar (1)SWIFT 33A,
33C
SWIFT 32C,
32D
If the record contains a
33A field leave a blank
space in this field
If the record contains a
33C filed this field
should contain a ’-‘
If the record contains a
32C field leave a blank
space in this field
If the record contains a
32D field this field
should contain a ’-‘
AmountNumber (20)SWIFT 33A,
33C
SWIFT 32C,
32D
Holds the amount of
the activity. This field
will have 4 implied
decimal places
If SWIFT 32C or 32D
(Bank Charge)
contains a value, use
the amount from this
field
If SWIFT 33A or 33C
(Drawdown) contains a
value, use the amount
from this field
Currency
Code
Char (3)SWIFT 33A,
SWIFT 32C,
Contains the activity’s
currency code
32DIf SWIFT 32C or 32D
(Bank Charge)
contains a value, use
the currency from this
field
If SWIFT 33A
(Drawdown) contains a
value, use the
currency from this field
Activity DateChar (8)SWIFT 33A,
SWIFT 32C,
32D
Holds the date that the
activity took place.
Formatted to
’YYYYMMDD’
If SWIFT 32C or 32D
(Bank Charge)
contains a value, use
the date from this field
If SWIFT 33A
(Drawdown) contains a
value, use the date
from this field
CommentsChar (2000)SWIFT tag 72Holds any comments
for the activity

Table 6-46 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file record
type
File Line
Identifier
Number (10)Sequential
number
Created by
program.
ID of current line being
created for output file
File Record
Counter
Number (10)N/AThis will contain the
number of FDETL
lines processed

Transportation Upload (tranupld)

Module Name tranupld.pc Description Transportation Upload Functional Area Oracle Retail Trade Management Module Type Integration Module Technology ProC Catalog ID RMS140 Wrapper Script rmswrap_multi_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This program uploads data from trading partners about the transportation of merchandise from the manufacturing site through customs clearance.

Restart/Recovery

The logical unit of work is a valid DTRAN record. The program reads each DTRAN record from the upload file, validates it and processes it. The recommended commit max counter value for this program is 1000 (this value depends on the implementation).

Backward Compatibility

Added additional parameter to indicate version. If no parameter is supplied, the version defaults to 1 (initial version).

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000177

Input File Layout Summary Across Versions

Version NumberRecord NameLength
1File Header - FTRAN33
Transaction Header – DTRAN257
Transaction Detail – DPOIT560
Transaction Trailer – FTAIL25
2File Header - FTRAN33
Transaction Header – DTRAN265
Transaction Detail – DPOIT560
Transaction Trailer – FTAIL25

Input File Layout

Table 6-47 Input File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionAdded in
Version
FTRANRecord
descriptor
Char(5)FTRANFile head marker
Line idNumber(10)0000000001Unique line id
File type
definition
Char(4)TRUPIdentifies program as
tranupld
File create dateChar(14)Current dateYYYYMMDDHHMISS
format
DTRANRecord
descriptor
Char(5)DTRANVessel, Voyage, ETD,
Container, BL, Invoice File
head
Line idNumber(10)Unique line id
Partner TypeChar(6)Identifies the partner type
Partner IDChar(10)Identifies the partner id.
Vessel IDChar(20)Identifies the Vessel
Voyage IDChar(10)Identifies the Voyage or
Flight ID
Estimated
Depart Date
Char(8)YYYYMMDD format
Shipment
Number
Char (20)Identifies an outside
Shipment number
Actual
Departure Date
Char(8)YYYYMMDD format2
Actual Arrival
Date
Char(8)YYYYMMDD format
Trans ModeChar(6)Identifies the type of
transportation being used.
Valid values are found in
the TRMO Code Type on
the CODE_DETAIL table

Table 6-47 (Cont.) Input File Layout

Record
Field NameField TypeDefault
Description
Added in
NameValueVersion
Vessel SCAC
Code
Char(6)Customs defined ID for the
Vessel. Validated against
SCAC table.
Estimated
Arrival Date
Char(8)YYYYMMDD format
Lading PortChar(5)Identifies the Lading Port.
Validated against OUTLOC
with type = ‘LP’
Discharge PortChar(5)Identifies the Discharge
Port. Validated against
OUTLOC with type = ‘DP’
Service
Contract
Number
Char(15)Identifies the outside
Service Contract Number
Container idChar(20)Identifies the Container
Container
SCAC code
Char(6)Customs defined id for the
container. Validated against
SCAC table
Delivery DateChar(8)YYYYMMDD format
Seal idChar(15)Customs defined id for the
container’s seal
Freight TypeChar(6)Code that identifies the
container type. Validated
against the
FREIGHT_TYPE table.
Freight SizeChar(6)Code that identifies the
container size. Validated
against the
FREIGHT_SIZE table.
In Transit No.Char(15)External transit number
In Transit DateChar(8)YYYYMMDD format
BL/AWB idChar(30)Identifies the Bill of Lading
or Air Way Bill
Candidate IndChar(1)Defaulted to
‘N’
Identifies a complete
Transportation record. Valid
values are ‘Y’ and ‘N’
DPOITRecord
descriptor
Char(5)DPOITOrder/Item detail info
Line idNumber(10)Unique file line id
ACD_CodeChar(1)Determines which process
to perform ‘A’dd, ‘C’hange,
‘D’elete.
Rush IndChar(1)Defaulted to
‘N’
Identifies whether or not
the item should be on a
‘Rush’ delivery. Valid
values are ‘Y’ and ‘N’

Table 6-47 (Cont.) Input File Layout

Record
Name
Field NameField TypeDefault
Value
DescriptionAdded in
Version
Order numberNumber(12)Merchandising order
number
ItemChar(25)Merchandising Item
number
Invoice idChar(30)Identifies the Commercial
Invoice
Invoice dateChar(8)YYYYMMDD format
Currency CodeChar(3)Currency that the Currency
Amount is reported in.
Validated against
CURRENCIES table.
Exchange RateChar (20)The exchange rate back to
the primary currency (10
implied decimals)
Invoice amtChar 20)Invoice amt*10000 (with 4
implied decimal places),
amount charged by
supplier for the PO/Item
Origin Country
id
Char(3)Identifies where the PO/
Item was made
Consolidation
Country id
Char(3)Identifies where the PO/
Items were consolidated
Export Country
id
Char(3)Identifies where the PO/
Items where shipped from
StatusChar(6)Identifies the PO/Item
status. Valid values are
found in the TRCO Code
Type on CODE_DETAIL
Receipt IDChar(30)Identifies the external
receipt number
FCR idChar(15)Identifies the Freight Cargo
Receipt id
FCR dateChar(8)YYYYMMDD format
Packing
Method
Char(6)Identifies the Packing Type
(Hanging or Flat). Valid
values are ‘HANG’ or
‘FLAT’
Lot NumberChar(15)Identifies the Lot Number
of the PO/Item
Item QtyNumber(12)Item Qty*10000(with 4
implied decimals), qty of
Items
Item QTY UOMChar(4)Identifies the UOM
associated with the item
quantity

Table 6-47 (Cont.) Input File Layout

Record
Name
Field NameField TypeDefault
Value
Description
Added in
Version
Carton QTYNumber(12)Carton QTY*10000 (with 4
implied decimals), qty of
Cartons
Carton QTY
UOM
Char(4)Identifies the UOM
associated with the carton
quantity
Gross WTNumber(12)Gross WT*10000 (with 4
implied decimals), Gross
weight
Gross WT
UOM
Char(4)Identifies the UOM
associated with the gross
weight
Net WTNumber(12)Net WT*10000 (with 4
implied decimals), Net
Weight
Net WT UOM
Char(4)
Identifies the UOM
associated with the net
weight
CubicNumber(12)Cubic*10000 (with 4
implied decimals), cubic
size
Cubic UOMChar(4)Identifies the UOM
associated with the cubic
size
CommentsChar(256)User Comments
FTAILRecord typeChar(5)FTAIL
Line idNumber(10)Unique file line id
No. of linesNumber(10)Total number of transaction
lines in file (not including
FHEAD and FTAIL)
Record NameField Name
Fie
ld TypeDefault
Value
Description
Added in
Version
FTRANRecord
descriptor
Ch
ar(5)FTRAN
File head
marker
Line id
Nu
mber(10)0000000001
Unique line id
File type
definition
Ch
ar(4)TRUP
Identifies
program as
tranupld
File create
date
Ch
ar(14)Current date
YYYYMMDDH
HMISS format
DTRANRecord
descriptor
Ch
ar(5)DTRAN
Vessel,
Voyage, ETD,
Container, BL,
Invoice File
head
Record NameField NameField TypeDefault
Value
DescriptionAdded in
Version
Line idNumber(10)N/AUnique line id
Partner TypeChar(6)N/AIdentifies the
partner type
Partner IDChar(10)N/AIdentifies the
partner id
Vessel IDChar(20)N/AIdentifies the
Vessel
Voyage IDChar(10)N/AIdentifies the
Voyage or
Flight ID
Estimated
Depart Date
Char(8)N/AYYYYMMDD
format
Shipment
Number
Char (20)N/AIdentifies an
outside
Shipment
number
Actual Arrival
Date
Char(8)N/AYYYYMMDD
format
Trans ModeChar(6)N/AIdentifies the
type of
transportation
being used.
Valid values
are found in
the TRMO
Code Type on
the
CODE_DETAI
L table
Vessel
SCAC Code
Char(6)N/ACustoms
defined ID for
the Vessel.
Validated
against SCAC
table
Estimated
Arrival Date
Char(8)N/AYYYYMMDD
format
Lading PortChar(5)N/AIdentifies the
Lading Port.
Validated
against
OUTLOC with
type = ‘LP’
Discharge
Port
Char(5)N/AIdentifies the
Discharge
Port. Validated
against
OUTLOC with
type = ‘DP’
Record NameField NameField TypeDefault
Value
DescriptionAdded in
Version
Service
Contract
Number
Char(15)N/AIdentifies the
outside
Service
Contract
Number
Container idChar(20)N/AIdentifies the
Container
Container
SCAC code
Char(6)N/ACustoms
defined id for
the container.
Validated
against SCAC
table
Delivery
Date
Char(8)N/AYYYYMMDD
format
Seal idChar(15)N/ACustoms
defined id for
the container’s
seal
Freight TypeChar(6)N/ACode that
identifies the
container type.
Validated
against the
FREIGHT_TY
PE table
Freight SizeChar(6)N/ACode that
identifies the
container size.
Validated
against the
FREIGHT_SIZ
E table
In Transit No.Char(15)N/AExternal
transit number
In Transit
Date
Char(8)N/AYYYYMMDD
format
BL/AWB idChar(30)N/AIdentifies the
Bill of Lading
or Air Way Bill
Candidate
Ind
Char(1)Defaulted to
’N’
Identifies a
complete
Transportation
record. Valid
values are ‘Y’
and ‘N’
DPOITRecord
descriptor
Char(5)DPOITOrder/Item
detail info
Line idNumber(10)N/AUnique file line
id
Record NameField NameField TypeDefault
Value
DescriptionAdded in
Version
ACD_CodeChar(1)N/ADetermines
which process
to perform
‘A’dd,
‘C’hange,
‘D’elete.
Rush IndChar(1)Defaulted to
’N’
Identifies
whether or not
the item
should be on a
‘Rush’
delivery. Valid
values are ‘Y’
and ‘N’
Order
number
Number(8)N/AMerchandising
order number
ItemChar(25)N/AMerchandising
Item number
Invoice idChar(30)N/AIdentifies the
Commercial
Invoice
Invoice dateChar(8)N/AYYYYMMDD
format
Currency
Code
Char(3)N/ACurrency that
the Currency
Amount is
reported in.
Validated
against
CURRENCIE
S table.
Exchange
Rate
Char (20)N/AThe exchange
rate back to
the primary
currency (10
implied
decimals)
Invoice amtChar (20)N/AInvoice
amt*10000
(with 4 implied
decimal
places),
amount
charged by
supplier for
the PO/Item
OriginChar(3)N/AIdentifies
Country idwhere the PO/
Item was
made
Record NameField NameField TypeDefault
Value
DescriptionAdded in
Version
Consolidatio
n Country id
Char(3)N/AIdentifies
where the PO/
Items were
consolidated
Export
Country id
Char(3)N/AIdentifies
where the PO/
Items where
shipped from
StatusChar(6)N/AIdentifies the
PO/Item
status. Valid
values are
found in the
TRCO Code
Type on
CODE_DETAI
L
Receipt IDChar(30)N/AIdentifies the
external
receipt
number
FCR idChar(15)N/AIdentifies the
Freight Cargo
Receipt id
FCR dateChar(8)N/AYYYYMMDD
format
Packing
Method
Char(6)N/AIdentifies the
Packing Type
(Hanging or
Flat). Valid
values are
‘HANG’ or
‘FLAT’
Lot NumberChar(15)N/AIdentifies the
Lot Number of
the PO/Item
Item QtyNumber(12)N/AItem
Qty*10000(wit
h 4 implied
decimals), qty
of Items
Item QTY
UOM
Char(4)N/AIdentifies the
UOM
associated
with the item
quantity
Carton QTYNumber(12)N/ACarton
QTY*10000
(with 4 implied
decimals), qty
of Cartons
Record NameField NameField TypeDefault
Value
DescriptionAdded in
Version
Carton QTY
UOM
Char(4)N/AIdentifies the
UOM
associated
with the carton
quantity
Gross WTNumber(12)N/AGross
WT*10000
(with 4 implied
decimals),
Gross weight
Gross WT
UOM
Char(4)N/AIdentifies the
UOM
associated
with the gross
weight
Net WTNumber(12)N/ANet WT*10000
(with 4 implied
decimals), Net
Weight
Net WT
UOM
Char(4)N/AIdentifies the
UOM
associated
with the net
weight
CubicNumber(12)N/ACubic*10000
(with 4 implied
decimals),
cubic size
Cubic UOMChar(4)N/AIdentifies the
UOM
associated
with the cubic
size
CommentsChar(256)N/AUser
Comments
FTAILRecord typeChar(5)FTAILN/A
Line idNumber(10)N/AUnique file line
id
No. of linesNumber(10)N/ATotal number
of transaction
lines in file
(not including
FHEAD and
FTAIL)
Design Assumptions

N/A

Stock Counts

Merchandising subscribes to data related to stock counts from stores, warehouses, and thirdparty counters.

The following scheduled inbound integrations are included in this functional area:

  • Conversion of Warehouse Stock Count Results File (lifstkup)

  • Upload Stock Count Results from Stores/Warehouses (stockcountupload.ksh)

For more on stock count processing, see Merchandising Operations Guide – Volume 1 .

Conversion of Warehouse Stock Count Results File (lifstkup)

Module Name lifstkup.pc Description Conversion of WMS Stock Count Results File Functional Area Stock Counts Module Type Integration Module Technology ProC Catalog ID RMS150 Wrapper Script batch_lifstkup.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The Stock Upload Conversion batch is used when WMS sends count information to Merchandising. This batch converts the inventory balance upload file into the format supported by the Stock Count Upload process.

Restart/Recovery

Oracle Retail standard file-based restart/recovery is used. The commit max counter field should be set to prevent excessive rollback space usage, and to reduce the overhead of file I/O. The recommended commit counter setting is 1000 records (subject to change based on implementation).

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000172 (input from WMS) IntCon000102 (output for Merchandising stockcountupload)

Input File Layout

Table 6-48 Input File Layout

Field NameField TypeDescription
DC_DEST_ID11 – Number (10) + 1 for trailing
space
Unique identifier for the
warehouse
TRANSACTION_DATE15 – Date (14) + 1 for trailing
space
Date on which the transaction
occurred
ITEM_ID26 - Varchar2 (25) + 1 for trailing
space
Uniquely identifies the item on the
count
AVAILABLE_QTY15 – Number (12) + 1 for leading
sign and + 1 for decimal and + 1
for trailing space
Units available for distribution
DISTRIBUTED_QTY14 – Number (12) + 1 for decimal
and + 1 for trailing space
Units distributed include: Units
distributed but not yet picked,
units picked but not yet
manifested, units manifested but
not yet shipped
RECEIVED_QTY15 - Number (12) + 1 for leading
sign and + 1 for decimal and + 1
for trailing space
Units received but not put away
TOTAL_QTY14 – Number (12,4) + 1 for
decimal and + 1 for trailing space
Sum of all units that physically
exist: container status of: I, D, M,
R, T, X
AVAILABLE_WEIGHT15 – Number (12,4) + 1 for
leading sign + 1 for decimal + 1
for trailing space
Weight available for distribution of
catch weight items
RECEIVED_WEIGHT14 – Number (12,4) + 1 for
decimal + 1 for trailing space
Weight received but not put away
for catch weight items
DISTRIBUTED_WEIGHT14 – Number (12,4) + 1 for
decimal + 1 for trailing space
Weight distributed includes:
weight distributed but not yet
picked, weight picked but not yet
manifested, weight manifested
but not yet shipped (value only
catch weight items)
TOTAL_WEIGHT13 – Number (12,4) + 1 for
decimal
Sum of all weight that physically
exist: container status of: I, D, M,
R, T, X. For catch weight items

Output File Layout

Table 6-49 Output File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADfile type record
descriptor
Char (5)FHEADDescribes the file
line type
file line
identifier
Number (10)0000000001ID of current line
being processed
file typeChar (4)‘STKU’Identifies the file
type

Table 6-49 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
stocktake_dateDate (14)N/AThe date on
which the count
occurred,
formatted as
YYYYMMDDHH2
4MISS
file create dateDate (14)N/ADate on which
the file was
created,
formatted as
YYYYMMDDHH2
4MISS
cycle countNumber (8)N/Astake_head.cycle
_count
Location typeChar (1)‘W’Will always be
‘W’, as this
process is only
executed for
warehouse
locations
locationNumber(10)N/AIndicates the
number of the
physical
warehouse
where the count
occurred
FDETLfile type record
descriptor
Char(5)FDETLIdentifies the file
line type
file line
identifier
Number(10)N/AID of current line
being processed,
internally
incremented
Item typeChar(3)‘ITM’Indicates the type
of item that was
counted. This will
always be ‘ITM’,
indicating a
transaction level
item
item valueChar(25)N/AThe ID of the
item that was
counted
inventory
quantity
Number(12)N/AThe total quantity
or weight of
product counted;
includes four
implied decimal
places

Table 6-49 (Cont.) Output File Layout

Record NameField NameField TypeDefault ValueDescription
location
description
Char(150)N/AUsed by
Merchandising to
determine the
location where
the item was
counted. This
program will
always leave as
NULL
FTAILfile type record
descriptor
Char(5)FTAILIdentifies the file
line type
file line
identifier
Number(10)N/AID of current line
being processed,
internally
incremented
file record
count
Number(10)N/AIndicates the
number of detail
records
Design Assumptions

N/A

Upload Stock Count Results from Stores/Warehouses (stockcountupload.ksh)

Module Name stockcountupload.ksh Description Upload Stock Count Results from Stores/Warehouses Functional Area Stock Count Module Type Integration Module Technology ksh Catalog ID RMS153 Wrapper Script batch_stockcountupload.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this module is to upload the contents of the stock count file, which contains the results of a count that occurred in a store or warehouse, to staging tables for further processing.

Input/Out Specification

Integration Type Upload in Merchandising File Name Determined by runtime parameter

Integratin Contract

IntCon000102

Input File Layout

Table 6-50 Input File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile head
descriptor
Char(5)FHEADDescribes file line
type
File line
identifier
Number(10)0000000001ID of current line
being processed
File TypeChar(4)STKUIdentifies the file
type
File create dateChar(14)N/AIndicates the
date the file was
created in
YYYYMMDDHH2
4MISS format
Stock take dateChar(14)N/ADate on which
stock count will
take place in
YYYYMMDDHH
MISS format
Cycle countNumber (8)N/AUnique number
to identify the
stock count
Location TypeChar(1)N/AIndicates the type
of location where
the count
occurred. Valid
values are
‘S’,‘W’,‘E’.
LocationNumber(10)N/AThe location
where the stock
count occurred
Transaction RecordFile record
descriptor
Char(5)FDETLDescribes file line
type
Line NumberNumber(10)N/ASequential file
line number
Item typeChar(3)N/AIndicates the type
of item counted –
either transaction
level (ITM) or
reference item
(REF)
Item valueChar(25)N/AUnique identifier
for item that was
counted

Table 6-50 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
Inventory
quantity
Number(12)N/ATotal quantity
counted for the
item at the
location
formatted with 4
implied decimal
places
Location
description
Char(150)N/ADescription of
inventory location
(such as,. sales
floor, backroom)
Inventory
Identifier Type
Char(6)This field
contains the
inventory
identifier type
value being
passed in
physical stock
count upload file.
Inventory IdChar(120)This field
contains the
inventory ID
value being
passed in
physical stock
count upload file.
FTAILFile record
descriptor
Char(5)FTAILMarks end of file
File lineNumber(10)N/AID of current line
identifierbeing processed,
internally
incremented
File record
count
Number(10)N/ANumber of detail
records
Design Assumptions

This program uses grep to search log files for errors. The GREP function should point to the /usr/xpg4/bin/ directory instead of /usr/bin directory to utilize the “-E” option. Otherwise, it will fail with an “illegal option” error message.

Franchise

Merchandising subscribes to data related to franchise customers, orders, and returns from order management solutions and other external franchise customer management solutions.

The following scheduled inbound integrations are included in this functional area:

  • Franchise Customer Upload (fcustomerupload)

  • Franchise Order Upload (wfordupld.ksh)

  • Franchise Return Upload (wfretupld.ksh)

  • Upload Cost Buildup Template (fcosttmplupld)

  • Upload of Franchise Sales (wfslsupld.ksh)

For more on franchise processing, see Merchandising Operations Guide - Volume 1 .

Franchise Customer Upload (fcustomerupload)

Module Name fcustomerupload.ksh Description Franchise Customers Upload Functional Area Franchise Management Module Type Integration Module Technology ksh Integration Catalog ID RMS126 Wrapper Script rmswrap_shell_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module uploads franchise customers and customer group details from an external system into Merchandising staging tables. It also performs both technical and business validation of the data sent in the file; for example, it validates that a customer cannot be deleted if a franchise store is associated with it.

Restart/Recovery

The restart recovery is different from the conventional Merchandising batch. There are three points on the batch upload process where you can evaluate the successful load of the data.

  • SQL load - SQL load dumps invalid records that do not meet certain technical requirements (for example:. data type inconsistencies, and so on.). The rejected record is written either to a bad file or to a discard file. The discard file contains records that do not satisfy conditions such as missing or invalid record types. Records with other technical issues are written to the bad file.
Note

A non-fatal code is returned by the program and a message will be written to the log file if reject files are created.

Action Required: When such conditions exist, you may update either the bad or discard file and attempt to reload using the same files.

  • File-Based Validations - the data from the files are loaded into the staging tables for validation. PL/SQL functions will validate the data in the staging tables to determine if there are any issues with the FHEAD and FTAIL in the file. These kinds of errors are FATAL errors and the batch ends the file processing immediately with return code 255.

Action Required: When this condition exists, you can fix the data upload file and try to reload.

  • Business Validation Level - PL/SQL functions determine if the transactions loaded are valid enough to modify the actual Merchandising tables. Records that do not meet certain technical or business validations are rejected and the information is updated back into the staging table with an appropriate error message and the batch issues a NON-FATAL return code 1.

Action Required: When this condition exists, you can fix the data upload file and try to reload.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000022

Input File Layout

Table 6-51 File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Record
Descriptor
Char(5)N/AIdentifies file
record type. It
should be
FHEAD
File Line IDNumber(10)N/AID of current line
being processed
by input file
File TypeChar(5)FCUSTIdentifies file as
’Franchise
customer upload’
File Create
Date
DateSYSDATEDate file was
written by
external system
Transaction HeaderFile Record
Descriptor
Char(5)N/AIdentifies
transaction
record type. It
should be
THEAD
File Line IDNumber(10)N/AID of current line
being processed
by input file

Table 6-51 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Message TypeChar(30)N/AIdentifies the
action that will be
performed on the
franchise
customer
transaction
header record. It
can be either
create
(fcustgrpcre) or
update
(fcustgrpupd) or
delete
(fcustgrpdel) a
franchise
customer group
FranchiseNumber(10)N/ACustomer group
Customer
ID
group ID
Franchise
Customer
Char(120)N/ACustomer group
name. This field
group Nameis optional for
delete
Transaction DetailFile RecordChar(5)N/AIdentifies
Descriptortransaction
record type. It
should be TDETL
File Line IDNumber(10)N/AID of current line
being processed
by input file
Message TypeChar(30)N/AIdentifies the
action that will be
performed on the
franchise
customer
transaction detail
record. It can be
either create
(fcustcre) or
update (fcustupd)
or delete
(fcustdel) a
franchise
customer .
Franchise
Customer ID
Number(10)N/ACustomer ID to
be processed
Franchise
Char(120)N/ACustomer Name
Customer
Name

Table 6-51 (Cont.) File Layout

Record NameField NameField TypeDefault ValueDescription
Credit IndChar(1)NThis field will
determine if the
franchise
customer has
good credit. Valid
values are Y and
N
Auto approve
Ind
Char(1)NTo auto approve
the externally
uploaded orders
and returns. Valid
values are Y and
N
Transaction TrailerFile Record
Descriptor
Char(5)N/AIdentifies file
record type. It
should be TTAIL
File Line IDNumber(10)N/AID of current line
being processed
by input file
Transaction
Record Count
Number(10)N/ANumber of
TDETL records in
this transaction
set.(total records
between THEAD
& TTAIL)
File TrailerFile Record
Descriptor
Char(5)N/AIdentifies file
record type. It
should be FTAIL
File Line IDNumber(10)N/AID of current line
being processed
by input file.
File Record
Counter
Number(10)N/ANumber of
records/
transactions
processed in
current file (total
records between
FHEAD & FTAIL)
Design Assumptions

N/A

Franchise Order Upload (wfordupld.ksh)

Module Name wfordupld.ksh Description Franchise Order Upload Functional Area Franchise Management Module Type Integration

Module Technology ksh Catalog ID RMS60 Wrapper Script batch_wfupload.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program is used to upload franchisee orders from an external source. These orders will be created with an order type of ‘EDI’ and will be created for the source type specified in the upload file. If source type is not specified, then the costing location for the item/franchise store will be used. Orders will be created in approved status if the customer is setup for auto approval, assuming that the customer has valid credit.

If the customer fails credit check or if available inventory at the source location is insufficient to fulfill the order, the order will be generated in input status. The check for inventory availability is subject to the setting of the “Validate Availability for External Franchise Orders” system option. If the option is set to Yes, then Franchise Order creation will be subject to checks for inventory availability. If set to No, Franchise Order creation would be carried out without checking for inventory availability.

Franchise orders from customers that are not identified for ‘Auto Approval’ are uploaded into Merchandising in input status. These orders will need to be manually approved in Merchandising in order to be considered active.

Restart/Recovery

The restart recovery is different from the conventional Merchandising batch. There are two points on the batch upload process where users can evaluate the successful load of the data.

  • SQL load - At this point, SQL load dumps invalid records that do not meet certain technical requirements (for example:. file layout issues, data type inconsistencies, and so on.). The rejected record is written to a bad file or to a discard file. The discard file contains records that do not satisfy conditions, such as missing or invalid record types. Records with other technical issues are written to the bad file.
Note

A non-fatal code is returned by the program and a message will be written to the log file if reject files are created.

Action Required: When such conditions exist, you may update either the bad or discard file and attempt to reload using the same files.

  • Business Validation - At this point data from the file(s) are loaded into the staging table(s). PL/SQL functions determine if this loaded data is valid enough to be inserted into the actual Merchandising tables. For records that do not meet certain technical or business validations, the error message will be updated in staging table.

Action Required: When this condition exists, you can fix the data upload file and try to reload the file with valid data.

I/O Specification

Integration Type Download from Merchandising File Name wford*.dat Integration Contract IntCon000108

SQL Loader Input File Layout

Table 6-52 SQL Loder Input File Layout

Record NameField NameField TypeNull allowed?Default ValueDescription
FHEADFile head
descriptor
Char(5)NoFHEADDescribes file line
type.
Line NumberNumber(10)NoN/AId of the current
line being
processed.
Customer IdNumber(10)NoN/ACustomer ID of
the customer
requesting the
order.
Customer
Order
Reference
number
Char(20)NoN/AA reference field
used by the
customer for their
tracking
purposes.
Currency CodeChar(3)NoN/AThis is the
currency on
which the order
was transacted.
Default Billing
location
Number(10)NoN/AA customer’s
location where
the billing for the
entire order is
sent. If blank,
each location is
billed.
CommentsChar(2000)YesN/AAny other
miscellaneous
information
relating to the
order.
FDETLFile record
descriptor
Char(5)NoFDETLDescribes file line
type.
Line NumberNumber(10)NoN/AId of the current
line being
processed.
ItemChar(25)NoN/AThe item on the
franchise order.
Customer
Location
Number(10)NoN/AThe franchise
store requesting
the order.

Table 6-52 (Cont.) SQL Loder Input File Layout

Record NameField NameField TypeNull allowed?Default ValueDescription
Source Loc
Type
Char(2)YesN/ASource location
type for which the
franchise order
has been
created. Valid
values are ST -
Store, WH -
warehouse, or
SU - Supplier
Source
Location
Number(10)YesN/ASource location
for which the
franchise order
has been
created.
If the source
location is
warehouse then
both physical and
virtual
warehouses are
allowed.
Requested
Quantity
Number (12,4)NoN/ANumber of item
units being
ordered, includes
4 implied decimal
places
Unit of
Purchase
Char(3)NoN/AUnit of purchase
can be the item’s
standard unit of
measure, case,
inners or pallets.
Fixed CostNumber (20,4)YesN/AThis is cost which
will be charged to
the customer for
the item on the
franchise order;
value includes 4
implied decimal
places.
Need DateChar(11)NoN/ADate on which
the item is
needed in the
franchise store,
with the following
format “DD-
MON-YYYY’ .

Table 6-52 (Cont.) SQL Loder Input File Layout

Record NameField NameField TypeNull allowed?Default ValueDescription
Not After DateChar(11)NoN/ADate after which
the item may no
longer be
accepted for a
franchise store,
with the following
format “DD-
MON-YYYY’.
FTAILFile record
descriptor
Char(5)FTAILMarks end of file.
Line NumberNumber(10)N/AId of current line
being processed.
File record
count
Number(10)N/ANumber of detail
records.
Design Assumptions

N/A

Franchise Return Upload (wfretupld.ksh)

Module Name wfretupld.ksh Description Franchise Return Upload Functional Area Franchise Management Module Type Integration Module Technology Ksh Catalog ID RMS154 Wrapper Script batch_wfupload.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program is used for uploading franchise returns sent from an external source, such as an external order management application. When returns are uploaded in this manner, the data will be validated and the return will be created in Merchandising. Additionally, an associated franchise return transfer will also be created.

Restart/Recovery

The restart recovery is different from the conventional Merchandising batch. There are two points on the batch upload process where users can evaluate the successful load of the data.

  • SQL load - At this point, SQL load dumps invalid records that do not meet certain technical requirements (for example:. file layout issues, data type inconsistencies, and so on.). The rejected record is written either to a bad file or to a discard file. The discard file contains

records that do not satisfy conditions, such as missing or invalid record types. Records with other technical issues are written to the bad file.

Note

A non-fatal code is returned by the program and a message will be written to the log file if reject files are created. When such conditions exist, you may either update the bad or discard file and attempt to reload using the same files.

  • Business Validation - At this point data from the file(s) are loaded into the staging table(s). PL/SQL functions determine if this loaded data is valid enough to be inserted into the actual Merchandising tables. For all records that do not meet certain technical or business validations, the error message will be updated in staging table. When this condition exists, you can fix the data upload file and try to reload the file with valid data.
I/O Specification

Integration Type Upload to Merchandising File Name wfreturn*.dat Integration Contract Intcon000109

SQL Loader Input File Layout

The following is the file pattern for the upload file.

Note

The values are pipe ”|” delimited and can optionally be enclosed by ” “.

Table 6-53 SQL Loader Input File Layout

Record NameField NameField TypeNull Allowed?Default ValueDescription
FHEADFile head
descriptor
Char(5)NoFHEADDescribes file line
type.
Line NumberNumber(10)NoId of the current
line being
processed.
Customer IDNumber(10)NoFranchise
customer ID of
the customer
making the
return.
Customer
Return
Reference
number
Char(20)NoA reference field
used by the
franchise
customer for their
tracking
purposes.
Currency CodeChar(3)NoThis is the return
currency.

Table 6-53 (Cont.) SQL Loader Input File Layout

Record NameField NameField TypeNull Allowed?Default ValueDescription
CommentsChar(2000)YesAny other
miscellaneous
information
related to the
return.
FDETLFile record
descriptor
Char(5)NoFDETLDescribes file line
type.
Line NumberNumber(10)NoN/AId of the current
line being
processed.
ItemChar(25)NoN/AThe item on the
franchise return.
Franchise
Order Number
Number(10)NoN/AThe franchise
order number
against which the
return is made.
Customer
Location
Number(10)NoN/AThe franchise
location which is
making the
return.
Return Loc
Type
Char(1)NoN/AReturn location
type for the
franchise return;
valid values are S
- store or W -
warehouse.
Return LocationNumber(10)NoN/AReturn location
for the franchise
return.
Return MethodChar(1)NoN/AThe type of
return; valid
values are:
-R-Return to
Store/Warehouse
-D-Destroy at site
Unit of measureChar(3)NoN/AThe unit measure
of the return
quantity. This is
assumed to be
the items
standard UOM.
Return qtyNumber(12,4)NoN/AThe quantity of
item to be
returned

Table 6-53 (Cont.) SQL Loader Input File Layout

Record NameField NameField TypeNull Allowed?Default ValueDescription
Return ReasonChar(6)NoN/AReturn reason
code; valid
values are found
on the
CODE_DETAIL
table where
CODE_TYPE is
’RTVR’.
Return unit costNumber(20,4)YesN/AThe per unit cost
for the return.
Restock TypeChar(1)NoN/AIndicates how the
restocking fee will
be calculated per
item; valid values
are S-specific or
V-value.
Restock FeeNumber(20,4)NoN/AUnit restocking
fee.
FTAILFile record
descriptor
Char(5)NoFTAILMarks end of file.
Line NumberNumber(10)NoN/AId of current line
being processed.
File record
count
Number(10)NoN/ANumber of detail
records.
Design Assumptions

N/A

Upload Cost Buildup Template (fcosttmplupld)

Module Name fcosttmplupld.ksh Description Upload Cost Buildup Template Functional Area Franchise Management Module Type Integration Module Technology ksh Catalog ID RMS125 Wrapper Script rmswrap_shell_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module uploads cost buildup templates and franchise cost relationships used for franchise pricing from an external system into Merchandising staging tables. It also performs both

technical and business validation of the data sent in the file; for example, it validates that start and end dates are included for new and updated templates.

Note

No date format is specified in the input file, as any valid PL/SQL date format can be used.

Restart/Recovery

The restart recovery is different from the conventional Merchandising batch. There are three points on the batch upload process where users can evaluate the successful load of the data.

  • SQL load - SQL load dumps invalid records that do not meet certain technical requirements (for example:. file layout issues, data type inconsistencies, and so on.). The rejected record is written either to a bad file or to a discard file. The discard file contains records that do not satisfy conditions such as missing or invalid record types. Records with other technical issues are written to the bad file.
Note

A non-fatal code is returned by the program and a message will be written to the log file if reject files are created

Action Required: When such conditions exist, you may update either the bad or discard file and attempt to reload using the same files.

1. Business Validation Level - the data from the files are loaded into the staging tables for validation. PL/SQL functions determine if this loaded data is valid enough to be inserted into the actual Merchandising tables. Records that do not meet certain technical or business validations are rejected and the information is updated back into the staging table with an appropriate error message and the batch issues a NON-FATAL return code.

Action Required: When this condition exists, you can fix the data upload file and try to reload.

2. Chunking validated data - At this point the data from staging tables that have passed business validation are chunked based on the number of valid transactions (cost templates) and max_chunk_size from RMS_PLSQL_BATCH_CONFIG table. If there are no valid transactions to be chunked, batch issues a FATAL return code.

Action Required: When this condition exists, you can fix the data upload file and try to reload.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000021

SQL Loader Input File Layout

Table 6-54 SQUL Loader Input File Layout

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)N/AIdentifies file
record type. Valid
value is FHEAD.
File Line
Identifier
Number(10)N/ASequential file
line number
File Type
Definition
Char(5)CTMPLIdentifies file as
’Cost Template
Upload’
File Create
Date
DateSYSDATEDate on which
the file was
created by
external system
Transaction HeaderFile Record
Descriptor
Char(5)N/AIdentifies
transaction
header record
type. Valid value
is THEAD
File Line
Identifier
Number(10)N/ASequential file
line number
Message TypeChar(30)N/AIdentifies the
action that will be
performed on the
franchise cost
template header
information that
is provided as
part of this record
It can be either
create or update
or delete a
franchise cost
template. Valid
message types
are: costtmpadd
(for additions),
costtmpmod (for
updates),
costtmpdel (for
deletions)
Template IDNumber(10)N/ATemplate ID
Template
Description
Char(120)N/ATemplate
Description

Table 6-54 (Cont.) SQUL Loader Input File Layout

Record NameField NameField TypeDefault ValueDescription
Template TypeChar(1)N/AIndicates the type
of the template.
Valid values are
M = Margin then
Up-Charge, U =
Up-charges, then
Margin, R = % of
Retail and C =
Cost
PercentageNumber(12,4)N/AMargin percent or
% off Retail
value; required if
template type is
M, U and R types
of templates
CostNumber(20,4)N/AIndicates the
franchise cost for
an item when
template type is
’C’
This is
mandatory and
should only be
populated if
template type is
’C’
Final CostChar(1)N/ASignifies if the
cost is final or
acquisition. Valid
values are ‘Y’ or
’N’
Transaction DetailFile Record
Descriptor
Char(5)Identifies
transaction detail
record type. Valid
value is TDETL
File Line
Identifier
Number(10)Sequential file
line number

Table 6-54 (Cont.) SQUL Loader Input File Layout

Record NameField NameField TypeDefault ValueDescription
Message TypeChar(30)Identifies the
action that will be
performed on the
franchise cost
template
relationship
information that
is provided as
part of this
record.
It can be either
create or update
or delete a cost
relationship. Valid
values are:
costtmpreladd
(for additions),
costtmprelmod
(for updates),
costtmpreldel (for
deletions)
DeptNumber(4)Department
associated with
the cost template
ClassNumber(4)Class associated
with the cost
template
SubclassNumber(4)Subclass
associated with
the cost template
ItemChar(25)Unique number
that identifies a
valid item
associated with
the template.
Used for template
types of ‘C’ only
LocationNumber(10)Franchise Store
Number
associated with
the template
Start DateDateDate on which a
cost template will

be effective for
the subclass/item
and franchise
store (required
for update and
delete of a cost
relationship)

Table 6-54 (Cont.) SQUL Loader Input File Layout

Record NameField NameField TypeDefault ValueDescription
End DateDateDate on which a
cost template will
expire for a
subclass/item
and franchise
store (required
for update and
delete of a cost
relationship)
New Start DateDateNew Date on
which a franchise
cost relationship
will be effective
New End DateDateNew Date on
which a franchise
cost relationship
will expire
Cost
Component ID
Char(10)Unique code
which signifies
the up-charge
cost component
when
First_Applied is
’U’
This should only
be populated if
First Applied is
’U’
Transaction TrailerFile Record
Descriptor
Char(5)N/AIdentifies
transaction trailer
record type. Valid
value is TTAIL
File Line
Identifier
Number(10)N/ASequential file
line number
Transaction
Record Counter
Number(10)N/ANumber of
TDETL records in
this transaction
set
File TrailerFile Record
Descriptor
Char(5)N/AIdentifies file
trailer record
type. Valid value
is TTAIL
File Line
Identifier
Number(10)N/ASequential file
line number
File Record
Counter
Number(10)N/ANumber of
records/
transactions
processed in
current file (only
records between
FHEAD & FTAIL)
Design Assumptions

N/A

Upload of Franchise Sales (wfslsupld.ksh)

Module Name wfslsupld.ksh Description Upload of Franchise Sales to Merchandising Functional Area Franchise Management Module Type Integration Module Technology ksh Catalog ID RMS156 Wrapper Script batch_wfslsupld.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

Non-stockholding franchise stores in Merchandising are used for retailers who have franchise or other business customers for whom they supply inventory, but don’t manage it for them. However, even though inventory information will not be available for these locations in Merchandising, sales information will be able to be uploaded to Merchandising via this process to allow retailers to have better visibility to future demand from these customers. In addition to uploading sales information, this same batch script also purges old non-stockholding franchise store sales records from Merchandising. The script runs in 4 modes:

  • Load - this mode will load the data from the file into a staging table in Merchandising for processing; any errors encountered in validating the data on the upload are also written to the staging table (WFSLSUPLD_STAGING).

  • Process - this mode will process the records in the staging table that did not have errors during load, which includes both writing the data to the WF_NONSTOCKHOLDING_SALES table, as well as purging the processed records from the staging table.

  • Reject - this mode will process the records on the staging table that had errors on initial load. It will create a reject file for each location/report date with the data in error for that location/date. The records will then be deleted from the staging table.

  • Purge - this mode is used to purge old sales records from the WF_NON_STOCKHOLDING_SALES table. Records are deleted based on the system parameter Non-stockholding Franchise Sales History days (WF_NON_STOCK_SALES_HIST_DAYS).

Restart/Recovery

The program can be restarted by running the wfslsupld REJECT mode to create an input file of rejected records and wfslsupld LOAD/PROCESS mode to reprocess the rejected records.

I/O Specification
Integration Type File Name Integration Contract

Upload to Merchandising Input file name is a parameter during runtime IntCon000111

Input File Layout

Table 6-55 Input File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor
Char(5)FHEADIdentifies the file
record type
File Line IdChar(10)N/ASequential file
line number
File type
definition
Char(4)WFSUIdentifies the file
type
Customer
Location
Number(10)N/AStore number
identifier for the
customer location
Report DateChar(14)N/AReport date of
the file in
YYYYMMDDHH
MMSS format
File Create
Date
Char(14)N/AFile Create Date
in
YYYYMMDDHH
MMSS format
FDETLRecord
descriptor
Char(5)FDETLIdentifies the file
record type
File Line IdChar(10)N/ASequential file
line number
ItemChar(25)N/AItem number
identifier
Net Sales
Quantity
Number(12)N/ASales Quantity
with 4 implied
decimal places
Net SalesChar(4)N/AUnit of Measure
Quantity UOMfor the Net Sales
Quantity
Total Retail
Amount
Number(20)N/ATotal Retail
Amount with 4
implied decimal
places
Total Retail
Amount
Char(3)N/ACurrency code
for the Total
CurrencyRetail Amount
FTAILRecord
descriptor
Char(5)FTAILIdentifies the file
record type

Table 6-55 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
File Line IdNumber(10)N/ASequential file
line number
File Record
counter
Number(10)N/ANumber of
records/
transactions
processed in
current file (only
records between
head & tail)
Design Assumptions

N/A

Other Inventory

Other inventory related, scheduled inbound integrations include:

  • External Transaction Data Upload (trandataload.ksh)

  • Upload and Process Inventory Reservations from Sales Audit (ordinvupld)

  • Upload Item Availability for Type A & D Contracts from Suppliers (ediupavl)

External Transaction Data Upload (trandataload.ksh)

Module Name trandataload.ksh Description External Transaction Data Upload Functional Area Finance Module Type Integration Module Technology KSH Catalog ID RMS 376 Wrapper Script batch_trandataload.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This process, along with trandataprocess.ksh, provides a mechanism to write records directly into the TRAN_DATA tables based on a file from an external system. The primary purpose of this functionality is to allow additional costs to be included in stock ledger valuation that cannot be included based on existing Merchandise functionality. Records written to the TRAN_DATA tables do not necessarily have a connection to any Merchandising transaction, and are based on a determination made outside of Merchandising. The records written through this mechanism function exactly the same as records written by normal Merchandising processes. For cost based transactions, the information must be passed at an item/location level. For retail-based transactions, it can be at either an item/location or subclass/location level.

Note

There is no support for recalculating or impacting unit inventory in Merchandising based on the transactions passed in, and only cost or retail value in the stock ledger is impacted - although the weighted average cost (WAC) may also be impacted if that method of accounting is used in Merchandising

The trandataload script loads the staging table STAGE_EXT_TRAN_DATA table from a flat file using SQL Loader and divides the data into chunks to be processed in parallel threads based on the commit_max_counter and num_threads value on RESTART_CONTROL table.

This script accepts the following input parameters:

  • Database Connect string

  • File load indicator – This indicator is passed as Y if a flat file has to be loaded into the table STAGE_EXT_TRAN_DATA else its N

  • Input file – This is the path of the input file. This is mandatory when File load indicator is Y.

The SQL loading from a flat file is optional in the script. If File load indicator is Y the program validates if the input file exists and logs an error in case the input file does not exist. The SQL Load (sqlldr) process loads the input file using control file - trandataload.ctl into the STAGE_EXT_TRAN_DATA table.

  • A fatal error from sqlldr will halt the process.

  • Rejected records are a non-fatal error and loader will continue processing and create bad file and discard files in case the input file does not match the expected format.

If you chose not to load data into the staging table (File load indicator ‘N’) then the batch assumes that data has been loaded on the staging table from a different source. After the loading process is complete, the batch divides the data into chunks. If the staging table is empty or all the records are in ‘P’rocessed status then the batch logs an appropriate error.

Chunking Logic
  • Dense rank the staged records over Subclass, item and location.

  • Divide the rank value by the commit max counter.

  • Rounding the divided value gives the Chunk ID to which the particular value belongs to.

  • Item can be NULL on the staging table, when NULL consider item to be ‘-999’.

  • This will make sure the records with same subclass value and having item as NULL and NOT NULL are not grouped together in a chunk.

Since records with item have to be processed differently, (WAC recalculation and Variance postings) the batch makes sure that they fall in a different chunk to those records which do not have item value.

The Chunk data is inserted into STAGE_EXT_TRAN_DATA_CHUNK table.

Restart/Recovery

N/A

I/O Specification - Input File Specification

This batch uses SQL Loader to populate the staging table. The input file should be in pipe delimited format. Sample record structure would look like:

<item>|<dept>l<class>|<subclass>|<location>|<loc_type>|<tran_date>|<tran_code>|
<adj_code>|<units>|<total_cost>|<total_retail>|<ref_no_1>|<ref_no_2>|<GL_ref_no>|
<Old_unit_retail>|<New_unit_retail>|<Sales_type>|<VAT_rate>|<av_cost>|<ref_pack_no>|
<total_cost_excl_elc>|<WAC_reclculate_ind>|<status>|<create_timestamp>|

File Layout

The table below specifies the detail of each field in the record.

Table 6-56 File Layout

Field NameField TypeDefault ValueDescription / Constraints
Tran_idNUMBER(10,0)EXT_TRAN_DA
TA_SEQUENCE.
NEXTVAL
This value is defaulted to a
system generated value by the
program.
ItemVARCHAR2(25)Item is an optional field.
Transactions can be uploaded at
the Subclass level also.
DeptNUMBER(4)Mandatory Field
ClassNUMBER(4)Mandatory Field
SubclassNUMBER(4)Mandatory Field
Loc_typeVARCHAR2(1)Valid values - ‘S’, ‘W’, ‘E’
LocationNUMBER(10)Mandatory Field
Tran_dataDATEMandatory Field
Tran_codeNUMBER(4)Mandatory Field
Adj_codeVARCHAR2(1)Valid values – ‘C’, ‘U’, ‘A’
UnitsNUMBER(12, 4)Mandatory Field
Total_costNUMBER(20, 4)
Total_retailNUMBER(20, 4)
Ref_no_1NUMBER(10)
Ref_no_2NUMBER(10)
Gl_ref_noNUMBER(10)
Old_unit_retailNUMBER(20, 4)
New_unit_retailNUMBER(20, 4)
Pgm_nameVARCHAR2(100)
Sales_typeVARCHAR2(1)Valid values – ‘C’, ‘R’, ‘P’
Vat_rateNUMBER(12, 4)
Av_costNUMBER(20, 4)
Ref_pack_noVARCHAR2(25)
Total_cost_excl_elcNUMBER(20, 4)

Table 6-56 (Cont.) File Layout

Field NameField TypeDefault ValueDescription / Constraints
Wac_recalculate_indVARCHAR2(1)If Weighted Average Cost of the
Item-Location should be
recalculated after uploading this
transaction then this value
should be passed as ‘Y’.
StatusVARCHAR2(1)‘N’This value will be defaulted to ‘N’
by this program. It will be
updated to ‘P’ once it has been
processed else to ‘E’ in case of
Error.
Err_msgVARCHAR2(2500)
Create_timestampDATESysdate
Last_updated_timestampDATESysdate
Design Assumptions

N/A

Upload and Process Inventory Reservations from Sales Audit (ordinvupld)

Module Name ordinvupld.pc Description Upload and Process Inventory Reservations from Sales Audit Functional Area RMS Module Type Integration Module Technology ProC Catalog ID RMS113 Wrapper Script batch_ordinvupld.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This batch program processes the input file generated by the Sales Audit Inventory Export batch, which is generated to reserve and un-reserve inventory based on in-store customer orders and layaway. An in-store customer order is one where the customer is purchasing inventory present in the store, but will not take it home immediately. For example, with a large item like a sofa, the customer may pickup at a later time with a larger vehicle. Layaway is when a customer pays for an item over time and only takes the item home once it has been fully paid for. In processing this file, Merchandising updates the quantity of the item/location sent to either add or subtract from the quantity in the Customer Order inventory status type.

Restart/Recovery

The logical unit of work for this batch program is a valid item status transaction at a given store/location. The logical unit of work is defined as a group of these transaction records. The

Oracle Retail standard file-based restart/recovery logic is used. Records are committed to the database when the maximum commit counter is reached.

I/O Specification

Integration Type Upload to Merchandising File Name Determined by runtime parameter Integration Contract IntCon000049

Input File Layout

Table 6-57 ordinvupld.pc - Input File

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor
Char(5)FHEADIdentifies the file
record type
File Line IdChar(10)0000000001Sequential file
line number
File type
definition
Char(4)ORINIdentifies the file
type
File Create
Date
Char(14)N/AFile Create
Date in
YYYYMMDDHH
MMSS format
LocationNumber(10)N/AStore location
number
THEADRecord
descriptor
Char(5)THEADIdentifies the file
record type
File Line IdChar(10)N/ASequential file
line number
Transaction
Date & Time
Char(14)Transaction
Date
Date and time
of the order
processed
Transaction
Type
Char(6)‘SALE’Transaction
type code
specifies
whether the
transaction is
sale or Return
TDETLRecord
descriptor
Char(5)TDETLIdentifies the file
record type
File Line IdChar(10)N/ASequential file
line number
Item TypeChar(3)REF orCan be REF or
ITM
ItemChar(25)ITMId number of
the ITM or REF

Table 6-57 (Cont.) ordinvupld.pc - Input File

Record NameField NameField TypeDefault ValueDescription
Item StatusChar(6)LIN - Layaway
Initiate
LCA - Layaway
Cancel
LCO - Layaway
Complete
PVLCO - Post
void of Layaway
complete
ORI - Pickup/
delivery Initiate
ORC - Pickup/
delivery Cancel
Type of
transaction
ORD - Pickup/
delivery
Complete
PVORD - Post
void of Pick-up/
delivery
complete
DeptNumber(4)N/ADepartment of
item sold or
returned
ClassNumber(4)N/AClass of item
sold or
returned.
Sub classNumber(4)N/ASubclass of
item sold or
returned
Pack IndChar(1)N/APack indicator
of item sold or
returned
Quantity SignChanr(1)‘P’ or ‘N’Sign of the
quantity.
QuantityNumber(12)N/AQuantity *
10000 (4
implied decimal
places), number
of units for the
given order
(item) status
Selling UOMChar(4)N/AUOM at which
this item was
sold
Catchweight IndChar(1)N/AIndicates if the
item is a
catchweight
item. Valid
values are Y or
NULL

Table 6-57 (Cont.) ordinvupld.pc - Input File

Record NameField NameField TypeDefault ValueDescription
Customer Order
number
Char(48)N/ACustomer Order
number
Posting StoreNumber(10)Contains the
store at which
the item
reservation/
reservation
cancellation
should occur in
case of cross-
store
transactions
happening at
co-located
stores. It is
expected that
this field will be
populated only
for items that
are to be
reserved (or
have the
reservation
canceled) at a
different store
from the one at
which the
checkout
happened.
TTAILFile Type
Record
Descriptor
Char(5)TTAILIdentifies file
record type
File Line
Identifier
Number(10)Specified by
Sales Audit
ID of current
line being
processed by
input file.
Transaction
count
Number(6)Specified by
Sales Audit
Number of
TDETL records
in this
transaction set
FTAILFile Type
Record
Descriptor
Char(5)FTAILIdentifies file
record type
File Line
Identifier
Number(10)Specified by
external
ID of current
line being
systemprocessed by
input file

Table 6-57 (Cont.) ordinvupld.pc - Input File

Record NameField NameField TypeDefault ValueDescription
File Record
Counter
Number(10)N/ANumber of
records/
transactions
processed in
current file (only
records
between
FHEAD &
FTAIL)
Design Assumptions

N/A

Upload Item Availability for Type A & D Contracts from Suppliers (ediupavl)

Module Name ediupavl.pc Description Upload Item Availability for Type A & D Contracts from Suppliers Functional Area EDI - Contracts Module Type Integration Module Technology ProC Catalog ID RMS50 Wrapper Script rmswrap_in_rej.ksh

Schedule

See Oracle Merchandising Batch Schedule.

Design Overview

This module runs to upload supplier availability information, which is a list of the items that a supplier has available. This information is used by Merchandising for type A and D contracts which require supplier availability information. The data uploaded is written to the SUP_AVAIL table.

Restart/Recovery

N/A

I/O Specification
Integration TypeUpload to Merchandising
File NameDetermined by runtime parameter
Integration ContractIntCon000016
Input File Layout

Table 6-58 ediupavl.pc - File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor
Char(5)FHEADDescribes file
line type
Line numberNumber(10)0000000001Sequential file
line
number
File typeChar(4)SPAVN/A
Create dateChar(14)N/AFile create date
in
YYYYMMDDHH
24
MISS format
FDETLRecord
descriptor
Char(5)FDETLDescribes file
line type
Line numberNumber(10)N/ASequential file
line number
Transaction
number
Number(14)N/ASequential
transaction
number
SupplierNumber(10)N/AIndicates the
supplier for
whom the data
applies
Item typeChar(3)N/AIndicates the
type of item
contained in the
file. Valid types
are ‘ITM’, ‘UPC’,
or ‘VPN’
Item idChar(25)N/AUnique ID for
the item
Item
supplement
Char(5)N/AUPC
supplement
Available
quantity
Number(12)N/AAvailable
quantity
including 4
implied decimal
places
FTAILRecord
descriptor
Char(5)FTAILNumber(10)
Line numberNumber(10)N/ASequential file
line
number (total #
lines
in file)

Table 6-58 (Cont.) ediupavl.pc - File Layout

Record NameField NameField TypeDefault ValueDescription
Number ofNumber(10)N/ANumber of
detail recordsFDETL
lines in file
Design Assumptions

This module will only be run if contracting is turned on in the system.

Fiscal Document Generation (FDG)

The Merchandising solution supports Fiscal Document Generation functionality. Fiscal document related data can be uploaded into FDG through scheduled inbound integration.

The following scheduled inbound integration is included in this section:

  • Fiscal Document Upload into FDG (fdg_reim_job)

Fiscal Document Upload into FDG (fdg_reim_job)

Module Name fdg_reim_job Description The script calls the FDG in order to migrate data between ReIM and FDG. Functional Area Rfm Module Type Admin – Ad hoc Module Technology Background Processing Catalog ID Wrapper Script fdg_reim_batch_sql.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this process is to migrate data from ReIM tables to FDG tables and then follow the existing process in the FDG module to finish the migration. ReIM will be the owner of the data to be stored in their staging tables, which will be consumed by batch, and will begin the migration process to FDG.

Restart/Recovery

N/A

Key Tables Affected

TABLE
IM_FDG_DOC_HEAD
SELECT
Yes
INSERT
No
UPDATE
Yes
DELETE
Yes
IM_FDG_DOC_ETTYesNoNoYes
IM_FDG_DOC_DTLYesNoNoYes
IM_FDG_DOC_DTL_PACK_COMPYesNoNoYes
IM_FDG_DOC_REFYesNoNoYes
IM_FDG_DOC_NON_MERCHYesNoNoYes
IM_FDG_DOC_TAXYesNoNoYes
IM_FDG_DOC_TEXTYesNoNoYes
IM_FDG_DOC_EXTYesNoNoYes
SVC_FDG_HDRYesYesYesYes
SVC_FDG_ETTYesYesNoYes
SVC_FDG_DTLYesYesNoYes
SVC_FDG_DTL_PACKYesYesNoYes
SVC_FDG_REFYesYesNoYes
SVC_FDG_NON_MERCHYesYesNoYes
SVC_FDG_TAXYesYesNoYes
SVC_FDG_TEXTYesYesNoYes
SVC_FDG_EXTYesYesNoYes
FDG_HDRNoYesNoNo
FDG_ETTNoYesNoNo
FDG_DTLNoYesNoNo
FDG_REFNoYesNoNo
FDG_NON_MERCHNoYesNoNo
FDG_TAXNoYesNoNo
FDG_DTL_PACKNoYesNoNo
FDG_TEXTNoYesNoNo
FDG_EXTNoYesNoNo
FDG_ERRORNoYesNoNo

Design Assumptions

N/A

Sales Processing

Merchandising and Sales Audit subscribe to data from point of sale (POS) and order management (OMS) solutions related to sales, returns, customer pick-ups, and so on. Generally, sales are first audited in Sales Audit and then sent to Merchandising for posting and inventory updates. However, customers can choose to bypass Sales Audit if using an external auditing solution or choosing not to audit sales data by sending data directly to Merchandising.

This section has been broken into the following sub-sections:

  • Sales Audit

  • Sales Posting

Sales Audit

The purpose of Sales Audit is to accept transaction data from point-of-sale (POS) and order management (OMS) solutions and move the data through a series of processes that culminate in “clean” data. Data that Sales Audit finds to be inaccurate is brought to the attention of the auditors who can use the features in Sales Audit to correct the exceptions.

For more information on Sales Audit processing see the Merchandising Batch Operations Guide .

This chapter contains details about the following integration processes used to import data to Sales Audit:

  • Customer Engagement Promotion Import (CePromoBatch.ksh)

  • Import of Unaudited Transaction Data from POS to Sales Audit (saimptlog/saimptlogi)

  • Import Total Value Adjustments From External Systems (saimpadj)

  • Sales Audit Voucher Upload (savouch)

Customer Engagement Promotion Import (CePromoBatch.ksh)

Module Name CePromoBatch.ksh Description Invokes the Customer Engagement Promotion web service to fetch the promotions and saves it to the CE promo tables that will be used by the sagetref module. Functional Area Sales Audit Module Type Integration Module Technology ksh Catalog ID N/A Wrapper Script rmswrap_shell.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this script is to call the batch client that will execute the Oracle Retail Customer Engagement (ORCE) Promotion web service.

The values retrieved from the web service will populate the CE_PROMO and CE_PROMO_DEAL. These tables will be used by the Get Reference Data for Sales Audit Import Processing (sagetref) batch.

The list of valid promotions in ORCE will be extracted by using the retrieve promotions method under the Promotion Event Web Service offered by ORCE. This request will return promotion information including the promotion ID. Similarly the promotion component details in ORCE can be retrieved using the retrieve promotion deals method under the Promotion Event Web Service. The information returned through this request will include the deal ID. The data in the CE_PROMO and CE_PROMO_DEAL tables will be extracted into the promotion file format by

the sagetref batch and will be used to validate the RTLOG files being imported into Sales Audit.

Restart/Recovery
N/A
Key Tables Affected
TableSELECTINSERTUPDATEDELETE
CE_PROMONoYesNoYes
CE_PROMO_DEALNoYesNoYes
Design Assumptions
  • The CE promotion web service URL will be different for each deployment. The URL will be set up during deployment and will become part of the batch environment variables.

  • The ORCE web service is OAUTH enabled. The CePromoBatch.ksh will retrieve the necessary authentication through a REST API service call.

Import of Unaudited Transaction Data from POS to Sales Audit (saimptlog/saimptlogi)

Module Name saimptlog.c saimptlogi.c Description Import of Unaudited Transaction data from POS to Sales Audit Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA11a RSA11b Wrapper Script batch_saimptlogi.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

Importing POS and Order Management System (OMS) data to Sales Audit is a five or six-step process depending on whether saimptlogi or saimptlog is used. Saimptlog produces SQL*Loader files while saimptlogi does inserts directly into the database. Saimptlogi is meant for use in a trickle feed environment.

To import POS and OMS data, perform the following:

1. SAGETREF must be run to generate the current reference files:

  • Items

  • Wastage

  • Sub-transaction level items

  • Primary variant relationships

  • Variable weight PLU

  • Store business day

  • Code types

  • Error codes

  • Store POS

  • Tender type

  • Merchant code types

  • Partner vendor

  • Supplier vendors

  • Employee ids

  • Banner ids

  • Currency File

  • Promotions File

  • Warehouse File

  • Inventory Status File

These files are all used as input to SAIMPTLOG and SAIMPTLOGI. Because SAIMPTLOG and SAIMPTLOGI can be threaded, this boosts performance by limiting interaction with the database.

2. Either SAIMPTLOG or SAIMPTLOGI must be run against each file. The files are the transaction log files in an Oracle Retail compatible format called RTLOG. The retailer is responsible for converting its transaction logs to RTLOGs. Both SAIMPTLOG and SAIMPTLOGI create a write lock, depending on the locking level specified in the Sales Audit System Options. It will create a write lock for a store/day combination on Sales Audit tables if the locking level indicated is Store Day. Otherwise, it will create a write lock for a transaction on Sales Audit tables if the locking level indicated is transaction. It will then set the data_status to loading until SAIMPTLOGFIN is executed. SAIMPTLOG generates distinct SQL*Loader files for that store/day for the sa_tran_head, sa_tran_head_attrib, sa_tran_item, sa_tran_item_attrib, sa_tran_disc, sa_tran_disc_attrib, sa_tran_igtax (item Level Tax not VAT), sa_tran_igtax_attrib (item Level Tax Attribute not VAT Attribute), sa_tran_payment (Payment details), sa_tran_tax, sa_tran_tax_attrib, sa_tran_tender, sa_tran_tender_attrib, sa_error, sa_customer, sa_cust_attrib, sa_tran_write_lock and sa_missing_tran tables, whereas SAIMPTLOGI inserts data to the database directly. Both produce an Oracle Retail formatted voucher file for processing.

3. SQLLoader is executed to load the transaction tables from the files created by SAIMPTLOG. The store/day SQLLoader files can be concatenated into a single file per table to optimize load times. Alternatively, multiple SQLLoader files can be used as input to SQLLoader. SQL*Loader may not be run in parallel with itself when loading a table. Header data (primary keys) must be loaded before ancillary data (foreign keys). This means that the sa_tran_head table must be loaded first, sa_tran_item before sa_tran_disc, and sa_customer before sa_cust_attrib. The main tables of each attribute table must be loaded first, before its attributes. This means that the sa_tran_item must be loaded first, before sa_tran_item_attrib; the sa_tran_disc must be loaded first, before

sa_tran_disc_attrib; the sa_tran_igtax must be loaded first, before sa_tran_igtax_attrib; the sa_tran_tender must be loaded first, before sa_tran_tender_attrib; the sa_tran_tax must be loaded first, before sa_tran_tax_attrib. The remaining tables may be loaded in parallel.

4. SAVOUCH is executed to load each of the voucher files in Oracle Retail standard formatted. SAVOUCH may not be multi-threaded.

5. SAIMPTLOGFIN is executed to populate the sa_balance_group table, cancel post voided transactions and vouchers, validate missing transactions, and to mark the import as either partially or fully complete loaded. SAIMPTLOGFIN may not be multi-threaded.

Note

This design covers only Steps 2 and 3.

Restart and Recovery
N/A
File Upload Error Handling

For each RTLOG file, a record is written to the FILE_UPLOAD_STATUS table. In cases where a non-fatal error occurs after validating a record in the file, the error is written to the error file and a corresponding record is also inserted to the FILE_UPLOAD_ERRORS table.

I/O Specification

Integration Type Upload to Sales Audit File Name Determined by runtime parameter Integration Contract Inputs from sagetref.pc: IntCon000113 (itemfile) IntCon000114 (wastefile) IntCon000115 (refitemfile) IntCon000116 (primvariantfile) IntCon000117 (varupcfile) IntCon000118 (storedayfile) IntCon000119 (promfile) IntCon000120 (codesfile) IntCon000121 (errorfile) IntCon000122 (storeposfile) IntCon000123 (tendertypefile) IntCon000124 (merchcodesfile) IntCon000125 (partnerfile) IntCon000126 (supplierfile) IntCon000127 (employeefile) IntCon000128 (bannerfile) IntCon000129 (promfile) IntCon000130 (whfile) IntCon000131 (invstatusfile) Inputs from POS: IntCon000048 (RTLOG)

Outputs (if using saimptlog SQL Loader Option note that saimptlogi inserts directly into Sales Audit tables and does not create these output files) IntCon000160 (SAVO) IntCon000161 (satdisc.ctl) IntCon000162 (saigtax.ctl) IntCon000163 (sacust.ctl) IntCon000164 (sathead.ctl) IntCon000165 (satitem.ctl) IntCon000166 (sattend.ctl) IntCon000167 (satypmt.ctl) IntCon000168 (samisstr.ctl) IntCon000169 (sattax.ctl) IntCon000170 (sacustatt.ctl) IntCon000171 (saerror.ctl) IntCon000172 (sathatt.ctl) IntCon000173 (saitatt.ctl) IntCon000174 (saidatt.ctl) IntCon000175 (saixatt.ctl) IntCon000176 (satxatt.ctl) IntCon000177 (sattatt.ctl) (satwritelock.ctl)

The input files for this program are reference files generated by sagetref.pc and RTLOGs. Refer to the details for the sagetref.pc program for the input file specifications.

Output File Layout

Table 6-59 File Name: SAVO (Sales Audit Voucher File)

Record NameField NameField TypeDefault ValueDescription
FHEADFile Type
Record
Descriptor
Char(5)FHEADFile type Record descriptor
SA File Line NoChar(10)N/ASales Audit File Line number
Translator IdChar(5)SAVOIdentifies transaction type
Sys DateChar(14)N/ASystem date in
YYYYMMDDHHMMSS format
Is business dateChar(8)N/ABusiness date in YYYYMMDD
format
FDETLRecord
Descriptor
Char(5)FDETLFile Type Record descriptor
SA File Line NoNumber(10)N/ASales Audit File Line number
Voucher seq
Number
Number(20)N/AUnique identifier for an entry to
sa_voucher table
Voucher NoChar(25)N/AVoucher Number
Voucher TypeNumber(6)N/AVoucher Type
AssignedChar(8)N/ABusiness date in YYYYMMDD
Business Dateformat

Table 6-59 (Cont.) File Name: SAVO (Sales Audit Voucher File)

Record NameField NameField TypeDefault ValueDescription
Assigned StoreNumber(10)N/AStore to which the voucher is
assigned
Issuing DateChar(8)N/ADate this document was issued
Issuing storeNumber(10)N/AStore this document was issued
from
Issuing POS
Register
Char(5)N/AIssuing Point Of Sale register
Issuing CashierChar(10)N/AIssuing cashier
Issued Tran Seq
No.
Number(20)N/ATransaction sequence number
Issued item seq
number
Number(4)N/AWill hold the item sequence of the
item when the voucher is sold as
an item (gift voucher)
Issued Tender
Seq No.
Number(4)N/ATender sequence number
Issued AmountNumber(20)N/AIssued Amount * 10000 (4 implied
digits)
Issued Cust
Name
Char(120)N/AIssued customer name
Issued
Customer
Addr1
Char(240)N/AIssued customer addr1
Issued
Customer
Addr2
Char(240)N/AIssued customer addr 2
Issued
Customer City
Char(120)N/ACity of the customer, the voucher
is issued
Issued
Customer State
Char(3)N/AState of the customer
Issued
Customer
Postal Code
Char(30)N/APostal address of the customer
Issued
Customer
Country
Char(3)N/ACountry of the customer the
voucher was issued
Recipient NameChar(120)N/AName of the intended recipient
Recipient StateChar(3)N/AThe state of the intended
recipient
Recipient
Country
Char(3)N/AThe country of the intended
recipient
Redemption
Date
Char(8)N/ADate the voucher was redeemed
Redemption
Store
Number(10)N/AStore, the voucher was redeemed
at
Redemption
Register
Char(5)N/ARegister, the document was
redeemed at

Table 6-59 (Cont.) File Name: SAVO (Sales Audit Voucher File)

Record NameField NameField TypeDefault ValueDescription
Redemption
cashier
Char(10)N/ACashier redeeming the voucher
Redemption
tran seq
number
Number(20)N/ATransaction number when the
document was redeemed
Redemption
Tender seq
number
Number(4)N/AThis column will hold the tender
sequence of the tender within the
transaction when a voucher is
redeemed as tender
Redemption
Amount
Number(20)N/AAmount the document was
redeemed for*10000 (4 implied
decimal places)
Expiry DateChar(8)N/AExpiry date
StatusChar(1)N/AIndicator showing the document’s
status, issued or redeemed. Valid
values =
I - Issued, R - Redeemed
CommentsChar(2000)N/AComments
FTAILRecord
Descriptor
Char(5)FTAILFile Type Record descriptor
SA File Line No.Number(10)N/ASales Audit File Line Number
#linesNumber(10)N/ATotal number of transaction lines
in file (not including FHEAD and
FTAIL)

Control Files

Table 6-60 File Name: Satdisc.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_DIS
C
TRAN_SEQ_NOInteger
external
201:20N/A
ITEM_SEQ_NOInteger
external
421:24N/A
DISCOUNT_SEQ_
NO
Integer
external
425:28N/A
RMS_PROMO_TYP
E
Char629:34N/A
PROMOTIONInteger
external
1035:44N/A
DISC_TYPEChar645:50N/A
COUPON_NOChar4051:90N/A
COUPON_REF_NOChar1691:106N/A
QTYDecimal
external
14107:120N/A

Table 6-60 (Cont.) File Name: Satdisc.ctl

Table NameColumn NameField TypeField WidthPositionDescription
UNIT_DISCOUNT_
AMT
Decimal
external
21121: 141N/A
STANDARD_QTYDecimal
external
14142:155N/A
STANDARD_UNIT_
DISC_AMT
Decimal
external
21156:176N/A
REF_NO13Char30177:206N/A
REF_NO14Char30207:236N/A
REF_NO15Char30237:266N/A
REF_NO16Char30267:296N/A
ERROR_INDChar1297:297N/A
CATCHWEIGHT_IN
D
Char1298:298N/A
UOM_QUANTITYInteger
external
12299:310N/A
PROMO_COMPInteger
external
10311:320This field maps
to the
OFFER_ID
field from
Pricing
STOREInteger
external
10321:330N/A
DAYInteger
external
3331:333N/A

Table 6-61 File Name: Saigtax.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_IGT
AX
TRAN_SEQ_NOInteger
external
201:20N/A
ITEM_SEQ_NOInteger
external
421:24N/A
IGTAX_SEQ_NOInteger
external
425:28N/A
TAX_AUTHORITYChar1029:38N/A
IGTAX_CODEChar639:44N/A
IGTAX_RATEDecimal
external
1145:65N/A
TOTAL_IGTAX_AM
T
Decimal
external
2266:87N/A
STANDARD_QTYDecimal
external
1488:101N/A
STANDARD_UNIT_I
GTAX_AMT
Decimal
external
21102:122N/A
ERROR_INDChar1123:123N/A

Table 6-61 (Cont.) File Name: Saigtax.ctl

Table NameColumn NameField TypeField WidthPositionDescription
REF_NO_21Char30124:153N/A
REF_NO_22Char30154:183N/A
REF_NO_23Char30184:213N/A
REF_NO_24Char30214:243N/A
STOREInteger
external
10244:253N/A
DAYInteger
external
3254:256N/A
TAX_CALC_TYPEChar6257:262N/A

Table 6-62 File Name: Sacust.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_CUSTOME
R
TRAN_SEQ_NOInteger
external
201 :20N/A
Date
CUST_IDChar1621 :36N/A
CUST_ID_TYPEChar637 :42N/A
NAMEChar24043 :162N/A
ADDR1Char240163:402N/A
ADDR2Char240403:642N/A
CITYChar240643:762N/A
STATEChar3763:765N/A
POSTAL_CODEChar30766:795N/A
COUNTRYChar3796:798N/A
HOME_PHONEChar20799:818N/A
WORK_PHONEChar20819:838N/A
E_MAILChar100839:938N/A
BIRTHDATEDate8939:946Format is
YYYYMMDD
STOREInteger
external
10947:956N/A
DAYInteger
external
3957:959N/A

Table 6-63 File Name: Sathead.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_HE
AD
TRAN_SEQ_NOInteger
external
201:20N/A
REV_NOInteger
external
321:23N/A

Table 6-63 (Cont.) File Name: Sathead.ctl

Table NameColumn NameField TypeField WidthPositionDescription
STORE_DAY_SEQ
_NO
Integer
external
2024:43N/A
TRAN_DATETIMEDate1444:57Format is
YYYYMM
DDHH24MI
SS
REGISTERChar558:62N/A
TRAN_NOInteger
external
1063:72N/A
CASHIERChar1073:82N/A
SALESPERSONChar1083:92N/A
TRAN_TYPEChar693:98N/A
SUB_TRAN_TYPEChar699:104N/A
ORIG_TRAN_NOInteger
external
10105:114N/A
ORIG_REG_NOChar5115:119N/A
REF_NO1Char30120:149N/A
REF_NO2Char30150:179N/A
REF_NO3Char30180:209N/A
REF_NO4Char30210:239N/A
REASON_CODEChar6240:245N/A
VENDOR_NOChar10246:255N/A
VENDOR_INVC_N
O
Char30256:285N/A
PAYMENT_REF_N
O
Char16286:301N/A
PROOF_OF_DELIV
ERY_NO
Char30302:331N/A
STATUSChar6332:337N/A
VALUEChar22338:359Includes an
optional
negative sign
and a decimal
point
POS_TRAN_INDChar1360:360N/A
UPDATE_IDChar30361:390N/A
UPDATE_DATETIM
E
Date14391:404Format is
YYYYMM
DDHH24MI SS
ERROR_INDChar1405:405N/A
BANNER_NOInteger
external
4406:409N/A

Table 6-63 (Cont.) File Name: Sathead.ctl

Table NameColumn NameField TypeField WidthPositionDescription
ROUND_AMTInteger
external
22410:431N/A
ROUNDED_OFF_A
MT
Integer
external
22432:453N/A
CREDIT_PROMOTI
ON_ID
Integer
external
10454:463N/A
REF_NO25Char30464:493N/A
REF_NO26Char30494:523N/A
REF_NO27Char30524:553N/A
STOREInteger
external
10554:563N/A
DAYInteger
external
3564:566N/A
RTLOG_ORIG_SYSChar3567:569N/A
TRAN_PROCESS_
SYS
Char3570:572N/A
TRAN_DATEDate8573:580N/A
REF_NO28Char30581:610N/A
REF_NO29Char30611:640N/A
REF_NO30Char30641:670N/A
REF_NO31Char30671:700N/A

Table 6-64 File Name: Satitem.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_ITE
M
TRAN_SEQ_NOInteger
external
201:20N/A
ITEM_SEQ_NOInteger
external
421:24N/A
ITEM_STATUSChar625:30N/A
ITEM_TYPEChar631:36N/A
ITEMChar2537:61N/A
REF_ITEMChar2562:86N/A
NON_MERCH_ITE
M
Char2587:111N/A
VOUCHER_NOChar25112:136N/A
DEPTInteger
external
4137:140N/A
CLASSInteger
external
4141:144N/A
SUBCLASSInteger
external
4145:148N/A

Table 6-64 (Cont.) File Name: Satitem.ctl

Table NameColumn NameField TypeField WidthPositionDescription
QTYDecimal
external
14149:162Includes an
optional
negative sign
and a decimal
point
UNIT_RETAILDecimal
external
21163:183Includes a
decimal point
UNIT_RETAIL_VAT
_INCL
Char1184:184Indicates
whether unit
retail includes
or excludes
VAT
SELLING UOMChar4185:188N/A
OVERRIDE_REAS
ON
Char6189:194N/A
ORIG_UNIT_RETAI
Decimal
21195:215Includes a
Lexternaldecimal point
STANDARD_ORIG_
UNIT_RETAIL
Decimal
external
21216:236N/A
TAX_INDChar1237:237N/A
ITEM_SWIPED_IN
D
Char1238:238N/A
ERROR_INDChar1239:239N/A
DROP_SHIP_INDChar1240:240N/A
WASTE_TYPEChar6241:246N/A
WASTE_PCTDecimal
external
12247:258Includes a
decimal point
PUMPChar8259:266N/A
RETURN_REASON
_CODE
Char6267:272N/A
SALESPERSONChar10273:282N/A
EXPIRATION_DATEDate8283:290Format is
YYYYMMDD
STANDARD_QTYDecimal
external
14291:304Includes an
optional
negative sign
and a decimal
point
STANDARD_UNIT_
RETAIL
Decimal
external
21305:325Includes a
decimal point
STANDARD_UOMChar4326:329N/A
REF_NO5Char30330:359N/A
REF_NO6Char30360:389N/A
REF_NO7Char30390:419N/A
REF_NO8Char30420:449N/A

Table 6-64 (Cont.) File Name: Satitem.ctl

Table NameColumn NameField TypeField WidthPositionDescription
CATCHWEIGHT_IN
D
Char1450:450N/A
SELLING_ITEMChar25451:475N/A
CUSTOMER_ORD
ER_LINE_NO
Integer
external
6476:481N/A
MEDIA_IDInteger
external
10482:491N/A
UOM_QUANTITYInteger
external
12492:503N/A
TOTAL_IGTAX_AM
T
Decimal
external
504:524N/A
UNIQUE_IDChar25525:652N/A
STOREInteger
external
10653:662N/A
DAYInteger
external
3663:665N/A
CUST_ORDER_NOChar48666:713N/A
CUST_ORDER_DA
TE
Date14714:727Format is
YYYYMMDDH
H24MISS
FULFILL_ORDER_
NO
Char48728:775N/A
NO_INV_RET_INDChar1776:776N/A
SALES_TYPEChar1777:777N/A
RETURN_WHInteger
external
10778:787N/A
RETURN_DISPOSI
TION
Char10788:797N/A
ORIG_STOREInteger
external
10798:807N/A
ORIG_TRAN_NOInteger
external
10808:817N/A
FULFILLMENT_LO
C_TYPE
Char2818:820N/A
FULFILLMENT_LO
C
Integer
external
10821:830N/A
POSTING_STOREInteger
external
10830:839N/A
CONSIGNMENT_R
ATE
DECIMAL
EXTERNAL
14840:853INCLUDES A
DECIMAL
POINT.
CONSIGNMENT_U
NIT_COST
DECIMAL
EXTERNAL
21854:874INCLUDES A
DECIMAL
POINT.

Table 6-64 (Cont.) File Name: Satitem.ctl

Table NameColumn NameField TypeField WidthPositionDescription
INVENTORY_IDEN
TIFIER_TYPE
CHAR6875:880This field
contains the
inventory
identifier type
passed in
Sales/Return
transactions.
Valid values
are found
under the
Inventory
Identifier Types
(IIDT) code
type; for
example, Lot
(L), Expiry
Date (E), Serial
Number (S),
Import
Document (D).
Table 6-65INVENTORY_ID
File Name: Sattend.
CHAR
ctl
120881:1000This field
contains the
inventory ID
value being
passed in
sales/return
transactions.
Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_TE
NDER
TRAN_SEQ_NOInteger
external
201:20N/A
TENDER_SEQ_NOInteger
external
421:24N/A
TENDER_TYPE_G
ROUP
Char625:30N/A
TENDER_TYPE_IDInteger
external
631:36N/A
TENDER_AMTDecimal
external
2237:58Includes an
optional
negative sign
and a decimal
point.
CC_NOInteger
external
4059:98N/A
CC_EXP_DATEDate899:106FORMAT IS
YYYYMMDD
CC_AUTH_NOChar16107:122N/A
CC_AUTH_SRCChar6123:128N/A

Table 6-65 File Name: Sattend.ctl

Table 6-65 (Cont.) File Name: Sattend.ctl

Table NameColumn NameField TypeField WidthPositionDescription
CC_ENTRY_MODEChar6129:134N/A
CC_CARDHOLDER
_VERF
Char6135:140N/A
CC_TERM_IDChar5141:145N/A
CC_SPEC_CONDChar6146:151N/A
CC_TOKENChar40152:191N/A
VOUCHER_NOChar25192:216N/A
COUPON_NOChar40217:256N/A
COUPON_REF_NOChar16257:272N/A
CHECK_ACCT_NOChar30273:302N/A
CHECK_NOInteger
external
10303:312N/A
IDENTI_METHODChar6313:318N/A
IDENTI_IDChar40319:358N/A
ORIG_CURRENCYChar3359:361N/A
ORIG_CURR_AMTDecimal
external
22362:383N/A
REF_NO9Char30384:413N/A
REF_NO10Char30414:443N/A
REF_NO11Char30444:473N/A
REF_NO12Char30474:503N/A
ERROR_INDChar1504:504N/A
STOREInteger
external
10505:514N/A
DAYInteger
external
3515:517N/A

Table 6-66 File Name: Satpymt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_PA
YMENT
TRAN_SEQ_NOInteger
external
201:20N/A
PAYMENT_SEQ_N
O
Integer
external
2021:24N/A
PAYMENT_AMTDecimal
external
525:46N/A
ERROR_INDChar1047:47N/A
STOREInteger
external
648:57N/A
DAYInteger
external
358:60N/A

Table 6-67 File Name: Samisstr.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_MISSING_
TRAN
MISS_TRAN_SEQ_
NO
Integer
external
201:20N/A
STORE_DAY_SEQ
_NO
Integer
external
2021:40N/A
REGISTERChar541:45N/A
TRAN_NOInteger
external
1046:55N/A
STATUSChar656:61N/A
RTLOG_ORIG_SYSChar362:64N/A
Table 6-68 F
Table Name
ile Name: Sattax.ct
Column Name
l
Field Type
Field WidthPositionDescription
SA_TRAN_TA
X
TRAN_SEQ_NOInteger
external
201:20N/A
TAX_CODEChar621:26N/A
TAX_SEQ_NOInteger
external
427:30N/A
TAX_AMTDecimal
external
2231:52Includes an
optional
negative sign
and a decimal
point
ERROR_INDChar153:53N/A
REF_NO17Char3054:83N/A
REF_NO18Char3084:113N/A
REF_NO19Char30114:143N/A
REF_NO20Char30144:173N/A
STOREInteger
external
10174:183N/A
DAYInteger
external
3184:186N/A

Table 6-68 File Name: Sattax.ctl

Table 6-69 File Name: Sacustatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_CUST_AT
TRIB
TRAN_SEQ_NOInteger
external
201:20N/A
ATTRIB_SEQSOChar421:24N/A
ATTRIB_TYPEChar625:30N/A
ATTRIB_VALUEChar631:36N/A
STOREInteger
external
1037:46N/A

Table 6-69 (Cont.) File Name: Sacustatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
DAYInteger
external
347:49N/A

Table 6-70 File Name: Saerror.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_ERRORERROR_SEQ_NOInteger
external
201:20N/A
STORE_DAY_SEQ
_NO
Integer
external
2021:40N/A
BAL_GROUP_SEQ
_NO
Integer
external
2041:60N/A
TOTAL_SEQ_NOInteger
external
2061:80N/A
TRAN_SEQ_NOInteger
external
2081:100N/A
ERROR_CODEChar25101:125N/A
KEY_VALUE_1Integer
external
4126:129N/A
KEY_VALUE_2Integer
external
4130:133N/A
REC_TYPEChar6134:139N/A
STORE_OVERRID
E_IND
Char1140:140N/A
HQ_OVERRIDE_IN
D
Char1141:141N/A
UPDATE_IDChar30142:171N/A
UPDATE_DATE
TIME
Date14172:185Format is
YYYYMMDDH
H24MISS
ORIG_VALUEChar70186:255N/A
STOREInteger
external
10256:265N/A
DAYInteger
external
3266:268N/A
KEY_VALUE_3Integer
external
4269:272N/A

Table 6-71 File Name: Sathatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_HETRAN_SEQ_NOInteger201:20
AD_ATTRIBexternal

Table 6-71 (Cont.) File Name: Sathatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
ATTRIB_SEQ_NOInteger
external
421:24
ATTRIB_TYPEChar625:30
ATTRIB_VALUEChar12031:150
STOREInteger
external
10151:160
DAYInteger
external
3161:163
ERROR_INDChar1164:164

Table 6-72 File Name: Saitatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_ITE
M_ATTRIB
TRAN_SEQ_NOInteger
external
201:20
ITEM_SEQ_NOInteger
external
421:24
ATTRIB_SEQ_NOInteger
external
425:28
ATTRIB_TYPEChar629:34
ATTRIB_VALUEChar12035:154
STOREInteger
external
10155:164
DAYInteger
external
3165:167
ERROR_INDChar1168:168

Table 6-73 File Name: Saidatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_DIS
C_ATTRIB
TRAN_SEQ_NOInteger
external
201:20
ITEM_SEQ_NOInteger
external
421:24
DISCOUNT_SEQ_
NO
Integer
external
425:28
ATTRIB_SEQ_NOInteger
external
429:32
ATTRIB_TYPEChar633:38
ATTRIB_VALUEChar12039:158
STOREInteger
external
10159:168
DAYInteger Exernal3169:171

Table 6-73 (Cont.) File Name: Saidatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
Table 6-74ERROR_IND
File Name: Saixatt.c
Char
tl
1172:172
Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_IG
AX_ATTRIB
T
TRAN_SEQ_NO
Integer
external
201:20
ITEM_SEQ_NOInteger
external
421:24
IGTAX_SEQ_NOInteger
external
425:28
ATTRIB_SEQ_NOInteger
external
429:32
ATTRIB_TYPEChar633:38
ATTRIB_VALUEChar12039:158
STOREInteger
external
10159:168
DAYInteger
external
3169:171
ERROR_INDChar1172:172

Table 6-74 File Name: Saixatt.ctl

Table 6-75 File Name: Satxatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_TA
X_ATTRIB
TRAN_SEQ_NOInteger
external
201:20
TAX_SEQ_NOInteger
external
421:24
ATTRIB_SEQ_NOInteger
external
425:28
ATTRIB_TYPEChar629:34
ATTRIB_VALUEChar12035:154
STOREInteger
external
10155:164
DAYInteger
external
3165:167
ERROR_INDChar1168:168

Table 6-76 File Name: Sattatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_TETRAN_SEQ_NOInteger201:20
NDER_ATTRIBexternal

Table 6-76 (Cont.) File Name: Sattatt.ctl

Table NameColumn NameField TypeField WidthPositionDescription
TENDER_SEQ_NOInteger
external
421:24
ATTRIB_SEQ_NOInteger
external
425:28
ATTRIB_TYPEChar629:34
ATTRIB_VALUEChar12035:154
STOREInteger
external
10155:164
DAYInteger
external
3165:167
ERROR_INDChar1168:168

Table 6-77 File Name: Satwritelock.ctl

Table NameColumn NameField TypeField WidthPositionDescription
SA_TRAN_WR
ITE_LOCK
STORE_DAY_SEQ
_NO
Integer
external
201:20N/A
Date
TRAN_SEQ_NOInteger
external
2021:40N/A
Date
Sales Audit Interface File Layout [rtlog]

The following illustrates the file layout format of the Oracle Retail TLOG. The content of each Oracle Retail TLOG file is per store per day. The filename convention is RTLOG_STORE_DATETIME.DAT (for example, RTLOG_1234_01221989010000.DAT).

Involves round off fields, credit promotion id, tax (vat) at item level and payment amount of customer orders.

Document has been modified regarding tender types, logic of handling both VAT-TAX in the system has been added.

Retailers must ensure that credit card numbers are masked when sent through RTLOGs. Similarly, when the tender type is check, checking account numbers must be masked when sent through RTLOGs. When Sales Audit encounters an RTLOG with a non-masked credit card or checking account number, the entire file will be rejected and will not be processed.

FHEAD      (Only 1 per file, required)
THEAD      (Multiple expected, one per transaction, required for each transaction)
THATT      (Attribute record specific to the THEAD record - Multiple allowed, optional)
TCUST      (Only 1 per THEAD record allowed, optional for some transaction types, see
table below)
CATT       (Attribute record specific to the TCUST record - Multiple allowed, only valid
if TCUST exists)
TITEM      (Multiple allowed per transaction, optional for some transaction types, see
table below)
ITATT      (Attribute record specific to the TITEM record - Multiple allowed, optional
and only valid if TITEM exists)
IDISC      (Discount record specific to the TITEM record - Multiple allowed per item,
optional see table below)
IDATT      (Attribute record specific to the IDISC record - Multiple allowed, optional
and only valid if IDISC exists)
IGTAX      (VAT/Tax record specific to the TITEM record - Multiple allowed per item,
optional. Either TTAX or IGTAX should appear in a given RTLOG, if originating system is
POS, but not both, see table below). If originating system is OMS, both IGTAX and TTAX
can appear but only the one matching the store's tax type will be processed, the other
record will be ignored.
IXATT      (Attribute record specific to the IGTAX record - Multiple allowed, optional
and only valid if IGTAX exists)
TTAX       (Vat/Tax record specific to the THEAD record - Multiple allowed per
transaction, optional. Either TTAX or IGTAX should appear in a given RTLOG, if
originating system is POS, but not both, see table below). If originating system is OMS,
both IGTAX and TTAX can appear but only the one matching the store's tax type will be
processed, the other record will be ignored.
TXATT      (Attribute record specific to the TTAX record - Multiple allowed, optional
and only valid if TTAX exists)
TPYMT      (Multiple allowed per transaction, will have the deposit amount for pickup/
delivery/layaway orders, optional see table below)
TTEND      (Multiple allowed per transaction, optional for some transaction types, see
table below)
TTATT      (Attribute record specific to the TTEND record - Multiple allowed, optional
and only valid if TTEND exists)
TTAIL      (1 per THEAD, required)
FTAIL      (1 per file, required)

The order of the records within the transaction layout above is important. It aids processing by ensuring that the information is present when it is needed.

Fields expected in RTLog format based on the changes adopted -

Version
Number
12a2b3456
Version
Description
Initial
Version
(V16.0.x
SaaS)
Initial
Version
Plus
Fulfilmen
t Type
and
Location
Initial
Version
Plus
Referen
ce
Number
s 28-31
Initial Version
Plus
Fulfilment
Type and
Location and
Reference
Numbers
28-31
Version 3
Plus
Posting
Store
Version 4
Plus
Consignm
ent Rate/
Cost
Version 5
Plus
Inventory
Identifier
Type/
Inventory
Id
Reference
No. 28
NNYYYYY
Reference
No. 29
NNYYYYY
Reference
No. 30
NNYYYYY
Reference
No. 31
NNYYYYY
Fulfillment
Location
type
NYNYYYY
Fulfillment
Location
NYNYYYY
Posting
Store
NNNNYYY
Version
Number
12a2b3456
Version
Description
Initial
Version
(V16.0.x
SaaS)
Initial
Version
Plus
Fulfilmen
t Type
and
Location
Initial
Version
Plus
Referen
ce
Number
s 28-31
Initial Version
Plus
Fulfilment
Type and
Location and
Reference
Numbers
28-31
Version 3
Plus
Posting
Store
Version 4
Plus
Consignm
ent Rate/
Cost
Version 5
Plus
Inventory
Identifier
Type/
Inventory
Id
Consignmen
t Rate/Cost
NNNNNYY
Inventory
Identifier
Type
NNNNNNY
Inventory IdNNNNNNY

Table 6-78 File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file
record type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
File Type
Definition
Char(4)RTLGIdentifies file
as Oracle
Retail TLOG.
YLeft/Blank
File Create
Date
Char(14)Create dateDate and time
file was written
by external
system
(YYYYMMDD
HHMMSS).
YLeft/None
Business
Date
Char(8)Business
Date to
process
Business date
of transactions
(YYYYMMDD)
.
YLeft/None
Location
Number
Char(10)Specified by
external
system
Store or
warehouse
identifier.
YLeft/None

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
Number
Char(30)Specified by
external
system
This may
contain the
Polling ID
associated
with the
consolidated
TLOG file or
used for other
purpose.
NLeft/Blank
RTLOG
Originating
System
Char(3)POSIdentifies the
system the
RTLOG file
originated
from. Valid
values are
OMS and
POS.
YLeft/None
Transaction
Header
File Type
Record
Descriptor
Char(5)Char(5)
THEAD
Identifies file
record type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
RegisterChar(5)Transaction
date
Till used at the
store.
YLeft/Blank
Transaction
Date
Char(14)N/ADate for the
transactions
that were
processed at
the POS
(YYYYMMDD
HHMMSS).
YLeft/None
Transaction
Number
Number(10)N/ATransaction
identifier.
If
sa_system_op
tions,
wkstation_tran
_append_ind
is Y, then the
first 3 digits
indicate the
workstation ID
and last 7
digits indicate
the transaction
number.
YRight/0
CashierChar(10)N/ACashier
identifier.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
SalespersonChar(10)N/ASalesperson
identifier.
NLeft/Blank
Transaction
Type
Char(6)Refer to
TRAT
code_type
for a list of
valid types.
Transaction
type.
YLeft/Blank
Sub-
transaction
type
Char(6)Refer to
TRAS
code_type
for a list of
valid types.
Sub-
transaction
type. For sale,
it can be
employee,
drive-off, and
so on.
NLeft/Blank
Orig_tran_noNumber(10)N/APopulated only
for post-void
transactions.
Transaction
number for the
original
transaction
that will be
cancelled.
NRight/0
Orig_reg_noChar(5)N/APopulated only
for post-void
even
exchange and
return
transactions.
Register
number from
the original
transaction
NLeft/Blank
Reason
Code
Char(6)Refer to
REAC
code_type
for a list of
valid codes.
If the
transaction
type is
PAIDOU and
the sub
transaction
type is MV or
EV, than the
valid codes
come from
the
non_merch_
code_head
table.
Reason
entered by the
cashier for
some
transaction
types.
Required for
Paid In and
Paid out
transaction
types, but can
also be used
for voids,
returns, and
so on.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Vendor
Number
Char(10)N/ASupplier ID for
a merchandise
vendor paid
out
transaction;
partner ID for
an expense
vendor paid
out
transaction.
NLeft/Blank
Vendor
Invoice
Number
Char(30)N/AInvoice
number for a
vendor paid
out
transaction.
NLeft/Blank
Payment
Reference
Number
Char(16)N/AThe reference
number of the
tender used
for a vendor
payout. This
could be the
money order
number, check
number, and
so on.
NLeft/Blank
Proof of
Delivery
Number
Char(30)N/AProof of
receipt
number given
by the vendor
at the time of
delivery. This
field is
populated for
a vendor paid
out
transaction.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
Number 1
Char(30)NaNumber
associated
with a
particular
transaction, for
example,
whether for a
Store
Conditions
transaction.
The
SA_REFERE
NCE table
defines what
this field can
contain for
each
transaction
type.
NLeft/Blank
Reference
Number 2
Char(30)N/AChar(30)NLeft/Blank
Reference
Number 3
Char(30)N/AThird generic
reference
number.
NLeft/Blank
Reference
Number 4
Char(30)N/AFourth generic
reference
number.
NLeft/Blank
Value SignChar(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of the
value.
Y if Value is
present.
Left/None
ValueNumber(20)N/AValue, with 4
implied
decimal
Y if tran is a
TOTAL
Right/0 when
value is
present.
places.
Populated by
the retailer for
TOTAL
transaction,
populated by
Sales Audit for
SALE and
RETURN
transactions.
Blank when
no value is
sent.
Banner idNumber(4)N/ABanner ID of
the location.
YRight/0 when
value is
present.
Blank when
no value is
sent

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Rounded
Amount Sign
Char(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of
rounded
amount.
Amount Sign
is not used.
YLeft/None
Rounded
Amount
Number(20)N/ATotal rounded
amount, with 4
implied
decimal
places.
Rounded
Amount is not
used.
YRight/0 when
RoundedAmo
unt is present
otherwise
blank
Rounded Off
Sign
Char(1)Refer to
SIGN
code_type
for a list of
valid codes.
Rounded Off
Sign is not
used.
YLeft/None
Rounded Off
Amount
Number(20)N/ARounded off
amount, with 4
implied
decimal
places.
Rounded Off
Amount is not
used.
YRight/0 when
RoundedAmo
unt is present
otherwise
blank
Credit
Promotion Id
Char(10)N/ACredit
Promotional
ID.
YLeft/None
Reference
Number 25
Char(30)N/AN/ANLeft/Blank
Reference
Number 26
Char(30)N/AN/ANLeft/Blank
Reference
Number 27
Char(30)N/AN/ANLeft/Blank
Transaction
Processing
System
Char(3)Valid values
are OMS and
POS.
Contains the
ID of the
system that
processed the
transaction.
NLeft/None
Reference
Number 28
Char(30)Generic
Reference
Number. It can
be ignored if
not needed
based on the
type of
RTLOG being
used.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
Number 29
Char(30)Generic
Reference
Number. It can
be ignored if
not needed
based on the
type of
RTLOG being
used.
NLeft/Blank
Reference
Number 30
Char(30)Generic
Reference
Number. It can
be ignored if
not needed
based on the
type of
RTLOG being
used.
NLeft/Blank
Reference
Number 31
Char(30)Generic
Reference
Number. It can
be ignored if
not needed
based on the
type of
RTLOG being
used.
NLeft/Blank
Transaction
Header
Attribute
File Type
Record
Descriptor
Char(5)THATTIdentifies file
record type
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of current
line being
processed by
input file.
YRight/0
Attribute
Type
Char(6)Refer to
’SAHA’
code_type
for a list of
valid types
Type of
transaction
header
attribute
YLeft/Blank
Attribute
Value
Char(120)Value of
transaction
header
attribute
YLeft/Blank
Transaction
Customer
File Type
Record
Descriptor
Char(5)TCUSTIdentifies the
file record
type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file
YRight/0

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Customer IDChar(16)Customer
identifier
The ID
number of a
customer.
YLeft/Blank
Customer
Type ID
Char(6)Refer to
CIDT
code_type
for a list of
valid types.
Customer ID
type.
YLeft/Blank
Customer
Name
Char(120)N/ACustomer
name.
NLeft/Blank
Address 1Char(240)N/ACustomer
address.
NLeft/Blank
Address 2Char(240)N/AAdditional field
for customer
address.
NLeft/Blank
CityChar(120)N/ACity.NLeft/Blank
StateChar(12)State
identifier
State.NLeft/Blank
Zip CodeChar(30)Zip identifierZip code.NLeft/Blank
CountryChar(3)N/ACountry.NLeft/Blank
Home PhoneChar(20)N/ATelephone
number at
home.
NLeft/Blank
Work PhoneChar(20)N/ATelephone
number at
work.
NLeft/Blank
E-mailChar(100)N/AE-mail
address.
NLeft/Blank
BirthdateChar(8)N/ADate of birth.
(YYYYMMDD)
NLeft/Blank
Customer
Attribute
File Type
Record
Descriptor
Char(5)CATTIdentifies file
record type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Attribute typeChar(6)Refer to
SACA
code_type
for a list of
valid types.
Type of
customer
attribute
YLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Attribute
value
Char(6)Refer to
members of
SACA
code_type
for a list of
valid values.
Value of
customer
attribute.
YLeft/Blank
Transaction
Item
File Type
Record
Descriptor
Char(5)TITEMIdentifies file
record type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Item StatusChar(6)Refer to
SASI
code_type
for a list of
valid codes.
Status of the
item within the
transaction.
Valid values
are:
V - Void item
S - Sold item
R - Returned
item
YLeft/Blank
ORI - Order
Initiate
ORC - Order
Cancel
ORD - Order
Complete
LIN - Layaway
Initiate
LCA -
Layaway
Cancel
LCO -
Layaway
Complete
ADJ -
Appeasement/
Adjustment
Item TypeChar(6)Refer to
SAIT
code_type
for a list of
valid codes.
Identifies what
type of item is
transmitted.
YLeft/Blank
Item number
type
Char(6)Refer to
UPCT
code_type
Identifies the
type of item
number if the
NLeft/Blank
for a list of
valid codes.
item type is
ITEM or REF

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Format IDChar(1)VPLU format
ID
Used to
interpret VPLU
items.
NLeft/Blank
ItemChar(25)Item
identifier
Identifies the
merchandise
item.
NLeft/Blank
Reference
Item
Char(25)Item
identifier
Identifies the
sub-
transaction
level
merchandise
item.
NLeft/Blank
Non-
Merchandise
Item
Char(25)Item
identifier
Item identifier
Identifies a
non-
merchandise
item.
NLeft/Blank
VoucherChar(25)N/AGift certificate
number.
NRight/0
DepartmentNumber(4)N/AIdentifies the
department to
which this item
belongs.
This is filled in
by saimptlog.
NRight/Blank
ClassNumber(4)Class of the
item
Class of item
sold or
returned. Not
required from
a retailer;
populated by
Sales Audit.
This is filled in
by saimptlog.
NRight/Blank
SubclassNumber(4)Subclass of
the item
Subclass of
the item sold
or returned.
Not required
from a retailer;
populated by
Sales Audit.
This is filled in
by saimptlog.
NRight/Blank
Quantity
Sign
Char(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of the
quantity
YLeft/None

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
QuantityNumber(12)N/ANumber of
items
purchased,
with 4 decimal
places.
YRight/0
Selling Unit
of Measure
Char(4)N/AUnit of
measure of
the item’s
quantity.
YLeft/None
Unit RetailNumber(20)N/AUnit retail, with
4 implied
decimal
places.
YRight/0
Override
Reason
Char(6)Refer to
ORRC
code_type
for a list of
valid codes.
This column is
populated
when an
item’s price
has been
overridden at
the POS to
define why it
was
overridden.
Y if unit retail
was
manually
entered
Left/Blank
Original Unit
Retail
Number(20)N/AValue, with 4
implied
decimal
places.
This column is
populated
when the
item’s price
was
overridden at
the POS and
the item’s
original unit
retail is
known.
Y if unit retail
was
manually
entered
Right/0
Taxable
Indicator
Char(1)Refer to
YSNO
code_type
for a list of
valid codes.
Indicates
whether or not
item is
taxable.
YLeft/None
PumpChar(8)N/AFuel pump
identifier.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
Number 5
Char(30)N/ANumber
associated
with a
particular item
within a
transaction, for
example,
special order
number.
The
sa_reference
table defines
what this field
can contain for
each
transaction
type.
NLeft/Blank
Reference
Number 6
Char(30)N/ASecond
generic
reference
number at the
item level.
NLeft/Blank
Reference
Number 7
Char(30)N/AThird generic
reference
number at the
item level.
NLeft/Blank
Reference
Number 8
Char(30)N/AFourth generic
reference
number at the
item level.
NLeft/Blank
Item_swiped
_ind
Char(1)Refer to
YSNO
code_type
for a list of
valid codes
Indicates if the
item was
automatically
entered into
the POS
system or if it
had to be
manually
keyed.
YLeft/None
Return
Reason
Code
Char(6)Refer to
SARR
code_type
for a list of
valid codes.
The reason an
item was
returned.
NLeft/Blank
SalespersonChar(10)N/AThe
salesperson
who sold the
item.
NLeft/Blank
Expiration_d
ate
Char(8)N/AGift certificate
expiration date
(YYYYMMDD)
.
N

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Drop Ship
Ind
Char(1)Refer to
YSNO code
type for a list
of valid
codes.
Indicates
whether the
item is part of
a drop
shipment.
YLeft/None
Uom_qtyNumber(12)N/AQuantity of
items
purchased in
the given
UOM, with 4
decimal
places.
YRight/0
Catchweight
_ind
Char(1)Valid values
are Y and N.
Identifies if the
item is a
catchweight
item.
Left/None
Selling itemChar(25)Item
identifier
Identifies the
selling item.
NLeft/Blank
Customer
order line no
Number(6)N/AIdentifies the
customer
order number.
NLeft/Blank
Media idNumber(10)N/AIdentifies the
customer
media ID.
NLeft/Blank
Total Igtax
Amount
Number(21)N/AContains the
Igtax amount.
NRight/0
Unique IDChar(128)N/ANLeft/Blank
Customer
Order
Number
Char(48)N/AContains the
customer
order ID.
NLeft/None
Customer
Order Date
Char(14)N/AContains the
customer
order date.
Format is:
YYYYMMDDH
HMMSS
Customer
orders and
layaways
require
customer
order date.
NLeft/Blank
Fulfillment
Order
Number
Char(48)N/AContains the
order ID of the
fulfillment
order.
NLeft/None

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
No Inventory
Return
Char(1)N/AIndicates if
there is an
associated
inventory with
the return
transaction
with an
External
Customer
Order sales
type.
NLeft/Blank
Sales TypeChar(1)N/AIndicates if the
transaction is
an In Store
Customer
Order,
External
Customer
Order, or
Regular Sale
NLeft/Blank
Return
Warehouse
Char(10)N/AContains the
ID of the
physical
warehouse to
which the
inventory is
returned.
NLeft/Blank
Return
Disposition
Char(10)N/AContains the
return
disposition of
the returned
items.
NLeft/Blank
Original
Store
Char(10)Contains the
original store.
NLeft/Blank
Original
Transaction
No
Char(10)Contains the
original
transaction no.
NLeft/Blank
Fulfillment
Loc Type
Char(2)Refer to
’FLTP’ code
type for a list
of valid
types.
Contains the
fulfillment
order location
type. It is
needed only if
the file is for
an OMS
transaction.
NLeft/Blank
Fulfillment
Loc
Number(10)Fulfillment
Location ID.
It is needed
only if the file
is for an OMS
transaction.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Posting StoreNumber(10)Contains the
store at which
the item sale/
return should
be accounted
for in case of
cross-store
sales
happening at
co-located
stores. It is
expected that
this field will
be populated
only for items
that are
checked out at
a different
store from the
one at which
they are
originally
managed.
NLeft/Blank
Consignment
Rate
Number(12)Consignment
Rate with 4
implied
decimal
places.
NRight/0
Consignment
Unit Cost
Number(20)Consignment
Unit Cost with
4 implied
decimal
places.
NRight/0
Inventory
Identifier
Type
Char(6)Contains the
inventory
identifier type
passed in
Sales/Return
transactions.
NLeft/Blank
Inventory IdChar(120)Contains the
inventory id
passed in
Sales/Return
transactions.
NLeft/Blank
Transaction
Item Attribute
File Type
Record
Descriptor
Char(5)ITATTIdentifies file
record type
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of current
line being
processed by
input file.
YRight/0

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Attribute
Type
Char(6)Refer to
’SAIA’
code_type
for a list of
valid types
Type of item
attribute
YLeft/Blank
Attribute
Value
Char(120)Value of item
attribute
YLeft/Blank
Item
Discount
File Type
Record
Descriptor
Char(5)IDISCIdentifies the
file record
type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Merchandisin
g Promotion
Type
Char(6)Refer to
PRMT
code_type
for a list of
valid types
The
Merchandising
promotion
type.
YLeft/Blank
Discount
Reference
Number
Number(10)N/ADiscount
reference
number
associated
with the
discount type.
For example, if
the discount
type is a
promotion, this
contains the
promotion
number.
NLeft/Blank
Discount
Type
Char(6)Refer to
SADT
code_type
for a list of
valid types.
The type of
discount within
a promotion.
This allows a
retailer to
further break
down coupon
discounts
within the In-
store
promotion, for
example.
NLeft/Blank
Coupon
Number
Char(40)N/ANumber of a
store coupon
used as a
discount.
Y if couponLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Coupon
Reference
Number
Char(16)N/AAdditional
information
about the
coupon,
usually
contained in a
second bar
code on the
coupon.
Y if couponLeft/Blank
Quantity
Sign
Char(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of the
quantity.
YLeft/None
QuantityNumber(12)N/AThe quantity
purchased for
which the
discount is
applied, with 4
implied
decimal
places.
YRight/0
Unit Discount
Amount
Number(20)N/AUnit discount
amount for this
item, with 4
implied
decimal
places.
YRight/0
Reference
Number 13
Char(30)N/ANumber
associated
with a
particular
transaction
type at the
discount level.
The
sa_reference
table defines
what this field
can contain for
each
transaction
type.
NLeft/Blank
Reference
Number 14
Char(30)N/ASecond
generic
reference
number at the
discount level.
NLeft/Blank
Reference
Number 15
Char(30)N/AThird generic
reference
number at the
discount level.
NLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
Number 16
Char(30)N/AFourth generic
reference
number at the
discount level.
NLeft/Blank
Uom_qtyNumber(12)N/AQuantity of
items
purchased in
the given
UOM with 4
decimal
places.
YRight/0
Catchweight
_ind
Char(1)Valid values
are Y and N.
Identifies if the
item is a
catchweight
item.
Left/None
Promo
component
Number(10)N/AIf the discount
is a promotion,
this field
contains the
promotion
component
value
associated
with the
promotion
(discount
reference
number).
NLeft/Blank
Transaction
Item
Discount
Attribute
File Type
Record
Descriptor
Char(5)IDATTIdentifies file
record type
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of current
line being
processed by
input file.
YRight/0
Attribute
Type
Char(6)Refer to
’SADA’
code_type
for a list of
valid types
Type of
transaction
item discount
attribute
YLeft/Blank
Attribute
Value
Char(120)Value of
transaction
item discount
attribute
YLeft/Blank
Item TaxFile Type
Record
Descriptor
Char(5)IGTAXIdentifies the
file record type
YLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Tax AuthorityChar(10)N/AA free-form
text field. Any
value can be
used as a
default string
describing the
authority
levying the
tax.
YLeft/Blank
Igtax CodeChar(6)Refer to
tax_code/
vat_code of
tax_codes/
vat_codes
tables.
IGtax code
(tax code/VAT
code) to
represent
whether it is a
State, City, or
some other
tax code/VAT
code.
YLeft/Blank
Igtax RateNumber(20)N/AIgtax rate, with
4 implied
decimal
places.
YRight/0
Igtax Amount
Sign
Char(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of the
Igtax amount.
YLeft/None
Igtax AmountNumber(21)N/ATotal igtax
amount for this
item, with 5
implied
decimal
places.
YRight/0
Reference
Number 21
Char(30)N/AN/ANLeft/None
Reference
Number 22
Char(30)N/AN/ANLeft/None
Reference
Number 23
Char(30)N/AN/ANLeft/None
Reference
Number 24
Char(30)N/AN/ANLeft/None
Tax
Calculation
Type
Char(6)Refer to the
’GTTT’ code
type for the
list of valid
values.
Contains the
tax calculation
type.
NLeft/None

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Transaction
Item Tax
Attribute
File Type
Record
Descriptor
Char(5)IXATTIdentifies file
record type
YLeft/None
File Line
Identifier
Number(10)Specified by
external
system
ID of current
line being
processed by
input file.
YRight/0
Attribute
Type
Char(6)Refer to
’SAXA’
code_type
for a list of
valid types
Type of
transaction
item tax
attribute
YLeft/None
Attribute
Value
Char(120)Value of
transaction
item tax
attribute
YLeft/None
Transaction
Tax
File Type
Record
Descriptor
Char(5)TTAXIdentifies the
file record
type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Tax CodeChar(6)Refer to
TAXC
code_type
for as list of
valid types.
Tax code (tax
code/VAT
code) to
represent
whether it is a
State, City, or
some other
tax code/VAT
code.
YLeft/Blank
Tax SignChar(1)Refer to
SIGN
code_type
for a list of
valid codes
Sign of the tax
amount.
YLeft/None
Tax AmountNumber(20)N/ATotal Tax
amount for this
item, with 4
implied
decimal
places.
YRight/0
Reference
Number 17
Char(30)N/AN/ANLeft/None
Reference
Number 18
Char(30)N/AN/ANLeft/None
Reference
Number 19
Char(30)N/AN/ANLeft/None

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
Number 20
Char(30)N/AN/ANLeft/None
Transaction
Tax Attribute
File Type
Record
Descriptor
Char(5)TXATTIdentifies file
record type
YLeft/None
File Line
Identifier
Number(10)Specified by
external
system
ID of current
line being
processed by
input file.
YRight/0
Attribute
Type
Char(6)Refer to
’SAXA’
code_type
for a list of
valid types
Type of
transaction tax
attribute
YLeft/None
Attribute
Value
Char(120)Value of
transaction tax
attribute
YLeft/None
Transaction
payment
File Type
Record
Descriptor
Char(5)TPYMTIdentifies the
file record
type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Payment
Sign
Char(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of the
deposit
amount.
YLeft/None
Payment
Amount
Number(20)N/ADeposit
amount paid,
with 4 implied
decimal
places.
YRight/0
Transaction
Tender
File Type
Record
Descriptor
Char(5)TTENDIdentifies the
file record
type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Tender Type
Group
Char(6)Refer to
TENT
code_type
for as list of
valid types
High-level
grouping of
tender types.
YLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Tender Type
ID
Number(6)Refer to the
pos_tender_t
ype_head
table for as
list of valid
types.
Low-level
grouping of
tender types.
YLeft/Blank
Tender SignChar(1)Refer to
SIGN
code_type
for a list of
valid codes.
Sign of the
value.
YLeft/None
Tender
Amount
Number(20)N/AAmount paid
with this
tender in the
transaction,
with 4 implied
decimal
places.
YRight/0

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Cc_noChar(40)N/ACredit card
number.
Merchandise
is not a PCI
compliant
system. Full
credit card
numbers are
not allowed in
Merchandising
. The value
sent in the
RTLOG
should be
masked so
that it contains
no more than
the first 6
digits and last
4 digits in
clear text. The
remaining
digits should
be masked
using the
character
defined in
sa_system_op
tions.cc_no_m
ask_char. If
NLeft/Blank
more than the
first 6 and last
4 characters
exist in any
records, the
transaction file
will be
rejected.
Alternatively,
the credit card
number field
can be left
fully blank.
Cc_auth_noChar(16)N/AAuthorization
number for a
credit card.
NLeft/Blank
cc
authorization
Char(6)Refer to
CCAS
N/ANLeft/Blank
sourcecode_type
for as list of
valid types.

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
cc
cardholder
verification
Char(6)Refer to
CCVF
code_type
for as list of
valid types
N/ANLeft/Blank
cc expiration
date
Char(8)N/AYYYYMMDDNLeft/Blank
cc entry
mode
Char(6)Refer to
CCEM
code_type
for as list of
valid types.
Indicates
whether the
credit card
was swiped,
thus
automatically
entered, or
manually
keyed.
NLeft/Blank
cc terminal idChar(5)N/ATerminal
number from
which the
transaction
was sent.
NLeft/Blank
cc special
condition
Char(6)Refer to
CCSC
code_type
for as list of
valid types.
N/ANLeft/Blank
cc tokenChar(40)N/AHolds unique
token when
the tender
type used is
credit, debit
card, PayPal,
Fonacot or
Others.
NLeft/Blank
Voucher_noChar(25)N/AGift certificate
or credit
voucher serial
number.
Voucher
number needs
to be included
If a voucher is
voided from a
transaction.
Y if voucherRight/0
Coupon
Number
Char(40)N/ANumber of a
manufacturer’s
coupon used
as a tender.
Y if couponLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Coupon
Reference
Number
Char(16)N/AAdditional
information
about the
coupon,
usually
contained in a
second bar
code on the
coupon.
Y if couponLeft/Blank
Cheque
Account
Number
Char(30)N/AAccount
number of the
cheque.
NLeft/Blank
The value sent
in the RTLOG
is masked.
Cheque
Number
Number(10)N/ACheck
number.
Required for
the tender
type CHECK
Right/0
Identification
Method
Char(6)Refer to
IDMH
code_type
for list of
valid types.
Identification
Method (such
as a driver’s
license
number or
photo credit
card).
NLeft/Blank
Identification
Id
Char(40)N/AIdentification
ID (license ID
or photo card
number).
NLeft/Blank
Original
Currency
Char(3)Refer to the
CURRENCIE
S table for
valid
currency
codes.
The original
currency with
which the
customer
made the
payment.
NLeft/Blank
Original
Currency
Amount
Number(20)N/AAmount paid
with this
tender in the
original
currency, with
4 implied
decimal
places.
NRight/0

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
Reference
No 9
Char(30)N/ANumber
associated
with a
particular
transaction
type at the
tender level.
The
sa_reference
table defines
what this field
can contain for
each
transaction
type.
NLeft/Blank
Reference
No 10
Char(30)N/ASecond
generic
reference
number at the
tender level.
NLeft/Blank
Reference
No 11
Char(30)N/AThird generic
reference
number at the
tender level.
NLeft/Blank
Reference
No 12
Char(30)N/AFourth generic
reference
number at the
tender level.
NLeft/Blank
Transaction
Tender
Attribute
File Type
Record
Descriptor
Char(5)TTATTIdentifies file
record type
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of current
line being
processed by
input file.
YRight/0
Attribute
Type
Char(6)Refer to
’SATA’
code_type
for a list of
valid types
Type of
transaction
tender
attribute
YLeft/Blank
Attribute
Value
Char(120)Value of
transaction
tender
attribute
YLeft/Blank
Transaction
Trailer
File Type
Record
Descriptor
Char(5)TTAILIdentifies file
record type.
YLeft/Blank

Table 6-78 (Cont.) File Name: rtlog

Record
Name
Field NameField TypeDefault
Value
DescriptionRequired?Justification/
Padding
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
Transaction
Record
Counter
Number(10)N/ANumber of
records
processed in
the current
transaction
(only those
records
between
transaction
head and tail).
N/AN/A
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies the
file record
type.
YLeft/Blank
File Line
Identifier
Number(10)Specified by
external
system
ID of the
current line
being
processed by
input file.
YRight/0
File Record
Counter
Number(10)N/ANumber of
transactions
processed in
the current file
(only the
records
between the
file head and
tail).
YRight/0

The RTLOG file is imported into the Sales Audit tables after validation by the batch program saimptlog. This section describes the requirements and validations performed on the records.

Common Requirements/Validations

This section details the common requirements and validations performed on all transactions. The following sections describe the specific requirements of each type of transaction. If a transaction is not mentioned, it does not have specific requirements.

Table 6-79 Record Type Requirements

Transaction TypeIncludes item
records?
Includes tender
records?
Includes tax
records? IG TAX?
Includes
customer
records?
OPENNoNoNoNo
NOSALENoOptionalNoNo
VOIDOptionalOptionalOptionalOptional
PVOIDNoNoNoNo

Table 6-79 (Cont.) Record Type Requirements

Transaction TypeIncludes item
records?
Includes tender
records?
Includes tax
records? IG TAX?
Includes
customer
records?
SALEOptionalYesOptionalOptional
RETURNYesYesOptionalOptional
EEXCHYesNoOptionalOptional
PAIDINNoYesNoNo
PAIDOUNoYesNoNo
PULLNoYesNoNo
LOANNoYesNoNo
CONDNoNoNoNo
CLOSENoNoNoNo
TOTALNoNoNoNo
REFUNDThis transaction is
TITEM and TCUST
record should not b
system is POS. IG
Either IGTAX or TT
originating system
matching the store’
not sent through the
records are optional
e included if IGTAX a
TAX is an item-level t
AX can be used if ori
is OMS, both IGTAX
s tax type will be pro
RTLOG. It is entered a
. The TTEND record is
ppears in a transactio
ax and TTAX is a trans
ginating system is POS
and TTAX can appear
cessed, the other recor
t the HQ level. The
required. A TTAX
n if originating
action-level tax.
, but not both. If
but only the one
d will be ignored.
METERYesNoNoNo
PUMPTYesNoNoNo
TANKDPYesNoNoNo
TERMTERM records are
do not come from t
TTAX, one TCUST
newly coming up.
created by saimptlog
he RTLOG file. They
record, and one CAT
and then loaded into t
require one TITEM, on
T record, IGTAX, and
he database. They
e TTEND, one
one TPYMT which is
DCLOSENoNoNoNo
SPLORDOptionalYesOptionalOptional
REOPENNoNoNoNo
PREPAYNoYesNoOptional

Requirements per Record Type

Table 6-80 Requirements per Record Type

Record TypeRequirements
IDISCIDISC records must immediately follow their associated TITEM record. IDISC
records should be after the ITATT record if it exists.
IGTAXIGTAX will immediately follow TITEM or ITATT record (if it is present), if
discount records are not present. Otherwise it should follow the IDISC or
IDATT record (if it is present). Even if IGTAX is coming prior to IDISC, it will
be processed, but for maintaining proper format, Sales Audit expects it to
come after IDISC.

Table 6-80 (Cont.) Requirements per Record Type

Record TypeRequirements
TTAXEither this record or IGTAX should appear in the transaction. IGTAX and
TTAX cannot be both used at the same time if originating system is POS. If
originating system is OMS, both IGTAX and TTAX can appear but only the
one matching the store’s tax type will be processed, the other record will be
ignored.
TPYMTThis record should be right before the TTEND record. It contains the deposit
amount for pickup/delivery/layaway orders.
CATTCATT records must immediately follow their associated TCUST record.
THATTTHATT records must immediately follow their associated THEAD record.
ITATTITATT records must immediately follow their associated TITEM record.
IDATTIDATT records must immediately follow their associated IDISC record.
IXATTIXATT records must immediately follow their associated IGTAX record.
TXATTTXATT records must immediately follow their associated TTAX record.
TTATTTTATT records must immediately follow their associated TTEND record.

Code Type Validations

Table 6-81 Code Type Validations

Record NameField NameCode Type
Transaction HeaderTransaction TypeTRAT
Sub-transaction TypeTRAS
Reason CodeREAC or values from non_merch_code_head if the
transaction type is PAIDOU and the sub-transaction
type is MV or EV.
Value SignSIGN
Vender NoIf the transaction type is PAIDOU and the sub-
transaction type is MV, this field is validated against
the supplier table. If the transaction type is PAIDOU
and the sub-transaction type is EV, this field is
validated against the partner table.
Transaction Processing
System
TSYS
Transaction Header
Attribute
Attribute TypeSAHA
Transaction ItemItem TypeSAIT
Item StatusSASI
Item Number TypeUPCT
Quantity SignSIGN
Taxable IndicatorYSNO
Price Override Reason
Code
ORRC
Item Swiped IndicatorYSNO
Sales TypeSASY

Table 6-81 (Cont.) Code Type Validations

Record NameField NameCode Type
Return DispositionINV_STATUS_CODES table
No Inventory ReturnYSNO
Return Reason CodeSARR
Fulfillment Loc TypeFLTP
Transaction Item
Attribute
Attribute TypeSAIA
Item DiscountRMS Promotion TypePRMT
Discount TypeSADT
Quantity SignSIGN
Item Discount AttributeAttribute TypeSADA
Transaction CustomerCustomer ID TypeCIDT
Customer AttributeAttribute TypeSACA
Attribute valueCode types from the codes in SACA.
Item TaxTax Calculation TypeGTTT
Tax CodeTAXC from the CODE_DETAIL table or VATC from
the VAT_CODES table
Item Tax AttributeAttribute TypeSAXA
Transaction TaxTax codeTAXC from the CODE_DETAIL table or VATC from
the VAT_CODES table.
Tax signSIGN
Transaction Tax
Attribute
Attribute TypeSAXA
Transaction PaymentPayment (Deposit
Amount) Sign
SIGN
Transaction TenderTransaction Tender
Tender Type Group
TENT
Tender SignSIGN
Tender Type IDPos_tender_type_head table
CC Authorization
Source
CCAS
CC Cardholder
Verification
CCVF
CC Entry ModeCCEM
CC Special ConditionCCSC
Transaction Tender
Attribute
Attribute TypeSATA

The following dates are validated: Business Date, Transaction Date, and Expiration Date. Also, saimptlog accepts only business dates that are within the PERIOD.VDATE minus the SA_SYSTEM_OPTIONS.DAYS_POST_SALE value.

The store number is validated against the STORE table. Numeric fields are checked for nonnumeric characters.

For transactions of type SALE, RETURN, and EEXCH, saimptlog checks whether a transaction is in balance. With the introduction of the Item level tax and Payment amount lines, the balancing logic has been changed as below. Also with introduction of handling VAT/TAX, the logic of balancing has been modified as below.

  • When TAX is on in the system (system_options.default_tax_type equals SALES):

Transaction Items (Unit Retail * Unit Retail Sign * Quantity) of items which are on Regular Sale, Return, or EEXCH

  • Item Discounts (Unit Discount Amount * Unit Discount Sign * Quantity) of items which are on Regular Sale, Return, or EEXCH

  • Item Level Tax (Total Igtax Amount) of items which are on Regular Sale, Return, or EEXCH

  • Transaction Tax (Tax Amount * Tax Sign)

    • Transaction payment (Payment Amount * Payment Sign)

equals Transaction Tenders (Tender Amount * Tender Sign)

saimptlog will populate the Value field (on THEAD) with the transaction’s sales value (item value minus discount value plus tax value) from the preceding calculation if it was not provided in the RTLOG. The following change is made in the sale total balancing: Value field in THEAD will be: (item value - discount value + tax value) for items which are on Regular Sale, Return, or EEXCH + payment value.

Note

If this Value field is being used in creating some totals, then accordingly, these totals needs to be modified to accommodate the extra amount coming in.

  • When VAT is on in the system (system_options.default_tax_type in GTAX, SVAT, GTS), look for the store level VAT indicator, which tells whether the unit retail is inclusive or exclusive of VAT. The logic of balancing will vary:

Transaction Items (Unit Retail * Unit Retail Sign * Quantity) of items which are on Regular Sale, Return, or EEXCH

  • Item Discounts (Unit Discount Amount * Unit Discount Sign * Quantity) of items which are on Regular Sale, Return, or EEXCH

  • Item Level Tax (Total Igtax Amount) of items which are on Regular Sale, Return, or EEXCH (when VAT is off at the item level).

  • Transaction Tax (Tax Amount * Tax Sign)

  • Transaction Payment (Payment Amount * Payment Sign)

equals Transaction Tenders (Tender Amount * Tender Sign)

Vouchers are treated as follows:

  • If an item sold is as a gift certificate (Transaction Item, Voucher field has a value), the issued information is written to the SA_VOUCHER table.

  • If the Transaction Type is RETURN, and the Transaction Tender Type Group is voucher (VOUCH), the issued information is written to the SA_VOUCHER table.

  • If the Transaction Type is SALE and the Transaction Tender Type Group is a voucher (VOUCH), the redeemed information is written to the SA_VOUCHER table.

  • When a gift certificate is sold, the customer information should always be included. A receiving customer name value should be populated in the ref_no5 field, receiving customer state value should be populated in the ref_no6 field, and receiving customer country should be populated in the ref_no7 field. These reference fields can be changed by updating the sa_reference table, but the code needs to be modified as well. The expiration date is put in the expiration_date field in the TITEM record.

Other validations and points to consider:

  • The salesperson in the TITEM record takes precedence over the salesperson in the THEAD record.

  • If an item sold is a sub-transaction (REF) item (Transaction Item, reference item field has a value and item does not), it will be converted to the corresponding transaction level item (ITEM).

  • If an item sold is an ITEM (Transaction Item, item field has a value), it will be validated against the Merchandising item tables.

  • The corresponding Department, Class, Subclass, and Taxable Indicator will be selected from the Merchandising tables and populated for an item.

The balancing level determines whether the register or the cashier fields are required:

  • If the balancing level is R (register), the register field on the THEAD must be populated.

  • If the balancing level is C (cashier), the cashier field on the THEAD must be populated.

  • If the balancing level is S (store), neither field is required to be populated.

  • The tax_ind and the item_swiped_ind fields can only accept Y or N values. If an invalid value is passed through the RTLOG, an error will be flagged and the value will be defaulted to Y.

Transaction of Type SALE

A transaction of type SALE is generated whenever an item is sold. If a sale is for an employee, the sub-transaction type is EMP. If it is a drive-off sale, when someone drives off with unpaid gas, the sub-transaction type is DRIVEO. A special type of sale is an odd exchange, subtransaction type EXCH, where items are sold and returned in the same transaction. If the net value of the exchange is positive, then it is a sale. If the net value is negative, it is a return.

Requirements per record type (other than what is described in the preceding Layout section):

Table 6-82 Requirements per Record Type

Record TypeRequirements
THEADN/A

Table 6-82 (Cont.) Requirements per Record Type

Record TypeRequirements
TITEM
Item Status is a required field; it determines whether the item is Sold
(S), Returned (R), or Voided (V). If the item status is S, the quantity sign
is expected to be P. If the item status is R, the quantity sign is expected
to be N. Also, if the item status is ORI, LIN, ORD, or LCO, the quantity
sign should be P. In the case of ORC or LCA, it should be N.
Item status ADJ is to support appeasement transactions from OMS,
where a customer is partially refunded for their original purchase based
on an agreed-to price adjustment, or other reasons.

If the item status is V, the quantity sign is the reverse of the quantity sign
of the voided item. That is, if an item with status S is voided, the quantity
sign would be N. Furthermore, the sum of the quantities being voided
cannot exceed the sum of the quantities that are Sold or Returned.
Note: Neither of the two validations are performed by saimptlog, but an
audit rule could be created to check this.

The following item statuses are used for handling items on customer
order layaway:
ORI - Order Initiate
ORD - Order Complete
ORC - Order Cancel
LIN - Layaway Initiate
LCA - Layaway Cancel
LCO - Layaway Complete

In a typical sale, the items all have a status of S. In the case of an odd
exchange, some items will have a status of R.

In a typical return, the items all have a status of R. In the case of an odd
exchange, some items will have a status of S.

If an item has status R, then the Return Reason Code field may be
populated. If it is, it will be validated against code type SARR. Also, it is
better to capture the Return Reason Code in the case of items on ORC
or LCA, but it is not mandatory. No validation is kept for these new item
statuses for checking of SARR.

If the price of an item is overridden, the Override Reason and Original
Unit Retail fields must be populated.
IDISC
The Merchandising Promotion Type field must always be populated with
values of code type PRMT.

The Promotion field is validated, when a value is passed, against the
promhead table.

If the promotion is In Store (code 1004), the Discount Type field must be
populated with values of code type SADT.

The Discount Reference Number is a promotion number which is of
status A, E, or M.

If the Discount Type is SCOUP for Store Coupon, the Coupon Number
field must be populated. The Coupon Reference Number field is
optional.

Table 6-82 (Cont.) Requirements per Record Type

Record TypeRequirements
IGTAX
The IGTAX_CODE field must always be populated depending on the
system’s default tax type. For a default tax type of SALES, this field will
be populated with values of code_type TAXC. For a default tax type of
SVAT, GTAX, or GTS, this field will be populated with VATC (vat_code
from vat_codes table). IGTAX is an Item-level tax.

The TAX_AUTHORITY field must always be populated. This is a free
form text and any value can be used as a default string describing the
authority levying the tax.

If Item Status is ADJ (appeasement transaction), the IGTAX Tax Code
from OMS is TOTAX.
TTAX
The TAX_CODE field must always be populated depending on the
system’s default tax type. For a default tax type of SALES, this field will
be populated with values of code_type TAXC. For a default tax type of
GTAX, SVAT, or GTS, this field will be populated with VATC (vat_code
from vat_codes table). TTAX is a Transaction-level tax.
TPYMTPayment (Deposit amount) sign and Payment (Deposit) amount fields are
necessary if this line is appearing. Basically, this is the accumulation of
various items being considered in one transaction, which are on pick up/
delivery/lay away.
TTENDIf the tender type group is COUPON, the Coupon Number field must be
populated. The Coupon Reference Number field is optional.

Meaning of reference number fields:

Note

The meaning of these reference number fields may be changed through the sa_reference table. The transaction type SPLORD is the same as SALE, but the inventory will not be reserved for the orders at its line level.

Table 6-83 Meaning of Reference Number Fields

Transaction
Type
Sub-
transaction
Type
Item TypeTender Type
Group
Reference
Number Field
Meaning of
Reference
Field
Req?
SALEN/AN/AN/A1Speed Sale
Number
Y
SALEN/AGCNN/A5Recipient
Name
N
SALEN/AGCNN/A6Recipient
State
N
SALEN/AGCNN/A7Recipient
Country
N
SALEN/AN/ACHECK9Check
Number
N
SALEN/AN/ACHECK10Driver’s
License
Number
N

Table 6-83 (Cont.) Meaning of Reference Number Fields

Transaction
Type
Sub-
transaction
Type
Item TypeTender Type
Group
Reference
Number Field
Meaning of
Reference
Field
Req?
SALEN/AN/ACHECK11Credit Card
Number
N
SALEDRIVEON/AN/A1Incident
Number
Y
SALEEMPN/AN/A3Employee
Number of the
employee
receiving the
goods.
N

Table 6-84 Expected Values for Sign Fields

TRANSACTION TYPETITEM.Quantity
Sign
TEND.Tender
Sign
TTAX.Tax SignIDISC.Quantity
Sign
SALEP if item is sold; N
if item is returned;
reverse of original
item if item is
voided.
PPP if item is sold; N
if item is returned;
reverse of original
item if item is
voided.
SALEP if item is onPPP if item is on
ORI, LIN, ORD, or
LCO; N if item is
on ORC or LCA.
ORI, LIN, ORD, or
LCO; N if item is
on ORC or LCA.

Transaction of Type PVOID

This transaction is generated at the register when another transaction is being post voided. The orig_tran_no and orig_reg_no fields must be populated with the appropriate information for the transaction being post voided. The PVOID transaction must be associated with the same store day as the original transaction. If the PVOID needs to be generated after the store day is closed, the transaction needs to be created using the forms.

Transaction of type RETURN

This transaction is generated when a customer returns an item.

This type of transaction has similar record type requirements as a SALE transaction.

Meaning of reference number fields:

Note

The assumption is that new item statuses will not come under transaction type RETURN.

If a customer wants to return the items (ORI, LIN), these will come under SALE but with item statuses as ORC or LCA.

Table 6-85 Meaning of Reference Number Fields

Transaction TypeSub-transaction
Type
Reference
Number Field
Meaning of
Reference Field
Req?
RETURNN/A1Receipt Indicator
(Y/N)
Y
RETURNN/A2Refund Reference
Number
N
RETURNEMP3Employee
Number of the
employee
returning the
goods.
N
Table 6-86 Expe
TRANSACTION
TYPE
cted Values for Sign
TITEM.Quantity
Sign
TE
Fields
ND.Tender Sign
TTAX.Tax SignIDISC.Quantity
Sign
RETURNP if item is sold; N
if item is returned;
reverse of original
item if item is
voided.
N
NP if item is sold; N
if item is returned;
reverse of original
item if item is
voided

Table 6-86 Expected Values for Sign Fields

Transaction of type SPLORD

This transaction is generated when a customer picks up an item, which is not in stock. The item status can be ORI, ORC, or ORD. (Order Initiate, Order Cancel, or Order Complete).

Transaction of type EEXCH

This transaction is generated when there is an even exchange.

This type of transaction has similar record type requirements as a SALE transaction.

It is expected that the number of items returned equals the number of items sold. However, this validation is not performed by saimptlog. An audit rule could be created for this. Saimptlog only expects that there would be at least two item records.

No tender changes hands in this transaction.

Meaning of reference number fields:

Note

The items, which are on customer order or layaway, should not be come under this transaction type.

The meaning of these reference number fields may be changed through the sa_reference table.

Table 6-87 Meaning of Reference Number Fields

Transaction TypeSub-transaction
Type
Reference
Number Field
Meaning of
Reference Field
Req?
EEXCHN/A1Receipt Indicator
(Y/N)
Y
EEXCHEMP3Employee
Number of the
employee
exchanging the
goods.
N

Transaction of type PAIDIN

This type of transaction has only one TTEND record.

A reason code is required.

Meaning of reference number fields:

The meaning of these reference number fields may be changed through the sa_reference table.

Table 6-88 Meaning of Reference Number Fields

Reason CodeReference Number
Column
MeaningReq?
NSF1NFS Check CreditN
Number
ACCT1Account NumberN
Transaction Type PAIDOU

This type of transaction has only one TTEND record.

A reason code is required (code type REAC). If the sub-transaction type is EV or MV, the reason code comes from the non_merch_codes_head table.

If the sub-transaction type is EV or MV, then at least one field among the vendor number, vendor invoice number, payment reference number, and proof of delivery number fields should be populated.

If the sub-transaction type is EV, the vendor number comes from the partner table. If the subtransaction type is MV, the vendor number comes from the supplier table.

Meaning of reference number fields:

Note

The meaning of these reference number fields may be changed through the sa_reference table.

Table 6-89 Meaning of Reference Number Fields

Sub Transaction TypeReason CodeReference
Number Column
MeaningReq?
EVN/A2Personal ID
Number
N
EVN/A3Routing NumberN
EVN/A4Account NumberN
NAPAYRL1Money Order
Number
N
NAPAYRL2Employee
Number
N
NAINC1Incident NumberN
Transaction of Type PULL

This transaction is generated when cash is withdrawn from the register.

This type of transaction has only one TTEND record.

Expected values for sign fields

Table 6-90 Expected Values for Sign Fields

TRANSACTIONTITEM.QuantityTEND.Tender SignTTAX.TaxIDISC.Quantity Sign
TYPESignSign
PULLN/ANN/AN/A
Transaction of Type LOAN

This transaction is generated when cash is added to the register.

This type of transaction has only one TTEND record.

Expected values for sign fields:

Table 6-91 Expected Values for Sign Fields

TRANSACTIONTITEM.QuantityTEND.Tender SignTTAX.TaxIDISC.Quantity Sign
TYPESignSign
LOANN/APN/AN/A
Transaction Type Cond

This transaction records the condition at the store when it opens. There can be at most one COND record containing weather information and at most one COND record containing temperature information. Both of these pieces of information may be in the same COND

record. There may be any number of COND records containing traffic and construction information.

This type of transaction does not have TITEM, IDISC, IGTAX, TTAX, TPYMT, or TTEND records

The meaning of these reference number fields may be changed through the sa_reference table.

Table 6-92 Meaning of Reference Number Fields

Reference Number ColumnMeaningReq?
1Weather - code type WEATN
2Temperature - a signed 3 digit
number.
N
3Traffic - code_type TRAFN
4Construction - code_type CONSN
Transaction of Type TOTAL

This transaction records the totals that are reported by the POS and OMS. The value field must be populated. Some systems generate only one transaction number for all totals. In order to avoid duplicate errors being reported, only one total transaction can have a transaction number and the subsequent ones can have blank transaction numbers. In other words, a TOTAL transaction is not required to have a transaction number.

This type of transaction does not have TITEM, IDISC, IGTAX, TTAX, TPYMT, TTEND records.

Transaction of Type METER

This transaction is generated when a meter reading of a fuel pump is taken.

This type of transaction has only TITEM records.

Meaning of reference number fields:

Note

The meaning of these reference number fields may be changed through the sa_reference table.

Table 6-93 Meaning of Reference Number Fields

Reference Number ColumnMeaningReq?
1Reading Type: (A for adjustment,
S for shift change, P for price
change, or C for store close)
Y
5Opening Meter ReadingsY
6Closing Meter ReadingY

Table 6-93 (Cont.) Meaning of Reference Number Fields

Reference Number ColumnMeaningReq?
7If the reading type is P for price
change, the old unit retail should
be placed here. Decimal places
are required.
Y
8Closing Meter ValueY
Transaction of Type PUMPT

This transaction is generated when a pump test is performed. This type of transaction has only TITEM records.

Transactions of Type TANKDP

This transaction is generated when a tank dip measurement is taken.

This type of transaction has only TITEM records.

Meaning of reference number fields:

Note

The meaning of these reference number fields may be changed through the sa_reference table.

Table 6-94 Meaning of Reference Number Fields

Reference Number ColumnMeaning of Reference FieldReq?
1Tank identifierY
5Dip Type (FUEL, WATER, and so
on)
Y
6Dip Height Major (decimal places
required)
Y
7Dip Height Minor (decimal places
required)
Y
Transaction of Type DCLOSE

This transaction is generated when the day closed. The transaction number for this type of transaction has to be blank.

Note

Vouchers are minimally handled by saimptlog. Voucher information is written to the savouch file which is passed to the program savouch.pc.

  • A voucher will appear on the TITEM record only if it was sold. When saimptlog encounters a SALE transaction with a voucher, it writes the voucher to the savouch file as an I for Issued voucher.

  • A voucher will be issued when it appears on the TTEND record of transactions of type RETURN and PAIDOU. In other words, saimptlog will write it to the savouch file with status I.

  • A voucher will be redeemed when it appears on the TTEND record of transactions of type SALE and PAIDIN. In other words, saimptlog will write it to the savouch file with status R.

Vouchers may not be returned. However, a transaction of type PAIDOU may be generated when the customer exchanges a voucher for another form of tender.

Transaction of Type REOPEN

This transaction is generated when a store day which was closed needs to be reopened to process additional transactions. Transaction number for this type of transaction has to be blank.

Transaction of Type OTHER

This transaction is a generic transaction type to support Micros Xstore integration. This will identify all the other transaction types that are not currently supported. This type of transaction has only THEAD and TTAIL records.

Note

Sales Audit typically doesn’t allow transactions to exist outside of a store day or to be uploaded against a closed store day. To allow for exception cases where the store might perform internal processing related checks ( such as clock in, training, and so on) outside the purview of a store day, flexibility has been provided to allow for only transactions with TRAN_TYPE and SUB_TRAN_TYPE of TYPE=’OTHER’ to be uploaded against closed store days. Upload of such transactions does not impact the store days accounting transactions and will automatically update the count of the files/ transactions uploaded.

Transaction of Type PREPAY

This type of transaction is generated when a liability advance is accepted by the business without the requirement to capture item details. It carries THEAD, TTEND and an optional TCUST record. Optional Custom Attributes associated with these records lines (that is, THATT, TTATT, CATT) are also supported.

Meaning of reference number fields (When integrated from OMS):

Note

The meaning of these reference number fields may be changed through the sa_reference table.

Reference Number ColumnMeaningReq?
1Customer Order NumberN
Design Assumptions

Table 6-95 Sales Audit Valid Transaction Type

Transaction CodeTransaction Type
OPENOpen
CLOSEClose
CONDDaily Store Conditions
DCLOSEDay close indicator
LOANLoan
METERMeter Reading for Fuel
NOSALENo Sale
PAIDINPaid In
PAIDOUPaid Out
PULLPull
PUMPTPump Test for Fuel
PVOIDPost Void (A transaction that was rung later into the register to void
something that occurred earlier at the same store/day. A post void
updates the original transaction’s sub-transaction type.)
REFUNDReturn of customer’s original check.
RETURNReturn
SALESale
TANKDPTank Dip
TOTALPOS generated totals
EEXCHEven exchange
VOIDVoid (aborted transaction)
OTHEROthers
REOPENReopen Store Day from POS
PREPAYPrepayment
DCLOSE Transaction Type

When the retailer is sending only one file to the system, SAIMPTLOG.PC marks the store day record in the Sales Audit import log as partially or fully loaded in the database by looking for a transaction type of DCLOSE. However, if the retailer is sending more than one file (as in, for example, a trickle polling situation), the retailer can specify the number of files that the system should expect in combination with the DCLOSE transaction type. This ensures that the system receives all of the files, even if the DCLOSE transaction type is, for some reason, received before the final file.

For example, if 24 files are expected over a given amount of time, and the file with the DCLOSE transaction type is, for some reason, sent before the 24th file, the Merchandising system waits until the last file arrives before marking the store day record as partially or fully loaded in the database.

The import process is completed after SAIMPTLOGFIN.PC has updated the store, data, and audit status of each store day record.

The Reopen Transaction Type

When the retailer is sending transaction of type of REOPEN for store and business day system should expect REOPEN as first transaction in the file before any additional transactions.

When secondary DCLOSE transaction is sent after REOPEN transaction type system should expect count of files since the prior DLCOSE transaction (not the full count for store/day).

SAIMPTLOGFIN.PC batch program would sum up the file counts in case of multiple DCLOSE transactions for the store day and compare against the files loaded in Sales Audit and update the store, data and audit status.

Import Total Value Adjustments From External Systems (saimpadj)

Module Name saimpadj.pc Description Import Total Value Adjustments From External Systems to Sales Audit Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA07 Wrapper Script rmswrap_in_rej.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This module posts external system adjustments to the Sales Audit total value table.

The sales audit adjustments are passed to the module in an external file.

Records that fail necessary validations would be written to the reject file. The input and reject file names are passed as arguments.

Restart/Recovery

Restart/recovery logic for file-based processing is used. The logical unit of work for this module is a parameterized number defined in the restart tables.

Record level locking is done on sa_store_day before updating.

I/O Specification

Integration Type Upload to Sales Audit File Name Determined by runtime parameters. Integration Contract IntCon000047

Input File Layout

Table 6-96 Input File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record type (the
beginning of the input file).
File Line
Identifier
Number(10)Sequential
number
ID of the current line being read
from input file.
File head
descriptor
Char(4)IMPADescribes file line type.
Current dateChar(14)N/AFile date in
YYYYMMDDHH24MISS format.
FDETLFile Type
Record
Descriptor
Char(5)FDETLIdentifies the file record type to
upload a new deal header.
File Line
Identifier
Number(10)Sequential
number
ID of the current line being read
from input file.
Data sourceChar(6)N/AName of the external system that
produced the file.
New value signChar(1)N/ASign(+/-) for the new value.
New ValueNumber(20)N/AValue for the total entered by
Headquarters user*10000 (4
implied decimal places).
Total seq noNumber(20)N/AIdentifies the unique result set for
this total ID, total revision, or
store/day.
Balancing group and index
values.
StoreNumber(10)N/AStore number for a store/day
combination.
Business DateChar(8)N/ADate for store/day combination.
Total idChar(10)N/AID to uniquely identify the total.
Ref no 1Char(30)N/AThe first reference value based
by which the total is grouped.
Ref no 2Char(30)N/AThe second reference value
based by which the total is
grouped.
Ref no 3Char(30)N/AThe third reference value based
by which the total is grouped.
FTAILFile Type record
descriptor
Char(5)FTAILIdentifies the file record type (the
end of the input file).
File Line
Identifier
Number(10)Sequential
number
ID of the current line being read
from input file.
File Record
Counter
Number(10)Sequential
number
Number of records/transactions in
the current file (only records
between head and tail).
Design Assumptions

N/A

Sales Audit Voucher Upload (savouch)

Module Name savouch.pc Description Sales Audit Voucher Upload Functional Area Oracle Retail Sales Audit Module Type Integration Module Technology ProC Catalog ID RSA08 Wrapper Script batch_savouch.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

Because gift certificates can enter the Sales Audit system as either items or tender, processing must be done to match up the sales and redemptions. This module is used to aggregate gift certificate and voucher records. It compares records in the input files to the database. If a record for the voucher does not exist on the database, the record is inserted. If the voucher already exists on the database, the record should be updated with the appropriate information. The voucher details are updated to SA_VOUCHER table.

Some retailers assign gift certificates to a given store, which means that before a gift certificate is sold at a store, it is assigned to a given store. When a retailer assigns a gift certificate to a given store, a record is written to the database. When the gift certificate is then sold by the store and redeemed by the consumer, this existing record must be updated to include the sale and redemption information. Some retailers choose not to assign gift certificates and instead simply sell gift certificates. In that case, the record will be inserted into the database when the gift certificate is sold and then updated when the gift certificate is redeemed.

Restart/Recovery

Restart/recovery logic for file-based processing is used. Records will be committed to the database when the commit_max_ctr defined in the RESTART_CONTROL table is reached.

I/O Specification

Integration Type Upload to Sales Audit File Name The input file name is not fixed; the input file name is determined by a runtime parameter. Records rejected by the import process are written to a reject file. The reject file name is not fixed; the reject file name is determined by a runtime parameter. Integration Contract IntCon000160 (SAVO)

Input File Layout

Table 6-97 Input File Layout

Record NameField NameField TypeDefault ValueDescription
FHEADRecord
descriptor/
Char(5)FHEADFile head marker.
Line idNumber(10)0000000001Unique line ID.
Translator idChar(5)SAVOIdentifies transaction type.
File create dateChar(14)N/AVdate in YYYYMMDDHH24MISS
format.
Business DateChar(8)Business DateVdate in YYYYMMDD format.
FDETLRecord
descriptor/
Char(5)FDETLFile head marker.
Line idNumber(10)N/AUnique line ID.
Voucher seq
Number
Number(20)N/AUnique identifier for an entry to
the SA_VOUCHER table.
Voucher NoChar(16)N/ASerial Number of the voucher.
Tender Type IdNumber(6)N/AType of Voucher (Valid values for
tender type are maintained in the
pos_tender_type_head table with
tender_type_group as VOUCH.
Assigned DateChar(8)N/ADate the voucher was assigned.
Assigned storeNumber(10)N/AStore to which the voucher is
assigned.
Issuing DateChar(8)N/ADate this document was issued.
Issuing storeNumber(10)N/AStore this document was issued
from.
Issuing RegisterChar(5)N/ARegister this document was
issued from.
Issuing CashierChar(10)N/ACashier issuing the document.
Issued
transaction
number
Number(20)N/ATransaction number at the time of
issuance.
Issued item seq
number
Number(4)N/AWill hold the item sequence of the
item when the voucher is sold as
an item (gift voucher).
Issued tender
seq number
Number(4)N/AWill hold the tender sequence of
the tender when the voucher is
sold as a tender (Merchandise
Credit).
Issued AmountNumber(20)N/AAmount the voucher was issued
for*10000 (4 implied decimal
places).
Issued
Customer
Name
Char(120)N/AName of the customer, who was
issued the voucher.
Issued
Char(240)N/AThe address of the customer who
Customer
Addr1
was issued the voucher.

Table 6-97 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
Issued
Customer
Addr2
Char(240)N/AThe second line address of the
customer who was issued the
voucher.
Issued
Customer City
Char(120)N/ACity of the customer, the voucher
is issued.
Issued
Customer State
Char(3)N/AState of the customer.
Issued
Customer
Postal Code
Char(30)N/APostal address of the customer.
Issued
Customer
Country
Char(3)N/ACountry of the customer where
the voucher was issued.
Recipient NameChar(120)N/AName of the intended recipient.
Recipient StateChar(3)N/AThe state of the intended
recipient.
Recipient
Country
Char(3)N/AThe country of the intended
recipient.
Redemption
Date
Char(8)N/ADate the voucher was redeemed.
Redemption
Store
Number(10)N/AStore at which the voucher was
redeemed.
Redemption
Register
Char(5)N/ARegister at which the document
was redeemed.
Redemption
cashier
Char(10)N/ACashier redeeming the voucher.
Redemption
tran seq
number
Number(20)N/ATransaction Number when the
document was redeemed.
Redemption
Tender seq
number
Number(4)N/AThis column will hold the tender
sequence of the tender within the
transaction when a voucher is
redeemed as tender.
Redemption
Amount
Number(20)N/AAmount the voucher was
redeemed for*10000 (4 implied
decimal places).
Expiry DateChar(8)N/AExpiry Date.
StatusChar(1)N/Andicator showing the document’s
status - issued or redeemed.
Valid values = I - Issued, R -
Redeemed.
CommentsChar(2000)N/AComments.
FTAILRecord typeChar(5)FTAILDescribes file record and marks
the end of file.
Line idNumber(10)N/AUnique file line ID.

Table 6-97 (Cont.) Input File Layout

Record NameField NameField TypeDefault ValueDescription
#linesNumber(10)N/ATotal number of transaction lines
in file (not including FHEAD and
FTAIL).
Design Assumptions

N/A

Sales Posting

All sales data, whether imported from Sales Audit or directly from POS and OMS solutions, are uploaded into Merchandising using one of the following scheduled inbound integrations are included in this functional area:

  • Process Multiple POSU Files (uploadsales_all.ksh)

  • Upload POSU File for Processing (uploadsales.ksh)

For more on sales processing, see the Merchandising Batch Operations Guide .

Process Multiple POSU Files (uploadsales_all.ksh)

Module Name uploadsales_all.ksh Description Process Multiple POSU Files Functional Area Sales Posting Module Type Integration Module Technology Ksh Catalog ID RMS157 Wrapper Script batch_uploadsales.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this script is to execute the uploadsales.ksh module for all POSU files that are for upload. This wrapper will simplify the sales upload process for multiple POSU files, removing the need to call the uploadsales.ksh individually for each file.

Restart/Recovery

N/A

Locking Strategy

N/A

Security Considerations
N/A
Performance Considerations

The number of threads, the amount of waiting time, number for retries, and average volume of data should be considered. RETRY_WAIT_TIME shouldn’t be increased significantly.

The rows, bindsize and readsize parameter of the sqlldr command can be configured for better performance. This gives more control over how many times the inserts are committed/ executed.

Security Considerations
N/A
I/O Specification

Integration Type Upload to Merchandising File Name POSU_<tran_date>.<thread_val> Integration Contract IntCon000044

Input File Layout

Refer to the Input File Layout section in uploadsales.doc.

Upload POSU File for Processing (uploadsales.ksh)

Module Name uploadsales.ksh Description Upload POSU File for Processing Functional Area Sales Posting Module Type Integration Module Technology Ksh Catalog ID RMS112 Wrapper Script batch_uploadsales.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

The purpose of this module is to upload the contents of the POSU file from Sales Audit or 3rd Party POS to the staging table for further processing.

Restart/Recovery

N/A

Locking Strategy

N/A

Security Considerations

N/A

Performance Considerations

The number of threads, the amount of waiting time, number for retries, and average volume of data should be considered. RETRY_WAIT_TIME shouldn’t be increased significantly.

The rows, bindsize and readsize parameter of the sqlldr command can be configured for better performance. This gives more control over how many times the inserts are committed/ executed.

Security Considerations
N/A
I/O Specification

Integration Type Upload to Merchandising File Name POSU_<tran_date>.<thread_val> Integration Contract IntCon000044

Input File Layout

Table 6-98 Input File

Record NameField NameField TypeDefault ValueDescription
File HeaderFile Type
Record
Descriptor
Char(5)FHEADIdentifies file record type
File Line
Identifier
Number(10)Specified by
external
system
ID of current line being
processed by input file
File Type
Definition
Char(4)POSUIdentifies file as ‘POS Upload’
File Create
Date
Char(14)N/ADate file was written by
external system
Location
Number
Number(10)N/AStore identifier
Vat include
indicator
Char(1)N/ADetermines whether or not the
store stores values including
vat. Not required but populated
by Sales Audit
Vat regionNumber(4)N/AVat region the given location is
in. Not required but populated
by Sales Audit

Table 6-98 (Cont.) Input File

Record NameField NameField TypeDefault ValueDescription
Currency codeChar(3)N/ACurrency of the given location.
Not required but populated by
sales audit
Currency retail
decimals
Number(1)N/ANumber of decimals supported
by given currency for retails.
Not required but populated by
Sales Audit
Transaction HeaderFile Type
Record
Descriptor
Char(5)THEADIdentifies transaction record
type
File Line
Identifier
Number(10)Specified by
external
system
ID of current line being
processed by input file
Transaction
Date
Char(14)Transaction
date
Date sale/return transaction
was processed at the POS
Item TypeChar(3)REF or ITMItem type will be represented
as a REF or ITM
Item ValueChar(25)N/AThe ID number of an ITM or
REF
DeptNumber(4)N/ADept of item sold or returned.
Not required but populated by
Oracle Retail Sales Audit
ClassNumber(4)N/AClass of item sold or returned.
Not required but populated by
Oracle Retail Sales Audit
SubclassNumber(4)N/ASubclass of item sold or
returned. Not required but
populated by Oracle Retail
Sales Audit
Pack IndicatorChar(1)N/APack indicator of item sold or
returned. Not required but
populated by Oracle Retail
Sales Audit
Item levelNumber(1)N/AItem level of item sold or
returned. Not required but
populated by Oracle Retail
Sales Audit
Tran levelNumber(1)N/ATran level of item sold or
returned. Not required but
populated by Oracle Retail
Sales Audit
Wastage TypeChar(6)N/AWastage type of item sold or
returned. Not required but
populated by Oracle Retail
Sales Audit

Table 6-98 (Cont.) Input File

Record NameField NameField TypeDefault ValueDescription
Wastage
Percent
Number(12)N/AWastage Percent*10000 (4
implied decimal places.),
wastage percent of item sold or
returned. Not required but
populated by Oracle Retail
Sales Audit
Transaction
Type
Char(1)S - sales
R - return
Transaction type code to
specify whether transaction is a
sale or a return
Drop Shipment
Indicator
Char(1)Y
N
Indicates whether the
transaction is a drop shipment
or not. If it is a drop shipment,
indicator will be ‘Y’. This field is
not required, but will be
defaulted to ‘N’ if blank
Total Sales
Quantity
Number(12)N/ATotal sales quantity * 10000 (4
implied decimal places),
number of units sold at a
particular location
Selling UOMChar(4)N/AUOM at which this item was
sold
Sales SignChar(1)P - positive
N - negative
Determines if the Total Sales
Quantity and Total Sales Value
are positive or negative
Total Sales
Value
Number(20)N/ATotal Sales Value * 10000 (4
implied decimal places), sales
value, net sales value of goods
sold
Last Modified
Date
Char(14)N/AFor VBO future use
Catchweight
Indicator
Char(1)NULLIndicates if the item is a catch
weight item. Valid values are ‘Y’
or NULL
Actual Weight
Quantity
Number(12)NULLActual Weight Quantity*10000
(4 implied decimal places), the
actual weight of the item, only
populated if catchweight_ind =
‘Y’
Sub Trantype
Indicator
Char(1)NULLTran type for Sales Audit Valid
values are ‘A’, ‘D’, NULL
Total Igtax
Value
Number(20)N/ATotal Igtax Value * 10000 (4
implied decimal places), goods
sold or returned
Sales TypeChar(1)N/AIndicates whether the line item
is a Regular Sale, a customer
order serviced by OMS
(External CO) or a customer
order serviced by a store (In
Store CO). Valid values are
‘R’,‘E’, or ‘I’
Table 6-98 (Cont.) Input File
Record NameField NameField TypeDefault ValueDescription
No Inventory
Return
Indicator
Char(1)N/AContains an indicator that
identifies a return without
inventory. This is generally a
non-required column, but in
case of Returns, this is
required. Valid values are ‘Y’ or
’N’
Return
Disposition
Char(10)N/AContains the disposition code
published by RWMS as part of
the returns upload to OMS
Return
Warehouse
Number(10)N/AContains the physical
warehouse ID for the
warehouse identifier where the
item was returned
Customer
Order No
Char(48)N/AThis column contains the
customer order number ID.
Fulfillment
Order No
Char(48)N/AThis column contains the
fulfillment order number ID.
Fulfillment Loc
Type
Char(2)N/AThis column contains the
fulfillment location type. Code
for the fulfillment loc type from
code_detail where code_type =
‘FLTP’
Fulfillment LocNumber(10)N/AThis column contains the
fulfillment loc ID.
Orig StoreNumber(10)N/AThis column contains the
original store value for a Return
transaction.
POS Tran IdNumber(20)N/AThis column contains the
unique identifier for a sale
transaction.
This is anOptionalfield.
Customer needs to provide a
unique identifier for a sale
transaction. If not provided,
Merchandising assigns a
unique value from a DB
sequence.
Posting StoreNumber(10)This column contains the store
at which the item sale/return
should be accounted for in
case of cross-store sales
happening at co-located stores.
It is expected that this field will
be populated only for items that
are checked out at a different
store from the one at which
they are originally managed.

Table 6-98 (Cont.) Input File

Record NameField NameField TypeDefault ValueDescription
Consignment
Rate
Number(12)This column contains the
consignment rate that should
be applied while posting the
sales/returns to Merchandising.
(4 implied decimal places)
Consignment
Unit Cost
Number(20)This column contains the
consignment unit cost that
should be applied while posting
the sales/returns to
Merchandising. (4 implied
decimal places)
Inventory
Identifier Type
Char(6)This column contains the
inventory identifier type passed
in Sales/Return transactions.
Valid values are found under
the Inventory Identifier Types
(IIDT) code type; for example,
Lot (L), Expiry Date (E),Import
Document (D).
Inventory IdChar(120)This column contains the
inventory ID value being
passed in sales/return
transactions.
Transaction TaxFile Type
Record
Descriptor
Char(5)TTAXIdentifies the file record type
File Line
Identifier
Number(10)Specified by
external
system
Sequential file line number
Tax CodeChar(6)N/AHolds the tax code associated
to the item
Tax RateNumber(20)N/ATax rate*10000000000(10
implied decimal places), holds
the tax rate for the tax code
associated to the item
Total Tax ValueNumber(20)N/ATotal Tax value*10000(4
implied decimal places), total
tax amount for the line item
Transaction DetailFile Type
Record
Descriptor
Char(5)TDETLIdentifies transaction record
type
File Line
Identifier
Number(10)Specified by
external
system
ID of current line being
processed by input file
Promotional
Tran Type
Char(6)N/ACode for promotional type from
code_detail, code_type =
‘PRMT’
Promotion
Number
Number(10)N/APromotion number from the
Merchandising

Table 6-98 (Cont.) Input File

Record NameField NameField TypeDefault ValueDescription
Sales QuantityNumber(12)N/ASales quantity*10000 (4
implied decimal places.),
number of units sold in this
prom type
Sales ValueNumber(20)N/ASales value*10000 (4 implied
decimal places.), value of units
sold in this prom type
Discount ValueNumber(20)NADiscount quantity*10000 (4
implied decimal places.), value
of discount given in this prom
type
Promotion
Component
Number(10)N/ALinks the promotion to
additional pricing attributes
Transaction TrailerFile Type
Record
Descriptor
Char(5)TTAILIdentifies file record type
File Line
Identifier
Number(10)Specified by
external
system
ID of current line being
processed by input file
Transaction
Count
Number(6)Specified by
external
system
Number of TDETL records in
this transaction set
File TrailerFile Type
Record
Descriptor
Char(5)FTAILIdentifies file record type
File Line
Identifier
Number(10)Specified by
external
system
ID of current line being
processed by input file
File Record
Counter
Number(10)N/ANumber of records/transactions
processed in current file (only
records between fhead & ftail)

Fields expected in POSU format based on changes adopted:

V16V16+ Customer Order
Changes
V19V19.3V24V25
Fulfillment Order NoNoYesYesYesYesYes
Fulfillment Loc TypeNoYesYesYesYesYes
Fulfillment LocNoYesYesYesYesYes
Orig StoreNoYesYesYesYesYes
POS Tran IdNoNoYesYesYesYes
Posting StoreNoNoNoYesYesYes
Consignment Rate/Unit
Cost
NoNoNoNoYesYes
Inventory Identifier TypeNoNoNoNoNoYes
Inventory IdNoNoNoNoNoYes
Design Assumptions

Multiple taxes for an item if sent from POS to Sales Audit, will be summed to a single tax in Merchandising and assigned one of the applicable tax codes.

Rolling up transactions to the item/store/price point

The program uploadsales.ksh requires that transactions be rolled up the item/store/price point level. The tables below give a hypothetical (though not particularly realistic) example of the type of rollup required by upload_sales.ksh.

Table 6-99 Sales for Item Number 1234 (at one store during one period of the day)

Transaction NumberNumber of Items SoldAmount (in specified
currency unit)
Price point (price
reason)
16719.99Regular
395218.00Promotional
84317.99Clearance
987327.00Promotional
104119.99Regular
1265431.96Clearance
Note

The variation of the price per item in different transactions. This is the result of the price applied at the time of sale—the price point. Now look at the next table that shows the same transactions rolled up by item and price point.

Table 6-100 Sales for Item Number 1234

Number of Items SoldPrice Reason (price point)Total Amount for Item-Price
point (in currency)
2Regular price19.98
5Promotional price45.00
5Clearance price39.95

uploadsales.ksh takes the totals and looks for any discounts for transactions in the POSU file. It applies the discounts to an expected total dollar amount using the price listed for that item from the pricing table (PRICE_HIST). It next compares this expected total against the reported total. If the program finds a discrepancy between the two amounts, it is reported. If the two totals match, the rollup is considered valid. If value-added tax (VAT) is included in any sales transaction amounts, it is removed from those transactions prior to the validation process.

Reject File

The module produces a reject file similar to the input file if it is found to have missing or duplicate FHEAD or FTAIL records. Records in these types of files are loaded to the svc_posupld_load table, but not in the svc_posupld_staging table.

Forecasting

Merchandising has the ability to upload forecast data from an external source. Forecasts can be uploaded by week or by day.

Scheduled forecast integration processes include:

  • Daily Demand Item Forecast Subscription API

  • Weekly Demand Item Forecast Subscription API

  • Weekly/Daily Item Forecast Upload (load_item_forecast)

Daily Demand Item Forecast Subscription API

This section describes the Daily Demand Item Forecast Subscription API.

Functional Area

Foundation

Design Overview

This API is used to import daily forecast data from Oracle Retail Inventory Planning Optimization - Demand Forecasting to Merchandising. It uses BDI (Bulk Data Integration), which is an integration layer that facilitates the bulk transfer of information between solutions. On this particular integration, the data flow is from Inventory Planning Optimization - Demand Forecasting to BDI, and then BDI to Merchandising. To accomplish this data transfer, BDI will invoke a Merchandising owned API that will pull data from the BDI integration layer and load into the Merchandising daily forecast table ( DAILY_ITEM_FORECAST ).

Note

The job that manages this import is scheduled in Inventory Planning Optimization - Demand Forecasting, rather than as part of the Merchandising batch schedule.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
Daily Demand ItemImport daily demand itemDlyDmdFst_Tx_BdiInterfaceModule.xml
Forecastforecast from BDI

Tables

TABLESELECTINSERTUPDATEDELETE
DLY_DMND_FRCST_INYesNoNoNo
DAILY_ITEM_FORECASTNoYesYesYes

Weekly Demand Item Forecast Subscription API

This section describes the Weekly Demand Item Forecast Subscription BDI.

Functional Area

Foundation

Design Overview

This API is used to import weekly forecast data from Oracle Retail Inventory Planning Optimization - Demand Forecasting to Merchandising. It uses BDI (Bulk Data Integration), which is an integration layer that facilitates the bulk transfer of information between solutions. On this particular integration stream, the data flow is from Inventory Planning Optimization - Demand Forecasting to BDI, and then BDI to Merchandising. To accomplish this data transfer, BDI will invoke a Merchandising-owned API that will pull data from BDI integration layer BDI table and load into the Merchandising weekly forecast table ( ITEM_FORECAST ). This process begins by preserving the previous 4 weeks of forecasted sales data in ITEM_FORECAST_HIST and then the ITEM_FORECAST table is truncated. Then the new forecast data is imported.

Note

The job that manages this import is scheduled in Inventory Planning Optimization - Demand Forecasting, rather than as part of the Merchandising batch schedule.

Data Definition XML

The BDI interface staging tables are generated based on the XML schema definition.

Data FlowDescriptionXML Schema Definition (XSD)
Weekly DemandImport weekly demand itemWklyDmdFst_Tx_BdiInterfaceModule.xml
Item Forecastforecast from BDI

Tables

TABLESELECTINSERTUPDATEDELETE
WKLY_DMND_FRCST_INYesNoNoNo
ITEM_FORECASTNoYesYesYes
ITEM_FORECAST_HISTNoYesNoYes

Weekly/Daily Item Forecast Upload (load_item_forecast)

load_item_forecast.ksh

Module Name load_item_forecast.ksh Description Load daily/weekly item forecast from Oracle Retail Inventory Planning Optimization Cloud Service - Demand Forecasting Functional Area Integration - Forecast Module Type Integration

Module Technology Ksh Catalog ID N/A Wrapper Script rmswrap_shell_in.ksh

Schedule

Oracle Retail Merchandising Batch Schedule

Design Overview

This script loads item forecast data into the Merchandising forecast tables.

The forecast data comes from Inventory Planning Optimization - Demand Forecasting in a CSV (comma separated) format file. Merchandising expects a single comma-delimited input file (that is, a csv file) in the format specified in the sqlldr control scripts

load_item_forecast.ctl (for Weekly) and load_daily_item_forecast.ctl (for Daily). Please refer to Integration Contract for more details. A run-time parameter (that is, run type) of D or W indicates whether the Daily or Weekly forecast data is being loaded into Merchandising. If the forecast is a daily forecast, information is written to the DAILY_ITEM_FORECAST table. If the forecast is a weekly forecast, information is written to the ITEM_FORECAST table. Depending on the run type parameter, the batch truncates the respective forecast table prior to loading.

Restart/Recovery

Evaluate the successful load of the data.

In case of any failures:

SQL load – SQL load dumps invalid records that do not meet certain technical requirements (that is, data type inconsistencies, and so on). The rejected record is written either to a bad file or to a discard file. The discard file contains records that do not satisfy conditions such as missing or invalid record types. Records with other technical issues are written to the bad file.

Note

A non-fatal code is returned by the program and a message will be written to the log file if reject files are created.

User Action: When such conditions exist, you may update either the bad or the discard file and attempt to reload using the same files. You may also fix the data input file and reload, so that the item forecast tables will be truncated and upload item forecast tables with the corrected the data.

Integration Contract

If a run-time parameter of ‘weekly’ is used, the input file is a single comma-delimited file (that is, a CSV file):

Field NameField TypeRequiredDescription
EOW_DATEDate(8)YesItem_forecast.eow_date
(YYYYMMDD)
Field NameField TypeRequiredDescription
ITEMChar(25)YesItem_forecast.item
LOCChar(10)YesItem_forecast.loc
FORECAST_SALESDouble(14)YesItem_forecast.forecast_sales
Note - this field can contain
decimal quantities.
Unlike quantity fields in
Merchandising ProC Batch files,
this qty field is not assumed to be
extended to significant digits.
FORECAST_STD_DEVDouble(14)YesItem_forecast.forecast_std_dev
Note - this field can contain
decimal quantities.
Unlike quantity fields in
Merchandising ProC Batch files,
this qty field is not assumed to be
extended to significant digits.

If a run-time parameter of ‘daily’ is used, the input file is a single comma-delimited file (that is, a CSV file):

Field NameField TypeRequiredDescription
DATA_DATEDate(8)YesDaily_item_forecast.data_date
(YYYYMMDD)
ITEMChar(25)YesDaily_item _forecast.item
LOCChar(10)YesDaily_item _forecast.loc
FORECAST_SALESDouble(14)YesDaily_item_forecast.forecast_sale
s
Note - this field can contain
decimal quantities.
Unlike quantity fields in
Merchandising ProC Batch files,
this qty field is not assumed to be
extended to significant digits.
FORECAST_STD_DEVDouble(14)YesDaily_item_forecast.forecast_std_
dev
Note - this field can contain
decimal quantities.
Unlike quantity fields in
Merchandising ProC Batch files,
this qty field is not assumed to be
extended to significant digits.

I/O Specification

N/A

Design Assumption

Domain is not a relevant concept any more. Domain_id on ITEM_FORECAST and DAILY_ITEM_FORECAST will always be 1.


In this guide

  • 19 Sales AuditBatch Operations Guide · shares ES_ERROR, RESTART_CONTROL, RMS_PLSQL_BATCH_CONFIG, SA_BALANCE_GROUP
  • 10 Invoice MatchingBatch Operations Guide · shares CODE_DETAIL, FDG_DTL, FDG_DTL_PACK, FDG_ERROR
  • 5 ReSTful Web ServicesInbound and Outbound Integration Guide · shares ADD_TYPE_MODULE, CODE_DETAIL, CODE_HEAD, CODE_TYPE
  • 2 Custom Flex AttributesMerchandising Cloud Services Customization and Extension Guide · shares DEAL_HEAD, ITEM_SUPPLIER, ITEM_SUPP_COUNTRY, ITEM_SUPP_COUNTRY_LOC
  • 17 Stock LedgerBatch Operations Guide · shares DAILY_DATA, FLASHBACK_SNAPSHOT_INFO, IF_TRAN_DATA, MONTH_DATA
  • F Appendix: Publication Tables and TriggersMerchandising Cloud Services Data Conversion Implementation Guide · shares CODE_DETAIL, CODE_HEAD, COMPANY_CLOSED, DELIVERY_SLOT