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
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
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:
