Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 24/05/2007 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:18:08
Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO - DUPLICIDADE PROVISÃO COMISSÃO
Sintoma
Ao efetuar a rotina mensal de um contrato com comissão, os juros são contabilizados corretamente,
mas para comissão gera duas contabilizações.
Solução
Carregar a variável v_nrparcj corretamente, para não duplicar as comissões do contrato. Com o
nrparcj da tabela interna, carregar o codint da /pws/zycbt154, para que encontre as provisões quando
gerar o próximo mês.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03756 Data: 24/05/2007 Hora: 16:14:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03756
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00167
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02434 - 00001 - 6.0 - 00025 - ROTINA MENSAL - DUPLICAR REGISTRO CONTRATO DE PT
02556 - 00002 - 6.0 - 00025 - ROTINA MENSAL EXPORTAÇÃO-VALOR PROVISÃO EM DOBRO NA F-02
----------------------------------------------------------------------------------------------------
ROTINA MENSAL EXPORTAÇÃO - DUPLICIDADE PROVISÃO COMISSÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL EXPORTAÇÃO DUPLICIDADE PROVISÃO COMISSÃO
F-02 CLEARING PAGAMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI003
REPS /PWS/ZYCBR003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI003
...
vlmetransf LIKE /pws/zycbt001-vlme,
przcontr LIKE /pws/zycbt001-przcontr,
belnr LIKE /pws/zycbt001-belnr,
vlmeir LIKE /pws/zycbt002-vlme,
d_newkoir LIKE /pws/zycbe033-d_newko,
c_newkoir LIKE /pws/zycbe033-c_newko,
d_sgtxtir LIKE /pws/zycbe033-d_sgtxt,
c_sgtxtir LIKE /pws/zycbe033-c_sgtxt,
blartir LIKE /pws/zycbe033-blart,
subtotal TYPE c,
* >> Início da inclusão:
nrparcj type /pws/zycbt002-nrparc,
* << Fim da inclusão
END OF itab_contabil.
DATA: itab_contabil_aux LIKE itab_contabil OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_relat OCCURS 50,
tpcontab(2) TYPE c,
nrseqc LIKE /pws/zycbt001-nrseqc,
ftpj TYPE c,
nrcontr LIKE /pws/zycbt001-nrcontr,
tpcontr LIKE /pws/zycbt001-tpcontr,
nrparcp LIKE /pws/zycbt002-nrparc,
nrparcj LIKE /pws/zycbt002-nrparc,
...
...
FORM preenche_itab_contabil
USING value(p_vlmej)
CHANGING value(v_vlrjprov).
MOVE-CORRESPONDING wa_itab_relat TO itab_contabil.
itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.
* >> Início da exclusão: FORM PREENCHE_ITAB_CONTABIL
itab_contabil-nrparcp = wa_itab_relat-nrparcp.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ITAB_CONTABIL
itab_contabil-nrparcp = wa_itab_relat-nrparcj.
* << Fim da inclusão
itab_contabil-kursf = wa_itab_relat-txc.
itab_contabil-dtcont = s_dtentr.
itab_contabil-vlme = p_vlmej.
...
...
FORM lancamento_provisao.
DATA: v_descricao(30).
SELECT * FROM /pws/zycbt013 INTO TABLE itab_zycbt013
WHERE tabela = '/PWS/ZYCBT154'.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
READ TABLE itab_contabil INDEX 1.
* << Fim da exclusão
IF ( ( /pws/zyglt009-calc_rot_sep EQ 'S' OR
/pws/zyglt009-cont_rot_sep EQ 'S' ) AND
wa_zycbt007-fprovisao EQ 'C' ).
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
OR itab_contabil-tpcontr NE 'AC'.
* << Fim da exclusão
LOOP AT itab_contabil WHERE NOT subtotal IS initial.
v_sytabix = sy-tabix.
READ TABLE itab_contabil WITH KEY
nrcorresp = itab_contabil-nrcorresp
vlrprov = itab_contabil-vlrprov
subtotal = ' '.
IF sy-subrc = 0.
DELETE itab_contabil INDEX v_sytabix.
ENDIF.
...
...
ENDIF.
IF itab_contabil-tpcontab IS INITIAL.
/pws/zycbt154-codmodul = 'JU'.
IF wa_zycbt007-fprovisao = space.
CLEAR /pws/zycbt154-nrcorresp.
ENDIF.
ELSEIF itab_contabil-tpcontab = 'PR'.
/pws/zycbt154-codmodul = 'PR'.
ELSEIF itab_contabil-tpcontab EQ 'C'.
/pws/zycbt154-codmodul = 'C'.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
/pws/zycbt154-codint = itab_contabil-nrparcp.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
/pws/zycbt154-codint = itab_contabil-nrparcj.
* << Fim da inclusão
ELSE.
/pws/zycbt154-codmodul = 'T'.
IF itab_contabil-tpcontr+0(1) CA 'PS'.
UPDATE /pws/zycbt002 SET ftransf = 'X'
belnr2 = itab_zycbt032-belnr
belnr_transf = itab_zycbt032-belnr
przcontr = 'C'
dtvincul = itab_contabil-dtcont
WHERE nrseqc = itab_contabil-nrcorresp(8)
AND nrparc = itab_contabil-nrparcp
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
ENDIF.
v_bukrs = itab_relat-bukrs.
v_waers = itab_relat-waers.
v_gsber = itab_relat-gsber.
v_tpcontr = itab_relat-tpcontr.
v_d_newko = itab_relat-d_newko.
v_c_newko = itab_relat-c_newko.
v_bco = itab_relat-bco.
v_ftpj = itab_relat-ftpj.
v_nrseq = itab_relat-nrseqc.
* >> Início da inclusão: FORM PROCESSA_ABERTO
v_nrparcj = itab_relat-nrparcj.
* << Fim da inclusão
ENDLOOP.
IF wa_zycbt007-fprovisao EQ 'C'.
PERFORM processa_subtotal_waers USING v_vlprov v_vlprovir 'X'.
* >> Início da inclusão: FORM PROCESSA_ABERTO
ELSE.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w 'X'.
* << Fim da inclusão
IF /pws/zyglt009-calc_rot_sep NE 'S' AND
* >> Início da exclusão: FORM PROCESSA_ABERTO
/pws/zyglt009-cont_rot_sep NE 'S' AND
wa_zycbt007-fprovisao NE 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
/pws/zyglt009-cont_rot_sep NE 'S'.
* << Fim da inclusão
DELETE ADJACENT DUPLICATES FROM itab_contabil COMPARING ALL FIELDS.
ENDIF.
* >> Início da exclusão: FORM PROCESSA_ABERTO
ELSE.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w 'X'.
* << Fim da exclusão
ENDIF.
CLEAR : itab_relat.
DELETE itab_contabil WHERE tpcontr IS initial.
ENDFORM.
...