Blogs

Speeding up SQLRPGLE using indexes instead of logicals

  • Posted on: 31 August 2015
  • By: NickLitten
never enough time to program in RPG

SQL is a wonderful beast for quickly getting data from huge tables (aka Files). The trouble with SQL is that it's so very simple to use; programmers get lazy and sometimes forget to do the analysis to make it as simple and #FAST as possible!

It's easy to overlook performance tuning because SQL goes out there and uses any existing access paths for the data it wants, and if it cant find one then it creates a temporary path to get that data. It's like magic. This is great but that split second of temporary path creation can add up when it's done over and over again.

How do we fine tune our SQLRPGLE programs?

We can use Index Advisor in System i Navigator to look for naughty indexes and take it's recommendations for action. But this needs IBM I Access to be installed. So, what if we don't have access to any tools to help us out?

I was at a client site this morning and they had a SQLRPGLE webservice running and complained about the run time. This is a fairly complex SQLRPGLE program that is getting a selection of data from a long list of tables and they were experiencing average response times between 5-9 seconds. But somtimes much much longer... anything over a couple of seconds is way to long in the webservice world.

Turnover 3 - Promoting code using Turnover Forms

  • Posted on: 13 August 2015
  • By: NickLitten

So, you have completed your programming! You have tested the code in your library and it's ready to pass on to the QA testing team or the User Acceptance Test team. How are we going to do that in Turnover?

The process is called promotion and you do it using a thing called a Turnover Form.

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

  • Posted on: 13 August 2015
  • By: NickLitten
how to use iseries turn over for rpg programs

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 1 - Using iSeries Projects and Tasks

  • Posted on: 13 August 2015
  • By: NickLitten
turnover for iseries consultant

Every progam that you plan to work on much be on a Programmers worklist which will be assigned to a Project/Task (or a Project/Task/Subtask) - so just think of the project as a way of grouping similar programs, or working tasks together:

Projects have Tasks.

Tasks have subtasks.

 

I hope this video helps - after watching you can goto:

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:

 

How to install Softlanding TURNOVER V100 on IBM i, iSeries and AS400 system

  • Posted on: 16 July 2015
  • By: NickLitten
ibm i power system

Install Turnover V100 Software Change Management Application

Grab the latest Turnover ZIP file from your supplied IBM i CD or from http://support.softlanding.com  

This zip file contains the IBM i software for TURNOVER(r) for iSeries v100.

Lets do this!

Flippety FloppetyFollow these steps to load the T100INST installation library.  Each step is explained in detail in the following paragraphs.  Be sure you are signed on as QSECOFR or the equivalent and have *ALLOBJ authority

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
 

Pages