Finalmente encadeiam-se expressões

Finalmente, com o SAP NetWeaver 7.0 Enhancement Package 2 o ABAP começa a parecer-se com uma linguagem de programação normal.
Até já dá para encadear expressões, vê lá tu!
É certo que o EhP2 já chegou há muito tempo, mas há muitos projectos que ainda não o têm. No meu, só chegou no mês passado. E mesmo aqueles que já o têm acredito que possam não fazer ideia das inúmeras possibilidades que o ABAP agora lhes põe à disposição.
Até aqui, quando querias encadear expressões umas nas outras, o ABAP dizia: syntax error. E lá tinhas tu de fazer as coisas às prestações. Tipo assim:
x = a + b
y = c + d
IF x > y.
z = e + f.
DO z TIMES.
CONCATENATE g h INTO i.
ENDDO.
ENDIF
Agora (ou melhor dizendo, quando no teu projecto fizerem upgrade para o EhP2) já podes fazer assim:
IF a + b > c + d.
DO e + f TIMES.
i = g && h.
ENDDO.
ENDIF.
E em vez de teres de fazer isto:
DATA o_cl1 TYPE REF TO cl1.
o_cl1 = cl2=>da_cl1( ).
o_cl1->faz_algo( ).
já podes fazer isto:
cl2=>da_cl1( )->faz_algo( ).
E notaste ali em cima o && a faz as vezes do famigerado CONCATENATE? Há também inúmeras novidades na manipulação de strings, mas isso fica para outro artigo.
Se ainda não tens o EhP2, vai sonhando. Se já o tens, faz experiências, porque há muitas possibilidades novas destes género.
Obrigado KayVee.INC pela foto.
O Abapinho saúda-vos.
18 de abril de 2013 às 13:29
Well this is one of those “nice to know” but 90% of my clients are still using lower version than 7.0EP2 so to have elastic code it’s probably better to keep it in “non chain version”.
Best regards,
PG
29 de abril de 2013 às 12:38
In generic code which can be reused in many systems, yes, better keep it in the old form. But since most of the code I write is specific, I’ll definitely start putting this chaining thing to good use.