Hacer match code a medida

Buenos días,
saludos, Estoy haciendo Report, el cual filtra por nº de personal, pero necesito que cuando muestra el matchcode el numero, también muestre el apellido y nombre de la persona.

Estás haciendolo en abap?
O un reporte estandar ?
Esto es HR no?

Saludos @SidV, en abap, lo que he leído tengo que crear un matchode.

ahorita que yo recuerde, como que hay una forma…estandar de que te los muestre, deja que la consiga y te la paso !! si estas muy apurada, pues vas a tener que crear una pero igual no es muy recomendable porque tendrias que hacer un select de todos los pernr del infotipo que quieras los nro de personal y luego por todos eso buscar el nombre en el infotipo 1 y luego con una funcion que es algo como f4value…te genera la ayuda de busqueda como la quieres !! en lo que tenga lo que te comento, lo paso

1 me gusta

Buenos días @neilagallardo,
espero que no te moleste pero he cambiado el título ya que éste me parece más adecuado a la consulta en concreto. Si no estás de acuerdo lo vuelvo a dejar igual.

Como quieres hacer un matchcode a tu medida puedes hacer lo siguiente:

Ejemplo 1.

  1. Crear una vista de ayuda de búsqueda, crear una ayuda de búsqueda asociada a la vista y todo ello en el diccionario abap con los campos que quieres mostrar.
  2. Dentro del report, en la definición del parámeter incluir sentencia MATCHCODE OBJECT < tu vista de búsqueda search_help >

Ejemplo 2.

  1. Crear una ayuda de búsqueda en el diccionario con los campos a mostrar
  2. En la pbo, en el campo de dynpro hacer on value-request y llamar a un form como ejemplo:

[CODE]
DATA: dyname LIKE d020s-prog, "VALUE sy-repid,
dynumb LIKE d020s-dnum. "VALUE sy-dynnr.
DATA: BEGIN OF dynpfields OCCURS 3.
INCLUDE STRUCTURE dynpread.
DATA: END OF dynpfields.
DATA: l_shlp TYPE shlp_descr.
*

  • Aquí viene el nombre de tu ayuda de búsqueda
  • DATA: lv_name_sh TYPE shlpname VALUE ‘ZCAJATR_HLP’.
    DATA: t_return TYPE STANDARD TABLE OF ddshretval .
    DATA: v_subrc TYPE sysubrc.
    FIELD-SYMBOLS: TYPE ddshiface,
    TYPE ddshretval,
    LIKE LINE OF dynpfields.
    MOVE sy-repid TO dyname.
    MOVE sy-dynnr TO dynumb.
    CALL FUNCTION 'F4IF_GET_SHLP_DESCR’
    EXPORTING
    shlpname = lv_name_sh
    shlptype = 'SH’
    IMPORTING
    shlp = l_shlp.
    LOOP AT l_shlp-interface ASSIGNING .
    -valfield = ‘X’.
    ENDLOOP.
    CALL FUNCTION 'F4IF_START_VALUE_REQUEST’
    EXPORTING
    shlp = l_shlp
    IMPORTING
    rc = v_subrc
    TABLES
    return_values = t_return.
    LOOP AT t_return ASSIGNING .
    APPEND INITIAL LINE TO dynpfields ASSIGNING .
    CASE -fieldname.
    WHEN ‘TRANSACT_NAME’.
    MOVE ‘ZCAJA_SCR1100-TNAME’ TO -fieldname.
    WHEN ‘TRANSACT_NUMBER’.
    MOVE ‘ZCAJA_SCR1100-CODET’ TO -fieldname.
    WHEN ‘GL_ACCOUNT’.
    MOVE ‘ZCAJA_SCR1100-HKONT’ TO -fieldname.
    ENDCASE.
    -fieldvalue = -fieldval.
    ENDLOOP.

Recordar luego actualizar los valores en la dynpro:

CALL FUNCTION 'DYNP_VALUES_UPDATE’
EXPORTING
dyname = dyname
dynumb = dynumb
TABLES
dynpfields = dynpfields.

[/CODE]
Esta ayuda de búsqueda, para un sociedad dada devuelve las operaciones posibles del libro de caja con tres campos: operación contable, número de operación y cuenta de mayor asociada.

2 Me gusta

Saludos @canuto, @Salco. No pude hacer una ayuda de búsqueda porque no es una tabla z,es un Registro maestro de personal Infotipo 0002 (Datos pers.); lo que hice fue crear un matchcode, es decir, cree un tabla con los campos que deseo mostra y un select del pa0002.