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 09/05/08, 16:02:08
Irua Irua is offline
Member
 
Fecha de Ingreso: jun 2007
Mensajes: 83
Crear un matchcodes o ayuda de busquedas

Hola quisiera crear un matchcodes con dos campos de una tabla Z, y se visualice de la forma anexa

gracias


Imágenes Adjuntas
Tipo de Archivo: jpg busqueda.JPG (69.0 KB, 186 visitas)
Responder Con Cita
  #2  
Viejo 09/05/08, 17:57:17
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola, esa ayuda de busqyeda la puedes crear en la SE11, si pertenecen ambos campos a una misma tabla es mucho mas sencillo y crearias una ayuda de busqueda elemental, espero te ayude
__________________
David Carballido Córdova
Responder Con Cita
  #3  
Viejo 12/05/08, 21:11:21
isratol isratol is offline
Member
 
Fecha de Ingreso: jul 2007
Mensajes: 63
tambien puedes revisar en el elemento de datos, la pestaña de "Ambito de valores" ahi puedes agregar la tabla, o los valores que necesites... eso es mas simple...

ya si necesitas un matchcode mas complicado, si crealo desde la se11 como dice david..

Saludos..
__________________
Israel Toledo
Responder Con Cita
  #4  
Viejo 18/06/08, 17:59:19
Sil12 Sil12 is offline
Junior Member
 
Fecha de Ingreso: feb 2008
Mensajes: 14
Ayuda para búsqueda (Matchcode) por código

Hi!

Les pongo un ejemplo para crear una ayuda de búsqueda para un reporte.
*******DECLARACIÓN DE VARIABLES*********
DATA: BEGIN OF t_values OCCURS 0,
value(60) TYPE c.
DATA: END OF t_values.

DATA: BEGIN OF t_fields OCCURS 0.
INCLUDE STRUCTURE help_value.
DATA END OF t_fields.
DATA: valor(20) TYPE C.
DATA: BEGIN OF t_match OCCURS 0,
secre LIKE ZAC_CG_SEC-SECRE,
END OF t_match.

DATA: BEGIN OF S_CG,
FICTR LIKE ZAC_CG_SEC-FICTR.
DATA: END OF S_CG.
DATA: IT_CG LIKE S_CG OCCURS 0 WITH HEADER LINE.

*****EVENTO PARA QUE SE MUESTRE LA AYUDA *********
AT SELECTION-SCREEN ON VALUE-REQUEST FOR Secre-LOW.

REFRESH: t_values, t_fields.
CLEAR : t_values, t_fields.

t_fields-fieldname = 'SECRE'.
t_fields-tabname = 'ZAC_CG_SEC'.
t_fields-selectflag = 'X'.
APPEND t_fields. CLEAR t_fields.

SELECT *
INTO CORRESPONDING FIELDS OF TABLE t_match
FROM ZAC_CG_SEC.

SORT t_match by secre.
DELETE ADJACENT DUPLICATES FROM t_match.

LOOP AT t_match.
t_values-value = t_match-SECRE.
APPEND t_values.
ENDLOOP.

CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
* cucol = 20
* curow = 4
tabname = 'T_MATCH'
fieldname = 'secre'
IMPORTING
select_value = SECRE
TABLES
fields = t_fields
valuetab = t_values.

Y si lo necesitan para una dynpro pueden ponerlo todo en un FORM, como en el ejemplo.
******* EVENTO DEL DYNPRO DONDE SE ANEXA AL CAMPO.*******
PROCESS ON VALUE-REQUEST.
FIELD: R_ZACSC-MCKEY MODULE MATCH_CODE.

********MODULO DE DONDE SE LLAMA AL FORM.***************
MODULE MATCH_CODE INPUT.
PERFORM f4_for_mckey USING R_ZACSC-MCKEY.
ENDMODULE. " MATCH_CODE INPUT

********FORM DONDE SE CONSTRUYE LA AYUDA **************
FORM f4_for_mckey USING P_R_ZACSC_MCKEY.

DATA: BEGIN OF t_values OCCURS 0,
value(60) TYPE c.
DATA: END OF t_values.

DATA: BEGIN OF t_fields OCCURS 0.
INCLUDE STRUCTURE help_value.
DATA END OF t_fields.
DATA: valor(20) TYPE C.
DATA: BEGIN OF t_match OCCURS 0,
mckey LIKE ZACMC-MCKEY,
mcdmc LIKE ZACMC-MCDMC,
mcfal LIKE ZACMC-MCFAL,
mcfbj LIKE ZACMC-MCFBJ,
END OF t_match.

REFRESH: t_values, t_fields.
CLEAR : t_values, t_fields.

t_fields-fieldname = 'MCKEY'.
t_fields-tabname = 'ZACMC'.
t_fields-selectflag = 'X'.
APPEND t_fields. CLEAR t_fields.

t_fields-fieldname = 'MCDMC'.
t_fields-tabname = 'ZACMC'.
t_fields-selectflag = ''.
APPEND t_fields. CLEAR t_fields.

t_fields-fieldname = 'MCFAL'.
t_fields-tabname = 'ZACMC'.
t_fields-selectflag = ''.
APPEND t_fields. CLEAR t_fields.

t_fields-fieldname = 'MCFBJ'.
t_fields-tabname = 'ZACMC'.
t_fields-selectflag = ''.
APPEND t_fields. CLEAR t_fields.

SELECT *
INTO CORRESPONDING FIELDS OF TABLE t_match
FROM ZACMC
where MCSAC = 'APRM' OR MCSMO = 'MODM' AND MCFBJ >= sy-datum.

LOOP AT t_match.
t_values-value = t_match-MCKEY.
APPEND t_values.
t_values-value = t_match-MCDMC.
APPEND t_values.
t_values-value = t_match-MCFAL.
APPEND t_values.
t_values-value = t_match-MCFBJ.
APPEND t_values.
ENDLOOP.

CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
cucol = 20
curow = 4
tabname = 'T_MATCH'
fieldname = 'MCKEY'
IMPORTING
select_value = P_R_ZACSC_MCKEY
TABLES
fields = t_fields
valuetab = t_values.


ENDFORM. " f4_for_mckey
__________________
---

Responder Con Cita
  #5  
Viejo 18/06/08, 19:25:56
cvargas cvargas is offline
Junior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 7
Agrupamiento en reporte

Saludos

Necesito ayuda, tengo un ALV al cual tengo que colocarle un quiebre o agrupamiento. De que manera puedo hacer para realizar dicho reporte.
Alguien podria brindar un ejemplo.

Carlos
Responder Con Cita
  #6  
Viejo 18/06/08, 19:55:49
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
Hola, te refieres a mostrar subtotales???
__________________
David Carballido Córdova
Responder Con Cita
  #7  
Viejo 18/06/08, 20:30:45
cvargas cvargas is offline
Junior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 7

Claro, por ejemplo a agrupar las facturas por cliente

juan perez
factura 001-00000010 $ 1000.00
factura 001-00000011 $ 1000.00
total cliente 2000.00
pedro perez
factura 001-00000020 $ 2000.00
factura 001-00000021 $ 4000.00
total ciente $ 6000.00

Este diseño es algo similar a lo que me piden


Carlos
Responder Con Cita
  #8  
Viejo 19/06/08, 08:40:56
nachosds nachosds is offline
Member
 
Fecha de Ingreso: dic 2007
Localización: Cadiz - España
Mensajes: 48


Muy buenas Carlos,
Para mostrar ese listado no seria necesario utilizar un ALV. Con Write podriamos mostrar ese listado de la siguiente manera:


sort it_tabla by nombre
LOOP AT it_tabla.

AT NEW nombre.
write:/ it_tabla-nombre.
write:/ 'factura' it_tabla-factura, '$' it_tabla-importe.

d_total = it_tabla-importe.

ENDAT.

write:/ 'factura' it_tabla-factura, '$' it_tabla-importe.

d_total = d_total + it_tabla-importe.

AT END OF nombre.
d_end = c_x.
ENDAT.

IF d_end = c_x.
write:/ 'total cliente' d_total.
uline.
ENDIF.

ENDLOOP.

Este codigo no he podido probarlo porque no tenemos la maquina operativa.
Si tienes alguna duda o ves algun error en el codigo, no dudes en preguntar.

Saludos!
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 19:13:29.


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