En el presente artículo comentaremos la creación de un “Switch” para un paquete determinado. El objetivo de este Switch será la de controlar la visibilidad de diferentes objetos del repositorio a modo de conmutador.
Este Switch está directamente asociado al paquete que establezcamos, por lo que no aplicará a los objetos incluidos en otros paquetes.
A su vez, deberemos crear una “Business Function” para este Switch. Se trata de diferentes funcionalidades, tanto estándar como custom, que podemos activar en nuestro sistema. Esta Business Function mantendrá activados o desactivados nuestros enhancements en función de la funcionalidad que queramos. Por ello será necesario el desarrollo de estos enhancements, que será donde incluiremos nuestra lógica.
La activación funcionará de la siguiente forma:
- Si el switch está activado estará activado tanto nuestro código ABAP dentro del paquete como los enhancements
- Si el switch está desactivado estará activado nuestro código ABAP, pero los diferentes enhancements permanecerán inactivos.
Por lo que la activación no modifica ningún fragmento de código sino los objetos que se ejecutan y los que no.
En el ejemplo que hemos desarrollado vamos a utilizar este Switch como una condición, de forma que todo el código que introduzcamos dentro de esta validación será ejecutado si la Business Function se encuentra activa.
De esta forma, lo primero que haremos será crearnos el paquete que va a contener tanto el Switch, como la Business Function, la clase y el enhancement.
Dentro de este paquete crearemos una nueva clase que deberá contener como mínimo un método y un enhancement.:

Como podemos ver, el enhancement sobrescribe el código que hayamos desarrollado.
En cuanto al contenido de nuestra clase, únicamente constará de una variable que limpiaremos o rellenaremos en función de la activación de la Business Function. De este modo, si ésta se encuentra activa rellenaremos nuestra variable a modo de Flag:

A continuación, procederemos a la creación del nuevo Switch desde la transacción SFW1:

Al cual le tendremos que asignar el mismo paquete en el que se encuentra el enhancement y nuestra clase.
El siguiente paso será la creación de la Business Function. Para ello, accederemos a la transacción SFW2. En este punto será importante que añadamos el Switch que previamente hemos creado.

Tendremos la posibilidad de crear un Business Set mediante la transacción SFW3, o bien añadirla a uno que ya tengamos creado, aunque en nuestro caso no será necesario.
Por último, tendremos que acceder a la transacción SFW5, donde deberemos la Business Function que hemos creado y simplemente activarla:

Simplemente deberemos marcar el Checkbox y activar los cambios.
Finalmente, sólo nos quedará el paso de implementar las distintas validaciones que necesitemos, como hemos comentado anteriormente. Así, en función de la activación de la Business Function, la condición estará activa o no. Para ello, simplemente llamaremos al método de la clase que previamente hemos creado:

Recordemos que el parámetro que previamente hemos declarado “V_ACTIVE” contendrá el valor de “X” si la Business Function se encuentra activa.
Gracias a esta condición podremos, por tanto, permitir la ejecución de la lógica que queramos incluir, permitiendo revertir de forma sencilla, con un simple click, dicha condición.
Más información:
Quizas te pueda interesar
Asesorías al día
Control horario sin complicaciones para ti y tus clientes
¿Eres una asesoría y tus clientes te están preguntando por el registro de la jornada? Te ponemos al día y te damos una solución ágil, sencilla y rápida de implementar El Registro Diario de la Jornada Laboras sigue siendo uno de los puntos donde más incumplimientos se...
Creación de un selection ID
para una clase de report
En ocasiones, con el uso de base de datos lógicas podemos encontrar problemas de rendimiento dependiendo de la lógica que tengamos que implementar. En primer lugar, intentaremos solucionar esta serie de errores haciendo hincapié en el propio código. Esta serie de...
Servicio MSP de nómina
en Employee Central Payroll
Con la fecha fin de soporte de SAP HCM en ECC cada vez más cerca, muchas empresas se encuentran ahora en la tesitura de decidir qué hacer con la continuidad del módulo de nóminas y Recursos Humanos de SAP. Por ello, es crucial empezar a valorar cuanto antes las...


