1189: l_grade_id_flex_num := C_flex_rec.grade_structure;
1190: End Loop;
1191:
1192: if (l_grade_id_flex_num is not null) then
1193: v_gcursorid := DBMS_SQL.OPEN_CURSOR;
1194: l_grade_stmt := 'SELECT pg.grade_id,pgv.concatenated_segments
1195: FROM PER_GRADES pg,PER_GRADE_DEFINITIONS_KFV pgv
1196: WHERE pg.grade_id = '||':ld_grade_id'||
1197: ' AND pg.business_group_id = '||p_business_group_id||
1197: ' AND pg.business_group_id = '||p_business_group_id||
1198: ' AND pg.grade_definition_id = pgv.grade_definition_id'||
1199: ' AND pgv.id_flex_num = '||l_grade_id_flex_num;
1200:
1201: DBMS_SQL.PARSE(v_gcursorid,l_grade_stmt,DBMS_SQL.V7);
1202: DBMS_SQL.DEFINE_COLUMN(v_gcursorid,1,lh_grade_id);
1203: DBMS_SQL.DEFINE_COLUMN(v_gcursorid,2,l_grade_name,80);
1204: end if; */
1205: /*Bug No:1954662 End*/
1198: ' AND pg.grade_definition_id = pgv.grade_definition_id'||
1199: ' AND pgv.id_flex_num = '||l_grade_id_flex_num;
1200:
1201: DBMS_SQL.PARSE(v_gcursorid,l_grade_stmt,DBMS_SQL.V7);
1202: DBMS_SQL.DEFINE_COLUMN(v_gcursorid,1,lh_grade_id);
1203: DBMS_SQL.DEFINE_COLUMN(v_gcursorid,2,l_grade_name,80);
1204: end if; */
1205: /*Bug No:1954662 End*/
1206:
1199: ' AND pgv.id_flex_num = '||l_grade_id_flex_num;
1200:
1201: DBMS_SQL.PARSE(v_gcursorid,l_grade_stmt,DBMS_SQL.V7);
1202: DBMS_SQL.DEFINE_COLUMN(v_gcursorid,1,lh_grade_id);
1203: DBMS_SQL.DEFINE_COLUMN(v_gcursorid,2,l_grade_name,80);
1204: end if; */
1205: /*Bug No:1954662 End*/
1206:
1207: For salary_rec IN C3 LOOP
1299: l_grade_step_id := Grade_rec.step_id;
1300: l_sequence := Grade_rec.sequence;
1301:
1302: -- Commented out for bug number 3159157
1303: /*DBMS_SQL.BIND_VARIABLE(v_gcursorid,':ld_grade_id',l_grade_id);
1304:
1305: v_gdummy := DBMS_SQL.EXECUTE(v_gcursorid);
1306:
1307: Loop
1301:
1302: -- Commented out for bug number 3159157
1303: /*DBMS_SQL.BIND_VARIABLE(v_gcursorid,':ld_grade_id',l_grade_id);
1304:
1305: v_gdummy := DBMS_SQL.EXECUTE(v_gcursorid);
1306:
1307: Loop
1308: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1309: exit;
1304:
1305: v_gdummy := DBMS_SQL.EXECUTE(v_gcursorid);
1306:
1307: Loop
1308: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1309: exit;
1310: end if;
1311:
1312: DBMS_SQL.COLUMN_VALUE(v_gcursorid,1,lh_grade_id);
1308: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1309: exit;
1310: end if;
1311:
1312: DBMS_SQL.COLUMN_VALUE(v_gcursorid,1,lh_grade_id);
1313: DBMS_SQL.COLUMN_VALUE(v_gcursorid,2,l_grade_name);
1314:
1315: End Loop; */
1316:
1309: exit;
1310: end if;
1311:
1312: DBMS_SQL.COLUMN_VALUE(v_gcursorid,1,lh_grade_id);
1313: DBMS_SQL.COLUMN_VALUE(v_gcursorid,2,l_grade_name);
1314:
1315: End Loop; */
1316:
1317: -- To get grade name from Per_Grades
1406: l_element_type_id := C_paybasis_rec.element_type_id;
1407: End Loop;
1408:
1409: -- To get grade name from Per_Grades
1410: /*DBMS_SQL.BIND_VARIABLE(v_gcursorid,':ld_grade_id',l_grade_id);
1411:
1412: v_gdummy := DBMS_SQL.EXECUTE(v_gcursorid);
1413:
1414: Loop
1408:
1409: -- To get grade name from Per_Grades
1410: /*DBMS_SQL.BIND_VARIABLE(v_gcursorid,':ld_grade_id',l_grade_id);
1411:
1412: v_gdummy := DBMS_SQL.EXECUTE(v_gcursorid);
1413:
1414: Loop
1415: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1416: exit;
1411:
1412: v_gdummy := DBMS_SQL.EXECUTE(v_gcursorid);
1413:
1414: Loop
1415: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1416: exit;
1417: end if;
1418: DBMS_SQL.COLUMN_VALUE(v_gcursorid,1,lh_grade_id);
1419: DBMS_SQL.COLUMN_VALUE(v_gcursorid,2,l_grade_name);
1414: Loop
1415: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1416: exit;
1417: end if;
1418: DBMS_SQL.COLUMN_VALUE(v_gcursorid,1,lh_grade_id);
1419: DBMS_SQL.COLUMN_VALUE(v_gcursorid,2,l_grade_name);
1420: End Loop; */
1421:
1422: For C_grade_rec in C_grade
1415: if (DBMS_SQL.FETCH_ROWS(v_gcursorid) = 0) then
1416: exit;
1417: end if;
1418: DBMS_SQL.COLUMN_VALUE(v_gcursorid,1,lh_grade_id);
1419: DBMS_SQL.COLUMN_VALUE(v_gcursorid,2,l_grade_name);
1420: End Loop; */
1421:
1422: For C_grade_rec in C_grade
1423: Loop
3991: ||' definition type TABLE ';
3992: /* Bug 4075170 End */
3993: if (attribute_rec.value_table_flag = 'Y') then
3994: l_attribute_type_id := attribute_rec.attribute_type_id;
3995: v_cursorid := dbms_sql.open_cursor;
3996:
3997: -- Build the statement
3998: For C_table_rec in C_table
3999:
4002: lsql_stmt := 'Select distinct '||C_table_rec.select_column
4003: ||' From '||C_table_rec.select_table;
4004:
4005: -- Parse the query
4006: dbms_sql.parse(v_cursorid,lsql_stmt,dbms_sql.v7);
4007: -- Define the output variables
4008: if (attribute_rec.data_type = 'C') then
4009: dbms_sql.define_column(v_cursorid,1,vdef_col1,100);
4010: elsif (attribute_rec.data_type = 'N') then
4005: -- Parse the query
4006: dbms_sql.parse(v_cursorid,lsql_stmt,dbms_sql.v7);
4007: -- Define the output variables
4008: if (attribute_rec.data_type = 'C') then
4009: dbms_sql.define_column(v_cursorid,1,vdef_col1,100);
4010: elsif (attribute_rec.data_type = 'N') then
4011: dbms_sql.define_column(v_cursorid,1,vdef_col2);
4012: elsif (attribute_rec.data_type = 'D') then
4013: dbms_sql.define_column(v_cursorid,1,vdef_col3);
4007: -- Define the output variables
4008: if (attribute_rec.data_type = 'C') then
4009: dbms_sql.define_column(v_cursorid,1,vdef_col1,100);
4010: elsif (attribute_rec.data_type = 'N') then
4011: dbms_sql.define_column(v_cursorid,1,vdef_col2);
4012: elsif (attribute_rec.data_type = 'D') then
4013: dbms_sql.define_column(v_cursorid,1,vdef_col3);
4014: end if;
4015:
4009: dbms_sql.define_column(v_cursorid,1,vdef_col1,100);
4010: elsif (attribute_rec.data_type = 'N') then
4011: dbms_sql.define_column(v_cursorid,1,vdef_col2);
4012: elsif (attribute_rec.data_type = 'D') then
4013: dbms_sql.define_column(v_cursorid,1,vdef_col3);
4014: end if;
4015:
4016: v_dummy := DBMS_SQL.EXECUTE(v_cursorid);
4017:
4012: elsif (attribute_rec.data_type = 'D') then
4013: dbms_sql.define_column(v_cursorid,1,vdef_col3);
4014: end if;
4015:
4016: v_dummy := DBMS_SQL.EXECUTE(v_cursorid);
4017:
4018: loop
4019: if DBMS_SQL.FETCH_ROWS(v_cursorid) = 0 then
4020: exit;
4015:
4016: v_dummy := DBMS_SQL.EXECUTE(v_cursorid);
4017:
4018: loop
4019: if DBMS_SQL.FETCH_ROWS(v_cursorid) = 0 then
4020: exit;
4021: end if;
4022:
4023: if (attribute_rec.data_type = 'C') then
4020: exit;
4021: end if;
4022:
4023: if (attribute_rec.data_type = 'C') then
4024: DBMS_SQL.COLUMN_VALUE(v_cursorid,1,vdef_col1);
4025: vdef_col := vdef_col1;
4026: elsif (attribute_rec.data_type = 'N') then
4027: begin
4028: DBMS_SQL.COLUMN_VALUE(v_cursorid,1,vdef_col2);
4024: DBMS_SQL.COLUMN_VALUE(v_cursorid,1,vdef_col1);
4025: vdef_col := vdef_col1;
4026: elsif (attribute_rec.data_type = 'N') then
4027: begin
4028: DBMS_SQL.COLUMN_VALUE(v_cursorid,1,vdef_col2);
4029: vdef_col := fnd_number.number_to_canonical(vdef_col2);
4030: exception
4031: when INVALID_NUMBER then
4032:
4038:
4039: end;
4040: elsif (attribute_rec.data_type = 'D') then
4041: begin
4042: DBMS_SQL.COLUMN_VALUE(v_cursorid,1,vdef_col3);
4043: vdef_col := fnd_date.date_to_canonical(vdef_col3);
4044: exception
4045: when OTHERS then -- Bug #4658351: Changed VALUE_ERROR to OTHERS
4046:
4091: l_last_update_login ,
4092: l_created_by,
4093: l_creation_date);
4094: end loop;
4095: dbms_sql.close_cursor(v_cursorid);
4096: end loop;
4097: end if;
4098:
4099: elsif (attribute_rec.definition_type IS NULL) then
4111: Loop
4112: l_job_id_flex_num := C_flex_rec.job_structure;
4113: End Loop;
4114:
4115: v_jcursorid := DBMS_SQL.OPEN_CURSOR;
4116:
4117: -- Changed the job stmt for Position Control requirements .
4118: -- Job name or job_definition_id is unique within a business_group
4119: -- and so the following cursor helps in storing the job_id value
4124: 'where pj.business_group_id = '||p_business_group_id||
4125: ' and pj.job_definition_id = pjv.job_definition_id and '||
4126: 'pjv.id_flex_num = '||l_job_id_flex_num;
4127:
4128: dbms_sql.parse(v_jcursorid,l_job_stmt,dbms_sql.v7);
4129: dbms_sql.define_column(v_jcursorid,1,lr_value_id);
4130: dbms_sql.define_column(v_jcursorid,2,lr_attribute_value,80);
4131: v_jdummy := DBMS_SQL.EXECUTE(v_jcursorid);*/
4132:
4125: ' and pj.job_definition_id = pjv.job_definition_id and '||
4126: 'pjv.id_flex_num = '||l_job_id_flex_num;
4127:
4128: dbms_sql.parse(v_jcursorid,l_job_stmt,dbms_sql.v7);
4129: dbms_sql.define_column(v_jcursorid,1,lr_value_id);
4130: dbms_sql.define_column(v_jcursorid,2,lr_attribute_value,80);
4131: v_jdummy := DBMS_SQL.EXECUTE(v_jcursorid);*/
4132:
4133: -- Fetching job name from PER_JOBS (Bug number 3159157)
4126: 'pjv.id_flex_num = '||l_job_id_flex_num;
4127:
4128: dbms_sql.parse(v_jcursorid,l_job_stmt,dbms_sql.v7);
4129: dbms_sql.define_column(v_jcursorid,1,lr_value_id);
4130: dbms_sql.define_column(v_jcursorid,2,lr_attribute_value,80);
4131: v_jdummy := DBMS_SQL.EXECUTE(v_jcursorid);*/
4132:
4133: -- Fetching job name from PER_JOBS (Bug number 3159157)
4134: For C_job_rec in C_Jobs
4127:
4128: dbms_sql.parse(v_jcursorid,l_job_stmt,dbms_sql.v7);
4129: dbms_sql.define_column(v_jcursorid,1,lr_value_id);
4130: dbms_sql.define_column(v_jcursorid,2,lr_attribute_value,80);
4131: v_jdummy := DBMS_SQL.EXECUTE(v_jcursorid);*/
4132:
4133: -- Fetching job name from PER_JOBS (Bug number 3159157)
4134: For C_job_rec in C_Jobs
4135: Loop
4280: if C6%isopen then
4281: close C6;
4282: end if;
4283:
4284: if (dbms_sql.is_open(v_cursorid)) then
4285: dbms_sql.close_cursor(v_cursorid);
4286: end if;
4287:
4288: rollback to Get_Attributes;
4281: close C6;
4282: end if;
4283:
4284: if (dbms_sql.is_open(v_cursorid)) then
4285: dbms_sql.close_cursor(v_cursorid);
4286: end if;
4287:
4288: rollback to Get_Attributes;
4289: p_return_status := FND_API.G_RET_STS_ERROR;
4309: if C6%isopen then
4310: close C6;
4311: end if;
4312:
4313: if (dbms_sql.is_open(v_cursorid)) then
4314: dbms_sql.close_cursor(v_cursorid);
4315: end if;
4316:
4317: rollback to Get_Attributes;
4310: close C6;
4311: end if;
4312:
4313: if (dbms_sql.is_open(v_cursorid)) then
4314: dbms_sql.close_cursor(v_cursorid);
4315: end if;
4316:
4317: rollback to Get_Attributes;
4318: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4338: if C6%isopen then
4339: close C6;
4340: end if;
4341:
4342: if (dbms_sql.is_open(v_cursorid)) then
4343: dbms_sql.close_cursor(v_cursorid);
4344: end if;
4345:
4346: rollback to Get_Attributes;
4339: close C6;
4340: end if;
4341:
4342: if (dbms_sql.is_open(v_cursorid)) then
4343: dbms_sql.close_cursor(v_cursorid);
4344: end if;
4345:
4346: rollback to Get_Attributes;
4347: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4862: l_debug_info := 'Starting for person_id '||l_person_id||' definition type KFF';
4863: /* Bug 4075170 End */
4864:
4865: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
4866: if dbms_sql.is_open(v_cursorid) then
4867: dbms_sql.close_cursor(v_cursorid);
4868: end if;
4869:
4870: For C_key_rec in C_key_33
4863: /* Bug 4075170 End */
4864:
4865: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
4866: if dbms_sql.is_open(v_cursorid) then
4867: dbms_sql.close_cursor(v_cursorid);
4868: end if;
4869:
4870: For C_key_rec in C_key_33
4871: Loop
4879: End Loop;
4880:
4881: End Loop;
4882:
4883: v_cursorid := dbms_sql.open_cursor;
4884: end if;
4885:
4886: if (Emp_attribute_rec.definition_structure = 'Job Flexfield' ) then
4887: if (Employee_Rec.job_id is not null) then
4892: ' From Per_jobs,per_job_definitions '||
4893: ' Where per_jobs.job_id = '||':lc_job_id'||
4894: ' and per_jobs.job_definition_id = '||
4895: ' per_job_definitions.job_definition_id';
4896: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4897: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4898:
4899:
4900: if (stmt_flag = 'T') then
4893: ' Where per_jobs.job_id = '||':lc_job_id'||
4894: ' and per_jobs.job_definition_id = '||
4895: ' per_job_definitions.job_definition_id';
4896: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4897: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4898:
4899:
4900: if (stmt_flag = 'T') then
4901: le_effective_start_date := lpos_effective_start_date;
4899:
4900: if (stmt_flag = 'T') then
4901: le_effective_start_date := lpos_effective_start_date;
4902: le_effective_end_date := lpos_effective_end_date;
4903: dbms_sql.bind_variable(v_cursorid,':lc_job_id',Employee_Rec.job_id);
4904: end if;
4905: else
4906: if (stmt_flag = 'T') then
4907: dbms_sql.bind_variable(v_cursorid,':lc_job_id',Employee_Rec.job_id);
4903: dbms_sql.bind_variable(v_cursorid,':lc_job_id',Employee_Rec.job_id);
4904: end if;
4905: else
4906: if (stmt_flag = 'T') then
4907: dbms_sql.bind_variable(v_cursorid,':lc_job_id',Employee_Rec.job_id);
4908: le_effective_start_date := lpos_effective_start_date;
4909: le_effective_end_date := lpos_effective_end_date;
4910: end if;
4911: end if;
4918: ' From hr_positions,per_position_definitions '||
4919: ' Where hr_positions.position_id = '||':lc_position_id'||
4920: ' and hr_positions.position_definition_id = '||
4921: ' per_position_definitions.position_definition_id';
4922: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4923: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4924: if (stmt_flag = 'T') then
4925: dbms_sql.bind_variable(v_cursorid,':lc_position_id',Employee_Rec.position_id);
4926: le_effective_start_date := lpos_effective_start_date;
4919: ' Where hr_positions.position_id = '||':lc_position_id'||
4920: ' and hr_positions.position_definition_id = '||
4921: ' per_position_definitions.position_definition_id';
4922: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4923: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4924: if (stmt_flag = 'T') then
4925: dbms_sql.bind_variable(v_cursorid,':lc_position_id',Employee_Rec.position_id);
4926: le_effective_start_date := lpos_effective_start_date;
4927: le_effective_end_date := lpos_effective_end_date;
4921: ' per_position_definitions.position_definition_id';
4922: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4923: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4924: if (stmt_flag = 'T') then
4925: dbms_sql.bind_variable(v_cursorid,':lc_position_id',Employee_Rec.position_id);
4926: le_effective_start_date := lpos_effective_start_date;
4927: le_effective_end_date := lpos_effective_end_date;
4928: end if;
4929: else
4927: le_effective_end_date := lpos_effective_end_date;
4928: end if;
4929: else
4930: if (stmt_flag = 'T') then
4931: dbms_sql.bind_variable(v_cursorid,':lc_position_id',Employee_Rec.position_id);
4932: le_effective_start_date := lpos_effective_start_date;
4933: le_effective_end_date := lpos_effective_end_date;
4934: end if;
4935: end if;
4942: ' From Per_grades,per_grade_definitions '||
4943: ' Where per_grades.grade_id = '||':lc_grade_id'||
4944: ' and per_grades.grade_definition_id = '||
4945: ' per_grade_definitions.grade_definition_id';
4946: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4947: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4948: if (stmt_flag = 'T') then
4949: dbms_sql.bind_variable(v_cursorid,':lc_grade_id',Employee_Rec.grade_id);
4950: le_effective_start_date := lemp_effective_start_date;
4943: ' Where per_grades.grade_id = '||':lc_grade_id'||
4944: ' and per_grades.grade_definition_id = '||
4945: ' per_grade_definitions.grade_definition_id';
4946: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4947: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4948: if (stmt_flag = 'T') then
4949: dbms_sql.bind_variable(v_cursorid,':lc_grade_id',Employee_Rec.grade_id);
4950: le_effective_start_date := lemp_effective_start_date;
4951: le_effective_end_date := lemp_effective_end_date;
4945: ' per_grade_definitions.grade_definition_id';
4946: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4947: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4948: if (stmt_flag = 'T') then
4949: dbms_sql.bind_variable(v_cursorid,':lc_grade_id',Employee_Rec.grade_id);
4950: le_effective_start_date := lemp_effective_start_date;
4951: le_effective_end_date := lemp_effective_end_date;
4952: end if;
4953: else
4951: le_effective_end_date := lemp_effective_end_date;
4952: end if;
4953: else
4954: if (stmt_flag = 'T') then
4955: dbms_sql.bind_variable(v_cursorid,':lc_grade_id',Employee_Rec.grade_id);
4956: le_effective_start_date := lemp_effective_start_date;
4957: le_effective_end_date := lemp_effective_end_date;
4958: end if;
4959: end if;
4965: l_sql_stmt := 'Select '||l_application_column_name||
4966: ' From Pay_People_Groups'||
4967: ' Where pay_people_groups.people_group_id = '||
4968: ':lc_people_group_id';
4969: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4970: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4971: if (stmt_flag = 'T') then
4972: dbms_sql.bind_variable(v_cursorid,':lc_people_group_id',Employee_Rec.people_group_id);
4973: le_effective_start_date := lemp_effective_start_date;
4966: ' From Pay_People_Groups'||
4967: ' Where pay_people_groups.people_group_id = '||
4968: ':lc_people_group_id';
4969: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4970: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4971: if (stmt_flag = 'T') then
4972: dbms_sql.bind_variable(v_cursorid,':lc_people_group_id',Employee_Rec.people_group_id);
4973: le_effective_start_date := lemp_effective_start_date;
4974: le_effective_end_date := lemp_effective_end_date;
4968: ':lc_people_group_id';
4969: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4970: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4971: if (stmt_flag = 'T') then
4972: dbms_sql.bind_variable(v_cursorid,':lc_people_group_id',Employee_Rec.people_group_id);
4973: le_effective_start_date := lemp_effective_start_date;
4974: le_effective_end_date := lemp_effective_end_date;
4975: end if;
4976: else
4974: le_effective_end_date := lemp_effective_end_date;
4975: end if;
4976: else
4977: if (stmt_flag = 'T') then
4978: dbms_sql.bind_variable(v_cursorid,':lc_people_group_id',Employee_Rec.people_group_id);
4979: le_effective_start_date := lemp_effective_start_date;
4980: le_effective_end_date := lemp_effective_end_date;
4981: end if;
4982: end if;
4991: ':lc_assignment_id'||
4992: ' and pay_cost_allocations.cost_allocation_keyflex_id = '||
4993: ' pay_cost_allocation_keyflex.cost_allocation_keyflex_id '||
4994: ' order by pay_cost_allocations.proportion';
4995: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4996: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4997: if (stmt_flag = 'T') then
4998: dbms_sql.bind_variable(v_cursorid,':lc_assignment_id',Employee_Rec.assignment_id);
4999: le_effective_start_date := lemp_effective_start_date;
4992: ' and pay_cost_allocations.cost_allocation_keyflex_id = '||
4993: ' pay_cost_allocation_keyflex.cost_allocation_keyflex_id '||
4994: ' order by pay_cost_allocations.proportion';
4995: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4996: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4997: if (stmt_flag = 'T') then
4998: dbms_sql.bind_variable(v_cursorid,':lc_assignment_id',Employee_Rec.assignment_id);
4999: le_effective_start_date := lemp_effective_start_date;
5000: le_effective_end_date := lemp_effective_end_date;
4994: ' order by pay_cost_allocations.proportion';
4995: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
4996: dbms_sql.define_column(v_cursorid,1,v_segment,80);
4997: if (stmt_flag = 'T') then
4998: dbms_sql.bind_variable(v_cursorid,':lc_assignment_id',Employee_Rec.assignment_id);
4999: le_effective_start_date := lemp_effective_start_date;
5000: le_effective_end_date := lemp_effective_end_date;
5001: end if;
5002: else
5000: le_effective_end_date := lemp_effective_end_date;
5001: end if;
5002: else
5003: if (stmt_flag = 'T') then
5004: dbms_sql.bind_variable(v_cursorid,':lc_assignment_id',Employee_Rec.assignment_id);
5005: le_effective_start_date := lemp_effective_start_date;
5006: le_effective_end_date := lemp_effective_end_date;
5007: end if;
5008: end if;
5014: l_sql_stmt := 'Select '||l_application_column_name||
5015: ' From hr_soft_coding_keyflex'||
5016: ' Where hr_soft_coding_keyflex.soft_coding_keyflex_id = '||
5017: ':lc_soft_coding_keyflex_id';
5018: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
5019: dbms_sql.define_column(v_cursorid,1,v_segment,80);
5020:
5021: if (stmt_flag = 'T') then
5022: dbms_sql.bind_variable(v_cursorid,':lc_soft_coding_keyflex_id',Employee_Rec.soft_coding_keyflex_id);
5015: ' From hr_soft_coding_keyflex'||
5016: ' Where hr_soft_coding_keyflex.soft_coding_keyflex_id = '||
5017: ':lc_soft_coding_keyflex_id';
5018: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
5019: dbms_sql.define_column(v_cursorid,1,v_segment,80);
5020:
5021: if (stmt_flag = 'T') then
5022: dbms_sql.bind_variable(v_cursorid,':lc_soft_coding_keyflex_id',Employee_Rec.soft_coding_keyflex_id);
5023: le_effective_start_date := lemp_effective_start_date;
5018: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
5019: dbms_sql.define_column(v_cursorid,1,v_segment,80);
5020:
5021: if (stmt_flag = 'T') then
5022: dbms_sql.bind_variable(v_cursorid,':lc_soft_coding_keyflex_id',Employee_Rec.soft_coding_keyflex_id);
5023: le_effective_start_date := lemp_effective_start_date;
5024: le_effective_end_date := lemp_effective_end_date;
5025: end if;
5026: else
5024: le_effective_end_date := lemp_effective_end_date;
5025: end if;
5026: else
5027: if (stmt_flag = 'T') then
5028: dbms_sql.bind_variable(v_cursorid,':lc_soft_coding_keyflex_id',Employee_Rec.soft_coding_keyflex_id);
5029: le_effective_start_date := lemp_effective_start_date;
5030: le_effective_end_date := lemp_effective_end_date;
5031: end if;
5032: end if;
5045: ' And Per_person_analyses.id_flex_num = :lc_id_flex_num '||
5046: ' And Per_person_analyses.analysis_criteria_id = Per_analysis_criteria.analysis_criteria_id '||
5047: ' And Per_person_analyses.id_flex_num = Per_analysis_criteria.id_flex_num';
5048:
5049: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
5050: dbms_sql.define_column(v_cursorid,1,v_segment,80);
5051: dbms_sql.bind_variable(v_cursorid,':lc_id_flex_num', l_id_flex_num);
5052:
5053: if (stmt_flag = 'T') then
5046: ' And Per_person_analyses.analysis_criteria_id = Per_analysis_criteria.analysis_criteria_id '||
5047: ' And Per_person_analyses.id_flex_num = Per_analysis_criteria.id_flex_num';
5048:
5049: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
5050: dbms_sql.define_column(v_cursorid,1,v_segment,80);
5051: dbms_sql.bind_variable(v_cursorid,':lc_id_flex_num', l_id_flex_num);
5052:
5053: if (stmt_flag = 'T') then
5054:
5047: ' And Per_person_analyses.id_flex_num = Per_analysis_criteria.id_flex_num';
5048:
5049: dbms_sql.parse(v_cursorid,l_sql_stmt,dbms_sql.v7);
5050: dbms_sql.define_column(v_cursorid,1,v_segment,80);
5051: dbms_sql.bind_variable(v_cursorid,':lc_id_flex_num', l_id_flex_num);
5052:
5053: if (stmt_flag = 'T') then
5054:
5055: dbms_sql.bind_variable(v_cursorid,':lc_person_id',Employee_Rec.person_id);
5051: dbms_sql.bind_variable(v_cursorid,':lc_id_flex_num', l_id_flex_num);
5052:
5053: if (stmt_flag = 'T') then
5054:
5055: dbms_sql.bind_variable(v_cursorid,':lc_person_id',Employee_Rec.person_id);
5056:
5057: le_effective_start_date := lemp_effective_start_date;
5058: le_effective_end_date := lemp_effective_end_date;
5059:
5059:
5060: end if;
5061: else
5062: if (stmt_flag = 'T') then
5063: dbms_sql.bind_variable(v_cursorid,':lc_person_id',Employee_Rec.person_id);
5064: le_effective_start_date := lemp_effective_start_date;
5065: le_effective_end_date := lemp_effective_end_date;
5066: end if;
5067: end if;
5067: end if;
5068: end if;
5069:
5070: if (stmt_flag = 'T') then
5071: v_dummy := DBMS_SQL.EXECUTE(v_cursorid);
5072:
5073: loop
5074: ctr := ctr + 1;
5075: v_segment := '';
5072:
5073: loop
5074: ctr := ctr + 1;
5075: v_segment := '';
5076: if DBMS_SQL.FETCH_ROWS(v_cursorid) = 0 then
5077: exit;
5078: end if;
5079: dbms_sql.column_value(v_cursorid,1,v_segment);
5080: if (v_segment is not null) then
5075: v_segment := '';
5076: if DBMS_SQL.FETCH_ROWS(v_cursorid) = 0 then
5077: exit;
5078: end if;
5079: dbms_sql.column_value(v_cursorid,1,v_segment);
5080: if (v_segment is not null) then
5081: if (ctr = 1) then
5082:
5083: INSERT INTO PSB_EMPLOYEE_ASSIGNMENTS_I
5116: l_debug_info := 'Starting for person_id '||l_person_id||' definition type DFF';
5117: /* Bug 4075170 End */
5118: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
5119:
5120: if (dbms_sql.IS_OPEN(v_dcursorid)) then
5121: dbms_sql.close_cursor(v_dcursorid);
5122: end if;
5123:
5124: l_attr_link_type := null;
5117: /* Bug 4075170 End */
5118: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
5119:
5120: if (dbms_sql.IS_OPEN(v_dcursorid)) then
5121: dbms_sql.close_cursor(v_dcursorid);
5122: end if;
5123:
5124: l_attr_link_type := null;
5125:
5158: --l_emp_val := Employee_rec.position_id;
5159: end if;
5160: l_attr_link_type := Attr_type_rec.link_type;
5161:
5162: v_dcursorid := dbms_sql.open_cursor;
5163:
5164: /* bug no 3944599 */
5165: IF LTRIM(RTRIM(attr_type_rec.link_type)) = 'HR_ALL_POSITIONS' AND
5166: LTRIM(RTRIM(attr_type_rec.select_tab)) = 'PER_ALL_POSITIONS' AND
5194: if (Attr_type_rec.select_where is not null) then
5195: d_sql_stmt := d_sql_stmt||' and '||Attr_type_rec.select_where;
5196: end if;
5197:
5198: dbms_sql.parse(v_dcursorid,d_sql_stmt,dbms_sql.v7);
5199: dbms_sql.define_column(v_dcursorid,1,v_dsegment,80);
5200: end loop;
5201:
5202: /* Start bug #4302946 */
5195: d_sql_stmt := d_sql_stmt||' and '||Attr_type_rec.select_where;
5196: end if;
5197:
5198: dbms_sql.parse(v_dcursorid,d_sql_stmt,dbms_sql.v7);
5199: dbms_sql.define_column(v_dcursorid,1,v_dsegment,80);
5200: end loop;
5201:
5202: /* Start bug #4302946 */
5203: IF (l_attr_link_type IS NULL) THEN
5225: le_effective_end_date := lpos_effective_end_date;
5226: end if;
5227:
5228: if (l_emp_val is not null) then
5229: dbms_sql.bind_variable(v_dcursorid,':v_emp_val',l_emp_val);
5230:
5231: v_ddummy := DBMS_SQL.EXECUTE(v_dcursorid);
5232:
5233: loop
5227:
5228: if (l_emp_val is not null) then
5229: dbms_sql.bind_variable(v_dcursorid,':v_emp_val',l_emp_val);
5230:
5231: v_ddummy := DBMS_SQL.EXECUTE(v_dcursorid);
5232:
5233: loop
5234: if DBMS_SQL.FETCH_ROWS(v_dcursorid) = 0 then
5235: exit;
5230:
5231: v_ddummy := DBMS_SQL.EXECUTE(v_dcursorid);
5232:
5233: loop
5234: if DBMS_SQL.FETCH_ROWS(v_dcursorid) = 0 then
5235: exit;
5236: end if;
5237:
5238: dbms_sql.column_value(v_dcursorid,1,v_dsegment);
5234: if DBMS_SQL.FETCH_ROWS(v_dcursorid) = 0 then
5235: exit;
5236: end if;
5237:
5238: dbms_sql.column_value(v_dcursorid,1,v_dsegment);
5239:
5240: if (v_dsegment is not null) then
5241:
5242: /* Bug 4075170 Start */
5286: l_debug_info := 'Starting for person_id '||l_person_id||' definition type QC';
5287: /* Bug 4075170 End */
5288:
5289: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
5290: if dbms_sql.is_open(v_qcursorid) then
5291: dbms_sql.close_cursor(v_qcursorid);
5292: end if;
5293:
5294: d_attribute_type := Emp_attribute_rec.definition_type;
5287: /* Bug 4075170 End */
5288:
5289: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
5290: if dbms_sql.is_open(v_qcursorid) then
5291: dbms_sql.close_cursor(v_qcursorid);
5292: end if;
5293:
5294: d_attribute_type := Emp_attribute_rec.definition_type;
5295: d_attribute_type_id := Emp_attribute_rec.attribute_type_id;
5319: from dual;
5320: end;
5321:
5322: --if (l_emp_val is not null) then
5323: v_qcursorid := dbms_sql.open_cursor;
5324: q_sql_stmt := 'Select a.meaning '||
5325: ' From Fnd_Common_lookups a , '||
5326: Attr_type_rec.select_tab||' '||l_alias1||' ,'||
5327: Attr_type_rec.link_type||' '||Attr_type_rec.l_alias2||
5337: if (Attr_type_rec.select_where is not null) then
5338: q_sql_stmt := q_sql_stmt||' and '||Attr_type_rec.select_where;
5339: end if;
5340:
5341: dbms_sql.parse(v_qcursorid,q_sql_stmt,dbms_sql.v7);
5342: dbms_sql.define_column(v_qcursorid,1,v_qsegment,80);
5343: end loop;
5344:
5345: /* Start bug #4302946 */
5338: q_sql_stmt := q_sql_stmt||' and '||Attr_type_rec.select_where;
5339: end if;
5340:
5341: dbms_sql.parse(v_qcursorid,q_sql_stmt,dbms_sql.v7);
5342: dbms_sql.define_column(v_qcursorid,1,v_qsegment,80);
5343: end loop;
5344:
5345: /* Start bug #4302946 */
5346: IF (l_attr_link_type IS NULL) THEN
5368: le_effective_end_date := lpos_effective_end_date;
5369: end if;
5370:
5371: if (l_emp_val is not null) then
5372: dbms_sql.bind_variable(v_qcursorid,':v_emp_val',l_emp_val);
5373:
5374: v_qdummy := DBMS_SQL.EXECUTE(v_qcursorid);
5375:
5376: loop
5370:
5371: if (l_emp_val is not null) then
5372: dbms_sql.bind_variable(v_qcursorid,':v_emp_val',l_emp_val);
5373:
5374: v_qdummy := DBMS_SQL.EXECUTE(v_qcursorid);
5375:
5376: loop
5377: if DBMS_SQL.FETCH_ROWS(v_qcursorid) = 0 then
5378: exit;
5373:
5374: v_qdummy := DBMS_SQL.EXECUTE(v_qcursorid);
5375:
5376: loop
5377: if DBMS_SQL.FETCH_ROWS(v_qcursorid) = 0 then
5378: exit;
5379: end if;
5380:
5381: dbms_sql.column_value(v_qcursorid,1,v_qsegment);
5377: if DBMS_SQL.FETCH_ROWS(v_qcursorid) = 0 then
5378: exit;
5379: end if;
5380:
5381: dbms_sql.column_value(v_qcursorid,1,v_qsegment);
5382:
5383: if (v_qsegment is not null) then
5384:
5385: /* Bug 4075170 Start */
5443: l_debug_info := 'Starting for person_id '||l_person_id||' definition type TABLE';
5444: /* Bug 4075170 End */
5445:
5446: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
5447: if dbms_sql.is_open(v_ocursorid) then
5448: dbms_sql.close_cursor(v_ocursorid);
5449: end if;
5450:
5451: d_attribute_type := Emp_attribute_rec.definition_type;
5444: /* Bug 4075170 End */
5445:
5446: if ((l_attribute_id <> prev_attribute_id) or (prev_attribute_id = -1)) then
5447: if dbms_sql.is_open(v_ocursorid) then
5448: dbms_sql.close_cursor(v_ocursorid);
5449: end if;
5450:
5451: d_attribute_type := Emp_attribute_rec.definition_type;
5452: d_attribute_type_id := Emp_attribute_rec.attribute_type_id;
5465: --l_emp_val := Employee_rec.position_id;
5466: end if;
5467:
5468: l_attr_link_type := Attr_type_rec.link_type;
5469: v_ocursorid := dbms_sql.open_cursor;
5470: Begin
5471: Select ltrim(rtrim(substr(Attr_type_rec.select_table,
5472: instr(Attr_type_rec.select_table,' ',1),
5473: length(Attr_type_rec.select_table) - instr(Attr_type_rec.select_table,' ',1) + 1))) into l_alias1
5495: if (Attr_type_rec.select_where is not null) then
5496: o_sql_stmt := o_sql_stmt||' and '||Attr_type_rec.select_where;
5497: end if;
5498:
5499: dbms_sql.parse(v_ocursorid,o_sql_stmt,dbms_sql.v7);
5500:
5501: if (Emp_attribute_rec.data_type = 'D') then
5502: dbms_sql.define_column(v_ocursorid,1,v_odate);
5503: elsif (Emp_attribute_rec.data_type = 'N') then
5498:
5499: dbms_sql.parse(v_ocursorid,o_sql_stmt,dbms_sql.v7);
5500:
5501: if (Emp_attribute_rec.data_type = 'D') then
5502: dbms_sql.define_column(v_ocursorid,1,v_odate);
5503: elsif (Emp_attribute_rec.data_type = 'N') then
5504: dbms_sql.define_column(v_ocursorid,1,v_onumber);
5505: elsif (Emp_attribute_rec.data_type = 'C') then
5506: dbms_sql.define_column(v_ocursorid,1,v_osegment,80);
5500:
5501: if (Emp_attribute_rec.data_type = 'D') then
5502: dbms_sql.define_column(v_ocursorid,1,v_odate);
5503: elsif (Emp_attribute_rec.data_type = 'N') then
5504: dbms_sql.define_column(v_ocursorid,1,v_onumber);
5505: elsif (Emp_attribute_rec.data_type = 'C') then
5506: dbms_sql.define_column(v_ocursorid,1,v_osegment,80);
5507: end if;
5508:
5502: dbms_sql.define_column(v_ocursorid,1,v_odate);
5503: elsif (Emp_attribute_rec.data_type = 'N') then
5504: dbms_sql.define_column(v_ocursorid,1,v_onumber);
5505: elsif (Emp_attribute_rec.data_type = 'C') then
5506: dbms_sql.define_column(v_ocursorid,1,v_osegment,80);
5507: end if;
5508:
5509: end loop;
5510:
5534: le_effective_end_date := lpos_effective_end_date;
5535: end if;
5536:
5537: if (l_emp_val is not null) then
5538: dbms_sql.bind_variable(v_ocursorid,':v_emp_val',l_emp_val);
5539: v_odummy := DBMS_SQL.EXECUTE(v_ocursorid);
5540:
5541: loop
5542: if DBMS_SQL.FETCH_ROWS(v_ocursorid) = 0 then
5535: end if;
5536:
5537: if (l_emp_val is not null) then
5538: dbms_sql.bind_variable(v_ocursorid,':v_emp_val',l_emp_val);
5539: v_odummy := DBMS_SQL.EXECUTE(v_ocursorid);
5540:
5541: loop
5542: if DBMS_SQL.FETCH_ROWS(v_ocursorid) = 0 then
5543: exit;
5538: dbms_sql.bind_variable(v_ocursorid,':v_emp_val',l_emp_val);
5539: v_odummy := DBMS_SQL.EXECUTE(v_ocursorid);
5540:
5541: loop
5542: if DBMS_SQL.FETCH_ROWS(v_ocursorid) = 0 then
5543: exit;
5544: end if;
5545: if (Emp_attribute_rec.data_type = 'D') then
5546: begin
5543: exit;
5544: end if;
5545: if (Emp_attribute_rec.data_type = 'D') then
5546: begin
5547: dbms_sql.column_value(v_ocursorid,1,v_odate);
5548: v_osegment := fnd_date.date_to_canonical(v_odate);
5549: exception
5550: when OTHERS then -- Bug #4658351: Changed VALUE_ERROR to OTHERS
5551:
5557:
5558: end;
5559: elsif (Emp_attribute_rec.data_type = 'N') then
5560: begin
5561: dbms_sql.column_value(v_ocursorid,1,v_onumber);
5562: v_osegment := fnd_number.number_to_canonical(v_onumber);
5563: exception
5564: when INVALID_NUMBER then
5565:
5571:
5572: end;
5573:
5574: elsif (Emp_attribute_rec.data_type = 'C') then
5575: dbms_sql.column_value(v_ocursorid,1,v_osegment);
5576: end if;
5577:
5578: if (v_osegment is not null) then
5579:
5622: Loop
5623: l_id_flex_num := C_job_structure_rec.job_structure;
5624: End Loop;
5625:
5626: if dbms_sql.is_open(v_jcursorid) then
5627: dbms_sql.close_cursor(v_jcursorid);
5628: end if;
5629:
5630: v_jcursorid := DBMS_SQL.OPEN_CURSOR;
5623: l_id_flex_num := C_job_structure_rec.job_structure;
5624: End Loop;
5625:
5626: if dbms_sql.is_open(v_jcursorid) then
5627: dbms_sql.close_cursor(v_jcursorid);
5628: end if;
5629:
5630: v_jcursorid := DBMS_SQL.OPEN_CURSOR;
5631: l_job_stmt := 'Select concatenated_segments '||
5626: if dbms_sql.is_open(v_jcursorid) then
5627: dbms_sql.close_cursor(v_jcursorid);
5628: end if;
5629:
5630: v_jcursorid := DBMS_SQL.OPEN_CURSOR;
5631: l_job_stmt := 'Select concatenated_segments '||
5632: 'from per_jobs pj,per_job_definitions_kfv pjv '||
5633: 'where pj.job_id = '||':lc_job_id'||
5634: ' and pj.job_definition_id = pjv.job_definition_id '||
5633: 'where pj.job_id = '||':lc_job_id'||
5634: ' and pj.job_definition_id = pjv.job_definition_id '||
5635: ' and pjv.id_flex_num = '||l_id_flex_num;
5636:
5637: dbms_sql.parse(v_jcursorid,l_job_stmt,dbms_sql.v7);
5638: dbms_sql.define_column(v_jcursorid,1,l_concatenated_segments,80);
5639: end if;*/
5640:
5641: l_job_id := Employee_rec.job_id;
5634: ' and pj.job_definition_id = pjv.job_definition_id '||
5635: ' and pjv.id_flex_num = '||l_id_flex_num;
5636:
5637: dbms_sql.parse(v_jcursorid,l_job_stmt,dbms_sql.v7);
5638: dbms_sql.define_column(v_jcursorid,1,l_concatenated_segments,80);
5639: end if;*/
5640:
5641: l_job_id := Employee_rec.job_id;
5642: le_effective_start_date := lpos_effective_start_date;
5642: le_effective_start_date := lpos_effective_start_date;
5643: le_effective_end_date := lpos_effective_end_date;
5644:
5645: -- Commented out for bug number 3159157
5646: /*dbms_sql.bind_variable(v_jcursorid,':lc_job_id',l_job_id);
5647: v_jdummy := DBMS_SQL.EXECUTE(v_jcursorid);*/
5648:
5649: For C_job_name_rec in C_job_name
5650: Loop
5643: le_effective_end_date := lpos_effective_end_date;
5644:
5645: -- Commented out for bug number 3159157
5646: /*dbms_sql.bind_variable(v_jcursorid,':lc_job_id',l_job_id);
5647: v_jdummy := DBMS_SQL.EXECUTE(v_jcursorid);*/
5648:
5649: For C_job_name_rec in C_job_name
5650: Loop
5651: l_job_name := C_job_name_rec.name;
6024:
6025: end loop; --C_Employees
6026:
6027:
6028: if (dbms_sql.is_open(v_cursorid)) then
6029: dbms_sql.close_cursor(v_cursorid);
6030: end if;
6031:
6032: if (dbms_sql.is_open(v_dcursorid)) then
6025: end loop; --C_Employees
6026:
6027:
6028: if (dbms_sql.is_open(v_cursorid)) then
6029: dbms_sql.close_cursor(v_cursorid);
6030: end if;
6031:
6032: if (dbms_sql.is_open(v_dcursorid)) then
6033: dbms_sql.close_cursor(v_dcursorid);
6028: if (dbms_sql.is_open(v_cursorid)) then
6029: dbms_sql.close_cursor(v_cursorid);
6030: end if;
6031:
6032: if (dbms_sql.is_open(v_dcursorid)) then
6033: dbms_sql.close_cursor(v_dcursorid);
6034: end if;
6035:
6036: if (dbms_sql.is_open(v_qcursorid)) then
6029: dbms_sql.close_cursor(v_cursorid);
6030: end if;
6031:
6032: if (dbms_sql.is_open(v_dcursorid)) then
6033: dbms_sql.close_cursor(v_dcursorid);
6034: end if;
6035:
6036: if (dbms_sql.is_open(v_qcursorid)) then
6037: dbms_sql.close_cursor(v_qcursorid);
6032: if (dbms_sql.is_open(v_dcursorid)) then
6033: dbms_sql.close_cursor(v_dcursorid);
6034: end if;
6035:
6036: if (dbms_sql.is_open(v_qcursorid)) then
6037: dbms_sql.close_cursor(v_qcursorid);
6038: end if;
6039:
6040: if (dbms_sql.is_open(v_ocursorid)) then
6033: dbms_sql.close_cursor(v_dcursorid);
6034: end if;
6035:
6036: if (dbms_sql.is_open(v_qcursorid)) then
6037: dbms_sql.close_cursor(v_qcursorid);
6038: end if;
6039:
6040: if (dbms_sql.is_open(v_ocursorid)) then
6041: dbms_sql.close_cursor(v_ocursorid);
6036: if (dbms_sql.is_open(v_qcursorid)) then
6037: dbms_sql.close_cursor(v_qcursorid);
6038: end if;
6039:
6040: if (dbms_sql.is_open(v_ocursorid)) then
6041: dbms_sql.close_cursor(v_ocursorid);
6042: end if;
6043:
6044: if (dbms_sql.is_open(v_jcursorid)) then
6037: dbms_sql.close_cursor(v_qcursorid);
6038: end if;
6039:
6040: if (dbms_sql.is_open(v_ocursorid)) then
6041: dbms_sql.close_cursor(v_ocursorid);
6042: end if;
6043:
6044: if (dbms_sql.is_open(v_jcursorid)) then
6045: dbms_sql.close_cursor(v_jcursorid);
6040: if (dbms_sql.is_open(v_ocursorid)) then
6041: dbms_sql.close_cursor(v_ocursorid);
6042: end if;
6043:
6044: if (dbms_sql.is_open(v_jcursorid)) then
6045: dbms_sql.close_cursor(v_jcursorid);
6046: end if;
6047:
6048: prev_attribute_id := l_attribute_id;
6041: dbms_sql.close_cursor(v_ocursorid);
6042: end if;
6043:
6044: if (dbms_sql.is_open(v_jcursorid)) then
6045: dbms_sql.close_cursor(v_jcursorid);
6046: end if;
6047:
6048: prev_attribute_id := l_attribute_id;
6049:
6189: ||'failed due to the following error');
6190: FND_FILE.PUT_LINE(FND_FILE.LOG, sqlerrm);
6191: /* Bug 4075170 End */
6192:
6193: if (dbms_sql.is_open(v_cursorid)) then
6194: dbms_sql.close_cursor(v_cursorid);
6195: end if;
6196:
6197: if (dbms_sql.is_open(v_dcursorid)) then
6190: FND_FILE.PUT_LINE(FND_FILE.LOG, sqlerrm);
6191: /* Bug 4075170 End */
6192:
6193: if (dbms_sql.is_open(v_cursorid)) then
6194: dbms_sql.close_cursor(v_cursorid);
6195: end if;
6196:
6197: if (dbms_sql.is_open(v_dcursorid)) then
6198: dbms_sql.close_cursor(v_dcursorid);
6193: if (dbms_sql.is_open(v_cursorid)) then
6194: dbms_sql.close_cursor(v_cursorid);
6195: end if;
6196:
6197: if (dbms_sql.is_open(v_dcursorid)) then
6198: dbms_sql.close_cursor(v_dcursorid);
6199: end if;
6200:
6201: if (dbms_sql.is_open(v_qcursorid)) then
6194: dbms_sql.close_cursor(v_cursorid);
6195: end if;
6196:
6197: if (dbms_sql.is_open(v_dcursorid)) then
6198: dbms_sql.close_cursor(v_dcursorid);
6199: end if;
6200:
6201: if (dbms_sql.is_open(v_qcursorid)) then
6202: dbms_sql.close_cursor(v_qcursorid);
6197: if (dbms_sql.is_open(v_dcursorid)) then
6198: dbms_sql.close_cursor(v_dcursorid);
6199: end if;
6200:
6201: if (dbms_sql.is_open(v_qcursorid)) then
6202: dbms_sql.close_cursor(v_qcursorid);
6203: end if;
6204:
6205: if (dbms_sql.is_open(v_ocursorid)) then
6198: dbms_sql.close_cursor(v_dcursorid);
6199: end if;
6200:
6201: if (dbms_sql.is_open(v_qcursorid)) then
6202: dbms_sql.close_cursor(v_qcursorid);
6203: end if;
6204:
6205: if (dbms_sql.is_open(v_ocursorid)) then
6206: dbms_sql.close_cursor(v_ocursorid);
6201: if (dbms_sql.is_open(v_qcursorid)) then
6202: dbms_sql.close_cursor(v_qcursorid);
6203: end if;
6204:
6205: if (dbms_sql.is_open(v_ocursorid)) then
6206: dbms_sql.close_cursor(v_ocursorid);
6207: end if;
6208:
6209: if (dbms_sql.is_open(v_jcursorid)) then
6202: dbms_sql.close_cursor(v_qcursorid);
6203: end if;
6204:
6205: if (dbms_sql.is_open(v_ocursorid)) then
6206: dbms_sql.close_cursor(v_ocursorid);
6207: end if;
6208:
6209: if (dbms_sql.is_open(v_jcursorid)) then
6210: dbms_sql.close_cursor(v_jcursorid);
6205: if (dbms_sql.is_open(v_ocursorid)) then
6206: dbms_sql.close_cursor(v_ocursorid);
6207: end if;
6208:
6209: if (dbms_sql.is_open(v_jcursorid)) then
6210: dbms_sql.close_cursor(v_jcursorid);
6211: end if;
6212:
6213: rollback to Get_Employee_Attributes;
6206: dbms_sql.close_cursor(v_ocursorid);
6207: end if;
6208:
6209: if (dbms_sql.is_open(v_jcursorid)) then
6210: dbms_sql.close_cursor(v_jcursorid);
6211: end if;
6212:
6213: rollback to Get_Employee_Attributes;
6214: p_return_status := FND_API.G_RET_STS_ERROR;
6234: ||'failed due to the following error');
6235: FND_FILE.PUT_LINE(FND_FILE.LOG, sqlerrm);
6236: /* Bug 4075170 End */
6237:
6238: if (dbms_sql.is_open(v_cursorid)) then
6239: dbms_sql.close_cursor(v_cursorid);
6240: end if;
6241:
6242: if (dbms_sql.is_open(v_dcursorid)) then
6235: FND_FILE.PUT_LINE(FND_FILE.LOG, sqlerrm);
6236: /* Bug 4075170 End */
6237:
6238: if (dbms_sql.is_open(v_cursorid)) then
6239: dbms_sql.close_cursor(v_cursorid);
6240: end if;
6241:
6242: if (dbms_sql.is_open(v_dcursorid)) then
6243: dbms_sql.close_cursor(v_dcursorid);
6238: if (dbms_sql.is_open(v_cursorid)) then
6239: dbms_sql.close_cursor(v_cursorid);
6240: end if;
6241:
6242: if (dbms_sql.is_open(v_dcursorid)) then
6243: dbms_sql.close_cursor(v_dcursorid);
6244: end if;
6245:
6246: if (dbms_sql.is_open(v_qcursorid)) then
6239: dbms_sql.close_cursor(v_cursorid);
6240: end if;
6241:
6242: if (dbms_sql.is_open(v_dcursorid)) then
6243: dbms_sql.close_cursor(v_dcursorid);
6244: end if;
6245:
6246: if (dbms_sql.is_open(v_qcursorid)) then
6247: dbms_sql.close_cursor(v_qcursorid);
6242: if (dbms_sql.is_open(v_dcursorid)) then
6243: dbms_sql.close_cursor(v_dcursorid);
6244: end if;
6245:
6246: if (dbms_sql.is_open(v_qcursorid)) then
6247: dbms_sql.close_cursor(v_qcursorid);
6248: end if;
6249:
6250: if (dbms_sql.is_open(v_ocursorid)) then
6243: dbms_sql.close_cursor(v_dcursorid);
6244: end if;
6245:
6246: if (dbms_sql.is_open(v_qcursorid)) then
6247: dbms_sql.close_cursor(v_qcursorid);
6248: end if;
6249:
6250: if (dbms_sql.is_open(v_ocursorid)) then
6251: dbms_sql.close_cursor(v_ocursorid);
6246: if (dbms_sql.is_open(v_qcursorid)) then
6247: dbms_sql.close_cursor(v_qcursorid);
6248: end if;
6249:
6250: if (dbms_sql.is_open(v_ocursorid)) then
6251: dbms_sql.close_cursor(v_ocursorid);
6252: end if;
6253:
6254: if (dbms_sql.is_open(v_jcursorid)) then
6247: dbms_sql.close_cursor(v_qcursorid);
6248: end if;
6249:
6250: if (dbms_sql.is_open(v_ocursorid)) then
6251: dbms_sql.close_cursor(v_ocursorid);
6252: end if;
6253:
6254: if (dbms_sql.is_open(v_jcursorid)) then
6255: dbms_sql.close_cursor(v_jcursorid);
6250: if (dbms_sql.is_open(v_ocursorid)) then
6251: dbms_sql.close_cursor(v_ocursorid);
6252: end if;
6253:
6254: if (dbms_sql.is_open(v_jcursorid)) then
6255: dbms_sql.close_cursor(v_jcursorid);
6256: end if;
6257:
6258: rollback to Get_Employee_Attributes;
6251: dbms_sql.close_cursor(v_ocursorid);
6252: end if;
6253:
6254: if (dbms_sql.is_open(v_jcursorid)) then
6255: dbms_sql.close_cursor(v_jcursorid);
6256: end if;
6257:
6258: rollback to Get_Employee_Attributes;
6259: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6279: ||'failed due to the following error');
6280: FND_FILE.PUT_LINE(FND_FILE.LOG, sqlerrm);
6281: /* Bug 4075170 End */
6282:
6283: if (dbms_sql.is_open(v_cursorid)) then
6284: dbms_sql.close_cursor(v_cursorid);
6285: end if;
6286:
6287: if (dbms_sql.is_open(v_dcursorid)) then
6280: FND_FILE.PUT_LINE(FND_FILE.LOG, sqlerrm);
6281: /* Bug 4075170 End */
6282:
6283: if (dbms_sql.is_open(v_cursorid)) then
6284: dbms_sql.close_cursor(v_cursorid);
6285: end if;
6286:
6287: if (dbms_sql.is_open(v_dcursorid)) then
6288: dbms_sql.close_cursor(v_dcursorid);
6283: if (dbms_sql.is_open(v_cursorid)) then
6284: dbms_sql.close_cursor(v_cursorid);
6285: end if;
6286:
6287: if (dbms_sql.is_open(v_dcursorid)) then
6288: dbms_sql.close_cursor(v_dcursorid);
6289: end if;
6290:
6291: if (dbms_sql.is_open(v_qcursorid)) then
6284: dbms_sql.close_cursor(v_cursorid);
6285: end if;
6286:
6287: if (dbms_sql.is_open(v_dcursorid)) then
6288: dbms_sql.close_cursor(v_dcursorid);
6289: end if;
6290:
6291: if (dbms_sql.is_open(v_qcursorid)) then
6292: dbms_sql.close_cursor(v_qcursorid);
6287: if (dbms_sql.is_open(v_dcursorid)) then
6288: dbms_sql.close_cursor(v_dcursorid);
6289: end if;
6290:
6291: if (dbms_sql.is_open(v_qcursorid)) then
6292: dbms_sql.close_cursor(v_qcursorid);
6293: end if;
6294:
6295: if (dbms_sql.is_open(v_ocursorid)) then
6288: dbms_sql.close_cursor(v_dcursorid);
6289: end if;
6290:
6291: if (dbms_sql.is_open(v_qcursorid)) then
6292: dbms_sql.close_cursor(v_qcursorid);
6293: end if;
6294:
6295: if (dbms_sql.is_open(v_ocursorid)) then
6296: dbms_sql.close_cursor(v_ocursorid);
6291: if (dbms_sql.is_open(v_qcursorid)) then
6292: dbms_sql.close_cursor(v_qcursorid);
6293: end if;
6294:
6295: if (dbms_sql.is_open(v_ocursorid)) then
6296: dbms_sql.close_cursor(v_ocursorid);
6297: end if;
6298:
6299: if (dbms_sql.is_open(v_jcursorid)) then
6292: dbms_sql.close_cursor(v_qcursorid);
6293: end if;
6294:
6295: if (dbms_sql.is_open(v_ocursorid)) then
6296: dbms_sql.close_cursor(v_ocursorid);
6297: end if;
6298:
6299: if (dbms_sql.is_open(v_jcursorid)) then
6300: dbms_sql.close_cursor(v_jcursorid);
6295: if (dbms_sql.is_open(v_ocursorid)) then
6296: dbms_sql.close_cursor(v_ocursorid);
6297: end if;
6298:
6299: if (dbms_sql.is_open(v_jcursorid)) then
6300: dbms_sql.close_cursor(v_jcursorid);
6301: end if;
6302: rollback to Get_Employee_Attributes;
6303: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6296: dbms_sql.close_cursor(v_ocursorid);
6297: end if;
6298:
6299: if (dbms_sql.is_open(v_jcursorid)) then
6300: dbms_sql.close_cursor(v_jcursorid);
6301: end if;
6302: rollback to Get_Employee_Attributes;
6303: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6304: FND_MSG_PUB.Count_And_Get (p_count => p_msg_count,
7245: l_application_column_name := C_dff_str_rec.application_column_name;
7246: End Loop;
7247: End Loop;
7248:
7249: v_dcursorid := dbms_sql.open_cursor;
7250:
7251: d_sql_stmt := 'Select '||l_alias1||'.' ||l_application_column_name||
7252: ' From '||C_Attribute_Types_Rec.select_tab||' '||
7253: l_alias1||' , '||
7263: if (C_Attribute_Types_Rec.select_where is not null) then
7264: d_sql_stmt := d_sql_stmt||' and '||C_Attribute_Types_Rec.select_where;
7265: end if;
7266:
7267: dbms_sql.parse(v_dcursorid,d_sql_stmt,dbms_sql.v7);
7268:
7269: -- dff code
7270: elsif (C_Attribute_Types_Rec.attribute_type = 'TABLE') then
7271: v_ocursorid := dbms_sql.open_cursor;
7267: dbms_sql.parse(v_dcursorid,d_sql_stmt,dbms_sql.v7);
7268:
7269: -- dff code
7270: elsif (C_Attribute_Types_Rec.attribute_type = 'TABLE') then
7271: v_ocursorid := dbms_sql.open_cursor;
7272: if (C_Attribute_Types_Rec.select_table = C_Attribute_Types_Rec.link_type) then
7273: o_sql_stmt := 'Select '||
7274: C_Attribute_Types_Rec.select_column||
7275: ' From '||C_Attribute_Types_Rec.select_tab||
7294: if (C_Attribute_Types_Rec.select_where is not null) then
7295: o_sql_stmt := o_sql_stmt||' and '||C_Attribute_Types_Rec.select_where;
7296: end if;
7297:
7298: dbms_sql.parse(v_ocursorid,o_sql_stmt,dbms_sql.v7);
7299: -- table code
7300: elsif (C_Attribute_Types_Rec.attribute_type = 'QC') then
7301: v_qcursorid := dbms_sql.open_cursor;
7302: q_sql_stmt := 'Select a.meaning '||
7297:
7298: dbms_sql.parse(v_ocursorid,o_sql_stmt,dbms_sql.v7);
7299: -- table code
7300: elsif (C_Attribute_Types_Rec.attribute_type = 'QC') then
7301: v_qcursorid := dbms_sql.open_cursor;
7302: q_sql_stmt := 'Select a.meaning '||
7303: ' From Fnd_Common_lookups a , '||
7304: C_Attribute_Types_Rec.select_tab||' '||l_alias1||' ,'||
7305: C_Attribute_Types_Rec.link_type||' '||
7318: if (C_Attribute_Types_Rec.select_where is not null) then
7319: q_sql_stmt := q_sql_stmt||' and '||C_Attribute_Types_Rec.select_where;
7320: end if;
7321:
7322: dbms_sql.parse(v_qcursorid,q_sql_stmt,dbms_sql.v7);
7323: -- qc code
7324: end if;
7325: End Loop;
7326: -- End of API body.