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.
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".
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.
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 }; }