3935: sqlstr := sqlstr || ' else :r := ''N''; end if; END;';
3936: IF (fnd_flex_server1.g_debug_level > 0) THEN
3937: FND_FLEX_SERVER1.add_debug(sqlstr);
3938: END IF;
3939: cursornum := dbms_sql.open_cursor;
3940: dbms_sql.parse(cursornum, sqlstr, dbms_sql.v7);
3941: dbms_sql.bind_variable(cursornum, ':n', ccid);
3942: dbms_sql.bind_variable(cursornum, ':r', yes_or_no, 1);
3943: nprocessed := dbms_sql.execute(cursornum);
3936: IF (fnd_flex_server1.g_debug_level > 0) THEN
3937: FND_FLEX_SERVER1.add_debug(sqlstr);
3938: END IF;
3939: cursornum := dbms_sql.open_cursor;
3940: dbms_sql.parse(cursornum, sqlstr, dbms_sql.v7);
3941: dbms_sql.bind_variable(cursornum, ':n', ccid);
3942: dbms_sql.bind_variable(cursornum, ':r', yes_or_no, 1);
3943: nprocessed := dbms_sql.execute(cursornum);
3944: dbms_sql.variable_value(cursornum, ':r', yes_or_no);
3937: FND_FLEX_SERVER1.add_debug(sqlstr);
3938: END IF;
3939: cursornum := dbms_sql.open_cursor;
3940: dbms_sql.parse(cursornum, sqlstr, dbms_sql.v7);
3941: dbms_sql.bind_variable(cursornum, ':n', ccid);
3942: dbms_sql.bind_variable(cursornum, ':r', yes_or_no, 1);
3943: nprocessed := dbms_sql.execute(cursornum);
3944: dbms_sql.variable_value(cursornum, ':r', yes_or_no);
3945: IF (fnd_flex_server1.g_debug_level > 0) THEN
3938: END IF;
3939: cursornum := dbms_sql.open_cursor;
3940: dbms_sql.parse(cursornum, sqlstr, dbms_sql.v7);
3941: dbms_sql.bind_variable(cursornum, ':n', ccid);
3942: dbms_sql.bind_variable(cursornum, ':r', yes_or_no, 1);
3943: nprocessed := dbms_sql.execute(cursornum);
3944: dbms_sql.variable_value(cursornum, ':r', yes_or_no);
3945: IF (fnd_flex_server1.g_debug_level > 0) THEN
3946: FND_FLEX_SERVER1.add_debug('Dynamic SQL called FDFGLI and returned '||
3939: cursornum := dbms_sql.open_cursor;
3940: dbms_sql.parse(cursornum, sqlstr, dbms_sql.v7);
3941: dbms_sql.bind_variable(cursornum, ':n', ccid);
3942: dbms_sql.bind_variable(cursornum, ':r', yes_or_no, 1);
3943: nprocessed := dbms_sql.execute(cursornum);
3944: dbms_sql.variable_value(cursornum, ':r', yes_or_no);
3945: IF (fnd_flex_server1.g_debug_level > 0) THEN
3946: FND_FLEX_SERVER1.add_debug('Dynamic SQL called FDFGLI and returned '||
3947: yes_or_no || '. ');
3940: dbms_sql.parse(cursornum, sqlstr, dbms_sql.v7);
3941: dbms_sql.bind_variable(cursornum, ':n', ccid);
3942: dbms_sql.bind_variable(cursornum, ':r', yes_or_no, 1);
3943: nprocessed := dbms_sql.execute(cursornum);
3944: dbms_sql.variable_value(cursornum, ':r', yes_or_no);
3945: IF (fnd_flex_server1.g_debug_level > 0) THEN
3946: FND_FLEX_SERVER1.add_debug('Dynamic SQL called FDFGLI and returned '||
3947: yes_or_no || '. ');
3948: END IF;
3945: IF (fnd_flex_server1.g_debug_level > 0) THEN
3946: FND_FLEX_SERVER1.add_debug('Dynamic SQL called FDFGLI and returned '||
3947: yes_or_no || '. ');
3948: END IF;
3949: dbms_sql.close_cursor(cursornum);
3950: return(yes_or_no = 'Y');
3951: end if;
3952:
3953: return(TRUE);
3954:
3955: EXCEPTION
3956: WHEN OTHERS then
3957: -- bug#4072642 -- maximum open cursors exceeded
3958: if dbms_sql.is_open(cursornum) then
3959: dbms_sql.close_cursor(cursornum);
3960: end if;
3961: if((SQLCODE = -6550) and (INSTR(SQLERRM, 'PLS-00201') > 0)) then
3962: FND_MESSAGE.set_name('FND', 'FLEX-FDFGLI MISSING');
3955: EXCEPTION
3956: WHEN OTHERS then
3957: -- bug#4072642 -- maximum open cursors exceeded
3958: if dbms_sql.is_open(cursornum) then
3959: dbms_sql.close_cursor(cursornum);
3960: end if;
3961: if((SQLCODE = -6550) and (INSTR(SQLERRM, 'PLS-00201') > 0)) then
3962: FND_MESSAGE.set_name('FND', 'FLEX-FDFGLI MISSING');
3963: FND_MESSAGE.set_token('MSG', SQLERRM);
4244: --
4245: -- Check if the combination is already in the table.
4246: --
4247: BEGIN
4248: l_cursor := dbms_sql.open_cursor;
4249: dbms_sql.parse(l_cursor, p_select_sql, dbms_sql.native);
4250: FOR i IN 1..l_bind_count LOOP
4251: dbms_sql.bind_variable(l_cursor, 'S' || i , l_binds(i));
4252: END LOOP;
4245: -- Check if the combination is already in the table.
4246: --
4247: BEGIN
4248: l_cursor := dbms_sql.open_cursor;
4249: dbms_sql.parse(l_cursor, p_select_sql, dbms_sql.native);
4250: FOR i IN 1..l_bind_count LOOP
4251: dbms_sql.bind_variable(l_cursor, 'S' || i , l_binds(i));
4252: END LOOP;
4253: dbms_sql.define_column(l_cursor, 1, l_ccid);
4247: BEGIN
4248: l_cursor := dbms_sql.open_cursor;
4249: dbms_sql.parse(l_cursor, p_select_sql, dbms_sql.native);
4250: FOR i IN 1..l_bind_count LOOP
4251: dbms_sql.bind_variable(l_cursor, 'S' || i , l_binds(i));
4252: END LOOP;
4253: dbms_sql.define_column(l_cursor, 1, l_ccid);
4254: l_num := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4255:
4249: dbms_sql.parse(l_cursor, p_select_sql, dbms_sql.native);
4250: FOR i IN 1..l_bind_count LOOP
4251: dbms_sql.bind_variable(l_cursor, 'S' || i , l_binds(i));
4252: END LOOP;
4253: dbms_sql.define_column(l_cursor, 1, l_ccid);
4254: l_num := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4255:
4256: --
4257: -- Combination already exists.
4250: FOR i IN 1..l_bind_count LOOP
4251: dbms_sql.bind_variable(l_cursor, 'S' || i , l_binds(i));
4252: END LOOP;
4253: dbms_sql.define_column(l_cursor, 1, l_ccid);
4254: l_num := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4255:
4256: --
4257: -- Combination already exists.
4258: --
4255:
4256: --
4257: -- Combination already exists.
4258: --
4259: dbms_sql.column_value(l_cursor, 1, l_ccid);
4260: dbms_sql.close_cursor(l_cursor);
4261: x_is_new := 'N';
4262: GOTO return_success;
4263: EXCEPTION
4256: --
4257: -- Combination already exists.
4258: --
4259: dbms_sql.column_value(l_cursor, 1, l_ccid);
4260: dbms_sql.close_cursor(l_cursor);
4261: x_is_new := 'N';
4262: GOTO return_success;
4263: EXCEPTION
4264: WHEN no_data_found THEN
4264: WHEN no_data_found THEN
4265: --
4266: -- Combination doesn't exist, continue to INSERT.
4267: --
4268: dbms_sql.close_cursor(l_cursor);
4269: WHEN OTHERS THEN
4270: dbms_sql.close_cursor(l_cursor);
4271: fnd_message.set_name('FND', 'FLEX-USER DEFINED ERROR');
4272: fnd_message.set_token('MSG', l_func_name ||
4266: -- Combination doesn't exist, continue to INSERT.
4267: --
4268: dbms_sql.close_cursor(l_cursor);
4269: WHEN OTHERS THEN
4270: dbms_sql.close_cursor(l_cursor);
4271: fnd_message.set_name('FND', 'FLEX-USER DEFINED ERROR');
4272: fnd_message.set_token('MSG', l_func_name ||
4273: ' is unable to select from table ' ||
4274: p_application_table_name || '. ' || l_newline ||
4335: --
4336: -- INSERT the combination.
4337: --
4338: BEGIN
4339: l_cursor := dbms_sql.open_cursor;
4340: dbms_sql.parse(l_cursor, p_insert_sql, dbms_sql.native);
4341:
4342: --
4343: -- First bind is the CCID.
4336: -- INSERT the combination.
4337: --
4338: BEGIN
4339: l_cursor := dbms_sql.open_cursor;
4340: dbms_sql.parse(l_cursor, p_insert_sql, dbms_sql.native);
4341:
4342: --
4343: -- First bind is the CCID.
4344: --
4341:
4342: --
4343: -- First bind is the CCID.
4344: --
4345: dbms_sql.bind_variable(l_cursor, 'CCID', l_ccid);
4346:
4347: --
4348: -- Bind Start and End Dates.
4349: --
4346:
4347: --
4348: -- Bind Start and End Dates.
4349: --
4350: dbms_sql.bind_variable(l_cursor, 'START_DATE_ACTIVE', p_start_date_active);
4351: dbms_sql.bind_variable(l_cursor, 'END_DATE_ACTIVE', p_end_date_active);
4352:
4353: --
4354: -- Bind the rest.
4347: --
4348: -- Bind Start and End Dates.
4349: --
4350: dbms_sql.bind_variable(l_cursor, 'START_DATE_ACTIVE', p_start_date_active);
4351: dbms_sql.bind_variable(l_cursor, 'END_DATE_ACTIVE', p_end_date_active);
4352:
4353: --
4354: -- Bind the rest.
4355: --
4353: --
4354: -- Bind the rest.
4355: --
4356: FOR i IN 1..l_bind_count LOOP
4357: dbms_sql.bind_variable(l_cursor, 'I' || i, l_binds(i));
4358: END LOOP;
4359: l_num := dbms_sql.execute(l_cursor);
4360: dbms_sql.close_cursor(l_cursor);
4361: IF (l_num <> 1) THEN
4355: --
4356: FOR i IN 1..l_bind_count LOOP
4357: dbms_sql.bind_variable(l_cursor, 'I' || i, l_binds(i));
4358: END LOOP;
4359: l_num := dbms_sql.execute(l_cursor);
4360: dbms_sql.close_cursor(l_cursor);
4361: IF (l_num <> 1) THEN
4362: fnd_message.set_name('FND', 'FLEX-USER DEFINED ERROR');
4363: fnd_message.set_token('MSG', l_func_name ||
4356: FOR i IN 1..l_bind_count LOOP
4357: dbms_sql.bind_variable(l_cursor, 'I' || i, l_binds(i));
4358: END LOOP;
4359: l_num := dbms_sql.execute(l_cursor);
4360: dbms_sql.close_cursor(l_cursor);
4361: IF (l_num <> 1) THEN
4362: fnd_message.set_name('FND', 'FLEX-USER DEFINED ERROR');
4363: fnd_message.set_token('MSG', l_func_name ||
4364: ' is unable to insert new combination. ' ||
4368: END IF;
4369: x_is_new := 'Y';
4370: EXCEPTION
4371: WHEN OTHERS THEN
4372: dbms_sql.close_cursor(l_cursor);
4373: fnd_message.set_name('FND', 'FLEX-USER DEFINED ERROR');
4374: fnd_message.set_token('MSG', l_func_name ||
4375: ' is unable to insert new combination. ' ||
4376: ' into table ' || p_application_table_name ||