CE PLUS - Nota 000564

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 02/01/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 13:18:17

Descrição da Nota: AGRUPAMENTO DE REMESSAS COM FORNECEDORES DIFERENTES

Sintoma

Verificar porque o programa de remessa financeira não aceita o imposto que está registrado na tabela

/pws/zycat024. Isto é, COFINS e COFINS P.

 

 

Solução

Nos programas de: Remessa, Processar Boleto Remessa, Complemento do Boleto Remessa, Saída de

Pagamento Remessa, Arquivo Eletrônico Remessa e Relatório de Follow-up Remessas, fazer com que

considere o início do nome do imposto(CIDE,COFINS,IRRF,PIS,IOF,ISS), permitindo assim criar novos

impostos como (CIDE1, COFINS_A, PIS2, IOF_Z1, etc). Lembrando que a Remessa só pode ter um tipo de

imposto de IRRF, por exemplo, não podendo ter IRRF e IRRF2 na mesma.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

REMESSA FINANCEIRA COM IRRF DEDUZIDO DA FATURA

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 00564 Data: 02/01/2006 Hora: 09:28:52

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 00564

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00094

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00481  - 00001 - 6.0    - 00022  - REMESSA FINANCEIRA COM IRRF DEDUZIDO DA FATURA

----------------------------------------------------------------------------------------------------

AGRUPAMENTO DE REMESSAS COM FORNECEDORES DIFERENTES

----------------------------------------------------------------------------------------------------

Palavras Chave:

AGRUPAMENTO REMESSA PAGAMENTO FORNECEDORES DIFERENTES

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCA109F01

REPS /PWS/MZYCB115F01

REPS /PWS/ZYCBR102

REPT /PWS/ZYCBR102

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCA109F01

 

 

 

 

Contexto: FORM verif_alteracoes_relevantes USING p_criacao

                                       p_tpimp

                                 CHANGING p_estorna.

 

...

 

    IF p_tpimp EQ 'PRINCIPAL'.

      IF /pws/zycbe124-dtdocto  NE wa_zycbt124-dtdocto  OR

         /pws/zycbe124-tpoper   NE wa_zycbt124-tpoper   OR

         /pws/zycbe124-codpagto NE wa_zycbt124-codpagto OR

         /pws/zycbe124-recrem   NE wa_zycbt124-recrem   OR

         /pws/zycbe124-dtvencto NE wa_zycbt124-dtvencto OR

         /pws/zycbe124-frpagto  NE wa_zycbt124-frpagto  OR

         /pws/zycbe124-kursf    NE wa_zycbt124-kursf    OR

         /pws/zycbe124-fiv      NE wa_zycbt124-fiv      OR

       ( /pws/zycbe124-ftaxa    NE wa_zycbt124-ftaxa    AND

         /pws/zycbe124-kursf    IS INITIAL ).

        p_estorna = 'X'.

        EXIT.

      ENDIF.

    ENDIF.

    IF /pws/zycbe124-bukrs      NE wa_zycbt124-bukrs      OR

       /pws/zycbe124-waers      NE wa_zycbt124-waers      OR

       /pws/zycbe124-vlme       NE wa_zycbt124-vlme       OR

       /pws/zycbe124-j_1bbranch NE wa_zycbt124-j_1bbranch OR

       /pws/zycbe124-gsber      NE wa_zycbt124-gsber.

      p_estorna = 'X'.

      EXIT.

    ENDIF.

    IF NOT itab_zycat024-credito_imp IS INITIAL.

      v_cred_imp = itab_zycat024-credito_imp.

    ELSE.

      v_cred_imp = /pws/zyglt009-cont_impostos.

    ENDIF.

    IF v_cred_imp = '2'.

      IF /pws/zycbe124-recrem NE wa_zycbt124-recrem.

        p_estorna = 'X'.

        EXIT.

      ENDIF.

    ENDIF.

    PERFORM verifica_campos_parmetrizaveis USING v_codeven

                                                 p_estorna.

    IF p_estorna = 'X'.

      EXIT.

    ENDIF.

 

    IF p_tpimp EQ 'PRINCIPAL'.

*<< Inicio exclusão >>

***     IF itab_zycat025_aux[]    NE itab_zycat025[] OR

