Estoy haciendo mi primer formulario con Sapscript.
He creado dos páginas con varias windows (y page windows). He indicado para la primera página que next page sea la segunda página y para la segunda página
que el next page sea la primera (La idea es que si todas la filas de datos no me caben en la primera pueda ir avanzando por todas las página con scroll (El contenido de la segunda página he colocado las mismas page windows que para la primera).
Lo he probado y no veo el resto de datos o filas, solo veo la filas de al principio (de la primera página), supongo que en el código tengo que indicarle de alguna manera lo del scrolling o que cuando pulso los botones (first,next,previus, last) me vaya avanzando las páginas para poder ver el resto de las filas.
Otro problema que tengo es que, al sacar el informe, la primera fila de datos me la duplica. Es un ejemplo muy sencillo, consiste en sacar un informe con el contenido de la Tabla de diccionario de datos SPFLIGHT (Tabla que viene de ejemplo en el SAP) Es decir la primera fila de datos de la tabla SPFLIGHT la duplica y no sé por qué.
A continuación os mando el código de programa ABAP de el ejemplo para el formulario.
*************************************************
REPORT ZZSFLIGHT.
TABLES:SFLIGHT, ITCPO.
DATA:VAR_CARRID LIKE SFLIGHT-CARRID.
*DATA:VAR_CONNID LIKE SFLIGHT-CONNID.
FORM SACAR_INFORME.
VAR_CARRID = SFLIGHT-CARRID.
* VAR_CONNID = SFLIGHT-CONNID.
PERFORM ABRIR_FORMULARIO.
SELECT * FROM SFLIGHT
WHERE CARRID = VAR_CARRID.
PERFORM IMPRIMIR USING '' 'MAIN'.
ENDSELECT.
CALL FUNCTION 'CLOSE_FORM'
EXCEPTIONS
UNOPENED = 1
OTHERS = 2.
ENDFORM.
FORM ABRIR_FORMULARIO.
MOVE 1 TO ITCPO-TDCOPIES.
MOVE 'ESB6' TO ITCPO-TDDEST.
MOVE 'X' TO ITCPO-TDNEWID.
MOVE 'X' TO ITCPO-TDIMMED.
MOVE 'X' TO ITCPO-TDDELETE.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
DEVICE = 'SCREEN'
DIALOG = 'X'
FORM = 'ZZIVAN10'
LANGUAGE = 'S'
OPTIONS = ITCPO
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
OTHERS = 6.
ENDFORM.
FORM IMPRIMIR USING ELEMENTO VENTANA.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = ELEMENTO
WINDOW = VENTANA
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
OTHERS = 7.
ENDFORM.
*&---------------------------------------------------------------------*
*& Module STATUS_0001 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module STATUS_0001 output.
SET PF-STATUS 'MENUINFORME'.
SET TITLEBAR 'SUPERTIT'.
endmodule. " STATUS_0001 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0001 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module USER_COMMAND_0001 input.
CASE SY-UCOMM.
WHEN 'INF'.
PERFORM SACAR_INFORME.
WHEN 'SAL'.
SET SCREEN 0. LEAVE SCREEN.
ENDCASE.
endmodule. " USER_COMMAND_0001 INPUT
***********************************************
Muchas gracias de antemano y cordiales saludos.
Buenos días a todos