The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT cal4.calendar_date
into lv_date
FROM msc_calendar_dates cal3,
msc_calendar_dates cal4
WHERE cal3.sr_instance_id = lv_inst_id
AND cal3.exception_set_id = -1
AND cal3.calendar_date = lv_calendar_date
AND cal3.calendar_code = lv_calendar_code
AND cal4.sr_instance_id = cal3.sr_instance_id
AND cal4.calendar_code = cal3.calendar_code
and cal4.exception_set_id = cal3.exception_set_id
and cal4.seq_num = nvl(cal3.seq_num,cal3.prior_seq_num);
select sum(coprod.new_order_quantity)
into lv_total
from msc_supplies coprod, msc_bom_components mbc
where coprod.sr_instance_id = inst_id
and coprod.plan_id = pln_id
and mbc.sr_instance_id = coprod.sr_instance_id
and mbc.plan_id = coprod.plan_id
and mbc.inventory_item_id = coprod.inventory_item_id
and mbc.organization_id = coprod.organization_id
and mbc.bill_sequence_id = bill_seq_id
and NOT (mbc.usage_quantity < 0 and mbc.component_type <> 10)
and coprod.order_type = 17
and coprod.disposition_id = disp_id;
select nvl(lv_total,0) into lv_total from dual;
select nvl(mrr.REVERSE_CUMULATIVE_YIELD,1)
into lv_yield
from msc_process_effectivity mpe,
msc_routings mr,
msc_resource_requirements mrr
where mpe.sr_instance_id = inst_id
and mpe.plan_id = pln_id
and mpe.process_sequence_id = process_seq_id
and mr.routing_sequence_id = mpe.routing_sequence_id
and mr.plan_id = mpe.plan_id
and mr.sr_instance_id = mpe.sr_instance_id
and mrr.plan_id = mr.plan_id
and mrr.routing_sequence_id = mr.routing_sequence_id
and mrr.sr_instance_id = mr.sr_instance_id
and mrr.OPERATION_SEQ_NUM = mr.FIRST_OP_SEQ_NUM
and mrr.supply_id = trans_id
and mrr.organization_id = org_id
and mrr.rowid=(select min(rowid) from msc_resource_requirements
where routing_sequence_id = mr.routing_sequence_id
and sr_instance_id = inst_id
and plan_id = pln_id
and supply_id = trans_id
and organization_id = org_id
and operation_seq_num = mr.first_op_seq_num
and parent_id = 2);
select nvl(mrr.REVERSE_CUMULATIVE_YIELD,1)
into lv_yield_dis
from msc_process_effectivity mpe,
msc_routings mr,
msc_resource_requirements mrr
where mpe.sr_instance_id = inst_id
and mpe.plan_id = pln_id
and mpe.process_sequence_id = process_seq_id
and mr.routing_sequence_id = mpe.routing_sequence_id
and mr.plan_id = mpe.plan_id
and mr.sr_instance_id = mpe.sr_instance_id
and mrr.plan_id = mr.plan_id
and mrr.routing_sequence_id = mr.routing_sequence_id
and mrr.sr_instance_id = mr.sr_instance_id
and mrr.supply_id = trans_id
and mrr.organization_id = org_id
and mrr.OPERATION_SEQ_NUM = (select min(OPERATION_SEQ_NUM)
from msc_resource_requirements
where routing_sequence_id = mr.routing_sequence_id
and sr_instance_id = inst_id
and plan_id = pln_id
and supply_id = trans_id
and organization_id = org_id
and parent_id = 2)
and mrr.parent_id = 2
and rownum = 1;
select nvl(mrr.REVERSE_CUMULATIVE_YIELD,1)
into lv_yield_dis
from msc_process_effectivity mpe,
msc_routings mr,
msc_resource_requirements mrr
where mpe.sr_instance_id = inst_id
and mpe.plan_id = pln_id
and mpe.process_sequence_id = process_seq_id
and mr.routing_sequence_id = mpe.routing_sequence_id
and mr.plan_id = mpe.plan_id
and mr.sr_instance_id = mpe.sr_instance_id
and mrr.plan_id = mr.plan_id
and mrr.routing_sequence_id = mr.routing_sequence_id
and mrr.sr_instance_id = mr.sr_instance_id
and mrr.supply_id = trans_id
and mrr.organization_id = org_id
and mrr.OPERATION_SEQ_NUM = op_seq_num
and mrr.parent_id = 2
and rownum = 1;
SELECT mbc.USAGE_QUANTITY
INTO lv_USAGE_QUANTITY
FROM MSC_BOM_COMPONENTS mbc
WHERE mbc.plan_id = p_plan_id
AND mbc.sr_instance_id = p_inst_id
AND mbc.organization_id = p_org_id
AND mbc.using_assembly_id = p_using_assy_id
AND mbc.component_sequence_id = p_comp_seq_id;
SELECT mbc.WIP_SUPPLY_TYPE
INTO lv_wip_sup_type
FROM MSC_BOM_COMPONENTS mbc,
msc_process_effectivity mpe
where mpe.sr_instance_id = p_inst_id
and mpe.plan_id = p_plan_id
and mpe.process_sequence_id = p_process_seq_id
AND mpe.organization_id = p_org_id
AND mpe.item_id = p_item_id
and mbc.plan_id = mpe.plan_id
AND mbc.sr_instance_id = mpe.sr_instance_id
AND mbc.bill_sequence_id = mpe.bill_sequence_id
AND mbc.inventory_item_id = p_comp_item_id
AND (mpe.disable_date is NULL OR
trunc(mpe.disable_date) >= trunc(SYSDATE) )
AND (mbc.disable_date is NULL OR
trunc(mbc.disable_date) >= trunc(SYSDATE) )
and rownum = 1;
SELECT SR_TP_ID
INTO lv_mod_sup_sr_tp_id
FROM MSC_TP_ID_LID
WHERE TP_ID = pMODELED_SUPPLIER_ID
AND SR_INSTANCE_ID = pSR_INSTANCE_ID
AND PARTNER_TYPE = 1;
SELECT TP_SITE_CODE
INTO lv_mod_sup_site_code
FROM MSC_TRADING_PARTNER_SITES
WHERE PARTNER_ID = pMODELED_SUPPLIER_ID
AND PARTNER_SITE_ID = pMODELED_SUPPLIER_SITE_ID
AND SR_INSTANCE_ID = pSR_INSTANCE_ID
AND PARTNER_TYPE = 1;
SELECT apps1.instance_id,
apps1.instance_code,
apps1.apps_ver,
apps1.instance_type,
DECODE(apps1.m2a_dblink,NULL,' ', '@' || m2a_dblink),
DECODE(apps1.a2m_dblink,NULL,NULL_DBLINK,a2m_dblink),
LENGTH( apps1.instance_code)+2
FROM msc_apps_instances apps1,
( SELECT distinct
sr_instance_id
FROM msc_plan_organizations_v plan_org
WHERE plan_org.plan_id = arg_plan_id
AND plan_org.organization_id = arg_org_id
AND plan_org.owning_sr_instance = arg_sr_instance
AND plan_org.sr_instance_id =
decode(arg_log_sr_instance,
arg_sr_instance, plan_org.sr_instance_id,
arg_log_sr_instance)) ins
WHERE apps1.instance_id = ins.sr_instance_id;
select fcp.concurrent_program_name
INTO l_concurrent_program_name
from fnd_concurrent_requests fcr
,fnd_concurrent_programs fcp
where request_id = fnd_profile.value('CONC_REQUEST_ID')
AND fcr.concurrent_program_id = fcp.concurrent_program_id;
SELECT
DECODE(NVL(fnd_profile.value('MSC_RELEASED_BY_USER_ONLY') ,'N'), 'Y',1 ,2)
INTO v_msc_released_only_by_user
FROM DUAL;
Execute immediate 'select mrp_workbench_query_s.nextval
FROM DUAL '
into MSC_Rel_Plan_PUB.g_batch_id;
SELECT
FND_GLOBAL.USER_ID,
FND_GLOBAL.USER_NAME,
FND_GLOBAL.RESP_NAME,
FND_GLOBAL.APPLICATION_NAME
INTO v_user_id,
l_user_name,
l_resp_name,
l_application_name
FROM dual;
SELECT APPLICATION_ID
INTO l_application_id
FROM FND_APPLICATION_VL
WHERE APPLICATION_NAME = l_application_name;
SELECT apps1.instance_id,
apps1.apps_ver,
apps1.instance_type,
DECODE(apps1.m2a_dblink,NULL,' ', '@' || m2a_dblink),
LENGTH( apps1.instance_code)+2
FROM msc_apps_instances apps1,
( SELECT distinct
sr_instance_id
FROM msc_plan_organizations_v plan_org
WHERE plan_org.plan_id = arg_plan_id
AND plan_org.organization_id = arg_org_id
AND plan_org.owning_sr_instance = arg_sr_instance
AND plan_org.sr_instance_id =
decode(arg_log_sr_instance,
arg_sr_instance, plan_org.sr_instance_id,
arg_log_sr_instance)) ins
WHERE apps1.instance_id = ins.sr_instance_id;
SELECT
DECODE(NVL(fnd_profile.value('MSC_RELEASED_BY_USER_ONLY') ,'N'), 'Y',1 ,2)
INTO v_msc_released_only_by_user
FROM DUAL;
Execute immediate 'select mrp_workbench_query_s.nextval
FROM DUAL '
into MSC_Rel_Plan_PUB.g_batch_id;
SELECT
FND_GLOBAL.USER_ID,
FND_GLOBAL.USER_NAME,
FND_GLOBAL.RESP_NAME,
FND_GLOBAL.APPLICATION_NAME
INTO v_user_id,
l_user_name,
l_resp_name,
l_application_name
FROM dual;
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
select plan_completion_date
from msc_plans
where plan_id = p_plan_id;
select s.plan_id,
s.transaction_id,
s.implement_quantity,
s.implement_date,
p.plan_version,
s.last_update_date,
s.last_updated_by,
s.creation_date,
s.created_by,
s.last_update_login,
decode(s.release_status,
11,21,
12,22,
13,23,
s.release_status) rp_release_status
FROM msc_supplies s, msc_plans p
WHERE p.plan_id = s.plan_id
AND s.plan_id = arg_plan_id
AND batch_id = g_batch_id;
select instance_type into lv_inst_type from msc_apps_instances where instance_id = arg_org_instance;
SELECT load_type
INTO lv_wf_load_type
FROM MSC_SUPPLIES s
WHERE s.plan_id = arg_plan_id
AND s.transaction_id = arg_transaction_id;
lv_sql_stmt := ' SELECT mrp_workbench_query_s.nextval from dual'|| arg_dblink;
SELECT APPLICATION_ID
INTO l_application_id
FROM FND_APPLICATION_VL
WHERE APPLICATION_NAME = l_application_name;
lv_sql_stmt := ' SELECT mrp_workbench_query_s.nextval from dual'|| arg_dblink;
select nvl(application_id,724)
into l_application_id
from fnd_application_vl
where application_name =l_application_name;
lv_sql_stmt := ' SELECT mrp_workbench_query_s.nextval from dual'|| arg_dblink;
SELECT DECODE(NVL(fnd_profile.value('MSC_PO_DEFAULT_TIME_STAMP') ,'1'), '1','N', 'Y')
INTO l_timestamp_profile_val
FROM DUAL;
select decode((mp.daily_material_constraints+ mp.daily_resource_constraints+
mp.weekly_material_constraints+mp.weekly_resource_constraints+
mp.period_material_constraints+mp.period_resource_constraints),12,
1,0) into v_unconstrained_plan
from msc_plans mp
where plan_id = arg_plan_id;
DELETE msc_wip_job_schedule_interface
WHERE sr_instance_id= arg_org_instance;
DELETE MSC_WIP_JOB_DTLS_INTERFACE
WHERE sr_instance_id= arg_org_instance;
DELETE MSC_PO_REQUISITIONS_INTERFACE
WHERE sr_instance_id= arg_org_instance;
DELETE MSC_PO_RESCHEDULE_INTERFACE
WHERE sr_instance_id= arg_org_instance;
UPDATE msc_rp_released_orders
SET plan_id = c_rec.plan_id,
transaction_id = c_rec.transaction_id,
implemented_quanity = NVL(implemented_quanity, 0) +
c_rec.implement_quantity,
implemented_date = c_rec.implement_date,
plan_version = c_rec.plan_version,
last_update_date = c_rec.last_update_date,
last_updated_by= c_rec.last_updated_by,
creation_date=c_rec.creation_date,
created_by=c_rec.created_by,
last_update_login=c_rec.last_update_login,
release_status = c_rec.rp_release_status
WHERE plan_id=arg_plan_id
AND transaction_id=c_rec.transaction_id;
INSERT INTO msc_rp_released_orders
(plan_id,
transaction_id,
implemented_quanity,
implemented_date,
plan_version,
last_update_date,
last_updated_by,
creation_date,
created_by,
last_update_login,
release_status )
VALUES
(arg_plan_id
, c_rec.transaction_id
, c_rec.implement_quantity
, c_rec.implement_date
, c_rec.plan_version
, c_rec.last_update_date
, c_rec.last_updated_by
, c_rec.creation_date
, c_rec.created_by
, c_rec.last_update_login
, c_rec.rp_release_status
);
UPDATE MSC_SUPPLIES
SET implement_demand_class = NULL,
implement_date = NULL,
implement_quantity = NULL,
implement_firm = NULL,
implement_wip_class_code = NULL,
implement_job_name = NULL,
implement_status_code = NULL,
implement_location_id = NULL,
implement_source_org_id = NULL,
implement_supplier_id = NULL,
implement_supplier_site_id = NULL,
implement_project_id = NULL,
implement_task_id = NULL,
release_status = decode(sign(v_plan_type-100),1,
decode(release_status,11,21,
12,22,
13,23,
release_status),
NULL), -- For RP Release
load_type = NULL,
implement_as = NULL,
implement_unit_number = NULL,
implement_schedule_group_id = NULL,
implement_build_sequence = NULL,
implement_line_id = NULL,
implement_alternate_bom = NULL,
implement_dock_date = NULL,
implement_ship_date = NULL,
implement_employee_id = NULL,
implement_alternate_routing = NULL,
implemented_quantity = nvl(implemented_quantity, 0) + nvl(quantity_in_process,0),
quantity_in_process = 0,
implement_ship_method = NULL
WHERE transaction_id= arg_transaction_id
AND plan_id= arg_plan_id
AND release_errors IS NULL
and batch_id = g_batch_id ;
UPDATE MSC_SUPPLIES
SET implement_demand_class = NULL,
implement_date = NULL,
implement_quantity = NULL,
implement_firm = NULL,
implement_wip_class_code = NULL,
implement_job_name = NULL,
implement_status_code = NULL,
implement_location_id = NULL,
implement_source_org_id = NULL,
implement_supplier_id = NULL,
implement_supplier_site_id = NULL,
implement_project_id = NULL,
implement_task_id = NULL,
release_status = decode(sign(v_plan_type-100),1,
decode(release_status,11,21,
12,22,
13,23,
release_status),
NULL), -- For RP Release
load_type = NULL,
implement_as = NULL,
implement_unit_number = NULL,
implement_schedule_group_id = NULL,
implement_build_sequence = NULL,
implement_line_id = NULL,
implement_alternate_bom = NULL,
implement_dock_date = NULL,
implement_ship_date = NULL,
implement_employee_id = NULL,
implement_alternate_routing = NULL,
implemented_quantity = nvl(implemented_quantity, 0) + nvl(quantity_in_process,0),
quantity_in_process = 0,
implement_ship_method = NULL,
releasable = decode (new_order_quantity,
nvl(implemented_quantity, 0) +
nvl(quantity_in_process,0), releasable,
NULL),
batch_id = decode (new_order_quantity,
nvl(implemented_quantity, 0) +
nvl(quantity_in_process,0), batch_id,
NULL)
WHERE batch_id = g_batch_id
and sr_instance_id = arg_org_instance;
DELETE msc_wip_job_schedule_interface
WHERE sr_instance_id= arg_org_instance
AND NVL(GROUP_ID,-1) = NVL(arg_wip_group_id, -1);
DELETE MSC_WIP_JOB_DTLS_INTERFACE
WHERE sr_instance_id= arg_org_instance
AND NVL(GROUP_ID,-1) = NVL(arg_wip_group_id, -1);
DELETE MSC_PO_REQUISITIONS_INTERFACE
WHERE sr_instance_id= arg_org_instance
AND NVL(BATCH_ID, -1) = NVL(arg_po_batch_number, -1);
DELETE MSC_PO_RESCHEDULE_INTERFACE
WHERE sr_instance_id= arg_org_instance
and batch_id = g_batch_id;
DELETE msc_wip_job_schedule_interface
WHERE sr_instance_id= arg_org_instance
AND NVL(GROUP_ID,-1) = NVL(arg_wip_group_id, -1);
DELETE MSC_WIP_JOB_DTLS_INTERFACE
WHERE sr_instance_id= arg_org_instance
AND NVL(GROUP_ID,-1) = NVL(arg_wip_group_id, -1);
DELETE MSC_PO_REQUISITIONS_INTERFACE
WHERE sr_instance_id= arg_org_instance
AND NVL(BATCH_ID, -1) = NVL(arg_po_batch_number, -1);
DELETE MSC_PO_RESCHEDULE_INTERFACE
WHERE sr_instance_id= arg_org_instance
and batch_id = g_batch_id;
update msc_supplies set batch_id = NULL where batch_id = g_batch_id;
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
l_sql_cur := ' SELECT count(*) from MRP_ORG_TRANSFER_RELEASE'|| l_dblink ||
' WHERE batch_id = :l_arg_po_batch_number' ;
l_sql_stmt := ' INSERT INTO MRP_ORG_TRANSFER_RELEASE' || l_dblink ||
' ( batch_id, '||
' Item_ID, ' ||
' SRC_Organization_ID, ' ||
' SR_Instance_ID, ' ||
' To_Organization_ID, ' ||
' To_Sr_Instance_ID, ' ||
' Quantity, ' ||
' Need_By_Date, ' ||
' Ship_date, ' ||
' Deliver_to_location_id, ' ||
' Deliver_to_requestor_id, ' ||
' Preparer_id, ' ||
' Uom_code, ' ||
' Charge_account_id, ' ||
' To_Operating_unit, ' ||
' SRC_Operating_unit, ' ||
' Load_Type, ' ||
' Sales_Order_Line_ID, ' ||
' Sales_Order_Number, ' ||
' End_item_number, ' ||
' firm_demand_flag, ' ||
' transaction_id, ' ||
' plan_type ,' ||
' part_condition ,' || -- bug 9031352
' ship_method ) ' ||
' (SELECT /*+ FIRST_ROWS */ ' ||
' :l_arg_po_batch_number,'|| -- batch id
' msi.sr_inventory_item_id, ' || -- item id in the source
' s.implement_source_org_id,' || -- source organization id
' s.sr_instance_id, ' || -- source instance id
' s.organization_id, ' || -- destination org id
' :l_org_instance_id, ' || -- destination instance id
' s.implement_quantity, ' || -- quantity
' s.implement_dock_date, ' || -- arrival date in dst org
' s.implement_ship_date, ' || -- ship date
' s.implement_location_id, ' || -- destination location id
' s.implement_employee_id, ' || -- Deliver to requestor id
' s.implement_employee_id, ' || -- preparer id
' msi.uom_code, ' || -- uom
' decode(mp.organization_type, ' || -- Account id
' 1, nvl(mpp.material_account, '||
' decode( msi1.inventory_asset_flag, ' ||
' ''Y'', mp.material_account, ' ||
' nvl(msi1.expense_account,mp.expense_account))),' ||
' -1), '||
' mp2.operating_unit, ' || -- src_operating unit
' mp.operating_unit, ' || -- to_operating_unit
' :p_load_type, ' || -- load type
' null, ' || -- Sales Order Line ID
' s.transaction_id, ' || -- Sales Order Number
' s.implement_unit_number, ' || --end item number
' DECODE(s.implement_firm, 1, ''Y'',''N''), '||
' s.transaction_id, ' || -- transaction_id of msc_supplies
l_plan_type ||',' ||
' decode(s.item_type_value,1,''G'',2,''B'',''G''), ' || -- part condition of msc_supplies -- bug 9031352
' nvl(s.implement_ship_method,s.ship_method) ' ||
' FROM msc_projects mpp, '||
' msc_trading_partners mp, ' ||
' msc_trading_partners mp2,' ||
' msc_system_items msi, ' ||
' msc_system_items msi1,' ||
' msc_supplies s, ' ||
' msc_plan_organizations_v orgs ' ||
' WHERE mpp.organization_id (+)= s.organization_id ' ||
' AND mpp.project_id (+)= nvl(s.implement_project_id,-23453) ' ||
' AND mpp.plan_id (+)= s.plan_id ' ||
' AND mpp.sr_instance_id(+)= s.sr_instance_id ' ||
' AND mp.sr_tp_id = s.source_organization_id ' ||
' AND mp.sr_instance_id = s.sr_instance_id ' ||
' AND mp.partner_type= 3 ' ||
' AND mp2.sr_tp_id = msi.organization_id ' ||
' AND mp2.sr_instance_id = msi.sr_instance_id ' ||
' AND mp2.partner_type= 3 ' ||
' AND msi.inventory_item_id = s.inventory_item_id ' ||
' AND msi.plan_id = s.plan_id ' ||
' AND msi.organization_id = s.organization_id ' ||
' AND msi.sr_instance_id = s.sr_instance_id ' ||
' AND msi1.plan_id = -1 ' ||
' AND msi1.sr_instance_id = msi.sr_instance_id ' ||
' AND msi1.organization_id = msi.organization_id ' ||
' AND msi1.inventory_item_id = msi.inventory_item_id ' ||
' AND s.release_errors is NULL ' ||
' AND s.implement_quantity > 0 ' ||
' AND s.organization_id = orgs.planned_organization ' ||
' AND s.sr_instance_id = orgs.sr_instance_id ' ||
' AND s.plan_id = orgs.plan_id ' ||
' AND orgs.organization_id = :l_arg_owning_org_id ' ||
' AND orgs.owning_sr_instance = :l_arg_owning_instance ' ||
' AND orgs.plan_id = :l_arg_plan_id ' ||
' AND orgs.sr_instance_id = :l_arg_org_instance ' ||
' AND (s.releasable = ' || RELEASABLE || ' or s.releasable is null ) ';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
l_sql_stmt := ' INSERT INTO MRP_ORG_TRANSFER_RELEASE' || l_dblink ||
' ( batch_id, '||
' Item_ID, ' ||
' SRC_Organization_ID, ' ||
' SR_Instance_ID, ' ||
' To_Organization_ID, ' ||
' To_Sr_Instance_ID, ' ||
' Quantity, ' ||
' Need_By_Date, ' ||
' Ship_date, ' ||
' Deliver_to_location_id, ' ||
' Deliver_to_requestor_id, ' ||
' Preparer_id, ' ||
' Uom_code, ' ||
' Charge_account_id, ' ||
' To_Operating_unit, ' ||
' SRC_Operating_unit, ' ||
' Load_Type, ' ||
' Sales_Order_Line_ID, ' ||
' Sales_Order_Number, ' ||
' End_item_number, '||
' firm_demand_flag, ' ||
' transaction_id, ' ||
' plan_type ,' ||
' ship_method ) ' ||
' (SELECT /*+ FIRST_ROWS */ ' ||
' :l_arg_po_batch_number,'|| -- batch id
' msi.sr_inventory_item_id, ' || -- item id in the source
' s.implement_source_org_id,' || -- source organization id
' s.sr_instance_id, ' || -- source instance id
' s.organization_id, ' || -- destination org id
' :l_org_instance_id, ' || -- destination instance id
' s.implement_quantity, ' || -- quantity
' s.implement_dock_date, ' || -- arrival date in dst org
' s.implement_ship_date, ' || -- ship date
' s.implement_location_id, ' || -- destination location id
' s.implement_employee_id, ' || -- Deliver to requestor id
' s.implement_employee_id, ' || -- preparer id
' msi.uom_code, ' || -- uom
' decode(mp.organization_type, ' || -- Account id
' 1, nvl(mpp.material_account, '||
' decode( msi1.inventory_asset_flag, ' ||
' ''Y'', mp.material_account, ' ||
' nvl(msi1.expense_account,mp.expense_account))),' ||
' -1), '||
' mp2.operating_unit, ' || -- to_operating unit
' mp.operating_unit, ' || -- src_operating_unit
' :p_load_type, ' || -- load type
' d.sales_order_line_id,' || -- sales order line_id
/* ' to_number(substr(d.order_number,1,instr(d.order_number,ltrim(d.order_number,''0123456789''))-1)) ,' || --' msc_rel_plan_pub.Decode_Sales_Order_Number' || l_dblink || '(d.order_number),' || -- xxx dsting */
' decode(instr(d.order_number,ltrim(d.order_number,''0123456789'')), null,to_number(d.order_number), to_number(substr(d.order_number,1,instr(d.order_number,ltrim(d.order_number,''0123456789''))-1))), '|| -- 9849059
' s.implement_unit_number, ' || -- end item number
' DECODE(s.implement_firm, 1, ''Y'', ''N''), '||
' s.transaction_id, ' || -- transaction_id of msc_supplies
l_plan_type ||','||
' nvl(s.implement_ship_method,s.ship_method) ' ||
' FROM msc_projects mpp, '||
' msc_trading_partners mp, ' ||
' msc_trading_partners mp2,' ||
' msc_system_items msi, ' ||
' msc_system_items msi1,' ||
' msc_supplies s,' ||
' msc_demands d,' ||
' msc_plan_organizations_v orgs ' ||
' WHERE mpp.organization_id (+)= s.organization_id ' ||
' AND mpp.project_id (+)= nvl(s.implement_project_id,-23453) ' ||
' AND mpp.plan_id (+)= s.plan_id ' ||
' AND mpp.sr_instance_id(+)= s.sr_instance_id ' ||
' AND mp.sr_tp_id = s.source_organization_id ' ||
' AND mp.sr_instance_id = s.sr_instance_id ' ||
' AND mp.partner_type= 3 ' ||
' AND mp2.sr_tp_id = msi.organization_id ' ||
' AND mp2.sr_instance_id = msi.sr_instance_id ' ||
' AND mp2.partner_type= 3 ' ||
' AND msi.inventory_item_id = s.inventory_item_id ' ||
' AND msi.plan_id = s.plan_id ' ||
' AND msi.organization_id = s.organization_id ' ||
' AND msi.sr_instance_id = s.sr_instance_id ' ||
' AND msi1.plan_id = -1 ' ||
' AND msi1.sr_instance_id = msi.sr_instance_id ' ||
' AND msi1.organization_id = msi.organization_id ' ||
' AND msi1.inventory_item_id = msi.inventory_item_id ' ||
' AND s.release_errors is NULL ' ||
' AND s.implement_quantity >= 0 ' ||
' AND s.organization_id = orgs.planned_organization ' ||
' AND s.sr_instance_id = orgs.sr_instance_id ' ||
' AND s.plan_id = orgs.plan_id ' ||
' AND orgs.organization_id = :l_arg_owning_org_id ' ||
' AND orgs.owning_sr_instance = :l_arg_owning_instance ' ||
' AND orgs.plan_id = :l_arg_plan_id ' ||
' AND orgs.sr_instance_id = :l_arg_org_instance ' ||
' AND d.plan_id = s.plan_id ' ||
' AND d.sr_instance_id = s.sr_instance_id ' ||
' AND d.disposition_id = s.transaction_id ' ||
' AND d.origination_type = 30 ' ||
-- Bug 8717740
' and d.inventory_item_id = s.inventory_item_id ' ||
' and (s.releasable = ' || RELEASABLE || ' or s.releasable is null ) ';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
update mrp_org_transfer_release motr
set earliest_ship_date = (select max(ms.new_schedule_date)
from msc_supplies ms, msc_single_lvl_peg mslp
where ms.plan_id=l_arg_plan_id
and ms.transaction_id = mslp.child_id
and ms.plan_id= mslp.plan_id
and mslp.parent_id = motr.transaction_id
and mslp.pegging_type=1)
where motr.batch_id=l_arg_po_batch_number;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = l_arg_plan_id
and transaction_id= l_arg_transaction_id;
execute immediate ' update msc_supplies
set releasable = ' || RELEASE_ATTEMPTED || '
,batch_id = nvl(batch_id,' ||g_batch_id ||')
where plan_id = ' || l_arg_plan_id || '
and transaction_id in
(select transaction_id from MRP_ORG_TRANSFER_RELEASE' || l_dblink || '
where batch_id = ' || l_arg_po_batch_number || ')';
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
l_sql_stmt := ' INSERT INTO MRP_ORG_TRANSFER_RELEASE' || l_dblink ||
' ( batch_id, '||
' Item_ID, ' ||
' SRC_Organization_ID, ' ||
' SR_Instance_ID, ' ||
' To_Organization_ID, ' ||
' To_Sr_Instance_ID, ' ||
' Quantity, ' ||
' Need_By_Date, ' ||
' Ship_date, ' ||
' Deliver_to_location_id, ' ||
' Deliver_to_requestor_id, ' ||
' Preparer_id, ' ||
' Uom_code, ' ||
' Charge_account_id, ' ||
' To_Operating_unit, ' ||
' SRC_Operating_unit, ' ||
' Load_Type, ' ||
' Sales_Order_Line_ID, ' ||
' Sales_Order_Number, ' ||
' End_item_number, ' ||
' firm_demand_flag, ' ||
' transaction_id, ' ||
' plan_type ,' ||
' part_condition ,' || -- bug 9031352
' ship_method ) ' ||
'( SELECT /*+ FIRST_ROWS */ '||
' :l_arg_po_batch_number,'|| -- batch id
' msi.sr_inventory_item_id, ' || -- item id in the source
' s.implement_source_org_id,' || -- source organization id
' s.sr_instance_id, ' || -- source instance id
' s.organization_id, ' || -- destination org id
' :l_org_instance_id, ' || -- destination instance id
' s.implement_quantity, ' || -- quantity
' s.implement_dock_date, ' || -- arrival date in dst org
' nvl(s.implement_ship_date,nvl(s.implement_dock_date,s.implement_date)), ' || -- ship date
' s.implement_location_id, ' || -- destination location id
' s.implement_employee_id, ' || -- Deliver to requestor id
' s.implement_employee_id, ' || -- preparer id
' msi.uom_code, ' || -- uom
' decode(mp.organization_type, ' || -- Account id
' 1, nvl(mpp.material_account, '||
' decode( msi1.inventory_asset_flag, ' ||
' ''Y'', mp.material_account, ' ||
' nvl(msi1.expense_account,mp.expense_account))),' ||
' -1), '||
' mp.operating_unit, ' || -- src_operating unit
' mp2.operating_unit, ' || -- to_operating_unit
' :p_load_type, ' || -- load type
' null, ' || -- Sales Order Line ID
' s.transaction_id, ' || -- Sales Order Number
' s.implement_unit_number, ' || --end item number
' DECODE(s.implement_firm, 1, ''Y'',''N''), '||
' s.transaction_id, ' || -- transaction_id of msc_supplies
l_plan_type ||',' ||
' decode(s.item_type_value,1,''G'',2,''B'',''G''), ' || -- part condition of msc_supplies -- bug 9031352
' nvl(s.implement_ship_method,s.ship_method) ' ||
' FROM msc_projects mpp, ' ||
' msc_trading_partners mp, ' ||
' msc_trading_partners mp2, ' ||
'msc_system_items msi, '||
'msc_system_items msi1,'||
'msc_part_supplies s, '||
'msc_plan_organizations_v orgs '||
'WHERE mpp.organization_id (+)= s.organization_id '||
'AND mpp.project_id (+)= nvl(s.implement_project_id,-23453) ' ||
'AND mpp.plan_id (+)= s.plan_id '||
'AND mpp.sr_instance_id(+)= s.sr_instance_id '||
'AND mp.sr_tp_id = s.source_organization_id '||
'AND mp.sr_instance_id = s.sr_instance_id '||
'AND mp.partner_type= 3 '||
'AND mp2.sr_tp_id = msi.organization_id '||
'AND mp2.sr_instance_id = msi.sr_instance_id '||
'AND mp2.partner_type= 3 '||
'AND msi.inventory_item_id = s.inventory_item_id '||
'AND msi.plan_id = s.plan_id '||
'AND msi.organization_id = s.organization_id '||
'AND msi.sr_instance_id = s.sr_instance_id '||
'AND msi1.plan_id = -1 '||
'AND msi1.sr_instance_id = msi.sr_instance_id '||
'AND msi1.organization_id = msi.organization_id '||
'AND msi1.inventory_item_id = msi.inventory_item_id '||
--'AND s.release_errors is NULL '||
'AND (s.releasable = ' || RELEASABLE || 'or s.releasable is null ) '||
--'AND s.implement_quantity > 0 '||
'AND s.organization_id = orgs.planned_organization '||
'AND s.sr_instance_id = orgs.sr_instance_id '||
'AND s.plan_id = orgs.plan_id '||
'AND orgs.organization_id = :l_arg_owning_org_id '||
'AND orgs.owning_sr_instance = :l_arg_owning_instance '||
'AND orgs.plan_id = :l_arg_plan_id '||
'AND orgs.sr_instance_id = :l_arg_org_instance ';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
/* update mrp_org_transfer_release motr
set earliest_ship_date = (select max(ms.new_schedule_date)
from msc_part_supplies ms, msc_single_lvl_peg mslp
where ms.plan_id=l_arg_plan_id
and ms.transaction_id = mslp.child_id
and ms.plan_id= mslp.plan_id
and mslp.parent_id = motr.transaction_id
and mslp.pegging_type=1)
where motr.batch_id=l_arg_po_batch_number;*/
update msc_supplies
set releasable = RELEASE_ATTEMPTED,
batch_id = nvl(batch_id,g_batch_id)
where plan_id = l_arg_plan_id
and transaction_id= l_arg_transaction_id;
/* update msc_part_supplies
set releasable = RELEASE_ATTEMPTED,
batch_id = nvl(batch_id,g_batch_id)
where plan_id = l_arg_plan_id
and transaction_id= l_arg_transaction_id; */
execute immediate ' update msc_supplies
set releasable = ' || RELEASE_ATTEMPTED || ',
batch_id = nvl(batch_id,' ||g_batch_id ||')
where plan_id = ' || l_arg_plan_id || '
and transaction_id in (select orig_transaction_id from msc_part_supplies where transaction_id in
(select transaction_id from MRP_ORG_TRANSFER_RELEASE' || l_dblink || '
where batch_id = ' || l_arg_po_batch_number || '))';
execute immediate ' update msc_part_supplies
set releasable = ' || RELEASE_ATTEMPTED || ',
batch_id = nvl(batch_id,' ||g_batch_id ||')
where plan_id = ' || l_arg_plan_id || '
and transaction_id in
(select transaction_id from MRP_ORG_TRANSFER_RELEASE' || l_dblink || '
where batch_id = ' || l_arg_po_batch_number || ')';
l_sql_cur := 'SELECT count(*) from MRP_IRO_RELEASE' || p_dblink ||' WHERE batch_id = :p_arg_iro_batch_number';
'with mfg0 AS ( select transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id ,
sum(allocated_quantity) allocated_quantity
from msc_full_pegging
where sr_instance_id = '||p_arg_org_instance||
' and plan_id = '|| p_arg_plan_id ||
' group by transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id
)
SELECT /*+ LEADING(s d) */ s1.transaction_id,
s1.new_order_quantity quantity,
s2.new_order_quantity in_req_quantity,
s.new_order_quantity out_req_quantity,
Decode(s2.order_type,51,s2.transaction_id, null) in_req_transaction_id,
s.transaction_id out_req_transaction_id,
--L_arg_io_batch_number Batch_id,
msi1.sr_inventory_item_id inventory_item_id,
msi1.uom_code,
s1.organization_id,
s1.new_schedule_date promise_date,
s.implement_location_id,
s.Load_Type,
s.implement_source_org_id
FROM msc_supplies s,
msc_supplies s1,
msc_supplies s2,
msc_system_items msi1,
msc_demands d,
msc_demands d1,
msc_demands d2,
MFG0 mfg,
mfg0 mfg1
WHERE s.release_errors IS NULL
AND s.sr_instance_id = '||p_arg_org_instance||
' AND s.plan_id = '|| p_arg_plan_id ||
' AND s.transaction_id = d.disposition_id
AND s.sr_instance_id = d.sr_instance_id
AND s.plan_id = d.plan_id
AND d.origination_type = 1 --- Planned order demand
AND d.demand_id = mfg.demand_id
AND d.plan_id = mfg.plan_id
AND d.sr_instance_id = mfg.sr_instance_id
AND d.organization_id = mfg.organization_id
AND mfg.transaction_id = s1.transaction_id
AND mfg.plan_id = s1.plan_id
AND s1.sr_instance_id = msi1.sr_instance_id
AND s1.plan_id = msi1.plan_id
AND s1.inventory_item_id = msi1.inventory_item_id
AND s1.organization_id = msi1.organization_id
AND s1.transaction_id = d1.disposition_id
AND s1.sr_instance_id = d1.sr_instance_id
AND s1.plan_id = d1.plan_id
AND d1.origination_type = 78 -- planned defective part demand
AND d1.demand_id = mfg1.demand_id(+)
AND d1.plan_id = mfg1.plan_id(+)
AND d1.sr_instance_id = mfg1.sr_instance_id(+)
AND D1.organization_id = mfg1.organization_id (+)
AND mfg1.transaction_id = s2.transaction_id(+)
AND mfg1.plan_id = s2.plan_id(+)
AND s2.transaction_id = d2.disposition_id(+)
AND s2.sr_instance_id = d2.sr_instance_id(+)
AND s2.plan_id = d2.plan_id(+)
AND d2.origination_type(+) = 1
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )';
/* 4.1 iterate through the record in table type and update the load type for transaction_id corresponding to in_req_transaction_id to 32 */
for i IN 1 .. lv_in_req_transaction_id_lst.count LOOP
/*4.2 calling the api to update implement_* column */
IF (lv_in_req_transaction_id_lst(i) is not NULL) THEN
p_where_clause := ' transaction_id = ' || lv_in_req_transaction_id_lst(i) || ' and plan_id = ' || p_arg_plan_id;
MSC_SELECT_ALL_FOR_RELEASE_PUB.Update_Implement_Attrib(p_where_clause ,
NULL,
NULL,
NULL,
NULL,
NULL,
p_total_rows ,
p_succ_rows ,
p_error_rows
);
select --implement_quantity,
new_order_quantity, release_errors
into lv_implement_quantity, lv_release_errors from msc_supplies
where plan_id = p_arg_plan_id
and transaction_id = lv_in_req_transaction_id_lst(i);
UPDATE msc_supplies
SET load_type = 32,
release_status = 2,
implement_quantity = new_order_quantity, --to be removed if above api works fine
release_errors = NULL,
batch_id=decode(v_batch_id_populated,2,batch_id,g_batch_id)
WHERE transaction_id = lv_in_req_transaction_id_lst(i)
and plan_id =p_arg_plan_id ;
/* 5. bulk insert the data in the table type to mrp_iro_release table in the source */
FOR i IN 1 .. lv_transaction_id_lst.COUNT
LOOP
l_sql_qry := 'insert into mrp_iro_release' || p_dblink || '(Transaction_id,
Quantity,
in_req_quantity,
out_req_quantity,
In_req_transaction_id,
Out_req_transaction_id,
Batch_id,
Inventory_item_id,
Uom_code,
Organization_id,
Promise_date,
Load_Type,
deliver_to_location_id,
src_organization_id)
values (:lv_Transaction_id,
:lv_Quantity,
:lv_in_req_quantity,
:lv_out_req_quantity,
:lv_In_req_transaction_id,
:lv_Out_req_transaction_id,
:p_arg_iro_batch_number,
:lv_Inventory_item,
:lv_uom_code ,
:lv_organization_id,
:lv_Promise_date,
:Load_Type,
:implement_location_id,
:implement_source_org_id)';
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id =p_arg_plan_id
and transaction_id= lv_transaction_id_lst(i);
/* 7. update the load type to null which had been updated to 32 previously */
for i IN 1 .. lv_in_req_transaction_id_lst.count LOOP
If (lv_in_req_transaction_id_lst(i) is NULL) then
l_sql_qry := 'UPDATE msc_supplies '
||'SET load_type = NULL
WHERE plan_id= :p_arg_plan_id AND transaction_id = '||lv_out_req_transaction_id_lst(i) ;
l_sql_qry := 'UPDATE msc_supplies '
||'SET load_type = NULL WHERE plan_id= :p_arg_plan_id AND transaction_id in ('
|| lv_in_req_transaction_id_lst(i)||','||lv_out_req_transaction_id_lst(i)||')' ;
UPDATE msc_supplies
SET load_type = NULL
WHERE transaction_id = lv_out_req_transaction_id_lst(i)
and plan_id =p_arg_plan_id ;
( select transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id ,
sum(allocated_quantity) allocated_quantity
from msc_part_pegging
where sr_instance_id = '||p_arg_org_instance|| '
and plan_id = '|| p_arg_plan_id ||'
group by transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id
)
SELECT /*+ LEADING(s d) */
s1.transaction_id,
s1.new_order_quantity quantity,
s2.new_order_quantity in_req_quantity,
s.new_order_quantity out_req_quantity,
Decode(s2.order_type,51,s2.transaction_id, null) in_req_transaction_id,
s.transaction_id out_req_transaction_id,
--L_arg_io_batch_number Batch_id,
msi1.sr_inventory_item_id inventory_item_id,
msi1.uom_code,
s1.organization_id,
s1.new_schedule_date promise_date,
s.implement_location_id,
k.Load_Type,
s.implement_source_org_id,
k.transaction_id
FROM
msc_supplies k,
msc_part_supplies s,
msc_part_demands d,
mfg0 mfg,
msc_part_supplies s1,
msc_part_demands d1,
mfg0 mfg1,
msc_part_supplies s2,
msc_part_demands d2,
msc_system_items msi1
WHERE
k.release_errors IS NULL
AND (k.releasable = ' || RELEASABLE || ' or k.releasable is null )
AND k.sr_instance_id = '||p_arg_org_instance|| '
AND k.plan_id = '|| p_arg_plan_id ||' --K.batchidid filter and k.transctionid/k.load_typefilter added dynamically
AND k.TRANSACTION_ID = s.ORIG_TRANSACTION_ID
AND s.transaction_id = d.disposition_id
AND s.sr_instance_id = d.sr_instance_id
AND s.plan_id = d.plan_id
AND d.origination_type = 1 --- Planned order demand
AND d.demand_id = mfg.demand_id
AND d.plan_id = mfg.plan_id
AND d.sr_instance_id = mfg.sr_instance_id
AND d.organization_id = mfg.organization_id
AND mfg.transaction_id = s1.transaction_id
AND mfg.plan_id = s1.plan_id
AND s1.plan_id = msi1.plan_id
AND s1.sr_instance_id = msi1.sr_instance_id
AND s1.organization_id = msi1.organization_id
AND s1.inventory_item_id = msi1.inventory_item_id
AND s1.transaction_id = d1.disposition_id
AND s1.sr_instance_id = d1.sr_instance_id
AND s1.plan_id = d1.plan_id
AND d1.origination_type = 78 -- planned defective part demand
AND d1.plan_id = mfg1.plan_id (+)
AND d1.sr_instance_id = mfg1.sr_instance_id (+)
AND d1.organization_id = mfg1.organization_id (+)
AND d1.demand_id = mfg1.demand_id (+)
AND mfg1.transaction_id = s2.transaction_id(+)
AND mfg1.plan_id = s2.plan_id(+)
AND s2.transaction_id = d2.disposition_id(+)
AND s2.sr_instance_id = d2.sr_instance_id(+)
AND s2.plan_id = d2.plan_id(+)
AND d2.origination_type(+) = 1';
/* 4.1 iterate through the record in table type and update the load type for transaction_id corresponding to in_req_transaction_id to 32 */
for i IN 1 .. lv_orig_transaction_id_lst.count LOOP
UPDATE msc_supplies
SET --load_type = 32,
release_status = 2,
-- implement_quantity = new_order_quantity, --to be removed if above api works fine
--release_errors = NULL,
batch_id=decode(v_batch_id_populated,2,batch_id,g_batch_id)
WHERE transaction_id = lv_orig_transaction_id_lst(i)
and plan_id =p_arg_plan_id ;
UPDATE msc_part_supplies
SET load_type = 32,
--release_status = 2,
--implement_quantity = new_order_quantity, --to be removed if above api works fine
release_errors = NULL,
batch_id=decode(v_batch_id_populated,2,batch_id,g_batch_id)
WHERE transaction_id in ( lv_in_req_transaction_id_lst(i),lv_out_req_transaction_id_lst(i))
and plan_id =p_arg_plan_id ;
/* 5. bulk insert the data in the table type to mrp_iro_release table in the source */
FOR i IN 1 .. lv_transaction_id_lst.COUNT
LOOP
l_sql_qry := 'insert into mrp_iro_release' || p_dblink || '(Transaction_id,
Quantity,
in_req_quantity,
out_req_quantity,
In_req_transaction_id,
Out_req_transaction_id,
Batch_id,
Inventory_item_id,
Uom_code,
Organization_id,
Promise_date,
Load_Type,
deliver_to_location_id,
src_organization_id)
values (:lv_Transaction_id,
:lv_Quantity,
:lv_in_req_quantity,
:lv_out_req_quantity,
:lv_In_req_transaction_id,
:lv_Out_req_transaction_id,
:p_arg_iro_batch_number,
:lv_Inventory_item,
:lv_uom_code ,
:lv_organization_id,
:lv_Promise_date,
:Load_Type,
:implement_location_id,
:implement_source_org_id)';
update msc_supplies -- change the variable name to lv_orig_transaction_id
set releasable = RELEASE_ATTEMPTED,
batch_id = nvl(batch_id,g_batch_id)
where plan_id = p_arg_plan_id
and transaction_id= lv_orig_transaction_id_lst(i);
/* update msc_part_supplies
set releasable = RELEASE_ATTEMPTED,
batch_id = nvl(batch_id,g_batch_id)
where plan_id = p_arg_plan_id
and transaction_id= lv_transaction_id_lst(i);*/
Insert into MRP_ERO_RELEASE'||p_dblink||
' (TRANSACTION_ID,
REPAIR_SUPPLIER_ID ,
REPAIR_SUPPLIER_ORG_ID ,
REPAIR_PROGRAM ,
BATCH_ID ,
DESTINATION_ORG_ID ,
SOURCE_ORG_ID ,
INVENTORY_ITEM_ID ,
PROMISE_DATE ,
QUANTITY ,
DEFECTIVE_ITEM_ID,
DEFECTIVE_ITEM_QTY)
Select
s.transaction_id ,
mtp1.sr_tp_id repair_supplier_id ,
s1.organization_id repair_supplier_org_id ,
msi.repair_program repair_program,
'||p_arg_ero_batch_number||' ,
s.organization_id destination_organization_id ,
d2.organization_id source_organization_id ,
msi.sr_inventory_item_id repair_to_item_id ,
nvl(s.implement_dock_date , nvl(s.new_dock_date, sysdate ) ) need_by_date,
s.implement_quantity quantity,
msi1.sr_inventory_item_id defective_item_id,
s2.new_order_quantity defective_part_quantity
FROM msc_supplies s,
Msc_supplies s1,
Msc_supplies s2 ,
msc_system_items msi,
msc_system_items msi1,
msc_trading_partners mtp,
msc_trading_partners mtp1,
msc_demands d ,
msc_demands d1,
msc_demands d2,
( select distinct transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id
from msc_full_pegging
where sr_instance_id = '||p_arg_org_instance||'
and plan_id ='||p_arg_plan_id||'
) mfg,
( select transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id ,
sum(allocated_quantity) allocated_quantity
from msc_full_pegging
where sr_instance_id = '||p_arg_org_instance||'
and plan_id ='||p_arg_plan_id||'
group by transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id
) mfg1
WHERE s.release_errors is NULL
AND (s.releasable = ' || RELEASABLE || ' or s.releasable is null )
AND s.implement_quantity > 0
AND s.sr_instance_id = '||p_arg_org_instance||
' AND s.plan_id = '||p_arg_plan_id||'
AND ((:l_arg_mode is null and s.load_type = :p_load_type and s.load_type IS NOT NULL) OR (:l_arg_mode = ''WF'' and s.transaction_id =:l_arg_transaction_id))
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id =d.disposition_id
AND s.sr_instance_id = d.sr_instance_id
And s.plan_id =d.plan_id
And d.origination_type= 1 --- Planned order demand
And d.demand_id = mfg.demand_id
And d.plan_id = mfg.plan_id
And d.sr_instance_id =mfg.sr_instance_id
And d.organization_id= mfg.organization_id
And mfg.transaction_id =s1.transaction_id
And mfg.plan_id=s1.plan_id
AND mtp.sr_tp_id = s1.organization_id
AND mtp.sr_instance_id = s1.sr_instance_id
AND mtp.partner_type= 3
And mtp.modeled_supplier_id = mtp1.partner_id
AND s1.transaction_id =d1.disposition_id
AND s1.sr_instance_id = d1.sr_instance_id
And s1.plan_id =d1.plan_id
And d1.origination_type= 78 -- planned defective part demand
And d1.demand_id = mfg1.demand_id
And d1.plan_id = mfg1.plan_id
And d1.sr_instance_id =mfg1.sr_instance_id
And mfg1.organization_id = mfg1.organization_id
And mfg1.transaction_id = s2.transaction_id
And mfg1.plan_id =s2.plan_id
AND s2.transaction_id =d2.disposition_id
AND s2.sr_instance_id = d2.sr_instance_id
And s2.plan_id =d2.plan_id
/* And d2.origination_type= 1 -- planned defective out bound shipment */
And d2.origination_type in (1,30) -- defective ISO/pl out bound shipment (BUG 13258605)
And d2.sr_instance_id = msi1.sr_instance_id
And d2.plan_id = msi1.plan_id
And d2.inventory_item_id = msi1.inventory_item_id
And d2.organization_id = msi1.organization_id' ;
l_sql_cnt_qry := 'select count(*)
from mrp_ero_release'||p_dblink|| ' where batch_id = '||p_arg_ero_batch_number;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = p_arg_plan_id
and transaction_id= p_arg_transaction_id;
execute immediate 'update msc_supplies
set releasable = ' || RELEASE_ATTEMPTED || '
,batch_id = nvl(batch_id,' ||g_batch_id || ')
where plan_id = ' || p_arg_plan_id || '
and transaction_id in
(select transaction_id from mrp_ero_release' ||p_dblink||'
where batch_id = ' || p_arg_ero_batch_number || ')';
Insert into MRP_ERO_RELEASE'||p_dblink||
' (TRANSACTION_ID,
REPAIR_SUPPLIER_ID ,
REPAIR_SUPPLIER_ORG_ID ,
REPAIR_PROGRAM ,
BATCH_ID ,
DESTINATION_ORG_ID ,
SOURCE_ORG_ID ,
INVENTORY_ITEM_ID ,
PROMISE_DATE ,
QUANTITY ,
DEFECTIVE_ITEM_ID,
DEFECTIVE_ITEM_QTY)
Select
s.transaction_id ,
mtp1.sr_tp_id repair_supplier_id ,
s1.organization_id repair_supplier_org_id ,
msi.repair_program repair_program,
'||p_arg_ero_batch_number||' ,
s.organization_id destination_organization_id ,
d2.organization_id source_organization_id ,
msi.sr_inventory_item_id repair_to_item_id ,
nvl(s.implement_dock_date , nvl(s.new_dock_date, sysdate ) ) need_by_date,
s.implement_quantity quantity,
msi1.sr_inventory_item_id defective_item_id,
s2.new_order_quantity defective_part_quantity
FROM
msc_supplies k,
msc_system_items msi,
msc_part_supplies s,
msc_part_demands d,
Msc_part_supplies s1,
msc_trading_partners mtp,
msc_trading_partners mtp1,
msc_part_demands d1,
Msc_part_supplies s2,
msc_part_demands d2,
msc_system_items msi1,
(select distinct transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id
from msc_part_pegging
where sr_instance_id = '||p_arg_org_instance||'
and plan_id ='||p_arg_plan_id||'
) mfg,
( select transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id ,
sum(allocated_quantity) allocated_quantity
from msc_part_pegging
where sr_instance_id = '||p_arg_org_instance||'
and plan_id ='||p_arg_plan_id||'
group by transaction_id,plan_id,organization_id ,sr_instance_id ,demand_id
) mfg1
WHERE k.release_errors is NULL
AND (k.releasable = ' || RELEASABLE || ' or k.releasable is null )
AND k.implement_quantity > 0
AND k.sr_instance_id = '||p_arg_org_instance||
' AND k.plan_id = '||p_arg_plan_id||'
AND ((:l_arg_mode is null and k.load_type = :p_load_type and k.load_type IS NOT NULL) OR (:l_arg_mode = ''WF'' and k.transaction_id =:l_arg_transaction_id))
AND k.TRANSACTION_ID = s.ORIG_TRANSACTION_ID
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id =d.disposition_id
AND s.sr_instance_id = d.sr_instance_id
And s.plan_id =d.plan_id
And d.origination_type= 1 --- Planned order demand
And d.demand_id = mfg.demand_id
And d.plan_id = mfg.plan_id
And d.sr_instance_id =mfg.sr_instance_id
And d.organization_id= mfg.organization_id
And mfg.transaction_id =s1.transaction_id
And mfg.plan_id=s1.plan_id
AND mtp.sr_tp_id = s1.organization_id
AND mtp.sr_instance_id = s1.sr_instance_id
AND mtp.partner_type= 3
And mtp.modeled_supplier_id = mtp1.partner_id
AND s1.transaction_id =d1.disposition_id
AND s1.sr_instance_id = d1.sr_instance_id
And s1.plan_id =d1.plan_id
And d1.origination_type= 78 -- planned defective part demand
And d1.demand_id = mfg1.demand_id
And d1.plan_id = mfg1.plan_id
And d1.sr_instance_id =mfg1.sr_instance_id
And mfg1.organization_id = s2.organization_id
And mfg1.transaction_id = s2.transaction_id
And mfg1.plan_id =s2.plan_id
AND s2.transaction_id =d2.disposition_id
AND s2.sr_instance_id = d2.sr_instance_id
And s2.plan_id =d2.plan_id
/* And d2.origination_type= 1 -- planned defective out bound shipment */
And d2.origination_type in (1,30) -- defective ISO/pl out bound shipment (BUG 13258605)
And d2.sr_instance_id = msi1.sr_instance_id
And d2.plan_id = msi1.plan_id
And d2.inventory_item_id = msi1.inventory_item_id
And d2.organization_id = msi1.organization_id ' ;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = p_arg_plan_id
and transaction_id= p_arg_transaction_id;
update msc_part_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = g_batch_id
where plan_id = p_arg_plan_id
and orig_transaction_id= p_arg_transaction_id;
execute immediate 'update msc_supplies
set releasable = ' || RELEASE_ATTEMPTED || '
,batch_id = nvl(batch_id,' ||g_batch_id || ')
where plan_id = ' || p_arg_plan_id || '
and transaction_id in (select orig_transaction_id from msc_part_supplies where transaction_id in
(select transaction_id from mrp_ero_release' ||p_dblink||'
where batch_id = ' || p_arg_ero_batch_number || '))';
execute immediate 'update msc_part_supplies
set releasable = ' || RELEASE_ATTEMPTED || '
,batch_id =' || g_batch_id || '
where plan_id = ' || p_arg_plan_id || '
and transaction_id in
(select transaction_id from mrp_ero_release' ||p_dblink||'
where batch_id = ' || p_arg_ero_batch_number || ')';
SELECT decode(nvl(FND_PROFILE.value('MSC_RELEASE_DTLS_REVDATE'),'Y'),'N',2,1),
DECODE(NVL(fnd_profile.value('MSC_INFLATE_WIP') ,'N'), 'N',2 ,1)
INTO lv_release_details,lv_inflate_wip
FROM dual;
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
decode( mp.daily_material_constraints+ mp.daily_resource_constraints+
mp.weekly_material_constraints+ mp.weekly_resource_constraints+
mp.period_material_constraints+ mp.period_resource_constraints,12,2,
decode(mpb.bucket_type,1,
DECODE( s.implement_quantity, s.new_order_quantity,
DECODE( s.implement_date, s.new_schedule_date,
DECODE(NVL(s.implement_alternate_bom, ''-23453''),
NVL(s.alternate_bom_designator, ''-23453''),
DECODE(NVL(s.implement_alternate_routing, ''-23453''),
NVL(s.alternate_routing_designator, ''-23453''),
DECODE(trunc(msc_calendar.date_offset
(s.organization_id,
s.sr_instance_id,
1, --daily bucket
s.need_by_date ,
ceil(nvl(msi.fixed_lead_time,0) +
nvl(msi.variable_lead_time,0) * s.implement_quantity)*-1 )),
trunc(s.new_wip_start_date),1,
decode(' || lv_release_details || ' ,2,2,1)),
2),
2),
2),
2),
2)),
s.organization_id,
s.plan_id
FROM msc_supplies s,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb,
msc_system_items msi,
msc_plans mp
WHERE mp.plan_id = :arg_plan_id
AND s.release_errors is NULL
AND nvl(s.cfm_routing_flag,0) = 3
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance ' ;
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT s.transaction_id,
s.sr_instance_id,
2 /* Details not enabled for Manual Planned orders */,
s.organization_id,
s.plan_id
FROM msc_supplies s,
msc_plan_organizations_v orgs
WHERE s.release_errors is NULL
AND nvl(s.cfm_routing_flag,0) = 3
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and s.new_wip_start_date IS NULL
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )' ;
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT 2
Into lv_agg_details(k)
FROM msc_department_resources deptres,
msc_resource_requirements resreq
WHERE resreq.sr_instance_id= lv_instance_id(k)
AND resreq.supply_id = lv_transaction_id(k)
AND resreq.organization_id= lv_org_id(k)
AND resreq.plan_id = lv_plan_id(k)
AND resreq.parent_id = 2
AND deptres.plan_id = resreq.plan_id
AND deptres.sr_instance_id= resreq.sr_instance_id
AND deptres.resource_id= resreq.resource_id
AND deptres.department_id= resreq.department_id
AND deptres.organization_id= resreq.organization_id
AND deptres.aggregate_resource_flag= 1
AND rownum=1;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
cfm_routing_flag,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
source_line_id,
organization_id,
organization_type,
load_type,
status_type,
first_unit_start_date,
last_unit_completion_date,
bom_revision_date,
routing_revision_date,
primary_item_id,
class_code,
job_name,
firm_planned_flag,
start_quantity,
net_quantity,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
bom_reference_id,
routing_reference_id,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID
-- dsr: 2 new columns
, schedule_priority
, requested_completion_date
)
SELECT SYSDATE,
nvl(s.cfm_routing_flag,0),
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
'MSC',
s.transaction_id,
msi.organization_id,
tp.organization_type,
5,
s.implement_status_code,
decode(lv_details_enabled(j),1,new_wip_start_date,null),
decode(v_unconstrained_plan,0,s.implement_date,1,trunc(s.implement_date)+v_time_stamp),
s.new_wip_start_date,
s.new_wip_start_date,
msi.sr_inventory_item_id,
s.implement_wip_class_code,
s.implement_job_name,
s.implement_firm,
decode(s.implement_quantity,s.new_order_quantity,
nvl(s.wip_start_quantity,s.implement_quantity),
s.implement_quantity),
s.implement_quantity,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
s.implement_alternate_bom,
s.implement_alternate_routing,
s.implement_unit_number,
2,
1,
DECODE( tp.organization_type,
2, mpe.bill_sequence_id,
NULL),
DECODE( tp.organization_type,
2, mpe.routing_sequence_id,
NULL),
'Y',
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
-- dsr: 2 new columns
, s.schedule_priority
, nvl(s.requested_completion_date, s.need_by_date)
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_process_effectivity mpe,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND mpe.plan_id(+)= s.plan_id
AND mpe.process_sequence_id(+)= s.process_seq_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND nvl(s.cfm_routing_flag,0) = 3;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
OPERATION_SEQ_NUM,
NEXT_ROUTING_OP_SEQ_NUM,
cfm_routing_flag,
SR_INSTANCE_ID)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
5,
1,
1,
nwk.from_op_seq_num,
nwk.to_op_seq_num,
3,
s.sr_instance_id
From msc_supplies s,
msc_operation_networks nwk,
msc_apps_instances ins,
msc_parameters param
Where nwk.plan_id = s.plan_id
AND nwk.sr_instance_id = s.sr_instance_id
AND nwk.routing_sequence_id = s.routing_sequence_id
AND nwk.transition_type = 1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
OPERATION_SEQ_NUM,
first_unit_start_date,
last_unit_completion_date,
cfm_routing_flag,
SR_INSTANCE_ID,
scheduled_quantity)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
3,
1,
1,
res.operation_seq_num,
min(res.START_DATE),
max(res.END_DATE),
3,
s.sr_instance_id,
max(nvl(res.CUMMULATIVE_QUANTITY,0))
From msc_supplies s,
msc_resource_requirements res,
msc_apps_instances ins,
msc_parameters param
Where res.plan_id = s.plan_id
AND res.sr_instance_id = s.sr_instance_id
AND s.transaction_id = res.supply_id
AND res.parent_id = 2
-- AND res.resource_id <> -1 Bug#3432607
-- AND res.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1
GROUP BY
s.last_update_login,
s.transaction_id,
res.OPERATION_SEQ_NUM,
s.sr_instance_id);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
operation_seq_num,
-- dsr resource_seq_num,
resource_id_new,
start_date,
completion_date,
alternate_num,
cfm_routing_flag,
SR_INSTANCE_ID
-- dsr: add following columns
, firm_flag
, setup_id
, group_sequence_id
, group_sequence_number
, batch_id
, maximum_assigned_units
, parent_seq_num
, resource_seq_num
, schedule_seq_num
, assigned_units
, usage_rate_or_amount
, scheduled_flag
)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
decode(res.parent_seq_num, null,4,2),
1,
1,
1,
res.operation_seq_num,
-- res.resource_seq_num,
res.resource_id,
nvl(res.firm_start_date,res.START_DATE),
nvl(res.firm_end_date,res.END_DATE),
nvl(res.alternate_num,0),
3,
s.sr_instance_id
-- dsr: add following columns
, res.firm_flag
, res.setup_id
, res.group_sequence_id
, res.group_sequence_number
, res.batch_number
, res.maximum_assigned_units
, res.parent_seq_num
, res.orig_resource_seq_num
, res.resource_seq_num
, res.assigned_units
, decode(res.parent_seq_num, null, (res.RESOURCE_HOURS/decode(res.basis_type,2,1,
nvl(res.cummulative_quantity,
decode(msi.rounding_control_type,1,
ROUND(s.new_order_quantity/nvl(res.REVERSE_CUMULATIVE_YIELD,1) ,6),
(s.new_order_quantity/nvl(res.REVERSE_CUMULATIVE_YIELD,1))
) ) ))* decode(mdr.efficiency,NULL,100,0,100,mdr.efficiency)/100 * decode(mdr.utilization,NULL,100,0,100,mdr.utilization)/100, res.RESOURCE_HOURS)
, decode(nvl(res.schedule_flag,1),-23453,1,1,1,res.schedule_flag)
From msc_supplies s,
msc_resource_requirements res,
msc_apps_instances ins,
msc_parameters param,
msc_department_resources mdr,
msc_system_items msi
Where res.plan_id = s.plan_id
AND res.sr_instance_id = s.sr_instance_id
AND s.transaction_id = res.supply_id
AND res.parent_id = 2
AND res.resource_id <> -1
AND res.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND res.plan_id = mdr.plan_id
AND res.organization_id =mdr.organization_id
AND res.sr_instance_id = mdr.sr_instance_id
AND res.resource_id = mdr.resource_id
AND res.department_id=mdr.department_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
operation_seq_num,
inventory_item_id_new,
primary_component_id,
source_phantom_id,
component_seq_id,
mrp_net_flag,
date_required,
mps_date_required,
basis_type,
quantity_per_assembly,
required_quantity,
mps_required_quantity,
cfm_routing_flag,
SR_INSTANCE_ID)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
2,
1,
1,
nvl(md.op_seq_num,1),
icomp.sr_inventory_item_id,
icomp1.sr_inventory_item_id,
icomp2.sr_inventory_item_id,
md.COMP_SEQ_ID,
1,
md.USING_ASSEMBLY_DEMAND_DATE,
md.USING_ASSEMBLY_DEMAND_DATE,
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
md.quantity_per_assembly,
md.USING_REQUIREMENT_QUANTITY,
md.USING_REQUIREMENT_QUANTITY,
3,
s.sr_instance_id
From msc_supplies s,
msc_demands md,
msc_system_items icomp,
msc_system_items icomp1,
msc_system_items icomp2,
msc_apps_instances ins,
msc_parameters param
Where /* not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = s.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = s.inventory_item_id
and excp.organization_id = s.organization_id
and excp.sr_instance_id = s.sr_instance_id
and excp.exception_type = 33
and excp.number2 = md.inventory_item_id)*/ /* not needed as inv_old need not be populated*/
icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND nvl(icomp.wip_supply_type,0) <> 6
AND icomp1.inventory_item_id= md.primary_component_id
AND icomp1.organization_id= md.organization_id
AND icomp1.sr_instance_id= md.sr_instance_id
AND icomp1.plan_id= md.plan_id
AND icomp2.inventory_item_id(+)= md.source_phantom_id
AND icomp2.organization_id(+)= md.organization_id
AND icomp2.sr_instance_id(+)= md.sr_instance_id
AND icomp2.plan_id(+)= md.plan_id
AND md.plan_id = s.plan_id
AND md.sr_instance_id = s.sr_instance_id
AND md.disposition_id= s.transaction_id
AND md.origination_type = 1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
operation_seq_num,
-- dsr resource_seq_num,
resource_id_new,
assigned_units,
alternate_num,
start_date,
completion_date,
cfm_routing_flag,
SR_INSTANCE_ID
-- dsr: add folllowing columns
, resource_seq_num
, schedule_seq_num
, parent_seq_num
)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
4,
1,
1,
res.operation_seq_num,
-- dsr res.resource_seq_num,
res.resource_id,
res.assigned_units,
nvl(res.alternate_num,0),
nvl(res.firm_start_date,res.START_DATE),
nvl(res.firm_end_date,res.END_DATE),
3,
s.sr_instance_id
-- dsr: add folllowing columns
, res.orig_resource_seq_num
, res.resource_seq_num
, res.parent_seq_num
From msc_supplies s,
msc_resource_requirements res,
msc_apps_instances ins,
msc_parameters param
Where res.plan_id = s.plan_id
AND res.sr_instance_id = s.sr_instance_id
AND s.transaction_id = res.supply_id
AND res.parent_id = 1
AND res.resource_id <> -1
AND res.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num, rawasthi
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
SERIAL_NUMBER,
group_sequence_id,
group_sequence_number,
batch_id
, resource_seq_num
, schedule_seq_num
, parent_seq_num
, cfm_routing_flag
, resource_id_new
, assigned_units
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
dep_res_inst.RES_INSTANCE_ID,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INSTANCE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
dep_res_inst.serial_number,
resreq.group_sequence_id,
resreq.group_sequence_number,
res_instreq.batch_number, ---- sbala res_instreq.res_inst_batch_id
resreq.orig_resource_seq_num
, resreq.resource_seq_num
, resreq.parent_seq_num
, 3
, resreq.resource_id
, 1
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq, -- changed from design doc
msc_dept_res_instances dep_res_inst,
msc_supplies s,
msc_apps_instances ins,
msc_parameters param
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1
;
/*print_debug_info( 'Operation Resource Instances: rows inserted into MSC_WIP_JOB_DTLS_INTERFACE = '
|| SQL%ROWCOUNT
); */
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num, rawasthi
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
serial_number,
resource_seq_num,
schedule_seq_num,
parent_seq_num,
cfm_routing_flag,
resource_id_new,
assigned_units
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
dep_res_inst.RES_INSTANCE_ID,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INST_USAGE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
dep_res_inst.serial_number,
resreq.orig_resource_seq_num
, resreq.resource_seq_num
, resreq.parent_seq_num
, 3
, resreq.resource_id
, 1
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s,
msc_apps_instances ins,
msc_parameters param
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1
;
/* print_debug_info( 'Resource Instance Usage: rows inserted into MSC_WIP_JOB_DTLS_INTERFACE = '
|| SQL%ROWCOUNT
); */
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= lv_transaction_id(j);
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
decode( mp.daily_material_constraints+ mp.daily_resource_constraints+
mp.weekly_material_constraints+ mp.weekly_resource_constraints+
mp.period_material_constraints+ mp.period_resource_constraints,12,
2,
DECODE(nvl(s.wsm_faulty_network,2),2,Decode(mpb.bucket_type,1,DECODE( s.implement_quantity,
s.new_order_quantity, DECODE( s.implement_date,
s.new_schedule_date, 1,
2),
2),2),2)),
s.organization_id,
s.plan_id
FROM msc_plans mp,
msc_supplies s,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb
WHERE mp.plan_id = :arg_plan_id
AND s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT 2
Into lv_agg_details(k)
FROM msc_department_resources deptres,
msc_resource_requirements resreq
WHERE resreq.sr_instance_id= lv_instance_id(k)
AND resreq.supply_id = lv_transaction_id(k)
AND resreq.organization_id= lv_org_id(k)
AND resreq.plan_id = lv_plan_id(k)
AND resreq.parent_id = 2
AND deptres.plan_id = resreq.plan_id
AND deptres.sr_instance_id= resreq.sr_instance_id
AND deptres.resource_id= resreq.resource_id
AND deptres.department_id= resreq.department_id
AND deptres.organization_id= resreq.organization_id
AND deptres.aggregate_resource_flag= 1
AND rownum=1;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
cfm_routing_flag,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
organization_id,
organization_type,
status_type,
load_type,
first_unit_start_date,
last_unit_completion_date,
bom_revision_date,
routing_revision_date,
job_name,
firm_planned_flag,
start_quantity, /* bug 1229891: net_quantity */
net_quantity,
wip_entity_id,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID,
PRIMARY_ITEM_ID,
source_line_id --Outbound Changes for XML
-- dsr: added 2 new columns
, schedule_priority
, requested_completion_date
)
SELECT SYSDATE,
arg_user_id,
s.cfm_routing_flag,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
'MSC',
msi.organization_id,
tp.organization_type,
DECODE(NVL(s.implement_status_code, s.wip_status_code),
JOB_CANCELLED,JOB_CANCELLED,NULL),
6,
decode(lv_details_enabled(j),1,new_wip_start_date,null),
decode(v_unconstrained_plan,0,s.implement_date,1,trunc(s.implement_date)+v_time_stamp),
NULL,
NULL,
s.implement_job_name,
s.implement_firm,
DECODE( tp.organization_type,
1, DECODE(s.new_order_quantity,
s.implement_quantity, TO_NUMBER(NULL),
((s.new_order_quantity + NVL(s.qty_completed, 0) +
NVL(s.qty_scrapped, 0)) -
(s.new_order_quantity - s.implement_quantity))),
NULL),
DECODE( tp.organization_type,
2, DECODE(s.new_order_quantity,
s.implement_quantity, TO_NUMBER(NULL),
((s.new_order_quantity + NVL(s.qty_completed, 0) +
NVL(s.qty_scrapped, 0)) -
(s.new_order_quantity - s.implement_quantity))),
s.implement_quantity),
s.disposition_id,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
s.implement_alternate_bom,
s.implement_alternate_routing,
s.implement_unit_number,
2,
1,
'Y',
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id,
msi.sr_inventory_item_id,
s.transaction_id --Outbound Changes for XML
-- dsr: added 2 new columns
, s.schedule_priority
, s.requested_completion_date
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND ((arg_mode is null and s.load_type = 6 AND
s.last_updated_by = decode(v_msc_released_only_by_user,1,v_user_id,s.last_updated_by)) or
(arg_mode = 'WF' and s.transaction_id = arg_transaction_id))
AND nvl(s.cfm_routing_flag,0) = 3
AND s.transaction_id = lv_transaction_id(j)
AND s.sr_instance_id = lv_instance_id(j)
AND s.plan_id = lv_plan_id(j);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
job_op_seq_num,
operation_seq_num,
next_routing_op_seq_num,
cfm_routing_flag,
SR_INSTANCE_ID)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
5,
1,
1,
decode(s.JUMP_OP_SEQ_NUM, null, decode(nwk.from_op_seq_num, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), nwk.from_op_seq_num, s.JOB_OP_SEQ_NUM,null),
decode(nwk.from_op_seq_num, 50000 ,null,nwk.from_op_seq_num),
nwk.to_op_seq_num,
3,
s.sr_instance_id
From msc_supplies s,
msc_job_operation_networks nwk,
msc_apps_instances ins,
msc_parameters param
Where nwk.plan_id = s.plan_id
AND nwk.sr_instance_id = s.sr_instance_id
AND nwk.transaction_id = s.transaction_id
AND nwk.recommended = 'Y'
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
job_op_seq_num,
OPERATION_SEQ_NUM,
first_unit_start_date,
last_unit_completion_date,
cfm_routing_flag,
SR_INSTANCE_ID,
scheduled_quantity)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
3,
1,
1,
decode(s.JUMP_OP_SEQ_NUM, null, decode(res.OPERATION_SEQ_NUM, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), res.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM,null),
decode(res.operation_seq_num, 50000,null,res.operation_seq_num),
min(res.START_DATE),
max(res.END_DATE),
3,
s.sr_instance_id,
max(nvl(res.CUMMULATIVE_QUANTITY,0))
From msc_supplies s,
msc_resource_requirements res,
msc_apps_instances ins,
msc_parameters param
Where res.plan_id = s.plan_id
AND res.sr_instance_id = s.sr_instance_id
AND s.transaction_id = res.supply_id
AND res.parent_id = 2
-- AND res.resource_id <> -1 --Bug#3432607
-- AND res.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1
GROUP BY
s.last_update_login,
s.transaction_id,
res.OPERATION_SEQ_NUM,
s.sr_instance_id,
-- res.CUMMULATIVE_QUANTITY,
s.OPERATION_SEQ_NUM,
s.JUMP_OP_SEQ_NUM,
s.JOB_OP_SEQ_NUM);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
job_op_seq_num,
operation_seq_num,
-- dsr resource_seq_num,
resource_id_new,
start_date,
completion_date,
alternate_num,
cfm_routing_flag,
SR_INSTANCE_ID
-- dsr: add following columns
, firm_flag
, setup_id
, group_sequence_id
, group_sequence_number
, batch_id
, maximum_assigned_units
, parent_seq_num
, resource_seq_num
, schedule_seq_num
, assigned_units
, usage_rate_or_amount
, scheduled_flag
)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
decode(res.parent_seq_num, null,4,2),
1,
1,
1,
decode(s.JUMP_OP_SEQ_NUM, null, decode(res.OPERATION_SEQ_NUM, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), res.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM,null),
decode(res.operation_seq_num, 50000,null,res.operation_seq_num),
-- res.resource_seq_num,
res.resource_id,
nvl(res.firm_start_date,res.START_DATE),
nvl(res.firm_end_date,res.END_DATE),
nvl(res.alternate_num,0),
3,
s.sr_instance_id
-- dsr: add following columns
, res.firm_flag
, res.setup_id
, res.group_sequence_id
, res.group_sequence_number
, res.batch_number
, res.maximum_assigned_units
, res.parent_seq_num
, res.orig_resource_seq_num
, res.resource_seq_num
, res.assigned_units
, decode(res.parent_seq_num, null, (res.RESOURCE_HOURS/decode(res.basis_type,2,1,
nvl(res.cummulative_quantity,
decode(msi.rounding_control_type,1,
ROUND(s.new_order_quantity/nvl(res.REVERSE_CUMULATIVE_YIELD,1) ,6),
(s.new_order_quantity/nvl(res.REVERSE_CUMULATIVE_YIELD,1))
) ) ))* decode(mdr.efficiency,NULL,100,0,100,mdr.efficiency)/100 * decode(mdr.utilization,NULL,100,0,100,mdr.utilization)/100, res.RESOURCE_HOURS)
, decode(nvl(res.schedule_flag,1),-23453,1,1,1,res.schedule_flag)
From msc_supplies s,
msc_resource_requirements res,
msc_apps_instances ins,
msc_parameters param,
msc_department_resources mdr,
msc_system_items msi
Where res.plan_id = s.plan_id
AND res.sr_instance_id = s.sr_instance_id
AND s.transaction_id = res.supply_id
AND res.parent_id = 2
AND res.resource_id <> -1
AND res.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND res.plan_id = mdr.plan_id
AND res.organization_id =mdr.organization_id
AND res.sr_instance_id = mdr.sr_instance_id
AND res.resource_id = mdr.resource_id
AND res.department_id=mdr.department_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
job_op_seq_num,
operation_seq_num,
inventory_item_id_new,
primary_component_id,
source_phantom_id,
component_seq_id,
mrp_net_flag,
date_required,
mps_date_required,
basis_type,
quantity_per_assembly,
required_quantity,
mps_required_quantity,
cfm_routing_flag,
SR_INSTANCE_ID)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
2,
1,
1,
decode(s.JUMP_OP_SEQ_NUM, null, decode(md.op_seq_num, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), md.op_seq_num, s.JOB_OP_SEQ_NUM,null),
decode(md.op_seq_num, 50000,null,md.op_seq_num),
icomp.sr_inventory_item_id,
icomp1.sr_inventory_item_id,
icomp2.sr_inventory_item_id,
md.COMP_SEQ_ID,
1,
md.USING_ASSEMBLY_DEMAND_DATE,
md.USING_ASSEMBLY_DEMAND_DATE,
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
md.quantity_per_assembly,
md.USING_REQUIREMENT_QUANTITY,
md.USING_REQUIREMENT_QUANTITY,
3,
s.sr_instance_id
From msc_supplies s,
msc_demands md,
msc_system_items icomp,
msc_system_items icomp1,
msc_system_items icomp2,
msc_apps_instances ins,
msc_parameters param
Where /* not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = s.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = s.inventory_item_id
and excp.organization_id = s.organization_id
and excp.sr_instance_id = s.sr_instance_id
and excp.exception_type = 33
and excp.number2 = md.inventory_item_id)*/ /* not needed as inv_old need not be populated*/
icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND nvl(icomp.wip_supply_type,0) <> 6
AND icomp1.inventory_item_id= md.primary_component_id
AND icomp1.organization_id= md.organization_id
AND icomp1.sr_instance_id= md.sr_instance_id
AND icomp1.plan_id= md.plan_id
AND icomp2.inventory_item_id(+)= md.source_phantom_id
AND icomp2.organization_id(+)= md.organization_id
AND icomp2.sr_instance_id(+)= md.sr_instance_id
AND icomp2.plan_id(+)= md.plan_id
AND md.plan_id = s.plan_id
AND md.sr_instance_id = s.sr_instance_id
AND md.disposition_id= s.transaction_id
AND md.origination_type = 1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
parent_header_id,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
job_op_seq_num,
operation_seq_num,
-- dsr resource_seq_num,
resource_id_new,
assigned_units,
alternate_num,
start_date,
completion_date,
cfm_routing_flag,
SR_INSTANCE_ID
, resource_seq_num -- dsr
, schedule_seq_num
, parent_seq_num
)
(SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
4,
4,
1,
1,
decode(s.JUMP_OP_SEQ_NUM, null, decode(res.operation_seq_num, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), res.operation_seq_num, s.JOB_OP_SEQ_NUM,null),
decode(res.operation_seq_num, 50000,null,res.operation_seq_num),
-- res.resource_seq_num,
res.resource_id,
res.assigned_units,
nvl(res.alternate_num,0),
nvl(res.firm_start_date,res.START_DATE),
nvl(res.firm_end_date,res.END_DATE),
3,
s.sr_instance_id,
-- dsr
res.orig_resource_seq_num,
res.resource_seq_num,
res.parent_seq_num
From msc_supplies s,
msc_resource_requirements res,
msc_apps_instances ins,
msc_parameters param
Where res.plan_id = s.plan_id
AND res.sr_instance_id = s.sr_instance_id
AND s.transaction_id = res.supply_id
AND res.parent_id = 1
AND res.resource_id <> -1
AND res.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
job_op_seq_num,
operation_seq_num,
-- resource_seq_num, dsr rawasthi
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
SERIAL_NUMBER,
group_sequence_id,
group_sequence_number,
batch_id
, resource_seq_num -- dsr
, schedule_seq_num
, parent_seq_num
, cfm_routing_flag
, resource_id_new
, assigned_units
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
decode(s.JUMP_OP_SEQ_NUM, null, decode(resreq.operation_seq_num, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), resreq.operation_seq_num, s.JOB_OP_SEQ_NUM,null),
decode(resreq.operation_seq_num, 50000,null,resreq.operation_seq_num),
-- resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
dep_res_inst.RES_INSTANCE_ID,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INSTANCE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
dep_res_inst.serial_number,
resreq.group_sequence_id,
resreq.group_sequence_number,
res_instreq.batch_number,
---- sbala res_instreq.res_inst_batch_id
resreq.orig_resource_seq_num,
resreq.resource_seq_num,
resreq.parent_seq_num,
3,
resreq.resource_id,
1
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq, -- changed from design doc
msc_dept_res_instances dep_res_inst,
msc_supplies s,
msc_apps_instances ins,
msc_parameters param
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1
;
/* print_debug_info('Resource Instance: rows inserted into msc_wip_job_dtls_interface = '
|| sql%rowcount); */
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
job_op_seq_num,
operation_seq_num,
-- resource_seq_num,
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
serial_number
, resource_seq_num -- dsr
, schedule_seq_num
, parent_seq_num
, cfm_routing_flag
, resource_id_new
, assigned_units
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
decode(s.JUMP_OP_SEQ_NUM, null, decode(resreq.operation_seq_num, s.OPERATION_SEQ_NUM, s.JOB_OP_SEQ_NUM, null), resreq.operation_seq_num, s.JOB_OP_SEQ_NUM,null),
decode(resreq.operation_seq_num, 50000,null,resreq.operation_seq_num),
-- resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
dep_res_inst.RES_INSTANCE_ID,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INST_USAGE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
dep_res_inst.serial_number,
resreq.orig_resource_seq_num
, resreq.resource_seq_num
, resreq.parent_seq_num
, 3
, resreq.resource_id
, 1
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s,
msc_apps_instances ins,
msc_parameters param
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND ins.instance_id = lv_instance_id(j)
AND nvl(ins.lbj_details,2) = 1
AND param.organization_id = s.organization_id
AND param.sr_instance_id = s.sr_instance_id
AND param.network_scheduling_method = 1
;
/* print_debug_info('Resource Instance Usage: rows inserted into msc_wip_job_dtls_interface = '
|| sql%rowcount); */
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= lv_transaction_id(j);
SELECT COUNT(1) FROM (
SELECT count(1)
FROM msc_supplies
WHERE implement_alternate_bom is not null
and transaction_id = p_transaction_id
AND plan_id = p_plan_id
and rownum < 2
UNION
SELECT count(1)
from msc_exception_details excp
where excp.plan_id = p_plan_id
and number1 = p_transaction_id
and excp.exception_type = 33
and rownum < 2);
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
SELECT decode(nvl(FND_PROFILE.value('MSC_RELEASE_DTLS_REVDATE'),'Y'),'N',2,1),
DECODE(NVL(fnd_profile.value('MSC_INFLATE_WIP') ,'N'), 'N',2 ,1)
INTO lv_release_details,lv_inflate_wip
FROM dual;
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
Decode(' ||l_plan_type ||', 5, -- dsting for drp look at alternate bom/subst exception to determine whether or not to release dtls
Decode(implement_alternate_bom, NULL,
(SELECT Decode(COUNT(1), 1, 1, 2)
FROM msc_exception_details e
WHERE e.plan_id = :arg_plan_id
AND e.number1 = s.transaction_id
AND e.exception_type = 33), 1),
decode( mp.daily_material_constraints+ mp.daily_resource_constraints+
mp.weekly_material_constraints+ mp.weekly_resource_constraints+
mp.period_material_constraints+ mp.period_resource_constraints,12,2,
decode(mpb.bucket_type,1,
Decode(greatest(abs(s.implement_quantity -
s.new_order_quantity),
0.000001),
0.000001,
DECODE( s.implement_date, s.new_schedule_date,
DECODE(NVL(s.implement_alternate_bom, ''-23453''),
NVL(s.alternate_bom_designator, ''-23453''),
DECODE(NVL(s.implement_alternate_routing, ''-23453''),
NVL(s.alternate_routing_designator, ''-23453''),
DECODE(trunc(msc_calendar.date_offset
(s.organization_id,
s.sr_instance_id,
1, --daily bucket
s.need_by_date ,
ceil(nvl(msi.fixed_lead_time,0) +
nvl(msi.variable_lead_time,0) * s.implement_quantity)*-1 )),
trunc(s.new_wip_start_date),1,
decode(' || lv_release_details || ',2,2,1)),
2),
2),
2),
2),
2))),
s.organization_id,
s.plan_id,
decode( ' || l_apps_ver ||' ,
6,msi.rounding_control_type,
5,msi.rounding_control_type,
4,msi.rounding_control_type,
3,msi.rounding_control_type,
2), -- BUG 13624336 (FP of BUG 13500698)
NVL(s.wip_start_quantity, 0),
NVL(s.new_order_quantity, 0),
NVL(s.implement_quantity, 0)
-- NVL(s.qty_scrapped, 0),
-- NVL(s.qty_completed, 0)
FROM msc_supplies s,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb,
msc_system_items msi,
msc_plans mp
WHERE mp.plan_id = :arg_plan_id
AND s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND orgs.plan_id = mp.plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and s.plan_id = mpb.plan_id
and (nvl(s.implement_date,s.new_schedule_date) between mpb.bkt_start_date and mpb.bkt_end_date)
and s.new_wip_start_date IS NOT NULL
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT s.transaction_id,
s.sr_instance_id,
2 /* Details not enabled for Manual Planned orders */,
s.organization_id,
s.plan_id,
2, /* setting rounding control to 2 ,since details are not released and this flag is used in details*/
NVL(s.wip_start_quantity, 0),
NVL(s.new_order_quantity, 0),
NVL(s.implement_quantity, 0)
-- NVL(s.qty_scrapped, 0),
-- NVL(s.qty_completed, 0)
FROM msc_supplies s,
msc_plan_organizations_v orgs
WHERE s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and s.new_wip_start_date IS NULL
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null ) ';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT 2
Into lv_agg_details(k)
FROM msc_department_resources deptres,
msc_resource_requirements resreq
WHERE resreq.sr_instance_id= lv_instance_id(k)
AND resreq.supply_id = lv_transaction_id(k)
AND resreq.organization_id= lv_org_id(k)
AND resreq.plan_id = lv_plan_id(k)
AND resreq.parent_id = 2
AND deptres.plan_id = resreq.plan_id
AND deptres.sr_instance_id= resreq.sr_instance_id
AND deptres.resource_id= resreq.resource_id
AND deptres.department_id= resreq.department_id
AND deptres.organization_id= resreq.organization_id
AND deptres.aggregate_resource_flag= 1
AND rownum=1;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
source_line_id,
organization_id,
organization_type,
load_type,
status_type,
first_unit_start_date,
last_unit_completion_date,
bom_revision_date,
routing_revision_date,
primary_item_id,
class_code,
job_name,
firm_planned_flag,
start_quantity,
net_quantity,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
bom_reference_id,
routing_reference_id,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID
-- dsr
, schedule_priority
, requested_completion_date
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
decode(tp.organization_type,2,s.creation_date,SYSDATE),
arg_user_id,
arg_wip_group_id,
'MSC',
s.transaction_id,
msi.organization_id,
tp.organization_type,
1,
decode(tp.organization_type,2,1,s.implement_status_code),
DECODE( lv_details_enabled(j),
2,DECODE( tp.organization_type,
2, s.new_wip_start_date,
NULL),
s.new_wip_start_date),
/* BUG 14378841 (FP of BUG 14358365)
* Ferring Enhancement - Post Processing Lead time for Make Items
* We will pass the implement dock date as the completion date
* on the work order.
*/
/*decode(v_unconstrained_plan,
0,s.implement_date,
1,trunc(s.implement_date)+v_time_stamp), */
decode(v_unconstrained_plan,
0, nvl(s.implement_dock_date,
nvl(s.new_dock_date, s.implement_date)),
1, trunc(nvl(s.implement_dock_date,
nvl(s.new_dock_date, s.implement_date))
+ v_time_stamp)),
/* Added to code to release the greatest of sysdate OR the BOM/Routing revision date */
decode( lv_details_enabled(j),1, -- If details and daily buckets
GREATEST(trunc(sysdate),
decode(v_rp_plan,
1,trunc(s.new_wip_start_date),
trunc(msc_calendar.date_offset(
s.organization_id,
s.sr_instance_id,
1, --daily bucket
s.need_by_date ,
ceil(nvl(msi.fixed_lead_time,0) +
nvl(msi.variable_lead_time,0) * s.implement_quantity)*-1 ) ) )
)+(1439/1440)
,NULL),
decode( lv_details_enabled(j),1, -- If details and daily buckets
GREATEST(trunc(sysdate),trunc( msc_calendar.date_offset
(s.organization_id,
s.sr_instance_id,
1, --daily bucket
s.need_by_date ,
ceil(nvl(msi.fixed_lead_time,0) +
nvl(msi.variable_lead_time,0) * s.implement_quantity)*-1 ) )
)+(1439/1440)
,NULL),
msi.sr_inventory_item_id,
s.implement_wip_class_code,
s.implement_job_name,
s.implement_firm,
/*
decode(msi.rounding_control_type,1,
ROUND(s.implement_quantity/GET_REV_CUM_YIELD_DISC(s.sr_instance_id, s.plan_id
,s.process_seq_id,s.transaction_id,s.organization_id,tp.organization_type)),
(s.implement_quantity/GET_REV_CUM_YIELD_DISC(s.sr_instance_id, s.plan_id
,s.process_seq_id,s.transaction_id,s.organization_id,tp.organization_type))
),*/
/* Bug 4540170 - PLANNED ORDERS RELEASED FROM ASCP DO NOT CREATE BATCH WITH CORRECT QTYS */
/* Decode(greatest(abs(s.implement_quantity -
s.new_order_quantity),
0.000001),
0.000001, nvl(s.wip_start_quantity,s.implement_quantity),
s.implement_quantity), */
decode(tp.organization_type,
1,lv_wip_start_qty_out(j),
lv_net_qty(j)),
lv_net_qty(j),
-- s.implement_quantity,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
DECODE( tp.organization_type, -- biogen enhancement -part2
2, to_char(mb.bill_sequence_id), -- for bug 14775879
s.implement_alternate_bom), -- FP of bug 14770153
DECODE( tp.organization_type,
2, to_char(mb.bill_sequence_id),
s.implement_alternate_routing),
-- commented for biogen enhancement -part2
/* substr(s.implement_alternate_bom,1, -- biogen enhancement-part1
instr(s.implement_alternate_bom,'/')-1),
substr(s.implement_alternate_routing,1,
instr(s.implement_alternate_routing,'/')-1), */
s.implement_unit_number,
2,
1,
DECODE( tp.organization_type,
2, mpe.bill_sequence_id,
NULL),
DECODE( tp.organization_type,
2, mpe.routing_sequence_id,
NULL),
'Y',
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
-- dsr
, s.schedule_priority
, nvl(s.requested_completion_date, s.need_by_date)
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_process_effectivity mpe,
msc_supplies s,
msc_boms mb
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND mpe.plan_id(+)= s.plan_id
AND mpe.process_sequence_id(+)= s.process_seq_id
-- Added outer join on msc_boms as per columns in MSC_BOMS_N1 index,
-- for biogen enhancement - part2
AND mb.plan_id(+) = s.plan_id
AND mb.organization_id(+) = s.organization_id
AND mb.sr_instance_id(+) = s.sr_instance_id
AND mb.assembly_item_id(+) = s.inventory_item_id
AND mb.alternate_bom_designator(+) = s.implement_alternate_bom
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id;
SELECT count(1)
INTO l_sub_comp_count
from msc_exception_details excp
where excp.plan_id = arg_plan_id
and number1 = lv_transaction_id(i)
and excp.exception_type = 33
and rownum < 2;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
department_id,
description,
standard_operation_id,
first_unit_start_date,
first_unit_completion_date,
last_unit_start_date,
last_unit_completion_date,
minimum_transfer_quantity,
count_point_type,
backflush_flag,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
operation_seq_id, --Outbound changes for XML
SR_INSTANCE_ID)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
NULL, --description,
NULL, --standard_operation_id,
min(resreq.START_DATE), --first_unit_start_date,
min(resreq.START_DATE), --first_unit_completion_date,
max(resreq.END_DATE), --last_unit_start_date,
max(resreq.END_DATE), --last_unit_completion_date,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
SUBST_CHANGE,
LT_OPERATION,
2,
1,
resreq.operation_sequence_id, --Outbound changes for XML
s.sr_instance_id
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
GROUP BY
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
LT_OPERATION, --load_type,
NULL, --description,
NULL, --standard_operation_id,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
resreq.operation_sequence_id,
s.sr_instance_id;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num, rawasthi
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, --Outbound changes for XML
FIRM_FLAG,
resource_hours,
department_id
-- added the following for dsr
, setup_id
, group_sequence_id
, group_sequence_number
, batch_id
, maximum_assigned_units
, parent_seq_num
, resource_seq_num
, schedule_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
/* for OPM orgs (tp.organization_type =2) we don't consider lv_inflate_wip */
/* decode(resreq.parent_seq_num, null, decode(decode(tp.organization_type,2,2,1),1,(resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,
nvl(resreq.cummulative_quantity,
decode(msi.rounding_control_type,1,
ROUND(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) ,6),
(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) )
) ) ))* decode(mdr.efficiency,NULL,100,0,100,mdr.efficiency)/100 * decode(mdr.utilization,NULL,100,0,100,mdr.utilization)/100,
resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,
nvl(resreq.cummulative_quantity,
decode(msi.rounding_control_type,1,
ROUND(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) ,6),
(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) )
) ) )), resreq.usage_rate), */
resreq.usage_rate,
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
resreq.ASSIGNED_UNITS,
decode(resreq.parent_seq_num,null,SUBST_CHANGE,SUBST_ADD),
-- SUBST_CHANGE,
LT_RESOURCE,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, --Outbound changes for XML
-- dsr decode(nvl(resreq.firm_flag,0),0,2,1),
NVL(resreq.firm_flag, 0), -- if null, then default to not firm (0)
resreq.resource_hours,
resreq.department_id
-- added the following for dsr
, resreq.setup_id
, resreq.group_sequence_id
, resreq.group_sequence_number
, resreq.batch_number
, resreq.maximum_assigned_units
, resreq.parent_seq_num
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s,
msc_department_resources mdr
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND resreq.plan_id = mdr.plan_id
AND resreq.organization_id =mdr.organization_id
AND resreq.sr_instance_id = mdr.sr_instance_id
AND resreq.resource_id = mdr.resource_id
AND resreq.department_id=mdr.department_id;
/* UPDATE EXISTING COMPONENTS *
| We should set inventory_item_id_new to NULL |
* */
FORALL j IN 1..lv_job_count
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
basis_type,
quantity_per_assembly,
component_yield_factor,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
-- operation_seq_id, --Outbound changes for XML
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
nvl(md.op_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,
'6', null,
'5', null,
'4', null,
'3', null,
icomp.sr_inventory_item_id), -- BUG 13624336 (FP of BUG 13500698)
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
/*
decode(lv_round_primary_item(j),1,
ROUND(md.USING_REQUIREMENT_QUANTITY/ROUND(s.implement_quantity/GET_REV_CUM_YIELD_DISC_COMP(s.sr_instance_id
,s.plan_id,s.process_seq_id,s.transaction_id,s.organization_id,tp.organization_type,md.op_seq_num),6),6),
ROUND(md.USING_REQUIREMENT_QUANTITY/(s.implement_quantity/GET_REV_CUM_YIELD_DISC_COMP(s.sr_instance_id
,s.plan_id,s.process_seq_id,s.transaction_id,s.organization_id,tp.organization_type,md.op_seq_num)),6)
),*/
-- round(md.USING_REQUIREMENT_QUANTITY/s.wip_start_quantity,6),
TO_NUMBER(NULL), --Quantity_per
md.component_yield_factor,
TO_NUMBER(NULL), --Department_ID
/*
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,md.inventory_item_id,s.organization_id),
icomp.wip_supply_type),*/
md.wip_supply_type,
md.USING_ASSEMBLY_DEMAND_DATE,
md.USING_REQUIREMENT_QUANTITY,
0,
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
md.USING_REQUIREMENT_QUANTITY,
md.USING_ASSEMBLY_DEMAND_DATE,
SUBST_CHANGE,
LT_COMPONENT,
2,
1,
TO_CHAR(NULL),
-- md.operation_seq_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_demands md,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*
( md.SUBST_ITEM_FLAG <> 1
OR md.SUBST_ITEM_FLAG IS NULL) */
not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = md.inventory_item_id)
AND tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND nvl(icomp.wip_supply_type,0) <> 6
AND md.sr_instance_Id= s.sr_instance_Id
AND md.disposition_id= s.transaction_id
AND md.plan_id= s.plan_id
AND md.origination_type IN (1,47)
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
quantity_per_assembly,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
nvl(co.operation_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,
'6',null,
'5',null,
'4',null,
'3',null,
icomp.sr_inventory_item_id), -- BUG 13624336 (FP of BUG 13500698)
TO_NUMBER(NULL), --Quantity_per
TO_NUMBER(NULL), --Department_ID
co.wip_supply_type,
co.NEW_SCHEDULE_DATE,
co.NEW_ORDER_QUANTITY,
0,
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
co.NEW_ORDER_QUANTITY,
co.NEW_SCHEDULE_DATE,
SUBST_CHANGE,
LT_COMPONENT,
2,
1,
TO_CHAR(NULL),
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_supplies co,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /* not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = co.inventory_item_id)
AND */
tp.sr_tp_id = msi.organization_id
AND tp.sr_instance_id = msi.sr_instance_id
AND tp.partner_type = 3
AND icomp.inventory_item_id = co.inventory_item_id
AND icomp.organization_id = co.organization_id
AND icomp.sr_instance_id = co.sr_instance_id
AND icomp.plan_id = co.plan_id
AND co.sr_instance_Id = s.sr_instance_Id
AND co.disposition_id = s.transaction_id
AND co.plan_id = s.plan_id
AND co.order_type = 17 --Co-product /by-product
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id = lv_transaction_id(j)
AND s.sr_instance_id = lv_instance_id(j)
AND s.plan_id = arg_plan_id
AND lv_details_enabled(j) = 1
AND lv_agg_details(j) = 1
AND tp.organization_type = 2;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
quantity_per_assembly,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
-- operation_seq_id, --Outbound changes for XML
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
arg_wip_group_id,
s.transaction_id,
nvl(md.op_seq_num,1),
sr_item.sr_inventory_item_id,
icomp.sr_inventory_item_id,
/*
decode(lv_round_primary_item(j),1,
ROUND(md.USING_REQUIREMENT_QUANTITY/ROUND(s.implement_quantity/GET_REV_CUM_YIELD_DISC_COMP(s.sr_instance_id
,s.plan_id,s.process_seq_id,s.transaction_id,s.organization_id,tp.organization_type,md.op_seq_num),6),6),
ROUND(md.USING_REQUIREMENT_QUANTITY/(s.implement_quantity/GET_REV_CUM_YIELD_DISC_COMP(s.sr_instance_id
,s.plan_id,s.process_seq_id,s.transaction_id,s.organization_id,tp.organization_type,md.op_seq_num)),6)
),*/
bsub.usage_quantity,
TO_NUMBER(NULL), --Department_ID
/*
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,md.inventory_item_id,s.organization_id),
icomp.wip_supply_type),*/
nvl(md.wip_supply_type,icomp.wip_supply_type),
md.USING_ASSEMBLY_DEMAND_DATE,
md.USING_REQUIREMENT_QUANTITY,
0,
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1,
md.USING_REQUIREMENT_QUANTITY,
md.USING_ASSEMBLY_DEMAND_DATE,
SUBST_CHANGE,
LT_COMPONENT,
2,
1,
TO_CHAR(NULL),
-- md.operation_seq_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
FROM msc_trading_partners tp,
msc_item_id_lid sr_item,
msc_bom_components subcomp,
msc_component_substitutes bsub,
/* msc_bom_components bcomp, */
msc_boms bom,
msc_system_items icomp,
msc_demands md,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND sr_item.inventory_item_id= subcomp.inventory_item_id
AND sr_item.sr_instance_id= subcomp.sr_instance_id
AND subcomp.plan_id = bsub.plan_id
AND subcomp.bill_sequence_id = bsub.bill_sequence_id
AND subcomp.COMPONENT_SEQUENCE_ID = bsub.COMPONENT_SEQUENCE_ID
AND bsub.substitute_item_id = md.inventory_item_id
AND bsub.organization_id = md.organization_id
AND bsub.plan_id = md.plan_id
AND bsub.COMPONENT_SEQUENCE_ID= md.comp_seq_id
/* Bug 3636332 AND bsub.bill_sequence_id = bom.bill_sequence_id */
--------------------------------------------------------------
/* AND md.SUBST_ITEM_FLAG=1 */
--------------------------------------------------------------
AND ( bom.ALTERNATE_BOM_DESIGNATOR= s.ALTERNATE_BOM_DESIGNATOR
OR ( bom.ALTERNATE_BOM_DESIGNATOR IS NULL
AND s.ALTERNATE_BOM_DESIGNATOR IS NULL))
AND bom.assembly_item_id= s.inventory_item_id
AND bom.organization_id= s.organization_id
AND bom.sr_instance_id= s.sr_instance_id
AND bom.plan_id= s.plan_id
AND icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND md.sr_instance_Id= s.sr_instance_Id
AND md.disposition_id= s.transaction_id
AND md.plan_id= s.plan_id
AND md.origination_type in (1,47)
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, --Outbound changes for XML
resource_seq_num,
schedule_seq_num,
-- dsr FIRM_FLAG,
department_id,
resource_hours,
parent_seq_num)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
/* for OPM orgs (tp.organization_type =2) we don't consider lv_inflate_wip */
/* decode(resreq.parent_seq_num, null, decode(decode(tp.organization_type,2,2,lv_inflate_wip),1,(resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,
nvl(decode(resreq.cummulative_quantity,0,1,resreq.cummulative_quantity),
decode(msi.rounding_control_type,1,
ROUND(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) ,6),
(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) )
) ) ))* decode(mdr.efficiency,NULL,100,0,100,mdr.efficiency)/100 * decode(mdr.utilization,NULL,100,0,100,mdr.utilization)/100,
resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,
nvl(decode(resreq.cummulative_quantity,0,1,resreq.cummulative_quantity),
decode(msi.rounding_control_type,1,
ROUND(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) ,6),
(s.new_order_quantity/decode(tp.organization_type,2,1,nvl(resreq.REVERSE_CUMULATIVE_YIELD,1)) )
) ) )), resreq.usage_rate), */
resreq.usage_rate,
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
resreq.ASSIGNED_UNITS,
SUBST_CHANGE,
LT_RESOURCE_USAGE,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, --Outbound changes for XML
resreq.orig_resource_seq_num,
resreq.resource_seq_num,
-- dsr decode(nvl(resreq.firm_flag,0),0,2,1),
resreq.department_id,
resreq.resource_hours,
resreq.parent_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s,
msc_department_resources mdr
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND resreq.plan_id = mdr.plan_id
AND resreq.organization_id =mdr.organization_id
AND resreq.sr_instance_id = mdr.sr_instance_id
AND resreq.resource_id = mdr.resource_id
AND resreq.department_id=mdr.department_id ;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, --rawasthi
resource_id_new, -- xx resource_id, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
-- FIRM_FLAG,
resource_hours,
department_id,
-- setup_id,
SERIAL_NUMBER,
group_sequence_id,
group_sequence_number,
batch_id,
resource_seq_num,
schedule_seq_num
, assigned_units -- jguo
, parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.resource_id,
resreq.resource_id,
dep_res_inst.RES_INSTANCE_ID, -- jguo dep_res_inst.dept_RESOURCE_INST_ID,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INSTANCE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
-- res_instreq.firm_flag,
resreq.resource_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
-- res_instreq.setup_id,
dep_res_inst.serial_number,
resreq.group_sequence_id,
resreq.group_sequence_number,
res_instreq.batch_number,
---- sbala res_instreq.res_inst_batch_id
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num,
, 1 -- jguo
, resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
/*anuj_review: join condition for serial number and res_instance_id */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old,
resource_id_new, -- xx RESOURCE_ID, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
serial_number,
resource_seq_num,
schedule_seq_num
-- alternate_num
, assigned_units -- jguo
,parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
dep_res_inst.RES_INSTANCE_ID, -- jguo dep_res_inst.dept_RESOURCE_INST_ID,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INST_USAGE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
dep_res_inst.serial_number,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num
,1 -- jguo
, resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq, -- ??? msc_res_inst_requirements res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
resource_seq_num,
alternate_num,
start_date,
completion_date,
required_quantity,
charge_number,
SR_INSTANCE_ID,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
resource_id_old,
resource_id_new,
schedule_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
resreq.ORIG_RESOURCE_SEQ_NUM,
resreq.alternate_num,
Chg.charge_start_datetime,
Chg.charge_end_datetime,
chg.charge_quantity, -- Chg.Planned_Charge_Quantity,
Chg.charge_number,
s.sr_instance_id,
SUBST_ADD, -- jguo SUBST_CHANGE, -- 3
LT_CHARGE_TYPE, --8
2,
1,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
resreq.resource_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_supplies s,
msc_resource_charges chg
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.transaction_id = chg.res_transaction_id -- chg.transaction_id
AND resreq.plan_id = chg.plan_id
AND resreq.sr_instance_id = chg.sr_instance_id
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= lv_transaction_id(j);
SELECT count(1)
FROM msc_supplies
WHERE implement_alternate_bom is not null
and transaction_id = p_transaction_id
and rownum < 2
UNION
SELECT count(1)
from msc_exception_details excp
where excp.plan_id = p_plan_id
and number1 = p_transaction_id
and excp.exception_type = 33
and rownum < 2;
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
SELECT
DECODE(NVL(fnd_profile.value('MSC_EXPLODE_IN_WIP') ,'Y'), 'Y',1 ,2)
INTO lv_explode_in_wip
FROM DUAL;
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
decode((mp.daily_material_constraints
+ mp.daily_resource_constraints
+ mp.weekly_material_constraints
+ mp.weekly_resource_constraints
+ mp.period_material_constraints
+ mp.period_resource_constraints),
12, 2,
DECODE(mpb.bucket_type,1,
Decode(greatest(abs(s.implement_quantity -
s.new_order_quantity),
0.000001),
0.000001,
DECODE( s.implement_date,
s.new_schedule_date, 1,
2),
2),
2)),
s.organization_id,
s.plan_id,
NVL(s.wip_start_quantity, 0) + NVL(s.qty_completed, 0) + NVL(s.qty_scrapped, 0),
NVL(s.new_order_quantity, 0),
NVL(s.implement_quantity, 0),
NVL(s.qty_scrapped, 0),
NVL(s.qty_completed, 0)
FROM msc_supplies s,
msc_plans mp,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb
WHERE s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and s.plan_id = mpb.plan_id
and s.plan_id = mp.plan_id
AND ( (DECODE(s.disposition_status_type ,
2,DECODE(SIGN( mp.curr_start_date-s.new_schedule_date),
1,mp.curr_start_date,
DECODE(SIGN(s.new_schedule_date-mp.curr_cutoff_date),
1,mp.curr_cutoff_date,
s.new_schedule_date)),
s.new_schedule_date ) BETWEEN mpb.bkt_start_date
AND mpb.bkt_end_date))
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT 2
Into lv_agg_details(k)
FROM msc_department_resources deptres,
msc_resource_requirements resreq
WHERE resreq.sr_instance_id= lv_instance_id(k)
AND resreq.supply_id = lv_transaction_id(k)
AND resreq.organization_id= lv_org_id(k)
AND resreq.plan_id = lv_plan_id(k)
AND resreq.parent_id = 2
AND deptres.plan_id = resreq.plan_id
AND deptres.sr_instance_id= resreq.sr_instance_id
AND deptres.resource_id= resreq.resource_id
AND deptres.department_id= resreq.department_id
AND deptres.organization_id= resreq.organization_id
AND deptres.aggregate_resource_flag= 1
AND rownum=1;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
organization_id,
organization_type,
status_type,
load_type,
last_unit_completion_date,
first_unit_start_date,
bom_revision_date,
routing_revision_date,
job_name,
firm_planned_flag,
start_quantity, -- bug 1229891: net_quantity
net_quantity,
wip_entity_id,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
SR_INSTANCE_ID,
uom_code, --Outbound Changes for XML
PRIMARY_ITEM_ID,
source_line_id --Outbound Changes for XML
, schedule_priority -- dsr
, requested_completion_date -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
decode(tp.organization_type,2,s.creation_date,SYSDATE),
arg_user_id,
arg_wip_group_id,
'MSC',
msi.organization_id,
tp.organization_type,
DECODE(NVL(s.implement_status_code, s.wip_status_code),
JOB_CANCELLED,JOB_CANCELLED,NULL),
decode(arg_load_type, WIP_DIS_MASS_RESCHEDULE, 3, 21), /* dsr 3 */
/* BUG 14378841 (FP of BUG 14358365)
* Ferring Enhancement - Post Processing Lead time for Make Items
* We will pass the implement dock date as the completion date
* on the work order.
*/
/* decode(v_unconstrained_plan,
0,s.implement_date,
1,trunc(s.implement_date)+v_time_stamp), */
decode(v_unconstrained_plan,
0, nvl(s.implement_dock_date,
nvl(s.new_dock_date, s.implement_date)),
1, trunc(nvl(s.implement_dock_date,
nvl(s.new_dock_date, s.implement_date))
+ v_time_stamp)),
s.new_wip_Start_Date,
NULL,
NULL,
s.implement_job_name,
s.implement_firm,
DECODE( tp.organization_type,
1,lv_wip_start_qty_out(j) ,
NULL),
lv_net_qty(j),
s.disposition_id,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
DECODE( tp.organization_type, -- biogen enhancement -part2
2, to_char(mb.bill_sequence_id), -- for bug 14775879
s.implement_alternate_bom), -- FP of bug 14770153
DECODE( tp.organization_type,
2, to_char(mb.bill_sequence_id),
s.implement_alternate_routing),
-- commented for biogen enhancement -part2
/* substr(s.implement_alternate_bom,1, -- biogen enhancement-part1
instr(s.implement_alternate_bom,'/')-1),
substr(s.implement_alternate_routing,1,
instr(s.implement_alternate_routing,'/')-1), */
s.implement_unit_number,
2,
1,
decode(lv_details_enabled(j),
1, 'Y',
decode(lv_explode_in_wip,
1,'Y',
'N')), --bug 10399650
s.transaction_id,
s.sr_instance_id,
nvl(s.implement_uom_code,msi.uom_code),
msi.sr_inventory_item_id,
s.transaction_id --Outbound Changes for XML
, s.schedule_priority -- dsr
, s.requested_completion_date -- dsr
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_supplies s,
msc_plan_organizations_v orgs,
msc_boms mb
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
-- Added outer join on msc_boms as per columns in MSC_BOMS_N1 index,
-- for biogen enhancement - part2
AND mb.plan_id(+) = s.plan_id
AND mb.organization_id(+) = s.organization_id
AND mb.sr_instance_id(+) = s.sr_instance_id
AND mb.assembly_item_id(+) = s.inventory_item_id
AND mb.alternate_bom_designator(+) = s.implement_alternate_bom
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
--AND ((arg_mode is null and s.load_type = WIP_DIS_MASS_RESCHEDULE) or
AND ((arg_mode is null and s.load_type = arg_load_type) or
(arg_mode = 'WF' and s.transaction_id = arg_transaction_id))
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
department_id,
description,
standard_operation_id,
first_unit_start_date,
first_unit_completion_date,
last_unit_start_date,
last_unit_completion_date,
minimum_transfer_quantity,
count_point_type,
backflush_flag,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id, --Outbound Changes for XML
WIP_ENTITY_ID
, eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
NULL, --description,
NULL, --standard_operation_id,
min(resreq.START_DATE), --first_unit_start_date,
min(resreq.START_DATE), --first_unit_completion_date,
max(resreq.END_DATE), --last_unit_start_date,
max(resreq.END_DATE), --last_unit_completion_date,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
SUBST_CHANGE,
LT_OPERATION,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id, --Outbound Changes for XML
s.disposition_id
, decode(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
GROUP BY
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
LT_OPERATION, --load_type,
NULL, --description,
NULL, --standard_operation_id,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
s.sr_instance_id,
resreq.operation_sequence_id,
s.disposition_id;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, -- Outbound Changes for XML
wip_entity_id,
resource_hours,
department_id
-- dsr: following 9 columns
, firm_flag
, setup_id
, group_sequence_id
, group_sequence_number
, batch_id
, maximum_assigned_units
, parent_seq_num
, eam_flag
, resource_seq_num
, schedule_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
decode(resreq.parent_seq_num, null,
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null), -- BUG 13624336 (FP of BUG 13500698)
'4',to_number(null),
'3',TO_NUMBER(NULL),
resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,
decode(s.new_order_quantity,0,1,s.new_order_quantity))), resreq.usage_rate),
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
-- decode(l_apps_ver,'3',TO_NUMBER(NULL),resreq.ASSIGNED_UNITS),
resreq.ASSIGNED_UNITS,
decode(resreq.parent_seq_num,null,SUBST_CHANGE,SUBST_ADD),
-- SUBST_CHANGE,
LT_RESOURCE,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, -- Outbound Changes for XML
s.disposition_id,
resreq.resource_hours,
resreq.department_id
-- dsr: following 9 columns
, resreq.firm_flag
, resreq.setup_id
, resreq.group_sequence_id
, resreq.group_sequence_number
, resreq.batch_number
, resreq.maximum_assigned_units
, resreq.parent_seq_num
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1 ;
/* UPDATE EXISTING COMPONENTS *
| We should set inventory_item_id_new to NULL |
* */
FORALL j IN 1..lv_job_count
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
basis_type,
quantity_per_assembly,
component_yield_factor,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
-- operation_seq_id, -- Outbound Changes for XML
uom_code, --Outbound Changes for XML
wip_entity_id,
eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
nvl(md.op_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null),
'4',to_number(null),
'3',null,
icomp.sr_inventory_item_id), -- BUG 13624336 (FP of BUG 13500698)
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
decode(l_apps_ver,
'6',TO_NUMBER(NULL),
'5',TO_NUMBER(NULL),
'4',TO_NUMBER(NULL),
'3',TO_NUMBER(NULL),
(md.USING_REQUIREMENT_QUANTITY/s.implement_quantity)), -- BUG 13624336(FP of BUG 13500698)
md.component_yield_factor,
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,md.inventory_item_id,s.organization_id),
icomp.wip_supply_type),
md.USING_ASSEMBLY_DEMAND_DATE,
decode(l_apps_ver,
'6',TO_NUMBER(NULL),
'5',TO_NUMBER(NULL),
'4',TO_NUMBER(NULL),
'3',TO_NUMBER(NULL),
md.USING_REQUIREMENT_QUANTITY), -- BUG 13624336 (FP of BUG 13500698)
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null),
'4',to_number(null),
'3',TO_NUMBER(NULL),
md.USING_REQUIREMENT_QUANTITY), -- BUG 13624336 (FP of BUG 13500698)
md.USING_ASSEMBLY_DEMAND_DATE,
SUBST_CHANGE,
LT_COMPONENT,
2,
1,
TO_CHAR(NULL),
s.sr_instance_id,
-- md.operation_seq_id,
nvl(s.implement_uom_code, msi.uom_code),
s.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_demands md,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*
( md.SUBST_ITEM_FLAG <> 1
OR md.SUBST_ITEM_FLAG IS NULL) */
not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = md.inventory_item_id)
AND tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND nvl(icomp.wip_supply_type,0) <> 6
AND md.sr_instance_id= s.sr_instance_id
AND md.disposition_id= s.transaction_id
AND md.plan_id= s.plan_id
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
quantity_per_assembly,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
-- operation_seq_id, -- Outbound Changes for XML
uom_code, --Outbound Changes for XML
wip_entity_id
, eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
nvl(co.operation_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null),
'4',to_number(null),
'3',null,
icomp.sr_inventory_item_id), -- BUG 13624336 (FP of BUG 13500698)
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null),
'4',to_number(null),
'3',TO_NUMBER(NULL),
(co.new_order_quantity/s.implement_quantity)), -- BUG 13624336 (FP of BUG 13500698)
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,co.inventory_item_id,s.organization_id),
icomp.wip_supply_type),
co.new_schedule_date,
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null),
'4',to_number(null),
'3',TO_NUMBER(NULL),
co.new_order_quantity), -- BUG 13624336 (FP of BUG 13500698)
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null),
'4',to_number(null),
'3',TO_NUMBER(NULL),
co.new_order_quantity), -- BUG 13624336 (FP of BUG 13500698)
co.new_schedule_date,
SUBST_CHANGE,
LT_COMPONENT,
2,
1,
TO_CHAR(NULL),
s.sr_instance_id,
nvl(s.implement_uom_code, msi.uom_code),
s.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_supplies co,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = co.inventory_item_id)
AND */
tp.sr_tp_id = msi.organization_id
AND tp.sr_instance_id = msi.sr_instance_id
AND tp.partner_type = 3
AND icomp.inventory_item_id = co.inventory_item_id
AND icomp.organization_id = co.organization_id
AND icomp.sr_instance_id = co.sr_instance_id
AND icomp.plan_id = co.plan_id
AND co.sr_instance_id = s.sr_instance_id
AND co.disposition_id = s.transaction_id
AND co.plan_id = s.plan_id
AND co.order_type = 14 -- Discrete Job Co-products/by-products.
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id = lv_transaction_id(j)
AND s.sr_instance_id = lv_instance_id(j)
AND s.plan_id = arg_plan_id
AND lv_details_enabled(j) = 1
AND lv_agg_details(j) = 1
AND tp.organization_type = 2;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, -- Outbound Changes for XML
wip_entity_id,
department_id,
resource_hours
, eam_flag -- dsr
, resource_seq_num
, schedule_seq_num
,parent_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
decode(resreq.parent_seq_num, null,
decode(l_apps_ver,
'6',to_number(null),
'5',to_number(null), -- BUG 13624336 (FP of BUG 13500698)
'4',to_number(null),
'3',TO_NUMBER(NULL),
resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,
decode(s.new_order_quantity,0,1,s.new_order_quantity))), resreq.usage_rate),
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
-- decode(l_apps_ver,'3',TO_NUMBER(NULL),resreq.ASSIGNED_UNITS),
resreq.ASSIGNED_UNITS,
SUBST_CHANGE,
LT_RESOURCE_USAGE,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, -- Outbound Changes for XML
s.disposition_id,
resreq.department_id,
resreq.resource_hours
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
,resreq.parent_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 1
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND tp.organization_type IN (1, 2); -- 1 - discrete wip org; 2 - opm org
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, -- rawasthi
resource_id_new, -- xx resource_id, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
-- FIRM_FLAG,
resource_hours,
department_id,
-- setup_id,
SERIAL_NUMBER,
group_sequence_id,
group_sequence_number,
batch_id,
resource_seq_num
, schedule_seq_num
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.resource_id,
resreq.resource_id,
-- jguo dep_res_inst.RESOURCE_INST_ID,
dep_res_inst.RES_INSTANCE_ID ,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INSTANCE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
-- res_instreq.firm_flag,
resreq.resource_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
-- res_instreq.setup_id,
dep_res_inst.serial_number,
resreq.group_sequence_id,
resreq.group_sequence_number,
res_instreq.batch_number, --- sbala res_instreq.res_inst_batch_id,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num,
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, -- rawasthi
resource_id_new, -- xx RESOURCE_ID, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
serial_number,
resource_seq_num,
schedule_seq_num
-- alternate_num
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, assigned_units -- jguo
,parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
-- jguo dep_res_inst.RESOURCE_INST_ID,
dep_res_inst.RES_INSTANCE_ID ,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INST_USAGE,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
dep_res_inst.serial_number,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, 1 -- jguo
,resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq, -- ??? msc_res_inst_requirements res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
resource_seq_num,
alternate_num,
start_date,
completion_date,
required_quantity,
charge_number,
SR_INSTANCE_ID,
SUBSTITUTION_TYPE,
LOAD_TYPE,
process_phase,
process_status
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, resource_id_old
, resource_id_new
, schedule_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
resreq.ORIG_RESOURCE_SEQ_NUM,
resreq.alternate_num,
Chg.charge_start_datetime,
Chg.charge_end_datetime,
chg.charge_quantity, -- Chg.Planned_Charge_Quantity,
Chg.charge_number,
s.sr_instance_id,
SUBST_CHANGE, -- 3
LT_CHARGE_TYPE, --8
2,
1
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.RESOURCE_ID
, resreq.RESOURCE_ID
, resreq.resource_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_supplies s,
msc_resource_charges chg
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.transaction_id = chg.res_transaction_id -- chg.transaction_id
AND resreq.plan_id = chg.plan_id
AND resreq.sr_instance_id = chg.sr_instance_id
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= lv_transaction_id(j);
l_sql_stmt := ' INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
source_line_id,
organization_id,
organization_type,
load_type,
last_unit_completion_date,
bom_revision_date,
routing_revision_date,
processing_work_days,
daily_production_rate,
line_id,
primary_item_id,
firm_planned_flag,
demand_class,
process_phase,
process_status,
bom_reference_id,
routing_reference_id,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
uom_code, --Outbound Changes for XML
SR_INSTANCE_ID)
SELECT SYSDATE,
:arg_user_id,
s.last_update_login,
SYSDATE,
:arg_user_id,
:arg_wip_group_id,
''MSC'',
s.transaction_id,
msi.organization_id,
tp.organization_type,
2,
s.implement_date,
NULL,
NULL,
s.implement_processing_days,
s.implement_daily_rate,
s.implement_line_id,
msi.sr_inventory_item_id,
s.implement_firm,
s.implement_demand_class,
2,
1,
DECODE( tp.organization_type,
2, mpe.bill_sequence_id,
NULL),
DECODE( tp.organization_type,
2, mpe.routing_sequence_id,
NULL),
''Y'',
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_process_effectivity mpe,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND mpe.plan_id(+)= s.plan_id
AND mpe.process_sequence_id(+)= s.process_seq_id
AND s.release_errors is NULL
AND s.implement_daily_rate > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.plan_id = :arg_plan_id
AND orgs.sr_instance_id = :arg_org_instance
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )' ;
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= arg_transaction_id;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id in (select source_line_id from msc_wip_job_schedule_interface
where group_id = arg_wip_group_id);
INSERT INTO msc_po_requisitions_interface /*+ FIRST_ROWS */
(
/*line_type_id, Amount or Quantity based */
last_updated_by,
last_update_date,
last_update_login,
creation_date,
created_by,
item_id,
quantity,
need_by_date,
interface_source_code,
deliver_to_location_id,
deliver_to_requestor_id,
destination_type_code,
preparer_id,
source_type_code,
authorization_status,
uom_code,
batch_id,
charge_account_id,
group_code,
item_revision,
destination_organization_id,
autosource_flag,
org_id,
source_organization_id,
suggested_vendor_id,
/*suggested_vendor_site_id, -- For Outbound Changes for XML*/
suggested_vendor_site,
project_id,
task_id,
end_item_unit_number,
project_accounting_context,
source_line_id, -- Outbound Changes for XML
SR_INSTANCE_ID)
SELECT /*+ FIRST_ROWS */
/*1, Quantity based */
s.last_updated_by,
SYSDATE,
s.last_update_login,
SYSDATE,
s.created_by,
msi.sr_inventory_item_id,
s.implement_quantity,
/*nvl(get_cal_date(s.sr_instance_id,
cal2.calendar_date,
mis.delivery_calendar_code), cal2.calendar_date),*/
--implement_dock_date becomes null for manual po
nvl(s.implement_dock_date,
nvl(s.new_dock_date,
trunc(sysdate)
)
),
'MSC',
s.implement_location_id,
s.implement_employee_id,
'INVENTORY',
s.implement_employee_id,
DECODE(s.implement_supplier_id,
NULL, DECODE(s.implement_source_org_id,
NULL,to_char(NULL),
decode(mp1.MODELED_SUPPLIER_ID,
NULL,'INVENTORY',
DECODE(mp1.subcontracting_source_org,
1,'INVENTORY','VENDOR')
)),
'VENDOR'), -- PO wants us to pass null now -- spob
'APPROVED',
msi.uom_code, --mr.implement_uom_code,
arg_po_batch_number,
decode(mp.organization_type,1,nvl(mpp.material_account,
decode( msi1.inventory_asset_flag,
'Y', mp.material_account,
nvl(msi1.expense_account, mp.expense_account))),-1),
decode(arg_po_group_by,
REQ_GRP_ALL_ON_ONE, 'ALL-ON-ONE',
REQ_GRP_ITEM, to_char(s.inventory_item_id),
REQ_GRP_BUYER, nvl(to_char(msi.buyer_id),NULL),
REQ_GRP_PLANNER, nvl(msi.planner_code,'PLANNER'),
REQ_GRP_VENDOR, NULL,
REQ_GRP_ONE_EACH, to_char(-100),
REQ_GRP_CATEGORY,nvl(to_char(msi.sr_category_id),NULL),
REQ_GRP_LOCATION,NULL,
NULL),
DECODE( v_purchasing_by_rev,
NULL, DECODE( msi.REVISION_QTY_CONTROL_CODE,
NOT_UNDER_REV_CONTROL, NULL,
msi.revision),
PURCHASING_BY_REV, msi.revision,
NOT_PURCHASING_BY_REV, NULL),
s.organization_id,
'P',
mp.operating_unit,
/* for single instance if the organization is modelled then the source_sr_instane_id = sr_instance_id
in msc_supplies so we can safely use mp1 for both cases.
For cross-instance releases get the modeled supplier infor */
decode(s.implement_source_org_id,
NULL, to_number(NULL),
decode(mp1.MODELED_SUPPLIER_ID,
NULL,s.implement_source_org_id,
decode(mp1.subcontracting_source_org,
1 , s.implement_source_org_id,
to_number(NULL)))),
decode(s.implement_source_org_id,
NULL ,supplier.sr_tp_id,
decode(mp1.MODELED_SUPPLIER_ID,
NULL,to_number(NULL),
decode(mp1.subcontracting_source_org,
1, to_number(NULL),
GET_MODELED_SR_TP_ID(mp1.MODELED_SUPPLIER_ID,
s.sr_instance_id)))),
decode(s.implement_source_org_id,
NULL ,mtps.tp_site_code,
decode(mp1.MODELED_SUPPLIER_ID,
NULL,to_char(NULL),
decode(mp1.subcontracting_source_org,
1, to_char(NULL),
GET_MODELED_TP_SITE_CODE(
mp1.MODELED_SUPPLIER_ID,
mp1.MODELED_SUPPLIER_SITE_ID,s.sr_instance_id)
))),
s.implement_project_id,
s.implement_task_id,
s.implement_unit_number,
DECODE(s.implement_project_id, NULL, 'N', 'Y'),
s.transaction_id,-- For Outbound Changes for XML
s.sr_instance_id
FROM msc_projects mpp,
--msc_calendar_dates cal1,
--msc_calendar_dates cal2,
msc_tp_id_lid supplier,
msc_trading_partner_sites mtps,
msc_trading_partners mp, -- mtl_parameters mp,
msc_trading_partners mp1,
msc_system_items msi,
msc_system_items msi1,
msc_supplies s,
msc_item_suppliers mis,
msc_plan_organizations_v orgs
WHERE supplier.tp_id(+)=
nvl(s.implement_supplier_id, s.source_supplier_id)
AND supplier.partner_type(+)=1
AND supplier.sr_instance_id(+)= s.sr_instance_id
AND mtps.partner_id(+) = nvl(s.implement_supplier_id, s.source_supplier_id)
AND mtps.partner_type(+) = 1
AND mtps.partner_site_id(+) = nvl(s.implement_supplier_site_id, s.source_supplier_site_id)
AND mis.sr_instance_id (+) = s.sr_instance_id
AND mis.plan_id (+) = s.plan_id
AND mis.inventory_item_id (+) = s.inventory_item_id
AND mis.organization_id (+) = s.organization_id
AND mis.using_organization_id (+) = -1
AND mis.supplier_id (+) = nvl(s.implement_supplier_id, s.source_supplier_id)
AND mis.supplier_site_id (+) = nvl(s.implement_supplier_site_id, s.source_supplier_site_id)
AND mpp.organization_id (+)= s.organization_id
AND mpp.project_id (+)= nvl(s.implement_project_id, -23453)
AND mpp.plan_id (+)= s.plan_id
AND mpp.sr_instance_id(+)= s.sr_instance_id
--AND cal1.sr_instance_id= mp.sr_instance_id
--AND cal1.calendar_code = mp.calendar_code
--AND cal1.exception_set_id = mp.calendar_exception_set_id
--AND cal1.calendar_date = trunc(s.implement_date)
--AND cal2.sr_instance_id = cal1.sr_instance_id
-- AND cal2.calendar_code = cal1.calendar_code
--AND cal2.exception_set_id = cal1.exception_set_id
--AND cal2.seq_num = GREATEST(1,NVL(cal1.seq_num, cal1.prior_seq_num) - NVL(msi.postprocessing_lead_time, 0))
AND mp.sr_tp_id = msi.organization_id
AND mp.sr_instance_id = msi.sr_instance_id
AND mp.partner_type= 3
AND mp1.sr_tp_id (+)= s.SOURCE_ORGANIZATION_ID
AND mp1.sr_instance_id (+)= s.SOURCE_SR_INSTANCE_ID
AND mp1.partner_type(+)= 3
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND msi1.plan_id = -1
AND msi1.sr_instance_id = msi.sr_instance_id
AND msi1.organization_id = msi.organization_id
AND msi1.inventory_item_id = msi.inventory_item_id
AND s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
/* AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id) */ --11865146
AND (arg_log_org_id = arg_owning_org_id
OR
orgs.planned_organization = arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND (arg_mode is null and s.load_type = PO_MASS_LOAD and s.load_type IS NOT NULL)
AND s.last_updated_by = decode(v_msc_released_only_by_user,1,v_user_id,s.last_updated_by)
and (s.releasable = RELEASABLE or s.releasable is null )
and (s.batch_id = g_batch_id or (v_batch_id_populated = 2 and s.batch_id is null) )
UNION ALL
SELECT /*+ FIRST_ROWS */
/*1, Quantity based */
s.last_updated_by,
SYSDATE,
s.last_update_login,
SYSDATE,
s.created_by,
msi.sr_inventory_item_id,
s.implement_quantity,
/* nvl(get_cal_date(s.sr_instance_id,
cal2.calendar_date,
mis.delivery_calendar_code), cal2.calendar_date),*/
--implement_dock_date becomes null for manual po
nvl(s.implement_dock_date,
nvl(s.new_dock_date,
trunc(sysdate)
)
),
'MSC',
s.implement_location_id,
s.implement_employee_id,
'INVENTORY',
s.implement_employee_id,
DECODE(s.implement_supplier_id,
NULL, DECODE(s.implement_source_org_id,
NULL,to_char(NULL),
decode(mp1.MODELED_SUPPLIER_ID,
NULL,'INVENTORY', 'VENDOR') ),
'VENDOR'), -- PO wants us to pass null now -- spob
'APPROVED',
msi.uom_code, --mr.implement_uom_code,
arg_po_batch_number,
decode(mp.organization_type,1,nvl(mpp.material_account,
decode( msi1.inventory_asset_flag,
'Y', mp.material_account,
nvl(msi1.expense_account, mp.expense_account))),-1),
decode(arg_po_group_by,
REQ_GRP_ALL_ON_ONE, 'ALL-ON-ONE',
REQ_GRP_ITEM, to_char(s.inventory_item_id),
REQ_GRP_BUYER, nvl(to_char(msi.buyer_id),NULL),
REQ_GRP_PLANNER, nvl(msi.planner_code,'PLANNER'),
REQ_GRP_VENDOR, NULL,
REQ_GRP_ONE_EACH, to_char(-100),
REQ_GRP_CATEGORY,nvl(to_char(msi.sr_category_id),NULL),
REQ_GRP_LOCATION,NULL,
NULL),
DECODE( v_purchasing_by_rev,
NULL, DECODE( msi.REVISION_QTY_CONTROL_CODE,
NOT_UNDER_REV_CONTROL, NULL,
msi.revision),
PURCHASING_BY_REV, msi.revision,
NOT_PURCHASING_BY_REV, NULL),
s.organization_id,
'P',
mp.operating_unit,
decode(s.implement_source_org_id, NULL, to_number(NULL),
decode(mp1.MODELED_SUPPLIER_ID, NULL,s.implement_source_org_id, to_number(NULL) ) ),
decode(s.implement_source_org_id, NULL ,supplier.sr_tp_id,
decode(mp1.MODELED_SUPPLIER_ID, NULL,to_number(NULL),
GET_MODELED_SR_TP_ID(mp1.MODELED_SUPPLIER_ID,s.sr_instance_id)
)),
decode(s.implement_source_org_id, NULL ,mtps.tp_site_code,
decode(mp1.MODELED_SUPPLIER_ID, NULL,to_char(NULL),
GET_MODELED_TP_SITE_CODE(mp1.MODELED_SUPPLIER_ID,
mp1.MODELED_SUPPLIER_SITE_ID,s.sr_instance_id)
)),
s.implement_project_id,
s.implement_task_id,
s.implement_unit_number,
DECODE(s.implement_project_id, NULL, 'N', 'Y'),
s.transaction_id, -- Outbound Changes for XML
s.sr_instance_id
FROM msc_projects mpp,
-- msc_calendar_dates cal1,
-- msc_calendar_dates cal2,
msc_tp_id_lid supplier,
msc_trading_partner_sites mtps,
msc_trading_partners mp, -- mtl_parameters mp,
msc_trading_partners mp1,
msc_system_items msi,
msc_system_items msi1,
msc_item_suppliers mis,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE supplier.tp_id(+)=
nvl(s.implement_supplier_id, s.source_supplier_id)
AND supplier.partner_type(+)=1
AND supplier.sr_instance_id(+)= s.sr_instance_id
AND mtps.partner_id(+) = nvl(s.implement_supplier_id, s.source_supplier_id)
AND mtps.partner_type(+) = 1
AND mtps.partner_site_id(+) = nvl(s.implement_supplier_site_id, s.source_supplier_site_id)
AND mis.sr_instance_id (+) = s.sr_instance_id
AND mis.plan_id (+) = s.plan_id
AND mis.inventory_item_id (+) = s.inventory_item_id
AND mis.organization_id (+) = s.organization_id
AND mis.using_organization_id (+) = -1
AND mis.supplier_id (+) = nvl(s.implement_supplier_id, s.source_supplier_id)
AND mis.supplier_site_id (+) = nvl(s.implement_supplier_site_id, s.source_supplier_site_id)
AND mpp.organization_id (+)= s.organization_id
AND mpp.project_id (+)= nvl(s.implement_project_id, -23453)
AND mpp.plan_id (+)= s.plan_id
AND mpp.sr_instance_id(+)= s.sr_instance_id
-- AND cal1.sr_instance_id= mp.sr_instance_id
-- AND cal1.calendar_code = mp.calendar_code
--AND cal1.exception_set_id = mp.calendar_exception_set_id
-- AND cal1.calendar_date = trunc(s.implement_date)
-- AND cal2.sr_instance_id = cal1.sr_instance_id
-- AND cal2.calendar_code = cal1.calendar_code
-- AND cal2.exception_set_id = cal1.exception_set_id
-- AND cal2.seq_num = GREATEST(1,NVL(cal1.seq_num, cal1.prior_seq_num) - NVL(msi.postprocessing_lead_time, 0))
AND mp.sr_tp_id = msi.organization_id
AND mp.sr_instance_id = msi.sr_instance_id
AND mp.partner_type= 3
AND mp1.sr_tp_id (+)= s.SOURCE_ORGANIZATION_ID
AND mp1.sr_instance_id (+)= s.SOURCE_SR_INSTANCE_ID
AND mp1.partner_type(+)= 3
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND msi1.plan_id = -1
AND msi1.sr_instance_id = msi.sr_instance_id
AND msi1.organization_id = msi.organization_id
AND msi1.inventory_item_id = msi.inventory_item_id
AND s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
/* AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id) */ --11865146
AND (arg_log_org_id = arg_owning_org_id
OR
orgs.planned_organization = arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND (arg_mode = 'WF_BATCH' and s.load_type = PO_MASS_LOAD and s.load_type IS NOT NULL)
and (s.releasable = RELEASABLE or s.releasable is null )
and (s.batch_id = g_batch_id or (v_batch_id_populated = 2 and s.batch_id is null) )
UNION ALL
SELECT /*+ FIRST_ROWS */
/*1, Quantity based */
s.last_updated_by,
SYSDATE,
s.last_update_login,
SYSDATE,
s.created_by,
msi.sr_inventory_item_id,
s.implement_quantity,
/*nvl(get_cal_date(s.sr_instance_id,
cal2.calendar_date,
mis.delivery_calendar_code), cal2.calendar_date),*/
--implement_dock_date becomes null for manual po
nvl(s.implement_dock_date,
nvl(s.new_dock_date,
trunc(sysdate)
)
),
'MSC',
s.implement_location_id,
s.implement_employee_id,
'INVENTORY',
s.implement_employee_id,
DECODE(s.implement_supplier_id,
NULL, DECODE(s.implement_source_org_id,
NULL,to_char(NULL),
decode(mp1.MODELED_SUPPLIER_ID,
NULL,'INVENTORY', 'VENDOR') ),
'VENDOR'), -- PO wants us to pass null now -- spob
'APPROVED',
msi.uom_code, --mr.implement_uom_code,
arg_po_batch_number,
decode(mp.organization_type,1,nvl(mpp.material_account,
decode( msi1.inventory_asset_flag,
'Y', mp.material_account,
nvl(msi1.expense_account, mp.expense_account))),-1),
decode(arg_po_group_by,
REQ_GRP_ALL_ON_ONE, 'ALL-ON-ONE',
REQ_GRP_ITEM, to_char(s.inventory_item_id),
REQ_GRP_BUYER, nvl(to_char(msi.buyer_id),NULL),
REQ_GRP_PLANNER, nvl(msi.planner_code,'PLANNER'),
REQ_GRP_VENDOR, NULL,
REQ_GRP_ONE_EACH, to_char(-100),
REQ_GRP_CATEGORY,nvl(to_char(msi.sr_category_id),NULL),
REQ_GRP_LOCATION,NULL,
NULL),
DECODE( v_purchasing_by_rev,
NULL, DECODE( msi.REVISION_QTY_CONTROL_CODE,
NOT_UNDER_REV_CONTROL, NULL,
msi.revision),
PURCHASING_BY_REV, msi.revision,
NOT_PURCHASING_BY_REV, NULL),
s.organization_id,
'P',
mp.operating_unit,
decode(s.implement_source_org_id, NULL, to_number(NULL),
decode(mp1.MODELED_SUPPLIER_ID, NULL,s.implement_source_org_id, to_number(NULL) ) ),
decode(s.implement_source_org_id, NULL ,supplier.sr_tp_id,
decode(mp1.MODELED_SUPPLIER_ID, NULL,to_number(NULL),
GET_MODELED_SR_TP_ID(mp1.MODELED_SUPPLIER_ID,s.sr_instance_id)
)),
decode(s.implement_source_org_id, NULL ,mtps.tp_site_code,
decode(mp1.MODELED_SUPPLIER_ID, NULL,to_char(NULL),
GET_MODELED_TP_SITE_CODE(mp1.MODELED_SUPPLIER_ID,
mp1.MODELED_SUPPLIER_SITE_ID,s.sr_instance_id)
)),
s.implement_project_id,
s.implement_task_id,
s.implement_unit_number,
DECODE(s.implement_project_id, NULL, 'N', 'Y'),
s.transaction_id, --outbound changes for XML
s.sr_instance_id
FROM msc_projects mpp,
-- msc_calendar_dates cal1,
-- msc_calendar_dates cal2,
msc_tp_id_lid supplier,
msc_trading_partner_sites mtps,
msc_trading_partners mp, -- mtl_parameters mp,
msc_trading_partners mp1,
msc_system_items msi,
msc_system_items msi1,
msc_item_suppliers mis,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE supplier.tp_id(+)=
nvl(s.implement_supplier_id, s.source_supplier_id)
AND supplier.partner_type(+)=1
AND supplier.sr_instance_id(+)= s.sr_instance_id
AND mtps.partner_id(+) = nvl(s.implement_supplier_id, s.source_supplier_id)
AND mtps.partner_type(+) = 1
AND mtps.partner_site_id(+) = nvl(s.implement_supplier_site_id, s.source_supplier_site_id)
AND mis.sr_instance_id (+) = s.sr_instance_id
AND mis.plan_id (+) = s.plan_id
AND mis.inventory_item_id (+) = s.inventory_item_id
AND mis.organization_id (+) = s.organization_id
AND mis.using_organization_id (+) = -1
AND mis.supplier_id (+) = nvl(s.implement_supplier_id, s.source_supplier_id)
AND mis.supplier_site_id (+) = nvl(s.implement_supplier_site_id, s.source_supplier_site_id)
AND mpp.organization_id (+)= s.organization_id
AND mpp.project_id (+)= nvl(s.implement_project_id, -23453)
AND mpp.plan_id (+)= s.plan_id
AND mpp.sr_instance_id(+)= s.sr_instance_id
--AND cal1.sr_instance_id= mp.sr_instance_id
--AND cal1.calendar_code = mp.calendar_code
--AND cal1.exception_set_id = mp.calendar_exception_set_id
--AND cal1.calendar_date = trunc(s.implement_date)
--AND cal2.sr_instance_id = cal1.sr_instance_id
-- AND cal2.calendar_code = cal1.calendar_code
--AND cal2.exception_set_id = cal1.exception_set_id
--AND cal2.seq_num = GREATEST(1,NVL(cal1.seq_num, cal1.prior_seq_num) - NVL(msi.postprocessing_lead_time, 0))
AND mp.sr_tp_id = msi.organization_id
AND mp.sr_instance_id = msi.sr_instance_id
AND mp.partner_type= 3
AND mp1.sr_tp_id (+)= s.SOURCE_ORGANIZATION_ID
AND mp1.sr_instance_id (+)= s.SOURCE_SR_INSTANCE_ID
AND mp1.partner_type(+)= 3
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND msi1.plan_id = -1
AND msi1.sr_instance_id = msi.sr_instance_id
AND msi1.organization_id = msi.organization_id
AND msi1.inventory_item_id = msi.inventory_item_id
AND s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
/* AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id) */ --11865146
AND (arg_log_org_id = arg_owning_org_id
OR
orgs.planned_organization = arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND (arg_mode = 'WF' and s.transaction_id = arg_transaction_id)
and (s.releasable = RELEASABLE or s.releasable is null )
and (s.batch_id = g_batch_id or (v_batch_id_populated = 2 and s.batch_id is null) );
update msc_po_requisitions_interface
set group_code = to_char(msc_po_requisitions_int_s.nextval)
where group_code = '-100'
and batch_id = arg_po_batch_number;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= arg_transaction_id;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id in (select source_line_id from msc_po_requisitions_interface
where batch_id = arg_po_batch_number);
INSERT INTO msc_po_reschedule_interface
(process_id,
quantity,
need_by_date,
line_id,
last_update_date,
last_updated_by,
creation_date,
created_by,
purchase_order_id, -- outbound Changes for XML
po_number, -- outbound Changes for XML
source_line_id, -- outbound Changes for XML
uom, -- outbound Changes for XML
SR_INSTANCE_ID,
batch_id)
SELECT NULL,
s.implement_quantity,
--cal2.calendar_date,
s.implement_dock_date,
s.po_line_id,
SYSDATE,
arg_user_id,
SYSDATE,
arg_user_id,
s.disposition_id,
s.order_number,
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id,
g_batch_id
FROM --msc_calendar_dates cal1,
--msc_calendar_dates cal2,
msc_trading_partners mp,
msc_system_items msi,
msc_supplies s,
msc_apps_instances mai, -- IR/ISO resch Proj
msc_plan_organizations_v orgs
WHERE --cal1.sr_instance_id= mp.sr_instance_id
--AND cal1.calendar_code = mp.calendar_code
--AND cal1.exception_set_id = mp.calendar_exception_set_id
--AND cal1.calendar_date = trunc(s.implement_date)
-- AND cal2.sr_instance_id= cal1.sr_instance_id
--AND cal2.calendar_code = cal1.calendar_code
--AND cal2.exception_set_id = cal1.exception_set_id
--AND cal2.seq_num = GREATEST(1,NVL(cal1.seq_num, cal1.prior_seq_num) - NVL(msi.postprocessing_lead_time, 0))
mp.sr_tp_id = msi.organization_id
AND mp.sr_instance_id = msi.sr_instance_id
AND mp.partner_type= 3
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.po_line_id IS NOT NULL
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND s.sr_instance_id = mai.instance_id
AND ((arg_mode is null and s.load_type = PO_MASS_RESCHEDULE and s.load_type IS NOT NULL)
OR (arg_mode is null
and s.load_type = DRP_REQ_RESCHED
and mai.APPS_VER <= MSC_UTIL.G_APPS120
and s.load_type IS NOT NULL)) -- IR/ISO resch Proj
AND s.last_updated_by = decode(v_msc_released_only_by_user,1,v_user_id,s.last_updated_by)
and (s.releasable = RELEASABLE or s.releasable is null )
and (s.batch_id = g_batch_id or (v_batch_id_populated = 2 and s.batch_id is null) )
UNION ALL
SELECT NULL,
s.implement_quantity,
-- cal2.calendar_date,
s.implement_dock_date,
s.po_line_id,
SYSDATE,
arg_user_id,
SYSDATE,
arg_user_id,
s.disposition_id,
s.order_number,
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id,
g_batch_id
FROM --msc_calendar_dates cal1,
--msc_calendar_dates cal2,
msc_trading_partners mp,
msc_system_items msi,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE --cal1.sr_instance_id= mp.sr_instance_id
--AND cal1.calendar_code = mp.calendar_code
-- AND cal1.exception_set_id = mp.calendar_exception_set_id
-- AND cal1.calendar_date = trunc(s.implement_date)
-- AND cal2.sr_instance_id= cal1.sr_instance_id
--AND cal2.calendar_code = cal1.calendar_code
-- AND cal2.exception_set_id = cal1.exception_set_id
--AND cal2.seq_num = GREATEST(1,NVL(cal1.seq_num, cal1.prior_seq_num) - NVL(msi.postprocessing_lead_time, 0))
mp.sr_tp_id = msi.organization_id
AND mp.sr_instance_id = msi.sr_instance_id
AND mp.partner_type= 3
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.po_line_id IS NOT NULL
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND (arg_mode = 'WF' and s.transaction_id = arg_transaction_id)
and (s.releasable = RELEASABLE or s.releasable is null )
and (s.batch_id = g_batch_id or (v_batch_id_populated = 2 and s.batch_id is null) );
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= arg_transaction_id;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
where batch_id = g_batch_id;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = g_batch_id
where plan_id = arg_plan_id
and transaction_id in (select source_line_id from msc_po_reschedule_interface);
SELECT s.old_schedule_date,
--cal2.calendar_date,
s.implement_dock_date,
s.disposition_id, --purchase_order_id,
s.po_line_id,
s.order_number --po_number
INTO lv_old_need_by_date,
lv_new_need_by_date,
lv_po_header_id,
lv_po_line_id,
lv_po_number
FROM --msc_calendar_dates cal1,
--msc_calendar_dates cal2,
msc_trading_partners mp,
msc_system_items msi,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE --cal1.sr_instance_id = mp.sr_instance_id
--AND cal1.calendar_code = mp.calendar_code
--AND cal1.exception_set_id = mp.calendar_exception_set_id
--AND cal1.calendar_date = trunc(NVL(s.implement_date,s.new_schedule_date))
-- AND cal2.sr_instance_id = cal1.sr_instance_id
--AND cal2.calendar_code = cal1.calendar_code
--AND cal2.exception_set_id = cal1.exception_set_id
-- AND cal2.seq_num = GREATEST(1,NVL(cal1.seq_num, cal1.prior_seq_num) - NVL(msi.postprocessing_lead_time, 0))
mp.sr_tp_id = msi.organization_id
AND mp.sr_instance_id = msi.sr_instance_id
AND mp.partner_type= 3
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.po_line_id IS NOT NULL
AND s.order_type = 1
AND s.organization_id = orgs.planned_organization
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND s.transaction_id = arg_transaction_id
and (s.releasable = RELEASABLE or s.releasable is null )
and (s.batch_id = g_batch_id or (v_batch_id_populated = 2 and s.batch_id is null) );
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= arg_transaction_id;
select count(*) loaded_jobs
,maintenance_object_source
from msc_wip_job_schedule_interface
where group_id = p_arg_wip_group_id*-1
and load_type = CMRO_EAM_MASS_LOAD
group by maintenance_object_source;
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
INSERT INTO MSC_WIP_JOB_SCHEDULE_INTERFACE
(
last_update_date,
last_updated_by,
creation_date,
created_by,
group_id,
source_code,
organization_id,
load_type,
start_quantity)
SELECT
SYSDATE,
p_arg_user_id,
SYSDATE,
p_arg_user_id,
p_arg_wip_group_id*-1,
'MSC',
msi.organization_id,
257,
-23453
from msc_system_items msi
,msc_item_attributes mia
where msi.inventory_item_id = mia.inventory_item_id
and msi.organization_id = mia.organization_id
and mia.repair_module = CMRO
and msi.plan_id = p_arg_plan_id;
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
s.organization_id,
s.plan_id,
msa.repair_module,
decode( ' || p_l_apps_ver ||' ,4,msi.rounding_control_type,3,msi.rounding_control_type,2),
NVL(s.wip_start_quantity, 0),
NVL(s.new_order_quantity, 0),
NVL(s.implement_quantity, 0)
FROM msc_supplies s,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb,
msc_system_items msi,
msc_plans mp,
msc_item_attributes msa
WHERE mp.plan_id = :p_arg_plan_id
AND s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND msi.inventory_item_id = msa.inventory_item_id
AND msi.organization_id = msa.organization_id
--AND msi.plan_id = msa.plan_id
AND msi.sr_instance_id = msa.sr_instance_id
AND msa.simulation_set_id = mp.item_simulation_set_id
AND msa.plan_id = -1
AND msa.sr_instance_id = mp.sr_instance_id
-- and msa.repair_module in '||'''EAM'''||'
and msa.repair_module in ('||EAM|| ','||CMRO||')'||'
AND orgs.plan_id = mp.plan_id
AND orgs.organization_id = :p_arg_owning_org_id
AND orgs.owning_sr_instance = :p_arg_owning_instance
AND orgs.sr_instance_id = :p_arg_org_instance
and s.plan_id = mpb.plan_id
and (nvl(s.implement_date,s.new_schedule_date) between mpb.bkt_start_date and mpb.bkt_end_date)
and s.new_wip_start_date IS NOT NULL
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
source_line_id,
organization_id,
organization_type,
load_type,
maintenance_object_source,
status_type,
first_unit_start_date,
last_unit_completion_date,
primary_item_id,
class_code,
job_name,
firm_planned_flag,
start_quantity,
net_quantity,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
bom_reference_id,
routing_reference_id,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
uom_code,
SR_INSTANCE_ID
, schedule_priority
, requested_completion_date
)
SELECT SYSDATE,
p_arg_user_id,
s.last_update_login,
decode(tp.organization_type,2,s.creation_date,SYSDATE),
p_arg_user_id,
p_arg_wip_group_id*-1, --We multiply the group_id by -1 for
--order_type = 79. Since all the records in
--this select are order_type = 79, we do
-- not need a decode here
'MSC',
s.transaction_id,
msi.organization_id,
tp.organization_type,
CMRO_EAM_MASS_LOAD,
lv_repair_module(j), --s.maintenance_object_source,
decode(tp.organization_type,2,1,s.implement_status_code),
s.new_wip_start_date ,
s.implement_date,
msi.sr_inventory_item_id,
s.implement_wip_class_code,
s.implement_job_name,
s.implement_firm,
decode(tp.organization_type,
1,lv_wip_start_qty_out(j),
NULL),
lv_net_qty(j),
-- s.implement_quantity,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
s.implement_alternate_bom,
s.implement_alternate_routing,
s.implement_unit_number,
2,
1,
DECODE( tp.organization_type,
2, mpe.bill_sequence_id,
NULL),
DECODE( tp.organization_type,
2, mpe.routing_sequence_id,
NULL),
'Y',
s.transaction_id,
nvl(s.implement_uom_code,msi.uom_code),
s.sr_instance_id
, s.schedule_priority
, nvl(s.requested_completion_date, s.need_by_date)
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_process_effectivity mpe,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND mpe.plan_id(+)= s.plan_id
AND mpe.process_sequence_id(+)= s.process_seq_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= p_arg_plan_id;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = p_arg_plan_id
and transaction_id= lv_transaction_id(j);
SELECT count(1)
FROM msc_supplies
WHERE implement_alternate_bom is not null
and transaction_id = p_transaction_id
and rownum < 2
UNION
SELECT count(1)
from msc_exception_details excp
where excp.plan_id = p_plan_id
and number1 = p_transaction_id
and excp.exception_type = 33
and rownum < 2;
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
decode((mp.daily_material_constraints
+ mp.daily_resource_constraints
+ mp.weekly_material_constraints
+ mp.weekly_resource_constraints
+ mp.period_material_constraints
+ mp.period_resource_constraints),
12, 2,
DECODE(mpb.bucket_type,1,
Decode(greatest(abs(s.implement_quantity -
s.new_order_quantity),
0.000001),
0.000001,
DECODE( s.implement_date,
s.new_schedule_date, 1,
2),
2),
2)),
s.organization_id,
s.plan_id,
NVL(s.wip_start_quantity, 0),
NVL(s.new_order_quantity, 0),
NVL(s.implement_quantity, 0),
NVL(s.qty_scrapped, 0),
NVL(s.qty_completed, 0)
FROM msc_supplies s,
msc_plans mp,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb
WHERE s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and s.plan_id = mpb.plan_id
and s.plan_id = mp.plan_id
AND ( (DECODE(s.disposition_status_type ,
2,DECODE(SIGN( mp.curr_start_date-s.new_schedule_date),
1,mp.curr_start_date,
DECODE(SIGN(s.new_schedule_date-mp.curr_cutoff_date),
1,mp.curr_cutoff_date,
s.new_schedule_date)),
s.new_schedule_date ) BETWEEN mpb.bkt_start_date
AND mpb.bkt_end_date))
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )
and s.maintenance_object_source =1 ';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT 2
Into lv_agg_details(k)
FROM msc_department_resources deptres,
msc_resource_requirements resreq
WHERE resreq.sr_instance_id= lv_instance_id(k)
AND resreq.supply_id = lv_transaction_id(k)
AND resreq.organization_id= lv_org_id(k)
AND resreq.plan_id = lv_plan_id(k)
AND resreq.parent_id = 2
AND deptres.plan_id = resreq.plan_id
AND deptres.sr_instance_id= resreq.sr_instance_id
AND deptres.resource_id= resreq.resource_id
AND deptres.department_id= resreq.department_id
AND deptres.organization_id= resreq.organization_id
AND deptres.aggregate_resource_flag= 1
AND rownum=1;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
organization_id,
organization_type,
status_type,
load_type,
maintenance_object_source,
last_unit_completion_date,
first_unit_start_date,
bom_revision_date,
routing_revision_date,
job_name,
firm_planned_flag,
start_quantity, -- bug 1229891: net_quantity
net_quantity,
wip_entity_id,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
SR_INSTANCE_ID,
uom_code, --Outbound Changes for XML
PRIMARY_ITEM_ID,
source_line_id --Outbound Changes for XML
, schedule_priority -- dsr
, requested_completion_date -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
decode(tp.organization_type,2,s.creation_date,SYSDATE),
arg_user_id,
arg_wip_group_id,
'MSC',
msi.organization_id,
tp.organization_type,
DECODE(NVL(s.implement_status_code, s.wip_status_code),
JOB_CANCELLED,JOB_CANCELLED,NULL),
arg_load_type,
1,
s.implement_date,
s.new_wip_Start_Date,
NULL,
NULL,
s.implement_job_name,
s.implement_firm,
DECODE( tp.organization_type,
1,lv_wip_start_qty_out(j) ,
NULL),
lv_net_qty(j),
s.disposition_id,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
s.implement_alternate_bom,
s.implement_alternate_routing,
s.implement_unit_number,
2,
1,
'Y',
s.transaction_id,
s.sr_instance_id,
nvl(s.implement_uom_code,msi.uom_code),
msi.sr_inventory_item_id,
s.transaction_id
, s.schedule_priority
, s.requested_completion_date
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND ((arg_mode is null and s.load_type = arg_load_type) or
(arg_mode = 'WF' and s.transaction_id = arg_transaction_id))
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
department_id,
description,
standard_operation_id,
first_unit_start_date,
first_unit_completion_date,
last_unit_start_date,
last_unit_completion_date,
minimum_transfer_quantity,
count_point_type,
backflush_flag,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id, --Outbound Changes for XML
WIP_ENTITY_ID
, eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
NULL, --description,
NULL, --standard_operation_id,
min(resreq.START_DATE), --first_unit_start_date,
min(resreq.START_DATE), --first_unit_completion_date,
max(resreq.END_DATE), --last_unit_start_date,
max(resreq.END_DATE), --last_unit_completion_date,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
SUBST_CHANGE,
LT_OPERATION,
--1,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id, --Outbound Changes for XML
s.disposition_id
, decode(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
GROUP BY
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
LT_OPERATION, --load_type,
NULL, --description,
NULL, --standard_operation_id,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
s.sr_instance_id,
resreq.operation_sequence_id,
s.disposition_id;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, -- Outbound Changes for XML
wip_entity_id,
resource_hours,
department_id
-- dsr: following 9 columns
, firm_flag
, setup_id
, group_sequence_id
, group_sequence_number
, batch_id
, maximum_assigned_units
, parent_seq_num
, eam_flag
, resource_seq_num
, schedule_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
decode(resreq.parent_seq_num, null, decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,decode(s.new_order_quantity,0,1,s.new_order_quantity))), resreq.usage_rate),
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
NULL, -- v_hour_uom, bug 14752020
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
-- decode(l_apps_ver,'3',TO_NUMBER(NULL),resreq.ASSIGNED_UNITS),
resreq.ASSIGNED_UNITS,
decode(resreq.parent_seq_num,null,SUBST_CHANGE,SUBST_ADD),
-- SUBST_CHANGE,
LT_RESOURCE,
--1,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, -- Outbound Changes for XML
s.disposition_id,
resreq.resource_hours,
resreq.department_id
-- dsr: following 9 columns
, resreq.firm_flag
, resreq.setup_id
, resreq.group_sequence_id
, resreq.group_sequence_number
, resreq.batch_number
, resreq.maximum_assigned_units
, resreq.parent_seq_num
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1 ;
/* UPDATE EXISTING COMPONENTS *
| We should set inventory_item_id_new to NULL |
* */
FORALL j IN 1..lv_job_count
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
basis_type,
quantity_per_assembly,
component_yield_factor,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
uom_code, --Outbound Changes for XML
wip_entity_id,
eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
nvl(md.op_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,'4',to_number(null),'3',null,icomp.sr_inventory_item_id),
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
decode(l_apps_ver,'4',TO_NUMBER(NULL),'3',TO_NUMBER(NULL),(md.USING_REQUIREMENT_QUANTITY/s.implement_quantity)),
md.component_yield_factor,
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,md.inventory_item_id,s.organization_id),
icomp.wip_supply_type),
md.USING_ASSEMBLY_DEMAND_DATE,
decode(l_apps_ver,'4',TO_NUMBER(NULL),'3',TO_NUMBER(NULL),md.USING_REQUIREMENT_QUANTITY),
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),md.USING_REQUIREMENT_QUANTITY),
md.USING_ASSEMBLY_DEMAND_DATE,
SUBST_CHANGE,
LT_COMPONENT,
--1,
2,
1,
TO_CHAR(NULL),
s.sr_instance_id,
nvl(s.implement_uom_code, msi.uom_code),
s.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_demands md,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*
( md.SUBST_ITEM_FLAG <> 1
OR md.SUBST_ITEM_FLAG IS NULL) */
not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = md.inventory_item_id)
AND tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND nvl(icomp.wip_supply_type,0) <> 6
AND md.sr_instance_id= s.sr_instance_id
AND md.disposition_id= s.transaction_id
AND md.plan_id= s.plan_id
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
quantity_per_assembly,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
-- operation_seq_id, -- Outbound Changes for XML
uom_code, --Outbound Changes for XML
wip_entity_id
, eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
nvl(co.operation_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,'4',to_number(null),'3',null,icomp.sr_inventory_item_id),
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),(co.new_order_quantity/s.implement_quantity)),
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,co.inventory_item_id,s.organization_id),
icomp.wip_supply_type),
co.new_schedule_date,
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),co.new_order_quantity),
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),co.new_order_quantity),
co.new_schedule_date,
SUBST_CHANGE,
LT_COMPONENT,
--1,
2,
1,
TO_CHAR(NULL),
s.sr_instance_id,
nvl(s.implement_uom_code, msi.uom_code),
s.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_supplies co,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = co.inventory_item_id)
AND */
tp.sr_tp_id = msi.organization_id
AND tp.sr_instance_id = msi.sr_instance_id
AND tp.partner_type = 3
AND icomp.inventory_item_id = co.inventory_item_id
AND icomp.organization_id = co.organization_id
AND icomp.sr_instance_id = co.sr_instance_id
AND icomp.plan_id = co.plan_id
AND co.sr_instance_id = s.sr_instance_id
AND co.disposition_id = s.transaction_id
AND co.plan_id = s.plan_id
AND co.order_type = 14 -- Discrete Job Co-products/by-products.
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id = lv_transaction_id(j)
AND s.sr_instance_id = lv_instance_id(j)
AND s.plan_id = arg_plan_id
AND lv_details_enabled(j) = 1
AND lv_agg_details(j) = 1
AND tp.organization_type = 2;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, -- Outbound Changes for XML
wip_entity_id,
department_id,
resource_hours
, eam_flag -- dsr
, resource_seq_num
, schedule_seq_num
,parent_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
decode(resreq.parent_seq_num, null, decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,decode(s.new_order_quantity,0,1,s.new_order_quantity))), resreq.usage_rate),
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
-- decode(l_apps_ver,'3',TO_NUMBER(NULL),resreq.ASSIGNED_UNITS),
resreq.ASSIGNED_UNITS,
SUBST_CHANGE,
LT_RESOURCE_USAGE,
--1,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, -- Outbound Changes for XML
s.disposition_id,
resreq.department_id,
resreq.resource_hours
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
,resreq.parent_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 1
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
AND tp.organization_type IN (1, 2); -- 1 - discrete wip org; 2 - opm org
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, -- rawasthi
resource_id_new, -- xx resource_id, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
-- FIRM_FLAG,
resource_hours,
department_id,
-- setup_id,
SERIAL_NUMBER,
group_sequence_id,
group_sequence_number,
batch_id,
resource_seq_num
, schedule_seq_num
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.resource_id,
resreq.resource_id,
-- jguo dep_res_inst.RESOURCE_INST_ID,
dep_res_inst.RES_INSTANCE_ID ,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INSTANCE,
--1,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
-- res_instreq.firm_flag,
resreq.resource_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
-- res_instreq.setup_id,
dep_res_inst.serial_number,
resreq.group_sequence_id,
resreq.group_sequence_number,
res_instreq.batch_number, --- sbala res_instreq.res_inst_batch_id,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num,
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, -- rawasthi
resource_id_new, -- xx RESOURCE_ID, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
serial_number,
resource_seq_num,
schedule_seq_num
-- alternate_num
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, assigned_units -- jguo
,parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
-- jguo dep_res_inst.RESOURCE_INST_ID,
dep_res_inst.RES_INSTANCE_ID ,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INST_USAGE,
--1,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
dep_res_inst.serial_number,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, 1 -- jguo
,resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq, -- ??? msc_res_inst_requirements res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
resource_seq_num,
alternate_num,
start_date,
completion_date,
required_quantity,
charge_number,
SR_INSTANCE_ID,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, resource_id_old
, resource_id_new
, schedule_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
resreq.ORIG_RESOURCE_SEQ_NUM,
resreq.alternate_num,
Chg.charge_start_datetime,
Chg.charge_end_datetime,
chg.charge_quantity, -- Chg.Planned_Charge_Quantity,
Chg.charge_number,
s.sr_instance_id,
SUBST_CHANGE, -- 3
LT_CHARGE_TYPE, --8
--1,
2,
1
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.RESOURCE_ID
, resreq.RESOURCE_ID
, resreq.resource_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_supplies s,
msc_resource_charges chg
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.transaction_id = chg.res_transaction_id -- chg.transaction_id
AND resreq.plan_id = chg.plan_id
AND resreq.sr_instance_id = chg.sr_instance_id
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
AND lv_details_enabled(j)= 1
AND lv_agg_details(j) = 1
;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= lv_transaction_id(j);
SELECT count(1)
FROM msc_supplies
WHERE implement_alternate_bom is not null
and transaction_id = p_transaction_id
and rownum < 2
UNION
SELECT count(1)
from msc_exception_details excp
where excp.plan_id = p_plan_id
and number1 = p_transaction_id
and excp.exception_type = 33
and rownum < 2;
select plan_type
from msc_plans a
where
plan_id = p_plan_id;
l_sql_stmt := ' SELECT s.transaction_id,
s.sr_instance_id,
decode((mp.daily_material_constraints
+ mp.daily_resource_constraints
+ mp.weekly_material_constraints
+ mp.weekly_resource_constraints
+ mp.period_material_constraints
+ mp.period_resource_constraints),
12, 2,
DECODE(mpb.bucket_type,1,
Decode(greatest(abs(s.implement_quantity -
s.new_order_quantity),
0.000001),
0.000001,
DECODE( s.implement_date,
s.new_schedule_date, 1,
2),
2),
2)),
s.organization_id,
s.plan_id,
NVL(s.wip_start_quantity, 0),
NVL(s.new_order_quantity, 0),
NVL(s.implement_quantity, 0),
NVL(s.qty_scrapped, 0),
NVL(s.qty_completed, 0)
FROM msc_supplies s,
msc_plans mp,
msc_plan_organizations_v orgs,
msc_plan_buckets mpb
WHERE s.release_errors is NULL
AND s.implement_quantity > 0
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = :arg_plan_id
AND orgs.plan_id = :arg_plan_id
AND orgs.organization_id = :arg_owning_org_id
AND orgs.owning_sr_instance = :arg_owning_instance
AND orgs.sr_instance_id = :arg_org_instance
and s.plan_id = mpb.plan_id
and s.plan_id = mp.plan_id
AND ( (DECODE(s.disposition_status_type ,
2,DECODE(SIGN( mp.curr_start_date-s.new_schedule_date),
1,mp.curr_start_date,
DECODE(SIGN(s.new_schedule_date-mp.curr_cutoff_date),
1,mp.curr_cutoff_date,
s.new_schedule_date)),
s.new_schedule_date ) BETWEEN mpb.bkt_start_date
AND mpb.bkt_end_date))
and (s.releasable = ' || RELEASABLE || ' or s.releasable is null )
and s.maintenance_object_source =2 ';
l_sql_stmt := l_sql_stmt || ' AND s.last_updated_by = ' || v_user_id || ' ' ;
SELECT 2
Into lv_agg_details(k)
FROM msc_department_resources deptres,
msc_resource_requirements resreq
WHERE resreq.sr_instance_id= lv_instance_id(k)
AND resreq.supply_id = lv_transaction_id(k)
AND resreq.organization_id= lv_org_id(k)
AND resreq.plan_id = lv_plan_id(k)
AND resreq.parent_id = 2
AND deptres.plan_id = resreq.plan_id
AND deptres.sr_instance_id= resreq.sr_instance_id
AND deptres.resource_id= resreq.resource_id
AND deptres.department_id= resreq.department_id
AND deptres.organization_id= resreq.organization_id
AND deptres.aggregate_resource_flag= 1
AND rownum=1;
INSERT INTO msc_wip_job_schedule_interface
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
group_id,
source_code,
organization_id,
organization_type,
status_type,
load_type,
maintenance_object_source,
last_unit_completion_date,
first_unit_start_date,
bom_revision_date,
routing_revision_date,
job_name,
firm_planned_flag,
start_quantity, -- bug 1229891: net_quantity
net_quantity,
wip_entity_id,
demand_class,
project_id,
task_id,
schedule_group_id,
build_sequence,
line_id,
alternate_bom_designator,
alternate_routing_designator,
end_item_unit_number,
process_phase,
process_status,
BILL_RTG_EXPLOSION_FLAG,
HEADER_ID,
SR_INSTANCE_ID,
uom_code, --Outbound Changes for XML
PRIMARY_ITEM_ID,
source_line_id --Outbound Changes for XML
, schedule_priority -- dsr
, requested_completion_date -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
decode(tp.organization_type,2,s.creation_date,SYSDATE),
arg_user_id,
arg_wip_group_id*-1,
'MSC',
msi.organization_id,
tp.organization_type,
DECODE(NVL(s.implement_status_code, s.wip_status_code),
JOB_CANCELLED,JOB_CANCELLED,NULL),
arg_load_type,
2,
s.implement_date,
s.new_wip_Start_Date,
NULL,
NULL,
s.implement_job_name,
s.implement_firm,
DECODE( tp.organization_type,
1,lv_wip_start_qty_out(j) ,
NULL),
lv_net_qty(j),
s.disposition_id,
s.implement_demand_class,
s.implement_project_id,
s.implement_task_id,
s.implement_schedule_group_id,
s.implement_build_sequence,
s.implement_line_id,
s.implement_alternate_bom,
s.implement_alternate_routing,
s.implement_unit_number,
2,
1,
'Y',
s.transaction_id,
s.sr_instance_id,
nvl(s.implement_uom_code,msi.uom_code),
msi.sr_inventory_item_id,
s.transaction_id
, s.schedule_priority
, s.requested_completion_date
FROM msc_trading_partners tp,
msc_parameters param,
msc_system_items msi,
msc_supplies s,
msc_plan_organizations_v orgs
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.release_errors is NULL
AND s.organization_id = orgs.planned_organization
AND s.sr_instance_id = orgs.sr_instance_id
AND s.plan_id = orgs.plan_id
AND orgs.organization_id = arg_owning_org_id
AND orgs.owning_sr_instance = arg_owning_instance
AND orgs.plan_id = arg_plan_id
AND orgs.planned_organization = decode(arg_log_org_id,
arg_owning_org_id, orgs.planned_organization,
arg_log_org_id)
AND orgs.sr_instance_id = arg_org_instance
AND ((arg_mode is null and s.load_type = arg_load_type) or
(arg_mode = 'WF' and s.transaction_id = arg_transaction_id))
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j);
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
department_id,
description,
standard_operation_id,
first_unit_start_date,
first_unit_completion_date,
last_unit_start_date,
last_unit_completion_date,
minimum_transfer_quantity,
count_point_type,
backflush_flag,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id, --Outbound Changes for XML
WIP_ENTITY_ID
, eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
NULL, --description,
NULL, --standard_operation_id,
min(resreq.START_DATE), --first_unit_start_date,
min(resreq.START_DATE), --first_unit_completion_date,
max(resreq.END_DATE), --last_unit_start_date,
max(resreq.END_DATE), --last_unit_completion_date,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
SUBST_CHANGE,
LT_OPERATION,
--1,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id, --Outbound Changes for XML
s.disposition_id
, decode(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
--AND lv_details_enabled(j)= 1
--AND lv_agg_details(j) = 1
GROUP BY
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
s.last_update_login,
SYSDATE,
arg_user_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
NULL, --department_id,
LT_OPERATION, --load_type,
NULL, --description,
NULL, --standard_operation_id,
NULL, --minimum_transfer_quantity,
NULL, --count_point_type,
NULL, --backflush_flag,
s.sr_instance_id,
resreq.operation_sequence_id,
s.disposition_id;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, -- Outbound Changes for XML
wip_entity_id,
resource_hours,
department_id
-- dsr: following 9 columns
, firm_flag
, setup_id
, group_sequence_id
, group_sequence_number
, batch_id
, maximum_assigned_units
, parent_seq_num
, eam_flag
, resource_seq_num
, schedule_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
decode(resreq.parent_seq_num, null, decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,decode(s.new_order_quantity,0,1,s.new_order_quantity))), resreq.usage_rate),
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
-- decode(l_apps_ver,'3',TO_NUMBER(NULL),resreq.ASSIGNED_UNITS),
resreq.ASSIGNED_UNITS,
decode(resreq.parent_seq_num,null,SUBST_CHANGE,SUBST_ADD),
-- SUBST_CHANGE,
LT_RESOURCE,
--1,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, -- Outbound Changes for XML
s.disposition_id,
resreq.resource_hours,
resreq.department_id
-- dsr: following 9 columns
, resreq.firm_flag
, resreq.setup_id
, resreq.group_sequence_id
, resreq.group_sequence_number
, resreq.batch_number
, resreq.maximum_assigned_units
, resreq.parent_seq_num
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 2
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
--AND lv_details_enabled(j)= 1
--AND lv_agg_details(j) = 1
;
/* UPDATE EXISTING COMPONENTS *
| We should set inventory_item_id_new to NULL |
* */
FORALL j IN 1..lv_job_count
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
basis_type,
quantity_per_assembly,
component_yield_factor,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
uom_code, --Outbound Changes for XML
wip_entity_id,
eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
nvl(md.op_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,'4',to_number(null),'3',null,icomp.sr_inventory_item_id),
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
decode(l_apps_ver,'4',TO_NUMBER(NULL),'3',TO_NUMBER(NULL),(md.USING_REQUIREMENT_QUANTITY/s.implement_quantity)),
md.component_yield_factor,
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,md.inventory_item_id,s.organization_id),
icomp.wip_supply_type),
md.USING_ASSEMBLY_DEMAND_DATE,
decode(l_apps_ver,'4',TO_NUMBER(NULL),'3',TO_NUMBER(NULL),md.USING_REQUIREMENT_QUANTITY),
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),md.USING_REQUIREMENT_QUANTITY),
md.USING_ASSEMBLY_DEMAND_DATE,
SUBST_CHANGE,
LT_COMPONENT,
--1,
2,
1,
TO_CHAR(NULL),
s.sr_instance_id,
nvl(s.implement_uom_code, msi.uom_code),
s.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_demands md,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*
( md.SUBST_ITEM_FLAG <> 1
OR md.SUBST_ITEM_FLAG IS NULL)
not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = md.inventory_item_id)*/
tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND icomp.inventory_item_id= md.inventory_item_id
AND icomp.organization_id= md.organization_id
AND icomp.sr_instance_id= md.sr_instance_id
AND icomp.plan_id= md.plan_id
AND nvl(icomp.wip_supply_type,0) <> 6
AND md.sr_instance_id= s.sr_instance_id
AND md.disposition_id= s.transaction_id
AND md.plan_id= s.plan_id
AND md.original_item_id is null
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
quantity_per_assembly,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
-- operation_seq_id, -- Outbound Changes for XML
uom_code, --Outbound Changes for XML
wip_entity_id
, eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
nvl(co.operation_seq_num,1),
icomp.sr_inventory_item_id,
decode(l_apps_ver,'4',to_number(null),'3',null,icomp.sr_inventory_item_id),
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),(co.new_order_quantity/s.implement_quantity)),
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(s.plan_id, s.sr_instance_id,s.process_seq_id,
s.inventory_item_id,co.inventory_item_id,s.organization_id),
icomp.wip_supply_type),
co.new_schedule_date,
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),co.new_order_quantity),
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),co.new_order_quantity),
co.new_schedule_date,
SUBST_CHANGE,
LT_COMPONENT,
--1,
2,
1,
TO_CHAR(NULL),
s.sr_instance_id,
nvl(s.implement_uom_code, msi.uom_code),
s.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icomp,
msc_supplies co,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE /*not exists (select 'x'
from msc_exception_details excp
where excp.plan_id = msi.plan_id
and excp.number1 = s.transaction_id
and excp.inventory_item_id = msi.inventory_item_id
and excp.organization_id = msi.organization_id
and excp.sr_instance_id = msi.sr_instance_id
and excp.exception_type = 33
and excp.number2 = co.inventory_item_id)
AND */
tp.sr_tp_id = msi.organization_id
AND tp.sr_instance_id = msi.sr_instance_id
AND tp.partner_type = 3
AND icomp.inventory_item_id = co.inventory_item_id
AND icomp.organization_id = co.organization_id
AND icomp.sr_instance_id = co.sr_instance_id
AND icomp.plan_id = co.plan_id
AND co.sr_instance_id = s.sr_instance_id
AND co.disposition_id = s.transaction_id
AND co.plan_id = s.plan_id
AND co.order_type = 14 -- Discrete Job Co-products/by-products.
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id = lv_transaction_id(j)
AND s.sr_instance_id = lv_instance_id(j)
AND s.plan_id = arg_plan_id
--AND lv_details_enabled(j) = 1
--AND lv_agg_details(j) = 1
AND tp.organization_type = 2;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
alternate_num,
resource_id_old,
resource_id_new,
usage_rate_or_amount,
scheduled_flag,
applied_resource_units, --
applied_resource_value, --
uom_code,
basis_type, --
activity_id, --
autocharge_type, --
standard_rate_flag, --
start_date,
completion_date,
assigned_units,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
operation_seq_id, -- Outbound Changes for XML
wip_entity_id,
department_id,
resource_hours
, eam_flag -- dsr
, resource_seq_num
, schedule_seq_num
,parent_seq_num
)
SELECT SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.ALTERNATE_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
decode(resreq.parent_seq_num, null, decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),resreq.RESOURCE_HOURS/decode(resreq.basis_type,2,1,decode(s.new_order_quantity,0,1,s.new_order_quantity))), resreq.usage_rate),
decode(nvl(resreq.schedule_flag,1),-23453,1,1,1,resreq.schedule_flag),
NULL,
NULL,
v_hour_uom,
resreq.basis_type,
NULL,
NULL,
NULL,
nvl(resreq.firm_start_date,resreq.START_DATE),
nvl(resreq.firm_end_date,resreq.END_DATE),
-- decode(l_apps_ver,'3',TO_NUMBER(NULL),resreq.ASSIGNED_UNITS),
resreq.ASSIGNED_UNITS,
SUBST_CHANGE,
LT_RESOURCE_USAGE,
--1,
2,
1,
NULL,
s.sr_instance_id,
resreq.operation_sequence_id, -- Outbound Changes for XML
s.disposition_id,
resreq.department_id,
resreq.resource_hours
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.orig_resource_seq_num
, resreq.resource_seq_num
,resreq.parent_seq_num
FROM msc_trading_partners tp,
msc_resource_requirements resreq,
msc_parameters param,
msc_system_items msi,
msc_supplies s
WHERE tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.parent_id = 1
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = s.inventory_item_id
AND msi.plan_id = s.plan_id
AND msi.organization_id = s.organization_id
AND msi.sr_instance_id = s.sr_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
--AND lv_details_enabled(j)= 1
--AND lv_agg_details(j) = 1
AND tp.organization_type IN (1, 2); -- 1 - discrete wip org; 2 - opm org
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, -- rawasthi
resource_id_new, -- xx resource_id, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
-- FIRM_FLAG,
resource_hours,
department_id,
-- setup_id,
SERIAL_NUMBER,
group_sequence_id,
group_sequence_number,
batch_id,
resource_seq_num
, schedule_seq_num
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.resource_id,
resreq.resource_id,
-- jguo dep_res_inst.RESOURCE_INST_ID,
dep_res_inst.RES_INSTANCE_ID ,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INSTANCE,
--1,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
-- res_instreq.firm_flag,
resreq.resource_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
-- res_instreq.setup_id,
dep_res_inst.serial_number,
resreq.group_sequence_id,
resreq.group_sequence_number,
res_instreq.batch_number, --- sbala res_instreq.res_inst_batch_id,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num,
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
--AND lv_details_enabled(j)= 1
--AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
-- resource_seq_num,
resource_id_old, -- rawasthi
resource_id_new, -- xx RESOURCE_ID, ???
RESOURCE_INSTANCE_ID,
start_date,
completion_date,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
SR_INSTANCE_ID,
operation_seq_id,
FIRM_FLAG,
resource_hours,
department_id,
serial_number,
resource_seq_num,
schedule_seq_num
-- alternate_num
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, assigned_units -- jguo
,parent_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
-- resreq.RESOURCE_SEQ_NUM,
resreq.RESOURCE_ID,
resreq.RESOURCE_ID,
-- jguo dep_res_inst.RESOURCE_INST_ID,
dep_res_inst.RES_INSTANCE_ID ,
nvl(resreq.firm_start_date,res_instreq.START_DATE),
nvl(resreq.firm_end_date,res_instreq.END_DATE),
SUBST_ADD, -- jguo SUBST_CHANGE,
LT_RESOURCE_INST_USAGE,
--1,
2,
1,
s.sr_instance_id,
resreq.operation_sequence_id,
resreq.firm_flag,
res_instreq.resource_instance_hours,
resreq.department_id,
-- resreq.department_id / 2, rawasthi
dep_res_inst.serial_number,
resreq.orig_resource_seq_num,
resreq.resource_seq_num
-- resreq.alternate_num
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, 1 -- jguo
,resreq.parent_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_resource_instance_reqs res_instreq, -- ??? msc_res_inst_requirements res_instreq,
msc_dept_res_instances dep_res_inst,
msc_supplies s
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
-- dsr AND resreq.transaction_id = res_instreq.res_inst_transaction_id
AND resreq.resource_seq_num = res_instreq.resource_seq_num
AND resreq.operation_seq_num = res_instreq.operation_seq_num
AND resreq.resource_id = res_instreq.resource_id
AND resreq.supply_id = res_instreq.supply_id
AND resreq.sr_instance_id = res_instreq.sr_instance_id
AND resreq.plan_id = res_instreq.plan_id
AND resreq.parent_id = res_instreq.parent_id --rawasthi
AND resreq.start_date = res_instreq.start_date
AND resreq.parent_id = 1
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
-- dsr AND res_instreq.res_instance_id = dep_res_inst.dept_resource_inst_id
AND res_instreq.department_id = dep_res_inst.department_id
AND res_instreq.resource_id = dep_res_inst.resource_id
AND res_instreq.plan_id = dep_res_inst.plan_id
AND res_instreq.sr_instance_id = dep_res_inst.sr_instance_id
/* anuj: serail number and resource_instance id joins */
AND res_instreq.serial_number = dep_res_inst.serial_number
AND res_instreq.res_instance_id = dep_res_inst.res_instance_id
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
--AND lv_details_enabled(j)= 1
--AND lv_agg_details(j) = 1
;
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
( last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
resource_seq_num,
alternate_num,
start_date,
completion_date,
required_quantity,
charge_number,
SR_INSTANCE_ID,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status
, wip_entity_id -- for reschedule
, eam_flag -- dsr
, resource_id_old
, resource_id_new
, schedule_seq_num
)
SELECT
SYSDATE,
arg_user_id,
s.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
s.organization_id,
arg_wip_group_id*-1,
s.transaction_id,
resreq.OPERATION_SEQ_NUM,
resreq.ORIG_RESOURCE_SEQ_NUM,
resreq.alternate_num,
Chg.charge_start_datetime,
Chg.charge_end_datetime,
chg.charge_quantity, -- Chg.Planned_Charge_Quantity,
Chg.charge_number,
s.sr_instance_id,
SUBST_CHANGE, -- 3
LT_CHARGE_TYPE, --8
--1,
2,
1
, s.disposition_id -- for reschedule
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
, resreq.RESOURCE_ID
, resreq.RESOURCE_ID
, resreq.resource_seq_num
FROM
msc_trading_partners tp,
msc_resource_requirements resreq,
msc_supplies s,
msc_resource_charges chg
WHERE
tp.sr_tp_id=s.organization_id
AND tp.sr_instance_id= s.sr_instance_id
AND tp.partner_type=3
AND resreq.sr_instance_id= s.sr_instance_id
AND resreq.organization_id= s.organization_id
AND resreq.supply_id = s.transaction_id
AND resreq.plan_id = s.plan_id
AND resreq.transaction_id = chg.res_transaction_id -- chg.transaction_id
AND resreq.plan_id = chg.plan_id
AND resreq.sr_instance_id = chg.sr_instance_id
AND resreq.parent_id = 2
AND resreq.resource_id <> -1
AND resreq.department_id <> -1
AND s.transaction_id= lv_transaction_id(j)
AND s.sr_instance_id= lv_instance_id(j)
AND s.plan_id= arg_plan_id
--AND lv_details_enabled(j)= 1
--AND lv_agg_details(j) = 1
;
/*Code to insert the subsitute component--new for USAF */
FORALL j IN 1..lv_job_count
INSERT INTO MSC_WIP_JOB_DTLS_INTERFACE
(last_update_date,
last_updated_by,
last_update_login,
creation_date,
created_by,
organization_type,
organization_id,
group_id,
parent_header_id,
operation_seq_num,
inventory_item_id_old,
inventory_item_id_new,
basis_type,
quantity_per_assembly,
component_yield_factor,
department_id,
wip_supply_type,
date_required,
required_quantity,
quantity_issued,
supply_subinventory,
supply_locator_id,
mrp_net_flag,
mps_required_quantity,
mps_date_required,
SUBSTITUTION_TYPE,
LOAD_TYPE,
--maintenance_object_source,
process_phase,
process_status,
description,
SR_INSTANCE_ID,
uom_code, --Outbound Changes for XML
wip_entity_id,
eam_flag -- dsr
)
SELECT SYSDATE,
arg_user_id,
ms.last_update_login,
SYSDATE,
arg_user_id,
tp.organization_type,
ms.organization_id,
arg_wip_group_id*-1,
ms.transaction_id,
nvl(md.op_seq_num,1),
icompold.sr_inventory_item_id, --inventory_item_id_old,
icompnew.sr_inventory_item_id, -- inventory_item_id_new
decode(md.component_scaling_type,1,NULL,md.component_scaling_type),
decode(l_apps_ver,'4',TO_NUMBER(NULL),'3',TO_NUMBER(NULL),(md.USING_REQUIREMENT_QUANTITY/ms.implement_quantity)),
md.component_yield_factor,
TO_NUMBER(NULL), --Department_ID
NVL(GET_WIP_SUPPLY_TYPE(ms.plan_id, ms.sr_instance_id,ms.process_seq_id,
ms.inventory_item_id,md.inventory_item_id,ms.organization_id),1),--chk this ???
--icompnew.wip_supply_type),
md.USING_ASSEMBLY_DEMAND_DATE,
decode(l_apps_ver,'4',TO_NUMBER(NULL),'3',TO_NUMBER(NULL),md.USING_REQUIREMENT_QUANTITY),
TO_NUMBER(NULL), --quantity_issued
TO_CHAR(NULL), -- Sub Inventory
TO_NUMBER(NULL), -- Locator ID
1, -- MRP_NET_FLAG
decode(l_apps_ver,'4',to_number(null),'3',TO_NUMBER(NULL),md.USING_REQUIREMENT_QUANTITY),
md.USING_ASSEMBLY_DEMAND_DATE,
SUBST_CHANGE,
LT_SUB_COMPONENT,
--1,
2,
1,
TO_CHAR(NULL),
ms.sr_instance_id,
nvl(ms.implement_uom_code, msi.uom_code),
ms.disposition_id
, DECODE(arg_load_type, EAM_RESCHEDULE_WORK_ORDER, SYS_YES, SYS_NO) -- dsr: eam_flag
FROM msc_trading_partners tp,
msc_system_items icompold,
msc_system_items icompnew,
msc_demands md,
msc_parameters param,
msc_system_items msi,
msc_supplies ms,
msc_exception_details med
WHERE med.exception_type = WORK_ORDER_SUB_COMPONENT
AND med.plan_id = arg_plan_id
and med.number1 = ms.transaction_id
and med.inventory_item_id = ms.inventory_item_id
and med.organization_id = ms.organization_id
and med.sr_instance_id = ms.sr_instance_id
--and med.date1 = ms.new_schedule_date
and ms.order_type = 70
and ms.maintenance_object_source = 2
and md.plan_id = ms.plan_id
and md.disposition_id = ms.transaction_id
and md.original_item_id IS NOT NULL
and md.original_item_id <> md.inventory_item_id
AND tp.sr_tp_id= msi.organization_id
AND tp.sr_instance_id= msi.sr_instance_id
AND tp.partner_type=3
AND param.organization_id = msi.organization_id
AND param.sr_instance_id = msi.sr_instance_id
AND msi.inventory_item_id = ms.inventory_item_id
AND msi.plan_id = ms.plan_id
AND msi.organization_id = ms.organization_id
AND msi.sr_instance_id = ms.sr_instance_id
AND icompold.inventory_item_id = md.original_item_id
AND icompold.plan_id = md.plan_id
AND icompold.organization_id = md.organization_id
AND icompold.sr_instance_id = md.sr_instance_id
AND icompnew.inventory_item_id = md.inventory_item_id
AND icompnew.plan_id = md.plan_id
AND icompnew.organization_id = md.organization_id
AND icompnew.sr_instance_id = md.sr_instance_id
AND ms.transaction_id= lv_transaction_id(j)
AND ms.sr_instance_id= lv_instance_id(j)
AND ms.plan_id= arg_plan_id;
update msc_supplies
set releasable = RELEASE_ATTEMPTED
,batch_id = nvl(batch_id,g_batch_id)
where plan_id = arg_plan_id
and transaction_id= lv_transaction_id(j);
UPDATE MSC_WIP_JOB_SCHEDULE_INTERFACE
SET
first_unit_start_date =
trunc(first_unit_start_date) + v_rp_time,
last_unit_completion_date =
trunc(last_unit_completion_date) + v_rp_time,
requested_completion_date =
trunc(requested_completion_date) + v_rp_time
WHERE group_id = p_group_id;
UPDATE MSC_WIP_JOB_DTLS_INTERFACE
SET
start_date =
trunc(start_date) + v_rp_time,
completion_date =
trunc(completion_date) + v_rp_time,
first_unit_start_date =
trunc(first_unit_start_date) + v_rp_time,
first_unit_completion_date =
trunc(first_unit_completion_date) + v_rp_time,
last_unit_start_date =
trunc(last_unit_start_date) + v_rp_time,
last_unit_completion_date =
trunc(last_unit_completion_date) + v_rp_time,
date_required =
trunc(date_required) + v_rp_time
WHERE group_id= p_group_id;
UPDATE MSC_PO_REQUISITIONS_INTERFACE
SET
need_by_date = trunc(need_by_date) + v_rp_time
WHERE batch_id = p_arg_batch_id;
UPDATE MSC_PO_RESCHEDULE_INTERFACE
SET
need_by_date = trunc(need_by_date) + v_rp_time
WHERE batch_id = g_batch_id;