Conceitos de desenvolvimento avançado
Neste capítulo, discutiremos em detalhes sobre os conceitos de desenvolvimento avançado do SAP Smart Forms. Este capítulo cobrirá aspectos como Nós Especiais, Processamento de Formulários e Módulos de Função também.
SAP Smart Forms - Nós Especiais
Em um SAP Smart Form, você tem diferentes nós especiais que podem ser usados como parte dos conceitos de desenvolvimento avançado. Para adicionar nós especiais em um formulário inteligente, você deve movê-lo para a árvore de navegação.
Em cada página, clique com o botão direito em → Abrir menu de contexto → Criar → Lógica de fluxo → Comando.
A seguinte lista de tipos de nós especiais pode ser usada -
Nó de Comando
Isso é comumente usado para inserir comandos para diferentes fins de aplicativo. Você pode usar um nó de comando para inserir uma quebra de página dinâmica na janela principal. Você tem diferentes opções no nó de comando para aplicar uma quebra de página dinâmica -
Go to New Page - Este comando é usado para fornecer uma quebra de página e é permitido apenas na janela principal.
Reset Paragraph Numbering - Esta opção pode ser usada para definir o contador para parágrafos específicos da estrutura de tópicos.
Include Printer Control - Esta opção é usada para enviar o controle de impressão ao dispositivo de saída.
Free Attributes of Spool Request - Esta opção pode ser usada para definir atributos para solicitações de spool.
Linhas de programa
As linhas do programa podem ser usadas para realizar cálculos de totais e subtotais. Você pode inserir linhas de programa na estrutura em árvore.
Na guia Atributos Gerais, use as tabelas Parâmetros de entrada e Parâmetros de saída para passar os campos globais. Com o código ABAP, você pode acessar os campos globais inseridos nessas tabelas.
Seção Complexa
Você usa esta opção para combinar páginas de guia de tipos de nós, para criar um nó de seção complexo, clique em Criar → Seção Complexa.
Na guia Atributo Geral da Seção Complexa, você pode definir configurações para combinar diferentes páginas de guia, como -
- Guia Evento
- Guia Tabela e
- Guia de modelo.
SAP Smart Forms - Processamento de Formulários
Em um formulário inteligente, você usa a estrutura em árvore sob o construtor de formulários para definir a lógica do formulário para imprimir os textos, gráficos e diferentes elementos no formulário inteligente. Quando um formulário inteligente é ativado, um módulo de função é gerado e o formulário inteligente SAP processa a estrutura em árvore do formulário e usa o código de programação ABAP para imprimir o conteúdo do formulário.
A saída de um formulário inteligente é determinada por nós inferiores em uma estrutura de árvore que constitui Páginas e Windows em um construtor de formulário. Para cada nó em uma árvore, você pode definir opções e condições de saída.
Um nó é processado nos seguintes cenários -
Condition -
Quando uma condição é definida para o nó e o sistema avalia a condição. Se for considerado falso, o nó e seus nós inferiores em uma estrutura de árvore não são processados.
Os nós inferiores podem ser processados diretamente, dependendo do tipo de nó.
Uma ação atribuída a um nó também pode ser processada.
Quando você define as opções de saída para um nó e seu nó inferior e as opções de saída individuais são atribuídas a nós inferiores, a opção sobrescreve a opção de saída do nó superior.
Os seguintes tipos de condição podem ser usados para processar um nó.
Simple IF Condition - Isso é feito usando a opção AND ou OR.
Complex IF condition - Isso é usado usando linhas de programa.
Combinação de consultas de eventos
SAP Smart Forms - Módulos de função
Quando um smart form é ativado, um módulo de função é gerado. Existem vários parâmetros padrão que podem ser aplicados no módulo de função. Esses parâmetros aparecem diretamente na interface do formulário e não podem ser alterados. Para ativar um formulário inteligente, clique noActivate Button no topo.
Quando o módulo de função é chamado de um aplicativo, você pode usar esses parâmetros para definir o formato de saída ou solicitação de spool ou vários outros fins.
Report - zcall_smartform.
Call Function - '/ 1BCDWB / SF00000279'
Aqui SF00000279 - representa o módulo de função.
Mas esta não é a maneira recomendada de chamar um módulo de função, pois o nome do Módulo de função é gerado de acordo com o intervalo de números no sistema. Quando você transfere o formulário inteligente para o sistema de produção, um novo módulo de função é gerado.
Para lidar com isso, é recomendável usar a função - SSF_FUNCTION_MODULE_NAME para obter o nome do módulo de função dinamicamente.
Report - zcall_smartform.
Data - fname TYPE rs38l_fnam.
Call Function - 'SSF_FUNCTION_MODULE_NAME'
Como obter um nome de módulo de função?
Para verificar o nome do módulo de função de um formulário inteligente, navegue até a guia Environment no topo → Function Module Name.
O Módulo de Função é mostrado na próxima janela -
Você também pode executar vice-versa usando o Transaction SE 11 e vá para a mesa - STXFADMI.