Resultados 1 al 10 de 10

Tema: Compilacion erronea

  1. #1
      Acabo de llegar...
    d

    Registrado
    noviembre de 2018
    Edad
    53
    Mensajes
    19
    Última visita
    Hoy a las 03:10

    Agradecimientos
     
    Recibidos
    6
    Enviados
    3

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado Compilacion erronea

    Hola amigos de nuevo por aca desempolvando mi rm/cobol85.
    Tengo este codigo pero a la hora de compilar me aparece error en FUNCTION LENGTH.
    Saludos.

    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID. LONGITUD.
    3.      *
    4.        ENVIRONMENT DIVISION.
    5.      *
    6.        DATA DIVISION.
    7.        WORKING-STORAGE SECTION.
    8.        01  LONGITUD  PIC 99.
    9.        01  TEXTO     PIC X(36)
    10.                      VALUE "Sistema de Control de Calificaciones".
    11.      *
    12.        PROCEDURE DIVISION.
    13.        PRINCIPAL.
    14.            MOVE FUNCTION LENGTH(TEXTO) TO LONGITUD.
    15.            DISPLAY "La longitud de la cadena es:" LONGITUD.
    16.            STOP RUN.
    17.            
    18.                        

    0 Not allowed!

  2. #2
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,031
    Última visita
    Hoy a las 23:03

    Agradecimientos
     
    Recibidos
    869
    Enviados
    744

    Citaciones y menciones
     
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    8 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @dariodr, lo mismo tiene que ir en un COMPUTE y no en un MOVE ?

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  3. #3
      Acabo de llegar...
    d

    Registrado
    noviembre de 2018
    Edad
    53
    Mensajes
    19
    Última visita
    Hoy a las 03:10

    Agradecimientos
     
    Recibidos
    6
    Enviados
    3

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Hola, he probado con COMPUTE y tambien da error.

    Este es el error en rm/cobol85
    Imagem Anexada Imagem Anexada

    0 Not allowed!

  4. #4
      Senior
    J

    Registrado
    junio de 2016
    Ubicación
    Albacete
    Edad
    56
    Mensajes
    293
    Última visita
    Hoy a las 19:52

    Agradecimientos
     
    Recibidos
    192
    Enviados
    99

    Citaciones y menciones
     
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    En RM/Cobol no existe ningun tipo "function".

    Tienes que hacerlo con un bucle "perform" o con "string".

    Aqui te adjunto el manual https://www.microfocus.com/documenta...15/RMC-LRM.pdf

    ---------- Post añadido el 9 de mayo de 2022 a las 19:21 ----------

    Tienes un hilo del foro que habla de eso

    [Aporte] Obtener la longitud del contenido de una variable - COBOL Foro

    ---------- Post añadido el 9 de mayo de 2022 a las 19:28 ----------

    Yo personalmente lo implemento con un perform

    ---------- Post añadido el 9 de mayo de 2022 a las 19:35 ----------

    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID. LONGITUD.
    3.      *
    4.        ENVIRONMENT DIVISION.
    5.      *
    6.        DATA DIVISION.
    7.        WORKING-STORAGE SECTION.
    8.        01  LONGITUD  PIC 99.
    9.        01  TEXTO     PIC X(36)
    10.                      VALUE "Sistema de Control de Calificaciones".
    11.      *
    12.        PROCEDURE DIVISION.
    13.        PRINCIPAL.
    14.            perform varying longitud from 1 by 1 until
    15.                  longitud = 36 or texto(longitud:) = ' '
    16.               continue
    17.            end-perform.
    18.  
    19.            DISPLAY "La longitud de la cadena es:" LONGITUD.
    20.            STOP RUN.

    Logicamente si la longitud de texto es mayor, por ejemplo 200, debemos de modificar 36 por 200

    ---------- Post añadido el 9 de mayo de 2022 a las 19:36 ----------

    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID. LONGITUD.
    3.      *
    4.        ENVIRONMENT DIVISION.
    5.      *
    6.        DATA DIVISION.
    7.        WORKING-STORAGE SECTION.
    8.        01  LONGITUD  PIC 99.
    9.        01  TEXTO     PIC X(200)
    10.                      VALUE "Sistema de Control de Calificaciones".
    11.      *
    12.        PROCEDURE DIVISION.
    13.        PRINCIPAL.
    14.            perform varying longitud from 1 by 1 until
    15.                  longitud = 200 or texto(longitud:) = ' '
    16.               continue
    17.            end-perform.
    18.  
    19.            DISPLAY "La longitud de la cadena es:" LONGITUD.
    20.            STOP RUN.

    0 Not allowed!

  5. #5
      Acabo de llegar...
    d

    Registrado
    noviembre de 2018
    Edad
    53
    Mensajes
    19
    Última visita
    Hoy a las 03:10

    Agradecimientos
     
    Recibidos
    6
    Enviados
    3

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    0

    Predeterminado

    Gracias por la respuesta, lo pondre en practica.
    Saludos.

    0 Not allowed!

  6. #6
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    654
    Última visita
    Hoy a las 13:41

    Agradecimientos
     
    Recibidos
    350
    Enviados
    311

    Citaciones y menciones
     
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 Post(s)
    Poder de Reputación
    35
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    A ver, ese bucle, tiene el problema de que en cuanto encuentre el primer espacio en blanco, para, por lo que, en este caso, en cuanto llegara al espacio en blanco que hay en el valor de la variable, después de "Sistema", se pararía. Tiene que ser un bucle inverso, que empiece por el final, hasta llegar al principio.

    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID. LONGITUD.
    3.      *
    4.        ENVIRONMENT DIVISION.
    5.      *
    6.        DATA DIVISION.
    7.        WORKING-STORAGE SECTION.
    8.        01  LONGITUD  PIC 99.
    9.        01  TEXTO     PIC X(36)
    10.                      VALUE "Sistema de Control de Calificaciones".
    11.      *
    12.        PROCEDURE DIVISION.
    13.        PRINCIPAL.
    14.            perform varying longitud from 36 by -1 until
    15.                  longitud = 1 or texto(longitud:) not = ' '
    16.               continue
    17.            end-perform.
    18.  
    19.            DISPLAY "La longitud de la cadena es:" LONGITUD.
    20.            STOP RUN.

    Como te indican, si cambias el tamaño de la variable, cambias el bucle, (ten en ecuenta de mirar también la PICTURE del contador, que sea la apropiada)

    Un salu2.-

    0 Not allowed!

  7. #7
      Guardián del Foro
    Avatar de Fito

    Registrado
    febrero de 2015
    Ubicación
    Córdoba, Villa María
    Edad
    51
    Mensajes
    339
    Última visita
    Hoy a las 15:07

    Agradecimientos
     
    Recibidos
    177
    Enviados
    179

    Citaciones y menciones
     
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    24
    Agradecimientos / Point Value: 0 Guardián del Foro / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado

    Hola @Josber,

    No, está bien asi como lo publicaron, Fijate de está analizando desde la posición hacia el final.

    Lo único que cuando lo pasó para 200 caracteres, la variable LONGITUD quedó de 99 en vez de 999.

    Saludos..

    Fito...

    0 Not allowed!

  8. #8
      Senior
    J

    Registrado
    junio de 2016
    Ubicación
    Albacete
    Edad
    56
    Mensajes
    293
    Última visita
    Hoy a las 19:52

    Agradecimientos
     
    Recibidos
    192
    Enviados
    99

    Citaciones y menciones
     
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    24
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Cita Iniciado por Fito Ver Mensaje
    Hola @Josber,

    No, está bien asi como lo publicaron, Fijate de está analizando desde la posición hacia el final.

    Lo único que cuando lo pasó para 200 caracteres, la variable LONGITUD quedó de 99 en vez de 999.

    Saludos..

    Fito...
    Si, llevas razón, puse un ejemplo pero sin percatarme de ello. Yo siempre utilizo variables grandes para estas cosas.

    COBOL Código:
    1.                  01 longitud 9(6).

    0 Not allowed!

  9. #9
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    654
    Última visita
    Hoy a las 13:41

    Agradecimientos
     
    Recibidos
    350
    Enviados
    311

    Citaciones y menciones
     
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 Post(s)
    Poder de Reputación
    35
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    ¿Dónde ha ido a parar todo el código COBOL que había en éste post? ....


    0 Not allowed!

  10. #10
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,031
    Última visita
    Hoy a las 23:03

    Agradecimientos
     
    Recibidos
    869
    Enviados
    744

    Citaciones y menciones
     
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    8 Post(s)
    Poder de Reputación
    10

    Predeterminado

    @Josber, ha habido algún problema. Al editar vuelven a salir.... No sé, voy a ver...

    Si veis algo así en otros posts, decídmelo.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Compilador] Advertencias en compilacion
    Por Fabio en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 8
    Último Mensaje: 23.08.2021, 10:22

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •