DBA Data[Home] [Help]

PACKAGE BODY: APPS.JAI_CMN_OM_AR_PROCESSING_PKG

Source


1 PACKAGE BODY jai_cmn_om_ar_processing_pkg AS
2 /* $Header: jai_gst_acc_proc.plb 120.1 2010/09/07 07:52:38 boboli noship $ */
3 --+=======================================================================+
4 --|               Copyright (c) 1998 Oracle Corporation                   |
5 --|                       Redwood Shores, CA, USA                         |
6 --|                         All rights reserved.                          |
7 --+=======================================================================+
8 --| FILENAME                                                              |
9 --|     jai_gst_acc_proc.plb                                  |
10 --|                                                                       |
11 --| DESCRIPTION                                                           |
12 --|     This package is mainly used for generate accounting for O2C flow  |
13 --|                                                                       |
14 --| TDD REFERENCE                                                         |
15 --|     Take reference  TDD_12_2_FIN_JAI_Enhanced_GST.doc                 |
16 --|                                                                       |
17 --|                                                                       |
18 --| PURPOSE                                                               |
19 --|     PROCEDURE process_document                                        |
20 --|                                                                       |
21 --| HISTORY                                                               |
22 --|     02-Sep-2010  Created by Bo Li for  bug#10043656                   |
23 --|                  GST Enhancement for R12.1.3                          |
24 --|                                                                       |
25 --+======================================================================*/
26 
27 PROCEDURE process_document (pn_regime_id               IN      JAI_RGM_DEFINITIONS.REGIME_ID%TYPE,
28                             pn_organization_id         IN      JAI_OM_WSH_LINES_ALL.ORGANIZATION_id%TYPE,
29                             pn_location_id             IN      JAI_OM_WSH_LINES_ALL.LOCATION_ID%TYPE,
30                             pv_organization_type       IN      VARCHAR2,
31                             pv_source                  IN      VARCHAR2,
32                             pv_source_trx_type         IN      VARCHAR2,
33                             pv_source_table_name       IN      VARCHAR2,
34                             pn_source_document_id      IN      NUMBER,
35                             pd_transaction_date        IN      DATE,
36                             pv_account_name            IN      VARCHAR2,
37                             pv_balancing_account_name  IN      VARCHAR2,
38                             pn_charge_account_id       IN      NUMBER,
39                             pn_balancing_account_id    IN      NUMBER,
40                             pn_amount                  IN      NUMBER,
41                             pn_assessable_value        IN      NUMBER,
42                             pn_tax_rate                IN      NUMBER,
43                             pv_tax_type                IN      VARCHAR2,
44                             pn_reference_id            IN      NUMBER,
45                             pv_transaction_type        IN      RA_CUST_TRX_TYPES.TYPE%TYPE DEFAULT 'INV',
46                             pv_called_from             IN      VARCHAR2,
47                             pn_batch_id                IN      NUMBER,
48                             pn_customer_trx_id         IN      RA_CUSTOMER_TRX_ALL.CUSTOMER_TRX_ID%TYPE,
49                             pn_delivery_id             IN      NUMBER,
50                             pn_order_line_id           IN      JAI_OM_WSH_LINES_ALL.ORDER_LINE_ID%TYPE,
51                             pv_process_accounting      IN      VARCHAR2,
52                             pd_accounting_date         IN      DATE,
53                             pd_currency_conversion_date  IN    DATE,
54                             pv_currency_conversion_type  IN    VARCHAR2,
55                             pn_currency_conversion_rate  IN    NUMBER,
56                             pv_parameter1              IN      VARCHAR2,
57                             pv_parameter2              IN      VARCHAR2,
58                             pv_parameter3              IN      VARCHAR2,
59                             pv_parameter4              IN      VARCHAR2,
60                             pv_parameter5              IN      VARCHAR2,
61                             pv_parameter6              IN      VARCHAR2,
62                             pv_parameter7              IN      VARCHAR2,
63                             pv_parameter8              IN      VARCHAR2,
64                             pv_parameter9              IN      VARCHAR2,
65                             pv_parameter10             IN      VARCHAR2,
66                             pv_debug                   IN      VARCHAR2  DEFAULT 'N',
67                             pv_process_flag            OUT NOCOPY VARCHAR2,
68                             pv_process_message         OUT NOCOPY VARCHAR2
69                             ) AS
70 
71   CURSOR cur_get_man_ar_inv_taxes
72       (cpv_source            IN jai_rgm_trx_records.source%TYPE,
73        cpv_regime_code       IN jai_rgm_definitions.regime_code%TYPE,
74        cpv_source_trx_type   IN jai_rgm_trx_records.source_trx_type%TYPE,
75        cpv_source_table_name IN jai_rgm_trx_records.source_table_name%TYPE
76       )
80         jctl.gst_assessable_value                               ,
77   IS
78   SELECT
79         jctl.customer_trx_id                                    ,
81         jcttl.customer_trx_line_id                              ,
82         jcttl.tax_id                                            ,
83         jcttl.link_to_cust_trx_line_id                          ,
84         jcttl.func_tax_amount                                   ,
85         jcttl.creation_date                                     ,
86         jtc.tax_type                                            ,
87         jcttl.tax_rate
88   FROM
89         JAI_AR_TRX_LINES jctl  ,
90         JAI_AR_TRX_TAX_LINES jcttl ,
91         JAI_CMN_TAXES_ALL              jtc  ,
92         (
93           SELECT jrttv1.tax_type  tax_type
94           FROM   jai_regime_tax_types_v  jrttv1
95           WHERE  jrttv1.regime_code = cpv_regime_code
96         ) jrttv
97   WHERE
98         jctl.customer_trx_id      = pn_customer_trx_id               AND
99         jctl.customer_trx_line_id = jcttl.link_to_cust_trx_line_id  AND
100         jcttl.tax_id              = jtc.tax_id                      AND
101         jtc.tax_type              = jrttv.tax_type                  AND
102         NOT EXISTS                 ( SELECT    1
103                                      FROM      jai_rgm_trx_records jrtr
104                                      WHERE     jrtr.source              = cpv_source AND
105                                                jrtr.source_trx_type     = cpv_source_trx_type AND
106                                                jrtr.organization_id     = pn_organization_id AND
107                                                jrtr.location_id         = pn_location_id AND
108                                                jrtr.source_table_name   = cpv_source_table_name AND
109                                                jrtr.attribute1          = pn_customer_trx_id  AND
110                                                jrtr.source_document_id  = jcttl.customer_trx_line_id   AND
111                                                jrtr.reference_id        = jcttl.tax_id
112                                                ) ;
113 
114   lv_process_flag                   VARCHAR2(2)                                                     ;
115   lv_process_message                VARCHAR2(2000)                                                  ;
116   ln_repository_id                  JAI_RGM_TRX_RECORDS.REPOSITORY_ID%TYPE                          ;
117   lv_regime_code                    jai_rgm_definitions.regime_code%TYPE                                    ;
118 
119   CURSOR cur_get_deliveries
120     ( cpv_source            IN jai_rgm_trx_records.source%TYPE,
121       cpv_source_trx_type   IN jai_rgm_trx_records.source_trx_type%TYPE,
122       cpv_source_table_name IN jai_rgm_trx_records.source_table_name%TYPE,
123       cpv_regime_code       IN jai_rgm_definitions.regime_code%TYPE
124      )
125   IS
126   SELECT
127         jspl.delivery_id                                        ,
128         jspl.delivery_detail_id                                 ,
129         jspl.gst_assessable_value                               ,
130         jspl.order_line_id                                      ,
131         jsptl.tax_id                                            ,
132         jsptl.tax_rate                                          ,
133         jsptl.tax_amount                                        ,
134         jsptl.func_tax_amount                                   ,
135         jsptl.creation_date                                     ,
136         jtc.tax_type
137   FROM
138         JAI_OM_WSH_LINES_ALL    jspl           ,
139         JAI_OM_WSH_LINE_TAXES   jsptl          ,
140         JAI_CMN_TAXES_ALL       jtc            ,
141         (
142           SELECT jrttv1.tax_type  tax_type
143           FROM   jai_regime_tax_types_v  jrttv1
144           WHERE  jrttv1.regime_code = cpv_regime_code
145         ) jrttv
146   WHERE
147         jspl.organization_id    = pn_organization_id                        AND
148         jspl.location_id        = pn_location_id                            AND
149         (
150          (jspl.delivery_id = pn_delivery_id
151           AND jspl.delivery_detail_id = jsptl.delivery_detail_id) OR
152          (jspl.order_line_id = pn_order_line_id
153          AND jspl.order_line_id = jsptl.order_line_id)
154         )                                                                   AND
155         jsptl.tax_id            = jtc.tax_id                                AND
156         jtc.tax_type            = jrttv.tax_type                            AND
157        (cpv_source =  jai_constants.source_wsh
158         OR cpv_source =  jai_constants.source_nsh)                           AND
159         NOT EXISTS    ( SELECT
160                                   1
161                         FROM
162                                   jai_rgm_trx_records jrtr
163                         WHERE
164                                   jrtr.source              =  cpv_source              AND
165                                   jrtr.source_trx_type     =  cpv_source_trx_type     AND
166                                   jrtr.organization_id     =  pn_organization_id      AND
167                                   jrtr.location_id         =  pn_location_id          AND
168                                   jrtr.source_table_name  =  cpv_source_table_name    AND
169                                  ((jrtr.trx_reference1 = jspl.delivery_id
170                                    AND jrtr.source_document_id = jspl.delivery_detail_id) OR
171                                   (jrtr.trx_reference2 = jspl.order_line_id
172                                    AND jrtr.source_document_id  = jspl.order_line_id)
173                                   )                                                   AND
174                                   jrtr.reference_id       = jsptl.tax_id
175                       )
176 
177                       ;
178 
182  CURSOR cur_repository_dtl(cpn_repository_id IN NUMBER) IS
179     ln_charge_account_id        JAI_RGM_TRX_RECORDS.charge_account_id%TYPE;
180     ln_balancing_account_id     JAI_RGM_TRX_RECORDS.charge_account_id%TYPE;
181 
183     SELECT  regime_code, tax_type, source, source_table_name, source_document_id,
184             source_trx_type, organization_id
185     FROM jai_rgm_trx_records
186     WHERE repository_id = cpn_repository_id;
187 
188    r_repo_dtl                  cur_repository_dtl%ROWTYPE;
189 
190 BEGIN
191 
192 IF upper(pv_source) = upper(jai_constants.source_ar) THEN
193 
194    lv_regime_code := JAI_GST_GENERAL_PKG.get_regime_code(pn_regime_id);
195 
196    IF lv_regime_code in ('CGST', 'SGST') THEN
197 
198     FOR rec_cur_get_man_ar_inv_taxes IN cur_get_man_ar_inv_taxes
199     ('AR', lv_regime_code, 'MANUAL AR INVOICE','CUSTOMER_TRX_LINE_ALL')
200     LOOP
201 
202        jai_rgm_gst_accounting_pkg.create_repository_entry(
203                  pn_repository_id           => ln_repository_id,
204                  pn_regime_id               => pn_regime_id,
205                  pv_tax_type                => rec_cur_get_man_ar_inv_taxes.tax_type,
206                  pv_organization_type       => pv_organization_type,
207                  pn_organization_id         => pn_organization_id,
208                  pn_location_id             => pn_location_id,
209                  pv_source                  => pv_source,
210                  pv_source_trx_type         => nvl(pv_source_trx_type, jai_constants.source_ttype_man_ar_inv),
211                  pv_source_table_name       => nvl(pv_source_table_name, jai_constants.tname_cus_trx_lines),
212                  pn_source_document_id      => nvl(pn_source_document_id, rec_cur_get_man_ar_inv_taxes.customer_trx_line_id),
213                  pd_transaction_date        => nvl(pd_transaction_date, rec_cur_get_man_ar_inv_taxes.creation_date),
214                  pv_account_name            => jai_constants.liability,
215                  pn_charge_account_id       => NULL,
216                  pn_balancing_account_id    => NULL,
217                  pn_amount                  => rec_cur_get_man_ar_inv_taxes.func_tax_amount,
218                  pn_assessable_value        => rec_cur_get_man_ar_inv_taxes.gst_assessable_value,
219                  pn_tax_rate                => rec_cur_get_man_ar_inv_taxes.tax_rate,
220                  pn_reference_id            => rec_cur_get_man_ar_inv_taxes.tax_id,
221                  pn_batch_id                => pn_batch_id,
222                  pv_called_from             => nvl(pv_called_from, 'Process Document for Manual AR - GST'),
223                  pn_inv_organization_id     => pn_organization_id,
224                  pn_settlement_id           => NULL,
225                  pv_balancing_orgn_type     => NULL,
226                  pn_balancing_orgn_id       => NULL,
227                  pn_balancing_location_id   => NULL,
228                  pv_balancing_tax_type      => NULL,
229                  pv_balancing_accnt_name    => jai_constants.liability_interim,
230                  pv_currency_code           => jai_constants.func_curr,
231                  pd_curr_conv_date          => NULL,
232                  pv_curr_conv_type          => NULL,
233                  pn_curr_conv_rate          => NULL,
234                  pn_trx_amount              => NULL,
235                  pv_trx_reference_context   => jai_constants.contxt_manual_ar,
236                  pv_trx_reference1          => rec_cur_get_man_ar_inv_taxes.customer_trx_id,
237                  pv_trx_reference2          => rec_cur_get_man_ar_inv_taxes.link_to_cust_trx_line_id,
238                  pv_trx_reference3          => NULL,
239                  pv_trx_reference4          => NULL,
240                  pv_trx_reference5          => NULL,
241                  pv_service_type_code       => NULL,
242                  pv_distribution_type       => NULL,
243                  pv_process_flag            => lv_process_flag,
244                  pv_process_message         => lv_process_message);
245 
246 -- IF p_process_accounting = 'Y' THEN
247 
248 
249       OPEN cur_repository_dtl(ln_repository_id);
250       FETCH cur_repository_dtl INTO r_repo_dtl;
251       CLOSE cur_repository_dtl;
252 
253       ln_charge_account_id := JAI_GST_GENERAL_PKG.get_account(
254                                 p_regime_id         => pn_regime_id,
255                                 p_organization_type => pv_organization_type,
256                                 p_organization_id   => pn_organization_id,
257                                 p_location_id       => pn_location_id,
258                                 p_tax_type          => rec_cur_get_man_ar_inv_taxes.tax_type,
259                                 p_account_name      => jai_constants.liability
260                               );
261 
262       ln_balancing_account_id := JAI_GST_GENERAL_PKG.get_account(
263                                                 p_regime_id         => pn_regime_id,
264                                                 p_organization_type => pv_organization_type,
265                                                 p_organization_id   => pn_organization_id,
266                                                 p_location_id       => pn_location_id,
267                                                 p_tax_type          => rec_cur_get_man_ar_inv_taxes.tax_type,
268                                                 p_account_name      => jai_constants.liability_interim
269                                                );
270 
271 /* Add code to process accounting */
272           jai_rgm_gst_accounting_pkg.create_gl_entry
273           (pn_organization_id            => pn_organization_id,
274            pn_credit_amount              => rec_cur_get_man_ar_inv_taxes.func_tax_amount,
275            pn_debit_amount               => 0,
276            pn_cc_id                      => ln_charge_account_id,
277            pv_je_source_name             => 'Receivables',
278            pv_je_category_name           => jai_constants.je_category_rg_entry,
282            pn_currency_conversion_rate   => pn_currency_conversion_rate,
279            pd_accounting_date            => nvl(pd_accounting_date, sysdate),
280            pd_currency_conversion_date   => pd_currency_conversion_date,
281            pv_currency_conversion_type   => pv_currency_conversion_type,
283            pv_reference_10               => NULL,
284            pv_reference_23               => pv_called_from,
285            pv_reference_24               => r_repo_dtl.source_table_name,
286            pv_reference_25               => r_repo_dtl.source_document_id,
287            pv_reference_26               => jai_constants.repository_name);
288 
289           jai_rgm_gst_accounting_pkg.create_gl_entry
290           (pn_organization_id              => pn_organization_id,
291            pn_credit_amount                => 0,
292            pn_debit_amount                 => rec_cur_get_man_ar_inv_taxes.func_tax_amount,
293            pn_cc_id                        => ln_balancing_account_id,
294            pv_je_source_name               => 'Receivables',
295            pv_je_category_name             => jai_constants.je_category_rg_entry,
296            pd_accounting_date              => nvl(pd_accounting_date, sysdate),
297            pd_currency_conversion_date     => pd_currency_conversion_date,
298            pv_currency_conversion_type     => pv_currency_conversion_type,
299            pn_currency_conversion_rate     => pn_currency_conversion_rate,
300            pv_reference_10                 => NULL,
301            pv_reference_23                 => pv_called_from,
302            pv_reference_24                 => r_repo_dtl.source_table_name,
303            pv_reference_25                 => r_repo_dtl.source_document_id,
304            pv_reference_26                 => jai_constants.repository_name);
305 
306 -- END IF; /* process_accounting */
307 
308     END LOOP;
309 
310    END IF; /* regime code */
311 
312 END IF; /* p_source */
313 
314 IF upper(pv_source) = 'MANUAL' THEN
315 
316        jai_rgm_gst_accounting_pkg.create_repository_entry(
317                  pn_repository_id           => ln_repository_id,
318                  pn_regime_id               => pn_regime_id,
319                  pv_tax_type                => pv_tax_type,
320                  pv_organization_type       => pv_organization_type,
321                  pn_organization_id         => pn_organization_id,
322                  pn_location_id             => pn_location_id,
323                  pv_source                  => pv_source,
324                  pv_source_trx_type         => pv_source_trx_type,
325                  pv_source_table_name       => pv_source_table_name,
326                  pn_source_document_id      => pn_source_document_id,
327                  pd_transaction_date        => pd_transaction_date,
328                  pv_account_name            => pv_account_name,
329                  pn_charge_account_id       => NULL,
330                  pn_balancing_account_id    => NULL,
331                  pn_amount                  => pn_amount,
332                  pn_assessable_value        => pn_assessable_value,
333                  pn_tax_rate                => pn_tax_rate,
334                  pn_reference_id            => pn_reference_id,
335                  pn_batch_id                => pn_batch_id,
336                  pv_called_from             => pv_called_from,
337                  pn_inv_organization_id     => pn_organization_id,
338                  pn_settlement_id           => NULL,
339                  pv_balancing_orgn_type     => NULL,
340                  pn_balancing_orgn_id       => NULL,
341                  pn_balancing_location_id   => NULL,
342                  pv_balancing_tax_type      => NULL,
343                  pv_balancing_accnt_name    => pv_balancing_account_name,
344                  pv_currency_code           => jai_constants.func_curr,
345                  pd_curr_conv_date          => NULL,
346                  pv_curr_conv_type          => NULL,
347                  pn_curr_conv_rate          => NULL,
348                  pn_trx_amount              => NULL,
349                  pv_trx_reference_context   => jai_constants.contxt_manual_ar,
350                  pv_trx_reference1          => NULL,
351                  pv_trx_reference2          => NULL,
352                  pv_trx_reference3          => NULL,
353                  pv_trx_reference4          => NULL,
354                  pv_trx_reference5          => NULL,
355                  pv_service_type_code       => NULL,
356                  pv_distribution_type       => NULL,
357                  pv_process_flag            => lv_process_flag,
358                  pv_process_message         => lv_process_message);
359 
360           jai_rgm_gst_accounting_pkg.create_gl_entry
361           (pn_organization_id            => pn_organization_id,
362            pn_credit_amount              => pn_amount,
363            pn_debit_amount               => 0,
364            pn_cc_id                      => pn_charge_account_id,
365            pv_je_source_name             => JAI_GST_GENERAL_PKG.get_regime_code(pn_regime_id),
366            pv_je_category_name           => jai_constants.je_category_rg_entry,
367            pd_accounting_date            => nvl(pd_accounting_date, sysdate),
368            pd_currency_conversion_date   => pd_currency_conversion_date,
369            pv_currency_conversion_type   => pv_currency_conversion_type,
370            pn_currency_conversion_rate   => pn_currency_conversion_rate,
371            pv_reference_10               => NULL,
372            pv_reference_23               => pv_called_from,
373            pv_reference_24               => pv_source_table_name,
374            pv_reference_25               => pn_source_document_id,
375            pv_reference_26               => jai_constants.repository_name);
376 
377           jai_rgm_gst_accounting_pkg.create_gl_entry
378           (pn_organization_id             => pn_organization_id,
379            pn_credit_amount               => 0,
383            pv_je_category_name            => jai_constants.je_category_rg_entry,
380            pn_debit_amount                => pn_amount,
381            pn_cc_id                       => pn_balancing_account_id,
382            pv_je_source_name              => JAI_GST_GENERAL_PKG.get_regime_code(pn_regime_id),
384            pd_accounting_date             => nvl(pd_accounting_date, sysdate),
385            pd_currency_conversion_date    => pd_currency_conversion_date,
386            pv_currency_conversion_type    => pv_currency_conversion_type,
387            pn_currency_conversion_rate    => pn_currency_conversion_rate,
388            pv_reference_10                => NULL,
389            pv_reference_23                => pv_called_from,
390            pv_reference_24                => pv_source_table_name,
391            pv_reference_25                => pn_source_document_id,
392            pv_reference_26                => jai_constants.repository_name);
393 
394 
395 END IF; /* Manual Source */
396 
397 
398 IF upper(pv_source) IN  (jai_constants.source_nsh,jai_constants.source_wsh) THEN
399 
400     FOR  rec_cur_get_deliveries IN cur_get_deliveries(pv_source,
401                                                       pv_source_trx_type,
402                                                       pv_source_table_name,
403                                                       JAI_GST_GENERAL_PKG.get_regime_code(pn_regime_id)
404                                                       )
405     LOOP
406 
407         ln_charge_account_id    :=    JAI_GST_GENERAL_PKG.get_account(
408                                                                           p_regime_id         => pn_regime_id                        ,
409                                                                           p_organization_type => jai_constants.orgn_type_io         ,
410                                                                           p_organization_id   => pn_organization_id                  ,
411                                                                           p_location_id       => pn_location_id                      ,
412                                                                           p_tax_type          => rec_cur_get_deliveries.tax_type    ,
413                                                                           p_account_name      => jai_constants.liability
414                                                                         ) ;
415 
416         ln_balancing_account_id :=    JAI_GST_GENERAL_PKG.get_account(
417                                                                           p_regime_id         => pn_regime_id                        ,
418                                                                           p_organization_type => jai_constants.orgn_type_io         ,
419                                                                           p_organization_id   => pn_organization_id                  ,
420                                                                           p_location_id       => pn_location_id                      ,
421                                                                           p_tax_type          => rec_cur_get_deliveries.tax_type    ,
422                                                                           p_account_name      => jai_constants.liability_interim
423                                                                         ) ;
424 
425        Fnd_File.PUT_LINE(Fnd_File.LOG, 'Accounts : ' || ln_charge_account_id || ':' ||ln_balancing_account_id );
426 
427        jai_rgm_gst_accounting_pkg.create_repository_entry(
428                  pn_repository_id          => ln_repository_id,
429                  pn_regime_id              => pn_regime_id,
430                  pv_tax_type               => rec_cur_get_deliveries.tax_type,
431                  pv_organization_type      => nvl(pv_organization_type, jai_constants.orgn_type_io),
432                  pn_organization_id        => pn_organization_id,
433                  pn_location_id            => pn_location_id,
434                  pv_source                 => pv_source,
435                  pv_source_trx_type        => pv_source_trx_type,
436                  pv_source_table_name      => pv_source_table_name,
437                  pn_source_document_id     => nvl(pn_source_document_id, rec_cur_get_deliveries.delivery_detail_id),
438                  pd_transaction_date       => nvl(pd_transaction_date, rec_cur_get_deliveries.creation_date),
439                  pv_account_name           => nvl(pv_account_name, jai_constants.liability),
440                  pn_charge_account_id      => ln_charge_account_id,
441                  pn_balancing_account_id   => ln_balancing_account_id,
442                  pn_amount                 => rec_cur_get_deliveries.func_tax_amount,
443                  pn_assessable_value       => nvl(pn_assessable_value,rec_cur_get_deliveries.gst_assessable_value),
444                  pn_tax_rate               => nvl(pn_tax_rate,rec_cur_get_deliveries.tax_rate),
445                  pn_reference_id           => nvl(pn_reference_id, rec_cur_get_deliveries.tax_id),
446                  pn_batch_id               => pn_batch_id,
447                  pv_called_from            => pv_called_from,
448                  pn_inv_organization_id    => pn_organization_id,
449                  pn_settlement_id          => NULL,
450                  pv_balancing_orgn_type    => NULL,
451                  pn_balancing_orgn_id      => NULL,
452                  pn_balancing_location_id  => NULL,
453                  pv_balancing_tax_type     => NULL,
454                  pv_balancing_accnt_name   => pv_balancing_account_name,
455                  pv_currency_code          => jai_constants.func_curr,
456                  pd_curr_conv_date         => NULL,
457                  pv_curr_conv_type         => NULL,
458                  pn_curr_conv_rate         => NULL,
459                  pn_trx_amount             => NULL,
460                  pv_trx_reference_context  => jai_constants.contxt_delivery,
461                  pv_trx_reference1         => rec_cur_get_deliveries.delivery_id,
462                  pv_trx_reference2         => rec_cur_get_deliveries.order_line_id,
463                  pv_trx_reference3         => NULL,
464                  pv_trx_reference4         => NULL,
465                  pv_trx_reference5         => NULL,
466                  pv_service_type_code      => NULL,
467                  pv_distribution_type      => NULL,
468                  pv_process_flag           => lv_process_flag,
469                  pv_process_message        => lv_process_message);
470 
471 
472            jai_rgm_gst_accounting_pkg.create_gl_entry
473           (pn_organization_id              => pn_organization_id,
474            pn_credit_amount                => nvl(pn_amount,rec_cur_get_deliveries.func_tax_amount),
475            pn_debit_amount                 => 0,
476            pn_cc_id                        => ln_charge_account_id,
477            pv_je_source_name               => pv_source,
478            pv_je_category_name             => jai_constants.je_category_rg_entry,
479            pd_accounting_date              => nvl(pd_accounting_date, sysdate),
480            pd_currency_conversion_date     => pd_currency_conversion_date,
481            pv_currency_conversion_type     => pv_currency_conversion_type,
482            pn_currency_conversion_rate     => pn_currency_conversion_rate,
483            pv_reference_10                 => NULL,
484            pv_reference_23                 => pv_called_from,
485            pv_reference_24                 => pv_source_table_name,
486            pv_reference_25                 =>  rec_cur_get_deliveries.delivery_detail_id,
487            pv_reference_26                 => jai_constants.repository_name);
488 
489           jai_rgm_gst_accounting_pkg.create_gl_entry
490           (pn_organization_id             => pn_organization_id,
491            pn_credit_amount               => 0,
492            pn_debit_amount                => nvl(pn_amount,rec_cur_get_deliveries.func_tax_amount),
493            pn_cc_id                       => ln_balancing_account_id,
494            pv_je_source_name              => pv_source,
495            pv_je_category_name            => jai_constants.je_category_rg_entry,
496            pd_accounting_date             => nvl(pd_accounting_date, sysdate),
497            pd_currency_conversion_date    => pd_currency_conversion_date,
498            pv_currency_conversion_type    => pv_currency_conversion_type,
499            pn_currency_conversion_rate    => pn_currency_conversion_rate,
500            pv_reference_10                => NULL,
501            pv_reference_23                => pv_called_from,
502            pv_reference_24                => pv_source_table_name,
503            pv_reference_25                =>  rec_cur_get_deliveries.delivery_detail_id,
504            pv_reference_26                => jai_constants.repository_name);
505 
506 
507 
508     END LOOP;
509     pv_process_flag := jai_constants.successful;
510 
511 END IF; /* WSH Source */
512 
513 
514 
515 EXCEPTION
516   WHEN OTHERS THEN
517    raise_application_error(-20106, sqlerrm || pn_regime_id || pv_source || pn_organization_id
518                                            || pn_location_id || pv_transaction_type || pn_customer_trx_id
519                                            || pd_accounting_date || 'process_document : ' || sqlcode);
520 
521 
522 END process_document;
523 
524 END jai_cmn_om_ar_processing_pkg;