#1
|
|||
|
|||
ALV Editable: REUSE_ALV_GRID_DISPLAY_LVC
Buen día!!! Soy nuevo en esto, así que no entiendo mucho todavía. Estoy haciendo un desarrollo, donde tengo un alv editable. Para ellos uso la función REUSE_ALV_GRID_DISPLAY_LVC. Logre hacer que me cargue correctamente el alv y que el campo que quiero editar funciones bien, pero tengo una duda: ¿como leo el cambio? O sea: una vez que muestra el alv, ingreso un valor en el campo que puedo editar y apreto el botón guardar, ¿como hago para tomar el cambio del alv y plasmarlo en la bd? Gracias de antemano y disculpen las molestias |
#2
|
|||
|
|||
En el top se crea: No cambies el orden o te dirá q no existe. En tu perform, donde kieras ponerlo, lo q te pongo es un ejemplo mío, tu tienes q adaptarlo. pregunta si te hace falta. |
#3
|
|||
|
|||
Gracias por la pronta respuesta!!!! Ahí lo pruebo y cualquier cosa aviso por acá!!! Muchas gracias!! |
#4
|
|||
|
|||
Disculpa que te joda: El pi_data que le pasas al form, ¿es la tabla que mostras en el alv o como lo declaras? Gracias! |
#5
|
|||
|
|||
No se de donde eres, pero:
no queda bien. Si, el pì_dat es la tabla q se muestra en el alv |
#6
|
|||
|
|||
Lo siento!!! Soy de argentina, y es una manera de decir: disculpa que te moleste!! Es algo propio de acá: joder = molestar. Okis, gracias!!! |
#7
|
|||
|
|||
Otra vez yo Cuando haces este llamado: SET HANDLER g_application_9000->handle_data_changed FOR v_grid ¿que valor corresponde al de v_grid? Y cuando hago el llamado a la funcion: FORM f_handle_data_changed USING pi_data TYPE REF TO cl_alv_changed_data_protocol. ¿Como declaro la variable pi_data? Porque al reemplazarla con mi tabla interna me dice que son incompatibles. Gracias por todo!!!! |
#8
|
||||
|
||||
Hola
Hola el pi_data tienes que dejarlo asi tal y como está, ya que esa variable contendrá los cambios hechos en tu alv.
y el llamado: SET HANDLER g_application_9000->handle_data_changed FOR v_grid va antes de mandar tu REUSE_ALV_GRID_DISPLAY_LVC. en tu top define. data: v_grid type ref to cl_gui_alv_grid. |
#9
|
|||
|
|||
Claro, eso lo tengo asi, pero pregunto lo de la pi_data porque cuando quiero activar me dice: In PERFORM or CALL FUNCTION "F_HANDLE_DATA_CHANGED", the actual parameter "I_FINAL_REPORT" is incompatible with the formal parameter "PI_DATA". Yo lo que hice es poner el llamado asi: PERFORM f_handle_data_changed USING i_final_report. donde i_final_report es la tabla que uso para mostrar el alv: DATA: i_final_report TYPE STANDARD TABLE OF ty_final_report. "Table with output report str. Pero debo estar haciendo mal, porque la tabla pi_data es de otro type |
#10
|
||||
|
||||
Ese perform tiene que ir tal y como lo definieron arriba
*---------------------------------------------------------------------* * CLASS LCL_APPLICATION_9000 DEFINITION *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* CLASS lcl_application_9000 DEFINITION. PUBLIC SECTION. METHODS: handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid IMPORTING er_data_changed. ENDCLASS. "lcl_application_9000 DEFINITION *---------------------------------------------------------------------* * CLASS LCL_APPLICATION_9000 IMPLEMENTATION *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* CLASS lcl_application_9000 IMPLEMENTATION. METHOD handle_data_changed. PERFORM f_handle_data_changed USING er_data_changed. ENDMETHOD. "handle_data_changed ENDCLASS. "lcl_application_9000 IMPLEMENTATION No cambies er_data_changed por tu tabla interna, este metodo hace que automáticamente tu tabla interna a esa variable PI_DATA. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|