STEP1: Creating Node.js File and save it as gumu.js
Writing Node.js code with build in modules and user defined modules and save it on Root Drive:SageSyracuseComponentsyracusebinnode_modulesbundles greytrixlibgumu.js
Create the folder under bundles(greytrixlib)
Fig 1.1-Code Description:
The “use strict” Directive:
To make Node.js act as an HTTP server include the module. Include the module using require() function with the name of the module.
Server:var http = require(‘http’);
Application has access to the HTTP module, and is able to create a server.
Node.js has a built-in module called HTTP, which allows Node.js to transfer data over the Hyper Text Transfer Protocol (HTTP).
To identity the httpclient we can declare
Client : var httpClient = require(‘syracuse-httpclient/lib/httpClient’);
Create user defined Modules:
Use the exports keyword to make properties and methods available outside the module file.
STEP2: Passing argument from x3 client
Fig 2.1-Code Description:
The function EXEC_JS is located in the ASYRWEBSER library and func ASYRWEBSER.EXEC_JS is used to execute node.js file and its definition is the following
- A mode to determine if the call is synchronous or asynchronous (‘sync’ or ‘wait’).
- Multiple arguments delimited by ‘,’ ; It can be JSON format or every types.
- Specify if arguments must be base64 encoded or not. A list of ‘0’ or ‘1’ separated by ‘,’.
- Can be empty if no base64 encoding is needed for any argument.
- Important: when it is not an empty string, it must match exactly the number of arguments.
- Base 64_IN.
- Specify the location of callback function. This is needed only for ‘wait’ mode.
- The value depends on the function.
- -1 is the value to say that the callback location is the last parameter.
- Used to filter JSON Objects .
- Specify the needs to encode the response to base64 or not. Can be ‘0’ or ‘1’
- Base 64_OUT
- The http response header.
- The Response body. The response will be stored in this variable.
STEP 3: Output
Note: Restart the Sage Syracuse – NODE0 service when changes done on gumu.js file
This blog helps us to understand how to write encode function on node.js server by passing input parameter from X3 client.
Greytrix – a globally recognized and one of the oldest Sage Development Partner is a one-stop solution provider for Sage ERP and Sage CRM organizational needs. Being acknowledged and rewarded for multi-man years of experience, we bring complete end-to-end assistance for your technical consultations, product customizations, data migration, system integrations, third-party add-on development and implementation competence.
Greytrix caters to a wide range of Sage X3, a Sage Business Cloud Solution, offerings. Our unique GUMU™ integrations include Sage X3 for Sage CRM, Salesforce.com, Dynamics 365 CRM and Magento eCommerce along with Implementation and Technical Support worldwide for Sage X3. Currently we are Sage X3 Implementation Partner in East Africa, Middle East, Australia, Asia, US, UK. We also offer best-in-class Sage X3 customization and development services, integrated applications such as POS | WMS | Payment Gateway | Shipping System | Business Intelligence | eCommerce and have developed add-ons such as Catch – Weight and Letter of Credit and India Legislation for Sage X3 to Sage business partners, end users and Sage PSG worldwide. Greytrix Sales Commission App for Sage X3 simplifies commission calculations and postings on sales transactions.
The GUMU™ Cloud framework by Greytrix forms the backbone of cloud integrations that are managed in real-time for processing and execution of application programs at the click of a button.
Greytrix is a recognized Sage champion ISV Partner for GUMU™ Sage X3 – Sage CRM integration also listed on Sage Marketplace; GUMU™ integration for Sage X3 – Salesforce is a 5-star rated app listed on Salesforce AppExchange and GUMU™ integration for Dynamics 365 CRM – Sage ERP listed on Microsoft AppSource.
For more information on Sage X3 Integration and Services, please contact us at firstname.lastname@example.org, We would like to hear from you.