Quantcast
Channel: Sage X3 – Tips, Tricks and Components
Viewing all 1516 articles
Browse latest View live

The narration of function and its parameter used to call an external/outgoing REST web service from ASYRRESTCLI library

$
0
0

The function “EXEC_REST_WS” is used to call an external/outgoing REST web service from ASYRESTCLI library and returns the status of the operation, the  parameters used in the function are described below,

Refer the previous blog : How to call Third Party REST service from Sage X3.

Parameter 1:

Code               :NAME

Data Type       :Char

Description     : Name of the REST web service created.

Parameter 2:

Code               :HTTPMETHOD

Data Type       :Clbfile

Description     : HTTP methods can be used on any endpoint which map to application create, read, update, and delete (CRUD) operations:

HTTP method CRUD Action
GET Read Returns requested data
POST Create Creates a new record
PUT Update Updates an existing record
DELETE Delete Deletes an existing record

.

Parameter 3:

Code               :SUBURL

Data Type       :Char

Description     : It is a sub-URL that appends to the main URL ,Main URL which specified while creating REST web service in x3.

Parameter 4:

Code               :PARAM_COD

Data Type       :Char Array

Description     : Names that can be used as URL parameters.

Parameter 5:

Code               :PARAM_VAL

Data Type       : Char Array

Description     : Values corresponding to property names defined in PARAMS_COD.

Parameter 6:

Code               :HEADER_COD

Data Type       : Char Array

Description     : Names that can be sent in the request header as parameters..

Parameter 7:

Code               :HEADER_VAL

Data Type       : Char Array

Description     :Values corresponding to property name defined in HEADER_COD.

Parameter 8:

Code               :DATA

Data Type       :Clbfile

Description     : Data that is sent with POST and PUT methods.

Parameter 9:

Code               :Mode

Data Type       :Integer

Description     : If 1, the web service is called in ‘future’ mode; if 0, the ‘wait’ mode is used.

The difference between Wait and Future mode, wait mode is synchronous , the call has to wait until receives a response back from the external REST web service, while on the Future ( asynchronous) a unique identifier is created, and you can later on retrieve the result of your external call  with that UUID.

Parameter 10:

Code               : RETURNS

Data Type       :Char

Description     : If empty, the whole JSON feed is returned in RESBODY; if not empty, only the value of the corresponding property is returned in RESBODY.

Parameter 11:

Code               : RESHEAD

Data Type       :Clbfile

Description     : The response header returned by the web service.

Parameter 12:

Code               : RESBODY

Data Type       : Clbfile

Description     : The response body returned by the web service.

Conclusion:

This blog helps to understand what are the parameters with  its description and data type  used in EXEC_REST_WS function and also how to use synchronous and asynchronous mode.

Related Keywords: REST web services,EXEC_REST_WS,ASYRESTCLI,Parameters of EXEC_REST_WS function, Wait and Future Mode, Synchronous and Asynchronous mode.

Subscribe for more blogs!!!

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.


How to solve if new field added in inquiry screen and still not visible after global validation of window.

$
0
0

As we all know, generally after adding fields in screens, we globally validate window of that screen and we are able to see the new added field in that screen. But in inquiry screens, it is little different.

In this we will see how we add new field in inquiry screen and how we can solve if field not visible in that inquiry screen.

Consider the List of Orders Inquiry screen of Sales Module. As you can see below Sales order table where Change user (UPDUSR) field is already present.

Navigate All -> Development -> Data and parameters -> Tables

Table-dictionary
Table-dictionary

Navigate All -> Development -> Script dictionary -> Screens

We will add this field in Inquiry screen of List of Orders and Validate the screen.

Screen-Dictionary
Screen-Dictionary

Navigate All -> Development -> Script dictionary -> Windows

Select the window and Click on Global Validation.

Window-management
Window-management

After Global validation , Navigate to  Sales -> Inquiries -> Orders -> List of Orders,

Inquiries-List-of-order
Inquiries-List-of-order

It can be seen below that the new field added in the inquiry screen is NOT visible although we globally validated the window.

Order-Inquiry
Order-Inquiry

So to make the new added field visible, we need to Navigate Setup -> General parameters -> Invoice Types -> Inquiry screens.

General-Parameter
General-Parameter

Click on list of orders and search for the inquiry code you want. Here, CSO and Screen code STD.

Inquiry-Screen
Inquiry-Screen

We can see that the new field added i.e. change user , the Order is blank . So we will add 360 as the last Order used is 350 as seen in above screenshot and Click on Save Button.

Inquiry-Screen-1
Inquiry-Screen-1

Click on Validation

Inquiry-Screen-validation
Inquiry-Screen-validation

After validation Navigate to List of orders screen, you will be able to see the new field added in the inquiry screen i.e. Change user field here.

Order-Inquiry-Change user
Order-Inquiry-Change user

This is how we can make visible new field added in Inquiry screen if not visible.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

Calculating number of attachments in Sage X3

$
0
0

As we know, using attachment featured In Sage X3, user can attach various documents/files against any masters or transactions screen. With this feature users can attach file types like word document, Image, Text, PDF and Excel etc. The attached documents can be the reference/source documents of that particular entry. This helps all the users to know the source documents and it also improves efficiency because users can access relevant information easily without wasting time searching through file cabinets and folders.

In this blog, we will see how we can know the number of the attachments attached to particular entry through 4GL script.

New Stuff: https://www.greytrix.com/blogs/sagex3/2020/07/01/how-to-solve-if-new-field-added-in-inquiry-screen-and-still-not-visible-after-global-validation-of-window/

4GL sample Script
Sample Script for calculating number of attachments

“AOBJTXT” table stores of all the attachments which are attached in Sage X3.

Let’s consider, user has attached some attachments to a particular Supplier in Supplier Master Screen.

So using the above script, we can know the number of attachments attached to a particular supplier by just putting filter as supplier code selected on the screen. And then we count total number of attachments through “ROWCOUNT()” function.

How to get an Open PO Amount using inquiry screens in Sage X3

$
0
0

At first, we will see, what is an Open PO Amount? After creating GRN/Receipt against Purchase Order, remaining amount of PO i.e. (Total PO Amount including Tax – Total Receipt/GRN Amount including tax) is the Open PO Amount. That means Open PO Amount will be calculated until that PO is open. If PO is closed, it will consider ‘0’ Open PO Amount.

How do you check Open PO Amount if the PO is open in Sage X3?

For this purpose, we did customization on Purchasing Inquiry Screens and added a new column for PO Amount in all Purchase Inquiry Screens i.e. in Order Lines, List of Orders, Receipt Lines and List of Receipts.

As we all know, you can create multiple Receipt Entries(GRNs) against one Purchase Order. So In this case, when you create first GRN entry against Purchase Order with some quantity(less than PO qty), remaining amount (including tax) of that particular Purchase Order will be considered as Open PO Amount.

As per the standard functionality of inquiry screens, In Order Lines and Receipt Lines, Open PO Amount is calculated product-wise and in List of Orders and List of Receipts, Open PO Amount is calculated on the basis of total PO and total GRN Amount. In Receipt inquiry, Open PO Amount of last GRN will be considered for all the previous GRNs in case of multiple GRNs.

Now, we will see how the Open PO Amount will be calculated.

New Stuff: https://www.greytrix.com/blogs/sagex3/2020/07/01/how-to-solve-if-new-field-added-in-inquiry-screen-and-still-not-visible-after-global-validation-of-window/

Source: For illustration purposes only

As you can see in above table, total Amount (including tax) of Product 2 in PO is 16800 and in GRN it is 11200. So the open PO Amount for Product 2 is (16800 – 11200 = 5600). Now you can check the Open PO Amount calculation for Product 1 by applying the same logic. So with the customization we did, you can find open PO amount with the inquiry screens. Refer below screenshot of Receipt Lines Inquiry Screen where product-wise Open PO Amount is getting displayed.

[Receipt Lines Inquiry Screen]

And in List of Receipts, total PO Amount including tax is 39200 and total GRN amount including tax is 22400. So the Open PO Amount is (39200 – 22400 = 16800) as shown in the below screenshot of List of Receipts.

[List of Receipts Inquiry Screen]

Same logic will be used in Order Lines and List of Orders Inquiry screens. Hence with the help of this customization, user can check the open amount of Purchase Order.

Generation of Account Code on the basis of Group, Sub-Group and Classification

$
0
0

In Sage X3, using auto numbering feature we can generate document numbers for most of the transaction and masters like Purchase or Sales document numbers or Customer or Supplier numbers etc. But there is no provision to generate account code automatically so we did an add-on customization where Account code gets generated automatically on the basis on certain criteria. So in this blog we will see how we can achieve this.

One of our client has requested that they required auto generation of account codes on the basis of Classification, Group and Sub Group fields on the account screen. Classification is the Account class field which is based on Legislation and which is stored in Setup -> Finance Account -> Classes. Also Group and Sub Group field which is present in Account screen. So using the combination of the above three fields we have written logic for different account code numbering sequence.

First we will consider the Classification code i.e. a single digit number which will be concatenated with the Group and then Sub group field i.e. 2 digit numbers and further we will concatenate the incremented sequence value to it.

Let’s take up an example for better understanding:

New Stuff: https://www.greytrix.com/blogs/sagex3/2020/07/01/how-to-solve-if-new-field-added-in-inquiry-screen-and-still-not-visible-after-global-validation-of-window/

[Account Master - Example 1]
[Account Master – Example 1]

In the above screenshot, Classification field value is 1, Group Value is 04 and Sub-Group value is 02. So the account code starts with “10402”. If this account code sequence is not generated before then we will concatenate 001 to it making the account code as “10402001”.

Now will see another scenario, if the sequence is already generated then program finds the latest value that was auto generated in it and then increment it by 1. In the below screenshot the classification code is 1 and Group is 04 and Sub-Group 02. As we know that this sequence was already generated so now it will generate the new sequence by checking in the database and it will increment the account code by 1 making it as “10402002”.

[Account Master - Example 2]
[Account Master – Example 2]

So whenever new Account code will be generated with this combination, only sequence counter will get incremented and append to the combination of above three fields.

In this way each combination will have their separate sequence counter and will be generated Account code likewise on the basis of Classification code, Group code and Sub-group code.

Customer or Supplier address deletion

$
0
0

Sometimes, you want to delete the address of a customer or Supplier or BP which is wrong or you want to change the address or you want to delete the address for some other reason. You can follow the below steps to check if the address can be deleted.

Steps:

If you need to delete a Supplier address for example:

Go to Common Data > BP’s > Suppliers

If this address was created just by accident or some other reason and it has not been used anywhere or in any transaction then go to the address line and click on action button on the line level and click on delete and this address will be deleted.

But if it is the Default address then first you need to make another address default address. So, if you already have another address for this Customer/Supplier/BP then make that address the default address. However if there is no other address you need to create a new address and make it the default address, in that case create a new address, enter the necessary address details click on the “Default address” check box to make it the default address and click on save. Now the address you want to delete is not the default address.

Address deletion on Supplier

Try to delete the address again by clicking on the delete button on the address line level, a message will popup as demonstrated in the below screenshot. This address was used for the Invoicing BP and Pay to BP which explains the message below.

Address deletion on Supplier

Next go to the Financials tab and change the address in the 2 blocks next to Invoicing BP and Pay-to as shown below and click on Save, to save the changes.

Changing the default address

The new addresses will be saved as you can see in the below screenshot.

Changing the default address

Now go to Addresses tab, click on line level action button and click on delete the below message will popup, which means that this address is used on the BP record.

Address deletion after changing the default address

Now go to the BP record (Go to Common Data > BPs > BPs) if you have another address here make that one the default address, however if you do not have any other address then create another, save and make it the default address, and then attempt to delete the address there– unfortunately the message below means that this address has been used in transactions and therefore cannot be deleted. The customer addresses cannot be deleted if the address has been used in any transaction.

Hence this address cannot be deleted since it has been already used in transactions, so what you can do here is remove this address as the default address and do not use it in any further transactions.

Unfortunately addresses that have been used in transactions cannot be deleted.

Address deletion on BPs

If an address was just created by accident or was created and has not been used anywhere then it can be deleted by first making another address default address then clicking on the line level delete button in BP or Customer, but if the address is used in any transactions then it cannot be deleted.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

How to prevent the printing of a report pro-grammatically

$
0
0

In Sage X3, we may come across a situation where we need to prevent printing of a report and we can achieve this using code.

Steps to follow : 

To prevent printing of a report we need to create a specific processing script for the report and put the following code in the file.

Script Editor

The principle is that when you set GOK to 0, the report will not be printed. Of course, you have to substitute the dots after ‘If’ with the appropriate condition. For example, suppose that you print a report from the Deliveries function (GESSDH) and you want to print it only if the delivery is validated then you need to put specific conditions to prevent report printing.

This action is called just before the printing of the document by Crystal Report. Warning! This action is mandatory, if an initialization process is specified in the report dictionary. It is not called by the instruction Gosub but by the Call instruction. Two parameters are passed to it, NBPAR (number of parameters) and PARAMETRE (parameters grid).

It is used for other functionalities as well which are explained in below points:

  • As mentioned, it is used for preventing report printing when GOK variable value is set to 0.
  • To update the X3 tables (for e.g. print flags etc.)
  • construct a work table in order that the data may be more easily used by par Crystal Report.

It has also been used as an entry point. It was developed for earlier versions of X3.

Entry point IMPRIME had been created for one of the initial X3 versions. It had to be called just before selecting the printer and made it possible to inhibit the printer entry if variable GPE was different from 0.

The parameters are stored in the PARAMETRE variable with the indices 1 to NBPAR. Each value is a string in the form of “parameter=value” without any other separator.

At this level, the report parameters may be used that are stored in the PARAMETRE (1.NBPAR) grid where NBPAR is the number of parameters A parameter is expressed in this grid in the form : parameter name = parameter value.

There is also DEFIMP entry point which is used to return printer name (destination code) by entering the IMPRIMANTE variable and, if a printer’s name is mandatory.

This entry point is called at the end of the subprogram used to determine a default printer (destination code) even though a printer cannot be found after the standard setup.

This subprogram is called by the AIMDEF action and is usually called in order to initialize the printer before printing a report.

There are also other entry points which are used in the same prospect for the report printing process. (e.g. ALIMETAT) So, this entry points along with other subprogram has various uses for printing reports and other functionalities in X3 as explained in the above blog.

This blog helps to understand how we can prevent report printing pro-grammatically. Beside that it can be used for other usage which are explained in the above points.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

How to solve ‘Non-existent Account’ error while posting Sales invoice

$
0
0

A sales invoice is an accounting document that records a business transaction. Sales invoices provide the business with a record of the services they’ve provided to a customer. When you post an invoice or credit note, the value of each invoice line posts to the nominal account specified for the item. But sometimes we get error while posting sales invoice due to account related.

Sage X3 has a menu termed as accounting codes wherein we need to assign the needed accounts against the different entities e.g. Customer/Supplier/Product etc. If the accounts are not assigned against these entities in the Accounting Setup, in that case, every time the user tries to post a transaction or run the valuation, user may get the “No Account found” error.

Mostly we found this error while posting the invoices whether it can be Sales invoice or Purchase invoice. Sage X3 has a functionality to solve this error. For solving it, kindly follow the below steps.

While posting the Sales invoice you will get below error:

Navigate To>> Sales >> Invoice >> Invoices

Error Log file

Navigate To: All >> Setup >> Financial >> Accounting interface >>Automatic Journals

  1.   Select the Entry code i.e. ‘SIHI’ which has mentioned in above Error log file.
  2. Then click on the button which is present on the side of the automatic journal screen.

Please refer the below figure for the same.

Automatic Journals

After clicking on Lines button, an Automatic Journal (Lines) screen will be open.

Select the line no. i.e. 20 which is mentioned in above Log file. Please refer the below figure for the same.

Automatic Journal (Lines)

Now in General tab go to in Accounting Codes section and note down the Index no. of the Product and customer as shown in below figure.

Automatic Journals (Lines)

Now go to accounting codes screen and select that account codes which you have defined for the respective product and customer.

For example, In the above transaction we are using “PURSUPPLIE” accounting code for product and “AN_NGRU-NA” accounting code for customer.

(Note: You will get the defined accounting code of that particular product and customer in the Financial tab of product and customer)

As mentioned in accounting codes section, product has 2 index no. and customer has 17 index no., Now go to that particular index no. and enter the account number in legal fields, as shown in below figure.

For Product:

Accounting Codes

For Customer:

Accounting Codes

After saving this record, Navigate To >> Sales >> Invoice >> Invoice

Open sales invoice screen and post the sales invoice transaction where you are getting error and you will be able to post the Sales invoice without getting any error, as shown in below figure.

Log file

With the help of this blog you can solve the Not-existent account code error and you will be able to post the Sales Invoice.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.


How to call an API through POSTMAN tool and map with X3 fields

$
0
0

We come across the scenario, where we will use POSTMAN software tool  to examine the working of external API. Postman is a simple GUI for sending HTTP requests and viewing responses. REST services are available in sage x3 that returns data in a JSON format. In this blog, we are going to visualize the mapping of fields from postman to x3 Rest web services.

Example: In Postman IDE,

1.HTTP Request — Request is the simplest way possible to make http calls.

HTTP Request contains of Request Method, Request URL, Authorization, Request Header, Request Body.

a. Request Method: Request method defines the type of request to be made. There are mainly four request methods, used for creating/updating, retrieving and deleting data.

  • POST Request     — For Creating Or Updating data
  • PUT Request       — For Updating data
  • GET Request       — For Retrieving/Fetching data
  • DELETE Request  — For Deleting data.

Choose Post Method, A POST request is a method that is used when we need to send some additional information inside the body of the request to the server.

b. Request URL:URL to make the http request. Enter the complete URL on URL field.

c. Authorization: An authorization token, included with requests, is used to identify the requester. Select the Basic Auth on Type field and enter valid Username and Password.

Fig1: Postman Authorization tab

d. Request Header: In request headers it contains key-value of the application.

