November 1, 2017
- LEAD ARTICLE: Practical RPG: APIs, Part 2 - Changing Objects Using the QLICOBJD API
- FEATURED ARTICLE: RPG Academy: Debug Done Right - Working with Watch Conditions
- FEATURED ARTICLE: How MVC Can Simplify and Modernize Your IBM i Applications
- NEWS HIGHLIGHT: IBM Board Approves Quarterly Cash Dividend; Authorizes $3 Billion For Stock Repurchase
- WEBCAST: IBM i Resources Retiring?
- FEATURED VIDEO: Design an Invoice in 10 Minutes
- EVENT: NGS-IQ - Advanced Functionality for Every Twist and Turn Your Queries Need to Take
- MC PRESS MAGAZINE: A Small Intro to Big Data, Part 3: HFDS and the MapReduce Algorithm
APIs are one of the most powerful tools provided by the IBM i; here is a practical example of using one.
By Joe Pluta
In my previous article, I explained the basics of error reporting when calling APIs. This next installment brings those basics into focus with a real-world illustration that you can experiment with on your own and also use as a practical addition to your development environment.
Knowing your way around a debug source and knowing how to set and remove breakpoints is very important, but sometimes you need more than that. That’s where watch conditions come into play.
By Rafael Victória-Pereira
You use a watch condition to monitor whether the current value of an expression or a variable changes while your program runs. Setting watch conditions is similar to setting conditional breakpoints, with one important difference: Watch conditions stop the execution of the program as soon as the value of a watched expression or variable changes from its current value, regardless of the place in the code where that change occurs. Conditional breakpoints, on the other hand, stop the program only if the variable has the value specified in the breakpoint condition when the execution reaches the line where the breakpoint was set. In other words, a watch condition monitors the value of the variable globally, while the breakpoint simply checks whether a certain condition is met before the execution of a given line of code.
Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
In this white paper, you’ll learn how to think of these issues as opportunities rather than problems. We’ll explore motivations to migrate or modernize, their risks and considerations you should be aware of before embarking on a (migration or modernization) project.
Lastly, we’ll discuss how modernizing IBM i applications with optimized business workflows, integration with other technologies and new mobile and web user interfaces will enable IT – and the business – to experience time added value and much more.
More than ever, there is a demand for IT to deliver innovation.
Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects.
The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the companyare not aligned with the current IT environment.
Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.
Part 1 will teach you what Node.js is, why it's a great option for IBM i shops, and how to take advantage of the ecosystem surrounding Node.
In addition to background information, our Director of Product Development Scott Klement will demonstrate applications that take advantage of the Node Package Manager (npm).
Forms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.
In this webinar, two experienced cybersecurity professionals go in-depth on the ransomware attack cycle, the need to protect every endpoint, and how to spot signs of infection before data is encrypted by malicious actors.
This webinar also reveals the current state of ransomware with 2021 Malware Survey results and provide effective security strategies for prevention.
Watch this webcast now.
The thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing.
Manage your reports with the Robot Report Management Solution. Key features include:
- Automated report distribution
- View online without delay
- Browser interface to make notes
- Custom retention capabilities
- Seamless product integration
Rerun another report? Never again. Try the Robot Report Management Solution FREE for 30 days.
TRY the one package that solves all your document design and printing challenges on all your platforms.
Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product.
Want to make your big ol’ RPG programs more modular and easier to maintain? Then give the MVC design pattern a try.
by David Shirey
Editor’s note: This article is excerpted from chapter 24 of 21st Century RPG: /Free, ILE, and MVC.
Model-View-Controller (MVC) is a design pattern. Unlike many of the design patterns that have been defined, it is not uniquely oriented to object-oriented (OO) programming, but can easily be used with procedural languages as well.