Report Program Generator (или RPG) - это язык программирования высокого уровня, синтаксис которого был изначально сходен с командным языком механических табуляторов компании IBM. Это проприетарный модуль программирования IBM, и доступ к большинству его более поздних версий возможен только в системах на базе IBM i или OS / 400.
RPG имеет довольно долгую историю. Он был разработан техническим гигантом IBM в 1959 году как инструмент, который был придуман, чтобы служить альтернативой для системы обработки перфокарт на IBM 1401. Однако впоследствии он был обновлен до RPG II в 1960-х годах. С тех пор он превратился в языковой эквивалент высокого уровня COBOL и PL/I.
На сегодняшний день RPG по-прежнему является популярным языком программирования в операционной системе IBMi. RPG IV (также известная как ILE RPG) является самой последней версией RPG и представляет собой инструмент, который обеспечивает высокоэффективную среду программирования для программистов AS400 RPG.
Когда RPG был впервые разработан, основную опору, которую он имел, был программный цикл. Каждая программа RPG выполняет программы в рамках гипотетического цикла. Этот цикл может применять одну и ту же программу к каждому записанному файлу. В это время будет проведено сравнение между каждой записью и каждой строкой в программе. У каждой строки есть выбор: действовать на запись или нет, в зависимости от того, включен ли индикатор в этой строке. Вся идея разрывов уровней и соответствующих записей является уникальной для языка RPG II.
С тех пор, как System/38 была представлена в 1979 году, большинство программистов RPG прекратили использовать цикл и предпочитали управлять потоком программ, который имеет стандартные циклические конструкции. Тем не менее, IBM также продолжает обеспечивать обратную совместимость для цикла.
Программисты IBM i RPG
Программисты IBM iSeries (или, если хотите, программисты AS400 RPG) - это специалисты, обученные использованию языка программирования RPG для манипулирования и решения проблем. Программисты RPG обычно работают в компаниях IBM.
Программист RPG может выполнять широкий спектр задач:
- Анализ, проектирование, разработка и сопровождение программного обеспечения IBM, написанного на множестве языков, включая RPG, RPG ILE, RPG-FREE и SQL.
- Следование различным функциональным спецификациям с целью создания технической документации и разработки псевдокодов.
- Создание новых программ RPG, либо модификация существующие.
RPG имеет долгую историю ...
Поскольку RPG является надежным языком для коммерческих приложений, многие обновления и версии помогли программистам IBM.
RPG II: после RPG, RPG II пополнилась большим количеством обновлений и модификаций, чтобы его можно было легко запускать на самых маленьких системах IBM того времени. К ним относятся - IBM 1130, IBM system3, system34 и system36. Позже он также использовался в более крупных системах, таких как system370. Наиболее интересным аспектом RPG II является то, что это язык программирования фиксированного формата, каждый код должен быть помещен в соответствующий столбец, чтобы генерировать правильный вывод.
RPGIII: следующим в очереди является RPG III, который был разработан для System38 и других более крупных систем. RPGIII более усовершенствован и мог поддерживать новые структуры, такие как IF END IF, циклы DO и подпрограммы. Он был доступен для более крупных систем, таких как IBM system370 с ОС VS1.
RPGIV / RPGLE: RPGIV был разработан в 1994 году и имеет множество улучшений по сравнению с RPGIII, таких как:
- Более длинные имена полей
- Отладка на уровне источника
- Дата и время поддержки
- Дополнительные типы данных (с плавающей точкой, логические, указатели)
- Выражения в произвольном формате
- Встроенные функции
Особенностью RPGIV является то, что он совместим с ILE. Это означает, что у программистов есть множество преимуществ в плане функциональности, производительности и обслуживания, кроме возможности интеграции нескольких языков.
RPG5 - это бесплатная версия формата ILE от IBM i V5 и RPG6 от IBM i V6.
RPG7: RPG 7 является последней версией языка программирования RPG и широко используется в отрасли. Это полностью бесплатный формат от IBM i V7.
RPG Open Access Handler
Обработчик на любом языке программирования - это событие или функция, созданная для определенной задачи. RPG-обработчик открытого доступа - это интерфейс или метод, который обрабатывает связь с доступными ресурсами и устройствами. Рациональный открытый доступ - это способ для программистов RPG использовать модель ввода-вывода RPG, чтобы легко использовать ресурсы и устройства, которые не поддерживаются RPG напрямую.
Платформы, на которых развернуты RPG
Начальные версии RPG были разработаны для систем IBM, таких как системы 1401, / 360, / 3, / 32, / 34, / 36, / 38 AS / 400 и System i. Позже он был усовершенствован и реализован для Sperry Univac BC / 7, Digital VAX, Siemens BS2000, Univac system 80, Burroughs B700, B1700 и многих других. Последней платформой, разработанной для компилятора RPG, является Windows .Net через компилятор WINRPG.
Пример кода
* "F" (file) specs define files and other i/o devices
Источник перевода
FARMstF1 UF E K Disk Rename(ARMST:RARMST)
* "D" specs are used to define variables and parameters
* The "prototype" for the program is in a separate file
* allowing other programs to call it
/copy cust_pr
* The "procedure interface" describes the *ENTRY parameters
D getCustInf PI
D pCusNo 6p 0 const
D pName 30a
D pAddr1 30a
D pAddr2 30a
D pCity 25a
D pState 2a
D pZip 10a
/free
// The "chain" command is used for random access of a keyed file
chain pCusNo ARMstF1;
// If a record is found, move fields from the file into parameters
if %found;
pName = ARNm01;
pAddr1 = ARAd01;
pAddr2 = ARAd02;
pCity = ARCy01;
pState = ARSt01;
pZip = ARZp15;
endif;
// RPG makes use of switches. One switch "LR" originally stood for "last record"
//LR actually flags the program and its dataspace as removable from memory.
*InLR = *On;
/end-free
0 комментариев
Добавить комментарий