{"id":11047,"date":"2020-02-19T08:00:31","date_gmt":"2020-02-19T07:00:31","guid":{"rendered":"http:\/\/192.168.20.3\/?p=11047"},"modified":"2024-12-11T16:22:19","modified_gmt":"2024-12-11T15:22:19","slug":"funcion-para-visualizacion-de-las-listas-de-materiales","status":"publish","type":"post","link":"https:\/\/orekait.com\/es\/funcion-para-visualizacion-de-las-listas-de-materiales\/","title":{"rendered":"Funci\u00f3n para la visualizaci\u00f3n de las listas de materiales<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\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-1.jpg&#8221; alt=&#8221;cloud-public&#8221; title_text=&#8221;FUNCI\u00d3N-PARA-LA-VISUALIZACI\u00d3N-DE-LISTAS-DE-MATERIALES-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; 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;%22630%22&#8243; height=&#8221;%22307%22&#8243; 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>Como ya sabr\u00e9is, existen modelos de funciones que se pueden aprovechar en diferentes puntos del c\u00f3digo ABAP, de esta forma se simplifica una parte del programa, que suele ser algo m\u00e1s compleja, y se mejora el rendimiento de los programas. Los modelos de funciones pueden ser propios del sistema o bien programas propios de usuario (tipo \u201cZ\u201d).<\/p>\n<p>En este caso vamos a hablar de la funci\u00f3n \u201c<strong>CSAP_MAT_BOM_READ\u201d<\/strong>\u00a0propia del sistema, que sirve para generar diferentes modelos de tablas de las Listas de Materiales (BOM).<\/p>\n<p>Esto se debe a que hay varias tablas de las que podemos obtener informaci\u00f3n relevante a las BOM (Listas de Material), pero que a su vez no dan toda la informaci\u00f3n necesaria como la que puede llegar a proporcionar una transacci\u00f3n.<\/p>\n<p>Los par\u00e1metros de entrada a proporcionar a la funci\u00f3n son:<\/p>\n<table width=\"557\">\n<tbody>\n<tr>\n<td width=\"123\">PAR\u00c1METRO<\/td>\n<td width=\"113\">TIPO DE DATO<\/td>\n<td width=\"123\">OBLIGATORIO \/ OPCIONAL<\/td>\n<td width=\"198\">TEXTO BREVE<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">MATERIAL<\/td>\n<td width=\"113\">CHAR (18)<\/td>\n<td width=\"123\">OBLIGATORIO<\/td>\n<td width=\"198\">MATERIAL<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">PLANT<\/td>\n<td width=\"113\">CHAR (4)<\/td>\n<td width=\"123\">OBLIGATORIO<\/td>\n<td width=\"198\">CENTRO<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">BOM_USAGE<\/td>\n<td width=\"113\">CHAR (1)<\/td>\n<td width=\"123\">OBLIGATORIO<\/td>\n<td width=\"198\">UTILIZACION DEL BOM<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">ALTERNATIVE<\/td>\n<td width=\"113\">CHAR (2)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">ALTERNATIVA<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">VALID_FROM<\/td>\n<td width=\"113\">CHAR (10)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">FECHA VALIDA DESDE<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">VALID_TO<\/td>\n<td width=\"113\">CHAR (10)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">FECHA VALIDA HASTA<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">CHANGE_NO<\/td>\n<td width=\"113\">CHAR (12)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">N\u00daMERO DE MODIFICACION<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">REVISION LEVEL<\/td>\n<td width=\"113\">CHAR (2)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">ESTADO DE LA REVISI\u00d3N<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">FL_DOCS_LINKS<\/td>\n<td width=\"113\">CHAR (1)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">CASILLA DE SELECCI\u00d3N<\/td>\n<\/tr>\n<tr>\n<td width=\"123\">FL_DMU_TMX<\/td>\n<td width=\"113\">CHAR (1)<\/td>\n<td width=\"123\">OPCIONAL<\/td>\n<td width=\"198\">CASILLA DE SELECCI\u00d3N<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Como par\u00e1metro de salida (EXPORT) la funci\u00f3n nos devolver\u00e1 una estructura para indicar si la informaci\u00f3n requerida se ha encontrado o no, con alg\u00fan tipo de mensaje de advertencia informando respecto si no ha podido ser obtenida o proporcionada al usuario.<\/p>\n<p>Ahora bien, por otro, lado disponemos de m\u00faltiples tablas de salida que nos proporcionaran una amplia informaci\u00f3n, ya que incluyen m\u00faltiples campos que de por si las tablas propias del sistema no nos aportan.<\/p>\n<p>Destacaremos estas dos primeras tablas de salida de las m\u00faltiples tablas que nos facilita esta funci\u00f3n:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"170\">TABLA<\/td>\n<td width=\"396\">DESCRIPCI\u00d3N<\/td>\n<\/tr>\n<tr>\n<td width=\"170\">T_STPO<\/td>\n<td width=\"396\">Posici\u00f3n de la Lista de Materiales<\/td>\n<\/tr>\n<tr>\n<td width=\"170\">T_STKO<\/td>\n<td width=\"396\">Cabecera de la Lista de Materiales<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Me gustar\u00eda destacar que gran parte de la informaci\u00f3n proporcionada por estas tablas y en particular la primera, la podemos obtener por c\u00f3digo a trav\u00e9s de diferentes SELECTS a tablas de Base de Datos, pero concretamente hay un campo que a mi parecer es muy interesante ya que no existe como tal en ninguna tabla est\u00e1ndar:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11056 size-full\" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES.jpg\" alt=\"\" width=\"170\" height=\"158\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>El campo\u00a0<strong>\u201dValid_To \u2013 Fecha fin de validez\u201d<\/strong>, es facilitado por la transacci\u00f3n\u00a0<strong>\u201d<u>CS03<\/u>\u00a0\u2013 Visualizaci\u00f3n de Lista de Materiales\u201d<\/strong>, indica la fecha hasta cuando un componente\/material es v\u00e1lido para una lista de materiales, ya sea porque se ha modificado su cantidad a utilizar o porque ha sido sustituido por otro componente\/material en su lugar.<\/p>\n<p>Para comprender el porqu\u00e9 de la relevancia de esta funci\u00f3n y sobre todo de este campo tenemos que ir a la tabla<\/p>\n<p style=\"text-align: center;\"><em><u>STPO<\/u> \u2013 Componentes\u00a0lista\u00a0materiales<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11060 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-4.png\" alt=\"\" width=\"670\" height=\"156\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-4.png 670w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-4-480x112.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 670px, 100vw\" \/><\/em><\/p>\n<p>Aqu\u00ed podemos ver, que para la lista de materiales\u00a0<strong>\u201d000033\u201d\u00a0<\/strong>en su posici\u00f3n\u00a0<strong>\u201d80\u201d<\/strong>\u00a0tenemos diferentes componentes que entran y salen en la producci\u00f3n del material.<\/p>\n<p>Para ver la importancia de la funci\u00f3n destacaremos que en ning\u00fan momento se proporciona en esta tabla (ni en ninguna otra) la\u00a0<strong>fecha de fin de validez<\/strong>\u00a0de cada componente.<\/p>\n<p>Para saber cu\u00e1l es la fecha de fin de validez tenemos que comparar los Nodos y Contador de cada Componente (Comp.) con el Nodo Predecesor (NodPred) y Contador de las siguientes l\u00edneas de la misma posici\u00f3n:<\/p>\n<p>-En caso de coincidencia resulta que la\u00a0<strong>Fecha de Fin de Validez (Valid_To)\u00a0<\/strong>de ese componente<strong>\u00a0es la fecha de Inicio de Validez (V\u00e1lido de)\u00a0<\/strong>del siguiente componente o l\u00ednea coincidente.<strong>\u00a0\u00a0<\/strong><\/p>\n<p>-Si\u00a0<strong>no<\/strong>\u00a0existe coincidencia la\u00a0<strong>Fecha de Fin de Validez (Valid_To)<\/strong>\u00a0del componente es por defecto \u201c<strong>31.12.9999<\/strong>\u201d.<\/p>\n<p>Como podemos observar la operativa (programaci\u00f3n) para obtener esta informaci\u00f3n puede ser relativamente compleja (con la comparativa de nodos, contadores y fechas de diferentes l\u00edneas), por ello al utilizar esta funci\u00f3n haciendo referencia directa a la tabla\u00a0<strong>\u201dSTPO\u201d<\/strong>\u00a0nos facilita estos datos directamente desde la tabla interna de salida (<strong>T_STPO<\/strong>) para la utilizaci\u00f3n posterior en nuestro programa.<\/p>\n<p style=\"text-align: center;\"><em>Ejemplo en CS03 de los datos de la tabla STPO mostrada anteriormente<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11064 \" src=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-1.png\" alt=\"\" width=\"650\" height=\"114\" srcset=\"https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-1.png 650w, https:\/\/orekait.com\/wp-content\/uploads\/2020\/02\/FUNCION-PARA-LA-VISUALIZACION-DE-LISTAS-DE-MATERIALES-1-480x84.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 650px, 100vw\" \/><\/p>\n<p>Cabe destacar que aparte de este dato de fecha fin de validez podemos obtener, en cada una de las l\u00edneas o registros, diferentes datos de utilidad como el c\u00f3digo del propio componente, la cantidad empleada del mismo, unidades de medida, n\u00fameros de modificaci\u00f3n\u2026 y otra serie de datos relevantes que podemos utilizar dependiendo de los requerimientos del programa del usuario.<\/p>\n<p>Esperamos que este art\u00edculo te haya sido de utilidad. Recuerda que puedes dejarnos tus preguntas en comentarios o ponerte en contacto con nuestro departamento de SAP Log\u00edstica.<\/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-logistica-almacen&#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>Como ya sabr\u00e9is, existen modelos de funciones que se pueden aprovechar en diferentes puntos del c\u00f3digo ABAP, de esta forma se simplifica una parte del programa, que suele ser algo m\u00e1s compleja, y se mejora el rendimiento de los programas. Los modelos de funciones pueden ser propios del sistema o bien programas propios de usuario [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":11049,"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":[28,29,33],"tags":[],"class_list":["post-11047","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-logistica","category-sap-lo","category-sap-pp-gestion-de-la-produccion"],"_links":{"self":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/11047","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=11047"}],"version-history":[{"count":5,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/11047\/revisions"}],"predecessor-version":[{"id":22102,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/posts\/11047\/revisions\/22102"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media\/11049"}],"wp:attachment":[{"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/media?parent=11047"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/categories?post=11047"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orekait.com\/es\/wp-json\/wp\/v2\/tags?post=11047"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}