¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Solución alternativa para el error en campo calculado 'CriticalityValuesSOStatus' en Vistas de CDS de Proyección

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

Hola expertos de SAP,

Tengo 2 Vistas de Consumo (una Proyección sobre una Entidad de vista CDS Raíz y otra sobre una Entidad de vista CDS Básica).

Por favor, encuentra las capturas de pantalla:

1.) Entidad de vista de CDS de Proyección

2.) Entidad de vista de CDS

Se puede observar que para el campo calculado 'CriticalityValuesSOStatus' estamos obteniendo un error en el caso de las Vistas de CDS de Proyección, mientras que en el caso de la Entidad de vista de CDS normal funciona bien.

El mensaje de error que obtengo es ' El campo CRITICALITYVALUESOSTATUS contiene una expresión no compatible '

Solicito su ayuda para comprender por qué sucede esto y cuál es la solución alternativa aquí.

Gracias,

Sijin

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

4 Respuestas

0
Cargando...

Hola Julian,

De hecho, también tenía planeado el mismo método alternativo y lo he actualizado como comentarios en la respuesta de Jens.

Mi suposición es similar a la tuya, de que una vista de proyección no puede agregar ninguna entidad sobre una vista que está proyectando, al igual que la vista de proyección SE11 que tenemos.

Te pido que proporciones la documentación oficial de SAP sobre esto si la tienes.

Gracias,

Sijin

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

Hola sijin.chandran

Las funciones están limitadas porque es una vista proyectada (ya sea raíz o no raíz).

La solución sería incluir la criticidad en la vista de interfaz y utilizar el atributo de criticidad en la vista de consumo.

define root view entity ZI_SalesDocumentTP
[...]
case 
  SalesOrderStatus = 'G' then 3  [...]end as CriticalityValueS0Status
[...]
define root view entity ZC_SalesDocumentTP
  provider contract transactional_query
  as projection on ZI_SalesDocumentTP
[...]
  @UI.lineItem: [ { position: 10, Criticality: 'CriticalityValueS0Status' } ]
  Attribute1,

  CriticalityValueS0Status
[...]
}


Saludos cordiales
Julian Danho

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

Hola Jens,

Intenté esto, incluso intenté el operador CAST en 'SalesOrderStatus' usando abap.char (1) ya que el campo 'SalesOrderStatus' está definido con una longitud de 2. Pero esto tampoco funcionó.

Lo extraño aquí es que funciona bien para 'Entidad de Vista CDS', no funciona para 'Entidad de Vista de Proyección CDS'.

Tengo una solución alternativa en mente, para trasladar este cálculo de la 'Entidad de Vista de Proyección CDS' a su Entidad Raíz Básica, es decir, en 'ZI_SalesDocumentTP'.

Aun así, me gustaría saber si hay alguna limitación con la 'Entidad de Vista de Proyección CDS'.

Gracias,

Sijin

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

Prueba un carácter como resultado de tu cálculo. Como "cuando SalesOrderStatus = 'G' entonces '3'" ... y así sucesivamente.

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?