CE PLUS - Nota 009336

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

Data/Hora da Publicação: 06/11/2009 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:56:06

Descrição da Nota: VINCULAÇÃO - RECEBIMENTO/PDD - RECUP. DIVISAS - HIST. CONTÁBIL - ERROS

Sintoma

Ao criar um recebimento/pdd(recuperação de divisas), após preencher os dados:

 

1 - se não flegar a linha e clicar no botão, não contabiliza, mas atualiza o saldo incorretamente.

2 - se criar outra com os mesmos dados(datas) de uma já existente, permite, e sobrepõe a anterior,

deixando inconsistente o cenário.

 

3 - No histórico contábil esta repetindo os dados de recebimento de uma fatura para todas as outras

vinculadas e com devolução na captação.

 

 

Solução

1 - se não flegar, exibir mensagem e não deixar atualizar o saldo.

2 - se os campos chaves do novo recebimento for igual aos de um já existente, não permite e exibe

mensagem.

3 - separar impressão dos dados de acordo com cada fatura vinculada(com devolução)

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

HISTÓRICO CONTÁBIL - PROCESSO DE DEVOULUÇÃO

Informações Complementares

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

Nota Número 09336 Data: 06/11/2009 Hora: 16:43:10

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

 

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

Nota Número              : 09336

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

00901  - 00001 - 6.0    - 00022  - HISTÓRICO CONTÁBIL - PROCESSO DE DEVOULUÇÃO

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

VINCULAÇÃO - RECEBIMENTO/PDD - RECUP. DIVISAS - HIST. CONTÁBIL - ERROS

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

Palavras Chave:

VINCULAÇÃO RECEBIMENTO/PDD RECUP. DIVISAS ERROS

RECUPERAÇÃO DE DIVISAS HISTÓRICO CONTÁBIL

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

Objetos da nota:

REPS /PWS/MZYCB009F02

REPS /PWS/MZYCB009F06

REPS /PWS/MZYCB009F09

REPS /PWS/ZYCBR059

REPT /PWS/SAPMZYCB009

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F02

 

...

    endif.

  endloop.

  if v_sai eq 'X'.

    clear v_sai.

    exit.

  endif.

  select single kurst

    into (v_ctgmedia)

    from  /pws/zycbt009

    where codpadr = 'M'.

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

  clear v_subrc.

* << Fim da inclusão

  loop at itab_zycbt051 where status_pdd eq 'I'

                          and  mark      eq 'X'.

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

    check v_subrc = 0.

    read table itab_zycbt051_aux with key

                                       nrseqc   = itab_zycbt051-nrseqc

                                       tpdesp   = itab_zycbt051-tpdesp

                                       nrparc   = itab_zycbt051-nrparc

                                       dtincl   = itab_zycbt051-dtincl

                                       nrinvoic = itab_zycbt051-nrinvoic

                                       nrparcf  = itab_zycbt051-nrparcf

                                       gsberf   = itab_zycbt051-gsberf

                                       dtvincul = itab_zycbt051-dtvincul

                                       dtvencto = itab_zycbt051-dtvencto

                                       dtreceb  = itab_zycbt051-dtreceb

                                       dtfech   = itab_zycbt051-dtfech

                                       dtpdd    = itab_zycbt051-dtpdd

                                       dtapr    = itab_zycbt051-dtapr.

    if sy-subrc = 0 and itab_zycbt051_aux-status_pdd ne 'I'.

      message i015 with text-509.

      v_subrc = 4.

      continue.

    endif.

* << Fim da inclusão

    perform limpa_itabs_contabil.

    itab_zycbe033-tcode   = 'F-02'.

    itab_zycbe033-tabela  = '/PWS/ZYCBT005'.

    concatenate itab_zycbt051-nrseqc   itab_zycbt051-tpdesp

                itab_zycbt051-nrparc   itab_zycbt051-dtincl

                itab_zycbt051-nrinvoic itab_zycbt051-gsberf

                itab_zycbt051-dtvincul itab_zycbt051-dtvencto

                itab_zycbt051-nrparcf

                into v_cpochv.

    itab_zycbe033-cpochv = v_cpochv.

...

 

