Você está na página 1de 9

tree alv Search Results ABAP / SAP Tips & Tricks

Page 1 of 9

ABAP / SAP Tips & Tricks


Todo sobre ABAP y SAP: Cdigos, funciones, transacciones, herramientas, trucos y dems

Inicio Bienvenidos... Sobre mi...

ALV Tree Orientado a Objetos


26 11 2007

Hace unos das en el trabajo me toc hacer un reporte ALV Tree .

No encontr mucha informacin ni manuales al respecto, mucho menos en espaol. Pero por suerte pude encontrar un ejemplo que me sirvi mucho. Es un post de ALV Tree orientado a objetos del conocido Alvaro Tejada Galindo (http://atejada.blogspot.com/2007/05/alv-tree-orientado-objetos.html#links) Por lo tanto aprovecho para hacer referencia de ese post con algunas cosas que faltaban y cambios en la sintaxis para que active. Y adems voy a describir en detalle como crear una Dynpro y el Custom Control necesarios para correr el reporte ALV Tree. 1) Desde la transaccin SE38 creamos el reporte Z_ALV_TREE y pegamos el siguiente cdigo:
*&* *& Report Z_ALV_TREE * *& * *&* *& * *& * *&*

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 2 of 9

REPORT Z_ALV_TREE. ** * DECLARACION DE TYPES ** TYPES: BEGIN OF TY_SPFLI, CARRID TYPE SPFLI-CARRID, CONNID TYPE SPFLI-CONNID, COUNTRYFR TYPE SPFLI-COUNTRYFR, CITYFROM TYPE SPFLI-CITYFROM, AIRPFROM TYPE SPFLI-AIRPFROM, COUNTRYTO TYPE SPFLI-COUNTRYTO, CITYTO TYPE SPFLI-CITYTO, END OF TY_SPFLI. TYPES: BEGIN OF TY_HEADER, CARRID TYPE SPFLI-CARRID, END OF TY_HEADER. ** * DECLARACION DE TABLAS INTERNAS ** DATA: T_SPFLI TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE, TAB_TREE TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE, T_TREE TYPE STANDARD TABLE OF TY_SPFLI WITH HEADER LINE, T_HEADER TYPE STANDARD TABLE OF TY_HEADER WITH HEADER LINE.

** * DECLARACION DE VARIABLES * ** DATA: G_ALV_TREE TYPE REF TO CL_GUI_ALV_TREE, L_HIERARCHY_HEADER TYPE TREEV_HHDR, GS_FIELDCAT TYPE LVC_S_FCAT, GT_FIELDCAT_TREE TYPE LVC_T_FCAT, G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER. ** * DECLARACION DE FIELD-SYMBOLS * ** FIELD-SYMBOLS: <HEADER> LIKE LINE OF T_HEADER, <SPFLI> LIKE LINE OF T_SPFLI. ** * SELECTION-SCREEN * ** SELECTION-SCREEN BEGIN OF SCREEN 1001. SELECTION-SCREEN END OF SCREEN 1001. ** * START-OF-SELECTION * ** START-OF-SELECTION. PERFORM OBTENER_DATOS. IF G_ALV_TREE IS INITIAL. PERFORM INIT_TREE. CALL METHOD CL_GUI_CFW=>FLUSH EXCEPTIONS CNTL_SYSTEM_ERROR = 1 CNTL_ERROR = 2. ENDIF. CALL SCREEN 100. ** * FORM init_tree * ** FORM INIT_TREE.

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 3 of 9

DATA: L_TREE_CONTAINER_NAME(30) TYPE C. L_TREE_CONTAINER_NAME = TREE_CONTROL. CREATE OBJECT G_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = L_TREE_CONTAINER_NAME EXCEPTIONS CNTL_ERROR =1 CNTL_SYSTEM_ERROR =2 CREATE_ERROR =3 LIFETIME_ERROR =4 LIFETIME_DYNPRO_DYNPRO_LINK = 5. CREATE OBJECT G_ALV_TREE EXPORTING PARENT = G_CUSTOM_CONTAINER NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE ITEM_SELECTION = NO_HTML_HEADER = X NO_TOOLBAR = EXCEPTIONS CNTL_ERROR =1 CNTL_SYSTEM_ERROR =2 CREATE_ERROR =3 LIFETIME_ERROR =4 ILLEGAL_NODE_SELECTION_MODE = 5 FAILED =6 ILLEGAL_COLUMN_NAME = 7. PERFORM FILL_CATALOG_TREE. PERFORM BUILD_HIERARCHY_HEADER CHANGING L_HIERARCHY_HEADER. CALL METHOD G_ALV_TREE->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING IS_HIERARCHY_HEADER = L_HIERARCHY_HEADER CHANGING IT_OUTTAB = T_TREE[] IT_FIELDCATALOG = GT_FIELDCAT_TREE. PERFORM CREATE_HIERARCHY. ENDFORM. ** * FORM FILL_CATALOG_TREE ** FORM FILL_CATALOG_TREE. DATA: GS_FIELDCAT_ADD TYPE LVC_S_FCAT. CLEAR GS_FIELDCAT. GS_FIELDCAT-COL_POS = 1. GS_FIELDCAT-REPTEXT = Flight. GS_FIELDCAT-SCRTEXT_S = Flight. GS_FIELDCAT-FIELDNAME = CONNID. GS_FIELDCAT-TABNAME = T_SPFLI. APPEND GS_FIELDCAT TO GT_FIELDCAT_TREE. CLEAR GS_FIELDCAT. GS_FIELDCAT-COL_POS = 2. GS_FIELDCAT-REPTEXT = Country. GS_FIELDCAT-SCRTEXT_S = Country. GS_FIELDCAT-FIELDNAME = COUNTRYFR. GS_FIELDCAT-TABNAME = T_SPFLI. APPEND GS_FIELDCAT TO GT_FIELDCAT_TREE. CLEAR GS_FIELDCAT. GS_FIELDCAT-COL_POS = 3. GS_FIELDCAT-REPTEXT = Dep.City. GS_FIELDCAT-SCRTEXT_S = Dep.City. GS_FIELDCAT-FIELDNAME = CITYFROM. GS_FIELDCAT-TABNAME = T_SPFLI.

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 4 of 9

GS_FIELDCAT-OUTPUTLEN = 15. APPEND GS_FIELDCAT TO GT_FIELDCAT_TREE. CLEAR GS_FIELDCAT. GS_FIELDCAT-COL_POS = 4. GS_FIELDCAT-REPTEXT = Dep.Airp. GS_FIELDCAT-SCRTEXT_S = Dep.Airp. GS_FIELDCAT-FIELDNAME = AIRPFROM. GS_FIELDCAT-TABNAME = T_SPFLI. GS_FIELDCAT-OUTPUTLEN = 20. APPEND GS_FIELDCAT TO GT_FIELDCAT_TREE. CLEAR GS_FIELDCAT. GS_FIELDCAT-COL_POS = 5. GS_FIELDCAT-REPTEXT = Country. GS_FIELDCAT-SCRTEXT_S = Country. GS_FIELDCAT-FIELDNAME = COUNTRYTO. GS_FIELDCAT-TABNAME = T_SPFLI. GS_FIELDCAT-OUTPUTLEN = 15. APPEND GS_FIELDCAT TO GT_FIELDCAT_TREE. CLEAR GS_FIELDCAT. GS_FIELDCAT-COL_POS = 6. GS_FIELDCAT-REPTEXT = Arr.City. GS_FIELDCAT-SCRTEXT_S = Arr.City. GS_FIELDCAT-FIELDNAME = CITYTO. GS_FIELDCAT-TABNAME = T_SPFLI. GS_FIELDCAT-OUTPUTLEN = 20. APPEND GS_FIELDCAT TO GT_FIELDCAT_TREE. ENDFORM. ** * FORM build_hierarchy_header * ** FORM BUILD_HIERARCHY_HEADER CHANGING P_HIERARCHY_HEADER TYPE TREEV_HHDR. CLEAR P_HIERARCHY_HEADER. P_HIERARCHY_HEADER-HEADING = Airline carrier(300). P_HIERARCHY_HEADER-WIDTH = 18. P_HIERARCHY_HEADER-WIDTH_PIX = . ENDFORM. ** * FORM create_hierarchy * ** FORM CREATE_HIERARCHY. DATA: L_ROOT_KEY TYPE LVC_NKEY, L_NEXT_KEY TYPE LVC_NKEY, L_LAST_KEY TYPE LVC_NKEY, HEADER TYPE STRING, W_MENGE_TEXT(13) TYPE C. CLEAR L_ROOT_KEY. LOOP AT T_HEADER ASSIGNING <HEADER>. CLEAR L_ROOT_KEY. CLEAR L_NEXT_KEY. PERFORM ADD_NODE USING <HEADER>-CARRID L_ROOT_KEY CHANGING L_NEXT_KEY. LOOP AT T_SPFLI ASSIGNING <SPFLI> WHERE CARRID EQ <HEADER>-CARRID. MOVE-CORRESPONDING <SPFLI> TO TAB_TREE. PERFORM ADD_LEAF USING TAB_TREE L_NEXT_KEY CHANGING L_LAST_KEY. ENDLOOP. ENDLOOP.

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 5 of 9

CALL METHOD G_ALV_TREE->FRONTEND_UPDATE. ENDFORM. ** * FORM ADD_NODE * ** FORM ADD_NODE USING L_NAME L_ROOT_KEY CHANGING L_NEXT_KEY. DATA: L_NODE_TEXT TYPE LVC_VALUE, LS_TREE TYPE TY_SPFLI. L_NODE_TEXT = L_NAME. CALL METHOD G_ALV_TREE->ADD_NODE EXPORTING I_RELAT_NODE_KEY = L_ROOT_KEY I_RELATIONSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD I_NODE_TEXT = L_NODE_TEXT IS_OUTTAB_LINE = LS_TREE IMPORTING E_NEW_NODE_KEY = L_NEXT_KEY. ENDFORM. ** * FORM ADD_LEAF * ** FORM ADD_LEAF USING L_TREE TYPE TY_SPFLI L_NEXT_KEY CHANGING L_LAST_KEY. CALL METHOD G_ALV_TREE->ADD_NODE EXPORTING I_RELAT_NODE_KEY = L_NEXT_KEY I_RELATIONSHIP = CL_GUI_COLUMN_TREE=>RELAT_LAST_CHILD IS_OUTTAB_LINE = TAB_TREE IMPORTING E_NEW_NODE_KEY = L_LAST_KEY. ENDFORM. ** * FORM OBTENER_DATOS * ** FORM OBTENER_DATOS. SELECT CARRID CONNID COUNTRYFR CITYFROM AIRPFROM COUNTRYTO CITYTO INTO TABLE T_SPFLI FROM SPFLI. IF SY-SUBRC EQ 0. LOOP AT T_SPFLI ASSIGNING <SPFLI>. MOVE <SPFLI>-CARRID TO T_HEADER-CARRID. APPEND T_HEADER. ENDLOOP. SORT T_HEADER. DELETE ADJACENT DUPLICATES FROM T_HEADER. ENDIF.

ENDFORM.

2) Luego de activar el reporte vamos a la transaccin SE80: Buscamos nuestro programa Z_ALV_TREE. Nos paramos sobre la carpeta con mismo nombre, click con el botn derecho del mouse opcin Crear y luego Dynpro:

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 6 of 9

Ingresamos como nmero de dynpro 100. Ponemos la descripcin que queramos y luego de activar apretamos el botn Dispos. A continuacin se va a abrir el Screen Painter: Clickeamos en el botn Custom Control ( TREE_CONTROL ) y creamos un cuadrado con el nombre

Simplemente falta guardar, activar cerrar el Screen Painter. Y por ltimo en la transaccin SE80 doble click en la carpeta Z_ALV_TREE y ejecutamos. Cabe aclarar que este ejemplo trabaja con la tabla SPFLI que se usa comnmente en los ejemplos.
Technorati tags: sdn blogger

Comentarios : 16 Comentarios Etiquetas: ABAP, abapers, ALV, cdigo, dynpro, objetos, Painter, Reportes, reporting, SAP, Screen, SE80, tips, tree, tricks Categoras : ALV

tree alv

Buscar

MI PERFIL:

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 7 of 9

Enviarme un E-Mail.

SUSCRIBIRSE A ESTE BLOG:

Suscribirse a este blog Suscribirse a RSS Add me to your del.icio.us

Estadsticas Del Blog:


204,967 Visitas

VISITAS DE:

Pginas:
Bienvenidos Sobre mi

Categoras:
ABAP (1) ALV (3) Bases de datos lgica HR (1) Basis (10) Cdigos ABAP (17) Reportes (5) Field Exit (1) Funciones (13) IDOCs (2) Matchcodes (4)

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 8 of 9

Mdulo MM (1) Mdulo PP/PS (1) Mdulo SM (3) SapScripts (3) Transacciones (12) Trucos (10)

Mis ltimos Posts:


Reducir el tamao de los Transaction Logs Transaccin SGEN Compilacin de Programas SELECT OPTIONS DINMICOS Circuito de Reparaciones (Orden de Renovacin) Circuito de subcontratacin Completar variables con espacios a la izquierda Funcin SAVE_TEXT Crear y guardar Textos en SAP Funcin RZL_READ_DIR_LOCAL Conocer contenido de un directorio Matchcode Browser Server (buscador de directorios del servidor) Transaccin CG3Y Copiar archivo del servidor a nuestra computadora Cmo obtener los Status de Sistema y Usuario SM59 Destinos RFC Status de Sistema AJTM (Ajuste manual necesario) Encabezado (Header) completo para reporte ALV Transaccin OAER Objetos de aplicacin (imgenes)

Posts Ms Vistos:
Formas de recordar o relacionar los nombres de las tablas de SAP Creacin de IDOCs de Orden de Compra Enviar e-mails desde SAP Transacciones del Customizing (SPRO) Completar o quitar ceros a la izquierda de una variable ALV Tree Orientado a Objetos

Buscar Posts Por Mes:


Julio de 2009 (2) Abril de 2009 (1) Diciembre de 2008 (1) Octubre de 2008 (1) Agosto de 2008 (5) Junio de 2008 (2) Mayo de 2008 (3) Abril de 2008 (8) Enero de 2008 (1) Diciembre de 2007 (5) Noviembre de 2007 (22) Octubre de 2007 (10)

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

