Вы находитесь на странице: 1из 21

Sustituir el campo SGTXT de la tabla BSEG

Algunas veces necesitamos que el campo SGTXT de la tabla BSEG mantenga un valor igual en cada una de sus posiciones, ya sea el texto de cabecera, el texto de asignacin o cualquier otro valor que se desee colocar. Cmo podemos realizar dichas modificaciones?, Se puede emplear una BTE, un cambio por la OBBH, o realizar un enhancement?. Tras las preguntas anteriores y con la experiencia de ya haber resuelto 2 temas similares, lo aconsejable para este procedimiento es el empleo de la transaccin OBBH, la cual nos permite reemplazar un valor de las tablas BKPF y BSEG ya sea por un valor hardcode (Quiere decir un valor fijo colocado por nosotros) o en su defecto un valor que obtenemos de otros campos textos que contenemos en la BSEG o BKPF. En el siguiente tutorial vamos a ver la creacin de un paso aplicando la lgica necesaria para el cambio en el campo SGTXT por medio de la transaccin OBBH. Para ello vamos a dirigirnos a la transaccin OBBH y nos aparecer la siguiente ventana:

En la imagen anterior, se puede ver que ya se han creado algunos casos de sustitucin tanto a nivel de cabecera, posicin de documento y documento completo de acuerdo a una sociedad en especifico, para nuestro caso, la sustitucin que realizaremos ser realizada en una sustitucin de documento completo, ya que necesitamos que estn todas las posiciones y solo tengamos que reemplazar el valor solicitado. Para nuestro caso anterior vamos a dirigirnos a la sustitucin ZFI002 Sustitucin doc. Completos. De cualquier sociedad, ustedes deben fijarse bien el tema de las sociedades ya que muchas veces el cliente

no quiere que las sustituciones se realicen en todas, sino en las que ms usa o simplemente en un nica sociedad, el agregar ms sociedades o el quitarle lo pueden hacer con los botones de la barra superior Para editar las lneas Para agregar nuevas lneas a otras sociedades Para realizar una copia de las lneas indicadas (valido cuando queremos agregar una sociedad) Para eliminar una o ms lneas Una vez ubicado la sustitucin a utilizar, nos colocamos encima y le damos doble clic, lo cual nos dirigir a la pantalla de las sustituciones, tal como se muestra a continuacin

Nos ubicamos en el desglose de la sustitucin para ver los pasos que contiene

Para nuestro caso, nuestra sustitucin contiene ya 3 pasos, vamos a agregarle un nuevo paso en donde realizaremos el cambio del campo SGTXT, para ello nos dirigimos al botn de Nuevo Paso

Nos aparecer una dynpro que contiene todos los campos disponibles a realizarle una sustitucin, tanto de la BKPF y de la BSEG o tambin nos da la posibilidad de emplear una exit, la cual permitira un mayor dinamismo en casos en donde el campo no fuera de fcil acceso o se tenga una lgica detallada previo a la sustitucin.

Para nuestro caso vamos a ubicar el campo SGTXT de la tabla BSEG y para no tener que desplazarnos entre todos los registros emplearemos el botn de bsqueda de la parte inferior siguiente dynpro y nos aparecer la

All colocaremos el campo que estamos buscando en nuestro caso SGTXT y de nuevo pulsamos en el botn de los binoculares

Nos aparecer una dynpro con todos aquellos campos que cumplan con la bsqueda realizada.

En nuestro caso solo trae una lnea, le vamos a dar un clic encima de donde dice SGTXT sombreado de crema y automticamente nos dirigir a su posicin ubicada en la dynpro.

Le vamos a dar clic al check que se encuentra en la parte izquierda y en la parte inferior le damos clic al botn con el icono del check

Seguido nos aparecer una dynpro consultndonos la manera de sustituir el campo SGTXT

Las opciones que se plantean las explicaremos a continuacin: Valor constante: El campo SGTXT ser reemplazado por un valor hardcode (valor fijo) el cual se lo indicamos con un simple texto

En el ejemplo se puede ver que vamos a reemplazar en todas las posiciones del campo SGTXT por nuestro texto Sustituir texto prueba Exit: El campo SGTXT ser reemplazado de acuerdo a la lgica que se incluya en un exit ubicado en el programa ZRGGBS000

Para nuestro ejemplo hacemos un cambio de campo (en especfico el SGTXT) con respecto a nuestro exit y en la lgica del programa veremos lo siguiente:

El formulario emplea el campo psgtxt que hace referencia al campo SGTXT y es justo a dicho valor al que vamos a modificar, empleando la lgica que creamos adecuada, adems al momento de declarar el exit notaremos tambin lo siguiente:

En donde el exits-param tiene relacionado la opcin de aplicar el exit solamente al campo solicitado.

PERO LO RECOMENDADO ES:


Pero aparte de esta opcin (que muchas veces no reemplaza el valor en todas las posiciones) esta la opcin de reemplazar nicamente ejecutando el exit y empleando un loop con una tabla interna que contiene todas las posiciones de la tabla BSEG, para poder hacer un llamado a este tipo hay que realizar las siguientes validaciones: Primero lo que vamos a registrar en exits-param ahora ser con referencia a aplicacin de una clase

