"
Apoiado por

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.

3 comentários a “CALL FUNCTION com DESTINATION ‘NONE’ cria nova LUW”

  1. Fernando Castro Diz:

    Como eu faço para enviar uma dica?

  2. Nuno Godinho Diz:

    Olá Fernando, podes encontrar o endereço de email aqui:
    https://abapinho.com/acerca/

    Obrigado!

  3. Sérgio Fraga Diz:

    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

Deixe um comentário


Acerca do Abapinho
O Abapinho é suportado pelo WordPress
Artigos (RSS) e Comentários (RSS).