buenas quería pedir ayuda. estoy haciendo varios ejercicios, y cada vez me piden diferentes cosas. hay dos que me he atascado y por mas que leo foros y manuales no me entero. os pongo el códigos de lo que tengo hecho y podáis probar las cosas como me suceden.
Lo primero cuando hago doble clic en el primer alv tendría que cogerme el numero de reserva. pero solo lo hace si lo hago encima del campo correspondiente, y lo que me interesa es que en cualquier parte de la fila que coja los datos. y para afinar como hay registros sin reserva realizada tendría que cambiar el tipo de búsqueda en vez de hacerlo por numero de reserva tendría que crear un registro en el que me rellene los datos obtenidos que seria fecha, pista y hora. y me lo muestre en el segundo alv que me dejara modificar los campos de cliente y los 4 jugadores. y al dar a un botón de la segunda alv guarde estos datos en la BD, y a la vez me genere el numero de reserva. y al terminar todo me refresque la primera alv para que muestre el registro.
CODIGO
Programa principal
INCLUDE: z04_reservas_alv_04_top
INCLUDE: z04_reservas_alv_04_cla
INCLUDE: z04_reservas_alv_04_sta
Lo primero cuando hago doble clic en el primer alv tendría que cogerme el numero de reserva. pero solo lo hace si lo hago encima del campo correspondiente, y lo que me interesa es que en cualquier parte de la fila que coja los datos. y para afinar como hay registros sin reserva realizada tendría que cambiar el tipo de búsqueda en vez de hacerlo por numero de reserva tendría que crear un registro en el que me rellene los datos obtenidos que seria fecha, pista y hora. y me lo muestre en el segundo alv que me dejara modificar los campos de cliente y los 4 jugadores. y al dar a un botón de la segunda alv guarde estos datos en la BD, y a la vez me genere el numero de reserva. y al terminar todo me refresque la primera alv para que muestre el registro.
CODIGO
Programa principal
Código:
REPORT z04_reservas_alv_04.
INCLUDE: z04_reservas_alv_04_top,
z04_reservas_alv_04_cla,
z04_reservas_alv_04_sta,
z04_reservas_alv_04_sub.
START-OF-SELECTION.
PERFORM CAR_DAT.
CALL SCREEN 100.
Código:
*&---------------------------------------------------------------------*
*& Include Z04_RESERVAS_ALV_04_TOP
*&---------------------------------------------------------------------*
*&--------------------------------------------------------------------&*
*& T A B L A S E N U S O - S O L O R E F E R E N C I A &*
*&--------------------------------------------------------------------&*
TABLES: z04_reserva, " tabla de registro de reservas realizadas.
z04_pista, " tabla de pistas activas.
z04_jugador, " tabla de usuarios.
z04_emp, " tabla de empresas.
zhoras13_param. " tabla de parametizacion de horas.
TYPE-POOLS: slis, abap, cndp.
*&--------------------------------------------------------------------&*
*& V A L O R E S G L O B A L E S &*
*&--------------------------------------------------------------------&*
DATA: BEGIN OF ls_stable, " Estructura ALV.
row TYPE c,
col TYPE c,
END OF ls_stable.
TYPES: BEGIN OF ty_date, " Typo para tablas y estructura para cuadrante de pistas.
sel,
nrev TYPE znr,
pista TYPE znp,
cliente TYPE kunnr,
fecha TYPE dats,
hora TYPE tims,
nivel TYPE zlevel,
style TYPE lvc_t_styl,
colors TYPE lvc_t_scol,
END OF ty_date.
TYPES: BEGIN OF ty_REV, " Typo para tablas y estructuras para cuadrante partido.
nrev TYPE znr,
fecha TYPE dats,
hora TYPE tims,
pista TYPE znp,
cliente TYPE kunnr,
jug1 TYPE kunnr,
jug2 TYPE kunnr,
jug3 TYPE kunnr,
jug4 TYPE kunnr,
END OF ty_REV.
TYPES: BEGIN OF ty_vmm, " Typo para tabla de parametros horas.
vmax(2) TYPE c,
vmin(2) TYPE c,
END OF ty_vmm.
FIELD-SYMBOLS: <wa_data> TYPE ty_date. " para cuadrante de horas para modificar bd.
CLASS lcl_event_handler DEFINITION DEFERRED.
*&--------------------------------------------------------------------&*
*& D A T O S A L V &*
*&--------------------------------------------------------------------&*
* En ventana emerjente se cargara el *
* cuadrante de las pistas. *
* *
* - Las variables se declaran en el from para hacerlos *
* privados solo de la alv. EXCEPCION de la variable que *
* estrae los datos para rellenar la dympro de registro. *
*----------------------------------------------------------------------*
DATA: ok_code LIKE sy-ucomm,
gt_data TYPE TABLE OF ty_date,
gs_data type ty_date,
gt_juga TYPE TABLE OF ty_REV,
gt_juga2 LIKE gt_juga,
grid1 TYPE REF TO cl_gui_alv_grid,
grid2 TYPE REF TO cl_gui_alv_grid,
go_handler TYPE REF TO lcl_event_handler,
wa_layout TYPE lvc_s_layo,
wa_style TYPE LINE OF lvc_t_styl,
wa_colors TYPE LINE OF lvc_t_scol,
varcel(10) TYPE c,
gv_calc TYPE DATS,
splitter TYPE REF TO cl_gui_easy_splitter_container,
container_1 TYPE REF TO cl_gui_container,
container_2 TYPE REF TO cl_gui_container,
gt_fieldcatd2 TYPE lvc_t_fcat,
gt_fieldcatd TYPE lvc_t_fcat.
Código:
*&---------------------------------------------------------------------*
*& Include Z04_RESERVAS_ALV_04_CLA
*&---------------------------------------------------------------------*
*&--------------------------------------------------------------------&*
*& C L A S S l c l _ e v e n t _ h a n d l e r &*
*&--------------------------------------------------------------------&*
* clase para recojer datos de la celda señalada en las alv *
* *
* *
* *
* *
*----------------------------------------------------------------------*
*&--------------------------------------------------------------------&*
*& l c l _ e v e n t _ h a n d l e r D E F I N I T I O N &*
*&--------------------------------------------------------------------&*
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS: on_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING es_row_no e_column.
ENDCLASS. "lcl_event_handler DEFINITION
*&--------------------------------------------------------------------&*
*& l c l _ e v e n t _ h a n d l e r I M P L E M E N T A T I O N &*
*&--------------------------------------------------------------------&*
CLASS lcl_event_handler IMPLEMENTATION.
METHOD on_double_click.
PERFORM show_second_alv.
ENDMETHOD. "on_double_click
ENDCLASS. "lcl_event_handler IMPLEMENTATION
Código:
*----------------------------------------------------------------------* ***INCLUDE Z04_RESERVAS_ALV_04_STA . *----------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Module BOTON_ALV OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module BOTON_ALV output. PERFORM avl_div. endmodule. " BOTON_ALV OUTPUT *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module STATUS_0100 output. PERFORM status_0100. endmodule. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* module USER_COMMAND_0100 input. PERFORM user_command_0100. endmodule. " USER_COMMAND_0100 INPUT
Comentario