Anuncio

Colapsar
No hay anuncio todavía.

Mi primer formulario con SAPscript (Ayuda por favor)

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

  • bpauli_c
    respondió
    Hola,
    Lo mismo me pasaba. La solucion es la siguiente:
    Dentro del LOOP AT table, revisas lo siguiente
    IF sy-tabix = 1
    llamas WRITE_FORM, con los parametros
    FUNCTION = 'DELETE'
    WINDOW = 'MAIN'
    ELSE
    llamas WRITE_FORM, con los parametros
    FUNCTION = 'SET'
    WINDOW = 'MAIN'
    ENDIF
    ENDLOOP

    con el write_form a la primera posicion lo que hace es que borra la posicion que se duplica. Y cuando pasa por el Else, imprime todas las posiciones de tu tabla interna.
    Espero que sirva la respuesta.. Saludos cordiales!

    Betty :-D

    Dejar un comentario:


  • YONY
    respondió
    pienso que koken a dado en el clavo...
    con un clear it_sfligh antes o despues del loop, solucionarias
    esta incidencia. Pruebalo.

    Dejar un comentario:


  • koken
    respondió
    Hola navarra,

    pudiste resolverlo? limpiaste la cabecera de la tabla interna? probaste con un elemento de texto?

    Saludos

    Dejar un comentario:


  • usuarionavarra
    respondió
    Buenos días a todos, muchas gracias por responder a mi pregunta en el foro.

    Voy a intentar contar con detalle que es lo que me pasa. En la ventana MAIN tengo los siguientes elementos de texto (o simbolos):

    &WA-CARRID& &SPACE(18)& &WA-CONNID& &SPACE(14)& &WA-FLDATE&

    Desde el programa ABAP tengo el siguiente código:

    * Resto de código

    LOOP AT WA.
    PERFORM IMPRIMIR USING 'MAIN'.
    ENDLOOP.

    * Resto de código

    FORM IMPRIMIR USING VENTANA.

    CALL FUNCTION 'WRITE_FORM'
    EXPORTING
    WINDOW = VENTANA
    EXCEPTIONS
    ELEMENT = 1
    FUNCTION = 2
    TYPE = 3
    UNOPENED = 4
    UNSTARTED = 5
    WINDOW = 6
    OTHERS = 7.

    ENDFORM.

    La salida de programa para la compañía AA es la siguiente:

    Compañia Aerea Conexión vuelo Fecha de vuelo
    -----------------------------------------------------------------------------------
    AA 0026 15.03.2003
    AA 0026 15.03.2003
    AA 0026 03.05.2003
    AA 0026 14.06.2003
    AA 0026 19.07.2003

    Como pueden comprobar las dos primeras líneas de datos se duplican y no entiendo por qué, porque en la tabla SFLIGHT no aparece duplicada.

    En el código anterior si pongo dentro un simple WRITE en vez de llamar a la función IMPRIMIR, me saca los datos bien. El problema no es que la tabla WA esté mal cargada con datos duplicados.

    * Sin embargo este loop no duplica la primera línea
    LOOP AT WA.
    WRITE:/ WA-FLDATE.
    ENDLOOP.
    * Sin embargo este loop no duplica las líneas.

    ¿A alguien le ha pasado algo parecido? ¿Sabe como solucionarlo?

    Muchas gracias de antemano y un cordial saludo.

    Dejar un comentario:


  • koken
    respondió
    Hola Bienvenido!

    el problema está dentro de la ventana MAIN ? con algún elemento de texto en especial?

    Saludos!

    Dejar un comentario:


  • Mi primer formulario con SAPscript (Ayuda por favor)

    Buenos días a todos:

    Estoy haciendo mi primer formulario con SapScript. Es un formulario muy sencillo, simplemente lo que hace es mostrar el contenido de la Tabla de Diccionario de datos SFLIGHT (Tabla de vuelos que viene como ejemplo en SAP)

    No entiendo por qué al hacer la llamada a la función imprimir formulario, duplica la primera fila de datos de la tabla. ¿Le ha pasado a alguien algo parecido y sabe como solucionarlo?

    Muchas gracias y un cordial saludo.
Trabajando...
X