Histórico da Página
CONTEÚDO
| Índice | ||||||
|---|---|---|---|---|---|---|
|
1. OBJETIVO
Desenvolver uma documentação complementar do Cadastro de Operando de Faturamento (WMS6401), detalhando principalmente os campos que compõem a aba 2- Customizações.
2. ABA 2 - CUSTOMIZAÇÕES
2.1. Cálculo Customizado
Neste campo é possível efetuar a customização do cálculo, sendo necessário informar o SQL com o comando SELECT.
...
O campo Cálculo Customizado somente tem utilidade quando na aba 1 - Dados Principais, o campo Tipo Cálculo estiver configurado como Customizado pelo usuário, conforme especificado a seguir:
2.2. Comando Customizado
Neste campo é possível cadastrar uma função que pode manipular os comandos SQL (SELECT, FROM e WHERE ) padrões antes da execução na função padrão de apuração, sendo que esta função será executada antes do PREPARE do SQL utilizado para efetuar a leitura do valor calculado do operando no período, atuando como um “before_prepare”.
...
FUNCTION wmsyXXXX_customiza_operando()
DEFINE l_cmd_from CHAR(1000)
LET l_cmd_from = LOG_getVar("cmd_from")
# ‘m’ representa o alias da tabela mestre do processo
LET l_cmd_from = l_cmd_from CLIPPED,
" INNER JOIN minha_tabela",
" ON minha_tabela.empresa = m.empresa",
" AND minha_tabela.ctr_ent_sai_veic_docum = m.ctr_ent_sai_veic_docum"
CALL LOG_setVar("cmd_from", l_cmd_from)
RETURN TRUE
END FUNCTION
2.3. Comando Retorno Valor
Neste campo é possível cadastrar uma função que pode utilizar o valor calculado para um determinado operando para, por exemplo, gravar uma tabela auxiliar específica.
...
DEFINE l_depositante LIKE wms_geracao_dados_operando.depositante,
l_operando_faturamento LIKE wms_geracao_dados_operando.operando_faturamento,
l_data_geracao LIKE wms_geracao_dados_operando.dat_geracao,
l_val_parametro LIKE wms_geracao_dados_operando.val_parametro
LET l_depositante = wmsr48_get_depositante()
LET l_operando_faturamento = wmsr48_get_operando_faturamento()
LET l_data_geracao = wmsr48_get_data_atual_processamento()
LET l_val_parametro = LOG_getVar("valor_operando")
INSERT INTO minha_tabela (depositante, operando, data_geracao, valor_operando)
VALUES (l_depositante, l_operando_faturamento, l_data_geracao, l_val_parametro)
RETURN TRUE
END FUNCTION
2.4. Filtro Customizado
Com esse campo é possível criar filtros adicionais nas tabelas padrão de dados base como, por exemplo:
...
| Sequência | Função | Tipo Retorno | Tamanho | Precisão |
|---|---|---|---|---|
| 1 | wmsr48_get_depositante | CHAR | 15 | 0 |
| 2 | wmsr48_get_data_hora_atual_ini_processamento | DATETIME | 1 | 6 |
| 3 | wmsr48_get_data_hora_atual_fim_processamento | DATETIME | 1 | 6 |
| 4 | wmsyXXXX_minha_funcao_customizada | INTEGER | 10 | 0 |
2.5. Comando Carga Parâmetros
É especificada uma função customizada, que será executa antes do EXECUTE do SQL usado para fazer a leitura do valor calculado do operando no período, atuando como um “before_execute” do operando.
...
A função especificada customizada, fará o processamento e tratamento de datas de período início e fim, de forma que possam ser recuperadas por variáveis modulares ou tabelas temporárias, através de outra função que deverá ser informada no grid Parâmetros.
2.5. Grid Parâmetros
| Identificação | Descrição |
|---|---|
| Função Retorno | Função 4GL que retornará o valor do parâmetro. |
| Tipo Retorno | Tipo de retorno da função retorno: Char, Smallint, Integer, Decimal, Date, Datatime, Varchar. |
| Tamanho Retorno | Tamanho a ser determinado para o retorno, para parâmetros com tipo de retorno Char, Decimal e Varchar. |
| Precisão Retorno | Número de casas decimais que determinará a precisão no retorno para parâmetros com tipo retorno Decimal. |
3. INFORMAÇÕES ADICIONAIS SOBRE OS COMANDOS CUSTOMIZADOS
Criar funções customizadas que podem ser utilizadas para o Comando customizado, Comando retorno valor, ou Comando carga parâmetro requer alguns padrões a serem seguidos, para que a execução da função ocorra da forma desejada e apresente o resultado esperado.
Desta forma, segue um detalhamento sobre o modo trabalho e comportamento de cada tipo de função para cada comando.
3.1. Campo Customizado
Campo para informar o nome da função na qual deverá ser efetuada a manipulação do SQL que deverá determinar o valor do operando.
...
- Deve obrigatoriamente retornar TRUE ou FALSE
3.2. Criando uma Função Customizada
Para criar uma função customizada que poderá ser utilizada no Comando Customizado devem ser observados alguns padrões, pois dentro da rotina o comando SQL deve ser quebrado em três partes: SELECT, FROM e WHERE, conforme está descrito a seguir:
...
CALL LOG_setVar("cmd_select",l_select_stmt)
CALL LOG_setVar("cmd_from", l_from_stmt)
CALL LOG_setVar("cmd_where", l_where_stmt)
RETURN TRUE
END FUNCTION
3.3. Tabelas e Alias Padrões
Para facilitar o entendimento do SQL foi assumido por padrão que o ALIAS "m" indica a tabela mestre e "d" a tabela detalhe. Este padrão deverá ser seguido.
...



