DBA Data[Home] [Help]

APPS.WIP_RESOURCE_VALIDATIONS SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 25

/* resource_seq_num, resource_id NOT NULL when delete/change resource */
procedure del_res_info_exist(p_group_id                 in number,
                             p_wip_entity_id            in number,
                             p_organization_id          in number,
                             p_substitution_type        in number,
                             p_operation_seq_num        in number) IS

  cursor c_invalid_rows is
    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (   wjdi.resource_seq_num is null
            or wjdi.resource_id_old is null);
Line: 66

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where group_id = p_group_id
       and process_phase = wip_constants.ml_validation
       and process_status in (wip_constants.running,
                              wip_constants.warning)
       and wip_entity_id = p_wip_entity_id
       and organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (   wjdi.resource_seq_num is null
            or wjdi.resource_id_old is null);
Line: 95

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_old = p_resource_id_old
       and not (  (exists (select 1
                         from wip_operation_resources wor
                        where wor.wip_entity_id = wjdi.wip_entity_id
                          and wor.organization_id = wjdi.organization_id
                          and wor.operation_seq_num = wjdi.operation_seq_num
                          and wor.resource_seq_num = wjdi.resource_seq_num
                          and wor.resource_id = wjdi.resource_id_old))
                          or
                         (exists (select 1
                         from wip_sub_operation_resources wsor
                        where wsor.wip_entity_id = wjdi.wip_entity_id
                          and wsor.organization_id = wjdi.organization_id
                          and wsor.operation_seq_num = wjdi.operation_seq_num
                          and wsor.resource_seq_num = wjdi.resource_seq_num
                          and wsor.resource_id = wjdi.resource_id_old))
                      );
Line: 144

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where group_id = p_group_id
       and process_phase = wip_constants.ml_validation
       and process_status in (wip_constants.running,
                              wip_constants.warning)
       and wip_entity_id = p_wip_entity_id
       and organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_old = p_resource_id_old
       and not (  (exists (select 1
                         from wip_operation_resources wor
                        where wor.wip_entity_id = wjdi.wip_entity_id
                          and wor.organization_id = wjdi.organization_id
                          and wor.operation_seq_num = wjdi.operation_seq_num
                          and wor.resource_seq_num = wjdi.resource_seq_num
                          and wor.resource_id = wjdi.resource_id_old))
                          or
                         (exists (select 1
                         from wip_sub_operation_resources wsor
                        where wsor.wip_entity_id = wjdi.wip_entity_id
                          and wsor.organization_id = wjdi.organization_id
                          and wsor.operation_seq_num = wjdi.operation_seq_num
                          and wsor.resource_seq_num = wjdi.resource_seq_num
                          and wsor.resource_id = wjdi.resource_id_old))
                      );
Line: 177

Procedure Safe_Delete (p_group_id               number,
                        p_wip_entity_id         number,
                        p_organization_id       number,
                        p_substitution_type     number,
                        p_operation_seq_num     number,
                        p_resource_seq_num      number,
                        p_resource_id_old       number) IS

  cursor c_invalid_wor_rows is
    select interface_id
      from wip_job_dtls_interface wjdi, wip_operation_resources wor
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wor.wip_entity_id = p_wip_entity_id
       and wor.organization_id = p_organization_id
       and wor.operation_seq_num = p_operation_seq_num
       and wor.resource_seq_num = p_resource_seq_num
       and wor.resource_id = p_resource_id_old
       and wor.applied_resource_units <> 0;
Line: 205

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (   exists (select 1
                        from wip_transactions wt
                       where wt.wip_entity_id = p_wip_entity_id
                         and wt.organization_id = p_organization_id
                         and wt.operation_seq_num = p_operation_seq_num
                         and wt.resource_seq_num = p_resource_seq_num
                         and wt.resource_id = p_resource_id_old)
            or exists (select 1
                         from wip_cost_txn_interface wcti, bom_resources br
                        where wcti.wip_entity_id = p_wip_entity_id
                          and wcti.organization_id = p_organization_id
                          and wcti.operation_seq_num = p_operation_seq_num
                          and wcti.resource_seq_num = p_resource_seq_num
                          and wcti.resource_code = br.resource_code (+)
                          and wcti.organization_id = br.organization_id (+)
                          and (   wcti.resource_id = p_resource_id_old
                               or br.resource_id = p_resource_id_old))
           );
Line: 254

    update wip_job_dtls_interface wjdi
       set wjdi.process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and exists (select 1
                     from wip_operation_resources wor
                    where wor.wip_entity_id = p_wip_entity_id
                      and wor.organization_id = p_organization_id
                      and wor.operation_seq_num = p_operation_seq_num
                      and wor.resource_seq_num = p_resource_seq_num
                      and wor.resource_id = p_resource_id_old
                      and wor.applied_resource_units <> 0);
Line: 279

    fnd_message.set_name('WIP', 'WIP_JDI_DELETE_RESOURCE');
Line: 293

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (   exists (select 1
                        from wip_transactions wt
                       where wt.wip_entity_id = p_wip_entity_id
                         and wt.organization_id = p_organization_id
                         and wt.operation_seq_num = p_operation_seq_num
                         and wt.resource_seq_num = p_resource_seq_num
                         and wt.resource_id = p_resource_id_old)
            or exists (select 1
                         from wip_cost_txn_interface wcti, bom_resources br
                        where wcti.wip_entity_id = p_wip_entity_id
                          and wcti.organization_id = p_organization_id
                          and wcti.operation_seq_num = p_operation_seq_num
                          and wcti.resource_seq_num = p_resource_seq_num
                          and wcti.resource_code = br.resource_code (+)
                          and wcti.organization_id = br.organization_id (+)
                          and (   wcti.resource_id = p_resource_id_old
                               or br.resource_id = p_resource_id_old))
           );
Line: 324

end safe_delete;
Line: 338

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_old = p_resource_id_old
       -- Bug 4321480 - Modified the exists clause to exclude Cancelled PO/POR.
       and (exists
             ( SELECT 'PO/REQ Linked'
                 FROM PO_RELEASES_ALL PR,
                      PO_HEADERS_ALL PH,
                      PO_DISTRIBUTIONS_ALL PD,
                      PO_LINE_LOCATIONS_ALL PLL
                WHERE pd.po_line_id IS NOT NULL
                  AND pd.line_location_id IS NOT NULL
                  AND PD.WIP_ENTITY_ID = p_wip_entity_id
                  AND PD.DESTINATION_ORGANIZATION_ID = p_organization_id
                  AND (p_operation_seq_num is NULL OR
                       PD.WIP_OPERATION_SEQ_NUM = p_operation_seq_num)
                  AND PD.WIP_RESOURCE_SEQ_NUM = p_resource_seq_num /* Bug 5004087 (FP of 4747215)*/
                  AND PH.PO_HEADER_ID = PD.PO_HEADER_ID
                  AND PLL.LINE_LOCATION_ID = PD.LINE_LOCATION_ID
                  AND PR.PO_RELEASE_ID (+) = PD.PO_RELEASE_ID
              -- check cancel flag at shipment level instead of at header level
              -- because PO will cancel upto shipment level
                  AND (pll.cancel_flag IS NULL OR
                       pll.cancel_flag = 'N')
                  AND (PLL.QUANTITY_RECEIVED <
                      (PLL.QUANTITY-PLL.QUANTITY_CANCELLED))
                  AND nvl(pll.closed_code,'OPEN') <> 'FINALLY CLOSED'
                UNION ALL
               SELECT 'PO/REQ Linked'
                 FROM PO_REQUISITION_LINES_ALL PRL
                WHERE PRL.WIP_ENTITY_ID = p_wip_entity_id
                  AND PRL.DESTINATION_ORGANIZATION_ID = p_organization_id
                  AND (p_operation_seq_num is NULL OR
                       PRL.WIP_OPERATION_SEQ_NUM = p_operation_seq_num)
                  AND PRL.WIP_RESOURCE_SEQ_NUM = p_resource_seq_num /* Bug 5004087 (FP of 4747215) */
                  AND nvl(PRL.cancel_flag, 'N') = 'N'
                  AND PRL.LINE_LOCATION_ID is NULL
                UNION ALL
               SELECT 'PO/REQ Linked'
                 FROM PO_REQUISITIONS_INTERFACE_ALL PRI
                WHERE PRI.WIP_ENTITY_ID = p_wip_entity_id
                  AND PRI.DESTINATION_ORGANIZATION_ID = p_organization_id
                  AND (p_operation_seq_num is NULL OR
                       PRI.WIP_OPERATION_SEQ_NUM = p_operation_seq_num)
                  AND PRI.WIP_RESOURCE_SEQ_NUM = p_resource_seq_num /* Bug 5004087 (FP of 4747215) */));
Line: 400

  SELECT propagate_job_change_to_po
    INTO l_propagate_job_change_to_po
    FROM wip_parameters
   WHERE organization_id = p_organization_id;
Line: 437

      fnd_message.set_name('WIP', 'WIP_DELETE_OSP_RESOURCE');
Line: 454

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.warning
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_old = p_resource_id_old
       -- Bug 4321480 - Modified the exists clause to exclude Cancelled PO/POR.
       and (exists
             ( SELECT 'PO/REQ Linked'
                 FROM PO_RELEASES_ALL PR,
                      PO_HEADERS_ALL PH,
                      PO_DISTRIBUTIONS_ALL PD,
                      PO_LINE_LOCATIONS_ALL PLL
                WHERE pd.po_line_id IS NOT NULL
                  AND pd.line_location_id IS NOT NULL
                  AND PD.WIP_ENTITY_ID = p_wip_entity_id
                  AND PD.DESTINATION_ORGANIZATION_ID = p_organization_id
                  AND (p_operation_seq_num is NULL OR
                       PD.WIP_OPERATION_SEQ_NUM = p_operation_seq_num)
                  AND PD.WIP_RESOURCE_SEQ_NUM = p_resource_seq_num /* Bug 5004087 (FP of 4747215) */
                  AND PH.PO_HEADER_ID = PD.PO_HEADER_ID
                  AND PLL.LINE_LOCATION_ID = PD.LINE_LOCATION_ID
                  AND PR.PO_RELEASE_ID (+) = PD.PO_RELEASE_ID
              -- check cancel flag at shipment level instead of at header level
              -- because PO will cancel upto shipment level
                  AND (pll.cancel_flag IS NULL OR
                       pll.cancel_flag = 'N')
                  AND (PLL.QUANTITY_RECEIVED <
                      (PLL.QUANTITY-PLL.QUANTITY_CANCELLED))
                  AND nvl(pll.closed_code,'OPEN') <> 'FINALLY CLOSED'
                UNION ALL
               SELECT 'PO/REQ Linked'
                 FROM PO_REQUISITION_LINES_ALL PRL
                WHERE PRL.WIP_ENTITY_ID = p_wip_entity_id
                  AND PRL.DESTINATION_ORGANIZATION_ID = p_organization_id
                  AND (p_operation_seq_num is NULL OR
                       PRL.WIP_OPERATION_SEQ_NUM = p_operation_seq_num)
                  AND PRL.WIP_RESOURCE_SEQ_NUM = p_resource_seq_num /* Bug 5004087 (FP of 4747215) */
                  AND nvl(PRL.cancel_flag, 'N') = 'N'
                  AND PRL.LINE_LOCATION_ID is NULL
                UNION ALL
               SELECT 'PO/REQ Linked'
                 FROM PO_REQUISITIONS_INTERFACE_ALL PRI
                WHERE PRI.WIP_ENTITY_ID = p_wip_entity_id
                  AND PRI.DESTINATION_ORGANIZATION_ID = p_organization_id
                  AND (p_operation_seq_num is NULL OR
                       PRI.WIP_OPERATION_SEQ_NUM = p_operation_seq_num)
                  AND PRI.WIP_RESOURCE_SEQ_NUM = p_resource_seq_num /* Bug 5004087 (FP of 4747215) */));
Line: 515

Procedure Delete_Resource (p_group_id           number,
                        p_wip_entity_id         number,
                        p_organization_id       number,
                        p_substitution_type     number) IS

   CURSOR res_info (p_group_id          number,
                   p_wip_entity_id      number,
                   p_organization_id    number,
                   p_substitution_type  number) IS
   SELECT distinct operation_seq_num,
          resource_seq_num, resource_id_old, resource_id_new,
          usage_rate_or_amount,
          last_update_date, last_updated_by, creation_date, created_by,
          last_update_login, request_id, program_application_id,
          program_id, program_update_date,
          scheduled_flag, assigned_units, applied_resource_units,
          applied_resource_value, uom_code, basis_type,
          activity_id, autocharge_type, standard_rate_flag,
          start_date, completion_date,attribute_category, attribute1,
          attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,
          attribute8,attribute9,attribute10,attribute11,attribute12,
          attribute13,attribute14,attribute15
     FROM WIP_JOB_DTLS_INTERFACE
    WHERE group_id = p_group_id
      AND process_phase = WIP_CONSTANTS.ML_VALIDATION
      AND process_status in (WIP_CONSTANTS.RUNNING,WIP_CONSTANTS.WARNING)
      AND wip_entity_id = p_wip_entity_id
      AND organization_id = p_organization_id
      AND load_type = WIP_JOB_DETAILS.WIP_RESOURCE
      AND substitution_type = p_substitution_type;
Line: 579

              Safe_Delete (p_group_id,
                   p_wip_entity_id,
                   p_organization_id,
                   p_substitution_type,
                   cur_row.operation_seq_num,
                   cur_row.resource_seq_num,
                   cur_row.resource_id_old);
Line: 605

END Delete_Resource;
Line: 617

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (wjdi.usage_rate_or_amount is null
            or wjdi.resource_id_new is null);
Line: 650

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (wjdi.usage_rate_or_amount is null
            or wjdi.resource_id_new is null);
Line: 676

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wjdi.load_type)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
       and nvl(wjdi.start_date, sysdate) > nvl(wjdi.completion_date, sysdate);
Line: 712

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wjdi.load_type)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
       and nvl(wjdi.start_date, sysdate) > nvl(wjdi.completion_date, sysdate);
Line: 740

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wjdi.load_type)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_old = p_resource_id_old
       and (wjdi.start_date is not null
         or wjdi.completion_date is not null)
       and exists
           (select 1
            from wip_operation_resources wor
            where wor.wip_entity_id = wjdi.wip_entity_id
              and wor.organization_id = wjdi.organization_id
              and wor.operation_seq_num = wjdi.operation_seq_num
              and wor.resource_seq_num = wjdi.resource_seq_num
              and wor.resource_id = wjdi.resource_id_old
              and nvl(wjdi.start_date, wor.start_date) > nvl(wjdi.completion_date, wor.completion_date));
Line: 786

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wjdi.load_type)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_old = p_resource_id_old
       and (wjdi.start_date is not null
         or wjdi.completion_date is not null)
       and exists
           (select 1
            from wip_operation_resources wor
            where wor.wip_entity_id = wjdi.wip_entity_id
              and wor.organization_id = wjdi.organization_id
              and wor.operation_seq_num = wjdi.operation_seq_num
              and wor.resource_seq_num = wjdi.resource_seq_num
              and wor.resource_id = wjdi.resource_id_old
              and nvl(wjdi.start_date, wor.start_date) > nvl(wjdi.completion_date, wor.completion_date));
Line: 825

    select interface_id
      from wip_job_dtls_interface wjdi, wip_operations wo
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wjdi.load_type)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
       and wo.wip_entity_id = p_wip_entity_id
       and wo.operation_seq_num = p_operation_seq_num
       and wo.organization_id = p_organization_id
       and wo.repetitive_schedule_id is null
       and not (    wjdi.load_type = wip_job_details.wip_resource
                and wjdi.substitution_type = wip_job_details.wip_change
                and wjdi.substitute_group_num is not null
                and wjdi.replacement_group_num is not null
               )
       and (   not exists(select 1
                            from bom_resources br
                           where br.resource_id = p_resource_id_new
                             and (   br.disable_date > sysdate
                                  or br.disable_date is null)
                             and br.organization_id = p_organization_id)
            or not exists(select 1
                            from bom_department_resources bdr
                           where bdr.resource_id = p_resource_id_new
                             and bdr.department_id = wo.department_id)
           );
Line: 880

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wjdi.load_type)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
        and not (    wjdi.load_type = wip_job_details.wip_resource
                and wjdi.substitution_type = wip_job_details.wip_change
                and wjdi.substitute_group_num is not null
                and wjdi.replacement_group_num is not null
               )
       and (   not exists(select 1
                            from bom_resources br
                           where br.resource_id = p_resource_id_new
                             and (   br.disable_date > sysdate
                                  or br.disable_date is null)
                             and br.organization_id = p_organization_id)
            or not exists(select 1
                            from bom_department_resources bdr, wip_operations wo
                           where bdr.resource_id = p_resource_id_new
                             and wo.wip_entity_id = p_wip_entity_id
                             and wo.operation_seq_num = p_operation_seq_num
                             and wo.organization_id = p_organization_id
                             and wo.repetitive_schedule_id is null
                             and bdr.department_id = wo.department_id)
           );
Line: 926

    select wjdi.interface_id
      from wip_job_dtls_interface wjdi, wip_job_schedule_interface wjsi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and (   resource_seq_num <= 0
            or exists (select 1
                         from wip_operation_resources wor
                        where wor.wip_entity_id = wjdi.wip_entity_id
                          and wor.organization_id = wjdi.organization_id
                          and wor.operation_seq_num = wjdi.operation_seq_num
                          and wor.resource_seq_num = wjdi.resource_seq_num)
            or exists (select 1
                         from wip_sub_operation_resources wsor
                        where wsor.wip_entity_id = wjdi.wip_entity_id
                          and wsor.organization_id = wjdi.organization_id
                          and wsor.operation_seq_num = wjdi.operation_seq_num
                          and wsor.resource_seq_num = wjdi.resource_seq_num)
           )
       -- Bug#5752548 skip the Resource_Seq_Num validation for setup resources
       -- inserted by ASCP because all existing setup resources would be deleted
       -- before adding new setup resource.
       and wjsi.organization_id = wjdi.organization_id
       and wjsi.group_id = wjdi.group_id
       and wjsi.header_id = wjdi.parent_header_id
       and (wjsi.source_code <> 'MSC' or wjdi.parent_seq_num is null);
Line: 981

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and (   resource_seq_num <= 0
            or exists (select 1
                         from wip_operation_resources wor
                        where wor.wip_entity_id = wjdi.wip_entity_id
                          and wor.organization_id = wjdi.organization_id
                          and wor.operation_seq_num = wjdi.operation_seq_num
                          and wor.resource_seq_num = wjdi.resource_seq_num)
           );
Line: 1018

    select interface_id, wjdi.usage_rate_or_amount
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
       -- jy: no need to do this validation if doing res substitution
       and not (    wjdi.load_type = wip_job_details.wip_resource
                and wjdi.substitution_type = wip_job_details.wip_change
                and wjdi.substitute_group_num is not null
                and wjdi.replacement_group_num is not null
               );
Line: 1048

  select uom.uom_class
    into l_uom_class
    from bom_resources br, mtl_units_of_measure_vl uom
    where br.resource_id =  p_resource_id_new
    and br.unit_of_measure = uom.uom_code;
Line: 1060

  select autocharge_type
    into l_autocharge_type
    from bom_resources
    where resource_id = p_resource_id_new;
Line: 1083

      update wip_job_dtls_interface wjdi
         set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
       and not (    wjdi.load_type = wip_job_details.wip_resource
                and wjdi.substitution_type = wip_job_details.wip_change
                and wjdi.substitute_group_num is not null
                and wjdi.replacement_group_num is not null
               );
Line: 1124

      update wip_job_dtls_interface wjdi
         set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and wjdi.resource_id_new = p_resource_id_new
       and wjdi.usage_rate_or_amount = p_usage_rate_or_amount
       and not (    wjdi.load_type = wip_job_details.wip_resource
                and wjdi.substitution_type = wip_job_details.wip_change
                and wjdi.substitute_group_num is not null
                and wjdi.replacement_group_num is not null
               );
Line: 1159

      select interface_id
        from wip_job_dtls_interface wjdi
       where wjdi.group_id = p_group_id
         and wjdi.process_phase = wip_constants.ml_validation
         and wjdi.process_status in (
                                wip_constants.running,
                                wip_constants.warning)
         and wjdi.wip_entity_id = p_wip_entity_id
         and wjdi.organization_id = p_organization_id
         and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
         and wjdi.substitution_type = p_substitution_type
         and wjdi.operation_seq_num = p_operation_seq_num
         and wjdi.resource_seq_num = p_resource_seq_num
         and (wjdi.assigned_units <= 0
              or (wjdi.assigned_units is null
                  and wjdi.substitution_type = wip_job_details.wip_add)
              or (wjdi.assigned_units is not null and wjdi.assigned_units <> 1
                and (wjdi.setup_id is not null or exists
                    (select 1
                    from bom_resources br
                    where br.resource_id = nvl(wjdi.resource_id_new, wjdi.resource_id_old)
                      and br.batchable = 1
                    ))
                 )
              -- Bug 5172555
              -- The maximum_assigned_units should not be validated
              -- So commented out the clause
              -- ntungare Thu May 11 05:59:01 PDT 2006
              --
              -- or (wjdi.assigned_units >
              --          nvl(wjdi.maximum_assigned_units, l_maximum_assigned_units))
             );
Line: 1195

        select maximum_assigned_units
          into l_maximum_assigned_units
          from wip_operation_resources
         where wip_entity_id = p_wip_entity_id
           and organization_id = p_organization_id
           and operation_seq_num = p_operation_seq_num
           and resource_seq_num = p_resource_seq_num;
Line: 1203

        select maximum_assigned_units
          into l_maximum_assigned_units
          from wip_sub_operation_resources
         where wip_entity_id = p_wip_entity_id
           and organization_id = p_organization_id
           and operation_seq_num = p_operation_seq_num
           and resource_seq_num = p_resource_seq_num;
Line: 1229

      update wip_job_dtls_interface wjdi
         set wjdi.process_status = wip_constants.error
       where wjdi.group_id = p_group_id
         and wjdi.process_phase = wip_constants.ml_validation
         and wjdi.process_status in (wip_constants.running,
                                wip_constants.warning)
         and wjdi.wip_entity_id = p_wip_entity_id
         and wjdi.organization_id = p_organization_id
         and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
         and wjdi.substitution_type = p_substitution_type
         and (wjdi.assigned_units <= 0
              or (wjdi.assigned_units is null
                  and wjdi.substitution_type = wip_job_details.wip_add)
              or (wjdi.assigned_units is not null and wjdi.assigned_units <> 1
                and (wjdi.setup_id is not null or exists
                    (select 1
                    from bom_resources br
                    where br.resource_id = nvl(wjdi.resource_id_new, wjdi.resource_id_old)
                    ))
                 )
              -- Bug 5172555
              -- The maximum_assigned_units should not be validated
              -- So commented out the clause
              -- ntungare Thu May 11 05:59:01 PDT 2006
              --
              -- or (wjdi.assigned_units >
              --          nvl(wjdi.maximum_assigned_units, l_maximum_assigned_units))
             );
Line: 1282

	select nvl(max(resource_seq_num), 0)
          into x_res_seq_num_max
          from wip_operation_resources
         where wip_entity_id = p_wip_entity_id
           AND organization_id = p_organization_id
           AND operation_seq_num = p_operation_seq_num;
Line: 1294

        select nvl(max(resource_seq_num), 0)
          into x_res_seq_num
          from WIP_JOB_DTLS_INTERFACE
         where group_id = p_group_id
           and wip_entity_id = p_wip_entity_id
           and organization_id = p_organization_id
           and operation_seq_num = p_operation_seq_num
           and substitution_type = p_substitution_type;
Line: 1313

      UPDATE WIP_JOB_DTLS_INTERFACE
      SET    resource_seq_num = x_res_seq_num_max
      WHERE  rowid = p_rowid;
Line: 1326

          select schedule_seq_num
                  into x_schedule_seq_num
                  from wip_job_dtls_interface
                 where group_id = p_group_id
                   and wip_entity_id = p_wip_entity_id
                   and organization_id = p_organization_id
             and operation_seq_num = p_operation_seq_num
             and resource_seq_num = p_parent_seq_num
             and load_type = 1
             and substitution_type in (2,3);
Line: 1341

            select schedule_seq_num
              into x_schedule_seq_num
                    from wip_operation_resources
                   where wip_entity_id = p_wip_entity_id
                     AND organization_id = p_organization_id
                     AND operation_seq_num = p_operation_seq_num
                     AND resource_seq_num = p_parent_seq_num;
Line: 1354

      UPDATE WIP_JOB_DTLS_INTERFACE
      SET    schedule_seq_num = x_schedule_seq_num
      WHERE  rowid = p_rowid;
Line: 1361

      select setup_id
        into x_setup_id
        from wip_operation_resources
       where wip_entity_id = p_wip_entity_id
         AND  organization_id = p_organization_id
         AND  operation_seq_num = p_operation_seq_num
         AND  resource_seq_num = p_resource_seq_num;
Line: 1373

    UPDATE WIP_JOB_DTLS_INTERFACE
    SET   setup_id = nvl(setup_id, x_setup_id)
    WHERE  rowid = p_rowid;
Line: 1400

   SELECT distinct operation_seq_num,
          resource_seq_num, resource_id_old, resource_id_new,
          usage_rate_or_amount,
          last_update_date, last_updated_by, creation_date, created_by,
          last_update_login, request_id, program_application_id,
          program_id, program_update_date,
          scheduled_flag, assigned_units, applied_resource_units,
          applied_resource_value, uom_code, basis_type,
          activity_id, autocharge_type, standard_rate_flag,
          start_date, completion_date,attribute_category, attribute1,
          attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,
          attribute8,attribute9,attribute10,attribute11,attribute12,
          attribute13,attribute14,attribute15, schedule_seq_num,
          substitute_group_num, replacement_group_num, parent_seq_num, rowid
     FROM WIP_JOB_DTLS_INTERFACE
    WHERE group_id = p_group_id
      AND process_phase = WIP_CONSTANTS.ML_VALIDATION
      AND process_status in (WIP_CONSTANTS.RUNNING,WIP_CONSTANTS.WARNING)
      AND wip_entity_id = p_wip_entity_id
      AND organization_id = p_organization_id
      AND load_type = WIP_JOB_DETAILS.WIP_RESOURCE
      AND substitution_type = p_substitution_type;
Line: 1579

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and (wjdi.assigned_units < 0 or
            (nvl(wjdi.assigned_units,-1) <> l_count and l_count > 0));
Line: 1597

     select count(*) into l_count
                from wip_op_resource_instances
                where wip_entity_id = p_wip_entity_id
                  and organization_id = p_organization_id
                  and operation_seq_num = p_operation_seq_num
                  and resource_seq_num = p_resource_seq_num;
Line: 1623

      update wip_job_dtls_interface wjdi
         set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and (wjdi.assigned_units < 0 or
            (wjdi.assigned_units <> l_count and l_count > 0));
Line: 1646

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (   wjdi.resource_seq_num is null
            or wjdi.resource_id_old is null
            or wjdi.resource_id_new is null
            or (    wjdi.resource_id_old <> nvl(wjdi.resource_id_new, wjdi.resource_id_old)
                and wjdi.usage_rate_or_amount is null
               )
           );
Line: 1685

      update wip_job_dtls_interface wjdi
         set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and (   wjdi.resource_seq_num is null
            or wjdi.resource_id_old is null
            or wjdi.resource_id_new is null
            or (    wjdi.resource_id_old <> nvl(wjdi.resource_id_new, wjdi.resource_id_old)
                and wjdi.usage_rate_or_amount is null
               )
           );
Line: 1735

   SELECT distinct operation_seq_num,
          resource_seq_num, resource_id_old, resource_id_new,
          usage_rate_or_amount,
          last_update_date, last_updated_by, creation_date, created_by,
          last_update_login, request_id, program_application_id,
          program_id, program_update_date,
          scheduled_flag, assigned_units, applied_resource_units,
          applied_resource_value, uom_code, basis_type,
          activity_id, autocharge_type, standard_rate_flag,
          start_date, completion_date,attribute_category, attribute1,
          attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,
          attribute8,attribute9,attribute10,attribute11,attribute12,
          attribute13,attribute14,attribute15,
          schedule_seq_num, substitute_group_num,
          replacement_group_num, parent_seq_num, rowid
     FROM WIP_JOB_DTLS_INTERFACE
    WHERE group_id = p_group_id
      AND process_phase = WIP_CONSTANTS.ML_VALIDATION
      AND process_status in (WIP_CONSTANTS.RUNNING,WIP_CONSTANTS.WARNING)
      AND wip_entity_id = p_wip_entity_id
      AND organization_id = p_organization_id
      AND load_type = WIP_JOB_DETAILS.WIP_RESOURCE
      AND substitution_type = p_substitution_type;
Line: 1804

                 Safe_Delete (p_group_id,
                      p_wip_entity_id,
                      p_organization_id,
                      p_substitution_type,
                      cur_row.operation_seq_num,
                      cur_row.resource_seq_num,
                      cur_row.resource_id_old);
Line: 1956

        SELECT count(*)
          INTO x_count
          FROM WIP_JOB_DTLS_INTERFACE
         WHERE group_id         = p_group_id
           AND process_status   = WIP_CONSTANTS.ERROR
           AND wip_entity_id    = p_wip_entity_id
           AND organization_id  = p_organization_id
           AND load_type        = WIP_JOB_DETAILS.WIP_RESOURCE
           AND substitution_type= p_substitution_type
           AND operation_seq_num= p_operation_seq_num
           AND resource_seq_num = p_resource_seq_num;
Line: 1987

    IF p_substitution_type = WIP_JOB_DETAILS.WIP_DELETE THEN
        SELECT count(*)
          INTO x_count
          FROM WIP_JOB_DTLS_INTERFACE
         WHERE group_id         = p_group_id
           AND process_status   = WIP_CONSTANTS.ERROR
           AND wip_entity_id    = p_wip_entity_id
           AND organization_id  = p_organization_id
           AND load_type        = WIP_JOB_DETAILS.WIP_RESOURCE
           AND substitution_type= p_substitution_type
           AND operation_seq_num= p_operation_seq_num
           AND (resource_seq_num IS NULL
            OR  resource_id_old IS NULL);
Line: 2002

        SELECT count(*)
          INTO x_count
          FROM WIP_JOB_DTLS_INTERFACE
         WHERE group_id         = p_group_id
           AND process_status   = WIP_CONSTANTS.ERROR
           AND wip_entity_id    = p_wip_entity_id
           AND organization_id  = p_organization_id
           AND load_type        = WIP_JOB_DETAILS.WIP_RESOURCE
           AND substitution_type= p_substitution_type
           AND operation_seq_num= p_operation_seq_num
           AND (resource_id_new IS NULL
            OR  usage_rate_or_amount IS NULL);
Line: 2016

        SELECT count(*)
          INTO x_count
          FROM WIP_JOB_DTLS_INTERFACE
         WHERE group_id         = p_group_id
           AND process_status   = WIP_CONSTANTS.ERROR
           AND wip_entity_id    = p_wip_entity_id
           AND organization_id  = p_organization_id
           AND load_type        = WIP_JOB_DETAILS.WIP_RESOURCE
           AND substitution_type= p_substitution_type
           AND operation_seq_num= p_operation_seq_num
           AND (resource_seq_num IS NULL
            OR  resource_id_old IS NULL
            OR  resource_id_new IS NULL
            OR  usage_rate_or_amount IS NULL);
Line: 2042

Procedure Delete_Sub_Resource (p_group_id           number,
                        p_wip_entity_id         number,
                        p_organization_id       number,
                        p_substitution_type     number) IS

   CURSOR res_info (p_group_id          number,
                   p_wip_entity_id      number,
                   p_organization_id    number,
                   p_substitution_type  number) IS
   SELECT distinct operation_seq_num,
          resource_seq_num, resource_id_old, resource_id_new,
          usage_rate_or_amount,
          last_update_date, last_updated_by, creation_date, created_by,
          last_update_login, request_id, program_application_id,
          program_id, program_update_date,
          scheduled_flag, assigned_units, applied_resource_units,
          applied_resource_value, uom_code, basis_type,
          activity_id, autocharge_type, standard_rate_flag,
          start_date, completion_date,attribute_category, attribute1,
          attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,
          attribute8,attribute9,attribute10,attribute11,attribute12,
          attribute13,attribute14,attribute15
     FROM WIP_JOB_DTLS_INTERFACE
    WHERE group_id = p_group_id
      AND process_phase = WIP_CONSTANTS.ML_VALIDATION
      AND process_status in (WIP_CONSTANTS.RUNNING,WIP_CONSTANTS.WARNING)
      AND wip_entity_id = p_wip_entity_id
      AND organization_id = p_organization_id
      AND load_type = WIP_JOB_DETAILS.WIP_SUB_RES
      AND substitution_type = p_substitution_type;
Line: 2101

END Delete_Sub_Resource;
Line: 2113

      select interface_id
        from wip_job_dtls_interface wjdi
       where wjdi.group_id = p_group_id
         and wjdi.process_phase = wip_constants.ml_validation
         and wjdi.process_status in (wip_constants.running,
                                     wip_constants.warning)
         and wjdi.wip_entity_id = p_wip_entity_id
         and wjdi.organization_id = p_organization_id
         and wjdi.load_type = wip_job_details.wip_resource
         and wjdi.substitution_type = p_substitution_type
         and wjdi.operation_seq_num = p_operation_seq_num
         and wjdi.resource_seq_num = p_resource_seq_num
         and wjdi.resource_id_old = p_resource_id_old
         and (   (    wjdi.substitute_group_num is not null
                  and not exists (select 1
                           from wip_operation_resources wor
                          where wor.wip_entity_id = wjdi.wip_entity_id
                            and wor.organization_id = wjdi.organization_id
                            and wor.resource_id = wjdi.resource_id_old
                            and wor.operation_seq_num = wjdi.operation_seq_num
                            and wor.resource_seq_num = wjdi.resource_seq_num
                            and wor.substitute_group_num = wjdi.substitute_group_num
                        )
                 )
              or (   wjdi.replacement_group_num is not null
                  and not exists (select 1
                            from wip_sub_operation_resources wsor,
                                 wip_operation_resources wor
                           where wsor.wip_entity_id = wjdi.wip_entity_id
                             and wsor.organization_id = wjdi.organization_id
                             and wsor.operation_seq_num = wjdi.operation_seq_num
                             and wor.wip_entity_id = wjdi.wip_entity_id
                             and wor.organization_id = wjdi.organization_id
                             and wor.resource_id = wjdi.resource_id_old
                             and wor.operation_seq_num = wjdi.operation_seq_num
                             and wor.resource_seq_num = wjdi.resource_seq_num
                             and wsor.substitute_group_num = nvl(wjdi.substitute_group_num, wor.substitute_group_num)
                             and wsor.replacement_group_num = wjdi.replacement_group_num
                         )
                  and not exists (select 1
                           from wip_operation_resources wor
                          where wor.wip_entity_id = wjdi.wip_entity_id
                            and wor.organization_id = wjdi.organization_id
                            and wor.resource_id = wjdi.resource_id_old
                            and wor.operation_seq_num = wjdi.operation_seq_num
                            and wor.resource_seq_num = wjdi.resource_seq_num
                            and ( (wor.substitute_group_num =
                                     nvl(wjdi.substitute_group_num,wor.substitute_group_num)) OR
                                  (wor.substitute_group_num is null and
                                   wjdi.substitute_group_num is null)
                                )
                            and wor.replacement_group_num = wjdi.replacement_group_num
                          )
                 )
             );
Line: 2170

      select wjdi.substitute_group_num,
             wjdi.replacement_group_num
        from wip_job_dtls_interface wjdi
       where wjdi.group_id = p_group_id
         and wjdi.process_phase = wip_constants.ml_validation
         and wjdi.process_status in (wip_constants.running,
                                     wip_constants.warning)
         and wjdi.wip_entity_id = p_wip_entity_id
         and wjdi.organization_id = p_organization_id
         and wjdi.load_type = wip_job_details.wip_resource
         and wjdi.substitution_type = p_substitution_type
         and wjdi.operation_seq_num = p_operation_seq_num
         and wjdi.resource_seq_num = p_resource_seq_num
         and wjdi.resource_id_old = p_resource_id_old
         and (   wjdi.replacement_group_num is null
              or (    wjdi.replacement_group_num is not null
                  and exists (select 1
                           from wip_operation_resources wor
                          where wor.wip_entity_id = wjdi.wip_entity_id
                            and wor.organization_id = wjdi.organization_id
                            and wor.resource_id = wjdi.resource_id_old
                            and wor.operation_seq_num = wjdi.operation_seq_num
                            and wor.resource_seq_num = wjdi.resource_seq_num
                            and ( (wor.substitute_group_num =
                                     nvl(wjdi.substitute_group_num, wor.substitute_group_num)) OR
                                  (wor.substitute_group_num is null and
                                   wjdi.substitute_group_num is null)
                                )
                            and wor.replacement_group_num = wjdi.replacement_group_num
                          )
                  )
             )
         for update;
Line: 2205

      select wip_entity_id,
             organization_id,
             resource_id_old,
             operation_seq_num,
             resource_seq_num,
             substitute_group_num
        from wip_job_dtls_interface
       where group_id = p_group_id
         and process_phase = wip_constants.ml_validation
         and process_status in (wip_constants.running,
                                     wip_constants.warning)
         and wip_entity_id = p_wip_entity_id
         and organization_id = p_organization_id
         and load_type = wip_job_details.wip_resource
         and substitution_type = p_substitution_type
         and operation_seq_num = p_operation_seq_num
         and resource_seq_num = p_resource_seq_num
         and resource_id_old = p_resource_id_old
         and replacement_group_num is not null
        for update;
Line: 2248

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
       where wjdi.group_id = p_group_id
         and wjdi.process_phase = wip_constants.ml_validation
         and wjdi.process_status in (wip_constants.running,
                                     wip_constants.warning)
         and wjdi.wip_entity_id = p_wip_entity_id
         and wjdi.organization_id = p_organization_id
         and wjdi.load_type = wip_job_details.wip_resource
         and wjdi.substitution_type = p_substitution_type
         and wjdi.operation_seq_num = p_operation_seq_num
         and wjdi.resource_seq_num = p_resource_seq_num
         and wjdi.resource_id_old = p_resource_id_old
         and (   (    wjdi.substitute_group_num is not null
                  and not exists (select 1
                           from wip_operation_resources wor
                          where wor.wip_entity_id = wjdi.wip_entity_id
                            and wor.organization_id = wjdi.organization_id
                            and wor.resource_id = wjdi.resource_id_old
                            and wor.operation_seq_num = wjdi.operation_seq_num
                            and wor.resource_seq_num = wjdi.resource_seq_num
                            and wor.substitute_group_num = wjdi.substitute_group_num
                        )
                 )
              or (   wjdi.replacement_group_num is not null
                  and not exists (select 1
                            from wip_sub_operation_resources wsor,
                                 wip_operation_resources wor
                           where wsor.wip_entity_id = wjdi.wip_entity_id
                             and wsor.organization_id = wjdi.organization_id
                             and wsor.operation_seq_num = wjdi.operation_seq_num
                             and wor.wip_entity_id = wjdi.wip_entity_id
                             and wor.organization_id = wjdi.organization_id
                             and wor.resource_id = wjdi.resource_id_old
                             and wor.operation_seq_num = wjdi.operation_seq_num
                             and wor.resource_seq_num = wjdi.resource_seq_num
                             and wsor.substitute_group_num = nvl(wjdi.substitute_group_num, wor.substitute_group_num)
                             and wsor.replacement_group_num = wjdi.replacement_group_num
                         )
                 )
             );
Line: 2293

    update wip_job_dtls_interface wjdi
      set substitute_group_num = null,
          replacement_group_num = null
      where current of c_not_sub_rows;
Line: 2301

      select wor.substitute_group_num
        into l_sub_group_temp
        from wip_operation_resources wor
       where wor.wip_entity_id = l_sub_row.wip_entity_id
         and wor.organization_id = l_sub_row.organization_id
         and wor.resource_id = l_sub_row.resource_id_old
         and wor.operation_seq_num = l_sub_row.operation_seq_num
         and wor.resource_seq_num = l_sub_row.resource_seq_num;
Line: 2309

      update wip_job_dtls_interface
         set substitute_group_num = l_sub_group_temp
         where current of c_sub_rows;
Line: 2324

    select interface_id
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_sub_res
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and (   wjdi.schedule_seq_num < 0
            or wjdi.substitute_group_num is null
            or wjdi.substitute_group_num < 0
            or wjdi.replacement_group_num is null
            or wjdi.replacement_group_num < 0
            or not exists (select 1
                             from wip_operation_resources wor
                            where wor.wip_entity_id = wjdi.wip_entity_id
                              and wor.organization_id = wjdi.organization_id
                              and wor.operation_seq_num = wjdi.operation_seq_num
                              and wor.substitute_group_num = wjdi.substitute_group_num)
            or exists (select 1
                         from wip_operation_resources wor
                        where wor.wip_entity_id = wjdi.wip_entity_id
                          and wor.organization_id = wjdi.organization_id
                          and wor.operation_seq_num = wjdi.operation_seq_num
                          and wor.substitute_group_num = wjdi.substitute_group_num
                          and wor.replacement_group_num = wjdi.replacement_group_num)
           );
Line: 2375

    update wip_job_dtls_interface wjdi
       set process_status = wip_constants.error
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_sub_res
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and (   wjdi.schedule_seq_num is null
            or wjdi.schedule_seq_num < 0
            or wjdi.substitute_group_num is null
            or wjdi.substitute_group_num < 0
            or wjdi.replacement_group_num is null
            or wjdi.replacement_group_num < 0
            or not exists (select 1
                             from wip_operation_resources wor
                            where wor.wip_entity_id = wjdi.wip_entity_id
                              and wor.organization_id = wjdi.organization_id
                              and wor.operation_seq_num = wjdi.operation_seq_num
                              and wor.substitute_group_num = wjdi.substitute_group_num)
            or exists (select 1
                         from wip_operation_resources wor
                        where wor.wip_entity_id = wjdi.wip_entity_id
                          and wor.organization_id = wjdi.organization_id
                          and wor.operation_seq_num = wjdi.operation_seq_num
                          and wor.substitute_group_num = wjdi.substitute_group_num
                          and wor.replacement_group_num = wjdi.replacement_group_num)
           );
Line: 2424

   SELECT distinct operation_seq_num,
          resource_seq_num, resource_id_old, resource_id_new,
          usage_rate_or_amount,
          last_update_date, last_updated_by, creation_date, created_by,
          last_update_login, request_id, program_application_id,
          program_id, program_update_date,
          scheduled_flag, assigned_units, applied_resource_units,
          applied_resource_value, uom_code, basis_type,
          activity_id, autocharge_type, standard_rate_flag,
          start_date, completion_date,attribute_category, attribute1,
          attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,
          attribute8,attribute9,attribute10,attribute11,attribute12,
          attribute13,attribute14,attribute15,schedule_seq_num,
          substitute_group_num, replacement_group_num, parent_seq_num, rowid
     FROM WIP_JOB_DTLS_INTERFACE
    WHERE group_id = p_group_id
      AND process_phase = WIP_CONSTANTS.ML_VALIDATION
      AND process_status in (WIP_CONSTANTS.RUNNING,WIP_CONSTANTS.WARNING)
      AND wip_entity_id = p_wip_entity_id
      AND organization_id = p_organization_id
      AND load_type = WIP_JOB_DETAILS.WIP_SUB_RES
      AND substitution_type = p_substitution_type;
