NetSuite Connector Administration
The administrator can perform the following tasks to ensure that NetSuite fields are available in Informatica Cloud and to optimize performance:
- • If field names in the NetSuite record and the related NetSuite search record do not match, the fields cannot be used in filters. This must be configured before NetSuite objects can be used as sources in tasks.
You can associate NetSuite record field names with related NetSuite search record field names when you set up a NetSuite connection in Informatica Cloud. Alternatively, you can configure the RecordToFieldsMap.ini file if the connection uses a Secure Agent group for the runtime environment.
- •Some custom fields in NetSuite custom objects might not appear in Informatica Cloud, particularly transaction body fields and transaction column fields.
To ensure that all custom fields are available in Informatica Cloud, you can configure custom fields when you set up a NetSuite connection in Informatica Cloud. Alternatively, you can configure the NetSuiteCustomFields.ini file if the connection uses a Secure Agent group for the runtime environment.
- •Saved search fields in NetSuite do not appear in Informatica Cloud if they have a null value.
You can specify saved search fields when you configure a NetSuite connection so that the saved search fields appear in Informatica Cloud even when they have a null value. Alternatively, you can add the saved search fields to the NetSuiteSavedSearchFields.ini file if the connection uses a Secure Agent group for the runtime environment.
- •To optimize performance for concurrent threads in data synchronization tasks, you might need to adjust heap size.
Mapping NetSuite Record Field Names
Map NetSuite record field names with related NetSuite search record field names so that users can use the fields in filters.
Users define filters for fields in the following locations:
- •Data Filters page of the Data Synchronization Task wizard
- •Query options in a Source transformation in the Mapping Designer
- •Query options in the Sources page of the Mapping Configuration Task wizard when the source object is parameterized
NetSuite SearchBasic search records contain the field names used for filtering. When a field name in a NetSuite record matches the related field name in the corresponding SearchBasic search record, users can define a filter for the field in tasks. When a field name in a record does not match the related search record field name, users cannot define a filter for the field in tasks.
You can check the NetSuite schema to see if a field name in a NetSuite record matches the related field name in the SearchBasic search record. NetSuite records are represented as schema types in the NetSuite schema. To view NetSuite field names in the NetSuite schema, you can open the appropriate schema definition file (XSD). You can find a list of XSDs in the following location:
For example, a user wants to define a filter for account name. You review the Account record in NetSuite's browser, which is defined in NetSuite's accounting.xsd file.
The schema contains the field, acctName, as shown in the following sample:
You also see that the corresponding SearchBasic field name in the NetSuite's common.xsd file is called name, as shown in the following sample:
Because the field name is acctName in the Account record and the field name is name in the corresponding SearchBasic record, you map the two field names. The following example shows how you map acctName to name in the connection properties:
[Account]
acctName=name
Use the same syntax if you resolve the issue in the RecordToFieldsMap.ini file.
Creating a Configuration File to Map NetSuite Fields
To ensure that users can define filters for NetSuite fields, map record field names with related NetSuite search record field names. You can map the fields in the Record Filter Fields connection property when you configure a NetSuite connection. Alternatively, if the NetSuite connection uses a Secure Agent group as the runtime environment, you can create a configuration file to map the fields.
If you choose to create a configuration file to map the fields, perform the following steps:
1. Create a text file named RecordToFieldsMap.ini.
2. Use the following guidelines to configure the RecordToFieldsMap.ini file:
- - Create a separate section for each NetSuite record.
- - In each section, list the record field names and related SearchBasic field names, as follows:
[<record 1>]
<record field name>=<SearchBasic field name>
<record field name2>=<SearchBasic field name2>
[<record 2>]
<record field name>=<SearchBasic field name>
<record field name2>=<SearchBasic field name2>
<record field name3>=<SearchBasic field name3>
For example:
[Account]
acctName=name
addr1=address1
3. Copy the RecordToFieldsMap.ini file to the following directory:
<Secure Agent installation directory>\main\bin\rdtm-extra\reserved\userfiles\netsuite
4. Update the file as required.
Configuring the NetSuiteCustomFields.ini File
You can specify custom NetSuite fields in the Record Custom Fields connection property when you configure a NetSuite connection so that the fields are available in Informatica Cloud. Alternatively, if the NetSuite connection uses a Secure Agent group as the runtime environment, you can specify the custom NetSuite fields in the NetSuiteCustomFields.ini file.
If you choose to configure the NetSuiteCustomFields.ini file, perform the following steps:
1. Make a copy of the NetSuiteCustomFields.ini file, located in the following directory:
<Secure Agent installation directory>\packages\packageNetsuiteConnector.<version>\package\rdtm\javalib
2. Use the following guidelines to change the file to include custom NetSuite fields:
- - Create a separate section for each NetSuite record for which you want to add custom fields.
- - Add the custom fields using the following format, where the value of scriptId is the ID field in the NetSuite user interface for each custom field:
[<Object Name>]
scriptIds = <custom field name1>,<custom field name2>,<custom field name3>
For example:
[Sales]
scriptIds = discountPrice,salesDescription,salesEvent
3. Save the NetSuiteCustomFields.ini in the following location:
<Secure Agent installation directory>\main\bin\rdtm-extra\reserved\userfiles\netsuite
Configuring the NetSuiteSavedSearchFields.ini File
You can specify saved search fields in the Saved Search Record Fields connection property when you configure a NetSuite connection to ensure that all saved search fields are available in Informatica Cloud. Alternatively, if the NetSuite connection uses a Secure Agent group as the runtime environment, you can configure the NetSuiteSavedSearchFields.ini file.
If you choose to configure the NetSuiteSavedSearchFields.ini file, perform the following steps:
1. Make a copy of the NetSuiteSavedSearchFields.ini file, located in the following directory:
<Secure Agent installation directory>\packages\packageNetsuiteConnector.<version>\package\rdtm\javalib
2. Use the following guidelines to change the file to include all of the saved search fields:
- - Create a separate section for each NetSuite saved search record for which you want to add a saved search field, identified by a unique scriptId.
- - Add the search fields using the following format:
[SavedSearchScriptIdToFieldsMap<version>]
<savedSearchId1>=<savedSearchDeclaredField1Name>,<savedSearchDeclaredField2Name>,
<savedSearchCustomFieldScriptId1>,<savedSearchCustomFieldScriptId2>,<StandardJoin>|<FieldName1>,
customSearchJoin|<scriptID1>
The savedSearchId1 is ID field in the NetSuite user interface that specify the saved search record. The savedSearchDeclaredField1Name and savedSearchDeclaredField2Name are standard field names in the NetSuite user interface. The savedSearchCustomFieldScriptId1 and savedSearchCustomFieldScriptId2 are ID fields in the NetSuite user interface for custom fields. The StandardJoin|FieldName1 is the standard join field and customSearchJoin|scriptID1 is the custom join field.
For example:
[SavedSearchScriptIdToFieldsMap1]
1000=phone,email,custentity78,custentity65,userJoin|email,customSearchJoin|custrecord1424
In the example, 1000 is the saved Search ID, phone and email are standard field names, custentity78 and custentity65 are the script IDs of a custom field. userJoin|email is the standard join field and customSearchJoin|custrecord1424 is the custom join field script ID.
Note: When you use custom join, script ID appears in the Informatica Cloud user interface.
3. Save the NetSuiteSavedSearchFields.ini in the following location:
<Secure Agent installation directory>\main\bin\rdtm-extra\reserved\userfiles\netsuite
Fetching Field Name for Saved Search with Standard Join
Perform the following steps to fetch field name for standard join:
2. Under Schema Browser, select the object.
3. Under Related Searches, select the search object.
4. Under Fields, select the type for the standard join.
You will find the name of the standard join field.
The syntax for saved search INI file with standard join is as follows,
[SavedSearchScriptIdToFieldsMap]<savedSearchId1>= <StandardJoin>|<FieldName1>, <StandardJoin>|<FieldName2>
For example,
[SavedSearchScriptIdToFieldsMap1]
290= userjoin|accountNumber, contactJoin|address
Fetching Script ID for Saved Search with Custom Join
Perform the following steps to fetch script ID for custom join:
1. Log in to your NetSuite account.
2. Select Customization > Record Types.
3. Select the custom object to get the script ID for the custom join field.
The syntax for saved search INI file with custom join is as follows:
[SavedSearchScriptIdToFieldsMap]<savedSearchId1>= customSearchJoin|<scriptID1>,customSearchJoin|<scriptID2>
For example,
[SavedSearchScriptIdToFieldsMap1]
290= customSearchJoin|custrecord1423,customSearchJoin|custrecord1421
Increasing Heap Size for Concurrency in Data Synchronization Tasks
Users can configure Data Synchronization tasks to use concurrent threads. If the NetSuite connection for Data Synchronization tasks uses a Secure Agent group as the runtime environment, you can adjust heap size to optimize performance for concurrency.
You can adjust heap size in the Edit Secure Agent page or you can edit the pmrdtm configuration file.
Increasing Heap Size in the Edit Secure Agent Page
You can adjust heap size in the Edit Secure Agent page to optimize performance for concurrency.
1. Click Configure > Runtime Environments.
2. On the Runtime Environments page, if necessary, expand the Secure Agent groups to see the list of Secure Agents. Click the Secure Agent name from the list.
3. Click Edit on the View Secure Agents page.
4. In the System Configuration Details section, for Type, select DTM. Modify the JVMOption parameter to specify the heap size. For example, you might want to adjust the heap size to 512 MB if the concurrency thread setting is 10.
Increasing Heap Size in the Configuration File
You can adjust heap size in the pmrdtm configuration file to optimize performance for concurrency.
To edit the pmrdtm configuration file, perform the following steps.
1. Open the pmrdtm.cfg file, located in the following folder:
<SecureAgent installation directory>\main\bin\rdtm
2. Change the pmrdtm.cfg file to adjust the heap size for concurrency.
For example, you might want to adjust the heap size to 512 MB if the concurrency thread setting is 10. The following example shows the pmrdtm.cfg file with the heap size set to 512 MB:
JVMOption6=-Xmx512m
JVMOption5=-XX:+HeapDumpOnOutOfMemoryError
JVMOption4=-Xloggc:jvm_heap_stats_Clou_App.log
JVMOption3=-XX:+PrintGCDetails
JVMOption2=-XX:+PrintGCTimeStamps
JVMOption1=-verbose:gc