Version: eXtendPS-SE 1.3.6.4 and above
Audience: Administrator, Developer

Overview

As of version 1.3.6.4 of eXtendPS-SE, the DecorationArray and LocationArray objects are not directly supported by the eXtendPS-SE Media Content service.

If you are using the eXtendPS-SE Media Details custom record provided with the eXtendPS-SE bundle to create the PromoStandards Media Content response, you can follow the steps below to include the additional information with SuiteScript functional mappings.

1. Add additional fields on the eXtendPS-SE Media Details custom record to capture DecorationArray and LocationArray details.

2. Add these new fields from in the "ADDITIONAL MEDIA RECORD SEARCH COLUMNS" field present on the eXtendPS-SE Product Media setup screen.

Image Placeholder

3. Create or update the getMediaObjectFromMediaSearch() function in the suite_promoapi_invoice_transformers.js file to return the location object as locationArray.

In the example below we will return the LocationArray in the response using information from the additional custom field:

a. The custrecord_extend_imp_location field has been added to the eXtendPS-SE Media Details custom record. This is a multiple select field which is sourcing from a custom list called "Imprint Location".
Image Placeholder

b. The custrecord_extend_imp_location field has been added to the "ADDITIONAL MEDIA RECORD SEARCH COLUMNS" field on the eXtendPS-SE Product Media setup screen.
Image Placeholder

c. Modify the function getMediaObjectFromMediaSearch() in the suite_promoapi_invoice_transformers.js file as shown below:
/**
     * @param {Object} args
     * @prop  {Array}  args.mediaContentSearchResults //Total media record search results
     * @prop  {Object} args.mediaContentSearchResult  //Current media record search result object
     */
    function getMediaObjectFromMediaSearch(args) {
      var mediaContentSearchResults = args.mediaContentSearchResults;
      var mediaContentSearchResult = args.mediaContentSearchResult;
      var locationArray = [];
      var locationId = mediaContentSearchResult.getValue({ name: 'custrecord_extend_imp_location' }); //This field will be created in your account
      var locationName = mediaContentSearchResult.getText({ name: 'custrecord_extend_imp_location' }); //This field will be created in your account

      locationArray.push({
        locationId: locationId,
        locationName: locationName
      });

      log.debug({ title: 'getMediaLocationObject locationArray', details: locationArray });

      return {
        locationArray: locationArray,
        // decorationArray: decorationArray
      };
    }