CE PLUS - Nota 002061

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 06/09/2006 00:00:00

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

Descrição da Nota: COMPLEMENTO DO BOLETO REMESSA - IMPRESSÃO - VALOR MI

Sintoma

Ao imprimir um boleto de remessa, no programa complemento do boleto, tanto na tela de seleção, como

na tela do boleto, os valores de impostos não aparecem corretos.

Ao efetuar a F-43 no complemento do boleto de uma remessa regime de caixa, os valores em MI estão

sendo enviados ao batch-input total e não rateados pelo valor da partida, ocorrendo erro na

geração do documento contábil.

 

 

Solução

Para a impressão, fazer a soma de cada imposto e enviar as variáveis correspondentes do programa

/pws/zycbr105.

Para a contabilização da F-43, ajustar na própria função o mapeamento do valor MI pela t_debito e

não pela t_dados, quando esta lançando as partidas em débito

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO REMESSA FINANCEIRA ALTERAÇÃO VALOR MI F-43

IMPRESSÃO COMPLEMENTO DO BOLETO DE REMESSA COM IMPOSTOS

Informações Complementares

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

Nota Número 02061 Data: 06/09/2006 Hora: 14:38:18

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

 

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

Nota Número              : 02061

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00024

Agrupamento              : 00130

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

Referência às notas relacionadas:

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

 

00097  - 00001 - 6.0    - 00021  - IMPRESSÃO COMPLEMENTO DO BOLETO DE REMESSA COM IMPOSTOS

02024  - 00002 - 6.0    - 00024  - COMPLEMENTO DO BOLETO REMESSA FINANCEIRA ALTERAÇÃO VALOR MI F-43

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

COMPLEMENTO DO BOLETO REMESSA - IMPRESSÃO - VALOR MI

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

Palavras Chave:

COMPLEMENTO DO BOLETO REMESSA IMPRESSÃO BOLETO VALOR MI

F-43 ERRO BATCH INPUT /PWS/ZYCBR105 /PWS/ZYCB110

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_43

REPS /PWS/MZYCA110F01

REPS /PWS/MZYGL110F01

REPS /PWS/MZYGL110TOP

REPS /PWS/ZYCBR105

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_43

 

...

        CLEAR v_conta.

        SELECT akont

          INTO v_conta

          FROM lfb1

          WHERE lifnr = v_newko_aux.

        ENDSELECT.

      ELSE.

        v_conta = t_dados-c_newko.

      ENDIF.

 

* Determina string de campos de credito

      IF t_dados-newbs = '31'                       "Crédito Fornecedor

* >> Início da inclusão:

         OR t_dados-newbs = '50'.                   "Crédito Razão

* >> Fim da inclusão

        PERFORM determina_string USING t_dados-newbs

                                       t_dados-bukrs

                                       v_conta

                              CHANGING v_string_credito.

 

*   Verificando se campos obrigatórios estão preenchidos

        CLEAR   itab_oculto.

        REFRESH itab_oculto.

        PERFORM trata_string_credito TABLES t_dados

                                            t_campo

                                            itab_oculto

                                      USING v_string_credito.

   ELSEIF t_dados-newbs = '21'.                       "Débito Fornecedor

        PERFORM determina_string USING t_dados-newbs

                                       t_dados-bukrs

                                       v_conta

                              CHANGING v_string_debito.

 

...

 

            READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'

                                            chave = v_deb_cred.

            IF sy-subrc <> 0 AND NOT t_dados-c_gsber IS INITIAL.

              PERFORM bdc_field  USING 'BSEG-GSBER' t_dados-c_gsber.

            ENDIF.

 

          ELSEIF t_dados-newbs = '50' OR t_dados-newbs = '40'.

 

            SELECT SINGLE * FROM tbsl

                   INTO wa_tbsl

                   WHERE bschl = t_debito-bschl.

 

*Verifica se o lançamento é S-Débito ou H-Crédito

* >> Início da exclusão:

*           IF wa_tbsl-shkzg EQ 'S'.

*             v_deb_cred = 'D'. "Débito

*           ELSE.

*             v_deb_cred = 'C'. "Crédito

*           ENDIF.

* >> Fim da exclusão

* >> Início da inclusão:

            IF t_dados-newbs = '40'.

              v_deb_cred = 'D'. "Débito

            ELSE.

              v_deb_cred = 'C'. "Crédito

            ENDIF.

* >> Fim da inclusão

 

* >> Início da exclusão:

* Determina string de campos de credito

*            CLEAR itab_oculto. REFRESH itab_oculto.

 

*            IF v_deb_cred = 'C'. "Crédito Fornecedor

*              PERFORM determina_string USING t_debito-bschl

*                                             t_dados-bukrs

*                                             t_debito-c_newko

*                                    CHANGING v_string_credito.

*

**   Verificando se campos obrigatórios estão preenchidos

*              PERFORM trata_string_credito3 TABLES t_debito

*                                                   t_campo

*                                                   itab_oculto

*                                             USING v_string_credito.

*            ELSE. "Débito Fornecedor

*              PERFORM determina_string USING t_debito-bschl

*                                             t_dados-bukrs

*                                             t_debito-d_newko

*                                    CHANGING v_string_debito.

*

**   Verificando se campos obrigatórios estão preenchidos

*              PERFORM trata_string_debito3 TABLES t_debito

*                                                  t_campo

*                                                  itab_oculto

*                                            USING v_string_debito.

*              .

*            ENDIF.

* >> Fim da exclusão:

 

            PERFORM bdc_screen USING 'SAPMF05A' '0300'.

            PERFORM bdc_field  USING:

               'BSEG-WRBTR'  v_wrbtr,           "Montante

               'BSEG-ZUONR'  t_dados-c_zuonr,   "Atribuição

               'BSEG-DMBTR'  v_dmbtr,

               'RF05A-NEWBS' t_debito-bschl,    "chave de lancto.

               'RF05A-NEWKO' t_debito-d_newko,  "Conta

               'BDC_CURSOR'  'RF05A-NEWKO',

               'BDC_OKCODE'  '/00'.

 

...

 

 

 

 

          WRITE: t_debito-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

        ELSE.

          WRITE: t_debito-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                          CURRENCY t_dados-waers.

        ENDIF.

* >> Início da exclusão:

        WRITE: t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

* << Fim da exclusão

* >> Início da inclusão:

        WRITE: t_debito-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

* << Fim da inclusão

        PERFORM bdc_screen USING 'SAPMF05A' '0300'.

      ELSEIF t_debito-bschl = '29'.

        v_tamanho = strlen( t_debito-d_newko ).

        MOVE t_debito-d_newko TO v_newko.

        WRITE v_newko TO v_newko_aux RIGHT-JUSTIFIED.

...

 

...

          WRITE: t_debito-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

        ELSE.

          WRITE: t_debito-wrbtr TO v_wrbtr DECIMALS tcurx-currdec

                                          CURRENCY t_dados-waers.

        ENDIF.

* >> Início da exclusão:

        WRITE: t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

* << Fim da exclusão

* >> Início da inclusão:

        WRITE: t_debito-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

* << Fim da inclusão

        IF NOT t_dados-zfbdt = '00000000' AND

           NOT t_dados-zfbdt = '        '.

          WRITE: t_dados-zfbdt TO v_database.

        ENDIF.

        PERFORM bdc_screen USING 'SAPMF05A' '0303'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA110F01

 

...

    APPEND itab_boleto.

  ENDLOOP.

  CLEAR: v_tipo2, v_taxa_dia, itab_zycbt129, /pws/zycbt128, itab_boleto.

ENDFORM.

FORM selecionar_pagto_cfinan.

* >> Início da inclusão: FORM SELECIONAR_PAGTO_CFINAN

  IF itab_zycbt124[] IS INITIAL.

    IF itab_zycbt064[] IS INITIAL.

      SELECT * FROM /pws/zycbt064

               INTO TABLE itab_zycbt064

               WHERE nrboleto = /pws/zycbe031-nrseq.

    ENDIF.

    IF NOT itab_zycbt064[] IS INITIAL.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt124

           INTO TABLE itab_zycbt124

* >> Início da exclusão: FORM SELECIONAR_PAGTO_CFINAN

           WHERE nrseq EQ itab_zycbt031-nrcorresp.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONAR_PAGTO_CFINAN

               FOR ALL ENTRIES IN itab_zycbt064

               WHERE nrseq = itab_zycbt064-nrchave.

      IF itab_zycat025[] IS INITIAL AND NOT itab_zycbt124[] IS INITIAL.

        SELECT * FROM /pws/zycat025

          INTO TABLE itab_zycat025

          FOR ALL ENTRIES IN itab_zycbt124

          WHERE bukrs EQ itab_zycbt124-bukrs

            AND nrseq EQ itab_zycbt124-nrseq.

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR: v_vlir, v_vlcide, v_vliof, v_vliss, v_vlpis, v_vlcofins.

* << Fim da inclusão

  LOOP AT itab_zycbt124.

    SELECT SINGLE * FROM /pws/zycbt125

      WHERE codpagto = itab_zycbt124-codpagto.

    IF itab_zycbt124-tpoper = 'P'.

      CONCATENATE text-055 /pws/zycbt125-descricao INTO v_tipo2

      SEPARATED BY space.

* >> Início da exclusão: FORM SELECIONAR_PAGTO_CFINAN

      IF itab_zycat025[] IS INITIAL.

        SELECT *

          FROM /pws/zycat025

          INTO TABLE itab_zycat025

          WHERE

            bukrs EQ itab_zycbt124-bukrs AND

            nrseq EQ itab_zycbt124-nrseq.

      ENDIF.

      LOOP AT itab_zycat025.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONAR_PAGTO_CFINAN

      LOOP AT itab_zycat025 WHERE nrseq = itab_zycbt124-nrseq.

* << Fim da inclusão

        IF itab_zycat025-tpimp(4) = 'CIDE'.

          PERFORM verifica_casas_decimais

            USING

              itab_zycat025-vlimpme

              itab_zycbt124-waers

...

 

...

      itab_zycbt124-recrem    TO itab_boleto-lifnr,

      itab_zycbt124-txtinf    TO itab_boleto-txtinf,

      'N'                     TO itab_boleto-frof,

      'CP'                    TO itab_boleto-fmd.

    APPEND itab_boleto.

* >> Início da inclusão: FORM SELECIONAR_PAGTO_CFINAN

    v_vlir     = v_vlir     + itab_boleto-vlir.

    v_vlcide   = v_vlcide   + itab_boleto-vlcide.

    v_vliof    = v_vliof    + itab_boleto-vliof.

    v_vliss    = v_vliss    + itab_boleto-vliss.

    v_vlpis    = v_vlpis    + itab_boleto-vlpis.

    v_vlcofins = v_vlcofins + itab_boleto-vlcofins.

* << Fim da inclusão

  ENDLOOP.

  CLEAR: v_tipo2, v_taxa_dia, itab_zycbt124, /pws/zycbt125, itab_boleto.

ENDFORM.

FORM executa_clearing_emp.

  DATA: v_codeven LIKE /pws/zycbt011-codeven,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYGL110F01

 

...

        EXPORT v_total   TO MEMORY  ID '006'.

        EXPORT v_lifnr2  TO MEMORY  ID '010'.

        EXPORT itab_nrpgfat TO MEMORY ID '093'.

        EXPORT itab_selreg  TO MEMORY ID 'E011'.

      ENDIF.

* >> Início da inclusão: FORM IMPRIME_BOLETO

      EXPORT: v_vlir     TO MEMORY ID '007' ,

              v_vlcide   TO MEMORY ID '008' ,

              v_vliof    TO MEMORY ID 'I001',

              v_vliss    TO MEMORY ID 'I002',

              v_vlpis    TO MEMORY ID 'I003',

              v_vlcofins TO MEMORY ID 'I004'.

* << Fim da inclusão

      EXPORT itab_tline[]  TO MEMORY ID 'E020'.

      EXPORT wa_line       TO MEMORY ID 'E021'.

      EXPORT /pws/zycbt031 TO MEMORY ID 'E022'.

      EXPORT /pws/zycbt124 TO MEMORY ID 'E023'.

      DATA: v_nrpgfat LIKE /pws/zycbt119-nrseq,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYGL110TOP

 

...

  v_meiopagc(22)      TYPE c,

  v_tpfecha(10)       TYPE c,

  v_vlme_me           LIKE /pws/zycbt031-vlme,

  v_vlir              LIKE /pws/zycbt031-vlir,

  v_vlcide            LIKE /pws/zycbt031-vlcide,

* >> Início da inclusão:

  v_vlpis             TYPE /pws/zycbt031-vlme,

  v_vlcofins          TYPE /pws/zycbt031-vlme,

  v_vliss             TYPE /pws/zycbt031-vlme,

  v_vliof             TYPE /pws/zycbt031-vlme,

* << Fim da inclusão

  v_belnr_cide        LIKE /pws/zycbt134-belnr_cide,

  v_taxa_alter_p(1)   TYPE c,

  v_taxa_alter_i(1)   TYPE c,

  v_taxa_alter_c(1)   TYPE c,

  v_bco(30)           TYPE c,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR105

 

...

  SKIP.

  IF wa_line-fmd EQ 'CP'.

    WRITE 02 text-043.

    SKIP.

    IF NOT v_nrchave IS INITIAL.

* >> Início da exclusão: FORM BOLETO_COMPRA

      WRITE: /02 text-047, 18 v_vliss CURRENCY wa_line-waers,

* << Fim da exclusão

* >> Início da inclusão: FORM BOLETO_COMPRA

      WRITE: /02 text-087, 18 v_vliss CURRENCY wa_line-waers,

* << Fim da inclusão

             45 text-044, 64 v_vlir  CURRENCY wa_line-waers.

      WRITE: /02 text-088, 18 v_vlpis    CURRENCY wa_line-waers,

             45 text-089, 64 v_vlcofins CURRENCY wa_line-waers.

      WRITE: /02 text-090, 18 v_vlcide CURRENCY wa_line-waers.

* >> Início da inclusão: FORM BOLETO_COMPRA

      skip.

* << Fim da inclusão

    ELSE.

      WRITE: /02 text-087, 18 wa_line-vliss CURRENCY wa_line-waers,

             45 text-044, 64 wa_line-vlir  CURRENCY wa_line-waers.

      WRITE: /02 text-088, 18 wa_line-vlpis    CURRENCY wa_line-waers,

             45 text-089, 64 wa_line-vlcofins CURRENCY wa_line-waers.

...