Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 13/01/2011 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:02:30
Descrição da Nota: VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAVOS
Sintoma
- Cenários incorretos ao efetuar uma vinculação/liquidação(principalmente com arbitragem parcial).
Erros nos valores da tela, nos cálculos, nas atualizações dos saldos, nas contabilizações.
- Tabelas /PWS/ZYCBT005 e /PWS/ZYCBT006 não estão armazenando corretamente os valores.
Cenários:
- moedas iguais, mas sem casas decimais(zeros a mais/menos);
- moedas diferentes, onde uma delas não tem casas decimais(tanto fatura, quanto contrato-zeros a
mais/menos);
- moedas diferentes, onde o valor vinculado do contrato é alterado manualmente(após o cálculo da
vinculação-centavos, arredondamento). Neste caso o programa de liquidação não traz o valor correto
quando é efetuado parcialmente.
Solução
- Ajustar os campos das tabelas /PWS/ZYCBT005 e /PWS/ZYCBT006, referenciando a moeda correta e
fazendo com que armazene o valor correto nos campos(sem zeros a mais);
- Ajustar os cálculos que dependem de valores sem casas decimais, onde antes de efetuar o mesmo, se
o valor não possui casas decimais, incluir dois zeros(2 devido o campo possuir 2 casas decimais na
tabela). Após isso efetuar o cálculo e voltar estes dois zeros, para não ficar incorreto na tela;
- Criar os campos Moeda Contrato e Valor Contrato na tabela /PWS/ZYCBT006, para armazenar o valor
liquidado na moeda do contrato(cenário parcial), pois só armazenava o valor na moeda da fatura,
necessitando sempre recalcular. Efetuar também uma carga no programa de liquidação quando estes
novos campos se estiverem vazios(processos antigos), atualizando os mesmos com o cálculo correto de
paridade ou nos casos de moedas iguais(repetir o valor da fatura).
- Ajustar Relatório de Contratos e Câmbios Fechados, para considerar estes novos campos da
tabela /PWS/ZYCBT006.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10889 Data: 13/01/2011 Hora: 17:00:44
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10889
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00006
Agrupamento : 00054
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00014 - 00001 - 6.0 - 00021 - CÁLCULO DOS JUROS NA LIQUIDAÇÃO DE FATURAS PARA PT
00115 - 00002 - 6.0 - 00021 - CONTABILIZAÇÃO LIQUIDAÇÃO EM ANDAMENTO - ZFBDT
00183 - 00003 - 6.0 - 00021 - RELATÓRIO ESTORNO LIQUIDAÇÃO AUTOMÁTICA NA VINCULAÇÃO
00230 - 00004 - 6.0 - 00021 - SUBSTITUIÇÃO DO TIPO DO DOCUMENTO NO ESTORNO DA LIQUIDAÇÃO EM AND
00259 - 00005 - 6.0 - 00021 - LEVAR PARA O CAMPO VALUT A DATA DE LANÇAMENTO
00260 - 00006 - 6.0 - 00021 - MATCHCODE LIQUIDAÇÃO EM ANDAMENTO - MOEDA E DECIMAIS
00278 - 00007 - 6.0 - 00021 - TRANSAÇÃO PARA O ACESSO AO PROGRAMA EMBARQUE FOI ALTERADA
00292 - 00008 - 6.0 - 00021 - EXIT VINCULAÇÃO NO DEVOLUÇÃO - CRIAR
00374 - 00009 - 6.0 - 00021 - PASSAGEM DO NÚMERO DA CONTA CORRETA PARA A CONTABILIZAÇÃO
00384 - 00010 - 6.0 - 00021 - BUSCA DA CONTA CONTÁBIL DO DESMEMBRAMENTO DO ACE
00419 - 00011 - 6.0 - 00021 - VALOR INCORRETO NO CAMPO VALOR DO CANCELAMENTO (HISTÓRICO CONTÁBI
00449 - 00012 - 6.0 - 00021 - PROBLEMA BRL E JPY HISTORICO CONTABI
00454 - 00013 - 6.0 - 00022 - TRATAMENTO DE SBU PELA EXIT VNC011
00463 - 00014 - 6.0 - 00021 - O CAMPO DATA BASE DA ABERTURA SEGUNDA FATURA É PREENCHIDO COM 00.
00475 - 00015 - 6.0 - 00021 - BUSCA DE DOCUMENTO INCORRETO NO DESMEMBRAMENTO DO ACE
00477 - 00016 - 6.0 - 00021 - IMPRESSÃO DOS DADOS DA DEVOLUÇÃO NO HISTÓRICO CONTÁBIL
00559 - 00017 - 6.0 - 00022 - EXIT NA VINCULAÇÃO PARA TRATAR OS REGISTROS QUE FORAM ELIMINADOS
00582 - 00018 - 6.0 - 00022 - 271323 EXIT LIQUIDAÇÃO EM ANDAMENTO VNC009, LIQ011 E LI
00609 - 00019 - 6.0 - 00022 - LIQUIDAÇÃO DE CONTRATO
00635 - 00020 - 6.0 - 00022 - VINCULAÇÃO - INCLUSÃO DE EXIT AO SALVAR/ESTORNAR A DEVOLUÇÃO DE F
00646 - 00021 - 6.0 - 00022 - TRATAMENTO DE SBU NO ESTORNO DA LIQUIDAÇÃO PELA EXIT LIQ016
00701 - 00022 - 6.0 - 00022 - ERRO NO ESTORNO DA VINCULAÇÃO DE PRÉ-PAGAMENTO
00758 - 00023 - 6.0 - 00022 - LIQUIDAÇÃO - TRATAMENTO ESPECÍFICO QUANDO SALVAR REGISTRO /PWS/ZY
00847 - 00024 - 6.0 - 00022 - LIQUIDAÇÃO - ATUALIZAÇÃO DO SALDO NO ESTORNO
00900 - 00025 - 6.0 - 00022 - BAIXA DO CLIENTE NA VINCULAÇÃO DE FATURAS
00918 - 00026 - 6.0 - 00022 - NO HISTÓRICO CONTÁBIL AS INFORMAÇÕES ESTAVAM SENDO IMPRESSAS ERRA
00922 - 00027 - 6.0 - 00022 - ERRO NA VINCULAÇÃO NA ATUALIZAÇÃO DOS SALDOS DA FATURA
00952 - 00028 - 6.0 - 00022 - SELEÇÃO DE FATURA PELO MATCHCODE VINCULAÇÃO COM FORMATO DATA INCO
00978 - 00029 - 6.0 - 00022 - VINCULAÇÃO - AO ESTORNAR FATURAS O SALDO DA FATURA É DUPLICADO.
00993 - 00030 - 6.0 - 00022 - VINCULAÇÃO FATURAS DE ARBITRAGEM - LIMPA PARIDADE
00994 - 00031 - 6.0 - 00022 - IMPRESSÃO HISTORICO CONTABIL LIQUIDACAO
01003 - 00032 - 6.0 - 00022 - VINCULAÇÃO - DESVINCULAR PARCIALMENTE FATURA ARBITRAGEM
01074 - 00033 - 6.0 - 00023 - MATCH CODE DE FATURAS UNICODE VINCULAÇÃO F-30
01084 - 00034 - 6.0 - 00023 - BOTÃO VOLTAR DO RELATORIO DA VINCULAÇÃO
01086 - 00035 - 6.0 - 00023 - VINCULAÇÃO - DATA DE VENCIMENTO APARECE NO FORMATO 00.00.0000
01149 - 00036 - 6.0 - 00023 - ERRO NA LIQUIDAÇÃO DE MAIS DE UMA FATURA DE ARBITRAGEM - CONTRATO
01163 - 00037 - 6.0 - 00023 - LIQUIDAÇÃO EM ANDAMENTO - VLME VLSALDO ESTORNO
01168 - 00038 - 6.0 - 00023 - FUNÇÃO MONTANTE_CONVERTE NÃO TRATAVA AS EXCEÇÕES.
01190 - 00039 - 6.0 - 00023 - VINCULAÇÃO / LIQUIDAÇÃO 3ª F-30 (DOCUMENTO DE PERFORMANCE)
01206 - 00040 - 6.0 - 00023 - SELECIONAR FATURAS PARA VINCULAÇÃO CHAVE "EMPRESA"
01239 - 00041 - 6.0 - 00023 - LIQUIDAÇÃO EM ANDAMENTO - DATA DE VENCIMENTO PRORROGADA
01244 - 00042 - 6.0 - 00023 - VINCULAÇÃO/LIQUIDAÇÃO CÂMBIO PRONTO - CONTABILIZAÇÃO NÃO EFETUADA
01261 - 00043 - 6.0 - 00023 - VINCULAÇÃO - O PROGRAMA NÃO ESTÁ EFETUANDO O ESTORNO
01360 - 00044 - 6.0 - 00023 - LIQUIDAÇÃO COM PERFORMANCE.
01365 - 00045 - 6.0 - 00023 - LIQUIDAÇÃO COM PERFORMANCE CAMPO EMPRESA
01424 - 00046 - 6.0 - 00023 - VINCULAÇÃO COM LIQUIDAÇÃO AUTOMATICA - CAMPO DATA DOCTO.
01435 - 00047 - 6.0 - 00023 - LIQUIDAÇÃO DE FATURAS - ESTORNO
01463 - 00048 - 6.0 - 00023 - VINCULAÇÃO COM PERFORMANCE - EMPRESA DO CONTRATO
01552 - 00049 - 6.0 - 00024 - VINCULAÇÃO/LIQUIDAÇÃO DE DP NÃO PREENCHE ATRIBUIÇÃO ZUONR
01595 - 00050 - 6.0 - 00023 - VINCULAÇÃO - FATOR DE CONVERSÃO DE MOEDAS
01695 - 00051 - 6.0 - 00024 - INCLUSÃO DE EXIT NA VINCULAÇÃO
01906 - 00052 - 6.0 - 00024 - DOCUMENTO DE LIQUIDAÇÃO NÃO APARECE NO HISTÓRICO CONTÁBIL
02091 - 00053 - 6.0 - 00024 - LIQUIDAÇÃO DE FATURAS - DATA BASE DE CONVERSÃO PARA TAXA
02109 - 00054 - 6.0 - 00024 - DESVINCULAÇÃO DE VALORES NAS FATURAS NA VINCULAÇÃO
02199 - 00055 - 6.0 - 00025 - VINCULAÇÃO - CAMPO DESCRIÇÃO FLAG 321 TEXTO ITEM
02215 - 00056 - 6.0 - 00025 - ERRO NO ESTORNO DE LIQUIDAÇÕES COM PERFORMANCE
02263 - 00057 - 6.0 - 00025 - LIQUIDAÇÃO EM ANDAMENTO - CAMPO FILIAL (BUPLA)
02269 - 00058 - 6.0 - 00025 - LIQUIDAÇÃO EM ANDAMENTO CAMPOS ABERTOS
02301 - 00059 - 6.0 - 00025 - LIQUIDAÇÃO EM ANDAMENTO - CAMPO PRAZO NO DOC. DESMEMBRAMENTO
02323 - 00060 - 6.0 - 00025 - LIQUIDAÇÃO EM ANDAMENTO - DUMP AO SALVAR SEM PRESSIONAR ENTER
02330 - 00061 - 6.0 - 00025 - LIQUIDAÇÃO - EXCLUIR FATURAS TABLE CONTROL
02395 - 00062 - 6.0 - 00025 - LIQUIDAÇÃO - BARRAR LANÇAMENTO DA PROVISÃO SEM LIQUIDAÇÃO EM ANDA
02496 - 00063 - 6.0 - 00025 - VINCULAÇÃO - FILTRO POR DATA DE LANÇAMENTO
02540 - 00064 - 6.0 - 00025 - LIQUIDAÇÃO, ESTORNO -ATUAL. SALDOS DA FATURA E DA LIQ. EM ANDAMEN
02566 - 00065 - 6.0 - 00025 - LIQUIDAÇÃO - ATUALIZAÇÃO DO SALDO - EXIT ATIVA
02756 - 00066 - 6.0 - 00026 - REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BR
02765 - 00067 - 6.0 - 00026 - VINCULAÇÃO - 1º "/N", FECHE A EDIÇÃO DA VINCULAÇÃO.(APAREÇA EXBIN
02838 - 00068 - 6.0 - 00026 - DUMP NA FUNÇÃO MONTANTE_CONVERTE NA VINCULAÇÃO
02862 - 00069 - 6.0 - 00026 - LIQUIDAÇÃO - COLUNA VALOR JUROS ACC/ACE - ESTORNO PROVISÃO
02880 - 00070 - 6.0 - 00026 - VINCULAÇÃO - F-30 PARA BUSCAR A CHAVE DE REFERÊNCIA NA BKPF
03075 - 00071 - 6.0 - 00026 - LIQUIDAÇÃO - CONTA CLIENTE
03212 - 00072 - 6.0 - 00026 - LIQUIDAÇÃO - EMPRESA CAPTAÇÃO FATURA
03294 - 00073 - 6.0 - 00028 - ENCERRAMENTO DE CUSTO
03558 - 00074 - 7.0 - 00001 - LIQUIDAÇÃO DE FATURAS - SALDO A LIQUIDAR
03849 - 00075 - 7.0 - 00001 - LIQUIDAÇÃO EM ANDAMENTO - VALOR PARCIAL
03864 - 00076 - 7.0 - 00001 - LIQUIDAÇÃO EM ANDAMENTO - EXIT LIQ011 - NOME FUNCIONALIDADE
03888 - 00077 - 7.0 - 00001 - LIQUIDAÇÃO - NÃO CONTABILIZAR QUANDO 209 TIVER SALDO IGUAL A ZERO
03920 - 00078 - 7.0 - 00002 - LIQUIDAÇÃO EM ANDAMENTO - EXIT LIQ001 E LIQ002
04221 - 00079 - 7.0 - 00002 - ENVIAR O CAMPO BUPLA PARA A TELA.
04264 - 00080 - 7.0 - 00002 - VINCULAÇÃO - ATUALIZAÇÃO BELNR2 TABELA /PWS/ZYCBT002
04546 - 00081 - 7.0 - 00002 - EXPORTAÇÃO AGRUPAMENTO DE FATURAS
04729 - 00082 - 7.0 - 00003 - VINCULAÇÃO DP EM LONGO PRAZO(LP) - PERMITIR SEMPRE VINCULAR
04736 - 00083 - 7.0 - 00003 - VINCULAÇÃO - VINCULAR TOTAL
04964 - 00084 - 7.0 - 00003 - LIQUIDAÇÃO DE FATURAS - CRIAÇÃO DO PONTO DE EXIT LIQ026
05904 - 00085 - 7.0 - 00004 - LIQUIDAÇÃO - PONTO DE EXIT LIQ005(DISPONIBILIZAR NOVA TABELA)
05909 - 00086 - 7.0 - 00004 - VINCULAÇÕES DE FATURAS AOS CONTRATOS
06150 - 00087 - 7.0 - 00004 - HISTÓRICO CONTÁBIL - QUEBRA POR FATURA, PARCELA, DIVISÃO
06481 - 00088 - 7.0 - 00005 - VINCULAÇÃO - EXIT VNC030
06740 - 00089 - 7.0 - 00005 - VINCULAÇÃO - CONTABILIZAÇÃO COM JPY
06815 - 00090 - 7.0 - 00006 - VINCULAÇÃO - DATA DE PAGAMENTO NO EXTERIOR
06906 - 00091 - 7.0 - 00006 - VINCULAÇÃO - TAXAS /PWS/ZYGLT007
07924 - 00092 - 7.0 - 00008 - HISTÓRICO CONTÁBIL - DRILL-DOWN - ANO CONTÁBIL INCORRETO
08865 - 00093 - 7.0 - 00010 - HISTÓRICO CONTÁBIL - NÃO EXIBE DOCUMENTOS QUE ESTÃO NA /PWS/ZYCBT
09036 - 00094 - 8.0 - 00001 - LIQUIDAÇÃO - PONTO DE EXIT LIQ032 PARA CHAMAR OUTRO PROGRAMA
09170 - 00095 - 8.0 - 00001 - VINCULAÇÃO - CAPTAÇÃO TIPO DOW PAYMENT, NO MATCH CODE ABRE TODAS
09244 - 00096 - 8.0 - 00001 - VINCULAÇÃO DE CONTRATO DE EXPORTAÇÃO DE PRÉ PAGAMENTO
09266 - 00097 - 8.0 - 00001 - RELATÓRIO CÂMBIOS FECHADOS
09336 - 00098 - 8.0 - 00001 - VINCULAÇÃO - RECEBIMENTO/PDD - RECUP. DIVISAS - HIST. CONTÁBIL -
09426 - 00099 - 8.0 - 00001 - ERRO VINCULAÇÃO/LIQUIDAÇÃO DE UM MESMO CONTRATO/FATURA EM DATAS D
10053 - 00100 - 8.0 - 00003 - VINCULAÇÃO-TEXTO DEDUZ JUROS INCORRETO NA TELA DE CONTRATOS DIF.
10202 - 00101 - 8.0 - 00003 - VINCULAÇÃO - PREENCHIMENTO DO CAMPO SOCIEDADE PARCEIRA.
10264 - 00102 - 8.0 - 00003 - VINCULAÇÃO EXPORTAÇÃO, MENSAGEM, HOMOLOGAÇÃO
10326 - 00103 - 8.0 - 00004 - VINCULAÇÃO AJUSTE PARA CÁLCULO DE VALOR VINCULAR
10331 - 00104 - 8.0 - 00004 - CODE INSPECTOR - PW.CE - CAMBIO
10380 - 00105 - 8.0 - 00004 - RELATORIO CAMBIOS FECHADOS, CONTRATOS PENDENTES, LIQUIDADOS, TODO
10522 - 00106 - 8.0 - 00004 - VINCULAÇÃO DE CONTRATOS DE CAPTAÇÃO DE DP, ORDEM DE VENDA
10534 - 00107 - 8.0 - 00004 - VINCULAÇÃO - ERRO DUPLO CLIQUE PARA VINCULAR SALDO TOTAL-DUPLICA
10724 - 00108 - 8.0 - 00005 - HISTÓRICO CONTÁBIL - JUROS
10739 - 00109 - 8.0 - 00005 - LIQUIDAÇÃO - CAMPO LOCAL DE NEGOCIO NO BI INCORRETO
10833 - 00110 - 8.0 - 00006 - RELATÓRIO DE CONTRATOS - ERRO SALDO A PAGAR
----------------------------------------------------------------------------------------------------
VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAVOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO/LIQUIDAÇÃO ARBITRAGEM-MOEDA SEM CASAS DECIMAIS, CENTAVOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB004 0102
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB004F03
REPS /PWS/MZYCB004I01
REPS /PWS/MZYCB004O01
REPS /PWS/MZYCB004TOP
REPS /PWS/MZYCB004X01
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009F04
REPS /PWS/MZYCB009F05
REPS /PWS/MZYCB009F08
REPS /PWS/MZYCB009F10
REPS /PWS/MZYCB009I01
REPS /PWS/MZYCB031F01
REPS /PWS/ZYCBR010
REPS /PWS/ZYCBR047
REPS /PWS/ZYCBR059
TABD /PWS/ZYCBE005
TABD /PWS/ZYCBE006
TABD /PWS/ZYCBT005
TABD /PWS/ZYCBT006
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB004 0102
Solicitar arquivo para upload da tela - Equipe Produto pw.CE Câmbio - 5504 0170
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
gsberf TYPE /pws/zycbt030-gsberf,
pendcomm TYPE /pws/zycbt030-pendcomm,
END OF t_pendcomm,
t_itab_pendcomm TYPE SORTED TABLE OF t_pendcomm
WITH UNIQUE KEY nrinvoic nrparcf gsberf.
DATA:
itab_pendcomm TYPE t_itab_pendcomm,
v_bukrs_fat LIKE /pws/zycbt017-bukrs.
REFRESH: itab_zycbt005.
CLEAR: /pws/zycbe005, /pws/zycbe006.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
CLEAR: itab_paridade.
REFRESH: itab_paridade.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
clear: itab_paridade, itab_paridade_ant.
refresh: itab_paridade, itab_paridade_ant.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycbt007 INTO /pws/zycbt007
WHERE bukrs = /pws/zycbe001-bukrs.
wa_zycbt007 = /pws/zycbt007.
SELECT SINGLE * FROM /pws/zycbt089 INTO /pws/zycbt089
WHERE bukrs = /pws/zycbe001-bukrs.
SELECT SINGLE * FROM /pws/zyglt009 INTO /pws/zyglt009
WHERE bukrs = /pws/zycbe001-bukrs.
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
select * from tcurx
into table itab_tcurx.
select * from /pws/zycbt006
into table itab_zycbt006_pagos
where nrseqc = v_nrseqc. "#EC CI_NOFIRST
* << Fim da inclusão
IF v_trans IS INITIAL.
IF v_dtvencto IS INITIAL AND
v_nrinvoic IS INITIAL.
SELECT *
FROM /pws/zycbt005
INTO TABLE itab_zycbt005
WHERE nrseqc EQ v_nrseqc
AND tpdesp EQ ' '
AND dtvincul EQ v_dtvincul
AND slpagar GT 0.
...
...
ENDIF.
ENDIF.
IF NOT itab_zycbt005[] IS INITIAL.
SELECT nrinvoic nrparcf gsberf pendcomm
FROM /pws/zycbt030 INTO TABLE itab_pendcomm
FOR ALL ENTRIES IN itab_zycbt005
WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf
AND pendcomm = 'X'.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
ENDIF.
IF NOT itab_zycbt005[] IS INITIAL.
SELECT * FROM /pws/zycbt006
INTO TABLE itab_zycbt006
FOR ALL ENTRIES IN itab_zycbt005
WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf.
* << Fim da exclusão
ENDIF.
LOOP AT itab_zycbt005.
READ TABLE itab_pendcomm
WITH KEY
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf
pendcomm = 'X'
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
MESSAGE i061 WITH text-054
itab_zycbt005-nrinvoic
text-231
text-217.
DELETE itab_zycbt005.
CONTINUE.
ENDIF.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
v_total_liq = 0.
READ TABLE itab_zycbt006
WITH KEY nrinvoic = itab_zycbt005-nrinvoic
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme = itab_zycbt005-slpagar.
if itab_zycbt005-waers ne itab_zycbt005-waers_c.
read table itab_zycbt006_pagos with key
nrinvoic = itab_zycbt005-nrinvoic
* << Fim da inclusão
nrparcf = itab_zycbt005-nrparcf
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
gsberf = itab_zycbt005-gsberf.
IF sy-subrc EQ 0.
LOOP AT itab_zycbt006 WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf.
v_total_liq = v_total_liq + itab_zycbt006-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
gsberf = itab_zycbt005-gsberf
dtvincul = itab_zycbt005-dtvincul.
if sy-subrc = 0.
itab_zycbt005-vlme = itab_zycbt006_pagos-vlme.
perform determina_fator using v_parafator
v_defator.
clear v_vlme.
loop at itab_zycbt006_pagos
where nrinvoic = itab_zycbt005-nrinvoic
and nrparcf = itab_zycbt005-nrparcf
and gsberf = itab_zycbt005-gsberf
and dtvincul = itab_zycbt005-dtvincul.
v_vlme = v_vlme + itab_zycbt006_pagos-vlme.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme = itab_zycbt005-vlme_p - v_total_liq.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
v_vlme = v_vlme + itab_zycbt005-vlme.
if itab_zycbt005-vlme_p ne v_vlme.
v_vlme = itab_zycbt005-vlme_p - v_vlme.
itab_zycbt005-vlme = itab_zycbt005-vlme + v_vlme.
endif.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme = itab_zycbt005-vlme_p.
ENDIF.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
SELECT *
FROM tcurx
UP TO 1 ROWS
WHERE currkey EQ itab_zycbt005-waers_c.
ENDSELECT.
IF sy-subrc <> 0.
tcurx-currdec = 2.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme = itab_zycbt005-vlme_p.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme = itab_zycbt005-vlme /
( 10 ** ( tcurx-currdec - 2 ) ).
* << Fim da exclusão
ENDIF.
MODIFY itab_zycbt005.
MOVE-CORRESPONDING itab_zycbt005 TO itab_paridade.
MOVE itab_zycbt005-parid TO itab_paridade-v_parid.
MOVE itab_zycbt005-waers_c TO itab_paridade-v_waers_c.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
MOVE itab_zycbt005-slpagar TO itab_paridade-v_vlme_c.
* << Fim da exclusão
APPEND itab_paridade.
ENDLOOP.
CLEAR: itab_zycbt005-status.
MODIFY itab_zycbt005 TRANSPORTING status
WHERE nrseqc = v_nrseqc.
LOOP AT itab_paridade.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
SELECT *
FROM tcurx
UP TO 1 ROWS
WHERE currkey EQ itab_paridade-waers.
ENDSELECT.
IF sy-subrc <> 0.
tcurx-currdec = 2.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
read table itab_zycbt006_pagos with key
nrinvoic = itab_paridade-nrinvoic
nrparcf = itab_paridade-nrparcf
gsberf = itab_paridade-gsberf
dtvincul = itab_paridade-dtvincul.
if sy-subrc = 0.
perform determina_fator using v_parafator
v_defator.
itab_paridade-v_vlme_c = itab_paridade-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
read table itab_tcurx with key
currkey = itab_paridade-waers_c into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_paridade-waers into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
itab_paridade-v_vlme_c = itab_paridade-v_vlme_c / 100.
endif.
endif.
read table itab_zycbt005 with key
nrinvoic = itab_paridade-nrinvoic
nrparcf = itab_paridade-nrparcf
gsberf = itab_paridade-gsberf.
if sy-subrc = 0 and
( itab_paridade-v_vlme_c > itab_zycbt005-slpagar and
itab_zycbt005-slpagar > 0 ) or
itab_paridade-v_vlme_c < itab_zycbt005-slpagar.
itab_paridade-v_vlme_c = itab_zycbt005-slpagar.
endif.
else.
read table itab_zycbt005 with key
nrinvoic = itab_paridade-nrinvoic
nrparcf = itab_paridade-nrparcf
gsberf = itab_paridade-gsberf.
if sy-subrc = 0.
itab_paridade-v_vlme_c = itab_zycbt005-vlvinc.
endif.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_paridade-v_vlme_c = itab_paridade-v_vlme_c /
( 10 ** ( tcurx-currdec - 2 ) ).
PERFORM verifica_casas_decimais
USING
itab_paridade-v_vlme_c
itab_paridade-v_waers_c
itab_paridade-waers
CHANGING itab_paridade-v_vlme_c.
* << Fim da exclusão
MODIFY itab_paridade.
ENDLOOP.
ELSE.
SELECT a~nrseqc a~tpdesp a~nrparc a~dtincl a~nrinvoic
a~nrparcf
a~gsberf a~dtvincul a~dtvencto a~nrcontr a~tpcontr
a~bconegoc a~bcofinan a~bukrs a~gsber a~kunnr a~waers
b~vlvinc b~slpagar a~txtinf a~ftxt b~belnr a~dtpagext
a~status a~kostl a~prctr a~fipos
a~vlme a~dtpagto b~j_1bbranch b~werks
...
...
ENDIF.
ENDIF.
MODIFY itab_zycbt005.
MOVE-CORRESPONDING itab_zycbt005 TO itab_paridade.
MOVE itab_zycbt005-parid TO itab_paridade-v_parid.
MOVE itab_zycbt005-waers_c TO itab_paridade-v_waers_c.
APPEND itab_paridade.
ENDLOOP.
MOVE itab_zycbt005[] TO itab_zycbt005_ant[].
LOOP AT itab_paridade.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_paridade-v_vlme_c =
itab_paridade-vlme * itab_paridade-v_parid.
PERFORM verifica_casas_decimais
USING
itab_paridade-v_vlme_c
itab_paridade-v_waers_c
itab_paridade-waers
CHANGING itab_paridade-v_vlme_c.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
read table itab_zycbt005 with key
nrinvoic = itab_paridade-nrinvoic
nrparcf = itab_paridade-nrparcf
gsberf = itab_paridade-gsberf.
if sy-subrc = 0 and itab_zycbt005-vlme_p = itab_paridade-vlme.
itab_paridade-v_vlme_c = itab_zycbt005-vlvinc.
elseif sy-subrc = 0.
perform determina_fator using v_parafator
v_defator.
read table itab_zycbt006_pagos with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf
dtvincul = itab_zycbt005-dtvincul
dtpagto = v_dtpagto
dtpagext = v_dtpagext.
if sy-subrc = 0.
itab_paridade-v_vlme_c = itab_zycbt006_pagos-vlme_c.
else.
itab_paridade-v_vlme_c = itab_paridade-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
endif.
if itab_zycbt005-slpagar is initial and
itab_zycbt006_pagos-vlme_c is initial.
clear v_vlme.
sort itab_zycbt006_pagos by dtpagto.
loop at itab_zycbt006_pagos
where nrinvoic = itab_zycbt005-nrinvoic
and nrparcf = itab_zycbt005-nrparcf
and gsberf = itab_zycbt005-gsberf
and dtvincul = itab_zycbt005-dtvincul.
.
v_vlme = v_vlme + ( itab_zycbt006_pagos-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ) ).
endloop.
if itab_zycbt006_pagos-dtpagto = v_dtpagto and
v_vlme ne itab_zycbt005-vlvinc.
v_vlme = v_vlme - itab_zycbt005-vlvinc.
itab_paridade-v_vlme_c = itab_paridade-v_vlme_c - v_vlme.
endif.
endif.
endif.
* << Fim da inclusão
MODIFY itab_paridade.
ENDLOOP.
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
itab_paridade_ant[] = itab_paridade[].
* << Fim da inclusão
ENDIF.
SELECT * FROM /pws/zycbt001
INTO TABLE itab_zycbt001
WHERE nrseqc = v_nrseqc.
IF NOT itab_zycbt001[] IS INITIAL.
SELECT *
FROM /pws/zycbt074
INTO TABLE itab_zycbt074
FOR ALL ENTRIES IN itab_zycbt001
WHERE nrseqc = itab_zycbt001-nrseqc.
ENDIF.
CLEAR v_msg_1.
LOOP AT itab_zycbt005.
MOVE-CORRESPONDING itab_zycbt005 TO itab_zycbt005_s.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005_s-slliquid = itab_zycbt005-slpagar.
* << Fim da exclusão
APPEND itab_zycbt005_s.
PERFORM lock_record.
ENDLOOP.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
PERFORM calcula_valor_liquidado.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
if sy-subrc eq 0.
* << Fim da inclusão
PERFORM carrega_vljur_vlcomis.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
IF v_trans IS INITIAL.
CLEAR: itab_zycbt005-slpagar.
MODIFY itab_zycbt005 TRANSPORTING slpagar
WHERE nrseqc = v_nrseqc.
ENDIF.
IF sy-subrc EQ 0.
* << Fim da exclusão
CLEAR itab_zycbt005.
CLEAR: v_fipos, v_dtpagto, v_ftxt,
v_txtinf.
READ TABLE itab_zycbt005 INDEX 1.
IF NOT itab_zycbt005-bukrs_f IS INITIAL
AND sy-tcode EQ c_transacao_c.
MESSAGE i061 WITH text-135 text-136 text-137.
EXIT.
ELSEIF NOT itab_zycbt005-bukrs_f IS INITIAL
AND ( sy-tcode EQ c_transacao_a OR
...
...
v_dt_pgt = ' '.
v_dtliq = 'X'.
/pws/zycbt006-dtcalcjur = ' '.
ELSEIF /pws/zycbt006-dtcalcjur = ' '.
v_dt_pgt = ' '.
v_dtliq = ' '.
/pws/zycbt006-dtcalcjur = ' '.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
perform seleciona_dados.
* << Fim da inclusão
CALL SCREEN '0100'.
ELSE.
IF v_trans IS INITIAL.
MESSAGE i011(pc) WITH text-024.
ELSE.
MESSAGE i011(pc) WITH text-027.
ENDIF.
EXIT.
ENDIF.
IF NOT itab_zycbt005[] IS INITIAL.
...
...
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycbe005-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycbe005-bukrs.
ENDIF.
ENDIF.
ENDIF.
v_dt_estorno = v_dtpagto.
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
perform seleciona_dados.
* << Fim da inclusão
CALL SCREEN '0100'.
ENDFORM.
FORM carrega_zycbe006.
IF sy-tcode EQ c_transacao_c.
IF wa_zycbt007-fltxt = 'X'.
v_ftxt = 'X'.
ENDIF.
ENDIF.
MOVE: itab_zycbt005-vljur_acc TO v_vljur_acc,
itab_zycbt005-vljur_ace TO v_vljur_ace.
...
...
v_parid = itab_paridade-v_parid.
v_waers_c = itab_paridade-v_waers_c.
v_vlme_c = itab_paridade-v_vlme_c.
MODIFY itab_paridade TRANSPORTING v_vlme_c
WHERE nrinvoic = itab_zycbt005-nrinvoic AND
dtvincul = itab_zycbt005-dtvincul .
ENDIF.
ENDFORM.
FORM altera_itab_zycbt005.
DATA: v_vlmedif LIKE /pws/zycbt006-vlme.
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
data: v_saldo_fatura type /pws/zycbe006-vlme.
* << Fim da inclusão
IF v_status_s EQ 0.
MODIFY itab_zycbt005
INDEX tc_faturas-current_line TRANSPORTING mark.
EXIT.
ENDIF.
IF NOT /pws/zycbe006-vlme IS INITIAL.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
CLEAR: itab_zycbt005_ant, itab_zycbt005_s.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
v_saldo_fatura = itab_zycbt005-vlme_p - /pws/zycbe006-vlme.
if v_saldo_fatura => 0.
* << Fim da inclusão
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
READ TABLE itab_zycbt005_s
WITH KEY nrinvoic = /pws/zycbe006-nrinvoic
nrparcf = /pws/zycbe006-nrparcf
gsberf = /pws/zycbe006-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
loop at itab_zycbt006_pagos
where nrinvoic eq itab_zycbt005-nrinvoic
and nrparcf eq itab_zycbt005-nrparcf
and gsberf eq itab_zycbt005-gsberf
and dtvincul eq itab_zycbt005-dtvincul
* << Fim da inclusão
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
READ TABLE itab_zycbt005_ant
WITH KEY nrinvoic = /pws/zycbe006-nrinvoic
nrparcf = /pws/zycbe006-nrparcf
gsberf = /pws/zycbe006-gsberf.
IF sy-subrc EQ 0.
v_vlmedif = /pws/zycbe006-vlme - itab_zycbt005_ant-vlme.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
v_vlmedif = v_vlmedif * itab_zycbt005-parid.
ENDIF.
ELSE.
v_vlmedif = /pws/zycbe006-vlme.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
v_vlmedif = v_vlmedif * itab_zycbt005-parid.
ENDIF.
ENDIF.
IF v_trans = 2.
v_total_liq = 0.
LOOP AT itab_zycbt006
WHERE nrinvoic = /pws/zycbe006-nrinvoic
AND nrparcf = /pws/zycbe006-nrparcf
AND gsberf = /pws/zycbe006-gsberf.
IF itab_zycbt006-dtvincul = v_dtvincul AND
itab_zycbt006-dtpagto = v_dtpagto AND
itab_zycbt006-dtpagext = v_dtpagext.
ELSE.
v_total_liq = v_total_liq + itab_zycbt006-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
and dtpagext ne /pws/zycbe006-dtpagext
and dtpagto ne v_dtpagto.
v_saldo_fatura = v_saldo_fatura - itab_zycbt006_pagos-vlme.
endloop.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
ENDLOOP.
v_total_liq = v_total_liq + /pws/zycbe006-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
if v_saldo_fatura lt 0.
* << Fim da inclusão
IF v_vinculacao IS INITIAL.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
IF v_total_liq > itab_zycbt005-vlme_p.
MOVE /pws/zycbe006-vlme TO v_aux_1.
MOVE itab_zycbt005_s-slliquid TO v_aux_2.
CONDENSE: v_aux_1 NO-GAPS,
v_aux_2 NO-GAPS.
CONCATENATE: text-025 v_aux_1 INTO v_msg_1,
'é superior ao saldo => ' v_aux_2
INTO v_msg_2.
PERFORM msg_valor_invalido USING v_msg_1 v_msg_2.
EXIT.
ENDIF.
ENDIF.
ENDIF.
IF /pws/zycbe006-vlme = itab_zycbt005_s-vlme.
v_vlmedif = itab_zycbt005_s-slpagar.
ENDIF.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
itab_zycbt005-slpagar =
itab_zycbt005_s-slliquid - v_vlmedif.
ELSE.
itab_zycbt005-slpagar =
itab_zycbt005_s-slpagar - v_vlmedif.
ENDIF.
IF itab_zycbt005-slpagar LT 0.
IF sy-ucomm = 'DELE'.
MODIFY itab_zycbt005
INDEX tc_faturas-current_line TRANSPORTING mark.
EXIT.
ENDIF.
* << Fim da exclusão
CLEAR: v_aux_1, v_aux_2, v_msg_1, v_msg_2.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
IF itab_zycbt005-waers EQ itab_zycbt005-waers_c.
MOVE /pws/zycbe006-vlme TO v_aux_1.
MOVE itab_zycbt005_s-slpagar TO v_aux_2.
CONDENSE: v_aux_1 NO-GAPS,
v_aux_2 NO-GAPS.
CONCATENATE: text-025 v_aux_1 INTO v_msg_1,
'é superior ao saldo => ' v_aux_2
INTO v_msg_2.
PERFORM msg_valor_invalido USING v_msg_1 v_msg_2.
EXIT.
ELSEIF v_vlmedif < /pws/zycbe006-vlme..
* << Fim da exclusão
MOVE /pws/zycbe006-vlme TO v_aux_1.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
MOVE v_vlmedif TO v_aux_2.
* << Fim da exclusão
CONDENSE: v_aux_1 NO-GAPS,
v_aux_2 NO-GAPS.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
CONCATENATE: text-025 v_aux_1 INTO v_msg_1,
'é superior ao saldo => ' v_aux_2
INTO v_msg_2.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
concatenate: text-025 v_aux_1 into v_msg_1.
v_msg_2 = 'é superior ao saldo.'.
* << Fim da inclusão
PERFORM msg_valor_invalido USING v_msg_1 v_msg_2.
EXIT.
ENDIF.
ELSE.
v_ind_mudanca = 'X'.
itab_zycbt005-vlme = /pws/zycbe006-vlme.
IF itab_zycbt005-waers NE /pws/zycbt001-waers.
PERFORM calc_paridade.
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
else.
clear itab_paridade.
read table itab_paridade
with key nrseqc = itab_zycbt005-nrseqc
tpdesp = itab_zycbt005-tpdesp
nrparc = itab_zycbt005-nrparc
dtincl = itab_zycbt005-dtincl
nrinvoic = itab_zycbt005-nrinvoic
gsberf = itab_zycbt005-gsberf
dtvincul = itab_zycbt005-dtvincul
dtvencto = itab_zycbt005-dtvencto.
if sy-subrc eq 0.
itab_paridade-v_vlme_c = itab_zycbt005-vlme.
modify itab_paridade index sy-tabix.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
endif.
* << Fim da inclusão
itab_zycbt005-txjtotal2 = /pws/zycbe006-txjtotal.
MOVE: /pws/zycbe006-vljur_acc TO itab_zycbt005-vljur_acc,
/pws/zycbe006-vljur_ace TO itab_zycbt005-vljur_ace.
PERFORM move_zycbt005.
MODIFY itab_zycbt005
INDEX tc_faturas-current_line TRANSPORTING dtpagto vlme slpagar
...
...
WHEN 'D'.
v_dtaux = /pws/zycbt001-dtdesem.
WHEN 'O'.
v_dtaux = /pws/zycbt001-dtcontr.
WHEN 'C' OR ' '.
v_dtaux = /pws/zycbt001-dtcred.
ENDCASE.
IF v_dtpagto LT v_dtaux.
MESSAGE i011(pc) WITH text-026.
v_dtpagto = sy-datum.
* >> Início da inclusão: FORM VERIFICA_DTPAGTO
perform seleciona_dados.
* << Fim da inclusão
CALL SCREEN '0100'.
ENDIF.
IF v_dtpagto > /pws/zycbt001-dtliquid.
IF /pws/zycbe001-tpcontr(1) = 'S' OR
/pws/zycbe001-tpcontr(1) = 'P'.
SELECT SINGLE * FROM /pws/zycbt003
WHERE nrseqc = /pws/zycbt001-nrseqc AND
tppror = 'P' AND
dtpror >= v_dtpagto.
IF sy-subrc NE 0.
...
...
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F28
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30_A
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F22
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
SELECT SINGLE dtincl FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
* >> Início da exclusão: FORM FILL_DATE6_F30
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE6_F30
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
* << Fim da inclusão
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
...
...
ENDIF.
PERFORM clear_date_batch.
CLEAR itab_zycbt036.
REFRESH itab_zycbt036.
ENDFORM.
FORM atualiza_tabelas_transparentes.
DATA: v_subrc TYPE c,
v_vlme LIKE /pws/zycbt006-vlme.
DATA: wa_zycbt006_sbu LIKE /pws/zycbt006.
CHECK v_cta_bloq NE 'S'.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSPARENTES
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSPARENTES
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
* << Fim da inclusão
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
itab_zycbt005-vljur_acc = itab_zycbt005-vljur_acc *
( 10 ** ( tcurx-currdec - 2 ) ).
itab_zycbt005-vljur_ace = itab_zycbt005-vljur_ace *
( 10 ** ( tcurx-currdec - 2 ) ).
itab_zycbt005-status = 'C'.
MODIFY itab_zycbt005 TRANSPORTING status
WHERE nrseqc = /pws/zycbe005-nrseqc.
...
...
ELSE.
itab_zycet010-belnr = itab_zycbt032-belnr.
itab_zycet010-status = space.
itab_zycet010-dtpagto = '00000000'.
MODIFY itab_zycet010 TRANSPORTING belnr status dtpagto
WHERE nrseq = itab_zycet010-nrseq
AND lifnr = itab_zycet010-lifnr
AND dtvencto = itab_zycet010-dtvencto.
ENDIF.
MODIFY /pws/zycet010 FROM itab_zycet010.
* >> Início da inclusão: FORM FILL_DATE_F30_COMISSAO
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
* >> Início da inclusão: FORM FILL_DATE_F30_COMISSAO
endif.
* << Fim da inclusão
ELSE.
IF itab_zycbt006-v_status <> 'E'.
LOOP AT itab_zycet013 WHERE nrseq EQ itab_zycbt006-nrinvoic .
itab_zycet013-status = 'C'.
itab_zycet013-belnr_c = itab_zycbt032-belnr.
itab_zycet013-dtpagto = v_dtpagto.
...
...
MODIFY itab_zycet013 TRANSPORTING status
belnr
dtpagto
WHERE nrseq = itab_zycet013-nrseq
AND lifnr = itab_zycet013-lifnr
AND gsber = itab_zycet013-gsber
AND prctr = itab_zycet013-prctr.
ENDLOOP.
ENDIF.
MODIFY /pws/zycet013 FROM itab_zycet013.
* >> Início da inclusão: FORM FILL_DATE_F30_COMISSAO
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_F30_COMISSAO
endif.
* << Fim da inclusão
MOVE itab_zycbt032 TO itab_zycbt032a.
MOVE itab_zycbe033-budat TO itab_zycbt032a-budat.
APPEND itab_zycbt032a.
v_status_f30 = 'S'.
IF v_vinculacao IS INITIAL.
...
...
READ TABLE itab_zycbt030 WITH KEY
nrinvoic = itab_aux-nrinvoic
nrparcf = itab_aux-nrparcf
vbeln = itab_aux-vbeln
gsberf = itab_aux-gsberf.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
LOOP AT itab_zycbt006_pagos WHERE nrinvoic = itab_zycbt006-nrinvoic
AND nrparcf = itab_zycbt006-nrparcf
* >> Início da exclusão: FORM VALOR_BAIXAR_COMISSAO
AND gsberf = itab_zycbt006-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM VALOR_BAIXAR_COMISSAO
and gsberf = itab_zycbt006-gsberf
and dtvincul = itab_zycbt006-dtvincul.
* << Fim da inclusão
v_some = v_some + itab_zycbt006_pagos-vlme.
ENDLOOP.
v_saliq = itab_zycbt017-vlavinc - v_some - itab_zycbt006-v_vldif.
IF v_saliq = 0.
IF itab_aux-valor = 0.
v_gjahr = itab_zycbt030-budat(4).
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycbt005-bukrs
...
...
ENDIF.
ELSE.
itab_zycbe033-wrbtr = itab_aux-valor.
ENDIF.
ELSE.
itab_zycbe033-wrbtr = itab_aux-valor.
ENDIF.
ENDFORM.
FORM seleciona_dados.
IF NOT itab_zycbt006[] IS INITIAL.
* >> Início da exclusão: FORM SELECIONA_DADOS
SELECT * FROM /pws/zycbt006
INTO TABLE itab_zycbt006_pagos
FOR ALL ENTRIES IN itab_zycbt006
WHERE nrinvoic = itab_zycbt006-nrinvoic AND
nrparcf = itab_zycbt006-nrparcf AND
gsberf = itab_zycbt006-gsberf. "#EC CI_NOFIRST
* << Fim da exclusão
SELECT * FROM /pws/zycbt017
INTO TABLE itab_zycbt017
FOR ALL ENTRIES IN itab_zycbt006
WHERE nrinvoic = itab_zycbt006-nrinvoic AND
nrparcf = itab_zycbt006-nrparcf AND
gsberf = itab_zycbt006-gsberf.
SELECT * FROM /pws/zycbt069
INTO TABLE itab_zycbt069
FOR ALL ENTRIES IN itab_zycbt006
WHERE nrinvoic = itab_zycbt006-nrinvoic
...
...
FORM valor_baixar_f28.
CLEAR: v_vlcomis, v_saliq, v_some.
READ TABLE itab_zycbt005 WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
LOOP AT itab_zycbt006_pagos WHERE nrinvoic = itab_zycbt006-nrinvoic
AND nrparcf = itab_zycbt006-nrparcf
* >> Início da exclusão: FORM VALOR_BAIXAR_F28
AND gsberf = itab_zycbt006-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM VALOR_BAIXAR_F28
and gsberf = itab_zycbt006-gsberf
and dtvincul = itab_zycbt006-dtvincul.
* << Fim da inclusão
v_some = v_some + itab_zycbt006_pagos-vlme.
ENDLOOP.
IF /pws/zycet037-comis_provisao IS INITIAL OR
/pws/zycet037-comis_provisao EQ 0.
READ TABLE itab_zycet010 WITH KEY nrseq = itab_zycbt006-nrinvoic.
ELSE.
READ TABLE itab_zycet013 WITH KEY nrseq = itab_zycbt006-nrinvoic
gsber = itab_zycbt006-gsberf.
ENDIF.
IF sy-subrc EQ 0.
...
...
CLEAR: v_vlcomis, v_saliq, v_some.
READ TABLE itab_zycbt005 WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
LOOP AT itab_zycbt006_pagos WHERE nrinvoic = itab_zycbt006-nrinvoic
AND nrparcf = itab_zycbt006-nrparcf
* >> Início da exclusão: FORM VALOR_BAIXAR_F30A
AND gsberf = itab_zycbt006-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM VALOR_BAIXAR_F30A
and gsberf = itab_zycbt006-gsberf
and dtvincul = itab_zycbt006-dtvincul.
* << Fim da inclusão
v_some = v_some + itab_zycbt006_pagos-vlme.
ENDLOOP.
IF /pws/zycet037-comis_provisao IS INITIAL OR
/pws/zycet037-comis_provisao EQ 0.
READ TABLE itab_zycet010 WITH KEY nrseq = itab_zycbt006-nrinvoic.
ELSE.
READ TABLE itab_zycet013 WITH KEY nrseq = itab_zycbt006-nrinvoic
gsber = itab_zycbt006-gsberf.
ENDIF.
IF sy-subrc EQ 0.
...
...
dtlanc
status
dtpagto
belnr51
belnr_p
WHERE nrseq = itab_zycet010-nrseq AND
lifnr = itab_zycet010-lifnr AND
dtvencto = itab_zycet010-dtvencto.
ENDIF.
MODIFY /pws/zycet010 FROM itab_zycet010.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
endif.
* << Fim da inclusão
ELSE.
IF itab_zycbt006-v_status <> 'E'.
LOOP AT itab_zycet013 WHERE nrseq EQ itab_zycbt006-nrinvoic .
itab_zycet013-belnr_cl = itab_zycbt032-belnr.
MODIFY itab_zycet013 TRANSPORTING belnr_cl
WHERE nrseq = itab_zycet013-nrseq
AND gsber = itab_zycet013-gsber
AND lifnr = itab_zycet013-lifnr
AND prctr = itab_zycet013-prctr.
MODIFY /pws/zycet013 FROM itab_zycet013 .
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
endif.
* << Fim da inclusão
ENDLOOP.
ELSE.
LOOP AT itab_zycet013 WHERE nrseq EQ itab_zycbt006-nrinvoic .
itab_zycet013-belnr = itab_zycbt032-belnr.
itab_zycet013-dtlanc = itab_zycbe033-budat.
itab_zycet013-status = space.
...
...
dtlanc
status
dtpagto
belnr_cl
belnr_c
WHERE nrseq = itab_zycet013-nrseq
AND gsber = itab_zycet013-gsber
AND lifnr = itab_zycet013-lifnr
AND prctr = itab_zycet013-prctr.
MODIFY /pws/zycet013 FROM itab_zycet013 .
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
endif.
* << Fim da inclusão
ENDLOOP.
ENDIF.
ENDIF.
IF itab_zycbt006-v_status <> 'E'.
itab_zycbt006-vlcomis = /pws/zycbt017-vlcomis.
ELSE.
...
...
itab_zycbt030-budat = itab_zycbe033-budat.
itab_zycbt030-vlslliq = itab_zycbt030-vlslliq + v_vlme .
MODIFY itab_zycbt030 TRANSPORTING belnr6 budat vlslliq
WHERE nrinvoic = itab_aux-nrinvoic AND
nrparcf = itab_aux-nrparcf AND
vbeln = itab_aux-vbeln AND
gsberf = itab_aux-gsberf.
MODIFY itab_zycbt030 TRANSPORTING belnr6 budat
WHERE belnr6 = v_belnr6.
MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
endif.
* << Fim da inclusão
IF /pws/zycet037-comis_provisao IS INITIAL OR
/pws/zycet037-comis_provisao EQ 0.
CLEAR :itab_zycet010-belnr_p .
MODIFY itab_zycet010 TRANSPORTING belnr_p
WHERE nrseq = itab_zycet010-nrseq
AND lifnr = itab_zycet010-lifnr
AND dtvencto = itab_zycet010-dtvencto.
MODIFY /pws/zycet010 FROM itab_zycet010.
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
if v_vinculacao is initial.
* << Fim da inclusão
COMMIT WORK.
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
endif.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycet013 WHERE nrseq EQ itab_zycbt006-nrinvoic.
CLEAR: itab_zycet013-belnr_c ,
itab_zycet013-belnr_cl .
MODIFY itab_zycet013 TRANSPORTING belnr_c
belnr_cl
...
...
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30_B
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
SELECT SINGLE kursf FROM bkpf
INTO itab_zycbe033-kursf
WHERE belnr EQ itab_zycbt005-belnr
AND bukrs EQ itab_zycbt006-bukrs
AND gjahr EQ v_year.
PERFORM verify_null_field USING itab_zycbe033-kursf
'TXCAMB'
text-051.
PERFORM determina_fator USING v_parafator
v_defator.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
SELECT *
UP TO 1 ROWS
FROM tcurx
WHERE currkey = itab_zycbt005-waers.
ENDSELECT.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
READ TABLE itab_paridade
WITH KEY nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
read table itab_paridade with key nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
if sy-subrc = 0.
* << Fim da inclusão
itab_zycbe033-wrbtr = itab_paridade-v_vlme_c.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
ELSE.
itab_zycbe033-wrbtr = itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
itab_zycbe033-wrbtr = itab_zycbe033-wrbtr /
( 10 ** ( tcurx-currdec - 2 ) ).
PERFORM verifica_casas_decimais
USING
itab_zycbe033-wrbtr
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING itab_zycbe033-wrbtr.
* << Fim da exclusão
itab_zycbe033-c_gsber = itab_zycbt006-gsberf.
itab_zycbe033-d_gsber = itab_zycbt006-gsberf.
IF /pws/zycbe001-tpcontr(1) = 'D' AND
/pws/zycbt089-f_cont_vinc = 'F'.
itab_zycbe033-newbs = '19'.
itab_zycbe033-agkoa = 'D'.
CONCATENATE '002' /pws/zycbe005-tpcontr INTO v_codeven.
SELECT agums FROM /pws/zycbt011
INTO itab_zycbe033-agums
UP TO 1 ROWS
...
...
itab_zycbe033-belnr = itab_zycbt005-belnr.
ENDIF.
itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.
ENDIF.
ENDIF.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT006'.
itab_zycbt036-cpochv = v_cpochv.
PERFORM determina_fator USING v_parafator
v_defator.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
SELECT *
UP TO 1 ROWS
FROM tcurx
WHERE currkey = itab_zycbt005-waers.
ENDSELECT.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
READ TABLE itab_paridade
WITH KEY nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE6_F30_ACE
read table itab_paridade with key nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
if sy-subrc = 0.
* << Fim da inclusão
itab_zycbt036-residuo = itab_paridade-v_vlme_c.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
ELSE.
itab_zycbt036-residuo = itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM FILL_DATE6_F30_ACE
itab_zycbt036-residuo = itab_zycbt036-residuo /
( 10 ** ( tcurx-currdec - 2 ) ).
PERFORM verifica_casas_decimais
USING
itab_zycbt036-residuo
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING itab_zycbt036-residuo.
* << Fim da exclusão
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycbe033-bukrs
v_date = itab_zycbe033-dtdocto
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
...
...
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30_CLIENTE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
tpdesp = itab_zycbt005-tpdesp
nrparc = itab_zycbt005-nrparc
dtincl = itab_zycbt005-dtincl
nrinvoic = itab_zycbt005-nrinvoic
gsberf = itab_zycbt005-gsberf
dtvincul = itab_zycbt005-dtvincul
dtvencto = itab_zycbt005-dtvencto.
IF v_status_s EQ 0.
EXIT.
ENDIF.
* >> Início da inclusão: FORM CALC_PARIDADE
clear itab_paridade_ant.
read table itab_paridade_ant
with key nrseqc = itab_zycbt005-nrseqc
tpdesp = itab_zycbt005-tpdesp
nrparc = itab_zycbt005-nrparc.
* << Fim da inclusão
PERFORM determina_fator USING v_parafator
v_defator.
* >> Início da exclusão: FORM CALC_PARIDADE
READ TABLE itab_zycbt005_s
WITH KEY nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
IF sy-subrc EQ 0 AND itab_zycbt005-vlme = itab_zycbt005_s-vlme.
itab_zycbt005-vlme = itab_zycbt005_s-vlme.
v_vlme_c = itab_zycbt005_s-slpagar.
ELSEIF itab_zycbt005-vlme EQ 0 AND v_parid NE 0 AND v_vlme_c NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
if itab_zycbt005-vlme eq 0 and v_parid ne 0 and v_vlme_c ne 0.
* << Fim da inclusão
itab_zycbt005-vlme = v_vlme_c /
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da exclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
itab_zycbt005-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
CHANGING itab_zycbt005-vlme.
* << Fim da exclusão
v_vlme_c = itab_zycbt005-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da exclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
v_vlme_c
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING v_vlme_c.
* << Fim da exclusão
ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0 AND
v_vlme_c EQ 0.
* >> Início da exclusão: FORM CALC_PARIDADE
v_vlme_c = itab_zycbt005-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
PERFORM verifica_casas_decimais
USING
v_vlme_c
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING v_vlme_c.
ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0 AND
v_vlme_c NE 0 AND v_vlme_c NE itab_paridade-v_vlme_c.
itab_zycbt005-vlme = v_vlme_c /
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
PERFORM verifica_casas_decimais
USING
itab_zycbt005-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
CHANGING itab_zycbt005-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
itab_zycbt005-vlme = itab_zycbt005-vlme / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
* << Fim da inclusão
v_vlme_c = itab_zycbt005-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da exclusão: FORM CALC_PARIDADE
PERFORM verifica_casas_decimais
USING
v_vlme_c
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING v_vlme_c.
* << Fim da exclusão
ELSEIF itab_zycbt005-vlme NE 0 AND v_parid NE 0.
* >> Início da inclusão: FORM CALC_PARIDADE
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
itab_zycbt005-vlme = itab_zycbt005-vlme / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
* << Fim da inclusão
v_vlme_c = itab_zycbt005-vlme *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
* >> Início da exclusão: FORM CALC_PARIDADE
SELECT *
FROM tcurx
UP TO 1 ROWS
WHERE currkey EQ itab_zycbt005-waers.
ENDSELECT.
IF sy-subrc <> 0.
tcurx-currdec = 2.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
endif.
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if ( sy-subrc = 0 and tcurx-currdec > 0 ) or sy-subrc ne 0.
itab_zycbt005-vlme = itab_zycbt005-vlme * ( 10 ** ( 0 - 2 ) ).
endif.
endif.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
v_vlme_c = v_vlme_c / 100.
endif.
endif.
if itab_zycbt005-vlme_p eq itab_zycbt005-vlme.
v_vlme_c = itab_zycbt005-vlvinc.
elseif itab_zycbt005-vlme eq itab_paridade-vlme.
if v_trans is initial.
v_vlme_c = itab_zycbt005-slpagar.
elseif v_vlme_c ne itab_paridade_ant-v_vlme_c.
v_vlme_c = itab_paridade_ant-v_vlme_c.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CALC_PARIDADE
v_vlme_c = v_vlme_c / ( 10 ** ( tcurx-currdec - 2 ) ).
PERFORM verifica_casas_decimais
USING
v_vlme_c
itab_zycbt005-waers_c
itab_zycbt005-waers
CHANGING v_vlme_c.
* << Fim da exclusão
ENDIF.
MOVE v_vlme_c TO itab_paridade-v_vlme_c.
MODIFY itab_paridade TRANSPORTING v_vlme_c
WHERE nrinvoic = itab_zycbt005-nrinvoic AND
gsberf = itab_zycbt005-gsberf AND
nrparcf = itab_zycbt005-nrparcf.
MODIFY itab_zycbt005 INDEX v_index.
ENDFORM.
FORM determina_fator USING p_parafator
p_defator.
* >> Início da inclusão: FORM DETERMINA_FATOR
if not itab_zycbt005[] is initial.
* << Fim da inclusão
IF itab_zycbt005-waers = itab_zycbt005-waers_c.
p_parafator = p_defator = 1.
ELSE.
* >> Início da inclusão: FORM DETERMINA_FATOR
select single *
from t001a
where bukrs = /pws/zycbt001-bukrs.
* << Fim da inclusão
SELECT SINGLE ffact tfact
FROM tcurf
* >> Início da exclusão: FORM DETERMINA_FATOR
INTO (p_parafator,
p_defator)
WHERE fcurr = itab_zycbt005-waers
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_FATOR
into (p_defator,
p_parafator)
where kurst = t001a-kurst
and fcurr = itab_zycbt005-waers
* << Fim da inclusão
AND tcurr = itab_zycbt005-waers_c
* >> Início da exclusão: FORM DETERMINA_FATOR
AND gdatu >= sy-datum. "#EC PORTABLE
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_FATOR
and gdatu >= sy-datum. "#EC PORTABLE
endif.
else.
if itab_zycbt005_ant-waers = itab_zycbt005_ant-waers_c.
p_parafator = p_defator = 1.
else.
select single *
from t001a
where bukrs = /pws/zycbt001-bukrs.
select single ffact tfact
from tcurf
into (p_defator,
p_parafator)
where kurst = t001a-kurst
and fcurr = itab_zycbt005_ant-waers
and tcurr = itab_zycbt005_ant-waers_c
and gdatu >= sy-datum.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM DETERMINA_FATOR
endif.
if p_defator = 0.
p_defator = 1.
endif.
if p_parafator = 0.
p_parafator = 1.
endif.
* << Fim da inclusão
ENDFORM.
FORM valida_taxa_parametro.
CLEAR: v_taxa_vazia.
CLEAR itab_zycbe033-kursf.
PERFORM verifica_data2 USING /pws/zycbt089-tx_desm_cli
itab_zycbt006-dtpagto.
IF NOT v_databl IS INITIAL.
PERFORM define_cambio USING v_databl
itab_zycbt006-waers
wa_zycbt007-waersb
...
...
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
itab_zycbt006_aux4-dtpagto = itab_zycbt209-dtbelnr.
itab_zycbt006_aux4-belnr = itab_zycbt209-belnr.
itab_zycbt006_aux4-gjahr = v_year.
APPEND itab_zycbt006_aux4.
itab_zycbt006_aux4-belnr = itab_zycbt006-belnr.
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
append itab_zycbt006_aux4.
if not itab_zycbt209-belnr_f28 is initial.
itab_zycbt006_aux4-belnr = itab_zycbt209-belnr_f28.
* << Fim da inclusão
APPEND itab_zycbt006_aux4.
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
endif.
if not itab_zycbt006-belnr_f28 is initial.
* << Fim da inclusão
itab_zycbt006_aux4-belnr = itab_zycbt006-belnr_f28.
APPEND itab_zycbt006_aux4.
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
endif.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDLOOP.
IF NOT itab_zycbt006_aux4[] IS INITIAL.
CLEAR itab_zyglt100.
REFRESH: itab_zyglt100.
IF itab_zyglt100[] IS INITIAL.
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
...
...
ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.
SELECT SINGLE dtvencto FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
itab_partidas-zfbdt = itab_zycbt017-dtvencto.
APPEND itab_partidas.
MODIFY itab_zycbt209.
ENDLOOP.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt006-nrinvoic
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
READ TABLE itab_zycbt084 WITH KEY vbeln = itab_zycbt030-vbeln
tdesmemb = 'K'.
CHECK sy-subrc EQ 0.
* >> Início da exclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
READ TABLE itab_bsad WITH KEY belnr = itab_zycbt084-belnr
.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
read table itab_zycbt209 with key
nrinvoic = itab_zycbt030-nrinvoic
gsberf = itab_zycbt030-gsberf
nrparcf = itab_zycbt030-nrparcf.
if sy-subrc ne 0.
read table itab_bsad with key belnr = itab_zycbt084-belnr.
else.
loop at itab_bsad where belnr = itab_zycbt084-belnr
and zuonr(4) ne 'Des.'.
exit.
endloop.
endif.
* << Fim da inclusão
CHECK sy-subrc EQ 0.
itab_zycbt030-v_kwert =
( itab_zycbt030-kwert / itab_zycbt030-s_kwert )
* v_vlliq.
MODIFY itab_zycbt030.
READ TABLE itab_zycbt017 WITH KEY
nrinvoic = itab_zycbt030-nrinvoic
gsberf = itab_zycbt030-gsberf
nrparcf = itab_zycbt030-nrparcf.
itab_zycbe033-zterm = itab_zycbt030-zterm.
...
...
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
IF itab_zycbt006-v_status EQ 'A'.
itab_zycbt006-v_status = 'I'.
READ TABLE itab_zycbt005
WITH KEY nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
IF sy-subrc EQ 0.
itab_zycbt005-belnr_d = v_belnr.
* >> Início da exclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
MODIFY itab_zycbt005 TRANSPORTING belnr_d
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt005-belnr = v_belnr.
modify itab_zycbt005 transporting belnr_d belnr
* << Fim da inclusão
WHERE nrinvoic = itab_zycbt006-nrinvoic
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
ENDIF.
itab_zycbt006-status = 'E'.
ELSE.
itab_zycbt006-status = ' '.
ENDIF.
MODIFY itab_zycbt006.
CLEAR: v_linha, v_cont, v_ult.
...
...
tdesmemb = 'V'.
IF sy-subrc = 0.
itab_zycbt030-vlslliq = itab_zycbt030-vlslliq +
itab_zycbt084-result_saldo.
v_vlmext = v_vlmext + itab_zycbt084-result_saldo.
MODIFY itab_zycbt030 TRANSPORTING vlslliq
WHERE nrinvoic = itab_zycbt006-nrinvoic AND
gsberf = itab_zycbt006-gsberf AND
nrparcf = itab_zycbt006-nrparcf.
ENDIF.
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
read table itab_paridade_ant
with key nrseqc = itab_zycbt006-nrseqc
tpdesp = itab_zycbt006-tpdesp
nrparc = itab_zycbt006-nrparc
dtincl = itab_zycbt006-dtincl
nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf
dtvincul = itab_zycbt006-dtvincul
dtvencto = itab_zycbt006-dtvencto.
* << Fim da inclusão
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt006-nrinvoic
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
CHECK NOT itab_zycbt030-belnr_d IS INITIAL.
IF wa_zycbt007-liq_trans EQ space.
itab_zycbt030-belnr6 = itab_zycbt030-belnr_d.
itab_zycbt030-budat = v_datum.
itab_zycbt030-vlslliq =
* >> Início da exclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt030-vlslliq + ( itab_zycbt006-vlme - v_liq_and -
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt030-vlslliq + ( itab_paridade_ant-vlme - v_liq_and -
* << Fim da inclusão
v_vlmext ).
itab_zycbt030-vlsltrans =
* >> Início da exclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt030-vlsltrans + ( itab_zycbt006-vlme - v_liq_and -
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt030-vlsltrans + ( itab_paridade_ant-vlme - v_liq_and -
* << Fim da inclusão
v_vlmext ).
CLEAR itab_zycbt030-belnr_d.
ELSE.
itab_zycbt030-vlslliq =
* >> Início da exclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt030-vlslliq + itab_zycbt006-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_ESTORNO_ARBITR_3
itab_zycbt030-vlslliq + itab_paridade_ant-vlme.
* << Fim da inclusão
CLEAR itab_zycbt030-belnr_d.
ENDIF.
IF itab_zycbt030-belnr6 = itab_zycbt030-belnr.
CLEAR: itab_zycbt030-budat_t,
itab_zycbt030-belnr_t.
ENDIF.
MODIFY itab_zycbt030.
PERFORM grava_zycbt084 USING ' '.
ENDLOOP.
IF itab_zycbt084-result_saldo > 0.
...
...
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt030-belnr6
AND bukrs EQ itab_zycbt006-bukrs
AND gjahr EQ v_year.
p_wrbtr = p_wrbtr / ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_EST2
p_wrbtr = ( ( bkpf-kursf / v_defator )
* v_parafator ) * p_wrbtr.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_EST2
p_wrbtr = ( ( bkpf-kursf / v_defator_fat )
* v_parafator_fat ) * p_wrbtr.
* << Fim da inclusão
v_taxa_cliente = bkpf-kursf.
ELSE.
p_wrbtr = p_wrbtr / ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_EST2
p_wrbtr = ( ( v_txcbrl_fat / v_defator )
* v_parafator ) * p_wrbtr.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_EST2
p_wrbtr = ( ( v_txcbrl_fat / v_defator_fat )
* v_parafator_fat ) * p_wrbtr.
* << Fim da inclusão
v_taxa_cliente = v_txcbrl_fat.
ENDIF.
ENDFORM.
FORM get_parameters_002_arb2 USING p_sinal
p_newko.
DATA: v_nrdias_arb TYPE i,
v_prazo_arb,
v_codaux_arb LIKE /pws/zyglt316-codaux1.
v_nrdias_arb = itab_zycbt006-dtpagto - itab_zycbt006-dtvincul.
IF v_nrdias_arb > 360.
...
...
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ p_belnr
AND bukrs EQ itab_zycbt006-bukrs
AND gjahr EQ v_year.
p_wrbtr = p_wrbtr / ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_EST3
p_wrbtr = ( ( bkpf-kursf / v_defator )
* v_parafator ) * p_wrbtr.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_EST3
p_wrbtr = ( ( bkpf-kursf / v_defator_fat )
* v_parafator_fat ) * p_wrbtr.
* << Fim da inclusão
v_taxa_liqand = bkpf-kursf.
ELSE.
p_wrbtr = p_wrbtr / ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_EST3
p_wrbtr = ( ( v_txcbrl_fat / v_defator )
* v_parafator ) * p_wrbtr.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_EST3
p_wrbtr = ( ( v_txcbrl_fat / v_defator_fat )
* v_parafator_fat ) * p_wrbtr.
* << Fim da inclusão
v_taxa_liqand = v_txcbrl_fat.
ENDIF.
ENDFORM.
FORM verifica_exit_cliente.
CLEAR wa_zycbt004.
MOVE /pws/zycbt004 TO wa_zycbt004.
CLEAR v_rep.
MOVE sy-repid TO v_rep.
READ TABLE itab_zyglt100 WITH KEY codmod = v_descr_exit
func = v_rep
...
...
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt006-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30_LIQUID_3
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
ELSE.
itab_partidas-dtdocto = itab_zycbt030-dtbelnr.
ENDIF.
PERFORM determina_ano USING itab_partidas-dtdocto
itab_zycbt006-bukrs
CHANGING v_ano.
SELECT zuonr FROM bseg INTO itab_partidas-d_zuonr
UP TO 1 ROWS
WHERE bukrs = itab_zycbt006-bukrs
AND belnr = itab_partidas-belnr
* >> Início da exclusão: FORM FILL_DATE6_F30_LIQUID_3
AND gjahr = v_ano.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE6_F30_LIQUID_3
and gjahr = v_ano
and ( augbl = space or
augbl = ' ' ).
* << Fim da inclusão
ENDSELECT.
v_zuonr = 'X'.
ELSE.
CONCATENATE text-460
itab_zycbt006-nrinvoic
itab_zycbt006-nrparcf
INTO itab_partidas-d_zuonr
SEPARATED BY space.
ENDIF.
itab_partidas-v_sinal = '-'.
...
...
ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.
SELECT SINGLE dtvencto FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM FILL_DATE_F22_PERF
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
ELSEIF itab_zyglt321-cpocb = 'DTVENCTO'.
SELECT SINGLE dtvencto FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM FILL_DATE_F22_ACE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
READ TABLE itab_zyglt316 INDEX 1 INTO wa_zyglt316.
IF sy-subrc = 0.
CASE p_tipo.
WHEN 'D'.
MOVE wa_zyglt316-konts TO p_conta.
WHEN 'C'.
MOVE wa_zyglt316-konth TO p_conta.
ENDCASE.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM CALCULA_VALOR_LIQUIDADO
FORM calcula_valor_liquidado.
DATA: v_ult_liquidacao(1) TYPE c.
v_ult_liquidacao = 'N'.
IF NOT v_trans IS INITIAL AND NOT itab_zycbt005[] IS INITIAL.
SELECT * FROM /pws/zycbt006
INTO TABLE itab_zycbt006
FOR ALL ENTRIES IN itab_zycbt005
WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf.
SORT itab_zycbt006 BY nrinvoic nrparcf gsberf dtpagto DESCENDING.
LOOP AT itab_zycbt005_s.
READ TABLE itab_zycbt005 WITH KEY
nrinvoic = itab_zycbt005_s-nrinvoic
nrparcf = itab_zycbt005_s-nrparcf
gsberf = itab_zycbt005_s-gsberf.
IF sy-subrc EQ 0 AND itab_zycbt005-slpagar = 0.
READ TABLE itab_zycbt006 WITH KEY
nrinvoic = itab_zycbt005_s-nrinvoic
nrparcf = itab_zycbt005_s-nrparcf
gsberf = itab_zycbt005_s-gsberf.
IF sy-subrc EQ 0.
IF itab_zycbt006-dtvincul = v_dtvincul AND
itab_zycbt006-dtpagto = v_dtpagto AND
itab_zycbt006-dtpagext = v_dtpagext.
v_vlme_c = 0.
LOOP AT itab_zycbt006
WHERE nrinvoic = itab_zycbt005_s-nrinvoic
AND nrparcf = itab_zycbt005_s-nrparcf
AND gsberf = itab_zycbt005_s-gsberf.
IF itab_zycbt006-dtvincul = v_dtvincul AND
itab_zycbt006-dtpagto = v_dtpagto AND
itab_zycbt006-dtpagext = v_dtpagext.
ELSE.
v_vlme_c = v_vlme_c + itab_zycbt006-vlme.
ENDIF.
ENDLOOP.
PERFORM determina_fator USING v_parafator
v_defator.
v_vlme_c = v_vlme_c * ( ( itab_zycbt005-parid /
v_defator ) * v_parafator ).
v_vlme_c = itab_zycbt005-vlvinc - v_vlme_c.
v_ult_liquidacao = 'S'.
ELSE.
PERFORM determina_fator USING v_parafator
v_defator.
v_vlme_c = itab_zycbt005_s-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
ENDIF.
ENDIF.
ELSE.
PERFORM determina_fator USING v_parafator
v_defator.
v_vlme_c = itab_zycbt005_s-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
ENDIF.
PERFORM verifica_casas_decimais
USING
itab_zycbt005-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
CHANGING v_vlme_c.
itab_zycbt005_s-slpagar = v_vlme_c.
MODIFY itab_zycbt005_s.
IF v_ult_liquidacao = 'S'.
LOOP AT itab_paridade
WHERE nrinvoic = itab_zycbt005_s-nrinvoic
AND nrparcf = itab_zycbt005_s-nrparcf
AND gsberf = itab_zycbt005_s-gsberf.
IF itab_paridade-dtvincul = v_dtvincul AND
itab_paridade-dtpagto = v_dtpagto AND
itab_paridade-dtpagext = v_dtpagext.
itab_paridade-v_vlme_c = v_vlme_c.
MODIFY itab_paridade.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
* << Fim da exclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
perform lancamento_provisao3.
if v_subrc eq 0.
v_cont_ok = 'X'.
endif.
endif.
endform.
form atualiza_tabelas_transp2.
data: v_subrc type c.
data: wa_zycbt006_sbu like /pws/zycbt006,
v_slpagar001 type /pws/zycbt001-slpagar.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
DATA: v_vldif_aux TYPE /pws/zycbe006-vlme.
* << Fim da inclusão
itab_zycbt005-status = 'C'.
modify itab_zycbt005 transporting status
where nrseqc = /pws/zycbe005-nrseqc.
loop at itab_zycbt006.
select dtpagext
up to 1 rows
from /pws/zycbt005
into /pws/zycbt005-dtpagext
where nrseqc = itab_zycbt006-nrseqc
and nrparc = itab_zycbt006-nrparc
...
...
modify itab_zycbt005 transporting dtpagext
where nrseqc = itab_zycbt006-nrseqc
and nrparc = itab_zycbt006-nrparc
and dtincl = itab_zycbt006-dtincl
and nrinvoic = itab_zycbt006-nrinvoic
and nrparcf = itab_zycbt006-nrparcf
and gsberf = itab_zycbt006-gsberf
and dtvincul = itab_zycbt006-dtvincul
and dtvencto = itab_zycbt006-dtvencto.
endif.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
READ TABLE itab_paridade WITH KEY nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0.
itab_zycbt006-waers_c = itab_paridade-waers_c.
itab_zycbt006-vlme_c = itab_paridade-v_vlme_c.
MODIFY itab_zycbt006.
ENDIF.
* << Fim da inclusão
endloop.
modify /pws/zycbt005 from table itab_zycbt005.
itab_zycbt005-dtpagext = /pws/zycbe006-dtpagext.
modify itab_zycbt005 transporting dtpagext
where nrseqc = /pws/zycbe001-nrseqc.
modify /pws/zycbt074 from table itab_zycbt074.
modify /pws/zycbt231 from table itab_zycbt231.
call customer-function '002'
importing
v_subrc = v_subrc.
loop at itab_zycbt006.
read table itab_zycbt005 with key
nrseqc = itab_zycbt006-nrseqc
nrinvoic = itab_zycbt006-nrinvoic
dtvincul = itab_zycbt006-dtvincul
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
nrparcf = itab_zycbt006-nrparcf.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
clear v_slpagar.
if itab_zycbt006-status eq '1' and
itab_zycbt006-v_status eq 'E'.
message i061 with text-155 itab_zycbt006-nrinvoic
text-162 text-163.
continue.
endif.
if itab_zycbt006-v_status eq 'E' or
( itab_zycbt006-v_status eq 'A' and
itab_zycbt006-status eq 'E' ).
...
...
and tpdesp = itab_zycbt006-tpdesp
and nrparc = itab_zycbt006-nrparc
and dtincl = itab_zycbt006-dtincl
and nrinvoic = itab_zycbt006-nrinvoic
and gsberf = itab_zycbt006-gsberf
and dtvincul = itab_zycbt006-dtvincul
and dtvencto = itab_zycbt006-dtvencto
and dtpagto = itab_zycbt006-dtpagto
and dtpagext = itab_zycbt006-dtpagext
and nrparcf = itab_zycbt006-nrparcf.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
v_vlme_sl = itab_paridade-v_vlme_c.
else.
v_vlme_sl = itab_zycbt006-vlme * itab_zycbt005_ant-parid.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_vldif_aux = itab_zycbt006-v_vldif * -1.
READ TABLE itab_paridade WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0 AND itab_paridade-vlme = v_vldif_aux.
v_vlme_sl = itab_zycbt006-v_vldif_arb =
itab_paridade-v_vlme_c * -1.
ELSEIF sy-subrc = 0.
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005_ant-waers INTO tcurx.
IF sy-subrc = 0 AND tcurx-currdec = 0.
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005_ant-waers_c INTO tcurx.
IF sy-subrc <> 0 OR ( sy-subrc = 0 AND tcurx-currdec > 0 ).
itab_zycbt006-v_vldif =
itab_zycbt006-v_vldif / ( 10 ** ( 0 - 2 ) ).
ENDIF.
ENDIF.
PERFORM determina_fator USING v_parafator
v_defator.
v_vlme_sl = itab_zycbt006-v_vldif *
( ( itab_zycbt005_ant-parid / v_defator ) * v_parafator ).
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005_ant-waers_c INTO tcurx.
IF sy-subrc = 0 AND tcurx-currdec = 0.
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005_ant-waers INTO tcurx.
IF sy-subrc <> 0 OR ( sy-subrc = 0 AND tcurx-currdec > 0 ).
v_vlme_sl = v_vlme_sl / 100.
ENDIF.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
clear tcurx-currdec.
select single * from tcurx
where ( currkey = itab_zycbt005_ant-waers_c
or currkey = itab_zycbt005_ant-waers )
and currdec = 0.
if sy-subrc <> 0.
tcurx-currdec = 2.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
READ TABLE itab_paridade_ant WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0.
IF itab_paridade_ant-v_vlme_c > itab_paridade-v_vlme_c.
v_vlme_sl =
itab_paridade_ant-v_vlme_c - itab_paridade-v_vlme_c.
ELSEIF itab_paridade-v_vlme_c > itab_paridade_ant-v_vlme_c.
v_vlme_sl =
itab_paridade-v_vlme_c - itab_paridade_ant-v_vlme_c.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_vlme_sl = v_vlme_sl * ( 10 ** ( tcurx-currdec - 2 ) ).
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
* << Fim da exclusão
if itab_zycbt006-v_vldif < 0.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
itab_zycbt006-v_vldif_arb = itab_paridade-v_vlme_c * -1.
else.
itab_zycbt006-v_vldif_arb = itab_paridade-v_vlme_c.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_vlme_sl = v_vlme_sl * -1.
ENDIF.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
else.
itab_zycbt006-v_vldif_arb = itab_zycbt006-v_vldif *
itab_zycbt005_ant-parid.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
itab_zycbt006-v_vldif_arb = v_vlme_sl.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
itab_zycbt006-v_vldif_arb =
itab_zycbt006-v_vldif_arb * ( 10 ** ( tcurx-currdec - 2 ) ).
* << Fim da exclusão
v_slpagar001 = v_slpagar001 + itab_zycbt006-v_vldif_arb.
modify itab_zycbt006.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
update /pws/zycbt005 set slpagar = slpagar + v_vlme_sl
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
UPDATE /pws/zycbt005 SET slpagar = slpagar - v_vlme_sl
* << Fim da inclusão
belnr = itab_zycbt005_ant-belnr
dtbelnr = itab_zycbt005_ant-dtbelnr
...
...
and dtincl = itab_zycbt006-dtvincul
and nrinvoic = itab_zycbt006-nrinvoic
and dtliquid = v_dtpagto
and dtpagext = itab_zycbt006-dtpagext
and ( dtpagto = '00000000' or
dtpagto = ' ' or
dtpagto = space ).
endif.
else.
if itab_zycbt006-v_status = 'N'.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
v_slpagar = itab_zycbt005-slpagar + itab_paridade-v_vlme_c.
else.
* << Fim da exclusão
v_slpagar = itab_zycbt005-slpagar +
( itab_zycbt006-v_vldif * itab_zycbt005-parid ).
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
endif.
* << Fim da exclusão
read table /pws/zycbt005.
update /pws/zycbt005 set slpagar = v_slpagar
where nrseqc = itab_zycbt006-nrseqc
and nrinvoic = itab_zycbt006-nrinvoic
and dtvincul = itab_zycbt006-dtvincul
...
...
if itab_zycbt006-belnr_d = /pws/zycbe001-belnr2.
update /pws/zycbt005 set belnr = itab_zycbt006-belnr_d
dtbelnr = itab_zycbt006-dtpagto
where nrseqc = itab_zycbt006-nrseqc
and dtvincul = itab_zycbt006-dtvincul.
endif.
endif.
else.
if v_liquida eq 'X'.
if itab_zycbt006-status = 'C'.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
v_slpagar = itab_zycbt005-slpagar +
itab_paridade-v_vlme_c.
else.
v_slpagar = itab_zycbt005-slpagar +
( itab_zycbt006-vlme * itab_zycbt005-parid ).
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_slpagar = itab_zycbt005-slpagar + ( itab_zycbt006-vlme *
itab_zycbt005-parid ).
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
endif.
* << Fim da exclusão
read table /pws/zycbt005.
update /pws/zycbt005 set slpagar = v_slpagar
where nrseqc = itab_zycbt006-nrseqc
and nrinvoic = itab_zycbt006-nrinvoic
and dtvincul = itab_zycbt006-dtvincul
and nrparcf = itab_zycbt006-nrparcf
...
...
and dtincl = itab_zycbt006-dtvincul
and tpjuros = itab_zycbt006-tpjuros
and nrparc = itab_zycbt006-nrparc
and dtpagext = v_dtpagext
and ( dtpagto = '00000000' or
dtpagto = ' ' or
dtpagto = space )
and ( dtliquid = '00000000' or
dtliquid = ' ' or
dtliquid = space ).
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
ENDIF.
ENDIF.
ENDIF.
READ TABLE itab_zycbt005 WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0.
READ TABLE itab_paridade WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0 AND itab_paridade-vlme = itab_zycbt006-v_vldif.
itab_zycbt006-v_vldif_arb = itab_paridade-v_vlme_c.
ELSEIF sy-subrc = 0.
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005-waers INTO tcurx.
IF sy-subrc = 0 AND tcurx-currdec = 0.
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005-waers_c INTO tcurx.
IF sy-subrc <> 0 OR ( sy-subrc = 0 AND tcurx-currdec > 0 ).
itab_zycbt006-v_vldif =
itab_zycbt006-v_vldif / ( 10 ** ( 0 - 2 ) ).
ENDIF.
ENDIF.
PERFORM determina_fator USING v_parafator
v_defator.
itab_zycbt006-v_vldif_arb = itab_zycbt006-v_vldif *
( ( itab_paridade-v_parid / v_defator ) * v_parafator ).
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005-waers_c INTO tcurx.
IF sy-subrc = 0 AND tcurx-currdec = 0.
READ TABLE itab_tcurx WITH KEY
currkey = itab_zycbt005-waers INTO tcurx.
IF sy-subrc <> 0 OR ( sy-subrc = 0 AND tcurx-currdec > 0 ).
itab_zycbt006-v_vldif_arb =
itab_zycbt006-v_vldif_arb / 100.
* << Fim da inclusão
endif.
endif.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
READ TABLE itab_paridade_ant WITH KEY
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
IF sy-subrc = 0.
IF itab_paridade_ant-v_vlme_c > itab_paridade-v_vlme_c.
itab_zycbt006-v_vldif_arb =
itab_paridade_ant-v_vlme_c - itab_paridade-v_vlme_c.
ELSEIF itab_paridade-v_vlme_c > itab_paridade_ant-v_vlme_c.
itab_zycbt006-v_vldif_arb =
itab_paridade-v_vlme_c - itab_paridade_ant-v_vlme_c.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
* << Fim da exclusão
if itab_zycbt006-v_vldif < 0.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
itab_zycbt006-v_vldif_arb = itab_paridade-v_vlme_c * -1.
else.
itab_zycbt006-v_vldif_arb = itab_paridade-v_vlme_c.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
itab_zycbt006-v_vldif_arb = itab_zycbt006-v_vldif_arb * -1.
ENDIF.
ENDIF.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
else.
itab_zycbt006-v_vldif_arb = itab_zycbt006-v_vldif *
itab_zycbt005-parid.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_slpagar001 = v_slpagar001 +
itab_zycbt006-v_vldif_arb.
v_slpagar = itab_zycbt005-slpagar - itab_zycbt006-v_vldif_arb.
UPDATE /pws/zycbt005 SET slpagar = v_slpagar
WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
AND nrparcf = itab_zycbt006-nrparcf
AND gsberf = itab_zycbt006-gsberf.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM ATUALIZA_TABELAS_TRANSP2
v_slpagar001 = v_slpagar001 + itab_zycbt006-v_vldif_arb.
* << Fim da exclusão
modify itab_zycbt006.
clear itab_recurso_aux.
read table itab_recurso_aux
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
...
...
dtvincul = /pws/zycbe001-dtvincul
where nrseqc = /pws/zycbe001-nrseqc.
endif.
clear itab_zycbt005_ant.
refresh: itab_zycbt005_ant, itab_zycbt006_pre.
move itab_zycbt005[] to itab_zycbt005_ant[].
clear v_exec_arb.
if v_vinculacao is initial.
commit work.
endif.
* >> Início da inclusão: FORM ATUALIZA_TABELAS_TRANSP2
PERFORM carga_valor_contrato.
* << Fim da inclusão
endform.
form lancamento_provisao2.
data: v_docto like /pws/zycbt030-belnr,
v_subrc like sy-subrc,
v_linha type i,
v_index type i,
v_belnr type belnr_d,
v_slliq like /pws/zycbt006-vlme,
v_total_30 like /pws/zycbt006-vlme,
v_restante like /pws/zycbt006-vlme,
...
...
data:
v_wrbtr like bsid-wrbtr,
v_kunnr type kunnr,
wa_zycbt226 like line of itab_zycbt226,
v_dtliquid like /pws/zycbt006-dtpagto,
v_dtemb like /pws/zycet001-dtemb.
clear itab_doctos.
refresh itab_doctos.
data: v_gjahr type gjahr.
perform clear_date_batch.
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
clear v_subrc.
* << Fim da inclusão
clear: v_data,
v_codeven.
concatenate '003' itab_zycbt006-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select * from /pws/zyglt321
into table itab_zyglt321
where ktosl = 'FTE'
and codeven = v_codeven.
itab_zycbe033-tcode = 'F-30'.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
itab_zycbe033-d_zuonr = itab_zycbt006-nrinvoic.
elseif itab_zyglt321-cpocb = 'NRSEQ'
or itab_zyglt321-cpocb = 'NRSEQC'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
...
...
v_wrbtr1 type wrbtr,
v_shkzg type shkzg,
v_data type datum,
v_dtliquid like /pws/zycbt006-dtpagto,
v_dtcontr like /pws/zycbt001-dtcontr,
v_codaux like /pws/zyglt316-codaux1,
v_dp type c value is initial.
clear itab_doctos.
refresh itab_doctos.
perform clear_date_batch.
* >> Início da inclusão: FORM DESMEMBRA_ACE
clear v_subrc.
* << Fim da inclusão
clear: v_data.
concatenate '003' itab_zycbt006-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select * from /pws/zyglt321
into table itab_zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-tabela = 'ZYCBT006'.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM DESMEMBRA_ACE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
v_belnr_cap like /pws/zycbt006-belnr,
v_codaux like /pws/zyglt316-codaux1,
v_codaux1 type /pws/zygle316-codaux1,
v_codaux2 type /pws/zygle316-codaux2,
v_tpcontr like /pws/zycbt001-tpcontr,
v_contas_iguais(1) type c,
v_contador type n.
constants: c_002(3) value '002'.
perform clear_date_batch.
concatenate '003' /pws/zycbe005-tpcontr into v_codeven.
* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE
clear v_subrc.
* << Fim da inclusão
clear: v_data,
v_codeven.
concatenate '003' itab_zycbt006-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select * from /pws/zyglt321
into table itab_zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
itab_zycbe033-tcode = 'F-30'.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
perform unlock_razao using itab_zycbe033-d_newko
itab_zycbe033-bukrs.
endform.
form anula_liquidacao.
data: v_monat like t001b-frpe1,
v_ano type gjahr,
v_subrc like sy-subrc,
v_nrdias type i,
v_prazo,
v_codaux like /pws/zyglt316-codaux1.
* >> Início da inclusão: FORM ANULA_LIQUIDACAO
clear v_subrc.
* << Fim da inclusão
perform clear_date_batch.
if wa_zycbt007-liq_trans eq space.
itab_zycbe033-agkoa = 'D'.
perform verify_null_field using itab_zycbt006-kunnr
'KUNNR'
text-009.
itab_zycbe033-agkon = itab_zycbt006-kunnr.
else.
perform seleciona_conta.
endif.
...
...
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
itab_zycbt006_aux4-dtpagto = itab_zycbt209-dtbelnr.
itab_zycbt006_aux4-belnr = itab_zycbt209-belnr.
itab_zycbt006_aux4-gjahr = v_year.
append itab_zycbt006_aux4.
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
itab_zycbt006_aux4-belnr = itab_zycbt006-belnr.
append itab_zycbt006_aux4.
* << Fim da inclusão
endif.
endloop.
endloop.
if not itab_zycbt006_aux4[] is initial.
clear itab_zyglt100.
refresh: itab_zyglt100.
if itab_zyglt100[] is initial.
v_syrepid = sy-repid.
call function '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
exporting
...
...
itab_zycbt030-vlslliq + itab_zycbt006-vlme.
else.
itab_zycbt030-budat = itab_zycbt006-dtpagto.
if /pws/zycbe001-desc_receb is initial.
itab_zycbt030-vlsltrans =
itab_zycbt030-vlsltrans + itab_cli-wrbtr.
endif.
itab_zycbt030-vlslliq =
itab_zycbt030-vlslliq + itab_cli-wrbtr.
endif.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
if v_vinculacao is initial.
* << Fim da exclusão
if itab_zycbt030-belnr6 = itab_zycbt030-belnr.
clear: itab_zycbt030-belnr_t, itab_zycbt030-budat_t.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
endif.
else.
if itab_zycbt030-belnr6 = itab_zycbt030-belnr.
clear: itab_zycbt030-belnr_t.
endif.
* << Fim da exclusão
endif.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM ESTORNO_PERIODO_FECHADO
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
value(p_umskz)
value(p_budat)
value(p_kursf)
value(p_agkoa)
value(p_belnr_ref)
value(p_budat_ref)
value(p_texto)
value(p_fatura)
changing p_belnr.
data: v_total type c.
* >> Início da inclusão: FORM CLEARING
clear v_subrc.
* << Fim da inclusão
concatenate '003' itab_zycbt006-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
if p_texto = text-189.
select * from /pws/zyglt321
into table itab_zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
else.
select * from /pws/zyglt321
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM CLEARING
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
itab_zycbe033-d_zuonr = itab_zycbt017-nrinvoic.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
...
...
itab_zycbe033-bukrs.
elseif p_agkoa eq 'D'.
perform unlock_cliente using itab_zycbe033-d_newko
itab_zycbe033-bukrs.
endif.
sy-subrc = v_subrc.
endform.
form clearing_cli using value(p_kunnr)
value(p_datum)
changing v_subrc.
* >> Início da inclusão: FORM CLEARING_CLI
clear v_subrc.
* << Fim da inclusão
perform clear_date_batch.
itab_zycbe033-tcode = 'F-30'.
concatenate itab_zycbt006-nrinvoic itab_zycbt006-nrparcf
into itab_zycbe033-cpochv.
itab_zycbe033-tabela = 'ZYCBT030'.
refresh itab_zyglt321.
select * from /pws/zyglt321
into table itab_zyglt321
where ktosl = 'FTE'
and codeven = v_codeven.
...
...
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTINVOIC'.
itab_zycbe033-d_valut = itab_zycbt017-dtinvoic.
elseif itab_zyglt321-cpocb = 'DTBL'.
itab_zycbe033-d_valut = itab_zycbt017-dtbl.
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM CLEARING_CLI
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRINVOIC'.
itab_zycbe033-d_zuonr = itab_zycbt017-nrinvoic.
elseif itab_zyglt321-cpocb = 'NREMB'.
itab_zycbe033-d_zuonr = itab_zycbt017-nremb.
elseif itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
...
...
where nrseq = itab_zycbt006-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTEMB'.
select single dtemb from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt006-nrinvoic.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
itab_zycbe033-c_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F22_ARBITR
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
read table itab_paridade
with key nrseqc = itab_zycbt006-nrseqc
tpdesp = itab_zycbt006-tpdesp
nrparc = itab_zycbt006-nrparc
dtincl = itab_zycbt006-dtincl
nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf
dtvincul = itab_zycbt006-dtvincul
dtvencto = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
check sy-subrc = 0.
* << Fim da inclusão
clear skb1.
select single xsalh from skb1
into skb1-xsalh
where bukrs eq itab_zycbt006-bukrs
and saknr eq itab_zycbe033-c_newko.
clear t001a.
select single kurst from t001a
into t001a-kurst
where bukrs eq itab_zycbt006-bukrs.
clear t001.
select single xslta from t001
into t001-xslta
where bukrs eq itab_zycbt006-bukrs.
perform converte_brl.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
read table itab_paridade_ant
with key nrseqc = itab_zycbt006-nrseqc
tpdesp = itab_zycbt006-tpdesp
nrparc = itab_zycbt006-nrparc
dtincl = itab_zycbt006-dtincl
nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf
dtvincul = itab_zycbt006-dtvincul
dtvencto = itab_zycbt006-dtvencto.
check sy-subrc = 0.
* << Fim da inclusão
if not skb1-xsalh is initial or
not t001-xslta is initial.
clear bkpf.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = itab_zycbt006-bukrs
v_date = itab_zycbt006-dtpagto
importing
v_year = v_year
...
...
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
select single kursf from bkpf
into bkpf-kursf
where belnr eq itab_zycbt006-belnr5
and bukrs eq itab_zycbt006-bukrs
and gjahr eq v_year.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_c = ( itab_paridade-v_vlme_c )
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
read table itab_tcurx with key
currkey = /pws/zycbe001-waers into tcurx.
if sy-subrc <> 0.
tcurx-currdec = 2.
endif.
v_reais_c = ( itab_paridade_ant-v_vlme_c )
* << Fim da inclusão
/ ( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_c = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_c.
clear bkpf.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
read table itab_tcurx with key
currkey = itab_zycbt006-waers into tcurx.
if sy-subrc <> 0.
tcurx-currdec = 2.
endif.
* << Fim da inclusão
clear itab_zycbt084.
read table itab_zycbt084 with key
nrseqc = itab_zycbt006-nrseqc
nrinvoic = itab_zycbt006-nrinvoic
nrparc = itab_zycbt006-nrparc
nrparcf = itab_zycbt006-nrparcf
tpdesp = itab_zycbt006-tpdesp
gsberf = itab_zycbt006-gsberf
dtincl = itab_zycbt006-dtincl
dtvincul = itab_zycbt006-dtvincul
...
...
period_not_assigned = 5
version_undefined = 6
others = 7.
select single kursf from bkpf
into bkpf-kursf
where belnr eq itab_zycbt084-belnr
and bukrs eq itab_zycbt006-bukrs
and gjahr eq v_year.
v_reais_f2 = itab_zycbt084-result_saldo /
( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f2 = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_f2.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f2 = ( ( bkpf-kursf / v_defator_fat )
* v_parafator_fat ) * v_reais_f2.
* << Fim da inclusão
endif..
read table itab_zycbt209
with key nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf
nrseqc = itab_zycbt006-nrseqc.
if sy-subrc ne 0.
read table itab_zycbt209
with key nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
...
...
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
select single kursf from bkpf
into bkpf-kursf
where belnr eq itab_zycbt209-belnr_f28
and bukrs eq itab_zycbt006-bukrs
and gjahr eq v_year.
endif.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( itab_zycbt006-vlme - itab_zycbt084-result_saldo )
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( itab_paridade_ant-vlme - itab_zycbt084-result_saldo )
* << Fim da inclusão
/ ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_f.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( ( bkpf-kursf / v_defator_fat )
* v_parafator_fat ) * v_reais_f.
* << Fim da inclusão
else.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
v_reais_c = itab_paridade-v_vlme_c.
else.
v_reais_c = ( itab_paridade-v_vlme_c * itab_paridade-v_parid ).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_c = ( itab_paridade_ant-v_vlme_c *
itab_paridade_ant-v_parid ).
read table itab_tcurx with key
currkey = /pws/zycbe001-waers into tcurx.
if sy-subrc <> 0.
tcurx-currdec = 2.
* << Fim da inclusão
endif.
v_reais_c = v_reais_c / ( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_c = ( ( v_txcbrl_cont / v_defator )
* v_parafator ) * v_reais_c.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
read table itab_tcurx with key
currkey = itab_zycbt006-waers into tcurx.
if sy-subrc <> 0.
tcurx-currdec = 2.
endif.
* << Fim da inclusão
clear itab_zycbt084.
read table itab_zycbt084 with key
nrseqc = itab_zycbt006-nrseqc
nrinvoic = itab_zycbt006-nrinvoic
nrparc = itab_zycbt006-nrparc
nrparcf = itab_zycbt006-nrparcf
tpdesp = itab_zycbt006-tpdesp
gsberf = itab_zycbt006-gsberf
dtincl = itab_zycbt006-dtincl
dtvincul = itab_zycbt006-dtvincul
dtpagext = itab_zycbt006-dtpagext
dtpagto = itab_zycbt006-dtpagto
dtvencto = itab_zycbt006-dtvencto
liq_and = space
tdesmemb = 'V'.
if sy-subrc = 0.
v_reais_f2 = itab_zycbt084-result_saldo /
( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f2 = ( ( v_txcbrl_fat / v_defator )
* v_parafator ) * v_reais_f2.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f2 = ( ( v_txcbrl_fat / v_defator_fat )
* v_parafator_fat ) * v_reais_f2.
* << Fim da inclusão
endif.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( itab_paridade-v_vlme_c - itab_zycbt084-result_saldo )
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f =
( itab_paridade_ant-v_vlme_c - itab_zycbt084-result_saldo )
* << Fim da inclusão
/ ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( ( v_txcbrl_fat / v_defator )
* v_parafator ) * v_reais_f.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_ESTORN
v_reais_f = ( ( v_txcbrl_fat / v_defator_fat )
* v_parafator_fat ) * v_reais_f.
* << Fim da inclusão
endif.
v_reais_f = v_reais_f + v_reais_f2.
v_variacao = v_reais_c - v_reais_f.
endform.
form converte_brl.
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = '1'
i_demoeda = /pws/zycbe001-waers
i_paramoeda = wa_zycbt007-waersb
...
...
e_parafator = v_parafator
exceptions
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
others = 8.
* >> Início da exclusão: FORM CONVERTE_BRL
select single * from tcurx
where currkey = /pws/zycbe001-waers.
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_BRL
read table itab_tcurx with key
currkey = /pws/zycbe001-waers into tcurx.
* << Fim da inclusão
if sy-subrc <> 0.
tcurx-currdec = 2.
endif.
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = '1'
i_demoeda = itab_zycbt006-waers
i_paramoeda = wa_zycbt007-waersb
i_ctmoeda = t001a-kurst
i_dtbase = itab_zycbt006-dtpagto
importing
e_txc = v_txcbrl_fat
* >> Início da exclusão: FORM CONVERTE_BRL
e_defator = v_defator
e_parafator = v_parafator
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_BRL
e_defator = v_defator_fat
e_parafator = v_parafator_fat
* << Fim da inclusão
exceptions
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
others = 8.
* >> Início da exclusão: FORM CONVERTE_BRL
select single * from tcurx
where currkey = itab_zycbt006-waers.
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_BRL
read table itab_tcurx with key
currkey = itab_zycbt006-waers into tcurx.
* << Fim da inclusão
if sy-subrc <> 0.
tcurx-currdec = 2.
* >> Início da inclusão: FORM CONVERTE_BRL
endif.
if v_defator is initial.
v_defator = 1.
endif.
if v_defator_fat is initial.
v_defator_fat = 1.
endif.
if v_parafator is initial.
v_parafator = 1.
* << Fim da inclusão
endif.
* >> Início da inclusão: FORM CONVERTE_BRL
if v_parafator_fat is initial.
v_parafator_fat = 1.
endif.
* << Fim da inclusão
endform.
form clearing_cliente.
perform clear_date_batch.
clear itab_zycbt036.
...
...
itab_zycbt005-belnr = v_zycbe001-belnr2.
modify itab_zycbt005 transporting belnr
where nrseqc = itab_zycbt006-nrseqc
and nrinvoic = itab_zycbt006-nrinvoic
and gsberf = itab_zycbt006-gsberf
and nrparcf = itab_zycbt006-nrparcf
and dtvincul = itab_zycbt006-dtvincul
and dtvencto = itab_zycbt006-dtvencto.
endif.
endloop.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_ARBITR_2
if sy-subrc ne 0.
v_subrc = 4.
endif.
* << Fim da inclusão
if v_subrc ne 0.
describe table itab_zycbt006 lines v_linha.
do v_linha times.
v_index = v_linha - sy-index + 1.
read table itab_zycbt006 index v_index.
check itab_zycbt006-status = 'I' and
itab_zycbt006-v_armda = 'X'.
clear itab_zycbt084.
read table itab_zycbt084 with key
nrseqc = itab_zycbt006-nrseqc
...
...
and dtpagext = itab_zycbt006-dtpagext
and dtpagto = itab_zycbt006-dtpagto
and dtvencto = itab_zycbt006-dtvencto
and liq_and = space
and tdesmemb = 'V'.
endif.
endif.
enddo.
v_subrc = 4.
endif.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_ARBITR_2
check v_subrc = 0.
* << Fim da inclusão
loop at itab_zycbt006 where status = 'C'
and v_armda = 'X'.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO_ARBITR_2
check not itab_zycbt006-belnr_d is initial.
* << Fim da inclusão
if not itab_zycbt006-belnr is initial.
itab_zycbt006-belnr5 = itab_zycbt006-belnr_d.
else.
itab_zycbt006-belnr = itab_zycbt006-belnr_d.
endif.
...
...
itab_erro-vbeln = itab_zycbt006-belnr.
itab_erro-msg = itab_zycbt034-descricao.
append itab_erro.
endloop.
v_subrc = 4.
endif.
sy-subrc = v_subrc.
endform.
form calcula_diferenca_reais.
clear: v_reais_f, v_reais_f2, v_reais_c.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
data: v_defatorc type tcurr-ffact,
v_parafatorc type tcurr-ffact.
perform determina_fator using v_parafatorc
v_defatorc.
* << Fim da inclusão
clear skb1.
select single xsalh from skb1
into skb1-xsalh
where bukrs eq itab_zycbt006-bukrs
and saknr eq itab_zycbe033-agkon.
clear t001a.
select single kurst from t001a
into t001a-kurst
where bukrs eq itab_zycbt006-bukrs.
clear t001.
...
...
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
select single kursf from bkpf
into bkpf-kursf
where belnr eq itab_zycbt006-belnr_d
and bukrs eq itab_zycbt006-bukrs
and gjahr eq v_year.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
read table itab_paridade with key nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf.
if sy-subrc = 0.
* << Fim da inclusão
v_reais_c = itab_paridade-v_vlme_c.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
else.
v_reais_c = itab_zycbt006-vlme * itab_zycbt005-parid.
* << Fim da exclusão
endif.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
clear tcurx-currdec.
select single * from tcurx
where currkey = /pws/zycbe001-waers.
if sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
read table itab_tcurx with key currkey = /pws/zycbe001-waers
into tcurx.
if sy-subrc ne 0.
* << Fim da inclusão
tcurx-currdec = 2.
endif.
if tcurx-currdec = 0.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_c = v_reais_c * ( 10 ** ( tcurx-currdec - 2 ) ).
else.
* << Fim da exclusão
v_reais_c = v_reais_c / ( 10 ** ( tcurx-currdec - 2 ) ).
endif.
v_reais_c = ( ( bkpf-kursf / v_defator )
...
...
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
select single kursf from bkpf
into bkpf-kursf
where belnr eq itab_zycbt084-belnr
and bukrs eq itab_zycbt006-bukrs
and gjahr eq v_year.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f2 = itab_zycbt084-result_saldo /
( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_f2 = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_f2.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f2 = itab_zycbt084-result_saldo.
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
v_reais_f2 = v_reais_f2 / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
v_reais_f2 = ( ( bkpf-kursf / v_defator_fat )
* v_parafator_fat ) * v_reais_f2.
* << Fim da inclusão
endif.
if not v_data_f_28 is initial.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = itab_zycbt006-bukrs
v_date = v_data_f_28
importing
v_year = v_year
exceptions
...
...
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
select single kursf from bkpf
into bkpf-kursf
where belnr eq itab_zycbt006-belnr_f28
and bukrs eq itab_zycbt006-bukrs
and gjahr eq v_year.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f = ( itab_zycbt006-vlme - itab_zycbt084-result_saldo )
/ ( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_f = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_f.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f = itab_zycbt006-vlme - itab_zycbt084-result_saldo.
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
v_reais_f = v_reais_f / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
v_reais_f = ( ( bkpf-kursf / v_defator_fat )
* v_parafator_fat ) * v_reais_f.
* << Fim da inclusão
endif.
else.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
read table itab_paridade
with key nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
if sy-subrc eq 0.
v_reais_c = itab_paridade-v_vlme_c.
else.
v_reais_c = ( itab_zycbt006-vlme * itab_zycbt005-parid ).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_c = itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defatorc ) * v_parafatorc ).
read table itab_tcurx with key currkey = /pws/zycbe001-waers
into tcurx.
if sy-subrc ne 0.
tcurx-currdec = 2.
* << Fim da inclusão
endif.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
if tcurx-currdec = 0.
* << Fim da inclusão
v_reais_c = v_reais_c / ( 10 ** ( tcurx-currdec - 2 ) ).
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
endif.
* << Fim da inclusão
v_reais_c = ( ( v_txcbrl_cont / v_defator )
* v_parafator ) * v_reais_c.
...
...
tpdesp = itab_zycbt006-tpdesp
gsberf = itab_zycbt006-gsberf
dtincl = itab_zycbt006-dtincl
dtvincul = itab_zycbt006-dtvincul
dtpagext = itab_zycbt006-dtpagext
dtpagto = itab_zycbt006-dtpagto
dtvencto = itab_zycbt006-dtvencto
liq_and = space
tdesmemb = 'V'.
if sy-subrc = 0.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f2 = itab_zycbt084-result_saldo /
( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_f2 = ( ( v_txcbrl_fat / v_defator )
* v_parafator ) * v_reais_f2.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f2 = itab_zycbt084-result_saldo.
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
v_reais_f2 = v_reais_f2 / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
v_reais_f2 = ( ( v_txcbrl_fat / v_defator_fat )
* v_parafator_fat ) * v_reais_f2.
* << Fim da inclusão
endif.
if not v_data_f_28 is initial.
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f = ( itab_zycbt006-vlme - itab_zycbt084-result_saldo )
/ ( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_f = ( ( v_txcbrl_fat / v_defator )
* v_parafator ) * v_reais_f.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
v_reais_f = itab_zycbt006-vlme - itab_zycbt084-result_saldo.
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
v_reais_f = v_reais_f / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
v_reais_f = ( ( v_txcbrl_fat / v_defator_fat )
* v_parafator_fat ) * v_reais_f.
* << Fim da inclusão
endif.
endif.
v_reais_f = v_reais_f + v_reais_f2.
v_variacao = v_reais_c - v_reais_f.
endform.
form fill_date6_f30_2.
clear: v_data.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-tabela = 'ZYCBT006'.
concatenate itab_zycbt006-nrseqc itab_zycbt006-tpdesp
...
...
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt006-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTEMB'.
select single dtemb from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt006-nrinvoic.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt006-dtvencto.
* >> Início da inclusão: FORM FILL_DATE6_F30_2
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM DESMEMBRA_LIQ_AND
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
/pws/zycbt084-liq_and = space.
/pws/zycbt084-tdesmemb = ' '.
modify /pws/zycbt084 from /pws/zycbt084.
if v_vinculacao is initial.
commit work.
endif.
clear /pws/zycbt084.
endform.
form clearing_liq_and using p_datum
changing v_subrc.
* >> Início da inclusão: FORM CLEARING_LIQ_AND
clear v_subrc.
* << Fim da inclusão
perform clear_date_batch.
itab_zycbe033-tcode = 'F-30'.
concatenate itab_zycbt006-nrinvoic itab_zycbt006-nrparcf
into itab_zycbe033-cpochv.
itab_zycbe033-tabela = 'ZYCBT209'.
itab_zycbe033-budat = p_datum.
itab_zycbe033-bldat = itab_zycbe033-budat.
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM CLEARING_LIQ_AND
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM DESM_DESC_RECEB
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
gsberf = itab_zycbt005_t-gsberf.
if sy-subrc ne 0.
continue.
endif.
read table itab_zycbt006 with key
nrinvoic = itab_zycbt005_t-nrinvoic
nrparcf = itab_zycbt005_t-nrparcf
gsberf = itab_zycbt005_t-gsberf.
check sy-subrc = 0 and itab_zycbt006-status = 'C'.
v_index = sy-tabix.
* >> Início da exclusão: FORM PROVISIONA_DIFERENCA_JUROS
if itab_zycbt005_t-waers eq itab_zycbt005_t-waers_c.
v_calc_jur = itab_zycbt005_t-vlme.
else.
v_calc_jur = itab_zycbt005_t-vlme * itab_zycbt005_t-parid.
select single * from tcurx where currkey = itab_zycbt005_t-waers_c.
if sy-subrc <> 0.
tcurx-currdec = 2.
endif.
v_calc_jur = v_calc_jur * ( 10 ** ( tcurx-currdec - 2 ) ).
endif.
* << Fim da exclusão
* >> Início da inclusão: FORM PROVISIONA_DIFERENCA_JUROS
v_calc_jur = itab_zycbt005-vlvinc.
* << Fim da inclusão
perform seta_data_juros.
if v_dt_pgt = 'X'.
v_dtcalcjur = /pws/zycbe006-dtpagext.
elseif v_dtliq = 'X'.
v_dtcalcjur = v_dtpagto.
else.
case wa_zycbt007-dtjuros.
when 'DTPAGEXT'.
v_dtcalcjur = /pws/zycbe006-dtpagext.
when 'DTVENCTO'.
...
...
itab_zycbt002[] = itab_zycbt002_aux[].
endif.
select * from /pws/zycbt003
into table itab_zycbt003
where nrseqc = /pws/zycbt001-nrseqc.
sort itab_zycbt003 by dtpror descending.
select * from /pws/zycbt009
into table itab_zycbt009.
select * from /pws/zycbt010
into table itab_zycbt010.
* >> Início da exclusão: FORM CALCULA_JUROS_DIFERENCA
select * from tcurx
into table itab_tcurx
where currkey = /pws/zycbt001-waers.
* << Fim da exclusão
v_escalonado = /pws/zycbt001-tpcalcjur.
v_dtde = v_data_de.
v_dtate = v_dtcalcjur.
if ( not itab_zycbt005_t-dtpror is initial and
not itab_zycbt005_t-txjtotal is initial and
not itab_zycbt005_t-tptxjur is initial ).
v_dt_pror = itab_zycbt005_t-dtpror.
endif.
v_pror_cmb = v_dt_pror.
v_dtliquid = /pws/zycbt001-dtliquid.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM BAIXA_ACE_PERFORMANCE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt006-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM BAIXA_CLIENTE_PERFORMANCE
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'
or itab_zyglt321-cpocb = 'NRSEQC'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
...
...
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
itab_zycbt006_aux4-dtpagto = itab_zycbt209-dtbelnr.
itab_zycbt006_aux4-belnr = itab_zycbt209-belnr.
itab_zycbt006_aux4-gjahr = v_year.
append itab_zycbt006_aux4.
* >> Início da inclusão: FORM ESTORNO_PERIODO_AB_PERF
itab_zycbt006_aux4-belnr = itab_zycbt006-belnr.
append itab_zycbt006_aux4.
* << Fim da inclusão
endif.
endloop.
endloop.
if not itab_zycbt006_aux4[] is initial.
clear itab_zyglt100.
refresh: itab_zyglt100.
if itab_zyglt100[] is initial.
v_syrepid = sy-repid.
call function '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
exporting
...
...
elseif itab_zyglt321-cpocb = 'DTVENCTO'.
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM CLEARING_PERF
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
elseif itab_zyglt321-cpocb = 'NRINVOIC'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F03
...
and shkzg = 'H'.
select single ztag1 from t052
into v_ztag1
where zterm = v_zterm.
v_zbd1t = v_ztag1.
loop at itab_zycbt045 where nrinvoic = itab_zycbt030-nrinvoic.
v_zbd1t = v_zbd1t + itab_zycbt045-nrdias.
endloop.
itab_zycbe033-zbd1t = v_zbd1t.
endform.
* >> Início da exclusão: FORM VERIFICA_CASAS_DECIMAIS
form verifica_casas_decimais
using
value(p_valor)
value(p_waers)
value(p_waers_c)
changing
p_valor_aj.
data: v_decimais like tcurx-currdec,
v_decimais_c like tcurx-currdec.
select single currdec
from tcurx
into v_decimais
where currkey eq p_waers.
if sy-subrc ne 0.
v_decimais = 2.
endif.
select single currdec
from tcurx
into v_decimais_c
where currkey eq p_waers_c.
if sy-subrc ne 0.
v_decimais_c = 2.
endif.
check v_decimais ne v_decimais_c.
if v_decimais eq 0.
p_valor_aj = p_valor / 100.
elseif v_decimais ne 2.
p_valor_aj = p_valor * 100.
endif.
endform.
* << Fim da exclusão
form executa_exit_p
using value(p_exit) like /pws/zyglt100-zexit.
constants:
c_nome_prog like /pws/zyglt100-func value '/PWS/SAPMZYCB004'.
if itab_zyglt100[] is initial.
call function '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
exporting
i_codmod = 'E'
i_func = c_nome_prog
tables
...
...
perform log in program (w_prog) using p_dados
p_tabela
changing p_wa_log
if found.
endif.
endform.
form desm_conta_corrente
using
p_v_slliq type /pws/zycbt006-vlme
changing v_subrc.
* >> Início da inclusão: FORM DESM_CONTA_CORRENTE
clear v_subrc.
* << Fim da inclusão
if /pws/zyglt009-comp_aut_cc is initial.
if wa_recurso_aux-descorigem eq c_liq_vme.
if <fs_zycbt226>-sld_exterior >= p_v_slliq.
itab_recurso_aux-vl_total_saldo = p_v_slliq.
elseif <fs_zycbt226>-sld_exterior =< p_v_slliq.
itab_recurso_aux-vl_total_saldo = <fs_zycbt226>-sld_exterior.
endif.
modify itab_recurso_aux transporting vl_total_saldo
where descorigem eq c_liq_vme
and nrinvoic = itab_zycbt006-nrinvoic
...
...
and dtpagto = v_dtpagto. "#EC CI_NOFIRST
if not itab_zycbt231[] is initial.
select * from /pws/zycbt226
into table itab_zycbt226
for all entries in itab_zycbt231
where nrseq = itab_zycbt231-nrseq.
endif.
endform.
form clearing_cc
changing v_subrc.
* >> Início da inclusão: FORM CLEARING_CC
clear v_subrc.
* << Fim da inclusão
if not /pws/zyglt009-comp_aut_cc is initial.
perform clear_date_batch.
perform busca_parametros_op.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-tabela = 'ZYCBT006'.
itab_zycbe033-cpochv = /pws/zycbe005-nrseqc.
itab_zycbe033-bukrs = <fs_zycbt226>-bukrs.
itab_zycbe033-budat = v_dtpagto.
itab_zycbe033-bldat = v_dtpagto.
itab_zycbe033-blart = /pws/zycbt011-blart.
...
...
<fs_documento> type t_documento,
<fs_vinculacao> type t_vinculacao.
data:
itab_zycbt017 type t_itab_zycbt017,
itab_zycbt030 type t_itab_zycbt030,
itab_zycbt069 type t_itab_zycbt069,
itab_zycbt219 type t_itab_zycbt219,
itab_zycbt209 type t_itab_zycbt209.
check not itab_zycbt005[] is initial.
refresh itab_documento.
* >> Início da inclusão: FORM VERIFICA_DOCUMENTOS
clear: itab_vinculacao, itab_documento.
refresh: itab_vinculacao.
* << Fim da inclusão
loop at itab_zycbt005.
read table itab_zycbt006
with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf
status = 'I'
transporting no fields.
check sy-subrc eq 0.
wa_vinculacao-nrseqc = itab_zycbt005-nrseqc.
...
...
select single dtvencto from /pws/zycet001
into itab_zycbe033-zfbdt
where nrseq = itab_zycbt030-nrinvoic.
elseif itab_zyglt321-cpocb = 'DTVINCUL'.
itab_zycbe033-zfbdt = /pws/zycbe005-dtvincul.
endif.
when 'VALUT'.
if itab_zyglt321-cpocb = 'DTVENCTO'.
itab_zycbe033-d_valut = itab_zycbt017-dtvencto.
itab_zycbe033-c_valut = itab_zycbt017-dtvencto.
* >> Início da inclusão: FORM LANCAMENTO_LIQUID_F_02
elseif itab_zyglt321-cpocb = 'DTLIQUID'.
itab_zycbe033-d_valut = itab_zycbt006-dtpagto.
itab_zycbe033-c_valut = itab_zycbt006-dtpagto.
* << Fim da inclusão
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
...
...
and gsberf = itab_zycbt006-gsberf
and dtvincul = itab_zycbt006-dtvincul
and dtvencto = itab_zycbt006-dtvencto
and dtpagto = itab_zycbt006-dtpagto
and dtpagext = itab_zycbt006-dtpagext
and liq_and = p_liq_and
and tdesmemb = p_tdesmemb.
endselect.
endif.
endform.
* >> Início da inclusão:
form ajusta_decimais using p_waers_f
p_waers_c
changing p_valor.
data: v_dec_f type tcurx-currdec,
v_dec_c type tcurx-currdec,
v_dec_dif type i.
read table itab_tcurx with key currkey = p_waers_f.
if sy-subrc ne 0.
v_dec_f = 2.
else.
v_dec_f = itab_tcurx-currdec.
endif.
read table itab_tcurx with key currkey = p_waers_c.
if sy-subrc ne 0.
v_dec_c = 2.
else.
v_dec_c = itab_tcurx-currdec.
endif.
v_dec_dif = v_dec_c - v_dec_f.
check not v_dec_dif is initial.
if v_dec_dif < 0.
v_dec_dif = v_dec_dif * -1.
p_valor = p_valor / ( 10 ** ( v_dec_dif ) ).
else.
p_valor = p_valor * ( 10 ** ( v_dec_dif ) ).
endif.
endform.
form carga_valor_contrato.
data: begin of itab_zycbt005_carga occurs 0.
include structure /pws/zycbt005.
data: end of itab_zycbt005_carga.
data: begin of itab_zycbt006_carga occurs 0.
include structure /pws/zycbt006.
data: end of itab_zycbt006_carga.
select * from /pws/zycbt006
into table itab_zycbt006_carga.
delete itab_zycbt006_carga where not waers_c is initial.
if not itab_zycbt006_carga[] is initial.
select * from /pws/zycbt005
into table itab_zycbt005_carga
for all entries in itab_zycbt006_carga
where nrseqc = itab_zycbt006_carga-nrseqc
and tpdesp = itab_zycbt006_carga-tpdesp
and nrparc = itab_zycbt006_carga-nrparc
and dtincl = itab_zycbt006_carga-dtincl
and nrinvoic = itab_zycbt006_carga-nrinvoic
and nrparcf = itab_zycbt006_carga-nrparcf
and gsberf = itab_zycbt006_carga-gsberf
and dtvincul = itab_zycbt006_carga-dtvincul
and dtvencto = itab_zycbt006_carga-dtvencto.
loop at itab_zycbt006_carga.
read table itab_zycbt005_carga with key
nrseqc = itab_zycbt006_carga-nrseqc
tpdesp = itab_zycbt006_carga-tpdesp
nrparc = itab_zycbt006_carga-nrparc
dtincl = itab_zycbt006_carga-dtincl
nrinvoic = itab_zycbt006_carga-nrinvoic
nrparcf = itab_zycbt006_carga-nrparcf
gsberf = itab_zycbt006_carga-gsberf
dtvincul = itab_zycbt006_carga-dtvincul
dtvencto = itab_zycbt006_carga-dtvencto.
check sy-subrc = 0.
itab_zycbt006_carga-waers_c = itab_zycbt005_carga-waers_c.
if itab_zycbt006_carga-vlme = itab_zycbt005_carga-vlme_p.
itab_zycbt006_carga-vlme_c = itab_zycbt005_carga-vlvinc.
else.
if itab_zycbt006_carga-waers = itab_zycbt006_carga-waers_c.
itab_zycbt006_carga-vlme_c = itab_zycbt006_carga-vlme.
else.
perform determina_fator_carga using
itab_zycbt006_carga-bukrs
v_defator
v_parafator
itab_zycbt006_carga-waers
itab_zycbt006_carga-waers_c.
read table itab_tcurx with key
currkey = itab_zycbt006_carga-waers into tcurx.
if sy-subrc = 0 and tcurx-currdec = 0.
read table itab_tcurx with key
currkey = itab_zycbt006_carga-waers_c into tcurx.
if sy-subrc <> 0 or ( sy-subrc = 0 and tcurx-currdec > 0 ).
itab_zycbt006_carga-vlme =
itab_zycbt006_carga-vlme / ( 10 ** ( 0 - 2 ) ).
endif.
endif.
itab_zycbt006_carga-vlme_c = itab_zycbt006_carga-vlme *
( ( itab_zycbt005_carga-parid / v_defator )
* v_parafator ).
endif.
endif.
if itab_zycbt006_carga-vlme_c > 0.
update /pws/zycbt006 set waers_c = itab_zycbt006_carga-waers_c
vlme_c = itab_zycbt006_carga-vlme_c
where nrseqc = itab_zycbt006_carga-nrseqc
and tpdesp = itab_zycbt006_carga-tpdesp
and nrparc = itab_zycbt006_carga-nrparc
and dtincl = itab_zycbt006_carga-dtincl
and nrinvoic = itab_zycbt006_carga-nrinvoic
and nrparcf = itab_zycbt006_carga-nrparcf
and gsberf = itab_zycbt006_carga-gsberf
and dtvincul = itab_zycbt006_carga-dtvincul
and dtvencto = itab_zycbt006_carga-dtvencto
and dtpagto = itab_zycbt006_carga-dtpagto
and dtpagext = itab_zycbt006_carga-dtpagext.
endif.
endloop.
refresh: itab_zycbt006_carga, itab_zycbt005_carga.
if v_vinculacao is initial.
commit work.
endif.
endif.
endform.
form determina_fator_carga using p_bukrs
p_defator
p_parafator
p_waers
p_waers_c.
if p_waers = p_waers_c.
p_parafator = p_defator = 1.
else.
select single *
from t001a
where bukrs = p_bukrs.
select single ffact tfact
from tcurf
into (p_defator,
p_parafator)
where kurst = t001a-kurst
and fcurr = p_waers
and tcurr = p_waers_c
and gdatu >= sy-datum. "#EC PORTABLE
endif.
if p_defator = 0.
p_defator = 1.
endif.
if p_parafator = 0.
p_parafator = 1.
endif.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004I01
...
ENDMODULE.
MODULE seleciona_dados INPUT.
SELECT * FROM /pws/zycbt002
INTO TABLE itab_zycbt002j
WHERE nrseqc = /pws/zycbe005-nrseqc
AND tpparc = 'J'.
SELECT * FROM /pws/zycbt009
INTO TABLE itab_zycbt009.
SELECT * FROM /pws/zycbt010
INTO TABLE itab_zycbt010.
* >> Início da exclusão: MODULE SELECIONA_DADOS
SELECT * FROM tcurx
INTO TABLE itab_tcurx.
* << Fim da exclusão
SELECT * FROM /pws/zycbt001
INTO TABLE itab_zycbt001
WHERE nrseqc = /pws/zycbe005-nrseqc.
READ TABLE itab_zycbt001 INDEX 1.
CASE itab_zycbt001-fdtjuros.
WHEN 'O'.
v_dtoperac = itab_zycbt001-dtcontr.
WHEN 'D'.
v_dtoperac = itab_zycbt001-dtdesem.
WHEN OTHERS.
...
...
IF itab_zycbt005-dtcredext NE '00000000' AND
itab_zycbt005-dtcredext NE ' '.
itab_zycbt005-v_vljur = itab_zycbt005-vljur.
MODIFY itab_zycbt005 INDEX v_index.
CONTINUE.
ENDIF.
READ TABLE itab_zycbt001 INDEX 1.
IF itab_zycbt001-tpcontr+0(1) CA 'ACET' OR
( itab_zycbt001-tpcontr+0(01) EQ 'D' AND
/pws/zycbt089-f_cont_vinc EQ 'A' ) .
* >> Início da exclusão: MODULE CALCULA_JUROS
IF itab_zycbt005-waers EQ itab_zycbt005-waers_c.
v_calc_jur = itab_zycbt005-vlme.
ELSE.
v_calc_jur = itab_zycbt005-vlme * itab_zycbt005-parid.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALCULA_JUROS
v_calc_jur = itab_zycbt005-vlvinc.
* << Fim da inclusão
PERFORM seta_data_juros.
IF v_dt_pgt = 'X'.
v_dtcalcjur = /pws/zycbe006-dtpagext.
ELSEIF v_dtliq = 'X'.
v_dtcalcjur = v_dtpagto.
ELSE.
CASE wa_zycbt007-dtjuros.
WHEN 'DTPAGEXT'.
v_dtcalcjur = /pws/zycbe006-dtpagext.
WHEN 'DTVENCTO'.
v_dtcalcjur = itab_zycbt005-dtvencto.
WHEN 'DTPAGTO'.
v_dtcalcjur = v_dtpagto.
ENDCASE.
ENDIF.
CLEAR itab_zycbt005-v_vljur.
CLEAR v_zycbe005.
MOVE-CORRESPONDING itab_zycbt005 TO v_zycbe005.
* >> Início da exclusão: MODULE CALCULA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers_c.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
v_calc_jur = v_calc_jur *
( 10 ** ( tcurx-currdec - 2 ) ).
* << Fim da exclusão
IF NOT /pws/zycbe001-ffrcalc IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_CALCULA_JUROS'
EXPORTING
zycbe005 = v_zycbe005
data_fim = v_dtcalcjur
vlme = v_calc_jur
empresa = itab_zycbt005-bukrs
IMPORTING
vl_juros = itab_zycbt005-v_vljur
vl_jur_acc = v_vljur_acc
...
...
MESSAGE i015 WITH text-167.
WHEN 2.
MESSAGE i015 WITH text-168.
ENDCASE.
ENDIF.
ENDIF.
IF itab_zycbt001-tpcontr(1) = 'E'.
v_vljur_ace = itab_zycbt005-v_vljur.
CLEAR v_vljur_acc.
ENDIF.
* >> Início da exclusão: MODULE CALCULA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers_c.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALCULA_JUROS
read table itab_tcurx with key
currkey = itab_zycbt005-waers_c into tcurx.
* << Fim da inclusão
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
itab_zycbt005-v_vljur = itab_zycbt005-v_vljur *
( 10 ** ( tcurx-currdec - 2 ) ).
v_vljur_acc = v_vljur_acc *
( 10 ** ( tcurx-currdec - 2 ) ).
v_vljur_ace = v_vljur_ace *
( 10 ** ( tcurx-currdec - 2 ) ).
MOVE: v_vljur_acc TO /pws/zycbe006-vljur_acc,
...
...
FROM /pws/zycbt006
INTO /pws/zycbt006-nrinvoic
WHERE nrseqc EQ itab_zycbt005-nrseqc
AND dtpagto EQ v_dtpagto.
IF sy-subrc EQ 0 AND sy-tcode EQ c_transacao_c.
CLEAR itab_zycbt005-v_vljur.
MODIFY itab_zycbt005 INDEX v_index.
EXIT.
ENDIF.
PERFORM processa_pre_pagto.
* >> Início da exclusão: MODULE CALCULA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALCULA_JUROS
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
* << Fim da inclusão
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
itab_zycbt005-v_vljur = itab_zycbt005-v_vljur *
( 10 ** ( tcurx-currdec - 2 ) ).
MODIFY itab_zycbt005 INDEX v_index.
EXIT.
ENDIF.
ENDLOOP.
ENDMODULE.
MODULE verifica_credext INPUT.
IF /pws/zycbe006-dtpagext > v_dtpagto.
MESSAGE i011(pc) WITH text-081.
/pws/zycbe006-dtpagext = v_dtpagto.
* >> Início da inclusão: MODULE VERIFICA_CREDEXT
perform seleciona_dados.
* << Fim da inclusão
CALL SCREEN '0100'.
ENDIF.
ENDMODULE.
MODULE verifica_liq INPUT.
CLEAR v_existe_liq.
ENDMODULE.
MODULE apaga_faturas INPUT.
LOOP AT itab_zycbt005_liq.
DELETE itab_zycbt005 WHERE nrinvoic = itab_zycbt005_liq-nrinvoic
AND nrparcf = itab_zycbt005_liq-nrparcf
AND gsberf = itab_zycbt005_liq-gsberf.
ENDLOOP.
CLEAR itab_zycbt005_liq.
REFRESH itab_zycbt005_liq.
ENDMODULE.
MODULE casas_decimais INPUT.
* >> Início da exclusão: MODULE CASAS_DECIMAIS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers.
* << Fim da exclusão
* >> Início da inclusão: MODULE CASAS_DECIMAIS
read table itab_tcurx with key
currkey = itab_zycbt005-waers into tcurx.
* << Fim da inclusão
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
/pws/zycbe006-vlme = /pws/zycbe006-vlme *
( 10 ** ( tcurx-currdec - 2 ) ).
ENDMODULE.
MODULE verifica_liquidacao INPUT.
PERFORM atualiza_deduz_juros.
CLEAR v_existe_liq.
CHECK v_status_s NE '0' AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004O01
...
screen-name = '/PWS/ZYCBE006-DTPAGEXT' or
screen-name = 'V_DT_PGT' or
screen-name = 'V_FTXT' or
screen-name = 'V_DTPAGTO' or
screen-name = 'V_DTLIQ' or
screen-name = 'V_TXTINF'.
screen-input = '0'.
endif.
modify screen.
endloop.
* >> Início da inclusão: MODULE SET_SCRREN_TC_RECURSO_AUX
else.
loop at screen.
if screen-name = '/PWS/ZYCBE006-DTPAGEXT' or
screen-name = 'V_DT_PGT' or
screen-name = 'V_DTPAGTO' or
screen-name = 'V_DTLIQ'.
screen-input = '0'.
endif.
modify screen.
endloop.
* << Fim da inclusão
endif.
endif.
endmodule.
module mensagem_tc_recurso_aux output.
perform mensagem_tc_recurso_aux.
endmodule.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004TOP
...
v_vlme_c like /pws/zycbt005-vlvinc,
v_waers_c like /pws/zycbt005-waers_c,
v_subrc like sy-subrc,
v_cont_ok,
v_data_desm_ace like sy-datum,
v_estorno like /pws/zycbt006-belnr,
v_reais_c like /pws/zycbt005-vlme_p,
v_variacao like /pws/zycbt005-vlme_p,
v_parafator like tcurr-tfact,
v_defator like tcurr-ffact,
* >> Início da inclusão:
v_parafator_fat TYPE tcurr-tfact,
v_defator_fat TYPE tcurr-ffact,
* << Fim da inclusão
v_txcbrl_fat like tcurr-ukurs,
v_txcbrl_cont like tcurr-ukurs,
v_data_f_28 like sy-datum,
v_reais_f like /pws/zycbt005-vlme_p,
v_juros_dif like /pws/zycbt005-vlme_p,
v_vinc,
v_sbu,
v_calc_jur like /pws/zycbt005-vlme_p,
v_taxa_vazia type c,
v_exit1(1) type c,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004X01
...
data:
wa_zycbt004 like /pws/zycbt004,
wa_zycbt007 like /pws/zycbt007.
data: v_zycbe001 type /pws/zycbe001.
data: begin of itab_paridade occurs 0.
include structure /pws/zycbt006.
data: v_parid like /pws/zycbt005-parid,
v_vlme_c like /pws/zycbt005-vlvinc,
v_waers_c like /pws/zycbt005-waers_c.
data: end of itab_paridade.
* >> Início da inclusão:
data: begin of itab_paridade_ant occurs 0.
include structure /pws/zycbt006.
data: v_parid like /pws/zycbt005-parid,
v_vlme_c like /pws/zycbt005-vlvinc,
v_waers_c like /pws/zycbt005-waers_c.
data: end of itab_paridade_ant.
* << Fim da inclusão
data: begin of itab_zycbt005 occurs 0.
include structure /pws/zycbt005.
data: vlme like /pws/zycbe006-vlme,
dtpagto like /pws/zycbe006-dtpagto,
v_status,
v_vldif like /pws/zycbt006-vlme,
v_vlmeant like /pws/zycbt006-vlme,
v_armda,
v_vljur like /pws/zycbt006-vljur,
v_vlcomis like /pws/zycbt006-vlcomis,
...
...
dtvincul like /pws/zycbt005-dtvincul,
dtvencto like /pws/zycbt005-dtvencto,
end of itab_zycbt005_aux2.
data: begin of itab_zycbt005_s occurs 0,
nrinvoic like /pws/zycbt005-nrinvoic,
nrparcf like /pws/zycbt005-nrparcf,
gsberf like /pws/zycbt005-gsberf,
slpagar like /pws/zycbt005-slpagar,
vlme like /pws/zycbt006-vlme,
slliquid like /pws/zycbt005-slpagar,
* >> Início da inclusão:
parid type /pws/zycbt005-parid,
* << Fim da inclusão
end of itab_zycbt005_s.
data: itab_zycbt005_cp like itab_zycbt005_s occurs 0
with header line.
data: begin of itab_zycbt005_liq occurs 0,
nrinvoic like /pws/zycbt005-nrinvoic,
nrparcf like /pws/zycbt005-nrparcf,
gsberf like /pws/zycbt005-gsberf,
end of itab_zycbt005_liq.
data: begin of itab_zycbt006_aux occurs 0,
nrinvoic like /pws/zycbt006-nrinvoic,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
clear itab_zycbt005-mark.
clear itab_zycbt005_aux-mark.
endif.
perform atualiza_tab_zycbt005.
modify itab_zycbt005 index v_index.
modify itab_zycbt005_aux index v_index.
itab_zycbt005_aux-mark = ''.
endif.
else.
perform atualiza_itab_zycbt005.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
perform calc_paridade.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
perform calc_paridade
using tc_faturas-current_line.
* << Fim da inclusão
perform calcula_saldos.
read table itab_zycbt017 with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
itab_zycbt005-vlcomis = ( itab_zycbt005-vlme_p *
itab_zycbt017-vlcomis ) /
itab_zycbt017-vlavinc.
itab_zycbt005-slcomi = itab_zycbt005-vlcomis.
itab_zycbt005-dtpror = /pws/zycbe005-dtpror.
...
...
else.
clear itab_zycbt005-mark.
clear itab_zycbt005_aux-mark.
endif.
modify itab_zycbt005 index v_index.
modify itab_zycbt005_aux index v_index.
itab_zycbt005_aux-mark = ''.
endif.
else.
perform atualiza_itab_zycbt005.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
perform calc_paridade.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
perform calc_paridade
using tc_faturas-current_line.
* << Fim da inclusão
perform calcula_saldos.
read table itab_zycbt017 with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
itab_zycbt005-vlcomis = ( itab_zycbt005-vlme_p *
itab_zycbt017-vlcomis ) /
itab_zycbt017-vlavinc.
itab_zycbt005-slcomi = itab_zycbt005-vlcomis.
itab_zycbt005-dtpror = /pws/zycbe005-dtpror.
...
...
modify itab_zycbt005 index v_index transporting mark.
modify itab_zycbt005_aux index v_index transporting mark.
itab_zycbt005_aux-mark = ''.
if ok_code eq 'DELE'.
exit.
endif.
if v_existe_invoice eq 'S'.
exit.
endif.
perform atualiza_itab_zycbt005.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT005
perform calc_paridade.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
perform calc_paridade
using tc_faturas-current_line.
* << Fim da inclusão
perform calcula_saldos.
read table itab_zycbt017 with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
if /pws/zycbe074 is initial.
select single * from /pws/zycbt074
into corresponding fields of /pws/zycbe074
where nrseqc eq /pws/zycbe001-nrseqc.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F04
...
ENDIF.
ELSE.
IF itab_zycbt005-vlvinc > /pws/zycbt030-vlslliq.
MOVE 'X' TO v_cvalor.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM CALC_PARIDADE
FORM calc_paridade.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
FORM calc_paridade
USING p_index.
* << Fim da inclusão
DATA: v_parafator LIKE tcurf-ffact ,
v_defator LIKE tcurf-tfact .
* >> Início da exclusão: FORM CALC_PARIDADE
v_index = tc_faturas-current_line.
* << Fim da exclusão
CLEAR v_tstwaers.
IF v_status_s EQ 0.
EXIT.
ENDIF.
MOVE /pws/zycbe001-waers TO itab_zycbt005-waers_c.
...
...
IF itab_zycbt005-waers EQ /pws/zycbe001-waers.
MOVE: '1' TO itab_zycbt005-parid.
IF itab_zycbt005-vlme_p NE 0.
MOVE itab_zycbt005-vlme_p TO itab_zycbt005-vlvinc.
ELSEIF itab_zycbt005-vlvinc NE 0.
MOVE itab_zycbt005-vlvinc TO itab_zycbt005-vlme_p.
ENDIF.
ELSE.
PERFORM determina_fator USING v_parafator
v_defator.
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais EQ 0 AND v_decimais_c > 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * 100.
itab_zycbt005_parid-vlme_p = itab_zycbt005_parid-vlme_p * 100.
ENDIF.
* << Fim da inclusão
IF itab_zycbt005-vlme_p NE 0 AND itab_zycbt005-vlvinc NE 0
AND itab_zycbt005-parid EQ 0.
* >> Início da exclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = ( ( itab_zycbt005-vlvinc /
itab_zycbt005-vlme_p ) * v_defator ) / v_parafator.
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* << Fim da inclusão
ENDIF.
ELSEIF itab_zycbt005-vlme_p EQ 0 AND itab_zycbt005-parid NE 0
AND itab_zycbt005-vlvinc NE 0.
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ENDIF.
* << Fim da inclusão
itab_zycbt005-vlme_p = itab_zycbt005-vlvinc /
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
* >> Início da exclusão: FORM CALC_PARIDADE
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
ELSE.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * 100.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* << Fim da inclusão
ENDIF.
ELSEIF itab_zycbt005-vlme_p EQ 0.
CLEAR itab_zycbt005-vlvinc.
ELSEIF itab_zycbt005-vlme_p NE itab_zycbt005_parid-vlme_p
AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da exclusão: FORM CALC_PARIDADE
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
* << Fim da inclusão
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* >> Início da exclusão: FORM CALC_PARIDADE
ENDIF.
* << Fim da exclusão
ENDIF.
ELSEIF itab_zycbt005-vlme_p NE itab_zycbt005_parid-vlme_p
AND itab_zycbt005-vlvinc NE 0.
* >> Início da exclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ENDIF.
itab_zycbt005-parid = ( ( itab_zycbt005-vlvinc /
itab_zycbt005-vlme_p ) * v_defator ) / v_parafator.
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
ENDIF.
* << Fim da inclusão
ELSEIF itab_zycbt005-parid NE itab_zycbt005_parid-parid
AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da exclusão: FORM CALC_PARIDADE
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
* << Fim da inclusão
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* >> Início da exclusão: FORM CALC_PARIDADE
ENDIF.
* << Fim da exclusão
ENDIF.
ELSEIF itab_zycbt005-vlvinc NE itab_zycbt005_parid-vlvinc
AND itab_zycbt005-vlvinc NE 0.
* >> Início da exclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = ( ( itab_zycbt005-vlvinc /
itab_zycbt005-vlme_p ) * v_defator ) / v_parafator.
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* << Fim da inclusão
ENDIF.
ELSEIF itab_zycbt005-parid EQ 0 AND itab_zycbt005-vlvinc NE 0.
* >> Início da exclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
ELSE.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM CALC_PARIDADE
itab_zycbt005-parid = ( ( itab_zycbt005-vlvinc /
itab_zycbt005-vlme_p ) * v_defator ) / v_parafator.
IF v_decimais_c EQ 0 AND v_decimais > 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* << Fim da inclusão
ENDIF.
ELSEIF itab_zycbt005-vlvinc EQ 0 AND itab_zycbt005-parid NE 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
* >> Início da exclusão: FORM CALC_PARIDADE
IF v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais_c EQ 0 AND v_decimais > 0.
* << Fim da inclusão
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
* >> Início da exclusão: FORM CALC_PARIDADE
ENDIF.
* << Fim da exclusão
ENDIF.
ELSEIF itab_zycbt005-vlme_p NE 0 AND itab_zycbt005-parid EQ 0
AND itab_zycbt005-vlvinc EQ 0.
* >> Início da inclusão: FORM CALC_PARIDADE
IF v_decimais EQ 0 AND v_decimais_c > 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
itab_zycbt005_parid-vlme_p = itab_zycbt005_parid-vlme_p / 100.
ENDIF.
* << Fim da inclusão
CLEAR: itab_zycbt005-parid.
MODIFY itab_zycbt005 TRANSPORTING parid
WHERE nrseqc = itab_zycbt005-nrseqc AND
tpdesp = itab_zycbt005-tpdesp AND
nrparc = itab_zycbt005-nrparc AND
nrinvoic = itab_zycbt005-nrinvoic.
MESSAGE i061 WITH
text-271 itab_zycbt005-nrinvoic text-272 text-283.
v_tstwaers = 'X'.
EXIT.
* >> Início da inclusão: FORM CALC_PARIDADE
ENDIF.
IF v_decimais EQ 0 AND v_decimais_c > 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
itab_zycbt005_parid-vlme_p = itab_zycbt005_parid-vlme_p / 100.
* << Fim da inclusão
ENDIF.
ENDIF.
* >> Início da exclusão: FORM CALC_PARIDADE
MODIFY itab_zycbt005 INDEX v_index.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_PARIDADE
MODIFY itab_zycbt005 INDEX p_index.
* << Fim da inclusão
ENDFORM.
FORM verifica_documentos.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F05
...
clear v_index.
loop at itab_zycbt005.
v_index = v_index + 1.
if itab_zycbt005-vlme_p eq 0.
perform move_saldo.
endif.
endloop.
endform.
form move_saldo.
move itab_zycbt005-vlslf to itab_zycbt005-vlme_p.
* >> Início da exclusão: FORM MOVE_SALDO
perform calc_paridade_2.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_SALDO
perform calc_paridade using v_index.
* << Fim da inclusão
perform calcula_saldos_2.
read table itab_zycbt017 with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
itab_zycbt005-vlcomis = ( itab_zycbt005-vlme_p *
itab_zycbt017-vlcomis ) /
itab_zycbt017-vlavinc.
itab_zycbt005-slcomi = itab_zycbt005-vlcomis.
modify itab_zycbt005 index v_index.
...
...
else.
itab_zycbt005-vlslf = itab_zycbt005-vlslf - v_vldif_fat.
/pws/zycbe001-slvinc = /pws/zycbe001-slvinc - v_vldif.
modify itab_zycbt005 index v_index
transporting vlslf.
endif.
endif.
endif.
clear itab_zycbt005_aux.
endform.
* >> Início da exclusão: FORM CALC_PARIDADE_2
form calc_paridade_2.
data: v_parafator like tcurf-ffact ,
v_defator like tcurf-tfact .
clear v_tstwaers.
if v_status_s eq 0.
exit.
endif.
move /pws/zycbe001-waers to itab_zycbt005-waers_c.
read table itab_zycbt005_parid with key
nrseqc = itab_zycbt005-nrseqc
tpdesp = itab_zycbt005-tpdesp
nrparc = itab_zycbt005-nrparc
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf.
if itab_zycbt005-waers eq /pws/zycbe001-waers.
move: '1' to itab_zycbt005-parid.
if itab_zycbt005-vlme_p ne 0.
move itab_zycbt005-vlme_p to itab_zycbt005-vlvinc.
elseif itab_zycbt005-vlvinc ne 0.
move itab_zycbt005-vlvinc to itab_zycbt005-vlme_p.
endif.
else.
perform determina_fator using v_parafator
v_defator.
if itab_zycbt005-vlme_p ne 0 and itab_zycbt005-vlvinc ne 0
and itab_zycbt005-parid eq 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
else.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
endif.
endif.
elseif itab_zycbt005-vlme_p eq 0 and itab_zycbt005-parid ne 0
and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlvinc /
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
else.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * 100.
endif.
endif.
elseif itab_zycbt005-vlme_p eq 0.
clear itab_zycbt005-vlvinc.
elseif itab_zycbt005-vlme_p ne itab_zycbt005_parid-vlme_p
and itab_zycbt005-parid ne 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
else.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
endif.
endif.
elseif itab_zycbt005-vlme_p ne itab_zycbt005_parid-vlme_p
and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
elseif itab_zycbt005-parid ne itab_zycbt005_parid-parid
and itab_zycbt005-parid ne 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
else.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
endif.
endif.
elseif itab_zycbt005-vlvinc ne itab_zycbt005_parid-vlvinc
and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
else.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
endif.
endif.
elseif itab_zycbt005-parid eq 0 and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
else.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
endif.
endif.
elseif itab_zycbt005-vlvinc eq 0 and itab_zycbt005-parid ne 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
else.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
endif.
endif.
elseif itab_zycbt005-vlme_p ne 0 and itab_zycbt005-parid eq 0
and itab_zycbt005-vlvinc eq 0.
clear itab_zycbt005-parid.
modify itab_zycbt005 transporting parid
where nrseqc = itab_zycbt005-nrseqc and
tpdesp = itab_zycbt005-tpdesp and
nrparc = itab_zycbt005-nrparc and
nrinvoic = itab_zycbt005-nrinvoic.
.
message i061 with
text-271 itab_zycbt005-nrinvoic text-272 text-283.
v_tstwaers = 'X'.
exit.
endif.
endif.
modify itab_zycbt005 index v_index.
endform.
* << Fim da exclusão
form exibe_datas.
data v_flag type c.
case /pws/zycbe001-tpcontr(1).
when 'C'.
if /pws/zycbt007-liq_cp eq 'X'.
move 'X' to v_flag.
endif.
when 'D'.
if /pws/zycbt089-f_cont_vinc eq 'F'.
move 'X' to v_flag.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F08
...
value1 = p_paridade
EXCEPTIONS
titel_too_long = 1
OTHERS = 2.
IF sy-subrc NE 0.
v_subrc = 4.
ENDIF.
ENDFORM.
FORM determina_fator CHANGING e_parafator
e_defator.
* >> Início da inclusão: FORM DETERMINA_FATOR
if itab_zycbt005-waers = itab_zycbt005-waers_c.
e_parafator = e_defator = 1.
else.
select single *
from t001a
where bukrs = /pws/zycbe001-bukrs.
* << Fim da inclusão
SELECT SINGLE ffact tfact
FROM tcurf
* >> Início da exclusão: FORM DETERMINA_FATOR
INTO (e_parafator,
e_defator)
WHERE fcurr = itab_zycbt005-waers
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_FATOR
into (e_defator,
e_parafator)
where kurst = t001a-kurst
and fcurr = itab_zycbt005-waers
* << Fim da inclusão
AND tcurr = itab_zycbt005-waers_c
* >> Início da exclusão: FORM DETERMINA_FATOR
AND gdatu >= sy-datum. "#EC PORTABLE
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_FATOR
and gdatu >= sy-datum. "#EC PORTABLE
endif.
* << Fim da inclusão
ENDFORM.
FORM contabiliza_cp_arbitr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F10
...
v_pag_jur = 'X'.
endif.
endform.
form vincula_linha_total using v_index_6.
if itab_zycbt005-vlme_p eq 0.
perform move_saldo_fat using v_index_6.
endif.
endform.
form move_saldo_fat using v_index_6 .
move itab_zycbt005-vlslf to itab_zycbt005-vlme_p.
* >> Início da exclusão: FORM MOVE_SALDO_FAT
perform calc_pridade_3 using v_index_6.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_SALDO_FAT
perform calc_paridade using v_index_6.
* << Fim da inclusão
perform calcula_saldos_3 using v_index_6.
read table itab_zycbt017 with key
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
itab_zycbt005-vlcomis = ( itab_zycbt005-vlme_p *
itab_zycbt017-vlcomis ) /
itab_zycbt017-vlavinc.
itab_zycbt005-slcomi = itab_zycbt005-vlcomis.
modify itab_zycbt005 index v_index_6.
v_index = v_index_6.
perform atualiza_itab_zycbt017.
endform.
* >> Início da exclusão: FORM CALC_PRIDADE_3
form calc_pridade_3 using v_index_6.
data: v_parafator like tcurf-ffact ,
v_defator like tcurf-tfact .
clear v_tstwaers.
if v_status_s eq 0.
exit.
endif.
move /pws/zycbe001-waers to itab_zycbt005-waers_c.
read table itab_zycbt005_parid with key
nrseqc = itab_zycbt005-nrseqc
tpdesp = itab_zycbt005-tpdesp
nrparc = itab_zycbt005-nrparc
nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf.
if itab_zycbt005-waers eq /pws/zycbe001-waers.
move: '1' to itab_zycbt005-parid.
if itab_zycbt005-vlme_p ne 0.
move itab_zycbt005-vlme_p to itab_zycbt005-vlvinc.
elseif itab_zycbt005-vlvinc ne 0.
move itab_zycbt005-vlvinc to itab_zycbt005-vlme_p.
endif.
else.
perform determina_fator using v_parafator
v_defator.
if itab_zycbt005-vlme_p ne 0 and itab_zycbt005-vlvinc ne 0
and itab_zycbt005-parid eq 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
else.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
endif.
endif.
elseif itab_zycbt005-vlme_p eq 0 and itab_zycbt005-parid ne 0
and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlvinc /
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p / 100.
else.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * 100.
endif.
endif.
elseif itab_zycbt005-vlme_p eq 0.
clear itab_zycbt005-vlvinc.
elseif itab_zycbt005-vlme_p ne itab_zycbt005_parid-vlme_p
and itab_zycbt005-parid ne 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
else.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
endif.
endif.
elseif itab_zycbt005-vlme_p ne itab_zycbt005_parid-vlme_p
and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
elseif itab_zycbt005-parid ne itab_zycbt005_parid-parid
and itab_zycbt005-parid ne 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
else.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
endif.
endif.
elseif itab_zycbt005-vlvinc ne itab_zycbt005_parid-vlvinc
and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
else.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
endif.
endif.
elseif itab_zycbt005-parid eq 0 and itab_zycbt005-vlvinc ne 0.
itab_zycbt005-parid = itab_zycbt005-vlvinc / itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-parid = itab_zycbt005-parid / 100.
else.
itab_zycbt005-parid = itab_zycbt005-parid * 100.
endif.
endif.
elseif itab_zycbt005-vlvinc eq 0 and itab_zycbt005-parid ne 0.
itab_zycbt005-vlvinc = ( ( itab_zycbt005-parid / v_defator )
* v_parafator ) * itab_zycbt005-vlme_p.
if v_decimais ne v_decimais_c.
if v_decimais eq 0.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc * 100.
else.
itab_zycbt005-vlvinc = itab_zycbt005-vlvinc / 100.
endif.
endif.
elseif itab_zycbt005-vlme_p ne 0 and itab_zycbt005-parid eq 0
and itab_zycbt005-vlvinc eq 0.
clear itab_zycbt005-parid.
modify itab_zycbt005 transporting parid
where nrseqc = itab_zycbt005-nrseqc and
tpdesp = itab_zycbt005-tpdesp and
nrparc = itab_zycbt005-nrparc and
nrinvoic = itab_zycbt005-nrinvoic.
.
message i061 with
text-271 itab_zycbt005-nrinvoic text-272 text-283.
v_tstwaers = 'X'.
exit.
endif.
endif.
modify itab_zycbt005 index v_index_6.
endform.
* << Fim da exclusão
form calcula_saldos_3 using v_index_6.
data:
v_vldif like /pws/zycbe005-vlslf,
v_vldif_fat like /pws/zycbe005-vlslf,
v_slvinc like /pws/zycbe001-slvinc,
v_vlslf like /pws/zycbe005-vlslf.
read table itab_zycbt005_aux
with key nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009I01
...
ENDMODULE.
MODULE casas_decimais INPUT.
SELECT SINGLE currdec FROM tcurx
INTO v_decimais
WHERE currkey = /pws/zycbe005-waers.
IF sy-subrc <> 0.
v_decimais = 2.
ENDIF.
SELECT SINGLE currdec FROM tcurx
INTO v_decimais_c
* >> Início da exclusão: MODULE CASAS_DECIMAIS
WHERE currkey = /pws/zycbe005-waers_c.
* << Fim da exclusão
* >> Início da inclusão: MODULE CASAS_DECIMAIS
where currkey = /pws/zycbe001-waers.
* << Fim da inclusão
IF sy-subrc <> 0.
v_decimais_c = 2.
ENDIF.
MOVE: /pws/zycbe001-waers TO /pws/zycbe005-waers_c,
/pws/zycbe001-waers TO /pws/zycbt005-waers_c.
ENDMODULE.
MODULE limpa_var INPUT.
CLEAR v_existe_vinc.
READ TABLE itab_zycbt005 INDEX tc_faturas-top_line.
IF sy-subrc NE 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB031F01
...
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
itab_zycbe033-d_zuonr = itab_zycbt209-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'REF_ORDEM'.
itab_zycbe033-d_zuonr = itab_zycbt209-ref_ordem.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ENDIF.
* >> Início da inclusão: FORM PROC_INCLUSAO
concatenate itab_zycbe033-d_zuonr 'LA'
into itab_zycbe033-d_zuonr.
* << Fim da inclusão
WHEN 'ZTERM'.
IF itab_zyglt321-cpocb = 'ZTERM'.
itab_zycbe033-zterm = itab_zycbt030-zterm.
ENDIF.
ENDCASE.
ENDLOOP.
PERFORM verify_null_field USING itab_zycbt209-dtcredext
'BUDAT'
text-039.
itab_zycbe033-budat = itab_zycbt209-dtcredext.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR010
...
vlme LIKE /pws/zycbt006-vlme,
status LIKE /pws/zycbt006-status,
nrinvoic LIKE /pws/zycbt006-nrinvoic,
nrparcf LIKE /pws/zycbt006-nrparcf,
gsberf LIKE /pws/zycbt006-gsberf,
tpdesp LIKE /pws/zycbt006-tpdesp,
nrparc LIKE /pws/zycbt006-nrparc,
dtincl LIKE /pws/zycbt006-dtincl,
dtvincul LIKE /pws/zycbt006-dtvincul,
dtvencto LIKE /pws/zycbt006-dtvencto,
* >> Início da inclusão:
vlme_c type /pws/zycbt006-vlme_c,
* << Fim da inclusão
END OF itab_zycbt006,
BEGIN OF itab_zycbt050 OCCURS 100,
nrseqc LIKE /pws/zycbt050-nrseqc,
nrinvoic LIKE /pws/zycbt050-nrinvoic,
nrparcf LIKE /pws/zycbt050-nrparcf,
gsberf LIKE /pws/zycbt050-gsberf,
vldev LIKE /pws/zycbt050-vldev,
END OF itab_zycbt050,
BEGIN OF itab_zycbt051 OCCURS 100,
nrseqc LIKE /pws/zycbt051-nrseqc,
...
...
END OF itab_zycbt051.
TYPES: BEGIN OF ty_zycbt061,
nrseq_c TYPE /pws/zycbt061-nrseq_c,
vlalt TYPE /pws/zycbt061-vlme_c,
END OF ty_zycbt061.
DATA: itab_zycbt061 TYPE SORTED TABLE OF ty_zycbt061
WITH NON-UNIQUE KEY nrseq_c,
wa_zycbt061 TYPE ty_zycbt061.
DATA: itab_relat TYPE tipo1 OCCURS 100 WITH HEADER LINE,
itab_relat2 TYPE tipo1 OCCURS 100 WITH HEADER LINE.
* >> Início da inclusão:
data: begin of itab_t001a occurs 0.
include structure t001a.
data: end of itab_t001a.
data: begin of itab_tcurx occurs 0.
include structure tcurx.
data: end of itab_tcurx.
* << Fim da inclusão
DATA:
v_dia_sem(20) TYPE c,
v_titulo(80) TYPE c,
v_tam TYPE i VALUE 286,
v_tamr TYPE i VALUE 87,
v_usd LIKE /pws/zycbt001-vlme,
v_periodo TYPE i,
v_prazo(2) TYPE c,
v_taxacambial LIKE tcurr-ukurs,
v_slvinc LIKE /pws/zycbt005-vlvinc,
v_vlvinc LIKE /pws/zycbt005-vlvinc,
v_vldev LIKE /pws/zycbt006-vlme,
v_impr(1),
v_slpagar LIKE /pws/zycbt001-slpagar,
* >> Início da exclusão:
v_vlreceb LIKE /pws/zycbt051-vlme.
* << Fim da exclusão
* >> Início da inclusão:
v_vlreceb like /pws/zycbt051-vlme,
v_defator type tcurr-ffact,
v_parafator type tcurr-ffact.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: bukrs FOR /pws/zycbt001-bukrs,
nrseqc FOR /pws/zycbt001-nrseqc MATCHCODE OBJECT
/pws/zycba050,
nrcontr FOR /pws/zycbt001-nrcontr,
tpcontr FOR /pws/zycbt001-tpcontr,
dtcontr FOR /pws/zycbt001-dtcontr,
bcofinan FOR /pws/zycbt001-bcofinan,
bconegoc FOR /pws/zycbt001-bconegoc,
dtcred FOR /pws/zycbt001-dtcred,
...
...
AND dtcontr IN dtcontr
AND bcofinan IN bcofinan
AND bconegoc IN bconegoc
AND dtcred IN dtcred
AND dtdesem IN dtdesem
AND f_encerrado NE 'X'
AND f_encerrado NE 'E'
AND dtentr IN dtentr.
SORT itab_zycbt001 BY nrseqc.
IF NOT itab_zycbt001[] IS INITIAL.
* >> Início da inclusão: FORM PROCESSAR_DADOS2
select *
from t001a
into table itab_t001a
for all entries in itab_zycbt001
where bukrs = itab_zycbt001-bukrs.
select *
from tcurx
into table itab_tcurx.
* << Fim da inclusão
SELECT nrseqc perc_comis perc_comis_flat fpagto_comis
FROM /pws/zycbt074
INTO TABLE itab_zycbt074
FOR ALL ENTRIES IN itab_zycbt001
WHERE nrseqc = itab_zycbt001-nrseqc.
SELECT *
FROM /pws/zycbt003
INTO TABLE itab_zycbt003
FOR ALL ENTRIES IN itab_zycbt001
WHERE nrseqc = itab_zycbt001-nrseqc AND
...
...
WHERE dtvincul LE s_posic
AND nrseqc = itab_zycbt001-nrseqc
AND ( status = 'C' OR status = '1' OR status = 'I' ).
SORT itab_zycbt005 BY nrseqc tpdesp nrparc dtincl nrinvoic nrparcf
gsberf dtvincul dtvencto.
SELECT nrseqc dtpagto
dtpagext
nrcontr vlme status
nrinvoic nrparcf gsberf
tpdesp nrparc dtincl dtvincul dtvencto
* >> Início da inclusão: FORM PROCESSAR_DADOS2
vlme_c
* << Fim da inclusão
FROM /pws/zycbt006
INTO TABLE itab_zycbt006
FOR ALL ENTRIES IN itab_zycbt001
WHERE dtpagto LE s_posic
AND nrseqc = itab_zycbt001-nrseqc
AND ( status = 'C' OR status = '1' ).
SORT itab_zycbt006 BY nrseqc tpdesp nrparc dtincl nrinvoic nrparcf
gsberf dtvincul dtvencto dtpagto
dtpagext.
SELECT tpcontr txtdesc
...
...
AND nrparc = itab_zycbt005-nrparc
AND dtincl = itab_zycbt005-dtincl
AND nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf
AND dtvincul = itab_zycbt005-dtvincul
AND dtvencto = itab_zycbt005-dtvencto.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
IF itab_zycbt001-tpcontr = 'DP'.
v_slpagar = v_slpagar + itab_zycbt005-vlvinc.
* >> Início da inclusão: FORM PROCESSAR_DADOS2
else.
if itab_zycbt006-vlme_c > 0.
v_slpagar = v_slpagar + itab_zycbt006-vlme_c.
else.
if itab_zycbt005-waers ne itab_zycbt005-waers_c.
clear itab_t001a.
read table itab_t001a with key
bukrs = itab_zycbt001-bukrs.
check sy-subrc = 0.
perform busca_fator_conversao using
itab_zycbt006-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
itab_t001a-kurst
sy-datum
changing
v_defator
v_parafator.
read table itab_tcurx with key currkey =
itab_zycbt005-waers.
if sy-subrc = 0 and itab_tcurx-currdec = 0.
itab_zycbt006-vlme = itab_zycbt006-vlme * 100.
endif.
v_slpagar = v_slpagar +
( itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator )
* v_parafator ) ).
* << Fim da inclusão
ELSE.
v_slpagar = v_slpagar +
( itab_zycbt006-vlme * itab_zycbt005-parid ).
* >> Início da inclusão: FORM PROCESSAR_DADOS2
endif.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM PROCESSAR_DADOS2
endif.
* << Fim da inclusão
ELSE.
v_slpagar = v_slpagar + itab_zycbt006-vlme.
ENDIF.
ENDLOOP.
v_vlvinc = v_vlvinc + itab_zycbt005-vlvinc.
ENDLOOP.
itab_relat-slpagar = itab_zycbt001-vlme - v_slpagar -
v_vldev + v_vlreceb.
LOOP AT itab_zycbt061
INTO wa_zycbt061
...
...
DELETE itab_zycbt002 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt003 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt005 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt006 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt050 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt051 WHERE nrseqc = itab_zycbt001-nrseqc.
ENDLOOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form busca_fator_conversao using p_vlme
p_waers_de
p_waers_para
p_categoria
p_data
changing p_defator
p_parafator. "#EC *
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = p_vlme
i_demoeda = p_waers_de
i_paramoeda = p_waers_para
i_ctmoeda = p_categoria
i_dtbase = p_data
importing
e_defator = p_defator
e_parafator = p_parafator
exceptions
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
tabela_categ_nao_configurada = 8
others = 9.
if p_defator = 0.
p_defator = 1.
endif.
if p_parafator = 0.
p_parafator = 1.
endif.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR047
...
dtincl like /pws/zycbt006-dtincl,
nrinvoic like /pws/zycbt006-nrinvoic,
nrparcf like /pws/zycbt006-nrparcf,
gsberf like /pws/zycbt006-gsberf,
dtvincul like /pws/zycbt006-dtvincul,
dtvencto like /pws/zycbt006-dtvencto,
dtpagto like /pws/zycbt006-dtpagto,
dtpagext like /pws/zycbt006-dtpagext,
status like /pws/zycbt006-status,
vlme like /pws/zycbt006-vlme,
* >> Início da inclusão:
vlme_c type /pws/zycbt006-vlme_c,
* << Fim da inclusão
end of itab_zycbt006.
data: begin of itab_zycbt017 occurs 0,
nrinvoic like /pws/zycbt017-nrinvoic,
nrparcf like /pws/zycbt017-nrparcf,
gsberf like /pws/zycbt017-gsberf,
fkdat like /pws/zycbt017-fkdat,
dtbl like /pws/zycbt017-dtbl,
kunag like /pws/zycbt017-kunag,
zterm like /pws/zycbt017-zterm,
dtvencto like /pws/zycbt017-dtvencto,
...
...
tppror like /pws/zycbt003-tppror,
dtpror like /pws/zycbt003-dtpror,
nrcontr like /pws/zycbt003-nrcontr.
data: end of itab_zycbt003.
data: begin of itab_zycbt064 occurs 0.
include structure /pws/zycbt064.
data: end of itab_zycbt064.
data: begin of itab_zycbt031 occurs 0.
include structure /pws/zycbt031.
data: end of itab_zycbt031.
* >> Início da inclusão:
data: begin of itab_t001a occurs 0.
include structure t001a.
data: end of itab_t001a.
data: begin of itab_tcurx occurs 0.
include structure tcurx.
data: end of itab_tcurx.
* << Fim da inclusão
data: v_data(14) type c,
v_type like tcurr-kurst,
v_nrdias(4) type c,
v_vlrjur like /pws/zycbt005-vljur,
v_tvlvinc like /pws/zycbt001-vlme,
v_tjurme like /pws/zycbt005-vljur,
v_tjurbrl like /pws/zycbt005-vljur,
v_moeda like /pws/zycbt001-waers,
v_dtfech(10) type c,
v_dtfech2(10) type c,
...
...
status
into table itab_zycbt001 from /pws/zycbt001
where nrcontr in s_nrcont and
bukrs in s_bukrs and
werks in s_werks and
gsber in s_gsber and
tpcontr in s_tpcont and
dtcontr in s_dtcont and
corret in s_corret and
bconegoc in s_bconeg and
* >> Início da exclusão: FORM SELECIONA_DADOS
kunnr in s_kunnr "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
kunnr in s_kunnr "#EC CI_NOFIELD
* << Fim da inclusão
and f_encerrado ne c_e
and f_encerrado ne c_i.
if sy-subrc eq 0.
select *
* >> Início da inclusão: FORM SELECIONA_DADOS
from t001a
into table itab_t001a
for all entries in itab_zycbt001
where bukrs = itab_zycbt001-bukrs.
select *
from tcurx
into table itab_tcurx.
select *
* << Fim da inclusão
into table itab_lfa1
from lfa1
for all entries in itab_zycbt001
where lifnr = itab_zycbt001-corret.
select nrseqc tppror dtpror nrcontr
from /pws/zycbt003
into table itab_zycbt003
for all entries in itab_zycbt001
where nrseqc = itab_zycbt001-nrseqc and
tppror = 'L' .
...
...
if sy-subrc eq 0.
select * into table itab_zycbt004
from /pws/zycbt004
for all entries in itab_zycbt001
where nrseqc eq itab_zycbt001-nrseqc
and tpdesp like 'J%'.
if not itab_zycbt005[] is initial.
select nrseqc tpdesp nrparc dtincl nrinvoic nrparcf
gsberf dtvincul dtvencto dtpagto dtpagext
status vlme
* >> Início da inclusão: FORM SELECIONA_DADOS
vlme_c
* << Fim da inclusão
into table itab_zycbt006 from /pws/zycbt006
for all entries in itab_zycbt005
where nrinvoic eq itab_zycbt005-nrinvoic and
nrparcf eq itab_zycbt005-nrparcf and
gsberf eq itab_zycbt005-gsberf and
dtvincul eq itab_zycbt005-dtvincul and
nrseqc eq itab_zycbt005-nrseqc and
tpdesp eq itab_zycbt005-tpdesp and
nrparc eq itab_zycbt005-nrparc and
dtincl eq itab_zycbt005-dtincl and
...
...
select nrseqc txjtotal tptxjur into table itab_zycbt002
from /pws/zycbt002 for all entries in itab_zycbt001
where nrseqc eq itab_zycbt001-nrseqc and
tpparc eq 'J' and
nrparc eq '1'.
select kunnr name1 into table itab_kna1cli
from kna1 for all entries in itab_zycbt001
where kunnr eq itab_zycbt001-kunnr.
select tpcontr txtdesc
from /pws/zycbt016
* >> Início da exclusão: FORM SELECIONA_DADOS
into corresponding fields of table itab_zycbt016. "#EC CI_NOWHERE
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
into corresponding fields of table itab_zycbt016. "#EC CI_NOWHERE
* << Fim da inclusão
else.
message i222.
stop.
endif.
select * from /pws/zycbt007
up to 1 rows
where bukrs in s_bukrs.
endselect.
v_type = c_ctmoed.
select single * from /pws/zycbt009
...
...
exceptions
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
tabela_categ_nao_configurada = 8
others = 9.
* >> Início da exclusão: FORM BUSCA_FATOR_CONVERSAO
if sy-subrc ne 0.
p_defator = p_parafator = 1.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_FATOR_CONVERSAO
if p_defator = 0.
p_defator = 1.
endif.
if p_parafator = 0.
p_parafator = 1.
* << Fim da inclusão
endif.
endform.
form filtra_dados.
data: v_tabix type sy-tabix,
v_nrseq like /pws/zycbt001-nrseqc,
v_vr like /pws/zycbt001-vlme,
v_invoic like /pws/zycbt006-nrinvoic.
clear: itab_zycbt001,
itab_zycbt005,
itab_zycbt006,
...
...
tpdesp = itab_zycbt006-tpdesp
nrparc = itab_zycbt006-nrparc
dtincl = itab_zycbt006-dtincl
nrinvoic = itab_zycbt006-nrinvoic
nrparcf = itab_zycbt006-nrparcf
gsberf = itab_zycbt006-gsberf
dtvincul = itab_zycbt006-dtvincul
dtvencto = itab_zycbt006-dtvencto.
if sy-subrc ne 0.
v_liquid = v_liquid + itab_zycbt006-vlme.
* >> Início da inclusão: FORM FILTRA_DADOS_NOVO
else.
if itab_zycbt006-vlme_c > 0.
v_liquid = v_liquid + itab_zycbt006-vlme_c.
* << Fim da inclusão
else.
* >> Início da inclusão: FORM FILTRA_DADOS_NOVO
if itab_zycbt005-waers ne itab_zycbt005-waers_c.
clear itab_t001a.
read table itab_t001a with key
bukrs = itab_zycbt001-bukrs.
check sy-subrc = 0.
perform busca_fator_conversao using itab_zycbt006-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
itab_t001a-kurst
sy-datum
changing v_defator
v_parafator.
read table itab_tcurx with key currkey =
itab_zycbt005-waers.
if sy-subrc = 0 and itab_tcurx-currdec = 0.
itab_zycbt006-vlme = itab_zycbt006-vlme * 100.
endif.
v_liquid = v_liquid + ( itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ) ).
else.
* << Fim da inclusão
v_liquid = v_liquid +
( itab_zycbt006-vlme * itab_zycbt005-parid ).
* >> Início da inclusão: FORM FILTRA_DADOS_NOVO
endif.
endif.
* << Fim da inclusão
endif.
endif.
endloop.
itab_zycbt001-slvinc = itab_zycbt001-vlme - v_vincul.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR059
...
/pws/zycbt005, "#EC *
/pws/zycbt006, "#EC *
/pws/zycbt007,
/pws/zycbt089,
/pws/zyglt009,
/pws/zycbt017, "#EC *
/pws/zycbt021,
/pws/zycbt050, "#EC *
/pws/zycbt051, "#EC *
/pws/zycbt084, "#EC *
* >> Início da exclusão:
/pws/zycbt154.
* << Fim da exclusão
* >> Início da inclusão:
/pws/zycbt154,
t001a,
tcurx.
* << Fim da inclusão
data: begin of itab_zycbt001 occurs 10.
include structure /pws/zycbt001.
data: end of itab_zycbt001.
data: begin of itab_zycbt003 occurs 0.
include structure /pws/zycbt003.
data: end of itab_zycbt003.
data: begin of itab_zycbt074 occurs 10.
include structure /pws/zycbt074.
data: end of itab_zycbt074.
data: begin of itab_zycbt002 occurs 10.
...
...
v_apr(01) type c,
v_pdd1(01) type c,
v_pdd2(01) type c,
v_rd(01) type c,
v_rp(01) type c,
cont_rp type i,
cont_rd type i,
cont_pd type i,
cont_dp type i,
cont_geral type i.
* >> Início da inclusão:
DATA: v_parafator TYPE tcurr-tfact,
v_defator TYPE tcurr-ffact,
v_vlme TYPE /pws/zycbt006-vlme.
* << Fim da inclusão
start-of-selection.
perform verifica_parametros.
perform seleciona_dados.
perform imprimir.
if itab_zycbt001-tpcontr(1) = 'P' or
itab_zycbt001-tpcontr(1) = 'S'.
perform imprime_dados_pre.
else.
perform imprime_dados.
endif.
...
...
read table itab_zycbt005 with key nrseqc = itab_zycbt006-nrseqc
nrparc = itab_zycbt006-nrparc
nrinvoic = itab_zycbt006-nrinvoic
dtincl = itab_zycbt006-dtincl
tpdesp = itab_zycbt006-tpdesp
dtvincul = itab_zycbt006-dtvincul
dtvencto = itab_zycbt006-dtvencto.
if itab_zycbt006-status eq 'C'.
if itab_zycbt005-waers ne itab_zycbt005-waers_c.
read table itab_zycbt001 with key nrseqc = itab_zycbt005-nrseqc.
* >> Início da exclusão: FORM SELECIONA_DADOS
if itab_zycbt001-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
IF itab_zycbt001-tpcontr(1) = 'D'.
* << Fim da inclusão
v_vlliq = v_vlliq + itab_zycbt005-vlvinc.
else.
* >> Início da exclusão: FORM SELECIONA_DADOS
v_vlliq = v_vlliq +
( itab_zycbt006-vlme * itab_zycbt005-parid ).
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
PERFORM calcula_valor_contrato_arb USING v_vlme.
v_vlliq = v_vlliq + v_vlme.
* << Fim da inclusão
endif.
else.
* >> Início da exclusão: FORM SELECIONA_DADOS
v_vlliq = v_vlliq +
( itab_zycbt006-vlme * itab_zycbt005-parid ).
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
PERFORM calcula_valor_contrato_arb USING v_vlme.
v_vlliq = v_vlliq + v_vlme.
* << Fim da inclusão
endif.
elseif itab_zycbt006-status eq 'I'.
* >> Início da exclusão: FORM SELECIONA_DADOS
v_slapagar = v_slapagar + itab_zycbt006-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
PERFORM calcula_valor_contrato_arb USING v_vlme.
v_slapagar = v_slapagar + v_vlme.
* << Fim da inclusão
endif.
...
...
itab_zycbt004-dtpagto to itab_dados-dtpagto,
itab_zycbt004-belnr to itab_dados-belnr .
else.
if /pws/zyglt009-calc_rot_sep = 'S'.
move: itab_zycbt004-vlme to itab_dados-vljur_ace ,
itab_zycbt004-dtpagto to itab_dados-dtpagto_ace,
itab_zycbt004-belnr to itab_dados-belnr_ace .
endif.
endif.
endloop.
* >> Início da inclusão: FORM SELECIONA_DADOS
IF itab_zycbt006-vlme_c > 0.
itab_dados-vlme = itab_zycbt006-vlme_c.
ELSE.
* << Fim da inclusão
if itab_zycbt005-waers ne itab_zycbt005-waers_c.
* >> Início da exclusão: FORM SELECIONA_DADOS
if itab_zycbt001-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
IF itab_zycbt001-tpcontr(1) = 'D'.
* << Fim da inclusão
itab_dados-vlme = itab_zycbt005-vlvinc.
else.
* >> Início da exclusão: FORM SELECIONA_DADOS
itab_dados-vlme = itab_zycbt005-parid * itab_zycbt006-vlme.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
PERFORM calcula_valor_contrato_arb
USING itab_dados-vlme.
* << Fim da inclusão
endif.
else.
itab_dados-vlme = itab_zycbt006-vlme.
* >> Início da inclusão: FORM SELECIONA_DADOS
ENDIF.
* << Fim da inclusão
endif.
move:
itab_zycbt006-dtpagext to itab_dados-dtpagext,
itab_zycbt006-dtpagto to itab_dados-dtliquid.
...
...
read table itab_zycbt005
with key nrseqc = itab_zycbt084_aux-nrseqc
tpdesp = itab_zycbt084_aux-tpdesp
nrparc = itab_zycbt084_aux-nrparc
dtincl = itab_zycbt084_aux-dtincl
nrinvoic = itab_zycbt084_aux-nrinvoic
nrparcf = itab_zycbt084_aux-nrparcf
gsberf = itab_zycbt084_aux-gsberf
dtvincul = itab_zycbt084_aux-dtvincul
dtvencto = itab_zycbt084_aux-dtvencto.
* >> Início da inclusão: FORM MOVE_DADOS
IF itab_zycbt006-vlme_c > 0.
itab_dados-vlme = itab_zycbt006-vlme_c.
ELSE.
* << Fim da inclusão
if itab_zycbt005-waers ne itab_zycbt005-waers_c.
* >> Início da exclusão: FORM MOVE_DADOS
if itab_zycbt001-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_DADOS
IF itab_zycbt001-tpcontr(1) = 'D'.
* << Fim da inclusão
itab_dados-vlme = itab_zycbt005-vlvinc.
else.
* >> Início da exclusão: FORM MOVE_DADOS
itab_dados-vlme = itab_zycbt006-vlme * itab_zycbt005-parid.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_DADOS
PERFORM calcula_valor_contrato_arb
USING itab_dados-vlme.
* << Fim da inclusão
endif.
else.
itab_dados-vlme = itab_zycbt006-vlme.
* >> Início da inclusão: FORM MOVE_DADOS
ENDIF.
* << Fim da inclusão
endif.
move:
itab_zycbt006-dtpagext to itab_dados-dtpagext,
itab_zycbt006-dtpagto to itab_dados-dtliquid,
...
...
endif.
if v_belnr_liq is initial.
write:
(01) '|' no-gap, (010) text-009 centered no-gap.
endif.
if v_belnr_cli_ace is initial.
write:
(01) '|' no-gap, (010) text-065 centered no-gap.
endif.
if not v_belnr_liq is initial.
* >> Início da exclusão: FORM IMPRIMIR
if itab_zycbt006-tpcontr = 'C' or itab_zycbt006-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIMIR
IF itab_zycbt006-tpcontr(1) = 'C' OR
itab_zycbt006-tpcontr(1) = 'D'.
* << Fim da inclusão
if itab_zycbt006-status = 'C'.
write:
(01) '|' no-gap, (010) text-009 centered no-gap.
endif.
else.
if /pws/zycbt089-est_variacao is initial.
write:
(01) '|' no-gap, (010) text-009 centered no-gap.
endif.
endif.
...
...
endif.
if v_belnr_liq is initial.
write:
(01) '|' no-gap, (010) text-071 centered no-gap.
endif.
if v_belnr_cli_ace is initial.
write:
(01) '|' no-gap, (010) text-017 centered no-gap.
endif.
if not v_belnr_liq is initial.
* >> Início da exclusão: FORM IMPRIMIR
if itab_zycbt006-tpcontr = 'C' or itab_zycbt006-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIMIR
IF itab_zycbt006-tpcontr(1) = 'C' OR
itab_zycbt006-tpcontr(1) = 'D'.
* << Fim da inclusão
if itab_zycbt006-status = 'C'.
write:
(01) '|' no-gap, (010) text-071 centered no-gap.
endif.
else.
if /pws/zycbt089-est_variacao is initial.
write:
(01) '|' no-gap, (010) text-071 centered no-gap.
endif.
endif.
...
...
write: (01) '|' no-gap, (010) itab_dados-belnr5 centered color
col_heading inverse hotspot no-gap.
endif.
endif.
if v_belnr_cli_ace is initial.
write:
(01) '|' no-gap, (010) itab_dados-belnr_cli_ace centered color
col_heading inverse hotspot no-gap.
endif.
if not v_belnr_liq is initial.
* >> Início da exclusão: FORM IMPRIME_DADOS
if itab_zycbt006-tpcontr = 'C' or itab_zycbt006-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_DADOS
IF itab_zycbt006-tpcontr(1) = 'C' OR
itab_zycbt006-tpcontr(1) = 'D'.
* << Fim da inclusão
if itab_zycbt006-status = 'C'.
write:
(01) '|' no-gap, (010) itab_dados-belnr5 centered color
col_heading inverse hotspot no-gap.
itab_dados-belnr_liq = itab_dados-belnr5.
endif.
else.
if /pws/zycbt089-est_variacao is initial.
write:
(01) '|' no-gap, (010) itab_dados-belnr5 centered color
...
...
loop at itab_dados where belnr_liq ne space and
belnr_liq ne ' ' and
belnr_liq ne '0000000000'.
v_colunas = v_colunas + 39.
exit.
endloop.
if sy-subrc ne 0.
v_belnr_liq = 'X'.
endif.
if not v_belnr_liq is initial.
* >> Início da exclusão: FORM DEFINE_COLUNAS
if itab_zycbt006-tpcontr = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_COLUNAS
IF itab_zycbt006-tpcontr(1) = 'C'.
* << Fim da inclusão
if itab_zycbt006-status = 'C'.
v_colunas = v_colunas + 11.
endif.
else.
if /pws/zycbt089-est_variacao is initial.
v_colunas = v_colunas + 11.
endif.
* >> Início da exclusão: FORM DEFINE_COLUNAS
if itab_zycbt006-tpcontr = 'DP'.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_COLUNAS
IF itab_zycbt006-tpcontr(1) = 'D'.
* << Fim da inclusão
v_colunas = v_colunas + 11.
endif.
endif.
endif.
loop at itab_dados where belnr_desm_cc ne space and
belnr_desm_cc ne ' ' and
belnr_desm_cc ne '0000000000'.
v_colunas = v_colunas + 11.
exit.
endloop.
...
...
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.
endloop.
endform.
* >> Início da inclusão:
FORM determina_fator USING p_defator
p_parafator.
SELECT SINGLE *
FROM t001a
WHERE bukrs = itab_zycbt005-bukrs.
SELECT SINGLE ffact tfact
FROM tcurf
INTO (p_defator,
p_parafator)
WHERE kurst = t001a-kurst
AND fcurr = itab_zycbt005-waers
AND tcurr = itab_zycbt005-waers_c
AND gdatu >= sy-datum. "#EC PORTABLE
IF p_defator = 0.
p_defator = 1.
ENDIF.
IF p_parafator = 0.
p_parafator = 1.
ENDIF.
ENDFORM.
FORM calcula_valor_contrato_arb USING p_vlme.
IF itab_zycbt006-vlme_c > 0.
p_vlme = itab_zycbt006-vlme_c.
ELSE.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
SELECT SINGLE currdec FROM tcurx
INTO tcurx-currdec
WHERE currkey = itab_zycbt005-waers.
IF sy-subrc NE 0.
tcurx-currdec = 2.
ENDIF.
IF tcurx-currdec = 0.
itab_zycbt006-vlme = itab_zycbt006-vlme * 100.
ENDIF.
ENDIF.
PERFORM determina_fator USING v_defator
v_parafator.
p_vlme = itab_zycbt006-vlme *
( ( itab_zycbt005-parid / v_defator ) * v_parafator ).
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBE005
Referência Moeda - Alterar MOEDA dos campos abaixo:
*DE:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBE005 WAERS
*PARA:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBE005 WAERS_C
*DE:
VLIR /PWS/ZYCBL258 /PWS/ZYCBE005 WAERS
*PARA:
VLIR /PWS/ZYCBL258 /PWS/ZYCBE005 WAERS_C
*DE:
VLESTORNO /PWS/ZYCBL472 /PWS/ZYCBE005 WAERS
*PARA:
VLESTORNO /PWS/ZYCBL472 /PWS/ZYCBE005 WAERS_C
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT005
Referência Moeda - Alterar MOEDA dos campos abaixo:
*DE:
VLVINC /PWS/ZYCBL057 /PWS/ZYCBT005 WAERS
*PARA:
VLVINC /PWS/ZYCBL057 /PWS/ZYCBT005 WAERS_C
*DE:
SLPAGAR /PWS/ZYCBL089 /PWS/ZYCBT005 WAERS
*PARA:
SLPAGAR /PWS/ZYCBL089 /PWS/ZYCBT005 WAERS_C
*DE:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBT005 WAERS
*PARA:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBT005 WAERS_C
*DE:
VLIR /PWS/ZYCBL258 /PWS/ZYCBT005 WAERS
*PARA:
VLIR /PWS/ZYCBL258 /PWS/ZYCBT005 WAERS_C
*DE:
VLESTORNO /PWS/ZYCBL472 /PWS/ZYCBT005 WAERS
*PARA:
VLESTORNO /PWS/ZYCBL472 /PWS/ZYCBT005 WAERS_C
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBE006
Referência Moeda - Alterar TABELA dos campos abaixo:
*DE:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBT006 WAERS
*PARA:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBT001 WAERS
*DE:
VLJUR_ACC /PWS/ZYCBL106 /PWS/ZYCBT006 WAERS
*PARA:
VLJUR_ACC /PWS/ZYCBL106 /PWS/ZYCBT001 WAERS
*DE:
VLJUR_ACE /PWS/ZYCBL106 /PWS/ZYCBT006 WAERS
*PARA:
VLJUR_ACE /PWS/ZYCBL106 /PWS/ZYCBT001 WAERS
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
BELNR_PERF BELNR_D
TPFATURA_OR /PWS/ZYGLL1365
* >> Início da inclusão
WAERS_C WAERS '' '' ''
VLME_C WRBTR '' '' '' /PWS/ZYCBE006 WAERS_C
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT006
Referência Moeda - Alterar TABELA dos campos abaixo:
*DE:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBT006 WAERS
*PARA:
VLJUR /PWS/ZYCBL106 /PWS/ZYCBT001 WAERS
*DE:
VLJUR_ACC /PWS/ZYCBL106 /PWS/ZYCBT006 WAERS
*PARA:
VLJUR_ACC /PWS/ZYCBL106 /PWS/ZYCBT001 WAERS
*DE:
VLJUR_ACE /PWS/ZYCBL106 /PWS/ZYCBT006 WAERS
*PARA:
VLJUR_ACE /PWS/ZYCBL106 /PWS/ZYCBT001 WAERS
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
BELNR_PERF BELNR_D
TPFATURA_OR /PWS/ZYGLL1365
* >> Início da inclusão
WAERS_C WAERS '' '' ''
VLME_C WRBTR '' '' '' /PWS/ZYCBT006 WAERS_C
* << Fim da inclusão