504: p_context IN VARCHAR2)
505: RETURN VARCHAR2
506: IS
507:
508: Flexfield FND_DFLEX.dflex_r;
509: Flexinfo FND_DFLEX.dflex_dr;
510: Contexts FND_DFLEX.contexts_dr;
511:
512: x_context_name VARCHAR2(240);
505: RETURN VARCHAR2
506: IS
507:
508: Flexfield FND_DFLEX.dflex_r;
509: Flexinfo FND_DFLEX.dflex_dr;
510: Contexts FND_DFLEX.contexts_dr;
511:
512: x_context_name VARCHAR2(240);
513:
506: IS
507:
508: Flexfield FND_DFLEX.dflex_r;
509: Flexinfo FND_DFLEX.dflex_dr;
510: Contexts FND_DFLEX.contexts_dr;
511:
512: x_context_name VARCHAR2(240);
513:
514: l_context_type VARCHAR2(30);
542: ELSE
543:
544: -- Call Flexapi to get contexts
545:
546: FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
547: FND_DFLEX.get_contexts(Flexfield,Contexts);
548:
549:
550: FOR i IN 1..Contexts.ncontexts LOOP
543:
544: -- Call Flexapi to get contexts
545:
546: FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
547: FND_DFLEX.get_contexts(Flexfield,Contexts);
548:
549:
550: FOR i IN 1..Contexts.ncontexts LOOP
551:
1274: -- =======================================================================
1275:
1276:
1277: FUNCTION context_exists(p_context VARCHAR2,
1278: p_context_dr fnd_dflex.contexts_dr,
1279: p_context_r OUT NOCOPY fnd_dflex.context_r ) RETURN BOOLEAN IS
1280: BEGIN
1281: IF (p_context_dr.ncontexts > 0) THEN
1282: FOR i IN 1..p_context_dr.ncontexts LOOP
1275:
1276:
1277: FUNCTION context_exists(p_context VARCHAR2,
1278: p_context_dr fnd_dflex.contexts_dr,
1279: p_context_r OUT NOCOPY fnd_dflex.context_r ) RETURN BOOLEAN IS
1280: BEGIN
1281: IF (p_context_dr.ncontexts > 0) THEN
1282: FOR i IN 1..p_context_dr.ncontexts LOOP
1283: IF (p_context = p_context_dr.context_code(i)
1348: -- =======================================================================
1349:
1350:
1351: FUNCTION segment_exists(p_segment_name IN VARCHAR2,
1352: p_segments_dr IN fnd_dflex.segments_dr,
1353: p_check_enabled IN BOOLEAN := TRUE,
1354: p_value_set_id OUT NOCOPY NUMBER,
1355: p_precedence OUT NOCOPY NUMBER) RETURN BOOLEAN IS
1356: BEGIN
1797: SELECT application_id
1798: FROM fnd_application
1799: WHERE application_short_name = app_short_name;
1800:
1801: v_context_dr fnd_dflex.contexts_dr;
1802: v_dflex_r fnd_dflex.dflex_r;
1803: v_context_r fnd_dflex.context_r;
1804: v_segments_dr fnd_dflex.segments_dr;
1805: v_value_set_id NUMBER;
1798: FROM fnd_application
1799: WHERE application_short_name = app_short_name;
1800:
1801: v_context_dr fnd_dflex.contexts_dr;
1802: v_dflex_r fnd_dflex.dflex_r;
1803: v_context_r fnd_dflex.context_r;
1804: v_segments_dr fnd_dflex.segments_dr;
1805: v_value_set_id NUMBER;
1806: v_precedence NUMBER;
1799: WHERE application_short_name = app_short_name;
1800:
1801: v_context_dr fnd_dflex.contexts_dr;
1802: v_dflex_r fnd_dflex.dflex_r;
1803: v_context_r fnd_dflex.context_r;
1804: v_segments_dr fnd_dflex.segments_dr;
1805: v_value_set_id NUMBER;
1806: v_precedence NUMBER;
1807: v_valueset_r fnd_vset.valueset_r;
1800:
1801: v_context_dr fnd_dflex.contexts_dr;
1802: v_dflex_r fnd_dflex.dflex_r;
1803: v_context_r fnd_dflex.context_r;
1804: v_segments_dr fnd_dflex.segments_dr;
1805: v_value_set_id NUMBER;
1806: v_precedence NUMBER;
1807: v_valueset_r fnd_vset.valueset_r;
1808: v_format_dr fnd_vset.valueset_dr;
1806: v_precedence NUMBER;
1807: v_valueset_r fnd_vset.valueset_r;
1808: v_format_dr fnd_vset.valueset_dr;
1809: v_valueset_dr fnd_vset.valueset_dr;
1810: v_dflex_dr fnd_dflex.dflex_dr;
1811: v_flexfield_val_ind NUMBER DEFAULT 0;
1812: l_value VARCHAR2(150);
1813: l_id VARCHAR2(150);
1814:
1909: ELSE
1910:
1911: BEGIN
1912: v_flexfield_val_ind:= 1;
1913: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
1914:
1915: -- Get the context listing for the flexfield
1916: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
1917:
1912: v_flexfield_val_ind:= 1;
1913: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
1914:
1915: -- Get the context listing for the flexfield
1916: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
1917:
1918: IF (context_exists(context,v_context_dr,v_context_r) = TRUE) THEN
1919: context_flag := 'Y';
1920: ELSE
1926: v_context_r.flexfield := v_dflex_r;
1927:
1928: -- Get the enabled segments for the context selected.
1929:
1930: --fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
1931: fnd_dflex.get_segments(v_context_r,v_segments_dr,FALSE);
1932:
1933: IF (segment_exists(attribute,v_segments_dr,check_enabled,v_value_set_id,v_precedence) = TRUE) THEN
1934: IF (v_precedence IS NOT NULL) THEN
1927:
1928: -- Get the enabled segments for the context selected.
1929:
1930: --fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
1931: fnd_dflex.get_segments(v_context_r,v_segments_dr,FALSE);
1932:
1933: IF (segment_exists(attribute,v_segments_dr,check_enabled,v_value_set_id,v_precedence) = TRUE) THEN
1934: IF (v_precedence IS NOT NULL) THEN
1935: precedence := v_precedence;
2038: FROM fnd_application
2039: WHERE application_short_name = app_short_name;
2040:
2041: v_flexfield_name NUMBER DEFAULT 1;
2042: v_dflex_r fnd_dflex.dflex_r;
2043: v_context_r fnd_dflex.context_r;
2044: v_context_dr fnd_dflex.contexts_dr;
2045: v_dflex_dr fnd_dflex.dflex_dr;
2046: v_flexfield_val_ind NUMBER;
2039: WHERE application_short_name = app_short_name;
2040:
2041: v_flexfield_name NUMBER DEFAULT 1;
2042: v_dflex_r fnd_dflex.dflex_r;
2043: v_context_r fnd_dflex.context_r;
2044: v_context_dr fnd_dflex.contexts_dr;
2045: v_dflex_dr fnd_dflex.dflex_dr;
2046: v_flexfield_val_ind NUMBER;
2047:
2040:
2041: v_flexfield_name NUMBER DEFAULT 1;
2042: v_dflex_r fnd_dflex.dflex_r;
2043: v_context_r fnd_dflex.context_r;
2044: v_context_dr fnd_dflex.contexts_dr;
2045: v_dflex_dr fnd_dflex.dflex_dr;
2046: v_flexfield_val_ind NUMBER;
2047:
2048: l_attrmgr_installed VARCHAR2(30);
2041: v_flexfield_name NUMBER DEFAULT 1;
2042: v_dflex_r fnd_dflex.dflex_r;
2043: v_context_r fnd_dflex.context_r;
2044: v_context_dr fnd_dflex.contexts_dr;
2045: v_dflex_dr fnd_dflex.dflex_dr;
2046: v_flexfield_val_ind NUMBER;
2047:
2048: l_attrmgr_installed VARCHAR2(30);
2049: l_application_id NUMBER;
2114: ELSE
2115:
2116: BEGIN
2117: v_flexfield_val_ind:= 1;
2118: fnd_dflex.get_flexfield(p_application_short_name,p_flexfield_name,
2119: v_dflex_r,v_dflex_dr);
2120:
2121: -- Get the context listing for the flexfield
2122: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
2118: fnd_dflex.get_flexfield(p_application_short_name,p_flexfield_name,
2119: v_dflex_r,v_dflex_dr);
2120:
2121: -- Get the context listing for the flexfield
2122: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
2123:
2124: IF (context_exists(p_context_name,v_context_dr,v_context_r) = TRUE)
2125: THEN
2126: p_error_code := 0; -- valid context name.
2170: FROM fnd_application
2171: WHERE application_short_name = app_short_name;
2172:
2173: v_error_code NUMBER DEFAULT 0;
2174: v_dflex_r fnd_dflex.dflex_r;
2175: v_segments_dr fnd_dflex.segments_dr;
2176: v_precedence NUMBER;
2177: v_value_set_id NUMBER;
2178: v_context_r fnd_dflex.context_r;
2171: WHERE application_short_name = app_short_name;
2172:
2173: v_error_code NUMBER DEFAULT 0;
2174: v_dflex_r fnd_dflex.dflex_r;
2175: v_segments_dr fnd_dflex.segments_dr;
2176: v_precedence NUMBER;
2177: v_value_set_id NUMBER;
2178: v_context_r fnd_dflex.context_r;
2179:
2174: v_dflex_r fnd_dflex.dflex_r;
2175: v_segments_dr fnd_dflex.segments_dr;
2176: v_precedence NUMBER;
2177: v_value_set_id NUMBER;
2178: v_context_r fnd_dflex.context_r;
2179:
2180: l_application_id NUMBER;
2181: l_context_type VARCHAR2(30);
2182:
2223: v_context_r.context_code := p_context_name;
2224:
2225: -- Get the enabled segments for the context selected.
2226:
2227: --FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,TRUE);
2228: FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,FALSE);
2229:
2230: IF (segment_exists(p_attribute_name,v_segments_dr,true,v_value_set_id,
2231: v_precedence) = TRUE)
2224:
2225: -- Get the enabled segments for the context selected.
2226:
2227: --FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,TRUE);
2228: FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,FALSE);
2229:
2230: IF (segment_exists(p_attribute_name,v_segments_dr,true,v_value_set_id,
2231: v_precedence) = TRUE)
2232: THEN
2257: x_format_type OUT NOCOPY VARCHAR2,
2258: x_validation_type OUT NOCOPY VARCHAR2)
2259: IS
2260:
2261: flexfield fnd_dflex.dflex_r;
2262: flexinfo fnd_dflex.dflex_dr;
2263: test_rec fnd_vset.valueset_r;
2264: x_valuesetid NUMBER := null;
2265: test_frec fnd_vset.valueset_dr;
2258: x_validation_type OUT NOCOPY VARCHAR2)
2259: IS
2260:
2261: flexfield fnd_dflex.dflex_r;
2262: flexinfo fnd_dflex.dflex_dr;
2263: test_rec fnd_vset.valueset_r;
2264: x_valuesetid NUMBER := null;
2265: test_frec fnd_vset.valueset_dr;
2266: contexts fnd_dflex.contexts_dr;
2262: flexinfo fnd_dflex.dflex_dr;
2263: test_rec fnd_vset.valueset_r;
2264: x_valuesetid NUMBER := null;
2265: test_frec fnd_vset.valueset_dr;
2266: contexts fnd_dflex.contexts_dr;
2267: i BINARY_INTEGER;
2268: j BINARY_INTEGER;
2269: segments fnd_dflex.segments_dr;
2270:
2265: test_frec fnd_vset.valueset_dr;
2266: contexts fnd_dflex.contexts_dr;
2267: i BINARY_INTEGER;
2268: j BINARY_INTEGER;
2269: segments fnd_dflex.segments_dr;
2270:
2271: l_context_type VARCHAR2(30);
2272: l_error_code NUMBER;
2273:
2298: END IF; --If l_error_code = 0
2299:
2300: ELSE
2301:
2302: fnd_dflex.get_flexfield('QP',p_flexfield_name,flexfield,flexinfo);
2303: fnd_dflex.get_contexts(flexfield,contexts);
2304: fnd_dflex.get_segments(fnd_dflex.make_context(flexfield,p_context),segments,true);
2305: FOR j IN 1..segments.nsegments LOOP
2306:
2299:
2300: ELSE
2301:
2302: fnd_dflex.get_flexfield('QP',p_flexfield_name,flexfield,flexinfo);
2303: fnd_dflex.get_contexts(flexfield,contexts);
2304: fnd_dflex.get_segments(fnd_dflex.make_context(flexfield,p_context),segments,true);
2305: FOR j IN 1..segments.nsegments LOOP
2306:
2307: IF segments.segment_name(j) = p_seg THEN
2300: ELSE
2301:
2302: fnd_dflex.get_flexfield('QP',p_flexfield_name,flexfield,flexinfo);
2303: fnd_dflex.get_contexts(flexfield,contexts);
2304: fnd_dflex.get_segments(fnd_dflex.make_context(flexfield,p_context),segments,true);
2305: FOR j IN 1..segments.nsegments LOOP
2306:
2307: IF segments.segment_name(j) = p_seg THEN
2308: x_valuesetid := segments.value_set(j);
2422: SELECT application_id
2423: FROM fnd_application
2424: WHERE application_short_name = app_short_name;
2425:
2426: v_dflex_r fnd_dflex.dflex_r;
2427: v_segments_dr fnd_dflex.segments_dr;
2428: v_context_r fnd_dflex.context_r;
2429:
2430: CURSOR pricing_attribute_name_cur(a_context_code VARCHAR2, a_segment_name VARCHAR2)
2423: FROM fnd_application
2424: WHERE application_short_name = app_short_name;
2425:
2426: v_dflex_r fnd_dflex.dflex_r;
2427: v_segments_dr fnd_dflex.segments_dr;
2428: v_context_r fnd_dflex.context_r;
2429:
2430: CURSOR pricing_attribute_name_cur(a_context_code VARCHAR2, a_segment_name VARCHAR2)
2431: IS
2424: WHERE application_short_name = app_short_name;
2425:
2426: v_dflex_r fnd_dflex.dflex_r;
2427: v_segments_dr fnd_dflex.segments_dr;
2428: v_context_r fnd_dflex.context_r;
2429:
2430: CURSOR pricing_attribute_name_cur(a_context_code VARCHAR2, a_segment_name VARCHAR2)
2431: IS
2432: SELECT a.segment_mapping_column
2489: v_context_r.flexfield := v_dflex_r;
2490: v_context_r.context_code := p_context_name;
2491:
2492: -- get the enabled segments for the context selected.
2493: fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
2494:
2495: IF (v_segments_dr.nsegments > 0) THEN
2496:
2497: FOR i IN 1..v_segments_dr.nsegments LOOP
2611: , P_NEW_PRODUCT IN VARCHAR2
2612: , P_FLEXFIELD_NAME IN VARCHAR2
2613: , P_NEW_FLEXFIELD_NAME IN VARCHAR2)
2614: IS
2615: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2616: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2612: , P_FLEXFIELD_NAME IN VARCHAR2
2613: , P_NEW_FLEXFIELD_NAME IN VARCHAR2)
2614: IS
2615: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2616: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2620: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2613: , P_NEW_FLEXFIELD_NAME IN VARCHAR2)
2614: IS
2615: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2616: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2620: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2621: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2614: IS
2615: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2616: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2620: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2621: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2622: L_REQUIRED VARCHAR2(5);
2615: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2616: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2620: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2621: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2622: L_REQUIRED VARCHAR2(5);
2623: L_SECURITY_ENABLED VARCHAR2(5);
2616: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2620: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2621: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2622: L_REQUIRED VARCHAR2(5);
2623: L_SECURITY_ENABLED VARCHAR2(5);
2624:
2617: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2618: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2619: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2620: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2621: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2622: L_REQUIRED VARCHAR2(5);
2623: L_SECURITY_ENABLED VARCHAR2(5);
2624:
2625: L_VALUE_SET_ID NUMBER := 0;
2648: P_NEW_FLEXFIELD_NAME )) THEN
2649: --dbms_output.put_line ('Entered the Processing');
2650: IF (P_NEW_FLEXFIELD_NAME = G_QP_ATTR_DEFNS_PRICING) THEN
2651: -- Get the New Global Data Elements Context and Its Segments
2652: FND_DFLEX.GET_FLEXFIELD( P_NEW_PRODUCT
2653: , P_NEW_FLEXFIELD_NAME
2654: , P_FLEXFIELD
2655: , P_FLEXINFO );
2656:
2654: , P_FLEXFIELD
2655: , P_FLEXINFO );
2656:
2657: -- Get all contexts for the flexfield
2658: FND_DFLEX.GET_CONTEXTS( P_FLEXFIELD, L_CONTEXTS );
2659:
2660: -- Get the Context Code for New Global Data Elements Context (if any)
2661: FOR I IN 1..L_CONTEXTS.NCONTEXTS LOOP
2662: --dbms_output.put_line ('Found the Old GDE Context');
2660: -- Get the Context Code for New Global Data Elements Context (if any)
2661: FOR I IN 1..L_CONTEXTS.NCONTEXTS LOOP
2662: --dbms_output.put_line ('Found the Old GDE Context');
2663: IF (L_CONTEXTS.CONTEXT_CODE(I) = OLD_GDE_CONTEXT_CODE) THEN
2664: FND_DFLEX.GET_SEGMENTS ( FND_DFLEX.MAKE_CONTEXT( P_FLEXFIELD , OLD_GDE_CONTEXT_CODE)
2665: ,NEW_GDE_SEGMENTS
2666: , FALSE ) ;
2667: END IF;
2668: EXIT;
2685: END IF;
2686:
2687: --dbms_output.put_line('Starting the actual Migration');
2688: -- Now start the migration of contexts and segments
2689: FND_DFLEX.GET_FLEXFIELD(
2690: P_PRODUCT
2691: , P_FLEXFIELD_NAME
2692: , P_FLEXFIELD
2693: , P_FLEXINFO );
2691: , P_FLEXFIELD_NAME
2692: , P_FLEXFIELD
2693: , P_FLEXINFO );
2694:
2695: FND_DFLEX.GET_CONTEXTS( P_FLEXFIELD, L_CONTEXTS );
2696:
2697: -- Store all the old contexts
2698: GDE_CONTEXTS := L_CONTEXTS;
2699:
2727: FND_FLEX_DSC_API.ENABLE_COLUMNS( P_NEW_PRODUCT
2728: , P_NEW_FLEXFIELD_NAME
2729: , 'ATTRIBUTE[0-9]+');
2730:
2731: FND_DFLEX.GET_SEGMENTS ( FND_DFLEX.MAKE_CONTEXT( P_FLEXFIELD , L_CONTEXTS.CONTEXT_CODE(I))
2732: ,L_SEGMENTS
2733: , FALSE ) ;
2734:
2735:
2858: FND_FLEX_DSC_API.ENABLE_COLUMNS(P_NEW_PRODUCT
2859: , P_NEW_FLEXFIELD_NAME
2860: , 'ATTRIBUTE[0-9]+');
2861:
2862: FND_DFLEX.GET_SEGMENTS ( FND_DFLEX.MAKE_CONTEXT( P_FLEXFIELD , L_CONTEXTS.CONTEXT_CODE(I))
2863: ,L_SEGMENTS
2864: , FALSE ) ;
2865:
2866: L_SEGMENT_COUNT := L_SEGMENTS.NSEGMENTS;
3112: SELECT application_id
3113: FROM fnd_application
3114: WHERE application_short_name = app_short_name;
3115:
3116: v_context_dr fnd_dflex.contexts_dr;
3117: v_dflex_r fnd_dflex.dflex_r;
3118: v_context_r fnd_dflex.context_r;
3119: v_segments_dr fnd_dflex.segments_dr;
3120: v_value_set_id NUMBER;
3113: FROM fnd_application
3114: WHERE application_short_name = app_short_name;
3115:
3116: v_context_dr fnd_dflex.contexts_dr;
3117: v_dflex_r fnd_dflex.dflex_r;
3118: v_context_r fnd_dflex.context_r;
3119: v_segments_dr fnd_dflex.segments_dr;
3120: v_value_set_id NUMBER;
3121: v_precedence NUMBER;
3114: WHERE application_short_name = app_short_name;
3115:
3116: v_context_dr fnd_dflex.contexts_dr;
3117: v_dflex_r fnd_dflex.dflex_r;
3118: v_context_r fnd_dflex.context_r;
3119: v_segments_dr fnd_dflex.segments_dr;
3120: v_value_set_id NUMBER;
3121: v_precedence NUMBER;
3122: v_valueset_r fnd_vset.valueset_r;
3115:
3116: v_context_dr fnd_dflex.contexts_dr;
3117: v_dflex_r fnd_dflex.dflex_r;
3118: v_context_r fnd_dflex.context_r;
3119: v_segments_dr fnd_dflex.segments_dr;
3120: v_value_set_id NUMBER;
3121: v_precedence NUMBER;
3122: v_valueset_r fnd_vset.valueset_r;
3123: v_format_dr fnd_vset.valueset_dr;
3121: v_precedence NUMBER;
3122: v_valueset_r fnd_vset.valueset_r;
3123: v_format_dr fnd_vset.valueset_dr;
3124: v_valueset_dr fnd_vset.valueset_dr;
3125: v_dflex_dr fnd_dflex.dflex_dr;
3126: v_flexfield_val_ind NUMBER DEFAULT 0;
3127: J NUMBER := 0;
3128:
3129: BEGIN
3152: CLOSE Cur_get_application_id;
3153:
3154: -- check if flexfield name passed is a valid one or not.
3155: v_flexfield_val_ind:= 1;
3156: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
3157:
3158: -- Get the context listing for the flexfield
3159: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
3160:
3155: v_flexfield_val_ind:= 1;
3156: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
3157:
3158: -- Get the context listing for the flexfield
3159: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
3160:
3161: For i in 1..v_context_dr.ncontexts LOOP
3162:
3163: --dbms_output.put_line('context code -1 is : ' || v_context_dr.context_code(i));
3166: v_context_r.flexfield := v_dflex_r;
3167:
3168:
3169:
3170: fnd_dflex.get_segments(v_context_r,v_segments_dr);
3171:
3172: FOR K IN 1..v_segments_dr.nsegments LOOP
3173:
3174: J := J + 1;
3293: SELECT application_id
3294: FROM fnd_application
3295: WHERE application_short_name = app_short_name;
3296:
3297: v_dflex_r fnd_dflex.dflex_r;
3298: v_segments_dr fnd_dflex.segments_dr;
3299: v_context_r fnd_dflex.context_r;
3300: BEGIN
3301: OPEN Cur_get_application_id('QP');
3294: FROM fnd_application
3295: WHERE application_short_name = app_short_name;
3296:
3297: v_dflex_r fnd_dflex.dflex_r;
3298: v_segments_dr fnd_dflex.segments_dr;
3299: v_context_r fnd_dflex.context_r;
3300: BEGIN
3301: OPEN Cur_get_application_id('QP');
3302: FETCH Cur_get_application_id INTO v_dflex_r.application_id;
3295: WHERE application_short_name = app_short_name;
3296:
3297: v_dflex_r fnd_dflex.dflex_r;
3298: v_segments_dr fnd_dflex.segments_dr;
3299: v_context_r fnd_dflex.context_r;
3300: BEGIN
3301: OPEN Cur_get_application_id('QP');
3302: FETCH Cur_get_application_id INTO v_dflex_r.application_id;
3303: CLOSE Cur_get_application_id;
3305: v_context_r.flexfield := v_dflex_r;
3306: v_context_r.context_code := p_context;
3307: -- Get the enabled segments for the context selected.
3308:
3309: fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
3310: -- IF (v_segments_dr.nsegments > 0) THEN
3311:
3312: FOR i IN 1..v_segments_dr.nsegments LOOP
3313: IF (v_segments_dr.application_column_name(i) = p_seg) THEN
4114: x_attribute_code OUT NOCOPY VARCHAR2,
4115: x_segment_name OUT NOCOPY VARCHAR2)
4116: IS
4117:
4118: Flexfield FND_DFLEX.dflex_r;
4119: Flexinfo FND_DFLEX.dflex_dr;
4120: Contexts FND_DFLEX.contexts_dr;
4121: segments FND_DFLEX.segments_dr;
4122: i BINARY_INTEGER;
4115: x_segment_name OUT NOCOPY VARCHAR2)
4116: IS
4117:
4118: Flexfield FND_DFLEX.dflex_r;
4119: Flexinfo FND_DFLEX.dflex_dr;
4120: Contexts FND_DFLEX.contexts_dr;
4121: segments FND_DFLEX.segments_dr;
4122: i BINARY_INTEGER;
4123:
4116: IS
4117:
4118: Flexfield FND_DFLEX.dflex_r;
4119: Flexinfo FND_DFLEX.dflex_dr;
4120: Contexts FND_DFLEX.contexts_dr;
4121: segments FND_DFLEX.segments_dr;
4122: i BINARY_INTEGER;
4123:
4124: VALID_ATTRIBUTE BOOLEAN := FALSE;
4117:
4118: Flexfield FND_DFLEX.dflex_r;
4119: Flexinfo FND_DFLEX.dflex_dr;
4120: Contexts FND_DFLEX.contexts_dr;
4121: segments FND_DFLEX.segments_dr;
4122: i BINARY_INTEGER;
4123:
4124: VALID_ATTRIBUTE BOOLEAN := FALSE;
4125:
4194: /* Commented out for 2332139 */
4195:
4196: /*
4197:
4198: FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
4199:
4200: --removing the check for the enabled segments as well as per the upgrade
4201: --requirement. While upgrading ,there may be some segments which were
4202: --enabled in the past but disabled now. In such cases ,we still need to
4201: --requirement. While upgrading ,there may be some segments which were
4202: --enabled in the past but disabled now. In such cases ,we still need to
4203: --show the data in the post query.
4204:
4205: FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Name),
4206: segments,FALSE);
4207:
4208: FOR i IN 1..segments.nsegments LOOP
4209:
4304: x_context_out_tbl OUT NOCOPY CREATE_CONTEXT_OUT_TBL)
4305:
4306: IS
4307:
4308: Flexfield FND_DFLEX.dflex_r;
4309: Flexinfo FND_DFLEX.dflex_dr;
4310: Contexts FND_DFLEX.contexts_dr;
4311:
4312: J Binary_Integer := 1;
4305:
4306: IS
4307:
4308: Flexfield FND_DFLEX.dflex_r;
4309: Flexinfo FND_DFLEX.dflex_dr;
4310: Contexts FND_DFLEX.contexts_dr;
4311:
4312: J Binary_Integer := 1;
4313:
4306: IS
4307:
4308: Flexfield FND_DFLEX.dflex_r;
4309: Flexinfo FND_DFLEX.dflex_dr;
4310: Contexts FND_DFLEX.contexts_dr;
4311:
4312: J Binary_Integer := 1;
4313:
4314: l_pte_code VARCHAR2(30);
4444: l_flexfield_name := 'QP_ATTR_DEFNS_QUALIFIER';
4445: END IF;
4446:
4447: -- Call Flexapi to get contexts
4448: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4449: FND_DFLEX.get_contexts(Flexfield,Contexts);
4450:
4451: FOR i IN 1..Contexts.ncontexts LOOP
4452:
4445: END IF;
4446:
4447: -- Call Flexapi to get contexts
4448: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4449: FND_DFLEX.get_contexts(Flexfield,Contexts);
4450:
4451: FOR i IN 1..Contexts.ncontexts LOOP
4452:
4453: -- If (Contexts.is_enabled(i)) Then
4577: x_return_status OUT NOCOPY VARCHAR2,
4578: x_attribute_out_tbl OUT NOCOPY CREATE_ATTRIBUTE_OUT_TBL)
4579: IS
4580:
4581: Flexfield FND_DFLEX.dflex_r;
4582: Flexinfo FND_DFLEX.dflex_dr;
4583: Contexts FND_DFLEX.contexts_dr;
4584: segments FND_DFLEX.segments_dr;
4585: i BINARY_INTEGER;
4578: x_attribute_out_tbl OUT NOCOPY CREATE_ATTRIBUTE_OUT_TBL)
4579: IS
4580:
4581: Flexfield FND_DFLEX.dflex_r;
4582: Flexinfo FND_DFLEX.dflex_dr;
4583: Contexts FND_DFLEX.contexts_dr;
4584: segments FND_DFLEX.segments_dr;
4585: i BINARY_INTEGER;
4586:
4579: IS
4580:
4581: Flexfield FND_DFLEX.dflex_r;
4582: Flexinfo FND_DFLEX.dflex_dr;
4583: Contexts FND_DFLEX.contexts_dr;
4584: segments FND_DFLEX.segments_dr;
4585: i BINARY_INTEGER;
4586:
4587: j Binary_Integer := 1;
4580:
4581: Flexfield FND_DFLEX.dflex_r;
4582: Flexinfo FND_DFLEX.dflex_dr;
4583: Contexts FND_DFLEX.contexts_dr;
4584: segments FND_DFLEX.segments_dr;
4585: i BINARY_INTEGER;
4586:
4587: j Binary_Integer := 1;
4588:
4807: ELSIF p_context_type = 'QUALIFIER' THEN
4808: l_flexfield_name := 'QP_ATTR_DEFNS_QUALIFIER';
4809: END IF;
4810:
4811: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4812: FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Code),
4813: segments,TRUE);
4814:
4815: IF segments.nsegments <> 0 THEN
4808: l_flexfield_name := 'QP_ATTR_DEFNS_QUALIFIER';
4809: END IF;
4810:
4811: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4812: FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Code),
4813: segments,TRUE);
4814:
4815: IF segments.nsegments <> 0 THEN
4816: