```//customrecord - layout
var layout = nlapiCreateRecord('customrecordtype');
layout.setFieldValue('recordname','Search Pivot Layout');//1 UI
layout.setFieldValue('scriptid','_ns_pivotlayout');//1 UI
layout.setFieldValue('includename','F');//1 UI
var layoutid = nlapiSubmitRecord(layout);
//customfield
var searchRef = nlapiCreateRecord('customrecordcustomfield',{'rectype':layoutid});
//searchRef.setFieldValue('fieldtype','SELECT');//1 UI
searchRef.setFieldValue('fieldtype','INTEGER');//1 UI
searchRef.setFieldValue('label','Saved Search');//1 UI
//searchRef.setFieldValue('selectrecordtype','-119');//1 search record type
searchRef.setFieldValue('internalid','_ns_pivot_layout_search_id');//1 UI
nlapiSubmitRecord(searchRef);
var searchRef2 = nlapiCreateRecord('customrecordcustomfield',{'rectype':layoutid});
searchRef2.setFieldValue('label','Search _Type');//1 UI
searchRef2.setFieldValue('internalid','_ns_pivot_layout_search_type');//1 UI
nlapiSubmitRecord(searchRef2);
//layout title
var searchRef3 = nlapiCreateRecord('customrecordcustomfield',{'rectype':layoutid});
searchRef3.setFieldValue('label','Title');//1 UI
searchRef3.setFieldValue('internalid','_ns_pivot_layout_title');//1 UI
nlapiSubmitRecord(searchRef3);
//custom record - fields
var fields = nlapiCreateRecord('customrecordtype');
fields.setFieldValue('recordname','Search Pivot Field');//1 UI
fields.setFieldValue('scriptid','_ns_pivotfields');//1 UI
fields.setFieldValue('includename','F');//1 UI
var fieldsId = nlapiSubmitRecord(fields);
//customfield - parent reference
var parent = nlapiCreateRecord('customrecordcustomfield',{"rectype":fieldsId});
parent.setFieldValue('label','Layout');//1 UI
parent.setFieldValue('fieldtype','SELECT');//1 UI
parent.setFieldValue('selectrecordtype',layoutid);//1 UI
parent.setFieldValue('isparent','T');//1 UI
parent.setFieldValue('internalid','_ns_pivot_field_layout');//1 UI
nlapiSubmitRecord(parent);
//cf - report field sequence number
var seqnum = nlapiCreateRecord('customrecordcustomfield',{"rectype":fieldsId});
seqnum.setFieldValue('label','Search Field Sequence Number');//1 UI
seqnum.setFieldValue('fieldtype','INTEGER');//1 UI
seqnum.setFieldValue('internalid','_ns_pivot_field_seqnum');//1 UI
nlapiSubmitRecord(seqnum);
//cf - pivot type row/col/fact/measure
var type = nlapiCreateRecord('customrecordcustomfield',{"rectype":fieldsId});
type.setFieldValue('label','Pivot Type');//1 UI
type.setFieldValue('internalid','_ns_pivot_field_type');//1 UI
type.setFieldValue('ismandatory','T');//1 UI
nlapiSubmitRecord(type);
var type = nlapiCreateRecord('customrecordcustomfield',{"rectype":fieldsId});
type.setFieldValue('label','Search Alias');//1 UI
type.setFieldValue('internalid','_ns_pivot_field_alias');//1 UI
type.setFieldValue('ismandatory','T');//1 UI
nlapiSubmitRecord(type);
/*
//customrecord - cache
var cache = nlapiCreateRecord('customrecordtype');
cache.setFieldValue('recordname','Pivot Search Cache');//1 UI
cache.setFieldValue('showowner','T');//1 UI
cache.setFieldValue('scriptid','_ns_pivotcache');//1 UI
cache.setFieldValue('includename','F');//1 UI
var cacheid = nlapiSubmitRecord(cache);
//cache metadata
var metadata = nlapiCreateRecord('customrecordcustomfield',{"rectype":cacheid});
metadata.setFieldValue('label','MetaData');//1 UI
metadata.setFieldValue('internalid','_ns_pivotcache_metadata');//1 UI
metadata.setFieldValue('fieldtype','TEXTAREA');//1 UI
nlapiSubmitRecord(metadata);
//cache jsondatasource
var ds = nlapiCreateRecord('customrecordcustomfield',{"rectype":cacheid});
ds.setFieldValue('label','Cached DataSource');//1 UI
ds.setFieldValue('internalid','_ns_pivotcache_datasource');//1 UI
ds.setFieldValue('fieldtype','DOCUMENT');//1 UI
nlapiSubmitRecord(ds);
//cache searchid reference but
var csearch = nlapiCreateRecord('customrecordcustomfield',{"rectype":cacheid});
csearch.setFieldValue('label','Cached Search Id');//1 UI