CE PLUS - Nota 010442

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 28/07/2010 00:00:00

Data/Hora Última Alteração: 18/02/2011 14:28:34

Descrição da Nota: ROTINA MENSAL -BI- TRATAR PARAMETRIZAÇAO DA 321-FINAC E IMPORT

Sintoma

Novo tratamento, no preechimento de campos no batch imput de rotina mensal de importação e

financeiro, considerando as regras da tabela de parametro /PWS/ZYGLT321.

 

 

Solução

Novo tratamento, no preechimento de campos no batch imput de rotina mensal de importação e

financeiro, considerando as regras da tabela de parametro /PWS/ZYGLT321.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL IMP. - PARCELAS DE PRINCIPAL A MAIS QUE PARCELAS DE JUROS

SOCIEDADE PARCEIRA ROTINA MENSAL FINANCEIRO

DA - ROTINA MENSAL DE ESTORNO PARA EXP, IMP, FINANC

EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA

SOCIEDADE PARCEIRA ROTINA MENSAL DE IMPORTAÇÃO

ROTINA MENSAL IMPORTAÇÃO - ESTORNO MENSAL - DATA DE LANÇAMENTO

Informações Complementares

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

Nota Número 10442 Data: 28/07/2010 Hora: 15:10:55

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

 

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

Nota Número              : 10442

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00004

Agrupamento              : 00032

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

Referência às notas relacionadas:

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

 

01034  - 00006 - 6.0    - 00022  - ROTINA MENSAL IMPORTAÇÃO - ESTORNO MENSAL - DATA DE LANÇAMENTO

07119  - 00005 - 7.0    - 00006  - ROTINA MENSAL IMP. - PARCELAS DE PRINCIPAL A MAIS QUE PARCELAS DE

07450  - 00004 - 7.0    - 00007  - DA - ROTINA MENSAL DE ESTORNO PARA EXP, IMP, FINANC

09327  - 00003 - 8.0    - 00001  - EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MO

10211  - 00002 - 8.0    - 00003  - SOCIEDADE PARCEIRA ROTINA MENSAL DE IMPORTAÇÃO

10226  - 00001 - 8.0    - 00003  - SOCIEDADE PARCEIRA ROTINA MENSAL FINANCEIRO

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

ROTINA MENSAL -BI- TRATAR PARAMETRIZAÇAO DA 321-FINAC E IMPORT

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

Palavras Chave:

ROTINA MENSAL -BI- TRATAR PARAMETRIZAÇAO DA 321-FINAC E IMPORT

 

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

Objetos da nota:

REPS /PWS/ZYCBI112

REPS /PWS/ZYCBI113

REPS /PWS/ZYCBR112

REPS /PWS/ZYCBR113

 

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

Modificações efetuadas em REPS /PWS/ZYCBI112

 

...

      itab_zycbe033-budat   = itab_contabil-dtcont.

    endif.

    itab_zycbe033-bukrs   = itab_contabil-bukrs.

    itab_zycbe033-waers   = itab_contabil-waers.

    itab_zycbe033-wrbtr   = itab_contabil-vlme.

    if wa_zycbt007-fdtdoc = 'L'.

      itab_zycbe033-bldat   = itab_zycbe033-budat.

    else.

      itab_zycbe033-bldat   = sy-datum.

    endif.

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

    if wa_zycbt007-dt_efet = 'D'.

      itab_zycbe033-d_valut = itab_zycbe033-budat.

      itab_zycbe033-c_valut = itab_zycbe033-budat.

    elseif wa_zycbt007-dt_efet = 'L'.

      itab_zycbe033-d_valut = sy-datum.

      itab_zycbe033-c_valut = sy-datum.

    elseif wa_zycbt007-dt_efet = 'E'.

      itab_zycbe033-d_valut = itab_contabil-dtfpar.

      itab_zycbe033-c_valut = itab_contabil-dtfpar.

    endif.

