The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE Insert_Row (
X_ROWID IN OUT NOCOPY VARCHAR2,
X_CRITERIA_ID IN NUMBER,
X_RULE_DETAIL_ID IN NUMBER,
X_CRITERIA_PARAM_ID IN NUMBER,
X_CONDITION IN VARCHAR2,
X_PARAM_VALUE IN VARCHAR2,
X_CASE_SENSITIVE_FLAG IN VARCHAR2,
X_CREATED_BY_MODULE IN VARCHAR2
) IS
BEGIN
INSERT INTO FUN_RULE_CRITERIA (
CRITERIA_ID,
RULE_DETAIL_ID,
CRITERIA_PARAM_ID,
CONDITION,
PARAM_VALUE,
CASE_SENSITIVE_FLAG,
CREATED_BY,
CREATION_DATE,
LAST_UPDATE_LOGIN,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
OBJECT_VERSION_NUMBER,
CREATED_BY_MODULE
)
VALUES (
DECODE( X_CRITERIA_ID, NULL , FUN_RULE_CRITERIA_S.NEXTVAL , X_CRITERIA_ID),
DECODE( X_RULE_DETAIL_ID, FND_API.G_MISS_NUM, NULL, X_RULE_DETAIL_ID ),
DECODE( X_CRITERIA_PARAM_ID, FND_API.G_MISS_NUM, NULL, X_CRITERIA_PARAM_ID ),
DECODE( X_CONDITION, FND_API.G_MISS_CHAR, NULL, X_CONDITION ),
DECODE( X_PARAM_VALUE, FND_API.G_MISS_CHAR, NULL, X_PARAM_VALUE ),
DECODE( X_CASE_SENSITIVE_FLAG, FND_API.G_MISS_CHAR, NULL, X_CASE_SENSITIVE_FLAG ),
FUN_RULE_UTILITY_PKG.CREATED_BY,
FUN_RULE_UTILITY_PKG.CREATION_DATE,
FUN_RULE_UTILITY_PKG.LAST_UPDATE_LOGIN,
FUN_RULE_UTILITY_PKG.LAST_UPDATE_DATE,
FUN_RULE_UTILITY_PKG.LAST_UPDATED_BY,
1,
DECODE( X_CREATED_BY_MODULE, FND_API.G_MISS_CHAR, NULL, X_CREATED_BY_MODULE )
)RETURNING ROWID INTO X_ROWID;
END Insert_Row;
PROCEDURE Update_Row (
X_CRITERIA_ID IN NUMBER,
X_RULE_DETAIL_ID IN NUMBER,
X_CRITERIA_PARAM_ID IN NUMBER,
X_CONDITION IN VARCHAR2,
X_PARAM_VALUE IN VARCHAR2,
X_CASE_SENSITIVE_FLAG IN VARCHAR2,
X_CREATED_BY_MODULE IN VARCHAR2
) IS
BEGIN
UPDATE FUN_RULE_CRITERIA SET
CRITERIA_PARAM_ID = DECODE( X_CRITERIA_PARAM_ID, FND_API.G_MISS_CHAR, NULL, NULL,CRITERIA_PARAM_ID, X_CRITERIA_PARAM_ID ),
CONDITION = X_CONDITION,
--Param Value can be NULL, we should not overwrite the value with old value if its not null.
PARAM_VALUE = DECODE( X_PARAM_VALUE, FND_API.G_MISS_CHAR, NULL, X_PARAM_VALUE ),
CASE_SENSITIVE_FLAG = DECODE( X_CASE_SENSITIVE_FLAG, FND_API.G_MISS_CHAR, NULL, NULL,CASE_SENSITIVE_FLAG, X_CASE_SENSITIVE_FLAG ),
CREATED_BY = FUN_RULE_UTILITY_PKG.CREATED_BY,
CREATION_DATE = FUN_RULE_UTILITY_PKG.CREATION_DATE,
LAST_UPDATE_LOGIN = FUN_RULE_UTILITY_PKG.LAST_UPDATE_LOGIN,
LAST_UPDATE_DATE = FUN_RULE_UTILITY_PKG.LAST_UPDATE_DATE,
LAST_UPDATED_BY = FUN_RULE_UTILITY_PKG.LAST_UPDATED_BY,
OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
CREATED_BY_MODULE = DECODE( X_CREATED_BY_MODULE, FND_API.G_MISS_CHAR, NULL, NULL,CREATED_BY_MODULE, X_CREATED_BY_MODULE )
WHERE CRITERIA_ID = X_CRITERIA_ID;
END Update_Row;
SELECT OBJECT_VERSION_NUMBER FROM FUN_RULE_CRITERIA
WHERE CRITERIA_ID = X_CRITERIA_ID
FOR UPDATE NOWAIT;
FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
PROCEDURE Select_Row (
X_CRITERIA_ID IN OUT NOCOPY NUMBER,
X_RULE_DETAIL_ID IN OUT NOCOPY NUMBER,
X_CRITERIA_PARAM_ID OUT NOCOPY NUMBER,
X_CONDITION OUT NOCOPY VARCHAR2,
X_PARAM_VALUE OUT NOCOPY VARCHAR2,
X_CASE_SENSITIVE_FLAG OUT NOCOPY VARCHAR2,
X_CREATED_BY_MODULE OUT NOCOPY VARCHAR2
) IS
BEGIN
SELECT
NVL( CRITERIA_PARAM_ID, FND_API.G_MISS_NUM ),
NVL( CRITERIA_ID, FND_API.G_MISS_NUM ),
NVL( RULE_DETAIL_ID, FND_API.G_MISS_NUM ),
NVL( CONDITION, FND_API.G_MISS_CHAR ),
NVL( PARAM_VALUE, FND_API.G_MISS_CHAR ),
NVL( CASE_SENSITIVE_FLAG, FND_API.G_MISS_CHAR ),
NVL( CREATED_BY_MODULE, FND_API.G_MISS_CHAR )
INTO
X_CRITERIA_PARAM_ID,
X_CRITERIA_ID,
X_RULE_DETAIL_ID,
X_CONDITION,
X_PARAM_VALUE,
X_CASE_SENSITIVE_FLAG,
X_CREATED_BY_MODULE
FROM FUN_RULE_CRITERIA
WHERE CRITERIA_ID = X_CRITERIA_ID
AND ROWNUM = 1;
END Select_Row;
PROCEDURE Delete_Row (
X_CRITERIA_ID IN NUMBER
) IS
BEGIN
DELETE FUN_RULE_CRITERIA
WHERE CRITERIA_ID = X_CRITERIA_ID;
END Delete_Row;