Turnover 2 - Checking out code, editing and compiling using the Programmers Work list

  • Posted on: 13 August 2015
  • By: NickLitten

Checking code out - this is booking the code or reserving it for *you* to work on.

This takes a copy of the high level (UAT, QA, TST or PROD) into your developer library and lets you work on it. You work and compile it in there using the Programmers Worklist (which is Turnover's version of PDM)

Turnover - Software Change Management Tutorial for IBM i, iSeries and AS400

  • Posted on: 13 August 2015
  • By: NickLitten
Turnover for iSeries V100 Main Menu creating projects and tasks

So, I've been working on a freelance gig for some time now and the client uses Turnover (by Unicom) to manage their software development on their development system - an IBM Power System running the IBM i operating system. The Project involved writing some web-services to provide a web based interface between an old #ERP system and a new PHP enhanced warehousing system. There is a small team of 4 programmers on the project but software change management is just as important with a small team as it is with a huge global one...

I was asked to create instructions for team members to easily use the basic process for:

Part 1 - Using Turnover Projects and Tasks

Part 2 - Checking out code, editing and compiling using the Programmers Work list

Part 3 - Promoting code using Turnover Forms

System21 - Phone numbers for any customers on sales orders

  • Posted on: 11 August 2015
  • By: NickLitten
SQL Inner Join on AS400

During a meeting this morning, I was asked to provide a list of all Customer phone numbers for any System21 Customers that have ever been used on a Sales Order.

Perhaps this sounds like a complicated request but... have no fear SQL is here!!! In reality, its a very simple thing to find and takes just a few seconds using a SQL INNER JOIN.

How can we use SQL to find this data?

In this example, I'm working on a data cleanse to make sure that the phone numbers are properly formatted before sending them to FEDEX as part of the shipment information. We know that some of our data is badly formatted so lets quickly see how many are good, bad or ugly. Using SQL we can see all CUSTOMER entries from the Customer Master file (SLP05) which have been referenced on the Sales Order Header file (OEP40).

The SQL command goes like this:


SELECT cusn05, dseq05, cnam05, phon05 

FROM slp05                            

WHERE EXISTS                          

(SELECT *                             

FROM oep40                            

WHERE slp05.cusn05 = oep40.cusn40)


How to get T-Mobile 4GLTE working with ATT Samsung Note Edge

  • Posted on: 4 July 2015
  • By: NickLitten
samsung note edge sm-n915a

So, I've been using my trusty Samsung S5 for the last 18 months and have generally been delighted with it. But, I've recently found it a little slow when playing #Ingress and decided it's time to upgrade to something just marginally quicker ahnd (most importantly) with a bigger screen for my sausage like fingers. </drumroll>Enter the mighty Samsung Note Edge</drumroll>

I snapped up a half price ATT Note Edge (model sm-n915a) on Craigslist, and I can confirm that it works very nicely on T-MOBILE. The only irritation I have, is the stock AT&T Android ROM and I would prefer to install a clean basic Android. But cant find a way yet!!! Apart from that minor thing, the phone works great and 4GLTE connectoin is steady and reliable.

To make the changes from ATT to the TMOBILE servers you just need to make a simple change to the APN connection info.

You just goto SETTINGS ! MOBILE NETWORKS ! ACCESS POINTS and delete any old ATT ones and create one called T-Mobile like this:

Webservices and RPGLE - Converting Character to Numeric

  • Posted on: 17 June 2015
  • By: NickLitten
Srdhar Maheswar likes to type

I'm in the final stages of a fun project writing web-services to interface INFOR System21 (on an IBM i aka AS400) with ACSIS Visitrack (on Windows Server), we are consuming (receiving) and serving (sending) all data in a standard alphameric layout But... as any RPG programmer will know... the conversion between alpha to numeric is easy to overlook and can quickly bite you in the arse.

This morning, I had a long discussion with one of the technical analysts talking about the differences in data layout between the "web" world and the "IBM i" world. Out there in website land data flows around in nice alphabetical chunks. I mean, my name is simply "Nick" and the number sixty seven is simply "67" and two and a half is simply "2.5". But in the database world character can be fixed length "Nick      " or varying length "Nick%" and numerics are commonly stored as packed decimal data so 67 could be stored in a field that is 15,5p so would look like "000000000000067000".  It sounds complicated but if we keep our code clean its a simple process to switch between these formats. Lord Sridhar Maheswar - I promised to write a blog about this to make it clear... here it is  :)

Drums The Word - Website Version Two Point Oh!

  • Posted on: 14 June 2015
  • By: NickLitten
Robert Litten - rob the drummer
Over at DRUMS THE WORD a new kid is on the block; the new kid is the old kid, but with a new coat on.
The King is dead so long live the King!
Rob and I have been working together over the last six months, between him in Hampshire (England) and me in California (America) and now South Carolina... we've taken his seven year old Drupal website and been through a full Drupal upgrade, but after lots of review and ecommerce tests Rob decided it just wasn't for him. His artistic flair took my logical programmer brain and gave it a well deserved right hook.... So, other CMS were reviewed and finally the winner was WordPress and Woocomerce. The final result is pretty damn slick and I'm super proud of the website collaboration that Rob and I have created. Many bottles of wine have been consumed, many Skype conversations have (literally) spent all day in design, testing and website revamps to come up with a rather cool new website.
Drums the Word V2.0 is born

Website Cleanup - Delete Drupal Users who have no ubercart orders

  • Posted on: 11 June 2015
  • By: NickLitten
sql trips for drupal

Migrating Cousin Rob's website from his 6 year old Drupal6 website to a new (hopefully sexier) Wordpress4 website has meant a lot fo data cleansing before golive. Before we get any comments about Drupal vs. Wordpress, or a CMS flamewar, the new website was chosen to be on Wordpress because of WOOCOMMERCE and a neat Wordpress Theme that had already been selected.

So, I'm going to leave a little blog about any particular problems I found, or cool tricks I found, during data migration.

The old drupal website had over 48,000 users defined... many of them spam... many of them dead... many redundant or no longer needed.

So how do we cleanup users?

Using the PHP panel I used this SQL script to select the users that have been registered but who have never ordered anything using Drupal6 Ubercart:

select count(*) from users where mail not in (select primary_email from uc_orders) and uid <> '0' and mail NOT LIKE "" and mail NOT LIKE "%projex%"

note: do not touch uid=0 because this is the ANONYMOUS user and do not touch any * or * users

this will give you a count value showing how many users are selected and if your ready to delete then just use: