Inicio > FI > Crear sustituciones – GGB1

Crear sustituciones – GGB1

Caso: se busca crear una sustitución para el campo BKPF-XBLNR (campo referencia) en la MIRO para que si el valor ingresado es numérico, se quiten los ceros a la izquierda de éste.

1. Ingresamos a la transacción GGB1.

Allí vamos a “Contabilidad financiera” – “Cabecera documento” (ya que allí está el campo a sustituir) y presionamos el botón “Nueva Sustitución”.

Aquí se crea como una carpeta agrupadora de sustituciones.

Luego de esto, nos posicionamos en la carpeta recién grabada y presionamos el botón “Nuevo Paso”. Allí nos va a pedir el/los campos a sustituir. Seleccionamos el nuestro:

Nos va a pedir que sustitución realizaremos. En nuestro caso como vamos a generar algo de código, usaremos un EXIT. En caso de querer reeemplazarlo por una constante usar “Valor constante” y si se desea reemplazarlo por el valor de otro campo, la opción “Asignación campo-campo”

Definimos una descripción para el paso recién creado y nos posicionamos en el filtro de condiciones. Allí indicamos la/s transacciones en las cuales deseamos que se ejecute la sustitución y en nuestro caso que el campo no debe estar vacío.

Para agregar campos y operadores se recomienda usar las opciones de ayuda. Finalmente presionar el botón de verificar () y el Status debe quedar en verde.

Ahora vamos a indicar el EXIT. Nos posicionamos en “Sustitución” y allí vemos que hay que indicar un EXIT (yo ya lo tengo creado como U300).

2. El EXIT se debe crear haciendo una copia Z del programa estándar RGGBS000, por ejemplo como ZRGGBS000.

Ingresar a la transacción GCX2 y reemplazar el programa estándar RGGBS000 por el nuevo Z.

Allí se puede utilizar uno de los UXXX que están comentados que están puestos como ejemplo o crearnos uno nuevo. Lo importante es tener lo siguiente:

* Sustitución campo referencia (XBLNR) sin ceros a la izquierda
exits-name  = ‘U300’.                 ” Sustitución campo

referencia (XBLNR) sin ceros a la izquierda
exits-param = c_exit_param_field.
exits-title = text-300.
APPEND exits.

*———————————————————————* FORM U300*
*———————————————————————* Sustitución Campo Referencia de Factura. Si posee ceros a la izquierda se quitan
*———————————————————————FORM u300 USING bkpf-xblnr.

DATA: lv_xblnr TYPE xblnr,
lv_tipo  TYPE dd01v-datatype.

CALL FUNCTION ‘NUMERIC_CHECK’
EXPORTING
string_in  = bkpf-xblnr
IMPORTING
string_out = lv_xblnr
htype      = lv_tipo.

IF lv_tipo NE ‘CHAR’.
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_OUTPUT’
EXPORTING
input  = bkpf-xblnr
IMPORTING
output = bkpf-xblnr.
ENDIF.
ENDFORM.                                                    “u0300

*———————————————————————

3. Luego de crear todo el código, debo grabar todo en la GGB1 y finalmente crear una entrada en la transacción OBBH para activar la carpeta de sustituciones creada.

En grado de activación, se debe indicar “1” para activar.

Screenshot_1

Finalmente se debe ejecutar el programa RGUGBR00 para ajustar los cambios realizados, según el post:

https://abapers.wordpress.com/2013/07/22/regenerar-ggb0-ggb1-validacionessustituciones/

Nota: Tener en cuenta que tanto las sustituciones como las validaciones se ejecutan cuando hablamos de contabilizaciones, en este caso por ejemplo en la MIR7 (documento preliminar prerregistrado) no va a correr la sustitución ya que no se genera documento contable.

Link útil:

http://saptricks.wordpress.com/2012/10/21/truco-29-sustituciones-en-controllingco-usando-exits-ii/

Categorías:FI Etiquetas: , , , , , , ,
  1. 22/08/2013 a las 14:50

    Buen trabajo, Eduardo. Y gracias por la mención a mi blog.

    • 22/08/2013 a las 15:01

      Lo encontré después de armar el texto del post y me pareció piola agregarlo, muy bueno encontré un par de tips copados. Un abrazo!

  2. Antuane
    24/10/2013 a las 23:38

    Hola, tengo una consulta y espero me puedan ayudar, el tema es que con ayuda de un abap he logrado que el campo fecha base de una factura registrada por la miro sea modificable, por ese lado todo bien ya que al guardar la factura logistica mantiene el campo fecha base (lo necesitaba para que cambie la fecha de vencimiento) el problema está que al generarse el documento FI este no está jalando la fecha base de la factura logística si no la fecha de contabilización y necesito que tome la fecha base de la factura logística. Se me ocurrió crear una sustitución a nivel de posición pero no funciona =(

    Agradecere sus comentarios lo mas pronto posible

    • 06/11/2013 a las 19:47

      Hola! quizá puedas encontrar algún EXIT y modificar el campo antes que se pase a FI…deberías consultar con el ABAP para ello!

  3. ccdi
    07/12/2015 a las 17:46

    Hola,
    Estoy con una sustitucion de cabecera pero no tengo acceso a campos de posicion. como puede hacer para tener este dato? si no como puedo modificar datos de cabecera desde posicion?

    • 16/12/2015 a las 18:15

      mmm no se me ocurre, habría que ver el caso en forma particular a ver si se puede hacer de otra forma…

      • ccdis@hotmail.com
        16/12/2015 a las 22:09

        Hola, Gracias por la respuesta. Lo solucione utilizando una user exit en lugar de la sustitucion.

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: