Tuesday, September 12, 2017

API to Create Dependent Value Set (FND_FLEX_VAL_API.CREATE_VALUESET_DEPENDENT)

DECLARE
   value_set_name            VARCHAR2 (200);
   parent_value_set_name     VARCHAR2 (200);
   description               VARCHAR2 (200);
   security_available        VARCHAR2 (200);
   enable_longlist           VARCHAR2 (200);
   format_type               VARCHAR2 (200);
   maximum_size              NUMBER;
   PRECISION                 NUMBER;
   numbers_only              VARCHAR2 (200);
   uppercase_only            VARCHAR2 (200);
   right_justify_zero_fill   VARCHAR2 (200);
   min_value                 VARCHAR2 (200);
   max_value                 VARCHAR2 (200);
   v_session_mode            VARCHAR2 (20) := 'customer_data';
   x                         VARCHAR2 (200);
   v_msg                     VARCHAR2 (2000);
BEGIN
   FND_FLEX_VAL_API.SET_SESSION_MODE (v_session_mode);

   value_set_name := 'CUST_DEPENDENT_VAL_SET';
   parent_value_set_name := 'CUST_VAL_SET_DEMO';
   description := 'Dependent Value Set';
   security_available := 'N';
   enable_longlist := 'N';
   format_type := 'C';
   maximum_size := 30;
   PRECISION := 1;
   numbers_only := 'N';
   uppercase_only := 'N';
   right_justify_zero_fill := 'N';
   min_value := NULL;
   max_value := NULL;

   IF (FND_FLEX_VAL_API.VALUESET_EXISTS (value_set_name))
   THEN
      DBMS_OUTPUT.put_line ('Value set exists.. Deleting it...');
      FND_FLEX_VAL_API.DELETE_VALUESET (value_set_name);
   END IF;

   IF NOT (FND_FLEX_VAL_API.VALUESET_EXISTS (value_set_name))
   THEN
      DBMS_OUTPUT.put_line ('Value set doesn''t exists.. Creating it...');
      FND_FLEX_VAL_API.CREATE_VALUESET_DEPENDENT (value_set_name,
                                                  description,
                                                  security_available,
                                                  enable_longlist,
                                                  format_type,
                                                  maximum_size,
                                                  PRECISION,
                                                  numbers_only,
                                                  uppercase_only,
                                                  right_justify_zero_fill,
                                                  min_value,
                                                  max_value,
                                                  parent_value_set_name,
                                                  'DEFAULT',
                                                  'Default');
      COMMIT;

      IF (FND_FLEX_VAL_API.VALUESET_EXISTS (value_set_name))
      THEN
         DBMS_OUTPUT.put_line (
            'Value set:' || value_set_name || ' got created'
         );
      END IF;
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      v_msg := fnd_flex_val_api.MESSAGE;
      DBMS_OUTPUT.put_line (v_msg);
      DBMS_OUTPUT.put_line (SQLERRM);
END;

No comments:

Post a Comment

API to Delete FND Application (FND_APPLICATION_PKG.DELETE_ROW)

BEGIN    FND_APPLICATION_PKG.DELETE_ROW (X_APPLICATION_ID => 20003); END; /