#1
|
||||
|
||||
Copiar/pegar en un ALV Grid
Hola, tengo un ALV Grid al que le quiero poner el icono de pegar. Lo que intento es copiar desde excel unos 400 registros y pegarlos a la vez para guardarlos despues .
No se si me he explicado lo suficiente . muchas gracias de antemano |
#2
|
|||
|
|||
Hola, no lo tengo muy claro, podrias explicarlo un poco mas.
saludos |
#3
|
||||
|
||||
Hola ibecerra,
a ver si puedo explicar muy bien . tengo un ALG Grid , y tengo un fichero Excel donde hay casi 400 registros (los campos del AVL Grid son los mismos en el fichero Excel). lo que quiero hacer es , guardar todos los datos del Excel en mi ALV Grid , por eso necesito como puedo hacer un (" Select all "+ Copy) desde el Excel para pegar todos los registros a la vez en el ALV Grid. muchas gracias por tu respuesta Úlima edición por Abapor fecha: 04/06/08 a las 07:48:04. |
#4
|
|||
|
|||
Hola Abapor,
no tengo ni idea de si eso que dices puede hacerse o no, pero no sería mucho más facil crear un boton en el ALV que te permita subir el fichero excel y que tú te encargues por programación de leerlo y copiar cada registro a la tabla interna de tú ALV?? Yo pienso que es mucho más sencillo de hacer. Un saludo |
#5
|
||||
|
||||
Hola pmarinab ,
si tienes razon es mucho más facil subir el fichero excel ... pero si el usuario elegi solo unos registros ? en este caso todo depende de su selección . lo que intento hacer es usar el concepto de Ctrl + C / V. |
#6
|
||||
|
||||
hazlo en dos paso uno donde carguen el fichero de excel y lo vean y otro que seleccione cual quiere en el alv.
__________________
Un Huevon No Inútil Solo di lo que piensas, a la mejor tienes la mejor respuesta.... Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo..... Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho..... Consultor FI jr/ABAP Sr. |
#7
|
||||
|
||||
A Ver Si....
BUENO, no te puedo ayudar, pero a ver si
al construir el ALV , al hacer el catalogo se informa un campo que creo que se llama "EDIT" (compruebalo en la tabla "slis_t_fieldcat_alv") si lo marcas con una "X" este campo coge calidad imput, osea puedes escribir sobre él y luego -no me acueerdo como se hacía- se lo pasas a la tabla interna para que al volverse a mostrar el ALV, salga así, ya actualizado con los valores qeu le habías introducido. Luego ademas podrías hacer un UPDATE o INsert y pasarlos a una tabla Z o Standard. Lo que no sé es si al hacer ctr + v sobre la ALV, cogerá en cada campo el valor correspondiente o solo lo cogerá en la primera, pero prueba (al ira a pegar sobre el ALV) primero hacer ctr + y , seleccionar la ALV entera, y luego ctr + v. :S no sé si me sé explicar bien.... Te pegaría un ejemplo pero no lo encuentro :$, bueno, si lo pruebas, nos comentas si no te importa. Saludos FORM F_ALV_FIELD_CONFIGURATION. * For each column to be displayed in the reprot, * append a line in I_ALV_FIELDCAT * I_ALV_FIELDCAT-ROW_POS = '1'. I_ALV_FIELDCAT-COL_POS = '1'. I_ALV_FIELDCAT-TABNAME = 'IT_DATA'. I_ALV_FIELDCAT-FIELDNAME = 'CARRID'. I_ALV_FIELDCAT-REF_TABNAME = 'SBOOK'. I_ALV_FIELDCAT-REF_FIELDNAME = 'CARRID'. I_ALV_FIELDCAT-SELTEXT_L = 'X'. " Long text I_ALV_FIELDCAT-EDIT = "X". APPEND I_ALV_FIELDCAT. CLEAR I_ALV_FIELDCAT. |
#8
|
|||
|
|||
hola como dice , habiliita los campos de tu alv grid con la sentencia
1. gs_layout-edit = 'X'. osea q lo habilitas todos sin excepcion 2. la otra seria q tengas un boton q habilita y deshabilidta los campos para copiar eso lo haces con objetos.. ejemplo ls_celltab-fieldname = 'ICON'. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. INSERT ls_celltab INTO TABLE pt_celltab. ls_celltab-fieldname = 'ZUONR'. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. INSERT ls_celltab INTO TABLE pt_celltab. ls_celltab-fieldname = 'GJAHR'. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. INSERT ls_celltab INTO TABLE pt_celltab. |
#9
|
||||
|
||||
1. gs_layout-edit = 'X'. osea q lo habilitas todos sin excepcion
2. la otra seria q tengas un boton q habilita y deshabilidta los campos para copiar eso lo haces con objetos.. ejemplo ls_celltab-fieldname = 'ICON'. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. INSERT ls_celltab INTO TABLE pt_celltab. ls_celltab-fieldname = 'ZUONR'. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. INSERT ls_celltab INTO TABLE pt_celltab. ls_celltab-fieldname = 'GJAHR'. ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled. INSERT ls_celltab INTO TABLE pt_celltab.[/quote] SOLO POR CURIOSIDAD, la verdad que esto me queda muy grande, podrías decirnos que tabla standard correspond "ls_celltab" (xq imagino que esa es una tablaInterna creada con un LIKE), supongo que no es pt_celltab. Y SI no es mucho molestar... que hace las sentencia "cl_gui_alv_grid=>mc_style_disabled." pues no veo porqué así el icono habilita o desahabilita, Muchas gracias poir el aporte del gs_layout-edit = X. |
#10
|
|||
|
|||
ok, es un alv orientado a objetos , hay veces el codigo con objetos es medio marciano pero te acostumbraras.
te explico ls_celltab = lvc_t_styl. habilita y deshabilita las columnas de un grid. cl_gui_alv_grid=>mc_style_disabled cl_gui_alv_grid=>mc_style_enabled te explico lo del icon(q vendria ser una columna mas) , lo q pasa es q por defecto al inicio todos los campos estan habilidatos(disponibles para editar) , para luego deshabilitar y habilitar solo los campos q por configuracion(en forma dinamica) deseo modificar. saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|