97: l_job_header_rec.load_type := l_non_standard_load_type;
98:
99: l_job_header_rec.group_id := p_group_id;
100:
101: l_default_ro_item := nvl(FND_PROFILE.VALUE('CSD_DEFAULT_RO_ITEM_AS_MATERIAL_ON_JOB'), 'N');
102:
103: if (l_default_ro_item = 'Y') then
104: l_job_header_rec.interface_id := p_group_id;
105: end if;
135: -- Fix for bug# 3109417
136: -- If the profile CSD: Default WIP MRP Net Qty to Zero is set to
137: -- null / 'N' then net_quantity = start_quantity else if the
138: -- profile is set to 'Y' then net_quantity = 0
139: IF ( nvl(fnd_profile.value('CSD_WIP_MRP_NET_QTY'),'N') = 'N' ) THEN
140: l_job_header_rec.net_quantity := p_job_header_rec.quantity;
141: ELSIF ( fnd_profile.value('CSD_WIP_MRP_NET_QTY') = 'Y' ) THEN
142: l_job_header_rec.net_quantity := 0;
143: END IF;
137: -- null / 'N' then net_quantity = start_quantity else if the
138: -- profile is set to 'Y' then net_quantity = 0
139: IF ( nvl(fnd_profile.value('CSD_WIP_MRP_NET_QTY'),'N') = 'N' ) THEN
140: l_job_header_rec.net_quantity := p_job_header_rec.quantity;
141: ELSIF ( fnd_profile.value('CSD_WIP_MRP_NET_QTY') = 'Y' ) THEN
142: l_job_header_rec.net_quantity := 0;
143: END IF;
144:
145:
689: -- clear the collection type.
690:
691: x_MTL_TXN_DTLS_TAB_TYPE.DELETE;
692:
693: IF nvl(fnd_profile.value('CSD_DEFAULT_RO_ITEM_AS_MATERIAL_ON_JOB'),'N') = 'Y' THEN
694: OPEN repair_item_dtls(p_repair_line_id);
695: FETCH repair_item_dtls INTO
696: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).inventory_item_id,
697: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).transaction_uom,
700: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).organization_id ;
701: CLOSE repair_item_dtls;
702: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).transaction_quantity := x_MTL_TXN_DTLS_TAB_TYPE(l_counter).required_quantity;
703: -- sub inventory is defaulted from the CSD_DEF_HV_SUBINV profile option.
704: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory := fnd_profile.value('CSD_DEF_HV_SUBINV');
705: --message(fnd_profile.value('CSD_DEF_HV_SUBINV'));
706: IF x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory IS NULL THEN
707: FND_MESSAGE.SET_NAME('CSD','CSD_DEF_SUB_INV_NULL');
708: FND_MSG_PUB.ADD;
701: CLOSE repair_item_dtls;
702: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).transaction_quantity := x_MTL_TXN_DTLS_TAB_TYPE(l_counter).required_quantity;
703: -- sub inventory is defaulted from the CSD_DEF_HV_SUBINV profile option.
704: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory := fnd_profile.value('CSD_DEF_HV_SUBINV');
705: --message(fnd_profile.value('CSD_DEF_HV_SUBINV'));
706: IF x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory IS NULL THEN
707: FND_MESSAGE.SET_NAME('CSD','CSD_DEF_SUB_INV_NULL');
708: FND_MSG_PUB.ADD;
709: RAISE FND_API.G_EXC_ERROR;
754: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).organization_id := l_inv_org;
755: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).new_row := 'Y';
756:
757: -- sub inventory is defaulted from the CSD_DEF_HV_SUBINV profile option.
758: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory := fnd_profile.value('CSD_DEF_HV_SUBINV');
759: --message(fnd_profile.value('CSD_DEF_HV_SUBINV'));
760: IF x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory IS NULL THEN
761: FND_MESSAGE.SET_NAME('CSD','CSD_DEF_SUB_INV_NULL');
762: FND_MSG_PUB.ADD;
755: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).new_row := 'Y';
756:
757: -- sub inventory is defaulted from the CSD_DEF_HV_SUBINV profile option.
758: x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory := fnd_profile.value('CSD_DEF_HV_SUBINV');
759: --message(fnd_profile.value('CSD_DEF_HV_SUBINV'));
760: IF x_MTL_TXN_DTLS_TAB_TYPE(l_counter).supply_subinventory IS NULL THEN
761: FND_MESSAGE.SET_NAME('CSD','CSD_DEF_SUB_INV_NULL');
762: FND_MSG_PUB.ADD;
763: RAISE FND_API.G_EXC_ERROR;
953: IF ( x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
954: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
955: END IF;
956:
957: l_default_ro_item := nvl(FND_PROFILE.VALUE('CSD_DEFAULT_RO_ITEM_AS_MATERIAL_ON_JOB'), 'N');
958:
959: -- Get the Group_id to be used for WIP Mass Load, All the records inserted into
960: -- wip_job_schedule_interface have the same group_id , so that one WIP Mass Load
961: -- request can process all the records
971: l_quantity,
972: l_serial_number,
973: l_inventory_org_id;
974: CLOSE c_repair_line_info;
975: l_subinventory := fnd_profile.value('CSD_DEF_HV_SUBINV');
976:
977:
978: --Get serial number control code and lot control code
979: OPEN cur_get_item_attribs (l_inventory_org_id,
1850:
1851: -- initialize the job header rec.
1852:
1853: l_job_header_rec.organization_id :=
1854: fnd_profile.value('CSD_DEF_REP_INV_ORG');
1855:
1856: IF l_job_header_rec.organization_id is NULL THEN
1857:
1858: FND_MESSAGE.SET_NAME('CSD','CSD_DEF_REP_INV_NULL');
1860: RAISE FND_API.G_EXC_ERROR;
1861: END IF;
1862:
1863:
1864: l_job_prefix := fnd_profile.value('CSD_DEFAULT_JOB_PREFIX');
1865:
1866: -- If l_job_prefix is null, throw an error and return;
1867:
1868:
1873: RAISE FND_API.G_EXC_ERROR;
1874: END IF;
1875:
1876: l_job_header_rec.class_code :=
1877: fnd_profile.value('CSD_DEF_WIP_ACCOUNTING_CLASS');
1878:
1879: IF l_job_header_rec.class_code is NULL THEN
1880:
1881: FND_MESSAGE.SET_NAME('CSD','CSD_CLASS_CODE_NULL');
1885:
1886: -- Assign the WIP Job Status lookup codes corresponding to Released -- and Unreleased Job status,
1887: -- to be passed for WIP Interface Table
1888:
1889: IF fnd_profile.value('CSD_DEFAULT_JOB_STATUS') = 'RELEASED' THEN
1890:
1891: l_job_header_rec.status_type := lc_released_status_code ;
1892:
1893: ELSIF NVL( fnd_profile.value('CSD_DEFAULT_JOB_STATUS'), 'UNRELEASED' ) = 'UNRELEASED' THEN
1889: IF fnd_profile.value('CSD_DEFAULT_JOB_STATUS') = 'RELEASED' THEN
1890:
1891: l_job_header_rec.status_type := lc_released_status_code ;
1892:
1893: ELSIF NVL( fnd_profile.value('CSD_DEFAULT_JOB_STATUS'), 'UNRELEASED' ) = 'UNRELEASED' THEN
1894:
1895: l_job_header_rec.status_type := lc_unreleased_status_code;
1896: END IF;
1897:
1905:
1906: -- If the profile CSD: Default WIP MRP Net Qty to Zero is set to
1907: -- null / 'N' then net_quantity = start_quantity else if the
1908: -- profile is set to 'Y' then net_quantity = 0
1909: IF ( nvl(fnd_profile.value('CSD_WIP_MRP_NET_QTY'),'N') = 'N' ) THEN
1910: l_job_header_rec.net_quantity := p_ESTM_JOB_DETLS_REC_TYPE.repair_quantity;
1911: ELSIF ( fnd_profile.value('CSD_WIP_MRP_NET_QTY') = 'Y' ) THEN
1912: l_job_header_rec.net_quantity := 0;
1913: END IF;
1907: -- null / 'N' then net_quantity = start_quantity else if the
1908: -- profile is set to 'Y' then net_quantity = 0
1909: IF ( nvl(fnd_profile.value('CSD_WIP_MRP_NET_QTY'),'N') = 'N' ) THEN
1910: l_job_header_rec.net_quantity := p_ESTM_JOB_DETLS_REC_TYPE.repair_quantity;
1911: ELSIF ( fnd_profile.value('CSD_WIP_MRP_NET_QTY') = 'Y' ) THEN
1912: l_job_header_rec.net_quantity := 0;
1913: END IF;
1914:
1915: