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

SDF的xml文件

Sample for manifest.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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.

1
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

1
2
3
4
5
6
7
8
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

无奈, 只能重装:

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

个性化需求沟通 扫客服加V加群: