CE PLUS - Nota 004588

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Associação

Data/Hora da Publicação: 31/08/2007 00:00:00

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

Descrição da Nota: ASSOCIAÇÃO DE FATURAS - ATUALIZAÇÃO INCORRETA DATA E DOCTO DE ASSOCIAÇÃO

Sintoma

Ao efetuar a associação de faturas com pagamento antecipado ou financiamento ou pagamento de fatura,

mesmo não havendo desmembramento do documento original, esta gravando data de associação e documento

de associação nas tabelas /pws/zycbt117 ou /pws/zycbt119 ou /pws/zycbt112. Outro problema é que ao

lançar associação total, onde faz apenas uma F-51, se der erro na mesma, o sistema lança doctos.

para voltar o saldo do processo(antecipado,fatura,financiamento) e da fatura sem necessidade.

 

 

Solução

1º erro - somente atualizar a data e o documento após o lançamento contábil de desemembramento.

2º erro - somente lançar volta do saldo quando houver desmembramento.

 

No criar associação, alterar o ícone de excluir fatura para o padrão do pw.CE(sinal de menos em

vermelho), pois a lixeira é de exclusão do processo todo.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51

VERIFICAÇÃO DO STATUS DE CAMPO NO BATCH INPUT

ASSOCIAÇÃO DE FATURAS - DA RATEIO POR ITEM DOC. COMPRA

Informações Complementares

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

Nota Número 04588 Data: 31/08/2007 Hora: 15:51:32

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

 

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

Nota Número              : 04588

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00010

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

Referência às notas relacionadas:

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

 

00350  - 00001 - 6.0    - 00021  - VERIFICAÇÃO DO STATUS DE CAMPO NO BATCH INPUT

01988  - 00002 - 6.0    - 00024  - ASSOCIAÇÃO DE FATURAS - DA RATEIO POR ITEM DOC. COMPRA

02166  - 00003 - 6.0    - 00025  - ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51

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

ASSOCIAÇÃO DE FATURAS - ATUALIZAÇÃO INCORRETA DATA E DOCTO DE ASSOCIAÇÃO

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

Palavras Chave:

ASSOCIAÇÃO DE FATURAS ATUALIZAÇÃO INCORRETA DATA E DOCTO DE ASSOCIAÇÃO

DTASSOC BELNR_AS BELNRAS ANTECIPADO FINANCIAMENTO FATURA

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

Objetos da nota:

CUAD /PWS/SAPMZYCB113

REPS /PWS/LZYCMGF2F01

REPS /PWS/LZYCMGF2TOP

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCB113

 

Barra de Botões

 

CÓDIGO DE FUNÇÃO: DELE

 

 

Alterar ícone de:

 

NOME DE ÍCONE: ICON_DELETE

 

Para:

 

NOME DE ÍCONE: ICON_DELETE_ROW

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

  ENDIF.

ENDFORM.

FORM selec_contab.

  DATA: v_tabix LIKE sy-tabix.

  CASE v_tpdoc.

    WHEN 'I'.

      IF /pws/zycbe112-waers EQ itab_zycbt131-waers.

        v_moedadif = 'S'.

      ENDIF.

      LOOP AT itab_zycbt108.

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

        CLEAR: v_fin_cont,  v_fat_cont, v_belnr_as, v_dtdocto,

               v_belnr_as2, v_dtdocto2.

* << Fim da inclusão

        v_tabix = sy-tabix.

        SELECT SINGLE * FROM /pws/zycbt131

          WHERE nrseq       = /pws/zycbe117-nrseq

            AND belnr       = itab_zycbt108-belnr

            AND nrseq_pgfat = itab_zycbt108-nrseq_pgfat

            AND bukrs       = itab_zycbt108-bukrs

            AND gjahr       = itab_zycbt108-gjahr

            AND mdcorresp   = 'IF'.

        IF sy-subrc EQ 0.

          MESSAGE i061(/pws/zycmm) WITH text-059 itab_zycbt108-belnr

...

 

...

                         AND nrseq_pgfat EQ itab_zycbt131-nrseq_pgfat.

        DELETE itab_zycbt131.

        CONTINUE.

      ENDLOOP.

      v_ok = 'X'.

    WHEN 'A'.

      IF /pws/zycbe117-waers EQ itab_zycbt131-waers.

        v_moedadif = 'S'.

      ENDIF.

      LOOP AT itab_zycbt108.

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

        CLEAR: v_pant_cont, v_fat_cont, v_belnr_as, v_dtdocto,

               v_belnr_as2, v_dtdocto2.

* << Fim da inclusão

        v_tabix = sy-tabix.

        SELECT SINGLE * FROM /pws/zycbt131

          WHERE nrseq       = /pws/zycbe117-nrseq

            AND belnr       = itab_zycbt108-belnr

            AND nrseq_pgfat = itab_zycbt108-nrseq_pgfat

            AND bukrs       = itab_zycbt108-bukrs

            AND gjahr       = itab_zycbt108-gjahr

            AND mdcorresp   = 'IA'.

        IF sy-subrc EQ 0.

          MESSAGE i061(/pws/zycmm) WITH text-060 itab_zycbt108-belnr

...

 

...

                         AND nrseq_pgfat EQ itab_zycbt131-nrseq_pgfat.

        DELETE itab_zycbt131.

        CONTINUE.

      ENDLOOP.

      v_ok = 'X'.

    WHEN 'P'.

      IF /pws/zycbe119-waers EQ itab_zycbt131-waers.

        v_moedadif = 'S'.

      ENDIF.

      LOOP AT itab_zycbt108.

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

        CLEAR: v_pfat_cont, v_fat_cont, v_belnr_as, v_dtdocto,

               v_belnr_as2, v_dtdocto2.

* << Fim da inclusão

        READ TABLE itab_zycbt131

             WITH KEY belnr       = itab_zycbt108-belnr

                      nrseq_pgfat = itab_zycbt108-nrseq_pgfat

                      bukrs       = itab_zycbt108-bukrs

                      gjahr       = itab_zycbt108-gjahr.

        PERFORM executa_f_51_pgfat.

        IF v_ok EQ ' '.

          EXIT.

        ENDIF.

      ENDLOOP.

...

 

...

  AND v_linhas EQ 1.

    READ TABLE itab_zycbt036 INDEX 1.

    itab_zycbt131-belnr_rfin = itab_zycbt036-belnr.

    MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                      WHERE belnr EQ itab_zycbt108-belnr

                       AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

    /pws/zycbe112-belnr_as        = itab_zycbt036-belnr.

    READ TABLE itab_zycbe033 INDEX 1.

    /pws/zycbe112-dtassoc         = itab_zycbt036-dtdocto.

    /pws/zycbe112-fassoc          = 'X'.

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

    UPDATE /pws/zycbt112 SET fassoc   = 'X'

                        belnr_as = itab_zycbt036-belnr

                        dtassoc  = itab_zycbt036-dtdocto

                  WHERE nrseq   EQ /pws/zycbe112-nrseq.

* << Fim da exclusão

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

    v_belnr_as = itab_zycbt036-belnr.

    v_dtdocto  = itab_zycbt036-dtdocto.

* << Fim da inclusão

    PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fi

                        WHERE bukrs EQ /pws/zycbe112-bukrs

                          AND belnr EQ itab_zycbt036-belnr

                          AND gjahr EQ v_gjahr

                          AND augbl EQ ' '

                          AND koart EQ 'K'.

...

 

...

                           AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

        /pws/zycbe112-belnr_as        = itab_zycbt032-belnr.

        READ TABLE itab_zycbe033 INDEX 1.

        /pws/zycbe112-dtassoc         = itab_zycbe033-budat.

        /pws/zycbe112-fassoc          = 'X'.

        UPDATE /pws/zycbt112 SET fassoc   = 'X'

                            belnr_as = itab_zycbt032-belnr

                            dtassoc  = itab_zycbe033-budat

                      WHERE nrseq   EQ /pws/zycbe112-nrseq.

        v_ok = 'X'.

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

        v_fin_cont = 'X'.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

    MODIFY itab_zycbt131 TRANSPORTING belnr_rfat

                         WHERE belnr EQ itab_zycbt108-belnr

                       AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

    itab_zycbt108-belnr_as   = itab_zycbt036-belnr.

    itab_zycbt108-belnr_lq   = itab_zycbt036-belnr.

    READ TABLE itab_zycbe033 INDEX 1.

    itab_zycbt108-dtassoc    = itab_zycbt036-dtdocto.

    MODIFY itab_zycbt108 TRANSPORTING belnr_as dtassoc belnr_lq

                         WHERE belnr EQ itab_zycbt108-belnr

                      AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

    v_belnr_as2 = itab_zycbt036-belnr.

    v_dtdocto2  = itab_zycbt036-dtdocto.

* << Fim da inclusão

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

    UPDATE /pws/zycbt108 SET dtassoc    = itab_zycbt036-dtdocto

                        belnr_as   = itab_zycbt036-belnr

                        belnr_lq   = itab_zycbt036-belnr

                  WHERE belnr      EQ itab_zycbt108-belnr

                   AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

* << Fim da exclusão

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fa

                        WHERE bukrs EQ itab_zycbt108-bukrs

                          AND belnr EQ itab_zycbt036-belnr

                          AND gjahr EQ v_gjahr

                          AND augbl EQ ' '

                          AND koart EQ 'K'.

...

 

...

        itab_zycbt108-dtassoc    = itab_zycbe033-budat.

        MODIFY itab_zycbt108 TRANSPORTING belnr_as dtassoc belnr_lq

                             WHERE belnr EQ itab_zycbt108-belnr

                          AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

        UPDATE /pws/zycbt108 SET dtassoc    = itab_zycbe033-budat

                            belnr_as   = itab_zycbt032-belnr

                            belnr_lq   = itab_zycbt032-belnr

                      WHERE belnr      EQ itab_zycbt108-belnr

                       AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

        v_ok = 'X'.

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

        v_fat_cont = 'X'.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

          v_ok = ' '.

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ itab_zycbt108-bukrs

                              AND gjahr EQ v_gjahr.

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbt036.

ENDFORM.

FORM reclassifica_financiamento.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

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

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL.

* << Fim da exclusão

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

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL

     AND ( NOT v_fin_cont IS INITIAL OR ok_code NE 'SAVE' ).

* << Fim da inclusão

    IF ok_code NE 'SAVE'.

      CHECK v_estorno_ok = 'X'.

    ENDIF.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe112-bukrs.

    CONCATENATE '001' /pws/zycbe112-codint INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

...

 

...

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

                            WHERE belnr EQ itab_zycbt108-belnr

                         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

        PERFORM atualiza_dados_processos.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

                            WHERE belnr EQ itab_zycbt108-belnr

                         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

        PERFORM atualiza_dados_processos.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

            local_amount     = v_wrbtr.

  WRITE v_wrbtr TO v_wrbtr_c CURRENCY wa_zycbt007-waersb.

  TRANSLATE v_wrbtr_c USING '. '.

  CONDENSE v_wrbtr_c NO-GAPS.

  TRANSLATE v_wrbtr_c USING ',.'.

  v_reais_fa = v_wrbtr_c.

  v_variacao = v_reais_fi - v_reais_fa.

ENDFORM.

FORM reclassifica_fatura.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

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

  IF NOT itab_zycbt131-belnr_rfat IS INITIAL.

* << Fim da exclusão

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

  IF NOT itab_zycbt131-belnr_rfat IS INITIAL

     AND ( NOT v_fat_cont IS INITIAL OR ok_code NE 'SAVE' ).

* << Fim da inclusão

    IF ok_code NE 'SAVE'.

      CHECK v_estorno_ok = 'X'.

    ENDIF.

    READ TABLE itab_zycbt108 WITH KEY belnr = itab_zycbt131-belnr

                               nrseq_pgfat = itab_zycbt131-nrseq_pgfat.

    PERFORM limpa_itabs_contabil.

    SELECT SINGLE * FROM /pws/zycbt119 INTO /pws/zycbt119

           WHERE nrseq = itab_zycbt108-nrseq_pgfat.

    CONCATENATE '010' /pws/zycbt119-codint INTO v_codeven.

    CLEAR wa_zycbt011.

...

 

...

  PERFORM preenche_doc_pgant.

  IF v_vlres EQ itab_zycbt131-vlmefin.

    READ TABLE itab_zycbt036 INDEX 1.

    itab_zycbt131-belnr_rfin = itab_zycbt036-belnr.

    MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                      WHERE belnr EQ itab_zycbt108-belnr

                       AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

    /pws/zycbe117-belnr_as        = itab_zycbt036-belnr.

    READ TABLE itab_zycbe033 INDEX 1.

    /pws/zycbe117-dtassoc         = itab_zycbt036-dtdocto.

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

    UPDATE /pws/zycbt117 SET belnr_as = itab_zycbt036-belnr

                        dtassoc  = itab_zycbt036-dtdocto

                  WHERE nrseq   EQ /pws/zycbe117-nrseq.

* << Fim da exclusão

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

    v_belnr_as = itab_zycbt036-belnr.

    v_dtdocto  = itab_zycbt036-dtdocto.

* << Fim da inclusão

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fi

                        WHERE bukrs EQ /pws/zycbe117-bukrs

                          AND belnr EQ itab_zycbt036-belnr

                          AND gjahr EQ v_gjahr

                          AND augbl EQ ' '

                          AND koart EQ 'K'

...

 

...

        MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                          WHERE belnr EQ itab_zycbt108-belnr

                           AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

        /pws/zycbe117-belnr_as        = itab_zycbt032-belnr.

        READ TABLE itab_zycbe033 INDEX 1.

        /pws/zycbe117-dtassoc         = itab_zycbe033-budat.

        UPDATE /pws/zycbt117 SET belnr_as = itab_zycbt032-belnr

                            dtassoc  = itab_zycbe033-budat

                      WHERE nrseq   EQ /pws/zycbe117-nrseq.

        v_ok = 'X'.

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

        v_pant_cont = 'X'.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe117-bukrs

                          AND gjahr EQ v_gjahr.

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM reclassifica_pgtoant.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

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

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL.

* << Fim da exclusão

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

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL

     AND ( NOT v_pant_cont IS INITIAL OR ok_code NE 'SAVE' ).

* << Fim da inclusão

    IF ok_code NE 'SAVE'.

      CHECK v_estorno_ok = 'X'.

    ENDIF.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe117-bukrs.

    CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

...

 

...

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

                            WHERE belnr EQ itab_zycbt108-belnr

                         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

        IF ( /pws/zyglt009-contpa = 'Y' AND

             /pws/zycbe117-codint = 'IM' ) OR

           ( /pws/zyglt009-contpa = 'Y' AND

             /pws/zycbe117-codint = 'ES' AND v_trans IS INITIAL ).

          /pws/zycbe117-slpgant = v_saldo_pa.

        ENDIF.

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

        PERFORM atualiza_dados_processos.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      IF ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'IM' )

 OR

...

 

...

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

                            WHERE belnr EQ itab_zycbt108-belnr

                         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

        PERFORM atualiza_dados_processos.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

  itab_zycbe033-ftela = 'X'.

  IF v_vlres  EQ itab_zycbt131-vlmefin.

    READ TABLE itab_zycbt036 INDEX 1.

    itab_zycbt131-belnr_rfin = itab_zycbt036-belnr.

    MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                      WHERE belnr EQ itab_zycbt108-belnr

                       AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

    /pws/zycbe119-belnr_as        = itab_zycbt036-belnr.

    READ TABLE itab_zycbe033 INDEX 1.

    /pws/zycbe119-dtassoc         = itab_zycbt036-dtdocto.

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

    UPDATE /pws/zycbt119 SET belnr_as = itab_zycbt036-belnr

                        dtassoc  = itab_zycbt036-dtdocto

                  WHERE nrseq   EQ /pws/zycbe119-nrseq.

* << Fim da exclusão

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

    v_belnr_as = itab_zycbt036-belnr.

    v_dtdocto  = itab_zycbt036-dtdocto.

* << Fim da inclusão

    PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fi

                        WHERE bukrs EQ /pws/zycbe119-bukrs

                          AND belnr EQ itab_zycbt036-belnr

                          AND gjahr EQ v_gjahr

                          AND augbl EQ ' '

                          AND koart EQ 'K'

...

 

...

        MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                          WHERE belnr EQ itab_zycbt108-belnr

                           AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

        /pws/zycbe119-belnr_as        = itab_zycbt032-belnr.

        READ TABLE itab_zycbe033 INDEX 1.

        /pws/zycbe119-dtassoc         = itab_zycbe033-budat.

        UPDATE /pws/zycbt119 SET belnr_as = itab_zycbt032-belnr

                            dtassoc  = itab_zycbe033-budat

                      WHERE nrseq   EQ /pws/zycbe119-nrseq.

        v_ok = 'X'.

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

        v_pfat_cont = 'X'.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe119-bukrs

                          AND gjahr EQ v_gjahr.

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM reclassifica_pgtofat.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

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

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL.

* << Fim da exclusão

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

  IF NOT itab_zycbt131-belnr_rfin IS INITIAL

     AND ( NOT v_pant_cont IS INITIAL OR ok_code NE 'SAVE' ).

* << Fim da inclusão

    IF ok_code NE 'SAVE'.

      CHECK v_estorno_ok = 'X'.

    ENDIF.

    PERFORM limpa_itabs_contabil.

    CLEAR wa_zycbt007.

    SELECT SINGLE * FROM /pws/zycbt007

                    INTO wa_zycbt007

                    WHERE bukrs EQ /pws/zycbe119-bukrs.

    CONCATENATE '007' 'A' INTO v_codeven.

    SELECT SINGLE * FROM /pws/zycbt011

...

 

...

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

                            WHERE belnr EQ itab_zycbt108-belnr

                         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

        PERFORM atualiza_dados_processos.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

                            WHERE belnr EQ itab_zycbt108-belnr

                         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

        PERFORM atualiza_dados_processos.

* << Fim da inclusão

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

        v_ok = ' '.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

...

 

...

                            CHANGING p_brnch.

  IF p_brnch IS INITIAL.

    SELECT SINGLE j_1bbranch FROM t001w INTO p_brnch

                            WHERE werks = p_werks.

    IF sy-subrc EQ 0.

      PERFORM verifica_pais_filial USING p_bukrs

                                         p_brnch.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM atualiza_dados_processos.

  IF     v_tpdoc = 'I' AND v_fin_cont  IS INITIAL.

    UPDATE /pws/zycbt112 SET   fassoc   = 'X'

                               belnr_as = v_belnr_as

                               dtassoc  = v_dtdocto

                         WHERE nrseq    EQ /pws/zycbe112-nrseq.

  ELSEIF v_tpdoc = 'A' AND v_pant_cont IS INITIAL.

    UPDATE /pws/zycbt117 SET   belnr_as = v_belnr_as

                               dtassoc  = v_dtdocto

                         WHERE nrseq    EQ /pws/zycbe117-nrseq.

  ELSEIF v_tpdoc = 'P' AND v_pfat_cont IS INITIAL.

   UPDATE /pws/zycbt119 SET   belnr_as = v_belnr_as

                              dtassoc  = v_dtdocto

                        WHERE nrseq    EQ /pws/zycbe119-nrseq.

  ENDIF.

  IF v_fat_cont IS INITIAL.

    UPDATE /pws/zycbt108 SET   dtassoc     = v_dtdocto2

                               belnr_as    = v_belnr_as2

                               belnr_lq    = v_belnr_as2

                         WHERE belnr       EQ itab_zycbt108-belnr

                           AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2TOP

 

...

  v_saldo_estorno   TYPE /pws/zycmt020-saldo,

  v_reais_fi_rateio TYPE /pws/zycbt117-vlme,

  v_tabix           TYPE sy-tabix,

  v_syrepid    LIKE sy-repid,

  e_subrc      LIKE sy-subrc,

  v_input        LIKE screen-input,

  v_output       LIKE screen-output,

  v_required     LIKE screen-required,

  v_invisible    LIKE screen-invisible,

  v_tela         LIKE sy-dynnr,

* >> Início da exclusão:

  v_programa(40) TYPE c VALUE 'SAPMF05A'.

* << Fim da exclusão

* >> Início da inclusão:

  v_programa(40) TYPE c VALUE 'SAPMF05A',

  v_pant_cont    type c,

  v_pfat_cont    type c,

  v_fin_cont     type c,

  v_fat_cont     type c,

  v_belnr_as     type /pws/zycbt036-belnr,

  v_dtdocto      type /pws/zycbt036-dtdocto,

  v_belnr_as2    type /pws/zycbt036-belnr,

  v_dtdocto2     type /pws/zycbt036-dtdocto.

* << Fim da inclusão

DATA:

  t_telas        TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE,

  wa_rpy_dyfatc  TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE.