1 package body jtf_um_individual_user_pvt_w as
2 /* $Header: JTFWUIRB.pls 120.2 2005/09/02 18:36:56 applrt 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
6 -- this is to workaround the JDBC bug regarding IN DATE of value GMiss
7 function rosetta_g_miss_date_in_map(d date) return date as
8 begin
9 if d = rosetta_g_mistake_date then return fnd_api.g_miss_date; end if;
10 return d;
11 end;
12
13 function rosetta_g_miss_num_map(n number) return number as
14 a number := fnd_api.g_miss_num;
15 b number := 0-1962.0724;
16 begin
17 if n=a then return b; end if;
18 if n=b then return a; end if;
19 return n;
20 end;
21
22 procedure registerindividualuser(p_api_version_number NUMBER
23 , p_init_msg_list VARCHAR2
24 , p_commit VARCHAR2
25 , p_self_service_user VARCHAR2
26 , p4_a0 in out nocopy VARCHAR2
27 , p4_a1 in out nocopy VARCHAR2
28 , p4_a2 in out nocopy VARCHAR2
29 , p4_a3 in out nocopy VARCHAR2
30 , p4_a4 in out nocopy VARCHAR2
31 , p4_a5 in out nocopy VARCHAR2
32 , p4_a6 in out nocopy VARCHAR2
33 , p4_a7 in out nocopy NUMBER
34 , p4_a8 in out nocopy NUMBER
35 , p4_a9 in out nocopy DATE
36 , p4_a10 in out nocopy VARCHAR2
37 , x_return_status out nocopy VARCHAR2
38 , x_msg_count out nocopy NUMBER
39 , x_msg_data out nocopy VARCHAR2
40 )
41
42 as
43 ddp_um_person_rec jtf_um_register_user_pvt.person_rec_type;
44 ddindx binary_integer; indx binary_integer;
45 begin
46
47 -- copy data to the local IN or IN-OUT args, if any
48
49
50
51
52 ddp_um_person_rec.first_name := p4_a0;
53 ddp_um_person_rec.last_name := p4_a1;
54 ddp_um_person_rec.user_name := p4_a2;
55 ddp_um_person_rec.password := p4_a3;
56 ddp_um_person_rec.phone_area_code := p4_a4;
57 ddp_um_person_rec.phone_number := p4_a5;
58 ddp_um_person_rec.email_address := p4_a6;
59 ddp_um_person_rec.party_id := rosetta_g_miss_num_map(p4_a7);
60 ddp_um_person_rec.user_id := rosetta_g_miss_num_map(p4_a8);
61 ddp_um_person_rec.start_date_active := rosetta_g_miss_date_in_map(p4_a9);
62 ddp_um_person_rec.privacy_preference := p4_a10;
63
64
65
66
67 -- here's the delegated call to the old PL/SQL routine
68 jtf_um_individual_user_pvt.registerindividualuser(p_api_version_number,
69 p_init_msg_list,
70 p_commit,
71 p_self_service_user,
72 ddp_um_person_rec,
73 x_return_status,
74 x_msg_count,
75 x_msg_data);
76
77 -- copy data back from the local variables to OUT or IN-OUT args, if any
78
79
80
81
82 p4_a0 := ddp_um_person_rec.first_name;
83 p4_a1 := ddp_um_person_rec.last_name;
84 p4_a2 := ddp_um_person_rec.user_name;
85 p4_a3 := ddp_um_person_rec.password;
86 p4_a4 := ddp_um_person_rec.phone_area_code;
87 p4_a5 := ddp_um_person_rec.phone_number;
88 p4_a6 := ddp_um_person_rec.email_address;
89 p4_a7 := rosetta_g_miss_num_map(ddp_um_person_rec.party_id);
90 p4_a8 := rosetta_g_miss_num_map(ddp_um_person_rec.user_id);
91 p4_a9 := ddp_um_person_rec.start_date_active;
92 p4_a10 := ddp_um_person_rec.privacy_preference;
93
94
95
96 end;
97
98 end jtf_um_individual_user_pvt_w;