DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_INTER_INVOICE

Source


1 PACKAGE BODY inv_inter_invoice AS
2    /* $Header: INVITCIB.pls 120.4 2006/11/11 16:00:09 ankulkar noship $ */
3    g_version_printed BOOLEAN := FALSE;
4    g_pkg_name  CONSTANT VARCHAR2(30)   := 'INV:inliar';
5 
6    Procedure print_debug(p_message IN VARCHAR2,
7 		      p_module IN VARCHAR2)
8    IS
9    BEGIN
10       IF NOT g_version_printed THEN
11             INV_TRX_UTIL_PUB.TRACE('$Header: INVITCIB.pls 120.4 2006/11/11 16:00:09 ankulkar noship $',G_PKG_NAME, 9);
12             g_version_printed := TRUE;
13          END IF;
14          inv_log_util.trace(p_message, p_module);
15    END;
16 
17   PROCEDURE update_invoice_flag(p_header_id IN NUMBER, p_line_id IN NUMBER) IS
18     x_return_status      VARCHAR2(30);
19     --g_pkg_name  CONSTANT VARCHAR2(30)   := 'INV:inliar';
20     d_sql_p              INTEGER        := NULL;
21     d_sql_rows_processed INTEGER        := NULL;
22     d_sql_stmt           VARCHAR2(6000) := NULL;
23     d_priceadjustmentid  NUMBER;
24     l_debug              NUMBER         := NVL(fnd_profile.VALUE('INV_DEBUG_TRACE'), 0);
25     l_module             VARCHAR2(50)   := 'INV_INTER_INVOICE.update_invoice_flag';
26   BEGIN
27     IF l_debug = 1 THEN
28       /*inv_log_util.TRACE('Parameters Passed ', l_module);
29       inv_log_util.TRACE('p_header_id :' || p_header_id, l_module);
30       inv_log_util.TRACE('p_line_id :' || p_line_id, l_module);*/
31       print_debug('Parameters Passed ', l_module);
32       print_debug('p_header_id :' || p_header_id, l_module);
33       print_debug('p_line_id :' || p_line_id, l_module);
34     END IF;
35 
36     d_sql_p               := DBMS_SQL.open_cursor;
37     d_sql_stmt            :=
38          'select  price_adjustment_id '
39       || 'FROM oe_price_adjustments WHERE '
40       || '( line_id =  :line_id OR '
41       || '(header_id = :header_id AND line_id IS NULL) )'
42       || 'AND nvl(interco_invoiced_flag,''N'') = ''N'' ';
43     DBMS_SQL.parse(d_sql_p, d_sql_stmt, DBMS_SQL.native);
44     DBMS_SQL.define_column(d_sql_p, 1, d_priceadjustmentid);
45     DBMS_SQL.bind_variable(d_sql_p, 'line_id', p_line_id);
46     DBMS_SQL.bind_variable(d_sql_p,'header_id',p_header_id);
47     d_sql_rows_processed  := DBMS_SQL.EXECUTE(d_sql_p);
48 
49     LOOP
50       IF (DBMS_SQL.fetch_rows(d_sql_p) > 0) THEN
51         DBMS_SQL.column_value(d_sql_p, 1, d_priceadjustmentid);
52 
53         IF l_debug = 1 THEN
54           /*inv_log_util.TRACE('Calling OE_INVOICE_UTIL.Update_Interco_Invoiced_Flag for d_priceAdjustmentId :' || d_priceadjustmentid
55           , l_module);*/
56            print_debug('Calling OE_INVOICE_UTIL.Update_Interco_Invoiced_Flag for d_priceAdjustmentId :' || d_priceadjustmentid
57           , l_module);
58         END IF;
59 
60         oe_invoice_util.update_interco_invoiced_flag(d_priceadjustmentid, x_return_status);
61       ELSE
62         -- No more rows in cursor
63         DBMS_SQL.close_cursor(d_sql_p);
64         EXIT;
65       END IF;
66     END LOOP;
67 
68     IF DBMS_SQL.is_open(d_sql_p) THEN
69       DBMS_SQL.close_cursor(d_sql_p);
70     END IF;
71   EXCEPTION
72     WHEN OTHERS THEN
73       IF DBMS_SQL.is_open(d_sql_p) THEN
74         DBMS_SQL.close_cursor(d_sql_p);
75       END IF;
76 
77       x_return_status  := fnd_api.g_ret_sts_unexp_error;
78 
79       IF fnd_msg_pub.check_msg_level(fnd_msg_pub.g_msg_lvl_unexp_error) THEN
80         oe_msg_pub.add_exc_msg(g_pkg_name, 'Update_Invoiced_flag');
81         /*inv_log_util.TRACE ('Unexpected Error occured while calling OE_INVOICE_UTIL.Update_Interco_Invoiced_Flag for d_priceAdjustmentId :'|| d_priceadjustmentid, l_module);        */
82         print_debug('Unexpected Error occured while calling OE_INVOICE_UTIL.Update_Interco_Invoiced_Flag for d_priceAdjustmentId :'|| d_priceadjustmentid, l_module);
83       END IF;
84   END update_invoice_flag;
85 
86 
87 
88 END inv_inter_invoice;