Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM RPG
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== RPG IV and ILE RPG=== ''RPG IV'', a.k.a. ''RPG ILE'',<ref>[https://archive.today/20121217164248/https://www-304.ibm.com/support/docview.wss?uid=nas1f23d225573c211a186256a240067a3da "Generating Random Numbers in ILE RPG Using the CEERAN0 API"], IBM.com</ref> was released in 1994 as part of the V3R2 release of [[OS/400]] (now known as IBM i).<ref>[http://www.ibmsystemsmag.com/Blogs/iDevelop/April-2015/How-Did-We-Miss-RPG-IV-s-Coming-of-Age-/ "How did we miss RPG IV's Coming of Age?"] {{Webarchive|url=https://web.archive.org/web/20170303042652/http://www.ibmsystemsmag.com/Blogs/iDevelop/April-2015/How-Did-We-Miss-RPG-IV-s-Coming-of-Age-/ |date=2017-03-03 }}, ibmsystemsmag.com</ref> <ref>{{cite web |title=RPG/400 |url=https://www.ibm.com/docs/en/rdfi/9.6.0?topic=languages-rpg400 |website=IBM.com | date=8 May 2018 |publisher=International Business Machines Corporation |access-date=4 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403171745/https://www.ibm.com/docs/en/rdfi/9.6.0?topic=languages-rpg400 |url-status=live }}</ref> With the release of RPG IV, the RPG name was officially no longer an [[initialism]]. RPG IV offered a greater variety of expressions within its Extended Factor-2 Calculation Specification and, later in life, its free-format Calculation Specifications and Procedure syntax. RPG IV in the [[Integrated Language Environment|Integrated Language Environment framework]] is known as ILE RPG, and user guides explain the nuances of both.<ref>{{cite web |title=ILE RPG Reference |url=https://www.ibm.com/docs/en/rdfi/9.6.0?topic=reference-ile-rpg |website=IBM.com | date=June 2012 |publisher=International Business Machines Corporation |access-date=4 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403170239/https://www.ibm.com/docs/en/rdfi/9.6.0?topic=reference-ile-rpg |url-status=live }}</ref><ref>{{cite web |title=ILE RPG Programmer's Guide |url=https://www.ibm.com/docs/en/rdfi/9.6.0?topic=guide-ile-rpg-programmers |website=IBM.com | date=June 2012 |publisher=International Business Machines Corporation |access-date=4 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403171745/https://www.ibm.com/docs/en/rdfi/9.6.0?topic=guide-ile-rpg-programmers |url-status=live }}</ref><ref>{{cite web |title=Who Should Use This Guide |url=https://www.ibm.com/docs/en/rdfi/9.6.0?topic=airpg-who-should-use-this-guide |website=IBM.com | date=June 2012 |publisher=International Business Machines Corporation |access-date=4 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403171743/https://www.ibm.com/docs/en/rdfi/9.6.0?topic=airpg-who-should-use-this-guide |url-status=live }}</ref> RPG IV and ILE RPG are supported by IBM in the current IBM i platform.<ref>{{cite web |title=High Level Languages |url=https://www.ibm.com/docs/en/rdfi/9.6.0?topic=information-high-level-languages |website=IBM.com | date=8 May 2018 |publisher=International Business Machines Corporation |access-date=4 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403171742/https://www.ibm.com/docs/en/rdfi/9.6.0?topic=information-high-level-languages |url-status=live }}</ref> In 2001, with the release of [[IBM i|OS/400]] V5R1, RPG IV offered greater freedom for calculations than offered by the Extended Factor-2 Calculation Specification: a ''free-format'' text-capable source entry, as an alternative to the original column-dependent source format. The "/FREE" calculation did not require the operation code to be placed in a particular column; the operation code is optional for the EVAL and CALLP operations; and syntax generally more closely resembles that of mainstream, general-purpose programming languages. Until November 2013, the free format applied exclusively to the calculation specifications.<ref>{{cite web|title=Totally Free RPG|url=http://ibmsystemsmag.blogs.com/idevelop/2013/10/as-you-may-have-already-heard-there-was-a-major-technology-refresh-tr-announcement-yesterday-check-out-fellow-blogger-st.html|publisher=IBM Systems Magazine|access-date=8 March 2014|author=Paris, Jon|author-link=Jon Paris|author2=Gantner, Susan|archive-date=8 March 2014|archive-url=https://web.archive.org/web/20140308153010/http://ibmsystemsmag.blogs.com/idevelop/2013/10/as-you-may-have-already-heard-there-was-a-major-technology-refresh-tr-announcement-yesterday-check-out-fellow-blogger-st.html|url-status=live}}</ref> With the [[IBM i]] V7R1 TR7 upgrade to the language, the "/free" and "/end-free" calculations are no longer necessary, and the language has finally broken the ties to punched cards. IBM Rational Developer for i (RDi),<ref>{{cite web |title=IBM Rational Developer for i |url=https://www.ibm.com/products/rational-developer-for-i |website=IBM.com |publisher=International Business Machines Corporation |access-date=3 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403060839/https://www.ibm.com/products/rational-developer-for-i |url-status=live }}</ref> an [[Eclipse (software)|Eclipse]]-based [[Integrated Development Environment]], is recommended by IBM for RPG development.<ref>{{cite web |title=5770-WDS IBM Rational Development Studio for i V7.4 |url=https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/s/877/ENUS5770-WDS/index.html |website=IBM.com |publisher=International Business Machines Corporation |access-date=3 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403060839/https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/s/877/ENUS5770-WDS/index.html |url-status=live }}</ref> The Source Entry Utility (SEU) text editor is no longer recommended for RPG development, and development ceased after IBM i 6.1.<ref>{{cite web |title=5770-WDS IBM Rational Development Studio for i V7.4 |url=https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/s/877/ENUS5770-WDS/index.html |website=IBM.com |publisher=International Business Machines Corporation |access-date=4 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403060843/https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_sm/s/877/ENUS5770-WDS/index.html |url-status=live }}</ref> Other legacy developer tools include CODE/400 (based on IBM WorkFrame/2) and [[VisualAge|VisualAge for RPG]]. ====Continuing language enhancements==== IBM continues to enhance the RPG language<ref>{{cite web |last1=IBM |title=RPG Cafe |url=https://www.ibm.com/support/pages/node/1106229 |website=IBM.com |publisher=International Business Machines Corporation |access-date=3 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403042552/https://www.ibm.com/support/pages/node/1106229 |url-status=live }}</ref> via software releases and intra-release “technology refreshes” (TRs).<ref>{{cite web |last1=IBM |title=IBM i Technology Updates |url=https://www.ibm.com/support/pages/node/1119129/ |website=IBM.com |publisher=International Business Machines Corporation |access-date=3 April 2022 |archive-date=12 April 2022 |archive-url=https://web.archive.org/web/20220412041649/https://www.ibm.com/support/pages/node/1119129 |url-status=live }}</ref><ref>{{cite web |last1=IBM |title=IBM i Technology Refresh |url=https://www.ibm.com/support/pages/ibm-i-technology-refresh |website=IBM.com |publisher=International Business Machines Corporation |access-date=3 April 2022 |archive-date=3 April 2022 |archive-url=https://web.archive.org/web/20220403042552/https://www.ibm.com/support/pages/ibm-i-technology-refresh |url-status=live }}</ref> More built-in functions (BIFs) have been added. It has the ability to link to [[Java (programming language)|Java]] objects,<ref>{{cite web|title=RPG/400 User's Guide|url=https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/books/c0918160.pdf|website=Ibm.com|access-date=6 August 2017|archive-date=7 August 2017|archive-url=https://web.archive.org/web/20170807070650/https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/books/c0918160.pdf|url-status=live}}</ref> and IBM i [[Application programming interface|API]]s; it can be used to write [[Common Gateway Interface|CGI]] programs with the help of IBM's [[Cgidev2]] Web toolkit,<ref>{{cite web|url=https://www.easy400.net/cgidev2/start|title=EASY400 CGIDEV2|website=Easy400.net|access-date=26 March 2019|archive-date=26 March 2019|archive-url=https://web.archive.org/web/20190326190652/https://www.easy400.net/cgidev2/start|url-status=live}}</ref> the [[Linoma Software|RPG Toolbox]], and other commercial Web-enabled packages. Even with the changes, it retains a great deal of backward compatibility, so an RPG program written 37 years ago could run today with little or no modification. The SQL precompiler allows current RPG developers to take advantage of IBM's cost-based SQE (SQL Query Engine). With the traditional F-Spec approach a developer had to identify a specific access path to a data set, now they can implement standard embedded SQL statements directly in the program. When compiled, the SQL precompiler transforms SQL statements into RPG statements which call the database manager programs that ultimately implement the query request. The RPG IV language is based on the [[EBCDIC]] character set, but also supports UTF-8, UTF-16 and many other character sets. The threadsafe aspects of the language are considered idiosyncratic by some as the compiler team has addressed threads by giving each thread its own static storage, rather than make the RPG run-time environment re-entrant. This has been noted to muddle the distinction between a thread and a process (making RPG IV threads a kind of hybrid between threads and processes). In 2010, IBM launched ''RPG Open Access'', also known as ''Rational Open Access: RPG Edition''. It allows new I/O handlers to be defined by a programmer - enabling data to be read from and written to sources which RPG does not provide inbuilt support for.<ref>{{cite web|url=https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/rzasm/roaIntro.htm|title=Rational Open Access: RPG Edition|publisher=IBM|access-date=2021-03-17|archive-date=2024-02-29|archive-url=https://web.archive.org/web/20240229162204/https://www.ibm.com/docs/en/i/7.2?topic=edition-rational-open-access-rpg|url-status=live}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)