







































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The NetSuite Developer II Certification Ultimate Exam is designed for advanced developers working with SuiteScript and NetSuite customizations. It covers scripting, integrations, debugging, and advanced development techniques. The exam includes practical questions and explanations to help developers demonstrate expertise and pass certification exams.
Typology: Exams
1 / 79
This page cannot be seen from the preview
Don't miss anything!








































































Question 1. Which SuiteScript 2.x module is used to create, load, and submit a record? A) N/search B) N/record C) N/runtime D) N/http Answer: B Explanation: N/record provides the API for creating, loading, updating, and deleting NetSuite records in SuiteScript 2.x. Question 2. In a User Event script, which entry point runs after a record has been committed to the database? A) beforeLoad B) beforeSubmit C) afterSubmit D) beforeDelete Answer: C Explanation: afterSubmit executes after the record is written to the database, allowing actions that depend on the record’s final state. Question 3. Which client script entry point is invoked when a user clicks the Save button on a form? A) pageInit B) fieldChanged C) saveRecord D) validateField Answer: C Explanation: saveRecord is called just before the form is submitted; returning false prevents the save. Question 4. In a Map/Reduce script, which stage is responsible for aggregating the mapped results? A) getInputData
B) map C) reduce D) summarize Answer: C Explanation: The reduce stage receives key/value pairs from the map stage and aggregates or processes them. Question 5. Which of the following is true about the governance units consumed by a Suitelet? A) Suitelets do not consume governance units. B) Only the GET request consumes units. C) Both GET and POST requests consume units based on the script’s operations. D) Governance is only tracked for scheduled scripts. Answer: C Explanation: Suitelets run like any other server‑side script; each operation (search, record load, etc.) consumes units regardless of request method. Question 6. When using N/search.create, which property defines the type of record to search? A) filters B) columns C) type D) id Answer: C Explanation: The “type” property specifies the record type (e.g., 'customrecord_mytype') for the search definition. Question 7. Which workflow trigger fires when a record is edited from the UI and then saved? A) On Create B) On Update C) On Delete
Answer: B Explanation: Static sublists reflect changes only in the UI; they are written to the database only when the parent record is saved. Question 11. Which N/module method returns the current user’s role ID? A) N/runtime.getCurrentUser().role B) N/runtime.getCurrentUser().id C) N/runtime.getCurrentScript().role D) N/runtime.getCurrentSession().roleId Answer: A Explanation: N/runtime.getCurrentUser().role returns the internal ID of the role of the executing user. Question 12. In SuiteAnalytics Workbook, which feature allows you to combine multiple datasets into a single view? A) Data Join B) Pivot Table C) Data Blend D) Formula Column Answer: C Explanation: Data Blend merges two or more datasets, similar to a SQL UNION, enabling analysis across different record types. Question 13. Which of the following best describes the order of execution for a record that is edited through the UI? A) Client script → User Event → Workflow → Database commit B) User Event → Client script → Workflow → Database commit C) Workflow → Client script → User Event → Database commit D) Database commit → Client script → User Event → Workflow Answer: A
Explanation: NetSuite processes client script first, then user event, then workflow actions, and finally commits the record to the database. Question 14. Which N/module provides the ability to generate a URL for a Suitelet? A) N/url B) N/record C) N/search D) N/runtime Answer: A Explanation: N/url.resolveScript creates a URL that can invoke a Suitelet (or other script) with optional parameters. Question 15. In a Suitelet, which method is used to write HTML content to the response? A) response.writePage B) response.renderPage C) response.write D) response.send Answer: C Explanation: response.write outputs raw HTML (or other content) to the client in a Suitelet response. Question 16. Which workflow action type can be used to set a field value based on a formula? A) Set Field Value B) Set Field Value (Formula) C) Set Field Value (Script) D) Set Field Value (Dynamic) Answer: B Explanation: “Set Field Value (Formula)” allows you to compute the value using a formula expression before assigning it.
A) As JSON in the request body. B) As query string parameters (e.g., ?custparam_myparam=123). C) As SOAP headers. D) As a hidden field on the form. Answer: B Explanation: Suitelets can read query string parameters prefixed with “custparam_” using request.parameters. Question 21. In SuiteScript 2.x, which method on a search result object returns the value of a column? A) getValue() B) getText() C) value() D) columnValue() Answer: A Explanation: result.getValue({ name: 'fieldid', join: 'joinid' }) returns the raw value; getText returns the display text. Question 22. Which workflow trigger can be used to execute a workflow when a record is viewed but not edited? A) On Create B) On Update C) On View D) On Delete Answer: C Explanation: The “On View” trigger fires when a user opens a record in view mode, useful for read‑only actions. Question 23. When using Token‑Based Authentication for REST Web Services, which header contains the generated token?
A) Authorization: Bearer B) Authorization: NLAuth C) Authorization: NLToken D) X‑NetSuite‑Token: Answer: C Explanation: REST TBA requires the “Authorization: NLToken ” header where the token is the base64‑encoded TBA string. Question 24. Which SuiteScript 2.x method is used to load a saved search and run it programmatically? A) N/search.load({ id: 'customsearch_my' }) B) N/search.create({ id: 'customsearch_my' }) C) N/search.run({ id: 'customsearch_my' }) D) N/search.execute({ id: 'customsearch_my' }) Answer: A Explanation: N/search.load loads an existing saved search by its internal ID; you then call run() on the returned object. Question 25. In a Suitelet, which function is used to add a sublist to the form? A) form.addSublist() B) form.createSublist() C) form.insertSublist() D) form.appendSublist() Answer: A Explanation: form.addSublist(options) creates a new sublist on the Suitelet form. Question 26. Which of the following is NOT a supported type for a custom field? A) List/Record B) Free‑Form Text
C) Auto‑Execute D) Trigger Type Answer: C Explanation: The “Auto‑Execute” checkbox enables the workflow engine to enter the state automatically when its criteria are met. Question 30. When using SuiteScript 2.x, which method throws a custom error that can be caught by the calling script? A) throw new Error('Message') B) N/error.create({ name: 'MY_ERROR', message: 'Message' }) C) N/error.throw({ name: 'MY_ERROR', message: 'Message' }) D) N/log.error({ title: 'Error', details: 'Message' }) Answer: B Explanation: N/error.create returns an Error object that can be thrown; the script can catch it with try/catch. Question 31. Which of the following is true about the “forceSync” option in a client script’s N/https.request? A) It forces the request to be asynchronous. B) It makes the request synchronous, blocking UI until completion. C) It disables governance checks. D) It automatically retries on failure. Answer: B Explanation: forceSync:true makes the HTTP request synchronous, preventing further UI interaction until the response returns. Question 32. In a Suitelet, which method is used to add a button that calls a client‑side function? A) form.addButton({ id, label, functionName }) B) form.createButton({ id, label, functionName })
C) form.insertButton({ id, label, functionName }) D) form.appendButton({ id, label, functionName }) Answer: A Explanation: form.addButton adds a button to the Suitelet form and can specify a client‑side function to invoke. Question 33. Which SuiteScript 2.x API is used to retrieve the current script’s remaining governance units? A) N/runtime.getCurrentScript().getRemainingUsage() B) N/runtime.getCurrentScript().usageRemaining C) N/runtime.getGovernance().remaining D) N/runtime.getCurrentScript().getUsage() Answer: A Explanation: getRemainingUsage() returns the number of governance units left for the executing script. Question 34. What is the purpose of the “summary” field in a workflow email action? A) To set the email subject line. B) To define the sender’s name. C) To specify the email body. D) To indicate the email priority. Answer: A Explanation: The “Summary” field maps to the email’s subject line in a workflow email action. Question 35. Which SuiteScript 2.x method can be used to copy a record’s values into a new record? A) record.copy({ type, id }) B) record.clone({ type, id }) C) record.duplicate({ type, id }) D) record.create({ type, sourceId })
Explanation: “Include In Dropdown” makes the custom list available as selectable values for List/Record fields. Question 39. Which N/module method is used to generate a SuiteQL query string from a Workbook dataset? A) N/query.runSuiteQL B) N/workbook.runQuery C) N/query.createSuiteQL D) N/search.runSuiteQL Answer: A Explanation: N/query.runSuiteQL executes raw SuiteQL; workbook datasets can be exported to SuiteQL via this method. Question 40. In a scheduled script, what is the recommended way to handle governance exhaustion? A) Immediately stop the script. B) Use N/task.createScriptTask to reschedule the same script. C) Increase the script’s governance limit in the UI. D) Switch to a client script. Answer: B Explanation: Rescheduling via N/task.createScriptTask allows the script to continue processing without violating governance. Question 41. Which of the following is a valid way to reference a custom field in a saved search formula? A) {custrecord_myfield} B) [custrecord_myfield] C) "custrecord_myfield" D) %custrecord_myfield% Answer: A
Explanation: Curly braces are used to reference fields (standard or custom) in search formulas. Question 42. Which SuiteScript 2.x entry point is executed when a user navigates to a record via a URL that includes “mode=edit”? A) beforeLoad (type = edit) B) beforeSubmit (type = edit) C) afterSubmit (type = edit) D) pageInit Answer: A Explanation: beforeLoad runs when the form is rendered; the type property will be “edit” when the record is opened in edit mode. Question 43. In SuiteAnalytics, which type of formula allows you to perform conditional logic similar to IF statements? A) CASE B) DECODE C) NVL D) COALESCE Answer: A Explanation: The CASE expression in formulas provides IF‑THEN‑ELSE logic. Question 44. Which workflow action can be used to create a related record automatically? A) Create Record B) Generate Record C) New Record D) Add Record Answer: A Explanation: The “Create Record” action creates a new record (standard or custom) as part of the workflow execution.
B) N/document C) N/storage D) N/assets Answer: A Explanation: N/file is the API for loading, creating, and manipulating files. Question 49. In a workflow, which condition operator is used to test whether a field contains a specific substring? A) is B) contains C) startsWith D) matchesRegex Answer: B Explanation: The “contains” operator checks if the field value includes the specified text. Question 50. Which SuiteScript 2.x method is used to retrieve the URL of a Suitelet for a specific deployment? A) N/url.resolveScript({ scriptId, deploymentId, returnExternalUrl }) B) N/url.generate({ scriptId, deploymentId }) C) N/url.create({ scriptId, deploymentId }) D) N/url.getSuiteletUrl({ scriptId, deploymentId }) Answer: A Explanation: resolveScript builds the URL for a script/deployment pair and can return an external URL. Question 51. Which of the following best describes the purpose of the “runAsUser” property in a scheduled script task? A) It forces the script to run with the permissions of the specified user. B) It sets the script’s governance limit based on the user’s role. C) It logs the script execution under the user’s name only.
D) It disables all user‑specific field permissions. Answer: A Explanation: runAsUser allows the scheduled task to execute with the access rights of a particular user. Question 52. In SuiteTalk SOAP, which header must be included to specify the account ID for a request? A) B) C) D) Answer: A Explanation: The element inside the SOAP header identifies the target NetSuite account. Question 53. Which workflow state property determines whether the state can be re‑entered after it has already been completed? A) Allow Re‑Entry B) Re‑Enter on Condition C) Loop State D) Re‑Enter on Exit Answer: A Explanation: The “Allow Re‑Entry” checkbox permits the workflow engine to enter the state again after it has been exited. Question 54. Which N/module is used to retrieve the current script’s deployment ID? A) N/runtime.getCurrentScript().deploymentId B) N/runtime.getCurrentDeployment().id C) N/runtime.getCurrentScript().id D) N/runtime.getCurrentScript().scriptId Answer: A
Question 58. Which SuiteScript 2.x method is used to send an email from a script? A) N/email.send({ author, recipients, subject, body }) B) N/communication.sendEmail({ ... }) C) N/message.send({ ... }) D) N/notification.email({ ... }) Answer: A Explanation: N/email.send is the API for sending emails programmatically. Question 59. When using SDF, which XML file defines the script deployment metadata? A) scriptdeployment.xml B) deployment.xml C) script.xml D) scriptdeploymentmanifest.xml Answer: A Explanation: scriptdeployment.xml contains the deployment configuration for a script in an SDF project. Question 60. Which of the following is true about a “static” sublist in SuiteScript? A) It can be edited only in dynamic mode. B) It requires explicit line commits for each change. C) It is read‑only on the client side. D) It cannot be used in Suitelets. Answer: B Explanation: For static sublists you must call commitLine() after setting values; changes are not automatically saved. Question 61. In a client script, which entry point runs each time a sublist line is added or removed? A) sublistChanged B) lineInit
C) validateLine D) fieldChanged Answer: A Explanation: sublistChanged fires when a line is added, removed, or reordered in a sublist. Question 62. Which SuiteScript 2.x module provides the ability to parse and stringify JSON data? A) N/json B) N/utilities C) N/format D) N/encoding Answer: A Explanation: N/json has parse() and stringify() methods for handling JSON. Question 63. In SuiteTalk REST, how do you retrieve a list of records of a custom type called “customrecord_mytype”? A) GET /services/rest/record/v1/customrecord_mytype B) GET /services/rest/customrecord_mytype C) GET /services/rest/record/v1/customrecord/mytype D) GET /services/rest/record/v1/customrecord/mytype Answer: A Explanation: The REST endpoint follows the pattern /record/v1/, so the custom record type is used directly. Question 64. Which workflow action can be used to set a field value based on the result of a saved search? A) Set Field Value (Search) B) Set Field Value (Formula) C) Set Field Value (Script) D) Set Field Value (Dynamic)