145: , p_end_index IN NUMBER
146: ) RETURN PO_TBL_NUMBER;
147:
148: FUNCTION group_by_clm_req_line_num
149: ( p_req_line_num_tbl IN PO_TBL_VARCHAR100
150: , p_po_line_num_tbl IN PO_TBL_VARCHAR100
151: , p_start_index IN NUMBER
152: , p_end_index IN NUMBER
153: ) RETURN PO_TBL_VARCHAR100;
146: ) RETURN PO_TBL_NUMBER;
147:
148: FUNCTION group_by_clm_req_line_num
149: ( p_req_line_num_tbl IN PO_TBL_VARCHAR100
150: , p_po_line_num_tbl IN PO_TBL_VARCHAR100
151: , p_start_index IN NUMBER
152: , p_end_index IN NUMBER
153: ) RETURN PO_TBL_VARCHAR100;
154:
149: ( p_req_line_num_tbl IN PO_TBL_VARCHAR100
150: , p_po_line_num_tbl IN PO_TBL_VARCHAR100
151: , p_start_index IN NUMBER
152: , p_end_index IN NUMBER
153: ) RETURN PO_TBL_VARCHAR100;
154:
155: FUNCTION group_by_requisition_seq_num
156: ( p_po_line_num_tbl IN PO_TBL_NUMBER
157: , p_add_to_po_header_id IN NUMBER
159: , p_end_index IN NUMBER
160: ) RETURN PO_TBL_NUMBER;
161:
162: FUNCTION group_by_clm_req_seq_num
163: ( p_po_line_num_tbl IN PO_TBL_VARCHAR100
164: , p_req_line_id_tbl IN PO_TBL_NUMBER
165: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
166: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
167: , p_add_to_po_header_id IN NUMBER
167: , p_add_to_po_header_id IN NUMBER
168: , p_draft_id IN NUMBER --Autocreate grouping
169: , p_start_index IN NUMBER
170: , p_end_index IN NUMBER
171: ) RETURN PO_TBL_VARCHAR100;
172:
173:
174: FUNCTION group_by_default
175: ( p_req_line_id_tbl IN PO_TBL_NUMBER
206: , p_start_index IN NUMBER
207: , p_end_index IN NUMBER
208: , x_req_line_id_tbl OUT NOCOPY PO_TBL_NUMBER
209: , x_po_line_num_tbl OUT NOCOPY PO_TBL_NUMBER
210: , x_po_line_num_disp_tbl OUT NOCOPY PO_TBL_VARCHAR100
211: );
212:
213: FUNCTION find_matching_builder_line_num
214: ( p_current_index IN NUMBER
223: , p_req_line_id_2 IN NUMBER
224: ) RETURN BOOLEAN;
225:
226: FUNCTION get_max_clm_po_line_num
227: ( p_po_line_num_tbl IN PO_TBL_VARCHAR100
228: , p_po_header_id IN NUMBER := NULL
229: , p_draft_id IN NUMBER := -1 --Autocreate grouping
230: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
231: ) RETURN VARCHAR2;
230: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
231: ) RETURN VARCHAR2;
232:
233: FUNCTION get_max_clm_sol_line_num
234: ( p_neg_line_num_tbl IN PO_TBL_VARCHAR100
235: , p_draft_id IN NUMBER := NULL
236: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
237: ) RETURN VARCHAR2;
238:
269: p_req_line_id_tbl IN PO_TBL_NUMBER
270: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
271: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
272: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
273: , p_po_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
274: , p_consigned_flag_tbl IN PO_TBL_VARCHAR1
275: , p_add_to_po_header_id IN NUMBER
276: , p_draft_id IN NUMBER --Autocreate grouping
277: , p_builder_agreement_id IN NUMBER
285: p_req_line_id_tbl IN PO_TBL_NUMBER
286: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
287: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
288: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
289: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
290: , p_consigned_flag_tbl IN PO_TBL_VARCHAR1
291: , p_add_to_neg_header_id IN NUMBER
292: , p_draft_id IN NUMBER --Autocreate grouping
293: , p_builder_agreement_id IN NUMBER
1344: p_req_line_id_tbl IN PO_TBL_NUMBER
1345: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
1346: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1347: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1348: , p_req_line_num_tbl IN PO_TBL_VARCHAR100
1349: , p_po_line_num_tbl IN OUT NOCOPY PO_TBL_NUMBER
1350: , p_po_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1351: , p_add_to_po_header_id IN NUMBER
1352: , p_draft_id IN NUMBER --Autocreate grouping
1346: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1347: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1348: , p_req_line_num_tbl IN PO_TBL_VARCHAR100
1349: , p_po_line_num_tbl IN OUT NOCOPY PO_TBL_NUMBER
1350: , p_po_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1351: , p_add_to_po_header_id IN NUMBER
1352: , p_draft_id IN NUMBER --Autocreate grouping
1353: , p_builder_agreement_id IN NUMBER
1354: , p_builder_supplier_id IN NUMBER
1362: l_start_index NUMBER;
1363: l_end_index NUMBER;
1364:
1365: l_consigned_flag_tbl PO_TBL_VARCHAR1;
1366: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := p_po_line_num_disp_tbl;
1367: x_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
1368: x_po_line_num_tbl PO_TBL_NUMBER := p_po_line_num_tbl;
1369:
1370: d_mod CONSTANT VARCHAR2(100) := D_group_clm_req_lines ;
1363: l_end_index NUMBER;
1364:
1365: l_consigned_flag_tbl PO_TBL_VARCHAR1;
1366: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := p_po_line_num_disp_tbl;
1367: x_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
1368: x_po_line_num_tbl PO_TBL_NUMBER := p_po_line_num_tbl;
1369:
1370: d_mod CONSTANT VARCHAR2(100) := D_group_clm_req_lines ;
1371: d_position NUMBER := 0;
1626: p_req_line_id_tbl IN PO_TBL_NUMBER
1627: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
1628: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1629: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1630: , p_req_line_num_tbl IN PO_TBL_VARCHAR100
1631: , p_neg_line_num_tbl IN OUT NOCOPY PO_TBL_NUMBER
1632: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1633: , p_add_to_neg_header_id IN NUMBER
1634: , p_draft_id IN NUMBER --Autocreate grouping
1628: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1629: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1630: , p_req_line_num_tbl IN PO_TBL_VARCHAR100
1631: , p_neg_line_num_tbl IN OUT NOCOPY PO_TBL_NUMBER
1632: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1633: , p_add_to_neg_header_id IN NUMBER
1634: , p_draft_id IN NUMBER --Autocreate grouping
1635: , p_builder_agreement_id IN NUMBER
1636: , p_builder_supplier_id IN NUMBER
1644: l_start_index NUMBER;
1645: l_end_index NUMBER;
1646:
1647: l_consigned_flag_tbl PO_TBL_VARCHAR1;
1648: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := p_neg_line_num_disp_tbl;
1649: x_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
1650: x_po_line_num_tbl PO_TBL_NUMBER := p_neg_line_num_tbl;
1651:
1652: d_mod CONSTANT VARCHAR2(100) := D_group_clm_req_lines ;
1645: l_end_index NUMBER;
1646:
1647: l_consigned_flag_tbl PO_TBL_VARCHAR1;
1648: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := p_neg_line_num_disp_tbl;
1649: x_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
1650: x_po_line_num_tbl PO_TBL_NUMBER := p_neg_line_num_tbl;
1651:
1652: d_mod CONSTANT VARCHAR2(100) := D_group_clm_req_lines ;
1653: d_position NUMBER := 0;
1833: p_req_line_id_tbl IN PO_TBL_NUMBER
1834: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
1835: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1836: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1837: , p_req_line_num_tbl IN PO_TBL_VARCHAR100
1838: , p_neg_line_num_tbl IN OUT NOCOPY PO_TBL_NUMBER
1839: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1840: , p_add_to_neg_header_id IN NUMBER
1841: , p_draft_id IN NUMBER --Autocreate grouping
1835: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1836: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1837: , p_req_line_num_tbl IN PO_TBL_VARCHAR100
1838: , p_neg_line_num_tbl IN OUT NOCOPY PO_TBL_NUMBER
1839: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1840: , p_add_to_neg_header_id IN NUMBER
1841: , p_draft_id IN NUMBER --Autocreate grouping
1842: , p_builder_agreement_id IN NUMBER
1843: , p_builder_supplier_id IN NUMBER
1851: l_start_index NUMBER;
1852: l_end_index NUMBER;
1853:
1854: l_consigned_flag_tbl PO_TBL_VARCHAR1;
1855: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := p_neg_line_num_disp_tbl;
1856: x_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
1857: x_po_line_num_tbl PO_TBL_NUMBER := p_neg_line_num_tbl;
1858:
1859: d_mod CONSTANT VARCHAR2(100) := D_group_neg_req_lines ;
1852: l_end_index NUMBER;
1853:
1854: l_consigned_flag_tbl PO_TBL_VARCHAR1;
1855: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := p_neg_line_num_disp_tbl;
1856: x_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
1857: x_po_line_num_tbl PO_TBL_NUMBER := p_neg_line_num_tbl;
1858:
1859: d_mod CONSTANT VARCHAR2(100) := D_group_neg_req_lines ;
1860: d_position NUMBER := 0;
1981: p_req_line_id_tbl IN PO_TBL_NUMBER
1982: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
1983: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
1984: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
1985: , p_po_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
1986: , p_consigned_flag_tbl IN PO_TBL_VARCHAR1
1987: , p_add_to_po_header_id IN NUMBER
1988: , p_draft_id IN NUMBER --Autocreate grouping
1989: , p_builder_agreement_id IN NUMBER
1999: x_po_line_num_tbl PO_TBL_NUMBER := p_po_line_num_tbl;
2000:
2001: l_add_to_po_req_line_id_tbl PO_TBL_NUMBER;
2002: l_add_to_po_line_num_tbl PO_TBL_NUMBER;
2003: l_max_slin_num_disp_tbl PO_TBL_VARCHAR100;
2004:
2005: d_mod CONSTANT VARCHAR2(100) := D_clm_group_by_default;
2006: d_position NUMBER := 0;
2007: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
2003: l_max_slin_num_disp_tbl PO_TBL_VARCHAR100;
2004:
2005: d_mod CONSTANT VARCHAR2(100) := D_clm_group_by_default;
2006: d_position NUMBER := 0;
2007: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
2008: l_index NUMBER := 1;
2009:
2010: BEGIN
2011:
2179: p_req_line_id_tbl IN PO_TBL_NUMBER
2180: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
2181: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
2182: , p_req_option_flag_tbl IN PO_TBL_VARCHAR1
2183: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
2184: , p_consigned_flag_tbl IN PO_TBL_VARCHAR1
2185: , p_add_to_neg_header_id IN NUMBER
2186: , p_draft_id IN NUMBER --Autocreate grouping
2187: , p_builder_agreement_id IN NUMBER
2197: x_neg_line_num_tbl PO_TBL_NUMBER := p_neg_line_num_tbl;
2198:
2199: l_add_to_neg_req_line_id_tbl PO_TBL_NUMBER;
2200: l_add_to_neg_line_num_tbl PO_TBL_NUMBER;
2201: l_max_slin_num_disp_tbl PO_TBL_VARCHAR100;
2202:
2203: d_mod CONSTANT VARCHAR2(100) := D_clm_group_by_default;
2204: d_position NUMBER := 0;
2205: l_neg_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
2201: l_max_slin_num_disp_tbl PO_TBL_VARCHAR100;
2202:
2203: d_mod CONSTANT VARCHAR2(100) := D_clm_group_by_default;
2204: d_position NUMBER := 0;
2205: l_neg_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
2206: l_index NUMBER := 1;
2207:
2208: BEGIN
2209:
3563: --End of Comments
3564: -------------------------------------------------------------------------------
3565: FUNCTION group_by_clm_req_line_num
3566: (
3567: p_req_line_num_tbl IN PO_TBL_VARCHAR100
3568: , p_po_line_num_tbl IN PO_TBL_VARCHAR100
3569: , p_start_index IN NUMBER
3570: , p_end_index IN NUMBER
3571: )
3564: -------------------------------------------------------------------------------
3565: FUNCTION group_by_clm_req_line_num
3566: (
3567: p_req_line_num_tbl IN PO_TBL_VARCHAR100
3568: , p_po_line_num_tbl IN PO_TBL_VARCHAR100
3569: , p_start_index IN NUMBER
3570: , p_end_index IN NUMBER
3571: )
3572: RETURN PO_TBL_VARCHAR100
3568: , p_po_line_num_tbl IN PO_TBL_VARCHAR100
3569: , p_start_index IN NUMBER
3570: , p_end_index IN NUMBER
3571: )
3572: RETURN PO_TBL_VARCHAR100
3573: IS
3574: x_po_line_num_tbl PO_TBL_VARCHAR100 := p_po_line_num_tbl;
3575:
3576: TYPE NUM_INDEX_TBL_TYPE IS TABLE OF VARCHAR2(1) INDEX BY VARCHAR2(100);
3570: , p_end_index IN NUMBER
3571: )
3572: RETURN PO_TBL_VARCHAR100
3573: IS
3574: x_po_line_num_tbl PO_TBL_VARCHAR100 := p_po_line_num_tbl;
3575:
3576: TYPE NUM_INDEX_TBL_TYPE IS TABLE OF VARCHAR2(1) INDEX BY VARCHAR2(100);
3577: l_line_num_used_tbl NUM_INDEX_TBL_TYPE;
3578:
3749: -- N/A
3750: --End of Comments
3751: -------------------------------------------------------------------------------
3752: FUNCTION group_by_clm_req_seq_num
3753: ( p_po_line_num_tbl IN PO_TBL_VARCHAR100
3754: , p_req_line_id_tbl IN PO_TBL_NUMBER
3755: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
3756: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
3757: , p_add_to_po_header_id IN NUMBER
3757: , p_add_to_po_header_id IN NUMBER
3758: , p_draft_id IN NUMBER --Autocreate grouping
3759: , p_start_index IN NUMBER
3760: , p_end_index IN NUMBER
3761: ) RETURN PO_TBL_VARCHAR100
3762: IS
3763: x_po_line_num_tbl PO_TBL_VARCHAR100 := p_po_line_num_tbl;
3764:
3765: l_max_line_num VARCHAR2(100);
3759: , p_start_index IN NUMBER
3760: , p_end_index IN NUMBER
3761: ) RETURN PO_TBL_VARCHAR100
3762: IS
3763: x_po_line_num_tbl PO_TBL_VARCHAR100 := p_po_line_num_tbl;
3764:
3765: l_max_line_num VARCHAR2(100);
3766: l_next_line_num VARCHAR2(100);
3767:
4280: , p_start_index IN NUMBER
4281: , p_end_index IN NUMBER
4282: , x_req_line_id_tbl OUT NOCOPY PO_TBL_NUMBER
4283: , x_po_line_num_tbl OUT NOCOPY PO_TBL_NUMBER
4284: , x_po_line_num_disp_tbl OUT NOCOPY PO_TBL_VARCHAR100
4285: )
4286: IS
4287: l_key NUMBER;
4288: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
4284: , x_po_line_num_disp_tbl OUT NOCOPY PO_TBL_VARCHAR100
4285: )
4286: IS
4287: l_key NUMBER;
4288: l_po_line_num_disp_tbl PO_TBL_VARCHAR100 := PO_TBL_VARCHAR100();
4289:
4290: l_need_by_grouping_profile
4291: FND_PROFILE_OPTION_VALUES.profile_option_value%TYPE;
4292: l_ship_to_grouping_profile
4305: IF ( p_add_to_po_header_id IS NULL )
4306: THEN
4307: x_req_line_id_tbl := PO_TBL_NUMBER();
4308: x_po_line_num_tbl := PO_TBL_NUMBER();
4309: x_po_line_num_disp_tbl := PO_TBL_VARCHAR100();
4310: RETURN;
4311: END IF;
4312:
4313: d_position := 10;
4686: --End of Comments
4687: -------------------------------------------------------------------------------
4688: FUNCTION get_max_clm_po_line_num
4689: (
4690: p_po_line_num_tbl IN PO_TBL_VARCHAR100
4691: , p_po_header_id IN NUMBER := NULL
4692: , p_draft_id IN NUMBER := -1
4693: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
4694: )
4774: --End of Comments
4775: -------------------------------------------------------------------------------
4776: FUNCTION get_max_clm_sol_line_num
4777: (
4778: p_neg_line_num_tbl IN PO_TBL_VARCHAR100
4779: , p_draft_id IN NUMBER := NULL
4780: , p_req_group_line_id_tbl IN PO_TBL_NUMBER
4781: )
4782: RETURN VARCHAR2
5011:
5012: FUNCTION default_info_slin_numbers (
5013: p_req_line_id IN NUMBER,
5014: p_req_group_line_id_tbl IN PO_TBL_NUMBER,
5015: p_po_line_num_tbl IN PO_TBL_VARCHAR100,
5016: p_po_line_num IN NUMBER,
5017: p_po_header_id IN NUMBER)
5018: RETURN PO_TBL_VARCHAR100
5019: IS
5014: p_req_group_line_id_tbl IN PO_TBL_NUMBER,
5015: p_po_line_num_tbl IN PO_TBL_VARCHAR100,
5016: p_po_line_num IN NUMBER,
5017: p_po_header_id IN NUMBER)
5018: RETURN PO_TBL_VARCHAR100
5019: IS
5020: l_is_info_fund_req_line VARCHAR2(1) := 'N';
5021: l_is_option_line VARCHAR2(1) :='N';
5022: l_max_slin_num VARCHAR2(10) := NULL;
5019: IS
5020: l_is_info_fund_req_line VARCHAR2(1) := 'N';
5021: l_is_option_line VARCHAR2(1) :='N';
5022: l_max_slin_num VARCHAR2(10) := NULL;
5023: l_po_line_num_tbl PO_TBL_VARCHAR100 := p_po_line_num_tbl;
5024: l_current_slin VARCHAR2(10) := NULL;
5025: l_po_line_id NUMBER;
5026: d_mod CONSTANT VARCHAR2(100) := D_default_info_slin_numbers;
5027: d_position NUMBER := 0;
5206: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
5207: , p_add_to_po_header_id IN NUMBER
5208: , p_start_index IN NUMBER
5209: , p_end_index IN NUMBER
5210: , p_po_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
5211: )IS
5212:
5213: d_position NUMBER := 0;
5214: d_mod CONSTANT VARCHAR2(100) := D_get_line_num_disp_for_clin;
5309: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
5310: , p_add_to_neg_header_id IN NUMBER
5311: , p_start_index IN NUMBER
5312: , p_end_index IN NUMBER
5313: , p_neg_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
5314: )IS
5315:
5316: d_position NUMBER := 0;
5317: d_mod CONSTANT VARCHAR2(100) := D_get_line_num_disp_for_clin;
5409: (
5410: p_source_line_id_tbl IN PO_TBL_NUMBER
5411: , p_source_group_line_id_tbl IN PO_TBL_NUMBER
5412: , p_po_line_num_tbl IN PO_TBL_NUMBER
5413: , p_po_line_num_disp_tbl IN OUT NOCOPY PO_TBL_VARCHAR100
5414: , p_req_clm_info_flag_tbl IN PO_TBL_VARCHAR1
5415: , p_renumber_flag IN PO_TBL_VARCHAR1
5416: , p_start_index IN NUMBER default null
5417: , p_end_index IN NUMBER default null