The following lines contain the word 'select', 'insert', 'update' or 'delete':
* Procedure : Update_Row
* Parameters IN : Reference Designator Record as given by the User
* Reference Designator Unexposed Record
* Parameters OUT: Return_Status - Indicating success or faliure
* Mesg_Token_Tbl - Filled with any errors or warnings
* Purpose : Will update the Reference Designator record and
* if unable to update then return with a status
* and Error Message table filled with the message
*
********************************************************************/
PROCEDURE Update_Row
( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
, p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
, x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
, x_Return_Status IN OUT NOCOPY VARCHAR2
)
IS
l_return_status varchar2(80);
UPDATE BOM_REFERENCE_DESIGNATORS
SET COMPONENT_REFERENCE_DESIGNATOR =
DECODE(p_ref_designator_rec.new_reference_designator,
NULL,p_ref_designator_rec.Reference_Designator_Name,
FND_API.G_MISS_CHAR,
p_ref_designator_rec.Reference_Designator_Name,
p_ref_designator_rec.new_reference_designator
)
, LAST_UPDATE_DATE = SYSDATE
, LAST_UPDATED_BY = Bom_Globals.Get_User_Id
, LAST_UPDATE_LOGIN = Bom_Globals.Get_User_Id
, REF_DESIGNATOR_COMMENT =
DECODE( p_ref_designator_rec.ref_designator_comment
, FND_API.G_MISS_CHAR
, NULL
, p_ref_designator_rec.ref_designator_comment
)
, ATTRIBUTE_CATEGORY = p_ref_designator_rec.attribute_category
, ATTRIBUTE1 = p_ref_designator_rec.attribute1
, ATTRIBUTE2 = p_ref_designator_rec.attribute2
, ATTRIBUTE3 = p_ref_designator_rec.attribute3
, ATTRIBUTE4 = p_ref_designator_rec.attribute4
, ATTRIBUTE5 = p_ref_designator_rec.attribute5
, ATTRIBUTE6 = p_ref_designator_rec.attribute6
, ATTRIBUTE7 = p_ref_designator_rec.attribute7
, ATTRIBUTE8 = p_ref_designator_rec.attribute8
, ATTRIBUTE9 = p_ref_designator_rec.attribute9
, ATTRIBUTE10 = p_ref_designator_rec.attribute10
, ATTRIBUTE11 = p_ref_designator_rec.attribute11
, ATTRIBUTE12 = p_ref_designator_rec.attribute12
, ATTRIBUTE13 = p_ref_designator_rec.attribute13
, ATTRIBUTE14 = p_ref_designator_rec.attribute14
, ATTRIBUTE15 = p_ref_designator_rec.attribute15
, Original_System_Reference =
p_ref_designator_rec.Original_System_Reference
, REQUEST_ID = Fnd_Global.Conc_Request_Id
, PROGRAM_ID = Fnd_Global.Conc_Program_Id
, PROGRAM_APPLICATION_ID = Fnd_Global.Prog_Appl_Id
, PROGRAM_UPDATE_DATE = SYSDATE
WHERE COMPONENT_REFERENCE_DESIGNATOR =
p_ref_designator_rec.Reference_Designator_Name
AND COMPONENT_SEQUENCE_ID =
p_Ref_Desg_Unexp_Rec.component_sequence_id
AND ( ( l_BO_Id = Bom_Globals.G_ECO_BO AND
ACD_TYPE = p_Ref_Designator_Rec.acd_type
) OR
( l_BO_Id = Bom_Globals.G_BOM_BO AND
(acd_type IS NULL or acd_type = 1)
/* Bug 5726557; The code is modified to modify the refernce designators
BOMPCMBM.Update_Related_Ref_Desg(p_component_sequence_id => p_Ref_Desg_Unexp_Rec.component_sequence_id
, p_old_ref_desg => p_ref_designator_rec.Reference_Designator_Name
, p_new_ref_desg => nvl(p_ref_designator_rec.new_reference_designator,
p_ref_designator_rec.Reference_Designator_Name)
, p_acd_type => p_Ref_Designator_Rec.acd_type
, x_Mesg_Token_Tbl => x_Mesg_Token_Tbl
, x_Return_Status => x_Return_Status);
, p_Message_Text => 'ERROR in Update Row (Ref Desgs)' ||
substr(SQLERRM, 1, 100) || ' ' ||
to_char(SQLCODE)
, p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
, x_Mesg_Token_Tbl => x_Mesg_Token_Tbl);
END Update_Row;
* Procedure : Insert_Row
* Parameters IN : Reference Designator Record as given by the User
* Reference Designator Unexposed Record
* Parameters OUT: Return_Status - Indicating success or faliure
* Mesg_Token_Tbl - Filled with any errors or warnings
* Purpose : Insert Reference Designator record and if unable to
* to insert then return with an error_status and
* Error message filled in the Message Token Table.
*
********************************************************************/
PROCEDURE Insert_Row
( p_ref_designator_rec IN Bom_Bo_Pub.Ref_Designator_Rec_Type
, p_Ref_Desg_Unexp_Rec IN Bom_Bo_Pub.Ref_Desg_Unexposed_Rec_Type
, x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
, x_Return_Status IN OUT NOCOPY VARCHAR2
)
IS
l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
INSERT INTO BOM_REFERENCE_DESIGNATORS
( COMPONENT_REFERENCE_DESIGNATOR
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, CREATION_DATE
, CREATED_BY
, LAST_UPDATE_LOGIN
, REF_DESIGNATOR_COMMENT
, CHANGE_NOTICE
, COMPONENT_SEQUENCE_ID
, ACD_TYPE
, REQUEST_ID
, PROGRAM_APPLICATION_ID
, PROGRAM_ID
, PROGRAM_UPDATE_DATE
, ATTRIBUTE_CATEGORY
, ATTRIBUTE1
, ATTRIBUTE2
, ATTRIBUTE3
, ATTRIBUTE4
, ATTRIBUTE5
, ATTRIBUTE6
, ATTRIBUTE7
, ATTRIBUTE8
, ATTRIBUTE9
, ATTRIBUTE10
, ATTRIBUTE11
, ATTRIBUTE12
, ATTRIBUTE13
, ATTRIBUTE14
, ATTRIBUTE15
, Original_System_Reference
)
VALUES
( p_ref_designator_rec.Reference_Designator_Name
, SYSDATE
, Bom_Globals.Get_User_Id
, SYSDATE
, Bom_Globals.Get_User_Id
, Bom_Globals.Get_User_Id
, DECODE( p_ref_designator_rec.ref_designator_comment
, FND_API.G_MISS_CHAR
, NULL
, p_ref_designator_rec.ref_designator_comment )
, p_ref_designator_rec.Eco_Name
, p_Ref_Desg_Unexp_Rec.component_sequence_id
, p_ref_designator_rec.acd_type
, Fnd_Global.Conc_Request_Id /* Request Id */
, Bom_Globals.Get_Prog_AppId
, Bom_Globals.Get_Prog_Id
, SYSDATE
, p_ref_designator_rec.attribute_category
, p_ref_designator_rec.attribute1
, p_ref_designator_rec.attribute2
, p_ref_designator_rec.attribute3
, p_ref_designator_rec.attribute4
, p_ref_designator_rec.attribute5
, p_ref_designator_rec.attribute6
, p_ref_designator_rec.attribute7
, p_ref_designator_rec.attribute8
, p_ref_designator_rec.attribute9
, p_ref_designator_rec.attribute10
, p_ref_designator_rec.attribute11
, p_ref_designator_rec.attribute12
, p_ref_designator_rec.attribute13
, p_ref_designator_rec.attribute14
, p_ref_designator_rec.attribute15
, p_ref_designator_rec.Original_System_Reference
);
BOMPCMBM.Insert_Related_Ref_Desg(p_component_sequence_id => p_Ref_Desg_Unexp_Rec.component_sequence_id
, p_ref_desg => p_ref_designator_rec.Reference_Designator_Name
, x_Mesg_Token_Tbl => x_Mesg_Token_Tbl
, x_Return_Status => x_return_status);
, p_Message_Text => 'ERROR in Insert Row (Ref Desgs)' ||
substr(SQLERRM, 1, 100) || ' ' ||
to_char(SQLCODE)
, p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
, x_Mesg_Token_Tbl => x_Mesg_Token_Tbl
);
IF Bom_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug('ERROR in Insert Row (Ref Desgs)' || substr(SQLERRM, 1, 100) || ' ' || to_char(SQLCODE)); END IF;
END Insert_Row;
* Procedure : Delete_Row
* Parameters IN : Reference Designator Key
* Parameters OUT: Return_Status - Indicating success or faliure
* Mesg_Token_Tbl - Filled with any errors or warnings
* Purpose : Insert Reference Designator record and if unable to
* to insert then return with an error_status and
* Error message filled in the Message Token Table.
*
********************************************************************/
PROCEDURE Delete_Row
( p_ref_designator IN VARCHAR2
, p_component_sequence_id IN NUMBER
, p_acd_type IN NUMBER
, x_Mesg_Token_Tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
, x_Return_Status IN OUT NOCOPY VARCHAR2
)
IS
l_Mesg_Token_Tbl Error_Handler.Mesg_Token_Tbl_Type;
DELETE FROM BOM_REFERENCE_DESIGNATORS
WHERE COMPONENT_REFERENCE_DESIGNATOR = p_ref_designator
AND COMPONENT_SEQUENCE_ID = p_component_sequence_id
AND ( ( l_BO_Id = Bom_Globals.G_ECO_BO AND
ACD_TYPE = p_acd_type
) OR
( l_BO_Id = Bom_Globals.G_BOM_BO AND
acd_type IS NULL
)
);
BOMPCMBM.Delete_Related_Ref_Desg(p_src_comp_seq => p_component_sequence_id
, p_ref_desg => p_ref_designator
, x_return_status => x_return_status);
, p_Message_Text => 'ERROR in Delete Row (Ref Desgs)' ||
substr(SQLERRM, 1, 100) || ' ' ||
to_char(SQLCODE)
, p_Mesg_Token_Tbl => l_Mesg_Token_Tbl
, x_Mesg_Token_Tbl => x_Mesg_Token_Tbl
);
END Delete_Row;
SELECT COMPONENT_REFERENCE_DESIGNATOR
, REF_DESIGNATOR_COMMENT
, CHANGE_NOTICE
, COMPONENT_SEQUENCE_ID
, ACD_TYPE
, ATTRIBUTE_CATEGORY
, ATTRIBUTE1
, ATTRIBUTE2
, ATTRIBUTE3
, ATTRIBUTE4
, ATTRIBUTE5
, ATTRIBUTE6
, ATTRIBUTE7
, ATTRIBUTE8
, ATTRIBUTE9
, ATTRIBUTE10
, ATTRIBUTE11
, ATTRIBUTE12
, ATTRIBUTE13
, ATTRIBUTE14
, ATTRIBUTE15
INTO l_ref_designator_rec.Reference_Designator_Name
, l_ref_designator_rec.ref_designator_comment
, l_ref_designator_rec.Eco_Name
, l_Ref_Desg_Unexp_Rec.component_sequence_id
, l_ref_designator_rec.acd_type
, l_ref_designator_rec.attribute_category
, l_ref_designator_rec.attribute1
, l_ref_designator_rec.attribute2
, l_ref_designator_rec.attribute3
, l_ref_designator_rec.attribute4
, l_ref_designator_rec.attribute5
, l_ref_designator_rec.attribute6
, l_ref_designator_rec.attribute7
, l_ref_designator_rec.attribute8
, l_ref_designator_rec.attribute9
, l_ref_designator_rec.attribute10
, l_ref_designator_rec.attribute11
, l_ref_designator_rec.attribute12
, l_ref_designator_rec.attribute13
, l_ref_designator_rec.attribute14
, l_ref_designator_rec.attribute15
FROM BOM_REFERENCE_DESIGNATORS
WHERE COMPONENT_REFERENCE_DESIGNATOR = p_ref_designator
AND COMPONENT_SEQUENCE_ID = p_component_sequence_id
AND NVL(DECODE(ACD_TYPE, FND_API.G_MISS_NUM, null, acd_type), 1) =
NVL(DECODE(p_acd_type, FND_API.G_MISS_NUM, null, p_acd_type), 1)
/* Bug 5726557; The code is modified to modify the refernce designators
Insert_Row( p_ref_designator_rec =>
p_ref_designator_rec
, p_ref_desg_unexp_rec =>
p_ref_desg_unexp_rec
, x_mesg_token_tbl => l_mesg_token_tbl
, x_return_status => l_return_status
);
ELSIF p_ref_designator_rec.transaction_type = Bom_Globals.G_OPR_UPDATE
THEN
Update_Row( p_ref_designator_rec =>
p_ref_designator_rec
, p_ref_desg_unexp_rec =>
p_ref_desg_unexp_rec
, x_mesg_token_tbl =>
l_mesg_token_tbl
, x_return_status =>
l_return_status
);
ELSIF p_ref_designator_rec.transaction_type = Bom_Globals.G_OPR_DELETE
THEN
Delete_Row
( p_ref_designator =>
p_ref_designator_rec.reference_designator_name
, p_component_sequence_id =>
p_ref_desg_unexp_rec.component_sequence_id
, p_acd_type =>
p_ref_designator_rec.acd_type
, x_Mesg_Token_Tbl => l_mesg_token_tbl
, x_Return_Status => l_return_status
);