Manejo de cadenas en COBOL se utilizan para hacer varias operaciones con cadenas. A continuación, se indican las instrucciones de manejo cadena:
- Inspeccionar
- Cadena
- Unstring
Inspeccionar
Inspeccione verbo es usado para contar o reemplazar los caracteres de una cadena. Cadena de operaciones que se pueden llevar a cabo el alfanumérico, numérico, alfabético o valores. Inspeccionar las operaciones se realizan de izquierda a derecha. Las opciones que se utilizan para las operaciones de cadena de la siguiente manera:
Cómputo
Cómputo se utiliza la opción para contar los caracteres de la cadena.
Sintaxis
Continuación se presenta la sintaxis de Cómputo opción:
INSPECT input-string TALLYING output-count FOR ALL CHARACTERS
Los parámetros utilizados son los siguientes:
- Entrada de cadena: La cadena cuyos caracteres se van a contar.
- Salida de contar : elemento de datos que se va a celebrar el recuento de caracteres.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-CNT1 PIC 9(2) VALUE 0. 01 WS-CNT2 PIC 9(2) VALUE 0. 01 WS-STRING PIC X(15) VALUE 'ABCDACDADEAAAFF'. PROCEDURE DIVISION. INSPECT WS-STRING TALLYING WS-CNT1 FOR ALL CHARACTERS. DISPLAY "WS-CNT1 : "WS-CNT1. INSPECT WS-STRING TALLYING WS-CNT2 FOR ALL 'A'. DISPLAY "WS-CNT2 : "WS-CNT2 STOP RUN.
JCL para ejecutar el programa COBOL.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-CNT1 : 15 WS-CNT2 : 06
Sustitución
Sustitución opción se utiliza para sustituir el caracteres de la cadena.
Sintaxis
Continuación se presenta la sintaxis de sustitución:
INSPECT input-string REPLACING ALL char1 BY char2.
El parámetro utilizado es el siguiente:
Entrada de cadena: La cadena cuyos caracteres se van a cambiar de char1 a char2.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC X(15) VALUE 'ABCDACDADEAAAFF'. PROCEDURE DIVISION. DISPLAY "OLD STRING : "WS-STRING. INSPECT WS-STRING REPLACING ALL 'A' BY 'X'. DISPLAY "NEW STRING : "WS-STRING. STOP RUN.
JCL para ejecutar el programa COBOL.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
OLD STRING : ABCDACDADEAAAFF NEW STRING : XBCDXCDXDEXXXFF
Cadena
Cadena verbo se utiliza para concatenar las cadenas. Uso de cadenas, dos o más cadenas de caracteres se pueden combinar para formar una cadena más larga. 'Delimitado por' la cláusula es obligatoria.
Sintaxis
La sintaxis siguiente es verbo de cadena:
STRING ws-string1 DELIMITED BY SPACE ws-string2 DELIMITED BY SIZE INTO ws-destination-string WITH POINTER ws-count ON OVERFLOW DISPLAY message1 NOT ON OVERFLOW DISPLAY message2 END-STRING.
A continuación, se describen los detalles de los parámetros utilizados:
- WS-cadena1 y ws-cadena2 : cadenas de entrada que se concatenarán
- WS-string : cadena de salida
- WS-: Se utiliza para contar la longitud de la nueva cadena concatenada
- Delimitado especifica el final de la cadena
- Puntero y el desborde son opcionales
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC A(30). 01 WS-STR1 PIC A(15) VALUE 'Tutorialspoint'. 01 WS-STR2 PIC A(7) VALUE 'Welcome'. 01 WS-STR3 PIC A(7) VALUE 'To AND'. 01 WS-COUNT PIC 99 VALUE 1. PROCEDURE DIVISION. STRING WS-STR2 DELIMITED BY SIZE WS-STR3 DELIMITED BY SPACE WS-STR1 DELIMITED BY SIZE INTO WS-STRING WITH POINTER WS-COUNT ON OVERFLOW DISPLAY 'OVERFLOW!' END-STRING. DISPLAY 'WS-STRING : 'WS-STRING. DISPLAY 'WS-COUNT : 'WS-COUNT. STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-STRING : WelcomeToTutorialspoint WS-COUNT : 25
Unstring
Unstring verbo se usa para dividir una cadena en varias sub-cadenas. Delimitado por la cláusula es obligatoria.
Sintaxis
Continuación se presenta la sintaxis de Unstring verbo:
UNSTRING ws-string DELIMITED BY SPACE INTO ws-str1, ws-str2 WITH POINTER ws-count ON OVERFLOW DISPLAY message NOT ON OVERFLOW DISPLAY message END-UNSTRING.
Ejemplo
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STRING PIC A(30) VALUE 'WELCOME TO TUTORIALSPOINT'. 01 WS-STR1 PIC A(7). 01 WS-STR2 PIC A(2). 01 WS-STR3 PIC A(15). 01 WS-COUNT PIC 99 VALUE 1. PROCEDURE DIVISION. UNSTRING WS-STRING DELIMITED BY SPACE INTO WS-STR1, WS-STR2, WS-STR3 END-UNSTRING. DISPLAY 'WS-STR1 : 'WS-STR1. DISPLAY 'WS-STR2 : 'WS-STR2. DISPLAY 'WS-STR3 : 'WS-STR3. STOP RUN.
JCL para ejecutar el programa COBOL:
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C //STEP1 EXEC PGM=HELLO
Cuando se compila y ejecuta el programa antes mencionado, se produce el resultado siguiente:
WS-STR1 : WELCOME WS-STR2 : TO WS-STR3 : TUTORIALSPOINT
No hay comentarios.:
Publicar un comentario