Preface
Oracle® Hospitality Suite8
OTA XML Interface Configuration Release 8.10.2. and higher
December 2017
Preface
Copyright © 2002, 2017, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.
Preface
Contents
Preface .......................................................................................................................... 4
Audience ............................................................................................................................ 4
Customer Support ............................................................................................................ 4
Documentation.................................................................................................................. 4
Revision History ............................................................................................................... 4
1 OTA XML Interface ................................................................................................ 6
XML Interface Installation .............................................................................................. 7
Sub License ....................................................................................................................... 7
XML Interface and OTA XML Interface ....................................................................... 7
2 Configuration in Suite8 .......................................................................................... 8
Translation Table............................................................................................................ 15
Synchronize .................................................................................................................... 16
3 OTA XML Interface Upload ................................................................................. 19
Fidelio Server .................................................................................................................. 19
4 Interface Triggers .................................................................................................. 20
5 Appendix A - OTA Scripts for Translation Tables.............................................. 21
OtaXMLProcs.SQL ......................................................................................................... 21
OtaXMLRunProcs.SQL ................................................................................................. 27
OtaXMLProcsDelete.SQL .............................................................................................. 29
Preface
Preface
The OTA XML Interface is a Two Way Interface, it downloads data from a Central
Reservation System and it uploads data from Suite8 to a Central Reservation System.
OTA, the Open Travel Alliance, is a non-profit organization which develops open
data transmission specifications for the electronic exchange of business information
for the travel industry
Audience This installation guide for OTA XML Interface is intended for system administrators
and support familiar with Suite8.
Customer Support To contact Oracle Customer Support, access My Oracle Support at the following URL:
https://support.oracle.com
When contacting Customer Support, please provide the following:
Product version and program/module name
Functional and technical description of the problem (include business impact)
Detailed step-by-step instructions to re-create
Exact error message received
Screen shots of each step you take
Documentation Oracle Hospitality product documentation is available on the Oracle Help Center at http://docs.oracle.com
Revision History
Date Description of Change
January, 2013 8.9.3.0 - Feature officially released
May, 2013 8.9.4.0 - Options tab
May, 2014 8.9.5.0 - Review
May, 2014 8.9.5.0 - Added Non-disclosure information
June, 2014 8.9.5.1 - Added support for packages for reservation download and additional options for uploads
June, 2014 8.9.5.1 - Added support for deposit and payment for reservation download
September, 2014 8.9.5.2 - Updated to latest specifications from OTA
March, 2015 8.9.6.1 - Updated with the tips for CRS Number changes in Suite8 Version 8.9.5.3
July, 2015 8.9.6.2 – Added Monitoring via Suite8 Configuration
November, 2015 8.10.0.0 – Added the triggers profile and profile merge to the list of supported triggers.
Preface
March, 2017 8.10.2 Added Overbooking download, Hurdle Download and Rate Plan download, Upload Block Inventory and Night Audit Statistics
December, 2017 Update of title to be valid for 8.10.2 and higher versions
OTA XML Interface
1 OTA XML Interface
OTA, the Open Travel Alliance, is a non-profit organization which develops open
data transmission specifications for the electronic exchange of business information
for the travel industry. OTA XML Interface supports the following functionality:
Download (OTA format 2011B)
Reservation from CRS using OTA_HotelResNotifRQ/OTA_HotelResNotifRS
Room Type / House overbooking using OTA_HotelAvailNotifRQ/ OTA_HotelAvailNotifRS
Hurdle (decisions) using OTA_HotelAvailNotifRQ/ OTA_HotelAvailNotifRS
Rate Code (only basics) using OTA_HotelRatePlanNotifRQ/ OTA_HotelRatePlanNotifRS
For the upload the interface offers two different OTA XML formats to provide more
flexibility for the CRS.
Upload (OTA format 2011B)
Room Availability
– OTA_HotelInvCountNotifRQ/OTA_HotelInvCountNotifRS
– OTA_HotelAvailNotifRQ/OTA_HotelAvailNotifRS
Rate Availability
– OTA_HotelAvailNotifRQ/OTA_HotelAvailNotifRS
– OTA_HotelBookingRuleNotifRQ/OTA_HotelBookingRuleNotifRS
Rate Room Type Availability
– OTA_HotelAvailNotifRQ/OTA_HotelAvailNotifRS
– OTA_HotelBookingRuleNotifRQ/OTA_HotelBookingRuleNotifRS
Rate Code
– OTA_HotelRatePlanNotifRQ/OTA_HotelRatePlanNotifRS
– OTA_HotelRateAmountNotifRQ/OTA_HotelRateAmountNotifRS
Reservation
– OTA_HotelResModifyNotifRQ/OTA_HotelResModifyNotifRS (2003B)
– OTA_HotelResNotifRQ/OTA_HotelResNotifRS
Profile
– OTA_ProfileCreateRQ/OTA_ProfileCreateRS
Blocks
– OTA_HotelInvBlockNotifRQ/OTA_HotelInvBlockNotifRS
Night Audit Statistics
– OTA_HotelStatsNotifRQ/OTA_HotelStatsNotifRS
For the upload of bookings, it is highly recommend using OTA_HotelResNotifRQ/
OTA_HotelResNotifRS.
OTA_HotelResModifyNotifRQ/OTA_HotelResModifyNotifRS are used for
uploading basic booking elements, whereas the new format (OTA 2011B) uploads
also profiles and other booking elements.
OTA XML Interface
XML Interface Installation For the installation of the XML Interface please read XML Interface Installation
Guide.
Sub License To run the OTA XML Two Way Interface following sublicenses must be activated:
CRS XML TWO WAY
CRS XML ONE WAY
XML Interface and OTA XML Interface Should you require extra programming based on the XML Interface or OTA XML Interface then the local office needs to fill out the NDA (non-disclosure agreement) info sheet and each company needs to sign the non-disclosure agreement. Please contact your local Oracle contact person to get more information about the topic
Configuration in Suite8
2 Configuration in Suite8
1. Go to Configuration -> Software Interfaces -> OTA XML Interface to see already
configured Interfaces or to create a new one.
2. On the right side the list of configured OTA XML Interfaces is displayed.
3. Select Monitor to open the OTA CRS XML Interface Monitor dialog allowing
viewing the following options, each represented by a tab:
Log files
1 Way Request Messages
1 Way Response Messages
2 Way Request Messages
2 Way Response Messages
Note: To read the files on the OTA CRS XML Monitor properly, it is necessary placing the file defaultss.xsl in the Suite8 log directory. This file is included in the Suite8 programs.zip and usually copied to the log directory when installing the OTA CRS XML Interface.
Configuration in Suite8
4. Select New or Edit opens the following dialog box for configuring the interface.
5. Define the basic setting on the tab Attributes.
The fields Agent Sine, Agent Duty Code, Requestor URL, Requestor Type, Requestor
ID are add to the point of sales element of each upload message. These fields are just
information fields, which have no meaning for the OTA XML Interface. It is up to the
CRS to provide the values for this fields. If the CRS needs one or more of these fields
ask for the data they expect.
Field Definition
Name Name of the OTA XML Interface
Agent Sine Optional Information provided by the CRS
Agent Duty Code Optional Information provided by the CRS
Requestor URL Optional Information provided by the CRS
Requestor Type Optional Information provided by the CRS
Requestor ID Optional Information provided by the CRS
Hotel Code Hotel code used in the messages to identify sender.
Should be provided by the CRS
Vendor ID sent by the CRS to identify the correct interface
Configuration in Suite8
Profile Match The Profile Match used for reservation download, it is
used to identify the send profiles
Translation Select the conversion table for the interface
Limit Group The Limit Group is used for the room availability upload
Sync Interval Interval checking for trigger
Resend Messages Resend a message X times in case the recipient URL is not
reachable
6. Go to the tab Options to define basic options, download options and upload
options.
Configuration in Suite8
Field Definition
Basic Options
Inactive Indicates if the Interface is active or
not.
Backup Indicates whether backup for the
received/sent messages is used.
Request Backup Folder The folder for the request messages
received/sent.
Configuration in Suite8
Response Backup Folder The folder for the response messages
received/sent.
Download Options
Update Rate Plans Update messages for Rate Plans will
be accepted.
Reinstate allowed Indicates whether the Interface is
allowed to reinstate bookings.
Download Reservations Indicates whether reservation
messages are accepted.
Upload Options
Include Overbooking Indicates if Overbooking values are
included in the room availability
upload.
Include Tentative Indicates if tentative values are
included in the room availability
upload.
Include Threshold Indicates if the threshold is used for
inventory upload.
Upload also Rate Restrictions
on Room Types
Indicates if the room type restrictions
are considered for the upload of rate
restrictions. If this is not activated
only the house restrictions are used.
Use Net Rates Defines if net rates are used. If not
activated, then the gross rate is
exchanged between CRS and Suite8.
Table Reservation Defines if the Table Reservation
System is used.
Use default Rate Code Restriction Values
for Rate Restriction
If this is activated and a 'MIN
LOS/MAX LOS' rate code restriction
is removed from the rate availability
dialog, then the default 'MIN
LOS/MAX LOS' values from the rate
code configuration are send to the
connected central system. If this is not
activated and a rate code restriction is
removed, the message Open for the
corresponding rate code is send to the
connected central system.
Days in Advance for Rate related Upload This option defines a number of days
which is taken by the Central
Reservation System as a date range
reference for the upload. Some
Central Reservation Systems do not
accept data beyond a specific date
(system date + X days). If the number
Configuration in Suite8
of days is set to 0, there is no date
restriction
Days in Advance for Inventory Upload The date range for room inventory
related upload messages, if a date
range is requested by the CRS.
Use Rate Level Restrictions Defines if rate level restriction is used
instead of rate code restriction.
Upload only Default Rate Upload only the rates from the
default setting of a Rate Code. This
can be used for interfaces only
supporting one rate without
considering the number of adults.
Upload also Weekend Rates Defines if Weekend Rates are
uploaded. If this is not required by
the CRS and not activated, the rate
calculation is optimized.
Upload also Children Rates Defines if children rates are
uploaded. If this is not required by
the CRS and not activated, the rate
calculation is optimized.
Upload all Reservations Defines if not only the reservations
originated by the Interface are
uploaded but also from other Central
Reservation System Interfaces.
Always send Message for all Room Types,
when Hotel is fully booked
If a house is fully overbooked the
message shows for each room type
zero availability.
Use Add To Rate package price for upload Indicates, whether for prices in the
reservation and rate amount upload
the price for “Add On Packages” are
considered.
Use OOO message Indicates, whether and standard
availability message will be uploaded
or a version which represents just the
OOO settings.
Use XML Interface Encoding Under specific circumstances it could
be that special characters like German
“Umlaute” are not correctly encoded,
if the OTA XML runs parallel to the
XML Interface downloading profile
data. In this case this option should
be on. Under all other circumstances
this option should be off.
Optimize Allotment messages The interface try to accumulate block
details having same data to a date
range. Otherwise details are per day
and room type.
Configuration in Suite8
7. Go to the Communication tab to define the HTTP communication options and the
URL’s to which the messages should be sent. A separate URL can be set up per
message. If all messages should be sent to the same URL, all message names are
configured with the same URL.
Field Definition
HTTP Authentication User The user requested by the CRS
HTTP Authentication Pwd The Password requested for this user by the CRS
HTTP Timeouts in msecs The timeout in milliseconds
Resolve 0 -> no timeout
Connect 60.000 (60 seconds)
Send 30.000 (30 seconds)
Receive 30.000 (30 seconds)
URL Press Setup button to open the configuration dialog
for the URLs
Note: Contact the Central Reservation System provider to find out if a HTTP
Authentication User is required.
Note: For each http action a separate timeout value can be defined. This should only be set when experiencing problems to connect or with sending messages within the default time settings. A Timeout error message is prompted if the default settings are
not sufficient. The default values are indicated above
Upload also tentative Blocks Indicates, whether blocks with Res
Status tentative should be uploaded
or not.
Upload also Blocks not affecting availability Indicates, whether blocks not
affecting availability should be
uploaded or not.
Configuration in Suite8
Field Definition
Message Type Select the upload type.
Message name The OTA XML format name used for the selected upload
type. For each Message type, two OTA XML formats are
available.
URL The URL to which the message should be sent. Must be
provided by the Central Reservation System.
Enabled Option to disable / enabled the upload of the corresponding
message.
Translation Table The OTA XML Interface uses a Translation Table to convert CRS codes into PMS
codes and vice versa. The Translation used for the OTA Upload is defined under
Setup -> Configuration -> Software Interfaces -> Translation Tables. The
Translation Table is mainly used for the reservation Download and Upload. Some of
the codes must be set up exactly; some of the codes are optional, however, a default
value can be defined for example if a code is not sent or a code is sent but is not
configured in the Translation Table. The following codes are used by the OTA XML
Interface:
1. Go to Setup->Configuration->Software Interfaces->Translation Tables.
2. Select the OTA XML Interface and click on the Setup button to enter all codes for
the translation used by the OTA XML Interface. To predefine a basic translation table
you can use following prepared scripts:
otaXMLProcs.sql -> creates stored procedures to add automatically Suzite8 codes to the translation table
otaXMLRunProcs.sql -> run the stored procedures. You must replace zcnvid with zcnv_id of the interface
otaXMLProcsDelete -> deletes all stored procedure, created by otaXMLProcs.sql
Just run the scripts in the sequence listed above. The content is listed in Appendix A.
Configuration in Suite8
Note: Only rate codes using calculation method OTA/HTNG Rates are considered
for Rate code related uploads like rates or rate restrictions.
Synchronize It is possible sending synchronization messages to the Central Reservation System.
You should do this directly after the installation and if the property notices that they
have discrepancies between both systems.
1. To synchronize both systems, select the OTA XML Interface under Configuration -
> Software Interfaces -> OTA XML Interface.
2. Click the Resync button to select the option to synchronize.
The following items can be synchronized:
Room Type Inventory
Rate Availability
Rate Codes
Reservations
Blocks
Configuration in Suite8
Night Audit Statistics
Out of Order
It is possible resyncing rate restrictions for the house restriction or for the room type
restriction.
Note: Resync on room type restrictions is only enabled if the option Upload also
Rate restrictions on Room Types is selected.
Field Definition
Trigger: Select the synchronization type.
Use Date Range: For Rate Code and Rate Detail, it is possible selecting
whether a date range is used or the complete rate code or
rate detail is synchronized. Please note, that this has
impact on the message size.
Date Range: Select the date range of the synchronization.
Rate Code: Depending on the synchronization type, one or more rate
codes can be selected.
Include Room Types: Allow to select room types for Rate code availability
resynchronization.
Room Types: Depending on the synchronization type, one or more
Room Types can be selected.
3. When finished, click the Start button and the corresponding triggers are created
then processed and sent.
Configuration in Suite8
Note: It is recommended using several smaller date ranges rather than one big upon
synchronization.
OTA XML Interface Upload
3 OTA XML Interface Upload
Fidelio Server The OTA Upload notification for reservation changes or availability updates is
performed using the service OTA Upload. The service can be launched via Fidelio
Server:
Interface Triggers
4 Interface Triggers
The following Triggers are supported by the OTA XML Interface:
Room Availability with Room Type
Room Type Overbooking
House Overbooking
House Availability Limit
Availability Limit
Rate Detail
Rate Availability
Reservation
Table Reservations
Profile
Profile Merge
Blocks
Night Audit Statistic
Appendix A - OTA Scripts for Translation Tables
5 Appendix A - OTA Scripts for Translation Tables
OtaXMLProcs.SQL CREATE OR REPLACE procedure mcnv_default_update (zcnv_id
integer) is
begin
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'AT', 'Home', -1, 1,
1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'AT', 'Business', -
1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM', 'HomePhone', -
1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM', 'HomeFax', -1,
1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM', 'HomeMobile',
-1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM',
'BusinessPhone', -1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM', 'BusinessFax',
-1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM',
'BusinessMobile', -1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM', 'HomeEmail', -
1, 1, 1, 0);
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'CM',
'BusinessEmail', -1, 1, 1, 0);
Appendix A - OTA Scripts for Translation Tables
INSERT INTO MCNV
(MCNV_ID,MCNV_ZCNV_ID,MCNV_TYPE,MCNV_CRS_CODE, MCNV_PMS_CODE,
MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT, MCNV_INACTIVE)
VALUES (SEQ_MCNV.NEXTVAL, zcnv_id, 'NT', 'RES', -1, 1,
1, 0);
end mcnv_default_update;
/
CREATE OR REPLACE procedure mcnv_xcou_update (zcnv_id
integer) is
cursor fillmcnv is
select xcou_id, xcou_iso2 from xcou order by xcou_iso2;
fill fillmcnv%rowtype;
begin
for fill in fillmcnv loop
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'CO',
fill.xcou_iso2,fill.xcou_id, 1, 1, zcnv_id, 0);
end loop;
end mcnv_xcou_update;
/
CREATE OR REPLACE PROCEDURE Mcnv_Xsta_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT xsta_id, xsta_shortdesc FROM XSTA order by
xsta_shortdesc;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'ST',
fill.xsta_shortdesc,fill.xsta_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_Xsta_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_Channels_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT yras_id, yras_shortdesc from yras, yrac where yrac_id
= yras.YRAS_YRAC_ID and yrac_id = 2 and
nvl(yras.YRAS_INACTIVE,0)<>1 order by yras.YRAS_SHORTDESC;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'CH',
fill.yras_shortdesc,fill.yras_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_Channels_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_Sources_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
Appendix A - OTA Scripts for Translation Tables
SELECT yras_id, yras_shortdesc from yras, yrac where yrac_id
= yras.YRAS_YRAC_ID and yrac_id = 1 and
nvl(yras.YRAS_INACTIVE,0)<>1 order by yras.YRAS_SHORTDESC;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE, mcnv_pms_prof_id)
Values (seq_mcnv.nextval, 'SC',
fill.yras_shortdesc,fill.yras_id, 1, 1, zcnv_id, 0, 0);
END LOOP;
END Mcnv_Sources_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_ZCUR_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT ZCUR_id, ZCUR_shortdesc from zcur where
nvl(zcur.ZCUR_ACTIVE,0)=1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'CU',
fill.ZCUR_shortdesc,fill.ZCUR_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_ZCUR_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YRFT_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YRFT_id, YRFT_shortdesc from yrft where
nvl(yrft.YRFT_INACTIVE,0)<>1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'FE',
fill.YRFT_shortdesc,fill.YRFT_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YRFT_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_XCMA_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT XCMA_id, XCMA_shortdesc from XCMA where
nvl(XCMA.XCMA_INACTIVE,0)<>1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'MC',
fill.XCMA_shortdesc,fill.XCMA_id, 1, 1, zcnv_id, 0);
END LOOP;
Appendix A - OTA Scripts for Translation Tables
END Mcnv_XCMA_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_WLAN_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT WLAN_id, WLAN_shortdesc from WLAN where
nvl(WLAN.WLAN_INACTIVE,0)<>1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'LA',
fill.WLAN_shortdesc,fill.WLAN_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_WLAN_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YRCC_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YRCC_id, YRCC_shortdesc from YRCC;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'RA',
fill.YRCC_shortdesc,fill.YRCC_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YRCC_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YRCH_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YRCH_id, YRCH_shortdesc from YRCH where
yrch_calcmethod = 3 and nvl(yrch_onlineinterfaceenabled,0)=1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'RC',
fill.YRCH_shortdesc,fill.YRCH_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YRCH_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YCAT_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YCAT_id, YCAT_shortdesc from ycat where
nvl(ycat_disabled,0) <> 1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Appendix A - OTA Scripts for Translation Tables
Values (seq_mcnv.nextval, 'RT',
fill.YCAT_shortdesc,fill.YCAT_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YCAT_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YPAC_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YPAC_id, YPAC_shortdesc from YPAC;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'PA',
fill.YPAC_shortdesc,fill.YPAC_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YPAC_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YGCO_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YGCO_id, YGCO_shortdesc from YGCO where
nvl(ygco.ygco_INACTIVE,0)<>1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'GT',
fill.YGCO_shortdesc,fill.YGCO_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YGCO_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_Payments_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT zdco_id, zdco_shortdesc from zdco where
nvl(zdco.zdco_INACTIVE,0)<>1 and zdco.ZDCO_CDT = 5 and
nvl(zdco.ZDCO_PAIDOUT,0)<>1 and
nvl(zdco.ZDCO_MANUALPOST,0)<>0 order by zdco.ZDCO_SHORTDESC
asc;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'PM',
fill.zdco_shortdesc,fill.zdco_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_Payments_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_XCAG_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT XCAG_id, XCAG_longdesc from XCAG where
xcag.XCAG_GREETCAT = 0 order by xcag_longdesc asc;
fill fillmcnv%ROWTYPE;
Appendix A - OTA Scripts for Translation Tables
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'SA',
fill.XCAG_longdesc,fill.XCAG_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_XCAG_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YCLR_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YCLR_id, YCLR_shortdesc from YCLR where yclr.YCLR_YRES
= 1 and nvl(yclr.YCLR_INACTIVE,0)<>1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'CR',
fill.YCLR_shortdesc,fill.YCLR_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YCLR_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_XCAC_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT XCAC_id, XCAC_shortdesc from XCAC;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'CA',
fill.XCAC_shortdesc,fill.XCAC_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_XCAC_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_ZCCA_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT ZCCA_id, ZCCA_shortdesc from ZCCA;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'CC',
fill.ZCCA_shortdesc,fill.ZCCA_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_ZCCA_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_Specials_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
Appendix A - OTA Scripts for Translation Tables
SELECT XPDA_id, XPDA_shortdesc from xpda where
xpda.XPDA_XPAC_ID = 18;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'SP',
fill.XPDA_shortdesc,fill.xpda_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_Specials_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_YRPG_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT YRPG_id, YRPG_shortdesc from YRPG;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'RL',
fill.YRPG_shortdesc,fill.YRPG_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_YRPG_Update;
/
CREATE OR REPLACE PROCEDURE Mcnv_ZDCO_Update (zcnv_id
INTEGER) IS
CURSOR fillmcnv IS
SELECT ZDCO_id, ZDCO_Numericdesc from ZDCO where
nvl(zdco.zdco_INACTIVE,0)<>1;
fill fillmcnv%ROWTYPE;
BEGIN
FOR fill IN fillmcnv LOOP
Insert into MCNV (MCNV_ID, MCNV_TYPE, MCNV_CRS_CODE,
MCNV_PMS_CODE, MCNV_CRS_DEFAULT, MCNV_PMS_DEFAULT,
MCNV_ZCNV_ID, MCNV_INACTIVE)
Values (seq_mcnv.nextval, 'DC',
fill.ZDCO_Numericdesc,fill.ZDCO_id, 1, 1, zcnv_id, 0);
END LOOP;
END Mcnv_ZDCO_Update;
/
exit;
OtaXMLRunProcs.SQL begin mcnv_default_update(ZCNVID); end;
/
begin mcnv_xcou_update(ZCNVID); end;
/
begin mcnv_xsta_update(ZCNVID); end;
/
begin mcnv_Channels_update(ZCNVID); end;
/
begin mcnv_Sources_update(ZCNVID); end;
/
begin mcnv_ZCUR_update(ZCNVID); end;
/
Appendix A - OTA Scripts for Translation Tables
begin mcnv_YRFT_update(ZCNVID); end;
/
begin mcnv_XCMA_update(ZCNVID); end;
/
begin mcnv_WLAN_update(ZCNVID); end;
/
begin mcnv_YRCC_update(ZCNVID); end;
/
begin mcnv_YRCH_update(ZCNVID); end;
/
begin mcnv_YCAT_update(ZCNVID); end;
/
begin mcnv_YPAC_update(ZCNVID); end;
/
begin mcnv_YGCO_update(ZCNVID); end;
/
begin mcnv_Payments_update(ZCNVID); end;
/
begin mcnv_XCAG_update(ZCNVID); end;
/
begin mcnv_YCLR_update(ZCNVID); end;
/
begin mcnv_XCAC_update(ZCNVID); end;
/
begin mcnv_ZCCA_update(ZCNVID); end;
/
begin mcnv_Specials_update(ZCNVID); end;
/
begin mcnv_yrpg_update(ZCNVID); end;
/
begin mcnv_zdco_update(ZCNVID); end;
/
exit;
Appendix A - OTA Scripts for Translation Tables
OtaXMLProcsDelete.SQL drop procedure mcnv_default_update;
drop procedure mcnv_xcou_update;
drop procedure mcnv_xsta_update;
drop procedure mcnv_Channels_update;
drop procedure mcnv_Sources_update;
drop procedure mcnv_ZCUR_update;
drop procedure mcnv_YRFT_update;
drop procedure mcnv_XCMA_update;
drop procedure mcnv_WLAN_update;
drop procedure mcnv_YRCC_update;
drop procedure mcnv_YRCH_update;
drop procedure mcnv_YCAT_update;
drop procedure mcnv_YPAC_update;
drop procedure mcnv_YGCO_update;
drop procedure mcnv_Payments_update;
drop procedure mcnv_XCAG_update;
drop procedure mcnv_YCLR_update;
drop procedure mcnv_XCAC_update;
drop procedure mcnv_ZCCA_update;
drop procedure mcnv_Specials_update;
drop procedure mcnv_yrpg_update;
drop procedure mcnv_zdco_update;