Skip to content
smehta-veeva edited this page Jul 16, 2021 · 4 revisions

Introduction

The vsdk-object-metadata-service-sample project demonstrates the usage of the Object Metadata Service to get object fields and the getValueType() and getFieldType() methods on ObjectField. These methods can be used for various purposes that require the developer to know the value type or field type of an object field at runtime.

This project contains the following Objects, User-Defined Services and Triggers:

Objects:

  • vSDK Object Metadata Example (vsdk_object_metadata_example__c): An object that contains a long text field and a number field which are used in the trigger

User-Defined Services

  • BusinessLogicService: A User-defined Service used to demonstrate how to get fields using the Object Metadata Service and use the getValueType() and getFieldType() methods on Object Field.

Triggers

  • vSDKObjectMetadataSampleTrigger: A Record Trigger which executes on theBEFORE_UPDATE event on the vSDK Object Metadata Example Object

How to import

Import the project as a Maven project. This will automatically pull in the required Vault Java SDK dependencies.

For Intellij this is done by:

  • File -> Open -> Navigate to project folder -> Select the 'pom.xml' file -> Open as Project

For Eclipse this is done by:

  • File -> Import -> Maven -> Existing Maven Projects -> Navigate to project folder -> Select the 'pom.xml' file

Setup

For this project, the custom trigger and necessary vault components are contained in the two separate vault packages (VPK). The VPKs are located in the project's deploy-vpk directory and need to be deployed to your vault prior to debugging these use cases:

  1. Clone or download the sample Maven project vSDK Object Metadata Sample project from Github.

  2. Run through the Getting Started guide to setup your development environment.

  3. Log in to your vault and navigate to Admin > Deployment > Inbound Packages and click Import:

  4. Locate and select the following file in your downloaded project file:

    Deploy vault components: Select the \deploy-vpk\components\vsdk-object-metadata-sample-components.vpk file.

  5. From the Actions menu (Ellipsis icon), select Review & Deploy. Vault displays a list of all components in the package.

Screen Shot 2021-07-16 at 7 13 30 AM
  1. Review the prompts to deploy the package. You will receive an email when vault completes the deployment.

  2. Repeat steps 3-6 for the vault code:

    Custom Trigger code: \deploy-vpk\code\vsdk-object-metadata-sample-code.vpk file.

  3. Create a new Debug Log for the current user called Debug Log by navigating to Admin > Business Admin > Logs > Debug Log.

Run the project

To run the project, create a new vSDK Object Metadata Example Object by navigating to Admin > Business Admin > vSDK Object Metadata Examples. Create a vSDK Object Metadata Example, specify a name, a long description and an amount. The output of the trigger will be displayed in the Debug Log(Admin > Business Admin > Logs > Debug Log).

License

This code serves as an example and is not meant to be used for production use.

Copyright 2018 Veeva Systems Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.