CE PLUS - Nota 007111

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 08/08/2008 00:00:00

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

Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO - ACERTOS SEPARAÇÃO ACC/ACE

Sintoma

Ao executar a rotina mensal de exportação, esta ocorrendo erros nos valores de ACC/ACE, dependendo

do parâmetro da /pws/zygl007.

 

 

Solução

Prever novos cenários com todas as condições de parâmetro da /pws/zygl007.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL EXPORTAÇÃO - RETIRAR FILTRO /PWS/ZYCBT154 POR GSBER

ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = SIM

ROTINA MENSAL EXPORTAÇÃO - CONTA DÉBITO NA MÃO COM 17 CARACTERES

Informações Complementares

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

Nota Número 07111 Data: 08/08/2008 Hora: 12:14:24

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

 

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

Nota Número              : 07111

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00059

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

Referência às notas relacionadas:

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

 

01309  - 00001 - 6.0    - 00023  - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S

03221  - 00002 - 6.0    - 00026  - ROTINA MENSAL EXPORTAÇÃO - CONTA DÉBITO NA MÃO COM 17 CARACTERES

06809  - 00003 - 7.0    - 00006  - ROTINA MENSAL EXPORTAÇÃO - RETIRAR FILTRO /PWS/ZYCBT154 POR GSBER

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

ROTINA MENSAL EXPORTAÇÃO - ACERTOS SEPARAÇÃO ACC/ACE

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

Palavras Chave:

ROTINA MENSAL EXPORTAÇÃO - ACERTOS SEPARAÇÃO ACC/ACE

 

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

Objetos da nota:

REPS /PWS/ZYCBI003

REPS /PWS/ZYCBR003

 

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

Modificações efetuadas em REPS /PWS/ZYCBI003

 

...

        v_nrcorresp  LIKE /pws/zycbt154-nrcorresp,

        v_vlrjprov   LIKE /pws/zycbt154-vlme,

        v_vlirprov   LIKE /pws/zycbt154-vlme,

        v_faux,

        v_waers      LIKE /pws/zycbt001-waers,

        v_nrdias(8)  TYPE n,

        v_tjuros     LIKE /pws/zycbt004-vlme,

        v_primeiro   TYPE c,

        v_conta_dif  TYPE c,

        v_vlmej2     LIKE /pws/zycbt001-vlme,

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

        v_vlmeir2    LIKE /pws/zycbt001-vlme.

* << Fim da exclusão

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

        v_vlmeir2    LIKE /pws/zycbt001-vlme,

        v_conta_dif_parametro  TYPE c.

* << Fim da inclusão

  DATA: BEGIN OF itab_sub_tipo OCCURS 5,

          tpcontab(02) TYPE c,

          tpcontr  LIKE /pws/zycbt001-tpcontr,

          waers    LIKE /pws/zycbt001-waers,

          vlmej    LIKE /pws/zycbt001-vlme,

          vlme_mes LIKE /pws/zycbt001-vlme,

          vlmeir   LIKE /pws/zycbt001-vlme,

          vlmij    LIKE /pws/zycbt001-vlmi,

          vlmi_mes LIKE /pws/zycbt001-vlmi,

        END OF itab_sub_tipo.

...

 

...

    SELECT lifnr name1

           FROM lfa1

           INTO TABLE itab_lfa1

           FOR ALL ENTRIES IN itab_relat

           WHERE lifnr = itab_relat-bco.

  ENDIF.

  v_sytabix = 0.

  DESCRIBE TABLE itab_relat LINES v_lin.

  READ TABLE itab_relat INDEX 1.

  PERFORM exibe_top_relatorio.

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

  itab_relat_aux[] = itab_relat[].

* << Fim da inclusão

  LOOP AT itab_relat.

    IF itab_relat-vlmej > 0.

      PERFORM calcula_vlmi USING itab_relat-tpcontr

                                 itab_relat-waers

                                 itab_relat-vlmej

                                 itab_relat-txc

                           CHANGING itab_relat-vlmij.

    ENDIF.

    IF itab_relat-vlmej_ace > 0.

      PERFORM calcula_vlmi USING itab_relat-tpcontr

...

 

...

         v_separa                     EQ 'X'.

        CLEAR: v_vlrjprov, v_vlirprov.

        LOOP AT itab_zycbt154 WHERE nrcorresp EQ aux_relat-nrseqc

                                AND bukrs     EQ aux_relat-bukrs

                                AND waers     EQ aux_relat-waers

                                AND tpcontr   EQ aux_relat-tpcontr

                                AND codmodul  NE 'C'

                                AND codmodul  NE 'CD'

                                AND codmodul  NE 'CF'

                                AND codmodul  NE 'CI'.

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

          PERFORM verifica_conta_acc_ace CHANGING v_conta_dif.

* << Fim da exclusão

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

          PERFORM verifica_conta_acc_ace CHANGING v_conta_dif

                                                  v_conta_dif_parametro.

* << Fim da inclusão

          IF v_conta_dif IS INITIAL.

            IF itab_zycbt154-codmodul EQ 'IR'.

              ADD itab_zycbt154-vlme TO v_vlirprov.

            ELSE.

              ADD itab_zycbt154-vlme TO v_vlrjprov.

            ENDIF.

          ENDIF.

        ENDLOOP.

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

        LOOP AT itab_relat_aux WHERE nrseqc   EQ itab_relat-nrseqc

                                 AND tpcontab EQ itab_relat-tpcontab

                                 AND ftpj     NE itab_relat-ftpj.

          EXIT.

        ENDLOOP.

        IF sy-subrc   NE 0 OR not v_conta_dif_parametro IS INITIAL OR

           ( sy-subrc EQ 0 AND itab_relat-ftpj = 'E' ).

* << Fim da inclusão

        itab_relat-vlrprov  = v_vlmej2 - v_vlrjprov.

        itab_relat-vlirprov = v_vlmeir2 - v_vlirprov.

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

        MODIFY itab_relat INDEX v_sytabix TRANSPORTING vlrprov vlirprov.

* << Fim da exclusão

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

          MODIFY itab_relat INDEX v_sytabix

                            TRANSPORTING vlrprov vlirprov.

        ENDIF.

* << Fim da inclusão

      ENDIF.

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

      IF NOT v_conta_dif_parametro IS INITIAL.

* << Fim da inclusão

      CLEAR: v_vlmej2, v_vlmeir2.

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

      ENDIF.

* << Fim da inclusão

    ENDAT.

    AT END OF nrseqc.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

...

  READ TABLE itab_tcurx WITH KEY currkey = p_waers TRANSPORTING currdec.

  IF sy-subrc           EQ 0 AND

     itab_tcurx-currdec EQ 0.

    v_vlmeaux = p_vlme / ( 10 ** ( itab_tcurx-currdec - 2 ) ).

  ELSE.

    itab_tcurx-currdec = 2.

    v_vlmeaux = p_vlme.

  ENDIF.

  p_vlmi = ( ( p_taxa / v_defator ) * v_parafator ) * v_vlmeaux.

ENDFORM.

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

FORM verifica_conta_acc_ace CHANGING p_conta_dif.

* << Fim da exclusão

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

FORM verifica_conta_acc_ace CHANGING p_conta_dif

                                     p_conta_dif_parametro.

* << Fim da inclusão

  DATA: v_codaux2 LIKE /pws/zyglt316-codaux2,

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

        v_codaux3 LIKE /pws/zyglt316-codaux3.

  CLEAR p_conta_dif.

* << Fim da exclusão

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

        v_codaux3 LIKE /pws/zyglt316-codaux3,

        v_conta   type /pws/zyglt316-konts.

  CLEAR: p_conta_dif, p_conta_dif_parametro.

* << Fim da inclusão

  v_codaux1 = 'J'.

  v_codaux2 = aux_relat-tpcontr.

  IF aux_relat-ftpj = 'A'.

    v_codaux3 = 'ACC'.

  ELSEIF aux_relat-ftpj = 'E'.

    v_codaux3 = 'ACE'.

  ENDIF.

  REFRESH itab_contas.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

...

 

...

    WHEN 2.

    WHEN 3.

  ENDCASE.

  READ TABLE itab_contas INDEX 1.

  IF sy-subrc = 0.

    IF itab_zycbt154-d_newko NE itab_contas-konts.

      p_conta_dif = 'X'.

    ENDIF.

    IF itab_zycbt154-d_newko+7 EQ itab_contas-konts.

      CLEAR p_conta_dif.

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

    ENDIF.

  ELSE.

    EXIT.

  ENDIF.

  v_conta = itab_contas-konts.

  IF aux_relat-ftpj = 'A'.

    v_codaux3 = 'ACE'.

  ELSEIF aux_relat-ftpj = 'E'.

    v_codaux3 = 'ACC'.

  ENDIF.

  REFRESH itab_contas.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = aux_relat-bukrs

            ktosl           = 'DSE'

            codaux1         = v_codaux1

            codaux2         = v_codaux2

            codaux3         = v_codaux3

       TABLES

            account         = itab_contas

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  CASE sy-subrc.

    WHEN 1.

    WHEN 2.

    WHEN 3.

  ENDCASE.

  READ TABLE itab_contas INDEX 1.

  IF sy-subrc = 0.

    IF v_conta NE itab_contas-konts.

      p_conta_dif_parametro = 'X'.

* << Fim da inclusão

    ENDIF.

  ELSE.

    EXIT.

  ENDIF.

ENDFORM.

FORM verifica_provisao_liquidacao CHANGING p_separa.

  DATA: v_cont TYPE i.

  CLEAR p_separa.

  LOOP AT itab_zycbt154 WHERE nrcorresp EQ aux_relat-nrseqc

                          AND bukrs     EQ aux_relat-bukrs

...