[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;