{"id":170,"date":"2020-08-20T11:43:44","date_gmt":"2020-08-20T16:43:44","guid":{"rendered":"http:\/\/gabrielguzman.com\/blog\/?p=170"},"modified":"2020-08-20T12:14:51","modified_gmt":"2020-08-20T17:14:51","slug":"bug-con-apex_item-date_popup2-el-boton-de-calendario-desaparece-cuando-se-tienen-mas-de-100-registros-en-un-reporte","status":"publish","type":"post","link":"https:\/\/gabrielguzman.com\/blog\/bug-con-apex_item-date_popup2-el-boton-de-calendario-desaparece-cuando-se-tienen-mas-de-100-registros-en-un-reporte\/","title":{"rendered":"Bug con APEX_ITEM.DATE_POPUP2: El bot\u00f3n de calendario desaparece cuando se tienen m\u00e1s de 100 registros en un reporte"},"content":{"rendered":"<p>Este comportamiento fue probado en APEX 5.0.0.00.31 y 20.1.0.00.13 al d\u00eda de hoy, 20 de agosto de 2020, as\u00ed que es un bug que tiene tiempo dando vueltas por ah\u00ed.<\/p>\n<p>Si se a\u00f1ade un APEX item del tipo date_popup a un reporte sin especificar el par\u00e1metro p_item_id:<\/p>\n<pre>apex_item.date_popup2( p_idx =&gt;1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 , p_value =&gt; sysdate + n)<\/pre>\n<p>APEX asignar\u00e1 un ID gen\u00e9rico al elemento, siguiendo el patr\u00f3n apex_date_<em>idx<\/em>_<em>row. <\/em>Para el ejemplo de arriba se tendr\u00e1 apex_date_01_00, apex_date_01_01, apex_date_01_02, y as\u00ed sucesivamente. Al llegar al registro #101, se asigna el ID apex_date_01_10 (cuando deber\u00eda ser _01_101) y se mantiene as\u00ed hasta el registro #111 que cambia a apex_date_01_11 (cuando deber\u00eda ser _01_110). Esto hace que APEX no pueda mostrar el bot\u00f3n de calendario que levanta el popup para seleccionar las fechas para ese registro.<\/p>\n<p>Pueden ver un ejemplo del bug ac\u00e1, moviendose a la tercera p\u00e1gina del reporte donde N &gt; 100: <a title=\"https:\/\/apex.oracle.com\/pls\/apex\/f?p=28213:5\" href=\"https:\/\/apex.oracle.com\/pls\/apex\/f?p=28213:5\">https:\/\/apex.oracle.com\/pls\/apex\/f?p=28213:5<\/a><\/p>\n<p>Parece que APEX est\u00e1 limitando internamente la longitud de ese ID, lo que causa que se pierdan esos n\u00fameros adicionales al final. Recomendar\u00eda que revisen sus reportes con elementos que incluyan popups para validar que se est\u00e9n mostrando correctamente.<\/p>\n<p><strong>La soluci\u00f3n r\u00e1pida es especificar el par\u00e1metro p_item_id al momento de crear el apex_item para evitar la asignaci\u00f3n autom\u00e1tica de este ID.<\/strong><\/p>\n<p>Quise subir esto al blog para que sirva de referencia futura a quien se encuentre con este problema en el futuro.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si se a\u00f1ade un APEX item del tipo date_popup a un reporte sin especificar el par\u00e1metro p_item_id, APEX asignar\u00e1 un ID gen\u00e9rico al elemento, siguiendo el patr\u00f3n apex_date_idx_row. Al llegar al registro #101, se asigna el ID apex_date_01_10 (cuando deber\u00eda ser _01_101) y se mantiene as\u00ed hasta el registro #111 que cambia a apex_date_01_11 (cuando deber\u00eda ser _01_110). Esto hace que APEX no pueda mostrar el bot\u00f3n de calendario que levanta el popup para seleccionar las fechas para ese registro.<\/p>\n","protected":false},"author":1,"featured_media":182,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[101,122],"tags":[134,148,144,146],"class_list":["post-170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oracle-es","category-oracle-apex","tag-apex","tag-apex_item","tag-bug","tag-report"],"_links":{"self":[{"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/posts\/170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/comments?post=170"}],"version-history":[{"count":4,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/posts\/170\/revisions"}],"predecessor-version":[{"id":181,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/posts\/170\/revisions\/181"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/media\/182"}],"wp:attachment":[{"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/media?parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/categories?post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gabrielguzman.com\/blog\/wp-json\/wp\/v2\/tags?post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}