[Home] [Help]
6818: INSERT INTO EGO_FLEX_VALUE_VERSION_B (FLEX_VALUE_SET_ID, FLEX_VALUE_ID,SEQUENCE,
6819: VERSION_SEQ_ID,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE,LAST_UPDATE_LOGIN)
6820: SELECT P_VALUE_SET_ID, A.FLEX_VALUE_ID, B.DISP_SEQUENCE,0,A.CREATED_BY,SYSDATE,
6821: FND_GLOBAL.PARTY_ID,SYSDATE,FND_GLOBAL.LOGIN_ID
6822: FROM FND_FLEX_VALUES A, EGO_VS_VALUES_DISP_ORDER B
6823: WHERE
6824: A.FLEX_VALUE_SET_ID = P_VALUE_SET_ID
6825: AND A.ENABLED_FLAG='Y'
6826: AND B.VALUE_SET_VALUE_ID = A.FLEX_VALUE_ID ;
7323: VALUES (x_child_vs_id, p_parent_vs_id, l_owner, SYSDATE, l_owner, SYSDATE,
7324: g_current_login_id );
7325:
7326: ----------------------------------------------------------------------------
7327: -- Insert into EGO_VS_VALUES_DISP_ORDER --
7328: ----------------------------------------------------------------------------
7329:
7330: -- NOTE: This is not used when creating a child VS from the UI. Only when
7331: -- using the PL/SQL API directly.
7339: -- Remember, we specify which of the EXISTING value set values (from the parent value
7340: -- set) are to become members of the child value set. No new values are
7341: -- created.
7342:
7343: INSERT INTO ego_vs_values_disp_order (value_set_value_id, value_set_id,
7344: disp_sequence, created_by, creation_date, last_updated_by,
7345: last_update_date, last_update_login)
7346: VALUES (child_vs_value_ids(i), x_child_vs_id, i, l_owner, SYSDATE, l_owner,
7347: SYSDATE, g_current_login_id);
7355:
7356: l_return_status_inf := FND_API.G_FALSE;
7357:
7358: -- The condition to obtain the correct subset of VS values from
7359: -- EGO_VS_VALUES_DISP_ORDER
7360: l_inf_where_clause :=
7361: 'vsv.FLEX_VALUE_ID = do.value_set_value_id AND ' ||
7362: 'do.value_set_id = ' || x_child_vs_id || ' AND ' ||
7363: 'vsv.value_set_id = ' || p_parent_vs_id || ' AND ' ||
7414: Insert_Value_Set_Table_Inf (
7415: p_api_version => p_api_version
7416: , p_value_set_id => x_child_vs_id
7417: , p_table_application_id => 431
7418: , p_table_name => 'EGO_VALUE_SET_VALUES_V vsv , EGO_VS_VALUES_DISP_ORDER do'
7419: , p_value_column_name => l_value_column_name
7420: , p_value_column_type => l_value_column_type
7421: , p_value_column_size => 150
7422: , p_meaning_column_name => 'vsv.DESCRIPTION' --Bug 13242028
7517: ----------------------------------------------------------------------------
7518: delete from ego_value_set_ext where VALUE_SET_ID = p_child_vs_id;
7519:
7520: ----------------------------------------------------------------------------
7521: -- Delete from EGO_VS_VALUES_DISP_ORDER --
7522: ----------------------------------------------------------------------------
7523: delete from ego_vs_values_disp_order where VALUE_SET_ID = p_child_vs_id;
7524:
7525: x_return_status := FND_API.G_RET_STS_SUCCESS;
7519:
7520: ----------------------------------------------------------------------------
7521: -- Delete from EGO_VS_VALUES_DISP_ORDER --
7522: ----------------------------------------------------------------------------
7523: delete from ego_vs_values_disp_order where VALUE_SET_ID = p_child_vs_id;
7524:
7525: x_return_status := FND_API.G_RET_STS_SUCCESS;
7526:
7527: EXCEPTION
7770: l_vs_value_count NUMBER;
7771: l_api_name VARCHAR2(30);
7772: l_parent_vs_row ego_value_sets_v%ROWTYPE;
7773: l_validation_code FND_LOOKUP_VALUES.LOOKUP_CODE%TYPE;
7774: l_vs_value_disp_orders EGO_VS_VALUES_DISP_ORDER_TBL
7775: := ego_vs_values_disp_order_tbl();
7776: x_versioned_vs NUMBER :=NULL ;
7777: BEGIN
7778:
7771: l_api_name VARCHAR2(30);
7772: l_parent_vs_row ego_value_sets_v%ROWTYPE;
7773: l_validation_code FND_LOOKUP_VALUES.LOOKUP_CODE%TYPE;
7774: l_vs_value_disp_orders EGO_VS_VALUES_DISP_ORDER_TBL
7775: := ego_vs_values_disp_order_tbl();
7776: x_versioned_vs NUMBER :=NULL ;
7777: BEGIN
7778:
7779: -- For Debugging
7837: -- Nothing to update in EGO_VALUE_SET_EXT (because the parent-child
7838: -- relationship cannot be modified)
7839:
7840: ----------------------------------------------------------------------------
7841: -- Update EGO_VS_VALUES_DISP_ORDER --
7842: ----------------------------------------------------------------------------
7843:
7844: -- Create a collection for the new child VS values' rows
7845:
7849: code_debug('i: ' || i);
7850:
7851: l_vs_value_count := 0;
7852: SELECT COUNT(*) INTO l_vs_value_count
7853: FROM ego_vs_values_disp_order
7854: WHERE value_set_value_id = child_vs_value_ids(i)
7855: AND value_set_id = p_value_set_id;
7856:
7857: -- Add an extra space onto the array
7877: */
7878: SELECT *
7879: /* Bug 12382454 : End */
7880: INTO l_vs_value_disp_orders(i)
7881: FROM ego_vs_values_disp_order
7882: WHERE value_set_value_id = child_vs_value_ids(i) and
7883: value_set_id = p_value_set_id;
7884:
7885: -- Bug 12382454 : Start
7921: END IF;
7922: END LOOP;
7923:
7924: -- Delete all the existing values from the child VS
7925: DELETE FROM ego_vs_values_disp_order
7926: WHERE value_set_id = p_value_set_id;
7927:
7928: -- Insert the new values for the child VS from the collection
7929: FORALL j IN l_vs_value_disp_orders.FIRST ..
7927:
7928: -- Insert the new values for the child VS from the collection
7929: FORALL j IN l_vs_value_disp_orders.FIRST ..
7930: l_vs_value_disp_orders.LAST
7931: INSERT INTO ego_vs_values_disp_order
7932: VALUES l_vs_value_disp_orders(j);
7933: -- END FORALL
7934:
7935:
9032: -- Requirement: bug: 3542670
9033: --
9034: -- Function: To process the value set display sequence
9035: -- If the display_sequence is same as value_set_value_id,
9036: -- then record is not stored in EGO_VS_VALUES_DISP_ORDER
9037: -- else a record is stored in EGO_VS_VALUES_DISP_ORDER
9038: -- Parameters:
9039: -- IN
9040: -- p_transaction_type : CREATE,UPDATE
9033: --
9034: -- Function: To process the value set display sequence
9035: -- If the display_sequence is same as value_set_value_id,
9036: -- then record is not stored in EGO_VS_VALUES_DISP_ORDER
9037: -- else a record is stored in EGO_VS_VALUES_DISP_ORDER
9038: -- Parameters:
9039: -- IN
9040: -- p_transaction_type : CREATE,UPDATE
9041: -- p_value_set_id : value_set_id takes precedence over value_set_name
9072: l_api_name VARCHAR2(30);
9073: l_api_version NUMBER;
9074: l_value_set_value_id fnd_flex_values.flex_value_id%TYPE;
9075: l_value_set_id fnd_flex_value_sets.flex_value_set_id%TYPE;
9076: l_sequence EGO_VS_VALUES_DISP_ORDER.disp_sequence%TYPE;
9077: l_invalid_params BOOLEAN;
9078: l_create_sequence BOOLEAN;
9079: l_update_sequence BOOLEAN;
9080: l_Sysdate DATE;
9081: l_owner NUMBER;
9082:
9083: CURSOR c_get_disp_sequence (cp_flex_value_id IN NUMBER,cp_flex_id IN NUMBER) is
9084: SELECT disp_sequence
9085: FROM ego_vs_values_disp_order
9086: WHERE value_set_value_id = cp_flex_value_id
9087: AND value_set_id = cp_flex_id;
9088:
9089: BEGIN
9184: END IF;
9185:
9186: l_Sysdate := SYSDATE;
9187: IF l_create_sequence THEN
9188: INSERT INTO EGO_VS_VALUES_DISP_ORDER
9189: (value_set_value_id
9190: ,value_set_id
9191: ,disp_sequence
9192: ,created_by
9208: IF l_update_sequence THEN
9209: --
9210: -- Fix for bug#12660306
9211: --
9212: UPDATE EGO_VS_VALUES_DISP_ORDER
9213: SET disp_sequence = p_sequence
9214: ,last_updated_by = l_owner
9215: ,last_update_date = l_sysdate
9216: ,last_update_login = G_CURRENT_LOGIN_ID