Jump to content

Язык оперативного управления

Язык оперативного управления (OCL) — это язык управления семейством IBM System/3 , System/32 , System/34 и System/36 миникомпьютеров . Он поддерживается в среде IBM i System/36 в целях обратной совместимости. Он похож на более старые языки управления JCL ( System/370 ) и не связан с более поздними языками управления ( System/38 и IBM AS/400 ) и REXX (AS/400).

Операторы OCL используются для непосредственной загрузки пользовательских или системных программ в память, назначения им системных ресурсов и передачи им управления системой в процессе, называемом выполнением. Тот факт, что программа хранится на диске компьютера, сам по себе не заставляет компьютер обрабатывать или выполнять программу.

Операторы OCL можно вводить вручную с клавиатуры, но обычно они сохраняются как член процедуры. Член процедуры — это свободно редактируемый член библиотеки, это исходный файл. На S/32, S/34 и S/36 процедуры не компилируются, они интерпретируются .

Операторы OCL обычно начинаются с двух косых черт и хотя бы одного пробела. Вот пример процедуры, хранящейся в System/36 как член PROC1:

** Procedure PROC1                  Optional documentation
** 
** Written by Joe User 2006-05-29
**
** 
// * 'PROC1 procedure is running'
// * ' '
// IFF ACTIVE-'PROC2,PROC3' GOTO OKAY
**                                  IFF means 'if false'
**                                  ACTIVE-'name1,name2' means true
**                                  if at least one of the listed programs is currently running
**                                  GOTO xxx means skip to the statement
**                                  that has a TAG xxx and resume processing
// PAUSE 'Cannot continue because other Payroll is running'
**                                  Halts execution with a message
// CANCEL                           Stops execution of this procedure
// TAG OKAY
// IFF DATAF1-PFILE1 IFF DATAF1-PFILE2 GOTO NODELT
// * 'Caution, Pay Data Exists'     Displays information on terminal
// * ' '
// * 'Press 1 to continue and DELETE existing files'
// IFF '1'=?1R? CANCEL              A parameter is indicated by question marks surrounding a number
**                                  Using 1R between question marks indicates
**                                  that the parameter is required
**                                  and processing waits for user input.  
**                                  CANCEL means immediately go to end of job.
// LOAD $DELET                      $DELET is used to delete files
// RUN
**                                  This program requires and processes, consumes,
**                                  succeeding statements as data up until an END statement 
// IF DATAF1-PFILE1 SCRATCH UNIT-F1,LABEL-PFILE1
**                                  Conditionally deletes an existing disk file
// IF DATAF1-PFILE2 SCRATCH UNIT-F1,LABEL-PFILE2
// END
**
// TAG NODELT
// LOAD PR101                       PR101 could be an RPG or COBOL program
// FILE NAME-PAYMAST,DISP-SHR       PAYMAST is the payroll master file
// FILE NAME-PFILE1,DISP-NEW,RECORDS-100,EXTEND-100
**                                  A new file PFILE1 is created and allocated
**                                  100 records are assigned to PFILE1
**                                  when all are used, the system tries to extend it by another 100
**                                  each time it fills.
// RUN
**                                  END statement is only necessary
**                                  for those programs enabled
**                                  to process any following statements as data
**                                  Such data does not need to be formatted like OCL
// SWITCH 1XX0XXXX                  Causes flags U1 through U8 to be SETON (1), OFF (0), or left as previously set (X)
**
// LOCAL OFFSET-1,DATA-'PROC1'      Places PROC1 in the Local Data Area (LDA)
// LOCAL OFFSET-101,DATA-'?USER?'   Substitutes the operator's User ID                        
**                                  LDA is accessed via a data structure, UDS within an RPG program
**                                  LDA and User switches (flags) remain available to succeeding programs
**                                  until set otherwise
**                                  Called sub-procedure members and loaded program's source code needs to be examined
**                                  as to whether or not the LDA and User switches are actually read or altered
// LOAD PR102
// FILE NAME-PAYMAST,DISP-SHR       DISP-SHR means the file is shared, versus exclusive access
**                                  Other programs can use PAYMAST at the same time
// FILE NAME-PFILE,LABEL-PFILE1     NAME/LABEL is used when the RPG file name reference
**                                  and the actual disk file label are different
// RUN
// RETURN                           Return to the calling procedure, otherwise end-of-job

Этот член процедуры включает в себя множество операторов OCL, а также выражения управления процедурами (PCE), ресурсы, то есть в основном выделяются файлы, и несколько шагов задания, то есть выполняются программы.

Комментарии обозначаются звездочкой в ​​столбце 1, в остальном они имеют произвольный формат. Или может быть помещен после логического конца оператора, если нет индикатора продолжения оператора на следующую строку, например завершающей запятой.

[ редактировать ]

IBM поддерживает бесплатные онлайн-руководства, которые можно загрузить, включая OCL 36.

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 49e399080755f75d679328266ba552d2__1693186380
URL1:https://arc.ask3.ru/arc/aa/49/d2/49e399080755f75d679328266ba552d2.html
Заголовок, (Title) документа по адресу, URL1:
Operational Control Language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)