Task: Reservation Custom Check
This task document provides basic instructions for using the Custom Check
transaction to display and maintain Custom Check rules.
-
Rules - Rules are a set of criteria that check for the
presence or absence of information in the BF.
-
Rule Records - Rules are saved within files called rule
records. A rule record may contain up to 100 rules.
Section 1: Short Answer
Transaction Name:
PNRBFCustomCheck_1
Can this task be performed in a sessionless environment?
Yes.
Are the request and response identical on both the Apollo and Galileo
systems?
No. In some instances you must have a specific format in your requests, e.g.,
when using the RULBLD transaction, you must employ the Galileo or Apollo format
in the <Text> line, as Apollo uses T: and Galileo uses T. For example:
- Apollo CRS
<RuleTxt>IF EM ANDFOR AIR AND OCCURS TIMES1-99 ANDNOTFOR T: AND VAR4 THEN
SAY BREAKS RULE</RuleTxt>
- Galileo CRS
<RuleTxt>IF EM ANDFOR AIR AND OCCURS TIMES1-99 ANDNOTFOR T. AND VAR4 THEN
SAY BREAKS RULE</RuleTxt>
List any industry-specific knowledge required to understand
this task in terms of the specific business process.
For Custom Check Maintenance, the user should know the Custom Check language
and how to write a rule.
Special limits or distinct restrictions to the input data that may not be
readily apparent.
The following limits apply:
- Maximum of 100 individual rules within one rule name.
- Maximum of 400 rule conditions within one rule name.
- Maximum of 3 rule names attached to one PNR or Booking File.
Section 2: Detailed Description
Request
Unless otherwise specified, use ALL CAPS in any request data.
Not applicable. Custom Check functions are random in
nature, so there are no steps or sequence in the requests.
Prerequisite tasks:
The pseudo city AAT needs to set for rules capability (RULE Y).
Expected Response:
The following table displays the request and associated rule, and the
associated response:
|
Request Tag
|
Request Element
|
<RequestType>
|
Response Tag
|
Response Element
|
|
<CustomCheckRuleMods>
|
<CCRuleData>
|
RUL*LIST
|
<CustomCheckRuleList>
OR
|
<CCRuleList> and
<CCRuleNameStatus>
|
|
|
|
|
<CustomCheckRuleRes>
|
<CCRuleErr>
|
|
|
|
<CustomCheckRuleMods>
|
<CCRuleData>
|
RUL*
|
<CustomCheckRuleDisplay>
OR
|
<CCRuleRetrieve> and
<CCRuleItemNumTxt>
|
|
|
|
|
<CustomCheckRuleList>
|
<CCRuleErr>
|
|
|
|
<CustomCheckRuleMods>
|
<CCRuleData>
|
RULBLD
RULCHG
RULCOPY
RULDEL
RULRES
RULA
RULX
|
<CustomCheckRuleList> |
<CCRuleErr> or
<CCRuleInfoErrMsg>
|
|
|
|
<CustomCheckRuleMods>
|
<CCRuleData>
|
RULE
|
<CustomCheckRuleExecute> |
<CCRuleExecute>
Multiple <CCRuleExecute> may be returned
|
Error and warning responses:
If a rule record is deleted, the same rule record can be reinstated. If a
rule record is reinstated, all rules within the rule record are also reinstated. You
cannot reinstate only some of the rules from the original rule record.
If a rule record is reinstated, only those rules that existed at the time the
rule record was deleted are reinstated. For example, if you delete certain rules before deleting the rule
record, those deleted rules will not be reinstated.
Error responses specific to rule execution are highly dependent upon users
rules and how the rule was written. Those errors cannot be detailed here. Rules
can be written to return fatal errors or warnings.
- RULE ###### DELETED - NOT YET PURGED where ###### is equal to rule name
entered, a response to successful rule delete, when a user attempts to RULCOPY
the deleted rule or when a user attempts to add a comment to the deleted rule
EDPG, EDRY, EDRS, EDRK, EDRZ, EDPD and EDPC
- RULE ###### DOES NOT EXIST where ###### is equal to rule name entered. This
can be response to RULCHG, RULDEL, RULCOPY, RULRES, RULA or RUL* - EDPG, EDRY,
EDRS and EDPD
- RULE NUMBER TOO LARGE FOR RULE NAME possible response to any rule entry in
which a rule number is supplied.
- *** RULE TEXT MISSING *** possible response to RULCHG, RULCOPY or RULBLD
entry.
- CUSTOM CHECK - OPTION INVALID possible response to a RULCHG or RULBLD entry
- EDRY.
- DATABASE ERROR OCURRED-CONTACT HELP DESK possible response to RULCHG,
RULCOPY or RULBLD entry EDRY
- SYSTEM ERROR - CALL HELP DESK - EDRJ
- RULE NUMBER TOO LARGE FOR RULE NAME possible response when user supplied
rule number cannot be found within supplied rule name - EDRY
- INVALID REQUEST possible response when user has entered a Custom Check
entry with parameters that are illogical.
- RESTRICTED possible response when user has entered a Custom Check entry,
but the user has no access to the application.
- INVALID PSEUDO CITY possible response when user has entered a pseudo city
that does not exist or one for which the user has not access.
- SYSTEM ERROR OCCURRED possible response to any execution error which is
so serious that normal error responses cannot be returned, or a system
timeout error.
- RULES DO NOT EXIST possible response to RULCHG, RULDEL, RULRES or RULCOPY
when rule name supplied cannot be found EDPG, EDRN
- INVALID FORMAT possible response to any incorrect entry type or any
correct entry type coupled with other options that make the entry illogical -
EDPG, EDRX, EDRJ
- RULE NAME MUST BE 1 TO 10 ALPHA-NUMERIC possible response to user entry of
rule name with special characters or name of invalid length EDRX, EDRJ
- RULE NUMBER OF ALL ONLY VALID WITH RULDEL possible response when user has
supplied ALL option on a rule entry other than RULDEL EDRX, EDRJ
- RULE NBR MUST BE ALL OR 1 TO 3 NUM AND MORE THAN ZERO possible response
when user has supplied an invalid rule number - EDRX, EDRJ and EDRZ
- RULA ENTRY REQUIRES PSEUDO CITY AND RULE NAME possible response when user
has supplied an invalid format during RULA entry - EDRX
- REQUIRES CUSTOM CHECK UPDATE - AUTHORITY
- RULE NAME DOES NOT EXIST possible response to RULCHG, RULDEL, RULRES or
RULCOPY when rule name supplied cannot be found EDPA, EDRK and EDPC
- RULE NAME ALREADY EXISTS possible response to RULBLD or RULCOPY when rule
name supplied already exists for the pseudo EDPA and EDPC
- RULE ERROR - NO UPDATES possible response to a database error which
occurred during a rule update (RULBLD, RULCHG, RULDEL or RULCOPY EDPA, EDPB,
EDPC, EDPG, EDRN
- INVALID - DUPLICATE RULE ITEM - NO UPDATES OCCURRED possible response when
user is attempting to copy a rule to an existing rule name EPDC, EDPG and EDRZ
- SYS ERR OCCURRED possible response to any execution error which is so
serious that normal error responses cannot be returned EDPD, EDPE and EDPD
- COMMENT DOES NOT EXIST possible response to entry to delete rule comment
EDPG
- RULE NUMBER(S) OUT OF RANGE possible response to RULDEL when user has
supplied rule item numbers that do not exist EDPG, EDRS, EDRZ
- RULE NBR MUST BE ALL OR 1 TO 3 NUM AND MORE THAN ZERO possible response to
RULDEL when user has supplied and invalid rule number to delete from PNR or BF
EDPG
- COMMENT MUST BE 1 TO 250 CHARACTERS EDRS
- ONLY ONE COMMENT PER RULE ITEM IS ALLOWED EDRS
- A SYSTEM ERROR HAS OCCURRED possible response during add or change of rule
comment EDRS, EDRL
- ***** NO RULE HISTORY EXISTS ***** possible response to display rule
history when non exists EDRK
- REQUIRES CUSTOM CHECK UPDATE AUTHORITY user attempting to make database
updates (RULCHG, RULDEL, RULRES or RULCOPY) does not have authority for this
action EDRJ
- RULE ###### - SUSPENDED where ###### is equal to rule name entered.
Response to successful rule suspension EDRJ
- RULE VALIDATION WAS SUCCESSFUL response to successful RULE entry - EDRQ
- DIVIDE INHIBITED - RULE CRITERIA NOT MET - IGNORE BF possible response to
divide action when a rule is attached to the BF Galileo core only EDRQ
- RULE ###### DELETED OR PENDING PURGE where ###### is equal to rule name
entered. Response to successful rule deletion EDRQ
- RULE DATA BASE ERROR possible response to any rule entry in which the
necessary records could not be found or could not be updated. Galileo only
EDRQ
- THREE RULES ALREADY ATTACHED possible response to an attempt to add a
fourth rule to a BF or PNR EDPD
- NUMBER OF RULES EXCEED 100 possible response to RULBLD or RULCHG entry when
trying to create or change a rule which, if updated, would exceed 100 individual
rule items within a rule - EDPD
- NUMBER OF RULE CONDITIONS EXCEED 400 possible response to RULBLD or RULCHG
entry when trying to create or change a rule which, if updated, would exceed 400
individual rule conditions within a rule - EDPD
- INVALID - RULE NOT ATTACHED possible response when trying to cancel or
delete a rule when no rules are currently attached to the PNR or BF EDPE and
EDPF
- RULE ###### CANCELLED where ###### is equal to rule name entered. Response
to successful cancel of a rule from a PNR or BF EDPF
- RULE ###### SUSPENDED where ###### is equal to rule name entered. Response
to successful RULS entry EDPF
- RULE ###### IS NOT SUSPENDED where ###### is equal to rule name entered.
Possible response to a RULA entry when rule to be removed from suspension is
already active EDPF
- RULE ###### ALREADY SUSPENDED where ###### is equal to rule name entered.
Possible response to a RULS entry when rule to be suspended is already in
suspended status - EDPF
Follow-on requests:
CONFIRM DELETE Y/N response to RULDEL entry. User must enter Y to apply
delete action. User enters N to cancel delete action EDPG
NO RULE HAS BEEN DISPLAYED possible response to RULCHG entry. User must
display rule before attempting to change the rule with RULCHG - EDRJ
Section 3: Tables
Request (Input) Tags
|
<CustomCheckRuleMods>
|
Terminal Equivalents:
|
Apollo and Galileo are the same:
RUL*
RUL*LIST
RULBLD
RULCHG
RULCOPY
RULDEL
RULRES
RULA
RULA-#
RULX
RULX-#
RULS
RULS-#
RULE
# equal numeric value of 1, 2 or 3
|
|
Ordering
|
KLR
|
Min/Max
|
XML Tag
|
|
A
|
CCIR
|
1 99
|
<CCRuleData>
IFCC1
|
|
B
|
CCBC
|
1 1
|
<CCRuleText>
Only used on RULBLD and RULCHG - IFCC1
|
Response (Output) Tags
|
<CustomCheckRuleRes>
|
Error and Message Response
|
|
Ordering
|
KLR
|
Min/Max
|
XML Tag
|
|
|
CCE1
|
1 1
|
<CCRuleErr> IFCC1 (often echoes back bad input as entered)
|
|
|
CCE3
|
1 1
|
<CCRuleInfoErrMsg>
IFCC1
|
|
<CustomCheckRuleList>
|
Custom Check Rule List Response
|
|
Ordering
|
KLR
|
Min/Max
|
XML Tag
|
|
|
CCRL
|
1 1
|
<CCRuleList> Pseudo
City used for list IFCC2
|
|
|
CCL1
|
1 1
|
<CCRuleNameStatus>
Repeating Data IFCC2
|
|
<CustomCheckRuleDisplay>
|
Custom Check Rule Item Display
|
|
Ordering
|
KLR
|
Min/Max
|
XML Tag
|
|
|
CCRR
|
1 1
|
<CCRuleNameStatus>
Containing Rule Name and Pseudo City IFCC3
|
|
|
CCR1
|
1 1
|
<CCRuleItemNumTxt>
Repeating Rule Item Data IFCC3
|
|
<CustomCheckRuleExecute>
|
Custom Check Rule
Execute Response
|
|
Ordering
|
KLR
|
Min/Max
|
XML Tag
|
|
|
CCEV
|
1 1
|
<CCRuleExecute> IFCC4
|
Additional Comments
Custom Check is a medium sized application which employs what amounts to its
own programming language. Creating rules to be attached to a PNR or BF is a
complicated process and usually only a few people at any one agency learns the
language well enough to construct rules for their agency. These rules allow
agencies to require agents to build PNRs or BF under agency rules, thus ensuring
that agency specific guidelines are followed.
Related Samples
PNRBFCustomCheck_1_s1
PNRBFCustomCheck_1_s2
PNRBFCustomCheck_1_s3
PNRBFCustomCheck_1_s4
PNRBFCustomCheck_1_s5
PNRBFCustomCheck_1_s6
PNRBFCustomCheck_1_s7
PNRBFCustomCheck_1_s8
PNRBFCustomCheck_1_s9
PNRBFCustomCheck_1_s10
PNRBFCustomCheck_1_s11
PNRBFCustomCheck_1_s12
PNRBFCustomCheck_1_s13
PNRBFCustomCheck_1_s14
PNRBFCustomCheck_1_s15