Resultados 1 al 2 de 2

Tema: Sentencia CLASS en SPECIAL-NAMES

  1. #1
      Junior
    L

    Registrado
    noviembre de 2015
    Ubicación
    Videla, Santa Fe
    Mensajes
    33
    Última visita
    18.03.2024

    Agradecimientos
     
    Recibidos
    18
    Enviados
    53

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

    Ayuda Sentencia CLASS en SPECIAL-NAMES

    Hola
    En una rutina en la que quiero revisar que el usuario no ingrese caracteres no válidos para el nombre de un correo electrónico, quiero declarar en la sección SPECIAL-NAMES la siguiente sentencia

    COBOL Código:
    1. CLASS wk-caracter-valido IS  '@', '_', '.',  'a' THRU 'i', 'j' THRU 'r', 's' THRU 'z', '0' THRU '9'.

    Según leí en el manual esta es la forma correcta de hacerlo (NETCOBLanguageReference capítulo 4, página 127).
    El problema me surge que al compilarlo no me reconoce la palabra CLASS y me tira el siguiente error " SPECIAL-NAMES(2) : JMN1123I-S An invalid word 'CLASS' was found".
    ¿ Se puede declarar esto de otra manera ?

    Lascu

    0 Not allowed!

  2. #2
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,290
    Última visita
    Hoy a las 15:46

    Agradecimientos
     
    Recibidos
    1,038
    Enviados
    888

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

    Predeterminado

    @Lascu, creo que te estás equivocando... Además, lo que tú quieres se puede hacer con un nivel 88 y un pequeño bucle:

    COBOL Código:
    1.        IDENTIFICATION DIVISION.
    2.        PROGRAM-ID.    TESTMAIL.
    3.        DATA DIVISION.
    4.        WORKING-STORAGE SECTION.
    5.        01  WS-MAIL.
    6.            05  WS-MAIL-CHAR           PIC X OCCURS 50 TIMES.
    7.                88  WS-CHAR-VAL-SI           VALUES '@' '_' '.'
    8.                'a' THRU 'i', 'j' THRU 'r', 's' THRU 'z', '0' THRU '9'.
    9.  
    10.        01  IDX-1                      PIC 99.
    11.        01  SW-ERROR                   PIC X.
    12.            88  SW-ERROR-SI                 VALUE 'S'.
    13.            88  SW-ERROR-NO                 VALUE 'N'.
    14.  
    15.        PROCEDURE DIVISION.
    16.  
    17.            MOVE "EjemploDeMail@Hotmail.com"  TO WS-MAIL *>EJEMPLO
    18.            MOVE FUNCTION LOWER-CASE(WS-MAIL) TO WS-MAIL
    19.  
    20.            SET SW-ERROR-NO TO TRUE
    21.  
    22.            MOVE 1 TO IDX-1
    23.  
    24.            PERFORM UNTIL WS-MAIL-CHAR(IDX-1) = SPACES OR IDX-1 > 50
    25.                IF  NOT WS-CHAR-VAL-SI(IDX-1)
    26.                    SET SW-ERROR-SI TO TRUE
    27.  
    28.                    EXIT PERFORM
    29.                END-IF
    30.  
    31.                ADD 1 TO IDX-1
    32.            END-PERFORM
    33.  
    34.            IF  SW-ERROR-SI
    35.                DISPLAY "Error de e-mail: " WS-MAIL-CHAR(IDX-1)
    36.  
    37.            ELSE
    38.                DISPLAY "¡E-mail correcto!"
    39.            END-IF
    40.  
    41.            GOBACK.

    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. [Noticia] Sentencia PREPARE y EXECUTE en MySql
    Por Josber en el foro MySQL
    Respuestas: 9
    Último Mensaje: 04.05.2021, 17:26
  2. [Información] ¿Qué se hace en CLASS-OBJECT y FACTORY?
    Por Kuk en el foro Object-Oriented COBOL
    Respuestas: 14
    Último Mensaje: 22.02.2017, 15:49

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
  •