Thursday, 27 August 2015

EnterpriseOne Features–change confirmation


This is where all of the goodies are, the new stuff is put in here and is easy to activate with a tools release.



What are we talking about, well the list of features is available here, but this is going to increase:  These can be found in UDC H95|TS.

Good that you know that this is a UDC, so if you cannot see a feature in a particular environment, might be UDC related.  The functionality will be encompassed in a tools release though.


Lets take type 5 Change confirmation, what is this and what does it do?


This enables you to give a user a kind of “warning” on particular actions of user definable forms and / or applications.


If you select one of the shipped features, you can see that this has all of the OK, SELECT and FIND features enabled.  You can then choose what user / app / form combination the feature will be enabled on:

Use form –> feature Auth to determine who gets the feature. The tables that store this data is F985973 (features) and F958974 (feature authorisations).  If you want to test these features, these tables are mapped to System – 910 by default.  You probably want to consider remapping these to another datasource for non-production environments so that you can do your testing.

But, back to the feature and what it actually does.

It has the power to determine if you’ve changed something on the form (or an inline event / some ER code has changed that on the form), and then prompt you to reconsider your actions if you are going to lose your changes.  So if I configure the app to activate change confirmation on P01012 (Address book), then if you make a change to an item on the form and try to hit close (of what you’ve defined as an action), the web engine will prompt you!


That is the view from edge!  How nice is that.  Often close to too close to okay and users are losing data.

This is a nice feature – get enabling!

windows 10–wow

I appreciate that I’m a bit of a luddite and have only just installed windows 10 on my MBP.  Wait, you don’t know what MBP stands for, this TLA is foreign…  Hmm, seems that you were not awake for about 10 nights installing windows 8.1 on your Mac Book Pro like me, and going through about 1000 pages trying to work out what was wrong. 

But, I wrestled 8.1 onto a separate partition, so I can dual boot the MBP – this is really nice.  But here goes, I’m going to be nice to windows.  The upgrade to windows 10 was seamless and awesome.  I iso put on a USB, mounted through 8.1 and then an inline upgrade.  I cannot believe that I’m able to log in.  All my old drivers are working, even my two thunderbolt (proprietary rubbish [but 2880x1800 – take that] monitors are working.  wireless working, EVERYTHING working.

My faithful Mac survives another attempt at it’s life by becoming a windows 10 machine.  I do like my mac, SSD, 16GB RAM, 1 sockey with 4 cores and 2.6GHz is not a powerhouse anymore… I also migrated my MAC based virtuals from vmware fusion to oracle VM virtual box.  this was very easy too, just take the hard drives and create new machines in virtual box.  The only trick thing was changing the hard drive type from SCSI to IDE for virtual box – no re-installs – no nothing.  Very cool how the VHD’s are portable across hypervisors.

Anyway, I promise to blog on JDE soon, but windows 10 is my savior – I’m sick of tiles and their stooped 8.1 interface.  Reminds me of Vista – a rubbish release.

Wednesday, 26 August 2015

I love excel, period

This is not specifically JD Edwards related, just sharing some feelings I have for excel.

I know that I’ve said it before, and I’ll say it again – excel is amazing.  The fact that I can program makes a big difference, because if I cannot find a function (or articulate what I want to do in a google search), then I can write code to run the command.  This is a short homage to the countifs function, to which I was going to solve with VBA code.

Countifs allows you to run multiple countif’s (hence the name) that aggregate the criteria.  This is great for summarising data, so if you had lines of people names, dates and hours  booked, you can count entries based upon name and date and get a great summary.


So if I wanted a consolidated list by person, who entered time for a date, I can do +countifs(RANGE, CRITERIA, RANGE2, CRITERIA2)  where RANGE 1 is dates and criteria is the date on the line I’m calculating and range 2 is person and criteria is the name. 

Saturday, 22 August 2015

Firewall problems, enablepredefinedports to the rescue!




** This needs to be set to '1' for predefined ports to work otherwise the port is completely arbitrary. So, if not set, the port negotiation is fairly random.

So you might see the following ports opened to a JAS server (for example).  The only reason that JAS is going to talk with ENT is jdenet_k – unless there is a database on the ent server, which is not the case here.





Predefined ports must be opened to allow communication between servers. The predefined port range is determined by these two INI parameters located in:

The range starts at the port number specified by serviceNameListen, and ends at port resulting from the calculation of (serviceNameListen + maxNetProcesses -1).  For example, 6019 (serviceNameListen) + 4 (maxNetProcesses) - 1 => the range of ports used is 6019 to 6022. Therefore these range must be opened in firewall.

That is nice, you can completely control the ports that are going to be opened between the servers.

Monday, 17 August 2015

test your AIS server, firewall or anything… no credentials needed

Want to test that your AIS server is talking?  Just use a link like the below:


{"defaultEnvironment":"JPY910","defaultRole":"*ALL","displayEnvironment":false,"displayRole":false,"displayJasServer":false,"defaultJasServer":"","ssoAllowed":false,"aisVersion":"EnterpriseOne  ","capabilityList":[{"name":"grid","shortDescription":"Grid Actions","longDescription":"Ability to update, insert and delete grid records.","asOfRelease":""},{"name":"editable","shortDescription":"Enabled/Disabled","longDescription":"Ability to indicate if form field or grid cell is editable (enabled) or not (disabled).","asOfRelease":""},{"name":"log","shortDescription":"Logging","longDescription":"Endpoint exposed for logging to AIS server log from client","asOfRelease":""},{"name":"processingOption","shortDescription":"Processing Options","longDescription":"Processing Option Service exposed for fetching PO values from E1","asOfRelease":""},{"name":"ignoreFDAFindOnEntry","shortDescription":"Ignore FDA Find On Entry","longDescription":"Ability to use the IgnoreFDAFindOnEntry flag","asOfRelease":""}],"requiredCapabilityMissing":false}

Thursday, 13 August 2015

JDE batch performance analysis from EXCEL

What do you mean from excel?  Let’s be honest, I could probably write an ERP in excel, it is THAT good.  I know that every company I work with would probably topple over if they could not use excel anymore.  How many people have made the leap to google docs, but cannot let go of excel because of all the proprietary code, connections and calculations are held in excel! 

Anyway, I love it and want to show you something that I’ve done with excel, I think that I’ve shown this before, but I just did a cool enhancement!

So, I’ve been working with batch performance for a client, and it’s hard work to work out what is slow and what is not, what are the trends and where should I start – or is it?  Not really.  I’ve blogged previously about advanced queries over F986114 which can do comparisons over periods of time, compare month end to year end, compare day to day and week to week.  That is cool.  I also have queries that can go over F986114 and look for jobs that took longer than 4 minutes for example.  I use a ODBC connection to do this in a speadsheet, it gives me a list of jobs that took a while to process.  I sort this by time taken and then then a distinct list of the UBE|VERSION combo:


The list is loaded with a simple button press.


Button 1.  I can then choose a report|version combo and click “graph runtime history”, this allows me to see whether the averages were an aberration and allows me to see trend data over time:


What I can then do also, is I have a formula that uses the parameterised URL functionality in JDE, so I don’t have to go search through heaps of “job execution details”, I go to the page that I want:


Which takes you to:


Nice! As long as you are logged in once, you’ll be able to get there.

The only parameters you need are the logic server name and the job number, which is in my list:


So the formula for excel to build the launcher looks like the above.  Remember that the parameterised URL had a version for the P986114A – which was wrong and did not work I had to change that:


So you’ve just built a super powerful spreadsheet for historical UBE performance analysis in JDE!

You could do a poor mans/womens version by taking a dump of the F986114 (no ODBC) and doing similar things.

Tuesday, 4 August 2015

Testing the source code plugin–new machine

I’ve just converted my mac to a windoze machine and am testing out a new installation of the source code plugin.

hello this is source;
and this is not;
if then else
woot it is working.

JD Edwards ERP usage statistics via google analytics–better compare

I’ve blogged about the plugin we’ve written for JD Edwards to expose the usage and performance data of your ERP to google analytics.  This gives you unprecedented power in working out how your ERP is being used, what your users are doing and how you should focus your enhancements.

Google analytics has recently enhanced the dash boarding capability to allow you to compare different periods in time, so you are able to compare this month to last month (for example) and determine performance and usage differences.


It’s really easy to see a comparison, all you do is login to google analytics and choose the period for reporting:


Click the compare to and choose your range.

Then you get two lines for all of the statistics – AWESOME!

We can compare a users productivity, week on week / day on day


Or the entire ERP’s usage


A little hint is to make the compare date range start with the same day of the week, because the ERP usage drops significantly on the weekends.

So now we can show you holistically the results of a change to your infrastructure and what that did to aggregated system performance and response times.