Content-Type — A content-type describes the format of object data. Content-type, i.e., application/json which is used for the requests and responses

e. Request Body: Body Field  contains the data, depends on type of request method, to be sent with request, raw form of data is used for sending request. 

{

“name”:”Kalam”,

“job”   :”scientist”

}

2.HTTP Response — On click of Send Button, Response will display in JSON Format.

Fig2: Postman- Body tab screen

In X3:Create REST Web services

Navigational Path: All->Administration->Administration->Rest Web services

Name Field : Enter any user defined field

Base URL   : Enter the domain name of the URL

Example: Enter only domain name: http://reqres.in  from full path:   http://reqres.in/api/users       

Content-Type: Choose Json

Authentication: Choose Basic Authentication and Enter credentials ,Username and password used for authenticate the API

Parameters: PARAM tab in postman is mapped with Parameters fields in X3 as Key value Pair

Fig3: Rest Web service screen

In X3:Below Code Snippet to call external API

  ##Declaration of Variables used in executing RestWebservice##

     LOCAL CHAR YAPI(250),YURI(250),PCOD(100)(1..100),

     PVAL(100)(1..100),HCOD(100)(1..100),HVAL(100)(1..100)

     LOCAL CLBFILE YMTD,YREQBODY,YRESBODY,RESHEAD(0)

     LOCAL CLBFILE RESBODY

     LOCAL INTEGER RETVAL

     ##Declaring Header ,Method and Path of URL through Code

     HCOD(1)   =  “Authorization”

     HVAL(1)    =  ‘”X3User:UserX3″‘

     HCOD(2)   =  “Content-Type”

     HVAL(2)    =  ‘”application/json”‘

     YMTD        =  ‘POST’

     YAPI         =  ‘CreateID’

     YURI         =  ‘/api/users’

     YRESBODY =  ”

     YREQBODY =  ‘{“name”: “Kalam”,”job”: “scientist”}’

     ##Call EXEC_REST_WS Method from ASYRRESTCLI library function

     RETVAL  = Func ASYRRESTCLI.EXEC_REST_WS(YAPI,YMTD,YURI,PCOD,PVAL,HCOD,HVAL,YREQBODY,0,”,RESHEAD,YRESBODY)

     IF(RETVAL=201)

        INFBOX NUM$(YRESBODY)

     ELSIF(RETVAL=500)

        INFBOX NUM$(“CONNECTIVITY ISSUE!!!”)  

     ENDIF

Explanation of Code snippet:

Header is specified in Key-value pair, Header should contain authorization and content-type details.

Assign the variable HCOD(1)- Header code of array index 1 to Authorization.

Assign the variable HVAL(1) -Header variable of array index 1 to username and password separated with Colon.

Assign the variable HCOD(2)- Header code of array index 2 to Content-type.

Assign the variable HVAL(2)- Header variable of array index 2 to application/Json.

Assign the variable YMTD-Type of Method used  to string value “POST”

Assign the variable YAPI -REST web service Name to ” CreateID “

Assign the variable YURI with the remaining part of URL

just declare Response body variable

and Assign the YREQBODY variable to input

call EXEC_REST_WS function from ASYRRESTCLI library with all required parameters and will return status code as integer value which shows success or failure and result json format is stored in YRESBODY Variable.

IMPORTANT NOTE:

If there is an requirement of sending Username and password directly through code without passing in REST webservices. Explanation with scenario,

From Login authentication screen, if it is successful then pass those credentials to the REST web services through code, In that case Header variable should contain

Header Code HCOD(1) as “Authorization” and

Header Val HVAL(1) as ” Basic MTcwZWU5MmEyODOTo= “

String “Basic” followed by BASE 64 format of Username: Password

Refer the blog for the ASYRRESTCLI function and its parameters to be passed for the function

“The narration of function and its parameter used to call an external/outgoing REST web service from ASYRRESTCLI library”

Few List of Status Code and its description

1.200          -Successful request.

2.201          -Successful request and data was created.

3.204          -Empty Response.

4.400         -Bad Request.

5.401        -Unauthorized access

6.403         -Forbidden, Access denied.

7.404          -Data not found.

8.405          -Method Not Allowed or Requested method is not supported.

9.500          -Internal Server Error.

10.503       -Service Unavailable.

Response from API while executing the code above in X3.

Fig4: API Response screen in Sage X3

This blog helps us to understand the mapping of fields from POSTMAN tool to X3 REST web services and code used to call an external API by using EXEC_REST_ES function by passing credentials in header variables.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

Add Pending Qty column in PO Receipt screen in Sage X3

$
0
0

In Sage X3, we know that users can create the PO order, PO receipt, PO return and PO invoice transactions against vendors/suppliers using purchase module. So in PO module, whenever user created the receipt from particular purchase order or returning some qty using purchase return screen, then Qty on hand or stock Qty got affected.

For one of our client, we did customization where user wants to know the pending PO quantity on the Receipt entry screen itself so that user must be aware of the status of that particular PO whether it’s partially received or completely received. Also whenever user creates the return entry against that particular receipt then Pending quantity on that particular PO should also get changed accordingly. So to achieve this we have added an additional column ‘Pending Quantity’ on PO Receipt/GRN detail grid which got refreshed based on the quantity received and quantity return with reference to that particular PO.

For example, If we have created Purchase Order with ordered Qty=1000 and post that purchase order transaction. (Go to Purchasing–>Orders Section–>Orders).

New Stuff: https://www.greytrix.com/blogs/sagex3/2020/07/01/the-narration-of-function-and-its-parameter-used-to-call-an-external-outgoing-rest-web-service-from-asyrrestcli-library/

[Sample Purchase Order]

And then we have created Purchase Receipt entry with Qty=800 and post that purchase receipt transaction. (Purchasing–>Receipts Section–>Receipts) Refer below screenshot:-

[Sample Purchase Receipt]

After creation of Purchase Receipt entry, out of 1000 quantity, 800 quantity got received so Pending qty get changed to 200 i.e. (1000-800), as shown in the below screenshot:-

Purchase Receipt screen with pending qty

When we will create another receipt from same purchase order with remaining qty i.e. 200 then pending qty will get changed to 0.

In the same manner when user creates the Purchase Return entry of the above Receipt, the pending qty value will get changed in receipt detail grid. Let’s take an example, supposed if we raised Purchase Return entry with 50 Qty against the above receipt and posted that purchase return transaction. When user reopen previous receipt then pending qty will be displayed as 250.

This customization is developed so that user can easily identify in the receipt screen that what is the pending qty for particular purchase order after creating purchase receipt and purchase return transactions.

Exporting Payments in Sage X3

$
0
0

Most of the clients has requirement to export their supplier payments which are created in Sage X3 so that they can upload the exported payment information on their bank site for making the bulk payments to their suppliers. So to achieve this we have developed a utility which will helps users to export the required payment information based on the parameters entered.

Please refer below screen shot which will give you better visualization. Here user needs to select an appropriate Date range, Site and company name on the screen, based on these parameters, utility will display all the payments made for that particular period of time. These payments then can be exported in CSV file format using print button given and can be uploaded on the bank site for actual payments. Once the upload done, bank process the payments to the suppliers based on the information there in the CSV file.

New Stuff: https://www.greytrix.com/blogs/sagex3/2020/04/10/technical-how-to-solve-unbalanced-payment-error-while-creating-payment-through-import-export-template/

Sample Payment Export screen

Please refer below steps that needs to be follow:-

Step 1: Login to Sage X3 and navigate to home page–>Bank Integration–>Payment Export
Step 2: On the header part of the screen, user needs to select date range and other parameters
Step 3: Once user clicks on search button, all the payment with required information like payment number, payment amount, Bank name, Bank Add, Amount, Vendor etc. will get displayed on the detail grid.
Step 4: User will have provision to select the payments from the grid by just doing tick on check box against respective Payment Number for which they wants to do the payment.
Step 5: At the last user needs to click on ‘Print’ button and to generate a CSV file which user can directly upload on the bank site for payment process
Step 6: Once the file has been uploaded, amount against particular payment no would be debited from company’s Account and credited to Vendor’s Account. With the help of Payment export utility user saves their time for doing the payment to their suppliers.

How to add checkbox in Crystal Report

$
0
0

There are many instances when client wants to give multiple copies of the invoices to their customers, where they must segregate multiple copies into original and duplicate. So we have given option on the report for those client where at the header part Original and Duplicate check boxes are given. So if the specific invoice is printing for the first time then Original checkbox should be ticked and if it is printing for more than once then the checkbox for duplicate should be ticked.

To achieve this working in Crystal report please refer the below steps:

Step 1:-
Create subreport using below SQL query and add that subreport into main report.
For example, your report code is ZSINVOICE i.e. for Sales Invoice Report. Add our subreport in this main report.

Refer below screenshot for SQL Query snippet:-

New Stuff: https://www.greytrix.com/blogs/sagex3/2020/07/01/how-to-solve-if-new-field-added-in-inquiry-screen-and-still-not-visible-after-global-validation-of-window/

Sample Script

Where variable “NUMDEB” holds the Invoice Number and variable “FOLDER” holds the name of the Sage X3 folder in which you are working.

Step 2:-
Insert 2 ticked and 2 unticked check box images in report headers like below screenshot:-

Sample Report header

Step 3:-
Add suppress condition for both of the header sections using Section Expert.

Report header section

Below is the Condition for ‘Report header a’ section :-
{Command.COUNT}=1

Below is the Condition for ‘Report header b’ section :-
{Command.COUNT}<>1

Whenever user tries to print the Sales Invoice report from Sage X3, it will show checkbox ticked based on the counter.

Refer below screenshot of the sample output.

Sample report output

In this way anyone can identify whether the invoice copy is original or duplicate by looking at checkbox.

How to Align Lot numbers with Work order numbers

$
0
0

A Work order is an order to make one or more products. Conventionally, the work order uses a bill of materials (BOM) to create a list of materials to be issued, and a routing to make a list of operations to be performed on work centers. Work orders dictate what product need to be manufactured, what raw materials are going to be required to manufacture the product, and which work center that the product needs to pass through in the manufacturing process.

Some companies would like to create their Finished Good products with a Lot Number that is the same as the Work Order Number that created the product. Finished goods are goods that have been completed by the manufacturing process, or purchased in a completed form, but which have not yet been sold to customers.

Why we make the Lot number same as Work order number because this can make the tracing of the Lot easier. In Sage X3, there is a standard functionality of doing this.

Follow below steps for the setup: 

Steps:

First make sure the Lot Management setting of product is checked as a ‘Mandatory lot’ and under the Lot Sequence field this MUST be blank as shown in below figure.

Fig : Product

Also, Product category set up should be same as product setup, as shown in below figure.

Fig : Product Category

In short product and that respective product category set up should be set as defined above.

Navigate To: Common Data> Product category > Receipts Tab > Management Rules Grid

  1. Select Movement type as ‘Work order receipt’
  2. Change the value of Lot entry as a ‘Free’
  3. Change the value of Lot by default as a ‘Document number’
  4. Click on Save or OK button.

 Please refer the below figure for the same.

Fig : Product Category > Receipts tab

Now we have done the setup for product master and product category.

Navigate To: Set up > General parameter > Parameter values

  1. Select GPA chapter from left panel
  2. Select MIS group
  3. Click on the detail of MIS group from action button
  4. Change the value of LOTMGT as a “In release”
  5. Click on OK button
  6. Save the changes.

Refer the below screenshot for the same.

Fig : Parameter Values

Now follow the below path for the Work order creation,

Navigate To > Manufacturing > Planning > Work order

While creating the work order transaction, keep LOT no. as blank on line level and after creation you can see LOT no. is coming same as a Work order transaction number. Refer below figure for the same.

Fig : Work Order

With the help of this setup you can align the Lot numbers with Work order numbers.

Hence after doing all the above steps we can able to align the same lot number with work order number.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

How to do Period End procedure in Sage X3

$
0
0

Fiscal Period is the period of time reflected in financial statements. Usually, the fiscal period is either the calendar year or a quarter. Fiscal period is also known as an accounting period.

The fiscal year is the consecutive 12-month period during which a business or organization plans its budget. It does not have to be from January to December.

In Sage X3, sometimes we may find difficulties like while running accounting task error comes for closing a period. So, for solving these Sage X3 has a some in build functionality. Kindly follow below steps for closing a period for particular month and for country.

Just follow the periodic tasks in the sequential order:

Step1:

  1. Run accounting interface before closing the fiscal period: This is to check all the stock journals are posted properly and no error is pending.

Navigate to : Stock -> Periodic Processing -> Valuation -> Accounting Interface

Stock Account. Interface Screen

Refer above screen shot, just open the accounting interface screen . Enter processing date and then click on OK button. This will show, the journals are posted properly or not.

Step2: This step is important for only those companies which are manufacturing company. For non manufacturing companies we can skip this step:

Run WIP posting for all the Work Orders which are closed: Make sure all the work order journals are posted properly.

Navigate to: Costing -> WIP -> WIP Posting

WIP Posting

Refer above screen shot, open the WIP Posting screen.

Mark the ‘All Sites’ and ‘All transactions ’checkbox as checked then click on OK button. This will show, all the WO’s journals are posted properly or not.

Step3:

To check accounting task, all the task status should always be ‘Active’ and also check no journals are o hold status.

Navigate to: Usage -> Batch Server -> Accounting task

Accounting Task screen

Step4:

Final Validation: This process is used to finalize all accounting journals. Select all the mandatory fields and then click on OK button in the Final Validation screen.

Navigate to: Financial -> Current Processings -> Final Validation

Final Validation Screen

Step5:

Period Closing Process: For period closing process, just open the fiscal period screen. Follow below path:

Navigate to : Common Data -> G/L accounting tables -> General -> Fiscal Period.

Fiscal Year Period

Now here as you can see the above screen shot, all the stock status are open. Close them first from the drill down.

Now for closing accounting period, follow below path.

Navigate to:  Common Data -> G/L accounting tables -> General -> Fiscal Period -> Closing button.

Now in this screen, select the period month for which we have to close the period status and then click on the OK button.

Period closing screen

After clicking on the Okay button, the period status of all the selected period months gets closed.

Hence, after doing all the above steps we can close the fiscal period for particular month or year.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

Implement SSL Certificates with Sage X3 Syracuse web server

$
0
0

There are many situation where user want to implement SSL certificate with Sage X3 syracus web server and want to be able to access Sage X3 without first attaching to their network. So in this blog we will learn how to implement the SSL Certificate in to Sage X3 syracus as well as all the necessary term required for the same.

First we will see what is exactly SSL means and definitions of all the terms to get clear understanding:

HTTPS over SSL is an internationally recognized protocol for secure communication over a computer network which is widely used on the internet traffic. HTTPS consists of communication over Hypertext Transfer Protocol (HTTP) within a connection encrypted by Transport Layer Security or its predecessor, Secure Sockets Layer. The main motivation for HTTPS is authentication of the visited website and protection of the privacy and integrity of the exchanged data.

Definitions of certificate format mostly use to configure SSL certificate:- 

  • SSL – SSL Stands for Secure Socket Layer
  • .csr – csr stands for Certificate Signing Request
  • .pem – PEM stands for Privacy Enhanced email
  • .crt .cer .cert – A .pem (or rarely .der) formatted file with a different extension, one that is recognized by Windows Explorer as a certificate, which .pem is not.
  • .key – This is a PEM formatted file containing just the private-key of a specific certificate and is merely a conventional name and not a standardized one. In Apache installs, this frequently resides in /etc/ssl/private. The rights on these files are very important.

If you want to use SSL certificates you need to generate a Certificate Signature Request (CSR) and obtain a server certificate issued by a Certificate Authority (CA).

User need to Purchase a trusted Certificate from a Recognized 3rd Party provider. They will create and own the Root CA (Certificate of Authority) from where the authentication is verified at the highest level of the authentication chain. The 3Rd Party will then provide you with a PFX file and a secure password that will be used to generate an Intermediate CA certificate (.crt) and Public Key (.key).

Examples of some 3rd Party Providers of Trusted SSL Certificates:  Digicert , Thawte , Verisign,  GoDaddy , TrustTheSite  Etc.

In order to configure the certificate in to sage X3 we required the certificate in two format i.e. .CRT and .Key Format.

Note: – We can also generate the .crt and .key file using the .pfx file format.

We will see how to register the Intermediate CA certificate on the Web syracus server:-

This is done by navigating to Administrator >>Certificates function in Syracuse:

Certificate Screen
Certificate Screen

Select Create “New certificate” option to create and upload new certificate in to sage X3.

You will get below window where you can upload your Certificate i.e. (.Crt) file and Private Key i.e. (.Key) file.

Upload Certificate and private key
Upload Certificate and private key

This will complete the registration of certificate in to syracus.

Now we will see how to setup Syracuse Hosts to communicate using HTTPS over SSL.

Once the intermediate CA certificate is registered in Syracuse the Syracuse hosts have to be setup to use the new certificate. To do the steps navigate to the Application >> Host. You need to host your created certificate with port 443 or 7777.

Host Certificate
Host Certificate

There are two options at this point, the standard SSL port (443) can be used or we can assign a custom port (7777). Ensure that the SSL tick box is selected and the certificate that was registered in the previous step is populated.

This is how you can configure the SSL Certificate with the sage X3 syracus to secure your website and to secure communication over a computer network which is widely used on the internet traffic

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.


How to exclude weekends from total number of days in crystal report.

$
0
0

In sage X3, we have a functionality of printing various types of reports such as Order, Invoice, Payments, and Receipt etc. This report is created by using crystal report. Crystal Report is a very powerful tool used to pull data from sage and present it in a ways you want.

Sometimes in crystal report, we may have to develop sales history report. The report should shows the Order No, Invoice No, order date, invoice date, shipment date and how many days it takes to ship an order from the day we received the order until the day it is invoiced. We may also want to calculate how many days early or late based on the date promised to the customer. If the deliveries won’t be done on weekends then in that case we may need to exclude the weekends from the number of days. Refer the below figure of report.

Sales History Report

We need to create two different formulas, one for calculating Days to ship and other for Days late.

Calculation Needed:

Days To Ship= Invoice Date – Order Date(exclude weekends)

Days Late= Invoice Date – Promise(Shipment) Date (exclude weekends)

Crystal report has a various types of built in function and operators that includes String function, math function, date and time function, date ranges, arithmetic ,conversion, array operators, etc. We may use that pre-defined function to perform various calculation etc. Some of the Date Time function are as follows:

Date and Time Function includes:

Current Date : This function display the current date.

Current Time: This function display the current time.

DayOfWeek(): This function diplays the day of the specified date.

Syntax: DayOfWeek(date)

DateAdd(): The DateAdd() function can be used to add an interval of time to a date.

Syntax: DateAdd(interval type,number,start date)

DateDiff():The DateDiff() function is used to calculate date difference between two dates.

Syntax: DateDiff(interval type,date 1,date 2)

DatePart(): The DatePart() function returns the part of a date such as a day, month and year.

Syntax: DatePart(date_part,input date)

Interval type description:

yyyy:   years

d:        Day

m:      month

w:      Weekday

ww:   Weeks

 q :     quarters

h:       hours

m:     minutes

s:       second

As we have to calculate here difference between two dates we will use DateDiff() function.

Crystal Formula to exclude weekends:

Set Variables for the fields to be used in the calculation.

Define the variable of datatype datetime to be used in the calculation i.e. d1 and d2.

Formula to calculate Days to Ship:

DateTimeVar d1:= {SORDER.ORDDAT};

DateTimeVar d2:={SINVOICE.ACCDAT};

DateDiff(“d”,d1,d2)-DateDiff(“ww”,d1,d2,crSaturday)- DateDiff(“ww”,d1,d2)

Formula to calculate Days Late:

DateTimeVar d1:= {SORDER.SHIDAT};

DateTimeVar d2:={SINVOICE.ACCDAT};

DateDiff(“d”,d1,d2)-DateDiff(“ww”,d1,d2,crSaturday)- DateDiff(“ww”,d1,d2)

Where “d” is no. of days

 “ww” is no. of weeks

  “crSaturday” is used to exclude all the saturday between  dates

   “crSunday” is used to exclude all the sunday between  dates

This blog help us to calculate the number of days between two different dates using date function i.e DateDiff() excluding the weekends.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

Restricting purchase order creation if there is no request/open order

$
0
0

Sometime we may come under a situation where we need to restrict the purchase order if there is no purchase request. This scenario can be handled on the basis of product. We may have a condition where we need to apply this restriction only for some type of product. We can apply this restriction for the whole category of product. This can help users in their business scenario if they wish to setup such restriction on particular products. In the same way we can also apply the restriction i.e. if there is no open order of a particular product, we won’t be able to create its purchase order. But standard allows this restriction only on product not on whole product category.

New Stuff:- Implement SSL Certificates with Sage X3 Syracuse web server

Steps to follow:

To restrict PO if there is no request-

There is a checkbox named “Mandatory PO request” placed in the PURCHASING tab of product master as shown in the below figure. As the field name it-self says that open order for this product is mandatory. Kindly check this checkbox if you want to apply restriction on that particular product.

Navigate: ALL -> COMMON DATA -> PRODUCT

Mandatory request Check Box On product Master

If we want to restrict the whole product category we do have same checkbox in product category window as shown below figure.

Navigate: ALL -> COMMON DATA -> PRODUCT CATEGORY

Mandatory request Check Box On product category

Once we have checked this checkbox on product master and try to create the purchase order with this product, standard displays the below error and do not allow us to create the purchase order.

Error On Restrictions

Hence, when we want to create a purchase orders for such kind of product we will always have to create the purchase request with respect to the restricted product and then convert the purchase request to purchase order.

To restrict PO if there is no open orders-

In the same way we can add restriction i.e. if there is no open order of a particular product, we won’t be able to create its purchase order.

There is a checkbox named “Mandatory open order” placed in the PURCHASING tab of product master as shown in the below figure. As the field name it-self says that open order for this product is mandatory. Kindly check this checkbox if you want to apply restriction on that particular product. We cannot apply this restriction on the whole category of the product.

Navigate: ALL -> COMMON DATA -> PRODUCT

Mandatory Open Order In Product Master

Hence, when we want to create a purchase orders for such kind of product we will always have to create open order with respect to the restricted product and then convert the purchase request to purchase order. In this manner we have multiple conditions in product, product master and product site that can restrict product to create transactions.

In this way by marking up those check boxes we can apply the restriction for products in the process of purchase order creation.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

How to change Enter key functionality

$
0
0

In sage X3, enter key has some default functionality for e.g. in some screens it is used to trigger OK button functionality while in grid level it is used to jump on the next line and so on. So, depending on the requirement and screen type Enter key has different types of functionalities. But with the help of some coding and actions of screens we can actually block the default functionality of Enter key and can replace it with some other functionalities.

Steps to be followed :

So, in sage X3 when Enter key is pressed, X3 assigns the value of GSTARET to the variable RESPONSE. We can check that condition in the “After choice” action depending on the screens and template that we are using. For different screens and templates different actions are used but most notably APRES_CHOI or AP_CHOIX are used. For the below example we can use APRES_CHOI but depending on the template use we have to see which action is exactly used so it might be differ between the two.

So, in the list of actions we have to specify our action in the specific processing file of the script editor:

Fig : Script Editor
Fig : Script Editor

APRES_CHOI action gets called before executing an action (button, menu, left list, etc.)). A status that defines the action is sent by the supervisor in the RESPONSE variable.

It is possible to short-circuit the normal processing of a button, menu, etc.: This action is used to launch its own processing instead of the template processing, then to put RESPONSE back to 0.

The various possible values for the RESPONSE variable are given by global variables and various global variables stored the values of the various actions of button clicks. For example, GSTAENR is used to store Record button action response and so there are different global variables within X3 which are used for all sorts of buttons to hold their values and all.

AP_CHOIX action is called right after “clicking” on a button or a menu.

It is used to execute a processing after having “clicked” on a button or a menu. In effect, for most of the buttons, the processing has no standard processing. The processing needs to be written in this action. The buttons managed by the template are the following:

“END”, “PRINT-OUT”, “LIST”, “ATTACHMENTS”, “COMMENTS”, “PROPERTIES”.

This action takes place before the actions on button ( AVANT_BOUTON, BOUTON and AVANT_XXX, XXX ) where XXX represents the identifier of the predefined button.

This action takes place before the actions on menu (AVANT_MEN, MEN) The RESPONSE variable contains the status of the button and therefore indicates the button activated by the user and global variables used by buttons to hold the values of their status and response.

Fig : Script Editor

Then in the action handler we can stop the execution of standard functionality when we assign the value GSTARET to the variable RESPONSE. We can replace it with new customized functionality which might be useful.

Once we can make sure that Infbox statement is getting executed when we press “Enter” on screen, we can place something actually useful in its place depending on our needs.

With the help of above steps, you can change the functionality of Enter key.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

Non Conformance Management in Sage X3 V12

$
0
0

In Sage X3 V12, a new functionality is added which will help in enhancement in quality standard. In any organization it’s important to maintain Quality control process be it at sales level, manufacturing level or purchasing level.

Quality control is a critical aspect of the development cycle of a product also on handling return products from customers. We can use this new function Non Conformance Management to raise incidents on a transaction level which will provide a never before insight of the exact transaction level details.

There is a new menu added as ‘Non Conformance Management’, under which following three functions has been added.

  • Non-conformance
  • Non-conformance plan
  • Actions

Non-conformance plan: This screen is used to get information and schedule corrective or preventive actions against a reported non-conformity.

Actions: This function to link business processes which is defined as action code with specific types of transactions.

Non-conformance: Quality control is a critical aspect of the development cycle of a product also on handling return products from customers. We can use this new function Non Conformance Management to raise incidents on a transaction level which will provide a never before insight of the exact transaction level details.

A managed reports of incidents of non-conformance raised directly from an associated transaction such as a Purchase receipt, customer returns and production tracking level.

If a user observes that a product does not comply with organization standard user locks incident forms with the details it becomes the source of the information to support investigations into the root cause, or failure.

Below are the details of section which handles different level of information which will be used in resolving the incidents effectively.

Path: All>Non-conformance’s>Non-conformance management

Fig : Non Conformance Management

Home section > The Home section provides key tracking information.

Identification > This is the main section for this function. It is critical to the root cause analysis.

Review > This section to support root cause analysis. The information in this block is critical to the success of incident. It will be used when defining the corrective and preventive actions required to eliminate the root cause or failure.

Rejection > This section is used by the QA manager for this non-conformance incident when this incident is formally rejected. Access to the fields is controlled by the Status field in the Home section.

Close > This section provides closure information for this non-conformance incident.

Reported by > This section provides contact information of reporters who raised the Non-conformance incident.

QA manager has ultimately have full control over Non Conformance incident and the progress of it and

Below are the three actions which can be performed on the Non-conformance incident.

  • Review
  • Plan
  • Reject

Review: Once incident has been raised QA can review all the details and check all information provided in the Non-conformance incident. This is an optional stage QA can directly go for planning.

Plan: Once review is done, on the click of Plan status changes to ‘In planning’. In this stage a better approach/plan to deal with this incident is decided and assigned to respective person of QA department.

Reject: Once proper checking/analysis of the incident is done by the QA department and it is found that there is no defect in the product then QA can reject the Non-conformance incident. The status of this non-conformance will change to status ‘Rejected’. QA must define the reason the Quality control team is rejecting this non-conformance incident.

The Non-conformance function is the central function for managing incidents of a ‘problem’ or ‘defect’ reported. It controls every stage of the ‘corrective and preventive’ process which is need by an organization to maintain its quality standard.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

How to create query tool to get desired output in Sage X3 V12

$
0
0

In Sage X3, we may come across a situation where we need to create  query tool by adding fields  from the table also while adding field we may get the below error as shown in fig 3.

Step1 :- To create query tool Go To -> Set up -> Usage -> Reports -> Query tools.

Create first query code and keep the active check box enable  and then in field tab add Table  and fields as shown in fig1.In Representation block we can select from drop down list here we have selected character and graph.

Fig1: Query Tool screen

Step 2 :- While adding fields. In Graph type (as shown in below fig 2) there should atleast one value type field (here we  have taken  YLINE which is line number)  and one description type field (here we have taken the  field YBP as description  which is BP). We can add multiple fields in value type but we cannot add multiple description type . As shown in Fig 2.

Fig2: Graph Type Query Tool screen

It is not possible to add more than one description type field in Graph Type which is alphanumeric data type . We may come across one error as shown in fig 3 i.e. There already is description type field.

Fig3: Graph type description field

So we need to change this graph type to None by clicking on drop downlist. Therefore, we can now add multiple fields with alphanumeric data type by keeping the graph type to None.(i.e shown in fig 4).We should also add atleast value type field like YOAMT is amount type field having data type is based on currency .We may add many graph type having value also when we add value type the Representation block automatically sets to Default. So the graph is designed on the bases of graph type i.e value .

Fig4: Query tool description error

Step 3:- We can also the graph type we have set the Default Graph—Bars. There are many option in Default graph like line type,Bar type etc.

Fig5: Graph

Now we can click on  VALIDATE  button , once it is validated we can click on  RUN  button to see the desired output. As shown in fig 5. Here graph varies according to the amount and at the bottom we get the description which we have set in graph type. That is why we require we set the graph type  as value, description and none.

Fig6: My Open amount per customer screen

Once we have created the query tool we can now use them to create Landing Pages i.e (Home pages) in Sage X3. For creating home pages we need to create the Menu items .

Go To -> All ->Administration -> Authorising -> Pages -> Menu Items -> Create menu items

Once we have created the menu item now we can add them in Home pages .

Go To -> All -> Administration -> Authorising -> Home Pages

This blog will help to create query tool as well solve the above error as shown on above fig 3.

About Us

Greytrix – a globally recognized and one of the oldest Sage Gold 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 CRMSalesforce.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 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 x3@greytrix.com, We will like to hear from you.

Viewing all 1516 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>