More about NetSuite SDF manifest.xml and deploy.xml-CarlZeng

SDF的xml文件

Sample for manifest.xml

<manifest projecttype="ACCOUNTCUSTOMIZATION">

 <projectname>Business Process Automation</projectname>

 <frameworkversion>1.0</frameworkversion>

 <dependencies>

 <features>

 <feature required="false">CREATESUITEBUNDLES</feature>

 <feature required="true">SERVERSIDESCRIPTING</feature>

 <feature required="false">ADVRECEIVING</feature>

 <feature required="false">ASSEMBLIES</feature>

 <feature required="false">INVENTORY</feature>

 <feature required="false">PAYABLES</feature>

 <feature required="false">RECEIVABLES</feature>

 <feature required="false">CUSTOMTRANSACTIONS</feature>

 <feature required="false">MULTILOCINVT</feature>

 <feature required="false">OPPORTUNITIES</feature>

 <feature required="false">EXPREPORTS</feature>

 <feature required="false">ACCOUNTING</feature>

 <feature required="false">CRM</feature>

 <feature required="true">CUSTOMRECORDS</feature>

 <feature required="false">MATRIXITEMS</feature>

 <feature required="false">WEBSTORE</feature>

 <feature required="false">WORKORDERS</feature>

 </features>

 <objects>

 <object>customlist_backorder_status</object>

 </objects>

 <files>

 <file>/SuiteScripts/ProjectName/Script1.js</file>

 <file>/SuiteScripts/ProjectName/Script2.js</file>

 </files>

 </dependencies>

</manifest>

Sample for deply.xml

<deploy>

<configuration>

 <path>~/AccountConfiguration/*</path>

 </configuration>

 <files>

 <path>~/FileCabinet/ProjectName/*</path>

 </files>

 <objects>

<!--  <path>~/Objects/*</path>  -->

 <path>~/Objects/customrecord_record1.xml</path>

 </objects>

</deploy>

Careful on the sequence of deploy, separate to multiple round will minimum the dependency issues.

See detail usage sample in previous article :

How to use NetSuite SDF CLI, CLI for Node.js on Mac, suitecloud command

—–DOWNLOAD——————————————————————————–

(mkdir SDF_Top)

cd SDF_Top

suitecloud project:create -i

– Created new project(SDF_Test1), it will create new folder under SDF_Top with project name: SDF_Test1.

cd SDF_Test1

suitecloud account:setup

Now this folder is the main project folder

suitecloud object:import -i

? Do you want to import all object types? Yes

? Do you want to enter a script ID to filter your list? Yes

? Enter the full or partial script ID. _track

? Select the objects you want to import (Press to select, to toggle all, to invert selection)

—–UPLOAD——————————————————————————–

suitecloud account:setup

Create a new authentication ID (authID).

suitecloud project:adddependencies

suitecloud project:validate

The validation process has finished.

suitecloud project:deploy

Installation COMPLETE

Error handling

—–Validation failed——————————————————————————–

An error occurred during custom object validation. (customscript_scriptinternalid)
Details: The file reference /SuiteScripts/Project_Name/ScriptFileName.js is missing in the project and also not included in the dependencies list.

File: ~/Objects/customscript_ScriptFileName.xml
  1. Upload Files(Deploy files)

2. Deploy Script Records

2.1 Update manifest.xml to enable the dependency for all files section(see Sample for manifest.xml above), MODIFY it to add depenency objects, sometime it’s  custom objects(transaction body fields, line item fields or custom entity fields, record types, etc), sometimes it’s , add detail referenced files to this section when validation message is error out.

2.2 Update deploy.xml to enable the specific objects section ONLY. It will helps isolate.

2.3 suitecloud project:deploy

报错There is no JAR file in your CLI

WebstormProjects % suitecloud project:create -i                                          
? Select the project type you want to create. Account Customization Project                                  
? Enter the project name. CLQ_restFileAttach                                                                 
? Do you want to include unit testing with the Jest testing framework? ***This will install NPM module       
dependencies. No                                                                                             
Creating the project structure...                                                                            
There is no JAR file in your CLI for Node.js. Run "npm install" from "/usr/local/lib/node_modules/@oracle/sui
tecloud-cli" to install the JAR file.  

按指示去安装JAR

suitecloud-cli % npm install                                                             
npm error code EACCES                                                                                        
npm error syscall mkdir                                                                                      
npm error path /usr/local/lib/node_modules/@oracle/suitecloud-cli/node_modules/jest                          
npm error errno -13                                                                                          
npm error [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/@oracle/suitecloud-cli/node_m
odules/jest'] {                                                                                              
npm error   errno: -13,                                                                                      
npm error   code: 'EACCES',                                                                                  
npm error   syscall: 'mkdir',                                                                                
npm error   path: '/usr/local/lib/node_modules/@oracle/suitecloud-cli/node_modules/jest'                     
npm error }                                                                                                  
npm error                                                                                                    
npm error The operation was rejected by your operating system.                                               
npm error It is likely you do not have the permissions to access this file as the current user               
npm error                                                                                                    
npm error If you believe this might be a permissions issue, please double-check the                          
npm error permissions of the file and its containing directories, or try running                             
npm error the command again as root/Administrator.                                                           
npm error A complete log of this run can be found in: /Users/carlzeng/.npm/_logs/2025-11-11T04_01_06_568Z-deb
ug-0.log 
suitecloud-cli % sudo -i                                                                 
Password:                                                                                                    
MacBookPro:~ root# cd /usr/local/lib/node_modules/@oracle/suitecloud-cli                                     
MacBookPro:suitecloud-cli root# npm install                                                                  
npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out 
lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more com
prehensive and powerful.                                                                                     
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported                            

> @oracle/suitecloud-cli@2.0.0 postinstall                                                                   
> node postinstall.js                                                                                        


added 249 packages, and audited 307 packages in 34s   

无奈, 只能重装:

sudo npm install -g --acceptSuiteCloudSDKLicense @oracle/suitecloud-cli 
suitecloud --version                                                  
3.1.0                                      

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注