Ir al contenido principal

Adding Controls to Fields in Sage Enterprise Management (Sage X3)

Sage Enterprise Management (Sage X3) is packed with things you don’t know it can do; one of the things that users often don’t take advantage of is the capacity to modify the software without knowing how to code.

Just to name a few:

Another feature of Sage Enterprise Management that often overlooked is the ability to add controls to a given field in the system without the need to know the 4GL language, which is Sage Enterprise Management’s proprietary coding language.

Here's how to add controls to fields in Sage Enterprise Management:

Under the setup module, you can find a function called control tables.

adding controls to fields in Sage Enterprise Management (Sage X3)

Developers eventually realized that they were constantly adding custom logic to standard or custom fields using the control action, so they decided to offer a function where a user could simply add controls to a field through an easy-to-use interface.

You can add any control to any field on a screen. Be aware, however, that sometimes the standard logic will take over after your control is evaluated and it might be overriding your configuration. This particularly holds true for controls you would add to a standard field.

For example: you might want to add a control on the currency field on the sales order screen.
Sage Enterprise Management is a true multi-currency software that comes configured with most currencies out of the box. Without deleting currencies one by one, you can still control which values can be used within a particular currency field.

In our scenario, because you do not deal with Canadian dollars or Hong Kong dollars, you can restrict the values allowed in a currency field by selecting the below information:

adding controls to fields in Sage Enterprise Management (Sage X3)

A few things to note on this screen:



You could just have as easily decided to use the mandatory values if my scenario was to only be able to choose CAD and HKD as the currencies available.

Using the range of values option, if you create a numeric field where the field is allowing to enter a 4-digit number, you can also decide to let the user only enter a range from 1 to 5150 instead of allowing all numbers from 1 to 9999.

What’s left is assigning the control code we just created to the field want that control to happen.
This will require that you know which screen and field you want to assign this control to. (As a reminder, you can figure out the screen code and the name of the field by placing your cursor in the field and holding down ESC while pressing F6.)

Here is the screenshot of that shortcut on the currency field of the sales order.

adding controls to fields in Sage Enterprise Management (Sage X3)

Remember to always use the field code as highlighted and the screen code in the square brackets, not the one starting with a W.

To make the association between the control that you just created and the field on the screen, there’s a dedicated function called control assignment:

adding controls to fields in Sage Enterprise Management (Sage X3)

You can then plug in the values we wrote down when we viewed the technical data of the field as follows:

adding controls to fields in Sage Enterprise Management (Sage X3)

Because the sales order is an entry transaction driven screen, after you save the above, you’ll have to validate the entry transactions you use in your system.

Let’s assume you’re only using the ALL entry transaction. You need to go to Setup > Sales > Entry transactions > Orders and then validate the ALL entry transaction.

Now, if you go to the sales order and enter the CAD currency, you should get a blocking control that prevents you from selecting it and giving you an error message when you try.

adding controls to fields in Sage Enterprise Management (Sage X3)

These are only a few examples of how you can use this functionality to add controls to your fields in Sage Enterprise Management.

Entradas populares de este blog

Valores de fstat

Fstat fstat  is a numeric status that is returned upon execution of a database operation, a sequential file operation, or a lock instruction. Syntax fstat Examples # MYTABLE is a table with a key called KEY1, that has a unique component called KEYVAL # Create a record in the table MYTABLE with they key value 1 if it doesn't exist Local File MYTABLE [MYT] Read [MYT]KEY1=1 If fstat [MYT]KEYVAL=1 : Write [MYT] If fstat MSG="The key was created in the mean time" Else MSG="Key created" Endif Else MSG="Key already exists" Endif Details fstat  is always set to '0' if the operation is successfully completed, and has a non-null value if there is an error: In a sequential read ( Getseq  and  Rdseq ),  fstat  is set to '1' at the end of the file. On  Lock ,  fstat  is set to '1' if the lock could not be performed. For a database operation ( Read ,  Look ,  Readlock ,  For ,  Write ,  ...

How to create an additional line text (ACLOB) on purchase orders for internal notes

Sin conexión Kyle Klinger hace 1 día Origen:  https://www.sagecity.com/support_communities/sage_erp_x3/f/sage-x3-general-discussion-forum/143870/how-to-create-an-additional-line-text-aclob-on-purchase-orders-for-internal-notes I was trying to add internal notes to the purchase orders at a line level and was thought I would share a how to.  If you have a better way, please share.     Add column to PORDERQ; YLINTEX2, Type TXC   Save and validate table This is where the ID of the text will be stored at the record level, i.e. POQ~00000007, this is similar to field LINTEX  On screen POH2 Add column YLINTEX2, to Block 1. Most likely you will want this field to be hidden. On column NBLIG add a button action ACLOB2, description "Text internal" This button action will require an action parameter "CODE2", it will not be available until after save. Set the parameter "CODE2" to [M:POH2]YLINTEX2(nolign-2), the field that was just added....

3 ways to send a mail from code in Sage X3, with more attachments too

Origen Fuente:  https://en.sagedev.it/sagex3/send-mail-from-code-with-attachments-sage-x3/ Autor:  https://en.sagedev.it/category/sagex3/ In this post I’ll show you how to send a mail from adonix code in Sage X3. The points we will face are: 1) Meladx/Send introduction 2) Sending  through  meladx (the best way for me: at the end with just a single code line you send a mail!) 3) Sending  through  Workflow 4) Sending  through  ENVOI_MAIL(…) From AWRKMEL Sending mail from code in Sage X3: Send vs meladx Sage X3 has two native ways for sending mails. The first way is  meladx  executable file, that you can find in  runtime\bin  directory. The seconde one is Send instruction, that was used to send mail through an application of the client station (for more information on “Send GSERMES”  go here ). The Meladx executable Meladx send messages through SMTP/POP3 protocols by means of the mail  ...