BOIP-Oracle Applications R12 Implementat
BOIP-Oracle Applications R12 Implementat
Implementation
AIM
MD.070
RMS to EBS Pay Absence Interface
Technical Design
Version 1.0
TCS
Apr-2011
Sign-Off Approvals:
Page 1 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Document Control
Change Record
4
Reviewers
Name Position
Soma Mohapatra
Subir Das
Distribution
Note To Holders:
If you receive an electronic copy of this document and print it out, please write your name
on the equivalent of the cover page, for document control purposes.
If you receive a hard copy of this document, please write your name on the front cover,
for document control purposes.
Page 2 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Contents
Page 3 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Page 4 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Technical Overview
This document defines the technical components required to implement interface
RMS to EBS Pay Absence Interface. This Application Extension Technical Design
document complements the Application Extension Functional Design document for
RMS to EBS Pay Absence Interface and you should consider the set to be the
complete detailed design.
This document defines the technical specification design for the RMS to EBS Pay
Absence Interface.
Approach
This document describes the technical approach to create an interface between
Oracle Application and RMS (Roster Management System). RMS maintains a list of
additional absence Events.
The Enterprise Absence interface collates the Absence Events in RMS, and sends
them to Enterprise.
Data from RMS containing absence to be imported into EBS, so that payroll can
process pay for the employees, considering their absences.
Page 5 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Tumbleweed
RMS File
FTP
Call
concurrent
Second request
ODI ODI
ODI Inbound ODI First Staging table staging table “BAA RMS
File Validation Transformation
Directory File Watcher upload Absence
Upload”
No
No
No No
ODI
No
File Did Not Validation Transformation
Arrive? Failed? Error? Transformation Transformation Transformation
Error? Error? Error?
Yes Yes No
Yes Yes
Yes Yes
Call concurrent
BSC will request “BAA
Absence
receive Exceptions
Oracle R12
Exception Report” to
Report generate
Exception Report
Page 6 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
/interface/<sftp_account>/<instance_sid_name>/
incoming – Tumbleweed will put the file in this directory.ODI will then move the file
to the ODI file server directory
(/<instance_sid_name>/ias/product/odi_1013/oracledi/demo/file) from where it will
do its processing.
archive – It is the archive directory where the file will be moved after ODI completes
the file validation and file data loading successfully. The files are moved and zipped
in this directory.
bad – If there is any error in file validation by ODI or EBS process due to bad
records, file will be renamed as file_name_datestamp.BAD and will be put in this
directory.
log – The log files file_name_datestamp.LOG will be kept in this directory after
every run (both for error and success).
All the above directories should have permission 777.
The Following steps are performed for importing the RMS data files to EBS.
Transfer of Files using Tumbleweed to an ODI Inbound Directory
1. RMS (Source System) will provide the file RXXHR1nn.DAT. Tumbleweed will
transfer (secure ftp) the file RXXHR1nn.DAT into ODI Server at the following
location:
/interface/<sftp_account>/<instance_sid_name>/RMSABS/incoming
Where ‘nn’ in the file name denotes a two digit cyclic sequence number of the
file from source end.
2. Tumbleweed will do the ftp once in a month or on an ad hoc basis.
3. Tumbleweed needs to have read/write access to the ODI inbound directory
mentioned above.
4. When Tumbleweed is in the mid of transferring files, file names should be
prefixed with $$. For example: $$RXXHR1nn.DAT.
5. After Tumbleweed completed transfer of files into ODI inbound directory, name
of the files should be changed as RXXHR1nn.DAT. This will indicate that file
transfer is complete.
6. Once the file validation is completed successfully and the data load to the
interface table has been done successfully, the input files will be removed from
the inbound directory and archived in the following directory:
/interface/<sftp_account>/<instance_sid_name>/RMSABS/archive.
Processed files will be kept for 6 months or 1 year as per business requirement.
7. Mail will be sent to Interface User (email: payroll_bsctransactions@baa.com )
and BSC team (email: bsc_data_management@baa.com) after successful
completion of the process.
Page 7 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
1. ODI will poll for the files in the inbound directory and after retrieving it, the file
will be copied into the ODI file server directory.
2. ODI will poll for the file named RXXHR1nn.DAT in the directory
<sftp_account>/<instance_sid_name>/RMSABS/incoming daily as per the ODI
job schedule time.
3. After receiving the files, ODI will copy the files into the following ODI file server
directory /<instance_sid_name>/ias/product/odi_1013/oracledi/demo/file.
4. ODI will rename the file from RXXHR1nn.DAT to RXXHR1.DAT .
5. A log file will be generated after completion of the above steps with naming
convention as RXXHR1_ddmmyyhhmiss.LOG
The log files will be maintained in the path
/interface/<sftp_account>/<instance_sid_name>/RMSABS/log
6. Mail will be sent to BSC Group (email: bsc_data_management@baa.com)
after successful completion of the above steps confirming that RMS to EBS
loading process has been started.
Loading the file data into ODI intermeidate tables:
1. ODI will load the entire file data including header record, file header, batch
header, detail records and file trailer record into a one column table
XXBAA_RMS_ABSENCE_ODI_FILE_VAL. Since the files are in fixed length
format the data will be loaded according to the start position and length of each
field.
2. If there is any error while loading the data into the table
XXBAA_RMS_ABSENCE_ODI_FILE_VAL, ODI will send a mail to notify the
BSC Group (email: bsc_data_management@baa.com).
3. The log file will be appended and stored in the following path
/interface/<sftp_account>/<INSTANCE_SID_NAME>/RMSABS/log.
4. If the loading is successful, a record containing file name, file date and interface
number will be inserted in the process log table (XXBAA_I_PROCESS_LOG).
File validation by ODI:
1. ODI will perform following checks on the input file it has received.
i. The data extract file with the same name has been already loaded on
the same day.
iii. The data extract file header and footer records match with regard to the
records contained within that data file.
iv. Check if the sequence number in the file name is correct as per the
previous file.
3. ODI will check if the total number of record count is matching with the file footer
record information.
Page 8 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
4. If there is any validation error, ODI will send a mail to notifiy BSC Group (email:
bsc_data_management@baa.com).The file will be moved from the inbound
directory to the
/interface/<sftp_account>/<INSTANCE_SID_NAME>/RMSABS/bad directory
and the file will be renamed as RXXHR1nn_ddmmyy.BAD. The file will not be
loaded and a mail notification will be send to user. A record will be inserted in
the XXBAA_I_EH_INTFACE_ERR table with file name, file date and an error
message. ODI will also update the process log table
(XXBAA_I_PROCESS_LOG) that ODI validations have failed.
5. Once the file header, trailer validation is completed, ODI will insert the file details
(file name and file date) into XXBAA_I_EH_INFILE_LKP table which exists in
EBS R12 Database. It will also generate the file_id from a sequence
(XXBAA_I_EH_INFILE_LKP_S) and insert it into this lookup table.
6. While loading the file name and file date into XXBAA_I_EH_INFILE_LKP table,
ODI will check for duplicate entry. If duplicate entry is found, it will send an error
notification. ODI will update the record inserted in XXBAA_I_PROCESS_LOG
table that ODI file validation error. It will also insert the error records in the
XXBAA_I_EH_INTFACE_ERR table.
7. The log file will be appended and stored in the following path
/interface/<sftp_account>/<INSTANCE_SID_NAME>/RMSABS/log.
4. The log file will be appended and stored in the following path
/interface/<sftp_account>/<instance_sid_name>/RMSABS/log.
PLSQL wrapper Program Call through ODI:
2. If there is any error in calling the wrapper procedure through ODI, a mail
notification will be sent to BSC Group (email:
Page 9 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
3. If the wrapper package throws any error, then the error message will be fetched
from error table XXBAA_I_EH_INTFACE_ERR with the current file_id. The error
notifications will be sent to the support group BSC Group (email:
bsc_data_management@baa.com)
1. If the above steps are completed successfully a mail notification will be send
to user about the process completion.
2. The process log table will be updated that interface status is completed.
3. ODI log file will be appended and stored in the path
/interface/<sftp_account>/<instance_sid_name>/RMSABS/log with the
details of process completion. The Concurrent Program will also have its log
and output file in the Concurrent Manager.
4. The processed data file will be moved ODI file server directory to archive
directory /interface/<sftp_account>/<instance_sid_name>/RMSABS/archive
and will be zipped.
Page 10 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Tables
XXBAA_RMS_ABSENCE_ODI_FILE_VAL X X X
XXBAA_ODI_INTERFACE_DETAILS X X X
PL/SQL Packages
XXBAA_RMS_ABS_ODI_FILE_VAL_PKG
XXBAA_ODI_GET_OUT_PARAM_PKG
Page 11 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Adhoc Request:
To execute adhoc interface run requests the following procedure is adopted:
A request is raised with BSC Group (email:
bsc_data_management@baa.com).
The file details are provided in the request. The file is transferred to the ODI
inbound directory.
The Interface/Scenario is executed manually by BSC Group.
ODI Metadata Navigator is used to execute the interface/scenario.
Interface User (email: payroll_bsctransactions@baa.com) is notified for
the adhoc run.
Page 12 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Module List
Forms
N.A
Reports
N.A
Concurrent Programs
RMS –EBS inbound Interface includes the following concurrent programs
Database Triggers
N.A
Page 13 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Form Logic
N.A
Navigation Logic
N.A
Zone 1
Base Table:
Where/Order By:
Zone 2
Base Table:
Where/Order By:
Special Logic
Zone 1
N.A
Page 14 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
If any record gets errored out in above cases, then those data will be fed into
exceptions table and that will be reported to user for attention.
Calling Arguments
“BAA RMS Absence Upload” is called from the Standard Submit processes and
reports from “BAA UK Payroll manager” Responsibility with the following
arguments
XX_INTF_ABSENCE_LD X X X
XX_COIF_ABSENCE_LD X X X X
XXBAA_I_EH_INFILE_LKP X X
XXBAA_I_EH_INTFACE_ERR X X
XXBAA_I_PROCESS_LOG X X X
XX_ABSENCE_OI_HEADERS X X X
XX_ABSENCE_OI_LINES X X X
XX_ABSENCE_OI_EXCEPTIONS X X X
Page 15 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Delcare a cursor <SQL Statement 2> to pick data from lines table on the basis of batch-
id, and where record status is ‘V’ and ‘E’.
Declare a cursor <SQL Statement 3>, to pick the data absence seeded table on the
basis of person id.
Declare a cursor <SQL Statement 4>, to check the duplicate absence type on the basis
of absence attendance type id.
Declare a cursor to get the element absence id and assignment id <SQL Statement 5>
Declare variable to capture the exception.
Declare cursor variable to capture cursor values.
Declare variable to store interface code
Local Declaration Main Procedure
Declare a cursor to get the absence type id for the Sick type Leave < SQL Statement
6>
Begin
Concurrent Program calls the XXBAA_I_HR_ABS_PUMP_PKG.main procedure.
Checks for the valid file id <input paramenter>, raise error if file is not valid.
Open the header cursor and checks for valid batch id raise an error if not valid.
Call Flush_Prev_Errors procedure with H (Header data) paramenter to remove data
from the xx_absence_oi_exceptions table.
Call Update_status to update the status of the xx_absence_oi_headers table with the
status ‘L’ (Locked).
Open the Line cursor
Call Flush_Prev_Errors Procedure with L (Line data) paramenter to remove data from
the xx_absence_oi_exceptions table.
Start Data validation
Call xxbaa_i_hr_abs_valid_pkg.chk_abs_con_rule function which checks for the
valid Absence Class.Log an error in exception table if Absence Class is not valid.
Call xxbaa_i_hr_abs_valid_pkg.chk_valid_person function which checks for the
valid Employee.Validation with respect to Primary Assignment, tagged to payroll,
Business group should be tagged. Log an error in exception table if Employee is
not valid.
Call xxbaa_i_hr_abs_valid_pkg.chk_absence_def function which checks for valid
Absence type and Absence Reason. Log an error in exception table if Absence
type or Absence Reason is not valid.
Call xxbaa_i_hr_abs_valid_pkg.chk_dff_dates function,it log error in the
exception table if Absence class Code is ‘SICK’ and self cert start date(DFF
parameter) is not null and is less than the absence start date.
Call check_if_emp_abs_uptodate function for the SICK type leave, it checks from
the Lines table is there any unproceed or error record for same employee for
SICK type Leave ,if yes it will not process the current record and will log the error
in the Exception table.
Call check_if_latest_emp_abs if record type is ‘D’and the Absence Class is ‘SICK’
then it checks for latest employee absence details. If not the latest one then logs
the error.
End of the validation.
If record type is ‘I’ (I mean Inserts) then it calls Insert_Absence procedure which inserts
the absence data into the seeded table through API. If the above procedure completes
Page 16 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
successfully then the lines table get updated with record status ‘T’ (T means
Transferred) else it is updated with ‘E’ (E means Error) and the error details are logged
in exceptions table.
If record type is ‘D’ (D means Delete) then it calls Delete_Absence procedure which
calls Find_Abs_Match procedure which checks the existence of the record to be
deleted. If record is not present it logs the error in the exception table.
If record is present and if next coming Record type
is ‘I’ and Start date or End Date is equal to leave start date and end date respectively
then it captures the DFF (Absence Properly Certified, Return to Work Interview Date,
Recommendation - Absence Excluded for AMP/AIP, Reason for Recommendation)
value in the global variable and DFF value get inserted the next coming record.
Absence record is deleted from the base table through API.
SQL Statements
1 - Data Selection
-- This query selects the data from Header table
SELECT *
FROM XX_ABSENCE_OI_HEADERS ah
WHERE ah.batch_id = p_batch_id;
2 - Data Selection
-- This query selects the data from Lines table
SELECT *
FROM xx_absence_oi_lines m
WHERE m.record_status IN ('V', 'E')
AND batch_id = p_batch_id
MINUS
SELECT a.*
FROM xx_absence_oi_lines a
, xx_absence_oi_lines b
WHERE a.person_id = b.person_id
AND a.batch_id = b.batch_id
AND a.absence_start_date = b.absence_start_date
AND a.absence_end_date = b.absence_end_date
AND a.batch_id = p_batch_id
AND a.record_status IN ('V', 'E')
AND UPPER(a.absence_class_code)='SICK'
AND a.ROWID!= b.ROWID
ORDER BY 3;
3 - Data Selection
-- This query selects the data from absence seeded table
Page 17 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
aba.sickness_end_date,
aba.reason_for_notification_delay,
aba.accept_late_notification_flag,
aba.time_start,
aba.time_end,
aba.occurrence,
aba.absence_days,
aba.absence_hours,
aba.maternity_id,
aba.pregnancy_related_illness,
aba.Authorising_Person_Id,
aba.Replacement_Person_Id,
aba.Period_Of_Incapacity_Id,
aba.Comments,
aba.Date_Projected_End,
aba.Date_Projected_Start,
aba.Ssp1_Issued,
aba.Time_Projected_End,
aba.Time_Projected_Start,
aba.Linked_Absence_id,
aba.attribute_category,
aba.Attribute1,
aba.Attribute2,
aba.Attribute3,
aba.Attribute4,
aba.Attribute5,
aba.Attribute6,
aba.Attribute7,
aba.Attribute8,
aba.Attribute9,
aba.Attribute10,
aba.Attribute11,
aba.Attribute12,
aba.Attribute13,
aba.Attribute14,
aba.Attribute15,
aba.Attribute16,
aba.Attribute17,
aba.Attribute18,
aba.Attribute19,
aba.Attribute20
FROM per_absence_attendances aba
WHERE aba.person_id = p_person_id;
4 - Data Selection
-- This query selects the data to check the duplicacy.
5 - Data Selection
-- This query selects data to get the element absence id and assignment id
Page 18 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
pay_element_links_f pel,
pay_element_types_f pet
WHERE paf.person_id = p_person_id
AND pee.assignment_id = paf.assignment_id
AND pee.creator_id = p_absence_id
AND pel.element_link_id = pee.element_link_id
AND pet.element_type_id = pel.element_type_id
AND TRUNC(p_eff_date) BETWEEN paf.effective_start_date AND
paf.effective_end_date
AND TRUNC(p_eff_date) BETWEEN pee.effective_start_date AND
pee.effective_end_date
AND TRUNC(p_eff_date) BETWEEN pel.effective_start_date AND
pel.effective_end_date
AND TRUNC(p_eff_date) BETWEEN pet.effective_start_date AND
pet.effective_end_date
AND paf.primary_flag = 'Y';
Validation Logic
Error Conditions:
1. If file already processing then raise an exception e_batch_processing.
2. If batch is not found then raise an exception e_batch_not_found
3. If batch is already processed raise an exception e_batch_processed
4. If file is not present raise an exception e_invalid_file
Warning Conditions:
N.A
Incompatibility
N.A
Performance Considerations
N.A
Other Considerations
Restart Strategy
In order to restart the interface follows the following Steps.
Check the Concurrent Program: “BAA RMS Absence Upload” completion
Status.
Page 19 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Crash Recovery
In event of a crash follow the following Steps for recovery:
Check the Concurrent Program: “BAA RMS Absence Upload” completion
Status.
If Completion Status is not “is “Error”, “Terminated”, or “Cancelled””, we
assume the interface was not completed successfully.
Track the error from the table xxbaa_i_eh_intface_err rectify the error.
Query the table xxbaa_i_eh_infile_lkp with file_id and get the batch id.
Query the table xx_absence_oi_headers where batch_id = < batch id >
Check the batch_status column of the table xx_absence_oi_headers
o If the status is ‘T’ no need to submit the concurrent program. This
means all the data are trasfred successfully. No need to submit the
conc.program as all the data is trasnfred into the base table.
o If the status is ‘L’, update the status to ‘E’for that batch id and submit
the concurrent Program “BAA RMS Absence Upload”.
o If the Status is ‘E’no need to update the status submit the concurrent
Program “BAA RMS Absence Upload”.
Page 20 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
XX_ABSENCE_OI_EXCEPTIONS X
XX_ABSENCE_OI_HEADERS X
XX_ABSENCE_OI_LINES X
SQL Statements
SELECT bh.batch_id batch_id,
bh.file_id file_id,
bh.file_name file_name,
bh.batch_name batch_name,
'H' source_type,
bh.batch_status status,
bh.batch_id record_number,
NULL record_type,
NULL employee_number,
to_date(NULL, 'yy') absence_start_date,
to_date(NULL, 'yy') absence_end_date,
NULL absence_class_code,
NULL abs_rea,
NULL outside_rest_days,
NULL inside_rest_days,
to_date(NULL, 'yy') self_cert_start_date,
to_date(NULL, 'yy') self_cert_end_date,
to_date(NULL, 'yy') med_cert_start_date,
to_date(NULL, 'yy') med_cert_end_date,
Page 21 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
NULL lost_time,
pml.exception_text err_mess
FROM xx_absence_oi_exceptions pml, xx_absence_oi_headers bh
WHERE bh.file_id = :P_File_Id
AND pml.source_id = bh.batch_id
AND pml.source_type = 'H'
AND bh.batch_id = (SELECT MAX(mx.batch_id)
FROM xx_absence_oi_headers mx
WHERE bh.file_id = mx.file_id)
UNION ALL
SELECT bh.batch_id batch_id,
bh.file_id file_id,
bh.file_name file_name,
bh.batch_name batch_name,
pml.source_type,
bl.record_status status,
bl.record_number record_number,
bl.record_type,
bl.employee_number,
bl.absence_start_date,
bl.absence_end_date,
bl.absence_class_code,
NVL(fcl2.meaning, bl.absence_reason_code) abs_rea,
bl.attribute2 outside_rest_days,
bl.attribute1 inside_rest_days,
TO_DATE(bl.attribute3, 'DD/MM/YYYY') self_cert_start_date,
TO_DATE(bl.attribute4, 'DD/MM/YYYY') self_cert_end_date,
TO_DATE(bl.attribute5, 'DD/MM/YYYY') med_cert_start_date,
TO_DATE(bl.attribute6, 'DD/MM/YYYY') med_cert_end_date,
bl.attribute7 lost_time,
pml.exception_text err_mess
FROM xx_absence_oi_exceptions pml,
xx_absence_oi_headers bh,
xx_absence_oi_lines bl,
fnd_common_lookups fcl2
WHERE bh.file_id = :P_File_Id
AND bl.batch_id = bh.batch_id
AND pml.source_id = bl.record_number
AND fcl2.lookup_type(+) = 'ABSENCE_REASON'
AND fcl2.lookup_code(+) = bl.absence_reason_code
AND bh.batch_id = (SELECT MAX(mx.batch_id)
FROM xx_absence_oi_headers mx
WHERE bh.file_id = mx.file_id)
ORDER BY batch_id, employee_number, absence_start_date, record_number
Validation Logic
Error Conditions:
N.A
Page 22 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Warning Conditions:
N.A
Incompatibility
N.A
Performance Considerations
N.A
Other Considerations
Restart Strategy
Since this program is not performing any modification to data, it can be restarted
without any impact. Please perform the following steps to restart the Interface.
Check the Concurrent Program “BAA Absence Exceptions Report”
completion Status.
If Completion Status is not “NORMAL”, we assume the interface was not
completed successfully.
Submit the concurrent Program: BAA Absence Exceptions Report
Crash Recovery
Resubmit the concurrent Request.
Since this program is not doing any modify transaction, it can be restarted without
any impact. Please perform the following steps to restart the Interface.
Check the Concurrent Program “BAA Absence Exceptions Report”
completion Status.
If Completion Status is “Error”, “Terminated”, or “Cancelled” we assume
the interface was not completed successfully due to system crash.
Submit the concurrent program: BAA Absence Exceptions Report
Page 23 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
________________________________________________________________________________
XXBAA_I_EH_INFILE_LKP X
XX_COIF_ABSENCE_LD X
XX_ABSENCE_OI_EXCEPTIONS X
XX_ABSENCE_OI_HEADERS X
XX_ABSENCE_OI_LINES X
Page 24 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
SQL Statements
1 - Data selection
SELECT MAX(file_id)
INTO ln_max_file_id
FROM xxbaa_i_eh_infile_lkp
WHERE file_date < lv_purge_date
AND file_name LIKE 'RXXHR1%';
2 - Data selection
SELECT batch_id
INTO ln_max_batch_id
FROM xx_absence_oi_headers
WHERE file_id = ln_max_file_id;
3 - Data selection
SELECT MAX(record_number)
INTO ln_max_source_id
FROM xx_coif_absence_ld
WHERE file_id = ln_max_file_id;
4 - Data deletion
5 - Data deletion
6 - Data deletion
DELETE FROM xx_absence_oi_lines
WHERE batch_id <= ln_max_batch_id;
7 - Data deletion
DELETE FROM xx_absence_oi_headers
WHERE file_id <= ln_max_file_id;
8 - Data deletion
DELETE FROM xx_coif_absence_ld
WHERE file_id <= ln_max_file_id;
Page 25 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Validation Logic
Error Conditions:
N.A
Warning Conditions:
N.A
Incompatibility
N.A
Performance Considerations
N.A
Other Considerations
Restart Strategy
The program can be resubmitted without any impact as Program is purging one year
old data, Please perform the following steps to restart the Interface.
Check the Concurrent Program “BAA Purge RMS Absence Data”
completion Status.
If Completion Status is not “NORMAL”, we assume the purging was not
completed successfully.
Submit the concurrent Program: BAA Purge RMS Absence Data.
Crash Recovery
The program can be resubmitted without any impacts as Program is purging one
year old data.Please perform the following steps to restart the Interface.
Check the Concurrent Program “BAA Purge RMS Absence Data”
completion Status.
If Completion Status is “Error”, “Terminated”, or “Cancelled” we assume
the interface was not completed successfully due to system crash.
Submit the concurrent program: BAA Purge RMS Absence Data.
Page 26 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Integration Issues
Changes Required
Within Product
Custom menus
Other Products
No changes required
Shared Components
INV
None
BOM
None
ENG
None
MPS/MRP
None
WIP
None
Alert conditions
N.A
Incompatibilities
N.A
Performance Issues
N.A
Page 27 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Database Design
This section summarized new and changed database objects and data required
supporting RMS to EBS Pay Absence Interface. However, the complete database
design is documented in the Database Extensions Design document.
Descriptive Flexfields
Application: N.A
Form Name: N.A
Base Table: N.A
Value Sets
Value Set Size Type Rqd Validation/Values
Value Sets
Custom Lookup
Code Meaning
Lookup Type
The Lookup will store the username to whom the output of the Absence Exception
Report is sent.
If the User is tagged to the email address they will receive the mail in their mail box
(if the mailer services is up) else User will able to view the report in the notification
worklist.
Page 28 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Grants/Synonyms
Owner Object
Grantees
Archiving
Archive the files in the inbound directory, as per the file system archiving policy.
ODI will zip and move the file from incoming to archive directory at the end of the
process.
Database Diagram
No new tables
Page 29 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Installation Requirements
Installation scripts must be prepared to perform the following actions in an
automated way:
EBS Instance
1. Create Staging Table
XX_INTF_ABSENCE_LD
XX_COIF_ABSENCE_LD
XX_ABSENCE_OI_HEADERS
XX_ABSENCE_OI_LINES
XX_ABSENCE_OI_EXCEPTIONS
2. Compile the Package
XXBAA_I_HRRMS_ABS_PKG
XXBAA_I_HR_ABS_TRAN_PKG
XXBAA_I_HR_ABS_PUMP_PKG
XXBAA_I_HR_ABS_VALID_PKG
3. Creating the procedure
XXBAA_RMSPAY_INTFC_CALL
4. Creating FND Message
BAA_INT_025_INSERT_FAILED
BAA_INT_025_INVALID_DATA_FILE
BAA_INT_025_TRANSFORM_FAILED
BAA_INT_025_TRASFER_FAILED
BAA_INT_025_UNHANDLED_EXCEP
5. Creating FND Lookup
BAA_ABS_EXPRPT_USERNAME
6. Copy Oracle report XXBAAABEXP.rdf to custom report folder
7. Create below mentioned Concurrent Program and tag it to “BAA UK
Payroll manager” responsibility
BAA RMS Absence Upload
BAA Absence Exceptions Report
BAA Purge RMS absence data
ODI Instance
1. Create Single Column Table - XXBAA_RMS_ABSENCE_ODI_FILE_VAL
2. Compile Package XXBAA_RMS_ABS_ODI_FILE_VAL_PKG
Page 30 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Implementation Notes
This document describes exactly how RMS to EBS Pay Absence Interface was
developed and implemented at BAA.
Design Summary
Functional Design
Technical Design
Design Review
Final Acceptance
Coding Summary
Development was done on Linux X86_64 with Oracle Database 11g Enterprise
Edition Release 11.1.0.7.0 - 64bit, to work with Release 12.1.1 of Oracle
Applications. All coding follows the standards defined in the Build Standards
document for BOIP-Oracle Applications R12 Implementation.
Program Files
The files required for this customization are as follows:
Testing Summary
The customizations were tested in BAA's test environment before being moved to
production.
See the Link Test scripts for more information.
Page 31 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Installation
All modules are installed as if part of a separate product. A UNIX directory structure
is created under $APPL_TOP as shown in the following example:
$APPL_TOP
|
$XBOL_TOP
|
1.0.0
___________________________|___________________________________
| | | | | | || |
forms bin src sql log out srw install sql
The forms and concurrent programs are registered in Application Object Library
under the XBOL application.
Page 32 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>
Open Issues
Closed Issues
1 There are two concurrent BAA HR Absence Open Interface Pushkar 2/05/2011 05/06/2011
programs which call concurrent program is called to
Absence API to upload the upload the interface record.
Absence Details
1. BAA HR Absence Open
Interface
2. BAA HR Absence Upload
Program
In which scenario above
mentioned concurrent
programs are called / run?
2. Need to provide the List provided for SIT and CRP3 Pushkar 20/05/2011 05/06/2011
usename who all will be Instances
eligible to view the output of
the Absence Exception
Report
Page 33 of 33