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
  #11  
Viejo 17/07/08, 12:53:56
sconoredhot sconoredhot is offline
Senior Member
 
Fecha de Ingreso: feb 2008
Localización: Argentina, Rosario
Mensajes: 341
Este seria la parte de un ejemplo de un alv en bloques, espero que te pueda llegar a servir.

PERFORM f_init_block.
PERFORM f_cargar_layout.
PERFORM f_cargar_fieldcat TABLES i_fieldcat.
PERFORM f_cargar_fieldcat2 TABLES i_fieldcat2.
PERFORM f_cargar_fieldcat3 TABLES i_fieldcat3.
PERFORM f_cargar_eventos.
PERFORM f_append_alv1.
PERFORM f_append_alv3.
PERFORM f_append_alv2.
PERFORM f_listar_block.


FORM f_cargar_fieldcat TABLES pt_fieldcat TYPE slis_t_fieldcat_alv.

DATA: l_posicion TYPE i.

CLEAR pt_fieldcat.
REFRESH pt_fieldcat.

pt_fieldcat-col_pos = l_posicion.
pt_fieldcat-fieldname = 'CUIT'.
pt_fieldcat-seltext_l = 'CUIT'.
pt_fieldcat-tabname = 'I_SALIDA'.
APPEND pt_fieldcat.
CLEAR pt_fieldcat.

pt_fieldcat-col_pos = l_posicion.
pt_fieldcat-fieldname = 'LIFNR'.
pt_fieldcat-seltext_l = 'Acreedor'.
pt_fieldcat-tabname = 'I_SALIDA'.
APPEND pt_fieldcat.
CLEAR pt_fieldcat.

pt_fieldcat-col_pos = l_posicion.
pt_fieldcat-fieldname = 'BUKRS'.
pt_fieldcat-tabname = 'I_SALIDA'.
pt_fieldcat-seltext_l = 'Sociedad'.
APPEND pt_fieldcat.
CLEAR pt_fieldcat.

pt_fieldcat-col_pos = l_posicion.
pt_fieldcat-fieldname = 'NAME1'.
pt_fieldcat-seltext_l = 'Razon Social'.
pt_fieldcat-tabname = 'I_SALIDA'.
APPEND pt_fieldcat.
CLEAR pt_fieldcat.

pt_fieldcat-col_pos = l_posicion.
pt_fieldcat-fieldname = 'MENSAJE'.
pt_fieldcat-tabname = 'I_SALIDA'.
pt_fieldcat-seltext_l = 'Log'.
APPEND pt_fieldcat.
CLEAR pt_fieldcat.

ENDFORM. " f_cargar_fieldcat_1
Y otros dos forms mas iguales a este...

FORM f_init_block.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = g_repid
i_callback_pf_status_set = 'SET-PF-STATUS'.

ENDFORM. "f_init_block

FORM f_append_alv1.
DATA l_tabname TYPE slis_tabname VALUE 'I_SALIDA'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout
it_fieldcat = i_fieldcat[]
i_tabname = l_tabname
it_events = i_eventos
TABLES
t_outtab = i_salida.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDFORM. "f_append_alv1

FORM f_append_alv2.
DATA l_tabname TYPE slis_tabname VALUE 'I_JD'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout
it_fieldcat = i_fieldcat2[]
i_tabname = l_tabname
it_events = i_eventos_2
TABLES
t_outtab = i_jd.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDFORM. "f_append_alv2

FORM f_listar_block.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDFORM. "f_listar_block

FORM f_cargar_eventos .

DATA: l_eventos TYPE slis_alv_event.
*
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = i_eventos.

CLEAR l_eventos.
READ TABLE i_eventos WITH KEY name = 'TOP_OF_PAGE'
INTO l_eventos.
IF sy-subrc = 0.
* Asignar subrutina al evento TOP-OF-PAGE
MOVE 'TOP-OF-PAGE' TO l_eventos-form.
APPEND l_eventos TO i_eventos.
ENDIF.

CLEAR l_eventos.
READ TABLE i_eventos WITH KEY name = 'TOP_OF_PAGE'
INTO l_eventos.
IF sy-subrc = 0.
* Asignar subrutina al evento TOP-OF-PAGE BLOQUE 2
MOVE 'TOP-OF-PAGE-2' TO l_eventos-form.
APPEND l_eventos TO i_eventos_2.
ENDIF.

CLEAR l_eventos.
READ TABLE i_eventos WITH KEY name = 'TOP_OF_PAGE'
INTO l_eventos.
IF sy-subrc = 0.
* Asignar subrutina al evento TOP-OF-PAGE BLOQUE 3
MOVE 'TOP-OF-PAGE-3' TO l_eventos-form.
APPEND l_eventos TO i_eventos_3.
ENDIF.

ENDFORM. " f_cargar_eventos

(Para este form debes hacer antes 3 top of page)

FORM f_append_alv3 .

DATA l_tabname TYPE slis_tabname VALUE 'I_SALIDA2'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout
it_fieldcat = i_fieldcat3[]
i_tabname = l_tabname
it_events = i_eventos_3
TABLES
t_outtab = i_salida2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

espero que te sirva saludos...
__________________
Sebas

Desarrollador ABAP.
Responder Con Cita
  #12  
Viejo 29/07/08, 12:16:22
Avatar de mcarrasco
mcarrasco mcarrasco is offline
Member
 
Fecha de Ingreso: jul 2007
Localización: Venezuela. Pto Ordaz
Mensajes: 71
Amigo...

Te recomiendo que crees una estructura con los campos que requieres de las 2 tablas y crees luego una tabla interna de esta estructura.

creas el catalogo según la estructura y le mandas esta tabla a la funcion que muestra el alv.
__________________

Atte. Marcos Carrasco...
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 23:38:35.


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