Scenario 10
User would like to determine if NetSuite account is One-World by using SuiteScript.
Solution
A unique identifier of a OneWorld Account is the use of Subsidiaries which are not available otherwise.
Below are two other methods to determine whether an account is OneWorld or not via scripting:
Server Side Script:var isOneWorld; var companyInfo = nlapiLoadConfiguration(‘userpreferences’); //gets user preferences var acctSubsidiary = companyInfo.getFieldValue(‘subsidiary’); //gets subsidiary from user preferences if(acctSubsidiary!=null){ //if subsidiary is not null isOneWorld = true; //account is a OneWorld account }else{ isOneWorld = false; //account is NOT a OneWorld account }
Client Side Script:var isOneWorld; try{ var temp = nlapiCreateRecord(‘subsidiary’); //attempts to create a subsidiary record //if no error occurs, script proceeds isOneWorld = true; //account is a OneWorld account }catch(e){ //catches the error isOneWorld = false; //account is NOT a OneWorld account }
Note: nlapiGetSubsidiary or nlobjContext.GetSubsidiary will return the current user’s subsidiary for OneWorld accounts and ‘1’ for non-OneWorld accounts. A better way to differentiate the accounts is to use a unique identifier for OneWorld accounts.