DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_AUTOCREATE_SYSTEMS_PKG

Source


1 PACKAGE BODY CS_AUTOCREATE_SYSTEMS_PKG as
2 /* $Header: csxacssb.pls 115.8 2000/09/15 16:41:50 pkm ship   $ */
3 -- This package has one procedure AUTOCREATE
4 
5 PROCEDURE AUTOCREATE
6 (
7 	p_customer_id				IN	NUMBER,
8 	p_name					IN   VARCHAR2 DEFAULT NULL,
9 	p_description				IN	VARCHAR2 DEFAULT NULL,
10 	p_system_type_code			IN	VARCHAR2,
11 	p_number_to_create 			IN	NUMBER,
12 	p_install_site_use_id    	IN	NUMBER DEFAULT NULL,
13 	p_technical_contact_id   	IN	NUMBER DEFAULT NULL,
14 	p_service_admin_contact_id	IN	NUMBER DEFAULT NULL,
15 	p_ship_to_site_use_id		IN	NUMBER DEFAULT NULL,
16 	p_ship_to_contact_id		IN	NUMBER DEFAULT NULL,
17 	p_bill_to_site_use_id		IN	NUMBER DEFAULT NULL,
18 	p_bill_to_contact_id		IN	NUMBER DEFAULT NULL,
19 	p_config_system_type		IN	VARCHAR2 DEFAULT NULL,
20 	p_start_date_active  		IN	DATE DEFAULT NULL,
21 	p_end_date_active  	     	IN	DATE DEFAULT NULL,
22 	p_attribute1				IN	VARCHAR2 DEFAULT NULL,
23 	p_attribute2				IN	VARCHAR2 DEFAULT NULL,
24 	p_attribute3				IN	VARCHAR2 DEFAULT NULL,
25 	p_attribute4				IN	VARCHAR2 DEFAULT NULL,
26 	p_attribute5				IN	VARCHAR2 DEFAULT NULL,
27 	p_attribute6				IN	VARCHAR2 DEFAULT NULL,
28 	p_attribute7				IN	VARCHAR2 DEFAULT NULL,
29 	p_attribute8				IN	VARCHAR2 DEFAULT NULL,
30 	p_attribute9				IN	VARCHAR2 DEFAULT NULL,
31 	p_attribute10				IN	VARCHAR2 DEFAULT NULL,
32 	p_attribute11				IN	VARCHAR2 DEFAULT NULL,
33 	p_attribute12				IN	VARCHAR2 DEFAULT NULL,
34 	p_attribute13				IN	VARCHAR2 DEFAULT NULL,
35 	p_attribute14				IN	VARCHAR2 DEFAULT NULL,
36 	p_attribute15				IN	VARCHAR2 DEFAULT NULL,
37 	p_context					IN	VARCHAR2 DEFAULT NULL,
38 	x_name_tbl				OUT	Name_Tbl_Type
39 )
40 IS
41 
42 l_coterminate_day_month   VARCHAR2(6);
43 l_system_id  		NUMBER := NULL;
44 l_system_name  	VARCHAR2(50);
45 l_system_date		DATE ;
46 l_system_match		NUMBER;
47 /*
48 l_null_varchar 	VARCHAR2(50) := NULL;
49 l_null_number 		NUMBER := NULL;
50 */
51 l_rowid			VARCHAR2(50) := NULL;
52 l_name_tbl		Name_Tbl_Type;
53 
54 BEGIN
55 
56 	SAVEPOINT Autocreate_Systems_PVT;
57 
58 	SELECT sysdate INTO l_system_date FROM dual;
59 
60 	-- Getting the Value for the coterminate_day_month for the current
61 	-- customer from HZ_CUST_ACCOUNTS table
62 	BEGIN
63 
64 		SELECT coterminate_day_month
65 		INTO   l_coterminate_day_month
66 		FROM   hz_cust_accounts
67 		WHERE  cust_account_id = p_customer_id;
68 		--AND    org_id = FND_PROFILE.Value('ORG_ID');
69 
70 	EXCEPTION WHEN NO_DATA_FOUND THEN
71 		FND_MESSAGE.SET_NAME('CS','CS_API_INVALID CUSTOMER');
72 		FND_MESSAGE.SET_TOKEN('CUSTOMER_ID',p_customer_id);
73 		FND_MSG_PUB.Add;
74 		RAISE FND_API.G_EXC_ERROR;
75 	END;
76 
77 	IF p_name IS NOT NULL THEN
78 		-- this procedure has been called not to autocreate systems but to
79 		-- create a particular system with a particular name.
80 		l_system_name := p_name;
81 	END IF;
82 
83 	FOR i IN 1..p_number_to_create LOOP
84 		/*
85 	    l_null_varchar := NULL;
86 	    l_null_number := NULL;
87 		*/
88 
89 	    CS_SYSTEMS_ALL_PKG.Insert_Row(
90 				X_Rowid				=> l_rowid,
91 				X_system_id			=> l_system_id,
92 				X_last_update_date		=> sysdate,
93 				X_last_updated_by		=> FND_GLOBAL.USER_ID,
94 				X_creation_date		=> sysdate,
95 				X_created_by			=> FND_GLOBAL.USER_ID,
96 				X_last_update_login		=> FND_GLOBAL.LOGIN_ID,
97 				X_name				=> l_system_name,
98 				X_customer_id			=> p_customer_id,
99 				X_system_type_code		=> p_system_type_code,
100 				X_description			=> p_description,
101 				X_serial_number		=> NULL,
102 				X_parent_system_id		=> NULL,
103 				X_technical_contact_id	=> p_technical_contact_id,
104 				X_service_admin_contact_id => p_service_admin_contact_id,
105 				X_install_site_use_id	=> p_install_site_use_id,
106 				X_bill_to_contact_id	=> p_bill_to_contact_id,
107 				X_bill_to_site_use_id	=> p_bill_to_site_use_id,
108 				X_ship_to_site_use_id	=> p_ship_to_site_use_id,
109 				X_ship_to_contact_id	=> p_ship_to_contact_id,
110 				X_coterminate_day_month	=> l_coterminate_day_month,
111 				X_start_date_active		=> p_start_date_active,
112 				X_end_date_active		=> p_end_date_active,
113 				X_autocreated_from_system_id => null,
114 				X_attribute1			=> p_attribute1,
115 				X_attribute2			=> p_attribute2,
116 				X_attribute3			=> p_attribute3,
117 				X_attribute4			=> p_attribute4,
118 				X_attribute5			=> p_attribute5,
119 				X_attribute6			=> p_attribute6,
120 				X_attribute7			=> p_attribute7,
121 				X_attribute8			=> p_attribute8,
122 				X_attribute9			=> p_attribute9,
123 				X_attribute10			=> p_attribute10,
124 				X_attribute11			=> p_attribute11,
125 				X_attribute12			=> p_attribute12,
126 				X_attribute13			=> p_attribute13,
127 				X_attribute14			=> p_attribute14,
128 				X_attribute15			=> p_attribute15,
129 				X_context				=> p_context,
130 				X_config_system_type	=> p_config_system_type);
131 		l_name_tbl(i).system_id := l_system_id;
132 		l_name_tbl(i).name := l_system_name;
133 		l_system_name := NULL;
134 		l_system_id := NULL;
135 		l_rowid := NULL;
136 
137 
138 	END LOOP;
139 
140 	x_name_tbl := l_name_tbl;
141 
142 EXCEPTION WHEN Others THEN
143 		APP_EXCEPTION.RAISE_EXCEPTION;
144 		ROLLBACK TO Autocreate_Systems_PVT;
145 		RETURN;
146 
147 END AUTOCREATE;  -- Ends the procedure
148 
149 END CS_AUTOCREATE_SYSTEMS_PKG;