*          itab_zycbt141_p_aux2[] NE itab_zycbt141_p2[].

*         p_estorna = 'X'.

*         EXIT.

*       ENDIF.

*<< Fim exclusão >>

*<< Inicio inclusão >>

      IF itab_zycbt141_p_aux2[] NE itab_zycbt141_p2[].

        p_estorna = 'X'.

        EXIT.

      ENDIF.

 

*     Verifica se havia irrf deduzido

      READ TABLE itab_zycat025_aux WITH KEY tpimp  = 'IRRF'

                                            dedfat = 'X'.

      IF sy-subrc EQ 0.

        READ TABLE itab_zycat025 WITH KEY tpimp = 'IRRF'.

*       Se havia e foi excluído, recontabiliza principal

        IF sy-subrc NE 0.

          p_estorna = 'X'.

*       Se havia e foi alterado o valor ou o flag, recontab. o principal

        ELSEIF sy-subrc = 0 AND

               ( itab_zycat025_aux-vlimpme NE itab_zycat025-vlimpme or

                 itab_zycat025_aux-dedfat  NE itab_zycat025-dedfat ).

          p_estorna = 'X'.

        ENDIF.

      ELSE.

*       Verifica se passou a ter irrf deduzido

        READ TABLE itab_zycat025 WITH KEY tpimp  = 'IRRF'

                                          dedfat = 'X'.

*       Se passou a ter, recontabiliza principal

        IF sy-subrc EQ 0.

          p_estorna = 'X'.

        ENDIF.

      ENDIF.

*<< Fim inclusão >>

    ELSE.

      READ TABLE itab_zycat025 WITH KEY tpimp = p_tpimp.

      IF sy-subrc NE 0 OR itab_zycat025 NE itab_zycat025_aux.

        p_estorna = 'X'.

        EXIT.

      ENDIF.

      IF itab_zycbt141_i_aux2[] NE itab_zycbt141_i2[].

        p_estorna = 'X'.

        EXIT.

      ENDIF.

    ENDIF.

 

  ENDIF.

 

ENDFORM.                    " verif_alteracoes_relevantes

 

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB115F01

 

 

 

Contexto: FORM  executa_batch.

 

  DATA: v_dtcredpr_aux LIKE /pws/zycbt031-dtcredpr,

        v_dtcredpr     LIKE /pws/zycbt031-dtcredpr,

        v_dtcredir     LIKE /pws/zycbt031-dtcredir,

        v_dtcide       LIKE /pws/zycbt031-dtcide,

        v_faz_f04(1)   TYPE c.   " Faz só F-04

 

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycet037

         WHERE bukrs EQ itab_zycbt134-bukrs.

  ENDSELECT.

  IF sy-subrc NE 0.

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycet037

           WHERE bukrs EQ space.

    ENDSELECT.

  ENDIF.

 

  CLEAR wa_zycbt007.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt007

         INTO wa_zycbt007

         WHERE bukrs EQ itab_zycbt134-bukrs.

  ENDSELECT.

 

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zyglt009

         WHERE bukrs EQ itab_zycbt134-bukrs.

  ENDSELECT.

 

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt089

         WHERE bukrs EQ itab_zycbt134-bukrs.

  ENDSELECT.

 

* Boletos do tipo PRONTO e de remessas de Pagamento criadas por Doc.

* Contábil ou MIRO, não há contabilização no complemento, apenas

* na saída, onde deverá desmembrar o docto. de provisão da remessa

* por item do documento contábil

  IF itab_zycbt134-mdcorresp = 'CP'.

    PERFORM get_parameters_cp USING itab_zycbt134-tpproc.

    IF /pws/zycbt145-cod_fech NE 'TR'.

*<< Inicio inclusão >>

*     Verifica no loop se boleto tem remessa com origem

      CLEAR v_origem.

      LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

        LOOP AT itab_zycbt124 WHERE nrseq     = itab_zycbt064-nrchave

                                AND tpoper    = 'P'      " Pagamento

                                AND ( criacao = 'D' OR   " Doc.FI

                                      criacao = 'R' ).   " ou MIRO

        ENDLOOP.

        IF sy-subrc = 0.

          v_origem = 'X'.

          EXIT.

        ENDIF.

      ENDLOOP.

*<< Fim inclusão >>

*<< Inicio exclusão >>

*     IF /pws/zycbt124-tpoper    = 'P' AND  " Remessa de Pagamento

*        ( /pws/zycbt124-criacao = 'D' OR   " criada por Doc.FI

*          /pws/zycbt124-criacao = 'R' )    " ou MIRO

*<< Fim exclusão >>

*<< Inicio inclusão >>

      IF NOT v_origem IS INITIAL.           " remessa com origem

*<< Fim inclusão >>

        IF itab_zycbt134-tpproc = ' ' OR

           itab_zycbt134-tpproc = 'PRINCIPAL'.

          READ TABLE itab_zycat025 WITH KEY tpimp = 'IRRF'

                                        nrseq = itab_zycbt134-nrcorresp.

          IF sy-subrc NE 0 OR itab_zycat025-dedfat EQ ' '.

            LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

              LOOP AT itab_zycbt124 WHERE buzei > 0

                                      AND belnr_f51 IS initial

                                      AND nrseq = itab_zycbt064-nrchave.

                PERFORM desmembra_docto_provisao_cp.

              ENDLOOP.

            ENDLOOP.

          ENDIF.

          PERFORM executa_f53_cp_especifica.

          EXIT.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

 

* Recontabiliza F-04 se contabilizou a Saída e ocorreu erro na F-04, não

* chamando novamente a F-53

  v_faz_f04 = space.

  IF itab_zycbt134-tpproc = ' ' OR

     itab_zycbt134-tpproc = 'PRINCIPAL'.

 

    IF     itab_zycbt134-belnrcomp IS INITIAL AND

       NOT itab_zycbt134-belnr_c   IS INITIAL.

      v_faz_f04 = 'X'.

      v_belnr   = itab_zycbt134-belnr_c.

      itab_zycbt134-statusp = 'C'.

    ENDIF.

  ELSEIF itab_zycbt134-tpproc = 'I' OR

         itab_zycbt134-tpproc = 'IRRF'.

 

...

 

endform.

 

 

 

 

Contexto: FORM executa_f53_cp_especifica.

 

  DATA v_bcooper1(10) TYPE c.

 

  PERFORM limpa_itabs_contabil.

  PERFORM get_parameters_cp USING itab_zycbt134-tpproc.

 

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'F-53'.               " Transação

  itab_zycbe033-tabela = '/PWS/ZYCBT134'.      " Tabela

  itab_zycbe033-cpochv = itab_zycbt134-nrseq.

 

  LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

    LOOP AT itab_zycbt124 WHERE nrseq = itab_zycbt064-nrchave.

      itab_zycbt036-tcode   = 'F-53'.

      itab_zycbt036-tabela  = '/PWS/ZYCBT134'.

      itab_zycbt036-cpochv  = itab_zycbt134-nrseq.

      IF NOT itab_zycbt124-belnr_f51p IS INITIAL .

        itab_zycbt036-belnr   = itab_zycbt124-belnr_f51p.

*<< Inicio inclusão >>

      ELSEIF NOT itab_zycbt124-belnr_f51 IS INITIAL.

        itab_zycbt036-belnr = itab_zycbt124-belnr_f51.

*<< Fim inclusão >>

      ELSE.

        itab_zycbt036-belnr   = itab_zycbt124-belnr.

      ENDIF.

*<< Inicio inclusão >>

      itab_zycbt036-lifnr = itab_zycbt124-recrem.

*<< Fim inclusão >>

      itab_zycbt036-dtdocto = itab_zycbt124-dtdocto.

      APPEND itab_zycbt036.

    ENDLOOP.

  ENDLOOP.

 

 

 

 

Contexto: FORM estorna_desmembra_provisao_cp.

 

...

 

 

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_FB08'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

  ENDIF.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt032 WITH KEY tcode  = v_trans

                                      tabela = '/PWS/ZYCBT124'

                                      cpochv = itab_zycbt124-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc NE 0.                  " Contabiliz. com erro

      erro_bi = 'X'.

    ELSE.                              " SUCESSO na contabil.

      MESSAGE i077 WITH itab_zycbt124-belnr_f51.

      CLEAR itab_zycbt124-belnr_f51.

*<< Inicio inclusão >>

*     Seleciona data de lançamento do docto. de origem

      SELECT SINGLE budat FROM bkpf INTO itab_zycbt124-dtdocto

                    WHERE belnr = itab_zycbt124-belnr

                      AND bukrs = itab_zycbt124-bukrs

                      AND awkey = itab_zycbt124-nrfat.

*<< Fim inclusão >>

      MODIFY itab_zycbt124 TRANSPORTING belnr_f51

*<< Inicio inclusão >>

                           dtdocto

*<< Fim inclusão >>

                           WHERE nrseq = itab_zycbt124-nrseq.

      UPDATE /pws/zycbt124 SET belnr_f51 = itab_zycbt124-belnr_f51

*<< Inicio inclusão >>

                               dtdocto   = itab_zycbt124-dtdocto

*<< Fim inclusão >>

                           WHERE nrseq   = itab_zycbt124-nrseq.

      COMMIT WORK.

      CLEAR erro_bi.

    ENDIF.

  ELSE.                                " Campos da tela em branco

    erro_bi = 'X'.

    LOOP AT itab_zycbt034.

      MESSAGE i016 WITH itab_zycbt034-descricao.

    ENDLOOP.

  ENDIF.

  PERFORM clear_date_batch.

 

ENDFORM.                    " estorna_desmembra_provisao_cp

 

 

 

 

Contexto: FORM seleciona_docto_cp USING p_tpproc.

 

...

 

      SELECT awkey

             UP TO 1 ROWS

             FROM bkpf

             INTO itab_zycbt036-awkey

             WHERE belnr EQ itab_zycbt036-belnr AND

                   bukrs EQ itab_zycbt134-bukrs AND

                   gjahr EQ itab_zycbt036-dtdocto(4).

      ENDSELECT.

 

      APPEND itab_zycbt036.

    ELSE.

      LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

        READ TABLE itab_zycbt124 WITH KEY nrseq = itab_zycbt064-nrchave.

        IF sy-subrc = 0.

          itab_zycbt036-tcode   = 'F-53'.

          itab_zycbt036-tabela  = '/PWS/ZYCBT134'.

          itab_zycbt036-cpochv  = v_cpochv.

          IF NOT itab_zycbt124-belnr_f51p IS INITIAL.

            itab_zycbt036-belnr = itab_zycbt124-belnr_f51p.

*<< Inicio inclusão >>

          ELSEIF NOT itab_zycbt124-belnr_f51 IS INITIAL.

            itab_zycbt036-belnr = itab_zycbt124-belnr_f51.

*<< Fim inclusão >>

          ELSE.

            itab_zycbt036-belnr = itab_zycbt124-belnr.

          ENDIF.

*<< Inicio inclusão >>

          itab_zycbt036-lifnr = itab_zycbt124-recrem.

*<< Fim inclusão >>

          SELECT budat awkey

                 UP TO 1 ROWS

                 FROM bkpf

                 INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                 WHERE belnr EQ itab_zycbt036-belnr AND

                       bukrs EQ itab_zycbt134-bukrs AND

                       gjahr EQ itab_zycbt124-dtdocto(4).

          ENDSELECT.

          APPEND itab_zycbt036.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

 

* Irrf

  IF p_tpproc = 'IRRF' OR p_tpproc = 'I'.

    READ TABLE itab_zycat025 WITH KEY tpimp = p_tpproc

                                      nrseq = itab_zycbt064-nrchave.

    IF sy-subrc = 0.

      IF itab_zycbt031-pagtoirrf   EQ 'BCO' OR

         /pws/zycbt145-cod_fech    EQ 'TR'  OR

         itab_zycat025-frpagto_imp EQ 'R'.

 

...

 

endform.

 

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCBR102

 

 

...

 

DATA: itab_tline  LIKE tline OCCURS 10 WITH HEADER LINE.

 

DATA: BEGIN OF itab_thol OCCURS 0.

        INCLUDE STRUCTURE thol.

DATA: END OF itab_thol.

 

* Maurício - Chamado 87598 - Impressão p/Agrupamento - 16/07

DATA: BEGIN OF itab_nrpgfat OCCURS 0,

        nrpgfat LIKE /pws/zycit006-nrseq_pgfat.

DATA: END OF itab_nrpgfat.

* Maurício - Fim Alteração - 16/07

 

DATA: BEGIN OF itab_zyglt316 OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt316.

DATA: END OF itab_zyglt316.

 

DATA: BEGIN OF itab_zyglt009 OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt009.

DATA: END OF itab_zyglt009.

 

*<< Inicio inclusão >>

DATA: BEGIN OF itab_zycat025 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycat025.

DATA: END OF itab_zycat025.

*<< Fim inclusão >>

 

TYPES: BEGIN OF msg_struc,

        tcode LIKE bdcmsgcoll-tcode,

        dyname LIKE bdcmsgcoll-dyname,

        dynumb LIKE bdcmsgcoll-dynumb,

        msgtyp LIKE bdcmsgcoll-msgtyp,

        msgspra LIKE bdcmsgcoll-msgspra,

        msgid LIKE bdcmsgcoll-msgid,

        msgnr LIKE bdcmsgcoll-msgnr,

        msgv1 LIKE balm-msgv1,

        msgv2 LIKE balm-msgv2,

        msgv3 LIKE balm-msgv3,

        msgv4 LIKE balm-msgv4,

        env LIKE bdcmsgcoll-env,

        fldname LIKE bdcmsgcoll-fldname,

       END OF msg_struc.

 

DATA: itab_bdc   LIKE bdcdata       OCCURS 50 WITH HEADER LINE,

      itab_msg   TYPE msg_struc     OCCURS 10 WITH HEADER LINE,

      t_zycbt032 LIKE /pws/zycbt032 OCCURS  0 WITH HEADER LINE,

      t_dados    LIKE /pws/zycbe033 OCCURS  0 WITH HEADER LINE.

 

*-----------------------------------------------------------------------

* Variáveis

DATA:

  v_waers         LIKE /pws/zycbt112-waers,

  v_vlme          LIKE /pws/zycbt112-vlme,

  v_vlusd         LIKE /pws/zycbt112-vlme,

  v_vlbrl         LIKE /pws/zycbt112-vlme,

  v_data          LIKE sy-datum,

  v_dia           TYPE p,

  v_dia_semana    TYPE p,

  v_feriado       LIKE scal-indicator,

  v_desp          TYPE c,

  v_taxa          LIKE tcurr-ukurs,

 

 

...

 

 

 

 

Contexto: FORM comparacao.

 

  CLEAR:  v_agrupa,

          v_parametro,

          itab_zycbt066_aux.

  REFRESH itab_zycbt066_aux.

 

  LOOP AT itab_zycbt066.

 

    v_campo = itab_zycbt066-campo.

 

    DELETE ADJACENT DUPLICATES FROM itab_selreg_aux2 COMPARING

                                    (v_campo).

 

    DESCRIBE TABLE itab_selreg_aux2 LINES n.

    IF n => 2.

      CONCATENATE v_parametro itab_zycbt066-descricao

      INTO v_parametro SEPARATED BY space.

      v_agrupa = 1.

      CLEAR n.

 

      MOVE itab_zycbt066 TO itab_zycbt066_aux.

      APPEND itab_zycbt066_aux.

 

    ENDIF.

 

    itab_selreg_aux2[] = itab_selreg_aux[].

 

  ENDLOOP.

 

 

  IF v_agrupa = 1.

    MESSAGE i061 WITH text-062 text-081 v_parametro .

    CALL SCREEN '0101' STARTING AT 1 1 ENDING AT 123 18.

 

    CLEAR itab_selreg_aux-flag.

    MODIFY itab_selreg_aux TRANSPORTING flag WHERE flag NE space.

    IF p_alv IS INITIAL.

      v_erro = 1.

      EXIT.

    ELSE.

      STOP.

    ENDIF.

  ENDIF.

 

* No caso de Importação, se não houver nenhum critério para agrupamento

* na tabela /pws/zycbt066, não poderá agrupar.

  IF itab_zycbt066[] IS INITIAL.

*   Cobrança de Juros - não vai existir critério para agrupamento.

    IF NOT itab_selreg_aux-fmd EQ 'EJ'.

      MESSAGE i061 WITH text-082 itab_selreg_aux-fmd.

      IF p_alv IS INITIAL.

        v_erro = 1.

        EXIT.

      ELSE.

        STOP.

      ENDIF.

    ENDIF.

  ENDIF.

* Verifica se todas as faturas têm a mesma origem.

* Ana Paula - Chamado 147374 - 12/03/2004

  IF itab_selreg_aux-fmd = 'IP'.

    PERFORM verifica_origem.

  ENDIF.

 

*<< Inicio inclusão >>

  IF itab_selreg_aux-fmd = 'CP'.

    PERFORM verifica_dados_remessa.

  ENDIF.

*<< Fim inclusão >>

 

* 230066 - Luciana - 06/07/2005 - Início

  IF v_erro = 0.

    IF itab_selreg_aux-fmd  = 'IP' OR "Fatura de importação

       itab_selreg_aux-fmd  = 'IA' OR "Pagamento antecipado

       itab_selreg_aux-fmd  = 'IF'.   "Financiamento

      PERFORM verifica_itens.

    ENDIF.

  ENDIF.

* 230066 - Luciana - 06/07/2005 - Fim

 

* Ana Paula - Chamado 147374 - 12/03/2004

  IF v_erro = 0.

    PERFORM preenche_itab_zycbt064.

    PERFORM totaliza_valores.

  ENDIF.

 

ENDFORM.                    " comparacao

 

 

 

 

Contexto: verifica_dados_remessa.

 

*<< Inicio inclusão >>

*&---------------------------------------------------------------------*

*&      Form  verifica_dados_remessa

*&---------------------------------------------------------------------*

* Objetivo: Verifica se remessas tem fornecedores diferentes, se sim,

*           só permite agrupar se não tiver impostos e for regime caixa

* ----------------------------------------------------------------------

* Parâmetros:   ( --> Entrada ) ( <-- Saída ) ( <-> Tabelas )

* ----------------------------------------------------------------------

* --> <nenhum>

* <-- <nenhum>

* <-> <nenhum>

* ----------------------------------------------------------------------

* Chamado     Data            Descrição

* ----------------------------------------------------------------------

* 273709      26.12.2005      Codificação inicial

* ----------------------------------------------------------------------

FORM verifica_dados_remessa.

 

* Verifica se remessas são de fornecedores/recebedores diferentes

  itab_selreg_aux3[] = itab_selreg_aux[].

  SORT itab_selreg_aux3 BY benefic.

 

  DELETE ADJACENT DUPLICATES FROM itab_selreg_aux3 COMPARING benefic.

  DESCRIBE TABLE itab_selreg_aux3 LINES n.

 

  CHECK n > 1. "Fornecedores diferentes

 

* Verifica se remessa é de pagamento ou recebimento. Somente pagamento

* pode agrupar com fornecedores diferentes

  READ TABLE itab_selreg_aux WITH KEY oper = 'R'.

  IF sy-subrc = 0.

    v_erro = 1.

    MESSAGE i061 WITH text-197 text-198 text-201.

    EXIT.

  ENDIF.

 

* Verifica se remessa é de competência ou caixa. Somente competência

* pode agrupar com fornecedores diferentes

  READ TABLE itab_selreg_aux WITH KEY frpagto = 'R'.

  IF sy-subrc = 0.

    v_erro = 1.

    MESSAGE i061 WITH text-197 text-198 text-199.

    EXIT.

  ENDIF.

 

* Verifica se remessas possuem impostos, se sim, não permite agrupar

  SELECT * FROM /pws/zycat025 INTO TABLE itab_zycat025

           FOR ALL ENTRIES IN itab_selreg_aux

           WHERE nrseq = itab_selreg_aux-nrchave.

  IF sy-subrc = 0.

    v_erro = 1.

    MESSAGE i061 WITH text-197 text-198 text-200.

    EXIT.

  ENDIF.

 

ENDFORM.                    " verifica_dados_remessa

*<< Fim inclusão >>

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPT /PWS/ZYCBR102

 

MODIFICAR SÍMBOLOS DE TEXTO :

 

TEXTOS NOVOS:

 

SÍM.:    TEXTO:                                           CD.  CM.

 

197      Só é permitido agrupar remessas com              35   35

198      fornecedores diferentes                          23   23

199      quando as mesmas são em regime de competência.   46   46

200      quando as mesmas não possuem impostos.           38   38

201      quando as mesmas são de pagamento.               34   34