How to Read JSON Using JSON Parsing 4GL Functions in Sage X3

Since the 2023R2 release, Sage X3 has introduced JSON parsing 4GL functions, enabling developers to efficiently fetch and process data from JSON-formatted strings. This blog explores the key JSON parsing functions—ParseInstance, Contains$, and Select$—and provides practical examples and best practices for their use. Introduction to JSON Parsing in Sage X3 JSON (JavaScript Object Notation) is… Read More »

Implementing User-Specific Access Control in Sage X3 for the Receipt Line Inquiry Screen

In Sage X3, the Receipt Line Inquiry screen allows users to view and manage detailed information about receipt transactions, including inventory receipts, supplier deliveries, and other related data. By default, all users have access to view all records in this screen. However, due to a client requirement, we need to restrict access such that: To… Read More »

How to Change Screen Title Using Code in Sage X3

In Sage X3 development, there are scenarios where developers need to change the screen title dynamically—either based on certain conditions or to avoid hardcoding changes through the development window. Fortunately, Sage X3 provides a way to do this through the Chgtfd instruction. In this blog, we’ll explore how to change a screen title using the… Read More »

Validating PO Fields Based on PO Type Selection in Supplier BP Invoices

In Sage X3, a client requested a customization to link PO entries within the Supplier BP Invoice screen. The goal was to improve traceability and validation between purchase orders and supplier invoices, ensuring better data control and consistency. New Stuff : Scale Without Surprises: Rethink Your Supply Chain ERP Fig1. Supplier BP invoice screen We… Read More »

Adjusting the number of lines to display in the Enterprise Planning screen

In Sage X3, there is an Enterprise Planning screen that provides a view of work in progress events based on actual demand. Events can include internal and external orders such as customer orders, supplier orders, subcontract orders, transfer orders, work orders, requests, transfers, material requirements and project demand. It operates by temporarily extracting data from… Read More »

How to Convert a String (Char) to Integer or Decimal in Sage X3

In Sage X3, converting string data into numeric values is a common requirement—especially when working with imported data, user inputs, or web services. The val() function makes this conversion simple and efficient. In this blog post, we’ll walk through how to use the val() function, handle invalid inputs, and perform basic arithmetic operations with it.… Read More »

Custom Field Entry Without Sales Invoice Access in Sage X3.

In Sage X3, we recently had a requirement to add a custom field on the Sales Invoice screen, which is intended to be filled only by a specific department. However, in certain scenarios, users from this department do not have access to the Sales Invoice screen. To address this, we created a custom screen specifically… Read More »