* << Fim da exclusão

    itab_zycbe033-bktxt   = wa_zycbt007-bktxt.

    read table itab_zycbt112 with key nrseq = itab_contabil-nrseq.

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

    if wa_zycbt007-fprovisao = 'C' or itab_contabil-tpcontab = 'T'.

      loop at itab_zycbt013.

        case itab_zycbt013-cpor3.

          when 'XBLNR'.

            case itab_zycbt013-cpocb.

              when 'NRSEQC'.

                itab_zycbe033-xblnr = itab_contabil-nrseq.

              when 'NRSEQ'.

                itab_zycbe033-xblnr = itab_contabil-nrseq.

              when 'NRCONTR'.

                itab_zycbe033-xblnr = itab_contabil-nrseq.

              when 'NRINVOIC'.

                itab_zycbe033-xblnr = itab_contabil-nrseq.

            endcase.

        endcase.

      endloop.

      itab_zycbe033-d_zuonr = itab_zycbt112-nrfinanc.

      itab_zycbe033-c_zuonr = itab_zycbt112-nrfinanc.

    else.

      itab_zycbe033-d_zuonr = itab_contabil-bco.

      itab_zycbe033-c_zuonr = itab_contabil-bco.

    endif.

    itab_zycbe033-vbund   = itab_zycbt112-vbund.

    itab_zycbe033-kursf   = itab_contabil-kursf.

    itab_zycbe033-blart   = itab_contabil-blart.

    itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxt.

    itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxt.

    itab_zycbe033-ps_posid = itab_contabil-ps_posid.

    itab_zycbe033-d_newko = itab_contabil-d_newko.

    itab_zycbe033-d_gsber = itab_contabil-gsber.

    itab_zycbe033-d_kostl = itab_contabil-kostl.

    itab_zycbe033-d_prctr = itab_contabil-prctr.

    itab_zycbe033-d_fipos = itab_contabil-fipos.

    itab_zycbe033-d_fictr = itab_contabil-fictr.

    itab_zycbe033-c_newko = itab_contabil-c_newko.

    itab_zycbe033-c_gsber = itab_contabil-gsber.

    itab_zycbe033-c_kostl = itab_contabil-kostl.

    itab_zycbe033-c_prctr = itab_contabil-prctr.

    itab_zycbe033-c_fipos = itab_contabil-fipos.

    itab_zycbe033-c_fictr = itab_contabil-fictr.

    if itab_contabil-vlme > 0.

      append itab_zycbe033.

* << Fim da exclusão

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

      if itab_contabil-tpcontab is initial .

         v_codeven = '002J'.

         perform seleciona_321_i using v_codeven.

      elseif itab_contabil-tpcontab = 'C'.

         v_codeven = '001C'.

         perform seleciona_321_i using v_codeven.

* << Fim da inclusão

    endif.

    if not itab_contabil-vlmeir is initial.

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

         v_codeven = '003I'.

* << Fim da inclusão

      concatenate 'IR' itab_contabil-codint itab_contabil-bco

                  itab_contabil-bukrs itab_contabil-gsber

                  itab_contabil-waers itab_contabil-d_newkoir

                  itab_contabil-c_newkoir into itab_zycbe033-cpochv.

      itab_zycbe033-wrbtr   = itab_contabil-vlmeir.

      itab_zycbe033-d_newko = itab_contabil-d_newkoir.

      itab_zycbe033-c_newko = itab_contabil-c_newkoir.

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

      itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxtir.

      itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxtir.

* << Fim da exclusão

      itab_zycbe033-blart   = itab_contabil-blartir.

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

      append itab_zycbe033.

* << Fim da exclusão

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

         perform seleciona_321_i using v_codeven.

* << Fim da inclusão

    endif.

    loop at itab_zycbt034.

      concatenate text-114 itab_contabil-bco itab_contabil-bukrs

...

 

...

    itab_zycbe033-bldat   = itab_zycbe033-budat.

  endif.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  itab_zycbe033-wrbtr = itab_contabil-vlme.

  itab_zycbe033-agums = wa_zycbt011-agums.

  itab_zycbe033-agkoa = wa_zycbt011-koart.

  itab_zycbe033-c_gsber = itab_contabil-gsber.

  itab_zycbe033-d_gsber = itab_contabil-gsber.

  read table itab_zycbt112 with key nrseq = itab_contabil-nrseq.

  itab_zycbe033-agkon = itab_zycbt112-lifnr.

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

  if wa_zycbt007-dt_efet = 'D'.

    itab_zycbe033-d_valut = itab_zycbe033-budat.

    itab_zycbe033-c_valut = itab_zycbe033-budat.

  elseif wa_zycbt007-dt_efet = 'L'.

    itab_zycbe033-d_valut = sy-datum.

    itab_zycbe033-c_valut = sy-datum.

  elseif wa_zycbt007-dt_efet = 'E'.

    itab_zycbe033-d_valut = itab_contabil-dtfpar.

    itab_zycbe033-c_valut = itab_contabil-dtfpar.

  endif.

* << Fim da exclusão

  read table itab_zycbt113p with key nrseq = itab_contabil-nrseq

                                     nrparc = itab_contabil-nrparcp.

  if sy-subrc = 0.

    itab_zycbt036-tcode  = text-100.

    itab_zycbt036-tabela = text-101.

    itab_zycbt036-cpochv = itab_contabil-nrseq.

    itab_zycbt036-belnr  = itab_zycbt113p-belnr_lp.

    if itab_zycbt113p-belnr_lp = itab_zycbt113p-belnr_ori.

      if not itab_zycbt113p-dtcont_ori is initial.

        v_dtcont = itab_zycbt113p-dtcont_ori.

...

 

...

                       changing v_ano.

    select single awkey from bkpf

                        into itab_zycbt036-awkey

                        where belnr eq itab_zycbt113p-belnr_lp

                          and bukrs eq itab_zycbt112-bukrs

                          and gjahr eq v_ano.

    append itab_zycbt036.

  endif.

  itab_zycbe033-d_newko = itab_contabil-d_newko.

  itab_zycbe033-c_newko = itab_contabil-c_newko.

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

  itab_zycbe033-xblnr   = itab_contabil-nrseq.

  itab_zycbe033-d_zuonr = itab_contabil-nrseq.

  itab_zycbe033-c_zuonr = itab_contabil-nrseq.

  itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

  itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

* << Fim da exclusão

  perform verify_null_field using itab_contabil-bukrs

                                  'BUKRS'

                                  text-073.

  itab_zycbe033-bukrs  = itab_contabil-bukrs.

  perform verify_null_field using itab_contabil-waers

                                  'WAERS'

                                  text-035.

  itab_zycbe033-waers  = itab_contabil-waers.

  itab_zycbe033-kursf  = itab_contabil-kursf.

  perform verify_null_field using wa_zycbt011-blart

                                  'BLART'

                                  text-103.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  itab_zycbe033-vbund = itab_zycbt112-vbund.

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

     if itab_contabil-tpcontab = 'T'.

         v_codeven = '001T'.

         perform seleciona_321_i using v_codeven.

     endif.

* << Fim da inclusão

  append itab_zycbe033.

  loop at itab_zycbt034.

    concatenate text-114 itab_contabil-bco itab_contabil-bukrs

             itab_contabil-gsber itab_contabil-nrseq

             text-115 itab_zycbt034-descricao text-116

             into v_msg separated by space.

    write: / v_msg.

  endloop.

  if itab_zycbt034[] is initial.

    call function '/PWS/ZYCM_TRANSACAO_F_51T'

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI113

 

...

    else.

      itab_zycbe033-budat   = itab_contabil-dtcont.

    endif.

    itab_zycbe033-bukrs   = itab_contabil-bukrs.

    itab_zycbe033-waers   = itab_contabil-waers.

    if wa_zycbt007-fdtdoc = 'L'.

      itab_zycbe033-bldat   = itab_zycbe033-budat.

    else.

      itab_zycbe033-bldat   = sy-datum.

    endif.

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

    if wa_zycbt007-dt_efet = 'D'.

      itab_zycbe033-d_valut = itab_zycbe033-budat.

      itab_zycbe033-c_valut = itab_zycbe033-budat.

    elseif wa_zycbt007-dt_efet = 'L'.

      itab_zycbe033-d_valut = sy-datum.

      itab_zycbe033-c_valut = sy-datum.

    elseif wa_zycbt007-dt_efet = 'E'.

      itab_zycbe033-d_valut = itab_contabil-dtfpar.

      itab_zycbe033-c_valut = itab_contabil-dtfpar.

    endif.

* << Fim da exclusão

    itab_zycbe033-bktxt   = wa_zycbt007-bktxt.

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

    loop at itab_zycbt013.

      case itab_zycbt013-cpor3.

        when 'XBLNR'.

          case itab_zycbt013-cpocb.

            when 'NRSEQC'.

              itab_zycbe033-xblnr = itab_contabil-nrcorresp.

            when 'NRSEQ'.

              itab_zycbe033-xblnr = itab_contabil-nrcorresp.

            when 'NRCONTR'.

              itab_zycbe033-xblnr = itab_contabil-nrcorresp.

            when 'NRINVOIC'.

              itab_zycbe033-xblnr = itab_contabil-nrcorresp.

          endcase.

      endcase.

    endloop.

* << Fim da exclusão

    clear itab_zycbt128.

    read table itab_zycbt128 with key nrseq = itab_contabil-nrcorresp.

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

    itab_zycbe033-d_zuonr = itab_zycbt128-nremprest.

    itab_zycbe033-c_zuonr = itab_zycbt128-nremprest.

* << Fim da exclusão

    itab_zycbe033-kursf   = itab_contabil-kursf.

    itab_zycbe033-blart   = itab_contabil-blart.

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

    itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxt.

    itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxt.

* << Fim da exclusão

    itab_zycbe033-d_newko = itab_contabil-d_newko.

    itab_zycbe033-d_gsber = itab_contabil-gsber.

    itab_zycbe033-d_kostl = itab_contabil-kostl.

    itab_zycbe033-d_prctr = itab_zycbt128-prctr.

    itab_zycbe033-d_fipos = itab_contabil-fipos.

    itab_zycbe033-d_fictr = itab_contabil-fictr.

    itab_zycbe033-c_newko = itab_contabil-c_newko.

    itab_zycbe033-c_gsber = itab_contabil-gsber.

    itab_zycbe033-c_prctr = itab_zycbt128-prctr.

    itab_zycbe033-c_fipos = itab_contabil-fipos.

    itab_zycbe033-c_fictr = itab_contabil-fictr.

    perform verifica_pais_filial using itab_zycbt128-bukrs

                                       itab_zycbt128-j_1bbranch.

    itab_zycbe033-brnch   = itab_zycbt128-j_1bbranch.

    itab_zycbe033-vbund = itab_zycbt128-vbund.

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

    if itab_zycbe033-wrbtr > 0.

      append itab_zycbe033.

* << Fim da exclusão

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

      if itab_contabil-tpcontab is initial .

         v_codeven = '002J'.

         perform seleciona_321_f using v_codeven.

      elseif itab_contabil-tpcontab = 'C'.

         v_codeven = '001C'.

         perform seleciona_321_f using v_codeven.

* << Fim da inclusão

    endif.

    if itab_contabil-vlrprovir > 0.

      itab_zycbe033-wrbtr   = itab_contabil-vlrprovir.

      if itab_contabil-tpcontab is initial.

        concatenate 'IR' itab_contabil-bco

                    itab_contabil-bukrs itab_contabil-gsber

                    itab_contabil-waers itab_contabil-d_newkoir

                    itab_contabil-c_newkoir itab_contabil-nrcorresp

                    into itab_zycbe033-cpochv.

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

        v_codeven = '002I'.

* << Fim da inclusão

      elseif itab_contabil-tpcontab = 'C'.

        concatenate 'CI' itab_contabil-bco

                    itab_contabil-bukrs itab_contabil-gsber

                    itab_contabil-waers itab_contabil-d_newkoir

                    itab_contabil-c_newkoir itab_contabil-nrcorresp

                    into itab_zycbe033-cpochv.

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

        v_codeven = '001IC'.

* << Fim da inclusão

      endif.

      if not itab_contabil-d_newkoir is initial and

         not itab_contabil-c_newkoir is initial.

        itab_zycbe033-d_newko = itab_contabil-d_newkoir.

        itab_zycbe033-c_newko = itab_contabil-c_newkoir.

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

        itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxtir.

        itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxtir.

* << Fim da exclusão

        itab_zycbe033-blart   = itab_contabil-blartir.

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

        append itab_zycbe033.

* << Fim da exclusão

      endif.

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

         perform seleciona_321_f using v_codeven.

* << Fim da inclusão

    endif.

    loop at itab_zycbt034.

...

 

...

    itab_zycbe033-bldat   = itab_zycbe033-budat.

  endif.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  itab_zycbe033-wrbtr = itab_contabil-vlme.

  itab_zycbe033-agums = wa_zycbt011-agums.

  itab_zycbe033-agkoa = wa_zycbt011-koart.

  itab_zycbe033-c_gsber = itab_contabil-gsber.

  itab_zycbe033-d_gsber = itab_contabil-gsber.

  read table itab_zycbt128 with key nrseq = itab_contabil-nrcorresp.

  itab_zycbe033-agkon = itab_zycbt128-bcofinan.

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

  if wa_zycbt007-dt_efet = 'D'.

    itab_zycbe033-d_valut = itab_zycbe033-budat.

    itab_zycbe033-c_valut = itab_zycbe033-budat.

  elseif wa_zycbt007-dt_efet = 'L'.

    itab_zycbe033-d_valut = sy-datum.

    itab_zycbe033-c_valut = sy-datum.

  elseif wa_zycbt007-dt_efet = 'E'.

    itab_zycbe033-d_valut = itab_contabil-dtfpar.

    itab_zycbe033-c_valut = itab_contabil-dtfpar.

  endif.

* << Fim da exclusão

  read table itab_zycbt129p with key nrseq  = itab_contabil-nrcorresp

                                     nrparc = itab_contabil-nrparcp.

  if sy-subrc = 0.

    itab_zycbt036-tcode  = text-114.

    itab_zycbt036-tabela = text-115.

    itab_zycbt036-cpochv = itab_contabil-nrcorresp.

    itab_zycbt036-belnr  = itab_zycbt129p-belnr_lp.

    clear v_ano.

    if itab_zycbt128-fdtinicial = 'D' or

       itab_zycbt128-fdtinicial = 'I' or

...

 

