LinkedIn Twitter
Share some Innovation
"Innovative Thinking" A Newsletter from Innovative IT Consulting In This Issue

October 2013

News in the marketplace from SAP reinforces good old common sense when it comes to ERP. Our main article is a short one this month, leaving room for a longer tip from our resident eXpert John Pellegrino who offers his guidance regarding Adding User Defined Fields to "1-to-Many" Screens.

By Paul Sita, Principal, Innovative IT Consulting, LLC. Paul can be reached at 631-549-1685 or

SAP Pulls Back from BBD Investment. SAP has announced that it is pulling back on its large investment in Business-by Design, or BBD. BBD is an all new ERP system designed from the ground up around the cloud model, and was designed to fill the mid-range gap between SAP's low end Business One Solution, and its enterprise product R3/All-in-one.

Why is this significant? First because it demonstrates that SAAS adoption for ERP is happening SLOWLY, VERY SLOWLY . Secondly, despite investing BILLIONS (with a B) in BBD, SAP has been unable to convince more than a handful of customers to adopt this new product. SAP fired its former CEO Leo Apotheker because of delays in bringing BBD to market. (Apotheker went on to profit handsomely from joining HP, where he promptly proceeded to help the company lose more than half its market value!

Common Sense Prevails. Be cautious with your ERP investments. Adopt solutions that are proven in your industry and being used by other companies in your segment. For those of us involved with X3, including customers and prospects, this reinforces that choice, since X3 is the leading mid-market ERP solution, plain and simple!

By John Pellegrino, Principal and Application Consultant, Innovative IT Consulting. John can be reached at 631-943-1469 or

Graduating from first grade. For anyone familiar with the X3 tool set adding a user defined field (UDF) is fairly straightforward when the screen handles one piece of master data or one transaction. You simply add it to the appropriate table and screen, validate the necessary objects, etc. and you have a field that you can enter data into and save in the database. The purpose of this tip is to show you how to do this for a screen that maintains data in a “1-to-many” relationship – in my example, the ship-to tab on the customer screen.

First, a couple of disclaimers. One, this example was done on a system with version 6 of X3, but works the same in version 5. With the technology changes coming in version 7 this may be different. Two, as some of these steps require changes to standard code you should do the necessary things to ensure that these changes do not get changed with any patching, including comments in the code.

Let's get started. Some things stay the same. Add the field to the appropriate table and validate it. In my example I added a 4 character alpha-numeric field called ZUDF to the BPDLVCUST (Ship-to Customer) table, as shown below.

Next, you have to add it to the screen, in my case BPC4, but with a twist. You add it to the first block as a “hidden” field. This is the block that has the “codes” showing and where you select which ship-to you are looking at. Use the same field name, ZUDF in my example. Also, under a different name (Sage puts an “X” in front of the field by convention), add it as “entered” to the screen where you want to show it. I called mine XZUDF. On this second field, add an “SPE” action of type “After change”. All of this is shown on the screen below. When you validate the screen it will create a section in the SPE program for the “after change” action on the field.

Some things are needed beyond the norm. You have to insert code to save any values that someone enters in the new HIDDEN field. This is done within the newly created section in the SPE program. Below is my code added to SPEBPC.

VALEUR is X3 for what is entered in the field. XNUMLIG is the line number that represents the selected “code” in the in the 1-to-many screen.

Variable Char VALEUR()
[M]ZUDF([M]XNUMLIG)=VALEUR # Add this line

All of this will allow you to enter and store the data in the correct record. Now, a couple of steps to display this field as you are selecting a given code. I use the find capability within the process editor to determine where this was done for a standard field then add my code just above it (or below it). In my example I looked for the active flag (ENAFLG).

In the “SUB” program, SUBBPC for me, locate the line with the appropriate “CHARGE” paragraph and add your line, as below. Set the screen field equal to the hidden field. NOL represents the line number of the code selected in the 1-to-many screen.

[M]XZUDF = [M]ZUDF(NOL)# Add this line

For the initial display when you go to that tab, which will always display data for the first code in the list (NOL=0) find the code in the “SUB---A” program, SUBBPCA for me and add your line, as below. Once again, set the screen field equal to the hidden field.

[M]XZUDF = [M]ZUDF(0)# Add this line

Voila! It is done! For those of you who need help, or have suggestions for other topics, please call or email me. Till next month!

"A good position to adopt when evaluating ERP solutions."


_ _ _ _ _ _ _ _

Answer to last month's word scramble.

"Curiously enough, one of the more useful kind of pricing records in X3." (INACTIVE)

Next month we return to more timely X3 related news, tips and topics. Don't miss your opportunity to stay on top of critical X3 topics. if you have suggestions for How-To topics and other X3 related tips, let us know. Please keep checking the INNOVATIVE WEB SITE for useful tips, and our newsletter archives.

ERP Buyer Beware. Caution is Prudent!

X3 eXpert's Corner. Adding User Defined Fields to "1-to-Many" Screens

Word scramble.


Innovative Ideas
in your Inbox

If you would like to receive Innovative Ideas as an Email Newsletter, please sign up here: