The following lines contain the word 'select', 'insert', 'update' or 'delete':
p_select_clause IN VARCHAR2,
p_from_clause IN VARCHAR2,
p_where_clause IN VARCHAR2,
p_other_clause IN VARCHAR2,
x_sql_Stmnt OUT NOCOPY VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2 )
IS
l_sql_stmnt VARCHAR2(2000);
-- check if the select_clause and the from_Clause
-- is NULL or missing, if so we cannot form an
-- sql_statement.
IF (p_Select_Clause IS NULL ) and
( p_Select_Clause = CSC_CORE_UTILS_PVT.G_MISS_CHAR ) and
( p_from_Clause IS NULL ) and
( p_from_Clause = CSC_CORE_UTILS_PVT.G_MISS_CHAR )
THEN
-- invalid arguments exception
x_return_status := FND_API.G_RET_STS_ERROR;
p_argument_value => p_select_clause||' '||p_from_clause,
p_argument => 'p_Sql_Stmnt'
);
( p_select_clause => p_SELECT_CLAUSE,
p_from_clause => p_FROM_CLAUSE,
p_where_clause => p_WHERE_CLAUSE,
p_other_clause => p_OTHER_CLAUSE,
X_sql_Stmnt => X_SQL_STMNT,
X_return_status => x_return_status );
p_argument_value => p_select_clause||' '||p_from_clause,
p_argument => 'P_SQL_STMNT'
);
l_select_clause VARCHAR2(1200) := 'SELECT ';
select where_clause
from csc_prof_blocks_b
where block_id = p_block_id;
l_select_clause:= l_select_clause||' '||l_alias||'.'||p_table_column_tbl(i).column_name;
l_select_clause := l_select_clause||' '||p_table_column_tbl(i).column_name;
l_select_clause := l_select_clause||', '||l_alias||'.'||p_table_column_tbl(i).column_name;
l_select_clause := l_select_clause||', '||p_table_column_tbl(i).column_name;
l_sql_stmnt := l_select_clause||' '||l_from_Clause;
l_select_clause VARCHAR2(1200) := 'SELECT ';
select data_type
from sys.all_Tab_columns
where table_name = x_table_name
and column_name = x_column_name;
select where_clause, other_clause,from_clause
from csc_prof_blocks_b
where block_id = p_block_id;
select count(distinct column_name)
from sys.all_tab_columns
where table_name = 'CSC_PROF_DRILLDOWN_V'
and column_name <> 'ROW_ID';
SELECT object_type
FROM USER_OBJECTS
WHERE OBJECT_NAME = x_table_name
AND OBJECT_TYPE = 'VIEW';
SELECT col.data_type
FROM ALL_TAB_COLUMNS col,
USER_SYNONYMS SYN
WHERE syn.synonym_name = x_table_name
AND col.owner = syn.table_owner
AND col.table_name = syn.table_name
AND col.column_name = x_column_name ;
l_select_clause:= l_select_clause||' '||l_alias||'.'||p_table_column_tbl(i).column_name || ' as Column1';
--l_select_clause:= l_select_clause||' to_char('||l_alias||'.'||p_table_column_tbl(i).column_name||', '':date_format'' )' || ' as Column1'; --Commented the code by spamujul for bug 11820766
l_select_clause:= l_select_clause||' FND_DATE.date_to_chardate(dateval=>to_date('||l_alias||'.'||p_table_column_tbl(i).column_name||', '':date_format''),calendar_aware=>1)' || ' as Column1';
l_select_clause:= l_select_clause||' to_char('||l_alias||'.'||p_table_column_tbl(i).column_name||')' || ' as Column1';
l_select_clause := l_select_clause||' '||p_table_column_tbl(i).column_name || ' as Column1';
--l_select_clause := l_select_clause||' to_char('||p_table_column_tbl(i).column_name||', '':date_format'' )' || ' as Column1'; --Commented the code by spamujul for bug 11820766
l_select_clause := l_select_clause||' FND_DATE.date_to_chardate(dateval=>to_date('||p_table_column_tbl(i).column_name||', '':date_format''),calendar_aware=>1)' || ' as Column1';
l_select_clause := l_select_clause||' to_char('||p_table_column_tbl(i).column_name||')' || ' as Column1';
l_select_clause := l_select_clause||', '||l_alias||'.'||p_table_column_tbl(i).column_name || ' as Column'||to_char(l_column_count);
--l_select_clause := l_select_clause||', to_char('||l_alias||'.'||p_table_column_tbl(i).column_name||', '':date_format'' )' || ' as Column'||to_char(l_column_count); --Commented the code by spamujul for bug 11820766
l_select_clause := l_select_clause||', FND_DATE.date_to_chardate(dateval=>to_date('||l_alias||'.'||p_table_column_tbl(i).column_name||', '':date_format''),calendar_aware=>1)' || ' as Column'||to_char(l_column_count);
l_select_clause := l_select_clause||', to_char('||l_alias||'.'||p_table_column_tbl(i).column_name||')' || ' as Column'||to_char(l_column_count);
l_select_clause := l_select_clause||', '||p_table_column_tbl(i).column_name || ' as Column'||to_char(l_column_count);
--l_select_clause := l_select_clause||', to_char('||p_table_column_tbl(i).column_name||', '':date_format'' )' || ' as Column'||to_char(l_column_count); --Commented the code by spamujul for bug 11820766
l_select_clause := l_select_clause||', FND_DATE.date_to_chardate(dateval=>to_date('||p_table_column_tbl(i).column_name||', '':date_format''),calendar_aware=>1' || ' as Column'||to_char(l_column_count);
l_select_clause := l_select_clause||', to_char('||p_table_column_tbl(i).column_name||')' || ' as Column'||to_char(l_column_count);
l_select_clause := l_select_clause||', '|| 'NULL' || ' as Column'||to_char(l_column_count);
l_sql_stmnt := l_select_clause||' FROM ' ||l_from_clause;
Select table_name,column_name,label,alias_name
from csc_prof_table_columns_vl
where block_id = p_block_id
order by decode(drilldown_column_flag,'Y',1,2),column_sequence;
x_table_column_tbl.delete;
l_select_clause VARCHAR2(1200) := 'SELECT ';
select data_type
from sys.all_Tab_columns
where table_name = x_table_name
and column_name = x_column_name;
select where_clause,
other_clause,from_clause
from csc_prof_blocks_b
where block_id = p_block_id;
select count(distinct column_name)
from sys.all_tab_columns
where table_name = 'CSC_PROF_DRILLDOWN_V'
and column_name <> 'ROW_ID';
SELECT object_type
FROM USER_OBJECTS
WHERE OBJECT_NAME = x_table_name
AND OBJECT_TYPE = 'VIEW';
SELECT col.data_type
FROM ALL_TAB_COLUMNS col,
USER_SYNONYMS SYN
WHERE syn.synonym_name = x_table_name
AND col.owner = syn.table_owner
AND col.table_name = syn.table_name
AND col.column_name = x_column_name ;
l_select_clause := l_select_clause||' '||l_alias||'.'||p_table_column_tbl(i).column_name || ' as Column1';
l_select_clause := l_select_clause||' '||p_table_column_tbl(i).column_name || ' as Column1';
l_select_clause := l_select_clause||', '||l_alias||'.'||p_table_column_tbl(i).column_name || ' as Column'||to_char(l_column_count);
l_select_clause := l_select_clause||', '||p_table_column_tbl(i).column_name || ' as Column'||to_char(l_column_count);
l_select_clause := l_select_clause||', '|| 'NULL' || ' as Column'||to_char(l_column_count);
l_sql_stmnt := l_select_clause||' FROM ' ||l_from_clause;
p_select_clause IN VARCHAR2 ,
p_from_clause IN VARCHAR2 ,
p_where_clause IN VARCHAR2 ,
p_order_by_clause IN VARCHAR2,
p_other_clause IN VARCHAR2 ,
p_block_level IN VARCHAR2,
p_CREATED_BY IN NUMBER ,
p_CREATION_DATE IN DATE ,
p_LAST_UPDATED_BY IN NUMBER ,
p_LAST_UPDATE_DATE IN DATE ,
p_LAST_UPDATE_LOGIN IN NUMBER ,
p_OBJECT_VERSION_NUMBER IN NUMBER := NULL,
p_APPLICATION_ID IN NUMBER ,
x_Profile_Variables_Rec OUT NOCOPY ProfVar_Rec_Type
)
IS
BEGIN
x_profile_variables_rec.block_id := p_block_id;
x_Profile_Variables_Rec.select_clause := p_select_clause;
x_Profile_Variables_Rec.last_updated_by := p_last_updated_by;
x_Profile_Variables_Rec.last_update_date := p_last_update_date;
x_Profile_Variables_Rec.last_update_login := p_last_update_login;
p_select_clause IN VARCHAR2,
p_from_clause IN VARCHAR2,
p_where_clause IN VARCHAR2 ,
p_order_by_clause IN VARCHAR2 DEFAULT NULL,
p_other_clause IN VARCHAR2,
p_block_level IN VARCHAR2,
p_CREATED_BY IN NUMBER,
p_CREATION_DATE IN DATE ,
p_LAST_UPDATED_BY IN NUMBER,
p_LAST_UPDATE_DATE IN DATE ,
p_LAST_UPDATE_LOGIN IN NUMBER,
x_OBJECT_VERSION_NUMBER OUT NOCOPY NUMBER,
p_APPLICATION_ID IN NUMBER,
x_block_id OUT NOCOPY NUMBER
) IS
l_prof_var_rec ProfVar_Rec_Type;
p_select_clause => p_select_clause,
p_from_clause => p_from_clause,
p_where_clause => p_where_clause,
p_order_by_clause => p_order_by_clause,
p_other_clause => p_other_clause,
p_block_level => p_block_level,
p_CREATED_BY => p_CREATED_BY,
p_CREATION_DATE => p_CREATION_DATE,
p_LAST_UPDATED_BY => p_LAST_UPDATED_BY,
p_LAST_UPDATE_DATE => p_LAST_UPDATE_DATE,
p_LAST_UPDATE_LOGIN => p_LAST_UPDATE_LOGIN,
p_APPLICATION_ID => p_APPLICATION_ID,
x_Profile_Variables_Rec => l_prof_var_rec
);
IF p_prof_var_rec.select_clause = CSC_CORE_UTILS_PVT.G_MISS_CHAR THEN
l_prof_var_rec.select_clause := NULL;
p_select_clause => l_prof_var_rec.select_clause,
p_from_clause => l_prof_var_rec.from_clause,
p_where_clause => l_prof_var_rec.where_clause,
p_other_clause => l_prof_var_rec.other_clause,
x_sql_stmnt => l_prof_var_rec.sql_stmnt,
x_return_status => x_return_status );
-- Also Check if Seeded_Flag = 'Y' and then allow / disallow updates
-- of certain fields
Validate_Profile_Variables(
p_api_name => l_api_name_full,
p_validation_mode => CSC_CORE_UTILS_PVT.G_CREATE,
P_validate_rec => l_prof_var_rec,
x_return_status => x_return_status,
x_msg_count =>x_msg_count,
x_msg_data =>x_msg_data );
-- Build an insert record, check if any of the parameters
-- have been not been passed, if not assign a NULL.
-- The mandatory columns have already been validated in
-- Validate_Profile_Variables if the validation level is
-- set to FULL.
CSC_PROF_BLOCKS_PKG.Insert_Row(
px_BLOCK_ID => x_block_id,
p_CREATED_BY => FND_GLOBAL.USER_ID,
p_CREATION_DATE => sysdate,
p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
p_LAST_UPDATE_DATE => sysdate,
p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
p_BLOCK_NAME => l_prof_var_rec.BLOCK_NAME,
p_DESCRIPTION => l_prof_var_rec.DESCRIPTION,
p_START_DATE_ACTIVE => l_prof_var_rec.START_DATE_ACTIVE,
p_END_DATE_ACTIVE => l_prof_var_rec.END_DATE_ACTIVE,
p_SEEDED_FLAG => l_prof_var_rec.SEEDED_FLAG,
p_BLOCK_NAME_CODE => l_prof_var_rec.BLOCK_NAME_CODE,
p_OBJECT_CODE => l_prof_var_rec.object_code,
p_SQL_STMNT_FOR_DRILLDOWN => l_prof_var_rec.SQL_STMNT_FOR_DRILLDOWN,
p_SQL_STMNT => l_prof_var_rec.SQL_STMNT,
p_BATCH_SQL_STMNT => l_prof_var_rec.BATCH_SQL_STMNT,
p_SELECT_CLAUSE => l_prof_var_rec.SELECT_CLAUSE,
p_CURRENCY_CODE => l_prof_var_rec.CURRENCY_CODE,
p_FROM_CLAUSE => l_prof_var_rec.FROM_CLAUSE,
p_WHERE_CLAUSE => l_prof_var_rec.WHERE_CLAUSE,
p_OTHER_CLAUSE => l_prof_var_rec.other_clause,
p_BLOCK_LEVEL => l_prof_var_rec.block_level,
x_OBJECT_VERSION_NUMBER => x_OBJECT_VERSION_NUMBER,
p_APPLICATION_ID => l_prof_var_rec.APPLICATION_ID
);
Select object_version_number
into l_object_version_number
from csc_prof_blocks_b
where block_id = p_table_column_rec.block_id;
Update_Profile_Variable(
p_api_version_number => 1.0,
p_validation_level => CSC_CORE_UTILS_PVT.G_VALID_LEVEL_NONE,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
px_object_version_number => l_object_version_number,
p_block_id => l_table_column_rec.block_id,
p_sql_stmnt_for_drilldown => ltrim(rtrim(l_sql_stmnt_for_drilldown)));
-- Build an insert record, check if any of the parameters
-- have been not been passed, if not assign a NULL.
-- The mandatory columns have already been validated in
-- Validate_table_columns if the validation level is
-- set to FULL.
CSC_PROF_TABLE_COLUMNS_PKG.Insert_Row(
px_TABLE_COLUMN_ID => x_TABLE_COLUMN_ID,
p_BLOCK_ID => l_Table_Column_rec.BLOCK_ID,
p_TABLE_NAME => l_Table_Column_rec.TABLE_NAME,
p_COLUMN_NAME => l_Table_Column_rec.COLUMN_NAME,
p_LABEL => l_Table_Column_rec.LABEL,
p_TABLE_ALIAS => l_Table_Column_rec.Table_Alias,
p_COLUMN_SEQUENCE => l_Table_Column_rec.Column_Sequence,
p_DRILLDOWN_COLUMN_FLAG => l_Table_Column_rec.DRILLDOWN_COLUMN_FLAG,
p_LAST_UPDATE_DATE => SYSDATE,
p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
p_CREATION_DATE => SYSDATE,
p_CREATED_BY => FND_GLOBAL.USER_ID,
p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
p_SEEDED_FLAG => l_Table_Column_rec.seeded_flag,
x_OBJECT_VERSION_NUMBER => x_object_version_number );
PROCEDURE Update_Profile_Variable(
p_api_version_number IN NUMBER,
p_init_msg_list IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
p_commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
x_return_status OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
p_block_id IN NUMBER ,
p_block_name IN VARCHAR2 DEFAULT NULL,
p_block_name_code IN VARCHAR2 DEFAULT NULL,
p_description IN VARCHAR2 DEFAULT NULL,
p_currency_code IN VARCHAR2 DEFAULT NULL,
p_sql_stmnt IN VARCHAR2 DEFAULT NULL,
p_batch_sql_stmnt IN VARCHAR2 DEFAULT NULL,
p_seeded_flag IN VARCHAR2 DEFAULT NULL,
--p_form_function_id IN NUMBER ,
p_object_code IN VARCHAR2 DEFAULT NULL ,
p_start_date_active IN DATE DEFAULT NULL,
p_end_date_active IN DATE DEFAULT NULL ,
p_sql_stmnt_for_drilldown IN VARCHAR2 DEFAULT NULL ,
p_select_clause IN VARCHAR2 DEFAULT NULL ,
p_from_clause IN VARCHAR2 DEFAULT NULL,
p_where_clause IN VARCHAR2 DEFAULT NULL,
p_order_by_clause IN VARCHAR2 DEFAULT NULL ,
p_other_clause IN VARCHAR2 DEFAULT NULL,
p_block_level IN VARCHAR2 DEFAULT NULL,
p_CREATED_BY IN NUMBER DEFAULT NULL,
p_CREATION_DATE IN DATE DEFAULT NULL ,
p_LAST_UPDATED_BY IN NUMBER DEFAULT NULL,
p_LAST_UPDATE_DATE IN DATE DEFAULT NULL,
p_LAST_UPDATE_LOGIN IN NUMBER DEFAULT NULL,
px_OBJECT_VERSION_NUMBER IN OUT NOCOPY NUMBER ,
p_APPLICATION_ID IN NUMBER DEFAULT NULL)
IS
l_prof_var_rec ProfVar_Rec_Type;
p_select_clause => p_select_clause,
p_from_clause => p_from_clause,
p_where_clause => p_where_clause,
p_order_by_clause => p_order_by_clause,
p_other_clause => p_other_clause,
p_block_level => p_block_level,
p_CREATED_BY => p_CREATED_BY,
p_CREATION_DATE => p_CREATION_DATE,
p_LAST_UPDATED_BY => p_LAST_UPDATED_BY,
p_LAST_UPDATE_DATE => p_LAST_UPDATE_DATE,
p_LAST_UPDATE_LOGIN => p_LAST_UPDATE_LOGIN,
p_APPLICATION_ID => p_APPLICATION_ID,
x_Profile_Variables_Rec => l_prof_var_rec
);
Update_Profile_Variable(
p_api_version_number => p_api_version_number,
P_Init_Msg_List => p_init_msg_list,
P_Commit => p_commit,
P_Validation_Level => p_validation_level,
P_prof_var_rec => l_prof_var_rec,
Px_Object_version_number => px_object_version_number,
x_msg_data => x_msg_data,
x_msg_count => x_msg_count,
x_return_status => x_return_status
);
End Update_Profile_Variable;
PROCEDURE Update_Profile_Variable(
p_api_version_number IN NUMBER,
p_init_msg_list IN VARCHAR2:= CSC_CORE_UTILS_PVT.G_FALSE,
p_commit IN VARCHAR2:= CSC_CORE_UTILS_PVT.G_FALSE,
p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
p_prof_var_rec IN ProfVar_Rec_Type := G_MISS_PROF_REC,
px_Object_Version_Number IN OUT NOCOPY NUMBER,
x_msg_data OUT NOCOPY VARCHAR2,
x_msg_count OUT NOCOPY VARCHAR2,
x_return_status OUT NOCOPY VARCHAR2 )
IS
l_api_name CONSTANT VARCHAR2(30) := 'Update_Profile_Variable' ;
SAVEPOINT Update_Profile_Variable_Pvt ;
-- for update.
-- If lock fails we have to abort
-- Get record INTO l_old_prof_var_rec variable
GET_PROF_BLOCKS(
p_api_name => l_api_name,
p_BLOCK_ID => p_prof_var_rec.BLOCK_ID,
p_object_version_number => px_object_version_number,
X_PROF_BLOCKS_REC => l_OLD_PROF_VAR_REC,
x_return_status => x_return_status );
-- select, from, where or other columns change the whole
-- sql statement gets effected.
l_prof_var_rec.select_clause := CSC_CORE_UTILS_PVT.Get_G_Miss_Char(l_prof_var_rec.select_clause,l_old_prof_var_rec.select_clause);
IF ((l_prof_var_rec.select_clause <> l_old_prof_var_rec.select_clause)
OR (l_prof_var_rec.from_clause <> l_old_prof_var_rec.from_clause)
OR (l_prof_var_rec.where_clause <> l_old_prof_var_rec.where_clause)
OR (l_prof_var_rec.other_clause <> l_old_prof_var_rec.other_clause))
THEN
Build_Sql_Stmnt(
p_api_name => l_api_name,
p_SELECT_CLAUSE => l_prof_var_rec.SELECT_CLAUSE,
p_FROM_CLAUSE => l_prof_var_rec.FROM_CLAUSE,
p_WHERE_CLAUSE => l_prof_var_rec.WHERE_CLAUSE,
p_OTHER_CLAUSE => l_prof_var_rec.OTHER_CLAUSE,
X_SQL_STMNT => l_prof_var_rec.SQL_STMNT,
X_return_status => x_return_status );
-- Also Check if Seeded_Flag = 'Y' and then allow / disallow updates
-- of certain fields
Validate_Profile_Variables (
p_api_name => l_api_name_full,
p_validation_mode => CSC_CORE_UTILS_PVT.G_UPDATE,
p_validate_rec => l_prof_var_rec,
x_return_status => x_return_status,
x_msg_count =>x_msg_count,
x_msg_data =>x_msg_data );
-- Build an update record, check if any of the parameters
-- have been not been passed, if not assign a NULL.
-- The mandatory columns have already been validated in
-- Validate_Profile_Variables if the validation level is
-- set to FULL.
CSC_PROF_BLOCKS_PKG.Update_Row(
p_BLOCK_ID => l_prof_var_rec.block_id,
p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
p_LAST_UPDATE_DATE =>sysdate,
p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
p_BLOCK_NAME => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.block_name,l_old_prof_var_rec.block_name) ,
p_DESCRIPTION => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.description,l_old_prof_var_rec.description),
p_START_DATE_ACTIVE => csc_core_utils_pvt.get_g_miss_date(l_prof_var_rec.start_date_active,l_old_prof_var_rec.start_date_active),
p_END_DATE_ACTIVE => csc_core_utils_pvt.get_g_miss_date(l_prof_var_rec.end_date_active,l_old_prof_var_rec.end_date_active),
p_SEEDED_FLAG => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.seeded_flag,l_old_prof_var_rec.seeded_flag),
p_BLOCK_NAME_CODE => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.block_name_code,l_old_prof_var_rec.block_name_code),
p_OBJECT_CODE => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.object_code,l_old_prof_var_rec.object_code),
p_SQL_STMNT_FOR_DRILLDOWN => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.sql_stmnt_for_drilldown,l_old_prof_var_rec.sql_stmnt_for_drilldown),
p_SQL_STMNT => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.sql_stmnt,l_old_prof_var_rec.sql_stmnt),
p_BATCH_SQL_STMNT => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.batch_sql_stmnt,l_old_prof_var_rec.batch_sql_stmnt),
p_SELECT_CLAUSE => l_prof_var_rec.select_clause,
p_CURRENCY_CODE => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.currency_code,l_old_prof_var_rec.currency_code),
p_FROM_CLAUSE => l_prof_var_rec.from_clause,
p_WHERE_CLAUSE => l_prof_var_rec.where_clause,
p_OTHER_CLAUSE => l_prof_var_rec.other_clause,
p_BLOCK_LEVEL => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.block_level,l_old_prof_var_rec.block_level),
px_OBJECT_VERSION_NUMBER => px_Object_Version_Number,
p_APPLICATION_ID => csc_core_utils_pvt.get_g_miss_char(l_prof_var_rec.APPLICATION_ID,l_old_prof_var_rec.application_id));
ROLLBACK TO Update_Profile_Variable_Pvt;
ROLLBACK TO Update_Profile_Variable_Pvt;
ROLLBACK TO Update_Profile_Variable_Pvt;
END Update_Profile_Variable;
PROCEDURE Update_table_column(
P_Api_Version_Number IN NUMBER,
P_Init_Msg_List IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
P_Commit IN VARCHAR2 := CSC_CORE_UTILS_PVT.G_FALSE,
p_validation_level IN NUMBER := CSC_CORE_UTILS_PVT.G_VALID_LEVEL_FULL,
p_Table_Column_REC IN Table_Column_Rec_Type := G_MISS_TABLE_COLUMN_REC,
px_Object_Version_Number IN OUT NOCOPY NUMBER,
X_Return_Status OUT NOCOPY VARCHAR2,
X_Msg_Count OUT NOCOPY NUMBER,
X_Msg_Data OUT NOCOPY VARCHAR2
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Update_table_column';
SAVEPOINT UPDATE_Table_Column_PVT;
p_validation_mode => CSC_CORE_UTILS_PVT.G_UPDATE,
P_Validate_Rec => l_Table_Column_Rec,
x_return_status => x_return_status);
CSC_PROF_TABLE_COLUMNS_PKG.Update_Row(
p_TABLE_COLUMN_ID => l_Table_Column_rec.TABLE_COLUMN_ID,
p_BLOCK_ID => l_Table_Column_rec.BLOCK_ID,
p_TABLE_NAME => l_Table_Column_rec.TABLE_NAME,
p_COLUMN_NAME => l_Table_Column_rec.COLUMN_NAME,
p_LABEL => l_Table_Column_rec.LABEL,
p_TABLE_ALIAS => l_Table_Column_rec.TABLE_ALIAS,
p_COLUMN_SEQUENCE => l_Table_Column_rec.COLUMN_SEQUENCE,
p_DRILLDOWN_COLUMN_FLAG => l_Table_Column_rec.DRILLDOWN_COLUMN_FLAG,
p_LAST_UPDATE_DATE => SYSDATE,
p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
p_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
p_SEEDED_FLAG => l_Table_Column_rec.seeded_flag,
px_OBJECT_VERSION_NUMBER =>px_object_version_number );
ROLLBACK TO UPDATE_Table_Column_PVT;
ROLLBACK TO UPDATE_Table_Column_PVT ;
ROLLBACK TO UPDATE_Table_Column_PVT ;
End Update_table_column;
PROCEDURE Delete_profile_variables(
P_Api_Version_Number IN NUMBER,
P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_Commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_BLOCK_ID IN NUMBER,
p_OBJECT_VERSION_NUMBER IN NUMBER,
X_Return_Status OUT NOCOPY VARCHAR2,
X_Msg_Count OUT NOCOPY NUMBER,
X_Msg_Data OUT NOCOPY VARCHAR2
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Delete_profile_variables';
SAVEPOINT DELETE_Profile_Variables_PVT;
CSC_PROF_BLOCKS_PKG.Delete_Row(
p_BLOCK_ID => P_BLOCK_ID,
p_OBJECT_VERSION_NUMBER => p_OBJECT_VERSION_NUMBER);
ROLLBACK TO DELETE_Table_Column_PVT;
ROLLBACK TO DELETE_Table_Column_PVT ;
ROLLBACK TO DELETE_Table_Column_PVT ;
End Delete_profile_variables;
PROCEDURE Delete_Table_Columns(
P_Api_Version_Number IN NUMBER,
P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_Commit IN VARCHAR2 := FND_API.G_FALSE,
p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
p_BLOCK_ID IN NUMBER,
px_OBJECT_VERSION_NUMBER IN OUT NOCOPY NUMBER,
X_Return_Status OUT NOCOPY VARCHAR2,
X_Msg_Count OUT NOCOPY NUMBER,
X_Msg_Data OUT NOCOPY VARCHAR2
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Delete_table_columns';
Select table_column_id, Object_version_number
From CSC_PROF_TABLE_COLUMNS_VL
Where block_id = p_Block_id;
SAVEPOINT DELETE_Table_Columns_PVT;
CSC_PROF_TABLE_COLUMNS_PKG.Delete_Row(
p_TABLE_COLUMN_ID => C1_rec.TABLE_COLUMN_ID,
p_OBJECT_VERSION_NUMBER => C1_rec.OBJECT_VERSION_NUMBER);
Update_Profile_Variable(
p_api_version_number => 1.0,
p_validation_level => CSC_CORE_UTILS_PVT.G_VALID_LEVEL_NONE,
p_block_id => p_block_id,
p_sql_stmnt_for_drilldown => NULL,
px_object_version_number => PX_OBJECT_VERSION_NUMBER,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data);
ROLLBACK TO DELETE_Table_Columns_PVT;
ROLLBACK TO DELETE_Table_Columns_PVT ;
ROLLBACK TO DELETE_Table_Columns_PVT ;
End Delete_Table_Columns;
Select block_id
from csc_prof_blocks_vl
where block_name = p_block_name;
-- update
IF p_validation_mode = CSC_CORE_UTILS_PVT.G_CREATE THEN
-- check if the block name is passed in and is NOT NULL
-- if so validate else its an mandatory argument error as its
-- in Create Mode.
IF (( p_block_name <> CSC_CORE_UTILS_PVT.G_MISS_CHAR ) AND
( p_block_name IS NOT NULL )) THEN
Open get_block_name;
ELSIF p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE THEN
-- if the block name is passed in and as NULL then
-- its a mandatory argument error.
if ( p_block_name IS NULL ) then
x_return_status := FND_API.G_RET_STS_ERROR;
Select NULL
from jtf_objects_vl
where object_code = p_object_code;
Select null
from csc_prof_blocks_b
where block_name_code = p_block_name_code;
ELSIF p_validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE THEN
-- if the block_name_code is passed in as NULL
-- its an error else validate.
if p_block_name_code IS NULL THEN
-- write a mandatory attributes missing message
x_return_status := FND_API.G_RET_STS_ERROR;
Select *
From CSC_PROF_BLOCKS_VL
Where block_id = p_block_id
and object_version_number = p_object_version_number
For update nowait;
Select *
/* TABLE_COLUMN_ID,
BLOCK_ID,
TABLE_NAME,
COLUMN_NAME,
LABEL,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN
*/
From CSC_PROF_TABLE_COLUMNS_VL
Where Table_Column_ID = p_Table_Column_ID
And object_version_number = p_object_version_number
For Update NOWAIT;
Select NULL
From csc_prof_blocks_b
Where block_id = p_block_id;
ELSIF p_Validation_mode = CSC_CORE_UTILS_PVT.G_UPDATE THEN
IF ( p_block_id <> CSC_CORE_UTILS_PVT.G_MISS_NUM )
THEN
IF (p_block_id IS NOT NULL ) THEN
x_return_status := chk_block_id( p_block_id );
Select NULL
from fnd_tables
where table_name = p_table_name;
Select NULL
from fnd_views
where view_name = p_table_name;
Select NULL
from fnd_columns
where column_name = p_column_name;
Select NULL
from fnd_view_columns
where column_name = p_column_name;