Cómo usar los BTE

Para el uso de los BTE primero, visitas la transaccion FIBF

Luego selecciones opciones->productos->de un cliente
En esta aprtado de creas el producto como tal, y si te fijas en el check, eso lo que hace es darte la posibilidad de activar o desactivar cualquier evento, digamos que ocurre un problema y quieres apagar el evento para que no se ejecute el codigo que pusiste, vienes y quitas el check.

Luego vuelves a tras, y vas a opciones->Modulosp/s->de un cliente.
Y aqui le colocas el producto que creaste, y le dices con cual evento quieres que funcione, y a parte le colocas un modulo de funciones, el cual sera el bloque que tendra el codigo. Usualmente no, mejor dicho siempre, tendras que copiar un modulo de funcion standard, ya que SAP tiene modulos para cada evento. Para buscarlos vas a la se37 y colocas +numero del evento+ fijate que si puse asteriscos, eso es para que te salga el modulo estandar y te lo copias.

Ya terminaste con el BTE, ahora vamos al codigo dentro del modulo de funciones.

      DATA: v_rnc       LIKE i_kna1-stcd1,
            v_respuesta TYPE char1,
            v_mensaje   TYPE string,
            v_quetion   TYPE c LENGTH 80.

      DATA: l_kunnr TYPE kna1-kunnr.
    *  wa_ztrncblq LIKE ztrncblq.

      CASE sy-tcode.

    ************************************************************************
    ******** Valido que se active este BTE solo en las t-code deseadas  ****
    ************************************************************************

        WHEN 'XD01' OR 'FD01' OR 'VD01' OR 'XD02' OR 'FD02' OR 'FD03' OR 'XD03'.

    ************************************************************************
    ******** *. Valida el número de pantalla donde se encuentra el campo de*
    ************************************************************************

          IF i_kna1-stcd1 IS NOT INITIAL AND i_kna1-land1 EQ 'DO' . "Start if #1

            v_rnc = i_kna1-stcd1.
            REPLACE ALL OCCURRENCES OF '-' IN v_rnc WITH ''.

            IF v_rnc CO ' 0123456789'. "Valido que solo haya digitado numeros. "Start if#2

    ************************************************************************
    ******** Valido que sea un RNC o una cedula         ********************
    ************************************************************************
              IF strlen( i_kna1-stcd1 ) NE 9 AND strlen( i_kna1-stcd1 ) NE 11.

                MESSAGE 'RNC o Cedula no valido, favor corregir' TYPE 'E'.
              ELSE.

    ************************************************************************
    ******** Valido que no este duplicado   ********************
    ************************************************************************

                SELECT SINGLE kunnr FROM kna1
                  INTO l_kunnr
                  WHERE kunnr <> i_kna1-kunnr
                      and stcd1 EQ i_kna1-stcd1.

                IF sy-subrc EQ 0.

                  v_mensaje = 'RNC duplicado favor verificar el codigo [ '.
                  CONCATENATE v_mensaje l_kunnr ' ] ' INTO v_mensaje SEPARATED BY space.
                  CLEAR l_kunnr.
                  MESSAGE v_mensaje TYPE 'E' DISPLAY LIKE 'I'.

                ENDIF.
              ENDIF.
            ENDIF.
          ENDIF.
      ENDCASE.

Si te fijas bien, condicione el codigo a las t-code de deudores, porque da la casualidad de que los BTE son globales, y pasan muchas t-code asi que siempre es bueno condicionar el codigo a la t-code que vas a utilizar.

8 Me gusta

Excelente paso a paso.
Lo moví a #Tutoriales, porque es básicamente eso.

Espero que a @Salco no le moleste leer sobre los BTE aquí :wink:

Abrazo y sigamos así :+1:

1 me gusta

Tenia pensado dejarlo en un Paso a Paso. Pero queria dejarlo para @Salco. xD bueno @Salco ven por aqui a leer.

Esta excelente @SidV.

2 Me gusta

Muchas gracias @smota, excelente aporte!

La verdad que no sabía cómo utilizar esta herramienta.

Saludos

2 Me gusta

Muy bueno tu aporte @smota!!! :wave:

1 me gusta