Change Case in RPG Changing SENTENCE CASE didnt used to be something that the grey haired AS400 and iSERIES programmers ever worried about. Back in the pre-internet days, most data entry was in UPPERCASE, plugged into giant green on black terminals by people wearing 1970’s flares and thick glass spectacles. But now it’s a new

Read More

I’m not sure if upgrading is the right word, perhaps switching or converting or even “just learning a new technique” would be better? AS400 Modernization Modernizing legacy applications written on legacy computers like the AS400, or the older iSeries machines can seem like a daunting task Either way, I didnt write this document but still

Read More

How does SQLRPGLE USRPRF(OWNER) work with RPGLE Programs? If you compile IBM i programs using USRPRF(*OWNER) then they will adopt the security setting for the program owner at runtime. #sometimes If you are calling an IBM i SQL program, that has been compiled with USRPRF(*OWNER) you may find that it does NOT adopt the security

Read More

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

Read More

RUNSQLSTM – Run SQL Statement When you do the RUNSQLSTM to create your SQL Objects – Do not qualify library names but use the Turnover variables just like you would define PDM variables: Turnover uses the DFTRDBCOL column “&LI” to populate the other *library* variables. Most shops I’ve been to use QSQLSRC to store the

Read More

SQL Tables with Indexes and Views are faster than DDS Phsyicals and Logicals. #HONEST 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

Read More

Over the last year I’ve been using SQL more and more for all my RPG file access needs. The more I use it the more I like it and I’m building my own little set of reusable components and settled in with some naming standard that work for me. I thought I would enter them

Read More

Read lots of rows (records) into a data structure (array) Us IBM i blokes love reading things from files. Hashtag internet fact. But sometimes we just want to read a certain number of records, or rows in SQL speak. For example, when building a page by page subfile with say 15 lines per page, we

Read More

Migrating Cousin Rob’s www.DRUMSTHEWORD.com website from his 6 year old Drupal6 website to a new (hopefully sexier) WordPress4 website has meant a lot of 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

Read More

SQLRPGLE and COMMIT(*NONE) Moving to SQL (from native file IO) has been a major game changer in the RPG programming world. SQLRPGLE can be confusing to learn, horrible to use if it needs lots of compile time parameters but using Exec SQL SET OPTION something answers my prayers. I first played with SQL back the golden

Read More

In my ongoing mission to use SQL rather than the older style direct file IO (which the IBM-i world knows as DDS) – I’ve found lots of improvements and things that I really like about SQL in general. But, one of the confusions for me is remembering the SQL’style of describing its functions. In DDS

Read More

Is SQL faster than CPYF Native IO? For the longest time I’ve heard about the performance difference between a true SQL INDEX and a DDS ACCESS PATH generated index on the IBM i operating system (or ‘OS400’ which was a ten year old, but very commonly used version of the the same OS). But is

Read More