Opciones del programa de utilidad de conversión de origen (scu)

Hay varias opciones disponibles en el programa de utilidad de conversión de origen (scu) para la conversión de programa fuente.

El mandato scu tiene la sintaxis siguiente:

Leer diagrama de sintaxisOmitir diagrama de sintaxis visual scu-h-\?-V?-7-b-e-E-f-Gnombre_directorio_salida-Inombre_directorio_entrada-L-M-N-onombre_archivo_salida-s-ttabulador-tancho de tabla-vnombre_archivo_origen

Descripciones de opciones:

-7
Si una línea empieza con un carácter especial, la opción -7 detecta y mueve el carácter a la columna 7 (el área de indicador de formato fijo o ampliado). El carácter especial aquí puede ser un asterisco '*', una barra inclinada '/', un signo de dólar '$', un carácter 'D' seguido de un espacio y' d' seguido de un espacio. Los caracteres que siguen al carácter especial movido se manejan en función de sus posiciones:
  • Si los caracteres siguientes están en la columna 2-7, toda la línea se mueve a la derecha hasta que el carácter especial está en la columna 7.
  • Si los caracteres siguientes están en el área A o B, permanecen donde están, a menos que haya caracteres en la columna 73 o más allá. Cuando hay caracteres en la columna 73 o más allá, los caracteres se pueden mover a la izquierda al principio del área B.
Notas:
  • Para un signo de dólar '$', scu emite un error que indica que es necesaria una intervención manual para esta línea.
  • El carácter especial '-' como primer carácter de una línea se mueve a la columna 7 sólo cuando se especifican las opciones -f y -7 o cuando se especifica la opción -f y '-' está en la columna 1.
  • Para los caracteres especiales que no están en la columna 7 o no se mueven a la columna 7, scu maneja estos caracteres como regulares (no especiales).
-b
Elimina los espacios en blanco finales.
-e
Indica si un archivo de entrada está en formato de origen ampliado de una línea de 252 caracteres. Esta opción permite a scu distinguir el formato ampliado del formato fijo predeterminado y convertir el código fuente correctamente.
-E
Indica a scu que la salida (el origen convertido) no está limitada a las 72 columnas predeterminadas (el formato fijo). scu puede ampliar las líneas hasta la longitud máxima de 252 columnas si es necesario.
-f
Identifica el origen de entrada como en formato libre. Por defecto, el formato de fuente fijo (compatible) permite código fuente COBOL ejecutable en el Área A (columnas 8-11) y el Área B (columnas 12-72), con indicadores en la columna 7. Opcionalmente, si especifica -e, el área B se amplía a la columna 252 para el archivo de entrada. La -f opción hace scu que el código fuente se COBOL mueva de las columnas 1 a 6 a la columna indicadora, Área A o Área B, dependiendo del contenido del código fuente que se va a mover.
La opción -f maneja líneas de origen de formato libre que empiezan con caracteres especiales de una de las formas siguientes:
  • Si el carácter especial está en la columna 1 (el área de indicador de formato libre), el carácter se mueve a la columna 7 (el área de indicador de formato fijo).
  • Si el carácter especial está en la columna 2-11, se mueve a la columna 12 (la columna inicial del Área B).
Notas:
  • Los caracteres especiales en un archivo de origen de formato libre pueden ser '*', '/', '$', '-', 'D' seguido por el espacio y ' d' seguido por el espacio.
  • De forma predeterminada, no se especifica la opción -f , y un carácter especial al principio de una línea de formato libre se mueve a la columna 12 (columna inicial del Área B) sólo cuando está en la columna 8-11 (Área A). Cuando el carácter especial está en otras columnas, permanece donde está. Un carácter que no es un carácter especial en la columna 7 se deja en blanco.
  • Cuando se utiliza la opción -f en combinación con la opción -7 , cualquier carácter especial de la columna 1-6 se mueve a la columna 7. Este uso es similar a la opción -7 solo, pero incluye '-' como carácter especial.
-G <nombre del directorio de salida del libro de copias>
Arregla archivos COPY y los coloca en el directorio especificado. Para un archivo COPY calificado con un nombre de directorio, el nombre de directorio se mantiene como el subdirectorio del directorio de archivos COPY especificado. Si no se especifica la opción -G , sólo se arregla el archivo fuente principal.
Nota: No inserte espacios entre -G y < nombre de directorio de salida de libro de copias >.
-h
Proporciona ayuda básica de scu con información sobre las funciones disponibles de scu. También puede especificar -\? para visualizar la misma información de ayuda que -h . Para obtener ayuda más detallada, consulte la página man de scu ejecutando el mandato man scu.
-I <nombre del directorio de entrada del libro de copias>
Añade la vía de acceso especificada a los directorios en los que buscar libros de copias si no se especifica un nombre de biblioteca o SYSLIB.
Notas:
  • Esta opción es la letra I en mayúsculas, no la letra l en minúsculas.
  • Sólo se permite una única vía de acceso para cada opción -I . Para añadir varias vías de acceso, utilice varias opciones de -I .
  • No inserte espacios entre -I y < nombre de directorio de entrada de libro de copias >.
  • Los archivos COPY que se recuperan de un directorio -I , arreglados por scu y almacenados en el directorio-G se pueden seleccionar especificando -I y el mismo directorio -G . De esta forma, scu utiliza una versión fija del archivo de copia en las ejecuciones posteriores en los mismos o distintos archivos de origen principales.
