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, 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
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 21:21:34.


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