Poner match code(F4) para el campo adicional que se tienen dentro de las transacciones CJ20N CJ2A CJ2B CJ2C CJ27 CJ20 .
Paso 1
Debes de tener creada o en su defecto crear una tabla de donde vas a obtener los datos que se van a mostrar en el campo adicional que incluimos en la transacción Cj20n a nivel elemento PEP.
Yo cree esta tabla : tu puedes poner los datos que necesites.
Después de activarla .
Regresé a la transacción SE11 debes seleccionar Ayuda p.búsqueda.
Ingresas el nombre de tu ayuda
Ingresas el nombre de tu ayuda elemental . Tienes que seleccionar la primera opción.
En mi caso se llama ZFIH04 y contiene algunos de los campos que contiene mi tabla ZFIT05 que mostré anteriormente. En la parte de Parám. Ayuda Búsq. Tienes que ingresar los campos que quieres
Que se muestren en tu ayuda. El primero siempre debe de tener seleccionado IMP y EXP como se muestra en la imagen . Además debe tener un numero consecutivo en P.I. y Pos. Esto se ve claramente en la imagen.
Una vez terminado actívalo.
No olvides activarlo.
Regresas a la SE11
Y Ahora vas a crear una ayuda pero combinada . Pones el nombre de la ayuda combinada que en este caso es ZFIH04B pero puede llevar el nombre que elijas . Seleccionas Crear.
Te aparece la siguiente pantalla seleccionas.Ayuda p.búsqueda compuesta
Escribes la Descripción Breve que es lo que vas a ver como Titulo en la parte superior izquierda al momento de hacer tu búsqueda con F4 . Como se muestra en la siguiente imagen debes agregar en Parám Ayuia Búsq. El nombre del campo que va a ser guardado al final dentro del campo adicional que agregamos .
Da un clic en la pestaña Ayudas Búsq. Inlcuidas. Aquí agregas la ayuda de busqueda elemental que creamos anteriormente ZFIH04 . Debes seleccionar el renglón y dar un clic sobre asignación de parám.
Te debe de aparecer una venta Dict. Visualizar Ayuda busq. Tienes que agregar el nombre del campo con el cual estas ligando las dos ayudas que en mi caso es CLAVE_GRL el cual se encuentra dentro de las dos búsquedas.
Por último tienes que activar.
Paso 2 ir a la transacción se19.
Escribes el nombre de la implementación puede ser el siguiente ZWBS_USER_FIELDS_FA o el nombre
que tu elijas.
Te va a pedir el nombre de la definición que en este caso debe de ser WBS_USER_FIELDS_F4 esta es la definición que se utiliza para esta transacción en específico puedes ver la SAP Note 699400.
Tienes que poner el texto de la implementación tiene que ser algo que describa la implementación que estas realizando .(no puede quedar vacio).
Seleccionas activar .
Das un doble clic sobre el texto AT_F4
Te va a aparecer una pantalla en blanco con el nombre del método IF_EX_WBS_USER_FIELDS_F4~AT_F4
Que es el que utilizaremos para hacer funcionar nuestro Match code. Copia y pega este codigo en esta pantalla .. Tienes que tomar en cuenta que tienes que cambiar el texto TABNAME = Nombre de tu tabla (ZFIT05), FIELDNAME = Nombre del campo el cual se va a guardar en el campo adicional del usuario el cual esta contenido dentro de la tabla que diste escribiste anteriormente .(Clave_grl) y por ultimo SERCHHELP = Nombre del help combinado que generaste (ZFIH4B).
types returntab type table of ddshretval initial size 0.
data : tabname type dfies-tabname,
fieldname type dfies-fieldname,
searchhelp type shlpname.
data: return_tab type returntab.
data : valuestab type ddshretval.
case i_user_field.
when 'PRPS-USR00'.
tabname = 'ZFIT05'.
fieldname = 'CLAVE_GRL'.
searchhelp = 'ZFIH04B'.
* WHEN 'PRPS-USR01'.
* tabname = 'ZAMC_SUBGROUPS'.
* fieldname = 'ZSGROUP'.
* searchhelp = 'ZAMC_SUBGROUPS '.
endcase.
if not tabname is initial.
call function 'F4_FIELD_ON_VALUE_REQUEST'
exporting
tabname = tabname
fieldname = fieldname
searchhelp = searchhelp
* SHLPPARAM = ' '
* DYNPPROG = ' '
* DYNPNR = ' '
* DYNPROFIELD = ' '
* STEPL = 0
* VALUE = ' '
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* SUPPRESS_RECORDLIST = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* SELECTION_SCREEN = ' '
* CALLBACK_SELOPT
tables
return_tab = return_tab
* EXCEPTIONS
* FIELD_NOT_FOUND = 1
* NO_HELP_FOR_FIELD = 2
* INCONSISTENT_HELP = 3
* NO_VALUES_FOUND = 4
* OTHERS = 5
.
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
loop at return_tab into valuestab.
e_value = valuestab-fieldval.
endloop.
else.
message i398(00) with 'No search help is availabe for this field'.
endif.
Tienes que activarlo.
Al final obtienes lo siguiente al presionar F4:
Con esto terminamos con este tutorial..
Si este tutorial te ayudó en algo califícame .. y dame manita arriba.
Saludos.
Issa