0% found this document useful (0 votes)
61 views33 pages

BOIP-Oracle Applications R12 Implementat

The document outlines the technical design for implementing the RMS to EBS Pay Absence Interface, detailing the approach, data flow, and program logic involved in the integration. It includes specifications for file handling, validation, and loading processes, as well as database design and installation requirements. The document serves as a comprehensive guide for the technical components necessary for the interface's successful implementation.

Uploaded by

Mohamed Ibrahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views33 pages

BOIP-Oracle Applications R12 Implementat

The document outlines the technical design for implementing the RMS to EBS Pay Absence Interface, detailing the approach, data flow, and program logic involved in the integration. It includes specifications for file handling, validation, and loading processes, as well as database design and installation requirements. The document serves as a comprehensive guide for the technical components necessary for the interface's successful implementation.

Uploaded by

Mohamed Ibrahim
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

BOIP-Oracle Applications R12

Implementation

AIM
MD.070
RMS to EBS Pay Absence Interface
Technical Design
Version 1.0
TCS
Apr-2011

Sign-Off Approvals:

Name Role Signature Date

Page 1 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>

Document Control

Change Record
4

Date Author Version Change Reference

28-Apr-11 TCS 1.0 No Previous Document


28-Apr-14 Capgemini 2.0 Changes are done as per the latest requirement. I.e
Participation call is being invoked for Sickness
Deleted records and Overlapping records are
excluded from the Sickness Classification.

Reviewers

Name Position

Soma Mohapatra
Subir Das

Distribution

Copy Name Location


No.

1 Library Master Project Library


2 Project Manager
3
4

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

Document Control ...................................................................................................................ii


Technical Overview ................................................................................................................ 5
Approach ........................................................................................................................... 5
ODI Program Logic ................................................................................................................. 7
Details Database Objects created for ODI ........................................................................ 11
Adhoc Request: ..................................................................................................................... 12
Module List ............................................................................................................................. 13
Form Logic ............................................................................................................................. 14
Navigation Logic ............................................................................................................. 14
Block Relationship Diagram ......................................................................................... 14
Table and View Usage .................................................................................................. 14
Zone and Field Summary ............................................................................................. 14
Special Logic .................................................................................................................. 14
BAA RMS Absence Upload - Concurrent Program Logic ............................................... 15
Calling Arguments.......................................................................................................... 15
Table and View Usage .................................................................................................. 15
Program Logic (pseudo code) ...................................................................................... 15
SQL Statements ............................................................................................................. 17
Default Data Sources .................................................................................................... 19
Validation Logic .............................................................................................................. 19
Incompatibility ................................................................................................................. 19
Performance Considerations ........................................................................................ 19
Other Considerations .................................................................................................... 19
BAA Absence Exceptions Report - Concurrent Program Logic ..................................... 21
Calling Arguments.......................................................................................................... 21
Table and View Usage .................................................................................................. 21
Program Logic (pseudo code) ...................................................................................... 21
SQL Statements ............................................................................................................. 21
Default Data Sources .................................................................................................... 22
Validation Logic .............................................................................................................. 22
Incompatibility ................................................................................................................. 23
Performance Considerations ........................................................................................ 23
Other Considerations .................................................................................................... 23
BAA Purge RMS Absence Data - Concurrent Program Logic ....................................... 24
Calling Arguments.......................................................................................................... 24
Table and View Usage .................................................................................................. 24
Program Logic (pseudo code) ...................................................................................... 24

Page 3 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>

SQL Statements ............................................................................................................. 25


Default Data Sources .................................................................................................... 26
Validation Logic .............................................................................................................. 26
Incompatibility ................................................................................................................. 26
Performance Considerations ........................................................................................ 26
Other Considerations .................................................................................................... 26
Integration Issues .................................................................................................................. 27
Changes Required ......................................................................................................... 27
Shared Components...................................................................................................... 27
Alert conditions ............................................................................................................... 27
Incompatibilities .............................................................................................................. 27
Performance Issues ....................................................................................................... 27
Database Design ................................................................................................................... 28
Desired Table Changes ................................................................................................ 28
New/Updated Seed Data .............................................................................................. 28
Descriptive Flexfields .................................................................................................... 28
Value Sets ....................................................................................................................... 28
Value Sets ....................................................................................................................... 28
Custom Lookup .............................................................................................................. 28
Grants/Synonyms .......................................................................................................... 29
Archiving .......................................................................................................................... 29
Database Diagram ......................................................................................................... 29
Tables, Indexes, Sequences ........................................................................................ 29
File Transfer Mechanism .............................................................................................. 29
Installation Requirements .................................................................................................... 30
Implementation Notes .......................................................................................................... 31
Design Summary............................................................................................................ 31
Coding Summary ........................................................................................................... 31
Testing Summary ........................................................................................................... 31
Installation ....................................................................................................................... 32
Open and Closed Issues for this Deliverable .................................................................... 33
Open Issues .................................................................................................................... 33
Closed Issues ................................................................................................................. 33

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>

