{"id":18843,"date":"2016-01-12T08:00:31","date_gmt":"2016-01-12T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=18843"},"modified":"2024-12-13T10:34:42","modified_gmt":"2024-12-13T09:34:42","slug":"creacion-de-una-aplicacion-sapui5-2-2","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/creacion-de-una-aplicacion-sapui5-2-2\/","title":{"rendered":"Creaci\u00f3n de una aplicaci\u00f3n SAPUI5<br><span class=\"font-300\">(2 \/ 2)<\/span>"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.25.2&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;Imagen principal&#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;][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 alt=&#8221;cloud-public&#8221; title_text=&#8221;Reclamacio\u0301n-de-facturas-vencidas-en-SAP-FI-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 content_last_edited=&#8221;off|desktop&#8221; 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; header_4_font_size=&#8221;17px&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;%22671%22&#8243; height=&#8221;%22251%22&#8243; global_colors_info=&#8221;{}&#8221; content__hover_enabled=&#8221;off|hover&#8221;]<\/p>\n<p>Siguiendo con lo comentado en el art\u00edculo anterior sobre\u00a0<a title=\"Creaci\u00f3n de una aplicaci\u00f3n SAPUI5, parte1\" href=\"https:\/\/orekait.com\/blog\/creacion-de-una-aplicacion-sapui5-1-2\/\" target=\"_self\" rel=\"noopener\">creaci\u00f3n de aplicaciones SAPUI5<\/a>, en esta segunda parte vamos a ver con m\u00e1s detalle los ficheros m\u00e1s importantes que forman la base de un\u00a0<strong>proyecto SAPUI5<\/strong>\u00a0y los modificaremos para ver en funcionamiento nuestra primera\u00a0<strong>aplicaci\u00f3n SAPUI5<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>4. Ficheros principales de una aplicaci\u00f3n SAPUI5<\/strong><\/h2>\n<h3>index.html<\/h3>\n<p>Como introdujimos en el art\u00edculo anterior, este fichero es el punto de entrada a la\u00a0<strong>aplicaci\u00f3n SAPUI5<\/strong>. En \u00e9l encontramos tres partes principales:<\/p>\n<ul>\n<li><strong>Bootstrap:\u00a0<\/strong>El\u00a0<em>bootstrap\u00a0<\/em>es el primer\u00a0<em>script<\/em>\u00a0que se ejecuta al cargar la\u00a0<strong>aplicaci\u00f3n SAPUI5<\/strong>. En \u00e9l se establecen valores de configuraci\u00f3n tales como el idioma (<em>data-sap-ui-language)<\/em>\u00a0o el tema (<em>data-sap-ui-theme)<\/em>\u00a0por defecto a utilizar. As\u00ed mismo, se cargan las librer\u00edas necesarias para la aplicaci\u00f3n (<em>data-sap<\/em>, tanto las del\u00a0<em>core<\/em>\u00a0como las opcionales que vimos en el art\u00edculo sobre\u00a0librer\u00edas SAPUI5: en este caso, al haber elegido\u00a0<em>m<\/em>\u00a0como librer\u00eda base, la encontramos ya entre las librer\u00edas a incluir.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18846 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-1.png\" alt=\"\" width=\"457\" height=\"95\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-1.png 457w, https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-1-300x62.png 300w\" sizes=\"auto, (max-width: 457px) 100vw, 457px\" \/><\/p>\n<ul>\n<li><strong>L\u00f3gica de negocio:\u00a0<\/strong>Despu\u00e9s del\u00a0<em>bootstrap\u00a0<\/em>se encuentra un segundo\u00a0<em>script<\/em>\u00a0en el que ya s\u00ed se comienzan a declarar e instanciar los elementos SAPUI5 necesarios: controles, vistas, etc. para despu\u00e9s colocar estas en el \u00e1rea UI. En este casovemos c\u00f3mo crea un control\u00a0<em>App<\/em>\u00a0a la que se a\u00f1ade la\u00a0<strong>vista SAPUI<\/strong>5 que hemos creado como vista inicial. Despu\u00e9s, mediante el m\u00e9todo\u00a0<em>placeAt<\/em>\u00a0coloca esta\u00a0<em>App<\/em>\u00a0en<em>\u00a0content,\u00a0<\/em>que no es otra cosa que un DIV HTML declarado en el \u00e1rea UI.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18850 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-2.png\" alt=\"\" width=\"859\" height=\"264\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-2.png 859w, https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-2-480x148.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 859px, 100vw\" \/><\/p>\n<ul>\n<li><strong>Area UI:\u00a0<\/strong>El \u00e1rea UI es un bloque de c\u00f3digo HTML que es la base de la aplicaci\u00f3n SAPUI5 a la que se le ir\u00e1 a\u00f1adiendo c\u00f3digo din\u00e1micamente. Inicialmente cuenta \u00fanicamente con el elemento &lt;BODY&gt; y un &lt;DIV&gt; cuyo ID es\u00a0<em>content,<\/em>\u00a0al que como hemos visto anteriormente se hace referencia desde la l\u00f3gica de negocio. Este c\u00f3digo HTML se puede modificar c\u00f3mo se desee, borrando o creando bloques HTML. Mediante el m\u00e9todo\u00a0<em>addContent<\/em>\u00a0se ir\u00e1 pegando el c\u00f3digo derivado de controles, vistas etc. en estos bloques HTML indicando siempre el ID de cada bloque.<\/li>\n<\/ul>\n<h3>Prueba.view.js<\/h3>\n<p>Como hemos visto, al haber generado una vista inicial en el proyecto, desde el index.html autom\u00e1ticamente se hace referencia a una\u00a0<strong>vista SAPUI5<\/strong>, la cual se corresponde directamente con este fichero\u00a0<em>Prueba.view.js<\/em>. En esta vista podemos crear diferentes controles que compondr\u00e1n la\u00a0<strong>interfaz de la aplicaci\u00f3n SAPUI5<\/strong>: botones, textos, tablas, listas etc.<\/p>\n<p>En una\u00a0<strong>vista SAPUI5<\/strong>, sea el lenguaje que sea, veremos siempre dos elementos importantes: la referencia al controlador y el contenido.<\/p>\n<p>En este caso al ser una vista Javascript, estos dos elementos se corresponden con dos funciones:<\/p>\n<ul>\n<li><strong>getControllerName:<\/strong>\u00a0En esta funci\u00f3n obtenemos la referencia al controlador que dotar\u00e1 de funcionalidad a la vista.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18854 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-3.png\" alt=\"\" width=\"328\" height=\"55\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-3.png 328w, https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-3-300x50.png 300w\" sizes=\"auto, (max-width: 328px) 100vw, 328px\" \/><\/p>\n<ul>\n<li><strong>createContent:<\/strong>\u00a0Funci\u00f3n en la que iremos creando y a\u00f1adiendo\u00a0<strong>controles SAPUI5<\/strong>. Para ver un ejemplo sencillo, vamos a a\u00f1adir una p\u00e1gina que dentro tendr\u00e1 un bot\u00f3n de la librer\u00eda\u00a0<em>m<\/em>. y rellenaremos sus propiedades y eventos.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18858 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-4.png\" alt=\"\" width=\"387\" height=\"189\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-4.png 387w, https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-4-300x147.png 300w\" sizes=\"auto, (max-width: 387px) 100vw, 387px\" \/><\/p>\n<h3>Prueba.controller.js<\/h3>\n<p>Como podemos ver en el ejemplo anterior, a la vista Prueba se le ha asignado un controlador en el que se implementar\u00e1 la l\u00f3gica necesaria para atender a eventos, realizar validaciones etc. El fichero Prueba.controller.js es el fichero que se corresponde con este controlador.<\/p>\n<p>Por defecto, al crear autom\u00e1ticamente el controlador con el wizard este crea ya una serie de funciones comentadas que se corresponden con los eventos b\u00e1sicos de la aplicaci\u00f3n (onInit, onBeforeRendering, onAfterRendering y onExit).<\/p>\n<p>En el c\u00f3digo del bot\u00f3n anteriormente creado en la vista, podemos ver que el control\u00a0<strong>sap.m.Button<\/strong>\u00a0responde a un evento press, para el cual se indica una funci\u00f3n propia del controlador. Es decir, cuando se pulse el bot\u00f3n, la aplicaci\u00f3n buscar\u00e1 el controlador asociado a la vista y ejecutar\u00e1 la funci\u00f3n onPress que este tenga implementado. A continuaci\u00f3n vemos el c\u00f3digo del controlador:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18862 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-5.png\" alt=\"\" width=\"336\" height=\"120\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-5.png 336w, https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-5-300x107.png 300w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/p>\n<p>Con todo esto, ya podemos ver en funcionamiento nuestro primer<strong>\u00a0proyecto SAPUI5<\/strong>. Para ello, pulsamos con el bot\u00f3n derecho sobre el proyecto en el\u00a0<em>Project Explorer\u00a0<\/em>y seleccionamos la opci\u00f3n\u00a0<em>Run As \u2013&gt; Web App Preview\u00a0<\/em>con lo que se abrir\u00e1 un navegador integrado en<strong>\u00a0Eclipse<\/strong>\u00a0donde podremos ver la\u00a0<strong>aplicaci\u00f3n SAPUI5<\/strong>\u00a0en funcionamiento:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18866 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-6.png\" alt=\"\" width=\"657\" height=\"231\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-6.png 657w, https:\/\/orekait.com\/wp-content\/uploads\/2016\/01\/sapui5-bootstrap-6-480x169.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 657px, 100vw\" \/><\/p>\n<p>Con esto ya hemos creado nuestra primera<strong>\u00a0aplicaci\u00f3n SAPUI5<\/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-personalizacion&#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; collapsed=&#8221;off&#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>Siguiendo con lo comentado en el art\u00edculo anterior sobre\u00a0creaci\u00f3n de aplicaciones SAPUI5, en esta segunda parte vamos a ver con m\u00e1s detalle los ficheros m\u00e1s importantes que forman la base de un\u00a0proyecto SAPUI5\u00a0y los modificaremos para ver en funcionamiento nuestra primera\u00a0aplicaci\u00f3n SAPUI5. &nbsp; 4. Ficheros principales de una aplicaci\u00f3n SAPUI5 index.html Como introdujimos en el [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"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":[57,52,51],"tags":[],"class_list":["post-18843","post","type-post","status-publish","format-standard","hentry","category-sap-netweaver","category-sapui5","category-user-experience-integracion"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/18843","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=18843"}],"version-history":[{"count":4,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/18843\/revisions"}],"predecessor-version":[{"id":22599,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/18843\/revisions\/22599"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=18843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=18843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=18843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}