Skip to Content

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

To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

    1. Isabel Villegas del Ángel Post author

      Gracias a tí  Fernando, espero te haya servido este  documento .. saludos .. 🙂

      Issa

      Fernando Muñoz Beltrán wrote:

                             

      Muy buen trabajo, gracias por el aporte.

      Saludos.

                         

      (0) 
  1. Pep Diola

    Hola Issa,

    Seguí los pasos indicados, ya puedo seleccionar el valor a través del match code, sin embargo al darle enter luego de haber seleccionado, el valor desaparece.  Sabes a qué se puede deber?

    Cuando escribo el valor manualmente y doy enter, no desaparece.

    Gracias de antemano por tu ayuda.

    Atte.

    José Luis

    (0) 

Leave a Reply