Luego en el cdigo del perform la manera de la declaracin del USING es con respecto a la tabla interna que contendr los valores de la tabla BSEG, con lo cual a travs del empleo de un LOOP podremos reemplazar el valor que deseemos modificar.

Por ltimo en la parte de la sustitucin vamos a ver los pasos para poder indicarle que queremos emplear una sustitucin solo por exit, primero ya hemos visto la dynpro que nos trae por defecto al indicar que deseamos hacer una sustitucin por exit

Vamos a proceder a eliminar dicha lnea y reemplazar por la realizacin de una sustitucin nicamente por exit, para ello damos clic al check que esta al costado de texto y presionamos la opcin de eliminar la lnea

Nos aparecer una dynpro preguntando la confirmacin del borrado, presionamos el botn SI

Luego confirmamos que ya no aparece ninguna lnea del campo y luego procedemos a presionar en el botn de agregar nueva lnea

Nos aparece de nuevo la dynpro de la consulta de los campos a sustituir, pero nosotros indicaremos la primera opcin que indica Slo exit y confirmamos

A continuacin nos aparecer la lnea que nos indica que la sustitucin se realizara solo por Exit y en la casilla de la derecha colocaremos el nombre de nuestro Exit que creamos lneas arriba

Asignacin Campo Campo: El ltimo tipo de sustitucin permite el cambio de nuestro campo SGTXT por otro campo de las tablas BSEG o BKPF, solo tendramos que indicarle el valor a tomar y el cambio lo realizara automticamente, la dynpro es la siguiente

En el cuadro de texto se puede ingresar el nombre del campo que usaremos para reemplazar, si no sabemos como convocarlo podemos presionar el botn del matchcode tecla F4 y nos aparecer una dynpro con los campos disponibles o presionar la

Una vez encontremos el indicado, le presionamos encima del texto y damos clic al botn con el icono de check

Una vez elegido el tipo de sustitucin, vamos a proceder a colocar la condicin para que se efectu, para ello vamos a dar clic en condicin, que lo encontramos en la parte inferior de nuestro paso creado

Nos aparecer la dynpro para la creacin de la condicin

Por lo general las condiciones pueden emplearse con lo siguiente: Si se desean hacer condiciones con los valores de la tabla BKPF, se puede emplear

Si se desean hacer condiciones con los valores de la tabla BSEG, se puede emplear

Si se desean hacer condiciones con los valores del sistema, se puede emplear

En un breve ejemplo, vamos a hacer una validacin con respecto a la transaccin FB05, para ello en Campos sistema ABAP daremos doble clic sobre Cdigo de transaccin y veremos que el mismo texto se copia en la parte superior (valor no modificable por teclado)

Si queremos darle el signo de comparacin nos apoyaremos en los botones con los signos adecuados, los cuales los tenemos en la parte inferior derecha

Para nuestro caso emplearemos el de igualdad, dndole un clic encima y otra vez notaremos que en la parte superior se coloca dicho valor

Por ltimo, vamos a ingresarle el valor constante de la transaccin, para lo cual nos apoyaremos en los botones que aparecen tambin en la parte inferior derecha

En este caso eligiremos el botn que dice Constante, damos clic encima y nos aparecer una dynpro solicitando dicho valor

Para nuestro caso agregamos el cdigo de la transaccin FB05, lo agregamos sin las comillas y presionamos el botn con icono de check

Y de nuevo notaremos que en la parte superior el cdigo se actualiza con la condicin que estamos armando para la transaccin

Una manera se saber que nuestra condicin es correcta, es fijndonos en el semforo de Status que tenemos en la parte derecha, encima de los botones de signos Si deseamos agregar otra condicin, podemos emplear los botones de AND o OR, dependiendo lo que se necesite Una vez ya tenemos la condicin y la sustitucin procedemos a guardar, para ello damos clic en el icono del disquete que aparece en la parte superior

Una vez grabado aparecer en la parte inferior el siguiente mensaje

Se realizan las validaciones con los ejemplo que tengan a mano, el resultado debe ser el que buscaban, en el caso del cdigo que han podido ver en la parte del empleo del exit (lneas arriba), lo que se realiza es primero una recuperacin de un campo de la dynpro de la transaccin FB05 la cual contiene el texto que repetiremos en el campo SGTXT en cada una de las posiciones de la tabla BSEG, obteniendo tras la ejecucin el siguiente resultado:

Una vez se tenga correcto los ajustes, para proceder a transportar el paso nos ubicamos en el nombre de la sustitucin

Luego iremos al men, damos clic en sustitucin y ubicamos la opcin transportar

Nos aparecer la siguiente dynpro

Le damos clic en el icono de ejecutar

y nos solicitar la orden de transporte a emplear

Una vez seleccionamos nuestra OT, damos clic en el botn con icono de check y transportamos la OT a los dems ambientes.

Вам также может понравиться