Árvore de páginas

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 DU-E Declaração Única de Exportação
EventoParâmetroValor do Parâmetro
Custom-Fields-tt-dados-duecod-estabel-nfEstabelecimento da Nota Fiscal vinculada à DU-E
cod-serie-nfSérie da Nota Fiscal vinculada à DU-E
cod-nota-fiscNúmero da Nota Fiscal vinculada à DU-E
  • 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.