29: p_status_code IN VARCHAR2,
30: p_item_tbl OUT NOCOPY /* file.sql.39 change */ l_tbl%TYPE
31: )
32: IS
33: l_items_tbl DBMS_SQL.VARCHAR2_TABLE;
34: l_rows_updated INTEGER;
35: l_cursor_id INTEGER;
36: l_batchsize CONSTANT INTEGER := 1;
37: l_update_stmt VARCHAR2(4000);
50:
51:
52: BEGIN
53:
54: l_cursor_id := DBMS_SQL.OPEN_CURSOR;
55:
56: l_update_stmt := 'SELECT m.inventory_item_id
57: FROM mtl_system_items m
58: WHERE m.organization_id = :l_org ';
357: END IF;
358: */
359:
360: --Parse the statement
361: DBMS_SQL.PARSE(l_cursor_id, l_update_stmt, DBMS_SQL.V7);
362:
363: --Bind variables to the placeholders
364:
365: IF l_orgflag = TRUE THEN
362:
363: --Bind variables to the placeholders
364:
365: IF l_orgflag = TRUE THEN
366: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_org' , p_org_id);
367: END IF;
368:
369: IF l_statflag = TRUE THEN
370: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_stat' , p_status_code);
366: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_org' , p_org_id);
367: END IF;
368:
369: IF l_statflag = TRUE THEN
370: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_stat' , p_status_code);
371: END IF;
372:
373: IF l_setflag = TRUE THEN
374: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_set' , p_category_set_id);
370: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_stat' , p_status_code);
371: END IF;
372:
373: IF l_setflag = TRUE THEN
374: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_set' , p_category_set_id);
375: END IF;
376:
377: IF l_catflag = TRUE THEN
378: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_cat' , p_category_id);
374: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_set' , p_category_set_id);
375: END IF;
376:
377: IF l_catflag = TRUE THEN
378: DBMS_SQL.BIND_VARIABLE(l_cursor_id, ':l_cat' , p_category_id);
379: END IF;
380:
381: -- Define output variables for the select.
382:
379: END IF;
380:
381: -- Define output variables for the select.
382:
383: DBMS_SQL.DEFINE_ARRAY(l_cursor_id, 1, p_item_tbl, l_batchsize, 1);
384:
385: --Execute the Statement
386: l_rows_updated := DBMS_SQL.EXECUTE(l_cursor_id);
387:
382:
383: DBMS_SQL.DEFINE_ARRAY(l_cursor_id, 1, p_item_tbl, l_batchsize, 1);
384:
385: --Execute the Statement
386: l_rows_updated := DBMS_SQL.EXECUTE(l_cursor_id);
387:
388: --This is the fetch loop.
389:
390: LOOP
387:
388: --This is the fetch loop.
389:
390: LOOP
391: l_rows_fetched := DBMS_SQL.FETCH_ROWS(l_cursor_id);
392: EXIT WHEN l_rows_fetched = 0;
393: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, p_item_tbl);
394: END LOOP;
395:
389:
390: LOOP
391: l_rows_fetched := DBMS_SQL.FETCH_ROWS(l_cursor_id);
392: EXIT WHEN l_rows_fetched = 0;
393: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, p_item_tbl);
394: END LOOP;
395:
396: --Close the cursor
397: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
393: DBMS_SQL.COLUMN_VALUE(l_cursor_id, 1, p_item_tbl);
394: END LOOP;
395:
396: --Close the cursor
397: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
398:
399: EXCEPTION
400: WHEN OTHERS THEN
401: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
397: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
398:
399: EXCEPTION
400: WHEN OTHERS THEN
401: DBMS_SQL.CLOSE_CURSOR(l_cursor_id);
402: RAISE;
403:
404: END ITEMS_IN_RANGE;
405: