MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Match Code (foro/showthread.php?t=45867)

oruga 17/10/11 15:07:46

Match Code
 
Buenos días,

Por favor mucho les sabría agradecer si me pueden ayudar con el tema siguiente.

Será posible agregar un match code, sobre el campo BKPF-BKTXT

De ser posible, cual sería el procedimiento.

De antemano,

Saludos y muchas gracias.

mysmb2 17/10/11 15:46:29

hola, tenes que crear una estructura append(f5) dentro de la se11(bkpf) y luego dentro de la estructura ZZ clickea el boton appending on y luego simplemente le referencias la ayuda para búsqueda creada para tal fin.
Saludos.

SAPING 18/10/11 12:48:49

Otra forma......
 
Sino puedes hacer lo siguiente: (es una ayuda de busqueda originada con una tabla interna tuya, por lo que le puedes poner matchcode a cualquier campo)


*primero debes declarar esto

DATA: BEGIN OF it_ihelp_fields OCCURS 0.
INCLUDE STRUCTURE help_value.
DATA: END OF it_ihelp_fields.

DATA: BEGIN OF it_helptab OCCURS 0,
feld(50),
END OF it_helptab.

* Variables para Tablas de Información para ayuda de Usuario.
DATA:
g_tnam LIKE help_info-tabname,
g_fnam LIKE help_info-fieldname .



*luego en el at selection-screen

*---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_werks.
*---------------------------------------------------------------------*
*p_werks es el campo al k kieres ponerle una ayuda.

g_fnam = 'WERKS'. " campo al k kieres mostrar ayuda
g_tnam = 'T001W'. "tabla de referencia del campo

FREE it_ihelp_fields.
CLEAR it_ihelp_fields.

it_ihelp_fields-tabname = 'T001W'. "tabla de referencia del campo
it_ihelp_fields-fieldname = 'WERKS'. " campo al k kieres mostrar ayuda
it_ihelp_fields-selectflag = 'X'. "este flag indica k este campo es el k retorna
APPEND it_ihelp_fields.
*si kieres mostrar un codigo(werks) con su descripcion
it_ihelp_fields-tabname = 'T001W'. "tabla de referencia del campo
it_ihelp_fields-fieldname = 'NAME1'. "descripcion
it_ihelp_fields-selectflag = ''. "flag en blanco porque este valor no se retorna
APPEND it_ihelp_fields.

FREE :it_helptab
CLEAR :it_helptab,it_centro

SELECT werks name1
INTO CORRESPONDING FIELDS OF TABLE it_centro
FROM t001w
WHERE werks LIKE 'T%' OR
werks LIKE 'M%'.

* ordenamos la tabla interna
SORT it_centro BY werks .
LOOP AT it_centro.
it_helptab-feld = it_centro-werks. "aki asignamos la data de centro a las tablas de ayuda
APPEND it_helptab.
it_helptab-feld = it_centro-name1. "aki asignamos la data de descrip.centro a las tablas de ayuda
APPEND it_helptab.
ENDLOOP.


PERFORM call_help_dynpro USING p_werks
text-CEN. "aki envias el titulo que mostarra tu ayuda

***************************************************************
este form lo declaras aparte para utilizarlo en todas tus ayudas
****************************************************************
*&---------------------------------------------------------------------*
*& Form call_help_dynpro
*&---------------------------------------------------------------------*
FORM call_help_dynpro USING p_chd_value
p_Title .

CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
TITEL = p_Title
fieldname = g_fnam
tabname = g_tnam
IMPORTING
SELECT_VALUE = p_chd_value
TABLES
FIELDS = it_ihelp_fields
VALUETAB = it_helptab
EXCEPTIONS
FIELD_NOT_IN_DDIC = 1
MORE_THEN_ONE_SELECTFIELD = 2
NO_SELECTFIELD = 3
OTHERS = 4.

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. " call_help_dynpro

espero te sirva...
Saludos.


Husos Horarios son GMT. La hora en este momento es 16:49:34.

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