Operational Control Language (OCL) — язык управления семейства миникомпьютеров IBM System/3 , System/32 , System/34 и System/36 . Он поддерживается в среде System/36 IBM i в целях обратной совместимости. Он похож на старые языки управления JCL ( System/370 ) и не связан с более поздними Control Language ( System/38 и IBM AS/400 ) и REXX (AS/400).
Операторы OCL используются для прямой загрузки пользовательских или системных программ в память, назначения им системных ресурсов и передачи им системного управления в процессе, называемом выполнением. Тот факт, что программа хранится на диске компьютера, сам по себе не заставляет компьютер обрабатывать или выполнять программу.
Операторы OCL можно вводить вручную с клавиатуры, но обычно они хранятся как член процедуры. Член процедуры — это свободно редактируемый член в библиотеке, это исходный файл. На S/32, S/34 и S/36 процедуры не компилируются, они интерпретируются .
Операторы OCL обычно начинаются с двух слешей и как минимум одного пробела. Вот пример процедуры, хранящейся в System/36 как член PROC1:
** Процедура PROC1 Дополнительная документация**** Автор: Джо Юзер 2006-05-29****// * 'Процедура PROC1 запущена'// * ' '// ЕСЛИ АКТИВЕН-'PROC2,PROC3' ПЕРЕЙТИ К ОК** IFF означает «если ложно»** ACTIVE-'name1,name2' означает истина** если хотя бы одна из перечисленных программ запущена в данный момент** GOTO xxx означает переход к оператору** с ТЕГОМ xxx и возобновлением обработки// ПАУЗА «Невозможно продолжить, так как выполняется другой расчет заработной платы»** Останавливает выполнение с сообщением// ОТМЕНА Останавливает выполнение этой процедуры// ТЭГ ОК// ЕСЛИ DATAF1-PFILE1 ЕСЛИ DATAF1-PFILE2 GOTO NODELT// * «Осторожно, существуют данные о платеже» Отображает информацию на терминале// * ' '// * 'Нажмите 1, чтобы продолжить и УДАЛИТЬ существующие файлы'// ЕСЛИ '1'=?1R? ОТМЕНА Параметр обозначается вопросительными знаками вокруг числа** Использование 1R между вопросительными знаками указывает на** что параметр обязателен** и обработка ожидает ввода данных пользователем. ** ОТМЕНА означает немедленный переход к концу задания.// LOAD $DELET $DELET используется для удаления файлов// БЕГАТЬ** Эта программа требует и обрабатывает, потребляет,** последующие операторы как данные до оператора END// ЕСЛИ ДАННЫЕF1-PFILE1 ВРЕЗКИЙ БЛОК-F1,МЕТКА-PFILE1** Условно удаляет существующий файл на диске.// ЕСЛИ ДАННЫЕF1-PFILE2 ВРЕЗКИЙ БЛОК-F1,МЕТКА-PFILE2// КОНЕЦ**// ТЕГ NODELT// ЗАГРУЗИТЬ PR101 PR101 может быть программой RPG или COBOL// ИМЯ ФАЙЛА-PAYMAST,DISP-SHR PAYMAST — это основной файл расчета заработной платы// ИМЯ ФАЙЛА-PFILE1,DISP-NEW,RECORDS-100,EXTEND-100** Создается и выделяется новый файл PFILE1.** 100 записей назначены PFILE1** когда все они использованы, система пытается продлить их еще на 100** каждый раз при заполнении.// БЕГАТЬ** Оператор END необходим только** для тех программ, которые включены** для обработки любых следующих утверждений как данных** Такие данные не нужно форматировать как OCL.// ПЕРЕКЛЮЧАТЕЛЬ 1XX0XXXX Устанавливает флаги U1–U8 в состояние УСТАНОВКИ (1), ВЫКЛ (0) или оставляет их в прежнем состоянии (X)**// LOCAL OFFSET-1,DATA-'PROC1' Помещает PROC1 в локальную область данных (LDA)// LOCAL OFFSET-101,DATA-'?USER?' Заменяет идентификатор пользователя оператора ** Доступ к LDA осуществляется через структуру данных UDS в программе RPG.** LDA и пользовательские переключатели (флаги) остаются доступными для последующих программ.** пока не установлено иное** Необходимо проверить вызываемые элементы подпроцедуры и исходный код загруженной программы.** относительно того, действительно ли переключатели LDA и User считываются или изменяются// ЗАГРУЗИТЬ PR102// ИМЯ ФАЙЛА-PAYMAST,DISP-SHR DISP-SHR означает, что файл находится в общем доступе, а не в исключительном доступе** Другие программы могут использовать PAYMAST одновременно.// ИМЯ ФАЙЛА-PFILE,МЕТКА-PFILE1 ИМЯ/МЕТКА используется при ссылке на имя файла RPG** и фактическая метка файла на диске отличаются// БЕГАТЬ// RETURN Возврат к вызывающей процедуре, в противном случае конец работы
Этот член процедуры включает в себя множество операторов OCL, а также выражения управления процедурами (PCE), ресурсы, то есть в основном файлы, выделяются, и несколько шагов задания, то есть программы выполняются.
Комментарии представлены звездочкой в столбце 1, а в остальном имеют свободный формат. Или могут быть размещены после логического конца оператора, если нет индикатора продолжения оператора на следующей строке, например, запятой.
IBM поддерживает свободное размещение руководств в Интернете и возможность их загрузки, включая OCL 36.