{"id":6439,"date":"2022-03-22T08:00:31","date_gmt":"2022-03-22T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=6439"},"modified":"2024-12-10T15:31:51","modified_gmt":"2024-12-10T14:31:51","slug":"reemplazo-de-etiquetas-de-word-mediante-abap-ole","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/reemplazo-de-etiquetas-de-word-mediante-abap-ole\/","title":{"rendered":"Reemplazo de etiquetas de Word a partir de una plantilla mediante ABAP OLE<br> <span class=\"font-300\"><\/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\/2022\/03\/Firma-7-1.png&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;Firma-7-1&#8243; 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; header_2_font_size=&#8221;24px&#8221; header_3_font_size=&#8221;20px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; content__hover_enabled=&#8221;off|hover&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p>En ocasiones necesitamos\u00a0<strong>generar documentos de Word\u00a0<\/strong>que incorporen datos de\u00a0<strong>SAP<\/strong>. Para ello, resulta de utilidad disponer de una plantilla de\u00a0<strong>Word<\/strong>\u00a0con etiquetas que pueden ser sustituidas por datos del sistema (contratos, certificados de trabajo\u2026).<\/p>\n<p>Aunque hay varias maneras de conseguirlo, en este art\u00edculo\u00a0<strong>haremos uso de la tecnolog\u00eda OLE.<\/strong>\u00a0Pero antes, vamos a explicar brevemente en qu\u00e9 consiste y\u00a0<strong>c\u00f3mo se usa OLE<\/strong>.<\/p>\n<p><strong>OLE (Object linking and embedding)<\/strong>\u00a0es una herramienta que usa\u00a0<strong>SAP<\/strong>\u00a0para integrar<strong>\u00a0MS Excel y MS Word.\u00a0<\/strong>Desde nuestro report, el proceso consistir\u00e1 b\u00e1sicamente en crear un objeto\u00a0<strong>OLE\u00a0<\/strong>y llamar a sus m\u00e9todos. Cada instancia del objeto\u00a0<strong>OLE<\/strong>\u00a0ser\u00e1 una variable del tipo ole2_object, definido en el type-pool \u201cole2\u201d. Por lo que el primer paso ser\u00e1 incluir\u00a0<strong>ole2incl\u00a0<\/strong>en nuestro report. Las cinco principales sentencias que usaremos son:<\/p>\n<ul>\n<li>CREATE OBJECT\n<ul>\n<li>Sintaxis: CREATE OBJECT objeto clase<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Objeto: Variable del tipo ole2_object<\/strong><\/p>\n<p>Clase: Identificador de la aplicaci\u00f3n correspondiente<\/p>\n<ul>\n<li>Ejemplo: CREATE OBJECT gs_word \u2018WORD.APPLICATION\u2019<\/li>\n<li>CALL METHOD<\/li>\n<\/ul>\n<p>Una vez creado un objeto OLE, se puede llamar a sus m\u00e9todos para ejecutar su funcionalidad.<\/p>\n<ul>\n<li>Sintaxis: CALL METHOD OF objeto m\u00e9todo [= variable] [EXPORTING par\u00e1metro1 = variable 1 \u2026 par\u00e1metro n = variable n]<\/li>\n<\/ul>\n<p><strong>Objeto: Variable del tipo ole2_object<\/strong><\/p>\n<p>M\u00e9todo: M\u00e9todo que se desea llamar<\/p>\n<p>Variable: Variable donde se guardar\u00e1 el output del m\u00e9todo<\/p>\n<p>Par\u00e1metro n = variable n : Paso de par\u00e1metros.<\/p>\n<ul>\n<li>Ejemplo CALL METHOD OF gs_word \u2018Documents\u2019 = gs_documents<\/li>\n<li>SET PROPERTY\n<ul>\n<li>Sintaxis: SET PROPERTY OF objeto propiedad =\u00a0 valor<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Objeto: Variable del tipo ole2_object<\/strong><\/p>\n<p>Propiedad: Nombre de la propiedad<\/p>\n<p>Valor: Valor que se asigna<\/p>\n<ul>\n<li>Ejemplo SET PROPERTY OF gs_word \u2018Visible\u2019 = 1 .<\/li>\n<li>GET PROPERTY\n<ul>\n<li>Sintaxis: GET PROPERTY OF objeto propiedad =\u00a0 variable<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Objeto: Variable del tipo ole2_object<\/strong><\/p>\n<p>Propiedad: Nombre de la propiedad<\/p>\n<p>Valor: Valor que se asigna<\/p>\n<ul>\n<li>Ejemplo GET PROPERTY OF gs_view \u2018Type\u2019 = gv_viewtype.<\/li>\n<\/ul>\n<ul>\n<li>FREE OBJECT<\/li>\n<\/ul>\n<p>Para liberar la memoria una vez utilizado nuestro objeto OLE.<\/p>\n<ul>\n<li>Sintaxis: FREE OBJECT objeto<\/li>\n<\/ul>\n<p>Una vez realizada esta breve introducci\u00f3n, vamos a ver de qu\u00e9 manera utilizamos OLE para reemplazar los datos en nuestra plantilla de Word.<\/p>\n<p>En primer lugar, creamos nuestro documento Word. Para crear las etiquetas donde se sustituir\u00e1n los datos, las delimitaremos mediante almohadillas (Ejemplo: #NOMBRE#).<\/p>\n<p>Ejemplo:<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6448 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti1.png\" alt=\"\" width=\"682\" height=\"602\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti1.png 682w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti1-480x424.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 682px, 100vw\" \/><\/div>\n<p>A continuaci\u00f3n, implementaremos el siguiente c\u00f3digo en nuestro report.<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6452 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti2.png\" alt=\"\" width=\"137\" height=\"26\" \/><\/div>\n<p>Incluimos ole2incl.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6456 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti3-2.png\" alt=\"\" width=\"142\" height=\"25\" \/><\/figure>\n<\/div>\n<p><strong>Crearemos dos tablas.<\/strong>\u00a0Por una parte, una tabla que contendr\u00e1 todos los datos que incluiremos en el Word (los nombres de cada campo deben coincidir con los de las etiquetas). Por otra,\u00a0<strong>una tabla que almacenar\u00e1 todos los nombres de las etiquetas a sustituir en el documento.<\/strong><\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6460 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti4-2.png\" alt=\"\" width=\"674\" height=\"361\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti4-2.png 674w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti4-2-480x257.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 674px, 100vw\" \/><\/figure>\n<\/div>\n<p>Declaramos el objeto OLE2.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6464 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti5-1.png\" alt=\"\" width=\"351\" height=\"29\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti5-1.png 351w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti5-1-300x25.png 300w\" sizes=\"auto, (max-width: 351px) 100vw, 351px\" \/><\/figure>\n<\/div>\n<p>Declaramos dos variables auxiliares para el nombre del nuevo documento generado y el nombre de las etiquetas.<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6468 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti6-2.png\" alt=\"\" width=\"284\" height=\"43\" \/><\/div>\n<p>En este ejemplo, rellenaremos la tabla con una serie de datos que aparecer\u00e1n en el Word.<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6472 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti7-2.png\" alt=\"\" width=\"723\" height=\"391\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti7-2.png 723w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti7-2-480x260.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 723px, 100vw\" \/><\/div>\n<p>A continuaci\u00f3n, rellenaremos la tabla con los nombres de las etiquetas de la plantilla de la siguiente forma:<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6476 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti8-1.png\" alt=\"\" width=\"875\" height=\"176\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti8-1.png 875w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti8-1-480x97.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 875px, 100vw\" \/><\/div>\n<p>Por cada entrada de la tabla que contiene los datos a incluir en el\u00a0<strong>Word<\/strong>, generaremos un nuevo documento, y sustituiremos las etiquetas por los datos de cada campo, de la siguiente manera.<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6480 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti9.png\" alt=\"\" width=\"804\" height=\"803\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti9.png 804w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti9-480x479.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 804px, 100vw\" \/><\/div>\n<p>Vemos que se ha creado un nuevo documento por cada entrada de nuestra tabla, donde se han sustituido las etiquetas por los datos contenidos en la tabla:<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6484 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti10.png\" alt=\"\" width=\"252\" height=\"146\" \/><\/div>\n<p>Al abrir los documentos, comprobamos que se han sustituido las etiquetas.<\/p>\n<div class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6488 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti11.png\" alt=\"\" width=\"677\" height=\"550\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti11.png 677w, https:\/\/orekait.com\/wp-content\/uploads\/2022\/03\/eti11-480x390.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 677px, 100vw\" \/><\/div>\n<p>Esperamos que este art\u00edculo te haya sido de utilidad,<strong>\u00a0si tienes alguna pregunta\u00a0<\/strong>no dudes en ponerla en los\u00a0<strong>comentarios\u00a0<\/strong>o\u00a0<strong>ponerte en contacto con nosotros<\/strong>.<\/p>\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-finanzas&#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; hover_enabled=&#8221;0&#8243; 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; url_new_window=&#8221;on&#8221; sticky_enabled=&#8221;0&#8243;][\/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 ocasiones necesitamos\u00a0generar documentos de Word\u00a0que incorporen datos de\u00a0SAP. Para ello, resulta de utilidad disponer de una plantilla de\u00a0Word\u00a0con etiquetas que pueden ser sustituidas por datos del sistema (contratos, certificados de trabajo\u2026). Aunque hay varias maneras de conseguirlo, en este art\u00edculo\u00a0haremos uso de la tecnolog\u00eda OLE.\u00a0Pero antes, vamos a explicar brevemente en qu\u00e9 consiste y\u00a0c\u00f3mo [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":6441,"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":[39,40],"tags":[],"class_list":["post-6439","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-finanzas","category-sap-fi"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/6439","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=6439"}],"version-history":[{"count":5,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/6439\/revisions"}],"predecessor-version":[{"id":21265,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/6439\/revisions\/21265"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/6441"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=6439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=6439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=6439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}