-L
Sangra los números de nivel distintos de 01 y 77 al Área B cuando los números de nivel están en el Área A.
-M
Emite un código de arreglo de scu (por ejemplo, SCU0001) al final de cada línea fija y proporciona una breve descripción y un resumen en la parte inferior del archivo de salida. Cuando se introduce un COBOL estándar compatible y se especifica -M la opción, se añade un código scu de corrección a las columnas no compilables no utilizadas (a partir de la columna 82) para indicar que la línea ha sido modificada. También se proporciona un resumen para visualizar información de arreglos que está asociada con cada código de arreglo. Los códigos de arreglo y el resumen se proporcionan para los cambios de sintaxis y semánticos, no para los cambios de transformación iniciales. Por ejemplo, cuando especifica -f para convertir un archivo de formato libre a una columna 80 fija o un formato ampliado, los cambios de línea se realizan pero no recibe un código de arreglo scu .
Utilice la numeración de código de arreglo para identificar el nivel de atención necesaria para el mensaje:
Tabla 1. Niveles de gravedad de mensajes scu
Rango de códigos de arreglo Gravedad Descripción
SCU0001 - SCU1999 Informativo Scu espera que no se necesiten más cambios para el arreglo.
SCU2000 - SCU3999 Aviso Scu espera que sean necesarios más cambios. Por ejemplo, el arreglo de cambiar OCCURS del nivel 01 al nivel 02 puede requerir más cambios relacionados con el arreglo.
SCU8000 - SCU8999 Error Scu espera que se necesiten más cambios para completar el arreglo.
SCX0001 - SCX8999 Error no corregido El problema está identificado, pero scu no puede solucionar el problema. El código de error SCXnnnn corresponde al código de arreglo SCUnnnn coincidente.
SCX9000 - SCX9999 Error ignorado El problema está identificado, pero scu no intenta solucionarlo.
Nota: Scu es posible que no identifique o arregle todas las incompatibilidades que existen en el código.
La lista siguiente proporciona ejemplos de códigos de arreglo de scu y los errores corregidos correspondientes:
SCU0001 fix for IGYDS0001-W: Add missing space(s).
SCU0004 fix for IGYPS0019-W: Extra and misplaced periods in COBOL source. Scu removes the
extra periods.
SCU1002 fix for IGYGR1080-S: Non-floating point literal is assigned to floating point data
item. Scu converts it to floating point constant notation.
SCU1005 fix for IGYPS2024-S: SET used in place of MOVE. Scu converts SET stmt to MOVE stmt.
SCU1006 fix for IGYPS2094-S: "<>" converted to "NOT = ".
SCU1008 fix for IGYDS0017-E: "01" not in Area A. Scu moves 01 to Area A.
SCU3001 fix for IGYDS1063-E: OCCURS clause in level 01. Scu changes it to level 02 and adds 
a dummy 01. 
SCU8001 fix for IGYDS0093-S: RECORD SEQUENTIAL not supported. Scu replaces RECORD
SEQUENTIAL with LINE SEQUENTIAL.
SCX9001 specified for an 02 level data item following an 01 level OCCURS that has been changed
to an 02 level OCCURS with fix code SCU3001
-N
Permite a scu realizar sólo los cambios de transformación iniciales sin cambios de sintaxis y semánticos, y fuerza que la salida se grabe en la salida estándar.
-o <nombre del archivo de salida>
Especifica el nombre de archivo de salida para el archivo de origen. El archivo de salida se puede calificar con un directorio existente. Por ejemplo, el mandato scu -o/dirname1/abc.modified.cbl abc.cbl guarda el archivo de salida abc.modified.cbl en el directorio /dirname1 . De forma predeterminada, el archivo de salida se guarda en el directorio actual. Si no se especifica la opción -o , el archivo de salida para el archivo de origen sería abc.scu.cbl.
-s
Elimina los números de secuencia iniciales y finales al dejar en blanco las columnas 1-6 y truncar la línea fuente en la columna 73.
-t <tabwidth>
Pasa a scu el ancho de pestaña que se utiliza en el código fuente para asegurarse de que los datos convertidos están en columnas correctas. Los caracteres de tabulación que se encuentran antes de una posición de tabulación se sustituyen por espacios suficientes para mover el carácter subsiguiente a la posición de tabulación. El ancho de pestaña predeterminado es 8.
-t <tabstop>,...
Pasa a scu los tabuladores para la conversión. Especifique dos o más tabuladores separados por comas. Los caracteres de tabulación encontrados después de la última posición de tabulación se sustituyen por un único carácter de espacio.
-v
Habilita la salida detallada para que la información de errores y arreglos se envíe a STDERR durante la transformación de origen, la comprobación de sintaxis y semántica, y el arreglo.
-V
Muestra la información de versión de scu.

Libros de copias y scu:

Es una buena práctica que todos los libros de copias pasen por cambios de transformación antes de que scu intente arreglar errores de sintaxis y semánticos, porque actualmente scu no realiza automáticamente cambios de transformación en los libros de copias. Primero puede ejecutar scu para los libros de copias especificando la opción -N con cualquier otra opción de transformación, como por ejemplo -7, -b, -e, -E, -f, -L, -sy -t. A continuación, ejecute scu para los archivos de origen principales y especifique -I con el directorio de libro de copias que contiene los libros de copias transformados para el proceso de errores semánticos y de sintaxis.