...

        endif.

      else.

        v_subrc = 4.

        loop at itab_zycbt032 where cpochv = v_cpochv.

          itab_erro-msg   = itab_zycbt032-msg.

          append itab_erro.

        endloop.

      endif.

    endif.

  endloop.

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

  if v_subrc ne 0.

    sy-subrc = v_subrc.

  else.

    v_subrc = sy-subrc.

  endif.

* << Fim da inclusão

  if sy-subrc ne 0.

    message i061 with text-138 text-126.

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

    exit.

* << Fim da inclusão

  else.

    if v_subrc = 0.

      modify /pws/zycbt050 from /pws/zycbe050.

      loop at itab_zycbt051 where mark eq 'X' and

                            belnr_pdd1 ne space and

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F06

 

...

      message i015 with text-103.

    endif.

  else.

    message i015 with text-106.

  endif.

endform.

form calcula_saldo_devol.

  data:

  v_vldif like /pws/zycbe005-vlslf,

  v_sldevol like /pws/zycbe005-vlslf.

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

  read table itab_zycbt051_aux

              with key nrinvoic = itab_zycbt051-nrinvoic

                       nrparcf  = itab_zycbt051-nrparcf

                       gsberf   = itab_zycbt051-gsberf

                       nrseqc   = itab_zycbt051-nrseqc

                       tpdesp   = itab_zycbt051-tpdesp

                       nrparc   = itab_zycbt051-nrparc

                       dtincl   = itab_zycbt051-dtincl

                       dtvincul = itab_zycbt051-dtvincul

                       dtvencto = itab_zycbt051-dtvencto

                       dtreceb  = itab_zycbt051-dtreceb

                       dtfech   = itab_zycbt051-dtfech

                       dtpdd    = itab_zycbt051-dtpdd

                       dtapr    = itab_zycbt051-dtapr.

* << Fim da exclusão

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

  read table itab_zycbt051_aux index v_index.

* << Fim da inclusão

  if sy-subrc eq 0.

    if itab_zycbt051-waers eq itab_zycbt051-waers_fat.

      move: 1 to /pws/zycbe051-parid.

      if /pws/zycbe051-vlme_fat ne 0.

        move /pws/zycbe051-vlme_fat to /pws/zycbe051-vlme.

      elseif /pws/zycbe051-vlme ne 0.

        move /pws/zycbe051-vlme to /pws/zycbe051-vlme_fat.

      endif.

      itab_zycbt051-vlme      = /pws/zycbe051-vlme.

      itab_zycbt051-vlme_fat  = /pws/zycbe051-vlme_fat.

...

 

...

  endloop.

  loop at itab_zycbt030.

    itab_zycbt030-s_kwert = v_s_kwert.

    modify itab_zycbt030.

  endloop.

  select *

         from /pws/zycbt209

         into table itab_zycbt209

         where nrinvoic = itab_zycbt050-nrinvoic and

               gsberf   = itab_zycbt050-gsberf   and

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

               nrparcf  = itab_zycbt050-nrparcf. "#EC CI_NOFIRST

* << Fim da exclusão

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

               nrparcf  = itab_zycbt050-nrparcf.        "#EC CI_NOFIRST

* << Fim da inclusão

endform.

form select_devol_vincul.

  refresh: itab_zycbt050.

  clear:   itab_zycbt050.

  if not itab_zycbt005[] is initial.

    select * from /pws/zycbt050

        into table itab_zycbt050

        for all entries in itab_zycbt005

        where nrseqc   = itab_zycbt005-nrseqc

          and tpdesp   = itab_zycbt005-tpdesp

...

 

...

          endif.

          itab_zycbt005-slpagar = /pws/zycbe050-slpagar.

          if /pws/zycbe001-tpcontr(1) ca 'CE'.

            modify itab_zycbt005 transporting slpagar

                                 where nrinvoic = /pws/zycbe050-nrinvoic

                                   and nrparcf  = /pws/zycbe050-nrparcf

                                   and gsberf   = /pws/zycbe050-gsberf.

            modify itab_zycbt005 transporting belnr dtbelnr

                                 where nrseqc   = /pws/zycbe050-nrseqc

                                   and tpdesp   = space

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

                                   and dtvincul = /pws/zycbe050-dtvincul

.

* << Fim da exclusão

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

                                  and dtvincul = /pws/zycbe050-dtvincul.

* << Fim da inclusão

            /pws/zycbe001-belnr2   = v_zycbe050_belnr.

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

            v_belnr_001            = v_zycbe050_belnr.

* << Fim da inclusão

            /pws/zycbe001-dtvincul = itab_zycbe033-budat.

            update /pws/zycbt001 set: belnr2   = /pws/zycbe001-belnr2

                                      dtvincul = /pws/zycbe001-dtvincul

                                  where nrseqc = /pws/zycbe050-nrseqc.

            commit work.

          else.

...

 

...

      exit.

    endif.

  endloop.

  if v_sai eq 'X'.

    clear v_sai.

    exit.

  endif.

  perform limpa_itabs_contabil.

  perform seleciona_zycbt030.

  perform seleciona_zycbt045.

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

  clear v_subrc.

* << Fim da inclusão

  loop at itab_zycbt051 where status_rp eq 'I'

                         and  mark      eq 'X'.

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

    check v_subrc = 0.

    read table itab_zycbt051_aux with key

                                       nrseqc   = itab_zycbt051-nrseqc

                                       tpdesp   = itab_zycbt051-tpdesp

                                       nrparc   = itab_zycbt051-nrparc

                                       dtincl   = itab_zycbt051-dtincl

                                       nrinvoic = itab_zycbt051-nrinvoic

                                       nrparcf  = itab_zycbt051-nrparcf

                                       gsberf   = itab_zycbt051-gsberf

                                       dtvincul = itab_zycbt051-dtvincul

                                       dtvencto = itab_zycbt051-dtvencto

                                       dtreceb  = itab_zycbt051-dtreceb

                                       dtfech   = itab_zycbt051-dtfech

                                       dtpdd    = itab_zycbt051-dtpdd

                                       dtapr    = itab_zycbt051-dtapr.

    if sy-subrc = 0 and itab_zycbt051_aux-status_rp ne 'I'.

      message i015 with text-509.

      v_subrc = 4.

      continue.

    endif.

* << Fim da inclusão

    if itab_zycbt005-waers eq itab_zycbt005-waers_c.

      loop at itab_zycbt030

        where nrinvoic = itab_zycbt051-nrinvoic

          and nrparcf  = itab_zycbt051-nrparcf

          and gsberf   = itab_zycbt051-gsberf.

        itab_zycbt030-v_kwert =

          ( itab_zycbt030-kwert / itab_zycbt030-s_kwert )

          * itab_zycbt051-vlme.

        read table itab_zycbt017

                   with key nrinvoic = itab_zycbt030-nrinvoic

...

 

...

            endif.

          else.

            v_subrc = 4.

          endif.

        endif.

      endloop.

    else.

      perform recup_divisas_arbitr.

    endif.

  endloop.

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

  if v_subrc ne 0.

* << Fim da inclusão

  sy-subrc = v_subrc.

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

  else.

    v_subrc = sy-subrc.

  endif.

* << Fim da inclusão

  if sy-subrc ne 0.

    message i061 with text-225 text-155 text-126.

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

    exit.

* << Fim da inclusão

  else.

    if v_subrc = 0.

      modify /pws/zycbt050 from /pws/zycbe050.

      loop at itab_zycbt051 where mark eq 'X'.

        modify /pws/zycbt051 from itab_zycbt051.

      endloop.

      commit work.

    endif.

  endif.

  if not itab_erro1[] is initial.

...

 

...

      exit.

    endif.

  endloop.

  if v_sai eq 'X'.

    clear v_sai.

    exit.

  endif.

  perform limpa_itabs_contabil.

  perform seleciona_zycbt030.

  perform seleciona_zycbt045.

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

  clear v_subrc.

* << Fim da inclusão

  loop at itab_zycbt051 where status_rd eq 'I'

                         and  mark      eq 'X'.

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

    check v_subrc = 0.

    read table itab_zycbt051_aux with key

                                       nrseqc   = itab_zycbt051-nrseqc

                                       tpdesp   = itab_zycbt051-tpdesp

                                       nrparc   = itab_zycbt051-nrparc

                                       dtincl   = itab_zycbt051-dtincl

                                       nrinvoic = itab_zycbt051-nrinvoic

                                       nrparcf  = itab_zycbt051-nrparcf

                                       gsberf   = itab_zycbt051-gsberf

                                       dtvincul = itab_zycbt051-dtvincul

                                       dtvencto = itab_zycbt051-dtvencto

                                       dtreceb  = itab_zycbt051-dtreceb

                                       dtfech   = itab_zycbt051-dtfech

                                       dtpdd    = itab_zycbt051-dtpdd

                                       dtapr    = itab_zycbt051-dtapr.

    if sy-subrc = 0 and itab_zycbt051_aux-status_rd ne 'I'.

      message i015 with text-509.

      v_subrc = 4.

      continue.

    endif.

* << Fim da inclusão

    if itab_zycbt005-waers eq itab_zycbt005-waers_c.

      loop at itab_zycbt030

        where nrinvoic = itab_zycbt051-nrinvoic

          and nrparcf  = itab_zycbt051-nrparcf

          and gsberf   = itab_zycbt051-gsberf.

        itab_zycbt030-v_kwert =

          ( itab_zycbt030-kwert / itab_zycbt030-s_kwert )

          * itab_zycbt051-vlme.

        read table itab_zycbt017

                   with key nrinvoic = itab_zycbt030-nrinvoic

...

 

...

            endif.

          else.

            v_subrc = 4.

          endif.

        endif.

      endloop.

    else.

      perform recup_divisas_arbitr.

    endif.

  endloop.

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

  if v_subrc ne 0.

* << Fim da inclusão

  sy-subrc = v_subrc.

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

  else.

    v_subrc = sy-subrc.

  endif.

* << Fim da inclusão

  if v_subrc ne 0.

    if  itab_erro[] is initial.

      message i061 with text-100 text-155 text-126.

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

      exit.

* << Fim da inclusão

    endif.

  else.

    modify /pws/zycbt050 from /pws/zycbe050.

    loop at itab_zycbt051 where mark eq 'X'.

      modify /pws/zycbt051 from itab_zycbt051.

    endloop.

    commit work.

  endif.

  perform grava_contabilizacao.

  perform executa_exit using 'VNC016'.

...

 

...

      exit.

    endif.

  endloop.

  if v_sai eq 'X'.

    clear v_sai.

    exit.

  endif.

  perform limpa_itabs_contabil.

  perform seleciona_zycbt030.

  perform seleciona_zycbt045.

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

  clear v_subrc.

* << Fim da inclusão

  loop at itab_zycbt051 where status_rp eq 'I'

                         and  mark      eq 'X'.

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

    check v_subrc = 0.

    read table itab_zycbt051_aux with key

                                       nrseqc   = itab_zycbt051-nrseqc

                                       tpdesp   = itab_zycbt051-tpdesp

                                       nrparc   = itab_zycbt051-nrparc

                                       dtincl   = itab_zycbt051-dtincl

                                       nrinvoic = itab_zycbt051-nrinvoic

                                       nrparcf  = itab_zycbt051-nrparcf

                                       gsberf   = itab_zycbt051-gsberf

                                       dtvincul = itab_zycbt051-dtvincul

                                       dtvencto = itab_zycbt051-dtvencto

                                       dtreceb  = itab_zycbt051-dtreceb

                                       dtfech   = itab_zycbt051-dtfech

                                       dtpdd    = itab_zycbt051-dtpdd

                                       dtapr    = itab_zycbt051-dtapr.

    if sy-subrc = 0 and itab_zycbt051_aux-status_rp ne 'I'.

      message i015 with text-509.

      v_subrc = 4.

      continue.

    endif.

* << Fim da inclusão

    if itab_zycbt005-waers eq itab_zycbt005-waers_c.

      loop at itab_zycbt030

        where nrinvoic = itab_zycbt051-nrinvoic

          and nrparcf  = itab_zycbt051-nrparcf

          and gsberf   = itab_zycbt051-gsberf.

        itab_zycbt030-v_kwert =

          ( itab_zycbt030-kwert / itab_zycbt030-s_kwert )

          * itab_zycbt051-vlme.

        read table itab_zycbt017

                   with key nrinvoic = itab_zycbt030-nrinvoic

...

 

...

            endif.

          else.

            v_subrc = 4.

          endif.

        endif.

      endloop.

    else.

      perform recup_divisas_arbitr.

    endif.

  endloop.

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

  if v_subrc ne 0.

    sy-subrc = v_subrc.

  else.

    v_subrc = sy-subrc.

  endif.

