miércoles, octubre 24, 2007

DUMP Error DBIF_RSQL_INVALID_RSQL RSQL error 13 when accessing table

El otro día me apereció en siguiente DUMP:

"Error DBIF_RSQL_INVALID_RSQL RSQL error 13 when accessing table".

Esto resulta de realizar una consulta SELECT a la Base de datos con una variable de tipo SELECT-OPTIONS muy grande. Como solución se propener dividir esta variable en partes. Para ello se crearan variables auxilixares de tipo RANGES, que son del mismo tipo que los SELECT-OPTION. De hará un bucle y se utilizará el comando APPENDING en el SELECT para ir guardando los valores.

miércoles, octubre 17, 2007

Ficheros Mostrar ventana para seleccionar fichero local

Por lo menos tenemos dos módulos de funcion que realizan la operación:

1) Ventana escogiendo local/servidor: F4_DXFILENAME_TOPRECURSION.
2) Fichero Local: método cl_gui_frontend_services=>file_open_dialog
3) Fichero Servidor: MF 'F4_DXFILENAME_TOPRECURSION' con i_location_flag = A
4) MF ISH_N2_FILENAME_GET

Los tres MF los debemos llamar en el evento:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.

Además p_path ha de ser del tipo rlgrap-filename.

Ojito porque si la ruta es muy larga no se actualiza correctamente el parámetro de la pantalla de selección.

lunes, octubre 08, 2007

Debugger programa en proceso de fondo

Para debuggear un programa lanzado en fondo realizar las siguientes operaciones.
1)Ejecutar Tx. SM50
2)Seleccionar work process.
3)Menú 'Programa/Modo'->'Programa'->'Debugging'.

ALV - Trabajar con variantes de ALV

Mostrar un campo en la pantalla de selección para seleccionar una variante previamente guardada.

1) Crear variables:
DATA: ls_variant TYPE disvariant.
PARAMETERS p_dispo LIKE disvariant-variant.

2) Mostrar matchcode variantes
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dispo.
MOVE: p_dispo TO ls_variant-variant,
sy-repid TO ls_variant-report.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = ls_variant
IMPORTING
es_variant = ls_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.

MOVE ls_variant-variant TO p_dispo.

3)Indicar variante al mostrar ALV
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
is_variant = ls_variant