MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 10/05/07, 15:43:35
angus174 angus174 is offline
Junior Member
 
Fecha de Ingreso: dic 2006
Mensajes: 4
Ejemplo de ALV list con cabecera

Hola necesito hacer un ALV list que tiene varias cabeceras + info. ej.
cab 1 tendria datos de region 1
det 1 documentos y nombres de clientes de esa region

cab2 reg 2
det 2 datos de doc y region 2

y asi por varias regiones...

se puede hacer con el REUSE_ALV_LIST_DISPLAY o hay que usar
alguno otra función para ALV.
Alguien tendria algún ejemplo de como podria hacerlo?
desde ya muchas gracias.
Responder Con Cita
  #2  
Viejo 10/05/07, 19:50:24
Avatar de Claudia Valdespino
Claudia Valdespino Claudia Valdespino is offline
Member
 
Fecha de Ingreso: mar 2007
Localización: Lima - Perú
Mensajes: 54
Hola, lo que quieres hacer es un ALV jerárquico y para ello usa la siguiente función: REUSE_ALV_HIERSEQ_LIST_DISPLAY. Te mando un ejemplito para que te guies... es muy sencillo, lo único nuevo es el INIT_SORT y el INIT_KEY en donde indicas cuales son la claves de tu cabecera y el detalle para que se puedan relacionar

REPORT Z_PRT_ERC_LOGLIQ.

TABLES: ZTERC_LOGLIQ, T001.
TYPE-POOLS: SLIS.

* PARAMETROS DE SELECCION
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS:
S_BUKRS FOR ZTERC_LOGLIQ-BUKRS OBLIGATORY.

PARAMETERS:
P_GJAHR LIKE ZTERC_LOGLIQ-GJAHR OBLIGATORY.

SELECT-OPTIONS:
S_LBELN FOR ZTERC_LOGLIQ-NROLIQ,
S_MABER FOR ZTERC_LOGLIQ-AREAG,
S_ERSDA FOR ZTERC_LOGLIQ-ERSDA,
S_STATS FOR ZTERC_LOGLIQ-STATS.
SELECTION-SCREEN END OF BLOCK B1.

* ESTRUCTURA DEL ALV
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_SORT TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GS_KEY TYPE SLIS_KEYINFO_ALV,
G_REPID LIKE SY-REPID,
GT_EVENTS TYPE SLIS_T_EVENT.

* TABLA INTERNA PARA EL CATALOGO DE DATOS
DATA: BEGIN OF T_ZTERC_LOGLIQ OCCURS 0.
INCLUDE STRUCTURE ZTERC_LOGLIQ.
DATA: END OF T_ZTERC_LOGLIQ.

DATA: BEGIN OF T_HEADER OCCURS 0,
IND,
BUKRS LIKE ZTERC_LOGLIQ-BUKRS,
AREAG LIKE ZTERC_LOGLIQ-AREAG,
END OF T_HEADER.

* INICIO
START-OF-SELECTION.
G_REPID = SY-REPID.
PERFORM GET_DATA.
PERFORM INIT_FIELDCAT.
PERFORM INIT_SORT.
PERFORM INIT_LAYOUT.
PERFORM INIT_KEY.
PERFORM INIT_EVENT.
PERFORM REPORTE.

*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
FORM GET_DATA .
SELECT * INTO CORRESPONDING FIELDS OF TABLE T_ZTERC_LOGLIQ
FROM ZTERC_LOGLIQ
WHERE BUKRS IN S_BUKRS AND
GJAHR = P_GJAHR AND
NROLIQ IN S_LBELN AND
AREAG IN S_MABER AND
ERSDA IN S_ERSDA AND
STATS IN S_STATS.

LOOP AT T_ZTERC_LOGLIQ.
MOVE-CORRESPONDING T_ZTERC_LOGLIQ TO T_HEADER.
COLLECT T_HEADER.
ENDLOOP.
ENDFORM. " GET_DATA

*&---------------------------------------------------------------------*
*& Form INIT_FIELDCAT
*&---------------------------------------------------------------------*
FORM INIT_FIELDCAT .
CLEAR GT_FIELDCAT.
REFRESH GT_FIELDCAT.

* CABECERA*
GT_FIELDCAT-FIELDNAME = 'BUKRS'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_HEADER'.
GT_FIELDCAT-SELTEXT_L = 'Sociedad'.
GT_FIELDCAT-OUTPUTLEN = '9'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'AREAG'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_HEADER'.
GT_FIELDCAT-SELTEXT_L = 'Area Gestora'.
GT_FIELDCAT-OUTPUTLEN = '13'.
APPEND GT_FIELDCAT.

* DETALLE*
GT_FIELDCAT-FIELDNAME = 'NROLIQ'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Liquidación'.
GT_FIELDCAT-OUTPUTLEN = '12'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'GJAHR'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Ejercicio'.
GT_FIELDCAT-OUTPUTLEN = '10'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'ERSDA'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Fec. Registro'.
GT_FIELDCAT-OUTPUTLEN = '14'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'UDFTIME'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Hra. Registro'.
GT_FIELDCAT-OUTPUTLEN = '14'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'ERNAM'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Usuario obs.'.
GT_FIELDCAT-OUTPUTLEN = '20'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'STATS'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Estado'.
GT_FIELDCAT-OUTPUTLEN = '7'.
APPEND GT_FIELDCAT.

GT_FIELDCAT-FIELDNAME = 'OBSER'.
GT_FIELDCAT-REF_TABNAME = 'ZTERC_LOGLIQ'.
GT_FIELDCAT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_FIELDCAT-SELTEXT_L = 'Observación'.
GT_FIELDCAT-OUTPUTLEN = '255'.
APPEND GT_FIELDCAT.
ENDFORM. " INIT_FIELDCAT

*&---------------------------------------------------------------------*
*& Form INIT_SORT
*&---------------------------------------------------------------------*
FORM INIT_SORT .
CLEAR GT_SORT.
GT_SORT-TABNAME = 'T_HEADER'.
GT_SORT-FIELDNAME = 'BUKRS'.
GT_SORT-UP = 'X'.
GT_SORT-SPOS = 1.
APPEND GT_SORT.

CLEAR GT_SORT.
GT_SORT-TABNAME = 'T_HEADER'.
GT_SORT-FIELDNAME = 'AREAG'.
GT_SORT-UP = 'X'.
GT_SORT-SPOS = 2.
APPEND GT_SORT.

CLEAR GT_SORT.
GT_SORT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_SORT-FIELDNAME = 'BUKRS'.
GT_SORT-UP = 'X'.
GT_SORT-SPOS = 1.
APPEND GT_SORT.

CLEAR GT_SORT.
GT_SORT-TABNAME = 'T_ZTERC_LOGLIQ'.
GT_SORT-FIELDNAME = 'AREAG'.
GT_SORT-UP = 'X'.
GT_SORT-SPOS = 2.
APPEND GT_SORT.

ENDFORM. " INIT_SORT

*&---------------------------------------------------------------------*
*& Form INIT_LAYOUT
*&---------------------------------------------------------------------*
FORM INIT_LAYOUT .
GS_LAYOUT-ZEBRA = 'X'.
GS_LAYOUT-EXPAND_FIELDNAME = 'IND'.
GS_LAYOUT-EXPAND_ALL = 'X'.
ENDFORM. " INIT_LAYOUT

*&---------------------------------------------------------------------*
*& Form INIT_KEY
*&---------------------------------------------------------------------*
FORM INIT_KEY .
GS_KEY-HEADER01 = 'BUKRS'.
GS_KEY-ITEM01 = 'BUKRS'.
GS_KEY-HEADER02 = 'AREAG'.
GS_KEY-ITEM02 = 'AREAG'.
ENDFORM. " INIT_KEY

*&---------------------------------------------------------------------*
*& Form INIT_EVENT
*&---------------------------------------------------------------------*
FORM INIT_EVENT .
DATA: C_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_PAGE',
EVENT TYPE SLIS_ALV_EVENT.

EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
EVENT-FORM = 'TOP_PAGE'.
APPEND EVENT TO GT_EVENTS.
ENDFORM. " INIT_EVENT

*&---------------------------------------------------------------------*
*& Form REPORTE
*&---------------------------------------------------------------------*
FORM REPORTE .
* CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
* CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_SORT = GT_SORT[]
I_TABNAME_HEADER = 'T_HEADER'
I_TABNAME_ITEM = 'T_ZTERC_LOGLIQ'
IS_KEYINFO = GS_KEY
IT_EVENTS = GT_EVENTS
TABLES
T_OUTTAB_HEADER = T_HEADER
T_OUTTAB_ITEM = T_ZTERC_LOGLIQ
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " REPORTE

*---------------------------------------------------------------------*
* FORM TOP_PAGE *
*---------------------------------------------------------------------*
FORM TOP_PAGE.
WRITE:/ TEXT-006, SY-REPID. "Reporte
WRITE:/ TEXT-007. "Descripción

WRITE:/115(8) TEXT-003, 124(10) SY-DATUM. "Fecha
WRITE:/115(8) TEXT-004, 124(8) SY-UZEIT. "Hora
WRITE:/115(8) TEXT-005, 124(1) SY-PAGNO. "Pagina

WRITE:/1(150) TEXT-002 CENTERED. "HISTORIAL DE LIQUIDACIONES
SKIP 1.
ENDFORM.

Suerte!!
__________________
Saludos,

Claudia V.
Responder Con Cita
  #3  
Viejo 01/04/08, 19:03:17
architek architek is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Localización: Mazatlan,Mexico
Mensajes: 14
Me sirve de mucha ayuda Claudia Valdespino ahorita estoy buscando ejemplos sobre ALV jerarquicos, para tener una base o hacer uno estandar para nada mas modificarle ciertas cosas. Gracias.
Responder Con Cita
  #4  
Viejo 01/04/08, 19:17:57
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Talking

Hola, aqui tienes mas ejemplos de ALV Jerarquico

BCALV_TEST_HIERSEQ_LIST
BCALV_TEST_HIERSEQ_LIST_EVENTS

Espero te sirva ....
__________________
David Carballido Córdova
Responder Con Cita
  #5  
Viejo 01/04/08, 19:39:15
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Smile

Aqui encontre un reporte muy bueno en el que la salida es como tu estas buscando, mas de 1 cabecera .... el reporte es relacionado a activos fijos, seria cuestion de darle una debuggeada al report: RAABGA_ALV01, espero te ayude ....
Imágenes Adjuntas
Tipo de Archivo: jpg activos.JPG (73.8 KB, 451 visitas)
__________________
David Carballido Córdova
Responder Con Cita
  #6  
Viejo 01/04/08, 19:55:16
architek architek is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Localización: Mazatlan,Mexico
Mensajes: 14
gracias DavidXD_XD me sirven de mucha ayuda. los checare y vere que tal. de nuevo gracias.
Responder Con Cita
  #7  
Viejo 02/04/08, 17:28:49
i_arnaiz i_arnaiz is offline
Junior Member
 
Fecha de Ingreso: sep 2006
Mensajes: 13
Wink

Te recomiendo que eches un ojo a esta entrada:



Es un include con el que podreis hacer rapidamente ALV GRID, ALV LIST y ALV Jerarquico de un modo muy sencillo.

Un saludo.

Nacho
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 06:06:36.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web