CE PLUS - Nota 006165

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 13/03/2008 00:00:00

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

Descrição da Nota: VINCULAÇAO - AJUSTES CHAMADO 432177

Sintoma

Vinculaçao - Ajustes chamado 432177

 

 

Solução

Vinculaçao - Ajustes chamado 432177

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ATUALIZAÇÃO DA TABELA QUANDO LIQUIDAÇÃO AUTOMÁTICA DE CÂMBIO PRONTO.

VALORES MANTIDOS NO EXTERIOR COM VINCULAÇÃO E LIQUIDAÇÃO AUTOMÁTICA.

ESTORNO DA VINCULAÇÃO PARA CONTRATOS DE DOWN PAYMENT

TRATAMENTO CAMPOS /PWS/ZYCBT030-BELNR_T /PWS/ZYCBT030-BUDAT_T

VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA - ESTORNO

VINCULAÇÃO - ESTORNO - ATUALIZAÇÃO TABELA /PWS/ZYCBT005

VINCULAÇÃO - ESTORNO AUTOMATICO POR ERRO NA CONTABILIZAÇÃO

Informações Complementares

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

Nota Número 06165 Data: 13/03/2008 Hora: 14:01:20

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

 

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

Nota Número              : 06165

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00037

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

Referência às notas relacionadas:

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

 

01600  - 00001 - 6.0    - 00023  - ATUALIZAÇÃO DA TABELA QUANDO LIQUIDAÇÃO AUTOMÁTICA DE CÂMBIO PRON

01916  - 00002 - 6.0    - 00024  - ESTORNO DA VINCULAÇÃO PARA CONTRATOS DE DOWN PAYMENT

03752  - 00003 - 7.0    - 00001  - VINCULAÇÃO -  ESTORNO AUTOMATICO POR ERRO NA CONTABILIZAÇÃO

04418  - 00004 - 7.0    - 00002  - VINCULAÇÃO CP COM LIQUIDAÇÃO AUTOMÁTICA - ESTORNO

04507  - 00005 - 7.0    - 00002  - VINCULAÇÃO - ESTORNO - ATUALIZAÇÃO TABELA /PWS/ZYCBT005

05512  - 00006 - 7.0    - 00004  - TRATAMENTO CAMPOS /PWS/ZYCBT030-BELNR_T /PWS/ZYCBT030-BUDAT_T

05825  - 00007 - 7.0    - 00004  - VALORES MANTIDOS NO EXTERIOR COM VINCULAÇÃO E LIQUIDAÇÃO AUTOMÁTI

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

VINCULAÇAO - AJUSTES CHAMADO 432177

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

Palavras Chave:

VINCULAÇAO - ESTORNO DP AUTOMÁTICO ATUALIZAÇÃO PWS/ZYCBT001 E 030

 

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

Objetos da nota:

REPS /PWS/MZYCB009F06

REPS /PWS/MZYCB009F08

REPS /PWS/MZYCB009F09

REPS /PWS/MZYCB009F10

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F06

 

...

  PERFORM determina_periodo USING /pws/zycbe050-dtdevol

                                  /pws/zycbe001-bukrs

                         CHANGING v_monat.

  PERFORM determina_ano USING /pws/zycbe050-dtdevol

                              /pws/zycbe001-bukrs

                     CHANGING v_ano.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = /pws/zycbe001-bukrs

            i_gjahr          = v_ano

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc NE 0.

    v_periodo_aberto = 'X'.

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

  ELSE.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = /pws/zycbe001-bukrs

              i_gjahr          = v_ano

              i_koart          = 'D'

              i_monat          = v_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.

    IF sy-subrc NE 0.

      v_periodo_aberto = 'X'.

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDFORM.

FORM estorno_devol1.

  SELECT SINGLE *

         FROM /pws/zycbt004

         WHERE nrseqc   EQ /pws/zycbe001-nrseqc        AND

               tpdesp   EQ 'D'                         AND

               nrparc   EQ itab_zycbt005-nrparc        AND

               dtincl   EQ itab_zycbt005-dtvincul      AND

               dtliquid EQ /pws/zycbe050-dtdevol       AND

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F08

 

...

  PERFORM determina_periodo USING /pws/zycbe005-dtvincul

                                  /pws/zycbe001-bukrs

                         CHANGING v_monat.

  PERFORM determina_ano USING /pws/zycbe005-dtvincul

                              /pws/zycbe001-bukrs

                     CHANGING v_ano.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = /pws/zycbe001-bukrs

            i_gjahr          = v_ano

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

            i_koart          = 'S'

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc NE 0.

    v_periodo_aberto = 'X'.

  ELSE.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = /pws/zycbe001-bukrs

              i_gjahr          = v_ano

              i_koart          = 'D'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

              i_monat          = v_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.

    IF sy-subrc NE 0.

      v_periodo_aberto = 'X'.

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDFORM.

FORM estorno_periodo_fechado TABLES itab_vinc STRUCTURE itab_zycbt005.

  DATA: v_nrdias TYPE i,

        v_prazo,

        v_saknr_ace TYPE saknr,

        v_kunnr     TYPE kunnr,

        v_belnr     TYPE belnr_d,

        v_budat     TYPE datum,

        v_kursf     TYPE kursf,

...

 

...

                            AND gsberf   = itab_vinc-gsberf.

      PERFORM clearing_cli2 TABLES itab_vinc

                           USING v_kunnr

                                 v_datum.

      IF v_erro_estorno = 'X'.

        v_subrc = 4.

        EXIT.

      ENDIF.

      IF wa_zycbt007-liq_trans IS INITIAL.

        itab_zycbt030-belnr6 = itab_zycbt030-belnr_d.

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

        itab_zycbt030-budat  = itab_vinc-dtvincul.

