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
1810: SELECT application_id
1811: FROM fnd_application
1812: WHERE application_short_name = app_short_name;
1813:
1814: v_context_dr fnd_dflex.contexts_dr;
1815: v_dflex_r fnd_dflex.dflex_r;
1816: v_context_r fnd_dflex.context_r;
1817: v_segments_dr fnd_dflex.segments_dr;
1818: v_value_set_id NUMBER;
1811: FROM fnd_application
1812: WHERE application_short_name = app_short_name;
1813:
1814: v_context_dr fnd_dflex.contexts_dr;
1815: v_dflex_r fnd_dflex.dflex_r;
1816: v_context_r fnd_dflex.context_r;
1817: v_segments_dr fnd_dflex.segments_dr;
1818: v_value_set_id NUMBER;
1819: v_precedence NUMBER;
1812: WHERE application_short_name = app_short_name;
1813:
1814: v_context_dr fnd_dflex.contexts_dr;
1815: v_dflex_r fnd_dflex.dflex_r;
1816: v_context_r fnd_dflex.context_r;
1817: v_segments_dr fnd_dflex.segments_dr;
1818: v_value_set_id NUMBER;
1819: v_precedence NUMBER;
1820: v_valueset_r fnd_vset.valueset_r;
1813:
1814: v_context_dr fnd_dflex.contexts_dr;
1815: v_dflex_r fnd_dflex.dflex_r;
1816: v_context_r fnd_dflex.context_r;
1817: v_segments_dr fnd_dflex.segments_dr;
1818: v_value_set_id NUMBER;
1819: v_precedence NUMBER;
1820: v_valueset_r fnd_vset.valueset_r;
1821: v_format_dr fnd_vset.valueset_dr;
1819: v_precedence NUMBER;
1820: v_valueset_r fnd_vset.valueset_r;
1821: v_format_dr fnd_vset.valueset_dr;
1822: v_valueset_dr fnd_vset.valueset_dr;
1823: v_dflex_dr fnd_dflex.dflex_dr;
1824: v_flexfield_val_ind NUMBER DEFAULT 0;
1825: l_value VARCHAR2(150);
1826: l_id VARCHAR2(150);
1827:
1922: ELSE
1923:
1924: BEGIN
1925: v_flexfield_val_ind:= 1;
1926: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
1927:
1928: -- Get the context listing for the flexfield
1929: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
1930:
1925: v_flexfield_val_ind:= 1;
1926: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
1927:
1928: -- Get the context listing for the flexfield
1929: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
1930:
1931: IF (context_exists(context,v_context_dr,v_context_r) = TRUE) THEN
1932: context_flag := 'Y';
1933: ELSE
1939: v_context_r.flexfield := v_dflex_r;
1940:
1941: -- Get the enabled segments for the context selected.
1942:
1943: --fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
1944: fnd_dflex.get_segments(v_context_r,v_segments_dr,FALSE);
1945:
1946: IF (segment_exists(attribute,v_segments_dr,check_enabled,v_value_set_id,v_precedence) = TRUE) THEN
1947: IF (v_precedence IS NOT NULL) THEN
1940:
1941: -- Get the enabled segments for the context selected.
1942:
1943: --fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
1944: fnd_dflex.get_segments(v_context_r,v_segments_dr,FALSE);
1945:
1946: IF (segment_exists(attribute,v_segments_dr,check_enabled,v_value_set_id,v_precedence) = TRUE) THEN
1947: IF (v_precedence IS NOT NULL) THEN
1948: precedence := v_precedence;
2051: FROM fnd_application
2052: WHERE application_short_name = app_short_name;
2053:
2054: v_flexfield_name NUMBER DEFAULT 1;
2055: v_dflex_r fnd_dflex.dflex_r;
2056: v_context_r fnd_dflex.context_r;
2057: v_context_dr fnd_dflex.contexts_dr;
2058: v_dflex_dr fnd_dflex.dflex_dr;
2059: v_flexfield_val_ind NUMBER;
2052: WHERE application_short_name = app_short_name;
2053:
2054: v_flexfield_name NUMBER DEFAULT 1;
2055: v_dflex_r fnd_dflex.dflex_r;
2056: v_context_r fnd_dflex.context_r;
2057: v_context_dr fnd_dflex.contexts_dr;
2058: v_dflex_dr fnd_dflex.dflex_dr;
2059: v_flexfield_val_ind NUMBER;
2060:
2053:
2054: v_flexfield_name NUMBER DEFAULT 1;
2055: v_dflex_r fnd_dflex.dflex_r;
2056: v_context_r fnd_dflex.context_r;
2057: v_context_dr fnd_dflex.contexts_dr;
2058: v_dflex_dr fnd_dflex.dflex_dr;
2059: v_flexfield_val_ind NUMBER;
2060:
2061: l_attrmgr_installed VARCHAR2(30);
2054: v_flexfield_name NUMBER DEFAULT 1;
2055: v_dflex_r fnd_dflex.dflex_r;
2056: v_context_r fnd_dflex.context_r;
2057: v_context_dr fnd_dflex.contexts_dr;
2058: v_dflex_dr fnd_dflex.dflex_dr;
2059: v_flexfield_val_ind NUMBER;
2060:
2061: l_attrmgr_installed VARCHAR2(30);
2062: l_application_id NUMBER;
2127: ELSE
2128:
2129: BEGIN
2130: v_flexfield_val_ind:= 1;
2131: fnd_dflex.get_flexfield(p_application_short_name,p_flexfield_name,
2132: v_dflex_r,v_dflex_dr);
2133:
2134: -- Get the context listing for the flexfield
2135: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
2131: fnd_dflex.get_flexfield(p_application_short_name,p_flexfield_name,
2132: v_dflex_r,v_dflex_dr);
2133:
2134: -- Get the context listing for the flexfield
2135: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
2136:
2137: IF (context_exists(p_context_name,v_context_dr,v_context_r) = TRUE)
2138: THEN
2139: p_error_code := 0; -- valid context name.
2183: FROM fnd_application
2184: WHERE application_short_name = app_short_name;
2185:
2186: v_error_code NUMBER DEFAULT 0;
2187: v_dflex_r fnd_dflex.dflex_r;
2188: v_segments_dr fnd_dflex.segments_dr;
2189: v_precedence NUMBER;
2190: v_value_set_id NUMBER;
2191: v_context_r fnd_dflex.context_r;
2184: WHERE application_short_name = app_short_name;
2185:
2186: v_error_code NUMBER DEFAULT 0;
2187: v_dflex_r fnd_dflex.dflex_r;
2188: v_segments_dr fnd_dflex.segments_dr;
2189: v_precedence NUMBER;
2190: v_value_set_id NUMBER;
2191: v_context_r fnd_dflex.context_r;
2192:
2187: v_dflex_r fnd_dflex.dflex_r;
2188: v_segments_dr fnd_dflex.segments_dr;
2189: v_precedence NUMBER;
2190: v_value_set_id NUMBER;
2191: v_context_r fnd_dflex.context_r;
2192:
2193: l_application_id NUMBER;
2194: l_context_type VARCHAR2(30);
2195:
2236: v_context_r.context_code := p_context_name;
2237:
2238: -- Get the enabled segments for the context selected.
2239:
2240: --FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,TRUE);
2241: FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,FALSE);
2242:
2243: IF (segment_exists(p_attribute_name,v_segments_dr,true,v_value_set_id,
2244: v_precedence) = TRUE)
2237:
2238: -- Get the enabled segments for the context selected.
2239:
2240: --FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,TRUE);
2241: FND_DFLEX.GET_SEGMENTS(V_CONTEXT_R,V_SEGMENTS_DR,FALSE);
2242:
2243: IF (segment_exists(p_attribute_name,v_segments_dr,true,v_value_set_id,
2244: v_precedence) = TRUE)
2245: THEN
2270: x_format_type OUT NOCOPY VARCHAR2,
2271: x_validation_type OUT NOCOPY VARCHAR2)
2272: IS
2273:
2274: flexfield fnd_dflex.dflex_r;
2275: flexinfo fnd_dflex.dflex_dr;
2276: test_rec fnd_vset.valueset_r;
2277: x_valuesetid NUMBER := null;
2278: test_frec fnd_vset.valueset_dr;
2271: x_validation_type OUT NOCOPY VARCHAR2)
2272: IS
2273:
2274: flexfield fnd_dflex.dflex_r;
2275: flexinfo fnd_dflex.dflex_dr;
2276: test_rec fnd_vset.valueset_r;
2277: x_valuesetid NUMBER := null;
2278: test_frec fnd_vset.valueset_dr;
2279: contexts fnd_dflex.contexts_dr;
2275: flexinfo fnd_dflex.dflex_dr;
2276: test_rec fnd_vset.valueset_r;
2277: x_valuesetid NUMBER := null;
2278: test_frec fnd_vset.valueset_dr;
2279: contexts fnd_dflex.contexts_dr;
2280: i BINARY_INTEGER;
2281: j BINARY_INTEGER;
2282: segments fnd_dflex.segments_dr;
2283:
2278: test_frec fnd_vset.valueset_dr;
2279: contexts fnd_dflex.contexts_dr;
2280: i BINARY_INTEGER;
2281: j BINARY_INTEGER;
2282: segments fnd_dflex.segments_dr;
2283:
2284: l_context_type VARCHAR2(30);
2285: l_error_code NUMBER;
2286:
2311: END IF; --If l_error_code = 0
2312:
2313: ELSE
2314:
2315: fnd_dflex.get_flexfield('QP',p_flexfield_name,flexfield,flexinfo);
2316: fnd_dflex.get_contexts(flexfield,contexts);
2317: fnd_dflex.get_segments(fnd_dflex.make_context(flexfield,p_context),segments,true);
2318: FOR j IN 1..segments.nsegments LOOP
2319:
2312:
2313: ELSE
2314:
2315: fnd_dflex.get_flexfield('QP',p_flexfield_name,flexfield,flexinfo);
2316: fnd_dflex.get_contexts(flexfield,contexts);
2317: fnd_dflex.get_segments(fnd_dflex.make_context(flexfield,p_context),segments,true);
2318: FOR j IN 1..segments.nsegments LOOP
2319:
2320: IF segments.segment_name(j) = p_seg THEN
2313: ELSE
2314:
2315: fnd_dflex.get_flexfield('QP',p_flexfield_name,flexfield,flexinfo);
2316: fnd_dflex.get_contexts(flexfield,contexts);
2317: fnd_dflex.get_segments(fnd_dflex.make_context(flexfield,p_context),segments,true);
2318: FOR j IN 1..segments.nsegments LOOP
2319:
2320: IF segments.segment_name(j) = p_seg THEN
2321: x_valuesetid := segments.value_set(j);
2435: SELECT application_id
2436: FROM fnd_application
2437: WHERE application_short_name = app_short_name;
2438:
2439: v_dflex_r fnd_dflex.dflex_r;
2440: v_segments_dr fnd_dflex.segments_dr;
2441: v_context_r fnd_dflex.context_r;
2442:
2443: CURSOR pricing_attribute_name_cur(a_context_code VARCHAR2, a_segment_name VARCHAR2)
2436: FROM fnd_application
2437: WHERE application_short_name = app_short_name;
2438:
2439: v_dflex_r fnd_dflex.dflex_r;
2440: v_segments_dr fnd_dflex.segments_dr;
2441: v_context_r fnd_dflex.context_r;
2442:
2443: CURSOR pricing_attribute_name_cur(a_context_code VARCHAR2, a_segment_name VARCHAR2)
2444: IS
2437: WHERE application_short_name = app_short_name;
2438:
2439: v_dflex_r fnd_dflex.dflex_r;
2440: v_segments_dr fnd_dflex.segments_dr;
2441: v_context_r fnd_dflex.context_r;
2442:
2443: CURSOR pricing_attribute_name_cur(a_context_code VARCHAR2, a_segment_name VARCHAR2)
2444: IS
2445: SELECT a.segment_mapping_column
2502: v_context_r.flexfield := v_dflex_r;
2503: v_context_r.context_code := p_context_name;
2504:
2505: -- get the enabled segments for the context selected.
2506: fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
2507:
2508: IF (v_segments_dr.nsegments > 0) THEN
2509:
2510: FOR i IN 1..v_segments_dr.nsegments LOOP
2624: , P_NEW_PRODUCT IN VARCHAR2
2625: , P_FLEXFIELD_NAME IN VARCHAR2
2626: , P_NEW_FLEXFIELD_NAME IN VARCHAR2)
2627: IS
2628: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2629: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2625: , P_FLEXFIELD_NAME IN VARCHAR2
2626: , P_NEW_FLEXFIELD_NAME IN VARCHAR2)
2627: IS
2628: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2629: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2633: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2626: , P_NEW_FLEXFIELD_NAME IN VARCHAR2)
2627: IS
2628: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2629: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2633: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2634: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2627: IS
2628: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2629: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2633: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2634: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2635: L_REQUIRED VARCHAR2(5);
2628: P_FLEXFIELD FND_DFLEX.DFLEX_R;
2629: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2633: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2634: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2635: L_REQUIRED VARCHAR2(5);
2636: L_SECURITY_ENABLED VARCHAR2(5);
2629: P_FLEXINFO FND_DFLEX.DFLEX_DR;
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2633: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2634: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2635: L_REQUIRED VARCHAR2(5);
2636: L_SECURITY_ENABLED VARCHAR2(5);
2637:
2630: L_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2631: GDE_CONTEXTS FND_DFLEX.CONTEXTS_DR;
2632: L_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2633: GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2634: NEW_GDE_SEGMENTS FND_DFLEX.SEGMENTS_DR;
2635: L_REQUIRED VARCHAR2(5);
2636: L_SECURITY_ENABLED VARCHAR2(5);
2637:
2638: L_VALUE_SET_ID NUMBER := 0;
2661: P_NEW_FLEXFIELD_NAME )) THEN
2662: --dbms_output.put_line ('Entered the Processing');
2663: IF (P_NEW_FLEXFIELD_NAME = G_QP_ATTR_DEFNS_PRICING) THEN
2664: -- Get the New Global Data Elements Context and Its Segments
2665: FND_DFLEX.GET_FLEXFIELD( P_NEW_PRODUCT
2666: , P_NEW_FLEXFIELD_NAME
2667: , P_FLEXFIELD
2668: , P_FLEXINFO );
2669:
2667: , P_FLEXFIELD
2668: , P_FLEXINFO );
2669:
2670: -- Get all contexts for the flexfield
2671: FND_DFLEX.GET_CONTEXTS( P_FLEXFIELD, L_CONTEXTS );
2672:
2673: -- Get the Context Code for New Global Data Elements Context (if any)
2674: FOR I IN 1..L_CONTEXTS.NCONTEXTS LOOP
2675: --dbms_output.put_line ('Found the Old GDE Context');
2673: -- Get the Context Code for New Global Data Elements Context (if any)
2674: FOR I IN 1..L_CONTEXTS.NCONTEXTS LOOP
2675: --dbms_output.put_line ('Found the Old GDE Context');
2676: IF (L_CONTEXTS.CONTEXT_CODE(I) = OLD_GDE_CONTEXT_CODE) THEN
2677: FND_DFLEX.GET_SEGMENTS ( FND_DFLEX.MAKE_CONTEXT( P_FLEXFIELD , OLD_GDE_CONTEXT_CODE)
2678: ,NEW_GDE_SEGMENTS
2679: , FALSE ) ;
2680: END IF;
2681: EXIT;
2698: END IF;
2699:
2700: --dbms_output.put_line('Starting the actual Migration');
2701: -- Now start the migration of contexts and segments
2702: FND_DFLEX.GET_FLEXFIELD(
2703: P_PRODUCT
2704: , P_FLEXFIELD_NAME
2705: , P_FLEXFIELD
2706: , P_FLEXINFO );
2704: , P_FLEXFIELD_NAME
2705: , P_FLEXFIELD
2706: , P_FLEXINFO );
2707:
2708: FND_DFLEX.GET_CONTEXTS( P_FLEXFIELD, L_CONTEXTS );
2709:
2710: -- Store all the old contexts
2711: GDE_CONTEXTS := L_CONTEXTS;
2712:
2740: FND_FLEX_DSC_API.ENABLE_COLUMNS( P_NEW_PRODUCT
2741: , P_NEW_FLEXFIELD_NAME
2742: , 'ATTRIBUTE[0-9]+');
2743:
2744: FND_DFLEX.GET_SEGMENTS ( FND_DFLEX.MAKE_CONTEXT( P_FLEXFIELD , L_CONTEXTS.CONTEXT_CODE(I))
2745: ,L_SEGMENTS
2746: , FALSE ) ;
2747:
2748:
2871: FND_FLEX_DSC_API.ENABLE_COLUMNS(P_NEW_PRODUCT
2872: , P_NEW_FLEXFIELD_NAME
2873: , 'ATTRIBUTE[0-9]+');
2874:
2875: FND_DFLEX.GET_SEGMENTS ( FND_DFLEX.MAKE_CONTEXT( P_FLEXFIELD , L_CONTEXTS.CONTEXT_CODE(I))
2876: ,L_SEGMENTS
2877: , FALSE ) ;
2878:
2879: L_SEGMENT_COUNT := L_SEGMENTS.NSEGMENTS;
3125: SELECT application_id
3126: FROM fnd_application
3127: WHERE application_short_name = app_short_name;
3128:
3129: v_context_dr fnd_dflex.contexts_dr;
3130: v_dflex_r fnd_dflex.dflex_r;
3131: v_context_r fnd_dflex.context_r;
3132: v_segments_dr fnd_dflex.segments_dr;
3133: v_value_set_id NUMBER;
3126: FROM fnd_application
3127: WHERE application_short_name = app_short_name;
3128:
3129: v_context_dr fnd_dflex.contexts_dr;
3130: v_dflex_r fnd_dflex.dflex_r;
3131: v_context_r fnd_dflex.context_r;
3132: v_segments_dr fnd_dflex.segments_dr;
3133: v_value_set_id NUMBER;
3134: v_precedence NUMBER;
3127: WHERE application_short_name = app_short_name;
3128:
3129: v_context_dr fnd_dflex.contexts_dr;
3130: v_dflex_r fnd_dflex.dflex_r;
3131: v_context_r fnd_dflex.context_r;
3132: v_segments_dr fnd_dflex.segments_dr;
3133: v_value_set_id NUMBER;
3134: v_precedence NUMBER;
3135: v_valueset_r fnd_vset.valueset_r;
3128:
3129: v_context_dr fnd_dflex.contexts_dr;
3130: v_dflex_r fnd_dflex.dflex_r;
3131: v_context_r fnd_dflex.context_r;
3132: v_segments_dr fnd_dflex.segments_dr;
3133: v_value_set_id NUMBER;
3134: v_precedence NUMBER;
3135: v_valueset_r fnd_vset.valueset_r;
3136: v_format_dr fnd_vset.valueset_dr;
3134: v_precedence NUMBER;
3135: v_valueset_r fnd_vset.valueset_r;
3136: v_format_dr fnd_vset.valueset_dr;
3137: v_valueset_dr fnd_vset.valueset_dr;
3138: v_dflex_dr fnd_dflex.dflex_dr;
3139: v_flexfield_val_ind NUMBER DEFAULT 0;
3140: J NUMBER := 0;
3141:
3142: BEGIN
3165: CLOSE Cur_get_application_id;
3166:
3167: -- check if flexfield name passed is a valid one or not.
3168: v_flexfield_val_ind:= 1;
3169: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
3170:
3171: -- Get the context listing for the flexfield
3172: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
3173:
3168: v_flexfield_val_ind:= 1;
3169: fnd_dflex.get_flexfield(application_short_name,flexfield_name,v_dflex_r,v_dflex_dr);
3170:
3171: -- Get the context listing for the flexfield
3172: fnd_dflex.get_contexts(v_dflex_r,v_context_dr);
3173:
3174: For i in 1..v_context_dr.ncontexts LOOP
3175:
3176: --dbms_output.put_line('context code -1 is : ' || v_context_dr.context_code(i));
3179: v_context_r.flexfield := v_dflex_r;
3180:
3181:
3182:
3183: fnd_dflex.get_segments(v_context_r,v_segments_dr);
3184:
3185: FOR K IN 1..v_segments_dr.nsegments LOOP
3186:
3187: J := J + 1;
3306: SELECT application_id
3307: FROM fnd_application
3308: WHERE application_short_name = app_short_name;
3309:
3310: v_dflex_r fnd_dflex.dflex_r;
3311: v_segments_dr fnd_dflex.segments_dr;
3312: v_context_r fnd_dflex.context_r;
3313: BEGIN
3314: OPEN Cur_get_application_id('QP');
3307: FROM fnd_application
3308: WHERE application_short_name = app_short_name;
3309:
3310: v_dflex_r fnd_dflex.dflex_r;
3311: v_segments_dr fnd_dflex.segments_dr;
3312: v_context_r fnd_dflex.context_r;
3313: BEGIN
3314: OPEN Cur_get_application_id('QP');
3315: FETCH Cur_get_application_id INTO v_dflex_r.application_id;
3308: WHERE application_short_name = app_short_name;
3309:
3310: v_dflex_r fnd_dflex.dflex_r;
3311: v_segments_dr fnd_dflex.segments_dr;
3312: v_context_r fnd_dflex.context_r;
3313: BEGIN
3314: OPEN Cur_get_application_id('QP');
3315: FETCH Cur_get_application_id INTO v_dflex_r.application_id;
3316: CLOSE Cur_get_application_id;
3318: v_context_r.flexfield := v_dflex_r;
3319: v_context_r.context_code := p_context;
3320: -- Get the enabled segments for the context selected.
3321:
3322: fnd_dflex.get_segments(v_context_r,v_segments_dr,TRUE);
3323: -- IF (v_segments_dr.nsegments > 0) THEN
3324:
3325: FOR i IN 1..v_segments_dr.nsegments LOOP
3326: IF (v_segments_dr.application_column_name(i) = p_seg) THEN
4137: x_attribute_code OUT NOCOPY VARCHAR2,
4138: x_segment_name OUT NOCOPY VARCHAR2)
4139: IS
4140:
4141: Flexfield FND_DFLEX.dflex_r;
4142: Flexinfo FND_DFLEX.dflex_dr;
4143: Contexts FND_DFLEX.contexts_dr;
4144: segments FND_DFLEX.segments_dr;
4145: i BINARY_INTEGER;
4138: x_segment_name OUT NOCOPY VARCHAR2)
4139: IS
4140:
4141: Flexfield FND_DFLEX.dflex_r;
4142: Flexinfo FND_DFLEX.dflex_dr;
4143: Contexts FND_DFLEX.contexts_dr;
4144: segments FND_DFLEX.segments_dr;
4145: i BINARY_INTEGER;
4146:
4139: IS
4140:
4141: Flexfield FND_DFLEX.dflex_r;
4142: Flexinfo FND_DFLEX.dflex_dr;
4143: Contexts FND_DFLEX.contexts_dr;
4144: segments FND_DFLEX.segments_dr;
4145: i BINARY_INTEGER;
4146:
4147: VALID_ATTRIBUTE BOOLEAN := FALSE;
4140:
4141: Flexfield FND_DFLEX.dflex_r;
4142: Flexinfo FND_DFLEX.dflex_dr;
4143: Contexts FND_DFLEX.contexts_dr;
4144: segments FND_DFLEX.segments_dr;
4145: i BINARY_INTEGER;
4146:
4147: VALID_ATTRIBUTE BOOLEAN := FALSE;
4148:
4217: /* Commented out for 2332139 */
4218:
4219: /*
4220:
4221: FND_DFLEX.get_flexfield('QP',p_FlexField_Name,Flexfield,Flexinfo);
4222:
4223: --removing the check for the enabled segments as well as per the upgrade
4224: --requirement. While upgrading ,there may be some segments which were
4225: --enabled in the past but disabled now. In such cases ,we still need to
4224: --requirement. While upgrading ,there may be some segments which were
4225: --enabled in the past but disabled now. In such cases ,we still need to
4226: --show the data in the post query.
4227:
4228: FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Name),
4229: segments,FALSE);
4230:
4231: FOR i IN 1..segments.nsegments LOOP
4232:
4327: x_context_out_tbl OUT NOCOPY CREATE_CONTEXT_OUT_TBL)
4328:
4329: IS
4330:
4331: Flexfield FND_DFLEX.dflex_r;
4332: Flexinfo FND_DFLEX.dflex_dr;
4333: Contexts FND_DFLEX.contexts_dr;
4334:
4335: J Binary_Integer := 1;
4328:
4329: IS
4330:
4331: Flexfield FND_DFLEX.dflex_r;
4332: Flexinfo FND_DFLEX.dflex_dr;
4333: Contexts FND_DFLEX.contexts_dr;
4334:
4335: J Binary_Integer := 1;
4336:
4329: IS
4330:
4331: Flexfield FND_DFLEX.dflex_r;
4332: Flexinfo FND_DFLEX.dflex_dr;
4333: Contexts FND_DFLEX.contexts_dr;
4334:
4335: J Binary_Integer := 1;
4336:
4337: l_pte_code VARCHAR2(30);
4467: l_flexfield_name := 'QP_ATTR_DEFNS_QUALIFIER';
4468: END IF;
4469:
4470: -- Call Flexapi to get contexts
4471: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4472: FND_DFLEX.get_contexts(Flexfield,Contexts);
4473:
4474: FOR i IN 1..Contexts.ncontexts LOOP
4475:
4468: END IF;
4469:
4470: -- Call Flexapi to get contexts
4471: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4472: FND_DFLEX.get_contexts(Flexfield,Contexts);
4473:
4474: FOR i IN 1..Contexts.ncontexts LOOP
4475:
4476: -- If (Contexts.is_enabled(i)) Then
4600: x_return_status OUT NOCOPY VARCHAR2,
4601: x_attribute_out_tbl OUT NOCOPY CREATE_ATTRIBUTE_OUT_TBL)
4602: IS
4603:
4604: Flexfield FND_DFLEX.dflex_r;
4605: Flexinfo FND_DFLEX.dflex_dr;
4606: Contexts FND_DFLEX.contexts_dr;
4607: segments FND_DFLEX.segments_dr;
4608: i BINARY_INTEGER;
4601: x_attribute_out_tbl OUT NOCOPY CREATE_ATTRIBUTE_OUT_TBL)
4602: IS
4603:
4604: Flexfield FND_DFLEX.dflex_r;
4605: Flexinfo FND_DFLEX.dflex_dr;
4606: Contexts FND_DFLEX.contexts_dr;
4607: segments FND_DFLEX.segments_dr;
4608: i BINARY_INTEGER;
4609:
4602: IS
4603:
4604: Flexfield FND_DFLEX.dflex_r;
4605: Flexinfo FND_DFLEX.dflex_dr;
4606: Contexts FND_DFLEX.contexts_dr;
4607: segments FND_DFLEX.segments_dr;
4608: i BINARY_INTEGER;
4609:
4610: j Binary_Integer := 1;
4603:
4604: Flexfield FND_DFLEX.dflex_r;
4605: Flexinfo FND_DFLEX.dflex_dr;
4606: Contexts FND_DFLEX.contexts_dr;
4607: segments FND_DFLEX.segments_dr;
4608: i BINARY_INTEGER;
4609:
4610: j Binary_Integer := 1;
4611:
4830: ELSIF p_context_type = 'QUALIFIER' THEN
4831: l_flexfield_name := 'QP_ATTR_DEFNS_QUALIFIER';
4832: END IF;
4833:
4834: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4835: FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Code),
4836: segments,TRUE);
4837:
4838: IF segments.nsegments <> 0 THEN
4831: l_flexfield_name := 'QP_ATTR_DEFNS_QUALIFIER';
4832: END IF;
4833:
4834: FND_DFLEX.get_flexfield('QP',l_flexfield_name,Flexfield,Flexinfo);
4835: FND_DFLEX.get_segments(FND_DFLEX.make_context(Flexfield,p_Context_Code),
4836: segments,TRUE);
4837:
4838: IF segments.nsegments <> 0 THEN
4839: