Customização via EPC

Visão Geral do Programa

Caso haja necessidade de realizar implementação para impressão de alguma outra informação que não esteja disponível na lista de variáveis da planilha Excel, é possível realizar a  customização por intermédio de EPC’s em cada layout de informações. Por exemplo: Pedidos de Venda, Itens Pedido de Venda, Valores Processo/Pedido, Processo de Exportação, etc., conforme consta nas planilhas do arquivo “ex0165-variaveis.xls”.

Para cada um dos layout’s acima mencionados, existe um ponto EPC no qual é possível realizar o tratamento para a literal (rótulo e/ou label) a ser substituída, assim como realizar o tratamento para a variável específica correspondente àquela literal.

Variáveis Literais Específicas:

Para que seja possível implementar um tratamento via EPC para as literais das variáveis específicas a serem substituídas em tempo de impressão do relatório, elas deverão seguir um padrão, que deverão obrigatoriamente iniciar com “#lit-var-espec”.

Variáveis Específicas:

Para que seja possível implementar um tratamento via EPC para as variáveis específicas a serem substituídas em tempo de impressão do relatório, elas deverão seguir um padrão, que deverão obrigatoriamente iniciar com “#var-espec”.

Exemplo: Customizar através de ponto EPC o layout referente às Informações do Pedido de Venda para que seja impresso a Natureza de Operação do Pedido:

No arquivo de layout padrão (ex0165-layout.xls), no bloco de informações referentes ao Pedido de Venda, inserir nova coluna e na linha referente às literais, inserir a variável #lit-var-espec-nat-operacao e a variável correspondente ao valor que será substituído #var-espec-nat-operacao.

O tratamento das variáveis “#lit-var-espec-nat-operacao” e “#var-espec-nat-operacao” deverá ser realizado no programa customizado desenvolvido pelo cliente e chamado pelo ponto EPC correspondente ao bloco de Informações do Pedido de Venda, assim como tratamento das literais desta variável.


Abaixo estão descritos todos os Pontos de EPC disponibilizados para o Relatório Gerencial de Exportação.

  • Layout Dados do Pedido de Venda:
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-pedidonr-pedcli

Número do Pedido de Venda do Cliente que será impresso;

nome-abrev

Nome Abreviado do Cliente do Pedido de Venda que será impresso;

  • Layout Itens do Pedido de Venda;
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-det-dados-pedido




nome-abrevNome Abreviado do Cliente referente à Entrega do Pedido de Venda que será impresso;
nr-pedcliNúmero do Pedido de Venda do Cliente referente à Entrega do Pedido que será impresso;
nr-sequenciaSequência referente à Entrega do Pedido de Venda que será impressa;
it-codigoItem referente à Entrega do Pedido de Venda que será impresso;
cod-referReferência da Entrega do Pedido de Venda que será impressa;
nr-entregaNúmero da Entrega do Pedido de Venda que será impressa.
  • Layout Valores do Pedido de Venda/Processo de Exportação
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-valores-processoHandle_tt-valores-processoHandle do Buffer da temp-table tt-valores-processo-aux

Definição da temp-table tt-valores-processo-aux:

CampoTipoFormato
cod-estabel CharacterX(05)
nr-proc-expCharacterX(12)
nome-abrevCharacterX(12)
 nr-pedcliCharacterX(12)
cod-cond-pagInteger>>>9
desc-cond-pagto Characterx(30)
cod-incotermCharacterX(3)
desc-incoterm Characterx(30)
vl-totalDecimal>>,>>>,>>>,>>9.99
vl-tot-frete-nac Decimal>>>,>>>,>>9.99
vl-tot-frete-internac Decimal>>>,>>>,>>9.99
vl-tot-freteDecimal>>>,>>>,>>9.99
vl-tot-seguro Decimal>>>,>>>,>>9.99
vl-tot-embalagemDecimal>>>,>>>,>>9.99
vl-tot-incotermDecimal

>>,>>>,>>>,>>9.99

descontoDecimal>>>,>>>,>>9.99
vl-liquido Decimal>>,>>>,>>>,>>9.99
vl-despesas Decimal>>,>>>,>>>,>>9.99
peso-liq-tot Decimal>>>,>>>,>>9.9999
 peso-bruto-tot Decimal>>>,>>>,>>9.9999