* << Fim da exclusão

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

        itab_zycbt030-budat  = itab_zycbe033-budat.

* << Fim da inclusão

        itab_zycbt030-vlslliq =

          itab_zycbt030-vlslliq + itab_vinc-vlme_p.

        IF /pws/zycbe001-desc_receb IS INITIAL.

          itab_zycbt030-vlsltrans =

                    itab_zycbt030-vlsltrans + itab_vinc-vlme_p.

        ENDIF.

      ELSE.

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

        itab_zycbt030-budat_t = itab_zycbe033-budat.

* << Fim da inclusão

        itab_zycbt030-vlslliq =

                  itab_zycbt030-vlslliq + itab_vinc-vlme_p.

      ENDIF.

      MODIFY itab_zycbt030.

    ENDLOOP.

    IF v_subrc NE 0.

      EXIT.

    ENDIF.

    PERFORM clear_date_batch.

    IF NOT itab_vinc-belnr IS INITIAL.

...

 

...

  ENDIF.

  v_monat = p_monat.

  v_gjahr = p_gjahr.

  v_conta = p_konto.

  WHILE v_ok <> 'S'.

    ADD 1 TO v_cont.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = p_bukrs

              i_gjahr          = v_gjahr

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

              i_koart          = 'S'

              i_konto          = v_conta

* << Fim da exclusão

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

              i_koart          = '+'

* << Fim da inclusão

              i_monat          = v_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.

    IF sy-subrc <> 0.

      IF v_monat EQ 12.

        v_monat = 1.

      ELSE.

        ADD 1 TO v_monat.

...

 

...

      ENDIF.

    ENDLOOP.

  ENDLOOP.

  sy-subrc = v_subrc.

  IF v_subrc <> 0 AND wa_zycbt007-liq_trans IS INITIAL.

    MESSAGE i173 WITH itab_zycbt005-nrinvoic.

  ELSEIF v_subrc <> 0 AND NOT wa_zycbt007-liq_trans IS INITIAL.

    MESSAGE i272 WITH text-153 text-154.

  ENDIF.

  CHECK v_subrc EQ 0.

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

  v_belnr_001 = /pws/zycbe001-belnr2.

* << Fim da exclusão

  v_dtdocto   = /pws/zycbe001-dtvincul.

  LOOP AT itab_zycbt005 WHERE flag = p_flag.

    IF /pws/zycet037-comis_provisao IS INITIAL OR

       /pws/zycet037-comis_provisao EQ 0.

      CLEAR itab_zycet010.

      REFRESH itab_zycet010.

      SELECT *

            INTO TABLE itab_zycet010

            FROM /pws/zycet010

            WHERE nrseq   EQ itab_zycbt005-nrinvoic

...

 

...

      itab_zycbt030-v_duplica = 'X'.

      itab_zycbt030-vlslliq =  itab_zycbt030-vlslliq -

                               itab_zycbt005-vlme_p.

      MODIFY itab_zycbt030 TRANSPORTING vlslliq v_duplica

                                WHERE nrinvoic = itab_zycbt005-nrinvoic

                                   AND gsberf  = itab_zycbt005-gsberf

                                   AND nrparcf = itab_zycbt005-nrparcf.

    ENDIF.

  ENDLOOP.

  IF v_subrc EQ 0.

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

    IF v_belnr_001 < /pws/zycbe001-belnr2.

* << Fim da inclusão

    v_belnr_001 = /pws/zycbe001-belnr2.

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

    ENDIF.

* << Fim da inclusão

    v_dtdocto   = /pws/zycbe001-dtvincul.

  ENDIF.

  IF v_subrc NE 0.

    PERFORM busca_exit.

    READ TABLE itab_zyglt100 WITH KEY zexit = 'VNC014'.

    IF sy-subrc EQ 0 AND /pws/zycbe001-tpcontr(1) NE 'C'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F09

 

...

  ENDIF.

  v_monat = p_monat.

  v_gjahr = p_gjahr.

  v_conta = p_konto.

  WHILE v_ok <> 'S'.

    ADD 1 TO v_cont.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = p_bukrs

              i_gjahr          = v_gjahr

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

              i_koart          = 'S'

              i_konto          = v_conta

* << Fim da exclusão

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

              i_koart          = '+'

* << Fim da inclusão

              i_monat          = v_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.

    IF sy-subrc <> 0.

      IF v_monat EQ 12.

        v_monat = 1.

      ELSE.

        ADD 1 TO v_monat.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F10

 

...

          MODIFY itab_zycbt017 INDEX v_pos_itab.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF /pws/zycbe001-tpcontr(01) = 'D' AND

     /pws/zycbt089-f_cont_vinc = 'F'.

    /pws/zycbe001-slpagar = /pws/zycbe001-slvinc.

  ENDIF.

  /pws/zycbe001-belnr2   = v_belnr_001.

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

  /pws/zycbe001-dtvincul = v_dtdocto.

* << Fim da exclusão

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

  /pws/zycbe001-dtvincul = itab_zycbe033-budat.

* << Fim da inclusão

  IF /pws/zycbe001-tpcontr(1) EQ 'C' AND

     wa_zycbt007-liq_cp EQ 'X'.

    IF itab_zycbt005[] IS INITIAL

       AND v_erro_estorno IS INITIAL.

      /pws/zycbe001-slpagar = /pws/zycbe001-vlme.

    ELSE.

      CLEAR /pws/zycbe001-slpagar.

    ENDIF.

  ENDIF.

  IF v_erro_estorno IS INITIAL.

...