ALV 00 sin tener que crear estructura en el diccionario mayo 28, 2010
Posted by gstortoni in ALV OO.trackback
Hola gente,
He visto cosas buenas en SAP y esto que les dejo a continuación, quizas algunos ya lo conozcan, pero no creo que lo hayan visto de la forma en que yo lo modifiqué.
El otro día tenía que sacar un ALV, y me acordé de un manualcillo que me prestó un compañero un día en el trabajo…
Lo bueno que tiene este ALV OO, es que no necesita utilizar DYNPROS… es espectacular para cuando necesitamos sacar un reporte rapidísimo y sin muchas lineas… entre dejar una salida con WRITE y dejarla en un ALV, prefiero el ALV no?
desde aca pueden descargarse el manual :
ALV Object Model – Simple 2D Table – The Basics (esta parte explica el manejo básico de esta clase)
Manual ALV – Lo Básico para empezar
ALV Object Model – Simple 2D Table – Event Handling (esta es la parte del manual que explica como usar los eventos)
Manual ALV – EVENTOS
Bueno, si ven los PDF, se entuciasmarán y comenzarán a copiar y pegar, activar y fuaa el F8 a volar… y quedarán fascinados…
Pero la Fascinación llega hasta que tratan de dar salida en ALV a una tabla interna, que no tiene necesariamente una estructura estandar asociada…
entonces dirán… bueno… este desgraciado en su Blog decía que era algo maravilloso, mejor que el otro que tenían que crear una Dynpro, pero igual me está obligando a crear una estructura en el diccionario…
y si yo les digo que no es necesario crear esa estructura? esa es la gracia de este POST.. me cabecié un rato y logré hacer que el uso de esa estructura no fuese necesario, todo gracias a los tan poco usados Field-Symbols (que en realidad son la 8va maravilla).
Les dejo mi código mas abajo… como siempre: copiar y pegar.
data: begin of ti_salida OCCURS 0,
bukrs type bkpf-bukrs,
belnr type bkpf-belnr,
gjahr type bkpf-gjahr,
end of ti_salida.
ti_salida-bukrs = ’1001′.
ti_salida-belnr = ’0000111111′.
ti_salida-gjahr = ’2009′.
append ti_salida.
ti_salida-gjahr = ’2010′.
ti_salida-belnr = ’0000222222′.
append ti_salida.
ti_salida-gjahr = ’2011′.
ti_salida-belnr = ’0000333333′.
append ti_salida.
FIELD-SYMBOLS <tabla> type ANY TABLE .
data: gr_table type ref to cl_salv_table.
assign ti_salida[] to <tabla>[].
cl_salv_table=>factory( importing r_salv_table = gr_table
changing t_table = <tabla>[] ).
gr_table->display( ).
Ya no tienen que estar matandose, dando salidas con Write que para ser sinceros son bastántes feas…
Que lo disfruten!!!!!!!!

Comentarios»
No comments yet — be the first.