DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_BPD_CAP_ADV_MON_PVT_W

Source


1 package body okl_bpd_cap_adv_mon_pvt_w as
2   /* $Header: OKLEAMSB.pls 120.2 2007/08/02 08:40:22 dcshanmu ship $ */
3   rosetta_g_mistake_date date := to_date('01/01/+4713', 'MM/DD/SYYYY');
4   rosetta_g_miss_date date := to_date('01/01/-4712', 'MM/DD/SYYYY');
5   rosetta_g_mistake_date_high date := to_date('01/01/+4710', 'MM/DD/SYYYY');
6   rosetta_g_mistake_date_low date := to_date('01/01/-4710', 'MM/DD/SYYYY');
7 
8   -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
9   function rosetta_g_miss_date_in_map(d date) return date as
10   begin
11     if d > rosetta_g_mistake_date_high then return fnd_api.g_miss_date; end if;
12     if d < rosetta_g_mistake_date_low then return fnd_api.g_miss_date; end if;
13     return d;
14   end;
15 
16   function rosetta_g_miss_num_map(n number) return number as
17     a number := fnd_api.g_miss_num;
18     b number := 0-1962.0724;
19   begin
20     if n=a then return b; end if;
21     if n=b then return a; end if;
22     return n;
23   end;
24 
25   procedure handle_advanced_manual_pay(p_api_version  NUMBER
26     , p_init_msg_list  VARCHAR2
27     , x_return_status out nocopy  VARCHAR2
28     , x_msg_count out nocopy  NUMBER
29     , x_msg_data out nocopy  VARCHAR2
30     , p6_a0 out nocopy  VARCHAR2
31     , p6_a1 out nocopy  VARCHAR2
32     , p6_a2 out nocopy  DATE
33     , p6_a3 out nocopy  NUMBER
34     , p6_a4 out nocopy  NUMBER
35     , p6_a5 out nocopy  VARCHAR2
36     , p6_a6 out nocopy  NUMBER
37     , p6_a7 out nocopy  NUMBER
38     , p6_a8 out nocopy  VARCHAR2
39     , p6_a9 out nocopy  NUMBER
40     , p6_a10 out nocopy  NUMBER
41     , p6_a11 out nocopy  DATE
42     , p6_a12 out nocopy  DATE
43     , p6_a13 out nocopy  VARCHAR2
44     , p6_a14 out nocopy  NUMBER
45     , p6_a15 out nocopy  NUMBER
46     , p6_a16 out nocopy  NUMBER
47     , p6_a17 out nocopy  VARCHAR2
48     , p6_a18 out nocopy  VARCHAR2
49     , p6_a19 out nocopy  VARCHAR2
50     , p5_a0  VARCHAR2 := fnd_api.g_miss_char
51     , p5_a1  VARCHAR2 := fnd_api.g_miss_char
52     , p5_a2  DATE := fnd_api.g_miss_date
53     , p5_a3  NUMBER := 0-1962.0724
54     , p5_a4  NUMBER := 0-1962.0724
55     , p5_a5  VARCHAR2 := fnd_api.g_miss_char
56     , p5_a6  NUMBER := 0-1962.0724
57     , p5_a7  NUMBER := 0-1962.0724
58     , p5_a8  VARCHAR2 := fnd_api.g_miss_char
59     , p5_a9  NUMBER := 0-1962.0724
60     , p5_a10  NUMBER := 0-1962.0724
61     , p5_a11  DATE := fnd_api.g_miss_date
62     , p5_a12  DATE := fnd_api.g_miss_date
63     , p5_a13  VARCHAR2 := fnd_api.g_miss_char
64     , p5_a14  NUMBER := 0-1962.0724
65     , p5_a15  NUMBER := 0-1962.0724
66     , p5_a16  NUMBER := 0-1962.0724
67     , p5_a17  VARCHAR2 := fnd_api.g_miss_char
68     , p5_a18  VARCHAR2 := fnd_api.g_miss_char
69     , p5_a19  VARCHAR2 := fnd_api.g_miss_char
70   )
71 
72   as
73     ddp_adv_rcpt_rec okl_bpd_cap_adv_mon_pvt.adv_rcpt_rec;
74     ddx_adv_rcpt_rec okl_bpd_cap_adv_mon_pvt.adv_rcpt_rec;
75     ddindx binary_integer; indx binary_integer;
76   begin
77 
78     -- copy data to the local IN or IN-OUT args, if any
79 
80 
81 
82 
83 
84     ddp_adv_rcpt_rec.currency_code := p5_a0;
85     ddp_adv_rcpt_rec.currency_conv_type := p5_a1;
86     ddp_adv_rcpt_rec.currency_conv_date := rosetta_g_miss_date_in_map(p5_a2);
87     ddp_adv_rcpt_rec.currency_conv_rate := rosetta_g_miss_num_map(p5_a3);
88     ddp_adv_rcpt_rec.irm_id := rosetta_g_miss_num_map(p5_a4);
89     ddp_adv_rcpt_rec.check_number := p5_a5;
90     ddp_adv_rcpt_rec.rcpt_amount := rosetta_g_miss_num_map(p5_a6);
91     ddp_adv_rcpt_rec.contract_id := rosetta_g_miss_num_map(p5_a7);
92     ddp_adv_rcpt_rec.contract_num := p5_a8;
93     ddp_adv_rcpt_rec.customer_id := rosetta_g_miss_num_map(p5_a9);
94     ddp_adv_rcpt_rec.customer_num := rosetta_g_miss_num_map(p5_a10);
95     ddp_adv_rcpt_rec.gl_date := rosetta_g_miss_date_in_map(p5_a11);
96     ddp_adv_rcpt_rec.receipt_date := rosetta_g_miss_date_in_map(p5_a12);
97     ddp_adv_rcpt_rec.comments := p5_a13;
98     ddp_adv_rcpt_rec.rct_id := rosetta_g_miss_num_map(p5_a14);
99     ddp_adv_rcpt_rec.xcr_id := rosetta_g_miss_num_map(p5_a15);
100     ddp_adv_rcpt_rec.icr_id := rosetta_g_miss_num_map(p5_a16);
101     ddp_adv_rcpt_rec.receipt_type := p5_a17;
102     ddp_adv_rcpt_rec.fully_applied_flag := p5_a18;
103     ddp_adv_rcpt_rec.expired_flag := p5_a19;
104 
105 
106     -- here's the delegated call to the old PL/SQL routine
107     okl_bpd_cap_adv_mon_pvt.handle_advanced_manual_pay(p_api_version,
108       p_init_msg_list,
109       x_return_status,
110       x_msg_count,
111       x_msg_data,
112       ddp_adv_rcpt_rec,
113       ddx_adv_rcpt_rec);
114 
115     -- copy data back from the local variables to OUT or IN-OUT args, if any
116 
117 
118 
119 
120 
121 
122     p6_a0 := ddx_adv_rcpt_rec.currency_code;
123     p6_a1 := ddx_adv_rcpt_rec.currency_conv_type;
124     p6_a2 := ddx_adv_rcpt_rec.currency_conv_date;
125     p6_a3 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.currency_conv_rate);
126     p6_a4 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.irm_id);
127     p6_a5 := ddx_adv_rcpt_rec.check_number;
128     p6_a6 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.rcpt_amount);
129     p6_a7 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.contract_id);
130     p6_a8 := ddx_adv_rcpt_rec.contract_num;
131     p6_a9 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.customer_id);
132     p6_a10 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.customer_num);
133     p6_a11 := ddx_adv_rcpt_rec.gl_date;
134     p6_a12 := ddx_adv_rcpt_rec.receipt_date;
135     p6_a13 := ddx_adv_rcpt_rec.comments;
136     p6_a14 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.rct_id);
137     p6_a15 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.xcr_id);
138     p6_a16 := rosetta_g_miss_num_map(ddx_adv_rcpt_rec.icr_id);
139     p6_a17 := ddx_adv_rcpt_rec.receipt_type;
140     p6_a18 := ddx_adv_rcpt_rec.fully_applied_flag;
141     p6_a19 := ddx_adv_rcpt_rec.expired_flag;
142   end;
143 
144 end okl_bpd_cap_adv_mon_pvt_w;