Data Flow Diagram:

RMS to EBS Absence Pay Interface


RMS

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

ODI ODI ODI


ODI
Notification Notification Notification ODI ODI
Notification
Notification Notification

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>

ODI Program Logic


 The ODI Unix box inbound directory structure

/interface/<sftp_account>/<instance_sid_name>/

Interface short name (Ex: RMSABS)

incoming archive bad log

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>

 Polling of the files using ODI

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.

ii. Check if file header and file trailer exists.

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.

2. ODI will check whether header and footer information is present.

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.

8. The process log record (in table XXBAA_I_PROCESS_LOG) will be updated


with ODI validation as successful.
 EBS Staging table population by ODI:

1. Once the file is validated, the staging table (XX_INTF_ABSENCE_LD) will be


populated by using transformation logic in ODI.

2. The process log record (in table XXBAA_I_PROCESS_LOG) will be updated


with ODI load as successful.
3. During loading of XX_INTF_ABSENCE_LD table if the process fails, ODI will
send a mail to notify the user and the process will be halted. 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 loading have failed.

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:

1. Once the loading of XX_INTF_ABSENCE_LD table is completed, ODI will call a


PL/SQL wrapper procedure to upload the data into the second staging table.
The Pl/SQL program will perform three tasks in a sequential manner
a) Picks the record data from the first staging table XX_INTF_ABSENCE_LD.
b) Validated data are stored in the second staging table
XX_COIF_ABSENCE_LD.
c) Submits a concurrent request to generate an BAA RMS Absence Upload’ to
import the absence data into Oracle EBS.

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>

bsc_data_management@baa.com) and the log file will be attached with the


mail.

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)

The ODI log file will be attached with these notifications.

 Interface Completion Notification:

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>

Details Database Objects created for ODI

 Tables

Table Name Select Insert Update Delete

XXBAA_RMS_ABSENCE_ODI_FILE_VAL X X X
XXBAA_ODI_INTERFACE_DETAILS X X X

 PL/SQL Packages

PL/SQL Package Name

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

Program Name Description

Concurrent Program to Upload the Absence data in the


BAA RMS Absence Upload
Base Table.
Concurrent Program to generate the Exception Report
BAA Absence Exceptions Report
for Absence Data.
Concurrent Program to Purge the data older than the
BAA Purge RMS Absence Data
last completed financial year

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

Block Relationship Diagram


N.A

Table and View Usage


Table Name Select Insert Update Delete Base Table
X

Zone and Field Summary

Zone 1
Base Table:
Where/Order By:

Field/Column Type Rqd? Default Validation QuickPick

Zone 2
Base Table:
Where/Order By:

Field Type Rqd? Default Validation QuickPick


(

Special Logic

Zone 1
N.A

Page 14 of 33
< MD-070_BAA_INT_25_RMS to EBS Pay Absence v0.1>

BAA RMS Absence Upload - Concurrent Program Logic


The “BAA RMS Absence Upload” will be submitted by ODI through the responsibility
“BAA UK Payroll manager”, also it can be run on the adhoc basis with file id as input
parameter.
“BAA RMS Absence Upload” Concurrent Program will upload the Absence data in
the ERP Base table through API.
The Program calls two API’s.
1. One is for Deletion(Hr_Person_Absence_Api.delete_person_absence)
Once all the Delete Type records deleted from the API, then the we made a call
to the oracle seeded program “Participation Process Absence” to reflect the life
events in the HRMS data base.
2. Second is for Insertion(Hr_Person_Absence_Api.Insert_person_absence)
This API will load the Absence Information into Oracle EBS(HRMS).

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

Argument Prompt Value Set Default Value

File_ID File ID FND_NUMBER15

Table and View Usage


Table Name Select Insert Update Delete

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

Program Logic (pseudo code)


Global Declaration
Delcare cursor <SQL Statement 1>, to pick data from header table on the basis of
batch-id

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

SELECT aba.ROWID row_id,


aba.business_group_id,
aba.person_id,
aba.absence_attendance_id,
aba.absence_attendance_type_id,
aba.abs_attendance_reason_id,
aba.date_notification,
aba.date_start,
aba.date_end,
aba.sickness_start_date,

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.

SELECT COUNT (*) totl


FROM per_absence_attendances
WHERE person_id = p_person_id
AND absence_attendance_type_id = p_abs_type_id
AND TRUNC (date_start) = TRUNC (p_start_date);

5 - Data Selection
-- This query selects data to get the element absence id and assignment id

SELECT paf.assignment_id, pet.element_type_id


FROM per_assignments_f paf,
pay_element_entries_f pee,

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';

Default Data Sources


N.A
Table Column Source Value

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>

 If Completion Status is not “NORMAL”, 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”.

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>

BAA Absence Exceptions Report - Concurrent Program Logic


The “BAA Absence Exceptions Report” will be automatically submitted after the successful
completion of the concurrent Program “BAA RMS Absence Upload”.
The output of the Exception report will be sent to BSC Payroll team after the program is
executed.
BSC can correct the errors and run the concurrent request ‘BAA RMS Absence Upload’
manually with file ID as the input parameter.
Calling Arguments
“BAA Absence Exceptions Report” can be submitted on adhoc basis though the
responsibility “BAA UK Payroll Manager” with the following arguments.

Argument Prompt Value Set Default Value

File_ID File ID FND_NUMBER15

Table and View Usage

Table Name Select Insert Update Delete

XX_ABSENCE_OI_EXCEPTIONS X
XX_ABSENCE_OI_HEADERS X
XX_ABSENCE_OI_LINES X

Program Logic (pseudo code)


The “BAA Absence Exceptions Report “facilitate to generate the report on the basis of the
data received from the RMS.

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

Default Data Sources


N.A
Table Column Source Value

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>

BAA Purge RMS Absence Data - Concurrent Program Logic


The “BAA Purge RMS Absence Data” facilitate to purge the data from the staging
tables
 XX_COIF_ABSENCE_LD
 XX_ABSENCE_OI_HEADERS
 XX_ABSENCE_OI_LINES
 XX_ABSENCE_OI_EXCEPTIONS
The program will delete data from the above table which are older than one year.
The concurrent request will run yearly basis, starting from the 01-April-2011
The “BAA Purge RMS Absence Data” can be run on adhoc basis through the
responsibility “BAA UK Payroll manager”.
Calling Arguments
No Parameter

Argument Prompt Value Set Default Value

________________________________________________________________________________

Table and View Usage


Table Name Select Insert Update Delete

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

Program Logic (pseudo code)


On submitting the Program the purging date will be identified on the basis of sysdate.
The identified date will be 01-Apr-<Financial Year>
The program will fetch the record from the staging tables which are one year older than
purge date.

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

DELETE FROM xx_absence_oi_exceptions


WHERE source_id <= ln_max_source_id
AND source_type = 'L';

5 - Data deletion

DELETE FROM xx_absence_oi_exceptions


WHERE source_id <= ln_max_batch_id
AND source_type = 'H';

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>

Default Data Sources


N.A

Table Column Source Value

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.

Desired Table Changes


N.A

New/Updated Seed Data


N.A
Code Meaning
Lookup Type

Descriptive Flexfields
Application: N.A
Form Name: N.A
Base Table: N.A

Segment Name Prompt Size Value Set Default Value

Value Sets
Value Set Size Type Rqd Validation/Values

Value Sets

Custom Lookup
Code Meaning
Lookup Type

BAA_ABS_EXPRPT_USERNAME 10 <AS PROD SERVER>

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

BOLINF XX_COIF_ABSENCE_LD APPS


BOLINF XX_INTF_ABSENCE_LD APPS
BOLINF XX_ABSENCE_OI_HEADERS APPS
BOLINF XX_ABSENCE_OI_LINES APPS
BOLINF XX_ABSENCE_OI_EXCEPTIONS APPS
BOLINF XXBAA_I_HRRMS_ABS_PKG APPS
BOLINF XXBAA_I_HR_ABS_TRAN_PKG APPS
BOLINF XXBAA_I_HR_ABS_PUMP_PKG APPS
BOLINF XXBAA_I_HR_ABS_VALID_PKG APPS
APPS XXBAA_RMSPAY_INTFC_CALL BOLINF

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

Tables, Indexes, Sequences


No new tables

File Transfer Mechanism


Tumbleweed will transfer (secure FTP) the file (RXXHR1nn.DAT) in ODI Inbound
directory (/interface/<sftp_account>/<instance_sid_name>/RMSABS/incoming) in
ODI Unix box, where ‘nn’ denotes a cyclic sequence number in source end.

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

Functional Design Approval

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:

File Description Coded By

XXBAA_I_HRRMS_ABS_PKG.pkh Package Specification Anju K


XXBAA_I_HRRMS_ABS_PKG.pkb Package Body Anju K
XXBAA_I_HR_ABS_PUMP_PKG.pkh Package Specification Anju K
XXBAA_I_HR_ABS_PUMP_PKG.pkb Package Body Anju K
XXBAA_I_HR_ABS_TRAN_PKG.pkh Package Specification Anju K
XXBAA_I_HR_ABS_TRAN_PKG.pkb Package Body Anju K
XXBAA_I_HR_ABS_VALID_PKG.pkh Package Specification Anju K
XXBAA_I_HR_ABS_VALID_PKG.pkb Package Body Anju K

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 and Closed Issues for this Deliverable

Open Issues

ID Issue Resolution Responsibility Target Date Impact


Date

Closed Issues

ID Issue Resolution Responsibility Target Date Impact


Date

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

You might also like