|
#1
|
|||
|
|||
Registros Duplicados SapScript.
Qué tal expertos, aquí con una consulta.
Estoy haciendo mi primer formulario SapScript y me está surgiendo un problema, me está repitiendo el primer registro de la ventana MAIN. Estoy utilizando la función WRITE_FORM. Anexo código que estoy utilizando: La tabla i_ltap me trae un solo registro, sin embargo el SapScript lo pinta 2 veces. ¿Alguien me podría dar una idea de por dónde está el error? Muchas gracias por sus respuestas pero sobre todo por su tiempo. Saludos!! |
#2
|
|||
|
|||
Hola.
¿Siempre te repite una línea y siempre la primera?, ¿si la tabla tiene varios registros cual/cuantos repite?. Lo digo porque se me ocurre, que quizá estés haciendo una impresión en la ventana 'CAB' del W_LTAP (que hay veces que hacemos copia-pega y se nos pasan cosillas) y por eso te repita datos (esto, si es que usas tu variable con anterioridad para rellenar tu tabla y tenga datos residuales). Respuesta un poco tarde, espero te sirva o te de alguna idea. Salu2. PD: Por cierto, hay una sección para formularios, etc, etc, el tema estaría mejor allí. |
#3
|
|||
|
|||
Registros Duplicados SapScript.
Hola Melandry, muchas gracias por tu respuesta.
Solamente me repite el primer registro, si la tabla trae varios registros siempre repite el primero. En la ventana 'CAB' no utilizo W_LTAP para imprimir nada, antes de abrir el formulario la estructura viene vacía, se llena hasta que inicio el LOOP a I_LTAP. Estuve debuggeando el SapScript y no sé por qué entra 2 veces al 'MAIN' cuando procesa el primer registro. ¿Me faltará alguna instrucción para evitar esto? P.D. No me había percatado de la sección para SapScripts y SmartForms. Postearé mi problema ahí. Saludos!! |
#4
|
|||
|
|||
Yo creo que lo que te falta es: Primero en el formulario poner tus variables dentro de un elemento de texto (/E) (por ejemplo DATOSPOS).
Tipicimanente en la ventana main debería quedarte algo asi como esto, mis símbolos del ejemplo obvio los reemplazas por los tuyos /E DATOSPOS PD ,,&AFVGD-VORNR(04)&,,,,&AFVGD-LTXA1(40)&,,&AFVGD-ARBPL& = ,,&AFVGD-DAUNO(05)&,,&AFVGD-ANZZL(05)&,,&AFVGD-ARBEI(07)& Luego en el programa de control, cuando imprimes la ventana main además indicar cual es elemeto de texto de la ventana main que estás imprimiendo. Osea Usar: CALL FUNCTION 'WRITE_FORM' EXPORTING window = 'MAIN' element = 'DATOSPOS' EXCEPTIONS element = 1 function = 2 type = 3 unopened = 4 unstarted = 5 window = 6 bad_pageformat_for_print = 7 spool_error = 8 codepage = 9 OTHERS = 10. en lugar de: CALL FUNCTION 'WRITE_FORM' EXPORTING window = 'MAIN' EXCEPTIONS element = 1 function = 2 type = 3 unopened = 4 unstarted = 5 window = 6 bad_pageformat_for_print = 7 spool_error = 8 codepage = 9 OTHERS = 10. espero te ayude, Saludos Úlima edición por Mauricio Hidalgo fecha: 12/12/11 a las 16:42:57. |
#5
|
|||
|
|||
Hola de nuevo.
Como bien dice Mauricio (cosa que también se me había pasado a mi) deberías crear un Elem.texto y hacer el 'WRITE_FORM' en tu loop indicando el Elem.texto que quieres imprimir y en la ventana que se imprime, porque en el caso de que tuvieras otros datos en tu MAIN antes de tus variables, también te estaría repitiendo toda esa información. |
#6
|
|||
|
|||
Registros Duplicados SapScript.
Muchas gracias Melandry/Mauricio por sus respuestas.
En efecto era eso lo que me faltaba, ya quedó solucionado =). Saludos!! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|