Determina valores de retorno complejos que no pueden devolverse con una simple copia
de registro del procesador. Esto incluye estructuras, matrices y valores de retorno
de tipo STRING (independientemente del tamaño de la memoria utilizada).
Justificación: Se trata de una advertencia de rendimiento. Si se devuelven valores
grandes como resultado de una función, método o propiedad, el procesador los copia
varias veces al ejecutar el código. Esto puede provocar problemas de ejecución y debe
evitarse siempre que sea posible. Se puede mejorar el rendimiento pasando un valor
estructurado como VAR_IN_OUT a una función o método y rellenándolo en la función o método.
Importancia: Medio
Ejemplo
TYPE LargeStructure : STRUCT a : LINT; b : BOOL; END_STRUCT END_TYPE FUNCTION Large_Return_Value_FUNC : LargeStructure // SA0023 --> SA0023: Complex return values