...

    endif.

    select single awkey from bkpf

                        into itab_zycbt036-awkey

                        where belnr eq itab_zycbt129p-belnr_lp

                          and bukrs eq itab_zycbt128-bukrs

                          and gjahr eq v_ano.

    append itab_zycbt036.

  endif.

  itab_zycbe033-d_newko = itab_contabil-d_newko.

  itab_zycbe033-c_newko = itab_contabil-c_newko.

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

  itab_zycbe033-xblnr   = itab_contabil-nrcorresp.

  itab_zycbe033-d_zuonr = itab_contabil-nrcorresp.

  itab_zycbe033-c_zuonr = itab_contabil-nrcorresp.

  itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

  itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

* << Fim da exclusão

  perform verify_null_field using itab_contabil-bukrs

                                  'BUKRS'

                                  text-081.

  itab_zycbe033-bukrs  = itab_contabil-bukrs.

  perform verify_null_field using itab_contabil-waers

                                  'WAERS'

                                  text-035.

  itab_zycbe033-waers  = itab_contabil-waers.

  itab_zycbe033-kursf  = itab_contabil-kursf.

  perform verify_null_field using wa_zycbt011-blart

                                  'BLART'

                                  text-117.

  itab_zycbe033-blart  = wa_zycbt011-blart.

  perform verifica_pais_filial using itab_zycbt128-bukrs

                                     itab_zycbt128-j_1bbranch.

  itab_zycbe033-brnch   = itab_zycbt128-j_1bbranch.

  itab_zycbe033-vbund = itab_zycbt128-vbund.

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

     if itab_contabil-tpcontab = 'T'.

         v_codeven = '001T'.

         perform seleciona_321_f using v_codeven.

     endif.

* << Fim da inclusão

  append itab_zycbe033.

  loop at itab_zycbt034.

    concatenate text-089 itab_contabil-bco itab_contabil-bukrs

             itab_contabil-gsber itab_contabil-nrcorresp

             text-090 itab_zycbt034-descricao text-091

             into v_msg separated by space.

    write: / v_msg.

  endloop.

  if itab_zycbt034[] is initial.

    call function '/PWS/ZYCA_TRANSACAO_F_51T'

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR112

 

...

      end of itab_pagas.

data: begin of itab_status occurs 5,

        fcode like rsmpe-func,

      end of itab_status.

data: itab_zycbt009  like /pws/zycbt009 occurs  3  with header line,

      itab_zycbt010  like /pws/zycbt010 occurs  2  with header line,

      itab_zycbt011  like /pws/zycbt011 occurs  5  with header line,

      itab_zycbt013  like /pws/zycbt013 occurs  5  with header line,

      itab_zycbt154  like /pws/zycbt154 occurs 10  with header line,

      itab_tcurx     like tcurx         occurs 10  with header line.

* >> Início da inclusão:

data:  itab_zyglt321 type /pws/zyglt321 occurs 0 with header line.

* << Fim da inclusão

data: begin of itab_contabil occurs 20,

        tpcontab   type c,

        codmodul   like /pws/zycbt120-codmodul,

        bco        like /pws/zycbt112-bcofinan,

        dtcont     like sy-datum,

        bukrs      like /pws/zycbt112-bukrs,

        gsber      like /pws/zycbt112-gsber,

        waers      like /pws/zycbt112-waers,

        vlme       like /pws/zycbt112-vlme,

        vlmeir     like /pws/zycbt112-vlme,

...

 

...

        modify screen.

      endif.

    endloop.

  endif.

endform.

form estorna_documento_selecionado.

  v_codmod = 'I'.

  export v_codmod to memory id 'E019'.

  submit /pws/zyglr020 via selection-screen and return.

endform.

* >> Início da inclusão:

form seleciona_321_i using   v_codeven.

  refresh itab_zyglt321.

  select * from /pws/zyglt321

           into table itab_zyglt321

           where ktosl   = 'PVI'

             and codeven = v_codeven.

  read table itab_zycbt113j with key nrseq   =  itab_contabil-nrseq

                                     belnr_p =' ' .

  loop at itab_zyglt321.

    case itab_zyglt321-cpor3.

      when 'SGTXT'.

        if itab_zyglt321-cpocb = 'NRSEQ' .

          itab_zycbe033-d_sgtxt = itab_contabil-nrseq.

          itab_zycbe033-c_sgtxt = itab_contabil-nrseq.

          itab_zycbe033-augtx   = itab_contabil-nrseq.

        elseif itab_zyglt321-cpocb = 'NRFINANC'.

          itab_zycbe033-d_sgtxt = itab_zycbt112-nrfinanc.

          itab_zycbe033-c_sgtxt = itab_zycbt112-nrfinanc.

          itab_zycbe033-augtx   = itab_zycbt112-nrfinanc.

        elseif itab_zyglt321-cpocb = space.

          if itab_zyglt321-descr <> ''.

            itab_zycbe033-d_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-c_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-augtx   = itab_zyglt321-descr.

          else.

            itab_zycbe033-d_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-c_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-augtx   = itab_zycbt011-txtdesc.

          endif.

        endif.

      when 'XBLNR'.

        if itab_zyglt321-cpocb = 'NRFINANC'.

          itab_zycbe033-xblnr = itab_zycbt112-nrfinanc.

        elseif itab_zyglt321-cpocb = 'NRSEQ' .

          itab_zycbe033-xblnr = itab_contabil-nrseq.

        elseif itab_zyglt321-cpocb = space.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        endif.

      when 'ZFBDT'.

        if itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-zfbdt = itab_zycbt112-dtvencto.

        elseif itab_zyglt321-cpocb = 'DTFINAL'.

          itab_zycbe033-zfbdt = itab_zycbt113j-dtfinal.

        endif.

      when 'VALUT'.

        if itab_zyglt321-cpocb = 'DTINCL'.

          itab_zycbe033-d_valut = itab_zycbt112-dtincl.

          itab_zycbe033-c_valut = itab_zycbt112-dtincl.

        elseif itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-d_valut = itab_zycbt112-dtvencto.

          itab_zycbe033-c_valut = itab_zycbt112-dtvencto.

        elseif itab_zyglt321-cpocb = 'DTFINAL'.

          itab_zycbe033-d_valut = itab_zycbt113j-dtfinal.

          itab_zycbe033-c_valut = itab_zycbt113j-dtfinal.

        endif.

      when 'ZUONR'.

        if itab_zyglt321-cpocb  = 'NRSEQ' .

          itab_zycbe033-d_zuonr = itab_contabil-nrseq.

          itab_zycbe033-c_zuonr = itab_contabil-nrseq.

        elseif itab_zyglt321-cpocb = 'NRFINANC'.

          itab_zycbe033-d_zuonr = itab_zycbt112-nrfinanc.

          itab_zycbe033-c_zuonr = itab_zycbt112-nrfinanc.

        elseif itab_zyglt321-cpocb = space.

          if itab_zyglt321-descr <> ''.

            itab_zycbe033-d_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-c_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-augtx   = itab_zyglt321-descr.

          else.

            itab_zycbe033-d_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-c_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-augtx   = itab_zycbt011-txtdesc.

          endif.

        endif.

    endcase.

  endloop.

  if v_codeven = '002J' or

     v_codeven = '001C'.

    itab_zycbe033-vbund   = itab_zycbt112-vbund.

    itab_zycbe033-kursf   = itab_contabil-kursf.

    itab_zycbe033-blart   = itab_contabil-blart.

    if itab_zycbe033-d_sgtxt is initial.

      itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxt.

      itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxt.

    endif.

    if itab_zycbe033-d_valut is initial.

      if wa_zycbt007-dt_efet = 'D'.

        itab_zycbe033-d_valut = itab_zycbe033-budat.

        itab_zycbe033-c_valut = itab_zycbe033-budat.

      elseif wa_zycbt007-dt_efet = 'L'.

        itab_zycbe033-d_valut = sy-datum.

        itab_zycbe033-c_valut = sy-datum.

      elseif wa_zycbt007-dt_efet = 'E'.

        itab_zycbe033-d_valut = itab_contabil-dtfpar.

        itab_zycbe033-c_valut = itab_contabil-dtfpar.

      endif.

    endif.

    itab_zycbe033-ps_posid = itab_contabil-ps_posid.

    itab_zycbe033-d_newko = itab_contabil-d_newko.

    itab_zycbe033-d_gsber = itab_contabil-gsber.

    itab_zycbe033-d_kostl = itab_contabil-kostl.

    itab_zycbe033-d_prctr = itab_contabil-prctr.

    itab_zycbe033-d_fipos = itab_contabil-fipos.

    itab_zycbe033-d_fictr = itab_contabil-fictr.

    itab_zycbe033-c_newko = itab_contabil-c_newko.

    itab_zycbe033-c_gsber = itab_contabil-gsber.

    itab_zycbe033-c_kostl = itab_contabil-kostl.

    itab_zycbe033-c_prctr = itab_contabil-prctr.

    itab_zycbe033-c_fipos = itab_contabil-fipos.

    itab_zycbe033-c_fictr = itab_contabil-fictr.

    if itab_contabil-vlme > 0.

      append itab_zycbe033.

    endif.

  endif.

  if v_codeven = '003I'.

    if itab_zycbe033-d_sgtxt is initial.

      itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxtir.

      itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxtir.

    endif.

    append itab_zycbe033.

  endif.

  if v_codeven = '001T'.

    if itab_zycbe033-d_valut is initial.

      if wa_zycbt007-dt_efet = 'D'.

        itab_zycbe033-d_valut = itab_zycbe033-budat.

        itab_zycbe033-c_valut = itab_zycbe033-budat.

      elseif wa_zycbt007-dt_efet = 'L'.

        itab_zycbe033-d_valut = sy-datum.

        itab_zycbe033-c_valut = sy-datum.

      elseif wa_zycbt007-dt_efet = 'E'.

        itab_zycbe033-d_valut = itab_contabil-dtfpar.

        itab_zycbe033-c_valut = itab_contabil-dtfpar.

      endif.

    endif.

    if  itab_zycbe033-d_zuonr is initial.

      itab_zycbe033-d_zuonr = itab_contabil-nrseq.

      itab_zycbe033-c_zuonr = itab_contabil-nrseq.

    endif .

    if  itab_zycbe033-d_sgtxt is initial.

      itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

    endif.

  endif.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/ZYCBR113

 

...

        nrseq     like /pws/zycbt128-nrseq,

        nremprest like /pws/zycbt128-nremprest,

        nrparc    like /pws/zycbt129-nrparc,

        tpmsg     like /pws/zycbt032-tpmsg,

        msg       like /pws/zycbt032-msg,

      end of itab_msg.

data: itab_zycbt032 like /pws/zycbt032 occurs 10 with header line,

      itab_zycbe033 like /pws/zycbe033 occurs 10 with header line,

      itab_zycbt034 like /pws/zycbt034 occurs 10 with header line,

      itab_zycbt036 like /pws/zycbt036 occurs 10 with header line.

* >> Início da inclusão:

data:  itab_zyglt321 type /pws/zyglt321 occurs 0 with header line.

* << Fim da inclusão

data: begin of itab_pagas occurs 2,

       nrseq   like /pws/zycbt113-nrseq,

       tpparc  like /pws/zycbt113-tpparc,

       nrparc  like /pws/zycbt113-nrparc,

       nrdias  like /pws/zycbt113-nrdias,

       dtinicio like /pws/zycbt113-dtinicio,

       dtfinal like /pws/zycbt113-dtfinal,

       v_total like /pws/zycbt113-vlme,

       dtpagto like /pws/zycbt113-dtpagto,

       aliqir  like /pws/zycbt129-aliqir,

...

 

...

form consiste_dias_provisionar using p_nrdias.

  data: v_nrdias_provisionados(5) type n.

  itab_relat_aux[] = itab_relat[].

  loop at itab_relat_aux where nrseq = itab_zycbt129p-nrseq

                           and nrparcp < itab_zycbt129p-nrparc.

    v_nrdias_provisionados = v_nrdias_provisionados +

                             itab_relat_aux-nrdias_prov.

  endloop.

  p_nrdias = itab_zycbt129j-nrdias_j - v_nrdias_provisionados.

endform.

* >> Início da inclusão:

form seleciona_321_f using    p_v_codeven.

  refresh itab_zyglt321.

  select * from /pws/zyglt321

           into table itab_zyglt321

           where ktosl   = 'PVF'

             and codeven = v_codeven.

  read table itab_zycbt129j with key nrseq   =  itab_zycbt128-nrseq

                                     belnr_p =' ' .

  loop at itab_zyglt321.

    case itab_zyglt321-cpor3.

      when 'SGTXT'.

        if itab_zyglt321-cpocb = 'NRSEQ' .

          itab_zycbe033-d_sgtxt = itab_zycbt128-nrseq.

          itab_zycbe033-c_sgtxt = itab_zycbt128-nrseq.

          itab_zycbe033-augtx   = itab_zycbt128-nrseq.

        elseif itab_zyglt321-cpocb = 'NREMPREST'.

          itab_zycbe033-d_sgtxt = itab_zycbt128-nremprest.

          itab_zycbe033-c_sgtxt = itab_zycbt128-nremprest.

          itab_zycbe033-augtx   = itab_zycbt128-nremprest.

        elseif itab_zyglt321-cpocb = space.

          if itab_zyglt321-descr <> ''.

            itab_zycbe033-d_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-c_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-augtx   = itab_zyglt321-descr.

          else.

            itab_zycbe033-d_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-c_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-augtx   = itab_zycbt011-txtdesc.

          endif.

        endif.

      when 'XBLNR'.

        if itab_zyglt321-cpocb = 'NREMPREST'.

          itab_zycbe033-xblnr = itab_zycbt128-nremprest.

        elseif itab_zyglt321-cpocb = 'NRSEQ' .

          itab_zycbe033-xblnr = itab_zycbt128-nrseq.

        elseif itab_zyglt321-cpocb = space.

          itab_zycbe033-xblnr = itab_zyglt321-descr.

        endif.

      when 'ZFBDT'.

        if itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-zfbdt = itab_zycbt128-dtvencto.

        elseif itab_zyglt321-cpocb = 'DTFINAL'.

          itab_zycbe033-zfbdt = itab_zycbt129j-dtfinal.

        endif.

      when 'VALUT'.

        if itab_zyglt321-cpocb = 'DTINCL'.

          itab_zycbe033-d_valut = itab_zycbt128-dtincl.

          itab_zycbe033-c_valut = itab_zycbt128-dtincl.

        elseif itab_zyglt321-cpocb = 'DTVENCTO'.

          itab_zycbe033-d_valut = itab_zycbt128-dtvencto.

          itab_zycbe033-c_valut = itab_zycbt128-dtvencto.

        elseif itab_zyglt321-cpocb = 'DTFINAL'.

          itab_zycbe033-d_valut = itab_zycbt129j-dtfinal.

          itab_zycbe033-c_valut = itab_zycbt129j-dtfinal.

        endif.

      when 'ZUONR'.

        if itab_zyglt321-cpocb  = 'NRSEQ' .

          itab_zycbe033-d_zuonr = itab_zycbt128-nrseq.

          itab_zycbe033-c_zuonr = itab_zycbt128-nrseq.

        elseif itab_zyglt321-cpocb = 'NREMPREST'.

          itab_zycbe033-d_zuonr = itab_zycbt128-nremprest.

          itab_zycbe033-c_zuonr = itab_zycbt128-nremprest.

        elseif itab_zyglt321-cpocb = space.

          if itab_zyglt321-descr <> ''.

            itab_zycbe033-d_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-c_sgtxt = itab_zyglt321-descr.

            itab_zycbe033-augtx   = itab_zyglt321-descr.

          else.

            itab_zycbe033-d_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-c_sgtxt = itab_zycbt011-txtdesc.

            itab_zycbe033-augtx   = itab_zycbt011-txtdesc.

          endif.

        endif.

    endcase.

  endloop.

  if v_codeven = '002J' or

     v_codeven = '001C'.

    if itab_zycbe033-d_sgtxt is initial.

      itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxt.

      itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxt.

    endif.

    if itab_zycbe033-d_valut is initial.

      if wa_zycbt007-dt_efet = 'D'.

        itab_zycbe033-d_valut = itab_zycbe033-budat.

        itab_zycbe033-c_valut = itab_zycbe033-budat.

      elseif wa_zycbt007-dt_efet = 'L'.

        itab_zycbe033-d_valut = sy-datum.

        itab_zycbe033-c_valut = sy-datum.

      elseif wa_zycbt007-dt_efet = 'E'.

        itab_zycbe033-d_valut = itab_contabil-dtfpar.

        itab_zycbe033-c_valut = itab_contabil-dtfpar.

      endif.

    endif.

    if itab_zycbe033-wrbtr > 0.

    append itab_zycbe033.

    endif.

  endif.

  if v_codeven = '002I' or

     v_codeven = '001IC'.

  if not itab_contabil-d_newkoir is initial and

     not itab_contabil-c_newkoir is initial.

    if itab_zycbe033-d_sgtxt is initial.

      itab_zycbe033-d_sgtxt = itab_contabil-d_sgtxtir.

      itab_zycbe033-c_sgtxt = itab_contabil-c_sgtxtir.

    endif.

 endif.

    append itab_zycbe033.

  endif.

  if v_codeven = '001T'.

    if itab_zycbe033-d_valut is initial.

      if wa_zycbt007-dt_efet = 'D'.

        itab_zycbe033-d_valut = itab_zycbe033-budat.

        itab_zycbe033-c_valut = itab_zycbe033-budat.

      elseif wa_zycbt007-dt_efet = 'L'.

        itab_zycbe033-d_valut = sy-datum.

        itab_zycbe033-c_valut = sy-datum.

      elseif wa_zycbt007-dt_efet = 'E'.

        itab_zycbe033-d_valut = itab_contabil-dtfpar.

        itab_zycbe033-c_valut = itab_contabil-dtfpar.

      endif.

    endif.

    if  itab_zycbe033-d_zuonr is initial.

      itab_zycbe033-d_zuonr = itab_zycbt128-nrseq.

      itab_zycbe033-c_zuonr = itab_zycbt128-nrseq.

    endif .

    if  itab_zycbe033-d_sgtxt is initial.

      itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

      itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

    endif.

  endif.

endform.

* << Fim da inclusão