The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKL_TRX_ASSETS
WHERE id = p_id);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKL_TXL_ASSETS_V
WHERE id = p_id);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT id
FROM OKL_K_LINES_V
WHERE id = p_id);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_PARTY_SITE_USES_V
WHERE id1 = p_id1);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_PARTY_SITE_USES_V
WHERE id2 = p_id2
AND id1 = p_id1);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM JTF_OBJECTS_B
WHERE object_code = p_jtot_code_new);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_PARTY_SITE_USES_V
WHERE id1 = p_id1);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_PARTY_SITE_USES_V
WHERE id2 = p_id2
AND id1 = p_id1);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM JTF_OBJECTS_B
WHERE object_code = p_jtot_code_old);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_SYSTEM_ITEMS_V
WHERE id1 = p_id);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_SYSTEM_ITEMS_V
WHERE id2 = p_id);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKX_ORGANIZATION_DEFS_V
WHERE id2 = G_ID2
AND organization_type = 'INV'
AND id1 = p_id1);
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM CSI_ITEM_INSTANCES
WHERE instance_id = p_instance_id
);
IF (p_itiv_rec.selected_for_split_flag = OKC_API.G_MISS_CHAR) OR
(p_itiv_rec.selected_for_split_flag IS NULL) THEN
-- halt validation as it is a optional field
RAISE G_EXCEPTION_STOP_VALIDATION;
If p_itiv_rec.selected_for_split_flag not in ('Y','N','P') Then
-- halt validation as it has no valid value
RAISE G_EXCEPTION_HALT_VALIDATION;
p_token1_value => 'selected_for_split_flag');
SELECT 1
FROM DUAL
WHERE EXISTS (SELECT '1'
FROM OKL_TXD_ASSETS_B
WHERE id = p_asd_id
);
SELECT ID,
OBJECT_VERSION_NUMBER,
TAS_ID,
TAL_ID,
KLE_ID,
TAL_TYPE,
LINE_NUMBER,
INSTANCE_NUMBER_IB,
OBJECT_ID1_NEW,
OBJECT_ID2_NEW,
JTOT_OBJECT_CODE_NEW,
OBJECT_ID1_OLD,
OBJECT_ID2_OLD,
JTOT_OBJECT_CODE_OLD,
INVENTORY_ORG_ID,
SERIAL_NUMBER,
MFG_SERIAL_NUMBER_YN,
INVENTORY_ITEM_ID,
INV_MASTER_ORG_ID,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
DNZ_CLE_ID,
--Bug# 2697681 schema change : 11.5.9 enhacement - split asset by serial numbers
instance_id,
selected_for_split_flag,
asd_id
FROM OKL_TXL_ITM_INSTS iti
WHERE iti.id = p_id;
l_iti_rec.LAST_UPDATED_BY,
l_iti_rec.LAST_UPDATE_DATE,
l_iti_rec.LAST_UPDATE_LOGIN,
l_iti_rec.DNZ_CLE_ID,
--Bug#2697681 schema change : 11.5.9 enhacement - split asset by serial numbers
l_iti_rec.instance_id,
l_iti_rec.selected_for_split_flag,
l_iti_rec.asd_id;
SELECT ID,
OBJECT_VERSION_NUMBER,
TAS_ID,
TAL_ID,
KLE_ID,
TAL_TYPE,
LINE_NUMBER,
INSTANCE_NUMBER_IB,
OBJECT_ID1_NEW,
OBJECT_ID2_NEW,
JTOT_OBJECT_CODE_NEW,
OBJECT_ID1_OLD,
OBJECT_ID2_OLD,
JTOT_OBJECT_CODE_OLD,
INVENTORY_ORG_ID,
SERIAL_NUMBER,
MFG_SERIAL_NUMBER_YN,
INVENTORY_ITEM_ID,
INV_MASTER_ORG_ID,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
DNZ_CLE_ID,
--Bug#2697681 schema change : 11.5.9 enhacement - split asset by serial numbers
instance_id,
selected_for_split_flag,
asd_id
FROM OKL_TXL_ITM_INSTS_V iti
WHERE iti.id = p_id;
l_itiv_rec.LAST_UPDATED_BY,
l_itiv_rec.LAST_UPDATE_DATE,
l_itiv_rec.LAST_UPDATE_LOGIN,
l_itiv_rec.DNZ_CLE_ID,
--Bug#2697681 schema change : 11.5.9 enhacement - split asset by serial numbers
l_itiv_rec.instance_id,
l_itiv_rec.selected_for_split_flag,
l_itiv_rec.asd_id;
IF (l_itiv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
l_itiv_rec.last_updated_by := NULL;
IF (l_itiv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
l_itiv_rec.last_update_date := NULL;
IF (l_itiv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
l_itiv_rec.last_update_login := NULL;
IF (l_itiv_rec.selected_for_split_flag = OKC_API.G_MISS_CHAR) THEN
l_itiv_rec.selected_for_split_flag := NULL;
p_to.LAST_UPDATED_BY := p_from.LAST_UPDATED_BY;
p_to.LAST_UPDATE_DATE := p_from.LAST_UPDATE_DATE;
p_to.LAST_UPDATE_LOGIN := p_from.LAST_UPDATE_LOGIN;
p_to.selected_for_split_flag := p_from.selected_for_split_flag;
p_to.LAST_UPDATED_BY := p_from.LAST_UPDATED_BY;
p_to.LAST_UPDATE_DATE := p_from.LAST_UPDATE_DATE;
p_to.LAST_UPDATE_LOGIN := p_from.LAST_UPDATE_LOGIN;
p_to.selected_for_split_flag := p_from.selected_for_split_flag;
PROCEDURE insert_row(
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_iti_rec IN iti_rec_type,
x_iti_rec OUT NOCOPY iti_rec_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
INSERT INTO OKL_TXL_ITM_INSTS(
ID,
OBJECT_VERSION_NUMBER,
TAS_ID,
TAL_ID,
KLE_ID,
TAL_TYPE,
LINE_NUMBER,
INSTANCE_NUMBER_IB,
OBJECT_ID1_NEW,
OBJECT_ID2_NEW,
JTOT_OBJECT_CODE_NEW,
OBJECT_ID1_OLD,
OBJECT_ID2_OLD,
JTOT_OBJECT_CODE_OLD,
INVENTORY_ORG_ID,
SERIAL_NUMBER,
MFG_SERIAL_NUMBER_YN,
INVENTORY_ITEM_ID,
INV_MASTER_ORG_ID,
ATTRIBUTE_CATEGORY,
ATTRIBUTE1,
ATTRIBUTE2,
ATTRIBUTE3,
ATTRIBUTE4,
ATTRIBUTE5,
ATTRIBUTE6,
ATTRIBUTE7,
ATTRIBUTE8,
ATTRIBUTE9,
ATTRIBUTE10,
ATTRIBUTE11,
ATTRIBUTE12,
ATTRIBUTE13,
ATTRIBUTE14,
ATTRIBUTE15,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
DNZ_CLE_ID,
--Bug #2697681 schema change :11.5.9 Splitting asset by serail numbers
instance_id,
selected_for_split_flag,
asd_id
)
VALUES (
l_iti_rec.ID,
l_iti_rec.OBJECT_VERSION_NUMBER,
l_iti_rec.TAS_ID,
l_iti_rec.TAL_ID,
l_iti_rec.KLE_ID,
l_iti_rec.TAL_TYPE,
l_iti_rec.LINE_NUMBER,
l_iti_rec.INSTANCE_NUMBER_IB,
l_iti_rec.OBJECT_ID1_NEW,
l_iti_rec.OBJECT_ID2_NEW,
l_iti_rec.JTOT_OBJECT_CODE_NEW,
l_iti_rec.OBJECT_ID1_OLD,
l_iti_rec.OBJECT_ID2_OLD,
l_iti_rec.JTOT_OBJECT_CODE_OLD,
l_iti_rec.INVENTORY_ORG_ID,
l_iti_rec.SERIAL_NUMBER,
l_iti_rec.MFG_SERIAL_NUMBER_YN,
l_iti_rec.INVENTORY_ITEM_ID,
l_iti_rec.INV_MASTER_ORG_ID,
l_iti_rec.ATTRIBUTE_CATEGORY,
l_iti_rec.ATTRIBUTE1,
l_iti_rec.ATTRIBUTE2,
l_iti_rec.ATTRIBUTE3,
l_iti_rec.ATTRIBUTE4,
l_iti_rec.ATTRIBUTE5,
l_iti_rec.ATTRIBUTE6,
l_iti_rec.ATTRIBUTE7,
l_iti_rec.ATTRIBUTE8,
l_iti_rec.ATTRIBUTE9,
l_iti_rec.ATTRIBUTE10,
l_iti_rec.ATTRIBUTE11,
l_iti_rec.ATTRIBUTE12,
l_iti_rec.ATTRIBUTE13,
l_iti_rec.ATTRIBUTE14,
l_iti_rec.ATTRIBUTE15,
l_iti_rec.CREATED_BY,
l_iti_rec.CREATION_DATE,
l_iti_rec.LAST_UPDATED_BY,
l_iti_rec.LAST_UPDATE_DATE,
l_iti_rec.LAST_UPDATE_LOGIN,
l_iti_rec.DNZ_CLE_ID,
--Bug #2697681 schema change :11.5.9 Splitting asset by serail numbers
l_iti_rec.instance_id,
l_iti_rec.selected_for_split_flag,
l_iti_rec.asd_id);
END insert_row;
PROCEDURE insert_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_itiv_rec IN itiv_rec_type,
x_itiv_rec OUT NOCOPY itiv_rec_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
l_itiv_rec.LAST_UPDATE_DATE := SYSDATE;
l_itiv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
l_itiv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
insert_row(
p_init_msg_list,
x_return_status,
x_msg_count,
x_msg_data,
l_iti_rec,
lx_iti_rec
);
END insert_row;
PROCEDURE insert_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_itiv_tbl IN itiv_tbl_type,
x_itiv_tbl OUT NOCOPY itiv_tbl_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
insert_row (
p_api_version => p_api_version,
p_init_msg_list => OKC_API.G_FALSE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_itiv_rec => p_itiv_tbl(i),
x_itiv_rec => x_itiv_tbl(i));
END insert_row;
SELECT OBJECT_VERSION_NUMBER
FROM OKL_TXL_ITM_INSTS
WHERE ID = p_iti_rec.id
AND OBJECT_VERSION_NUMBER = p_iti_rec.object_version_number
FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
SELECT OBJECT_VERSION_NUMBER
FROM OKL_TXL_ITM_INSTS
WHERE ID = p_iti_rec.id;
OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
PROCEDURE update_row(
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_iti_rec IN iti_rec_type,
x_iti_rec OUT NOCOPY iti_rec_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
IF (x_iti_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
x_iti_rec.last_updated_by := l_iti_rec.last_updated_by;
IF (x_iti_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
x_iti_rec.last_update_date := l_iti_rec.last_update_date;
IF (x_iti_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
x_iti_rec.last_update_login := l_iti_rec.last_update_login;
IF (x_iti_rec.selected_for_split_flag = OKC_API.G_MISS_CHAR) THEN
x_iti_rec.selected_for_split_flag := l_iti_rec.selected_for_split_flag;
UPDATE OKL_TXL_ITM_INSTS
SET ID = l_def_iti_rec.ID,
OBJECT_VERSION_NUMBER = l_def_iti_rec.OBJECT_VERSION_NUMBER,
TAS_ID = l_def_iti_rec.TAS_ID,
TAL_ID = l_def_iti_rec.TAL_ID,
KLE_ID = l_def_iti_rec.KLE_ID,
TAL_TYPE = l_def_iti_rec.TAL_TYPE,
LINE_NUMBER = l_def_iti_rec.LINE_NUMBER,
INSTANCE_NUMBER_IB = l_def_iti_rec.INSTANCE_NUMBER_IB,
OBJECT_ID1_NEW = l_def_iti_rec.OBJECT_ID1_NEW,
OBJECT_ID2_NEW = l_def_iti_rec.OBJECT_ID2_NEW,
JTOT_OBJECT_CODE_NEW = l_def_iti_rec.JTOT_OBJECT_CODE_NEW,
OBJECT_ID1_OLD = l_def_iti_rec.OBJECT_ID1_OLD,
OBJECT_ID2_OLD = l_def_iti_rec.OBJECT_ID2_OLD,
JTOT_OBJECT_CODE_OLD = l_def_iti_rec.JTOT_OBJECT_CODE_OLD,
INVENTORY_ORG_ID = l_def_iti_rec.INVENTORY_ORG_ID,
SERIAL_NUMBER = l_def_iti_rec.SERIAL_NUMBER,
MFG_SERIAL_NUMBER_YN = l_def_iti_rec.MFG_SERIAL_NUMBER_YN,
INVENTORY_ITEM_ID = l_def_iti_rec.INVENTORY_ITEM_ID,
INV_MASTER_ORG_ID = l_def_iti_rec.INV_MASTER_ORG_ID,
ATTRIBUTE_CATEGORY = l_def_iti_rec.ATTRIBUTE_CATEGORY,
ATTRIBUTE1 = l_def_iti_rec.ATTRIBUTE1,
ATTRIBUTE2 = l_def_iti_rec.ATTRIBUTE2,
ATTRIBUTE3 = l_def_iti_rec.ATTRIBUTE3,
ATTRIBUTE4 = l_def_iti_rec.ATTRIBUTE4,
ATTRIBUTE5 = l_def_iti_rec.ATTRIBUTE5,
ATTRIBUTE6 = l_def_iti_rec.ATTRIBUTE6,
ATTRIBUTE7 = l_def_iti_rec.ATTRIBUTE7,
ATTRIBUTE8 = l_def_iti_rec.ATTRIBUTE8,
ATTRIBUTE9 = l_def_iti_rec.ATTRIBUTE9,
ATTRIBUTE10 = l_def_iti_rec.ATTRIBUTE10,
ATTRIBUTE11 = l_def_iti_rec.ATTRIBUTE11,
ATTRIBUTE12 = l_def_iti_rec.ATTRIBUTE12,
ATTRIBUTE13 = l_def_iti_rec.ATTRIBUTE13,
ATTRIBUTE14 = l_def_iti_rec.ATTRIBUTE14,
ATTRIBUTE15 = l_def_iti_rec.ATTRIBUTE15,
CREATED_BY = l_def_iti_rec.CREATED_BY,
CREATION_DATE = l_def_iti_rec.CREATION_DATE,
LAST_UPDATED_BY = l_def_iti_rec.LAST_UPDATED_BY,
LAST_UPDATE_DATE = l_def_iti_rec.LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN = l_def_iti_rec.LAST_UPDATE_LOGIN,
DNZ_CLE_ID = l_def_iti_rec.DNZ_CLE_ID,
--Bug #2697681 schema change :11.5.9 Splitting asset by serail numbers
instance_id = l_def_iti_rec.instance_id,
selected_for_split_flag = l_def_iti_rec.selected_for_split_flag,
asd_id = l_def_iti_rec.asd_id
WHERE ID = l_def_iti_rec.id;
END update_row;
PROCEDURE update_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_itiv_rec IN itiv_rec_type,
x_itiv_rec OUT NOCOPY itiv_rec_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
l_itiv_rec.LAST_UPDATE_DATE := SYSDATE;
l_itiv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
l_itiv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
IF (x_itiv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
x_itiv_rec.last_updated_by := l_itiv_rec.last_updated_by;
IF (x_itiv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
x_itiv_rec.last_update_date := l_itiv_rec.last_update_date;
IF (x_itiv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
x_itiv_rec.last_update_login := l_itiv_rec.last_update_login;
IF (x_itiv_rec.selected_for_split_flag = OKC_API.G_MISS_CHAR) THEN
x_itiv_rec.selected_for_split_flag := l_itiv_rec.selected_for_split_flag;
update_row(
p_init_msg_list,
x_return_status,
x_msg_count,
x_msg_data,
l_iti_rec,
lx_iti_rec
);
END update_row;
PROCEDURE update_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_itiv_tbl IN itiv_tbl_type,
x_itiv_tbl OUT NOCOPY itiv_tbl_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
update_row (
p_api_version => p_api_version,
p_init_msg_list => OKC_API.G_FALSE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_itiv_rec => p_itiv_tbl(i),
x_itiv_rec => x_itiv_tbl(i));
END update_row;
PROCEDURE delete_row(
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_iti_rec IN iti_rec_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
DELETE FROM OKL_TXL_ITM_INSTS
WHERE ID = l_iti_rec.id;
END delete_row;
PROCEDURE delete_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_itiv_rec IN itiv_rec_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
delete_row(
p_init_msg_list,
x_return_status,
x_msg_count,
x_msg_data,
l_iti_rec
);
END delete_row;
PROCEDURE delete_row(
p_api_version IN NUMBER,
p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_itiv_tbl IN itiv_tbl_type) IS
l_api_version CONSTANT NUMBER := 1;
l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
delete_row (
p_api_version => p_api_version,
p_init_msg_list => OKC_API.G_FALSE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_itiv_rec => p_itiv_tbl(i));
END delete_row;