The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE INSERT_ROW (
X_ROWID IN OUT NOCOPY VARCHAR2,
X_SPEC_ID IN OUT NOCOPY NUMBER,
X_SPEC_NAME IN VARCHAR2,
X_SPEC_VERS IN NUMBER,
X_INVENTORY_ITEM_ID IN NUMBER,
X_REVISION IN VARCHAR2,
X_GRADE_CODE IN VARCHAR2,
X_SPEC_STATUS IN NUMBER,
X_OVERLAY_IND IN VARCHAR2,
X_SPEC_TYPE IN VARCHAR2,
X_BASE_SPEC_ID IN NUMBER,
X_OWNER_ORGANIZATION_ID IN NUMBER,
X_OWNER_ID IN NUMBER,
X_SAMPLE_INV_TRANS_IND IN VARCHAR2,
X_DELETE_MARK IN NUMBER,
X_TEXT_CODE IN NUMBER,
X_ATTRIBUTE_CATEGORY IN VARCHAR2,
X_ATTRIBUTE1 IN VARCHAR2,
X_ATTRIBUTE2 IN VARCHAR2,
X_ATTRIBUTE3 IN VARCHAR2,
X_ATTRIBUTE4 IN VARCHAR2,
X_ATTRIBUTE5 IN VARCHAR2,
X_ATTRIBUTE6 IN VARCHAR2,
X_ATTRIBUTE7 IN VARCHAR2,
X_ATTRIBUTE8 IN VARCHAR2,
X_ATTRIBUTE9 IN VARCHAR2,
X_ATTRIBUTE10 IN VARCHAR2,
X_ATTRIBUTE11 IN VARCHAR2,
X_ATTRIBUTE12 IN VARCHAR2,
X_ATTRIBUTE13 IN VARCHAR2,
X_ATTRIBUTE14 IN VARCHAR2,
X_ATTRIBUTE15 IN VARCHAR2,
X_ATTRIBUTE16 IN VARCHAR2,
X_ATTRIBUTE17 IN VARCHAR2,
X_ATTRIBUTE18 IN VARCHAR2,
X_ATTRIBUTE19 IN VARCHAR2,
X_ATTRIBUTE20 IN VARCHAR2,
X_ATTRIBUTE21 IN VARCHAR2,
X_ATTRIBUTE22 IN VARCHAR2,
X_ATTRIBUTE23 IN VARCHAR2,
X_ATTRIBUTE24 IN VARCHAR2,
X_ATTRIBUTE25 IN VARCHAR2,
X_ATTRIBUTE26 IN VARCHAR2,
X_ATTRIBUTE27 IN VARCHAR2,
X_ATTRIBUTE28 IN VARCHAR2,
X_ATTRIBUTE29 IN VARCHAR2,
X_ATTRIBUTE30 IN VARCHAR2,
X_SPEC_DESC IN VARCHAR2,
X_CREATION_DATE IN DATE,
X_CREATED_BY IN NUMBER,
X_LAST_UPDATE_DATE IN DATE,
X_LAST_UPDATED_BY IN NUMBER,
X_LAST_UPDATE_LOGIN IN NUMBER
) IS
CURSOR C IS SELECT ROWID FROM GMD_SPECIFICATIONS_B
WHERE SPEC_ID = X_SPEC_ID
;
SELECT GMD_QC_SPEC_ID_S.NEXTVAL INTO X_SPEC_ID FROM DUAL;
INSERT INTO GMD_SPECIFICATIONS_B (
SPEC_ID,
SPEC_NAME,
SPEC_VERS,
INVENTORY_ITEM_ID,
REVISION,
GRADE_CODE,
SPEC_STATUS,
OVERLAY_IND,
SPEC_TYPE,
BASE_SPEC_ID,
OWNER_ORGANIZATION_ID,
OWNER_ID,
SAMPLE_INV_TRANS_IND,
DELETE_MARK,
TEXT_CODE,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
ATTRIBUTE16,
ATTRIBUTE17,
ATTRIBUTE18,
ATTRIBUTE19,
ATTRIBUTE20,
ATTRIBUTE21,
ATTRIBUTE22,
ATTRIBUTE23,
ATTRIBUTE24,
ATTRIBUTE25,
ATTRIBUTE26,
ATTRIBUTE27,
ATTRIBUTE28,
ATTRIBUTE29,
ATTRIBUTE30,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN
) VALUES (
X_SPEC_ID,
X_SPEC_NAME,
X_SPEC_VERS,
X_INVENTORY_ITEM_ID,
X_REVISION,
X_GRADE_CODE,
X_SPEC_STATUS,
X_OVERLAY_IND,
X_SPEC_TYPE,
X_BASE_SPEC_ID,
X_OWNER_ORGANIZATION_ID,
X_OWNER_ID,
X_SAMPLE_INV_TRANS_IND,
X_DELETE_MARK,
X_TEXT_CODE,
X_ATTRIBUTE_CATEGORY,
X_ATTRIBUTE1,
X_ATTRIBUTE2,
X_ATTRIBUTE3,
X_ATTRIBUTE4,
X_ATTRIBUTE5,
X_ATTRIBUTE6,
X_ATTRIBUTE7,
X_ATTRIBUTE8,
X_ATTRIBUTE9,
X_ATTRIBUTE10,
X_ATTRIBUTE11,
X_ATTRIBUTE12,
X_ATTRIBUTE13,
X_ATTRIBUTE14,
X_ATTRIBUTE15,
X_ATTRIBUTE16,
X_ATTRIBUTE17,
X_ATTRIBUTE18,
X_ATTRIBUTE19,
X_ATTRIBUTE20,
X_ATTRIBUTE21,
X_ATTRIBUTE22,
X_ATTRIBUTE23,
X_ATTRIBUTE24,
X_ATTRIBUTE25,
X_ATTRIBUTE26,
X_ATTRIBUTE27,
X_ATTRIBUTE28,
X_ATTRIBUTE29,
X_ATTRIBUTE30,
NVL(X_CREATION_DATE,SYSDATE),
NVL(X_CREATED_BY,FND_GLOBAL.USER_ID),
NVL(X_LAST_UPDATE_DATE,SYSDATE),
NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID)
);
INSERT INTO GMD_SPECIFICATIONS_TL (
SPEC_ID,
SPEC_DESC,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
LANGUAGE,
SOURCE_LANG
) SELECT
X_SPEC_ID,
X_SPEC_DESC,
NVL(X_CREATION_DATE,SYSDATE),
NVL(X_CREATED_BY,FND_GLOBAL.USER_ID),
NVL(X_LAST_UPDATE_DATE,SYSDATE),
NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
L.LANGUAGE_CODE,
USERENV('LANG')
FROM FND_LANGUAGES L
WHERE L.INSTALLED_FLAG IN ('I', 'B')
AND NOT EXISTS
(SELECT NULL
FROM GMD_SPECIFICATIONS_TL T
WHERE T.SPEC_ID = X_SPEC_ID
AND T.LANGUAGE = L.LANGUAGE_CODE);
END INSERT_ROW;
X_DELETE_MARK IN NUMBER,
X_TEXT_CODE IN NUMBER,
X_ATTRIBUTE_CATEGORY IN VARCHAR2,
X_ATTRIBUTE1 IN VARCHAR2,
X_ATTRIBUTE2 IN VARCHAR2,
X_ATTRIBUTE3 IN VARCHAR2,
X_ATTRIBUTE4 IN VARCHAR2,
X_ATTRIBUTE5 IN VARCHAR2,
X_ATTRIBUTE6 IN VARCHAR2,
X_ATTRIBUTE7 IN VARCHAR2,
X_ATTRIBUTE8 IN VARCHAR2,
X_ATTRIBUTE9 IN VARCHAR2,
X_ATTRIBUTE10 IN VARCHAR2,
X_ATTRIBUTE11 IN VARCHAR2,
X_ATTRIBUTE12 IN VARCHAR2,
X_ATTRIBUTE13 IN VARCHAR2,
X_ATTRIBUTE14 IN VARCHAR2,
X_ATTRIBUTE15 IN VARCHAR2,
X_ATTRIBUTE16 IN VARCHAR2,
X_ATTRIBUTE17 IN VARCHAR2,
X_ATTRIBUTE18 IN VARCHAR2,
X_ATTRIBUTE19 IN VARCHAR2,
X_ATTRIBUTE20 IN VARCHAR2,
X_ATTRIBUTE21 IN VARCHAR2,
X_ATTRIBUTE22 IN VARCHAR2,
X_ATTRIBUTE23 IN VARCHAR2,
X_ATTRIBUTE24 IN VARCHAR2,
X_ATTRIBUTE25 IN VARCHAR2,
X_ATTRIBUTE26 IN VARCHAR2,
X_ATTRIBUTE27 IN VARCHAR2,
X_ATTRIBUTE28 IN VARCHAR2,
X_ATTRIBUTE29 IN VARCHAR2,
X_ATTRIBUTE30 IN VARCHAR2,
X_SPEC_DESC IN VARCHAR2
) IS
CURSOR c IS SELECT
SPEC_NAME,
SPEC_VERS,
INVENTORY_ITEM_ID,
REVISION,
GRADE_CODE,
SPEC_STATUS,
OVERLAY_IND,
SPEC_TYPE,
BASE_SPEC_ID,
OWNER_ORGANIZATION_ID,
OWNER_ID,
SAMPLE_INV_TRANS_IND,
DELETE_MARK,
TEXT_CODE,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
ATTRIBUTE16,
ATTRIBUTE17,
ATTRIBUTE18,
ATTRIBUTE19,
ATTRIBUTE20,
ATTRIBUTE21,
ATTRIBUTE22,
ATTRIBUTE23,
ATTRIBUTE24,
ATTRIBUTE25,
ATTRIBUTE26,
ATTRIBUTE27,
ATTRIBUTE28,
ATTRIBUTE29,
ATTRIBUTE30
FROM GMD_SPECIFICATIONS_B
WHERE SPEC_ID = X_SPEC_ID
FOR UPDATE OF SPEC_ID NOWAIT;
CURSOR c1 IS SELECT
SPEC_DESC,
DECODE(LANGUAGE, USERENV('LANG'), 'Y', 'N') BASELANG
FROM GMD_SPECIFICATIONS_TL
WHERE SPEC_ID = X_SPEC_ID
AND USERENV('LANG') IN (LANGUAGE, SOURCE_LANG)
FOR UPDATE OF SPEC_ID NOWAIT;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
AND (recinfo.DELETE_MARK = X_DELETE_MARK)
AND ((recinfo.TEXT_CODE = X_TEXT_CODE)
OR ((recinfo.TEXT_CODE IS NULL) AND (X_TEXT_CODE IS NULL)))
AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
OR ((recinfo.ATTRIBUTE_CATEGORY IS NULL) AND (X_ATTRIBUTE_CATEGORY IS NULL)))
AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
OR ((recinfo.ATTRIBUTE1 IS NULL) AND (X_ATTRIBUTE1 IS NULL)))
AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
OR ((recinfo.ATTRIBUTE2 IS NULL) AND (X_ATTRIBUTE2 IS NULL)))
AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
OR ((recinfo.ATTRIBUTE3 IS NULL) AND (X_ATTRIBUTE3 IS NULL)))
AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
OR ((recinfo.ATTRIBUTE4 IS NULL) AND (X_ATTRIBUTE4 IS NULL)))
AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
OR ((recinfo.ATTRIBUTE5 IS NULL) AND (X_ATTRIBUTE5 IS NULL)))
AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
OR ((recinfo.ATTRIBUTE6 IS NULL) AND (X_ATTRIBUTE6 IS NULL)))
AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
OR ((recinfo.ATTRIBUTE7 IS NULL) AND (X_ATTRIBUTE7 IS NULL)))
AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
OR ((recinfo.ATTRIBUTE8 IS NULL) AND (X_ATTRIBUTE8 IS NULL)))
AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
OR ((recinfo.ATTRIBUTE9 IS NULL) AND (X_ATTRIBUTE9 IS NULL)))
AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
OR ((recinfo.ATTRIBUTE10 IS NULL) AND (X_ATTRIBUTE10 IS NULL)))
AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
OR ((recinfo.ATTRIBUTE11 IS NULL) AND (X_ATTRIBUTE11 IS NULL)))
AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
OR ((recinfo.ATTRIBUTE12 IS NULL) AND (X_ATTRIBUTE12 IS NULL)))
AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
OR ((recinfo.ATTRIBUTE13 IS NULL) AND (X_ATTRIBUTE13 IS NULL)))
AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
OR ((recinfo.ATTRIBUTE14 IS NULL) AND (X_ATTRIBUTE14 IS NULL)))
AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
OR ((recinfo.ATTRIBUTE15 IS NULL) AND (X_ATTRIBUTE15 IS NULL)))
AND ((recinfo.ATTRIBUTE16 = X_ATTRIBUTE16)
OR ((recinfo.ATTRIBUTE16 IS NULL) AND (X_ATTRIBUTE16 IS NULL)))
AND ((recinfo.ATTRIBUTE17 = X_ATTRIBUTE17)
OR ((recinfo.ATTRIBUTE17 IS NULL) AND (X_ATTRIBUTE17 IS NULL)))
AND ((recinfo.ATTRIBUTE18 = X_ATTRIBUTE18)
OR ((recinfo.ATTRIBUTE18 IS NULL) AND (X_ATTRIBUTE18 IS NULL)))
AND ((recinfo.ATTRIBUTE19 = X_ATTRIBUTE19)
OR ((recinfo.ATTRIBUTE19 IS NULL) AND (X_ATTRIBUTE19 IS NULL)))
AND ((recinfo.ATTRIBUTE20 = X_ATTRIBUTE20)
OR ((recinfo.ATTRIBUTE20 IS NULL) AND (X_ATTRIBUTE20 IS NULL)))
AND ((recinfo.ATTRIBUTE21 = X_ATTRIBUTE21)
OR ((recinfo.ATTRIBUTE21 IS NULL) AND (X_ATTRIBUTE21 IS NULL)))
AND ((recinfo.ATTRIBUTE22 = X_ATTRIBUTE22)
OR ((recinfo.ATTRIBUTE22 IS NULL) AND (X_ATTRIBUTE22 IS NULL)))
AND ((recinfo.ATTRIBUTE23 = X_ATTRIBUTE23)
OR ((recinfo.ATTRIBUTE23 IS NULL) AND (X_ATTRIBUTE23 IS NULL)))
AND ((recinfo.ATTRIBUTE24 = X_ATTRIBUTE24)
OR ((recinfo.ATTRIBUTE24 IS NULL) AND (X_ATTRIBUTE24 IS NULL)))
AND ((recinfo.ATTRIBUTE25 = X_ATTRIBUTE25)
OR ((recinfo.ATTRIBUTE25 IS NULL) AND (X_ATTRIBUTE25 IS NULL)))
AND ((recinfo.ATTRIBUTE26 = X_ATTRIBUTE26)
OR ((recinfo.ATTRIBUTE26 IS NULL) AND (X_ATTRIBUTE26 IS NULL)))
AND ((recinfo.ATTRIBUTE27 = X_ATTRIBUTE27)
OR ((recinfo.ATTRIBUTE27 IS NULL) AND (X_ATTRIBUTE27 IS NULL)))
AND ((recinfo.ATTRIBUTE28 = X_ATTRIBUTE28)
OR ((recinfo.ATTRIBUTE28 IS NULL) AND (X_ATTRIBUTE28 IS NULL)))
AND ((recinfo.ATTRIBUTE29 = X_ATTRIBUTE29)
OR ((recinfo.ATTRIBUTE29 IS NULL) AND (X_ATTRIBUTE29 IS NULL)))
AND ((recinfo.ATTRIBUTE30 = X_ATTRIBUTE30)
OR ((recinfo.ATTRIBUTE30 IS NULL) AND (X_ATTRIBUTE30 IS NULL)))
) THEN
NULL;
PROCEDURE UPDATE_ROW (
X_SPEC_ID IN NUMBER,
X_SPEC_NAME IN VARCHAR2,
X_SPEC_VERS IN NUMBER,
X_INVENTORY_ITEM_ID IN NUMBER,
X_REVISION VARCHAR2,
X_GRADE_CODE IN VARCHAR2,
X_SPEC_STATUS IN NUMBER,
X_OVERLAY_IND IN VARCHAR2,
X_SPEC_TYPE IN VARCHAR2,
X_BASE_SPEC_ID IN NUMBER,
X_OWNER_ORGANIZATION_ID IN VARCHAR2,
X_OWNER_ID IN NUMBER,
X_SAMPLE_INV_TRANS_IND IN VARCHAR2,
X_DELETE_MARK IN NUMBER,
X_TEXT_CODE IN NUMBER,
X_ATTRIBUTE_CATEGORY IN VARCHAR2,
X_ATTRIBUTE1 IN VARCHAR2,
X_ATTRIBUTE2 IN VARCHAR2,
X_ATTRIBUTE3 IN VARCHAR2,
X_ATTRIBUTE4 IN VARCHAR2,
X_ATTRIBUTE5 IN VARCHAR2,
X_ATTRIBUTE6 IN VARCHAR2,
X_ATTRIBUTE7 IN VARCHAR2,
X_ATTRIBUTE8 IN VARCHAR2,
X_ATTRIBUTE9 IN VARCHAR2,
X_ATTRIBUTE10 IN VARCHAR2,
X_ATTRIBUTE11 IN VARCHAR2,
X_ATTRIBUTE12 IN VARCHAR2,
X_ATTRIBUTE13 IN VARCHAR2,
X_ATTRIBUTE14 IN VARCHAR2,
X_ATTRIBUTE15 IN VARCHAR2,
X_ATTRIBUTE16 IN VARCHAR2,
X_ATTRIBUTE17 IN VARCHAR2,
X_ATTRIBUTE18 IN VARCHAR2,
X_ATTRIBUTE19 IN VARCHAR2,
X_ATTRIBUTE20 IN VARCHAR2,
X_ATTRIBUTE21 IN VARCHAR2,
X_ATTRIBUTE22 IN VARCHAR2,
X_ATTRIBUTE23 IN VARCHAR2,
X_ATTRIBUTE24 IN VARCHAR2,
X_ATTRIBUTE25 IN VARCHAR2,
X_ATTRIBUTE26 IN VARCHAR2,
X_ATTRIBUTE27 IN VARCHAR2,
X_ATTRIBUTE28 IN VARCHAR2,
X_ATTRIBUTE29 IN VARCHAR2,
X_ATTRIBUTE30 IN VARCHAR2,
X_SPEC_DESC IN VARCHAR2,
X_LAST_UPDATE_DATE IN DATE,
X_LAST_UPDATED_BY IN NUMBER,
X_LAST_UPDATE_LOGIN IN NUMBER
) IS
BEGIN
UPDATE GMD_SPECIFICATIONS_B SET
SPEC_NAME = X_SPEC_NAME,
SPEC_VERS = X_SPEC_VERS,
INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID,
REVISION = X_REVISION,
GRADE_CODE = X_GRADE_CODE,
SPEC_STATUS = X_SPEC_STATUS,
OVERLAY_IND = X_OVERLAY_IND,
SPEC_TYPE = X_SPEC_TYPE,
BASE_SPEC_ID = X_BASE_SPEC_ID,
OWNER_ORGANIZATION_ID = X_OWNER_ORGANIZATION_ID,
OWNER_ID = X_OWNER_ID,
SAMPLE_INV_TRANS_IND = X_SAMPLE_INV_TRANS_IND,
DELETE_MARK = X_DELETE_MARK,
TEXT_CODE = X_TEXT_CODE,
ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
ATTRIBUTE1 = X_ATTRIBUTE1,
ATTRIBUTE2 = X_ATTRIBUTE2,
ATTRIBUTE3 = X_ATTRIBUTE3,
ATTRIBUTE4 = X_ATTRIBUTE4,
ATTRIBUTE5 = X_ATTRIBUTE5,
ATTRIBUTE6 = X_ATTRIBUTE6,
ATTRIBUTE7 = X_ATTRIBUTE7,
ATTRIBUTE8 = X_ATTRIBUTE8,
ATTRIBUTE9 = X_ATTRIBUTE9,
ATTRIBUTE10 = X_ATTRIBUTE10,
ATTRIBUTE11 = X_ATTRIBUTE11,
ATTRIBUTE12 = X_ATTRIBUTE12,
ATTRIBUTE13 = X_ATTRIBUTE13,
ATTRIBUTE14 = X_ATTRIBUTE14,
ATTRIBUTE15 = X_ATTRIBUTE15,
ATTRIBUTE16 = X_ATTRIBUTE16,
ATTRIBUTE17 = X_ATTRIBUTE17,
ATTRIBUTE18 = X_ATTRIBUTE18,
ATTRIBUTE19 = X_ATTRIBUTE19,
ATTRIBUTE20 = X_ATTRIBUTE20,
ATTRIBUTE21 = X_ATTRIBUTE21,
ATTRIBUTE22 = X_ATTRIBUTE22,
ATTRIBUTE23 = X_ATTRIBUTE23,
ATTRIBUTE24 = X_ATTRIBUTE24,
ATTRIBUTE25 = X_ATTRIBUTE25,
ATTRIBUTE26 = X_ATTRIBUTE26,
ATTRIBUTE27 = X_ATTRIBUTE27,
ATTRIBUTE28 = X_ATTRIBUTE28,
ATTRIBUTE29 = X_ATTRIBUTE29,
ATTRIBUTE30 = X_ATTRIBUTE30,
LAST_UPDATE_DATE = NVL(X_LAST_UPDATE_DATE,SYSDATE),
LAST_UPDATED_BY = NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
LAST_UPDATE_LOGIN = NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID)
WHERE SPEC_ID = X_SPEC_ID;
UPDATE GMD_SPECIFICATIONS_TL SET
SPEC_DESC = X_SPEC_DESC,
LAST_UPDATE_DATE = NVL(X_LAST_UPDATE_DATE,SYSDATE),
LAST_UPDATED_BY = NVL(X_LAST_UPDATED_BY,FND_GLOBAL.USER_ID),
LAST_UPDATE_LOGIN = NVL(X_LAST_UPDATE_LOGIN,FND_GLOBAL.LOGIN_ID),
SOURCE_LANG = USERENV('LANG')
WHERE SPEC_ID = X_SPEC_ID
AND USERENV('LANG') IN (LANGUAGE, SOURCE_LANG);
END UPDATE_ROW;
DELETE FROM GMD_SPECIFICATIONS_TL T
WHERE NOT EXISTS
(SELECT NULL
FROM GMD_SPECIFICATIONS_B B
WHERE B.SPEC_ID = T.SPEC_ID
);
UPDATE GMD_SPECIFICATIONS_TL T SET (
SPEC_DESC
) = (SELECT
B.SPEC_DESC
FROM GMD_SPECIFICATIONS_TL B
WHERE B.SPEC_ID = T.SPEC_ID
AND B.LANGUAGE = T.SOURCE_LANG)
WHERE (
T.SPEC_ID,
T.LANGUAGE
) IN (SELECT
SUBT.SPEC_ID,
SUBT.LANGUAGE
FROM GMD_SPECIFICATIONS_TL SUBB, GMD_SPECIFICATIONS_TL SUBT
WHERE SUBB.SPEC_ID = SUBT.SPEC_ID
AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
AND (SUBB.SPEC_DESC <> SUBT.SPEC_DESC
));
INSERT INTO GMD_SPECIFICATIONS_TL (
SPEC_ID,
SPEC_DESC,
CREATION_DATE,
CREATED_BY,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
LANGUAGE,
SOURCE_LANG
) SELECT
B.SPEC_ID,
B.SPEC_DESC,
B.CREATION_DATE,
B.CREATED_BY,
B.LAST_UPDATED_BY,
B.LAST_UPDATE_DATE,
B.LAST_UPDATE_LOGIN,
L.LANGUAGE_CODE,
B.SOURCE_LANG
FROM GMD_SPECIFICATIONS_TL B, FND_LANGUAGES L
WHERE L.INSTALLED_FLAG IN ('I', 'B')
AND B.LANGUAGE = USERENV('LANG')
AND NOT EXISTS
(SELECT NULL
FROM GMD_SPECIFICATIONS_TL T
WHERE T.SPEC_ID = B.SPEC_ID
AND T.LANGUAGE = L.LANGUAGE_CODE);
SELECT *
INTO x_specifications
FROM gmd_specifications
WHERE spec_id = p_specifications.spec_id
;
SELECT *
INTO x_specifications
FROM gmd_specifications
WHERE spec_name = p_specifications.spec_name
AND spec_vers = p_specifications.spec_vers
;
SELECT spec_id
INTO dummy
FROM gmd_specifications_b
WHERE spec_id = p_spec_id
FOR UPDATE OF spec_id NOWAIT ;
SELECT spec_id
INTO dummy
FROM gmd_specifications_b
WHERE spec_name = p_spec_name and spec_vers = p_spec_vers
FOR UPDATE OF spec_id NOWAIT ;
FUNCTION mark_for_delete (
p_spec_id IN NUMBER ,
p_spec_name IN VARCHAR2 ,
p_spec_vers IN NUMBER ,
p_last_update_date IN DATE ,
p_last_updated_by IN NUMBER ,
p_last_update_login IN NUMBER
)
RETURN BOOLEAN
IS
BEGIN
IF (p_spec_id IS NOT NULL) THEN
UPDATE gmd_specifications_b
SET delete_mark = 1,
last_update_date = NVL(p_last_update_date,SYSDATE),
last_updated_by = NVL(p_last_updated_by,FND_GLOBAL.USER_ID),
last_update_login = NVL(p_last_update_login,FND_GLOBAL.LOGIN_ID)
WHERE spec_id = p_spec_id ;
UPDATE gmd_specifications_b
SET delete_mark = 1,
last_update_date = NVL(p_last_update_date,SYSDATE),
last_updated_by = NVL(p_last_updated_by,FND_GLOBAL.USER_ID),
last_update_login = NVL(p_last_update_login,FND_GLOBAL.LOGIN_ID)
WHERE spec_name = p_spec_name and spec_vers = p_spec_vers ;
gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SPECIFICATIONS_PVT.MARK_FOR_DELETE','ERROR',SUBSTR(SQLERRM,1,100),'POSITION','010');
END mark_for_delete;
FUNCTION INSERT_ROW(p_spec IN OUT NOCOPY GMD_SPECIFICATIONS%ROWTYPE)
RETURN BOOLEAN IS
l_rowid ROWID ;
GMD_Specifications_PVT.INSERT_ROW(
X_ROWID => l_rowid,
X_SPEC_ID => p_spec.spec_id,
X_SPEC_NAME => p_spec.spec_name,
X_SPEC_VERS => p_spec.spec_vers,
X_INVENTORY_ITEM_ID => p_spec.inventory_item_id,
X_REVISION => p_spec.revision,
X_GRADE_CODE => p_spec.grade_code,
X_SPEC_STATUS => p_spec.spec_status,
X_OVERLAY_IND => p_spec.overlay_ind,
X_SPEC_TYPE => p_spec.spec_type,
X_BASE_SPEC_ID => p_spec.base_spec_id,
X_OWNER_ORGANIZATION_ID => p_spec.owner_organization_id,
X_OWNER_ID => p_spec.owner_id,
X_SAMPLE_INV_TRANS_IND => p_spec.sample_inv_trans_ind,
X_DELETE_MARK => p_spec.delete_mark,
X_TEXT_CODE => p_spec.text_code,
X_ATTRIBUTE_CATEGORY => p_spec.attribute_category,
X_ATTRIBUTE1 => p_spec.attribute1,
X_ATTRIBUTE2 => p_spec.attribute2,
X_ATTRIBUTE3 => p_spec.attribute3,
X_ATTRIBUTE4 => p_spec.attribute4,
X_ATTRIBUTE5 => p_spec.attribute5,
X_ATTRIBUTE6 => p_spec.attribute6,
X_ATTRIBUTE7 => p_spec.attribute7,
X_ATTRIBUTE8 => p_spec.attribute8,
X_ATTRIBUTE9 => p_spec.attribute9,
X_ATTRIBUTE10 => p_spec.attribute10,
X_ATTRIBUTE11 => p_spec.attribute11,
X_ATTRIBUTE12 => p_spec.attribute12,
X_ATTRIBUTE13 => p_spec.attribute13,
X_ATTRIBUTE14 => p_spec.attribute14,
X_ATTRIBUTE15 => p_spec.attribute15,
X_ATTRIBUTE16 => p_spec.attribute16,
X_ATTRIBUTE17 => p_spec.attribute17,
X_ATTRIBUTE18 => p_spec.attribute18,
X_ATTRIBUTE19 => p_spec.attribute19,
X_ATTRIBUTE20 => p_spec.attribute20,
X_ATTRIBUTE21 => p_spec.attribute21,
X_ATTRIBUTE22 => p_spec.attribute22,
X_ATTRIBUTE23 => p_spec.attribute23,
X_ATTRIBUTE24 => p_spec.attribute24,
X_ATTRIBUTE25 => p_spec.attribute25,
X_ATTRIBUTE26 => p_spec.attribute26,
X_ATTRIBUTE27 => p_spec.attribute27,
X_ATTRIBUTE28 => p_spec.attribute28,
X_ATTRIBUTE29 => p_spec.attribute29,
X_ATTRIBUTE30 => p_spec.attribute30,
X_SPEC_DESC => p_spec.spec_desc,
X_CREATION_DATE => p_spec.creation_date,
X_CREATED_BY => p_spec.created_by,
X_LAST_UPDATE_DATE => p_spec.last_update_date,
X_LAST_UPDATED_BY => p_spec.last_updated_by,
X_LAST_UPDATE_LOGIN => p_spec.last_update_login);
gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SPECIFICATIONS_PVT.INSERT_ROW','ERROR',
SUBSTR(SQLERRM,1,100),'POSITION','010');
END INSERT_ROW;