1 PACKAGE BODY PO_DT_CUSTOM_PKG AS
2 /* $Header: PO_DT_CUST.plb 120.1.12020000.2 2013/03/20 10:12:01 vpeddi ship $ */
3
4 FUNCTION get_clause_number(p_header_id NUMBER ) RETURN VARCHAR2 IS
5 abc VARCHAR2(20);
6 Begin
7 abc := 'N';
8 RETURN (abc);
9
10 END get_clause_number;
11
12 FUNCTION is_addenda_attached(p_header_id NUMBER ) RETURN VARCHAR2 IS
13 addenda VARCHAR2(20);
14 Begin
15 addenda := NULL;
16 RETURN (addenda);
17
18 END is_addenda_attached;
19
20
21 FUNCTION is_doc_award_or_notice(p_header_id NUMBER ) RETURN VARCHAR2 IS
22 doc_type VARCHAR2(50);
23 Begin
24 doc_type := 'Award';
25 RETURN (doc_type);
26
27 END is_doc_award_or_notice;
28
29 FUNCTION is_guarantee_reqd(p_header_id NUMBER ) RETURN VARCHAR2 IS
30 guarantee_result VARCHAR2(50);
31 Begin
32 guarantee_result := NULL;
33 RETURN (guarantee_result);
34
35 END is_guarantee_reqd;
36
37 FUNCTION get_calendar_days(p_header_id NUMBER ) RETURN VARCHAR2 IS
38 calendar_days VARCHAR2(50);
39 Begin
40 calendar_days := NULL;
41 RETURN (calendar_days);
42
43 END get_calendar_days;
44
45 FUNCTION get_address_xml(p_header_id NUMBER, p_draft_id NUMBER ) RETURN CLOB IS
46 clob_addr CLOB;
47 Begin
48
49 --Follow the below steps for customizing the address to print them in the PDF's
50 --
51 --Input: p_header_id -- po_header_id of the document
52 -- p_draft_id -- draft_id of the document
53 --
54 --Output: clob_addr -- address xml in the form of CLOB.
55 -- (concatenate all the addresses in the xml format)
56 -- clob_addr must be NULL if there is no address in this document.
57 --
58 --
59 --
60 --Required format of the output:
61 -------------------------------------
62 --<PAY_OFFICE_ADDR>
63 --<PAY_OFFICE_LOCNAME></PAY_OFFICE_LOCNAME>
64 --<PAY_OFFICE_LOCCODE></PAY_OFFICE_LOCCODE>
65 --<PAY_OFFICE_ADDRL1></PAY_OFFICE_ADDRL1>
66 --<PAY_OFFICE_ADDRL2></PAY_OFFICE_ADDRL2>
67 --<PAY_OFFICE_ADDRL3></PAY_OFFICE_ADDRL3>
68 --<PAY_OFFICE_CITY></PAY_OFFICE_CITY>
69 --<PAY_OFFICE_REGION1></PAY_OFFICE_REGION1>
70 --<PAY_OFFICE_REGION2></PAY_OFFICE_REGION2>
71 --<PAY_OFFICE_REGION3></PAY_OFFICE_REGION3>
72 --<PAY_OFFICE_PHONE></PAY_OFFICE_PHONE>
73 --<PAY_OFFICE_FAX></PAY_OFFICE_FAX>
74 --<PAY_OFFICE_ZIPCODE></PAY_OFFICE_ZIPCODE>
75 --<PAY_OFFICE_COUNTRY></PAY_OFFICE_COUNTRY>
76 --<PAY_OFFICE_SADDR></PAY_OFFICE_SADDR>
77 --<PAY_OFFICE_LADDR></PAY_OFFICE_LADDR>
78 --</PAY_OFFICE_ADDR>
79 --
80 --<PRO_ADMIN_OFFICE_ADDR>
81 --<PRO_ADMIN_OFFICE_LOCNAME></PRO_ADMIN_OFFICE_LOCNAME>
82 --<PRO_ADMIN_OFFICE_LOCCODE></PRO_ADMIN_OFFICE_LOCCODE>
83 --<PRO_ADMIN_OFFICE_ADDRL1></PRO_ADMIN_OFFICE_ADDRL1>
84 --<PRO_ADMIN_OFFICE_ADDRL2></PRO_ADMIN_OFFICE_ADDRL2>
85 --<PRO_ADMIN_OFFICE_ADDRL3></PRO_ADMIN_OFFICE_ADDRL3>
86 --<PRO_ADMIN_OFFICE_CITY></PRO_ADMIN_OFFICE_CITY>
87 --<PRO_ADMIN_OFFICE_REGION1></PRO_ADMIN_OFFICE_REGION1>
88 --<PRO_ADMIN_OFFICE_REGION2></PRO_ADMIN_OFFICE_REGION2>
89 --<PRO_ADMIN_OFFICE_REGION3></PRO_ADMIN_OFFICE_REGION3>
90 --<PRO_ADMIN_OFFICE_PHONE></PRO_ADMIN_OFFICE_PHONE>
91 --<PRO_ADMIN_OFFICE_FAX></PRO_ADMIN_OFFICE_FAX>
92 --<PRO_ADMIN_OFFICE_ZIPCODE></PRO_ADMIN_OFFICE_ZIPCODE>
93 --<PRO_ADMIN_OFFICE_COUNTRY></PRO_ADMIN_OFFICE_COUNTRY>
94 --<PRO_ADMIN_OFFICE_SADDR></PRO_ADMIN_OFFICE_SADDR>
95 --<PRO_ADMIN_OFFICE_LADDR></PRO_ADMIN_OFFICE_LADDR>
96 --</PRO_ADMIN_OFFICE_ADDR>
97 --
98 --<COTR_OFFICE_ADDR>
99 --<COTR_OFFICE_LOCNAME></COTR_OFFICE_LOCNAME>
100 --<COTR_OFFICE_LOCCODE></COTR_OFFICE_LOCCODE>
101 --<COTR_OFFICE_ADDRL1></COTR_OFFICE_ADDRL1>
102 --<COTR_OFFICE_ADDRL2></COTR_OFFICE_ADDRL2>
103 --<COTR_OFFICE_ADDRL3></COTR_OFFICE_ADDRL3>
104 --<COTR_OFFICE_CITY></COTR_OFFICE_CITY>
105 --<COTR_OFFICE_REGION1></COTR_OFFICE_REGION1>
106 --<COTR_OFFICE_REGION2></COTR_OFFICE_REGION2>
107 --<COTR_OFFICE_REGION3></COTR_OFFICE_REGION3>
108 --<COTR_OFFICE_PHONE></COTR_OFFICE_PHONE>
109 --<COTR_OFFICE_FAX></COTR_OFFICE_FAX>
110 --<COTR_OFFICE_ZIPCODE></COTR_OFFICE_ZIPCODE>
111 --<COTR_OFFICE_COUNTRY></COTR_OFFICE_COUNTRY>
112 --<COTR_OFFICE_SADDR></COTR_OFFICE_SADDR>
113 --<COTR_OFFICE_LADDR></COTR_OFFICE_LADDR>
114 --</COTR_OFFICE_ADDR>
115 --
116 --<ISSUING_OFFICE_ADDR>
117 --<ISSUING_OFFICE_LOCNAME></ISSUING_OFFICE_LOCNAME>
118 --<ISSUING_OFFICE_LOCCODE></ISSUING_OFFICE_LOCCODE>
119 --<ISSUING_OFFICE_ADDRL1></ISSUING_OFFICE_ADDRL1>
120 --<ISSUING_OFFICE_ADDRL2></ISSUING_OFFICE_ADDRL2>
121 --<ISSUING_OFFICE_ADDRL3></ISSUING_OFFICE_ADDRL3>
122 --<ISSUING_OFFICE_CITY></ISSUING_OFFICE_CITY>
123 --<ISSUING_OFFICE_REGION1></ISSUING_OFFICE_REGION1>
124 --<ISSUING_OFFICE_REGION2></ISSUING_OFFICE_REGION2>
125 --<ISSUING_OFFICE_REGION3></ISSUING_OFFICE_REGION3>
126 --<ISSUING_OFFICE_PHONE></ISSUING_OFFICE_PHONE>
127 --<ISSUING_OFFICE_FAX></ISSUING_OFFICE_FAX>
128 --<ISSUING_OFFICE_ZIPCODE></ISSUING_OFFICE_ZIPCODE>
129 --<ISSUING_OFFICE_COUNTRY></ISSUING_OFFICE_COUNTRY>
130 --<ISSUING_OFFICE_SADDR></ISSUING_OFFICE_SADDR>
131 --<ISSUING_OFFICE_LADDR></ISSUING_OFFICE_LADDR>
132 --</ISSUING_OFFICE_ADDR>
133 --
134 --<REQ_OFFICE_ADDR>
135 --<REQ_OFFICE_LOCNAME></REQ_OFFICE_LOCNAME>
136 --<REQ_OFFICE_LOCCODE></REQ_OFFICE_LOCCODE>
137 --<REQ_OFFICE_ADDRL1></REQ_OFFICE_ADDRL1>
138 --<REQ_OFFICE_ADDRL2></REQ_OFFICE_ADDRL2>
139 --<REQ_OFFICE_ADDRL3></REQ_OFFICE_ADDRL3>
140 --<REQ_OFFICE_CITY></REQ_OFFICE_CITY>
141 --<REQ_OFFICE_REGION1></REQ_OFFICE_REGION1>
142 --<REQ_OFFICE_REGION2></REQ_OFFICE_REGION2>
143 --<REQ_OFFICE_REGION3></REQ_OFFICE_REGION3>
144 --<REQ_OFFICE_PHONE></REQ_OFFICE_PHONE>
145 --<REQ_OFFICE_FAX></REQ_OFFICE_FAX>
146 --<REQ_OFFICE_ZIPCODE></REQ_OFFICE_ZIPCODE>
147 --<REQ_OFFICE_COUNTRY></REQ_OFFICE_COUNTRY>
148 --<REQ_OFFICE_SADDR></REQ_OFFICE_SADDR>
149 --<REQ_OFFICE_LADDR></REQ_OFFICE_LADDR>
150 --</REQ_OFFICE_ADDR>
151 --
152 --<SBA_OFFICE_ADDR>
153 --<SBA_OFFICE_LOCNAME></SBA_OFFICE_LOCNAME>
154 --<SBA_OFFICE_LOCCODE></SBA_OFFICE_LOCCODE>
155 --<SBA_OFFICE_ADDRL1></SBA_OFFICE_ADDRL1>
156 --<SBA_OFFICE_ADDRL2></SBA_OFFICE_ADDRL2>
157 --<SBA_OFFICE_ADDRL3></SBA_OFFICE_ADDRL3>
158 --<SBA_OFFICE_CITY></SBA_OFFICE_CITY>
159 --<SBA_OFFICE_REGION1></SBA_OFFICE_REGION1>
160 --<SBA_OFFICE_REGION2></SBA_OFFICE_REGION2>
161 --<SBA_OFFICE_REGION3></SBA_OFFICE_REGION3>
162 --<SBA_OFFICE_PHONE></SBA_OFFICE_PHONE>
163 --<SBA_OFFICE_FAX></SBA_OFFICE_FAX>
164 --<SBA_OFFICE_ZIPCODE></SBA_OFFICE_ZIPCODE>
165 --<SBA_OFFICE_COUNTRY></SBA_OFFICE_COUNTRY>
166 --<SBA_OFFICE_SADDR></SBA_OFFICE_SADDR>
167 --<SBA_OFFICE_LADDR></SBA_OFFICE_LADDR>
168 --</SBA_OFFICE_ADDR>
169 --
170 --<INV_OFFICE_ADDR>
171 --<INV_OFFICE_LOCNAME></INV_OFFICE_LOCNAME>
172 --<INV_OFFICE_LOCCODE></INV_OFFICE_LOCCODE>
173 --<INV_OFFICE_ADDRL1></INV_OFFICE_ADDRL1>
174 --<INV_OFFICE_ADDRL2></INV_OFFICE_ADDRL2>
175 --<INV_OFFICE_ADDRL3></INV_OFFICE_ADDRL3>
176 --<INV_OFFICE_CITY></INV_OFFICE_CITY>
177 --<INV_OFFICE_REGION1></INV_OFFICE_REGION1>
178 --<INV_OFFICE_REGION2></INV_OFFICE_REGION2>
179 --<INV_OFFICE_REGION3></INV_OFFICE_REGION3>
180 --<INV_OFFICE_PHONE></INV_OFFICE_PHONE>
181 --<INV_OFFICE_FAX></INV_OFFICE_FAX>
182 --<INV_OFFICE_ZIPCODE></INV_OFFICE_ZIPCODE>
183 --<INV_OFFICE_COUNTRY></INV_OFFICE_COUNTRY>
184 --<INV_OFFICE_SADDR></INV_OFFICE_SADDR>
185 --<INV_OFFICE_LADDR></INV_OFFICE_LADDR>
186 --</INV_OFFICE_ADDR>
187 --
188 --<ADMIN_OFFICE_ADDR>
189 --<ADMIN_OFFICE_LOCNAME></ADMIN_OFFICE_LOCNAME>
190 --<ADMIN_OFFICE_LOCCODE></ADMIN_OFFICE_LOCCODE>
191 --<ADMIN_OFFICE_ADDRL1></ADMIN_OFFICE_ADDRL1>
192 --<ADMIN_OFFICE_ADDRL2></ADMIN_OFFICE_ADDRL2>
193 --<ADMIN_OFFICE_ADDRL3></ADMIN_OFFICE_ADDRL3>
194 --<ADMIN_OFFICE_CITY></ADMIN_OFFICE_CITY>
195 --<ADMIN_OFFICE_REGION1></ADMIN_OFFICE_REGION1>
196 --<ADMIN_OFFICE_REGION2></ADMIN_OFFICE_REGION2>
197 --<ADMIN_OFFICE_REGION3></ADMIN_OFFICE_REGION3>
198 --<ADMIN_OFFICE_PHONE></ADMIN_OFFICE_PHONE>
199 --<ADMIN_OFFICE_FAX></ADMIN_OFFICE_FAX>
200 --<ADMIN_OFFICE_ZIPCODE></ADMIN_OFFICE_ZIPCODE>
201 --<ADMIN_OFFICE_COUNTRY></ADMIN_OFFICE_COUNTRY>
202 --<ADMIN_OFFICE_SADDR></ADMIN_OFFICE_SADDR>
203 --<ADMIN_OFFICE_LADDR></ADMIN_OFFICE_LADDR>
204 --</ADMIN_OFFICE_ADDR>
205 --
206 --If it is a mod document, we will have two more addresses
207 --
208 --<MOD_ADMIN_OFFICE_ADDR>
209 --<MOD_ADMIN_OFFICE_LOCNAME></MOD_ADMIN_OFFICE_LOCNAME>
210 --<MOD_ADMIN_OFFICE_LOCCODE></MOD_ADMIN_OFFICE_LOCCODE>
211 --<MOD_ADMIN_OFFICE_ADDRL1></MOD_ADMIN_OFFICE_ADDRL1>
212 --<MOD_ADMIN_OFFICE_ADDRL2></MOD_ADMIN_OFFICE_ADDRL2>
213 --<MOD_ADMIN_OFFICE_ADDRL3></MOD_ADMIN_OFFICE_ADDRL3>
214 --<MOD_ADMIN_OFFICE_CITY></MOD_ADMIN_OFFICE_CITY>
215 --<MOD_ADMIN_OFFICE_REGION1></MOD_ADMIN_OFFICE_REGION1>
216 --<MOD_ADMIN_OFFICE_REGION2></MOD_ADMIN_OFFICE_REGION2>
217 --<MOD_ADMIN_OFFICE_REGION3></MOD_ADMIN_OFFICE_REGION3>
218 --<MOD_ADMIN_OFFICE_PHONE></MOD_ADMIN_OFFICE_PHONE>
219 --<MOD_ADMIN_OFFICE_FAX></MOD_ADMIN_OFFICE_FAX>
220 --<MOD_ADMIN_OFFICE_ZIPCODE></MOD_ADMIN_OFFICE_ZIPCODE>
221 --<MOD_ADMIN_OFFICE_COUNTRY></MOD_ADMIN_OFFICE_COUNTRY>
222 --<MOD_ADMIN_OFFICE_SADDR></MOD_ADMIN_OFFICE_SADDR>
223 --<MOD_ADMIN_OFFICE_LADDR></MOD_ADMIN_OFFICE_LADDR>
224 --</MOD_ADMIN_OFFICE_ADDR>
225 --
226 --<MOD_ISSUING_OFFICE_ADDR>
227 --<MOD_ISSUING_OFFICE_LOCNAME></MOD_ISSUING_OFFICE_LOCNAME>
228 --<MOD_ISSUING_OFFICE_LOCCODE></MOD_ISSUING_OFFICE_LOCCODE>
229 --<MOD_ISSUING_OFFICE_ADDRL1></MOD_ISSUING_OFFICE_ADDRL1>
230 --<MOD_ISSUING_OFFICE_ADDRL2></MOD_ISSUING_OFFICE_ADDRL2>
231 --<MOD_ISSUING_OFFICE_ADDRL3></MOD_ISSUING_OFFICE_ADDRL3>
232 --<MOD_ISSUING_OFFICE_CITY></MOD_ISSUING_OFFICE_CITY>
233 --<MOD_ISSUING_OFFICE_REGION1></MOD_ISSUING_OFFICE_REGION1>
234 --<MOD_ISSUING_OFFICE_REGION2></MOD_ISSUING_OFFICE_REGION2>
235 --<MOD_ISSUING_OFFICE_REGION3></MOD_ISSUING_OFFICE_REGION3>
236 --<MOD_ISSUING_OFFICE_PHONE></MOD_ISSUING_OFFICE_PHONE>
237 --<MOD_ISSUING_OFFICE_FAX></MOD_ISSUING_OFFICE_FAX>
238 --<MOD_ISSUING_OFFICE_ZIPCODE></MOD_ISSUING_OFFICE_ZIPCODE>
239 --<MOD_ISSUING_OFFICE_COUNTRY></MOD_ISSUING_OFFICE_COUNTRY>
240 --<MOD_ISSUING_OFFICE_SADDR></MOD_ISSUING_OFFICE_SADDR>
241 --<MOD_ISSUING_OFFICE_LADDR></MOD_ISSUING_OFFICE_LADDR>
242 --</MOD_ISSUING_OFFICE_ADDR>
243 --
244 --
245 --Conventions to be followed for the above format:
246 ----------------------------------------------------------------
247 --1) PAY_OFFICE_ADDR, PRO_ADMIN_OFFICE_ADDR, COTR_OFFICE_ADDR, ISSUING_OFFICE_ADDR, REQ_OFFICE_ADDR,
248 -- SBA_OFFICE_ADDR, INV_OFFICE_ADDR, ADMIN_OFFICE_ADDR, MOD_ADMIN_OFFICE_ADDR, MOD_ISSUING_OFFICE_ADDR
249 -- are the element tags for the different addresses present and all the details of this address should be as part of xml elements under this group.
250 --2) The xml tag names of clob_addr should not be changed.
251 --3) The order of the groups in the clob_addr is not important
252 --4) The order of the xml elements in the group is not important.
253 --
254 --
255 --usages of the XML elements
256 -----------------------------
257 --Taking pay Office as a SAMPLE,
258 --
259 --1) PAY_OFFICE_LOCNAME, PAY_OFFICE_LOCCODE, PAY_OFFICE_ADDRL1, PAY_OFFICE_ADDRL2, PAY_OFFICE_ADDRL3,
260 --PAY_OFFICE_CITY, PAY_OFFICE_REGION1, PAY_OFFICE_REGION2, PAY_OFFICE_REGION3, PAY_OFFICE_PHONE,
261 --PAY_OFFICE_FAX, PAY_OFFICE_ZIPCODE, PAY_OFFICE_COUNTRY
262 --
263 --The above tags are used in Section 'Contract Administration Data' of Continuation Pages in the PDF for printing the address details.
264 --
265 --2) PAY_OFFICE_SADDR -- Address in Short form.
266 --The above tag is used in the face pages for which where the space to print the address is very small.
267 --This address is the concatenated as
268 -- location code
269 -- address line 1
270 -- town/city, region, postal code, country
271 --
272 --For Example: POIDVSF33 face page block no. 25 prints the payment address.
273 --As the space is very little for this block, short form of the address is printed
274 --
275 --3) PAY_OFFICE_LADDR -- address in the long form
276 --The above tag is used in the face pages.
277 --This address is the concatenated as :
278 -- location code
279 -- address line 1, address line 2, address line 3
280 -- town/city, region, postal code, country
281 --
282 --
283 --Data for forming this address xml:
284 --------------------------------------------
285 --Addresses are stored as part of UDA and in the extension table po_headers_all_ext_b.
286 --
287 --Refer Attribute group 'addresses' and attribute name 'addressdtlsxml'
288 --
289 --The address XML data in the extension table column is stored in the format mentioned above. If any customization is required in the way Short address or long
290 --addresses printing on the face pages, then you can replace the content of _SADDR and _LADDR elements with appropriate new line characters. All addresses should then be
291 --concatenated and returned as a CLOB.
292
293
294
295 clob_addr := NULL;
296 RETURN (clob_addr);
297
298 END get_address_xml;
299
300
301 END;