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 21/10/08, 14:48:25
juanmgdelomana juanmgdelomana is offline
Member
 
Fecha de Ingreso: dic 2007
Mensajes: 47
Popup Alv

Hola:

Tengo que hacer una modificación en un programa de tipo module pool que va a hacer un chequeo cuando pincho un boton 'AÑADIR' y añado una/s nueva/s factura/s con su proveedor, datos que yo introduzco.

El tema es ver si esta es única y en el caso de que no lo sea debería mostrar un popup con una información en ALV (las coincidencias encontradas, es decir las facturas que tienen el mismo nº de factura y el mismo proveedor). Lo estoy intentando hacer con un módulo de funciones ya que este trozo de código se utilizará más adelante en otros sitios.

Se os ocurre algo, lo que he intentado no me para de dar distintos dumps. ¿Me podría ayudar alguien? Os dejo mi código.

Muchas gracias por vuestra colaboración. Un saludo.

type-pools: slis. " ALV Global types

data: l_exit.
data: ls_private type slis_data_caller_exit.
data: ls_fieldcat type slis_fieldcat_alv.
data: lt_fieldcat type slis_t_fieldcat_alv.

DATA: REF_DDIC LIKE DD03P-TABNAME.

data: ls_selfield TYPE SLIS_SELFIELD.

data: cuenta type i.

data: rp_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.


refresh it_zesfera_cab_fact.
clear it_zesfera_cab_fact.


loop at IT_FACTURA.

SELECT *
from zesfera_cab_fact
APPENDING table it_zesfera_cab_fact
* into table it_zesfera_cab_fact
where factura = it_factura-factura and
proveedor = it_factura-proveedor and
estatus <> 'B'.

endloop.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'it_zesfera_cab_fact'
I_STRUCTURE_NAME = REF_DDIC
* I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = sy-repid
CHANGING
CT_FIELDCAT = RP_FIELDCAT[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
* OTHERS = 3
.


CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_ZEBRA = 'X'
I_TABNAME = it_zesfera_cab_fact
IT_FIELDCAT = rp_fieldcat[]
IMPORTING
ES_SELFIELD = LS_SELFIELD
TABLES
T_OUTTAB = it_zesfera_cab_fact.


ENDFUNCTION.
Responder Con Cita
  #2  
Viejo 21/10/08, 17:07:55
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola ... asi como colocas puedes usar ese REUSE_POPUP_ALV .... pero tbm puedes usar el mismo REUSE_ALV_LIST_DISPLAY y esa es mas conocida y facil que usar que la otra, ahora la cuestion es q abarca toda la pantalla y no actua como POPUP, para eso debes usar los campos de esa funcion:


Debes colocarle las coordenadas en los parametros:
I_SCREEN_START_COLUMN
I_SCREEN_START_LINE
I_SCREEN_END_COLUMN
I_SCREEN_END_LINE

Espero te ayude
__________________
David Carballido Córdova
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 16:08:27.


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