* << Fim da inclusão

  if sy-subrc ne 0.

    message i061 with text-225 text-155 text-126.

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

    exit.

* << Fim da inclusão

  else.

    if v_subrc = 0.

      modify /pws/zycbt050 from /pws/zycbe050.

      modify /pws/zycbt030 from table itab_zycbt030.

      delete from /pws/zycbt006

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F09

 

...

  endif.

  v_codeven_dev = '014P'.

  perform get_parameters using v_codeven_dev.

  read table itab_zyglt316 index 1.

  if sy-subrc eq 0.

    v_contad = itab_zyglt316-konts.

  else.

    message i016 with text-011.

    exit.

  endif.

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

  clear v_subrc.

* << Fim da inclusão

  loop at itab_zycbt051 where status_pdd eq 'I'

                          and  mark      eq 'X'.

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

    check v_subrc = 0.

    read table itab_zycbt051_aux with key

                                       nrseqc   = itab_zycbt051-nrseqc

                                       tpdesp   = itab_zycbt051-tpdesp

                                       nrparc   = itab_zycbt051-nrparc

                                       dtincl   = itab_zycbt051-dtincl

                                       nrinvoic = itab_zycbt051-nrinvoic

                                       nrparcf  = itab_zycbt051-nrparcf

                                       gsberf   = itab_zycbt051-gsberf

                                       dtvincul = itab_zycbt051-dtvincul

                                       dtvencto = itab_zycbt051-dtvencto

                                       dtreceb  = itab_zycbt051-dtreceb

                                       dtfech   = itab_zycbt051-dtfech

                                       dtpdd    = itab_zycbt051-dtpdd

                                       dtapr    = itab_zycbt051-dtapr.

    if sy-subrc = 0 and itab_zycbt051_aux-status_pdd ne 'I'.

      message i015 with text-509.

      v_subrc = 4.

      continue.

    endif.

* << Fim da inclusão

    if itab_zycbt051-vlme_fat is initial.

      message i015 with text-017.

      continue.

    endif.

    if itab_zycbt051-dtpdd is initial.

      message i015 with text-028.

      continue.

    endif.

    v_codeven_dev = '014P'.

    perform get_parameters using v_codeven_dev.

...

 

...

          endloop.

        endif.

      else.

        v_subrc = 4.

        loop at itab_zycbt034.

          message i016 with itab_zycbt034-descricao.

        endloop.

      endif.

    endif.

  endloop.

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

  if v_subrc ne 0.

    sy-subrc = v_subrc.

  else.

    v_subrc = sy-subrc.

  endif.

* << Fim da inclusão

  if sy-subrc ne 0.

    message i061 with text-138 text-126.

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

    exit.

* << Fim da inclusão

  else.

    if v_subrc = 0.

      modify /pws/zycbt050 from /pws/zycbe050.

      loop at itab_zycbt051 where mark eq 'X' and

                            belnr_pdd1 ne space.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR059

 

...

        itab_dados_rp-tpdesp   = itab_zycbt051-tpdesp.

        itab_dados_rp-nrparc   = itab_zycbt051-nrparc.

        itab_dados_rp-dtincl   = itab_zycbt051-dtincl.

        itab_dados_rp-gsberf   = itab_zycbt051-gsberf.

        itab_dados_rp-dtvincul = itab_zycbt051-dtvincul.

        itab_dados_rp-dtvencto = itab_zycbt051-dtvencto.

        itab_dados_rp-tpdev    = itab_zycbt051-tpdev.

        itab_dados_rp-vlme     = itab_zycbt051-vlme.

        itab_dados_rp-belnr_rp = itab_zycbt051-belnr_rp.

        itab_dados_rp-dtreceb  = itab_zycbt051-dtreceb.

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

        itab_dados_rp-NRSEQC   = itab_zycbt051-NRSEQC.

        itab_dados_rp-NRINVOIC = itab_zycbt051-NRINVOIC.

        itab_dados_rp-NRPARCF  = itab_zycbt051-NRPARCF.

        itab_dados_rp-DTFECH   = itab_zycbt051-DTFECH.

        itab_dados_rp-DTPDD    = itab_zycbt051-DTPDD.

        itab_dados_rp-DTAPR    = itab_zycbt051-DTAPR .

