Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 13/04/2007 00:00:00
Data/Hora Última Alteração: 10/03/2010 15:18:09
Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062
Sintoma
programa deverá fazer uma consistência nos contratos de ACC e Trava para verificar se os mesmos
foram utilizados no programa de Liquidação de ACC com Pré (Isso tanto para Rotina mensal de Estorno
Mensal como para Rotina de Clearing no pagamento). Deverá verificar se o contrato possui registro na
Tabela /PWS/ZYCBT062 (Campo NRSEQ_C = Número Seqüencial do contrato):
Solução
Ajuste efetuado, para que o programa efetue uma consistencia com a tabela /pws/zycbt062,
caso encontre registro mostrar na rotina mensal de exportação.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03457 Data: 13/04/2007 Hora: 14:33:15
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03457
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00027
Agrupamento : 00161
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062-LIQ.DE ACC C/PRÉ
NRSEQ_C = NÚMERO SEQÜENCIAL DO CONTRATO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
itab_zycbt006_ence LIKE /pws/zycbt006 OCCURS 20 WITH HEADER LINE,
itab_pagos LIKE /pws/zycbt006 OCCURS 0 WITH HEADER LINE,
itab_zycbt017 LIKE /pws/zycbt017 OCCURS 20 WITH HEADER LINE,
itab_zycbt136 LIKE /pws/zycbt136 OCCURS 20 WITH HEADER LINE,
itab_lancados LIKE /pws/zycbt154 OCCURS 20 WITH HEADER LINE,
itab_zyglt321 LIKE /pws/zyglt321 OCCURS 0 WITH HEADER LINE,
itab_period LIKE casdayattr OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_contas.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycbt062 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt062.
DATA: END OF itab_zycbt062.
* << Fim da inclusão
DATA: BEGIN OF itab_modo OCCURS 0.
INCLUDE STRUCTURE spopli.
DATA: END OF itab_modo.
DATA: BEGIN OF itab_tcurr OCCURS 1.
INCLUDE STRUCTURE tcurr.
DATA: END OF itab_tcurr.
DATA:
wa_zycbt011 LIKE /pws/zycbt011.
DATA:
v_dtoperac LIKE sy-datum,
...
...
PERFORM verifica_data_entrada.
ENDIF.
ELSE.
ENDIF.
v_flag_e = 'E'.
v_f_encerrado = 'C'.
IF s_dtentr IS INITIAL.
s_dtentr = sy-datum.
ENDIF.
IF s_nrseqc IS INITIAL.
* >> Início da inclusão: FORM SELECIONA_DADOS
SELECT * FROM /pws/zycbt062
INTO TABLE itab_zycbt062
WHERE dtvencto LE s_dtentr.
* << Fim da inclusão
SELECT *
FROM /pws/zycbt001
INTO TABLE itab_zycbt001
WHERE bukrs EQ s_bukrs AND
tpcontr IN s_tpcont AND
fdtjuros EQ 'D' AND
dtdesem LE s_dtentr AND
f_encerrado NE v_f_encerrado AND
f_encerrado NE v_flag_e.
SELECT *
...
...
FROM /pws/zycbt001
APPENDING TABLE itab_zycbt001
WHERE bukrs EQ s_bukrs AND
tpcontr IN s_tpcont AND
( fdtjuros EQ 'C' OR
fdtjuros EQ ' ' ) AND
dtcred LE s_dtentr AND
f_encerrado NE v_f_encerrado AND
f_encerrado NE v_flag_e.
ELSE.
* >> Início da inclusão: FORM SELECIONA_DADOS
SELECT * FROM /pws/zycbt062
INTO TABLE itab_zycbt062
WHERE nrseq_c IN s_nrseqc
AND dtvencto LE s_dtentr.
* << Fim da inclusão
SELECT *
FROM /pws/zycbt001
INTO TABLE itab_zycbt001
WHERE bukrs EQ s_bukrs AND
nrseqc IN s_nrseqc AND
tpcontr IN s_tpcont AND
f_encerrado <> v_f_encerrado AND
f_encerrado <> v_flag_e.
ENDIF.
IF itab_zycbt001[] IS INITIAL.
...
...
CLEAR v_slvinc.
v_slvinc = itab_zycbt001-slvinc.
LOOP AT itab_zycbt005_pos WHERE nrseqc = itab_zycbt001-nrseqc.
v_slvinc = v_slvinc + itab_zycbt005_pos-vlvinc.
ENDLOOP.
PERFORM processa_saldo_acc USING v_slvinc
v_dtoperac
s_dtentr
'A'.
PERFORM processa_vinculacoes.
* >> Início da inclusão: FORM PROCESSA_ACC
IF NOT itab_zycbt062[] IS INITIAL.
LOOP AT itab_zycbt062 WHERE nrseq_c = itab_zycbt001-nrseqc.
PERFORM preenche_liq_and.
ENDLOOP.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.
PERFORM preenche_itab_relat_pago.
ENDLOOP.
IF itab_zycbt001-tpcontr EQ 'TR' AND
( /pws/zyglt009-prov_prem EQ 'S' OR
/pws/zyglt009-prov_prem IS INITIAL ).
LOOP AT itab_zycbt136 WHERE nrseqc = itab_zycbt001-nrseqc
AND datinc <= s_dtentr.
PERFORM preenche_itab_premio.
ENDLOOP.
...
...
AND codmodul NE 'C'
AND codmodul NE 'CD'
AND codmodul NE 'CF'
AND codmodul NE 'CI'.
ENDLOOP.
IF sy-subrc = 0.
p_separa = 'X'.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM preenche_liq_and.
CLEAR itab_relat.
itab_relat-nrseqc = itab_zycbt001-nrseqc.
itab_relat-nrcontr = itab_zycbt001-nrcontr.
itab_relat-tpcontr = itab_zycbt001-tpcontr.
itab_relat-nrparcj = itab_zycbt004-nrparc.
itab_relat-dtde = itab_zycbt062-dtinicio.
itab_relat-dtate = itab_zycbt062-dtvencto.
itab_relat-txjtotal = itab_zycbt062-txjtotal.
itab_relat-vlme = itab_zycbt062-vlme.
itab_relat-ftpj = 'A'.
itab_relat-waers = itab_zycbt001-waers.
PERFORM processa_calculo_juros USING itab_zycbt062-vlme
itab_zycbt002j-txjtotal
itab_zycbt002j-tptxjur
itab_relat-dtde
itab_relat-dtate
itab_zycbt001-waers
itab_zycbt011-ctmoed
'A'.
ENDFORM.
* << Fim da inclusão