576: arp_message.set_line( 'ARP_CMERGE_MASTER.merge_product(' ||
577: package_name || ')+' );
578:
579: BEGIN
580: c := dbms_sql.open_cursor;
581: l_sql := 'BEGIN ' ||
582: package_name || '.' || api_name ||
583: '(:req_id, :set_num, :process_mode ); END; ';
584:
581: l_sql := 'BEGIN ' ||
582: package_name || '.' || api_name ||
583: '(:req_id, :set_num, :process_mode ); END; ';
584:
585: dbms_sql.parse(c,l_sql,2);
586: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
587: dbms_sql.bind_variable(c, 'set_num',to_char(set_num));
588: dbms_sql.bind_variable(c, 'process_mode',process_mode);
589: n := dbms_sql.execute(c);
582: package_name || '.' || api_name ||
583: '(:req_id, :set_num, :process_mode ); END; ';
584:
585: dbms_sql.parse(c,l_sql,2);
586: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
587: dbms_sql.bind_variable(c, 'set_num',to_char(set_num));
588: dbms_sql.bind_variable(c, 'process_mode',process_mode);
589: n := dbms_sql.execute(c);
590: dbms_sql.close_cursor(c);
583: '(:req_id, :set_num, :process_mode ); END; ';
584:
585: dbms_sql.parse(c,l_sql,2);
586: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
587: dbms_sql.bind_variable(c, 'set_num',to_char(set_num));
588: dbms_sql.bind_variable(c, 'process_mode',process_mode);
589: n := dbms_sql.execute(c);
590: dbms_sql.close_cursor(c);
591: -- EXECUTE IMMEDIATE l_sql;
584:
585: dbms_sql.parse(c,l_sql,2);
586: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
587: dbms_sql.bind_variable(c, 'set_num',to_char(set_num));
588: dbms_sql.bind_variable(c, 'process_mode',process_mode);
589: n := dbms_sql.execute(c);
590: dbms_sql.close_cursor(c);
591: -- EXECUTE IMMEDIATE l_sql;
592: --raji
585: dbms_sql.parse(c,l_sql,2);
586: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
587: dbms_sql.bind_variable(c, 'set_num',to_char(set_num));
588: dbms_sql.bind_variable(c, 'process_mode',process_mode);
589: n := dbms_sql.execute(c);
590: dbms_sql.close_cursor(c);
591: -- EXECUTE IMMEDIATE l_sql;
592: --raji
593: success := 'Y' ;
586: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
587: dbms_sql.bind_variable(c, 'set_num',to_char(set_num));
588: dbms_sql.bind_variable(c, 'process_mode',process_mode);
589: n := dbms_sql.execute(c);
590: dbms_sql.close_cursor(c);
591: -- EXECUTE IMMEDIATE l_sql;
592: --raji
593: success := 'Y' ;
594:
600: WHEN OTHERS THEN
601:
602: IF SQLCODE = -6550 THEN
603: success := 'Y' ;
604: dbms_sql.close_cursor(c);
605: ELSIF SQLCODE <> -6550 THEN
606: --Bug fix 2669389,rollback to run the records individually to identify the bad record.
607:
608: ROLLBACK to "start_merge_product";
620:
621: FOR v_current_set in 1001..v_last_set LOOP
622: BEGIN
623:
624: c := dbms_sql.open_cursor;
625:
626: l_sql := 'BEGIN ' ||
627: package_name || '.' || api_name ||
628: '(:req_id, :v_current_set, :process_mode ); END; ';
626: l_sql := 'BEGIN ' ||
627: package_name || '.' || api_name ||
628: '(:req_id, :v_current_set, :process_mode ); END; ';
629:
630: dbms_sql.parse(c,l_sql,2);
631: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
632: dbms_sql.bind_variable(c, 'v_current_set',to_char(v_current_set));
633: dbms_sql.bind_variable(c, 'process_mode',process_mode);
634: n := dbms_sql.execute(c);
627: package_name || '.' || api_name ||
628: '(:req_id, :v_current_set, :process_mode ); END; ';
629:
630: dbms_sql.parse(c,l_sql,2);
631: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
632: dbms_sql.bind_variable(c, 'v_current_set',to_char(v_current_set));
633: dbms_sql.bind_variable(c, 'process_mode',process_mode);
634: n := dbms_sql.execute(c);
635: dbms_sql.close_cursor(c);
628: '(:req_id, :v_current_set, :process_mode ); END; ';
629:
630: dbms_sql.parse(c,l_sql,2);
631: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
632: dbms_sql.bind_variable(c, 'v_current_set',to_char(v_current_set));
633: dbms_sql.bind_variable(c, 'process_mode',process_mode);
634: n := dbms_sql.execute(c);
635: dbms_sql.close_cursor(c);
636: -- EXECUTE IMMEDIATE l_sql;
629:
630: dbms_sql.parse(c,l_sql,2);
631: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
632: dbms_sql.bind_variable(c, 'v_current_set',to_char(v_current_set));
633: dbms_sql.bind_variable(c, 'process_mode',process_mode);
634: n := dbms_sql.execute(c);
635: dbms_sql.close_cursor(c);
636: -- EXECUTE IMMEDIATE l_sql;
637:
630: dbms_sql.parse(c,l_sql,2);
631: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
632: dbms_sql.bind_variable(c, 'v_current_set',to_char(v_current_set));
633: dbms_sql.bind_variable(c, 'process_mode',process_mode);
634: n := dbms_sql.execute(c);
635: dbms_sql.close_cursor(c);
636: -- EXECUTE IMMEDIATE l_sql;
637:
638: EXCEPTION
631: dbms_sql.bind_variable(c, 'req_id',to_char(req_id));
632: dbms_sql.bind_variable(c, 'v_current_set',to_char(v_current_set));
633: dbms_sql.bind_variable(c, 'process_mode',process_mode);
634: n := dbms_sql.execute(c);
635: dbms_sql.close_cursor(c);
636: -- EXECUTE IMMEDIATE l_sql;
637:
638: EXCEPTION
639: WHEN OTHERS THEN
637:
638: EXCEPTION
639: WHEN OTHERS THEN
640: IF SQLCODE = -6550 THEN
641: dbms_sql.close_cursor(c);
642: ELSIF SQLCODE <> -6550 THEN
643: G_PRODUCT_RAISING_EXCEPTION := product_code||'.'|| package_name || '.' || api_name ;
644: error_text := G_PRODUCT_RAISING_EXCEPTION || ' ' || arp_message.get_last_few_messages(2);
645: