Páginas filhas
  • Customização de operandos de faturamento de serviço

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Possui parâmetros que podem ser recuperados pela função LOG_getVar().
ComandoDescrição
cmd_select

Comando SQL do tipo SELECT, utilizado para determinar o valor do operando.

cmd_from

Comando SQL do tipo FROM, que indica qual(is) tabela(s) será(ão) utilizada(s) para fazer o SELECT.

cmd_where

Comando SQL do tipo WHERE, que indica quais filtros serão utilizados para determinar o valor do operando.




  • Recebe como parâmetros que podem ser setados através da função LOG_setVar().
ComandoDescrição
cmd_select

Comando SQL do tipo SELECT, utilizado para determinar o valor do operando.

cmd_from

Comando SQL do tipo FROM, que indica de qual(is) tabela(s) será(ão) utilizada(s) para fazer o SELECT.

cmd_where Comando SQL do tipo WHERE que indica quais os filtros serão utilizados para determinar o valor do operando


  • Deve obrigatoriamente retornar TRUE ou FALSE

...

Também pode ser efetuada a leitura do campo Forma Cobrança, para que seja realizado um tratamento pelo Cadastro do Operando, sendo que para isso deve utilizado  como por exemplo:

IF lr_operand_fatur.tip_processo = "ARMAZENAGEM" THEN
    IF lr_operand_fatur.tip_operando_faturamento = 99 THEN #Customizado pelo Usuário
        CASE lr_operand_fatur.forma_cobranca
            WHEN "S"
                LET l_select_stmt = "SELECT SUM(palete.qtd_saldo)"
            WHEN "P"
                 LET l_select_stmt = "SELECT MAX(palete.qtd_saldo)"
            WHEN "M"
                 LET l_select_stmt = "SELECT AVG(palete.qtd_saldo)"
         END CASE

  • Montar cada estrutura de separadamente, em sua respectiva variável:

Select – l_select_stmt

        LET l_select_stmt = "SELECT SUM(b.qtd_saldo/palete.qtd_saldo)"

From – l_from_stmt

        LET l_from_stmt =    " FROM wms_armaz_pal_", l_depositante CLIPPED, " b",
                                         "           ,(SELECT DISTINCT a.empresa ",
                                         "                                         ,a.data_posicao_estoque ",
                                         "                                         ,a.palete ",
                                         "                                         ,SUM(a.qtd_saldo) qtd_saldo ",
                                         "               FROM wms_armaz_pal_", l_depositante CLIPPED, " a",
                                         "             WHERE a.empresa = '",l_empresa ,"'",
                                         "                  AND a.data_posicao_estoque >= ? ",
                                         "                  AND a.data_posicao_estoque <= ? ",
                                         "             GROUP BY a.empresa ",
                                         "                              ,a.data_posicao_estoque ",
                                         "                              ,a.palete) palete "

Where = l_where_stmt

        LET l_where_stmt =  " WHERE b.empresa = palete.empresa ",
                                         " AND b.data_posicao_estoque = palete.data_posicao_estoque ",
                                         " AND b.palete = palete.palete ",
                                         " AND EXISTS(SELECT DISTINCT 1 ",
                                         "                         FROM wms_armaz_item_", l_depositante CLIPPED, " c",
                                         "                       WHERE c.empresa = b.empresa ",
                                         "                            AND c.data_posicao_estoque = b.data_posicao_estoque ",
                                         "                            AND c.item = b.item ",
                                         "                            AND c.sit_registro <> 'C' "





HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>