CE PLUS - Nota 005160

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 07/11/2007 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:51:46

Descrição da Nota: COMPLEMENTO DO BOLETO

Sintoma

Caso o usuário digite outro valor MI, o sistema deverá deixar o mesmo, ou seja, ele só deve calcular

o valor MI quando o mesmo estiver vazio ou quando a taxa tiver sido alterada

 

 

Solução

Alterada função /PWS/ZYGL_TRANSACAO_FBV0_A, e includes: /PWS/MZYCA110F01, /PWS/MZYCB110F01 e

/PWS/MZYG11F01. Para que o programa permita gravar o valor MI alterado pelo usuário.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO - ATUALIZACAO CAMPO VLMI

Informações Complementares

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

Nota Número 05160 Data: 07/11/2007 Hora: 10:58:25

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

 

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

Nota Número              : 05160

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00020

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

Referência às notas relacionadas:

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

 

03703  - 00001 - 7.0    - 00001  - COMPLEMENTO DO BOLETO - ATUALIZACAO CAMPO VLMI

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

COMPLEMENTO DO BOLETO

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

Palavras Chave:

COMPLEMENTO DO BOLETO

 

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

Objetos da nota:

FUNC /PWS/ZYGL_TRANSACAO_FBV0_A

REPS /PWS/MZYCA110F01

REPS /PWS/MZYCB110F01

REPS /PWS/MZYGL110F01

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_FBV0_A

 

FUNCTION /pws/zygl_transacao_fbv0_a.

  DATA:

    v_nrmsg              TYPE i VALUE 0,

    v_transacao(4)       TYPE c,

    v_mode               TYPE c,

    v_update             TYPE c,

    v_date               LIKE bkpf-gjahr,

    v_msgid              LIKE t100-arbgb,

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

    v_dmbtr(16)          TYPE c,

* << Fim da inclusão

    v_msgno              LIKE t100-msgnr.

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = t_dados-bukrs

              v_date                 = t_dados-bldat

         IMPORTING

              v_year                 = v_date

         EXCEPTIONS

              variante_de_exercicio  = 1

...

 

...

       t_dados-newbs EQ '50'.

      PERFORM bdc_screen USING 'SAPLF040' '0300'.

      PERFORM bdc_field  USING:

           'BDC_OKCODE'  '=BU'.

      PERFORM bdc_screen USING 'SAPLKACB' '0002'.

      PERFORM bdc_field  USING:

           'BDC_OKCODE'  '=ENTE'.

    ELSE.

      IF t_dados-agkoa = 'S'.

        PERFORM bdc_screen USING 'SAPLF040' '0303'.

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

        IF NOT t_dados-dmbtr IS INITIAL.

          WRITE: t_dados-dmbtr TO v_dmbtr.

          PERFORM bdc_field  USING

             'BSEG-DMBTR' v_dmbtr.

        ENDIF.

* << Fim da inclusão

        PERFORM bdc_field  USING:

             'BDC_OKCODE'  '=BU'.

      ELSEIF t_dados-agkoa EQ 'D'.

        PERFORM bdc_screen USING 'SAPLF040' '0301'.

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

        IF NOT t_dados-dmbtr IS INITIAL.

          WRITE: t_dados-dmbtr TO v_dmbtr.

          PERFORM bdc_field  USING

             'BSEG-DMBTR' v_dmbtr.

        ENDIF.

* << Fim da inclusão

        PERFORM bdc_field  USING:

             'BDC_OKCODE'  '=BU'.

      ELSE.

        PERFORM bdc_screen USING 'SAPLF040' '0302'.

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

        IF NOT t_dados-dmbtr IS INITIAL.

          WRITE: t_dados-dmbtr TO v_dmbtr.

          PERFORM bdc_field  USING

             'BSEG-DMBTR' v_dmbtr.

        ENDIF.

* << Fim da inclusão

        PERFORM bdc_field  USING:

             'BDC_OKCODE'  '=BU',

             'BSEG-ZLSPR'  t_dados-zlspr.

      ENDIF.

    ENDIF.

    REFRESH itab_msg.

    CLEAR itab_msg.

  ENDLOOP.

  v_transacao = 'FBV0'.

  v_update = 'S'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA110F01

 

...

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt100 WITH KEY zexit = v_exit.

    IF sy-subrc EQ 0 and not itab_zyglt100-zexit_ativa is initial.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ENDIF.

  ENDIF.

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

  itab_zycbe033-dmbtr = /pws/zycbe031-vlmi.

* << Fim da inclusão

  APPEND itab_zycbe033.

  v_belnr = p_belnr.

  CALL FUNCTION '/PWS/ZYGL_TRANSACAO_FBV0_A'

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB110F01

 

...

FORM EXEC_APROV_IR_PREMIO.

  PERFORM CLEAR_DATE_BATCH.

  ITAB_ZYCBE033-MANDT  = SY-MANDT.

  ITAB_ZYCBE033-TCODE  = 'FBV0'.

  ITAB_ZYCBE033-TABELA = '/PWS/ZYCBT031'.

  ITAB_ZYCBE033-CPOCHV = /PWS/ZYCBE031-NRSEQ.

  ITAB_ZYCBE033-BELNR  = /PWS/ZYCBE031-BELNR_PI.

  ITAB_ZYCBE033-BUKRS  = /PWS/ZYCBE031-BUKRS.

  ITAB_ZYCBE033-ZLSPR  = ''.

  ITAB_ZYCBE033-BLDAT  = /PWS/ZYCBE031-DTCREDIR.

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

  itab_zycbe033-dmbtr = /pws/zycbe031-vlmi.

* << Fim da inclusão

  APPEND ITAB_ZYCBE033.

  CALL FUNCTION '/PWS/ZYGL_TRANSACAO_FBV0_A'

       EXPORTING

            V_MODO          = V_MODO_BI

       TABLES

            T_DADOS         = ITAB_ZYCBE033

            T_CAMPO         = ITAB_ZYCBT034

            T_ZYCBT032      = ITAB_ZYCBT032

       EXCEPTIONS

            CAMPO_EM_BRANCO = 1

...

 

...

      ITAB_ZYCBT031_TC-V_VLCIDE / ( 10 ** ( TCURX-CURRDEC - 2 ) ).

      V_VLMEAUX_IR =

      ITAB_ZYCBT031_TC-V_VLIR / ( 10 ** ( TCURX-CURRDEC - 2 ) ).

      IF ( NOT /PWS/ZYCBE031-KURSF IS INITIAL AND

           ITAB_ZYCBT031_TC-V_VLMI IS INITIAL ) OR

         V_TAXA_ALTER_P = 'X'.

        ITAB_ZYCBT031_TC-V_VLMI =

           ( ( /PWS/ZYCBE031-KURSF / V_DFACT ) * V_PFACT ) *

                                       V_VLMEAUX.

      ENDIF.

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

      IF itab_zycbt031_tc-v_vlmi NE 0 AND

         itab_zycbt031_tc-v_vlmi EQ /pws/zycbe031-vlmi.

* << Fim da inclusão

      IF V_LINHA = V_TABIX.

        IF V_VLMI_TOT > /PWS/ZYCBE031-VLMI.

          ITAB_ZYCBT031_TC-V_VLMI = V_VLMI_TOT - /PWS/ZYCBE031-VLMI.

        ELSEIF V_VLMI_TOT < /PWS/ZYCBE031-VLMI.

          ITAB_ZYCBT031_TC-V_VLMI = /PWS/ZYCBE031-VLMI - V_VLMI_TOT.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYGL110F01

 

...

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

  READ TABLE itab_zyglt100 WITH KEY zexit = 'CMP008'.

  IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

    PERFORM (itab_zyglt100-formulario)

            IN PROGRAM (itab_zyglt100-programa).

  ELSE.

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

  itab_zycbe033-dmbtr = /pws/zycbe031-vlmi.

* << Fim da inclusão

    APPEND itab_zycbe033.

    CALL FUNCTION '/PWS/ZYGL_TRANSACAO_FBV0_A'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

         EXCEPTIONS

              campo_em_branco = 1

...

 

...

  IF NOT /pws/zycbe031-tipo IS INITIAL AND

     /pws/zycbe031-tipo NE /pws/zycbt031-tipo.

    itab_zycbt031_tc-tipo        = /pws/zycbe031-tipo.

  ELSE.

    itab_zycbt031_tc-tipo        = /pws/zycbt031-tipo.

  ENDIF.

  itab_zycbt031_tc-dtvencto      = /pws/zycbt031-dtvencto.

  itab_zycbt031_tc-lifnr         = /pws/zycbt031-lifnr.

  itab_zycbt031_tc-waers         = /pws/zycbt031-waers.

  itab_zycbt031_tc-v_vlme        = v_vlme_me.

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

  itab_zycbt031_tc-v_vlmi        = /pws/zycbe064-vlmi.

* << Fim da inclusão

  itab_zycbt031_tc-v_vlir        = v_vlir.

  itab_zycbt031_tc-v_vlcide      = v_vlcide.

  itab_zycbt031_tc-nrcontr       = /pws/zycbe048-nrcontr.

  itab_zycbt031_tc-dtcontr       = /pws/zycbe048-dtcontr.

  itab_zycbt031_tc-dtdebito      = /pws/zycbe048-dtdebito.

  itab_zycbt031_tc-dtliquida     = /pws/zycbe048-dtliquida.

  itab_zycbt031_tc-dtswift       = /pws/zycbe048-dtswift.

  itab_zycbt031_tc-praca         = /pws/zycbe048-praca.

  itab_zycbt031_tc-instituicao   = /pws/zycbe048-instituicao.

  itab_zycbt031_tc-corret        = /pws/zycbe048-corret.

...