2016-04-07 2 views
0

Je veux transférer son code de script SQL aux fonctions CE:Comment convertir ces codes de script SQL à la fonction CE dans SAP HANA

select 
    A.MANDT, 
    A.ORGEH, 
    A.ORGLV, 
    A.S_PLANS, 
    A.S_PERNR, 
    b.ENAME as ENAME, 
    (case 
     when a.ORGLV = 'ROOT' then 'ROOT - ALL Chief' 
     when a.S_PERNR is null then '' 
     when b.ENAME is null then a.S_PERNR 
     else a.S_PERNR||' - '||b.ENAME end) as CA_LV_CHIEF 
from : "Table1" as a left outer join "Table2" as b   
    on b.PERNR = a.S_PERNR 
    AND A."MANDT" = B."MANDT" 
group by A.MANDT, A.ORGEH, A.S_PERNR, A.S_PLANS, A.ORGLV, b.ENAME 

Ma question est sur l'attribut calculé CA_LV_CHIEF. Vous pouvez voir qu'il existe plusieurs instructions when...then dans le SQL d'origine. Je veux utiliser la fonction CE_CALC() pour le convertir en fonction CE, mais je ne sais pas comment imbriquer CASE déclaration en elle.

Si possible, comment puis-je le faire; ou si ce n'est pas possible, existe-t-il un autre moyen de le convertir en une fonction CE? Remerciements

Répondre

1

La bonne réponse à cette question est: ne le faites pas! L'utilisation des fonctions CE a été clairement découragée par SAP. Avec votre instruction SQL, vous disposez d'une instruction facile à comprendre, simple à maintenir et bien optimisable. Ne pas le rendre pire dans chacun de ces aspects en le réécrivant comme un appel de fonction CE.

+0

Salut Lars Je sais que l'utilisation de SQL est facile, mais c'est mon exigence de travail, donc j'ai besoin d'utiliser CE, savez-vous comment écrire en CE? – Rlearn