DO_INIT

O DO_INIT é uma funcionalidade projetada para executar um include tanto no MAIN_FORM quanto no MAIN_LIST antes do carregamento completo da aplicação. Esse recurso permite inicializar configurações ou processar dados essenciais de forma antecipada, garantindo que tudo esteja preparado antes que a interface principal seja exibida.

Essa funcionalidade permite realizar a determinação ou validação de campos dentro da aplicação.

O parâmetro ACTION_NAME representa o nome da ação executada na aplicação e pode assumir os seguintes valores:

  • D: Determinação
  • V: Validação

Configuração no Builder

Agora vamos aos passos necessários para esta implementação:

  • Abra a subseção Tela (Lista Principal) ou Lista Principal da etapa Saída;
  • Lista Principal
    • Clique na Engrenagem Configurações da lista.
    • Localize no popup Ao Iniciar (DO INIT) e selecione Sim
    • No campo abaixo Include deverá ser colocado o include criado pelo usuário
  • Tela (Lista Principal)
  • Clique na Engrenagem Configurações do Formulário Principal(MAIN_FORM).
  • Localize no popup Ao Iniciar (DO INIT) e selecione Sim
  • No campo abaixo Include deverá ser colocado o include criado pelo usuário

Codificando:

  • Abra a transação SE38 no seu SAP Gui;
  • Crie um include;
  • Copie o nome do exemplo do Include e coloque no DO_INIT

Copie o código de exemplo abaixo:

DATA ls_action_data TYPE zstrzv0573458add. ls_action_data = action_data. CASE action_name. WHEN 'D'. "Determinação / Determination ls_action_data-id = 'ID'. ls_action_data-main_list_do_init = 'MAIN_LIST_DO_INIT'. ls_action_data-main_form = 'MAIN_FORM'. WHEN 'V'. "Validação / Validation IF ls_action_data-id IS INITIAL. APPEND INITIAL LINE TO message_table ASSIGNING FIELD-SYMBOL(<fs_message_table>). "Mensagem de retorno / Return message ENDCASE.

Debug do include e como é mostrado no ACTION_DATA: