1244: l_feedback_txt varchar2(200);
1245:
1246: v_values V2T;
1247: v_options V2T;
1248: v_describe dbms_sql.desc_tab;
1249:
1250: T_VARCHAR2 constant integer := 1;
1251: T_NUMBER constant integer := 2;
1252: T_LONG constant integer := 8;
1274: execute immediate 'alter session set nls_date_format =
1275: ''MM-DD-YYYY HH24:MI''';
1276: end if;
1277: begin
1278: v_cursor_id := DBMS_SQL.OPEN_CURSOR;
1279: DBMS_SQL.PARSE(v_cursor_id, p_sql_statement, DBMS_SQL.V7);
1280: DBMS_SQL.DESCRIBE_COLUMNS(v_cursor_id, column_high, v_describe);
1281: hold_sql := 'select ';
1282: hold_sql_needed := null;
1275: ''MM-DD-YYYY HH24:MI''';
1276: end if;
1277: begin
1278: v_cursor_id := DBMS_SQL.OPEN_CURSOR;
1279: DBMS_SQL.PARSE(v_cursor_id, p_sql_statement, DBMS_SQL.V7);
1280: DBMS_SQL.DESCRIBE_COLUMNS(v_cursor_id, column_high, v_describe);
1281: hold_sql := 'select ';
1282: hold_sql_needed := null;
1283: hold_exclude_cols := false;
1276: end if;
1277: begin
1278: v_cursor_id := DBMS_SQL.OPEN_CURSOR;
1279: DBMS_SQL.PARSE(v_cursor_id, p_sql_statement, DBMS_SQL.V7);
1280: DBMS_SQL.DESCRIBE_COLUMNS(v_cursor_id, column_high, v_describe);
1281: hold_sql := 'select ';
1282: hold_sql_needed := null;
1283: hold_exclude_cols := false;
1284: hold_sql_remain := ltrim(substr(replace(p_sql_statement,l_newline,' '), 7));
1289: hold_length := to_number(v_describe(value_counter).col_max_len);
1290: end if;
1291: if v_describe(value_counter).col_type in (T_DATE, T_VARCHAR2,
1292: T_NUMBER, T_CHAR, T_ROWID) then
1293: DBMS_SQL.DEFINE_COLUMN(v_cursor_id, value_counter,
1294: hold_string, greatest(TO_NUMBER(hold_length),30));
1295: elsif v_describe(value_counter).col_type = T_CLOB then
1296: DBMS_SQL.DEFINE_COLUMN(v_cursor_id, value_counter, hold_clob);
1297: else
1292: T_NUMBER, T_CHAR, T_ROWID) then
1293: DBMS_SQL.DEFINE_COLUMN(v_cursor_id, value_counter,
1294: hold_string, greatest(TO_NUMBER(hold_length),30));
1295: elsif v_describe(value_counter).col_type = T_CLOB then
1296: DBMS_SQL.DEFINE_COLUMN(v_cursor_id, value_counter, hold_clob);
1297: else
1298: null;
1299: end if;
1300: hold_string := v_describe(value_counter).col_name;
1336: end if;
1337: hold_sql_needed := ', ';
1338: end loop;
1339: if hold_exclude_cols then
1340: DBMS_SQL.CLOSE_CURSOR(v_cursor_id);
1341: hold_sql := hold_sql || ' ' ||
1342: substr(p_sql_statement,instr(lower(p_sql_statement),' from '));
1343: row_counter := Display_SQL (hold_sql, table_alias, display_longs,
1344: p_feedback, p_max_rows, p_current_exec + 1) + 1;
1351: --Always print the header if user doesnot want to hide headers
1352: line_out('
' || temp || '');
1353: end if;
1354:
1355: v_dummy := DBMS_SQL.EXECUTE(v_cursor_id);
1356:
1357: row_counter := 1;
1358: loop
1359: if DBMS_SQL.FETCH_ROWS(v_cursor_id) = 0 then
1355: v_dummy := DBMS_SQL.EXECUTE(v_cursor_id);
1356:
1357: row_counter := 1;
1358: loop
1359: if DBMS_SQL.FETCH_ROWS(v_cursor_id) = 0 then
1360: if row_counter > 1 then
1361: Show_Table('END');
1362: end if;
1363: exit;
1375: end if;
1376: for value_counter in 1..column_high loop
1377: if v_describe(value_counter).col_type in
1378: (T_DATE, T_VARCHAR2, T_NUMBER, T_CHAR, T_ROWID) then
1379: DBMS_SQL.COLUMN_VALUE(v_cursor_id,value_counter,hold_string);
1380: else
1381: DBMS_SQL.COLUMN_VALUE(v_cursor_id,value_counter,hold_clob);
1382: hold_string := 'CLOB';
1383: end if;
1377: if v_describe(value_counter).col_type in
1378: (T_DATE, T_VARCHAR2, T_NUMBER, T_CHAR, T_ROWID) then
1379: DBMS_SQL.COLUMN_VALUE(v_cursor_id,value_counter,hold_string);
1380: else
1381: DBMS_SQL.COLUMN_VALUE(v_cursor_id,value_counter,hold_clob);
1382: hold_string := 'CLOB';
1383: end if;
1384: hold_string := nvl(hold_string,' ');
1385: hold_option := null;
1416: Show_Table('END');
1417: exit;
1418: end if;
1419: end loop;
1420: DBMS_SQL.CLOSE_CURSOR(v_cursor_id);
1421: end if;
1422: if p_current_exec = 0 and p_feedback = 'Y' then
1423: if row_counter = 1 then
1424: if hideHeader = FALSE then
1443: return row_counter-1;
1444: exception
1445: when others then
1446: line_out('
');
1447: error_position := DBMS_SQL.LAST_ERROR_POSITION;
1448: ErrorPrint(sqlerrm || ' occurred in Display_SQL');
1449: ActionErrorPrint('Please report the error below to your support '||
1450: 'representative');
1451: line_out('Position: ' || error_position || ' of ' ||
1458: replace(substr(p_sql_statement,error_position+1,
1459: error_position_end),l_newline,'
') || '');
1460: line_out(replace(substr(p_sql_statement,error_position+
1461: error_position_end+1),l_newline,'
') || '
');
1462: DBMS_SQL.CLOSE_CURSOR(v_cursor_id);
1463: if p_current_exec = 0 then
1464: execute immediate 'alter session set nls_date_format = ''' ||
1465: l_hold_date_format || '''';
1466: end if;
2078: 'where rg.responsibility_id = '||to_char(p_resp_id)||' '||
2079: 'and rg.user_id = '||to_char(l_user_id);
2080: end if;
2081: begin
2082: l_cursor := dbms_sql.open_cursor;
2083: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2084: dbms_sql.define_column(l_cursor, 1, l_app_id);
2085: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
2086: dbms_sql.column_value(l_cursor, 1, l_app_id);
2079: 'and rg.user_id = '||to_char(l_user_id);
2080: end if;
2081: begin
2082: l_cursor := dbms_sql.open_cursor;
2083: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2084: dbms_sql.define_column(l_cursor, 1, l_app_id);
2085: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
2086: dbms_sql.column_value(l_cursor, 1, l_app_id);
2087: dbms_sql.close_cursor(l_cursor);
2080: end if;
2081: begin
2082: l_cursor := dbms_sql.open_cursor;
2083: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2084: dbms_sql.define_column(l_cursor, 1, l_app_id);
2085: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
2086: dbms_sql.column_value(l_cursor, 1, l_app_id);
2087: dbms_sql.close_cursor(l_cursor);
2088:
2081: begin
2082: l_cursor := dbms_sql.open_cursor;
2083: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2084: dbms_sql.define_column(l_cursor, 1, l_app_id);
2085: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
2086: dbms_sql.column_value(l_cursor, 1, l_app_id);
2087: dbms_sql.close_cursor(l_cursor);
2088:
2089: exception
2082: l_cursor := dbms_sql.open_cursor;
2083: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2084: dbms_sql.define_column(l_cursor, 1, l_app_id);
2085: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
2086: dbms_sql.column_value(l_cursor, 1, l_app_id);
2087: dbms_sql.close_cursor(l_cursor);
2088:
2089: exception
2090: when no_data_found then
2083: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2084: dbms_sql.define_column(l_cursor, 1, l_app_id);
2085: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
2086: dbms_sql.column_value(l_cursor, 1, l_app_id);
2087: dbms_sql.close_cursor(l_cursor);
2088:
2089: exception
2090: when no_data_found then
2091: raise inv_resp;
2092: when too_many_rows then
2093: if p_app_id is null then
2094: raise no_app;
2095: else
2096: dbms_sql.close_cursor(l_cursor);
2097: l_cursor := dbms_sql.open_cursor;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2093: if p_app_id is null then
2094: raise no_app;
2095: else
2096: dbms_sql.close_cursor(l_cursor);
2097: l_cursor := dbms_sql.open_cursor;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2101: while dbms_sql.fetch_rows(l_cursor) > 0 loop
2094: raise no_app;
2095: else
2096: dbms_sql.close_cursor(l_cursor);
2097: l_cursor := dbms_sql.open_cursor;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2101: while dbms_sql.fetch_rows(l_cursor) > 0 loop
2102: dbms_sql.column_value(l_cursor, 1, l_app_id);
2095: else
2096: dbms_sql.close_cursor(l_cursor);
2097: l_cursor := dbms_sql.open_cursor;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2101: while dbms_sql.fetch_rows(l_cursor) > 0 loop
2102: dbms_sql.column_value(l_cursor, 1, l_app_id);
2103: if l_app_id = p_app_id then
2096: dbms_sql.close_cursor(l_cursor);
2097: l_cursor := dbms_sql.open_cursor;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2101: while dbms_sql.fetch_rows(l_cursor) > 0 loop
2102: dbms_sql.column_value(l_cursor, 1, l_app_id);
2103: if l_app_id = p_app_id then
2104: exit;
2097: l_cursor := dbms_sql.open_cursor;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2101: while dbms_sql.fetch_rows(l_cursor) > 0 loop
2102: dbms_sql.column_value(l_cursor, 1, l_app_id);
2103: if l_app_id = p_app_id then
2104: exit;
2105: end if;
2098: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2099: dbms_sql.define_column(l_cursor, 1, l_app_id);
2100: l_num_rows := dbms_sql.execute(l_cursor);
2101: while dbms_sql.fetch_rows(l_cursor) > 0 loop
2102: dbms_sql.column_value(l_cursor, 1, l_app_id);
2103: if l_app_id = p_app_id then
2104: exit;
2105: end if;
2106: end loop;
2103: if l_app_id = p_app_id then
2104: exit;
2105: end if;
2106: end loop;
2107: dbms_sql.close_cursor(l_cursor);
2108: if l_app_id <> p_app_id then
2109: raise inv_app;
2110: end if;
2111: end if;
2109: raise inv_app;
2110: end if;
2111: end if;
2112: end;
2113: l_cursor := dbms_sql.open_cursor;
2114: if g_appl_version = '11.5' then
2115: sqltxt := 'begin '||
2116: 'fnd_global.apps_initialize(:user, :resp, '||
2117: ':appl, :secg); '||
2115: sqltxt := 'begin '||
2116: 'fnd_global.apps_initialize(:user, :resp, '||
2117: ':appl, :secg); '||
2118: 'end; ';
2119: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2120: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2121: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2122: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2123: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
2116: 'fnd_global.apps_initialize(:user, :resp, '||
2117: ':appl, :secg); '||
2118: 'end; ';
2119: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2120: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2121: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2122: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2123: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
2124: else
2117: ':appl, :secg); '||
2118: 'end; ';
2119: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2120: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2121: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2122: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2123: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
2124: else
2125: sqltxt := 'begin '||
2118: 'end; ';
2119: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2120: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2121: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2122: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2123: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
2124: else
2125: sqltxt := 'begin '||
2126: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
2119: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2120: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2121: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2122: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2123: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
2124: else
2125: sqltxt := 'begin '||
2126: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
2127: 'end; ';
2124: else
2125: sqltxt := 'begin '||
2126: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
2127: 'end; ';
2128: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2129: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2130: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2131: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2132: end if;
2125: sqltxt := 'begin '||
2126: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
2127: 'end; ';
2128: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2129: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2130: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2131: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2132: end if;
2133: l_num_rows := dbms_sql.execute(l_cursor);
2126: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
2127: 'end; ';
2128: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2129: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2130: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2131: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2132: end if;
2133: l_num_rows := dbms_sql.execute(l_cursor);
2134: g_user_id := l_user_id;
2127: 'end; ';
2128: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
2129: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2130: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2131: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2132: end if;
2133: l_num_rows := dbms_sql.execute(l_cursor);
2134: g_user_id := l_user_id;
2135: g_resp_id := p_resp_id;
2129: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
2130: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
2131: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
2132: end if;
2133: l_num_rows := dbms_sql.execute(l_cursor);
2134: g_user_id := l_user_id;
2135: g_resp_id := p_resp_id;
2136: g_appl_id := l_app_id;
2137: g_org_id := Get_Profile_Option('ORG_ID');
3321: l_row_counter number;
3322: l_row_str varchar2(32767) := null;
3323: l_column_high binary_integer := 1;
3324: l_cursor number;
3325: l_cols dbms_sql.desc_tab;
3326: l_number_value number;
3327: l_date_value date;
3328: l_varchar_value varchar2(32767);
3329: l_dummy integer;
3351: l_max_rows := p_max_rows;
3352: end if;
3353: l_headers := p_headers;
3354: l_disp_lengths := p_disp_lengths;
3355: l_cursor := DBMS_SQL.OPEN_CURSOR;
3356: begin
3357: DBMS_SQL.PARSE(l_cursor, p_sql_statement, DBMS_SQL.V7);
3358: exception when others then
3359: ErrorPrint('Unable to parse the statement passed to Display_SQL: '||
3353: l_headers := p_headers;
3354: l_disp_lengths := p_disp_lengths;
3355: l_cursor := DBMS_SQL.OPEN_CURSOR;
3356: begin
3357: DBMS_SQL.PARSE(l_cursor, p_sql_statement, DBMS_SQL.V7);
3358: exception when others then
3359: ErrorPrint('Unable to parse the statement passed to Display_SQL: '||
3360: sqlerrm);
3361: ActionErrorPrint('Review the SQL statement below for errors and provide '||
3363: p_sql_statement);
3364: raise param_error;
3365: end;
3366:
3367: DBMS_SQL.DESCRIBE_COLUMNS(l_cursor, l_column_high, l_cols);
3368: if l_column_high <> l_disp_lengths.count then
3369: ErrorPrint('The column length is not specified for the correct number '||
3370: 'of columns in call to Display_SQL');
3371: ActionErrorPrint('You must spefify the display length for each and every '||
3388: 'columns of type '||l_cols(i).col_type);
3389: raise param_error;
3390: end if;
3391: if l_cols(i).col_type = T_NUMBER then
3392: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_number_value);
3393: elsif l_cols(i).col_type = T_DATE then
3394: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_date_value);
3395: l_disp_lengths(i) := greatest(l_disp_lengths(i),11);
3396: elsif l_cols(i).col_type = T_VARCHAR2 then
3390: end if;
3391: if l_cols(i).col_type = T_NUMBER then
3392: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_number_value);
3393: elsif l_cols(i).col_type = T_DATE then
3394: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_date_value);
3395: l_disp_lengths(i) := greatest(l_disp_lengths(i),11);
3396: elsif l_cols(i).col_type = T_VARCHAR2 then
3397: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_varchar_value,
3398: l_cols(i).col_max_len);
3393: elsif l_cols(i).col_type = T_DATE then
3394: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_date_value);
3395: l_disp_lengths(i) := greatest(l_disp_lengths(i),11);
3396: elsif l_cols(i).col_type = T_VARCHAR2 then
3397: DBMS_SQL.DEFINE_COLUMN(l_cursor, i, l_varchar_value,
3398: l_cols(i).col_max_len);
3399: else
3400: null;
3401: end if;
3411: l_disp_lengths(i) := nvl(l_disp_lengths(i),length(l_headers(i)));
3412: l_headers(i) := lpad(l_headers(i),l_disp_lengths(i),' ');
3413: end if;
3414: end loop;
3415: l_dummy := dbms_sql.execute(l_cursor);
3416: l_row_counter := 0;
3417: while dbms_sql.fetch_rows(l_cursor) <> 0 loop
3418: if l_row_counter = 0 then
3419: Show_Table_Header(l_headers, l_disp_lengths);
3413: end if;
3414: end loop;
3415: l_dummy := dbms_sql.execute(l_cursor);
3416: l_row_counter := 0;
3417: while dbms_sql.fetch_rows(l_cursor) <> 0 loop
3418: if l_row_counter = 0 then
3419: Show_Table_Header(l_headers, l_disp_lengths);
3420: end if;
3421: l_row_counter := l_row_counter + 1;
3424: exit;
3425: end if;
3426: for i in 1..l_column_high loop
3427: if l_cols(i).col_type = T_NUMBER then
3428: dbms_sql.column_value(l_cursor, i, l_number_value);
3429: if length(to_char(l_number_value)) > l_disp_lengths(i) then
3430: l_varchar_value := rpad('*',l_disp_lengths(i),'*');
3431: else
3432: if i = 1 then
3441: l_disp_lengths(i),' ');
3442: end if;
3443: end if;
3444: elsif l_cols(i).col_type = T_DATE then
3445: dbms_sql.column_value(l_cursor, i, l_date_value);
3446: if i = 1 and l_date_value is null then
3447: l_varchar_value := rpad(l_return,l_disp_lengths(i)+1, ' ');
3448: else
3449: l_varchar_value:=rpad(nvl(to_char(l_date_value,'MM-DD-YYYY'),' '),
3449: l_varchar_value:=rpad(nvl(to_char(l_date_value,'MM-DD-YYYY'),' '),
3450: l_disp_lengths(i), ' ');
3451: end if;
3452: elsif l_cols(i).col_type = T_VARCHAR2 then
3453: dbms_sql.column_value(l_cursor, i, l_varchar_value);
3454: if i = 1 and l_varchar_value is null then
3455: l_varchar_value := rpad(l_return,l_disp_lengths(i)+1,' ');
3456: else
3457: l_varchar_value := rpad(substr(nvl(l_varchar_value,' '),1,
4241: 'where rg.responsibility_id = '||to_char(p_resp_id)||' '||
4242: 'and rg.user_id = '||to_char(l_user_id);
4243: end if;
4244: begin
4245: l_cursor := dbms_sql.open_cursor;
4246: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4247: dbms_sql.define_column(l_cursor, 1, l_app_id);
4248: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4249: dbms_sql.column_value(l_cursor, 1, l_app_id);
4242: 'and rg.user_id = '||to_char(l_user_id);
4243: end if;
4244: begin
4245: l_cursor := dbms_sql.open_cursor;
4246: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4247: dbms_sql.define_column(l_cursor, 1, l_app_id);
4248: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4249: dbms_sql.column_value(l_cursor, 1, l_app_id);
4250: dbms_sql.close_cursor(l_cursor);
4243: end if;
4244: begin
4245: l_cursor := dbms_sql.open_cursor;
4246: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4247: dbms_sql.define_column(l_cursor, 1, l_app_id);
4248: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4249: dbms_sql.column_value(l_cursor, 1, l_app_id);
4250: dbms_sql.close_cursor(l_cursor);
4251:
4244: begin
4245: l_cursor := dbms_sql.open_cursor;
4246: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4247: dbms_sql.define_column(l_cursor, 1, l_app_id);
4248: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4249: dbms_sql.column_value(l_cursor, 1, l_app_id);
4250: dbms_sql.close_cursor(l_cursor);
4251:
4252: exception
4245: l_cursor := dbms_sql.open_cursor;
4246: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4247: dbms_sql.define_column(l_cursor, 1, l_app_id);
4248: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4249: dbms_sql.column_value(l_cursor, 1, l_app_id);
4250: dbms_sql.close_cursor(l_cursor);
4251:
4252: exception
4253: when no_data_found then
4246: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4247: dbms_sql.define_column(l_cursor, 1, l_app_id);
4248: l_num_rows := dbms_sql.execute_and_fetch(l_cursor, TRUE);
4249: dbms_sql.column_value(l_cursor, 1, l_app_id);
4250: dbms_sql.close_cursor(l_cursor);
4251:
4252: exception
4253: when no_data_found then
4254: raise inv_resp;
4255: when too_many_rows then
4256: if p_app_id is null then
4257: raise no_app;
4258: else
4259: dbms_sql.close_cursor(l_cursor);
4260: l_cursor := dbms_sql.open_cursor;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4256: if p_app_id is null then
4257: raise no_app;
4258: else
4259: dbms_sql.close_cursor(l_cursor);
4260: l_cursor := dbms_sql.open_cursor;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4264: while dbms_sql.fetch_rows(l_cursor) > 0 loop
4257: raise no_app;
4258: else
4259: dbms_sql.close_cursor(l_cursor);
4260: l_cursor := dbms_sql.open_cursor;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4264: while dbms_sql.fetch_rows(l_cursor) > 0 loop
4265: dbms_sql.column_value(l_cursor, 1, l_app_id);
4258: else
4259: dbms_sql.close_cursor(l_cursor);
4260: l_cursor := dbms_sql.open_cursor;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4264: while dbms_sql.fetch_rows(l_cursor) > 0 loop
4265: dbms_sql.column_value(l_cursor, 1, l_app_id);
4266: if l_app_id = p_app_id then
4259: dbms_sql.close_cursor(l_cursor);
4260: l_cursor := dbms_sql.open_cursor;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4264: while dbms_sql.fetch_rows(l_cursor) > 0 loop
4265: dbms_sql.column_value(l_cursor, 1, l_app_id);
4266: if l_app_id = p_app_id then
4267: exit;
4260: l_cursor := dbms_sql.open_cursor;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4264: while dbms_sql.fetch_rows(l_cursor) > 0 loop
4265: dbms_sql.column_value(l_cursor, 1, l_app_id);
4266: if l_app_id = p_app_id then
4267: exit;
4268: end if;
4261: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4262: dbms_sql.define_column(l_cursor, 1, l_app_id);
4263: l_num_rows := dbms_sql.execute(l_cursor);
4264: while dbms_sql.fetch_rows(l_cursor) > 0 loop
4265: dbms_sql.column_value(l_cursor, 1, l_app_id);
4266: if l_app_id = p_app_id then
4267: exit;
4268: end if;
4269: end loop;
4266: if l_app_id = p_app_id then
4267: exit;
4268: end if;
4269: end loop;
4270: dbms_sql.close_cursor(l_cursor);
4271: if l_app_id <> p_app_id then
4272: raise inv_app;
4273: end if;
4274: end if;
4272: raise inv_app;
4273: end if;
4274: end if;
4275: end;
4276: l_cursor := dbms_sql.open_cursor;
4277: if g_appl_version = '11.5' then
4278: sqltxt := 'begin '||
4279: 'fnd_global.apps_initialize(:user, :resp, '||
4280: ':appl, :secg); '||
4278: sqltxt := 'begin '||
4279: 'fnd_global.apps_initialize(:user, :resp, '||
4280: ':appl, :secg); '||
4281: 'end; ';
4282: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4283: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4284: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4285: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4286: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
4279: 'fnd_global.apps_initialize(:user, :resp, '||
4280: ':appl, :secg); '||
4281: 'end; ';
4282: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4283: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4284: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4285: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4286: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
4287: else
4280: ':appl, :secg); '||
4281: 'end; ';
4282: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4283: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4284: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4285: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4286: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
4287: else
4288: sqltxt := 'begin '||
4281: 'end; ';
4282: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4283: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4284: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4285: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4286: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
4287: else
4288: sqltxt := 'begin '||
4289: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
4282: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4283: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4284: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4285: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4286: dbms_sql.bind_variable(l_cursor,':secg',p_sec_grp_id);
4287: else
4288: sqltxt := 'begin '||
4289: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
4290: 'end; ';
4287: else
4288: sqltxt := 'begin '||
4289: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
4290: 'end; ';
4291: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4292: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4293: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4294: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4295: end if;
4288: sqltxt := 'begin '||
4289: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
4290: 'end; ';
4291: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4292: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4293: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4294: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4295: end if;
4296: l_num_rows := dbms_sql.execute(l_cursor);
4289: 'fnd_global.apps_initialize(:user,:resp,:appl); '||
4290: 'end; ';
4291: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4292: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4293: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4294: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4295: end if;
4296: l_num_rows := dbms_sql.execute(l_cursor);
4297: g_user_id := l_user_id;
4290: 'end; ';
4291: dbms_sql.parse(l_cursor, sqltxt, dbms_sql.native);
4292: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4293: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4294: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4295: end if;
4296: l_num_rows := dbms_sql.execute(l_cursor);
4297: g_user_id := l_user_id;
4298: g_resp_id := p_resp_id;
4292: dbms_sql.bind_variable(l_cursor,':user',l_user_id);
4293: dbms_sql.bind_variable(l_cursor,':resp',p_resp_id);
4294: dbms_sql.bind_variable(l_cursor,':appl',l_app_id);
4295: end if;
4296: l_num_rows := dbms_sql.execute(l_cursor);
4297: g_user_id := l_user_id;
4298: g_resp_id := p_resp_id;
4299: g_appl_id := l_app_id;
4300: g_org_id := Get_Profile_Option('ORG_ID');