What is the Effect of not Typing Formal parameters in a Form?

Questão de Certificação:

What is the Effect of not Typing Formal parameters in a Form?

  1. Forms are less flexible and are guaranteed no chance of a run time error
  2. Conversion never occurs
  3. No effect
  4. Conversion always occurs
  5. Forms are more flexible but prone to a short dump if conversion does not work

Vamos analisar todas as alternativas:

1. Forms are less flexible and are guaranteed no chance of a run time error

Errado. Os forms são MAIS flexíveis do que outras chamadas, como de módulo de função e método. Cuidado, mesmo assim eles não garantem que não tenhamos erros em tempo de execução.

2. Conversion never occurs

3. Conversion always occurs

Errado. Algumas conversões de tipos são aceitas, mas nem todas.

3. No effect

5. Forms are more flexible but prone to a short dump if conversion does not work

A vantagem de se especificar o tipo do parâmetro no form é a verificação de compatibilidade de tipos no momento da verificação de sintaxe.

Se você não especificar nenhum parâmetro, essa verificação será feita em tempo de execução. Novamente cuidade, eles não garantem que evitaremos erros em tempo de execução por causa de conversão de tipos.

Conclusão:

A resposta correta: 5.

Segue abaixo um comentário extraído do Help da SAP:

If you have specified the type of the formal parameters, the system checks that the corresponding actual parameters are compatible when the subroutine is called. For internal subroutines, the system checks this in the syntax check. For external subroutines, the check cannot occur until runtime.

By specifying the type, you ensure that a subroutine always works with the correct data type. Generic formal parameters allow a large degree of freedom when you call subroutines, since you can pass data of any type. This restricts accordingly the options for processing data in the subroutine, since the operations must be valid for all data types. For example, assigning one data object to another may not even be possible for all data types. If you specify the types of subroutine parameters, you can perform a much wider range of operations, since only the data appropriate to those operations can be passed in the call. If you want to process structured data objects component by component in a subroutine, you must specify the type of the parameter.

Referências:

SAP Help – The Parameter Interface

2 Resultados

  1. Elvio Rocha disse:

    Furlan.
    Muito boa dica!
    Mas meu entendimento do enunciado “Forms are LESS flexible (…)” é que “Forms são MENOS flexíveis (…)”.
    Não sei se trata-se de uma questão com uma única resposta correta, mas são mutuamente exclusivas as respostas: 1 e 5, 2 e 4. A questão 3 tenta ficar “neutra”, porém ficaria no mesmo grupo que as questões 1 e 2, ou com a 4 e 5.
    Mas é bom saber que a resposta correta é a 5.

  2. furlan disse:

    Obrigado Elvio. Já corrigi o texto.