Operation Codes

La tabla siguiente muestra la sintaxis de formato libre para cada código de operación.
  • Ampliadores
    (A)
    Realizar siempre un vuelco, incluso si se especifica DEBUG (*NO)
    (A)
    Orden ascendente
    (C)
    Manejar sólo las excepciones enviadas al procedimiento actual para ON-EXCP
    (D)
    Pasar descriptores operativos en llamada enlazada
    (D)
    Campo de fecha
    (D)
    Orden descendente
    (E)
    Manejo de errores
    (H)
    Ajuste a medias (redondeo del resultado numérico)
    (M)
    Reglas de precisión predeterminadas
    (N)
    No bloquear registro
    (N)
    Establecer puntero en *NULL después de DEALLOC satisfactorio
    (N)
    No fuerce los datos al almacenamiento no volátil
    (P)
    Rellenar el resultado con espacios en blanco o ceros
    (R)
    Reglas de precisión "Posición decimal de resultado"
    (T)
    Campo de hora
    (Z)
    Campo de indicación de fecha y hora
Tabla 1. Códigos de operación en sintaxis de formato libre
Código Free-Form Syntax
ACQ 1 ACQ{(E)} nombre-dispositivo workstn-file
BEGSR BEGSR nombre-subrutina
CONVOCATORIA {CALLP{(EMR)}} nombre({parm1{:parm2...}})
Cadena CHAIN{(ENHMR)} arg_búsqueda nombre-archivo-o-registro { estructura-datos}
Borrar CLEAR {*NOKEY} {*ALL} nombre
Cerrar CLOSE{(E)} nombre-archivo
COMMIT COMMIT{(E)} {límite}
DATOS-GEN DATA-GEN{(EH)} analizador de documentos de origen
DATOS-INTO DATA-INTO{(EH)} analizador de documentos de destino o manejador
DEALLOC 1 DEALLOC{(EN)} nombre-puntero
suprimir DELETE{(EHMR)} {arg_búsqueda} nombre-archivo-o-registro
DOU DOU{(MR)} expresión-indicador
DOW DOW{(MR)} expresión-indicador
DSPLY DSPLY{(E)} {mensaje {cola de mensajes {respuesta}}}
VOLCADO 1 DUMP{(A)} {identificador}
Else ELSE
ELSEIF ELSEIF{(MR)} expresión-indicador
ENDDO ENDDO
FINALIZAR ENDFOR
endIf endIf
ENDMON ENDMON
FIN FIN
ENDSR ENDSR {punto-retorno}
eval {EVAL{(HMR)}} result = expresión
EVALR EVALR{(MR)} result = expresión
EVAL-CORR EVAL-CORR{(EH)} ds-destino = ds-origen
EXCEPT EXCEPT {nombre-excepción}
EXFMT EXFMT{(E)} nombre-formato {data-structure}
EXSR EXSR nombre-subrutina
FEOD FEOD{(EN)} nombre-archivo
For FOR{(MR)} índice {= inicio} {BY incremento} {TO | DOWNTO límite}
PARA CADA FOR-EACH{(H)} elemento IN matriz | %LIST | %SUBARR
FORCE FORCE nombre-archivo
SI IF{(MR)} expresión-indicador
EN 1 IN{(E)} {*LOCK} nombre-área-datos
ITER ITER
Dejar LEAVE
HOJAS HOJAS
MONITOR MONITOR
SIGUIENTE1 NEXT{(E)} dispositivo-programa nombre-archivo
EN CASO DE ERROR ON-ERROR {exception-id1 {:exception-id2 ...}}
AL SALIR ON-EXIT {estado}
Abrir OPEN{(E)} nombre-archivo
Otros OTRO
SALIDA1 OUT{(E)} {*LOCK} nombre-área-datos
POSTE 1 POST{(E)} {dispositivo-programa} nombre-archivo
LECTURA READ{(EN)} nombre-archivo-o-registro {estructura-datos}
READC READC{(E)} nombre-registro {estructura-datos}
LEER READE{(ENHMR)} arg-búsqueda| *KEY nombre-archivo-o-registro { estructura-datos}
READP READP{(EN)} nombre {estructura-datos}
READPE READPE{(ENHMR)} arg-búsqueda| *KEY nombre de archivo o registro {estructura de datos}
REL 1 REL{(E)} dispositivo-programa nombre-archivo
REINICIAR 1 RESET{(E)} {*NOKEY} {*ALL} nombre
RETURN RETURN{(HMR)} expresión
ROLBK ROLBK {(E)}
select SELECCIONAR
SETGT SETGT{(EHMR)} arg_búsqueda nombre-archivo-o-registro
SETLL SETLL{(EHMR)} arg-búsqueda nombre-archivo-o-registro
SORTA SORTA{(AD)} nombre-matriz o matriz-ds-con-clave
PRUEBA 1 TEST{(EDTZ)} {dtz-format} nombre-campo
DESBLOQUEAR 1 UNLOCK{(E)} nombre
ACTUALIZACIÓN UPDATE{(E)} nombre de archivo o registro {estructura de datos| %FIELDS(nombre{:nombre...})}
When WHEN{(MR)} expresión-indicador
ESCRIBIR WRITE{(E)} nombre-archivo-o-registro {estructura-datos}
XML-INTO XML-INTO{(EH)} documento xml de destino o manejador
XML-SAX XML-SAX {(E)} manejador xml-documento
Nota:
  1. Los nombres calificados complejos no están permitidos para este código de operación.

La tabla siguiente es un resumen de las especificaciones para cada código de operación en sintaxis tradicional.

  • Una columna vacía indica que el campo debe estar en blanco.
  • Todos los campos subrayados son obligatorios.
  • Un espacio subrayado indica que no hay ningún indicador resultante en esa posición.
  • símbolos
    +
    Más
    -
    Menos
  • Ampliadores
    (A)
    Realizar siempre un vuelco, incluso si se especifica DEBUG (*NO)
    (A)
    Orden ascendente
    (D)
    Pasar descriptores operativos en llamada enlazada
    (D)
    Campo de fecha
    (D)
    Orden descendente
    (E)
    Manejo de errores
    (H)
    Ajuste a medias (redondeo del resultado numérico)
    (M)
    Reglas de precisión predeterminadas
    (N)
    No bloquear registro
    (N)
    Establecer puntero en *NULL después de DEALLOC satisfactorio
    (P)
    Rellenar el resultado con espacios en blanco o ceros
    (R)
    Reglas de precisión "Posición decimal de resultado"
    (T)
    Campo de hora
    (Z)
    Campo de indicación de fecha y hora
  • Símbolos de indicador resultantes
    BL
    Blanco (s)
    BN
    Blanco (s) y, a continuación, numérico
    BOF
    Inicio del archivo
    fin del archivo
    Fin del archivo
    EQ
    Igual
    ER
    Error
    FD
    Encontrado
    HI
    Mayor que
    IN
    Indicador
    DO
    Menor que
    LR
    Último registro
    NR
    No se ha encontrado ningún registro
    NU
    Numéricas
    de
    Apagada
    Activar
    Activado
    Z
    Cero
    ZB
    Cero o en blanco
Tabla 2. Códigos de operación en sintaxis tradicional
Códigos Tipo Datos Tipo Datos Campo de resultado Resulting Indicators
71-72 73-74 75-76
ACQ ( E7 ) nombre de dispositivo archivo-workstn     ER  
ADD (H) Añadir Añadir Suma + - Z
ADDDUR (E) Fecha/hora Duración: Código de duración Fecha/hora   ER  
ASIGNAR (E)   longitud Puntero   ER  
ANDxx Comparación Comparación        
BEGSR nombre-subrutina          
BITOFF   Números de bits Campo de caracteres      
BITÓN   Números de bits Campo de caracteres      
CABxx Comparación Comparación Etiqueta HI DO EQ
LLAMADA (E)   Nombre de programa Nombre de plist   ER LR
CALLB (D E)   Nombre de procedimiento o Puntero de procedimiento Nombre de plist   ER LR
CALLP (E M/R)   nombre {(parm1 {:parm2 …}) }
CASxx Comparación Comparación Nombre de subrutina HI DO EQ
CAT (P) Serie de origen 1 Serie de origen 2: número de espacios en blanco Serie de destino      
CADENA (E N) arg-búsqueda name (formato de archivo o registro) estructura de datos NR2 ER  
COMPROBAR (E) Serie de comparador Serie base:inicio Posiciones más a la izquierda   ER FD2
COMPROBAR (E) Serie de comparador Serie base:inicio Posición (s) más a la derecha   ER FD2
Borrar *NOKEY *ALL name (formato de registro o variable)      
CERRAR (E)   nombre-archivo o *ALL     ER  
CONFIRMAR (E) límite       ER  
COM P1 Comparación Comparación   HI DO EQ
DEALLOC (E/N)     nombre-puntero   ER  
DEFINE *COMO Campo referenciado Campo definido      
DEFINE *DTAARA Área de datos externos Campo interno      
SUPRIMIR (E) arg-búsqueda name (formato de archivo o registro)   NR2 ER  
DIV (H) Dividendo Divisor COCIENTE + - Z
DO Valor de inicio Valor límite Valor de índice      
DOU (M/R)   expresión-indicador
FECHA Comparación Comparación        
DOW (M/R)   expresión-indicador
DOWxx Comparación Comparación        
DSPLY (E) 4 mensaje cola de mensajes respuesta   ER  
VERTEDERO (A) identificador          
Else            
ELSEIF (M/R)   expresión-indicador
END   Valor de incremento        
FINALIZAR            
ENDDO   Valor de incremento        
FINALIZAR            
endIf            
ENDMON            
FIN            
ENDSR etiqueta punto de retorno        
EVAL (H M/R)   Resultado = Expresión
EVALR (M/R)   Resultado = Expresión
EVAL-CORR   EVAL-CORR ds-destino = ds-origen
EXCEPT   nombre-excepción        
EXFMT (E)   Nombre de formato de registro estructura de datos   ER  
EXSR   nombre-subrutina        
EXTRACCIÓN (E)   Fecha/hora: Código de duración Campo de destino   ER  
FEOD (ES)   nombre-archivo     ER  
For   Index-name = valor-inicio BY incremento TO | DOWNTO límite
FORCE   nombre-archivo        
GOTO   Etiqueta        
SI (M/R)   expresión-indicador
IFxx Comparación Comparación        
EN (E) *BLOQUEAR nombre-área-datos     ER  
ITER            
KFLD     Campo de clave      
klist Nombre de KLIST          
Dejar            
HOJAS            
LOOKUP1 (matriz) Argumento de búsqueda Nombre de matriz   HI DO EQ6
LOOKUP1 (tabla) Argumento de búsqueda Nombre de tabla Nombre de tabla HI DO EQ6
MHHZO   Campo de origen Campo de destino      
MHLZO   Campo de origen Campo de destino      
MLHZO   Campo de origen Campo de destino      
MLLZO   Campo de origen Campo de destino      
MONITOR            
MOVER (P) Atributos de datos Campo de origen Campo de destino + - ZB
MOVEA (P)   Origen Destino + - ZB
MOVIMIENTO (P) Atributos de datos Campo de origen Campo de destino + - ZB
MULT (H) Multiplicando Multiplicador Producto + - Z
MVR     Cantidad restante + - Z
SIGUIENTE (E) dispositivo-programa nombre-archivo     ER  
OCURRIR (E) Valor de aparición Estructura de datos Valor de aparición   ER  
EN CASO DE ERROR   Códigos de estado
AL SALIR   Estado
ABIERTO (E)   nombre-archivo     ER  
ORxx Comparación Comparación        
Otros            
SALIDA (E) *BLOQUEAR nombre-área-datos     ER  
PARM Campo de destino Campo de origen Parámetro      
PList Nombre de PLIST          
POST (E) 3 dispositivo-programa nombre-archivo Nombre de INFDS   ER  
LECTURA (E N)   name (formato de archivo o registro)
datos-Estructura
  ER EOF5
READC (E)   nombre-registro
datos-Estructura
  ER EOF5
LEER (E N) arg-búsqueda name (formato de archivo o registro)
datos-Estructura
  ER EOF5
READP (E N)   name (formato de archivo o registro)
datos-Estructura
  ER BOF5
READPE (E N) arg-búsqueda name (formato de archivo o registro)
datos-Estructura
  ER BOF5
REALLOC (E)   longitud Puntero   ER  
REL (E) dispositivo-programa nombre-archivo     ER  
REINICIAR (E) *NOKEY *ALL name (formato de registro o variable)   ER  
RETORNO (H M/R)   Expresión
ROLBK (E)         ER  
ESCANEAR (E) Serie de comparador:length Serie base:inicio Posiciones más a la izquierda   ER FD2
select            
SETGT (E) arg-búsqueda name (formato de archivo o registro)   NR2 ER  
SETLL (E) arg-búsqueda name (formato de archivo o registro)   NR2 ER EQ6
SET OFF1       de de de
SET ON1       Activar Activar Activar
SHTDN       Activar    
SORTA (A/D)   array-name o keyed-ds-array        
SQRT (H)   valor root      
SUB (H) Menudos Sustraendo Diferencia + - Z
SUBDUR (E) (duración) Fecha/hora/indicación de fecha y hora Fecha/hora/indicación de fecha y hora Duración: Código de duración   ER  
SUBDUR (E) (nueva fecha) Fecha/Hora/Indicación de fecha y hora Duración: Código de duración Fecha/hora/indicación de fecha y hora   ER  
SUST (E P) Longitud a extraer Serie base:inicio Serie de destino   ER  
ETIQUETA Etiqueta          
PRUEBA (E) 8     Fecha/hora o Campo de indicación de fecha y hora   ER  
PRUEBA (D E) 8 Formato de fecha   Carácter o Campo numérico   ER  
PRUEBA (E T) 8 Formato de hora   Carácter o Campo numérico   ER  
PRUEBA (E Z) 8 Formato de la indicación de la hora   Carácter o Campo numérico   ER  
PR UEBA B1   Números de bits Campo de caracteres de Activar EQ
T ESTN1     Campo de caracteres NU BN BL
PRUEBA Z1     Campo de caracteres IA JR XX
Hora     Campo de destino      
DESBLOQUEAR (E)   name (archivo o área de datos)     ER  
ACTUALIZAR (E)   name (formato de archivo o registro)
datos-Estructura
  ER  
CUÁNDO (M/R)   expresión-indicador
CUÁNDOxx Comparación Comparación        
GRABACIÓN (E)   name (formato de archivo o registro)
datos-Estructura
  ER EOF5
XFOOT (H)   Nombre de matriz Suma + - Z
XLATE (E P) De: A Serie:inicio Serie de destino   ER  
XML-INTO   XML-INTO documento-xml-destino-o-handler
XML-SAX   XML-SAX {(E)} manejador xml-documento
Z-ADD (H)   Añadir Suma + - Z
Z-SUB (H)   Sustraendo Diferencia + - Z
Nota:
  1. Se necesita al menos un indicador resultante.
  2. La función incorporada %FOUND puede utilizarse como alternativa a la especificación de un indicador resultante NR o FD.
  3. Debe especificar el factor 2 o el campo de resultado. Puede especificar ambos.
  4. Debe especificar el factor 1 o el campo de resultado. Puede especificar ambos.
  5. La función incorporada %EOF puede utilizarse como alternativa a la especificación de un indicador resultante EOF o BOF.
  6. La función incorporada %EQUAL se puede utilizar para probar las operaciones SETLL y LOOKUP.
  7. Para todos los códigos de operación con el extensor 'E', se puede especificar el extensor ' E' o un indicador de error ER, pero no ambos.
  8. Debe especificar el expansor ' E' o un indicador de error para la operación TEST.