Sie sind auf Seite 1von 22

Validación / Sustitución

Uso de programas ZRGGBR000 y ZRGGBS000

Posts Tagged ‘RGGBS000’

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.

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/
https://abapers.wordpress.com/2013/07/22/regenerar-ggb0-ggb1-
validacionessustituciones/

Regenerar GGB0 GGB1 (Validaciones/Sustituciones)


22/07/2013 Ing. Eduardo Miguel Puricelli Deja un comentario Go to comments

Caso: luego de crear una nueva validación, queremos regenerar el programa estándar
para que se apliquen los cambios.

Solución: debe ejecutarse el programa RGUGBR00

image0011

image0021

PD: este post existe en mil blogs supongo, pero lo hago para tenerlo en el mío y no
olvidarme!

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

Truco 29. Sustituciones en Controlling(CO). Usando


Exits (II).
Publicado el 21 octubre, 2012 de Roberto Espinosa

4 Votes
En nuestra anterior entrada del blog hablamos de las sustituciones en los diferentes
módulos (FI,CO,PS), analizando en que consistian y las transacciones disponibles en
Sap para su definición y transporte. En esta entrada vamos a profundizar en el caso
concreto de que queramos realizar sustituciones utilizando las exits y su correspondiente
código Abap.

En primer lugar, cuando estamos creando el paso de sustitucion dentro de la transaccion


OKC9 (para el caso de sustituciones de CO), seleccionaremos como tipo el valor EXIT.

A continuación deberemos de indicar el nombre de la exit en la que vamos a incluir el


código Abap que determinará el valor del campo a sustituir:
Como norma general, los nombres de las exits tienen la sintaxis Uzzzz, aunque no es
necesario utilizar todos los carácteres (por ejemplo, podriamos nombrarla como U101 o
U1001). El nombre indicado deberá de existir dentro del Pool de funciones con la
siguiente estructura:

FORM Uzzzz USING CAMPO.

Por ejemplo, si estamos sustituyendo el centro de coste, la función se llamará FORM


U001 USING COST_CENTER. El Modul Pool donde iremos creando las funciones
de las diferentes exits se parametriza en la vista V_T80D, a través de la transacción
SM31. En nuestro ejemplo, hemos tomado el modelo estandar (include RGGBS000) y
lo hemos copiado con la transacción SE38 al include Z_RGGBS000. Luego hemos
modificado en la tabla V_T080D el registro “GBLS – Val/Sus:Exits para sustitución”,
indicando el nuevo include con el que vamos a trabajar.
Esta parametrización es la que informa al sistema del lugar donde ha de ir a buscar el
código fuente para las sustituciones del tipo EXIT.

Ademas de existir la exit como FORM en el Modul Pool, ha de cumplirse otra


condición muy importante para que la exit este correctamente definida. Dentro del
Modul Pool que tengamos configurado, existe un FORM
llamado FORM get_exit_titles. Dentro de este FORM se han de incluir las
siguientes lineas para cada una de las exits:

exits-name = ‘U101′.
exits-param = c_exit_param_field.
exits-title = text-101. “Cost center from CSKS
APPEND exits.

En el campo de texto text-ZZZ indicaremos la descripción que identifique a la exit.


Con estos pasos tenemos preparada la configuración básica de las exits (solo se realizara
la parametrización de la V_T080D la primera vez). Cada vez que añadamos una nueva
exit, modificaremos el include siguiendo los pasos descritos (creación del FORM y
actualización del FORM get_exit_titles).

Para terminar, en el include incluiremos nuestro código Abap con la lógica que
requieran los requerimientos de nuestro cliente, y ya tendremos nuestra “flamante” exit
funcionando y realizando la sustitución de valores en la imputación según las
condiciones que se hayan establecido. El ejemplo Abap siguiente sustituye un centro de
coste por un valor existente en sus datos maestros (el departamento):

SELECT * FROM CSKS


WHERE KOSTL EQ COST_CENTER
AND KOKRS EQ ‘0001’.
IF CSKS-DATBI >= SY-DATUM AND
CSKS-DATAB <= SY-DATUM.

MOVE CSKS-ABTEI TO COST_CENTER .

ENDIF.

ENDSELECT..

El transporte a productivo (una vez validado en los sistemas de Test), se realizará de la


