Avalados por :

Cómo llamar una plantilla web con filtro de URL: Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 3 Vistas
0
Cargando...

Hola,

Deseo llamar a una plantilla web a través de una URL con una selección o filtro en una cierta característica. La documentación "Referencia de la API web" (que contiene una sección sobre Llamadas a Plantillas Web Parametrizadas) indica que es posible, pero no logro que funcione...

Como ejemplo, deseo ejecutar una plantilla web 'ZTESTTEMPLATE' para un cierto valor de centro de costos 'CCABC'.

La URL (en un sistema BW3.1) para ejecutar la consulta sin un valor de filtro se ve así:

http://bwserver:8010/sap/bw/BEx?CMD=LDOC&TEMPLATE_ID=ZTESTTEMPLATE

ZTESTTEMPLATE contiene un único proveedor de datos y consulta para reportar costos por centro de costos, elemento de costos y mes. Estas características (0COSTCENTER, 0COSTELMNT, 0CALMONTH) están definidas en el bloque de navegación de las Plantillas Web. También he añadido un filtro con la siguiente definición:

<object>

<param name="OWNER" value="SAP_BW"/>

<param name="CMD" value="GET_ITEM"/>

<param name="NAME" value="FILTER_1"/>

<param name="ITEM_CLASS" value="CL_RSR_WWW_ITEM_FILTER"/>

<param name="DATA_PROVIDER" value="DATAPROVIDER_1"/>

<param name="BORDER_STYLE" value="NO_BORDER"/>

<param name="GENERATE_CAPTION" value=""/>

<param name="PRESENTATION" value="TEXT"/>

<param name="ITEM_FILTER_IOBJNM_1" value="0COSTCENTER"/>

<param name="PRESENTATION_1" value="TEXT"/>

<param name="ONLY_VALUES" value="X"/>

ITEM: FILTER_1

</object>

La documentación de la API web sugiere que la siguiente URL debería funcionar,

http://bwserver:8010/sap/bw/BEx?CMD=LDOC&TEMPLATE_ID=ZTESTTEMPLATE&FILTER_IOBJNM=0COSTCENTER&FILTER_...

- donde 'CCABC' es un centro de costos válido que contiene datos.

Sin embargo, obtengo "No se encontraron datos aplicables".

¿Alguien puede decirme qué podría estar faltando en mi URL?

Además, ¿es posible llamar consultas (creadas en Query Designer; no plantillas web) con parámetros también? En caso afirmativo, ¿cuál es la sintaxis?

Por último, no estoy seguro de por qué necesito usar filtros. ¿No es posible pasar un valor de selección al bloque de navegación?

Muchas gracias

Adrian

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

3 Respuestas

0
Cargando...

Hola Adrian,

Deberías obtener los mismos resultados al llamar a la URL que habías escrito, creo que es correcta. ¿Obtuviste algún dato usando ese código para restringir el proveedor de datos? No puedo entender qué podría estar mal excepto que no haya datos para esa selección.

Saludos.

Pavel

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Gracias Pavel,

Sí, esa era mi comprensión del Filtro también... que simplemente mostraba el valor. Por eso me preguntaba si es posible pasar un valor de selección al bloque de navegación. La documentación de la API web es un poco confusa al respecto.

Esperaba no tener que codificar la selección del Centro de Costos CCABC en la plantilla web, ya que podría tener varias selecciones similares (CCABD, CCABE, etc.). Sería ideal si hubiera una forma de hacer esto a través de la URL.

Gracias por tu ayuda Pavel. Cualquier otra sugerencia también será muy apreciada.

Saludos cordiales

Adrian

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Adrian,

No estoy seguro de si el elemento 'filtro' funciona como piensas. Creo que solo muestra el valor del filtro, no puedes cambiarlo usando este elemento en WAD. Puedes restringir características en una consulta a través del proveedor de datos. El código debería verse algo así:

<object>

<param name="OWNER" value="SAP_BW"/>

<param name="CMD" value="SET_DATA_PROVIDER"/>

<param name="NAME" value="DATAPROVIDER_1"/>

<param name="QUERY" value="QUERY_NAME"/>

<param name="INFOCUBE" value="CUBE_NAME"/>

<param name='filter_iobjnm' value='0COSTCENTER'/>

<param name='filter_value' value='CCABC'/>

<param name='filter_collapse' value=''/>

DATA_PROVIDER: DATAPROVIDER_1

</object>

La URL es generada por el servidor de SAP, no tienes que preocuparte por la URL en este caso.

Espero que te ayude un poco.

Saludos cordiales, Pavel

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?