tree alv Search Results ABAP / SAP Tips & Tricks

Page 9 of 9

Buscar Posts Por Fecha:


Agosto 2009 L M X J V S D 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Jul

Comentarios Recientes:
Emmanuel en Download de archivo con format Daniel Panaro en Encabezado (Header) completo p magda en Encabezado (Header) completo p Daniel Panaro en ALV Tree Orientado a Obje Daniel Panaro en ALV Tree Orientado a Obje Roberto en Circuito de subcontrataci

Blogroll
..:: RAMGV::.. -[ Sap Stuff ]BitacoraSapAbap El blog tecnolgico de Blag. Martin Hagelstrom Tecnologia & Negocios MUNDOSAP.COM Programacin ABAP/4 SAP COMMUNITY NETWORK SAP4 SAP ABAP en castellano Weblogs sobre SAP

Etiquetas:

ABAP abapers
formulario formularios funcin report reporte

ALV ambiente archivos bajar Basis browser

cdigo completar crear datos directorios download file form


transaction

Funciones FUNCTION image imagen logo mdulo matchcode modificar module orden programa programm

SAP

servidor tabla texto

tips transaccin

Transacciones

tricks Trucos

user usuarios

Blog de WordPress.com El tema Freshy est hecho por Jide.

http://danielpanaro.wordpress.com/?s=tree+alv

22/08/2009

Você também pode gostar