Avalados por :

Cómo escribir texto dinámico en un popup con valores de variables en la API en vivo de BPC de SAC

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

Estoy jugando con la API en vivo de BPC de SAC en este momento. Me gustaría escribir texto + valores de variables en un popup. Entonces, básicamente esto suena muy simple pero no parece serlo, porque la conversión de tipos parece ser mucho más difícil en el script de SAC que en los lenguajes de programación reales, donde esto se hace la mayor parte del tiempo automáticamente en los lenguajes modernos.

var value1 = Table_1.getDataSource().getVariableValues('ICUPRN_0DISTR_CHAN_VERTRIEBSW1');

//Tipo Array

console.log(value1);

//debería devolver un solo valor

var value2 = value1.pop();

console.log(value2);

//El resultado de pop en console log es: {value: '01', type: 'Single'} - básicamente me gustaría escribir el 01 en un texto en la ventana emergente

//El siguiente comando no es posible - Conversión VariableValue a String no es posible - mi suposición sería que no debería ser difícil convertir un valor '01' a string

cast(Type.string,value2);

//Escribir un texto que se basa en una parte estática y una variable. Esto significa que 18 debería ser dinámico y basado en la variable anterior.

var variable = '18';

//TextArea_1 y Text_2 pertenecen a un popup y deberían ser dinámicos

TextArea_1.setValue(variable);

Text_2.applyText(variable);

Popup_1.open();

Esto parece ser una solicitud muy fácil pero resulta no ser tan fácil. ¿Alguna idea al respecto?

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

4 Respuestas

0
Cargando...

torsten.wirth

SAC sigue estrictamente el tipo de conversión y no es similar a JavaScript en ese aspecto. Puedes usar el siguiente método de convertutils para convertir un número en una cadena.

numberToString(valor: número): cadena

Devuelve una representación en cadena del valor numérico. Si el valor es indefinido, entonces se devuelve la cadena "indefinido". Parámetros

valor: número

Devuelve cadena

stringToInteger(valor: cadena): entero Devuelve el valor entero representado por la cadena. Si la cadena no se puede analizar como un entero decimal, entonces se devuelve NaN.

Parámetros

valor: cadena

Devuelve entero

stringToNumber(valor: cadena): número Devuelve el valor numérico representado por la cadena. Si la cadena no se puede analizar como un número decimal, entonces se devuelve NaN. Parámetros

valor: cadena

Devuelve número

Por favor, vota/acepta si esto te ayuda

Nikhil

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

Hola Tharun,

Ya intenté esto antes de publicarlo. No hay ".value". Cuando uso ctrl+space, solo aparece el tipo que puedo extraer. Pero .value no existe según sac. "value es una propiedad no utilizada"

Saludos cordiales,

Torsten

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

Hola Torsten,

Puedes extraer la parte de valor de la variable usando la propiedad ".value".

Básicamente se vería así:

var value2 = value1.pop();

y

String final_val = value2 .value ; (puedes probar si .value aparece o no poniendo el operador "." y presionando Ctrl+espacio en el teclado)

ahora puedes usar final_val que es un string.

Saludos cordiales

Tharun.

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

Este me llevó en la dirección correcta:

SAP Analytics Cloud - Diseño de Aplicaciones: Obtener Valor de Variable | Comunidad SAP

La siguiente parece ser la solución. Basado en el hecho de que este debería ser un lenguaje de scripting fácil, nunca he visto un enfoque tan malo en ningún lenguaje de programación. Lo que obtienes en la consola es como se menciona arriba al usar .pop. jie.deng ¿Cuál es la idea de ese enfoque si es que hay alguna?

{valor: '01', tipo: 'Único'}

Puedes acceder al tipo directamente pero no al valor. Basado en la salida anterior, ambos deberían ser accesibles directamente. Pero no lo son.

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?