volume-calc Decimal>>>,>>>,>>9.9999
  • Layout Dados do Processo de Exportação
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-processocod-estabelEstabelecimento do Processo de Exportação que será impresso;
nr-proc-expNúmero do Processo de Exportação que será impresso;
  • Layout Processos Relacionados
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-proces-export-relacdocod-estabelEstabelecimento do Processo de Exportação Relacionado ao Processo que será impresso;
nr-proc-expNúmero do Processo de Exportação Relacionado ao Processo que será impresso;
cod-proces-export-origNúmero do Processo de Exportação de Origem que será impresso;
  • Layout Itens do Processo
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-det-dados-processocod-estabelEstabelecimento referente à Entrega do Processo de Exportação que será impresso;
nr-proc-expNúmero do Processo de Exportação referente à Entrega do Processo que será impresso;
nome-abrevNome Abreviado do Cliente referente à Entrega do Processo de Exportação que será impresso;
nr-pedcliNúmero do Pedido do Cliente referente à Entrega do Processo de Exportação que será impresso;
nr-sequenciaNúmero da Sequência referente à Entrega do Processo de Exportação que será impresso;
it-codigoItem referente à Entrega do Processo de Exportação que será impresso;
cod-referReferência da Entrega do Processo de Exportação que será impresso;
nr-entregaNúmero da Entrega, referente à Entrega do Processo de Exportação que será impresso;
  • Layout Documentos do Processo
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-proc-docto-exportcod-estabelEstabelecimento do Processo de Exportação do Documento que será impresso;
nr-proc-expNúmero do Processo de Exportação do Documento que será impresso;
idi-tip-doctoTipo do Documento que será impresso (aqui é considerado o código do documento que consta no cadastro de Documentos de Exportação – EX0070 e que está vinculado ao Processo de Exportação)
  • Layout Cliente/Contato
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-emitentecod-emitenteCódigo do Emitente referente ao Pedido/Processo de Exportação que será impresso;
  • Layout Nota Fiscal
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-notasHandle_tt-dados-notaHandle do Buffer da temp-table tt-det-dados-nota-aux-nota

Definição da temp-table tt-det-dados-nota-aux-nota:

CampoTipoFormato
cod-estabelCharacterX(05)
serieCharacterX(05)
 nr-nota-fis  Character

x(16)

nr-seq-fatInteger>>,>>9
 it-codigoCharacterx(16)
desc-item  Characterx(18)
nr-seq-pedInteger>>,>>9  
nr-pedcliCharacterx(12)
nome-ab-cliCharacterx(12)
peso-liq-fat Decimal>>>,>>>,>>9.99999
cod-referCharacterx(8)
desc-referCharacterx(32)
peso-bruto Decimal >>>,>>>,>>9.99999
qt-faturadaDecimal>>,>>>,>>9.9999
un-fatur Characterxx
vl-pretab  Decimal>>>,>>>,>>9.99999
vl-preoriDecimal>>>,>>>,>>9.99999
vl-preuniDecimal>>>,>>>,>>9.99999
vl-merc-tabDecimal>,>>>,>>>,>>9.99
vl-merc-oriDecimal>,>>>,>>>,>>9.99
vl-merc-liqDecimal>,>>>,>>>,>>9.99
vl-tot-itemDecimal>,>>>,>>>,>>9.99
per-des-itemDecimal->>9.99999
vl-despes-itDecimal>,>>>,>>>,>>9.99
nr-entrega Integer>>>>9
vl-frete-itDecimal->>,>>>,>>9.99
 vl-descontoDecimal>>,>>9.99999
nr-proc-expCharacterx(12)
  • Layout Comissão do Representante
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-comissaocod_empresaEmpresa da Matriz de Tradução de Organização Externa referente à Empresa vinculada ao Estabelecimento do Processo de Exportação/Pedido de Venda que será impresso;
cdn-represCódigo do Representante da Movimentação Financeira do Processo de Exportação/Pedido de Venda que será impresso, referente à tabela “movto_comis_repres”.
ttv_rec_movto_comis_represRecid da tabela "Movimento Comissão Representantes" (referente à tabela “movto_comis_repres”)
  • Layout Contrato de Câmbio
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-cambio


