Oracle provide BNE_INTEGRATOR_UTILS.UPSERT_INTERFACE_COLUMN api to Insert / Update new/ existing column in Web ADI. Follow below check list to achieve functionality without any issues.
P_INTERFACE_COL_TYPE IN NUMBER,
P_INTERFACE_COL_NAME IN VARCHAR2,
P_ENABLED_FLAG IN VARCHAR2,
P_REQUIRED_FLAG
IN VARCHAR2,
P_DISPLAY_FLAG IN VARCHAR2,
P_FIELD_SIZE IN
NUMBER,
P_DEFAULT_TYPE IN VARCHAR2,
P_DEFAULT_VALUE IN VARCHAR2,
P_SEGMENT_NUMBER IN NUMBER,
P_GROUP_NAME IN VARCHAR2,
P_OA_FLEX_CODE IN VARCHAR2,
P_OA_CONCAT_FLEX IN VARCHAR2,
P_READ_ONLY_FLAG IN VARCHAR2,
P_VAL_TYPE IN VARCHAR2,
P_VAL_ID_COL IN VARCHAR2,
P_VAL_MEAN_COL IN VARCHAR2,
P_VAL_DESC_COL IN VARCHAR2,
P_VAL_OBJ_NAME IN VARCHAR2,
P_VAL_ADDL_W_C IN VARCHAR2,
P_DATA_TYPE IN NUMBER,
P_NOT_NULL_FLAG IN VARCHAR2,
P_VAL_COMPONENT_APP_ID IN NUMBER,
P_VAL_COMPONENT_CODE IN VARCHAR2,
P_SUMMARY_FLAG IN VARCHAR2, P_MAPPING_ENABLED_FLAG IN VARCHAR2,
P_PROMPT_LEFT IN VARCHAR2,
P_PROMPT_ABOVE IN VARCHAR2,
P_USER_HINT IN VARCHAR2,
P_USER_HELP_TEXT IN VARCHAR2,
P_LANGUAGE IN VARCHAR2,
P_SOURCE_LANG IN VARCHAR2,
P_OA_FLEX_NUM IN VARCHAR2,
P_OA_FLEX_APPLICATION_ID IN NUMBER,
P_DISPLAY_ORDER IN NUMBER, P_UPLOAD_PARAM_LIST_ITEM_NUM IN NUMBER,
P_EXPANDED_SQL_QUERY IN VARCHAR2,
P_LOV_TYPE IN VARCHAR2,
P_OFFLINE_LOV_ENABLED_FLAG IN VARCHAR2,
P_VARIABLE_DATA_TYPE_CLASS IN VARCHAR2,
P_USER_ID IN NUMBER);
--// Example :
CALL BNE_INTEGRATOR_UTILS.UPSERT_INTERFACE_COLUMN (
20016, 'XXTEST_XINTG_INTF1', 5, 1, 'P_VENDOR_ID', 'Y', 'Y', 'Y',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,'N','JAVA',NULL,NULL,NULL,NULL,NULL, 2,'N',20016,'XXTEST_XINTG_INTF1_C5_COMP','N',
'Y','Supplier','Supplier',NULL,NULL,'US','US',NULL,NULL,5,5,NULL,NULL,NULL,NULL,0);
Make sure P_SEQUENCE_NUM , P_DISPLAY_ORDER , P_UPLOAD_PARAM_LIST_ITEM_NUM in same order.