CALL FUNCTION com DESTINATION ‘NONE’ cria nova LUW

Sabias que quando invocas uma função com a opção DESTINATION ‘NONE’ estás a iniciar uma nova LUW?
Isto pode parecer apenas uma curiosidade, mas há um caso em que pode fazer toda a diferença: sabes aqueles módulos de função que ao serem chamados uma segunda vez têm um comportamento diferente da primeira vez? Isto acontece porque eles hão-de ter alterado alguma variável global ao grupo de funções. Ora se iniciares uma nova LUW quando chamares a função, o seu grupo de funções é automaticamente inicializado e assim garantes que o comportamento da função é o esperado.
Há um exemplo disto na nota OSS 770626.
Obrigado Artur Moreira pela dica.
Quanto à foto, decidi que os dentes do Elvis são uma boa forma de representar LUWs.
O Abapinho saúda-vos.
26 de Junho de 2015 às 13:30
Como eu faço para enviar uma dica?
5 de Julho de 2015 às 13:47
Olá Fernando, podes encontrar o endereço de email aqui:
https://abapinho.com/acerca/
Obrigado!
22 de Fevereiro de 2016 às 15:06
Boas,
acabei de usar esta dica com sucesso o que é sempre motivo de alegria quando o abapinho safa!
Neste caso nem era uma variável global ao grupo de funções que estava a dar problemas, porque para esses casos tenho conseguido (com bastante dificuldade) encontrar módulos de função que a SAP disponibiliza que limpam as variáveis globais. Que bonito desenho!
O meu problema era mesmo uma tabela interna local a um perform de um programa standard que estava definida como statics e que era preenchida por alguma tarefa posterior à que eu precisava de chamar.
Bem haja Abapinho e bem haja Artur Moreira!
Cumps
Sérgio Fraga