|
Programming -
Dev Tools
|
|
Written by Databorough Services
|
|
Friday, 03 February 2012 00:00 |
|
By bringing practical tools and advanced techniques to how you test, the costs and risks associated with testing can be reduced dramatically.
Written by Databorough Services
The following article is an extract from the white paper "A Visual Guide to Cost-Effective Testing on the iSeries," available for download free from the MC White Paper Center.
Managers and developers working with legacy RPG and COBOL applications face serious testing challenges. Few, if any, of these applications have a complete set of specifications of how the applications should perform, and even fewer have a complete library of test cases. Results from over 12,000 software projects show that detecting and removing defects is the single most costly task in software development.
|
|
Last Updated on Wednesday, 01 February 2012 15:27 |
|
Read more...
|
|
Programming -
RPG
|
|
Written by Joe Pluta
|
|
Wednesday, 01 February 2012 00:00 |
|
One of the hard parts of any server-based architecture is knowing when your server has been canceled; this article shows you how to address that.
Written by Joe Pluta
I saw an email message in the midrange.com mailing lists the other day about the old standby for termination, the scope message. Scope messages are cool; using the QMHSNDSM API, you can identify a program to call when the job or call stack entry ends, and I'll address that another time. But I really like the CEERTX API. CEERTX is the ILE version of the concept and allows you to identify a procedure to be called if your call stack entry is terminated.
|
|
Last Updated on Monday, 30 January 2012 11:23 |
|
Read more...
|
|
Programming -
SQL
|
|
Written by Sam Lennon
|
|
Wednesday, 01 February 2012 00:00 |
|
Not familiar with SQL CREATE TABLE syntax? No problem! There's a really easy way to create SQL DDL (Data Definition Language) statements.
Written by Sam Lennon
IBM i developers are becoming more comfortable exploiting the power of SQL to retrieve and manipulate data. We regularly use the workhorse SELECT, UPDATE, and DELETE statements and can bang them out quickly with minimal syntax errors. Defining tables, indexes, constraints, and the like occurs less frequently, and consequently we are much less accomplished in the syntax.
|
|
Last Updated on Wednesday, 01 February 2012 00:00 |
|
Read more...
|
|
Programming -
CL
|
|
Written by Bruce Vining
|
|
Friday, 27 January 2012 00:00 |
|
Use a message subfile to return error information to the user.
Written by Bruce Vining
Anyone who has been following this column for a while probably knows that I believe in using messages whenever possible. Messages are a wonderful way of keeping textual information out of my code, thereby allowing me to reword some text without having to change an application program, a command definition, and so on. One place where I find that many developers (CL and otherwise) are underutilizing messages is in the area of display file error-reporting.
|
|
Last Updated on Friday, 27 January 2012 00:00 |
|
Read more...
|
|
Programming -
SQL
|
|
Written by Thomas Snyder
|
|
Wednesday, 18 January 2012 00:00 |
|
Create useful date-centric service programs with embedded SQL.
Written by Tom Snyder
Welcome to 2012! All of our year-end processes are complete, and it's the beginning of a new year with a clean slate. 2011 was a very clean year date-wise because it ended on a Saturday. Typically, there is always special handling with the last week of the year for one reason or the other, which makes working with data a prevalent topic. For this article, I wanted to share a few handy little SQL functions that I've put into service programs to extend the existing RPG date resources. And this is all done with very minimal code in a reliable way that is highly reusable.
|
|
Last Updated on Wednesday, 18 January 2012 00:00 |
|
Read more...
|
|
Programming -
APIs
|
|
Written by Bruce Vining
|
|
Wednesday, 18 January 2012 00:00 |
|
The Rename Object API offers flexibility above and beyond just renaming.
Written by Bruce Vining
In last month's article, Deleting Objects, we reviewed a rather general-purpose API: Delete Object (QLIDLTO). This month, we'll look at another general purpose API: the Rename Object (QLIRNMO) API, which is documented here and has been available since V2R3. The Rename Object API, as you might expect, allows you to rename an object. Not as obvious, the QLIRNMO API also allows you to move an object. As with QLIDLTO, using the Rename Object API allows you to directly operate on an object without having to run a CL command from your RPG application program under the covers.
|
|
Last Updated on Wednesday, 18 January 2012 00:00 |
|
Read more...
|
|
Programming -
SQL
|
|
Written by Michael Sansoterra
|
|
Wednesday, 11 January 2012 00:00 |
|
Avoid headaches and wasted time by learning the major differences between DB2 for i and T-SQL dialects.
Written by Michael Sansoterra
It's apparent by emails I've received that some SQL Server developers are having an opportunity to delve into the DB2 for i realm. Even though SQL would ideally be a platform-neutral, standards-based language, the truth is there are many SQL syntax and feature differences among the major database providers.
|
|
Last Updated on Monday, 09 January 2012 13:09 |
|
Read more...
|
|
Programming -
CL
|
|
Written by Joe Pluta
|
|
Wednesday, 04 January 2012 00:00 |
|
Extracting a bit can be done a number of ways, but the code in this article uses only the basic arithmetic capabilities of CL.
Written by Joe Pluta
This article is sort of the antithesis of what we normally do in RPG Developer. Sometimes, you need to do things in CL without calling an RPG program. The situation is rare, but it happens. One case may be where you have to provide the source to the program in question but you can't count on the RPG compiler being there. And no matter how much IBM has improved the language (and it's been quite a bit), some things really can't be done in CL. But in this article, I want to show you how to do something in CL you may have thought was not possible: extract the value of a single bit.
|
|
Last Updated on Wednesday, 04 January 2012 00:00 |
|
Read more...
|
|
|