712: -- it is likely that the parser would interpret it as
713: -- ' where to_char(person_id) = p_resource_attr_value '
714: -- which might impact the performance
715:
716: l_cursor := dbms_sql.open_cursor;
717:
718: l_statement := 'Select unit_of_measure,rollup_quantity_flag ,'||
719: ' track_as_labor_flag from ';
720:
756: l_statement :=
757: l_statement ||'pa_project_roles_res_v where project_role_id = :project_role_id ';
758: END IF;
759:
760: dbms_sql.parse(l_cursor, l_statement, dbms_sql.native);
761:
762: IF (p_resource_type_code = 'EMPLOYEE') THEN
763: dbms_sql.bind_variable
764: (l_cursor, 'person_id', l_person_id );
759:
760: dbms_sql.parse(l_cursor, l_statement, dbms_sql.native);
761:
762: IF (p_resource_type_code = 'EMPLOYEE') THEN
763: dbms_sql.bind_variable
764: (l_cursor, 'person_id', l_person_id );
765: ELSIF p_resource_type_code = 'JOB' THEN
766: dbms_sql.bind_variable
767: (l_cursor, 'job_id', l_job_id );
762: IF (p_resource_type_code = 'EMPLOYEE') THEN
763: dbms_sql.bind_variable
764: (l_cursor, 'person_id', l_person_id );
765: ELSIF p_resource_type_code = 'JOB' THEN
766: dbms_sql.bind_variable
767: (l_cursor, 'job_id', l_job_id );
768: ELSIF p_resource_type_code = 'ORGANIZATION' THEN
769: dbms_sql.bind_variable
770: (l_cursor, 'organization_id', l_organization_id );
765: ELSIF p_resource_type_code = 'JOB' THEN
766: dbms_sql.bind_variable
767: (l_cursor, 'job_id', l_job_id );
768: ELSIF p_resource_type_code = 'ORGANIZATION' THEN
769: dbms_sql.bind_variable
770: (l_cursor, 'organization_id', l_organization_id );
771: ELSIF p_resource_type_code = 'VENDOR' THEN
772: dbms_sql.bind_variable
773: (l_cursor, 'vendor_id', l_vendor_id );
768: ELSIF p_resource_type_code = 'ORGANIZATION' THEN
769: dbms_sql.bind_variable
770: (l_cursor, 'organization_id', l_organization_id );
771: ELSIF p_resource_type_code = 'VENDOR' THEN
772: dbms_sql.bind_variable
773: (l_cursor, 'vendor_id', l_vendor_id );
774: ELSIF p_resource_type_code = 'EXPENDITURE_TYPE' THEN
775: dbms_sql.bind_variable
776: (l_cursor, 'expenditure_type', p_resource_attr_value );
771: ELSIF p_resource_type_code = 'VENDOR' THEN
772: dbms_sql.bind_variable
773: (l_cursor, 'vendor_id', l_vendor_id );
774: ELSIF p_resource_type_code = 'EXPENDITURE_TYPE' THEN
775: dbms_sql.bind_variable
776: (l_cursor, 'expenditure_type', p_resource_attr_value );
777: ELSIF p_resource_type_code = 'EVENT_TYPE' THEN
778: dbms_sql.bind_variable
779: (l_cursor, 'event_type', p_resource_attr_value );
774: ELSIF p_resource_type_code = 'EXPENDITURE_TYPE' THEN
775: dbms_sql.bind_variable
776: (l_cursor, 'expenditure_type', p_resource_attr_value );
777: ELSIF p_resource_type_code = 'EVENT_TYPE' THEN
778: dbms_sql.bind_variable
779: (l_cursor, 'event_type', p_resource_attr_value );
780: ELSIF p_resource_type_code = 'EXPENDITURE_CATEGORY' THEN
781: dbms_sql.bind_variable
782: (l_cursor, 'expenditure_category', p_resource_attr_value );
777: ELSIF p_resource_type_code = 'EVENT_TYPE' THEN
778: dbms_sql.bind_variable
779: (l_cursor, 'event_type', p_resource_attr_value );
780: ELSIF p_resource_type_code = 'EXPENDITURE_CATEGORY' THEN
781: dbms_sql.bind_variable
782: (l_cursor, 'expenditure_category', p_resource_attr_value );
783: ELSIF p_resource_type_code = 'REVENUE_CATEGORY' THEN
784: dbms_sql.bind_variable
785: (l_cursor, 'revenue_category_code', p_resource_attr_value );
780: ELSIF p_resource_type_code = 'EXPENDITURE_CATEGORY' THEN
781: dbms_sql.bind_variable
782: (l_cursor, 'expenditure_category', p_resource_attr_value );
783: ELSIF p_resource_type_code = 'REVENUE_CATEGORY' THEN
784: dbms_sql.bind_variable
785: (l_cursor, 'revenue_category_code', p_resource_attr_value );
786: ELSIF p_resource_type_code = 'PROJECT_ROLE' THEN
787: dbms_sql.bind_variable
788: (l_cursor, 'project_role_id', l_project_role_id );
783: ELSIF p_resource_type_code = 'REVENUE_CATEGORY' THEN
784: dbms_sql.bind_variable
785: (l_cursor, 'revenue_category_code', p_resource_attr_value );
786: ELSIF p_resource_type_code = 'PROJECT_ROLE' THEN
787: dbms_sql.bind_variable
788: (l_cursor, 'project_role_id', l_project_role_id );
789: END IF;
790: p_err_stage := 'Select unit_of_measure...from ... ';
791: dbms_sql.define_column (l_cursor, 1, l_uom,30);
787: dbms_sql.bind_variable
788: (l_cursor, 'project_role_id', l_project_role_id );
789: END IF;
790: p_err_stage := 'Select unit_of_measure...from ... ';
791: dbms_sql.define_column (l_cursor, 1, l_uom,30);
792: dbms_sql.define_column (l_cursor, 2, l_rollup_qty_flag,1);
793: dbms_sql.define_column (l_cursor, 3, l_track_as_labor_flag,1);
794:
795: l_rows := dbms_sql.execute(l_cursor);
788: (l_cursor, 'project_role_id', l_project_role_id );
789: END IF;
790: p_err_stage := 'Select unit_of_measure...from ... ';
791: dbms_sql.define_column (l_cursor, 1, l_uom,30);
792: dbms_sql.define_column (l_cursor, 2, l_rollup_qty_flag,1);
793: dbms_sql.define_column (l_cursor, 3, l_track_as_labor_flag,1);
794:
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
789: END IF;
790: p_err_stage := 'Select unit_of_measure...from ... ';
791: dbms_sql.define_column (l_cursor, 1, l_uom,30);
792: dbms_sql.define_column (l_cursor, 2, l_rollup_qty_flag,1);
793: dbms_sql.define_column (l_cursor, 3, l_track_as_labor_flag,1);
794:
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
797: dbms_sql.column_value (l_cursor, 1, l_uom);
791: dbms_sql.define_column (l_cursor, 1, l_uom,30);
792: dbms_sql.define_column (l_cursor, 2, l_rollup_qty_flag,1);
793: dbms_sql.define_column (l_cursor, 3, l_track_as_labor_flag,1);
794:
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
797: dbms_sql.column_value (l_cursor, 1, l_uom);
798: dbms_sql.column_value (l_cursor, 2, l_rollup_qty_flag);
799: dbms_sql.column_value (l_cursor, 3, l_track_as_labor_flag);
792: dbms_sql.define_column (l_cursor, 2, l_rollup_qty_flag,1);
793: dbms_sql.define_column (l_cursor, 3, l_track_as_labor_flag,1);
794:
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
797: dbms_sql.column_value (l_cursor, 1, l_uom);
798: dbms_sql.column_value (l_cursor, 2, l_rollup_qty_flag);
799: dbms_sql.column_value (l_cursor, 3, l_track_as_labor_flag);
800: p_unit_of_measure := l_uom;
793: dbms_sql.define_column (l_cursor, 3, l_track_as_labor_flag,1);
794:
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
797: dbms_sql.column_value (l_cursor, 1, l_uom);
798: dbms_sql.column_value (l_cursor, 2, l_rollup_qty_flag);
799: dbms_sql.column_value (l_cursor, 3, l_track_as_labor_flag);
800: p_unit_of_measure := l_uom;
801: p_rollup_quantity_flag := l_rollup_qty_flag;
794:
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
797: dbms_sql.column_value (l_cursor, 1, l_uom);
798: dbms_sql.column_value (l_cursor, 2, l_rollup_qty_flag);
799: dbms_sql.column_value (l_cursor, 3, l_track_as_labor_flag);
800: p_unit_of_measure := l_uom;
801: p_rollup_quantity_flag := l_rollup_qty_flag;
802: p_track_as_labor_flag := l_track_as_labor_flag;
795: l_rows := dbms_sql.execute(l_cursor);
796: IF dbms_sql.fetch_rows( l_cursor ) > 0 THEN
797: dbms_sql.column_value (l_cursor, 1, l_uom);
798: dbms_sql.column_value (l_cursor, 2, l_rollup_qty_flag);
799: dbms_sql.column_value (l_cursor, 3, l_track_as_labor_flag);
800: p_unit_of_measure := l_uom;
801: p_rollup_quantity_flag := l_rollup_qty_flag;
802: p_track_as_labor_flag := l_track_as_labor_flag;
803: ELSE -- if no rows were returned then the input is not a valid
835: p_err_stage := 'PA_INVALID_PROJECT_ROLE';
836: END IF;
837: RETURN;
838: END IF;
839: IF dbms_sql.is_open (l_cursor) THEN
840: dbms_sql.close_cursor (l_cursor);
841: END IF;
842: p_err_stack := l_old_stack;
843:
836: END IF;
837: RETURN;
838: END IF;
839: IF dbms_sql.is_open (l_cursor) THEN
840: dbms_sql.close_cursor (l_cursor);
841: END IF;
842: p_err_stack := l_old_stack;
843:
844: -- 4537865 Included Exception Handling - WHEN OTHERS Block