{"id":36506,"date":"2026-01-27T08:32:48","date_gmt":"2026-01-27T07:32:48","guid":{"rendered":"https:\/\/orekait.com\/?p=36506"},"modified":"2026-01-27T08:32:53","modified_gmt":"2026-01-27T07:32:53","slug":"switch-a-partir-de-una-business-function","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/switch-a-partir-de-una-business-function\/","title":{"rendered":"Creaci\u00f3n de un Switch <br><span class=\"font-300\">a partir de una Business Function<\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#8221; _builder_version=&#8221;4.16&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_image src=&#8221;https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/CARATULAS-BLOG.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;CARATULAS BLOG&#8221; admin_label=&#8221;Imagen principal&#8221; module_class=&#8221;post-img&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Cuerpo&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Texto&#8221; _builder_version=&#8221;4.25.2&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>En el presente art\u00edculo comentaremos la creaci\u00f3n de un \u201cSwitch\u201d para un paquete determinado. El objetivo de este Switch ser\u00e1 la de controlar la visibilidad de diferentes objetos del repositorio a modo de conmutador.<\/p>\n<p>Este Switch est\u00e1 directamente asociado al paquete que establezcamos, por lo que no aplicar\u00e1 a los objetos incluidos en otros paquetes.<\/p>\n<p>A su vez, deberemos crear una \u201cBusiness Function\u201d para este Switch. Se trata de diferentes funcionalidades, tanto est\u00e1ndar como custom, que podemos activar en nuestro sistema. Esta Business Function mantendr\u00e1 activados o desactivados nuestros enhancements en funci\u00f3n de la funcionalidad que queramos. Por ello ser\u00e1 necesario el desarrollo de estos enhancements, que ser\u00e1 donde incluiremos nuestra l\u00f3gica.<\/p>\n<p>La activaci\u00f3n funcionar\u00e1 de la siguiente forma:<\/p>\n<ul>\n<li>Si el switch est\u00e1 activado estar\u00e1 activado tanto nuestro c\u00f3digo ABAP dentro del paquete como los enhancements<\/li>\n<li>Si el switch est\u00e1 desactivado estar\u00e1 activado nuestro c\u00f3digo ABAP, pero los diferentes enhancements permanecer\u00e1n inactivos.<\/li>\n<\/ul>\n<p>Por lo que la activaci\u00f3n no modifica ning\u00fan fragmento de c\u00f3digo sino los objetos que se ejecutan y los que no.<\/p>\n<p>En el ejemplo que hemos desarrollado vamos a utilizar este Switch como una condici\u00f3n, de forma que todo el c\u00f3digo que introduzcamos dentro de esta validaci\u00f3n ser\u00e1 ejecutado si la Business Function se encuentra activa.<\/p>\n<p>De esta forma, lo primero que haremos ser\u00e1 crearnos el <strong>paquete<\/strong> que va a contener tanto el Switch, como la Business Function, la clase y el enhancement.<\/p>\n<p>Dentro de este paquete crearemos una nueva <strong>clase<\/strong> que deber\u00e1 contener como m\u00ednimo un <strong>m\u00e9todo<\/strong> y un <strong>enhancement<\/strong>.:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36536 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-1.png\" alt=\"\" width=\"709\" height=\"86\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-1.png 709w, https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-1-480x58.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 709px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Como podemos ver, el enhancement sobrescribe el c\u00f3digo que hayamos desarrollado.<\/p>\n<p>En cuanto al contenido de nuestra clase, \u00fanicamente constar\u00e1 de una variable que limpiaremos o rellenaremos en funci\u00f3n de la activaci\u00f3n de la Business Function. De este modo, si \u00e9sta se encuentra activa rellenaremos nuestra variable a modo de Flag:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36532 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-2.png\" alt=\"\" width=\"709\" height=\"207\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-2.png 709w, https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-2-480x140.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 709px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>A continuaci\u00f3n, procederemos a la creaci\u00f3n del nuevo Switch desde la transacci\u00f3n SFW1:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36528 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-3.png\" alt=\"\" width=\"709\" height=\"212\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-3.png 709w, https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-3-480x144.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 709px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Al cual le tendremos que asignar el mismo paquete en el que se encuentra el enhancement y nuestra clase.<\/p>\n<p>El siguiente paso ser\u00e1 la creaci\u00f3n de la Business Function. Para ello, accederemos a la transacci\u00f3n SFW2. En este punto ser\u00e1 importante que a\u00f1adamos el Switch que previamente hemos creado.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36524 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-4.png\" alt=\"\" width=\"709\" height=\"199\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-4.png 709w, https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-4-480x135.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 709px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Tendremos la posibilidad de crear un Business Set mediante la transacci\u00f3n SFW3, o bien a\u00f1adirla a uno que ya tengamos creado, aunque en nuestro caso no ser\u00e1 necesario.<\/p>\n<p>Por \u00faltimo, tendremos que acceder a la transacci\u00f3n SFW5, donde deberemos la Business Function que hemos creado y simplemente activarla:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36520 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-5.png\" alt=\"\" width=\"709\" height=\"540\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-5.png 709w, https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-5-480x366.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 709px, 100vw\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Simplemente deberemos marcar el Checkbox y activar los cambios.<\/p>\n<p>Finalmente, s\u00f3lo nos quedar\u00e1 el paso de implementar las distintas validaciones que necesitemos, como hemos comentado anteriormente. As\u00ed, en funci\u00f3n de la activaci\u00f3n de la Business Function, la condici\u00f3n estar\u00e1 activa o no. Para ello, simplemente llamaremos al m\u00e9todo de la clase que previamente hemos creado:<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-36516 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-6.png\" alt=\"\" width=\"303\" height=\"80\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-6.png 303w, https:\/\/orekait.com\/wp-content\/uploads\/2025\/12\/switch-6-300x79.png 300w\" sizes=\"auto, (max-width: 303px) 100vw, 303px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>Recordemos que el par\u00e1metro que previamente hemos declarado \u201cV_ACTIVE\u201d contendr\u00e1 el valor de \u201cX\u201d si la Business Function se encuentra activa.<\/p>\n<p>Gracias a esta condici\u00f3n podremos, por tanto, permitir la ejecuci\u00f3n de la l\u00f3gica que queramos incluir, permitiendo revertir de forma sencilla, con un simple click, dicha condici\u00f3n.<\/p>\n<article class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"request-69206089-50a4-832b-ad9b-7698d0aee620-2\" data-testid=\"conversation-turn-28\" data-scroll-anchor=\"true\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"5e4ace0f-9cb9-42af-8f0f-54161328ec02\" data-message-model-slug=\"gpt-5-1\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words light markdown-new-styling\">\n<p data-start=\"0\" data-end=\"184\" data-is-last-node=\"\" data-is-only-node=\"\">\n<p data-start=\"0\" data-end=\"184\" data-is-last-node=\"\" data-is-only-node=\"\">Si quieres implementar este enfoque en tu sistema o necesitas asesoramiento experto en desarrollos SAP, <a href=\"https:\/\/orekait.com\/es\/contacto\/\"><strong data-start=\"104\" data-end=\"119\">cont\u00e1ctanos<\/strong> <\/a>y te ayudaremos a llevar tus funcionalidades al siguiente nivel.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;M\u00e1s informaci\u00f3n&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"morado\">M\u00e1s informaci\u00f3n:<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/orekait.com\/es\/area-recursos-humanos&#8221; url_new_window=&#8221;on&#8221; button_text=&#8221;M\u00e1s informaci\u00f3n&#8221; module_class=&#8221;entrada-btn&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#8156EA&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_color=&#8221;#8156EA&#8221; button_border_radius=&#8221;30px&#8221; button_font=&#8221;Plus Jakarta Sans|600|||||||&#8221; button_icon=&#8221;&#x24;||divi||400&#8243; button_icon_color=&#8221;#8156EA&#8221; button_on_hover=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; button_text_color__hover_enabled=&#8221;on|desktop&#8221; button_text_color__hover=&#8221;#8156EA&#8221; button_bg_color__hover_enabled=&#8221;on|hover&#8221; button_bg_color__hover=&#8221;#8156EA&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_icon_color__hover_enabled=&#8221;on|hover&#8221; button_icon_color__hover=&#8221;#ffffff&#8221;][\/et_pb_button][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Noticias relacionadas titulo&#8221; module_id=&#8221;fondo-articulos&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f7f7f7&#8243; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;RGBA(255,255,255,0)&#8221; custom_margin=&#8221;||40px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][et_pb_heading title=&#8221;Quizas te pueda interesar&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; title_level=&#8221;h2&#8243; title_text_align=&#8221;center&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_divider show_divider=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||30px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_divider][\/et_pb_column][\/et_pb_row][et_pb_row admin_label=&#8221;Noticias relacionadas&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; custom_margin=&#8221;-150px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;current&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el presente art\u00edculo comentaremos la creaci\u00f3n de un \u201cSwitch\u201d para un paquete determinado. El objetivo de este Switch ser\u00e1 la de controlar la visibilidad de diferentes objetos del repositorio a modo de conmutador. Este Switch est\u00e1 directamente asociado al paquete que establezcamos, por lo que no aplicar\u00e1 a los objetos incluidos en otros paquetes. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":36509,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"Lorem ipsum dolor sit amet consectetur adipiscing elit congue montes, imperdiet taciti erat elementum fermentum sem ante ultrices ridiculus, sagittis sociis egestas quisque ac semper quis odio. Aenean hendrerit ac metus dis nascetur aliquet mollis integer, rutrum vel laoreet posuere proin sagittis luctus est, tempus duis nisl ultrices parturient tempor praesent. Dignissim curabitur nascetur pellentesque augue fringilla pulvinar eros, tempus fames vehicula maecenas cubilia id, rutrum euismod integer ut scelerisque mus.\r\n\r\nVivamus auctor odio aenean rhoncus natoque dictum purus, volutpat pellentesque laoreet ridiculus consequat nisi varius euismod, augue platea convallis curae magnis taciti. Imperdiet nibh curabitur quisque orci consequat aenean pellentesque, cubilia duis senectus felis sed posuere tortor, magnis enim diam a odio sociis. Enim tellus nisl nec molestie augue luctus tempor habitant, nunc dictumst phasellus volutpat sem facilisis taciti, habitasse laoreet at turpis vel fermentum vulputate.","_et_gb_content_width":"","footnotes":""},"categories":[36,37],"tags":[],"class_list":["post-36506","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-recursos-humanos","category-sap-hxm"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/36506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/comments?post=36506"}],"version-history":[{"count":8,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/36506\/revisions"}],"predecessor-version":[{"id":37321,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/36506\/revisions\/37321"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/36509"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=36506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=36506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=36506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}