<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to news</title><link>https://sourceforge.net/p/i5toolkit/news/</link><description>Recent posts to news</description><atom:link href="https://sourceforge.net/p/i5toolkit/news/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 06 Jun 2011 00:48:00 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/i5toolkit/news/feed.rss" rel="self" type="application/rss+xml"/><item><title>Subproject AS-400 launched</title><link>https://sourceforge.net/p/i5toolkit/news/2011/06/subproject-as-400-launched/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Dear folks, subproject AS-400 (&lt;a href="http://i5toolkit.sourceforge.net/as-400/index.html"&gt;http://i5toolkit.sourceforge.net/as-400/index.html&lt;/a&gt;) has just beenlaunched. The name of the subproject is an acronym for "ActionScript and AS/400". This subproject provides supports for ActionScript (the programming language of Adobe Flash) to access an IBM i server via the IBM i host servers.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Mon, 06 Jun 2011 00:48:00 -0000</pubDate><guid>https://sourceforge.net5cce312ebcf80b1e802cafe2802988df49998fce</guid></item><item><title>Release 0.2.16 published</title><link>https://sourceforge.net/p/i5toolkit/news/2011/05/release-0216-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Dear folks, release 0.2.16 of i5/OS Programmer's Toolkit is available.&lt;/p&gt;
&lt;p&gt;What's New in Release 0.2.16?&lt;br /&gt;
* Subproject "System-builtin Headers for ILE RPG" is renamed to "System-builtin Headers and Examples for ILE HLLs". The subproject is enriched with system-builtin headers for ILE COBOL and usage examples in ILE COBOL and CL of using system-builtins (bound program access interfaces of MI instructions). Also the original system-builtin headers for ILE RPG, mih52.rpgleinc, and mih54.rpgleinc are divided into small ones by category. Please refere to System-builtin Headers and Examples for ILE HLLs for details. The page "List of System-builtins" lists all system-builtins currently covered by this subproject.&lt;br /&gt;
* CL command Display Panel (DSPPNL) is added to UIM Related Tools&lt;br /&gt;
* The CVTHC Program is added to Miscellaneous Tools which is handy for an OPM or ILE HLL program to convert a hexadecimal value to character format.&lt;br /&gt;
* New techtips and how-tos are added to subproject Space Object Tools&lt;br /&gt;
* Binary components (save files) in directory bin of the release packaged changed:&lt;br /&gt;
o SAVF bin/emi.savf is removed&lt;br /&gt;
o SAVF bin/rpg.savf is removed&lt;br /&gt;
o SAVF bin/ifs.savf is added. IFS directories saved in it are:&lt;br /&gt;
+ /usr/local/include/cobol&lt;br /&gt;
+ /usr/local/include/emi&lt;br /&gt;
+ /usr/local/include/rpg&lt;br /&gt;
+ /usr/local/bin/i5toolkit&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Tue, 10 May 2011 13:57:16 -0000</pubDate><guid>https://sourceforge.netbce2a55d5722066c08a297e5c51f2c226197f835</guid></item><item><title>Release 0.2.15 published</title><link>https://sourceforge.net/p/i5toolkit/news/2010/11/release-0215-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;By now, most system-builtins (bound-program access interfaces of IBM i MI instructions) have been prototyped and tested by the subproject. ILE RPG Headers for System Builtins. Number of system-builtins prototyped in mih52.rpgleinc and mih54.rpgleinc reached 190 in this release. And there are now more than one hundred test programs written for them, which are also useful usage documentation of these system-builtins.&lt;/p&gt;
&lt;p&gt;Additionally, a new subproject, Space Object Tools has been added in this release, which is designed to allow IBM i programmers to work with space objects more conveniently.&lt;/p&gt;
&lt;p&gt;HTH :)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Wed, 03 Nov 2010 14:57:15 -0000</pubDate><guid>https://sourceforge.net59e7dc481d7ea039c35f83c9bb87fc45061aef1f</guid></item><item><title>New article published</title><link>https://sourceforge.net/p/i5toolkit/news/2010/10/new-article-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Sometimes Programs and Procedures Want to Know: Who Am I? -- If you were a program, could you answer this question?&lt;br /&gt;
&lt;a href="http://www.mcpressonline.com/programming/rpg/sometimes-programs-and-procedures-want-to-know-who-am-i.html" rel="nofollow"&gt;http://www.mcpressonline.com/programming/rpg/sometimes-programs-and-procedures-want-to-know-who-am-i.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In software programming, sometimes a program, a procedure, or a process or thread needs to answer the question: "Who am I?" For example, in an error-logging framework, after getting the answer to this question, the error-logging framework might write a log entry like the following: "Failed to allocate heap storage in SOMELIB/SOMEPGM, procedure FOO of module BAR. From job QZDASOINITQUSER      123456, thread 00000030." To answer the "Who am I?" question, programmers could hard-code names of programs or procedures everywhere log entries need to be written, but doing that is obviously error-prone and will make code hard to maintain. A utility that can answer this question on behalf of any program or procedure will significantly reduce the efforts in maintaining code that writes log entries.&lt;/p&gt;
&lt;p&gt;Here, I'll introduce a high-performance implementation of such a utility in i5/OS. The approach discussed here was implemented as an ILE RPG procedure called who_am_i. The basic goals are the following:&lt;/p&gt;
&lt;p&gt;- To retrieve information about the program or procedure currently being called—including program, library, module, procedure, and statement information—who_am_i first retrieves the suspend point of its caller via MI instruction Materialize Invocation Attributes (MATINVAT) with option 24 and then retrieves detailed information about its caller's invocation by applying MI instruction Materialize Pointer Information (MATPTRIF) on the suspend pointer. A suspend pointer is a type of MI pointer that identifies a suspend point or a resume point. A suspend point is a location within an invocation's routine where execution was suspended due to a call, an interruption, or a machine operation. A resume point is a location within an invocation's routine where execution will resume if execution is allowed to resume in the invocation.&lt;br /&gt;
- To retrieve the job ID of the current job, who_am_i first materializes the system pointer to the current job's process control space (PCS) object by MI instruction Materialize Process Attributes (MATPRATR) with option hex 25 and then materializes the name of the PCS object via MI instruction Materialize Pointer (MATPTR). An i5/OS job can be uniquely identified by a PCS object; the name of a PCS object is also the job ID of the corresponding job.&lt;br /&gt;
- To retrieve the thread ID of the current thread, who_am_i uses MI instruction Retrieve Thread Identifier (RETTHID), which returns an 8-byte thread ID of the current thread that uniquely identifies a thread within a job.&lt;/p&gt;
&lt;p&gt;HTH :)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Wed, 06 Oct 2010 07:46:24 -0000</pubDate><guid>https://sourceforge.net2ebdef6aecdbc9e538f5a55af8b7096fddb84f71</guid></item><item><title>New article published</title><link>https://sourceforge.net/p/i5toolkit/news/2010/09/new-article-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The Most Lightweight Mutually Exclusive Synchronization Mechanism -- Implement the mutex primitive via MI instructions CHKLKVAL and CLRLKVAL.&lt;br /&gt;
&lt;a href="http://www.mcpressonline.com/programming/rpg/the-most-lightweight-mutually-exclusive-synchronization-mechanism.html" rel="nofollow"&gt;http://www.mcpressonline.com/programming/rpg/the-most-lightweight-mutually-exclusive-synchronization-mechanism.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This article is about how to implement the Mutex Primitive via MI Instructions CHKLKVAL and CLRLKVAL on a IBM i box (also known as AS/400, iSeries).&lt;/p&gt;
&lt;p&gt;HTH!&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Sun, 19 Sep 2010 21:38:27 -0000</pubDate><guid>https://sourceforge.netec09d68dd382640f3a29d752c31f7719d70dad85</guid></item><item><title>New article published</title><link>https://sourceforge.net/p/i5toolkit/news/2010/08/new-article-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;A Fresh Approach to SCM: &lt;a href="http://www.mcpressonline.com/programming/general/a-fresh-approach-to-scm.html" rel="nofollow"&gt;http://www.mcpressonline.com/programming/general/a-fresh-approach-to-scm.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This article introduced an IFS-based SCM approach. Topics covered in this article include:&lt;br /&gt;
1. Storing source code in stream files in IFS&lt;br /&gt;
2. Editing stream source files using open-source utility STMFSEU&lt;br /&gt;
3. Accomplishing source change management by Subversion&lt;br /&gt;
4. Automating build processes via the make utility that is available in the PASE&lt;br /&gt;
5. Choosing a proper shell environment for your SCM processes&lt;/p&gt;
&lt;p&gt;HTH!&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Wed, 04 Aug 2010 21:46:00 -0000</pubDate><guid>https://sourceforge.neta55ddfe812e6aa5f1fd045ed9af1eaf6e8387843</guid></item><item><title>New article published</title><link>https://sourceforge.net/p/i5toolkit/news/2010/07/new-article-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This is an article on SEPT (System Entry Pointer Table) for i5/OS (also known as OS/400 or IBM I) RPG programmers. The SEPT is not only a means by which i5/OS programmers can enhance performance in API invocations. It is also a classic design of system pointer caching. Here's the link to the SEPT article:&lt;br /&gt;
&lt;a href="http://www.mcpressonline.com/programming/rpg/are-you-taking-full-advantage-of-the-system-entry-point-table-object.html" rel="nofollow"&gt;http://www.mcpressonline.com/programming/rpg/are-you-taking-full-advantage-of-the-system-entry-point-table-object.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;HTH :p&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Wed, 07 Jul 2010 11:58:06 -0000</pubDate><guid>https://sourceforge.net763aac8da77f12ac331d83cb7422c7ff5a8f453a</guid></item><item><title>Version 0.2.14 Released</title><link>https://sourceforge.net/p/i5toolkit/news/2010/07/version-0214-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;New components and utilities provided by this release include:&lt;/p&gt;
&lt;p&gt;- Software Configuration Management Tools for i5/OS&lt;/p&gt;
&lt;p&gt;SCM tools for i5/OS is a subproject of i5/OS Programmer's Toolkit. The purpose of SCM tools for i5/OS is NOT to design and implement a new series of i5/OS specific SCM tools. The purpose of it is to help i5/OS programmers to maintain and build their sources that are stored in stream files in the i5/OS integrated file system (IFS) and then exploit the power of efficient and mature SCM softwares from common platforms on i5/OS. Main utilities in this subproject include:&lt;/p&gt;
&lt;p&gt;- CL Command Start SEU on Stream Files (STMFSEU)&lt;br /&gt;
- CL Command Create Object from STMF (CRTFRMSTMF)&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href="http://i5toolkit.sourceforge.net/cm/index.html"&gt;http://i5toolkit.sourceforge.net/cm/index.html&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;- ILE RPG Header for User Interface Manager (UIM) APIs&lt;/p&gt;
&lt;p&gt;ILE RPG Header for User Interface Manager (UIM) APIs ( uim.rpgleinc  ) is a subproject of i5/OS Programmer's Toolkit . It was designed to simplify RPG programmers' works when working with the UIM. uim.rpgleinc provides prototypes of UIM APIs and declarations of parameter structures used by UIM exit programs.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href="http://i5toolkit.sourceforge.net/rpg/page"&gt;http://i5toolkit.sourceforge.net/rpg/page&lt;/a&gt;_uim.html for details.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Sun, 04 Jul 2010 12:32:32 -0000</pubDate><guid>https://sourceforge.net913a70b90ddc866479a38edcd489f66fba3fb68a</guid></item><item><title>Version 0.2.13 Released</title><link>https://sourceforge.net/p/i5toolkit/news/2010/05/version-0213-released/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Changes in release 0.2.13:&lt;br /&gt;
- ILE RPG header for index number of entries in the System Poitner Entry Table (SEPT), ept54.rpgleinc, added. Totally 7001 index number declarations according to the SEPT found on a V5R4M0 machine. The purpose of the design of ept54.rpgleinc is to help RPG programmers to improve efficiency in API invocations. For an example of utilizing this ILE RPG header, please refer to: &lt;a href="http://i5toolkit.svn.sourceforge.net/viewvc/i5toolkit/rpg/test/t064.rpgle?view=markup."&gt;http://i5toolkit.svn.sourceforge.net/viewvc/i5toolkit/rpg/test/t064.rpgle?view=markup.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- More than thirty system built-ins are added to ILE RPG header mih52.rpgleinc  and mih54.rpgleinc. Now totally 112 system built-ins are    prototyped in mih52.rpgleinc and mih54.rpgleinc.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Sun, 09 May 2010 03:15:54 -0000</pubDate><guid>https://sourceforge.neteb7c301a386b91515659030ec59f060bbbf2f4a0</guid></item><item><title>New article published</title><link>https://sourceforge.net/p/i5toolkit/news/2010/05/new-article-published/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The following article in I5/OS RPG programming has been published at www.mcpressonline.com:&lt;br /&gt;
Exporting by Interfaces: Decoupling Service Programs and Service Consumer Applications&lt;/p&gt;
&lt;p&gt;Link of this article is: &lt;a href="http://www.mcpressonline.com/programming/rpg/exporting-by-interfaces-decoupling-service-programs-and-service-consumer-applications.html" rel="nofollow"&gt;http://www.mcpressonline.com/programming/rpg/exporting-by-interfaces-decoupling-service-programs-and-service-consumer-applications.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;HTH :p&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Junlei Li</dc:creator><pubDate>Sun, 09 May 2010 03:11:33 -0000</pubDate><guid>https://sourceforge.netba95501c499c25deea21fb3c0d380c8551cc3fb0</guid></item></channel></rss>