Business_group_id
New to HRMS
Can someone explain the business_group_id and it's functionality. I assume this is a setup. I see all employee apis need this. What table is this stored in?
Follow the steps below:
1. Logon to HRMS Responsibility
2. Navigate to Work structures => Organization => Description
a. Enter a Business Group Name
b. Select the Type fi you want (But there is no significance for Org type- this is only for reporting purpose)
c. Select the Location from LOV (Location Addres willbe displayed automatically)
d. By default 'Internal' will be selected. Save the record
e. Select 'Business Group' from LOV under Organization classification region.
f. Select 'Enabled' check box. Save the record.
g. Select 'Others' and select 'Business Group Info' from LOV
h. Provide the appropriate info for business group info.
i. Select 'HR Organization' classification if you want to assign any employees for this organization. save the record.
TABLE : PER_BUSINESS_GROUPS.
Below Link will provide you more info
1. Go to http://www.oracle.com/technology/documentation/applications.html
2. Click on "Oracle Applications 11.5.10.2+ Online Documentation CD" link
3. Click on "Documentation" tab
4. Select appropriate documentation listed in the Human Resources set
Similar Messages
-
BUSINESS_GROUP_ID in EBS ??
I'm trying to integrate eBusiness Suite with Oracle Identity Manager. As per the connector documentation : http://download.oracle.com/docs/cd/E11223_01/doc.910/e11202/using_conn.htm#CHDDECEB
I have configured the First Time Reconcilation with Oracle eBusiness Suite
I need to give the parameters - BUSINESS_GROUP_ID, FROM_DATE, TO_DATE.
I'm not sure about the BUSINESS_GROUP_ID to be given in the Design Console. I have Oracle eBusiness Suite [SandBox] with Vision Demo Database. How to find out the BUSINESS_GROUP_ID from the eBusiness suite?
Also where can I see the users from Vision Database present in the Oracle eBusiness Suite? I have no knowledge on EBS.
Please help !Hi,
I believe you can get the value of BUSINESS_GROUP_ID from PER_BUSINESS_GROUPS view (based on based on HR_ORGANIZATION_UNITS and HR_ORGANIZATION_INFORMATION tables).
Regards,
Hussein -
Discoverer Report parameter based on subquery
Hi Guys,
I have following query which i need to convert into discoverer report
select hpah.EMPLOYEE_NUMBER,hpah.FIRST_NAME,hpah.LAST_NAME,hpah.PERSON_NAME,
--hpah.JOB_NAME,hpah.ASSIGNMENT_ORGANIZATION_NAME,
hpah.ASSIGNMENT_TYPE,hpah.USER_ASSIGNMENT_STATUS,
SUBSTR(pj.name, 1, instr(pj.name, '.', 1, 2) -1) job_code,
SUBSTR(pj.name, instr(pj.name, '.', 1, 2) + 1) job_title,
(select haou.ATTRIBUTE1 from hr_all_organization_units haou
where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) Function,
(select haou.ATTRIBUTE2 from hr_all_organization_units haou
where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) org_desc,
SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 1, 6) dept_code,
SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 7, LENGTH(hpah.ASSIGNMENT_ORGANIZATION_NAME)) dept_title,
hpah.GRADE_NAME,hpah.LOCATION_NAME,hpah.SUPERVISOR_NAME,
hpah.PERSON_START_DATE,hpah.ORIGINAL_DATE_OF_HIRE ,
hpah.SALARY_BASIS,hpah.BUSINESS_GROUP_ID,hpah.ASSIGNMENT_ID,
decode( hpah.SALARY_BASIS, 'ANNUAL', ppp.proposed_salary_n,
'HOURLY', (ppp.proposed_salary_n *2080),
ppp.proposed_salary_n
) salary,
sysdate run_date
from
hrfg_person_assignment_history hpah ,
per_pay_proposals ppp,
per_pay_bases ppb,
per_grades pg,
per_jobs pj
where hpah.ASSIGNMENT_ID = ppp.ASSIGNMENT_ID
and hpah.SALARY_BASIS = ppb.PAY_BASIS
and hpah.BUSINESS_GROUP_ID = ppb.BUSINESS_GROUP_ID
and hpah.GRADE_ID = pg.GRADE_ID(+)
and hpah.JOB_ID = pj.JOB_ID (+)
--and hpah.EMPLOYEE_NUMBER = 100779
and hpah.PERSON_START_DATE IN
(SELECT MAX(hpah2.PERSON_START_DATE)
FROM hrfg_person_assignment_history hpah2
WHERE hpah2.EMPLOYEE_NUMBER = hpah.EMPLOYEE_NUMBER
AND hpah2.PERSON_START_DATE <= sysdate )
order by hpah.EMPLOYEE_NUMBER
i need to have sysdate as parameter in my report. I want data based on the date i provide.
how can i make this as an parameter?Hi Prashant,
Subqueries are not Supported in Conditions..As of Disco Plus Rel 10.1.2.54.25
A plausible workaround can be:
1. Create a View with foll. Query
create or replace view TEST_VIEW as
select hpah.EMPLOYEE_NUMBER emp_no,hpah.FIRST_NAME,hpah.LAST_NAME,hpah.PERSON_NAME,
--hpah.JOB_NAME,hpah.ASSIGNMENT_ORGANIZATION_NAME,
hpah.ASSIGNMENT_TYPE,hpah.USER_ASSIGNMENT_STATUS,
SUBSTR(pj.name, 1, instr(pj.name, '.', 1, 2) -1) job_code,
SUBSTR(pj.name, instr(pj.name, '.', 1, 2) + 1) job_title,
(select haou.ATTRIBUTE1 from hr_all_organization_units haou
where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) Function,
(select haou.ATTRIBUTE2 from hr_all_organization_units haou
where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) org_desc,
SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 1, 6) dept_code,
SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 7, LENGTH(hpah.ASSIGNMENT_ORGANIZATION_NAME)) dept_title,
hpah.GRADE_NAME,hpah.LOCATION_NAME,hpah.SUPERVISOR_NAME,
hpah.PERSON_START_DATE,hpah.ORIGINAL_DATE_OF_HIRE ,
hpah.SALARY_BASIS,hpah.BUSINESS_GROUP_ID,hpah.ASSIGNMENT_ID,
decode( hpah.SALARY_BASIS, 'ANNUAL', ppp.proposed_salary_n,
'HOURLY', (ppp.proposed_salary_n *2080),
ppp.proposed_salary_n
) salary,
sysdate run_date
from
hrfg_person_assignment_history hpah ,
per_pay_proposals ppp,
per_pay_bases ppb,
per_grades pg,
per_jobs pj
where hpah.ASSIGNMENT_ID = ppp.ASSIGNMENT_ID
and hpah.SALARY_BASIS = ppb.PAY_BASIS
and hpah.BUSINESS_GROUP_ID = ppb.BUSINESS_GROUP_ID
and hpah.GRADE_ID = pg.GRADE_ID(+)
and hpah.JOB_ID = pj.JOB_ID (+)
--and hpah.EMPLOYEE_NUMBER = 100779
order by hpah.EMPLOYEE_NUMBER
2. Create another table say TEST_TAB
create table TEST_TAB (emp_no, start_dt) as
SELECT hpah2.EMPLOYEE_NUMBER , MAX(hpah2.PERSON_START_DATE) PERSON_START_DATE
FROM hrfg_person_assignment_history hpah2
GROUP BY hpah2.EMPLOYEE_NUMBER
3. Add both of them in Disco Admin and create a join between TEST_VIEW.emp_no and TEST_TAB.emp_no
4. Bring both these Objects in a new report in Disco Plus
5. Create a New Parameter (Base it on PERSON_START_DATE Col of TEST_TAB)
6. Choose Option Create Condition with operator <=
7. Checkmark "Require User to Enter a Value
8. Execute Report
I believe this should work. Either ways let me know if it helps or u get another workaround. (This scenario looks quite interesting)
Thanks,
Chinmay -
Unable to view data in some HR tables
Since I upgraded to SQL Developer 2.1.1.64 I have not been able to view data in the data tab for the following tables that I have run accross: per_all_people_f, per_all_assignments_f or per_all_positions_f.
Other tables that I have been using seem to be working fine, but these I need to use all the time. I get the column numbers returned, but no data or column headings.
Another co-worker that has upgraded is experiencing the same problem.I could not get the ddl to show up on the sql tab in version 2.1.1.64, but I did run it in version 1.5.4 and this is what was returned.
-- Unable to Render DDL with DBMS_METADATA using internal generator.
CREATE TABLE HR.PER_ALL_PEOPLE_F
PERSON_ID NUMBER(10, 0) NOT NULL,
EFFECTIVE_START_DATE DATE NOT NULL,
EFFECTIVE_END_DATE DATE NOT NULL,
BUSINESS_GROUP_ID NUMBER(15, 0) NOT NULL,
PERSON_TYPE_ID NUMBER(15, 0) NOT NULL,
LAST_NAME VARCHAR2(150 BYTE) NOT NULL,
START_DATE DATE NOT NULL,
APPLICANT_NUMBER VARCHAR2(30 BYTE),
BACKGROUND_CHECK_STATUS VARCHAR2(30 BYTE),
BACKGROUND_DATE_CHECK DATE,
BLOOD_TYPE VARCHAR2(30 BYTE),
COMMENT_ID NUMBER(15, 0),
CORRESPONDENCE_LANGUAGE VARCHAR2(30 BYTE),
CURRENT_APPLICANT_FLAG VARCHAR2(30 BYTE),
CURRENT_EMP_OR_APL_FLAG VARCHAR2(30 BYTE),
CURRENT_EMPLOYEE_FLAG VARCHAR2(30 BYTE),
DATE_EMPLOYEE_DATA_VERIFIED DATE,
DATE_OF_BIRTH DATE,
EMAIL_ADDRESS VARCHAR2(240 BYTE),
EMPLOYEE_NUMBER VARCHAR2(30 BYTE),
EXPENSE_CHECK_SEND_TO_ADDRESS VARCHAR2(30 BYTE),
FAST_PATH_EMPLOYEE VARCHAR2(30 BYTE),
FIRST_NAME VARCHAR2(150 BYTE),
FTE_CAPACITY NUMBER(5, 2),
FULL_NAME VARCHAR2(240 BYTE),
HOLD_APPLICANT_DATE_UNTIL DATE,
HONORS VARCHAR2(45 BYTE),
INTERNAL_LOCATION VARCHAR2(45 BYTE),
KNOWN_AS VARCHAR2(80 BYTE),
LAST_MEDICAL_TEST_BY VARCHAR2(60 BYTE),
LAST_MEDICAL_TEST_DATE DATE,
MAILSTOP VARCHAR2(45 BYTE),
MARITAL_STATUS VARCHAR2(30 BYTE),
MIDDLE_NAMES VARCHAR2(60 BYTE),
NATIONALITY VARCHAR2(30 BYTE),
NATIONAL_IDENTIFIER VARCHAR2(30 BYTE),
OFFICE_NUMBER VARCHAR2(45 BYTE),
ON_MILITARY_SERVICE VARCHAR2(30 BYTE),
ORDER_NAME VARCHAR2(240 BYTE),
PRE_NAME_ADJUNCT VARCHAR2(30 BYTE),
PREVIOUS_LAST_NAME VARCHAR2(150 BYTE),
PROJECTED_START_DATE DATE,
REHIRE_AUTHORIZOR VARCHAR2(30 BYTE),
REHIRE_REASON VARCHAR2(60 BYTE),
REHIRE_RECOMMENDATION VARCHAR2(30 BYTE),
RESUME_EXISTS VARCHAR2(30 BYTE),
RESUME_LAST_UPDATED DATE,
REGISTERED_DISABLED_FLAG VARCHAR2(30 BYTE),
SECOND_PASSPORT_EXISTS VARCHAR2(30 BYTE),
SEX VARCHAR2(30 BYTE),
STUDENT_STATUS VARCHAR2(30 BYTE),
SUFFIX VARCHAR2(30 BYTE),
TITLE VARCHAR2(30 BYTE),
VENDOR_ID NUMBER(15, 0),
WORK_SCHEDULE VARCHAR2(30 BYTE),
WORK_TELEPHONE VARCHAR2(60 BYTE),
COORD_BEN_MED_PLN_NO VARCHAR2(30 BYTE),
COORD_BEN_NO_CVG_FLAG VARCHAR2(30 BYTE),
DPDNT_ADOPTION_DATE DATE,
DPDNT_VLNTRY_SVCE_FLAG VARCHAR2(30 BYTE),
RECEIPT_OF_DEATH_CERT_DATE DATE,
USES_TOBACCO_FLAG VARCHAR2(30 BYTE),
BENEFIT_GROUP_ID NUMBER(15, 0),
REQUEST_ID NUMBER(15, 0),
PROGRAM_APPLICATION_ID NUMBER(15, 0),
PROGRAM_ID NUMBER(15, 0),
PROGRAM_UPDATE_DATE DATE,
ATTRIBUTE_CATEGORY VARCHAR2(30 BYTE),
ATTRIBUTE1 VARCHAR2(150 BYTE),
ATTRIBUTE2 VARCHAR2(150 BYTE),
ATTRIBUTE3 VARCHAR2(150 BYTE),
ATTRIBUTE4 VARCHAR2(150 BYTE),
ATTRIBUTE5 VARCHAR2(150 BYTE),
ATTRIBUTE6 VARCHAR2(150 BYTE),
ATTRIBUTE7 VARCHAR2(150 BYTE),
ATTRIBUTE8 VARCHAR2(150 BYTE),
ATTRIBUTE9 VARCHAR2(150 BYTE),
ATTRIBUTE10 VARCHAR2(150 BYTE),
ATTRIBUTE11 VARCHAR2(150 BYTE),
ATTRIBUTE12 VARCHAR2(150 BYTE),
ATTRIBUTE13 VARCHAR2(150 BYTE),
ATTRIBUTE14 VARCHAR2(150 BYTE),
ATTRIBUTE15 VARCHAR2(150 BYTE),
ATTRIBUTE16 VARCHAR2(150 BYTE),
ATTRIBUTE17 VARCHAR2(150 BYTE),
ATTRIBUTE18 VARCHAR2(150 BYTE),
ATTRIBUTE19 VARCHAR2(150 BYTE),
ATTRIBUTE20 VARCHAR2(150 BYTE),
ATTRIBUTE21 VARCHAR2(150 BYTE),
ATTRIBUTE22 VARCHAR2(150 BYTE),
ATTRIBUTE23 VARCHAR2(150 BYTE),
ATTRIBUTE24 VARCHAR2(150 BYTE),
ATTRIBUTE25 VARCHAR2(150 BYTE),
ATTRIBUTE26 VARCHAR2(150 BYTE),
ATTRIBUTE27 VARCHAR2(150 BYTE),
ATTRIBUTE28 VARCHAR2(150 BYTE),
ATTRIBUTE29 VARCHAR2(150 BYTE),
ATTRIBUTE30 VARCHAR2(150 BYTE),
LAST_UPDATE_DATE DATE,
LAST_UPDATED_BY NUMBER(15, 0),
LAST_UPDATE_LOGIN NUMBER(15, 0),
CREATED_BY NUMBER(15, 0),
CREATION_DATE DATE,
PER_INFORMATION_CATEGORY VARCHAR2(30 BYTE),
PER_INFORMATION1 VARCHAR2(150 BYTE),
PER_INFORMATION2 VARCHAR2(150 BYTE),
PER_INFORMATION3 VARCHAR2(150 BYTE),
PER_INFORMATION4 VARCHAR2(150 BYTE),
PER_INFORMATION5 VARCHAR2(150 BYTE),
PER_INFORMATION6 VARCHAR2(150 BYTE),
PER_INFORMATION7 VARCHAR2(150 BYTE),
PER_INFORMATION8 VARCHAR2(150 BYTE),
PER_INFORMATION9 VARCHAR2(150 BYTE),
PER_INFORMATION10 VARCHAR2(150 BYTE),
PER_INFORMATION11 VARCHAR2(150 BYTE),
PER_INFORMATION12 VARCHAR2(150 BYTE),
PER_INFORMATION13 VARCHAR2(150 BYTE),
PER_INFORMATION14 VARCHAR2(150 BYTE),
PER_INFORMATION15 VARCHAR2(150 BYTE),
PER_INFORMATION16 VARCHAR2(150 BYTE),
PER_INFORMATION17 VARCHAR2(150 BYTE),
PER_INFORMATION18 VARCHAR2(150 BYTE),
PER_INFORMATION19 VARCHAR2(150 BYTE),
PER_INFORMATION20 VARCHAR2(150 BYTE),
PER_INFORMATION21 VARCHAR2(150 BYTE),
PER_INFORMATION22 VARCHAR2(150 BYTE),
PER_INFORMATION23 VARCHAR2(150 BYTE),
PER_INFORMATION24 VARCHAR2(150 BYTE),
PER_INFORMATION25 VARCHAR2(150 BYTE),
PER_INFORMATION26 VARCHAR2(150 BYTE),
PER_INFORMATION27 VARCHAR2(150 BYTE),
PER_INFORMATION28 VARCHAR2(150 BYTE),
PER_INFORMATION29 VARCHAR2(150 BYTE),
PER_INFORMATION30 VARCHAR2(150 BYTE),
OBJECT_VERSION_NUMBER NUMBER(9, 0),
DATE_OF_DEATH DATE,
ORIGINAL_DATE_OF_HIRE DATE,
TOWN_OF_BIRTH VARCHAR2(90 BYTE),
REGION_OF_BIRTH VARCHAR2(90 BYTE),
COUNTRY_OF_BIRTH VARCHAR2(90 BYTE),
GLOBAL_PERSON_ID VARCHAR2(30 BYTE),
COORD_BEN_MED_PL_NAME VARCHAR2(80 BYTE),
COORD_BEN_MED_INSR_CRR_NAME VARCHAR2(80 BYTE),
COORD_BEN_MED_INSR_CRR_IDENT VARCHAR2(80 BYTE),
COORD_BEN_MED_EXT_ER VARCHAR2(80 BYTE),
COORD_BEN_MED_CVG_STRT_DT DATE,
COORD_BEN_MED_CVG_END_DT DATE,
PARTY_ID NUMBER(15, 0),
NPW_NUMBER VARCHAR2(30 BYTE),
CURRENT_NPW_FLAG VARCHAR2(30 BYTE),
GLOBAL_NAME VARCHAR2(240 BYTE),
LOCAL_NAME VARCHAR2(240 BYTE)
, CONSTRAINT PER_PEOPLE_F_PK PRIMARY KEY
PERSON_ID,
EFFECTIVE_START_DATE,
EFFECTIVE_END_DATE
ENABLE
TABLESPACE "HR_DATA_SPACE_01"
LOGGING
PCTFREE 10
PCTUSED 40
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 48K
NEXT 8000K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PEOPLE_F_FK1 FOREIGN KEY
BUSINESS_GROUP_ID
REFERENCES HR.HR_ALL_ORGANIZATION_UNITS
ORGANIZATION_ID
) ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PEOPLE_F_FK2 FOREIGN KEY
PERSON_TYPE_ID
REFERENCES HR.PER_PERSON_TYPES
PERSON_TYPE_ID
) ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT HR_PER_DATE_OF_DEATH CHECK
(DATE_OF_DEATH >= DATE_OF_BIRTH)
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PER_ON_MILITARY_SRV_CHK CHECK
(ON_MILITARY_SERVICE IN ('Y','N'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_DPDNT_VLNTRY_SVCE_FLAG_CHK CHECK
(DPDNT_VLNTRY_SVCE_FLAG in ('Y','N'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PER_SECOND_PASSPORT_CHK CHECK
(SECOND_PASSPORT_EXISTS IN ('Y','N'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PER_FAST_PATH_EMPLOYEE_CHK CHECK
(FAST_PATH_EMPLOYEE IN ('Y','N'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_COORD_BEN_NO_CVG_FLAG CHECK
(COORD_BEN_NO_CVG_FLAG in ('Y','N'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PER_RESUME_EXISTS_CHK CHECK
(RESUME_EXISTS IN ('Y','N'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PER_SEX_CHK CHECK
(SEX IN ('M', 'F'))
ENABLE
ALTER TABLE HR.PER_ALL_PEOPLE_F
ADD CONSTRAINT PER_PER_EXPENSE_CHECK_SEND_CHK CHECK
(EXPENSE_CHECK_SEND_TO_ADDRESS IN ('H', 'O', 'P'))
ENABLE
CREATE INDEX HR.CSUH_PPF_ATTR12_IDX ON HR.PER_ALL_PEOPLE_F (ATTRIBUTE12 ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE
INITIAL 1M
NEXT 104K
MINEXTENTS 1
MAXEXTENTS 8192
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.CSUH_PPF_ATTR1_IDX ON HR.PER_ALL_PEOPLE_F (ATTRIBUTE1 ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 0
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 560K
NEXT 160K
MINEXTENTS 1
MAXEXTENTS 8192
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N1 ON HR.PER_ALL_PEOPLE_F (UPPER(FULL_NAME) ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 256K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N2 ON HR.PER_ALL_PEOPLE_F (UPPER(LAST_NAME) ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 256K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N50 ON HR.PER_ALL_PEOPLE_F (LAST_NAME ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 0
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 496K
NEXT 160K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N51 ON HR.PER_ALL_PEOPLE_F (EMPLOYEE_NUMBER ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 0
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 328K
NEXT 80K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N52 ON HR.PER_ALL_PEOPLE_F (APPLICANT_NUMBER ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 0
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 8K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N53 ON HR.PER_ALL_PEOPLE_F (NATIONAL_IDENTIFIER ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 0
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 496K
NEXT 160K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N54 ON HR.PER_ALL_PEOPLE_F (FULL_NAME ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 0
INITRANS 16
MAXTRANS 255
STORAGE
INITIAL 760K
NEXT 240K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N55 ON HR.PER_ALL_PEOPLE_F (PARTY_ID ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 4M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N56 ON HR.PER_ALL_PEOPLE_F (NPW_NUMBER ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 4M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N57 ON HR.PER_ALL_PEOPLE_F (UPPER(GLOBAL_NAME) ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 256K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N58 ON HR.PER_ALL_PEOPLE_F (UPPER(LOCAL_NAME) ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 256K
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N59 ON HR.PER_ALL_PEOPLE_F (EMAIL_ADDRESS ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 4M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
CREATE INDEX HR.PER_PEOPLE_F_N60 ON HR.PER_ALL_PEOPLE_F (GLOBAL_NAME ASC) TABLESPACE "HR_INDEX_SPACE_01"
LOGGING
PCTFREE 10
INITRANS 11
MAXTRANS 255
STORAGE
INITIAL 16K
NEXT 4M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 4
FREELIST GROUPS 4
BUFFER_POOL DEFAULT
; -
Removing the Duplicate Values from output without using Keyword DISTINCT
Hi,
I'm running the below query without DISTINCT Keyword and getting Duplicate results. can you please tell me what needs to be done if I want unique values without using Distinct.
select hra.Location_code
,hra.Description
,hra.Address_line_1
,hra.Address_line_2
,hra.Address_line_3
,hra.town_or_city
,hra.Region_1
,hra.Postal_Code
,hra.country
,hra.attribute1
,hra.attribute5
,hra.attribute6
,hra.attribute8
,hra.attribute9
,hra.attribute2
,hra.attribute3
,hra.attribute4
,hra.attribute7
,hra.attribute10
from hr_locations_all hra
,per_all_people_f papf
,per_person_types ppt
, per_person_type_usages_f pptuf
,hr_all_organization_units haou
,hr_all_organization_units haou1
where 1=1
and hra.business_group_id = papf.business_group_id
and hra.business_group_id = ppt.business_group_id
and pptuf.person_id = papf.person_id
and pptuf.person_type_id = ppt.person_type_id
and ppt.system_person_type = 'EMP'
and ((hra.inactive_date is null) or (trunc(hra.inactive_date)>= to_date('01/01/2012','mm/dd/yyyy')))
and to_date('01/01/2012','mm/dd/yyyy') between trunc(pptuf.effective_start_date) and trunc(pptuf.effective_end_date)
and((papf.effective_end_date is null) or (trunc(papf.effective_end_date)>= to_date('01/01/2012','mm/dd/yyyy')))
and ((haou1.date_to is null) or (trunc(haou1.date_to)>= to_date('01/01/2012','mm/dd/yyyy')))
and papf.business_group_id = haou.organization_id
and hra.location_id = haou1.location_id;Hi,
Try using this Code
select hra.Location_code
,hra.Description
,hra.Address_line_1
,hra.Address_line_2
,hra.Address_line_3
,hra.town_or_city
,hra.Region_1
,hra.Postal_Code
,hra.country
,hra.attribute1
,hra.attribute5
,hra.attribute6
,hra.attribute8
,hra.attribute9
,hra.attribute2
,hra.attribute3
,hra.attribute4
,hra.attribute7
,hra.attribute10
from hr_locations_all hra
,per_all_people_f papf,
per_all_assignments_f paaf,
per_person_types ppt
, per_person_type_usages_f pptuf
,hr_all_organization_units haou
--,hr_all_organization_units haou1
where 1=1
and
hra.business_group_id = papf.business_group_id
and hra.business_group_id = ppt.business_group_id
and pptuf.person_id = papf.person_id
and papf.person_id=paaf.person_id
and pptuf.person_type_id = ppt.person_type_id
and ppt.system_person_type = 'EMP'
--and ((hra.inactive_date is null) or (trunc(hra.inactive_date)>= to_date('01/01/2012','mm/dd/yyyy')))
and to_date('01/01/2012','mm/dd/yyyy') between trunc(pptuf.effective_start_date) and trunc(pptuf.effective_end_date)
--and((papf.effective_end_date is null) or (trunc(papf.effective_end_date)>= to_date('01/01/2012','mm/dd/yyyy')))
--and((paaf.effective_end_date is null) or (trunc(paaf.effective_end_date)>= to_date('01/01/2012','mm/dd/yyyy')))
and to_date('01/01/2012','mm/dd/yyyy') between trunc(papf.effective_start_date) and trunc(papf.effective_end_date)
and to_date('01/01/2012','mm/dd/yyyy') between trunc(paaf.effective_start_date) and trunc(paaf.effective_end_date)
--and ((haou1.date_to is null) or (trunc(haou1.date_to)>= to_date('01/01/2012','mm/dd/yyyy')))
--and papf.business_group_id = haou.organization_id
and paaf.location_id=hra.location_id
and paaf.organization_id=haou.organization_id
--and papf.employee_number='1010008830'
and hra.location_id = haou.location_id; -
Error in SDE_ORA_AbsenceEvent_Full workflow
I am getting a task failure on the SDE_ORA_AbsenceEvent task when running the Human Resource - Oracle R1212 execution plan from DAC. I have copied and pasted the session log below. The error I see within it is an 'ORA-01846: not a valid day of the week' error. The offending SQL is within the session log below. I am running the Human Resources - Oracle R1212 execution plan out of the box in order to detect any failures before beginning any configuration work. The Informatica workflow that fails is in the SDE_ORAR1212_Adaptor folder and is named SDE_ORA_AbsenceEvent_Full. The workflow log shows error on the 3rd from last and the last lines of the log.
Please help because I cannot find much about this in the blogosphere except for performance issues with this workflow because of a certain API call within the offending SQL.
Thanks and the session log now follows:
DIRECTOR> VAR_27028 Use override value [DataWarehouse] for session parameter:[$DBConnection_OLAP].
DIRECTOR> VAR_27028 Use override value [ORA_R1212] for session parameter:[$DBConnection_OLTP].
DIRECTOR> VAR_27028 Use override value [ORA_R1212.DATAWAREHOUSE.SDE_ORAR1212_Adaptor.SDE_ORA_AbsenceEvent_Full.log] for session parameter:[$PMSessionLogFile].
DIRECTOR> VAR_27028 Use override value [27] for mapping parameter:[$$DATASOURCE_NUM_ID].
DIRECTOR> VAR_27028 Use override value [TO_DATE('1980-01-01 00:00:00', 'YYYY-MM-D HH24:MI:SS')] for mapping parameter:[mplt_BC_ORA_AbsenceEvent.$$HR_ABSNC_EXTRACT_DATE].
DIRECTOR> VAR_27028 Use override value [] for mapping parameter:[mplt_BC_ORA_AbsenceEvent.$$LAST_EXTRACT_DATE].
DIRECTOR> VAR_27028 Use override value [DEFAULT] for mapping parameter:[$$TENANT_ID].
DIRECTOR> TM_6014 Initializing session [SDE_ORA_AbsenceEvent_Full] at [Tue Nov 16 09:01:17 2010].
DIRECTOR> TM_6683 Repository Name: [p2]
DIRECTOR> TM_6684 Server Name: [ip2]
DIRECTOR> TM_6686 Folder: [SDE_ORAR1212_Adaptor]
DIRECTOR> TM_6685 Workflow: [SDE_ORA_AbsenceEvent_Full] Run Instance Name: [] Run Id: [979]
DIRECTOR> TM_6101 Mapping name: SDE_ORA_AbsenceEvent [version 1].
DIRECTOR> TM_6963 Pre 85 Timestamp Compatibility is Enabled
DIRECTOR> TM_6964 Date format for the Session is [MM/DD/YYYY HH24:MI:SS]
DIRECTOR> TM_6827 [mnt/disk07/informatica/server/infa_shared/Storage] will be used as storage directory for session [SDE_ORA_AbsenceEvent_Full].
DIRECTOR> CMN_1802 Session recovery cache initialization is complete.
DIRECTOR> TM_6703 Session [SDE_ORA_AbsenceEvent_Full] is run by 64-bit Integration Service [node01_tstrdobiap168], version [8.6.1 HotFix11], build [0504].
MANAGER> PETL_24058 Running Partition Group [1].
MANAGER> PETL_24000 Parallel Pipeline Engine initializing.
MANAGER> PETL_24001 Parallel Pipeline Engine running.
MANAGER> PETL_24003 Initializing session run.
MAPPING> CMN_1569 Server Mode: [UNICODE]
MAPPING> CMN_1570 Server Code page: [UTF-8 encoding of Unicode]
MAPPING> TM_6151 The session sort order is [Binary].
MAPPING> TM_6185 Warning. Code page validation is disabled in this session.
MAPPING> TM_6156 Using low precision processing.
MAPPING> TM_6180 Deadlock retry logic will not be implemented.
MAPPING> TM_6307 DTM error log disabled.
MAPPING> TE_7022 TShmWriter: Initialized
MAPPING> TM_6007 DTM initialized successfully for session [SDE_ORA_AbsenceEvent_Full]
DIRECTOR> PETL_24033 All DTM Connection Info: [<NONE>].
MANAGER> PETL_24004 Starting pre-session tasks. : (Tue Nov 16 09:01:17 2010)
MANAGER> PETL_24027 Pre-session task completed successfully. : (Tue Nov 16 09:01:17 2010)
DIRECTOR> PETL_24006 Starting data movement.
MAPPING> TM_6660 Total Buffer Pool size is 32000000 bytes and Block size is 128000 bytes.
LKPDP_1> DBG_21693 mplt_SA_ORA_AbsenceEvent.Lkp_Absence_Status{{SRT}}: Cache size for partition [1] = [19922944]
LKPDP_1> SORT_40419 For Transformation [mplt_SA_ORA_AbsenceEvent.Lkp_Absence_Status{{SRT}}], memory used is [19922944] bytes and row size is 300 bytes.
LKPDP_1> TE_7212 Increasing [Index Cache] size for transformation [mplt_SA_ORA_AbsenceEvent.Lkp_Absence_Status] from [1048576] to [1050000].
READER_1_1_1> DBG_21438 Reader: Source is [aebts02], user [apps]
READER_1_1_1> BLKR_16051 Source database connection [ORA_R1212] code page: [UTF-8 encoding of Unicode]
READER_1_1_1> BLKR_16003 Initialization completed successfully.
WRITER_1_*_1> WRT_8147 Writer: Target is database [orcl], user [edw], bulk mode [OFF]
WRITER_1_*_1> WRT_8221 Target database connection [DataWarehouse] code page: [UTF-8 encoding of Unicode]
WRITER_1_*_1> WRT_8124 Target Table W_ABSENCE_EVENT_DS :SQL INSERT statement:
INSERT INTO W_ABSENCE_EVENT_DS(ABSENCE_BEGIN_DT,ABSENCE_END_DT,ABSENCE_BEGIN_TM,ABSENCE_END_TM,ORIGINAL_BEGIN_DT,NOTIFIED_DT,APPROVED_DT,ABSENCE_REASON_CODE,ABSENCE_TYPE_CODE,ABSENCE_CATEGORY_CODE,APPROVAL_STATUS,STATUS_CODE,STATUS_NAME,PAID_UNPAID_CODE,DAYS_DURATION,HOURS_DURATION,DAY_DURATION_START,HOURS_DURATION_START,DAY_DURATION_MID,HOURS_DURATION_MID,DAY_DURATION_END,HOURS_DURATION_END,DAYS_NOTIFIED,ABSENCE_TYPE_RSN_ID,ABSENCE_STATUS_ID,CREATED_BY_ID,EMPLOYEE_ID,ASSIGNMENT_INTEGRATION_ID,CHANGED_BY_ID,CREATED_ON_DT,CHANGED_ON_DT,AUX1_CHANGED_ON_DT,AUX2_CHANGED_ON_DT,AUX3_CHANGED_ON_DT,AUX4_CHANGED_ON_DT,DELETE_FLG,DATASOURCE_NUM_ID,INTEGRATION_ID,TENANT_ID,X_CUSTOM) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
WRITER_1_*_1> WRT_8124 Target Table W_ABSENCE_EVENT_DS :SQL DELETE statement:
DELETE FROM W_ABSENCE_EVENT_DS WHERE DATASOURCE_NUM_ID = ? AND INTEGRATION_ID = ?
WRITER_1_*_1> WRT_8270 Target connection group #1 consists of target(s) [W_ABSENCE_EVENT_DS]
WRITER_1_*_1> WRT_8003 Writer initialization complete.
READER_1_1_1> BLKR_16007 Reader run started.
READER_1_1_1> RR_4029 SQ Instance [mplt_BC_ORA_AbsenceEvent.SQ_PER_ABSENCE_ATTENDANCES] User specified SQL Query [SELECT
/*+ use_hash(per_absence_attendances per_all_assignments_f
per_absence_attendance_types per_abs_attendance_reasons )*/
tab.absence_attendance_id absence_attendance_id
,tab.date_start absence_begin_dt
,NVL(tab.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) absence_end_dt
,to_date(to_char(tab.date_start, 'YYYYMMDD ') || NVL(tab.time_start,'00:00'), 'YYYYMMDD HH24:MI') absence_begin_tm
,to_date(to_char(tab.date_end, 'YYYYMMDD ') || NVL(tab.time_end,'00:00'), 'YYYYMMDD HH24:MI') absence_end_tm
,tab.date_start original_begin_dt
,tab.date_notification notified_dt
,to_date(null) approved_dt
,tab.name absence_reason_code
,tab.absence_attendance_type_id absence_attendance_type_id
,tab.absence_category absence_category_code
,tab.approval_status approval_status
,null status_code
,null paid_unpaid_code
,to_char(tab.absence_attendance_type_id) || '~' || NVL(tab.name,'Unspecified') absence_type_rsn_id
,'Unspecified' absence_status_id
,tab.person_id employee_id
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration
WHEN tab.utl_hours_in_day > 0
THEN tab.hours_duration / tab.utl_hours_in_day
END days_duration
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration
ELSE tab.days_duration * tab.utl_hours_in_day
END hours_duration
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_start
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_start
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_mid
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_mid
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_end
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_end
,CASE WHEN tab.date_notification < tab.date_start
THEN tab.date_start - tab.date_notification
ELSE 0
END days_notified
,tab.assignment_id assignment_integration_id
FROM
(SELECT
paa.absence_attendance_id
,paa.date_start
,NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY'))
date_end
,CASE when paa.date_start > TRUNC(sysdate) then 0
WHEN paa.date_start <= NVL(paa.date_end, trunc(sysdate))
THEN NVL(paa.date_end, trunc(sysdate)) - paa.date_start + 1
ELSE to_number(null)
END no_days
,paa.date_notification
,paa.person_id
,pat.absence_category
,par.name
,paa.absence_attendance_type_id
,paa.abs_attendance_reason_id
,paa.time_start
,paa.time_end
,paa.approval_status
,asg.assignment_id
,CASE WHEN paa.absence_days IS NOT NULL
THEN paa.absence_days
WHEN paa.absence_hours IS NOT NULL OR
(paa.date_start = paa.date_end AND
paa.time_start IS NOT NULL AND
paa.time_end IS NOT NULL)
THEN to_number(null)
WHEN paa.date_start < paa.date_end
THEN paa.date_end - paa.date_start + 1
when paa.absence_days is null and paa.absence_hours is null
then nvl(paa.date_end,trunc(sysdate))-paa.date_start + 1
END days_duration
,CASE WHEN paa.absence_hours IS NOT NULL OR
(paa.date_start = paa.date_end AND
paa.time_start IS NOT NULL AND
paa.time_end IS NOT NULL)
THEN NVL(paa.absence_hours, 24 * (to_date(NVL(paa.time_end,'00:00') , 'HH24:MI') -
to_date(NVL(paa.time_start,'00:00'), 'HH24:MI')))
END hours_duration
, case when paa.date_start > TRUNC(sysdate) then 0
else hri_bpl_utilization.convert_days_to_hours
(asg.assignment_id, asg.business_group_id, paa.date_start, TRUNC(sysdate), 1)
end utl_hours_in_day
FROM
per_absence_attendances paa
,per_absence_attendance_types pat
,per_abs_attendance_reasons par
,per_all_assignments_f asg
WHERE paa.absence_attendance_type_id = pat.absence_attendance_type_id
AND paa.abs_attendance_reason_id = par.abs_attendance_reason_id (+)
AND paa.person_id = asg.person_id
AND asg.primary_flag = 'Y'
AND asg.assignment_type IN ('E','C')
AND paa.date_start BETWEEN asg.effective_start_date
AND asg.effective_end_date
AND paa.date_start IS NOT NULL
AND NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) >= TO_DATE('1980-01-01 00:00:00', 'YYYY-MM-D HH24:MI:SS') ) tab]
READER_1_1_1> RR_4049 SQL Query issued to database : (Tue Nov 16 09:01:18 2010)
WRITER_1_*_1> WRT_8005 Writer run started.
WRITER_1_*_1> WRT_8158
*****START LOAD SESSION*****
Load Start Time: Tue Nov 16 09:01:18 2010
Target tables:
W_ABSENCE_EVENT_DS
READER_1_1_1> CMN_1761 Timestamp Event: [Tue Nov 16 09:01:18 2010]
READER_1_1_1> RR_4035 SQL Error [
ORA-01846: not a valid day of the week
Database driver error...
Function Name : Execute
SQL Stmt : SELECT
/*+ use_hash(per_absence_attendances per_all_assignments_f
per_absence_attendance_types per_abs_attendance_reasons )*/
tab.absence_attendance_id absence_attendance_id
,tab.date_start absence_begin_dt
,NVL(tab.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) absence_end_dt
,to_date(to_char(tab.date_start, 'YYYYMMDD ') || NVL(tab.time_start,'00:00'), 'YYYYMMDD HH24:MI') absence_begin_tm
,to_date(to_char(tab.date_end, 'YYYYMMDD ') || NVL(tab.time_end,'00:00'), 'YYYYMMDD HH24:MI') absence_end_tm
,tab.date_start original_begin_dt
,tab.date_notification notified_dt
,to_date(null) approved_dt
,tab.name absence_reason_code
,tab.absence_attendance_type_id absence_attendance_type_id
,tab.absence_category absence_category_code
,tab.approval_status approval_status
,null status_code
,null paid_unpaid_code
,to_char(tab.absence_attendance_type_id) || '~' || NVL(tab.name,'Unspecified') absence_type_rsn_id
,'Unspecified' absence_status_id
,tab.person_id employee_id
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration
WHEN tab.utl_hours_in_day > 0
THEN tab.hours_duration / tab.utl_hours_in_day
END days_duration
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration
ELSE tab.days_duration * tab.utl_hours_in_day
END hours_duration
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_start
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_start
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_mid
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_mid
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_end
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_end
,CASE WHEN tab.date_notification < tab.date_start
THEN tab.date_start - tab.date_notification
ELSE 0
END days_notified
,tab.assignment_id assignment_integration_id
FROM
(SELECT
paa.absence_attendance_id
,paa.date_start
,NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY'))
date_end
,CASE when paa.date_start > TRUNC(sysdate) then 0
WHEN paa.date_start <= NVL(paa.date_end, trunc(sysdate))
THEN NVL(paa.date_end, trunc(sysdate)) - paa.date_start + 1
ELSE to_number(null)
END no_days
,paa.date_notification
,paa.person_id
,pat.absence_category
,par.name
,paa.absence_attendance_type_id
,paa.abs_attendance_reason_id
,paa.time_start
,paa.time_end
,paa.approval_status
,asg.assignment_id
,CASE WHEN paa.absence_days IS NOT NULL
THEN paa.absence_days
WHEN paa.absence_hours IS NOT NULL OR
(paa.date_start = paa.date_end AND
paa.time_start IS NOT NULL AND
paa.time_end IS NOT NULL)
THEN to_number(null)
WHEN paa.date_start < paa.date_end
THEN paa.date_end - paa.date_start + 1
when paa.absence_days is null and paa.absence_hours is null
then nvl(paa.date_end,trunc(sysdate))-paa.date_start + 1
END days_duration
,CASE WHEN paa.absence_hours IS NOT NULL OR
(paa.date_start = paa.date_end AND
paa.time_start IS NOT NULL AND
paa.time_end IS NOT NULL)
THEN NVL(paa.absence_hours, 24 * (to_date(NVL(paa.time_end,'00:00') , 'HH24:MI') -
to_date(NVL(paa.time_start,'00:00'), 'HH24:MI')))
END hours_duration
, case when paa.date_start > TRUNC(sysdate) then 0
else hri_bpl_utilization.convert_days_to_hours
(asg.assignment_id, asg.business_group_id, paa.date_start, TRUNC(sysdate), 1)
end utl_hours_in_day
FROM
per_absence_attendances paa
,per_absence_attendance_types pat
,per_abs_attendance_reasons par
,per_all_assignments_f asg
WHERE paa.absence_attendance_type_id = pat.absence_attendance_type_id
AND paa.abs_attendance_reason_id = par.abs_attendance_reason_id (+)
AND paa.person_id = asg.person_id
AND asg.primary_flag = 'Y'
AND asg.assignment_type IN ('E','C')
AND paa.date_start BETWEEN asg.effective_start_date
AND asg.effective_end_date
AND paa.date_start IS NOT NULL
AND NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) >= TO_DATE('1980-01-01 00:00:00', 'YYYY-MM-D HH24:MI:SS') ) tab
Database driver error...
Function Name : Execute
SQL Stmt : SELECT
/*+ use_hash(per_absence_attendances per_all_assignments_f
per_absence_attendance_types per_abs_attendance_reasons )*/
tab.absence_attendance_id absence_attendance_id
,tab.date_start absence_begin_dt
,NVL(tab.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) absence_end_dt
,to_date(to_char(tab.date_start, 'YYYYMMDD ') || NVL(tab.time_start,'00:00'), 'YYYYMMDD HH24:MI') absence_begin_tm
,to_date(to_char(tab.date_end, 'YYYYMMDD ') || NVL(tab.time_end,'00:00'), 'YYYYMMDD HH24:MI') absence_end_tm
,tab.date_start original_begin_dt
,tab.date_notification notified_dt
,to_date(null) approved_dt
,tab.name absence_reason_code
,tab.absence_attendance_type_id absence_attendance_type_id
,tab.absence_category absence_category_code
,tab.approval_status approval_status
,null status_code
,null paid_unpaid_code
,to_char(tab.absence_attendance_type_id) || '~' || NVL(tab.name,'Unspecified') absence_type_rsn_id
,'Unspecified' absence_status_id
,tab.person_id employee_id
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration
WHEN tab.utl_hours_in_day > 0
THEN tab.hours_duration / tab.utl_hours_in_day
END days_duration
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration
ELSE tab.days_duration * tab.utl_hours_in_day
END hours_duration
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_start
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_start
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_mid
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_mid
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.days_duration IS NOT NULL
THEN tab.days_duration / tab.no_days
WHEN tab.utl_hours_in_day > 0
THEN (tab.hours_duration / tab.utl_hours_in_day )/ tab.no_days
END day_duration_end
,CASE when tab.date_start > TRUNC(sysdate) then 0
WHEN tab.hours_duration IS NOT NULL
THEN tab.hours_duration / tab.no_days
ELSE (tab.days_duration * tab.utl_hours_in_day)/ tab.no_days
END hours_duration_end
,CASE WHEN tab.date_notification < tab.date_start
THEN tab.date_start - tab.date_notification
ELSE 0
END days_notified
,tab.assignment_id assignment_integration_id
FROM
(SELECT
paa.absence_attendance_id
,paa.date_start
,NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY'))
date_end
,CASE when paa.date_start > TRUNC(sysdate) then 0
WHEN paa.date_start <= NVL(paa.date_end, trunc(sysdate))
THEN NVL(paa.date_end, trunc(sysdate)) - paa.date_start + 1
ELSE to_number(null)
END no_days
,paa.date_notification
,paa.person_id
,pat.absence_category
,par.name
,paa.absence_attendance_type_id
,paa.abs_attendance_reason_id
,paa.time_start
,paa.time_end
,paa.approval_status
,asg.assignment_id
,CASE WHEN paa.absence_days IS NOT NULL
THEN paa.absence_days
WHEN paa.absence_hours IS NOT NULL OR
(paa.date_start = paa.date_end AND
paa.time_start IS NOT NULL AND
paa.time_end IS NOT NULL)
THEN to_number(null)
WHEN paa.date_start < paa.date_end
THEN paa.date_end - paa.date_start + 1
when paa.absence_days is null and paa.absence_hours is null
then nvl(paa.date_end,trunc(sysdate))-paa.date_start + 1
END days_duration
,CASE WHEN paa.absence_hours IS NOT NULL OR
(paa.date_start = paa.date_end AND
paa.time_start IS NOT NULL AND
paa.time_end IS NOT NULL)
THEN NVL(paa.absence_hours, 24 * (to_date(NVL(paa.time_end,'00:00') , 'HH24:MI') -
to_date(NVL(paa.time_start,'00:00'), 'HH24:MI')))
END hours_duration
, case when paa.date_start > TRUNC(sysdate) then 0
else hri_bpl_utilization.convert_days_to_hours
(asg.assignment_id, asg.business_group_id, paa.date_start, TRUNC(sysdate), 1)
end utl_hours_in_day
FROM
per_absence_attendances paa
,per_absence_attendance_types pat
,per_abs_attendance_reasons par
,per_all_assignments_f asg
WHERE paa.absence_attendance_type_id = pat.absence_attendance_type_id
AND paa.abs_attendance_reason_id = par.abs_attendance_reason_id (+)
AND paa.person_id = asg.person_id
AND asg.primary_flag = 'Y'
AND asg.assignment_type IN ('E','C')
AND paa.date_start BETWEEN asg.effective_start_date
AND asg.effective_end_date
AND paa.date_start IS NOT NULL
AND NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) >= TO_DATE('1980-01-01 00:00:00', 'YYYY-MM-D HH24:MI:SS') ) tab].
READER_1_1_1> CMN_1761 Timestamp Event: [Tue Nov 16 09:01:18 2010]
READER_1_1_1> BLKR_16004 ERROR: Prepare failed.
WRITER_1_*_1> WRT_8333 Rolling back all the targets due to fatal session error.
WRITER_1_*_1> WRT_8325 Final rollback executed for the target [W_ABSENCE_EVENT_DS] at end of load
WRITER_1_*_1> WRT_8035 Load complete time: Tue Nov 16 09:01:18 2010
LOAD SUMMARY
============
WRT_8036 Target: W_ABSENCE_EVENT_DS (Instance Name: [W_ABSENCE_EVENT_DS])
WRT_8044 No data loaded for this target
WRITER_1__1> WRT_8043 ****END LOAD SESSION*****
MANAGER> PETL_24031
***** RUN INFO FOR TGT LOAD ORDER GROUP [1], CONCURRENT SET [1] *****
Thread [READER_1_1_1] created for [the read stage] of partition point [mplt_BC_ORA_AbsenceEvent.SQ_PER_ABSENCE_ATTENDANCES] has completed. The total run time was insufficient for any meaningful statistics.
Thread [TRANSF_1_1_1] created for [the transformation stage] of partition point [mplt_BC_ORA_AbsenceEvent.SQ_PER_ABSENCE_ATTENDANCES] has completed. The total run time was insufficient for any meaningful statistics.
Thread [WRITER_1_*_1] created for [the write stage] of partition point [W_ABSENCE_EVENT_DS] has completed. The total run time was insufficient for any meaningful statistics.
MAPPING> CMN_1793 The index cache size that would hold [0] rows in the lookup table for [mplt_SA_ORA_AbsenceEvent.Lkp_Absence_Status], in memory, is [0] bytes
MAPPING> CMN_1792 The data cache size that would hold [0] rows in the lookup table for [mplt_SA_ORA_AbsenceEvent.Lkp_Absence_Status], in memory, is [0] bytes
MANAGER> PETL_24005 Starting post-session tasks. : (Tue Nov 16 09:01:18 2010)
MANAGER> PETL_24029 Post-session task completed successfully. : (Tue Nov 16 09:01:18 2010)
MAPPING> TE_7216 Deleting cache files [PMLKUP4513_131076_0_979L64] for transformation [mplt_SA_ORA_AbsenceEvent.Lkp_Absence_Status].
MAPPING> TM_6018 The session completed with [0] row transformation errors.
MANAGER> PETL_24002 Parallel Pipeline Engine finished.
DIRECTOR> PETL_24013 Session run completed with failure.
DIRECTOR> TM_6022
SESSION LOAD SUMMARY
================================================
DIRECTOR> TM_6252 Source Load Summary.
DIRECTOR> CMN_1740 Table: [SQ_PER_ABSENCE_ATTENDANCES] (Instance Name: [mplt_BC_ORA_AbsenceEvent.SQ_PER_ABSENCE_ATTENDANCES])
Output Rows [0], Affected Rows [0], Applied Rows [0], Rejected Rows [0]
DIRECTOR> TM_6253 Target Load Summary.
DIRECTOR> CMN_1740 Table: [W_ABSENCE_EVENT_DS] (Instance Name: [W_ABSENCE_EVENT_DS])
Output Rows [0], Affected Rows [0], Applied Rows [0], Rejected Rows [0]
DIRECTOR> TM_6023
===================================================
DIRECTOR> TM_6020 Session [SDE_ORA_AbsenceEvent_Full] completed at [Tue Nov 16 09:01:19 2010].Hi
Did you manage to find a solution to this problem?
okay i been puzzling with this one a bit,how i resolved it was as follows:
'AND NVL(paa.date_end, to_date('31-DEC-4712','DD-MON-YYYY')) >= TO_DATE('1980-01-01 00:00:00', 'YYYY-MM-D HH24:MI:SS') ) tab]'
you will notice the yyyy-mm-dd function is missing a d from the parameter file
if you take the sql and run it with the proper conversion of TO_DATE('1980-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') the sql works and the workflow completes, it would seem this is a bug when the dac generates the parameter $$HR_ABSNC_EXTRACT_DATE.
hope this helps
Regards
Nick
Edited by: Nickho on Feb 7, 2011 7:55 AM -
Question on Third Party Payroll Check in XML Publisher
Hi:
I have created an XML Third Party Check report that is based on the queries found in the seeded Oracle PAYUSGAR.rdf 115.24 check report. The patch 9211869 fixed an issue in the standard report where multiple checks for the same employee to the same payee for the same amount were NOT printing the correct garnishment reference number. I have reviewed the report code but have not been able to fix this same issue through XML.
My queries will produce all of the correct data except the 2nd duplicate (same employee to the same payee for the same amount) prints the reference number from the 1st element rather than the 2nd. Does anyone know how the check data is tied to the elements through the tables?
My example is:
Person: Max Doe Check: 1234 Paid to: California Agency Check Amount: 121.00 Pre_payment_id: 766297 Ref # 4567
Person: Max Doe Check: 1234 Paid to: California Agency Check Amount: 121.00 Pre_payment_id: 766302 Ref # 657AA
(Ref # 657AA prints on the second check as Ref # 4567)
The query from the report is:
SELECT peev.screen_entry_value garn_ref_no
,:check_amount
,TO_CHAR(pay_us_payment_pkg.get_trx_date(
:business_group_id,
:ppa_payroll_action_id,
NULL,
:ppa_payroll_id,
:ppa_consolidation_set_id,
:ppa_org_payment_method_id,
:ppa_effective_date,
:ppa_date_earned,
:ppa_override_date,
ppp.pre_payment_id,
ppa.effective_date
),'DD-MON-YYYY') payment_date
,TO_CHAR(ppa.date_earned, 'DD-MON-YYYY')
,prr_att.run_result_id
,peef.entry_information2 -- FIPS code
,peef.entry_information3 -- Medical Indicator
,paa.assignment_action_id
,pet.element_type_id
FROM pay_element_entry_values_f peev,
pay_input_values_f piv_att,
pay_element_entries_f peef,
pay_run_results prr_att,
pay_run_results prr_pay,
pay_payroll_actions ppa,
pay_assignment_actions paa,
pay_action_interlocks pai,
pay_pre_payments ppp,
pay_input_values_f piv_pay,
pay_run_result_values prrv_att,
pay_run_result_values prrv_pay,
pay_element_types_f pet,
pay_element_types_f pet_calc,
pay_element_classifications pec
WHERE ROUND(ppp.VALUE ,2) = :check_amount
AND ppp.pre_payment_id = :pre_payment_id
AND ppp.assignment_action_id = pai.locking_action_id
AND pai.locked_action_id = paa.assignment_action_id
AND ppa.payroll_action_id = paa.payroll_action_id
AND ppa.action_type IN ('R', 'Q')
AND ((paa.source_action_id IS NOT NULL AND ppa.run_type_id IS NOT NULL) OR
(paa.source_action_id IS NULL AND ppa.run_type_id IS NULL))
AND ppp.personal_payment_method_id = peef.personal_payment_method_id
AND peef.assignment_id = paa.assignment_id
AND ppa.date_earned BETWEEN peev.effective_start_date
AND peev.effective_end_date
AND ppa.date_earned BETWEEN peef.effective_start_date
AND peef.effective_end_date
AND piv_att.input_value_id = peev.input_value_id
AND UPPER(piv_att.NAME) = 'ATTACHMENT NUMBER'
AND ppa.effective_Date BETWEEN piv_att.effective_start_date
AND piv_att.effective_end_date
AND piv_att.input_value_id = prrv_att.input_value_id
AND prrv_att.result_value = peev.screen_entry_value
AND prrv_att.run_result_id = prr_att.run_result_id
AND paa.assignment_Action_id = prr_att.assignment_Action_id
AND prr_att.element_type_id = peef.element_type_id
AND peef.element_type_id = pet.element_type_id
AND pet.classification_id = pec.classification_id
AND pec.classification_name = 'Involuntary Deductions'
AND pec.legislation_code = 'US'
AND pec.business_group_id IS NULL
AND fnd_number.canonical_to_number(pet.element_information5) = pet_calc.element_type_id
AND pet_calc.element_name LIKE pet.element_name || '%Calculator'
AND pet_calc.element_type_id = piv_pay.element_type_id
AND NVL(ppa.date_earned, ppa.effective_date) BETWEEN piv_pay.effective_start_date AND piv_pay.effective_end_date
AND piv_pay.input_value_id = prrv_pay.input_value_id
AND UPPER(piv_pay.NAME) = 'PAY VALUE'
AND fnd_number.number_to_canonical(ppp.VALUE) = prrv_pay.result_value
AND prr_pay.run_result_id = prrv_pay.run_result_id
AND prr_pay.assignment_action_id = paa.assignment_action_id
AND prr_pay.element_type_id = pet_calc.element_type_id
ORDER BY prr_att.run_result_id;
Somehow, Oracle has fixed this in the rdf but I have not been able to figure out how exactly. This is a function call in the report but they are passing the check amount and the prepayment_id. Regardless of which pre_payment_id is sent in, 2 rows are returned.
If anyone has any thoughts, please let me know. This is the final tweak that is stopping our go-live with this.
Thanks, RLIn bug 6779249 it states that third party checks are not supported for XML...
But, as we have bought into the push to convert we now are down to payroll checks and third party checks to get our company off of Optio once and for all...
Other than attempting to write a complete custom process from scratch (just to throw out next year when we upgrade to 12) does anyone have any solutions to getting 3rd party checks to print with BIP in Oracle Applications (11.5.10)?
Scott -
one of the Field in my Report is F_Payment_date1 the source column its referring is payment_date which is in the table ..
The Query for this Group is
select
empl.action_context_id
, empl.full_name
, ppf.last_name
, ppf.first_name
, empl.national_identifier
,hou.INTERNAL_ADDRESS_LINE
, empl.employee_number
, empl.organization_name
, substr(empl.employee_address1,1,40) emp_add_ln1
, substr(empl.employee_address2,1,40) emp_add_ln2
, substr(empl.employee_address3,1,40) emp_add_ln3
, rtrim(substr(empl.employee_city,1,26))||' '
||empl.employee_state||' '
||empl.employee_zip_code emp_add_ln4
, empl.beginning_date period_start_date
, empl.ending_date period_end_date
, empl.payment_date
, LTRIM(RTRIM(TO_CHAR(empl.pay_rate,'99999999.00'))) base_salary
, empl.pay_basis salary_basis
, empl.employee_state resident_state
, empl.location_name
, paf.work_At_home
, empl.assignment_id
, :org_payment_method_id org_payment_id
, substr(empl.employer_address1,1,40) emplr_add_ln1
, substr(empl.employer_address2,1,40) emplr_add_ln2
, rtrim(substr(empl.employer_city,1,26))||' '
||empl.employer_state||' '
||empl.employer_zip_code emplr_add_ln3
from PAY_EMPLOYEE_ACTION_INFO_V empl
,pay_assignment_actions paa
,per_assignments_f paf
,per_people_f ppf
,hr_all_organization_units hou
where paa.assignment_action_id = empl.action_context_id
and empl.assignment_id = paa.assignment_id
and paf.assignment_id = paa.assignment_id
and empl.effective_date between hou.DATE_FROM and nvl(hou.date_to,empl.effective_date)
and paf.ORGANIZATION_ID = hou.ORGANIZATION_ID
and empl.employee_number = ppf.employee_number
and empl.effective_date between paf.effective_start_date
and paf.effective_end_date
and empl.effective_date between ppf.effective_start_date
and ppf.effective_end_date
even if the payment date expires in the report it is still showing payment_date
i want to include the logic like this
if overrideing then
v_date:=: PPA_OVERRIDING_DD_DATE ( Ihope this does not work as they are in dfferent group i need to write sql )
else
v_date:=:PAYMENT_DATE;
return(v_date);
PPA_OVERRIDING is in the table pay_assignment_actions
The Query for the other group where the PPA_OVERRIDING_DD_DATE
is
SELECT decode(ppa.action_type,'H',to_number(paa.serial_number)
,paa.action_sequence) orderby
, paa.assignment_action_id asg_actid, to_number(paa.serial_number) xfr_action
, ppa.action_type
, ppa.org_payment_method_id
, paa.assignment_id paa_assignment_id
, ppa.effective_date ppa_effective_date
, ppa.business_group_id business_group_id
, ppa.payroll_action_id ppa_payroll_action_id
, ppa.payroll_id ppa_payroll_id
, ppa.consolidation_set_id ppa_consolidation_set_id
, ppa.date_earned ppa_date_earned
, ppa.overriding_dd_date ppa_overriding_dd_date
FROM pay_assignment_actions paa
,pay_payroll_actions ppa
WHERE paa.payroll_action_id = :pactid
AND paa.chunk_number = :chnkno
AND ppa.payroll_action_id = paa.payroll_action_id
ORDER BY 1
can anyone gimme sugestion how to approach this ..i want to display
PPA_OVERRIDING_DD_DATE column values where ever
payment date is expired .
Thanks in Advance,
Dev Kishore.TIf i understand your question well, you could try this:
In the querygroup (datamodel) of your first query you create a formula column : CF_payment_or_overriding_date
In the PL/SQL Formula of your formula column you add code like this:
function CF_payment_or_overriding_dateF return DATE
is
ld_return DATE;
begin
IF 'overriding'
THEN
use your criteria to retrieve the overriding_dd_date from paa via select into or a cursor construction
ld_return := ppa_overriding_dd_date;
ELSE
-- empl.payment_date is fine do not replace
ld_return := :payment_date;
END IF;
RETURN (ld_return);
end;
And in your layout section,
for your field F_Payment_date1 set your source column to
your formula column CF_payment_or_overriding_date
Hope this helps,
Greetings,
Emiel -
How to pass a date parameter(from a procedure IN) to a API
Hi,
CREATE OR REPLACE package body xxal_basic_sal_increment_pkg1 as
procedure emp_pro_inc1(ERRBUF VARCHAR2,RETCODE OUT NUMBER,
p_business_group_id_enter in number,p_change_date in varchar2) is
CURSOR STAFF IS
SELECT pp.ASSIGNMENT_ID
,peo.EMPLOYEE_NUMBER employee_no
,pp.OBJECT_VERSION_NUMBER
,pp.PAY_PROPOSAL_ID
,pp.PROPOSED_SALARY_N basic_salary
,pp.PROPOSAL_REASON
,pp.change_date
,pp.BUSINESS_GROUP_ID
,pg.name
,pr.PERFORMANCE_RATING,
'' v_effective_start_date,
'' v_effective_end_date
FROM per_all_people_f peo,
per_all_assignments_f pa,
per_pay_proposals pp,
per_grades_tl pg,
per_performance_reviews_v pr
where pa.person_id = peo.PERSON_ID
and pa.ASSIGNMENT_ID = pp.ASSIGNMENT_ID
and peo.PERSON_ID=pr.PERSON_ID
and pg.GRADE_ID=pa.GRADE_ID
--and peo.EMPLOYEE_NUMBER=STAFF_VAR.employee_no
and sysdate between peo.EFFECTIVE_START_DATE and peo.EFFECTIVE_END_DATE
and sysdate between pa.EFFECTIVE_START_DATE and pa.EFFECTIVE_END_DATE
and peo.BUSINESS_GROUP_ID = p_business_group_id_enter
and pp.change_DATE = (select max(change_DATE) from per_pay_proposals temp
where ASSIGNMENT_ID =pp.ASSIGNMENT_ID);
--L_BUSINESS_GROUP_ID NUMBER:=5128;
L_ASSIGNMENT_ID NUMBER;
L_PAY_PROPOSAL_ID NUMBER;
L_OBJECT_VERSION_NUMBER NUMBER;
L_pyp_proposed_sal_warning BOOLEAN;
L_additional_comp_warning boolean;
l_person_id number;
L_COMMON boolean;
L_ELEMENT_ENTRY_ID NUMBER;
TEMP NUMBER;
L_EFFECTIVE_START_DATE DATE;
L_MULTI VARCHAR2(30):='N';
L_APPROVED VARCHAR2(30):='Y';
L_CHANGE_DATE DATE:=TO_DATE('31-JAN-2008','DD-MON-YYYY');
BEGIN
v_disp_output:='EMPLOYEE_NUMBER'||','||
'BASIC'||','||
'EFF START DATE'||','||
'EFF END DATE';
fnd_file.put_line(FND_FILE.output,v_disp_output);
FOR STAFF_VAR IN STAFF LOOP
L_ELEMENT_ENTRY_ID:=null;
begin
select assign.assignment_id,assign.effective_start_date into
l_assignment_id,l_change_date_new
from per_people_f peo,per_assignments_f assign
where peo.person_id=assign.person_id
and sysdate between peo.effective_start_date and peo.effective_end_date
and sysdate between assign.effective_start_date and assign.effective_end_date
and current_employee_flag='Y'
and primary_flag='Y'
and peo.business_group_id=l_business_group_id
and peo.employee_number=staff_var.employee_no;
L_CHANGE_DATE_new:=L_CHANGE_DATE;
--L_CHANGE_DATE_new:=STAFF_VAR.v_effective_start_date;
begin
HR_MAINTAIN_PROPOSAL_API.INSERT_SALARY_PROPOSAL
P_PAY_PROPOSAL_ID=>L_PAY_PROPOSAL_ID
,P_ASSIGNMENT_ID=>staff_var.ASSIGNMENT_ID
,P_BUSINESS_GROUP_ID=>staff_var.BUSINESS_GROUP_ID
,P_CHANGE_DATE=>L_CHANGE_DATE_new
,P_PROPOSED_SALARY_N=>STAFF_VAR.basic_salary
,P_OBJECT_VERSION_NUMBER=>STAFF_VAR.OBJECT_VERSION_NUMBER
,p_multiple_components=>L_MULTI
,p_approved=>L_APPROVED
,P_VALIDATE=>false
,p_element_entry_id =>L_ELEMENT_ENTRY_ID
,P_INV_NEXT_SAL_DATE_WARNING=>l_common
,P_PROPOSED_SALARY_WARNING=>L_COMMON
,P_APPROVED_WARNING=>L_COMMON
,P_PAYROLL_WARNING=>L_COMMON
in the above code the variable L_CHANGE_DATE DATE is hard coded .
but we need to supply this variable value as dynamic, means (p_change date--procedure IN Parameter )
i tried like below ,
CREATE OR REPLACE package body xxal_basic_sal_increment_pkg1 as
procedure emp_pro_inc1(ERRBUF VARCHAR2,RETCODE OUT NUMBER,
p_business_group_id_enter in number,p_change_date in varchar2) is
CURSOR STAFF IS
SELECT pp.ASSIGNMENT_ID
,peo.EMPLOYEE_NUMBER employee_no
,pp.OBJECT_VERSION_NUMBER
,pp.PAY_PROPOSAL_ID
,pp.PROPOSED_SALARY_N basic_salary
,pp.PROPOSAL_REASON
,pp.change_date
,pp.BUSINESS_GROUP_ID
,pg.name
,pr.PERFORMANCE_RATING,
'' v_effective_start_date,
'' v_effective_end_date
FROM per_all_people_f peo,
per_all_assignments_f pa,
per_pay_proposals pp,
per_grades_tl pg,
per_performance_reviews_v pr
where pa.person_id = peo.PERSON_ID
and pa.ASSIGNMENT_ID = pp.ASSIGNMENT_ID
and peo.PERSON_ID=pr.PERSON_ID
and pg.GRADE_ID=pa.GRADE_ID
--and peo.EMPLOYEE_NUMBER=STAFF_VAR.employee_no
and sysdate between peo.EFFECTIVE_START_DATE and peo.EFFECTIVE_END_DATE
and sysdate between pa.EFFECTIVE_START_DATE and pa.EFFECTIVE_END_DATE
and peo.BUSINESS_GROUP_ID = p_business_group_id_enter
and pp.change_DATE = (select max(change_DATE) from per_pay_proposals temp
where ASSIGNMENT_ID =pp.ASSIGNMENT_ID);
--L_BUSINESS_GROUP_ID NUMBER:=5128;
L_ASSIGNMENT_ID NUMBER;
L_PAY_PROPOSAL_ID NUMBER;
L_OBJECT_VERSION_NUMBER NUMBER;
L_pyp_proposed_sal_warning BOOLEAN;
L_additional_comp_warning boolean;
l_person_id number;
L_COMMON boolean;
L_ELEMENT_ENTRY_ID NUMBER;
TEMP NUMBER;
L_EFFECTIVE_START_DATE DATE;
L_MULTI VARCHAR2(30):='N';
L_APPROVED VARCHAR2(30):='Y';
L_CHANGE_DATE DATE:=TO_DATE(p_change_date,'DD-MON-YYYY');
BEGIN
v_disp_output:='EMPLOYEE_NUMBER'||','||
'BASIC'||','||
'EFF START DATE'||','||
'EFF END DATE';
fnd_file.put_line(FND_FILE.output,v_disp_output);
FOR STAFF_VAR IN STAFF LOOP
L_ELEMENT_ENTRY_ID:=null;
begin
select assign.assignment_id,assign.effective_start_date into
l_assignment_id,l_change_date_new
from per_people_f peo,per_assignments_f assign
where peo.person_id=assign.person_id
and sysdate between peo.effective_start_date and peo.effective_end_date
and sysdate between assign.effective_start_date and assign.effective_end_date
and current_employee_flag='Y'
and primary_flag='Y'
and peo.business_group_id=l_business_group_id
and peo.employee_number=staff_var.employee_no;
L_CHANGE_DATE_new:=L_CHANGE_DATE;
--L_CHANGE_DATE_new:=STAFF_VAR.v_effective_start_date;
begin
HR_MAINTAIN_PROPOSAL_API.INSERT_SALARY_PROPOSAL
P_PAY_PROPOSAL_ID=>L_PAY_PROPOSAL_ID
,P_ASSIGNMENT_ID=>staff_var.ASSIGNMENT_ID
,P_BUSINESS_GROUP_ID=>staff_var.BUSINESS_GROUP_ID
,P_CHANGE_DATE=>L_CHANGE_DATE_new
,P_PROPOSED_SALARY_N=>STAFF_VAR.basic_salary
,P_OBJECT_VERSION_NUMBER=>STAFF_VAR.OBJECT_VERSION_NUMBER
,p_multiple_components=>L_MULTI
,p_approved=>L_APPROVED
,P_VALIDATE=>false
,p_element_entry_id =>L_ELEMENT_ENTRY_ID
,P_INV_NEXT_SAL_DATE_WARNING=>l_common
,P_PROPOSED_SALARY_WARNING=>L_COMMON
,P_APPROVED_WARNING=>L_COMMON
,P_PAYROLL_WARNING=>L_COMMON
but we are getting the error Cause: FDPSTP failed due to ORA-01839: date not valid for month specified
ORA-06512: at "APPS.XXAL_BASIC_SAL_INCREMENT_PKG1", line 45
ORA-06512: at line 1
we tried the solution available in the metalink still its giving error ..
pl help us to solve this issue ...
how should we pass the date parameter while we run the concurrent program(we used date value set).
also we tried with some other value set also ..
Regards,
kumardear,
I have the following code to create proposal, but the API create salary proposal for all record s and does not create entry for all records it just creates for the first record
any advice
the code ....
/* Formatted on 2007/08/29 16:20 (Formatter Plus v4.8.8) */
----------------------- P R O P O S A L -------------------------
DECLARE
l_rows_processed NUMBER := 0;
l_commit_point NUMBER := 500;
l_business_group_id NUMBER
:= fnd_profile.VALUE ('PER_BUSINESS_GROUP_ID');
l_proposal_salry NUMBER;
l_approved CHAR (1);
l_rowid VARCHAR2 (30);
l_errmessage VARCHAR2 (400);
l_entry_indecator NUMBER;
l_assignment_id NUMBER;
p_ctr_object_version_number NUMBER;
-- Out Parameters --
l_element_entry_id NUMBER;
p_element_entry_id NUMBER;
l_ctr_object_version_number NUMBER;
l_pay_proposal_id NUMBER;
l_inv_next_sal_date_warning BOOLEAN;
l_proposed_salary_warning BOOLEAN;
l_approved_warning BOOLEAN;
l_payroll_warning BOOLEAN;
CURSOR crs_dc_mn
IS
SELECT xdp.ROWID, xdp.assignment_id, xdp.change_date,
xdp.proposal_reason, xdp.proposed_salary,
xdp.assignment_number, xdp.employee_number, xdp.person_id,
xdp.new_asg_id
FROM apps.xx_dc_proposal xdp
WHERE xdp.assignment_id <> -1
AND xdp.processed = 'N'
AND xdp.change_date =
(SELECT MIN (xdc.change_date)
FROM xx_dc_proposal xdc
WHERE xdc.assignment_id = xdp.assignment_id
AND xdc.processed = 'N')
ORDER BY assignment_id, change_date ASC;
pro_rcrd crs_dc_mn%ROWTYPE;
CURSOR crs_dc_proposal1 (p_asg_id IN NUMBER)
IS
SELECT xdp.ROWID, xdp.assignment_id, xdp.change_date,
xdp.proposal_reason, xdp.proposed_salary,
xdp.assignment_number, xdp.employee_number, xdp.person_id,
xdp.new_asg_id
FROM apps.xx_dc_proposal xdp
WHERE xdp.assignment_id <> -1
AND xdp.processed = 'N'
AND xdp.assignment_id = p_asg_id
ORDER BY assignment_id, change_date ASC;
BEGIN
OPEN crs_dc_mn;
FETCH crs_dc_mn
INTO pro_rcrd;
LOOP
BEGIN
hr_maintain_proposal_api.insert_salary_proposal
(p_pay_proposal_id => l_pay_proposal_id,
p_assignment_id => pro_rcrd.assignment_id,
p_business_group_id => l_business_group_id,
p_change_date => pro_rcrd.change_date,
p_comments => NULL,
p_next_sal_review_date => NULL,
p_proposal_reason => NULL,
p_proposed_salary_n => pro_rcrd.proposed_salary,
p_forced_ranking => NULL,
p_performance_review_id => NULL,
p_attribute_category => NULL,
p_attribute1 => NULL,
p_attribute2 => NULL,
p_attribute3 => NULL,
p_attribute4 => NULL,
p_attribute5 => NULL,
p_attribute6 => NULL,
p_attribute7 => NULL,
p_attribute8 => NULL,
p_attribute9 => NULL,
p_attribute10 => NULL,
p_attribute11 => NULL,
p_attribute12 => NULL,
p_attribute13 => NULL,
p_attribute14 => NULL,
p_attribute15 => NULL,
p_attribute16 => NULL,
p_attribute17 => NULL,
p_attribute18 => NULL,
p_attribute19 => NULL,
p_attribute20 => NULL,
p_object_version_number => l_ctr_object_version_number,
p_multiple_components => 'N', -- 918219
p_approved => 'Y',
p_validate => FALSE,
p_element_entry_id => l_element_entry_id,
p_inv_next_sal_date_warning => l_inv_next_sal_date_warning,
p_proposed_salary_warning => l_proposed_salary_warning,
p_approved_warning => l_approved_warning,
p_payroll_warning => l_payroll_warning
UPDATE xx_dc_proposal
SET processed = 'Y'
WHERE ROWID = pro_rcrd.ROWID;
l_rows_processed := l_rows_processed + 1;
IF l_rows_processed = l_commit_point
THEN
COMMIT;
l_rows_processed := 0;
END IF;
EXCEPTION
WHEN OTHERS
THEN
l_errmessage := SQLERRM;
UPDATE xx_dc_proposal
SET err_message = l_errmessage
WHERE ROWID = pro_rcrd.ROWID;
END;
END LOOP;
CLOSE crs_dc_mn;
COMMIT;
END;
.............................. -
Custom Report taking more time to complete Normat
Hi All,
Custom report(Aging Report) in oracle is taking more time to complete Normal.
In one instance, the same report is taking 5 min and the other instance this is taking 40-50 min to complete.
We have enabled the trace and checked the trace file, but all the queries are working fine.
Could you please suggest me regarding this issue.
Thanks in advance!!TKPROF: Release 10.1.0.5.0 - Production on Tue Jun 5 10:49:32 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Sort options: prsela exeela fchela
count = number of times OCI procedure was executed
cpu = cpu time in seconds executing
elapsed = elapsed time in seconds executing
disk = number of physical reads of buffers from disk
query = number of buffers gotten for consistent read
current = number of buffers gotten in current mode (usually for update)
rows = number of rows processed by the fetch or execute call
Error in CREATE TABLE of EXPLAIN PLAN table: APPS.prof$plan_table
ORA-00922: missing or invalid option
parse error offset: 1049
EXPLAIN PLAN option disabled.
SELECT DISTINCT OU.ORGANIZATION_ID , OU.BUSINESS_GROUP_ID
FROM
HR_OPERATING_UNITS OU WHERE OU.SET_OF_BOOKS_ID =:B1
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.05 11 22 0 3
total 3 0.00 0.05 11 22 0 3
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173 (recursive depth: 1)
Rows Row Source Operation
3 HASH UNIQUE (cr=22 pr=11 pw=0 time=52023 us cost=10 size=66 card=1)
3 NESTED LOOPS (cr=22 pr=11 pw=0 time=61722 us)
3 NESTED LOOPS (cr=20 pr=11 pw=0 time=61672 us cost=9 size=66 card=1)
3 NESTED LOOPS (cr=18 pr=11 pw=0 time=61591 us cost=7 size=37 card=1)
3 NESTED LOOPS (cr=16 pr=11 pw=0 time=61531 us cost=7 size=30 card=1)
3 TABLE ACCESS BY INDEX ROWID HR_ORGANIZATION_INFORMATION (cr=11 pr=9 pw=0 time=37751 us cost=6 size=22 card=1)
18 INDEX RANGE SCAN HR_ORGANIZATION_INFORMATIO_FK1 (cr=1 pr=1 pw=0 time=17135 us cost=1 size=0 card=18)(object id 43610)
3 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=5 pr=2 pw=0 time=18820 us cost=1 size=8 card=1)
3 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=2 pr=0 pw=0 time=26 us cost=0 size=0 card=1)(object id 43657)
3 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=2 pr=0 pw=0 time=32 us cost=0 size=7 card=1)(object id 44020)
3 INDEX RANGE SCAN HR_ORGANIZATION_INFORMATIO_FK2 (cr=2 pr=0 pw=0 time=52 us cost=1 size=0 card=1)(object id 330960)
3 TABLE ACCESS BY INDEX ROWID HR_ORGANIZATION_INFORMATION (cr=2 pr=0 pw=0 time=26 us cost=2 size=29 card=1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 11 0.01 0.05
asynch descriptor resize 2 0.00 0.00
INSERT INTO FND_LOG_MESSAGES ( ECID_ID, ECID_SEQ, CALLSTACK, ERRORSTACK,
MODULE, LOG_LEVEL, MESSAGE_TEXT, SESSION_ID, USER_ID, TIMESTAMP,
LOG_SEQUENCE, ENCODED, NODE, NODE_IP_ADDRESS, PROCESS_ID, JVM_ID, THREAD_ID,
AUDSID, DB_INSTANCE, TRANSACTION_CONTEXT_ID )
VALUES
( SYS_CONTEXT('USERENV', 'ECID_ID'), SYS_CONTEXT('USERENV', 'ECID_SEQ'),
:B16 , :B15 , SUBSTRB(:B14 ,1,255), :B13 , SUBSTRB(:B12 , 1, 4000), :B11 ,
NVL(:B10 , -1), SYSDATE, FND_LOG_MESSAGES_S.NEXTVAL, :B9 , SUBSTRB(:B8 ,1,
60), SUBSTRB(:B7 ,1,30), SUBSTRB(:B6 ,1,120), SUBSTRB(:B5 ,1,120),
SUBSTRB(:B4 ,1,120), :B3 , :B2 , :B1 ) RETURNING LOG_SEQUENCE INTO :O0
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 20 0.00 0.03 4 1 304 20
Fetch 0 0.00 0.00 0 0 0 0
total 21 0.00 0.03 4 1 304 20
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173 (recursive depth: 1)
Rows Row Source Operation
1 LOAD TABLE CONVENTIONAL (cr=1 pr=4 pw=0 time=36498 us)
1 SEQUENCE FND_LOG_MESSAGES_S (cr=0 pr=0 pw=0 time=24 us)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 4 0.01 0.03
SELECT MESSAGE_TEXT, MESSAGE_NUMBER, TYPE, FND_LOG_SEVERITY, CATEGORY,
SEVERITY
FROM
FND_NEW_MESSAGES M, FND_APPLICATION A WHERE :B3 = M.MESSAGE_NAME AND :B2 =
M.LANGUAGE_CODE AND :B1 = A.APPLICATION_SHORT_NAME AND M.APPLICATION_ID =
A.APPLICATION_ID
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 2 0.00 0.00 0 0 0 0
Fetch 2 0.00 0.03 4 12 0 2
total 5 0.00 0.03 4 12 0 2
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173 (recursive depth: 1)
Rows Row Source Operation
1 NESTED LOOPS (cr=6 pr=2 pw=0 time=15724 us cost=3 size=134 card=1)
1 TABLE ACCESS BY INDEX ROWID FND_APPLICATION (cr=2 pr=0 pw=0 time=20 us cost=1 size=9 card=1)
1 INDEX UNIQUE SCAN FND_APPLICATION_U3 (cr=1 pr=0 pw=0 time=9 us cost=0 size=0 card=1)(object id 33993)
1 TABLE ACCESS BY INDEX ROWID FND_NEW_MESSAGES (cr=4 pr=2 pw=0 time=15693 us cost=2 size=125 card=1)
1 INDEX UNIQUE SCAN FND_NEW_MESSAGES_PK (cr=3 pr=1 pw=0 time=6386 us cost=1 size=0 card=1)(object id 34367)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 4 0.00 0.03
DELETE FROM MO_GLOB_ORG_ACCESS_TMP
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.02 3 4 4 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.02 3 4 4 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173 (recursive depth: 1)
Rows Row Source Operation
0 DELETE MO_GLOB_ORG_ACCESS_TMP (cr=4 pr=3 pw=0 time=29161 us)
1 TABLE ACCESS FULL MO_GLOB_ORG_ACCESS_TMP (cr=3 pr=2 pw=0 time=18165 us cost=2 size=13 card=1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 3 0.01 0.02
SET TRANSACTION READ ONLY
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.01 0 0 0 0
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.01 0 0 0 0
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.00 0.00
begin Fnd_Concurrent.Init_Request; end;
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 148 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 148 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
log file sync 1 0.01 0.01
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.00 0.00
declare X0rv BOOLEAN; begin X0rv := FND_INSTALLATION.GET(:APPL_ID,
:DEP_APPL_ID, :STATUS, :INDUSTRY); :X0 := sys.diutil.bool_to_int(X0rv);
end;
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 9 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 9 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 8 0.00 0.00
SQL*Net message from client 8 0.00 0.00
begin fnd_global.bless_next_init('FND_PERMIT_0000');
fnd_global.initialize(:session_id, :user_id, :resp_id, :resp_appl_id,
:security_group_id, :site_id, :login_id, :conc_login_id, :prog_appl_id,
:conc_program_id, :conc_request_id, :conc_priority_request, :form_id,
:form_application_id, :conc_process_id, :conc_queue_id, :queue_appl_id,
:server_id); fnd_profile.put('ORG_ID', :org_id);
fnd_profile.put('MFG_ORGANIZATION_ID', :mfg_org_id);
fnd_profile.put('MFG_CHART_OF_ACCOUNTS_ID', :coa);
fnd_profile.put('APPS_MAINTENANCE_MODE', :amm); end;
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 8 0 1
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 8 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 1 0.00 0.00
SQL*Net message from client 1 0.00 0.00
SELECT FPI.STATUS, FPI.INDUSTRY, FPI.PRODUCT_VERSION, FOU.ORACLE_USERNAME,
FPI.TABLESPACE, FPI.INDEX_TABLESPACE, FPI.TEMPORARY_TABLESPACE,
FPI.SIZING_FACTOR
FROM
FND_PRODUCT_INSTALLATIONS FPI, FND_ORACLE_USERID FOU, FND_APPLICATION FA
WHERE FPI.APPLICATION_ID = FA.APPLICATION_ID AND FPI.ORACLE_ID =
FOU.ORACLE_ID AND FA.APPLICATION_SHORT_NAME = :B1
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 2 0.00 0.00 0 7 0 1
total 4 0.00 0.00 0 7 0 1
Misses in library cache during parse: 1
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 173 (recursive depth: 1)
Rows Row Source Operation
1 NESTED LOOPS (cr=7 pr=0 pw=0 time=89 us)
1 NESTED LOOPS (cr=6 pr=0 pw=0 time=93 us cost=4 size=76 card=1)
1 NESTED LOOPS (cr=5 pr=0 pw=0 time=77 us cost=3 size=67 card=1)
1 TABLE ACCESS BY INDEX ROWID FND_APPLICATION (cr=2 pr=0 pw=0 time=19 us cost=1 size=9 card=1)
1 INDEX UNIQUE SCAN FND_APPLICATION_U3 (cr=1 pr=0 pw=0 time=9 us cost=0 size=0 card=1)(object id 33993)
1 TABLE ACCESS BY INDEX ROWID FND_PRODUCT_INSTALLATIONS (cr=3 pr=0 pw=0 time=51 us cost=2 size=58 card=1)
1 INDEX RANGE SCAN FND_PRODUCT_INSTALLATIONS_PK (cr=2 pr=0 pw=0 time=27 us cost=1 size=0 card=1)(object id 22583)
1 INDEX UNIQUE SCAN FND_ORACLE_USERID_U1 (cr=1 pr=0 pw=0 time=7 us cost=0 size=0 card=1)(object id 22597)
1 TABLE ACCESS BY INDEX ROWID FND_ORACLE_USERID (cr=1 pr=0 pw=0 time=7 us cost=1 size=9 card=1)
SELECT P.PID, P.SPID, AUDSID, PROCESS, SUBSTR(USERENV('LANGUAGE'), INSTR(
USERENV('LANGUAGE'), '.') + 1)
FROM
V$SESSION S, V$PROCESS P WHERE P.ADDR = S.PADDR AND S.AUDSID =
USERENV('SESSIONID')
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.00 0.00 0 0 0 1
total 3 0.00 0.00 0 0 0 1
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 173 (recursive depth: 1)
Rows Row Source Operation
1 NESTED LOOPS (cr=0 pr=0 pw=0 time=1883 us cost=1 size=108 card=2)
1 HASH JOIN (cr=0 pr=0 pw=0 time=1869 us cost=1 size=100 card=2)
1 NESTED LOOPS (cr=0 pr=0 pw=0 time=1059 us cost=0 size=58 card=2)
182 FIXED TABLE FULL X$KSLWT (cr=0 pr=0 pw=0 time=285 us cost=0 size=1288 card=161)
1 FIXED TABLE FIXED INDEX X$KSUSE (ind:1) (cr=0 pr=0 pw=0 time=617 us cost=0 size=21 card=1)
181 FIXED TABLE FULL X$KSUPR (cr=0 pr=0 pw=0 time=187 us cost=0 size=10500 card=500)
1 FIXED TABLE FIXED INDEX X$KSLED (ind:2) (cr=0 pr=0 pw=0 time=4 us cost=0 size=4 card=1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
asynch descriptor resize 2 0.00 0.00
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 6 0.00 0.00 0 0 0 0
Execute 6 0.01 0.02 0 165 0 4
Fetch 1 0.00 0.00 0 0 0 1
total 13 0.01 0.02 0 165 0 5
Misses in library cache during parse: 0
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 37 0.00 0.00
SQL*Net message from client 37 1.21 2.19
log file sync 1 0.01 0.01
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 49 0.00 0.00 0 0 0 0
Execute 89 0.01 0.07 7 38 336 24
Fetch 29 0.00 0.09 15 168 0 27
total 167 0.02 0.16 22 206 336 51
Misses in library cache during parse: 3
Misses in library cache during execute: 1
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
asynch descriptor resize 6 0.00 0.00
db file sequential read 22 0.01 0.14
48 user SQL statements in session.
1 internal SQL statements in session.
49 SQL statements in session.
0 statements EXPLAINed in this session.
Trace file compatibility: 10.01.00
Sort options: prsela exeela fchela
1 session in tracefile.
48 user SQL statements in trace file.
1 internal SQL statements in trace file.
49 SQL statements in trace file.
48 unique SQL statements in trace file.
928 lines in trace file.
1338833753 elapsed seconds in trace file. -
Return nothing when run Open Purchase order report(by Buyer)
We implement iPro/PO in Oracle. I finished the PO setup. But now user report that they are not able to generate any output for a particular Buyer when they run the Open Purchase Orders Report(by Buyer) report in the PO module. Even I leave the parameter wide open for the request, it also does not return any information.
Does it relate to the PO setting in system? Anyone can kindly guide me how to check such problem?Hi Kyla,
PO raised by the buyer is 'STANDARD','BLANKET','PLANNED' ? What is the PO Status..? It should be "OPEN"..
Query used in this report is as below :
Query - Company
SELECT gsb.name c_company
, fsp.inventory_organization_id c_organization_id
, gsb.currency_code C_CURRENCY_BASE
, gsb.chart_of_accounts_id STRUCTURE_ACC
, mdv.structure_id STRUCTURE_CAT
, mdv.category_set_id c_category_set_id
, flo1.meaning c_yes
, flo2.meaning c_no
FROM gl_sets_of_books gsb
, financials_system_parameters fsp
, mtl_default_sets_view mdv
, fnd_lookups flo1
, fnd_lookups flo2
WHERE gsb.set_of_books_id = fsp.set_of_books_id
AND mdv.functional_area_id = 2
AND flo1.lookup_type = 'YES_NO'
AND flo1.lookup_code = 'Y'
AND flo2.lookup_type = 'YES_NO'
AND flo2.lookup_code = 'N'
Query - Buyer
SELECT distinct(pov.vendor_name||papf.full_name)
, papf.full_name Buyer
, pov.vendor_name Vendor
, pov.vendor_id
, papf. person_id employee_id
FROM PER_ALL_PEOPLE_F PAPF
, po_vendors pov
, po_headers poh
WHERE poh.agent_id = papf.person_id
AND poh.vendor_id = pov.vendor_id
AND poh.type_lookup_code in ('STANDARD','BLANKET','PLANNED')
AND nvl(poh.closed_code,'OPEN') NOT IN ('FINALLY CLOSED', 'CLOSED')
AND nvl(poh.cancel_flag,'N') = 'N'
/* AND papf.full_name = nvl(:P_buyer,papf.full_name) */
/* Bug#2453022 Commented out the above condition and replaced
it as follows as the user parameter P_Buyer will now return the id and not the name */
AND papf.person_id = nvl(:P_buyer,papf.person_id)
AND pov.vendor_name BETWEEN nvl(:P_vendor_from,pov.vendor_name)
AND nvl(:P_vendor_to,pov.vendor_name)
AND EXISTS (select 'x'
from po_lines pol
, po_line_locations pll
, po_releases por
where pol.po_header_id = poh.po_header_id
and pol.po_line_id = pll.po_line_id
and nvl(pll.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
and nvl(pol.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
and nvl(por.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
and nvl(pll.cancel_flag,'N') = 'N'
and nvl(pol.cancel_flag,'N') = 'N'
and nvl(por.cancel_flag,'N') = 'N'
and pll.shipment_type in ('STANDARD','BLANKET','SCHEDULED')
and pll.po_release_id = por.po_release_id(+))
AND PAPF.EMPLOYEE_NUMBER IS NOT NULL
AND TRUNC(SYSDATE) BETWEEN PAPF.EFFECTIVE_START_DATE AND
PAPF.EFFECTIVE_END_DATE
AND DECODE(HR_SECURITY.VIEW_ALL ,'Y' , 'TRUE',
HR_SECURITY.SHOW_RECORD('PER_ALL_PEOPLE_F',PAPF.PERSON_ID,
PAPF.PERSON_TYPE_ID,
PAPF.EMPLOYEE_NUMBER,PAPF.APPLICANT_NUMBER )) = 'TRUE'
AND DECODE(HR_GENERAL.GET_XBG_PROFILE,'Y', PAPF.BUSINESS_GROUP_ID ,
HR_GENERAL.GET_BUSINESS_GROUP_ID) = PAPF.BUSINESS_GROUP_ID
ORDER BY papf.full_name
, pov.vendor_name
Query - PO
SELECT distinct(pol.line_num) Line
, poh.segment1 ||decode(por.release_num,null,'','-')|| por.release_num PO_Number_Release
, poh.currency_code C_CURRENCY
, plt.line_type Line_Type
, &P_FLEX_CAT C_FLEX_CAT
, &P_FLEX_ITEM C_FLEX_ITEM
, pol.item_revision Rev
, pol.item_description Description
, pol.po_header_id
, pol.po_line_id
, poh.vendor_id
, poh.agent_id
, psp.manual_po_num_type
, poh.segment1
, por.release_num
, nvl(por.po_release_id,-1) release_id
FROM po_line_locations pll
, mtl_system_items msi
, mtl_categories mca
, po_lines pol
, po_releases por
, po_headers poh
, po_line_types plt
, po_system_parameters psp
WHERE poh.po_header_id = pol.po_header_id
AND pol.po_line_id = pll.po_line_id
AND pll.po_release_id = por.po_release_id(+)
AND pol.line_type_id = plt.line_type_id
AND pol.item_id = msi.inventory_item_id(+)
AND msi.organization_id(+) = :c_organization_id
AND pol.category_id = mca.category_id
AND nvl(pll.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pol.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(poh.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(por.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pll.cancel_flag,'N') = 'N'
AND nvl(pol.cancel_flag,'N') = 'N'
AND nvl(poh.cancel_flag,'N') = 'N'
AND nvl(por.cancel_flag,'N') = 'N'
AND pll.shipment_type in ('STANDARD', 'BLANKET', 'SCHEDULED')
ORDER BY decode(psp.manual_po_num_type,'NUMERIC',
--bug#3614924
decode(rtrim(poh.segment1,'0123456789'),NULL,to_number(poh.segment1))
, null)
, decode(psp.manual_po_num_type,'NUMERIC',null, poh.segment1)
, por.release_num
, pol.line_num
Query - Shipment
SELECT pll.shipment_num Shipment
, nvl(pll.promised_date,pll.need_by_date) P_Date
, pol.unit_meas_lookup_code Unit
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', PLL.amount,
'FIXED PRICE', PLL.amount,
PLL.quantity) Ordered
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', PLL.amount_received,
'FIXED PRICE', PLL.amount_received,
PLL.quantity_received) Received
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', PLL.amount_billed,
'FIXED PRICE', PLL.amount_billed,
PLL.quantity_billed) Billed
, pll.price_override Unit_Price
, DECODE (POL.order_type_lookup_code, /* <SERVICES FPJ> */
'RATE', (PLL.amount - NVL(PLL.amount_received, 0))/
DECODE(NVL(PLL.amount, 0), 0, 1, PLL.amount),
'FIXED PRICE', (PLL.amount - NVL(PLL.amount_received, 0))/
DECODE(NVL(PLL.amount, 0), 0, 1, PLL.amount),
(NVL(PLL.quantity, 0) - NVL(PLL.quantity_received, 0))/
DECODE (NVL(PLL.quantity, 0), 0, 1, PLL.quantity)) * 100 Percent_Due
, plc.displayed_field Open_For
, pll.po_line_id
, nvl(pll.po_release_id,-1) join_release_id
FROM po_line_locations pll
, po_lines pol
, po_lookup_codes plc
WHERE pol.po_line_id = pll.po_line_id
AND nvl(pll.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pol.closed_code,'OPEN') not in ('FINALLY CLOSED','CLOSED')
AND nvl(pll.cancel_flag,'N') = 'N'
AND nvl(pol.cancel_flag,'N') = 'N'
AND plc.lookup_type = 'DOCUMENT STATE'
AND plc.lookup_code = nvl(pll.closed_code, 'OPEN')
AND pll.shipment_type in ('STANDARD', 'BLANKET', 'SCHEDULED')
ORDER BY pll.shipment_num -
How to tune this SQL Query?
Hi all expert out there,
I am using Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options.
I have this ERP 11i query took 3-4hours to execute. can anyone help to have a look at the Query so make it more faster? I am already out of my idea of solving this. Kindly helpzzz...
SELECT
/*+ first_rows(1)*/
hou.name "OU" ,-- e.g. Seagate Technology USOP1 ,
mc.description,
oel.ordered_item "Product Part Number",
oeh.order_number "Order Num",
hp.party_name "Bill To Cust Name",
hcsu.location "Ship To Cust Num",
oel.line_number || '.' || oel.shipment_number "Order Line Num",
ft.nls_territory "Ship To Country",
mc.segment7 "designapplication",
ccm.formattedcapacity||'GB' "Capacity",
oel.attribute1 "Order Category",
oel.Subinventory "Subinventory",
to_char(oel.actual_shipment_date,'MM/DD/YYYY DY') "Shipment Date",
NVL(oel.shipped_quantity,0) "Net Units"
FROM
oe_order_headers_all oeh
,oe_order_lines_all oel
,apps.hz_parties hp
,apps.hz_cust_accounts hca
,apps.hz_cust_site_uses_all hcsu
,apps.hz_cust_acct_sites_all hcas
, apps.seaeng_ccfamilymodelinfo ccm
,apps.hz_party_sites hps
,apps.fnd_territories ft
,apps.hz_locations hl
,apps.hr_organization_units hou
,apps.mtl_parameters mp
,apps.mtl_item_categories mic
,apps.mtl_categories_b mc
,apps.fnd_lookup_values flv
WHERE
oeh.header_id = oel.header_id
AND oel.flow_status_code = 'CLOSED'
AND oeh.invoice_to_org_id = hcsu.site_use_id
AND hl.country = ft.territory_code
AND hps.location_id = hl.location_id
AND hcas.party_site_id = hps.party_site_id
AND hcsu.cust_acct_site_id = hcas.cust_acct_site_id
AND hcas.cust_account_id = hca.cust_account_id
AND hca.party_id = hp.party_id
AND oeh.org_id = hou.organization_id
AND oel.ship_from_org_id = mp.organization_id
AND oel.inventory_item_id = mic.inventory_item_id
AND mic.category_id = mc.category_id
AND mic.category_set_id = 4
AND mc.description = ccm.stmodelnumber
AND flv.lookup_code = hca.sales_channel_code
AND flv.lookup_type = 'SALES_CHANNEL'
AND mc.segment7 IN ('PSG','ESG','NSG')
AND flv.lookup_code NOT IN ('RTL','AD-RTL','EU')
AND oel.attribute1 IN ('NB','NBEOL','NBSEA')
AND oel.subinventory IN ('KFGI','AFGI','SFGIF','FGIF')
AND hou.organization_id = 189
AND trunc(oel.actual_shipment_date) between TO_DATE('01-Jan-2009','DD-MON-YYYY') and TO_DATE('31-JAN-2009','DD-MON-YYYY')
regards,
Lygine
Edited by: user8989062 on Jun 7, 2010 6:39 PM5) The TKPROF output for this statement looks like the following:
SELECT
/*+ first_rows(1)*/
hou.name "OU" ,-- e.g. Seagate Technology USOP1 ,
mc.description,
oel.ordered_item "Product Part Number",
oeh.order_number "Order Num",
hp.party_name "Bill To Cust Name",
hcsu.location "Ship To Cust Num",
oel.line_number || '.' || oel.shipment_number "Order Line Num",
ft.nls_territory "Ship To Country",
mc.segment7 "designapplication",
ccm.formattedcapacity||'GB' "Capacity",
oel.attribute1 "Order Category",
oel.Subinventory "Subinventory",
to_char(oel.actual_shipment_date,'MM/DD/YYYY DY') "Shipment Date",
NVL(oel.shipped_quantity,0) "Net Units"
FROM
oe_order_headers_all oeh
,oe_order_lines_all oel
,apps.hz_parties hp
,apps.hz_cust_accounts hca
,apps.hz_cust_site_uses_all hcsu
,apps.hz_cust_acct_sites_all hcas
, apps.seaeng_ccfamilymodelinfo ccm
,apps.hz_party_sites hps
,apps.fnd_territories ft
,apps.hz_locations hl
,apps.hr_organization_units hou
,apps.mtl_parameters mp
,apps.mtl_item_categories mic
,apps.mtl_categories_b mc
,apps.fnd_lookup_values flv
WHERE
oeh.header_id = oel.header_id
AND oel.flow_status_code = 'CLOSED'
AND oeh.invoice_to_org_id = hcsu.site_use_id
AND hl.country = ft.territory_code
AND hps.location_id = hl.location_id
AND hcas.party_site_id = hps.party_site_id
AND hcsu.cust_acct_site_id = hcas.cust_acct_site_id
AND hcas.cust_account_id = hca.cust_account_id
AND hca.party_id = hp.party_id
AND oeh.org_id = hou.organization_id
AND oel.ship_from_org_id = mp.organization_id
AND oel.inventory_item_id = mic.inventory_item_id
AND mic.category_id = mc.category_id
AND mic.category_set_id = 4
AND mc.description = ccm.stmodelnumber
AND flv.lookup_code = hca.sales_channel_code
AND flv.lookup_type = 'SALES_CHANNEL'
AND mc.segment7 IN ('PSG','ESG','NSG')
AND flv.lookup_code NOT IN ('RTL','AD-RTL','EU')
AND oel.attribute1 IN ('NB','NBEOL','NBSEA')
AND oel.subinventory IN ('KFGI','AFGI','SFGIF','FGIF')
AND hou.organization_id = 189
AND trunc(oel.actual_shipment_date) between TO_DATE('01-Jan-2009','DD-MON-YYYY') and TO_DATE('31-JAN-2009','DD-MON-YYYY')
call count cpu elapsed disk query current rows
Parse 1 0.79 0.79 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 7 22.23 240.85 19781 536082 0 592
total 9 23.02 241.64 19781 536082 0 592
Misses in library cache during parse: 1
Optimizer mode: FIRST_ROWS
Parsing user id: 173
Rows Row Source Operation
592 NESTED LOOPS (cr=536082 pr=19781 pw=0 time=240822989 us)
592 NESTED LOOPS (cr=534885 pr=19776 pw=0 time=239960969 us)
592 NESTED LOOPS (cr=533688 pr=19776 pw=0 time=239902332 us)
594 NESTED LOOPS (cr=532493 pr=19776 pw=0 time=239811721 us)
594 NESTED LOOPS (cr=531892 pr=19776 pw=0 time=239794703 us)
594 NESTED LOOPS (cr=530693 pr=19772 pw=0 time=239325284 us)
594 NESTED LOOPS (cr=529498 pr=19770 pw=0 time=239152940 us)
594 NESTED LOOPS (cr=527709 pr=19766 pw=0 time=236850676 us)
594 NESTED LOOPS (cr=525920 pr=19764 pw=0 time=235640068 us)
2990 NESTED LOOPS (cr=516943 pr=19688 pw=0 time=195144282 us)
2990 NESTED LOOPS (cr=516936 pr=19688 pw=0 time=195120297 us)
2990 NESTED LOOPS (cr=510806 pr=19682 pw=0 time=194678671 us)
3000 HASH JOIN (cr=504799 pr=19669 pw=0 time=193829763 us)
3000 NESTED LOOPS (cr=472280 pr=360 pw=0 time=49218087 us)
1 NESTED LOOPS (cr=1029 pr=34 pw=0 time=1745829 us)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS_TL (cr=424 pr=25 pw=0 time=1361442 us)
1 INDEX UNIQUE SCAN HR_ALL_ORGANIZATION_UNTS_TL_PK (cr=423 pr=25 pw=0 time=1361397 us)(object id 44637)
1 TABLE ACCESS BY INDEX ROWID HR_ALL_ORGANIZATION_UNITS (cr=605 pr=9 pw=0 time=384370 us)
1 INDEX UNIQUE SCAN HR_ORGANIZATION_UNITS_PK (cr=1 pr=0 pw=0 time=27 us)(object id 43498)
3000 TABLE ACCESS BY INDEX ROWID OE_ORDER_LINES_ALL (cr=471251 pr=326 pw=0 time=47466249 us)
156922 INDEX RANGE SCAN OE_ORDER_LINES_N20 (cr=420 pr=7 pw=0 time=787919 us)(object id 37005064)
263469 TABLE ACCESS FULL MTL_ITEM_CATEGORIES (cr=32519 pr=19309 pw=0 time=144242743 us)
2990 TABLE ACCESS BY INDEX ROWID MTL_CATEGORIES_B (cr=6007 pr=13 pw=0 time=843569 us)
3000 INDEX UNIQUE SCAN MTL_CATEGORIES_B_U1 (cr=3007 pr=2 pw=0 time=162636 us)(object id 37199)
2990 TABLE ACCESS BY INDEX ROWID SEAENG_CCFAMILYMODELINFO (cr=6130 pr=6 pw=0 time=437784 us)
2990 INDEX UNIQUE SCAN SEAENG_CCFAMILYMODELINFO_U1 (cr=2997 pr=0 pw=0 time=52872 us)(object id 35838918)
2990 INDEX UNIQUE SCAN MTL_PARAMETERS_U1 (cr=7 pr=0 pw=0 time=16332 us)(object id 37657)
594 TABLE ACCESS BY INDEX ROWID OE_ORDER_HEADERS_ALL (cr=8977 pr=76 pw=0 time=40491633 us)
2990 INDEX UNIQUE SCAN OE_ORDER_HEADERS_U1 (cr=5987 pr=45 pw=0 time=2504442 us)(object id 41952)
594 TABLE ACCESS BY INDEX ROWID HZ_CUST_SITE_USES_ALL (cr=1789 pr=2 pw=0 time=1208576 us)
594 INDEX UNIQUE SCAN HZ_CUST_SITE_USES_U1 (cr=1195 pr=1 pw=0 time=105934 us)(object id 25124976)
594 TABLE ACCESS BY INDEX ROWID HZ_CUST_ACCT_SITES_ALL (cr=1789 pr=4 pw=0 time=2300224 us)
594 INDEX UNIQUE SCAN HZ_CUST_ACCT_SITES_U1 (cr=1195 pr=2 pw=0 time=152238 us)(object id 25124996)
594 TABLE ACCESS BY INDEX ROWID HZ_PARTY_SITES (cr=1195 pr=2 pw=0 time=170875 us)
594 INDEX UNIQUE SCAN HZ_PARTY_SITES_U1 (cr=601 pr=1 pw=0 time=104550 us)(object id 25124993)
594 TABLE ACCESS BY INDEX ROWID HZ_LOCATIONS (cr=1199 pr=4 pw=0 time=467329 us)
594 INDEX UNIQUE SCAN HZ_LOCATIONS_U1 (cr=601 pr=0 pw=0 time=57749 us)(object id 25124992)
594 TABLE ACCESS BY INDEX ROWID FND_TERRITORIES (cr=601 pr=0 pw=0 time=15562 us)
594 INDEX UNIQUE SCAN FND_TERRITORIES_U1 (cr=7 pr=0 pw=0 time=6492 us)(object id 33083)
592 TABLE ACCESS BY INDEX ROWID HZ_CUST_ACCOUNTS (cr=1195 pr=0 pw=0 time=88925 us)
594 INDEX UNIQUE SCAN HZ_CUST_ACCOUNTS_U1 (cr=601 pr=0 pw=0 time=27607 us)(object id 81600)
592 INDEX RANGE SCAN FND_LOOKUP_VALUES_U1 (cr=1197 pr=0 pw=0 time=56714 us)(object id 32878)
592 TABLE ACCESS BY INDEX ROWID HZ_PARTIES (cr=1197 pr=5 pw=0 time=860140 us)
592 INDEX UNIQUE SCAN HZ_PARTIES_U1 (cr=599 pr=0 pw=0 time=51136 us)(object id 25126074)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 7 0.00 0.00
row cache lock 1 0.00 0.00
gc current block 2-way 24112 0.00 19.28
gc cr grant 2-way 406 0.00 0.19
db file sequential read 441 0.09 14.11
gc cr block 2-way 284 0.00 0.23
gc cr block busy 147 0.19 9.59
gc current block congested 2 0.00 0.00
gc cr multi block request 13079 0.00 3.98
SQL*Net message from client 7 0.27 1.87
gc cr failure 39 0.00 0.02
cr request retry 39 0.98 38.27
SQL*Net more data to client 12 0.00 0.00
db file scattered read 2446 0.13 132.58
gc cr disk read 5 0.00 0.00
********************************************************************************6) The DBMS_XPLAN.DISPLAY_CURSOR output:
SQL> select * from table(dbms_xplan.display_cursor(null, null, 'ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID b8pfhfxscqn1m, child number 0
SELECT /*+ gather_plan_statistics */ hou.name "OU" ,-- e.g. Seagate Technology USOP1 , mc.descript
oeh.order_number "Order Num", hp.party_name "Bill To Cust Name", hcsu.location "Ship To Cust Num",
Num", ft.nls_territory "Ship To Country", mc.segment7 "designapplication", ccm.formattedcapacity
oel.Subinventory "Subinventory", to_char(oel.actual_shipment_date,'MM/DD/YYYY DY') "Shipment Date",
oe_order_headers_all oeh ,oe_order_lines_all oel ,apps.hz_parties hp ,apps.hz_cust
,apps.hz_cust_acct_sites_all hcas , apps.seaeng_ccfamilymodelinfo ccm ,apps.hz_party_sites hps
,apps.hr_organization_units hou ,apps.mtl_paramete
Plan hash value: 414863479
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads | O
| 1 | NESTED LOOPS | | 1 | 1 | 592 |00:02:25.13 | 535K| 57267 | |
| 2 | NESTED LOOPS | | 1 | 1 | 592 |00:02:24.22 | 533K| 57185 |
| 3 | NESTED LOOPS | | 1 | 1 | 592 |00:02:24.15 | 532K| 57183 |
| 4 | NESTED LOOPS | | 1 | 1 | 594 |00:02:24.00 | 531K| 57171 |
| 5 | NESTED LOOPS | | 1 | 1 | 594 |00:02:23.98 | 530K| 57170 |
| 6 | NESTED LOOPS | | 1 | 1 | 594 |00:02:23.49 | 529K| 57129 |
| 7 | NESTED LOOPS | | 1 | 1 | 594 |00:02:23.08 | 528K| 57096 |
| 8 | NESTED LOOPS | | 1 | 1 | 594 |00:02:22.51 | 526K| 57031 | |
| 9 | NESTED LOOPS | | 1 | 1 | 594 |00:02:21.79 | 524K| 56968 | |
| 10 | NESTED LOOPS | | 1 | 1 | 2990 |00:02:09.65 | 515K| 55703 |
| 11 | NESTED LOOPS | | 1 | 1 | 2990 |00:02:09.62 | 515K| 55703 |
| 12 | NESTED LOOPS | | 1 | 1 | 2990 |00:02:08.47 | 509K| 55599 |
|* 13 | HASH JOIN | | 1 | 2 | 3000 |00:02:07.88 | 503K| 55516 | 974K
| 14 | NESTED LOOPS | | 1 | 2 | 3000 |00:01:39.07 | 471K| 23025 |
| 15 | NESTED LOOPS | | 1 | 1 | 1 |00:00:00.01 | 4 | 0 |
| 16 | TABLE ACCESS BY INDEX ROWID| HR_ALL_ORGANIZATION_UNITS_TL | 1 | 1 | 1 |00:00
|* 17 | INDEX UNIQUE SCAN | HR_ALL_ORGANIZATION_UNTS_TL_PK | 1 | 1 | 1 |00:00:00.0
|* 18 | TABLE ACCESS BY INDEX ROWID| HR_ALL_ORGANIZATION_UNITS | 1 | 1 | 1 |00:00:
|* 19 | INDEX UNIQUE SCAN | HR_ORGANIZATION_UNITS_PK | 1 | 1 | 1 |00:00:00.01
|* 20 | TABLE ACCESS BY INDEX ROWID | OE_ORDER_LINES_ALL | 1 | 2 | 3000 |00:01
|* 21 | INDEX RANGE SCAN | OE_ORDER_LINES_N20 | 1 | 47575 | 156K|00:00:01.76 | 420
|* 22 | TABLE ACCESS FULL | MTL_ITEM_CATEGORIES | 1 | 96977 | 263K|00:00:28.49
|* 23 | TABLE ACCESS BY INDEX ROWID | MTL_CATEGORIES_B | 3000 | 1 | 2990 |00:00:0
|* 24 | INDEX UNIQUE SCAN | MTL_CATEGORIES_B_U1 | 3000 | 1 | 3000 |00:00:00.21
| 25 | TABLE ACCESS BY INDEX ROWID | SEAENG_CCFAMILYMODELINFO | 2990 | 1 | 2990 |
|* 26 | INDEX UNIQUE SCAN | SEAENG_CCFAMILYMODELINFO_U1 | 2990 | 1 | 2990 |00:00:
|* 27 | INDEX UNIQUE SCAN | MTL_PARAMETERS_U1 | 2990 | 1 | 2990 |00:00:00.02 |
|* 28 | TABLE ACCESS BY INDEX ROWID | OE_ORDER_HEADERS_ALL | 2990 | 1 | 594 |00:00:
|* 29 | INDEX UNIQUE SCAN | OE_ORDER_HEADERS_U1 | 2990 | 1 | 2990 |00:00:04.29 |
| 30 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_SITE_USES_ALL | 594 | 1 | 594 |00:00:
|* 31 | INDEX UNIQUE SCAN | HZ_CUST_SITE_USES_U1 | 594 | 1 | 594 |00:00:00.31 |
| 32 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_ACCT_SITES_ALL | 594 | 1 | 594 |00:00:
|* 33 | INDEX UNIQUE SCAN | HZ_CUST_ACCT_SITES_U1 | 594 | 1 | 594 |00:00:00.23 |
| 34 | TABLE ACCESS BY INDEX ROWID | HZ_PARTY_SITES | 594 | 1 | 594 |00:00:0
|* 35 | INDEX UNIQUE SCAN | HZ_PARTY_SITES_U1 | 594 | 1 | 594 |00:00:00.17 | 601
| 36 | TABLE ACCESS BY INDEX ROWID | HZ_LOCATIONS | 594 | 1 | 594 |00:00:00.4
|* 37 | INDEX UNIQUE SCAN | HZ_LOCATIONS_U1 | 594 | 1 | 594 |00:00:00.17 |
| 38 | TABLE ACCESS BY INDEX ROWID | FND_TERRITORIES | 594 | 1 | 594 |00:00:00
|* 39 | INDEX UNIQUE SCAN | FND_TERRITORIES_U1 | 594 | 1 | 594 |00:00:00.02
|* 40 | TABLE ACCESS BY INDEX ROWID | HZ_CUST_ACCOUNTS | 594 | 1 | 592 |00:00:0
|* 41 | INDEX UNIQUE SCAN | HZ_CUST_ACCOUNTS_U1 | 594 | 1 | 594 |00:00:00.04 |
|* 42 | INDEX RANGE SCAN | FND_LOOKUP_VALUES_U1 | 592 | 1 | 592 |00:00:00.06 |
| 43 | TABLE ACCESS BY INDEX ROWID | HZ_PARTIES | 592 | 1 | 592 |00:00:00.91 |
|* 44 | INDEX UNIQUE SCAN | HZ_PARTIES_U1 | 592 | 1 | 592 |00:00:00.40 | 599
Predicate Information (identified by operation id):
13 - access("OEL"."INVENTORY_ITEM_ID"="MIC"."INVENTORY_ITEM_ID")
17 - access("HAOTL"."ORGANIZATION_ID"=189 AND "HAOTL"."LANGUAGE"=USERENV('LANG'))
filter(DECODE("HR_SECURITY"."VIEW_ALL"(),'Y','TRUE',"HR_SECURITY"."SHOW_RECORD"('HR_ALL_ORGAN
18 - filter("HAO"."BUSINESS_GROUP_ID"=DECODE("HR_GENERAL"."GET_XBG_PROFILE"(),'Y',"HAO"."BUSINESS_
19 - access("HAO"."ORGANIZATION_ID"=189)
20 - filter(("OEL"."FLOW_STATUS_CODE"='CLOSED' AND INTERNAL_FUNCTION("OEL"."ATTRIBUTE1") AND INTER
21 - access("OEL"."SYS_NC00342$">=TO_DATE(' 2009-01-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss') AND "O
'syyyy-mm-dd hh24:mi:ss'))
22 - filter("MIC"."CATEGORY_SET_ID"=4)
23 - filter(("MC"."DESCRIPTION" IS NOT NULL AND INTERNAL_FUNCTION("MC"."SEGMENT7")))
24 - access("MIC"."CATEGORY_ID"="MC"."CATEGORY_ID")
26 - access("MC"."DESCRIPTION"="CCM"."STMODELNUMBER")
27 - access("OEL"."SHIP_FROM_ORG_ID"="MP"."ORGANIZATION_ID")
28 - filter("OEH"."ORG_ID"=189)
29 - access("OEH"."HEADER_ID"="OEL"."HEADER_ID")
31 - access("OEH"."INVOICE_TO_ORG_ID"="HCSU"."SITE_USE_ID")
33 - access("HCSU"."CUST_ACCT_SITE_ID"="HCAS"."CUST_ACCT_SITE_ID")
35 - access("HCAS"."PARTY_SITE_ID"="HPS"."PARTY_SITE_ID")
37 - access("HPS"."LOCATION_ID"="HL"."LOCATION_ID")
39 - access("HL"."COUNTRY"="FT"."TERRITORY_CODE")
40 - filter(("HCA"."SALES_CHANNEL_CODE"<>'RTL' AND "HCA"."SALES_CHANNEL_CODE"<>'AD-RTL' AND "HCA".
41 - access("HCAS"."CUST_ACCOUNT_ID"="HCA"."CUST_ACCOUNT_ID")
42 - access("FLV"."LOOKUP_TYPE"='SALES_CHANNEL' AND "FLV"."LOOKUP_CODE"="HCA"."SALES_CHANNEL_CODE"
filter(("FLV"."LOOKUP_CODE"<>'RTL' AND "FLV"."LOOKUP_CODE"<>'AD-RTL' AND "FLV"."LOOKUP_CODE"<
44 - access("HCA"."PARTY_ID"="HP"."PARTY_ID")
90 rows selected.
{code} &nbs -
Challenge passing parameters to discoverer report
Hello everyone, I am following the instructions on this website - http://learndiscoverer.blogspot.com/2008/11/metalink-note-304192.html
Basically, we want to use parameters for discoverer reports, especially date parameters because of some performance issues we have been having with discoverer.
Here is the process I am using. Please correct me if I am doing anythinng wrong.
1. Login to apps schema and create context
CREATE OR REPLACE CONTEXT DISCO_CONTEXT
USING EUL4_US.DISCO_PKG
2. Login to eul4_us schema and create package
CREATE OR REPLACE PACKAGE DISCO_PKG
AS
FUNCTION set_context(p_name VARCHAR2,
p_value VARCHAR2) RETURN VARCHAR2;
FUNCTION show_context(p_name VARCHAR2) RETURN VARCHAR2;
END disco_pkg;
CREATE OR REPLACE PACKAGE BODY DISCO_PKG
AS
FUNCTION set_context(p_name VARCHAR2,
p_value VARCHAR2) RETURN VARCHAR2
IS
BEGIN
dbms_session.set_context('DISCO_CONTEXT', p_name, p_value);
RETURN p_value;
END set_context;
FUNCTION show_context(p_name VARCHAR2) RETURN VARCHAR2
IS
BEGIN
RETURN SYS_CONTEXT('DISCO_CONTEXT', p_name);
END show_context;
END disco_pkg;
Then grant access to apps
GRANT ALL ON DISCO_PKG TO APPS;
Then import the functions show_context and set_context into discoverer
3. Go back to apps schema and create synonym
CREATE PUBLIC SYNONYM DISCO_PKG FOR EUL4_US.DISCO_PKG;
4. Create discoverer custom folder using the following query:
SELECT DISTINCT
pet.run_result_id
,papf.employee_number
FROM
per_all_people_f papf,
--hr_lookups hl,*
per_all_assignments_f paaf,
hr_all_organization_units haou,
per_jobs pj,
per_grades pg,
pay_people_groups ppg,
--per_addresses pa,*
--hr_locations_all hla,*
per_positions pps,
per_people_f ppf,
pay_assignment_actions paa,
pay_payroll_actions ppa,
PAY_RUN_RESULTS_V pet,
--pay_element_types_v1 pet,
pay_all_payrolls_f papaf
WHERE
papf.person_id=paaf.person_id
AND papf.employee_number=ppf.employee_number
AND paaf.organization_id=haou.organization_id
AND paaf.job_id=pj.job_id(+)
AND paaf.grade_id=pg.grade_id(+)
AND paaf.people_group_id=ppg.people_group_id(+)
AND paaf.position_id=pps.position_id(+)
AND paaf.business_group_id=0
AND paa.assignment_id = paaf.assignment_id
AND paa.payroll_action_id = ppa.payroll_action_id
AND paa.assignment_action_id=pet.assignment_action_id
AND paaf.payroll_id=papaf.payroll_id
AND ppa.effective_date BETWEEN paaf.effective_start_date AND paaf.effective_end_date
AND ppa.effective_date BETWEEN papf.effective_start_date AND papf.effective_end_date
AND ppa.action_type ='R'
AND ppa.action_status = 'C'
AND paaf.assignment_type = 'E'
AND paaf.primary_flag = 'Y'
AND haou.business_group_id=0
AND ppa.effective_date = TO_DATE(SYS_CONTEXT('DISCO_CONTEXT','PAYROLL_DATE'))
5. Create a parameter called Payroll Date. Default value is set to NULL and the "Create Condition" checkbox is unchecked.
6. Create a calculation
SET_CONTEXT('PAYROLL_DATE', TO_CHAR(:Payroll Date))
And that's it.
The thing is, this doesn't work for me.
But for the same query, if I enter the date value I am substituting, values show up. So it seems for some reason, the context value probably isn't being set or thereabouts.
I have tried setting the context manually in a TOAD session using:
declare
v_ret varchar2(50);
begin
--dbms_session.set_context('DISCO_CONTEXT', 'PAYROLL_DATE', '31-MAR-2010');
v_ret := disco_pkg.set_context('PAYROLL_DATE', '01-MAR-2010');
dbms_output.put_line(v_ret);
end;
And afterwards run the query:
select sys_context('DISCO_CONTEXT', 'PAYROLL_DATE') from dual
And results do show up here. So I'm wondering what could be wrong.
Please help.Hi ,
Are you saying I should create a new workbook that is not based on my custom folder for setting and showing the context value? You don't need to create a new workbook, you can just create a new worksheet in your report workbook, but you will need two sheets to use contexts. The sheet that sets the contexts should not be based on your custom folder, but on a folder that returns a single row. You cannot set and check contexts in a single SQL statement, so you have to have 2 worksheets.
You can default the contexts using a trigger or initialisation SQL so that the user only has to set the contexts if they are not using the defaults.
Rod West -
hello.
I hope someone can help. My script below takes record(s) from a temporary table and loads them into ORACLE Financials via several APIs but on initial testing (using 1 NEW Record) it fails with the error message:
Employee No: 00020206
ORACLE error occurred processing record.. ORA-20001: PAY_7599_SYS_SUP_DT_OUTDATE
Ive tried to google the error message but nothing - can someone either suggest what this may be or shsow me another way of getting a more precise reason for the problem?
/* Formatted on 2009/04/29 11:52 (Formatter Plus v4.8.7) */
SET serveroutput ON SIZE 1000000 FORMAT WRAPPED
SET verify OFF
SET feedback OFF
DECLARE
-- Debugging/error handling
-- Work variables
l_employ_start_date DATE:= TO_DATE ('01-APR-1999', 'DD-MON-YYYY');
v_ora_loc_code number := 0;
p_emp_number VARCHAR2 (14);
v_rec_cnt NUMBER := 0;
insert_flag VARCHAR2 (8);
err_num NUMBER;
err_msg VARCHAR2 (150);
err_line VARCHAR2 (350);
err_seq NUMBER := 0;
l_validate BOOLEAN DEFAULT FALSE;
l_std_business_group_id NUMBER := '0';
l_default_code_comb_id NUMBER := '218048';
l_organization_id NUMBER := '0';
l_set_of_books_id NUMBER := '1';
l_job_id NUMBER := '10';
l_obj NUMBER;
l_datetrack_update_mode VARCHAR2 (30) := 'CORRECTION';
l_assignment_sequence NUMBER;
l_name_combination_warning BOOLEAN := FALSE;
l_assign_payroll_warning BOOLEAN := FALSE;
l_org_now_no_manager_warning BOOLEAN;
l_other_manager_warning BOOLEAN;
l_spp_delete_warning BOOLEAN;
l_entries_changed_warning VARCHAR2 (30);
l_tax_district_changed_warning BOOLEAN;
l_person_id NUMBER;
l_assignment_id NUMBER;
l_assignment_id2 NUMBER; -- := '28262';
l_special_ceiling_step_id NUMBER;
l_per_effective_end_date DATE:= TO_DATE ('11-Jul-2049', 'DD-MON-YYYY');
l_people_group_id NUMBER;
l_group_name VARCHAR2 (30);
l_assignment_number VARCHAR2 (35);
l_effective_end_date DATE := TO_DATE ('11-Jul-2049', 'DD-MON-YYYY');
l_date DATE := SYSDATE;
ip_p_address_id per_addresses.address_id%TYPE;
ip_p_object_version_number NUMBER;
ip_p_party_id per_addresses.party_id%TYPE;
l_per_object_version_number NUMBER;
l_asg_object_version_number NUMBER;
l_full_name VARCHAR2 (240);
l_per_comment_id NUMBER;
l_per_effective_start_date DATE;
l_concatenated_segments VARCHAR2 (240);
l_soft_coding_keyflex_id NUMBER;
l_comment_id NUMBER;
l_no_managers_warning BOOLEAN;
-- Get employee details info from work table
CURSOR get_employee_details
IS
SELECT std_hire_date, std_last_name, std_sex, std_date_of_birth,
std_email_address, std_emp_status,
LPAD (std_employee_number, 8, '0') std_employee_number,
std_first_name, std_marital_status, std_middle_names,
std_nationality, std_title, std_national_identifier,
std_address_line1, std_address_line2, std_address_line3,
std_address_line4, std_post_code, std_telephone_1, std_country,
std_region, std_location_id, std_organization_id,
std_supervisor_id, std_person_id, std_position_id
FROM SU_TEMPLOYEE_DETAILS;
-- Get EXISTING employee details info from ORACLE tables
CURSOR get_existing_employee_details
IS
SELECT per.person_id, per.business_group_id, per.last_name,
per.start_date, per.date_of_birth, per.email_address,
per.employee_number, per.first_name, per.marital_status,
per.middle_names, per.nationality, per.national_identifier,
per.sex, per.title, padd.address_id, padd.primary_flag,
padd.address_line1, padd.address_line2, padd.address_line3,
padd.town_or_city, padd.postal_code, padd.telephone_number_1, paas.assignment_id,
paas.assignment_number, paas.object_version_number, paas.EFFECTIVE_START_DATE,
paas.job_id, paas.position_id, paas.location_id, paas.organization_id, paas.assignment_type, paas.supervisor_id,
paas.default_code_comb_id, paas.set_of_books_id, paas.period_of_service_id
FROM per_all_people_f per,
per_all_assignments_f paas,
per_addresses padd
WHERE
per.person_id = padd.person_id
-- AND paas.person_id(+) = per.person_id;
AND paas.person_id(+) = per.person_id;
-- checks employee details info from PER_ALL_PEOPLE_F table
CURSOR c_check_employee (p_emp_number VARCHAR2)
IS
SELECT per.person_id, per.business_group_id, per.last_name,
per.start_date, per.date_of_birth, per.email_address,
per.employee_number, per.first_name, per.marital_status,
per.middle_names, per.nationality, per.national_identifier,
per.sex, per.title, padd.address_id, padd.primary_flag,
padd.address_line1, padd.address_line2, padd.address_line3,
padd.town_or_city, padd.postal_code, padd.telephone_number_1, paas.assignment_id,
paas.assignment_number, paas.object_version_number, paas.EFFECTIVE_START_DATE,
paas.job_id, paas.position_id, paas.location_id, paas.organization_id, paas.assignment_type, paas.supervisor_id,
paas.default_code_comb_id, paas.set_of_books_id, paas.period_of_service_id
FROM per_all_people_f per,
per_all_assignments_f paas,
per_addresses padd
WHERE per.employee_number = p_emp_number
AND per.person_id = padd.person_id
AND paas.person_id(+) = per.person_id;
emp_rec c_check_employee%ROWTYPE;
-- Cursor retrieves latest Object Version Number from per_assignments_f table..
CURSOR csr_ovn (cp_person_id IN per_all_people_f.person_id%TYPE)
IS
SELECT MAX (paas.object_version_number)
FROM per_assignments_f paas, per_all_people_f per
WHERE paas.person_id = per.person_id
AND per.employee_number = paas.assignment_number
AND per.person_id = cp_person_id;
-- Cursor to get Oracle_Loc_Code from SU CHRIS vs ORACLE Locations Table into a variable..
CURSOR csr_ora_loc_code (cp_location_id IN SU_TEMPLOYEE_DETAILS.std_location_id%TYPE)
IS
SELECT sil.ORACLE_LOC_CODE
FROM SU_TEMPLOYEE_DETAILS std, SU_IEXP_LOCATIONS sil
WHERE std.STD_LOCATION_ID = sil.CHRIS_LOC_code
AND std.STD_LOCATION_ID = cp_location_id;
BEGIN
-- Process each record in the work table
FOR v_emp IN get_employee_details
LOOP
-- determine whether customer already exists
OPEN c_check_employee (v_emp.std_employee_number);
FETCH c_check_employee
INTO emp_rec;
l_assignment_id2 := emp_rec.assignment_id;
IF v_emp.std_emp_status = 'N' and c_check_employee%NOTFOUND
THEN
insert_flag := 'I';
DBMS_OUTPUT.PUT_LINE ('Employee No: ' || v_emp.std_employee_number);
ELSIF v_emp.std_emp_status = 'C'
THEN
-- if c_check_employee%NOTFOUND then raise no_data_found;
-- elsif l_assignment_id2 is null then
if l_assignment_id2 is null then
raise_application_error (-20010, 'Employee No: ' || v_emp.std_employee_number || ' exists but has no assignment id!');
end if;
DBMS_OUTPUT.PUT_LINE ('Employee No: ' || v_emp.std_employee_number || ' already exists, making changes.. ' );
insert_flag := 'C';
-- RAISE_APPLICATION_ERROR (-20001, 'Employee No: ' || v_emp.std_employee_number || ' already exists ' );
END IF;
CLOSE c_check_employee;
-- Obtain the most recent Object Version Number..
OPEN csr_ovn (v_emp.std_person_id);
FETCH csr_ovn
INTO l_obj;
-- IF csr_ovn%NOTFOUND THEN RAISE NO_DATA_FOUND; END IF;
CLOSE csr_ovn;
-- Open Oracle Location Code cursor
OPEN csr_ora_loc_code(v_emp.std_location_id);
FETCH csr_ora_loc_code
INTO v_ora_loc_code;
CLOSE csr_ora_loc_code;
-- Create new PER_ALL_PEOPLE_F and PER_ADDRESSES record from
-- info in table record
IF insert_flag = 'I'
THEN
-- -- Importing Employee Procedure --
Hr_Employee_Api.create_gb_employee
(p_validate => l_validate,
p_hire_date => l_employ_start_date,
p_business_group_id => l_std_business_group_id,
p_date_of_birth => v_emp.std_date_of_birth,
p_email_address => v_emp.std_email_address,
p_first_name => v_emp.std_first_name,
p_middle_names => v_emp.std_middle_names,
p_last_name => v_emp.std_last_name,
p_sex => v_emp.std_sex,
p_ni_number => v_emp.std_national_identifier,
p_employee_number => v_emp.std_employee_number,
p_person_id => l_person_id,
p_title => v_emp.std_title,
p_assignment_id => l_assignment_id,
p_per_object_version_number => l_per_object_version_number,
p_asg_object_version_number => l_asg_object_version_number,
p_per_effective_start_date => l_per_effective_start_date,
p_per_effective_end_date => l_per_effective_end_date,
p_full_name => l_full_name,
p_per_comment_id => l_per_comment_id,
p_assignment_sequence => l_assignment_sequence,
p_assignment_number => l_assignment_number,
p_name_combination_warning => l_name_combination_warning,
p_assign_payroll_warning => l_assign_payroll_warning
Hr_Person_Address_Api.create_person_address
(p_validate => l_validate,
-- p_effective_date => v_emp.std_hire_date,
p_effective_date => l_employ_start_date,
p_pradd_ovlapval_override => NULL,
p_validate_county => NULL,
p_person_id => l_person_id,
p_primary_flag => 'Y',
p_style => 'GB_GLB',
p_date_from => SYSDATE,
p_date_to => NULL,
p_address_type => NULL,
p_comments => NULL,
p_address_line1 => v_emp.std_address_line1,
p_address_line2 => v_emp.std_address_line2,
p_address_line3 => v_emp.std_address_line3,
p_town_or_city => v_emp.std_address_line4,
p_region_1 => NULL,
p_region_2 => NULL,
p_region_3 => NULL,
p_postal_code => v_emp.std_post_code,
p_country => v_emp.std_nationality,
p_telephone_number_1 => NULL,
p_telephone_number_2 => NULL,
p_telephone_number_3 => NULL,
p_party_id => ip_p_party_id,
p_address_id => ip_p_address_id,
p_object_version_number => l_obj
Hr_Assignment_Api.update_emp_asg
(p_validate => l_validate,
p_effective_date => SYSDATE, -- l_date,
p_datetrack_update_mode => l_datetrack_update_mode,
p_assignment_id => l_assignment_id,
p_object_version_number => l_obj,
p_supervisor_id => v_emp.std_supervisor_id,
p_default_code_comb_id => l_default_code_comb_id,
p_set_of_books_id => l_set_of_books_id,
p_concatenated_segments => l_concatenated_segments,
--IN/OUT
p_soft_coding_keyflex_id => l_soft_coding_keyflex_id,
--IN/OUT
p_comment_id => l_comment_id,
--IN/OUT
p_effective_start_date => l_date, --IN/OUT
p_effective_end_date => l_effective_end_date,
--IN/OUT
p_no_managers_warning => l_no_managers_warning,
--IN/OUT
p_other_manager_warning => l_other_manager_warning
--IN/OUT
Hr_Assignment_Api.update_emp_asg_criteria
(p_validate => l_validate,
p_effective_date => SYSDATE, -- l_date,
p_datetrack_update_mode => l_datetrack_update_mode,
p_assignment_id => l_assignment_id,
p_object_version_number => l_obj,
p_organization_id => l_organization_id,
p_location_id => v_ora_loc_code,
p_job_id => l_job_id,
p_position_id => v_emp.std_position_id,
p_special_ceiling_step_id => l_special_ceiling_step_id,
p_effective_start_date => l_date,
--per_effective_start_date,
p_effective_end_date => l_effective_end_date,
--IN/OUT
p_people_group_id => l_people_group_id,
--IN/OUT
p_group_name => l_group_name, --IN/OUT
p_org_now_no_manager_warning => l_org_now_no_manager_warning,
--IN/OUT
p_other_manager_warning => l_other_manager_warning,
--IN/OUT
p_spp_delete_warning => l_spp_delete_warning,
--IN/OUT
p_entries_changed_warning => l_entries_changed_warning,
--IN/OUT
p_tax_district_changed_warning => l_tax_district_changed_warning
--IN/OUT
v_rec_cnt := v_rec_cnt + 1;
DBMS_OUTPUT.PUT (CHR (10));
DBMS_OUTPUT.PUT_LINE ( 'There were '
|| v_rec_cnt
|| ' records read in..'
-- Updating PER_ALL_PEOPLE_F and PER_ADDRESSES record from
-- info in table record
ELSE IF insert_flag = 'C'
THEN
-- ===================================================
-- these next 6 lines is for the initial mass update of existing employee records only
-- ===================================================
/*IF emp_rec.default_code_comb_id is NULL THEN
l_default_code_comb_id = 218048;
END IF;
IF emp_rec.job_id is NULL THEN
l_job_id = 10;
END IF; */
-- =========
-- Section end
-- =========
Hr_Assignment_Api.update_emp_asg
(p_validate => l_validate,
p_effective_date => emp_rec.EFFECTIVE_START_DATE,
p_datetrack_update_mode => l_datetrack_update_mode,
p_assignment_id => l_assignment_id2,
p_object_version_number => l_obj,
p_supervisor_id => v_emp.std_supervisor_id,
p_default_code_comb_id => emp_rec.default_code_comb_id,
p_set_of_books_id => emp_rec.set_of_books_id,
p_concatenated_segments => l_concatenated_segments,
--IN/OUT
p_soft_coding_keyflex_id => l_soft_coding_keyflex_id,
--IN/OUT
p_comment_id => l_comment_id,
--IN/OUT
p_effective_start_date => l_date, --IN/OUT
p_effective_end_date => l_effective_end_date,
--IN/OUT
p_no_managers_warning => l_no_managers_warning,
--IN/OUT
p_other_manager_warning => l_other_manager_warning
--IN/OUT
Hr_Assignment_Api.update_emp_asg_criteria
(p_validate => l_validate,
p_effective_date => emp_rec.EFFECTIVE_START_DATE,
p_datetrack_update_mode => l_datetrack_update_mode,
p_assignment_id => l_assignment_id2,
p_object_version_number => l_obj,
p_organization_id => emp_rec.organization_id,
p_location_id => v_ora_loc_code,
p_job_id => emp_rec.job_id,
p_position_id => emp_rec.position_id,
p_special_ceiling_step_id => l_special_ceiling_step_id,
p_effective_start_date => emp_rec.EFFECTIVE_START_DATE,
p_effective_end_date => l_effective_end_date,
--IN/OUT
p_people_group_id => l_people_group_id,
--IN/OUT
p_group_name => l_group_name, --IN/OUT
p_org_now_no_manager_warning => l_org_now_no_manager_warning,
--IN/OUT
p_other_manager_warning => l_other_manager_warning,
--IN/OUT
p_spp_delete_warning => l_spp_delete_warning,
--IN/OUT
p_entries_changed_warning => l_entries_changed_warning,
--IN/OUT
p_tax_district_changed_warning => l_tax_district_changed_warning
--IN/OUT
v_rec_cnt := v_rec_cnt + 1;
DBMS_OUTPUT.PUT (CHR (10));
DBMS_OUTPUT.PUT_LINE ( 'There were '
|| v_rec_cnt
|| ' records read in..'
DBMS_OUTPUT.PUT (CHR (10));
-- End of customer related details
END IF;
END IF;
END LOOP;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
ROLLBACK;
err_num := TO_CHAR (SQLCODE);
err_msg := SUBSTR (SQLERRM, 1, 150);
err_line := 'ORACLE error occurred processing record.. ' || err_msg;
DBMS_OUTPUT.PUT_LINE (err_line);
INSERT INTO SU_ERROR_LOG VALUES (err_msg, 'TEMPLOYEE_DTLS.sql', SYSTIMESTAMP);
WHEN OTHERS
THEN
ROLLBACK;
err_num := TO_CHAR (SQLCODE);
err_msg := SUBSTR (SQLERRM, 1, 150);
err_line := 'ORACLE error occurred processing record.. ' || err_msg;
DBMS_OUTPUT.PUT_LINE (err_line);
INSERT INTO SU_ERROR_LOG VALUES (err_msg, 'TEMPLOYEE_DTLS.sql', SYSTIMESTAMP);
END;
EXIT;Many thanks
StevenIt looks like the Supervisor employee is not active for the duration of the Employee Record.
Using the correct Supervisor record should resolve the issue. -
How to set a MessageTextInput to be Read Only for a specific row?
Hi,
In Benefits Self Service, particularly the Update Beneficiaries page, it lists all your eligible Beneficiaries including yourself. The table has the following columns displayed for each beneficiary: Beneficiary, Relationship, Social Security Number, Primary %, Contingent %, Clear. This is the page where you allocate the Primary % and the Contingent %. The Primary % and Contingent % are MessageText Input.
We have a requirement that we wouldn't want an employee to designate himself/herself as a beneficiary. However, the employee is being listed as a beneficiary along with all the other eligible beneficiaries. Oracle says it is an intended functionality to include the employee in the beneficiary. Is there a way thru Controller Object extension to set the Primary % and Contingent % as Read Only but only for the row corresponding to the employee to prevent the employee from accidentally allocating himself/herself as a beneficiary.
I know there is the SPEL functionality but this requires me to add a transient attribute to the View Object corresponding to that table. But everytime I make a change to the View Object either by adding a transient attribute or some other changes, I end up getting an error on the standard Relation attribute of that view object. The error is something like "Relation set attribute failed for View Object". I cannot get pass this error and I'm not sure what's causing this. I see other people in this forum have encountered the same problem when extending view objects but no specific solution was offered nor any clear explanation of the cause.
So I thought if there's any way this could be done thru Controller Object extension. If so, please let me know how. The challenge for me I think is finding the bean corresponding to those Message Text Input but only for a specific row in the table.
Thanks,
RonaldoHi,
I also tried extending the View Object but without changing anything to the SQL so it is exactly the same as the standard view object but I still get the "Attribute set for Relation in view object BeneficiaryPeopleVO1 failed". Based from this, extending the view object whether any change has been made or not affects the standard transient Relation attribute.
Here is the standard XML definition of the View Object if anyone is curious
<ViewObject
Name="BeneficiaryPeopleVO"
BindingStyle="Oracle"
CustomQuery="true"
RowClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVORowImpl"
ComponentClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVOImpl"
MsgBundleClass="oracle.jbo.common.JboResourceBundle"
FetchMode="FETCH_AS_NEEDED"
FetchSize="10"
UseGlueCode="false" >
<SQLQuery><![CDATA[
SELECT pcr.person_id person_id,
pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
con.national_identifier Ssn,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
con.person_id bnf_person_id,
con.business_group_id,
pen.per_in_ler_id,
pbn.pl_bnf_id pl_bnf_id,
pbn.object_version_number object_version_number,
pbn.effective_start_date,
pcr.contact_type contact_type,
con.full_name beneficiary_full_name,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
pen.pl_id pl_id,
pen.oipl_id oipl_id,
nvl((select 'Y' from dual where (to_date(:1 , 'rrrr/mm/dd') between
nvl(pcr.date_start,to_date(:2 , 'rrrr/mm/dd')) and
nvl(pcr.date_end,to_date(:3 , 'rrrr/mm/dd'))) and
(pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))), 'N') rel_exists_flag
FROM per_people_f con,
per_contact_relationships pcr,
ben_pl_bnf_f pbn,
ben_prtt_enrt_rslt_f pen,
ben_per_in_ler pil
WHERE pcr.personal_flag = 'Y'
AND (pbn.pl_bnf_id is not null or
(to_date(:4 ,'rrrr/mm/dd') between
nvl(pcr.date_start,to_date(:5 ,'rrrr/mm/dd'))
AND nvl(pcr.date_end,to_date(:6 ,'rrrr/mm/dd'))
and pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))) --Bug 4297137
AND pcr.contact_person_id = con.person_id
and pen.person_id = pcr.person_id
AND pbn.bnf_person_id (+) = con.person_id
AND to_date(:7 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
AND pbn.effective_end_date (+)
AND pcr.person_id = :8
and pen.prtt_enrt_rslt_id = :9
and to_date(:10 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
and to_date(:11 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
and pil.per_in_ler_id = pen.per_in_ler_id
and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
and pbn.prtt_enrt_rslt_id (+) = :12
and ((to_date(:13 ,'rrrr/mm/dd') between
nvl(pcr.date_start,to_date(:14 ,'rrrr/mm/dd')) and
nvl(pcr.date_end,to_date(:15 ,'rrrr/mm/dd'))) or
((pcr.date_start = (select max(pcr2.date_start)
from per_contact_relationships pcr2
where pcr2.contact_person_id = pcr.contact_person_id
and pcr2.person_id = pcr.person_id
and pcr2.personal_flag = 'Y')) and
not exists (select null
from per_contact_relationships pcr3
where pcr3.contact_person_id = pcr.contact_person_id
and pcr3.person_id = pcr.person_id
and pcr3.personal_flag = 'Y'
and to_date(:16 ,'rrrr/mm/dd') between
nvl(pcr3.date_start,to_date(:17 ,'rrrr/mm/dd'))
and nvl(pcr3.date_end,to_date(:18 ,'rrrr/mm/dd')))
and (pbn.pl_bnf_id is null or
exists (select null from ben_per_in_ler pil2
where pil2.per_in_ler_id = pbn.per_in_ler_id
and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
GROUP BY pcr.person_id,
pen.prtt_enrt_rslt_id,
con.last_name,con.first_name,con.suffix,
con.full_name,
con.national_identifier,
pcr.contact_type,
con.date_of_birth,
con.person_id,
con.business_group_id,
pen.per_in_ler_id,
pl_bnf_id,
pbn.object_version_number,
pbn.effective_start_date,
pen.pl_id,
pen.oipl_id,
pcr.date_start,
pcr.date_end,
pil.lf_evt_ocrd_dt,
con.date_of_death
union
SELECT to_number(null) person_id,
pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
con.national_identifier Ssn,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
con.person_id bnf_person_id,
con.business_group_id,
pen.per_in_ler_id,
pbn.pl_bnf_id pl_bnf_id,
pbn.object_version_number object_version_number,
pbn.effective_start_date,
'SLF' contact_type,
con.full_name beneficiary_full_name,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
pen.pl_id pl_id,
pen.oipl_id oipl_id,
'Y' rel_exists_flag
FROM per_people_f con,
ben_pl_bnf_f pbn,
ben_prtt_enrt_rslt_f pen,
ben_per_in_ler pil
WHERE
pbn.bnf_person_id (+) = con.person_id
AND to_date(:19 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
AND pbn.effective_end_date (+)
AND con.person_id = :20
and con.person_id = pen.person_id
and pen.prtt_enrt_rslt_id = :21
and to_date(:22 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
and to_date(:23 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
and pil.per_in_ler_id = pen.per_in_ler_id
and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
and (pbn.pl_bnf_id is not null or pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt)) --Bug 4297137
and pbn.prtt_enrt_rslt_id (+) = :24
and (pbn.pl_bnf_id is null or
exists (select null from ben_per_in_ler pil2
where pil2.per_in_ler_id = pbn.per_in_ler_id
and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
GROUP BY pen.prtt_enrt_rslt_id,
con.last_name,con.first_name,con.suffix,
con.full_name,
con.national_identifier,
con.date_of_birth,
con.person_id,
con.business_group_id,
pen.per_in_ler_id,
pl_bnf_id,
pbn.object_version_number,
pbn.effective_start_date,
pen.pl_id,
pen.oipl_id
ORDER BY 3,14
]]></SQLQuery>
<DesignTime>
<Attr Name="_isCodegen" Value="true" />
<Attr Name="_version" Value="9.0.3.13.75" />
<Attr Name="_CodeGenFlagNew" Value="36" />
<Attr Name="_rowSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewRowImpl" />
<Attr Name="_objectSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewObjectImpl" />
</DesignTime>
<ViewAttribute
Name="PersonId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PERSON_ID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="PrttEnrtRsltId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PRTT_ENRT_RSLT_ID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="Beneficiary"
IsQueriable="false"
IsPersistent="false"
Precision="332"
Type="java.lang.String"
AliasName="BENEFICIARY"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="Ssn"
IsQueriable="false"
IsPersistent="false"
Precision="30"
Type="java.lang.String"
AliasName="SSN"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="PrimaryPct"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Type="oracle.jbo.domain.Number"
AliasName="PRIMARYPCT"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="ContingentPct"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="CONTINGENTPCT"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="BnfPersonId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="BNFPERSONID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="BusinessGroupId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="BUSINESSGROUPID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="PerInLerId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PERINLERID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="PlBnfId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PL_BNF_ID"
ColumnType="$none$"
Expression="PL_BNF_ID"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="ObjectVersionNumber"
IsQueriable="false"
IsPersistent="false"
Precision="9"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="OBJECT_VERSION_NUMBER"
ColumnType="$none$"
Expression="OBJECT_VERSION_NUMBER"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="EffectiveStartDate"
IsQueriable="false"
IsPersistent="false"
Type="oracle.jbo.domain.Date"
AliasName="EFFECTIVE_START_DATE"
ColumnType="$none$"
Expression="EFFECTIVE_START_DATE"
SQLType="DATE" >
</ViewAttribute>
<ViewAttribute
Name="ContactType"
IsQueriable="false"
IsPersistent="false"
IsNotNull="true"
Precision="30"
Type="java.lang.String"
AliasName="CONTACT_TYPE"
ColumnType="$none$"
Expression="CONTACT_TYPE"
SQLType="VARCHAR" >
<DesignTime>
<Attr Name="_DisplaySize" Value="30" />
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="BeneficiaryFullName"
IsQueriable="false"
IsPersistent="false"
Precision="240"
Type="java.lang.String"
AliasName="BENEFICIARY_FULL_NAME"
ColumnType="$none$"
Expression="BENEFICIARY_FULL_NAME"
SQLType="VARCHAR" >
<DesignTime>
<Attr Name="_DisplaySize" Value="240" />
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="DbPrimaryPct"
IsQueriable="false"
IsPersistent="false"
Type="oracle.jbo.domain.Number"
AliasName="DB_PRIMARY_PCT"
ColumnType="$none$"
Expression="DB_PRIMARY_PCT"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="DbContingentPct"
IsQueriable="false"
IsPersistent="false"
Type="oracle.jbo.domain.Number"
AliasName="DB_CONTINGENT_PCT"
ColumnType="$none$"
Expression="DB_CONTINGENT_PCT"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="Relation"
IsQueriable="false"
IsPersistent="false"
Type="java.lang.String"
AliasName="Relation"
ColumnType="$none$"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="DeleteSwitcher"
IsPersistent="false"
Precision="30"
Type="java.lang.String"
AliasName="DeleteSwitcher"
ColumnType="VARCHAR2"
Expression="DeleteSwitcher"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="PlId"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PlId"
ColumnType="VARCHAR2"
Expression="PlId"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="OiplId"
IsUpdateable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="OiplId"
ColumnType="VARCHAR2"
Expression="OiplId"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="RelExistsFlag"
IsQueriable="false"
IsPersistent="false"
Precision="30"
Type="java.lang.String"
AliasName="REL_EXISTS_FLAG"
ColumnType="VARCHAR2"
Expression="REL_EXISTS_FLAG"
SQLType="VARCHAR" >
</ViewAttribute>
</ViewObject>
Thanks,
Ronaldo
Maybe you are looking for
-
I want to know 1) the Difference between Debatching and File Chunking? 2) how both work? anyone kindly explain me.
-
[Solved] error: C compiler cannot create executables; see 'config.log'
Trying to build avant-window-navigator from the aur using yaourt results in this error message. I recently upgraded my system and suspect this may be the cause, but I'm not sure how to proceed from here. My config.log follows. This file contains an
-
When unplugged my MBP randomly shuts down and won't start up again
When my MBP is unplugged it randomly shuts off and won't restart. To get it to boot up again I have to plug it in. Today I was using my computer for about 15 minutes unplugged and it just shut down by itself. I was right in the middle of typing somet
-
IPad as a photo/video storage device?
I'd love to replace my netbook with an iPad for travel. I use the netbook for internet access and for storage of data from my camera. I know I can transfer images to an iPad via the camera connection kit. However, my camera also takes video in a wack
-
ODI and interactive variable settings ...
Hi all, first of it I would like to tanks all the guys that have helped me with my previous problem!!! I need to know how to close the thread and assign the correct and useful answers! In the meantime I've another question for all of you: 1) Is it po