Ideas ???

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Rodolfo Montiel Rivera
    Member
    • oct
    • 92

    #1

    Ideas ???

    Saludos!!!

    Recurro a su experiencia no para que me resuelvan un problema jaja sino para que me ayuden a crear uno como es esto ¿ ? jajaja bueno es que tengo un desarrollo que valida una cadena de caracteres en base a otros.

    supongamos tengo la siguiente cadena

    Hol1a "MundO" hoy /es Un (Dia) NueVo

    Mis caracteres no validos son: Mayusculas, 1, ", /, (, ).

    Validado quedaria asi

    hola mundo hoy es un dia nuevo

    Bueno eso esta asi ya bien bonito y todo lo que quiero que me brinden son sus ideas para que este diminuto desarrollo pueda cubri mas funciones ya que me piden lo adapte a una Funcion para que sea Estandar y se pueda usar para varias cosas mas.

    Mi jefe por ejemplo me propuso que pueda validar cadenas complejas que luego estan para los call transacction o que concatene campos o que agregue el tabulador de separacion para los campos que se cargan en un call en fin.

    Necesito ideas funcionalidades que agregar a este pequeño desarrollo y poderlo convertir en una mejor y mas util herramienta asi que confio en su experiencia por si alguno dice aaasshhh como no existe una funcion que haga esto jajaja ok Gracias!!!
    01010000
    01001010
    10011000
    10100001

    De Byte a Beat.
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Aver puedes crear una funcion cuyo parametro de entrada sea una variable de tipo STRING y la salida tbm una variable de tipo STRING, hice un pequeño artificio (a modo de ocio) derrepente alguien lo puede mejorar, estaba tratando de igualar el caracter de espacio en blanco y no lo lograba

    Código:
    REPORT  ZPRUEBA.
     
    TYPES: BEGIN OF ty_car,
             sign(1),
             option(2),
             low,
             high,
           END OF ty_car.
     
    DATA: g_cont   TYPE i,
          g_int    TYPE i,
          g_output TYPE string,
          g_cad1   TYPE string,
          g_cad2   TYPE string,
          gr_car   TYPE TABLE OF ty_car WITH HEADER LINE,
          gt_table TYPE TABLE OF string WITH HEADER LINE.
     
    PARAMETERS: p_cad TYPE string.
     
    START-OF-SELECTION.
     
    gr_car-sign = 'I'.
    gr_car-option = 'BT'.
    gr_car-low = 'a'.
    gr_car-high = 'z'.
    APPEND gr_car.
     
    CLEAR gr_car.
    gr_car-sign = 'I'.
    gr_car-option = 'BT'.
    gr_car-low = 'A'.
    gr_car-high = 'Z'.
    APPEND gr_car.
     
    g_output = p_cad.
     
    DO.
      CLEAR: g_cad1, g_cad2.
      SPLIT g_output AT space INTO g_cad1 g_cad2.
      CLEAR: gt_table, g_int.
      g_cont = strlen( g_cad1 ).
      DO g_cont TIMES.
        IF g_cad1+g_int(1) IN gr_car.
          CONCATENATE gt_table
                      g_cad1+g_int(1) INTO gt_table.
        ENDIF.
        ADD 1 TO g_int.
      ENDDO.
    [COLOR=blue]* Convirtiendo a Minuscula[/COLOR]
      TRANSLATE gt_table TO LOWER CASE.
      APPEND gt_table.
      g_output = g_cad2.
      IF g_cad2 IS INITIAL.
        EXIT.
      ENDIF.
    ENDDO.
     
    DELETE gt_table WHERE table_line IS INITIAL.
    CLEAR g_output.
     
    [COLOR=blue]* Concatenando cada fila de palabras[/COLOR]
    LOOP AT gt_table.
      CONCATENATE g_output
                  gt_table INTO g_output SEPARATED BY space.
    ENDLOOP.
     
    WRITE: g_output.
    Aqui hace todo a partir del parametro p_cad (Parametro de entrada) y devuelve g_output (Parametro de Salida), funciona separando cada palabra y borrando caracteres no permitidos dentro de la tabla interna gt_table, al final realizo un DELETE cuando hay doble espacio en blanco ... espero te pueda servir
    David Carballido Córdova

    Comentario

    • Mauricio Hidalgo
      Senior Member
      • may
      • 481

      #3
      Aquí lejos lo que más te conviene son el uso de Expresiones Regulares. Claro que esto está disponible a partir del release 7. En todo verifica si tienes las clases CL_ABAP_REGEX and CL_ABAP_MATCHER.

      Saludos
      Editado por última vez por Mauricio Hidalgo; 08/01/2009, 13:03:49.

      Comentario

      • Rodolfo Montiel Rivera
        Member
        • oct
        • 92

        #4
        Mas ideas +

        Gracias por las respuestas y pues mas ideaas necesito una lluvia de ideas para crear mas herramientas o componentes de utilidad vamos denme trabajo jajaja
        01010000
        01001010
        10011000
        10100001

        De Byte a Beat.

        Comentario

        Trabajando...