forma habitual, con la transacción OKE9. Cuidado al transportar, de forma que nunca
dejemos el código fuente en el sistema de desarrollo sin traspasar. En ese caso la exit
fallara.

Posts Tagged ‘GGB1’

GGB1 – Sustitución Bloqueo de Pago (BSEG-ZLSPR)


21/01/2014 Ing. Eduardo Miguel Puricelli Deja un comentario

Caso: se desea que para algunos casos, el bloqueo de pago en la MIRO se desactive, es
decir: por defecto existe un bloqueo de pago (A – Bloqueado el pago) para todos
documentos ingresados por la MIRO, pero se desea que en algunos casos ese campo
(BSEG-ZLSPR) sea vacío (“” Autorizado el pago)

Datos adicionales:

1. Se debe revisar el bloqueo de pago en la rama del árbol indicada en la siguiente


imagen, ya que en la primera opción se indica si ese campo puede ser modificable en
pantalla o no y la segunda opción los valores por defecto por condición de pago.
a. En Definir causas del bloqueo de pago (OB27)
b. En Definir valores propuestos para bloqueo de pago

2. Asimismo se debe verificar el bloqueo de pago que posea el proveedor, ya que puede
tener uno por defecto también.

Solución: Intenté activar la sustitución por documento completo, pero parece que hay
que hacerlo a nivel de posición.

Para ello:

1. Ingresar a la transacción SM30 y actualizar la vista VWTYGB01. Va a salir el


mensaje ” Atención, la tabla es válida en todos los mandantes” darle OK.
Buscar el campo BSEG-ZLSPR y destildarle la opción “Excluir”. Grabar el cambio (va
a solicitar orden de transporte). Con esto dejamos que en las sustituciones se pueda
seleccionar este campo.
PD: Ver la transacción OB32. No la revisé bien, pero ahí también parece que se puede
determinar el campo ZLSPR como modificable, aunque parece que para FI y no para
aplicar una sustitución.

2. Ingresar a la transacción GGB1 para crear la sustitución

Creamos una sustitución de valor constante, agregando un paso en “Posición


documento”, indicando la condición necesaria y en Sustitución agregando el campo
BSEG-ZLSPR que aparecerá gracias al paso anterior (en el ejemplo es el paso 003).

Grabamos, para transportar hay que posicionarse en la Sustitución creada (en este caso
Z000001) e ir al menú “Sustitución-Transportar” mediante orden de transporte.

3. Ingresar a la transacción GGB4 y seleccionar la opción “Activación valid./sust”.


Luego seleccionar “Contabilidad Financiera” y “Sustitución”

image010

image011

Para el caso se debe verificar que para la sociedad requerida, la sustitución está activa
(con el valor 1).
4. Finalmente probamos la sustitución. Recuerden que si lo prueban en Desarrollo
deben pasar las órdenes con la SCC1.

Ingresamos a la MIRO, completamos los datos, vemos que por defecto aparece el
bloqueo de pago A (bloqueado el pago) ya que la condición que yo tenía en el sistema
era Z030 y esa indica que corresponde ese bloqueo.

Luego de contabilizar el documento, ingreso a revisarlo por la MIR4 y…

Posdata: revisar que la condición de pago ha quedado vacía, supongo que al sustituir el
bloqueo termina borrando la condición de pago…
Links:

http://sapinfohelps.blogspot.com/2009/04/substitution-payment-block-bseg-zlspr.html

http://scn.sap.com/thread/1288094

Categorías:ABAP/4 Etiquetas: Autorizado el pago, bloqueo de pago, BSEG-ZLSPR,


GGB1, OB27, Payment block, sustitución

Crear sustituciones – GGB1


21/08/2013 Ing. Eduardo Miguel Puricelli 4 comentarios

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.

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: GGB1, MIR4, MIRO, OBBH, RGGBS000, RGUGBR00,
sustitución, Sustituciones

Regenerar GGB0 GGB1 (Validaciones/Sustituciones)


22/07/2013 Ing. Eduardo Miguel Puricelli 1 comentario

Caso: luego de crear una nueva validación, queremos regenerar el programa estándar
para que se apliquen los cambios.

Solución: debe ejecutarse el programa RGUGBR00

image0011

image0021

PD: este post existe en mil blogs supongo, pero lo hago para tenerlo en el mío y no
olvidarme!

Das könnte Ihnen auch gefallen