Árvore de páginas

Descrição

Este ponto epc permite verificar se a data de vencimento da fatura é válida ou não.


Ponto de Entrada - vld-dt-venc-fatura

Descrição:

Permite verificar se a data de vencimento da fatura é válida

Localização:

Antes do envio da fatura para o financeiro

Eventos:

vld-dt-venc-fatura

Programa Fonte:

cdp/cdf433.i1

Função:

CD0433 - Monitor de Integração SIGAGFE X Datasul

CD0433RP - Integração RPW SIGAGFE X Datasul

CDF433 - Integração batch SIGAGFE X Datasul

Parâmetro:
NomeTipoDescriçãoObrigatório
cDataVencCaractereContém a data de vencimento da fatura gerada no GFESim

Retorno:

NomeTipoDescriçãoObrigatório
lDtVencVldLógicoIndica se a data de vencimento é válida                             Sim

 Exemplo:

Exemplo:

IF p-ind-event = "vld-dt-venc-fatura" THEN DO:

   ASSIGN l-g-dt-vencto-vld = YES.

   FIND FIRST tt-epc NO-LOCK
         WHERE tt-epc.cod-event = "vld-dt-venc-fatura":U
             AND tt-epc.cod-parameter = "vld-dt-venc-fatura":U NO-ERROR.
   

   IF NOT AVAIL tt-epc THEN
      RETURN "NOK":U.

   ASSIGN c-dt-vencto-fat = ENTRY(1,tt-epc.val-parameter,",").

   ASSIGN da-dt-vencto-fat = DATE(SUBSTRING(c-dt-vencto-fat,7,2) + "/" +
                                                SUBSTRING(c-dt-vencto-fat,5,2) + "/" +
                                                SUBSTRING(c-dt-vencto-fat,1,4) ) .

   CREATE tt-epc.
   ASSIGN tt-epc.cod-event = "vld-dt-venc-fatura":U
                tt-epc.cod-parameter = "dt-venc-fatura":U
                tt-epc.val-parameter = STRING(YES).

   FOR EACH es_param_ap NO-LOCK:
      IF es_param_ap.log_bloq_tit_ap_venc = YES THEN DO:

         IF ( TRUNC( es_param_ap.HRS_ANTES_HORARIO / 24 , 0) < es_param_ap.HRS_ANTES_HORARIO / 24 ) THEN
            ASSIGN i-qt-dia-antes-hor = TRUNC(es_param_ap.HRS_ANTES_HORARIO / 24 , 0) + 1.
         ELSE
            ASSIGN i-qt-dia-antes-hor = TRUNC(es_param_ap.HRS_ANTES_HORARIO / 24 , 0).

         IF ( TRUNC( es_param_ap.HRS_DEPOIS_HORARIO / 24 , 0) < es_param_ap.HRS_DEPOIS_HORARIO / 24 ) THEN
            ASSIGN i-qt-dia-depois-hor = TRUNC(es_param_ap.HRS_DEPOIS_HORARIO / 24 , 0) + 1.
         ELSE
            ASSIGN i-qt-dia-depois-hor = TRUNC(es_param_ap.HRS_DEPOIS_HORARIO / 24 , 0).

         IF es_param_ap.hr_max <> "" AND es_param_ap.HRS_ANTES_HORARIO <> ? AND es_param_ap.HRS_DEPOIS_HORARIO <> ? THEN DO:

            IF int(SUBSTRING(STRING(NOW),12,2)) >= int(SUBSTRING(es_param_ap.hr_max,1,2)) THEN DO:
               IF da-dt-vencto-fat < TODAY + i-qt-dia-depois-hor THEN DO:
                  ASSIGN tt-epc.val-parameter = STRING(NO)
                                l-g-dt-vencto-vld = NO.
               END.
            END.
            ELSE DO:
               IF da-dt-vencto-fat < TODAY + i-qt-dia-antes-hor THEN DO:
                  ASSIGN tt-epc.val-parameter = STRING(NO)
                               l-g-dt-vencto-vld = NO.
               END.
            END.
         END.
      END.
   END.

   IF NOT l-g-dt-vencto-vld THEN DO:

      FOR EACH es_param_ap_usuar NO-LOCK
           WHERE es_param_ap_usuar.cod_usuar = c-seg-usuario
               AND es_param_ap_usuar.dt_validate >= TODAY:
         ASSIGN l-g-dt-vencto-vld = YES.
      END.

   END.

END.