Line: 2601

   SELECT distinct operation_seq_num,
          resource_seq_num, resource_id_old, resource_id_new,
          usage_rate_or_amount,
          last_update_date, last_updated_by, creation_date, created_by,
          last_update_login, request_id, program_application_id,
          program_id, program_update_date,
          scheduled_flag, assigned_units, applied_resource_units,
          applied_resource_value, uom_code, basis_type,
          activity_id, autocharge_type, standard_rate_flag,
          start_date, completion_date,attribute_category, attribute1,
          attribute2,attribute3,attribute4,attribute5,attribute6,attribute7,
          attribute8,attribute9,attribute10,attribute11,attribute12,
          attribute13,attribute14,attribute15,schedule_seq_num,
          substitute_group_num, replacement_group_num
     FROM WIP_JOB_DTLS_INTERFACE
    WHERE group_id = p_group_id
      AND process_phase = WIP_CONSTANTS.ML_VALIDATION
      AND process_status in (WIP_CONSTANTS.RUNNING,WIP_CONSTANTS.WARNING)
      AND wip_entity_id = p_wip_entity_id
      AND organization_id = p_organization_id
      AND load_type = WIP_JOB_DETAILS.WIP_SUB_RES
      AND substitution_type = p_substitution_type;
Line: 2656

              Safe_Delete (p_group_id,
                   p_wip_entity_id,
                   p_organization_id,
                   p_substitution_type,
                   cur_row.operation_seq_num,
                   cur_row.resource_seq_num,
                   cur_row.resource_id_old);
Line: 2780

    select *
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_resource
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and ( (wjdi.schedule_seq_num = p_schedule_seq_num)
            or (wjdi.schedule_seq_num is null and p_schedule_seq_num is null))
       and ( (wjdi.substitute_group_num = p_substitute_group_num)
            or (wjdi.substitute_group_num is null and p_substitute_group_num is null))
       and ( (wjdi.replacement_group_num = p_replacement_group_num)
            or (wjdi.replacement_group_num is null and p_replacement_group_num is null))
       for update;
Line: 2825

                update wip_job_dtls_interface
                        set process_status = wip_constants.error
                 where current of sched_rows;
Line: 2835

                          select distinct replacement_group_num
                             into repl_group
                            from wip_operation_resources
                        where wip_entity_id = p_wip_entity_id
                             and repetitive_schedule_id is null
                             and operation_seq_num = p_operation_seq_num
                             and substitute_group_num = sched_row.substitute_group_num;
Line: 2847

                     update wip_job_dtls_interface
                             set replacement_group_num = repl_group
                      where current of sched_rows;
Line: 2851

                     update wip_job_dtls_interface
                             set replacement_group_num = null
                      where current of sched_rows;
Line: 2856

               select schedule_seq_num,
                           substitute_group_num,
                           replacement_group_num
                  into sched_seq,
                           sub_group,
                           repl_group
                 from wip_operation_resources
               where wip_entity_id = p_wip_entity_id
                    and repetitive_schedule_id is null
                    and operation_seq_num = p_operation_seq_num
                    and resource_seq_num = p_resource_seq_num;
Line: 2869

                     update wip_job_dtls_interface
                            set  schedule_seq_num = sched_seq
                      where current of sched_rows;
Line: 2875

                     update wip_job_dtls_interface
                             set replacement_group_num = fnd_api.g_miss_num
                      where current of sched_rows;
Line: 2884

                           select 1
                             into l_res_sub
                             from dual
                            where exists (select 1
                                           from wip_sub_operation_resources
                                          where wip_entity_id = p_wip_entity_id
                                            and operation_seq_num = p_operation_seq_num
                                            and substitute_group_num = sub_group
                                            and replacement_group_num = sched_row.replacement_group_num);
Line: 2901

                             select distinct replacement_group_num
                                into repl_group
                              from wip_operation_resources
                           where wip_entity_id = p_wip_entity_id
                               and repetitive_schedule_id is null
                               and operation_seq_num = p_operation_seq_num
                               and substitute_group_num = sched_row.substitute_group_num;
Line: 2913

                         update wip_job_dtls_interface
                                set replacement_group_num = repl_group
                           where current of sched_rows;
Line: 2918

                     update wip_job_dtls_interface
                             set replacement_group_num = repl_group,
                                    substitute_group_num = sub_group
                      where current of sched_rows;
Line: 2937

    select *
      from wip_job_dtls_interface wjdi
     where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type = wip_job_details.wip_sub_res
       and wjdi.substitution_type = p_substitution_type
       and wjdi.operation_seq_num = p_operation_seq_num
       and wjdi.resource_seq_num = p_resource_seq_num
       and ( (wjdi.schedule_seq_num = p_schedule_seq_num)
            or (wjdi.schedule_seq_num is null and p_schedule_seq_num is null))
       and ( (wjdi.substitute_group_num = p_substitute_group_num)
            or (wjdi.substitute_group_num is null and p_substitute_group_num is null))
       and ( (wjdi.replacement_group_num = p_replacement_group_num)
            or (wjdi.replacement_group_num is null and p_replacement_group_num is null))
      for update;
Line: 2982

                update wip_job_dtls_interface
                        set process_status = wip_constants.error
                 where current of sched_rows;
Line: 3003

                update wip_job_dtls_interface
                        set process_status = wip_constants.error
                 where current of sched_rows;
Line: 3010

               select schedule_seq_num,
                           substitute_group_num,
                           replacement_group_num
                  into sched_seq,
                           sub_group,
                           repl_group
                 from wip_sub_operation_resources
               where wip_entity_id = p_wip_entity_id
                    and repetitive_schedule_id is null
                    and operation_seq_num = p_operation_seq_num
                    and resource_seq_num = p_resource_seq_num;
Line: 3023

                     update wip_job_dtls_interface
                            set  schedule_seq_num = sched_seq
                      where current of sched_rows;
Line: 3030

                    update wip_job_dtls_interface
                       set substitute_group_num = sub_group,
                           replacement_group_num = repl_group
                      where current of sched_rows;
Line: 3049

                         update wip_job_dtls_interface
                                 set process_status = wip_constants.error
                           where current of sched_rows;
Line: 3064

      select interface_id
      from wip_job_dtls_interface wjdi
      where wjdi.group_id = p_group_id
       and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.operation_seq_num = p_operation_seq_num;
Line: 3094

       update wip_job_dtls_interface wjdi
               set wjdi.process_status = wip_constants.error
          where wjdi.group_id = p_group_id
           and wjdi.process_phase = wip_constants.ml_validation
       and wjdi.process_status in (wip_constants.running,
                                   wip_constants.warning)
       and wjdi.wip_entity_id = p_wip_entity_id
       and wjdi.organization_id = p_organization_id
       and wjdi.load_type in (wip_job_details.wip_resource, wip_job_details.wip_sub_res)
       and wjdi.operation_seq_num = l_op_seq;
Line: 3108

     wip_op_resources_utilities.delete_orphaned_alternates(p_wip_entity_id, null, l_status);