* << Fim da inclusão

        append itab_dados_rp.

      elseif itab_zycbt051-tpdev(2) eq 'RD'.

        itab_dados_rd-tpdesp   = itab_zycbt051-tpdesp.

        itab_dados_rd-nrparc   = itab_zycbt051-nrparc.

        itab_dados_rd-dtincl   = itab_zycbt051-dtincl.

        itab_dados_rd-gsberf   = itab_zycbt051-gsberf.

        itab_dados_rd-dtvincul = itab_zycbt051-dtvincul.

        itab_dados_rd-dtvencto = itab_zycbt051-dtvencto.

        itab_dados_rd-tpdev    = itab_zycbt051-tpdev.

        itab_dados_rd-vlme     = itab_zycbt051-vlme.

        itab_dados_rd-belnr_rd = itab_zycbt051-belnr_rd.

        itab_dados_rd-dtfech   = itab_zycbt051-dtfech.

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

        itab_dados_rd-NRSEQC   = itab_zycbt051-NRSEQC.

        itab_dados_rd-NRINVOIC = itab_zycbt051-NRINVOIC.

        itab_dados_rd-NRPARCF  = itab_zycbt051-NRPARCF.

        itab_dados_rd-DTFECH   = itab_zycbt051-DTFECH.

        itab_dados_rd-DTPDD    = itab_zycbt051-DTPDD.

        itab_dados_rd-DTAPR    = itab_zycbt051-DTAPR .

* << Fim da inclusão

        append itab_dados_rd.

      elseif itab_zycbt051-tpdev(2) eq 'DP'.

        itab_dados_dp-tpdesp   = itab_zycbt051-tpdesp.

        itab_dados_dp-nrparc   = itab_zycbt051-nrparc.

        itab_dados_dp-dtincl   = itab_zycbt051-dtincl.

        itab_dados_dp-gsberf   = itab_zycbt051-gsberf.

        itab_dados_dp-dtvincul = itab_zycbt051-dtvincul.

        itab_dados_dp-dtvencto = itab_zycbt051-dtvencto.

        itab_dados_dp-tpdev    = itab_zycbt051-tpdev.

        itab_dados_dp-vlme     = itab_zycbt051-vlme.

        itab_dados_dp-belnr_apr = itab_zycbt051-belnr_apr.

        itab_dados_dp-dtapr    = itab_zycbt051-dtapr.

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

        itab_dados_dp-NRSEQC   = itab_zycbt051-NRSEQC.

        itab_dados_dp-NRINVOIC = itab_zycbt051-NRINVOIC.

        itab_dados_dp-NRPARCF  = itab_zycbt051-NRPARCF.

        itab_dados_dp-DTFECH   = itab_zycbt051-DTFECH.

        itab_dados_dp-DTPDD    = itab_zycbt051-DTPDD.

        itab_dados_dp-DTAPR    = itab_zycbt051-DTAPR .

* << Fim da inclusão

        append itab_dados_dp.

      elseif itab_zycbt051-tpdev(2) eq 'PD'.

        itab_dados_pd-tpdesp     = itab_zycbt051-tpdesp.

        itab_dados_pd-nrparc     = itab_zycbt051-nrparc.

        itab_dados_pd-dtincl     = itab_zycbt051-dtincl.

        itab_dados_pd-gsberf     = itab_zycbt051-gsberf.

        itab_dados_pd-dtvincul   = itab_zycbt051-dtvincul.

        itab_dados_pd-dtvencto   = itab_zycbt051-dtvencto.

        itab_dados_pd-tpdev      = itab_zycbt051-tpdev.

        itab_dados_pd-vlme       = itab_zycbt051-vlme.

        itab_dados_pd-belnr_pdd1 = itab_zycbt051-belnr_pdd1.

        itab_dados_pd-belnr_pdd2 = itab_zycbt051-belnr_pdd2.

        itab_dados_pd-dtpdd      = itab_zycbt051-dtpdd.

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

        itab_dados_pd-NRSEQC   = itab_zycbt051-NRSEQC.

        itab_dados_pd-NRINVOIC = itab_zycbt051-NRINVOIC.

        itab_dados_pd-NRPARCF  = itab_zycbt051-NRPARCF.

        itab_dados_pd-DTFECH   = itab_zycbt051-DTFECH.

        itab_dados_pd-DTPDD    = itab_zycbt051-DTPDD.

        itab_dados_pd-DTAPR    = itab_zycbt051-DTAPR .

