<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="FeedCreator 1.7.3" --><rss version="2.0">
	<channel>
		<title>Programming</title>
		<description />
		<link><![CDATA[http://www.mcpressonline.com/index.php?option=com_content&task=section&id=17]]></link>
		<lastBuildDate>Fri, 01 Jun 2012 06:03:13 +0100</lastBuildDate>
        <generator>FeedCreator 1.7.3</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mcpressonline/mobilitynews" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="mcpressonline/mobilitynews" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
			<title>Practical RPG: Queuing, Part I: Data Queues</title>
			<link>http://www.mcpressonline.com/rpg/practical-rpg-queuing-part-i-data-queues.html</link>
			<description>One of the most basic functions of inter-process communication is the use of the queue. This first queuing article will introduce the simplest of the IBM i queuing mechanisms, the data queue.
Written by Joe Pluta
In programming, queuing is a technique used to transfer data asynchronously between two software components. It differs from a parameter in that the sender can place a message on a queue, go on processing, and then optionally check later to see if the message was processed....</description>
			<category>Programming</category>
			<pubDate>Wed, 06 Jun 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The ABCs of MI Locks</title>
			<link>http://www.mcpressonline.com/rpg/the-abcs-of-mi-locks.html</link>
			<description>It's time for a review of the basic concepts of MI locks. These examples will help.
Written by Junlei Li
In computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. In IBM i, locks are implemented in such a complex and sophisticated manner that they cannot be compared directly with their counterparts in common platforms, such as semaphores, critical sections, read/write locks, and mutexes....</description>
			<category>Programming</category>
			<pubDate>Wed, 06 Jun 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Simplify Mobile Development with IBM Worklight</title>
			<link>http://www.mcpressonline.com/dev-tools/simplify-mobile-development-with-ibm-worklight.html</link>
			<description>Big Blue's purchase of a company that delivers the entire lifecycle of mobile application development could be the answer for those starting down the road with mobile apps.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
Mobile applications are no longer some interesting distant phenomenon residing only on the Apple App Store and appealing exclusively to the younger generation of consumers glued to their iPhones. They are at the doorstep of every IT shop in the country, and IT managers, system integrators, and independ...</description>
			<category>Programming</category>
			<pubDate>Fri, 01 Jun 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>The CL Corner: More on the RUNSQL CL Command</title>
			<link>http://www.mcpressonline.com/cl/the-cl-corner-more-on-the-runsql-cl-command.html</link>
			<description>Generate a report from your database using CL.
Written by Bruce Vining
Last month, in "Using the SQL Select Statement with RUNSQL," we reviewed how to query, or select, data from a SAMPLE database (also created in the referenced article). In last month's program, we simply displayed, using the CL command Send Program Message (SNDPGMMSG), the results of an SQL Select as shown below....</description>
			<category>Programming</category>
			<pubDate>Fri, 25 May 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Being a Better RPG Programmer</title>
			<link>http://www.mcpressonline.com/rpg/being-a-better-rpg-programmer.html</link>
			<description>What skills should an RPG programmer have besides knowledge of basic RPG?
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/jim_staton.jpg" alt="jim_staton" width="76" height="76" /&gt;Written by Jim Staton
Recently, I had the opportunity to interview candidates for a programming position at our company. I had just lost an excellent employee due to personal reasons, and I needed an additional person to develop and maintain the code on our iSeries. We have a small group of five iSeries programmers, four of whom spend most of their time developing and maintaining RPG code and are part of our total IT staf...</description>
			<category>Programming</category>
			<pubDate>Wed, 16 May 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The API Corner: Providing Access to an Application Function </title>
			<link>http://www.mcpressonline.com/apis/the-api-corner-providing-access-to-an-application-function.html</link>
			<description>All you need is the User Function Registration APIs.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/bruce_vining.jpg" alt="bruce_vining" width="76" height="75" /&gt;Written by Bruce Vining
Last month, in "&lt;a href="http://www.mcpressonline.com/apis/the-api-corner-accessing-a-command-line.html"&gt;Accessing a Command Line&lt;/a&gt;," we looked at how the &lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qsyrusri.htm"&gt;Retrieve User Information (QSYRUSRI)&lt;/a&gt; API could be used to control access to a specific function with an application program. The function we were controlling was access to a command line window, displayed using the &lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/quscmdln.htm"&gt;Display Command Line Window (QUSCMDLN)&lt;/a&gt; API, by way of command key 9. The application determined whether or not command key 9 should be enabled,...</description>
			<category>Programming</category>
			<pubDate>Wed, 16 May 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Profound Logic Blasts the Myths Surrounding Rational Open Access: RPG Edition</title>
			<link>http://www.mcpressonline.com/rpg/profound-logic-blasts-the-myths-surrounding-rational-open-access-rpg-edition.html</link>
			<description>A Webcast takes on all challengers, asserting that the technology works elegantly to modernize source-code available applications while saving time and requiring no programming.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
There has been an air of mystery and, thus, skepticism surrounding RPG Open Access since IBM introduced it in April 2010 with the release of IBM i 7.1. The program, officially known as Rational Open Access: RPG Edition, was perceived as exotic and incomplete since it relied upon users or ISVs to w...</description>
			<category>Programming</category>
			<pubDate>Wed, 16 May 2012 06:00:05 +0100</pubDate>
		</item>
		<item>
			<title>Understanding and Exploiting Qshell on IBM i</title>
			<link>http://www.mcpressonline.com/general/understanding-and-exploiting-qshell-on-ibm-i.html</link>
			<description>Qshell's Unix-like interface to the iSeries is especially helpful for developing in Java and for working with the IFS.
Written by Ted Holt and Fred A. Kulack
Editor's Note: This article is an excerpt from the book &lt;a href="http://www.publishersrow.com/Stores/detail.asp?WS=0&amp;amp;spoc=&amp;amp;issoc=0&amp;amp;shid=470&amp;amp;id=7469&amp;amp;String=&amp;amp;curcatid=0&amp;amp;cursecid=1937&amp;amp;onskr=36&amp;amp;TN=1333602000000&amp;amp;ftop=1"&gt;Qshell for iSeries&lt;/a&gt;, which is available as an e-book from MC Press.
 
A shell is a program that allows a human to interact with an operating system in a conversational way. The QCMD program that runs on the IBM iSeries computer is a shell of sorts. DOS, the original operating system...</description>
			<category>Programming</category>
			<pubDate>Wed, 09 May 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Practical SQL: Defining Your Data: TEXT and LABEL</title>
			<link>http://www.mcpressonline.com/sql/practical-sql-defining-your-data-text-and-label.html</link>
			<description>Using DDL to define your data has a lot of benefits, but you still need to know a few tricks to get all of the features we enjoy in DDS. Read on for the secrets!
Written by Joe Pluta
Today's article is my first dedicated to Data Definition Language (DDL), the specific SQL syntax used to define tables. It's counterpart in the green-screen world is Data Descriptions Specifications (DDS), the simple data definition language we've used forever....</description>
			<category>Programming</category>
			<pubDate>Wed, 02 May 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>RPG IV and a New Approach to Control-Break Processing</title>
			<link>http://www.mcpressonline.com/rpg/rpg-iv-and-a-new-approach-to-control-break-processing.html</link>
			<description>Essentially, what's old is new again!
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/jim_martin.jpg" alt="jim_martin" width="76" height="76" /&gt;Written by Jim Martin
Those of us who used the RPG cycle and L1, L2, etc. for control-break processing remember how slick it was. Very few lines of code were needed, since most of the work was being done by the cycle code. As we proceeded into full procedural programming, we became aware that more code was needed to get the same result. Typically, we now needed save fields of control-break key fields, code to load the save fields, logic to see if the contro...</description>
			<category>Programming</category>
			<pubDate>Wed, 02 May 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>The CL Corner: Using the SQL Select Statement with RUNSQL</title>
			<link>http://www.mcpressonline.com/cl/the-cl-corner-using-the-sql-select-statement-with-runsql.html</link>
			<description>Would you like to query your database from CL?
Written by Bruce Vining
Last month, in "Introducing the New Run SQL Command," we reviewed how you could insert, update, and delete rows/records in a database using the RUNSQL CL command. Today, we'll look at how the RUNSQL command can be used to query, or select, data from the SAMPLE database we created in the earlier article....</description>
			<category>Programming</category>
			<pubDate>Fri, 27 Apr 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>CA Plex Could Be the Best Development Tool of All, Reader Says</title>
			<link>http://www.mcpressonline.com/dev-tools/ca-plex-could-be-the-best-development-tool-of-all-reader-says.html</link>
			<description>After reviewing our choice of the top 10 development tools, one reader speaks up in favor of CA's under-promoted rapid application development tool.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
Whenever you publish a wrap-up article listing industry products, you often get reactions from readers that range from very positive to mildly negative. There are those who pipe up and say, "Hey, you forgot one!" Or, occasionally, vendors will let you know that they were pleased by how their company or product was represente...</description>
			<category>Programming</category>
			<pubDate>Fri, 27 Apr 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>PHP 1: What You Need to Know Before You Start</title>
			<link>http://www.mcpressonline.com/web-languages/php-1-what-you-need-to-know-before-you-start.html</link>
			<description>So you're a great RPG programmer. Is that enough? Maybe not.
Written by David Shirey
So, here you are, an RPG professional, all dressed up and ready to go. You can code up RPG real good, even some ILE. Got all that CL and DDS stuff mastered, but darned if people aren't saying that isn't enough. You've got to expand your skill set they say, learn a Web language. Don't you know that everything's going to be on the Web next month?...</description>
			<category>Programming</category>
			<pubDate>Wed, 18 Apr 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The API Corner: Accessing a Command Line </title>
			<link>http://www.mcpressonline.com/apis/the-api-corner-accessing-a-command-line.html</link>
			<description>The Display Command Line Window (QUSCMDLN) API makes it easy!
Written by Bruce Vining
When recently visiting a client, I overheard one of their developers mention the desire to get to a command line from within an application program. There is, of course, an API to do just that. And, as the API has been around since V1R3, I suspect there are quite a few developers who have had a similar need....</description>
			<category>Programming</category>
			<pubDate>Wed, 18 Apr 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Technology Focus: Application Modernization Isn't Just Good for You, It's Getting Critical</title>
			<link>http://www.mcpressonline.com/dev-tools/technology-focus-application-modernization-isn-t-just-good-for-you-it-s-getting-critical.html</link>
			<description>Being able to offer a nice UI, browser access, and Web services access in your IBM i apps is all to the good. However, there are hidden bumps in the road to app modernization.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/john_grist.jpg" alt="john_grist" width="76" height="76" /&gt;Written by John Ghrist
"Application modernization" has come to mean many things, from simply improving the execution of RPG code (e.g., by translation of old code to RPG ILE), to adding a graphical UI to legacy apps ("screen-scraping"), to revamping applications to function in a Service-Oriented Architecture (SOA) or Micr...</description>
			<category>Programming</category>
			<pubDate>Mon, 16 Apr 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Practical RPG: New Open-Source EGL Tools for RPG Developers</title>
			<link>http://www.mcpressonline.com/rpg/practical-rpg-new-open-source-egl-tools-for-rpg-developers.html</link>
			<description>How quickly can you build multi-tiered Rich Internet Applications? With the new open-source EGL Development Tools, you can measure your development time in hours, not days or weeks.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/joe_pluta.jpg" alt="joe_pluta" width="76" height="76" /&gt;Written by Joe Pluta
I have been an advocate of EGL for a long time now. I started writing about it almost seven years ago, although at first I wasn't exactly enamored with the language. However, as EGL progressed over the years, I've come to see the power of a true 4GL. Yes, anything I can do in EGL someone else ca...</description>
			<category>Programming</category>
			<pubDate>Wed, 04 Apr 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>How Much Do You Know About Job Switches?</title>
			<link>http://www.mcpressonline.com/rpg/how-much-do-you-know-about-job-switches.html</link>
			<description>This in-depth discussion about the IBM i job switches may reveal surprising—and helpful—information.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/junlei_li.jpg" alt="junlei_li" width="76" height="76" /&gt;Written by Junlei Li
The design of the job switches can be traced back to earlier IBM midrange systems such as &lt;a href="http://en.wikipedia.org/wiki/IBM_System/3"&gt;System/3&lt;/a&gt;, the first generation of IBM midrange systems built in-house. As more and more native or open-standard IPC mechanisms have been introduced to IBM i's ancestors and IBM i, people started forgetting this ease-to-use and efficient work management technique. I admit this techni...</description>
			<category>Programming</category>
			<pubDate>Wed, 04 Apr 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Power i Forecast: Top 10 Development Tools</title>
			<link>http://www.mcpressonline.com/dev-tools/power-i-forecast-top-10-development-tools.html</link>
			<description>Today's tools are getting so sophisticated that business users with no programming experience can easily develop robust applications.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
The importance of tools to the IBM i community can't be underestimated, but they, like restaurants, come into and go out of favor depending on what clients need and what they are asking developers to do at the moment. Is it a Y2K challenge this month, or must you Web-enable a green-screen legacy program for which you don't have the source c...</description>
			<category>Programming</category>
			<pubDate>Mon, 02 Apr 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The CL Corner: Introducing the New Run SQL Command</title>
			<link>http://www.mcpressonline.com/cl/the-cl-corner-introducing-the-new-run-sql-command.html</link>
			<description>Would you like some SQL with your CL?
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/bruce_vining.jpg" alt="bruce_vining" width="76" height="75" /&gt;Written by Bruce Vining
It would appear that thank-you cards to family members of the IBM CL SQL development teams might be in order as these IBM developers seem to be putting in lots of overtime—and not getting home very often.
 
Last month, in "&lt;a href="http://www.mcpressonline.com/cl/the-cl-corner-new-support-for-cl-commands-lets-you-know-when-a-command-ends.html"&gt;New Support for CL Commands Lets You Know When a Command Ends&lt;/a&gt;," we reviewed how IBM has provided PTFs to V5R4, 6.1, and 7.1, allowing an exit program to be called when the command processing program (CPP) of a...</description>
			<category>Programming</category>
			<pubDate>Fri, 30 Mar 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Update Your Data with Peace of Mind Using Commitment Control</title>
			<link>http://www.mcpressonline.com/rpg/update-your-data-with-peace-of-mind-using-commitment-control.html</link>
			<description>Learn how to use commitment control in your RPG programs to ensure a complete transaction and how to roll back the changes when unable to complete.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/tom_snyder.jpg" alt="tom_snyder" width="76" height="75" /&gt;Written by Tom Snyder
I'm usually talking about powerful IBM i resources that can do great things with minimal work. Commands such as those need to be treated with respect and tested well to ensure that you'll get the expected results. In this article, I'll be taking a step back to talk about some safety measures that you could take to protect the i...</description>
			<category>Programming</category>
			<pubDate>Wed, 21 Mar 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The API Corner: More on UNIX-Type Time Values</title>
			<link>http://www.mcpressonline.com/apis/the-api-corner-more-on-unix-type-time-values.html</link>
			<description>There are some things you need to consider when using epoch-based time values.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/bruce_vining.jpg" alt="bruce_vining" width="76" height="75" /&gt;Written by Bruce Vining
Last month, in the article "&lt;a href="http://www.mcpressonline.com/apis/the-api-corner-understanding-and-using-unix-type-time-values.html"&gt;Understanding and Using UNIX-Type Time Values&lt;/a&gt;," we looked at how to answer the specific question, "Does anyone know how to convert the time values that are returned from the stat() IFS api for an IFS file?" Two possible solutions were reviewed: using RPG timestamp support and also using C run-time API support. Today, we'll look at bit deeper into the time values ret...</description>
			<category>Programming</category>
			<pubDate>Wed, 21 Mar 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Practical SQL: Using Old World Tools with New World Data</title>
			<link>http://www.mcpressonline.com/sql/practical-sql-using-old-world-tools-with-new-world-data.html</link>
			<description>Using DDL to define your files provides a wealth of new features, but just which features should you embrace? Some of that depends on the tools you use, and this article explains a couple of pitfalls.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/joe_pluta.jpg" alt="joe_pluta" width="76" height="76" /&gt;Written by Joe Pluta
The ongoing SQL vs. native I/O debate really consists of two different debates: how to define your data and how to access it. Access is either via native I/O or SQL, but that's not the topic today. Today, I'm focused on the data definition debate, either the older Data Definit...</description>
			<category>Programming</category>
			<pubDate>Wed, 07 Mar 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The Case for SQL CASE </title>
			<link>http://www.mcpressonline.com/sql/the-case-for-sql-case.html</link>
			<description>SQL CASE expressions are powerful. Understand their syntax and where they can be used.
Written by Sam Lennon
Did you know that the SQL CASE construct can be used in SQL SELECT and UPDATE statements and in WHERE, GROUP BY, and ORDER BY clauses? This tip explains SQL CASE through examples that you can run and experiment with. It also gives an overview of SQL CASE syntax, though it does not attempt to rewrite the IBM DB2 for i SQL Reference manual....</description>
			<category>Programming</category>
			<pubDate>Wed, 07 Mar 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Cool Things: A Simple Utility for Sending HTML Emails on the IBM i </title>
			<link>http://www.mcpressonline.com/apis/cool-things-a-simple-utility-for-sending-html-emails-on-the-ibm-i.html</link>
			<description>Send a simple message to notify a user when a batch job completes, or send a detailed notification to a customer, or anything in between.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/mike_faust.jpg" alt="mike_faust" width="68" height="84" /&gt;Written by Mike Faust
If you've used the SNDDST command on the IBM i to send email messages, you know that this is a very useful way to communicate things like job completions. The one big drawback is that you have very little control over the format of the messages sent using this command. While this command does give you the ability to embed line feed and n...</description>
			<category>Programming</category>
			<pubDate>Fri, 02 Mar 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The CL Corner: New Support for CL Commands Lets You Know When a Command Ends</title>
			<link>http://www.mcpressonline.com/cl/the-cl-corner-new-support-for-cl-commands-lets-you-know-when-a-command-ends.html</link>
			<description>Need to know when "something" has finished? The Command Analyzer Retrieve exit point capability tells you what you need to know.
Written by Bruce Vining
This month, I had planned on looking at the DDS details of implementing the message subfile (record formats MSGSFL and MSGSFLCTL) used in last month's article, "Letting the User Know What's Right and Wrong." I am, however, going to defer that discussion due to an IBM CL command enhancement that became available just last week....</description>
			<category>Programming</category>
			<pubDate>Fri, 24 Feb 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Are Web and Mobile Apps Becoming a Challenge? Try a Modern Wireframe Tool</title>
			<link>http://www.mcpressonline.com/dev-tools/are-web-and-mobile-apps-becoming-a-challenge-try-a-modern-wireframe-tool.html</link>
			<description>Today's drag-and-drop prototyping applications could turn designing a modern interface into child's play.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
Designing colorful, artistic, and user-friendly interfaces is not something that RPG programmers generally could claim on their resumes. With the advent of Web services and mobile applications, as well as the increasing acceptance of Rational Open Access RPG Edition to help facilitate output to mobile and tablet devices, designing attractive UIs is something programme...</description>
			<category>Programming</category>
			<pubDate>Fri, 24 Feb 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Lotus Domino Designer Now Supports Mobile Apps</title>
			<link>http://www.mcpressonline.com/dev-tools/lotus-domino-designer-now-supports-mobile-apps.html</link>
			<description>IBM is now offering support for a number of popular open-source components to its Eclipse-based rapid application development (RAD) tool.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
With the emphasis on mobile applications and social networking, many shops today are trying to figure out the best way to address these user requirements, the vast majority of them intended for department, branch, or partner access. For most of these needs, a solution running on Lotus Domino can work quite well, and recent enhancements ...</description>
			<category>Programming</category>
			<pubDate>Fri, 17 Feb 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Use Qshell Tools to Clean Up Your IFS Automatically</title>
			<link>http://www.mcpressonline.com/rpg/use-qshell-tools-to-clean-up-your-ifs-automatically.html</link>
			<description>Create a useful RPG program to purge unnecessary files from your IFS.
Written by Tom Snyder
The year-end stuff is over, you've captured all your yearly snapshot data in their own files, and you're feeling pretty good about yourself. Next thing is to clean house. Reports are a good place to start. You likely have a lot of PDFs and Excel spreadsheets that should be purged from your IFS, and this article will walk you through developing a reusable program to easily do exactly that....</description>
			<category>Programming</category>
			<pubDate>Wed, 15 Feb 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The API Corner: Understanding and Using UNIX-Type Time Values </title>
			<link>http://www.mcpressonline.com/apis/the-api-corner-understanding-and-using-unix-type-time-values.html</link>
			<description>Learn how to format a returned value such as 1,329,293,701 to a fixed definition of days, months, years, etc.
Written by Bruce Vining
Earlier this month, over on the RPG Programming section of the IBM i mailing list rpg400-l@midrange.com, this question was posed: "Does anyone know how to convert the time values that are returned from the stat() IFS API for an IFS file?" The answer to the question of course is yes, and in this article, we'll look at some of the possible solutions....</description>
			<category>Programming</category>
			<pubDate>Wed, 15 Feb 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Harnessing the Power of Control Language Programming for IBM i</title>
			<link>http://www.mcpressonline.com/cl/harnessing-the-power-of-control-language-programming-for-ibm-i.html</link>
			<description>Learn how to execute commands in batch using SBMJOB in this excerpt from the MC Press book &lt;a href="http://www.mc-store.com/5507.html"&gt;Control Language Programming for IBM i&lt;/a&gt;.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/jim_buck.gif" alt="jim_buck" width="76" height="76" /&gt;Written by Jim Buck, Bryan Myers, and Dan Riehl
The SBMJOB (Submit Job) CL command lets you submit a batch job to a job queue. This command has many parameters, but in its simplest form it is expressed as follows:
 
SBMJOB CMD(CL-command)
 
Once you have submitted a batch job, you are allowed little or no interaction with the job. For example, a batch job norm...</description>
			<category>Programming</category>
			<pubDate>Wed, 08 Feb 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>A Visual Guide to Cost-Effective Testing on the iSeries</title>
			<link>http://www.mcpressonline.com/dev-tools/a-visual-guide-to-cost-effective-testing-on-the-iseries.html</link>
			<description>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 &lt;a href="http://editorial.mcpressonline.com/web/mcpressppl.nsf/ResourceCenter?OpenForm&amp;amp;type=WP#5335_a"&gt;"A Visual Guide to Cost-Effective Testing on the iSeries,"&lt;/a&gt; available for download free from the &lt;a href="http://www.mcpressonline.com/white-papers.html"&gt;MC White Paper Center&lt;/a&gt;.
 
Managers and developers working with legacy RPG and COBOL applications face serious testing challenges. Few, if any, of these applications have ...</description>
			<category>Programming</category>
			<pubDate>Fri, 03 Feb 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Practical RPG: Handling Abnormal Termination in Servers</title>
			<link>http://www.mcpressonline.com/rpg/practical-rpg-handling-abnormal-termination-in-servers.html</link>
			<description>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.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/joe_pluta.jpg" alt="joe_pluta" width="76" height="76" /&gt;Written by Joe Pluta
I saw an email message in the &lt;a href="http://www.midrange.com/"&gt;midrange.com&lt;/a&gt; mailing lists the other day about the old standby for termination, the scope message. Scope messages are cool; using the &lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Fapis%2FQMHSNDSM.htm"&gt;QMHSNDSM&lt;/a&gt; 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 &lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Fapis%2FCEERTX.htm"&gt;CEERTX&lt;/a&gt; API. CEERTX is ...</description>
			<category>Programming</category>
			<pubDate>Wed, 01 Feb 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Prompted SQL DDL Creation</title>
			<link>http://www.mcpressonline.com/sql/prompted-sql-ddl-creation.html</link>
			<description>Not familiar with SQL CREATE TABLE syntax? No problem! There's a really easy way to create SQL DDL (Data Definition Language) statements.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/sam_lennon.png" alt="sam_lennon" width="76" height="76" /&gt;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...</description>
			<category>Programming</category>
			<pubDate>Wed, 01 Feb 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>The CL Corner: Letting the User Know What's Right and Wrong</title>
			<link>http://www.mcpressonline.com/cl/the-cl-corner-letting-the-user-know-what-s-right-and-wrong.html</link>
			<description>Use a message subfile to return error information to the user.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/bruce_vining.jpg" alt="bruce_vining" width="76" height="75" /&gt;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...</description>
			<category>Programming</category>
			<pubDate>Fri, 27 Jan 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Get the Day of the Week, Full Text Date Values, and More Within RPG Using SQL</title>
			<link>http://www.mcpressonline.com/sql/get-the-day-of-the-week-full-text-date-values-and-more-within-rpg-using-sql.html</link>
			<description>Create useful date-centric service programs with embedded SQL.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/tom_snyder.jpg" alt="tom_snyder" width="76" height="75" /&gt;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 ...</description>
			<category>Programming</category>
			<pubDate>Wed, 18 Jan 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>The API Corner: Renaming and Moving Objects Doesn't Have to Be Difficult</title>
			<link>http://www.mcpressonline.com/apis/the-api-corner-renaming-and-moving-objects-doesn-t-have-to-be-difficult.html</link>
			<description>The Rename Object API offers flexibility above and beyond just renaming.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/bruce_vining.jpg" alt="bruce_vining" width="76" height="75" /&gt;Written by Bruce Vining
In last month's article, &lt;a href="http://www.mcpressonline.com/apis/the-api-corner-deleting-objects.html"&gt;Deleting Objects&lt;/a&gt;, 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 &lt;a href="http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/apis/qlirnmo.htm"&gt;here&lt;/a&gt; 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. A...</description>
			<category>Programming</category>
			<pubDate>Wed, 18 Jan 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>What Are the Differences Between DB2 for i and SQL Server SQL Syntax?</title>
			<link>http://www.mcpressonline.com/sql/what-are-the-differences-between-db2-for-i-and-sql-server-sql-syntax.html</link>
			<description>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....</description>
			<category>Programming</category>
			<pubDate>Wed, 11 Jan 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Practical CL: Extracting a Bit</title>
			<link>http://www.mcpressonline.com/cl/practical-cl-extracting-a-bit.html</link>
			<description>Extracting a bit can be done a number of ways, but the code in this article uses only the basic arithmetic capabilities of CL.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/joe_pluta.jpg" alt="joe_pluta" width="76" height="76" /&gt;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 h...</description>
			<category>Programming</category>
			<pubDate>Wed, 04 Jan 2012 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Maximize the Abilities of the LDA</title>
			<link>http://www.mcpressonline.com/rpg/maximize-the-abilities-of-the-lda.html</link>
			<description>Store pointers in a job's Local Data Area.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/junlei_li.jpg" alt="junlei_li" width="76" height="76" /&gt;Written by Junlei Li
The Local Data Area (LDA) is a user-domain, permanent space object (with MI object type code/subtype code hex 19CE) that is allocated to each IBM i job by the system when the job becomes active. The 1024-byte storage of an LDA can be accessed through CL commands (DSPDTAARA, RTVDTAARA, CHGDTAARA, and CHGVAR), APIs (QXXRTVDA and QXXCHGDA), or built-in support of high-level languages (the IN and OUT opcodes of RPG, and the ACCEPT and ...</description>
			<category>Programming</category>
			<pubDate>Wed, 04 Jan 2012 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Using Binding Directories with Your Service Programs</title>
			<link>http://www.mcpressonline.com/rpg/using-binding-directories-with-your-service-programs.html</link>
			<description>Make compiling easier for service programs with the use of binding directories.
Written by Tom Snyder
With the end of the year comes time to close out my series of articles on service programs. In previous articles, I discussed how to create a service program, followed by discussing the benefits and cautions of using the binding language with your service programs. In this article, I'll discuss how to create binding directories and why you would want to use them....</description>
			<category>Programming</category>
			<pubDate>Wed, 21 Dec 2011 06:00:20 +0100</pubDate>
		</item>
		<item>
			<title>The API Corner: Deleting Objects </title>
			<link>http://www.mcpressonline.com/apis/the-api-corner-deleting-objects.html</link>
			<description>The Delete Object API offers flexibility in terms of removing unneeded objects.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/bruce_vining.jpg" alt="bruce_vining" width="76" height="75" /&gt;Written by Bruce Vining
As a new year approaches, many of you may be looking at general house-cleaning of your i. This activity might include deleting those objects that have been created over the last 12 months and are no longer needed. In the past, if you wanted to automate such cleanup activities from, say, an RPG application program, you may have written various CL programs that were then called from the RPG pro...</description>
			<category>Programming</category>
			<pubDate>Wed, 21 Dec 2011 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Practical SQL: UDFs and Service Programs, Part II </title>
			<link>http://www.mcpressonline.com/sql/practical-sql-udfs-and-service-programs-part-ii.html</link>
			<description>With a little creativity, SQL allows you to add a form of overloading to RPG that can really extend your toolkit.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/joe_pluta.jpg" alt="joe_pluta" width="76" height="76" /&gt;Written by Joe Pluta
In the &lt;a href="http://www.mcpressonline.com/sql/practical-sql-udfs-and-service-programs-part-i.html"&gt;previous article&lt;/a&gt; in this series, I created a simple user-defined function (UDF) that acted as an SQL interface to an RPG service program procedure. It was simple and easy to do, but the emphasis was on simple. The UDF simply passed parameters from the SQL environment straight through to the RPG procedure and returned the result. This is enough in many cas...</description>
			<category>Programming</category>
			<pubDate>Wed, 07 Dec 2011 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Want to Know All the MI Object Types Supported by Your IBM i?</title>
			<link>http://www.mcpressonline.com/rpg/want-to-know-all-the-mi-object-types-supported-by-your-ibm-i.html</link>
			<description>Retrieve the exact table of MI object types via the undocumented API QLICNV.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/junlei_li.jpg" alt="junlei_li" width="76" height="76" /&gt;Written by Junlei Li
On IBM i, historically there are two flavors when referring to objects. At the MI level, MI objects are categorized by a 2-byte MI object type code (1-byte type code and 1-byte subtype code). At the OS level, external objects (also known as CL objects) are categorized by external symbolic type names—for example, *FILE. An external object may consist of one or more MI objects. Each MI object type ...</description>
			<category>Programming</category>
			<pubDate>Wed, 07 Dec 2011 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Need a Quick App Deployed to the Web? Try RapidBiz from VACAVA</title>
			<link>http://www.mcpressonline.com/dev-tools/need-a-quick-app-deployed-to-the-web-try-rapidbiz-from-vacava.html</link>
			<description>An affordable cloud-based development environment for SMBs, the solution promises to be a quick Web application builder for business users and one that developers can utilize to shave hours off time spent programming.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
In our continuing search for tools that can help developers build or extend applications easily and quickly, we turn our spotlight on &lt;a href="http://www.rapidbiz.com/"&gt;RapidBiz&lt;/a&gt;, a development toolset from &lt;a href="http://www.vacava.com"&gt;VACAVA&lt;/a&gt;, an IBM Business Partner that was named a finalist earlier this year in the annu...</description>
			<category>Programming</category>
			<pubDate>Fri, 02 Dec 2011 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Is a Graphical Debugger for IBM i Really an Improvement?</title>
			<link>http://www.mcpressonline.com/dev-tools/is-a-graphical-debugger-for-ibm-i-really-an-improvement.html</link>
			<description>You can try one at no charge since it's already included with the operating system.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/chris_smith.jpg" alt="chris_smith" width="76" height="76" /&gt;Written by Chris Smith
A study a few years ago concluded that software bugs cost the U.S. economy alone more than $59 billion annually and that more than a third of that waste could be avoided through better testing. Newer development models, such as Agile, frequently employ test-driven development, which means the developer is being asked to shoulder an increasing portion of the testing before software is sent ...</description>
			<category>Programming</category>
			<pubDate>Fri, 18 Nov 2011 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Features and Cautions of the Binding Language</title>
			<link>http://www.mcpressonline.com/rpg/features-and-cautions-of-the-binding-language.html</link>
			<description>Find out how to support multiple signatures and what to be aware of when changing service programs.
Written by Tom Snyder
I initially intended on just doing a three-part series that worked its way toward binding directories, but I feel as though I need to cover more on the binding language before I can move on. So this follow-up article will discuss support for multiple signatures and things that you should be cautious of when using the binding language....</description>
			<category>Programming</category>
			<pubDate>Wed, 16 Nov 2011 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Curious About Finding Errors in SQL Statements?</title>
			<link>http://www.mcpressonline.com/apis/curious-about-finding-errors-in-sql-statements.html</link>
			<description>With the help of the QSQCHKS API, you can easily and quickly find where errors occur.
Written by Andrew Shelestov
A lot of people run SQL statements often, but few of them can find the place where an error occurs in those statements. In this article, I'll show you how to detect the position of these errors by using the Syntax Check SQL Statement (QSQCHKS) API , which is documented here....</description>
			<category>Programming</category>
			<pubDate>Wed, 16 Nov 2011 06:00:10 +0100</pubDate>
		</item>
		<item>
			<title>Subfiles and Data Queues: A Perfect Combination</title>
			<link>http://www.mcpressonline.com/rpg/subfiles-and-data-queues-a-perfect-combination.html</link>
			<description>Provide your users with everything they've ever wanted in a subfile program.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/kevin_vandever.gif" alt="kevin_vandever" width="76" height="76" /&gt;Written by Kevin Vandever
Editor's Note: This article is an excerpt from the book &lt;a href="http://www.mc-store.com/5104.html"&gt;Subfiles in Free-Format RPG&lt;/a&gt; published by MC Press.
 
If you've ever looked at Program Development Manager (PDM), you might have marveled at what a cool subfile application it is. PDM is extremely flexible. It allows you to move anyplace in a subfile-like panel, page forward or backward from that position, change a record on any page of...</description>
			<category>Programming</category>
			<pubDate>Wed, 09 Nov 2011 06:00:15 +0100</pubDate>
		</item>
		<item>
			<title>Case Study: ASNA Wings: Re-imagining Modernization at INFOCON, Both Ways</title>
			<link>http://www.mcpressonline.com/rpg/case-study-asna-wings-re-imagining-modernization-at-infocon-both-ways.html</link>
			<description>Modernizing for a GUI doesn't mean you have to give up the power of RPG.
Written by Thomas M. Stockwell
Fueled by the talent of more than a dozen IBM RPG programmers, and an overall staff of 50, INFOCON is an IBM Business Partner with a vision of efficiency and service for its clients. But modernizing to a fully functional, user-friendly graphical user interface (GUI) has been a challenge....</description>
			<category>Programming</category>
			<pubDate>Mon, 07 Nov 2011 06:00:05 +0100</pubDate>
		</item>
		<item>
			<title>Practical SQL: UDFs and Service Programs, Part I </title>
			<link>http://www.mcpressonline.com/sql/practical-sql-udfs-and-service-programs-part-i.html</link>
			<description>In this installment of our continuing series on using SQL in real business applications, we introduce the concept of invoking service programs from within SQL.
&lt;img style="margin: 5px; float: left;" src="http://www.mcpressonline.com/images/stories/AuthorPhotos/joe_pluta.jpg" alt="joe_pluta" width="76" height="76" /&gt;Written by Joe Pluta
We continue to provide you with examples of integrating SQL with traditional RPG. In this article, we're going to focus on how we can use a service program to extend SQL and provide an essential feature that SQL is sorely lacking: converting binary data in a character field to numeric values. Note that this is the op...</description>
			<category>Programming</category>
			<pubDate>Wed, 02 Nov 2011 06:00:15 +0100</pubDate>
		</item>
	</channel>
</rss>