ep-codigoEmpresa do EMS2 vinculada ao Título do Contrato de Câmbio de Exportação da Nota Fiscal que será impressa;
cod-estabelEstabelecimento do EMS2 vinculada ao Título do Contrato de Câmbio de Exportação da Nota Fiscal que será impresso;
referenciaReferência do Título do Contrato de Câmbio de Exportação da Nota Fiscal que será impressa;
dt-referenciaData da Referência do Título do Contrato de Câmbio de Exportação da Nota Fiscal que será impressa;


Exemplo de EPC para utilização no Relatório Gerencial de Exportação:

Veja aqui o código fonte de exemplo
{include/i-epc200.i1} /* Definição tt-epc         */
DEFINE VARIABLE h-ttDados    AS HANDLE      NO-UNDO.
DEFINE VARIABLE bf-ttDados   AS HANDLE      NO-UNDO.
DEFINE VARIABLE qttDados     AS HANDLE      NO-UNDO.
DEFINE VARIABLE h-codEstabel AS HANDLE      NO-UNDO.
DEFINE VARIABLE h-serie      AS HANDLE      NO-UNDO.
DEFINE VARIABLE h-nrNotaFis  AS HANDLE      NO-UNDO.
DEFINE VARIABLE h-nrSeqFat   AS HANDLE      NO-UNDO.
DEFINE VARIABLE h-itCodigo   AS HANDLE      NO-UNDO.

DEFINE INPUT        PARAM p-ind-event  AS CHAR NO-UNDO.
DEFINE INPUT-OUTPUT PARAM TABLE for tt-epc.

IF (p-ind-event = "Custom-literals") THEN DO:

    CREATE tt-epc.
    ASSIGN tt-epc.cod-event = "Custom-literals"
           tt-epc.cod-parameter = "#lit-var-espec-teste1"
           tt-epc.val-parameter = "Lit teste 1".

    CREATE tt-epc.
    ASSIGN tt-epc.cod-event = "Custom-literals"
           tt-epc.cod-parameter = "#lit-var-espec-teste2"
           tt-epc.val-parameter = "Lit teste 2".

END.
ELSE IF (p-ind-event = "Custom-Fields-tt-dados-notas") THEN DO:

    /* Handle ttDados */
    FIND FIRST tt-epc
        WHERE tt-epc.cod-parameter = "Handle_tt-dados-nota":u NO-ERROR.

    IF AVAIL tt-epc THEN DO:

        ASSIGN h-ttDados = WIDGET-HANDLE(tt-epc.val-parameter) NO-ERROR.

        IF ERROR-STATUS:ERROR THEN
            NEXT.

        CREATE BUFFER bf-ttDados FOR TABLE h-ttDados BUFFER-NAME "tt-dados-nota".
        CREATE QUERY qttDados.
        qttDados:SET-BUFFERS(bf-ttDados).

        IF VALID-HANDLE(qttDados) THEN
            ASSIGN qttDados:FORWARD-ONLY = YES.

        qttDados:QUERY-PREPARE("FOR EACH tt-dados-nota").
        qttDados:QUERY-OPEN.
        qttDados:GET-FIRST.

        DO WHILE NOT(qttDados:QUERY-OFF-END):

            ASSIGN h-codEstabel       = bf-ttDados:BUFFER-FIELD("cod-estabel") 
                   h-serie            = bf-ttDados:BUFFER-FIELD("serie")
                   h-nrNotaFis        = bf-ttDados:BUFFER-FIELD("nr-nota-fis")
                   h-nrSeqFat         = bf-ttDados:BUFFER-FIELD("nr-seq-fat")
                   h-itCodigo         = bf-ttDados:BUFFER-FIELD("it-codigo").
          
        CREATE tt-epc.
        ASSIGN tt-epc.cod-event = "Custom-Fields-tt-dados-notas"
               tt-epc.cod-parameter = "#var-espec-teste1"
               tt-epc.val-parameter = "Estabelecimento: " + h-codEstabel:BUFFER-VALUE + "| Série: " + h-serie:BUFFER-VALUE + "| Nr Nota Fis: " + h-nrNotaFis:BUFFER-VALUE.
    
        CREATE tt-epc.
        ASSIGN tt-epc.cod-event = "Custom-Fields-tt-dados-notas"
               tt-epc.cod-parameter = "#var-espec-teste2"
               tt-epc.val-parameter = "Nr Seq Fat: " + h-nrSeqFat:BUFFER-VALUE + "| Item: " + h-itCodigo:BUFFER-VALUE.

            qttDados:GET-NEXT.
        END.

    END.

END.

RETURN "OK":U.






#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))