Anuncio

Colapsar
No hay anuncio todavía.

Error en la automatización de un infopaquete

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Error en la automatización de un infopaquete

    Hola amigos,

    he tratado de automatizar la carga de un infopaquete, para que no tenga que estar cambiando a mano los parámetros de selección.
    Después de probar y fallar mucho, puse en Producción este código (en desarrollo no tenía muchos datos y pensé que funcionaba)

    El problema es que me ha cargado absolutamente TODOS los registros de R3, casi medio millón, cuando debería como mucho, cargar 150.000 (del 01.01.2008 al 31.12.2010)

    Cuando lanzo el infopaquete la fecha aparece bien en los parámetros de selección, pero internamente hace otra cosa.

    ¿Podéis echarme una mano?

    Aquí os pongo el código del infopaquete.

    program conversion_routine.
    * Type pools used by conversion program
    type-pools: rsarc, rsarr, rssm.
    tables: rssdlrange.
    * Global code used by conversion rules
    *$*$ begin of global - insert your declaration only below this line *-*
    * TABLES: ...
    * DATA: ...

    DATA : aux TYPE STRING.

    *$*$ end of global - insert your declaration only before this line *-*
    * -------------------------------------------------------------------
    * InfoObject = Z_FECPRE
    * Fieldname = ZFECPRESE
    * data type = DATS
    * length = 000008
    * convexit =
    * -------------------------------------------------------------------
    form compute_ZFECPRESE
    tables l_t_range structure rssdlrange
    using p_infopackage type rslogdpid
    p_fieldname type rsfnm
    changing p_subrc like sy-subrc.
    * Insert source code to current selection field
    *$*$ begin of routine - insert your code only below this line *-*
    data: l_idx like sy-tabix.
    read table l_t_range with key
    fieldname = 'ZFECPRESE'.


    l_idx = sy-tabix.
    *....

    l_t_range-sign = 'I'.
    l_t_range-option = 'BT'.

    aux = sy-datum(4) - 2.
    CONCATENATE '01.01.' aux(4) INTO l_t_range-LOW.
    CONCATENATE '31.12.' sy-datum(4) INTO l_t_range-high.


    modify l_t_range index l_idx.

    p_subrc = 0.



    Muchas gracias!

  • #2
    Hola,

    el problema es que estás poniendo mal el formato de la fecha, ya que te debe quedar AAAAMMDD .

    y el campo aux no debe ser de tipo string sino que debe ser type DATUM.

    Saludos!

    Comentario


    • #3
      Resuelto

      Hola,

      gracias por tu respuesta. Efectivamente la fecha estaba mal puesta, tenía que ir sin puntos y en formato YYYMMDD. Me despitó que el infopaquete, a mano, la fecha estaba con puntos y DD.MM.YYYY

      Gracias por la respuesta.

      Comentario

      Trabajando...
      X