Cobol - unstring

 
Vista:
sin imagen de perfil

unstring

Publicado por Abraham (1 intervención) el 06/09/2021 22:23:46
Como puedo encontrar el error o los errores en el siguiente código:
IDENTIFICATION DIVISION.
PROGRAM-ID. SOLUTION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS.
02 WS-NUMBER-1.
03 WS-BUFF-1 PIC X(4).
03 WS-NUM-1 PIC 9(4).
02 WS-NUMBER-2.
03 WS-BUFF-2 PIC X(4).
03 WS-NUM-2 PIC 9(4).
LINKAGE SECTION.

01 LS-IN.
05 LS-IN-A X(4).
05 LS-IN-B 9(4).
05 LS-IN-C X(4).
05 LS-IN-D 9(4).

01 LS-OUT.
05 LS-OUT-RETURN-CODE PIC 9(2).
88 LS-OUT-RC-OK VALUE 00.
88 LS-OUT-RC-PROGRAM-ERROR VALUE 08.
05 LS-OUT-VALUE PIC 9(4).

PROCEDURE DIVISION USING LS-IN LS-OUT.

INITIALIZE WS.
UNSTRING LS-IN DELIMITED BY ALL SPACES
INTO
WS-BUFF-1
WS-BUFF-2
END-UNSTRING

MOVE function numval(LS-IN-B) TO WS-NUM-1
MOVE function numval(LS-IN-D) TO WS-NUM-2

MOVE WS-NUM-1 TO LS-OUT-VALUE
ADD WS-NUM-2 TO LS-OUT-VALUE

GOBACK.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Depuración de errores en un programa COBOL

Publicado por Alejandro (299 intervenciones) el 12/09/2023 18:50:09
Para encontrar los errores en el código COBOL proporcionado, podemos seguir estos pasos:

1. Errores de sintaxis:
- Verificar si todas las líneas de código están correctamente estructuradas. En el código proporcionado, la línea `END-UNSTRING` debe tener un punto y coma `;` al final para indicar el final de la instrucción `UNSTRING`.

2. Errores de asignación de datos:
- Verificar si las asignaciones de datos se realizan correctamente. Por ejemplo, en las líneas `MOVE function numval(LS-IN-B) TO WS-NUM-1` y `MOVE function numval(LS-IN-D) TO WS-NUM-2`, asegúrate de que `LS-IN-B` y `LS-IN-D` contengan valores numéricos válidos.

3. Errores en la instrucción UNSTRING:
- La instrucción `UNSTRING` se utiliza para dividir una cadena en partes más pequeñas. Asegúrate de que la cadena `LS-IN` contenga datos que puedan ser desglosados por las variables `WS-BUFF-1` y `WS-BUFF-2`.

4. Errores de estructura:
- Verificar que todas las estructuras de datos y variables estén declaradas correctamente. Por ejemplo, asegúrate de que las variables de enlace (`LS-IN` y `LS-OUT`) coincidan con la estructura esperada.

5. Errores en la lógica:
- Revisa la lógica del programa para asegurarte de que cumple con los requisitos del problema. En este caso, el programa parece tomar dos valores numéricos de entrada, sumarlos y colocar el resultado en `LS-OUT-VALUE`. Asegúrate de que esto sea lo que deseas lograr.

6. Errores de retorno:
- Verifica que los códigos de retorno (`LS-OUT-RC-OK` y `LS-OUT-RC-PROGRAM-ERROR`) se manejen adecuadamente según las condiciones específicas del programa.

Una vez que hayas revisado el código en busca de estos tipos de errores, podrás corregirlos según sea necesario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar