123: l_return_status := 'S';
124: l_bo_return_status := 'S';
125: --l_rev_sub_resource_tbl := p_rev_sub_resource_tbl;
126: x_rev_sub_resource_tbl := p_rev_sub_resource_tbl;
127: l_rev_sub_res_unexp_rec.organization_id := Eng_Globals.Get_Org_Id;
128:
129: FOR I IN 1..x_rev_sub_resource_tbl.COUNT LOOP
130: -- Processing records for which the return status is null
131: IF (x_rev_sub_resource_tbl(I).return_status IS NULL OR
238: -- Process Flow step 3 : Check if transaction_type is valid
239: -- Transaction_Type must be CRATE, UPDATE, DELETE or CANCEL(in only ECO for Rrg)
240: -- Call the Bom_Rtg_Globals.Transaction_Type_Validity
241: --
242: Eng_Globals.Transaction_Type_Validity
243: ( p_transaction_type => l_rev_sub_resource_rec.transaction_type
244: , p_entity => 'Sub_Res'
245: , p_entity_id => l_rev_sub_resource_rec.Sub_Resource_Code
246: , x_valid => l_valid
1503: --l_rev_op_resource_tbl := p_rev_op_resource_tbl;
1504: x_rev_op_resource_tbl := p_rev_op_resource_tbl;
1505: x_rev_sub_resource_tbl := p_rev_sub_resource_tbl;
1506:
1507: l_rev_op_res_unexp_rec.organization_id := Eng_Globals.Get_Org_Id;
1508:
1509: FOR I IN 1..x_rev_op_resource_tbl.COUNT LOOP
1510: -- Processing records for which the return status is null
1511: IF (x_rev_op_resource_tbl(I).return_status IS NULL OR
1635: -- Transaction_Type must be CRATE, UPDATE, DELETE or CANCEL(in only ECO for Rrg)
1636: -- Call the Bom_Rtg_Globals.Transaction_Type_Validity
1637: --
1638:
1639: Eng_Globals.Transaction_Type_Validity
1640: ( p_transaction_type => l_rev_op_resource_rec.transaction_type
1641: , p_entity => 'Op_Res'
1642: , p_entity_id => l_rev_op_resource_rec.resource_sequence_number
1643: , x_valid => l_valid
2199: -- Process flow step: Query the operation resource record using by Res Seq Num
2200: -- Call Bom_Res_Seq_Util.Query_Row
2201: --
2202:
2203: IF (l_rev_op_resource_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
2204: AND l_rev_op_resource_rec.acd_type IN ( 2, 3 )) -- ACD Type: Change or Disable
2205: THEN
2206:
2207: Bom_Op_Res_Util.Query_Row
2218: IF Bom_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2219: ('Query the original op res for rev op res with acd type : change or delete completed with return_status: ' || l_return_status) ;
2220: END IF ;
2221:
2222: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
2223: THEN
2224: l_return_status := Error_Handler.G_STATUS_ERROR ;
2225: l_token_tbl(1).token_name := 'RES_SEQ_NUMBER';
2226: l_token_tbl(1).token_value :=
2252:
2253: END IF;
2254:
2255:
2256: IF (l_rev_op_resource_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
2257: AND l_rev_op_resource_rec.acd_type IN ( 2, 3 ) ) -- ACD Type : Change or Disable
2258: OR
2259: l_rev_op_resource_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
2260: ENG_GLOBALS.G_OPR_DELETE)
2255:
2256: IF (l_rev_op_resource_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
2257: AND l_rev_op_resource_rec.acd_type IN ( 2, 3 ) ) -- ACD Type : Change or Disable
2258: OR
2259: l_rev_op_resource_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
2260: ENG_GLOBALS.G_OPR_DELETE)
2261: THEN
2262:
2263: --
2256: IF (l_rev_op_resource_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
2257: AND l_rev_op_resource_rec.acd_type IN ( 2, 3 ) ) -- ACD Type : Change or Disable
2258: OR
2259: l_rev_op_resource_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
2260: ENG_GLOBALS.G_OPR_DELETE)
2261: THEN
2262:
2263: --
2264: -- Process flow step 12: Populate NULL columns for Update and Delete
2863: x_rev_operation_tbl := p_rev_operation_tbl ;
2864: x_rev_op_resource_tbl := p_rev_op_resource_tbl ;
2865: x_rev_sub_resource_tbl := p_rev_sub_resource_tbl ;
2866:
2867: l_rev_op_unexp_rec.organization_id := Eng_Globals.Get_Org_Id;
2868:
2869:
2870: FOR I IN 1..x_rev_operation_tbl.COUNT LOOP
2871:
2949: -- Transaction_Type must be CRATE, UPDATE, DELETE or CANCEL
2950: -- Call the Bom_Rtg_Globals.Transaction_Type_Validity
2951: --
2952:
2953: ENG_GLOBALS.Transaction_Type_Validity
2954: ( p_transaction_type => l_rev_operation_rec.transaction_type
2955: , p_entity => 'Op_Seq'
2956: , p_entity_id => l_rev_operation_rec.operation_sequence_number
2957: , x_valid => l_valid
3604: -- Process flow step: Query the operation record using by Old Op Seq Num
3605: -- and Old Effectivity Date Call Bom_Op_Seq_Util.Query_Row
3606: --
3607:
3608: IF (l_rev_operation_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3609: AND l_rev_operation_rec.acd_type IN (2 ,3) ) -- ACD Type: Change or Disable
3610: THEN
3611:
3612: IF l_rev_operation_rec.old_operation_sequence_number IS NULL OR
3630: , x_mesg_token_tbl => l_mesg_token_tbl
3631: , x_return_status => l_return_status
3632: ) ;
3633:
3634: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
3635: THEN
3636: l_return_status := Error_Handler.G_STATUS_ERROR ;
3637: l_Token_Tbl(1).token_name := 'OP_SEQ_NUMBER';
3638: l_Token_Tbl(1).token_value :=
3660: END IF;
3661: END IF;
3662:
3663:
3664: IF (l_rev_operation_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3665: AND l_rev_operation_rec.acd_type IN ( 2,3 ) ) -- ACD Type : Change or Disable
3666: OR
3667: l_rev_operation_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
3668: ENG_GLOBALS.G_OPR_DELETE ,
3663:
3664: IF (l_rev_operation_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3665: AND l_rev_operation_rec.acd_type IN ( 2,3 ) ) -- ACD Type : Change or Disable
3666: OR
3667: l_rev_operation_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
3668: ENG_GLOBALS.G_OPR_DELETE ,
3669: ENG_GLOBALS.G_OPR_CANCEL)
3670: THEN
3671:
3664: IF (l_rev_operation_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
3665: AND l_rev_operation_rec.acd_type IN ( 2,3 ) ) -- ACD Type : Change or Disable
3666: OR
3667: l_rev_operation_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
3668: ENG_GLOBALS.G_OPR_DELETE ,
3669: ENG_GLOBALS.G_OPR_CANCEL)
3670: THEN
3671:
3672: --
3665: AND l_rev_operation_rec.acd_type IN ( 2,3 ) ) -- ACD Type : Change or Disable
3666: OR
3667: l_rev_operation_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE ,
3668: ENG_GLOBALS.G_OPR_DELETE ,
3669: ENG_GLOBALS.G_OPR_CANCEL)
3670: THEN
3671:
3672: --
3673: -- Process flow step 15: Populate NULL columns for Update and Delete
3954: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
3955: ('Operatin Sequence: Perform Cancel Operation . . .') ;
3956: END IF ;
3957:
3958: ENG_Globals.Cancel_Operation
3959: ( p_operation_sequence_id => l_rev_op_unexp_rec.operation_sequence_id
3960: , p_cancel_comments => l_rev_operation_rec.cancel_comments
3961: , p_op_seq_num => l_rev_operation_rec.operation_sequence_number
3962: , p_user_id => BOM_Rtg_Globals.Get_User_Id
3973:
3974: ELSE
3975: /*
3976: Added If condition for bug#13655045, If alternate_routing_code is not NULL
3977: then calling ENG_Globals.Perform_Writes_For_Alt_Rtg.
3978: */
3979: IF(l_rev_operation_rec.alternate_routing_code is NULL)
3980: THEN
3981: ENG_Globals.Perform_Writes_For_Primary_Rtg
3977: then calling ENG_Globals.Perform_Writes_For_Alt_Rtg.
3978: */
3979: IF(l_rev_operation_rec.alternate_routing_code is NULL)
3980: THEN
3981: ENG_Globals.Perform_Writes_For_Primary_Rtg
3982: ( p_rev_operation_rec => l_rev_operation_rec
3983: , p_rev_op_unexp_rec => l_rev_op_unexp_rec
3984: , x_mesg_token_tbl => l_mesg_token_tbl
3985: , x_return_status => l_return_status
3984: , x_mesg_token_tbl => l_mesg_token_tbl
3985: , x_return_status => l_return_status
3986: ) ;
3987: ELSE
3988: ENG_Globals.Perform_Writes_For_Alt_Rtg
3989: ( p_rev_operation_rec => l_rev_operation_rec
3990: , p_rev_op_unexp_rec => l_rev_op_unexp_rec
3991: , x_mesg_token_tbl => l_mesg_token_tbl
3992: , x_return_status => l_return_status
4521: -- Init local table variables.
4522:
4523: x_sub_component_tbl := p_sub_component_tbl;
4524:
4525: l_sub_comp_unexp_rec.organization_id := ENG_GLOBALS.Get_org_id;
4526:
4527: FOR I IN 1..x_sub_component_tbl.COUNT LOOP
4528:
4529: IF (x_sub_component_tbl(I).return_status IS NULL OR
4623: -- Check if transaction_type is valid
4624: --
4625:
4626: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
4627: ENG_GLOBALS.Transaction_Type_Validity
4628: ( p_transaction_type => l_sub_component_rec.transaction_type
4629: , p_entity => 'Sub_Comps'
4630: , p_entity_id => l_sub_component_rec.revised_item_name
4631: , x_valid => l_valid
4937: --
4938:
4939: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
4940: IF l_sub_component_rec.Transaction_Type IN
4941: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
4942: THEN
4943: Bom_Validate_Sub_Component.Check_Attributes
4944: ( x_return_status => l_return_status
4945: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
4980: END IF;
4981: END IF;
4982:
4983: IF l_sub_component_rec.Transaction_Type IN
4984: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
4985: THEN
4986:
4987: -- Process flow step 13 - Populate NULL columns for Update and
4988: -- Delete.
4996: , x_sub_component_rec => l_sub_component_rec
4997: , x_sub_comp_unexp_rec => l_sub_comp_unexp_rec
4998: );
4999:
5000: ELSIF l_sub_component_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
5001:
5002: -- Process Flow step 14: Default missing values for Operation CREATE
5003: --
5004:
5426:
5427: x_ref_designator_tbl := p_ref_designator_tbl;
5428: x_sub_component_tbl := p_sub_component_tbl;
5429:
5430: l_ref_desg_unexp_rec.organization_id := ENG_GLOBALS.Get_org_id;
5431:
5432: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Within processing Ref Designators . . . '); END IF;
5433:
5434:
5546:
5547: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
5548:
5549:
5550: ENG_GLOBALS.Transaction_Type_Validity
5551: ( p_transaction_type => l_ref_designator_rec.transaction_type
5552: , p_entity => 'Ref_Desgs'
5553: , p_entity_id => l_ref_designator_rec.revised_item_name
5554: , x_valid => l_valid
5848:
5849: END IF;
5850:
5851: IF l_ref_designator_rec.transaction_type IN
5852: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
5853: THEN
5854:
5855: -- Process flow step 11 - Populate NULL columns for Update and
5856: -- Delete.
6253: l_bo_return_status := FND_API.G_RET_STS_SUCCESS;
6254: x_return_status := FND_API.G_RET_STS_SUCCESS;
6255: x_ref_designator_tbl := p_ref_designator_tbl;
6256: x_sub_component_tbl := p_sub_component_tbl;
6257: l_rev_comp_unexp_rec.organization_id := ENG_GLOBALS.Get_org_id;
6258:
6259: BEGIN
6260:
6261: --
6349: l_rev_component_rec.start_effective_date := p_effectivity_date;
6350: END IF;
6351:
6352: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
6353: ENG_GLOBALS.Transaction_Type_Validity
6354: ( p_transaction_type => l_rev_component_rec.transaction_type
6355: , p_entity => 'Rev_Comps'
6356: , p_entity_id => l_rev_component_rec.revised_item_name
6357: , x_valid => l_valid
6785: --
6786:
6787: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
6788: IF l_rev_component_rec.Transaction_Type IN
6789: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
6790: THEN
6791: Bom_Validate_Bom_Component.Check_Attributes
6792: ( x_return_status => l_return_status
6793: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
6837: );
6838: END IF;
6839: END IF;
6840:
6841: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
6842: AND l_rev_component_rec.acd_type IN ( 2, 3 ))
6843: THEN
6844:
6845: Bom_Bom_Component_Util.Query_Row
6863: l_mesg_token_tbl
6864: , x_mesg_token_tbl => l_mesg_token_tbl
6865: );
6866:
6867: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
6868: THEN
6869: l_return_status := Error_Handler.G_STATUS_ERROR ;
6870: l_Token_Tbl(1).token_name := 'REVISED_COMPONENT_NAME';
6871: l_Token_Tbl(1).token_value := l_rev_component_rec.component_item_name;
6892:
6893: -- Process flow step 15 - Populate NULL columns for Update and
6894: -- Delete, and Creates with ACD_Type 'Add'.
6895:
6896: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
6897: AND l_rev_component_rec.acd_type = 2)
6898: OR
6899: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
6900: ENG_GLOBALS.G_OPR_DELETE)
6895:
6896: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
6897: AND l_rev_component_rec.acd_type = 2)
6898: OR
6899: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
6900: ENG_GLOBALS.G_OPR_DELETE)
6901: THEN
6902: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns'); END IF;
6903: Bom_Default_Bom_Component.Populate_Null_Columns
6896: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
6897: AND l_rev_component_rec.acd_type = 2)
6898: OR
6899: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
6900: ENG_GLOBALS.G_OPR_DELETE)
6901: THEN
6902: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns'); END IF;
6903: Bom_Default_Bom_Component.Populate_Null_Columns
6904: ( p_rev_component_rec => l_rev_Component_Rec
6908: , x_rev_Component_Rec => l_rev_Component_Rec
6909: , x_rev_comp_unexp_rec => l_rev_comp_unexp_rec
6910: );
6911:
6912: ELSIF l_rev_component_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
6913:
6914: -- Process Flow step 16: Default missing values for Operation CREATE
6915: --
6916:
6966: --
6967:
6968: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
6969: IF l_rev_component_rec.Transaction_Type IN
6970: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
6971: THEN
6972: Bom_Default_Bom_Component.Entity_Defaulting
6973: ( p_rev_component_rec => l_rev_component_rec
6974: , p_old_rev_component_rec => l_old_rev_component_rec
7600: x_rev_component_tbl := p_rev_component_tbl;
7601: x_ref_designator_tbl := p_ref_designator_tbl;
7602: x_sub_component_tbl := p_sub_component_tbl;
7603:
7604: l_rev_comp_unexp_rec.organization_id := ENG_GLOBALS.Get_org_id;
7605:
7606: FOR I IN 1..x_rev_component_tbl.COUNT LOOP
7607: IF (x_rev_component_tbl(I).return_status IS NULL OR
7608: x_rev_component_tbl(I).return_status = FND_API.G_MISS_CHAR) THEN
7700: l_rev_component_rec.start_effective_date := p_effectivity_date;
7701: END IF;
7702:
7703: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
7704: ENG_GLOBALS.Transaction_Type_Validity
7705: ( p_transaction_type => l_rev_component_rec.transaction_type
7706: , p_entity => 'Rev_Comps'
7707: , p_entity_id => l_rev_component_rec.revised_item_name
7708: , x_valid => l_valid
8134: --
8135:
8136: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
8137: IF l_rev_component_rec.Transaction_Type IN
8138: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
8139: THEN
8140: Bom_Validate_Bom_Component.Check_Attributes
8141: ( x_return_status => l_return_status
8142: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
8186: );
8187: END IF;
8188: END IF;
8189:
8190: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
8191: AND l_rev_component_rec.acd_type IN ( 2, 3 ))
8192: THEN
8193:
8194: Bom_Bom_Component_Util.Query_Row
8212: l_mesg_token_tbl
8213: , x_mesg_token_tbl => l_mesg_token_tbl
8214: );
8215:
8216: IF l_return_status <> Eng_Globals.G_RECORD_FOUND
8217: THEN
8218: l_return_status := Error_Handler.G_STATUS_ERROR ;
8219: l_Token_Tbl(1).token_name := 'REVISED_COMPONENT_NAME';
8220: l_Token_Tbl(1).token_value := l_rev_component_rec.component_item_name;
8241:
8242: -- Process flow step 15 - Populate NULL columns for Update and
8243: -- Delete, and Creates with ACD_Type 'Add'.
8244:
8245: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
8246: AND l_rev_component_rec.acd_type = 2)
8247: OR
8248: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
8249: ENG_GLOBALS.G_OPR_DELETE)
8244:
8245: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
8246: AND l_rev_component_rec.acd_type = 2)
8247: OR
8248: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
8249: ENG_GLOBALS.G_OPR_DELETE)
8250: THEN
8251: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns'); END IF;
8252: Bom_Default_Bom_Component.Populate_Null_Columns
8245: IF (l_rev_component_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
8246: AND l_rev_component_rec.acd_type = 2)
8247: OR
8248: l_rev_component_rec.transaction_type IN (ENG_GLOBALS.G_OPR_UPDATE,
8249: ENG_GLOBALS.G_OPR_DELETE)
8250: THEN
8251: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Populate NULL columns'); END IF;
8252: Bom_Default_Bom_Component.Populate_Null_Columns
8253: ( p_rev_component_rec => l_rev_Component_Rec
8257: , x_rev_Component_Rec => l_rev_Component_Rec
8258: , x_rev_comp_unexp_rec => l_rev_comp_unexp_rec
8259: );
8260:
8261: ELSIF l_rev_component_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
8262:
8263: -- Process Flow step 16: Default missing values for Operation CREATE
8264: --
8265:
8315: --
8316:
8317: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
8318: IF l_rev_component_rec.Transaction_Type IN
8319: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
8320: THEN
8321: Bom_Default_Bom_Component.Entity_Defaulting
8322: ( p_rev_component_rec => l_rev_component_rec
8323: , p_old_rev_component_rec => l_old_rev_component_rec
8971: -- make sure that the unexposed record does not have remains of
8972: -- any previous processing. This could be possible in the consequent
8973: -- iterations of this loop
8974: l_rev_item_unexp_rec := l_rev_item_miss_rec;
8975: l_Rev_Item_Unexp_Rec.organization_id := ENG_GLOBALS.Get_org_id;
8976:
8977:
8978: l_revised_item_rec.transaction_type :=
8979: UPPER(l_revised_item_rec.transaction_type);
9013: -- Check if transaction_type is valid
9014: --
9015:
9016: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
9017: ENG_GLOBALS.Transaction_Type_Validity
9018: ( p_transaction_type => l_revised_item_rec.transaction_type
9019: , p_entity => 'Rev_Items'
9020: , p_entity_id => l_revised_item_rec.revised_item_name
9021: , x_valid => l_valid
9066: -- object does not carry the ECO header
9067:
9068: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
9069:
9070: IF l_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
9071: AND
9072: NOT l_eco_parent_exists
9073: THEN
9074: ENG_Validate_ECO.Check_Existence
9102: END IF;
9103: END IF;
9104:
9105: IF l_revised_item_rec.Transaction_Type IN
9106: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
9107: THEN
9108:
9109: -- Bug 2918350
9110: -- Start Changes
9342:
9343:
9344: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
9345: IF l_revised_item_rec.Transaction_Type IN
9346: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
9347: THEN
9348: ENG_Validate_Revised_Item.Check_Attributes
9349: ( x_return_status => l_return_status
9350: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
9401: END IF;
9402: END IF;
9403:
9404: IF l_revised_item_rec.Transaction_Type IN
9405: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
9406: THEN
9407:
9408: -- Process flow step 11 - Populate NULL columns for Update and
9409: -- Delete.
9417: , x_revised_item_rec => l_revised_item_rec
9418: , x_rev_item_unexp_rec => l_rev_item_unexp_rec
9419: );
9420:
9421: ELSIF l_revised_item_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
9422:
9423: -- Process Flow step 12: Default missing values for Operation CREATE
9424: --
9425:
9540: --
9541:
9542: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
9543: IF l_revised_item_rec.Transaction_Type IN
9544: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
9545: THEN
9546: ENG_Default_Revised_Item.Entity_Defaulting
9547: ( p_revised_item_rec => l_revised_item_rec
9548: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
9733: l_process_children := TRUE;
9734:
9735: -- Reset system_information flags
9736:
9737: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9738: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9739: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9740: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9741:
9734:
9735: -- Reset system_information flags
9736:
9737: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9738: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9739: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9740: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9741:
9742: -- For loop exception handler.
9735: -- Reset system_information flags
9736:
9737: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9738: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9739: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9740: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9741:
9742: -- For loop exception handler.
9743:
9736:
9737: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9738: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9739: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9740: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9741:
9742: -- For loop exception handler.
9743:
9744:
9787: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
9788:
9789: -- Reset system_information flags
9790:
9791: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9792: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9793: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9794: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9795:
9788:
9789: -- Reset system_information flags
9790:
9791: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9792: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9793: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9794: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9795:
9796: WHEN EXC_SEV_QUIT_BRANCH THEN
9789: -- Reset system_information flags
9790:
9791: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9792: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9793: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9794: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9795:
9796: WHEN EXC_SEV_QUIT_BRANCH THEN
9797:
9790:
9791: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9792: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9793: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9794: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9795:
9796: WHEN EXC_SEV_QUIT_BRANCH THEN
9797:
9798: Eco_Error_Handler.Log_Error
9839: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
9840:
9841: -- Reset system_information flags
9842:
9843: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9844: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9845: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9846: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9847:
9840:
9841: -- Reset system_information flags
9842:
9843: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9844: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9845: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9846: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9847:
9848: WHEN EXC_SEV_SKIP_BRANCH THEN
9841: -- Reset system_information flags
9842:
9843: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9844: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9845: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9846: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9847:
9848: WHEN EXC_SEV_SKIP_BRANCH THEN
9849:
9842:
9843: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9844: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9845: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9846: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9847:
9848: WHEN EXC_SEV_SKIP_BRANCH THEN
9849:
9850: Eco_Error_Handler.Log_Error
9891: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
9892:
9893: -- Reset system_information flags
9894:
9895: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9896: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9897: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9898: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9899:
9892:
9893: -- Reset system_information flags
9894:
9895: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9896: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9897: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9898: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9899:
9900: WHEN EXC_SEV_QUIT_OBJECT THEN
9893: -- Reset system_information flags
9894:
9895: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9896: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9897: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9898: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9899:
9900: WHEN EXC_SEV_QUIT_OBJECT THEN
9901:
9894:
9895: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9896: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9897: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9898: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9899:
9900: WHEN EXC_SEV_QUIT_OBJECT THEN
9901:
9902: Eco_Error_Handler.Log_Error
9939: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
9940:
9941: -- Reset system_information flags
9942:
9943: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9944: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9945: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9946: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9947:
9940:
9941: -- Reset system_information flags
9942:
9943: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9944: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9945: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9946: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9947:
9948: WHEN EXC_FAT_QUIT_BRANCH THEN
9941: -- Reset system_information flags
9942:
9943: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9944: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9945: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9946: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9947:
9948: WHEN EXC_FAT_QUIT_BRANCH THEN
9949:
9942:
9943: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9944: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9945: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9946: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9947:
9948: WHEN EXC_FAT_QUIT_BRANCH THEN
9949:
9950: Eco_Error_Handler.Log_Error
9987: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
9988:
9989: -- Reset system_information flags
9990:
9991: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9992: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9993: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9994: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9995:
9988:
9989: -- Reset system_information flags
9990:
9991: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9992: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9993: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9994: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9995:
9996: WHEN EXC_FAT_QUIT_OBJECT THEN
9989: -- Reset system_information flags
9990:
9991: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9992: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9993: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9994: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9995:
9996: WHEN EXC_FAT_QUIT_OBJECT THEN
9997:
9990:
9991: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
9992: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
9993: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
9994: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
9995:
9996: WHEN EXC_FAT_QUIT_OBJECT THEN
9997:
9998: Eco_Error_Handler.Log_Error
10032: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
10033:
10034: -- Reset system_information flags
10035:
10036: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10037: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10038: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10039: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10040:
10033:
10034: -- Reset system_information flags
10035:
10036: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10037: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10038: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10039: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10040:
10041: l_return_status := 'Q';
10034: -- Reset system_information flags
10035:
10036: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10037: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10038: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10039: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10040:
10041: l_return_status := 'Q';
10042:
10035:
10036: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10037: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10038: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10039: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10040:
10041: l_return_status := 'Q';
10042:
10043: WHEN EXC_UNEXP_SKIP_OBJECT THEN
10077: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
10078:
10079: -- Reset system_information flags
10080:
10081: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10082: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10083: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10084: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10085:
10078:
10079: -- Reset system_information flags
10080:
10081: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10082: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10083: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10084: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10085:
10086: l_return_status := 'U';
10079: -- Reset system_information flags
10080:
10081: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10082: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10083: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10084: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10085:
10086: l_return_status := 'U';
10087:
10080:
10081: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
10082: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
10083: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
10084: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
10085:
10086: l_return_status := 'U';
10087:
10088: END; -- END block
10393: x_rev_operation_tbl := p_rev_operation_tbl; --L1
10394: x_rev_op_resource_tbl := p_rev_op_resource_tbl; --L1
10395: x_rev_sub_resource_tbl := p_rev_sub_resource_tbl; --L1
10396:
10397: -- l_Rev_Item_Unexp_Rec.organization_id := ENG_GLOBALS.Get_org_id;
10398:
10399: FOR I IN 1..x_revised_item_tbl.COUNT LOOP
10400: IF (x_revised_item_tbl(I).return_status IS NULL OR
10401: x_revised_item_tbl(I).return_status = FND_API.G_MISS_CHAR) THEN
10411: -- make sure that the unexposed record does not have remains of
10412: -- any previous processing. This could be possible in the consequent
10413: -- iterations of this loop
10414: l_rev_item_unexp_rec := l_rev_item_miss_rec;
10415: l_Rev_Item_Unexp_Rec.organization_id := ENG_GLOBALS.Get_org_id;
10416:
10417:
10418: l_revised_item_rec.transaction_type :=
10419: UPPER(l_revised_item_rec.transaction_type);
10453: -- Check if transaction_type is valid
10454: --
10455:
10456: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
10457: ENG_GLOBALS.Transaction_Type_Validity
10458: ( p_transaction_type => l_revised_item_rec.transaction_type
10459: , p_entity => 'Rev_Items'
10460: , p_entity_id => l_revised_item_rec.revised_item_name
10461: , x_valid => l_valid
10506: -- object does not carry the ECO header
10507:
10508: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
10509:
10510: IF l_revised_item_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
10511: AND
10512: NOT l_eco_parent_exists
10513: THEN
10514: ENG_Validate_ECO.Check_Existence
10542: END IF;
10543: END IF;
10544:
10545: IF l_revised_item_rec.Transaction_Type IN
10546: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
10547: THEN
10548:
10549: -- Bug 2918350
10550: -- Start Changes
10555: END IF;
10556:
10557: -- Added for bug 5756870
10558: -- The update case when the CO is in scheduled status is handled saperately
10559: IF (l_revised_item_rec.Transaction_Type <> ENG_GLOBALS.G_OPR_UPDATE )
10560: AND (l_chk_co_sch = 4) THEN
10561: l_return_status := error_handler.g_status_error;
10562: error_handler.add_error_token (p_message_name => 'ENG_REV_ITM_NOT_UPD',
10563: p_mesg_token_tbl => l_mesg_token_tbl,
10623: -- Process Flow step 7(a): Is ECO impl/cancl, or in wkflw process ?
10624: --
10625: -- Added for bug 5756870
10626: -- In case if the transaciton is update, pass parameter to avoid scheduled date validations
10627: IF (l_revised_item_rec.Transaction_Type = ENG_GLOBALS.G_OPR_UPDATE ) THEN
10628: ENG_Validate_ECO.Check_Access
10629: ( p_change_notice => l_revised_item_rec.ECO_Name
10630: , p_organization_id => l_rev_item_unexp_rec.organization_id
10631: , p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10669: -- Bug No: 5246049
10670: -- Moved validation outside 'IF NOT l_eco_parent_exists' as validation should happen in all cases
10671:
10672: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check access'); END IF;
10673: IF (l_revised_item_rec.Transaction_Type = ENG_GLOBALS.G_OPR_UPDATE ) THEN
10674: ENG_Validate_Revised_Item.Check_Access
10675: ( p_change_notice => l_revised_item_rec.ECO_Name
10676: , p_organization_id => l_rev_item_unexp_rec.organization_id
10677: , p_revised_item_id => l_rev_item_unexp_rec.revised_item_id
10873:
10874:
10875: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
10876: IF l_revised_item_rec.Transaction_Type IN
10877: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
10878: THEN
10879: ENG_Validate_Revised_Item.Check_Attributes
10880: ( x_return_status => l_return_status
10881: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
10932: END IF;
10933: END IF;
10934:
10935: IF l_revised_item_rec.Transaction_Type IN
10936: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
10937: THEN
10938:
10939: -- Process flow step 11 - Populate NULL columns for Update and
10940: -- Delete.
10948: , x_revised_item_rec => l_revised_item_rec
10949: , x_rev_item_unexp_rec => l_rev_item_unexp_rec
10950: );
10951:
10952: ELSIF l_revised_item_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
10953:
10954: -- Process Flow step 12: Default missing values for Operation CREATE
10955: --
10956:
11071: --
11072:
11073: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
11074: IF l_revised_item_rec.Transaction_Type IN
11075: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
11076: THEN
11077: ENG_Default_Revised_Item.Entity_Defaulting
11078: ( p_revised_item_rec => l_revised_item_rec
11079: , p_rev_item_unexp_rec => l_rev_item_unexp_rec
11285: l_process_children := TRUE;
11286:
11287: -- Reset system_information flags
11288:
11289: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11290: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11291: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11292: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11293:
11286:
11287: -- Reset system_information flags
11288:
11289: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11290: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11291: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11292: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11293:
11294: -- For loop exception handler.
11287: -- Reset system_information flags
11288:
11289: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11290: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11291: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11292: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11293:
11294: -- For loop exception handler.
11295:
11288:
11289: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11290: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11291: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11292: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11293:
11294: -- For loop exception handler.
11295:
11296:
11339: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11340:
11341: -- Reset system_information flags
11342:
11343: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11344: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11345: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11346: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11347:
11340:
11341: -- Reset system_information flags
11342:
11343: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11344: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11345: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11346: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11347:
11348: WHEN EXC_SEV_QUIT_BRANCH THEN
11341: -- Reset system_information flags
11342:
11343: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11344: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11345: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11346: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11347:
11348: WHEN EXC_SEV_QUIT_BRANCH THEN
11349:
11342:
11343: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11344: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11345: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11346: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11347:
11348: WHEN EXC_SEV_QUIT_BRANCH THEN
11349:
11350: Eco_Error_Handler.Log_Error
11391: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11392:
11393: -- Reset system_information flags
11394:
11395: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11396: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11397: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11398: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11399:
11392:
11393: -- Reset system_information flags
11394:
11395: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11396: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11397: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11398: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11399:
11400: WHEN EXC_SEV_SKIP_BRANCH THEN
11393: -- Reset system_information flags
11394:
11395: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11396: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11397: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11398: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11399:
11400: WHEN EXC_SEV_SKIP_BRANCH THEN
11401:
11394:
11395: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11396: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11397: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11398: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11399:
11400: WHEN EXC_SEV_SKIP_BRANCH THEN
11401:
11402: Eco_Error_Handler.Log_Error
11443: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11444:
11445: -- Reset system_information flags
11446:
11447: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11448: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11449: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11450: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11451:
11444:
11445: -- Reset system_information flags
11446:
11447: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11448: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11449: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11450: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11451:
11452: WHEN EXC_SEV_QUIT_OBJECT THEN
11445: -- Reset system_information flags
11446:
11447: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11448: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11449: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11450: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11451:
11452: WHEN EXC_SEV_QUIT_OBJECT THEN
11453:
11446:
11447: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11448: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11449: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11450: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11451:
11452: WHEN EXC_SEV_QUIT_OBJECT THEN
11453:
11454: Eco_Error_Handler.Log_Error
11491: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11492:
11493: -- Reset system_information flags
11494:
11495: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11496: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11497: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11498: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11499:
11492:
11493: -- Reset system_information flags
11494:
11495: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11496: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11497: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11498: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11499:
11500: WHEN EXC_FAT_QUIT_BRANCH THEN
11493: -- Reset system_information flags
11494:
11495: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11496: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11497: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11498: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11499:
11500: WHEN EXC_FAT_QUIT_BRANCH THEN
11501:
11494:
11495: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11496: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11497: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11498: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11499:
11500: WHEN EXC_FAT_QUIT_BRANCH THEN
11501:
11502: Eco_Error_Handler.Log_Error
11539: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11540:
11541: -- Reset system_information flags
11542:
11543: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11544: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11545: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11546: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11547:
11540:
11541: -- Reset system_information flags
11542:
11543: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11544: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11545: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11546: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11547:
11548: WHEN EXC_FAT_QUIT_OBJECT THEN
11541: -- Reset system_information flags
11542:
11543: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11544: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11545: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11546: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11547:
11548: WHEN EXC_FAT_QUIT_OBJECT THEN
11549:
11542:
11543: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11544: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11545: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11546: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11547:
11548: WHEN EXC_FAT_QUIT_OBJECT THEN
11549:
11550: Eco_Error_Handler.Log_Error
11584: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11585:
11586: -- Reset system_information flags
11587:
11588: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11589: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11590: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11591: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11592:
11585:
11586: -- Reset system_information flags
11587:
11588: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11589: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11590: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11591: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11592:
11593: l_return_status := 'Q';
11586: -- Reset system_information flags
11587:
11588: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11589: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11590: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11591: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11592:
11593: l_return_status := 'Q';
11594:
11587:
11588: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11589: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11590: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11591: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11592:
11593: l_return_status := 'Q';
11594:
11595: WHEN EXC_UNEXP_SKIP_OBJECT THEN
11629: --x_rev_sub_resource_tbl := l_rev_sub_resource_tbl; --L1
11630:
11631: -- Reset system_information flags
11632:
11633: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11634: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11635: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11636: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11637:
11630:
11631: -- Reset system_information flags
11632:
11633: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11634: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11635: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11636: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11637:
11638: l_return_status := 'U';
11631: -- Reset system_information flags
11632:
11633: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11634: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11635: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11636: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11637:
11638: l_return_status := 'U';
11639:
11632:
11633: ENG_GLOBALS.Set_RITEM_Impl( p_ritem_impl => NULL);
11634: ENG_GLOBALS.Set_RITEM_Cancl( p_ritem_cancl => NULL);
11635: ENG_GLOBALS.Set_Bill_Sequence_Id( p_bill_sequence_id => NULL);
11636: ENG_GLOBALS.Set_Current_Revision( p_current_revision => NULL);
11637:
11638: l_return_status := 'U';
11639:
11640: END; -- END block
11979: -- Load local records.
11980: l_change_line_rec := x_change_line_tbl(I);
11981: l_change_line_rec.transaction_type :=
11982: UPPER(l_change_line_rec.transaction_type);
11983: --l_change_line_unexp_rec.organization_id := Eng_Globals.Get_Org_Id;
11984:
11985: --
11986: -- Initialize the Unexposed Record for every iteration of the Loop
11987: -- so that sequence numbers get generated for every new row.
11994: --l_change_line_unexp_rec.item_id := NULL ;
11995: --l_change_line_unexp_rec.item_revision_id := NULL ;
11996:
11997: --Organization_id is required for validations when we attach revised_items/lines to already existing ECO's
11998: l_change_line_unexp_rec.organization_id := Eng_Globals.Get_Org_Id;
11999:
12000:
12001:
12002: --
12028: --
12029:
12030: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check transaction_type validity'); END IF;
12031:
12032: ENG_GLOBALS.Transaction_Type_Validity
12033: ( p_transaction_type => l_change_line_rec.transaction_type
12034: , p_entity => 'Change_Lines'
12035: , p_entity_id => l_change_line_rec.name
12036: , x_valid => l_valid
12088: );
12089:
12090: IF l_return_status = Error_Handler.G_STATUS_ERROR
12091: THEN
12092: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12093: THEN
12094: l_other_message := 'ENG_CL_REQ_CSEV_SKIP';
12095: l_other_token_tbl(1).token_name := 'LINE_NAME';
12096: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12143: -- object does not carry the ECO header
12144:
12145: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
12146:
12147: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12148: AND NOT l_eco_parent_exists
12149: THEN
12150: ENG_Validate_ECO.Check_Existence
12151: ( p_change_notice => l_change_line_rec.eco_name
12179:
12180: END IF;
12181:
12182: IF l_change_line_rec.Transaction_Type IN
12183: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
12184: THEN
12185: -- Bug 2918350
12186: -- Start Changes
12187:
12289: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12290:
12291: IF l_return_status = Error_Handler.G_STATUS_ERROR
12292: THEN
12293: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12294: THEN
12295: l_other_message := 'ENG_RIT_VID_CSEV_SKIP';
12296: l_other_token_tbl(1).token_name := 'LINE_NAME';
12297: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12374: --
12375:
12376: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Validation'); END IF;
12377: IF l_change_line_rec.Transaction_Type IN
12378: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
12379: THEN
12380: ENG_Validate_Change_Line.Check_Attributes
12381: ( x_return_status => l_return_status
12382: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
12389: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12390:
12391: IF l_return_status = Error_Handler.G_STATUS_ERROR
12392: THEN
12393: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12394: THEN
12395: l_other_message := 'ENG_RIT_ATTVAL_CSEV_SKIP';
12396: l_other_token_tbl(1).token_name := 'LINE_NAME';
12397: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12442:
12443: END IF;
12444:
12445: IF l_change_line_rec.Transaction_Type IN
12446: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
12447: THEN
12448:
12449: -- Process flow step 11 - Populate NULL columns for Update and
12450: -- Delete.
12459: , x_change_line_rec => l_change_line_rec
12460: , x_change_line_unexp_rec => l_change_line_unexp_rec
12461: );
12462:
12463: ELSIF l_change_line_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
12464:
12465: -- Process Flow step 12: Default missing values for Operation CREATE
12466: --
12467:
12540: );
12541:
12542: IF l_return_status = Error_Handler.G_STATUS_ERROR
12543: THEN
12544: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12545: THEN
12546: l_other_message := 'ENG_CL_CONREQ_CSEV_SKIP';
12547: l_other_token_tbl(1).token_name := 'LINE_NAME';
12548: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12592:
12593: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity defaulting'); END IF;
12594:
12595: IF l_change_line_rec.Transaction_Type IN
12596: (ENG_GLOBALS.G_OPR_CREATE, ENG_GLOBALS.G_OPR_UPDATE)
12597: THEN
12598:
12599: ENG_Default_Change_Line.Entity_Defaulting
12600: ( p_change_line_rec => l_change_line_rec
12610: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12611:
12612: IF l_return_status = Error_Handler.G_STATUS_ERROR
12613: THEN
12614: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12615: THEN
12616: l_other_message := 'ENG_CL_ENTDEF_CSEV_SKIP';
12617: l_other_token_tbl(1).token_name := 'LINE_NAME';
12618: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12661: --
12662:
12663: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Entity validation'); END IF;
12664:
12665: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_DELETE
12666: THEN
12667: ENG_Validate_Change_Line.Check_Entity_Delete
12668: ( p_change_line_rec => l_change_line_rec
12669: , p_change_line_unexp_rec => l_change_line_unexp_rec
12684: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12685:
12686: IF l_return_status = Error_Handler.G_STATUS_ERROR
12687: THEN
12688: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12689: THEN
12690: l_other_message := 'ENG_CL_ENTVAL_CSEV_SKIP';
12691: l_other_token_tbl(1).token_name := 'LINE_NAME';
12692: l_other_token_tbl(1).token_value := l_change_line_rec.name;
12754: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('return_status: ' || l_return_status); END IF;
12755: -- Bug 4033384: Added error handling for subject validation for l_return_status G_STATUS_ERROR
12756: IF l_return_status = Error_Handler.G_STATUS_ERROR
12757: THEN
12758: IF l_change_line_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
12759: THEN
12760: l_other_message := 'ENG_CL_ENTVAL_CSEV_SKIP';
12761: l_other_token_tbl(1).token_name := 'LINE_NAME';
12762: l_other_token_tbl(1).token_value := l_change_line_rec.name;
13170: x_rev_op_resource_tbl := p_rev_op_resource_tbl;
13171: x_rev_sub_resource_tbl := p_rev_sub_resource_tbl;
13172: x_change_line_tbl := p_change_line_tbl;
13173:
13174: l_eco_rev_unexp_rec.organization_id := ENG_GLOBALS.Get_org_id;
13175:
13176: FOR I IN 1..x_eco_revision_tbl.COUNT LOOP
13177: IF (x_eco_revision_tbl(I).return_status IS NULL OR
13178: x_eco_revision_tbl(I).return_status = FND_API.G_MISS_CHAR) THEN
13213: -- Check if transaction_type is valid
13214: --
13215:
13216: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Transaction Type validity'); END IF;
13217: ENG_GLOBALS.Transaction_Type_Validity
13218: ( p_transaction_type => l_eco_revision_rec.transaction_type
13219: , p_entity => 'ECO_Rev'
13220: , p_entity_id => l_eco_revision_rec.revision
13221: , x_valid => l_valid
13267: -- object does not carry the ECO header
13268:
13269: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Check parent existence'); END IF;
13270:
13271: IF l_eco_revision_rec.transaction_type = ENG_GLOBALS.G_OPR_CREATE
13272: AND
13273: NOT l_eco_parent_exists
13274: THEN
13275: ENG_Validate_ECO.Check_Existence
13305:
13306: -- Bug 2918350
13307: -- Start Changes
13308: IF l_eco_revision_rec.Transaction_Type IN
13309: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
13310: THEN
13311:
13312: IF p_change_notice IS NOT NULL AND p_organization_id IS NOT NULL THEN
13313: l_chk_co_sch := ret_co_status ( p_change_notice, p_organization_id);
13390:
13391: END IF;
13392:
13393: IF l_eco_revision_rec.Transaction_Type IN
13394: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
13395: THEN
13396:
13397: -- Process flow step 7 - Populate NULL columns for Update and
13398: -- Delete.
13407: , x_eco_rev_unexp_rec => l_eco_rev_unexp_rec
13408: , x_Mesg_Token_Tbl => l_Mesg_Token_Tbl
13409: );
13410:
13411: ELSIF l_eco_revision_rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
13412:
13413: -- Process Flow step 8: Default missing values for Operation CREATE
13414:
13415: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
14111: p_organization_id,
14112: null,
14113: null,
14114: sysdate,
14115: Eng_Globals.Get_User_Id,
14116: sysdate,
14117: Eng_Globals.Get_User_Id,
14118: Eng_Globals.Get_Login_id
14119: );
14113: null,
14114: sysdate,
14115: Eng_Globals.Get_User_Id,
14116: sysdate,
14117: Eng_Globals.Get_User_Id,
14118: Eng_Globals.Get_Login_id
14119: );
14120:
14121:
14114: sysdate,
14115: Eng_Globals.Get_User_Id,
14116: sysdate,
14117: Eng_Globals.Get_User_Id,
14118: Eng_Globals.Get_Login_id
14119: );
14120:
14121:
14122: EXCEPTION
14260:
14261: BEGIN
14262:
14263: -- Load entity and record-specific details into system_information record
14264: l_ECO_Unexp_rec.organization_id := ENG_GLOBALS.Get_Org_Id;
14265: l_ECO_rec := p_ECO_rec;
14266: l_ECO_rec.transaction_type := UPPER(l_eco_rec.transaction_type);
14267:
14268: -- Process Flow Step 2: Check if record has not yet been processed
14291:
14292: -- Check if transaction_type is valid
14293: --
14294:
14295: ENG_GLOBALS.Transaction_Type_Validity
14296: ( p_transaction_type => l_ECO_rec.transaction_type
14297: , p_entity => 'ECO_Header'
14298: , p_entity_id => l_ECO_rec.ECO_Name
14299: , x_valid => l_valid
14508: -- Process Flow step 7: Attribute Validation for Create and Update
14509: --
14510:
14511: IF l_ECO_rec.transaction_type IN
14512: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_CREATE)
14513: THEN
14514: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute validation'); END IF;
14515:
14516: ENG_Validate_ECO.Check_Attributes
14575: END IF;
14576: END IF;
14577:
14578: IF l_ECO_Rec.Transaction_Type IN
14579: (ENG_GLOBALS.G_OPR_UPDATE, ENG_GLOBALS.G_OPR_DELETE)
14580: THEN
14581:
14582: -- Process flow step 8 - Populate NULL columns for Update and
14583: -- Delete.
14591: , x_ECO_rec => l_ECO_Rec
14592: , x_Unexp_ECO_rec => l_ECO_Unexp_Rec
14593: );
14594:
14595: ELSIF l_ECO_Rec.Transaction_Type = ENG_GLOBALS.G_OPR_CREATE THEN
14596:
14597: -- Process Flow step 9: Default missing values for Operation CREATE
14598:
14599: IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('Attribute Defaulting'); END IF;
14929:
14930: l_profile_exist := FND_PROFILE.DEFINED ( 'EGO_ITEM_RESTRICT_INV_ACTIONS' );
14931:
14932: if l_return_status ='S'and l_ECO_rec.plm_or_erp_change='PLM' and
14933: l_ECO_rec.transaction_type = Eng_Globals.G_OPR_CREATE then
14934:
14935: -- if l_profile_exist = TRUE then
14936: /* The procedure first explodes and inserts the Statuses for
14937: the given Type, Routes for each Status, Steps for each Route,
14936: /* The procedure first explodes and inserts the Statuses for
14937: the given Type, Routes for each Status, Steps for each Route,
14938: People for each Step, and Persons for each Group and Role. */
14939:
14940: l_user_id := Eng_Globals.Get_User_Id;
14941: l_login_id := Eng_Globals.Get_Login_Id;
14942: l_request_id := ENG_GLOBALS.Get_request_id;
14943: l_prog_appid := ENG_GLOBALS.Get_prog_appid;
14944: l_prog_id := ENG_GLOBALS.Get_prog_id;
14937: the given Type, Routes for each Status, Steps for each Route,
14938: People for each Step, and Persons for each Group and Role. */
14939:
14940: l_user_id := Eng_Globals.Get_User_Id;
14941: l_login_id := Eng_Globals.Get_Login_Id;
14942: l_request_id := ENG_GLOBALS.Get_request_id;
14943: l_prog_appid := ENG_GLOBALS.Get_prog_appid;
14944: l_prog_id := ENG_GLOBALS.Get_prog_id;
14945:
14938: People for each Step, and Persons for each Group and Role. */
14939:
14940: l_user_id := Eng_Globals.Get_User_Id;
14941: l_login_id := Eng_Globals.Get_Login_Id;
14942: l_request_id := ENG_GLOBALS.Get_request_id;
14943: l_prog_appid := ENG_GLOBALS.Get_prog_appid;
14944: l_prog_id := ENG_GLOBALS.Get_prog_id;
14945:
14946: /*
14939:
14940: l_user_id := Eng_Globals.Get_User_Id;
14941: l_login_id := Eng_Globals.Get_Login_Id;
14942: l_request_id := ENG_GLOBALS.Get_request_id;
14943: l_prog_appid := ENG_GLOBALS.Get_prog_appid;
14944: l_prog_id := ENG_GLOBALS.Get_prog_id;
14945:
14946: /*
14947: --subjects handling
14940: l_user_id := Eng_Globals.Get_User_Id;
14941: l_login_id := Eng_Globals.Get_Login_Id;
14942: l_request_id := ENG_GLOBALS.Get_request_id;
14943: l_prog_appid := ENG_GLOBALS.Get_prog_appid;
14944: l_prog_id := ENG_GLOBALS.Get_prog_id;
14945:
14946: /*
14947: --subjects handling
14948:
15645:
15646: PROCEDURE Process_Eco
15647: ( p_api_version_number IN NUMBER
15648: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
15649: , p_control_rec IN ENG_GLOBALS.Control_Rec_Type :=
15650: ENG_GLOBALS.G_MISS_CONTROL_REC
15651: , x_return_status OUT NOCOPY VARCHAR2
15652: , x_msg_count OUT NOCOPY NUMBER
15653: , p_ECO_rec IN ENG_Eco_PUB.Eco_Rec_Type :=
15646: PROCEDURE Process_Eco
15647: ( p_api_version_number IN NUMBER
15648: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
15649: , p_control_rec IN ENG_GLOBALS.Control_Rec_Type :=
15650: ENG_GLOBALS.G_MISS_CONTROL_REC
15651: , x_return_status OUT NOCOPY VARCHAR2
15652: , x_msg_count OUT NOCOPY NUMBER
15653: , p_ECO_rec IN ENG_Eco_PUB.Eco_Rec_Type :=
15654: ENG_Eco_PUB.G_MISS_ECO_REC
15693: l_bo_return_status VARCHAR2(1);
15694:
15695: l_organization_id NUMBER;
15696:
15697: l_control_rec ENG_GLOBALS.Control_Rec_Type;
15698:
15699: l_ECO_rec ENG_Eco_PUB.Eco_Rec_Type := p_ECO_rec;
15700: l_eco_revision_rec ENG_Eco_PUB.Eco_Revision_Rec_Type;
15701: l_eco_revision_tbl ENG_Eco_PUB.Eco_Revision_Tbl_Type;
15785: -- Load environment information into the SYSTEM_INFORMATION record
15786: -- (USER_ID, LOGIN_ID, PROG_APPID, PROG_ID)
15787:
15788:
15789: ENG_GLOBALS.Init_System_Info_Rec
15790: ( x_mesg_token_tbl => l_mesg_token_tbl
15791: , x_return_status => l_return_status
15792: );
15793:
15798: */
15799: IF PJM_UNIT_EFF.Enabled = 'Y'
15800: THEN
15801: BOM_Globals.Set_Unit_Effectivity (TRUE);
15802: ENG_Globals.Set_Unit_Effectivity (TRUE);
15803: ELSE
15804: BOM_Globals.Set_Unit_Effectivity (FALSE);
15805: ENG_Globals.Set_Unit_Effectivity (FALSE);
15806: END IF;
15801: BOM_Globals.Set_Unit_Effectivity (TRUE);
15802: ENG_Globals.Set_Unit_Effectivity (TRUE);
15803: ELSE
15804: BOM_Globals.Set_Unit_Effectivity (FALSE);
15805: ENG_Globals.Set_Unit_Effectivity (FALSE);
15806: END IF;
15807:
15808: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
15809: THEN
16256: END IF;
16257:
16258: -- Reset system_information business object flags
16259:
16260: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16261: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16257:
16258: -- Reset system_information business object flags
16259:
16260: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16261: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16258: -- Reset system_information business object flags
16259:
16260: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16261: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16266: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16259:
16260: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16261: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16266: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16267: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16260: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16261: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16266: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16267: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16268:
16261: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16266: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16267: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16268:
16269: -- Find the Organization ID corresponding to the Organization Code
16262: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16266: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16267: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16268:
16269: -- Find the Organization ID corresponding to the Organization Code
16270: l_organization_id := eng_val_to_id.organization
16263: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16264: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16265: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16266: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16267: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16268:
16269: -- Find the Organization ID corresponding to the Organization Code
16270: l_organization_id := eng_val_to_id.organization
16271: ( l_eco_rec.organization_code, l_err_text);
16278:
16279: --Bug No: 3737881
16280: --Commenting out the following code as no 'Commit' should
16281: --be done in this API.
16282: --IF ENG_GLOBALS.G_ENG_LAUNCH_IMPORT = 1 THEN
16283: -- Error_Handler.Write_To_ConcurrentLog;
16284: -- Error_Handler.WRITE_TO_INTERFACETABLE;
16285: -- COMMIT;
16286: --END IF;
16328: x_change_line_tbl := l_change_line_tbl ; -- Eng Change
16329:
16330: -- Reset system_information business object flags
16331:
16332: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16333: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16329:
16330: -- Reset system_information business object flags
16331:
16332: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16333: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16330: -- Reset system_information business object flags
16331:
16332: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16333: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16338: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16331:
16332: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16333: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16338: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16339: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16332: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16333: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16338: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16339: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16340:
16333: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16338: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16339: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16340:
16341: WHEN G_EXC_QUIT_IMPORT THEN
16334: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16338: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16339: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16340:
16341: WHEN G_EXC_QUIT_IMPORT THEN
16342:
16335: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16336: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16337: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16338: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16339: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16340:
16341: WHEN G_EXC_QUIT_IMPORT THEN
16342:
16343: x_return_status := l_return_status;
16353: x_change_line_tbl := l_change_line_tbl ; -- Eng Change
16354:
16355: -- Reset system_information business object flags
16356:
16357: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16358: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16354:
16355: -- Reset system_information business object flags
16356:
16357: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16358: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16355: -- Reset system_information business object flags
16356:
16357: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16358: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16363: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16356:
16357: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16358: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16363: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16364: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16357: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16358: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16363: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16364: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16365:
16358: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16363: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16364: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16365:
16366: WHEN OTHERS THEN
16359: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16363: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16364: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16365:
16366: WHEN OTHERS THEN
16367:
16360: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16361: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16362: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16363: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16364: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16365:
16366: WHEN OTHERS THEN
16367:
16368: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
16418: x_change_line_tbl := l_change_line_tbl ; -- Eng Change
16419:
16420: -- Reset system_information business object flags
16421:
16422: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16423: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16419:
16420: -- Reset system_information business object flags
16421:
16422: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16423: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16420: -- Reset system_information business object flags
16421:
16422: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16423: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16428: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16421:
16422: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16423: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16428: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16429: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16422: ENG_GLOBALS.Set_ECO_Impl( p_eco_impl => NULL);
16423: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16428: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16429: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16430:
16423: ENG_GLOBALS.Set_ECO_Cancl( p_eco_cancl => NULL);
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16428: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16429: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16430:
16431: END Process_Eco;
16424: ENG_GLOBALS.Set_Wkfl_Process( p_wkfl_process=> NULL);
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16428: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16429: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16430:
16431: END Process_Eco;
16432:
16425: ENG_GLOBALS.Set_ECO_Access( p_eco_access => NULL);
16426: ENG_GLOBALS.Set_STD_Item_Access( p_std_item_access => NULL);
16427: ENG_GLOBALS.Set_MDL_Item_Access( p_mdl_item_access => NULL);
16428: ENG_GLOBALS.Set_PLN_Item_Access( p_pln_item_access => NULL);
16429: ENG_GLOBALS.Set_OC_Item_Access( p_oc_item_access => NULL);
16430:
16431: END Process_Eco;
16432:
16433: -- Start of Comments
16510: SAVEPOINT Lock_Eco_PVT;
16511:
16512: -- Lock ECO
16513:
16514: IF p_ECO_rec.operation = ENG_GLOBALS.G_OPR_LOCK THEN
16515:
16516: ENG_Eco_Util.Lock_Row
16517: ( p_ECO_rec => p_ECO_rec
16518: , x_ECO_rec => x_ECO_rec
16532: -- Lock eco_revision
16533:
16534: FOR I IN 1..p_eco_revision_tbl.COUNT LOOP
16535:
16536: IF p_eco_revision_tbl(I).operation = ENG_GLOBALS.G_OPR_LOCK THEN
16537:
16538: ENG_Eco_Revision_Util.Lock_Row
16539: ( p_eco_revision_rec => p_eco_revision_tbl(I)
16540: , x_eco_revision_rec => l_eco_revision_rec
16557: -- Lock revised_item
16558:
16559: FOR I IN 1..p_revised_item_tbl.COUNT LOOP
16560:
16561: IF p_revised_item_tbl(I).operation = ENG_GLOBALS.G_OPR_LOCK THEN
16562:
16563: ENG_Revised_Item_Util.Lock_Row
16564: ( p_revised_item_rec => p_revised_item_tbl(I)
16565: , x_revised_item_rec => l_revised_item_rec
16582: -- Lock rev_component
16583:
16584: FOR I IN 1..p_rev_component_tbl.COUNT LOOP
16585:
16586: IF p_rev_component_tbl(I).operation = ENG_GLOBALS.G_OPR_LOCK THEN
16587:
16588: Bom_Bom_Component_Util.Lock_Row
16589: ( p_rev_component_rec => p_rev_component_tbl(I)
16590: , x_rev_component_rec => l_rev_component_rec
16607: -- Lock ref_designator
16608:
16609: FOR I IN 1..p_ref_designator_tbl.COUNT LOOP
16610:
16611: IF p_ref_designator_tbl(I).operation = ENG_GLOBALS.G_OPR_LOCK THEN
16612:
16613: Bom_Ref_Designator_Util.Lock_Row
16614: ( p_ref_designator_rec => p_ref_designator_tbl(I)
16615: , x_ref_designator_rec => l_ref_designator_rec
16632: -- Lock sub_component
16633:
16634: FOR I IN 1..p_sub_component_tbl.COUNT LOOP
16635:
16636: IF p_sub_component_tbl(I).operation = ENG_GLOBALS.G_OPR_LOCK THEN
16637:
16638: ENG_Sub_Component_Util.Lock_Row
16639: ( p_sub_component_rec => p_sub_component_tbl(I)
16640: , x_sub_component_rec => l_sub_component_rec