Ver la Versión Completa : 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
:confused:
DavidXD_XD
09/05/08, 17:57:17
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 :D
isratol
12/05/08, 21:11:21
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..
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
cvargas
18/06/08, 19:25:56
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
DavidXD_XD
18/06/08, 19:55:49
Hola, te refieres a mostrar subtotales???
cvargas
18/06/08, 20:30:45
Hola, te refieres a mostrar subtotales???
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
nachosds
19/06/08, 08:40:56
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
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!
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web