* << Fim da inclusão

        append itab_dados_pd.

      endif.

    endloop.

  endloop.

  describe table itab_dados_rp lines cont_rp.

  describe table itab_dados_rd lines cont_rd.

  describe table itab_dados_dp lines cont_dp.

  describe table itab_dados_pd lines cont_pd.

  if cont_rp >= cont_rd

     and not cont_rp is initial.

...

 

...

    itab_dados_dev-v_can      = v_canc.

    itab_dados_dev-belnr_canc = itab_zycbt050-belnr_canc.

    itab_dados_dev-dtdevol    = itab_zycbt050-dtdevol.

    itab_dados_dev-dtcanc     = itab_zycbt050-dtcanc.

    if cont_geral eq 0.

      append itab_dados_dev.

    else.

      .

      do cont_geral times.

        read table itab_dados_rp index sy-index.

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

        if sy-subrc = 0.

* << Fim da exclusão

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

        if sy-subrc = 0

           and itab_dados_rp-nrinvoic = itab_zycbt050-nrinvoic

           and itab_dados_rp-nrparcf  = itab_zycbt050-nrparcf

           and itab_dados_rp-gsberf   = itab_zycbt050-gsberf.

* << Fim da inclusão

          itab_dados_dev-vlme_rp   = itab_dados_rp-vlme.

          itab_dados_dev-belnr_rp  = itab_dados_rp-belnr_rp.

          itab_dados_dev-dtreceb   = itab_dados_rp-dtreceb.

        endif.

        read table itab_dados_rd index sy-index.

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

        if sy-subrc = 0.

* << Fim da exclusão

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

        if sy-subrc = 0

           and itab_dados_rd-nrinvoic = itab_zycbt050-nrinvoic

           and itab_dados_rd-nrparcf  = itab_zycbt050-nrparcf

           and itab_dados_rd-gsberf   = itab_zycbt050-gsberf.

* << Fim da inclusão

          itab_dados_dev-vlme_rd   = itab_dados_rd-vlme.

          itab_dados_dev-belnr_rd  = itab_dados_rd-belnr_rd.

          itab_dados_dev-dtfech    = itab_dados_rd-dtfech.

        endif.

        read table itab_dados_dp index sy-index.

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

        if sy-subrc = 0.

* << Fim da exclusão

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

        if sy-subrc = 0

           and itab_dados_dp-nrinvoic = itab_zycbt050-nrinvoic

           and itab_dados_dp-nrparcf  = itab_zycbt050-nrparcf

           and itab_dados_dp-gsberf   = itab_zycbt050-gsberf.

* << Fim da inclusão

          itab_dados_dev-vlme_apr   = itab_dados_dp-vlme.

          itab_dados_dev-belnr_apr  = itab_dados_dp-belnr_apr.

          itab_dados_dev-dtapr      = itab_dados_dp-dtapr.

        endif.

        read table itab_dados_pd index sy-index.

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

        if sy-subrc = 0.

* << Fim da exclusão

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

        if sy-subrc = 0

           and itab_dados_pd-nrinvoic = itab_zycbt050-nrinvoic

           and itab_dados_pd-nrparcf  = itab_zycbt050-nrparcf

           and itab_dados_pd-gsberf   = itab_zycbt050-gsberf.

* << Fim da inclusão

          itab_dados_dev-vlme_pdd1  = itab_dados_pd-vlme.

          itab_dados_dev-belnr_pdd1 = itab_dados_pd-belnr_pdd1.

          itab_dados_dev-vlme_pdd2  = itab_dados_pd-vlme.

          itab_dados_dev-belnr_pdd2 = itab_dados_pd-belnr_pdd2.

          itab_dados_dev-dtpdd      = itab_dados_pd-dtpdd.

        endif.

        append itab_dados_dev.

        clear itab_dados_dev.

      enddo.

    endif.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB009

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 509

 

Texto: (48 caracteres)

"Já existe recebimento nesta data. Não permitido."

 

Comprimento máximo: 48