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
Anuncio
Colapsar
No hay anuncio todavía.
Mi primer formulario con SAPscript (Ayuda por favor)
Colapsar
X
-
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:
-
Hola navarra,
pudiste resolverlo? limpiaste la cabecera de la tabla interna? probaste con un elemento de texto?
Saludos
Dejar un comentario:
-
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:
-
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.Etiquetas: Ninguno
Dejar un comentario: