Match Code

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • oruga
    Senior Member
    • oct
    • 136

    #1

    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
    Senior Member
    • ene
    • 406

    #2
    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.
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    • SAPING
      Senior Member
      • may
      • 199

      #3
      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.

      Comentario

      Trabajando...