Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Financiamento
Data/Hora da Publicação: 29/08/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 10:00:38
Descrição da Nota: FINANCIAMENTO DE IMPORTAÇÃO
Sintoma
Não existe
Solução
Flexibilizar o financiamento de importação, permitindo a alteração do vencimento final da operação e
também das parcelas, adequando o tratamento contábil.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07218 Data: 29/08/2008 Hora: 07:32:51
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07218
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00062
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03340 - 00001 - 6.0 - 00026 - FINANCIAMENTO - EXCLUSÃO PARCELAS DE COMISSÃO
04543 - 00002 - 7.0 - 00002 - FINANCIAMENTO DE IMPORTAÇÃO
05088 - 00003 - 7.0 - 00003 - REFINANCIAMENTO - FINANCIAMENTO - BLOQUEIO JUROS/COMISSÃO
06002 - 00004 - 7.0 - 00004 - FINANCIAMENTO - ANO CONTABIL - LANÇAMENTO DE ESTORNO
07116 - 00005 - 7.0 - 00006 - EXPORTAÇÃO CAPTAÇÃO
----------------------------------------------------------------------------------------------------
FINANCIAMENTO DE IMPORTAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
FINANCIAMENTO DE IMPORTAÇÃO - ALTERAÇÃO DO VENCIMENTO FINAL DA OPERAÇÃO
TRATAMENTO CONTÁBIL
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCM101 0101
DYNP /PWS/SAPMZYCM101 0102
FUNC /PWS/ZYCB_TRANSACAO_FB02B
FUNC /PWS/ZYCM_TRANSACAO_F_43C
FUNC /PWS/ZYCM_TRANSACAO_F_51I
MESS /PWS/ZYCMM272
REPS /PWS/MZYCM101F01
REPS /PWS/MZYCM101I01
REPS /PWS/MZYCM101O01
REPS /PWS/MZYCM101TOP
REPS /PWS/MZYCM101X01
REPS /PWS/ZYCBI112
REPT /PWS/SAPMZYCM101
TABD /PWS/ZYCBE113
TABD /PWS/ZYCBT113
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCM101 0101
SOLICITAR A TELA 0101 DO PROGRAMA /PWS/SAPMZYCM101
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCM101 0102
SOLICITAR A TELA 0102 DO PROGRAMA /PWS/SAPMZYCM101
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_FB02B
...
t_dados-zfbdt TO v_zfbdt,
t_dados-d_valut TO v_valut.
PERFORM bdc_screen USING 'SAPMF05L' '0100'.
PERFORM bdc_field USING:
'BDC_OKCODE' '/00',
'RF05L-BELNR' t_dados-belnr,
'RF05L-BUKRS' t_dados-bukrs,
'RF05L-GJAHR' v_gjahs.
PERFORM bdc_screen USING 'SAPMF05L' '0700'.
PERFORM bdc_field USING:
'BDC_CURSOR' 'RF05L-ANZDT(01)',
'BDC_OKCODE' '=PK'.
PERFORM bdc_screen USING 'SAPMF05L' '0300'.
PERFORM bdc_field USING:
'BSEG-VALUT' v_valut,
'BSEG-ZFBDT' v_zfbdt,
'BSEG-ZUONR' t_dados-d_zuonr,
'BDC_CURSOR' BSEG-ZFBDT,
'BDC_OKCODE' '=Z+'.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING:
'BDC_CURSOR' 'COBL-KOSTL',
'BDC_OKCODE' '=ENTE'.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FB02B
IF v_tp_pagt = 'N'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FB02B
IF v_tp_pagt = 'N' OR t_dados-newbs = '29'.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPMF05L' '0304'.
PERFORM bdc_field USING:
'BSEG-ZUONR' t_dados-d_zuonr,
'BDC_CURSOR' BSEG-ZFBDT,
'BDC_OKCODE' '=AE'.
ELSE.
PERFORM bdc_screen USING 'SAPMF05L' '0300'.
PERFORM bdc_field USING:
'BSEG-VALUT' v_valut,
'BSEG-ZFBDT' v_zfbdt,
'BSEG-ZUONR' t_dados-d_zuonr,
'BDC_CURSOR' BSEG-ZFBDT,
'BDC_OKCODE' '=AE'.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING:
'BDC_CURSOR' 'COBL-GSBER',
'BDC_OKCODE' '=ENTE'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCBGF2UXX
...
INCLUDE /PWS/LZYCBGF2U76.
INCLUDE /PWS/LZYCBGF2U78.
INCLUDE /PWS/LZYCBGF2U79.
INCLUDE /PWS/LZYCBGF2U80.
INCLUDE /PWS/LZYCBGF2U81.
INCLUDE /PWS/LZYCBGF2U82.
INCLUDE /PWS/LZYCBGF2U83.
INCLUDE /PWS/LZYCBGF2U84.
INCLUDE /PWS/LZYCBGF2U85.
INCLUDE /PWS/LZYCBGF2U86.
* >> Início da inclusão:
INCLUDE /PWS/LZYCBGF2U87.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_43C
...
itab_oculto
USING v_string_credito.
CLEAR /pws/zycbt007.
SELECT SINGLE fdivisao
FROM /pws/zycbt007
INTO /pws/zycbt007-fdivisao
WHERE bukrs EQ t_dados-bukrs.
WRITE: t_dados-bukrs TO v_bukrs,
t_dados-bldat TO v_data_doc_char,
t_dados-budat TO v_data_lanc_char,
* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_43C
t_dados-kursf TO v_kursf.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_43C
t_dados-kursf TO v_kursf,
t_dados-c_valut TO v_data_val_char.
* << Fim da inclusão
v_monat = t_dados-budat+4(2).
v_gjahr = v_date.
v_koart = 'K'.
v_data_lanc_char_ant = v_data_lanc_char.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
CHANGING v_data_lanc_char
v_ok.
...
...
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'RF05A-NEWBS' t_dados-newbs,
'RF05A-NEWKO' t_dados-d_newko,
'RF05A-NEWUM' t_dados-umskz,
'BDC_OKCODE' '/00'.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_43C
IF v_tela EQ '0300'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'
chave = 'D'.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-VALUT' v_data_val_char.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'
chave = 'D'.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-ZFBDT' v_zfbdt_char.
ENDIF.
ENDIF.
* << Fim da inclusão
IF t_dados-newbs1 EQ 50.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'
chave = 'C'.
IF sy-subrc <> 0 AND NOT t_dados-c_gsber IS INITIAL.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-c_gsber.
ENDIF.
ENDIF.
IF t_dados-newbs EQ '29'.
v_chave_debito = '29'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MÓDULO DA FUNC /PWS/ZYCM_TRANSACAO_F_51I
MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCM_TRANSACAO_F_51I
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYCMGF2
TEXTO BREVE: GL - Call Transaction F-51 - Gera antes partida fornecedor chvlç 34/40
TIPO DE EXECUÇÃO:
(X) - MÓDULO DE FUNÇÃO NORMAL
(_) - MÓDULO DE ACESSO REMOTO
(_) - MÓDULO DE ATUALIZAÇÃO
(X) - INÍCIO IMEDIATO
(_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.
(_) - INÍC. RETARDADO
(_) - PROCES. CLOETIVO
DADOS GERAIS:
(_) - BLOQUEIO PROCESSO
(_) - GLOBAL
EXPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA TRANSF. TEXTO BREVE
V_BUDAT TYPE /PWS/ZYCBT113-DTCONT X Data de lançamento no documento
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51I
...
v_gjahr = t_dados-budat+0(4).
v_koart = 'S'.
PERFORM check_periodo USING v_koart
v_monat
v_bukrs
v_gjahr
CHANGING v_data_lanc_char
v_ok.
CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.
MOVE v_data_lanc_char+6(4) TO v_gjahr.
* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51I
CONCATENATE v_data_lanc_char+6(04)
v_data_lanc_char+3(2)
v_data_lanc_char+0(2)
INTO v_budat.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPMF05A' '0122'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_data_doc_char,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
'BKPF-BUDAT' v_data_lanc_char,
'BKPF-MONAT' v_data_lanc_char+3(2),
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
'BKPF-WWERT' v_data_conv_char,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MESS /PWS/ZYCMM272
CRIAR MENSAGENS
CLASSE DE MENSAGENS: /PWS/ZYCMM
CARCACTERÍSTICAS
CLASSE DE DESENVOLVIMENTO: /PWS/ZYCM
ATRIBUTOS
TEXTO BREVE: CM - Mensagens Câmbio Importação
MENSAGENS (CRIAR)
MENSAGEM TEXTOS BREVE MENSAGEM
272 Dt.do Venc. não pode ser menor que a Dt.Final da Parcela do Princ. Paga!
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101F01
...
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
ELSE.
ENDIF.
ELSE.
IF ( itab_zycbt113c[] EQ itab_zycbt113_ant[] OR
( itab_zycbt113c[] NE itab_zycbt113_ant[] AND
/pws/zycbe112-fpagto_c NE 'L' AND
wa_zycbt112-fpagto_c NE 'L' ) ) AND
* >> Início da inclusão: FORM SAVE_CHANGES
itab_zycbt113p[] EQ itab_zycbt113_ant[] AND
* << Fim da inclusão
itab_zycmt020[] EQ itab_zycmt020_cp[] AND
sy-tcode EQ '/PWS/ZYCB101_A' AND
v_relevante IS INITIAL AND
v_msg_ IS INITIAL.
MESSAGE i017.
ENDIF.
ENDIF.
REFRESH itab_zycbt113_ant.
LOOP AT itab_zycbt113c.
CLEAR itab_zycbt113_ant.
...
...
SELECT * FROM /pws/zycbt131
INTO TABLE itab_zycbt131
WHERE nrseq = /pws/zycbe112-nrseq
AND mdcorresp = 'IF'.
IF sy-subrc = 0.
EXPORT itab_zycbt131 TO MEMORY ID 'M101'.
SUBMIT /pws/zycbr357 AND RETURN.
ENDIF.
SET PARAMETER ID '/PWS/ZYCBP361' FIELD /pws/zycbe112-nrseq.
IF sy-binpt IS INITIAL.
* >> Início da inclusão: FORM SAVE_CHANGES
v_flag = 'X'.
SET PARAMETER ID 'X' FIELD v_flag.
* << Fim da inclusão
LEAVE TO TRANSACTION '/PWS/ZYCB101_E' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.
FORM create_zycbt113_p.
itab_zycbt113p-nrparc = v_countlinej.
itab_zycbt113p-nrseq = /pws/zycbe112-nrseq.
itab_zycbt113p-nrfinanc = /pws/zycbe112-nrfinanc.
itab_zycbt113p-tpparc = 'P'.
IF itab_zycbt113p-dtvecto IS INITIAL.
itab_zycbt113p-dtvecto = itab_zycbt113p-dtfinal.
...
...
ENDLOOP.
IF /pws/zycbe112-nrseq+0(1) NE '5' AND
( ( NOT /pws/zycbe112-belnr IS INITIAL AND
/pws/zycbe112-fassoc EQ ' ' ) OR
NOT itab_excluidos[] IS INITIAL ).
PERFORM reverse_document_zycbt112.
PERFORM save_zycbt113.
ELSE.
PERFORM verifica_relevantes.
IF v_relevante IS INITIAL.
* >> Início da inclusão: FORM SAVE_ZYCBT112
CLEAR: v_flag.
LOOP AT itab_zycbt113p.
READ TABLE itab_zycbt113pa
WITH KEY nrseq = itab_zycbt113p-nrseq
tpparc = itab_zycbt113p-tpparc
nrparc = itab_zycbt113p-nrparc.
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme.
IF itab_zycbt113p-dtfinal NE itab_zycbt113pa-dtfinal AND
itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.
PERFORM fill_date_fb02.
MODIFY /pws/zycbt112 FROM /pws/zycbe112.
COMMIT WORK.
ENDIF.
ENDIF.
ENDLOOP.
PERFORM reverse_document_zycbt112.
* << Fim da inclusão
PERFORM modify_zycbt112.
READ TABLE itab_zycbt113p WITH KEY belnr = ' '.
IF sy-subrc EQ 0 AND /pws/zycbe112-fassoc EQ 'X'.
PERFORM finaliza_processo_contabil.
ELSEIF sy-subrc EQ 0 AND
/pws/zycbe112-fassoc EQ ' ' AND
/pws/zycbe112-belnr IS INITIAL.
PERFORM fill_date1_f48.
ELSE.
ENDIF.
...
...
wa_log
'C'.
ELSE.
PERFORM grava_log USING '/PWS/ZYCBT112'
wa_log
'A'.
ENDIF.
ENDIF.
PERFORM save_zycbt113.
ELSE.
* >> Início da inclusão: FORM SAVE_ZYCBT112
CLEAR: v_flag.
LOOP AT itab_zycbt113p.
READ TABLE itab_zycbt113pa
WITH KEY nrseq = itab_zycbt113p-nrseq
tpparc = itab_zycbt113p-tpparc
nrparc = itab_zycbt113p-nrparc.
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme.
IF itab_zycbt113p-dtfinal NE itab_zycbt113pa-dtfinal AND
itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.
PERFORM fill_date_fb02.
MODIFY /pws/zycbt112 FROM /pws/zycbe112.
COMMIT WORK.
ENDIF.
ENDIF.
ENDLOOP.
* << Fim da inclusão
PERFORM reverse_document_zycbt112.
PERFORM save_zycbt113.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM call_zycb105_l.
DATA: v_numero LIKE /pws/zycbt112-nrseq,
v_assoc(2),
v_empresa LIKE /pws/zycbt112-bukrs,
...
...
ENDIF.
IF NOT itab_excluidos[] IS INITIAL.
PERFORM estorna_parcelas_excluidas.
ENDIF.
LOOP AT itab_zycbt113p WHERE ftransf NE 'C'
AND belnr NE ' '
AND ( dtpagto EQ ' ' OR
dtpagto EQ '00000000' ).
READ TABLE itab_zycbt113pa WITH KEY nrparc = itab_zycbt113p-nrparc.
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT112
itab_zycbt113p-dtvecto EQ itab_zycbt113pa-dtvecto.
IF v_mdparc EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT112
itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.
* << Fim da inclusão
CONTINUE.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT112
ENDIF.
* << Fim da exclusão
ENDIF.
IF itab_zycbt113p-belnr IS INITIAL.
CONTINUE.
ENDIF.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
itab_zycbe033-belnr = itab_zycbt113p-belnr.
itab_zycbe033-bukrs = wa_zycbt112-bukrs.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT112
IF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT112
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
* << Fim da inclusão
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
PERFORM determina_periodo
USING itab_zycbe033-budat
CHANGING v_monat.
CALL FUNCTION 'FI_PERIOD_CHECK'
...
...
PERFORM periodo_fecham_mensal.
IF /pws/zycbe112-dtdesem NE '00000000'.
IF /pws/zycbt154-dtcont > /pws/zycbe112-dtdesem
AND sy-tcode EQ '/PWS/ZYCB101_C'.
MESSAGE w087.
ENDIF.
ENDIF.
ENDIF.
v_tcode = text-237.
LOOP AT itab_zycbt113p .
* >> Início da inclusão: FORM FILL_DATE1_F48
READ TABLE itab_zycbt113pa WITH KEY nrparc = itab_zycbt113p-nrparc.
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND
itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.
CONTINUE.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycmt020 INDEX sy-tabix.
PERFORM get_parameters_112.
IF itab_zycbt113p-ftransf EQ 'C' OR
itab_zycbt113p-belnr NE ' ' OR
( itab_zycbt113p-dtpagto NE ' ' AND
itab_zycbt113p-dtpagto NE '00000000' ).
CONTINUE.
ENDIF.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = v_tcode.
...
...
APPEND wa_mensagem TO itab_mensagem.
/pws/zycbe112-statusp = text-007.
itab_zycbt113p-belnr = itab_zycbt032-belnr.
itab_zycbt113p-belnr_ori = itab_zycbt032-belnr.
IF v_prazo EQ 'L'.
itab_zycbt113p-belnr_lp = itab_zycbt032-belnr.
itab_zycbt113p-ftransf = 'L'.
ELSE.
itab_zycbt113p-ftransf = 'S'.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE1_F48
itab_zycbt113p-dtcont = itab_zycbe033-budat.
* << Fim da inclusão
MODIFY itab_zycbt113p.
UPDATE /pws/zycbt112 SET statusp = /pws/zycbe112-statusp
WHERE nrseq = /pws/zycbe112-nrseq.
UPDATE /pws/zycbt113 SET belnr = itab_zycbt032-belnr
belnr_lp = itab_zycbt113p-belnr_lp
ftransf = itab_zycbt113p-ftransf
belnr_ori = itab_zycbt032-belnr
WHERE nrseq = /pws/zycbe112-nrseq
AND nrparc = itab_zycbt113p-nrparc
AND tpparc = 'P'.
...
...
SELECT * FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ktosl = 'FIN'
AND codeven = v_codeven.
REFRESH: itab_zycbt012.
SELECT * FROM /pws/zycbt012
INTO TABLE itab_zycbt012
WHERE codeven = v_codeven
AND codmod = text-016.
CLEAR itab_zycbt012.
* >> Início da exclusão: FORM GET_PARAMETERS_112
IF /pws/zycbe112-fassoc EQ ' '.
* << Fim da exclusão
v_nrdias = itab_zycbt113p-dtfinal - /pws/zycbe112-dtdesem.
* >> Início da exclusão: FORM GET_PARAMETERS_112
ELSE.
v_nrdias = itab_zycbt113p-dtfinal - sy-datum.
ENDIF.
* << Fim da exclusão
CLEAR /pws/zyglt009.
SELECT SINGLE nrdias_cp FROM /pws/zyglt009
INTO /pws/zyglt009-nrdias_cp
WHERE bukrs EQ /pws/zycbe112-bukrs.
IF v_nrdias <= /pws/zyglt009-nrdias_cp.
* >> Início da exclusão: FORM GET_PARAMETERS_112
v_prazo = 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_112
v_prazo = text-466.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM GET_PARAMETERS_112
v_prazo = 'L'.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_112
v_prazo = text-465.
ENDIF.
IF itab_zycbt113p-ftransf = text-007.
v_prazo = text-007.
* << Fim da inclusão
ENDIF.
CLEAR wa_zycbt011.
SELECT SINGLE * FROM /pws/zycbt011
INTO wa_zycbt011
WHERE codeven = v_codeven
AND codmod = text-016
AND bukrs = /pws/zycbe112-bukrs.
CONCATENATE /pws/zycbe112-codint v_prazo
INTO v_codaux1 SEPARATED BY space.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
...
...
DATA: v_monat LIKE t001b-frpe1.
CLEAR v_erro_estorno.
LOOP AT itab_zycbt113p.
CHECK NOT itab_zycbt113p-belnr IS INITIAL.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
itab_zycbe033-belnr = itab_zycbt113p-belnr.
itab_zycbe033-bukrs = /pws/zycbe112-bukrs.
* >> Início da exclusão: FORM ESTORNA_DOCUMENTO_ZYCBT112
IF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCUMENTO_ZYCBT112
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
* << Fim da inclusão
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
PERFORM determina_periodo
USING itab_zycbe033-budat
CHANGING v_monat.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = itab_zycbe033-budat+0(4)
...
...
ENDIF.
LOOP AT itab_zycbt113_ant WHERE belnr_c NE ' '
AND belnr_p EQ ' '.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = text-051.
CONCATENATE itab_zycbt113_ant-nrseq itab_zycbt113_ant-tpparc
itab_zycbt113_ant-nrparc INTO itab_zycbe033-cpochv.
itab_zycbe033-belnr = itab_zycbt113_ant-belnr_c.
itab_zycbe033-bukrs = /pws/zycbe112-bukrs.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT113
IF NOT itab_zycbt113_ant-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113_ant-dtcont.
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
ELSE.
* << Fim da inclusão
itab_zycbe033-budat = wa_zycbt112-dtdesem.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT113
itab_zycbe033-gjahs = wa_zycbt112-dtdesem+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT113
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
v_monat = itab_zycbe033-budat+2(2).
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = itab_zycbe033-budat+0(4)
i_koart = '+'
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
...
...
FORM reverse_document_zycbt112_cab.
DATA:
wa_mensagem LIKE LINE OF itab_mensagem.
PERFORM clear_date_batch.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
itab_zycbe033-belnr = /pws/zycbe112-belnr.
itab_zycbe033-bukrs = wa_zycbt112-bukrs.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
READ TABLE itab_zycbt113p WITH KEY
dtpagto = '00000000'.
IF sy-subrc = 0.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
ELSE.
* << Fim da inclusão
itab_zycbe033-budat = wa_zycbt112-dtdesem.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
itab_zycbe033-gjahs = wa_zycbt112-dtdesem+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
v_monat = itab_zycbe033-budat+2(2).
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = itab_zycbe033-budat+0(4)
i_koart = '+'
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
...
...
FORM estorna_parcelas_excluidas.
DATA:
wa_mensagem LIKE LINE OF itab_mensagem.
LOOP AT itab_excluidos.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
itab_zycbe033-belnr = itab_excluidos-belnr.
itab_zycbe033-bukrs = wa_zycbt112-bukrs.
* >> Início da exclusão: FORM ESTORNA_PARCELAS_EXCLUIDAS
IF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_PARCELAS_EXCLUIDAS
READ TABLE itab_zycbt113p WITH KEY
dtpagto = '00000000'.
IF sy-subrc = 0.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
* << Fim da inclusão
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
PERFORM determina_periodo
USING itab_zycbe033-budat
CHANGING v_monat.
CALL FUNCTION 'FI_PERIOD_CHECK'
...
...
ENDFORM.
FORM recontabiliza_parcelas.
DATA:
wa_mensagem LIKE LINE OF itab_mensagem.
REFRESH itab_zycbt036.
CLEAR itab_zycbt036.
PERFORM busca_parametros_f_51_clear.
CLEAR: v_vlres, v_errof.
LOOP AT itab_zycbt113pa WHERE dtpagto EQ ' ' OR
dtpagto EQ '00000000'.
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
CLEAR v_flag.
* << Fim da inclusão
READ TABLE itab_zycbt113p WITH KEY nrparc = itab_zycbt113pa-nrparc.
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND
itab_zycbt113p-dtvecto EQ itab_zycbt113pa-dtvecto AND
itab_zycbt113p-belnr EQ itab_zycbt113pa-belnr.
IF v_mdparc EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND
itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.
v_flag = 'X'.
* << Fim da inclusão
CONTINUE.
ENDIF.
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
ENDIF.
* << Fim da exclusão
v_vlres = v_vlres + itab_zycbt113pa-vlme.
IF v_prazo1 EQ 'L' AND
itab_zycbt113pa-ftransf EQ 'L'.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
...
...
'DTDESEM'
text-011.
itab_zycbe033-bldat = /pws/zycbe112-dtdesem.
itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.
IF wa_zycbt007-dt_efet = 'E'.
itab_zycbe033-d_valut = itab_zycbt113pa-dtvecto .
converte_data itab_zycbt113pa-dtvecto itab_zycbe033-c_valut.
ENDIF.
ENDCASE.
converte_data itab_zycbt113pa-dtvecto itab_zycbe033-c_valut.
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
IF itab_zycbt113pa-ftransf = text-007.
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ itab_zycbt113pa-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
itab_zycbe033-budat = /pws/zycbt154-dtcont.
ELSE.
IF NOT itab_zycbt113pa-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113pa-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
IF NOT /pws/zycbe112-ftxt IS INITIAL.
itab_zycbe033-d_sgtxt = /pws/zycbe112-txtinf.
itab_zycbe033-c_sgtxt = /pws/zycbe112-txtinf.
ENDIF.
PERFORM preenche_dados_batch USING itab_zycbt113pa-dtfinal.
IF /pws/zycbe112-ftxt IS INITIAL AND
itab_zycbe033-d_sgtxt IS INITIAL.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
...
...
itab_zycbe033-newbs = '50'.
itab_zycbe033-c_newko = v_newkof.
itab_zycbe033-d_newko = v_newkof.
itab_zycbe033-agkon = itab_zyglt316-konth.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-belnr = itab_zycbt113pa-belnr.
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ itab_zycbt113pa-belnr
AND bukrs EQ wa_zycbt112-bukrs
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ itab_zycbe033-gjahs.
* << Fim da inclusão
IF /pws/zycbe112-bco_forn IS INITIAL.
PERFORM verify_null_field USING /pws/zycbe112-lifnr
'LIFNR'
text-022.
ELSE.
PERFORM verify_null_field USING /pws/zycbe112-bcofinan
'LIFNR'
text-022.
ENDIF.
itab_zycbe033-d_gsber = /pws/zycbe112-gsber.
...
...
tpmsg = 'S'.
IF sy-subrc = 0.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = itab_zycbt032-belnr.
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt032-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ itab_zycbe033-gjahs.
* << Fim da inclusão
APPEND itab_zycbt036.
ELSE.
LOOP AT itab_zycbt032.
wa_mensagem-tpmsg = c_erro.
wa_mensagem-msg = itab_zycbt032-msg.
APPEND wa_mensagem TO itab_mensagem.
ENDLOOP.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
...
...
APPEND wa_mensagem TO itab_mensagem.
MOVE 'X' TO v_errof.
ENDLOOP.
ENDIF.
ENDIF.
PERFORM clear_date_batch.
ENDLOOP.
IF v_errof EQ 'X'.
EXIT.
ENDIF.
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
IF v_flag IS INITIAL.
* << Fim da inclusão
LOOP AT itab_zycbt113pa WHERE ftransf EQ 'C'.
DELETE FROM /pws/zycbt154 WHERE codmod EQ 'I'
AND codmodul EQ 'T'
AND nrcorresp EQ /pws/zycbe112-nrseq
AND belnr_cl EQ itab_zycbt113pa-belnr.
ENDLOOP.
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
ELSE.
EXIT.
ENDIF.
* << Fim da inclusão
IF okcode EQ 'DELL' AND
/pws/zycbe112-nrseq+0(1) = '5'.
PERFORM clear_date_batch.
PERFORM reclassifica_financ_original.
ELSE.
PERFORM gera_novas_parcelas.
ENDIF.
ENDFORM.
FORM busca_parametros_f_51_clear.
DATA : v_diasp LIKE /pws/zycbt113-nrdias.
...
...
v_newkof = itab_zyglt316-konth.
ENDIF.
PERFORM verify_null_field USING v_newkof
'C_NEWKO'
text-018.
ENDFORM.
FORM gera_novas_parcelas.
DATA:
wa_mensagem LIKE LINE OF itab_mensagem.
CLEAR : v_flag, v_nrdias.
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
LOOP AT itab_zycbt113p .
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
LOOP AT itab_zycbt113p.
* << Fim da inclusão
v_tabix = sy-tabix.
PERFORM get_parameters_112.
IF itab_zycbt113p-dtpagto NE ' ' AND
itab_zycbt113p-dtpagto NE '00000000'.
CONTINUE.
ENDIF.
READ TABLE itab_zycbt113pa WITH KEY nrparc = itab_zycbt113p-nrparc.
IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
itab_zycbt113p-dtvecto EQ itab_zycbt113pa-dtvecto AND
itab_zycbt113p-belnr EQ itab_zycbt113pa-belnr.
IF v_mdparc EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.
* << Fim da inclusão
CONTINUE.
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
ENDIF.
* << Fim da exclusão
ENDIF.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-083.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
CASE wa_zycbt007-fdtdoc.
...
...
'DTDESEM'
text-011.
itab_zycbe033-bldat = /pws/zycbe112-dtdesem.
itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.
IF wa_zycbt007-dt_efet = 'E'.
itab_zycbe033-d_valut = itab_zycbt113p-dtvecto .
converte_data itab_zycbt113p-dtvecto itab_zycbe033-c_valut.
ENDIF.
ENDCASE.
converte_data itab_zycbt113p-dtvecto itab_zycbe033-c_valut.
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
IF itab_zycbt113p-ftransf = text-007.
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ itab_zycbt113p-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
IF sy-subrc = 0.
itab_zycbe033-budat = /pws/zycbt154-dtcont.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
IF NOT /pws/zycbe112-ftxt IS INITIAL.
itab_zycbe033-d_sgtxt = /pws/zycbe112-txtinf.
itab_zycbe033-c_sgtxt = /pws/zycbe112-txtinf.
ENDIF.
PERFORM preenche_dados_batch USING itab_zycbt113p-dtfinal.
IF /pws/zycbe112-ftxt IS INITIAL AND
itab_zycbe033-d_sgtxt IS INITIAL.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
...
...
INTO wa_mensagem-msg
SEPARATED BY space.
APPEND wa_mensagem TO itab_mensagem.
ENDLOOP.
IF itab_zycbt034 IS INITIAL.
CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51I'
EXPORTING
v_modo = v_modo_bi
v_zuonr = v_zuonr
v_dacc = /pws/zyglt009-dacc
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
IMPORTING
v_budat = v_budat
* << Fim da inclusão
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt036 = itab_zycbt036
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = text-083
...
...
SEPARATED BY space.
REFRESH itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = itab_zycbt032-belnr.
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt032-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
AND gjahr EQ v_budat(4).
* << Fim da inclusão
APPEND itab_zycbt036.
itab_zycbt113p-belnr = itab_zycbt032-belnr.
IF v_prazo EQ 'L'.
itab_zycbt113p-belnr_lp = itab_zycbt032-belnr.
itab_zycbt113p-ftransf = 'L'.
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
ELSEIF v_prazo EQ text-007.
itab_zycbt113p-ftransf = text-007.
* << Fim da inclusão
ELSE.
itab_zycbt113p-ftransf = 'S'.
ENDIF.
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
itab_zycbt113p-dtcont = v_budat.
* << Fim da inclusão
MODIFY itab_zycbt113p.
UPDATE /pws/zycbt113 SET belnr = itab_zycbt032-belnr
belnr_lp = itab_zycbt113p-belnr_lp
ftransf = itab_zycbt113p-ftransf
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
dtcont = itab_zycbt113p-dtcont
* << Fim da inclusão
WHERE nrseq = /pws/zycbe112-nrseq
AND nrparc = itab_zycbt113p-nrparc
AND tpparc = 'P'.
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
IF /pws/zycbe112-nrseq+0(1) = '5'.
* << Fim da inclusão
DESCRIBE TABLE itab_zycbt113p LINES v_li.
IF v_li = v_tabix.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = ''
textline1 = text-125
textline2 = text-126
titel = text-124
cancel_display = ''
IMPORTING
answer = v_answer
EXCEPTIONS
OTHERS = 0.
IF v_answer EQ 'J'.
UPDATE /pws/zycbt113 SET bloq_juros = 'X'
WHERE nrseq = itab_zycbt112-nrseq
AND ( tpparc = 'J' OR tpparc = 'C' ).
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ELSE.
LOOP AT itab_zycbt032.
wa_mensagem-tpmsg = c_erro.
wa_mensagem-msg = itab_zycbt032-msg.
APPEND wa_mensagem TO itab_mensagem.
ENDLOOP.
CLEAR itab_zycbt113p-belnr.
MODIFY itab_zycbt113p.
...
...
WHERE nrseq = /pws/zycbe112-nrseq.
PERFORM grava_log USING '/PWS/ZYCBT112'
wa_log
'A'.
ENDIF.
MOVE /pws/zycbt112 TO wa_zycbt112.
ENDFORM.
FORM busca_conta_parcela.
IF itab_zycbt113pa-ftransf EQ 'L'.
v_prazo = 'L'.
* >> Início da inclusão: FORM BUSCA_CONTA_PARCELA
ELSEIF itab_zycbt113pa-ftransf EQ text-007.
v_prazo = text-007.
* << Fim da inclusão
ELSE.
v_prazo = 'S'.
ENDIF.
CONCATENATE wa_zycbt112-codint v_prazo
INTO v_codaux1 SEPARATED BY space.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycbe112-bukrs
ktosl = 'FIN'
codaux1 = v_codaux1
...
...
'DTDESEM'
text-011.
itab_zycbe033-bldat = wa_zycbt112r-dtdesem.
itab_zycbe033-d_valut = wa_zycbt112r-dtdesem.
IF wa_zycbt007-dt_efet = 'E'.
itab_zycbe033-d_valut = wa_zycbt113-dtvecto .
converte_data wa_zycbt113-dtvecto itab_zycbe033-c_valut.
ENDIF.
ENDCASE.
converte_data wa_zycbt113-dtvecto itab_zycbe033-c_valut.
* >> Início da exclusão: FORM RECLASSIFICA_FINANC_ORIGINAL
itab_zycbe033-budat = wa_zycbt112r-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_FINANC_ORIGINAL
IF wa_zycbt113-ftransf = text-007.
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ wa_zycbt113-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
itab_zycbe033-budat = /pws/zycbt154-dtcont.
ELSE.
IF NOT wa_zycbt113-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt113-dtcont.
ELSEIF NOT wa_zycbt112r-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112r-dtcont.
ELSE.
itab_zycbe033-budat = wa_zycbt112r-dtdesem.
ENDIF.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
IF NOT /pws/zycbe112-ftxt IS INITIAL.
itab_zycbe033-d_sgtxt = wa_zycbt112r-txtinf.
itab_zycbe033-c_sgtxt = wa_zycbt112r-txtinf.
ENDIF.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'SGTXT'.
IF itab_zyglt321-cpocb IS INITIAL AND
/pws/zycbe112-ftxt IS INITIAL AND
...
...
'DTDESEM'
text-011.
itab_zycbe033-bldat = /pws/zycbe112-dtdesem.
itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.
IF wa_zycbt007-dt_efet = 'E'.
itab_zycbe033-d_valut = itab_zycbt113p-dtvecto .
converte_data itab_zycbt113p-dtvecto itab_zycbe033-c_valut.
ENDIF.
ENDCASE.
converte_data itab_zycbt113p-dtvecto itab_zycbe033-c_valut.
* >> Início da exclusão: FORM FINALIZA_PROCESSO_CONTABIL
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM FINALIZA_PROCESSO_CONTABIL
IF itab_zycbt113p-ftransf = text-007.
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ itab_zycbt113p-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
IF sy-subrc = 0.
itab_zycbe033-budat = /pws/zycbt154-dtcont.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
IF NOT /pws/zycbe112-ftxt IS INITIAL.
itab_zycbe033-d_sgtxt = /pws/zycbe112-txtinf.
itab_zycbe033-c_sgtxt = /pws/zycbe112-txtinf.
ENDIF.
PERFORM preenche_dados_batch USING itab_zycbt113p-dtfinal.
IF /pws/zycbe112-ftxt IS INITIAL AND
itab_zycbe033-d_sgtxt IS INITIAL.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
...
...
'DTDESEM'
text-011.
itab_zycbe033-bldat = /pws/zycbe112-dtdesem.
itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.
IF wa_zycbt007-dt_efet = 'E'.
itab_zycbe033-d_valut = itab_zycbt113p-dtfinal .
converte_data itab_zycbt113p-dtfinal itab_zycbe033-c_valut.
ENDIF.
ENDCASE.
converte_data /pws/zycbe112-dtvencto itab_zycbe033-c_valut.
* >> Início da exclusão: FORM EXECUTA_F51F_ESTORNO
IF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
IF itab_zycbt113p-ftransf = text-007.
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ itab_zycbt113p-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
IF sy-subrc = 0.
itab_zycbe033-budat = /pws/zycbt154-dtcont.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-budat = /pws/zycbe112-dtcont.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM EXECUTA_F51F_ESTORNO
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
itab_zycbe033-agums = wa_zycbt011-agums.
itab_zycbe033-agkoa = wa_zycbt011-koart.
IF wa_zycbt112-bco_forn = 'X'.
itab_zycbe033-agkon = wa_zycbt112-bcofinan.
ELSE.
itab_zycbe033-agkon = wa_zycbt112-lifnr.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-agkon
'AGKON'
...
...
itab_zycbe033-c_zuonr = itab_zycbe033-d_zuonr.
ELSEIF itab_zyglt321-cpocb = 'NRFINANC-NRSEQ'.
CONCATENATE /pws/zycbe112-nrfinanc '-' /pws/zycbe112-nrseq
INTO itab_zycbe033-d_zuonr.
itab_zycbe033-c_zuonr = itab_zycbe033-d_zuonr.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
itab_zycbe033-c_zuonr = itab_zyglt321-descr.
ENDIF.
* >> Início da inclusão: FORM PREENCHE_DADOS_BATCH
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTINCL'.
itab_zycbe033-c_valut = /pws/zycbe112-dtincl.
ENDIF.
* << Fim da inclusão
ENDCASE.
ENDLOOP.
ENDFORM.
FORM verifica_pais_filial USING p_bukrs LIKE /pws/zycbe112-bukrs
p_brnch LIKE /pws/zycbe112-j_1bbranch.
SELECT SINGLE adrnr FROM j_1bbranch INTO j_1bbranch-adrnr
WHERE bukrs = p_bukrs
AND branch = p_brnch.
IF sy-subrc = 0.
SELECT country
...
...
ENDIF.
APPEND 'endform. ' TO t_prog.
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM log IN PROGRAM (w_prog) USING p_dados
p_tabela
CHANGING p_wa_log
IF FOUND.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form fill_date_fb02.
PERFORM clear_date_batch.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB02'.
itab_zycbe033-tabela = '/PWS/ZYCBT113'.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
PERFORM verify_null_field
USING /pws/zycbe112-bukrs 'BUKRS' text-012.
itab_zycbe033-bukrs = /pws/zycbe112-bukrs.
PERFORM verify_null_field
USING itab_zycbt113p-belnr 'BELNR' text-463.
itab_zycbe033-belnr = itab_zycbt113p-belnr.
CONCATENATE '001' /PWS/ZYCBE112-CODINT INTO v_codeven.
CLEAR itab_zyglt321.
REFRESH itab_zyglt321.
SELECT *
INTO TABLE itab_zyglt321
FROM /pws/zyglt321
WHERE ktosl = 'FIN'
AND codeven = v_codeven.
IF sy-subrc = 0.
READ TABLE itab_zyglt321
WITH KEY CPOR3 = 'ZFBDT'.
IF itab_zyglt321-cpocb = 'DTFINAL'.
itab_zycbe033-zfbdt = itab_zycbt113p-dtfinal.
ELSE.
itab_zycbe033-zfbdt = itab_zycbt113p-dtfinal.
ENDIF.
ENDIF.
itab_zycbe033-zfbdt = itab_zycbt113p-dtfinal.
IF itab_zycbt113p-ftransf = text-007.
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ itab_zycbt113p-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
IF sy-subrc = 0.
itab_zycbe033-gjahs = /pws/zycbt154-dtcont.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-gjahs = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-gjahs = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-gjahs = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-gjahs = itab_zycbt113p-dtcont.
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbe033-gjahs = /pws/zycbe112-dtcont.
ELSE.
itab_zycbe033-gjahs = /pws/zycbe112-dtdesem.
ENDIF.
ENDIF.
PERFORM verify_null_field
USING itab_zycbe033-gjahs 'GJAHS' text-464.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'ZFBDT'.
CASE itab_zyglt321-cpocb.
WHEN 'DTFINAL'.
itab_zycbe033-zfbdt = itab_zycbt113p-dtfinal.
ENDCASE.
WHEN 'ZUONR'.
CASE itab_zyglt321-cpocb.
WHEN 'NRSEQ'.
itab_zycbe033-d_zuonr = itab_zycbt113p-nrseq.
itab_zycbe033-c_zuonr = itab_zycbt113p-nrseq.
ENDCASE.
WHEN 'VALUT'.
CASE itab_zyglt321-cpocb.
WHEN 'DTINCL'.
itab_zycbe033-d_valut = /pws/zycbe112-dtincl.
itab_zycbe033-c_valut = /pws/zycbe112-dtincl.
ENDCASE.
WHEN 'XBLNR'.
CASE itab_zyglt321-cpocb.
WHEN 'NRSEQ'.
itab_zycbe033-xblnr = itab_zycbt113p-nrseq.
ENDCASE.
ENDCASE.
ENDLOOP.
CLEAR itab_zycbe033-newbs.
IF itab_zycbt113p-belnr = itab_zycbt113p-belnr_ori.
itab_zycbe033-newbs = '29'.
ENDIF.
APPEND itab_zycbe033.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FB02B'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB02'
tabela = '/PWS/ZYCBT113'
cpochv = /pws/zycbe112-nrseq
tpmsg = 'S'.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-461.
ELSE.
MESSAGE i015 WITH text-462.
ENDIF.
ELSE.
MESSAGE i015 WITH text-461.
ENDIF.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101I01
...
CLEAR /pws/zycbt154.
SELECT dtcont
FROM /pws/zycbt154
up to 1 rows
INTO /pws/zycbt154-dtcont
WHERE codmod EQ 'I'
AND codmodul EQ 'T'
AND nrcorresp EQ /pws/zycbe112-nrseq
AND belnr_cl EQ v_valor.
endselect.
* >> Início da inclusão: MODULE USER_COMMAND_0102
IF sy-subrc = 0.
* << Fim da inclusão
i_gjahr = /pws/zycbt154-dtcont(4).
* >> Início da inclusão: MODULE USER_COMMAND_0102
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
i_gjahr = itab_zycbt113p-dtcont(4).
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
i_gjahr = wa_zycbt112-dtcont(4).
ELSE.
i_gjahr = wa_zycbt112-dtdesem(4).
ENDIF.
ENDIF.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: MODULE USER_COMMAND_0102
IF NOT itab_zycbt113p-dtcont IS INITIAL.
i_gjahr = itab_zycbt113p-dtcont(4).
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
* << Fim da inclusão
i_gjahr = wa_zycbt112-dtcont(4).
* >> Início da inclusão: MODULE USER_COMMAND_0102
ELSE.
i_gjahr = wa_zycbt112-dtdesem(4).
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
...
...
ENDMODULE.
MODULE consiste_dtdesem INPUT.
CLEAR v_retorno.
ENDMODULE.
MODULE consiste_dtvencto INPUT.
v_vencto = wa_zycbt112-dtvencto.
IF /pws/zycbe112-dtvencto < /pws/zycbe112-dtincl.
MESSAGE i184.
/pws/zycbe112-dtvencto = v_vencto.
EXIT.
* >> Início da inclusão: MODULE CONSISTE_DTVENCTO
ENDIF.
IF NOT itab_zycbt113p[] IS INITIAL.
LOOP AT itab_zycbt113p WHERE dtpagto <> '' AND
dtpagto <> '00000000'.
IF /pws/zycbe112-dtvencto < itab_zycbt113p-dtfinal.
MESSAGE i272.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDMODULE.
MODULE consiste_fornec INPUT.
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ /pws/zycbe112-lifnr.
IF lfa1-land1 EQ 'BR'.
MESSAGE i178.
CLEAR /pws/zycbe112-lifnr.
ENDIF.
ENDMODULE.
...
...
WHEN 'J'.
CLEAR itab_zycmt020.
REFRESH itab_zycmt020.
WHEN OTHERS.
IF NOT /pws/zycmt019-tpmatnr IS INITIAL.
MOVE /pws/zycmt019-tpmatnr TO /pws/zycbe112-codint.
ENDIF.
ENDCASE.
ENDIF.
ENDMODULE.
* >> Início da inclusão:
module dias_principal input.
LOOP AT itab_zycbt113p.
v_nrdias = itab_zycbt113p-dtfinal - /pws/zycbe112-dtdesem.
IF itab_zycbt113p-ftransf EQ 'C'.
READ TABLE itab_zycbt113p_ant
WITH KEY nrseq = itab_zycbt113p-nrseq
nrparc = itab_zycbt113p-nrparc
tpparc = itab_zycbt113p-tpparc.
IF sy-subrc = 0.
IF itab_zycbt113p_ant-nrdias <> itab_zycbt113p-nrdias.
IF v_nrdias < wa_zyglt009-nrdias_cp.
itab_zycbt113p-ftransf = 'C'.
v_descprzcontr = text-459.
ELSE.
itab_zycbt113p-ftransf = 'L'.
v_descprzcontr = text-458.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF v_nrdias < wa_zyglt009-nrdias_cp.
itab_zycbt113p-ftransf = 'S'.
v_descprzcontr = text-460.
ELSE.
itab_zycbt113p-ftransf = 'L'.
v_descprzcontr = text-459.
ENDIF.
ENDIF.
MODIFY itab_zycbt113p.
ENDLOOP.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101O01
...
FROM /pws/zycbt064 INTO TABLE itab_zycbt064
WHERE nrchave = /pws/zycbe112-nrseq
AND mdcorresp = 'IF'.
IF sy-subrc = 0.
SELECT * FROM /pws/zycbt048 INTO TABLE itab_zycbt048
FOR ALL ENTRIES IN itab_zycbt064
WHERE nrseq = itab_zycbt064-nrboleto
AND nrcorresp = itab_zycbt064-nrchave
AND mdcorresp = 'IF'.
ENDIF.
* >> Início da inclusão: MODULE LOAD_DATA
SELECT SINGLE * FROM /pws/zyglt009 INTO wa_zyglt009
WHERE bukrs EQ /pws/zycbe112-bukrs.
* << Fim da inclusão
ENDMODULE.
MODULE insert_line OUTPUT.
CASE sy-dynnr.
WHEN '0102'.
/pws/zycbe113 = itab_zycbt113p.
mark = itab_zycbt113p-mark.
/pws/zycbe113-dtvecto = itab_zycbt113p-dtvecto.
/pws/zycbe048-nrcontr = itab_zycbt113p-nrcontr.
/pws/zycbe048-dtcontr = itab_zycbt113p-dtcontr.
/pws/zycbe048-dtdebito = itab_zycbt113p-dtdebito.
...
...
/ /pws/zycbt010-nrdias * nrdias ).
ENDIF.
ELSE.
MESSAGE w048.
FIELDS /pws/zycbe112-tptaxa.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE.
MODULE set-screen OUTPUT.
* >> Início da exclusão: MODULE SET-SCREEN
DATA : v_nrseqb LIKE /pws/zycbt113-nrseq."#EC NEEDED
* << Fim da exclusão
* >> Início da inclusão: MODULE SET-SCREEN
DATA : v_nrseqb LIKE /pws/zycbt113-nrseq. "#EC NEEDED
* << Fim da inclusão
IF v_status_s = '0'.
LOOP AT SCREEN.
screen-input = '0'.
MODIFY SCREEN.
ENDLOOP.
ELSE.
SELECT nrseq FROM /pws/zycbt113
up to 1 rows
INTO v_nrseqb
WHERE nrseq EQ /pws/zycbe112-nrseq
...
...
ELSE.
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCBE112-SLDESEM'.
screen-input = '0'.
ELSEIF screen-name EQ '/PWS/ZYCBE112-BCOFINAN'.
IF /pws/zycbe112-flinha = 'X'.
screen-input = '0'.
ELSE.
screen-input = '1'.
ENDIF.
* >> Início da inclusão: MODULE SET-SCREEN
ELSEIF screen-name = '/PWS/ZYCBE113-FTRANSF' OR
screen-name = 'V_DESCPRZCONTR'.
screen-input = '0'.
* << Fim da inclusão
ELSEIF v_nrseqcview(1) EQ '5' AND
( screen-name EQ '/PWS/ZYCBE112-WAERS' OR
screen-name EQ '/PWS/ZYCBE112-VLME' ).
screen-input = '0'.
ELSE.
screen-input = '1'.
ENDIF.
IF v_prinpg EQ 'X' OR /pws/zycbe112-fassoc = 'X'.
IF screen-name EQ '/PWS/ZYCBE112-NRFINANC' OR
screen-name EQ '/PWS/ZYCBE112-DTDESEM' OR
...
...
screen-name EQ '/PWS/ZYCBE112-WAERS' OR
screen-name EQ '/PWS/ZYCBE112-KURSF' OR
screen-name EQ '/PWS/ZYCBE112-FTAXA' OR
screen-name EQ '/PWS/ZYCBE112-VLME' OR
screen-name EQ '/PWS/ZYCBE112-LIFNR' OR
screen-name EQ '/PWS/ZYCBE112-GSBER' OR
screen-name EQ '/PWS/ZYCBE112-KOSTL' OR
screen-name EQ '/PWS/ZYCBE112-PRCTR' OR
screen-name EQ '/PWS/ZYCBE112-FICTR' OR
screen-name EQ '/PWS/ZYCBE112-FIPOS' OR
* >> Início da exclusão: MODULE SET-SCREEN
screen-name EQ '/PWS/ZYCBE112-CODINT' OR
screen-name EQ '/PWS/ZYCBE112-DTVENCTO'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET-SCREEN
screen-name EQ '/PWS/ZYCBE112-CODINT'.
* << Fim da inclusão
screen-input = '0'.
ENDIF.
ENDIF.
IF v_jurpg EQ 'X'.
IF screen-name EQ '/PWS/ZYCBE112-DTDESEM' OR
screen-name EQ '/PWS/ZYCBE112-BUKRS' OR
screen-name EQ '/PWS/ZYCBE112-WAERS' OR
* >> Início da exclusão: MODULE SET-SCREEN
screen-name EQ '/PWS/ZYCBE112-VLME' OR
screen-name EQ '/PWS/ZYCBE112-DTVENCTO'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET-SCREEN
screen-name EQ '/PWS/ZYCBE112-VLME'.
* << Fim da inclusão
screen-input = '0'.
ENDIF.
ENDIF.
IF v_compg EQ 'X'.
IF screen-name EQ '/PWS/ZYCBE112-DTDESEM' OR
screen-name EQ '/PWS/ZYCBE112-BUKRS' OR
screen-name EQ '/PWS/ZYCBE112-WAERS' OR
screen-name EQ '/PWS/ZYCBE112-VLME' OR
* >> Início da exclusão: MODULE SET-SCREEN
screen-name EQ '/PWS/ZYCBE112-DTVENCTO' OR
* << Fim da exclusão
screen-name EQ '/PWS/ZYCBE112-PERCOMIS' OR
screen-name EQ '/PWS/ZYCBE112-VLCOMIS' OR
screen-name EQ '/PWS/ZYCBE112-FPAGTO_C' OR
screen-name EQ '/PWS/ZYCBE112-NRPARC' OR
screen-name EQ '/PWS/ZYCBE112-TPCOMIS' OR
screen-name EQ '/PWS/ZYCBE112-TPTAXA'.
screen-input = '0'.
ENDIF.
ENDIF.
MODIFY SCREEN.
...
...
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ /pws/zycbe112-lifnr.
fornecedor = lfa1-name1.
ENDIF.
IF NOT /pws/zycbe112-dtvencto IS INITIAL.
IF /pws/zycbe112-dtvencto IS INITIAL OR
/pws/zycbe112-dtdesem IS INITIAL.
CLEAR nrdias.
ELSE.
nrdias = ( /pws/zycbe112-dtvencto - /pws/zycbe112-dtdesem ).
* >> Início da inclusão: MODULE SET-SCREEN
IF NOT nrdias IS INITIAL.
IF sy-tcode NE '/PWS/ZYCB101_C'.
IF itab_zycbt113p[] IS INITIAL.
SELECT * FROM /pws/zycbt113
INTO TABLE itab_zycbt113p
WHERE nrseq EQ v_nrseqc
AND tpparc EQ 'P'
AND status NE 'E'.
ENDIF.
ENDIF.
READ TABLE itab_zycbt113p index sy-tfill.
IF sy-tcode EQ c_transacao_e.
IF itab_zycbt113p-ftransf = text-465.
/pws/zycbe113-ftransf = itab_zycbt113p-ftransf.
v_descprzcontr = text-458.
ELSEIF itab_zycbt113p-ftransf = text-466.
/pws/zycbe113-ftransf = itab_zycbt113p-ftransf.
v_descprzcontr = text-460.
ENDIF.
ENDIF.
IF itab_zycbt113p-ftransf EQ text-007.
/pws/zycbe113-ftransf = text-007.
v_descprzcontr = text-459.
ELSE.
IF sy-tcode EQ c_transacao_c OR
sy-tcode EQ c_transacao_a.
IF wa_zyglt009-nrdias_cp < nrdias.
v_prazo = text-465.
v_descprzcontr = text-458.
ELSEIF wa_zyglt009-nrdias_cp >= nrdias.
v_prazo = text-466.
v_descprzcontr = text-460.
ENDIF.
IF v_prazo = text-466 AND
/pws/zycbe113-ftransf = text-007.
/pws/zycbe113-ftransf = text-007.
v_descprzcontr = text-459.
ELSE.
IF v_prazo = text-466.
/pws/zycbe113-ftransf = text-466.
ELSE.
IF nrdias > wa_zyglt009-nrdias_cp.
/pws/zycbe113-ftransf = text-465.
v_descprzcontr = text-458.
ELSEIF nrdias <= wa_zyglt009-nrdias_cp.
/pws/zycbe113-ftransf = text-007.
v_descprzcontr = text-459.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF v_flag = 'X'.
IF wa_zyglt009-nrdias_cp < nrdias.
v_prazo = text-465.
v_descprzcontr = text-458.
ELSEIF wa_zyglt009-nrdias_cp >= nrdias.
v_prazo = text-466.
v_descprzcontr = text-460.
ENDIF.
IF v_prazo = text-466 AND
/pws/zycbe113-ftransf = text-007.
/pws/zycbe113-ftransf = text-007.
v_descprzcontr = text-459.
ELSE.
IF v_prazo = text-466.
/pws/zycbe113-ftransf = text-466.
ELSE.
IF nrdias > wa_zyglt009-nrdias_cp.
/pws/zycbe113-ftransf = text-465.
v_descprzcontr = text-458.
ELSEIF nrdias <= wa_zyglt009-nrdias_cp.
/pws/zycbe113-ftransf = text-007.
v_descprzcontr = text-459.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR:/pws/zycbe113-ftransf, v_descprzcontr.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
CLEAR /pws/zyglt214.
SELECT SINGLE * FROM /pws/zyglt214
INTO /pws/zyglt214
WHERE codnorma = /pws/zycbe112-codnorma.
IF sy-subrc EQ 0.
norma = /pws/zyglt214-norma.
ELSE.
CLEAR norma.
...
...
ENDIF.
MOVE: v_moeda TO v_waers.
IF v_nrseqc IS INITIAL.
GET PARAMETER ID '/PWS/ZYCBP361' FIELD v_nrseqc.
ENDIF.
ENDMODULE.
MODULE status_0300 OUTPUT.
SET PF-STATUS '0300'.
SET TITLEBAR '300'.
GET PARAMETER ID '/PWS/ZYCBP361' FIELD v_nrseqc.
* >> Início da inclusão: MODULE STATUS_0300
GET PARAMETER ID 'X' FIELD v_flag.
* << Fim da inclusão
ENDMODULE.
MODULE set_screen_0100 OUTPUT.
IF v_status_s = '0'.
LOOP AT SCREEN.
IF screen-group1 NE 'TAB'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'TAB_ASSOC'.
SELECT SINGLE * FROM /pws/zycbt112
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101TOP
...
TYPE-POOLS: sydes.
DATA: wa_zycbt007 LIKE /pws/zycbt007,
wa_zycbt011 LIKE /pws/zycbt011,
wa_zycbt011_rd LIKE /pws/zycbt011,
wa_zycbt031a LIKE /pws/zycbt031,
wa_zycbt064a LIKE /pws/zycbt064,
wa_zycbt114 LIKE /pws/zycbt114,
wa_zycbt112r LIKE /pws/zycbt112,
wa_cols TYPE cxtab_column,
wa_zycbe112_aux LIKE /pws/zycbe112,
* >> Início da exclusão:
wa_zycbe113_aux LIKE /pws/zycbe113.
* << Fim da exclusão
* >> Início da inclusão:
wa_zycbe113_aux LIKE /pws/zycbe113,
wa_zyglt009 LIKE /pws/zyglt009.
* << Fim da inclusão
DATA: wa_log TYPE char4000,
wa_zycbt112_log LIKE /pws/zycbt112,
wa_zycbt113_log LIKE /pws/zycbt113.
DATA:
v_tela_help LIKE sy-dynnr VALUE '0052',
v_existe VALUE 'N',
v_apagar VALUE 'S',
v_origem TYPE c,
v_index LIKE sy-tabix,
v_processa,"#EC NEEDED
...
...
v_nrseq_ant LIKE /pws/zycbt112-nrseq,
v_nrseq_aux LIKE /pws/zycbt112-nrseq,
v_prazo,
v_dele,
v_prazo1,
v_mdparc,
v_nrdias TYPE i,
v_newkof LIKE /pws/zycbt012-saknr1,
v_vlres LIKE /pws/zycbt113-vlme,
v_zuonr LIKE bseg-zuonr,
* >> Início da inclusão:
v_budat TYPE /pws/zycbt113-dtcont,
* << Fim da inclusão
v_dias(1),
v_jurpg(1),
norma LIKE /pws/zyglt214-norma,
v_pedido,
v_display,
v_exclui(1) TYPE c,
v_relevante,
v_errof(1) TYPE c,
v_modifp ,"#EC NEEDED
txtmodalidade(25) TYPE c,
...
...
v_vlr_item LIKE /pws/zycmt020-vlpago,
v_tabix LIKE sy-tabix,
v_lifnr LIKE ekko-lifnr,
v_campo1(22) TYPE c,
v_valor1 LIKE ekko-ebeln,
v_ped LIKE ekpo-ebeln,
v_lines TYPE i,
v_saldo LIKE /pws/zycmt020-vlpago,
v_tot_pedido LIKE /pws/zycmt020-netwr,
pressed_tab LIKE sy-ucomm,
* >> Início da exclusão:
dynpronr(4) TYPE c."#EC NEEDED
* << Fim da exclusão
* >> Início da inclusão:
dynpronr(4) TYPE c,"#EC NEEDED
v_descprzcontr(21) TYPE c.
CONSTANTS: c_transacao_c(14) VALUE '/PWS/ZYCB101_C',
c_transacao_a(14) VALUE '/PWS/ZYCB101_A',
c_transacao_e(14) VALUE '/PWS/ZYCB101_E'.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI112
...
ENDFORM.
FORM totaliza_comissao.
CLEAR: v_tcomis.
LOOP AT itab_relat_aux WHERE nrseq = itab_relat-nrseq
AND nrparcj = itab_relat-nrparcj
AND tpcontab = 'C'.
v_tcomis = v_tcomis + itab_relat_aux-vlmej.
ENDLOOP.
ENDFORM.
FORM clearing_transferencia.
* >> Início da inclusão: FORM CLEARING_TRANSFERENCIA
DATA: v_dtcont TYPE /pws/zycbt112-dtcont,
v_ano TYPE bkpf-gjahr.
* << Fim da inclusão
PERFORM get_parameters_f-51t.
PERFORM clear_date_batch.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-100.
itab_zycbe033-tabela = text-101.
itab_zycbe033-cpochv = itab_contabil-nrseq.
IF NOT s_dtlanc IS INITIAL.
itab_zycbe033-budat = s_dtlanc.
ELSE.
itab_zycbe033-budat = s_dtentr.
...
...
itab_zycbe033-d_valut = itab_contabil-dtfpar.
itab_zycbe033-c_valut = itab_contabil-dtfpar.
ENDIF.
READ TABLE itab_zycbt113p WITH KEY nrseq = itab_contabil-nrseq
nrparc = itab_contabil-nrparcp.
IF sy-subrc = 0.
itab_zycbt036-tcode = text-100.
itab_zycbt036-tabela = text-101.
itab_zycbt036-cpochv = itab_contabil-nrseq.
itab_zycbt036-belnr = itab_zycbt113p-belnr_lp.
* >> Início da inclusão: FORM CLEARING_TRANSFERENCIA
IF NOT itab_zycbt113p-dtcont IS INITIAL.
v_dtcont = itab_zycbt113p-dtcont.
ELSEIF NOT itab_zycbt112-dtcont IS INITIAL.
v_dtcont = itab_zycbt112-dtcont.
ELSE.
v_dtcont = itab_zycbt112-dtdesem.
ENDIF.
PERFORM determina_ano USING v_dtcont
itab_zycbt112-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt113p-belnr_lp
AND bukrs EQ itab_zycbt112-bukrs
* >> Início da exclusão: FORM CLEARING_TRANSFERENCIA
AND gjahr EQ itab_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_TRANSFERENCIA
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
itab_zycbe033-d_newko = itab_contabil-d_newko.
itab_zycbe033-c_newko = itab_contabil-c_newko.
itab_zycbe033-xblnr = itab_contabil-nrseq.
itab_zycbe033-d_zuonr = itab_contabil-nrseq.
itab_zycbe033-c_zuonr = itab_contabil-nrseq.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
PERFORM verify_null_field USING itab_contabil-bukrs
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCM101
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: EN
Símbolo: 211
Texto: (14 caracteres)
"IMPORT INVOICE"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 458
Texto: (11 caracteres)
"Longo Prazo"
Comprimento máximo: 11
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 459
Texto: (11 caracteres)
"Curto Prazo"
Comprimento máximo: 11
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 460
Texto: (16 caracteres)
"Curtíssimo Prazo"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 461
Texto: (32 caracteres)
"Data Efetiva não foi atualizada."
Comprimento máximo: 32
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 462
Texto: (32 caracteres)
"Registro atualizado com sucesso!"
Comprimento máximo: 32
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 463
Texto: (9 caracteres)
"Documento"
Comprimento máximo: 9
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 464
Texto: (9 caracteres)
"Exercício"
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 465
Texto: (1 caracteres)
"L"
Comprimento máximo: 1
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 466
Texto: (1 caracteres)
"S"
Comprimento máximo: 1
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBE113
MODIFICAR ESTRUTURA DA TABELA: /PWS/ZYCBE113
DESCRIÇÃO BREVE: CM - Período (Principal, Juros e Comissão)
CARACTERÍSTICAS
CLASSSE DE DESENVOLVIMENTO: /PWS/ZYCM
COMPONENTES NOVOS
COMPONENTE: TP. COMPONENTE: TAB.REF.: CPO.REF.: AJUD. PESQU.
DTCONT BUDAT
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT113
MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCBT113
DESCRIÇÃO BREVE: CM - Período (Principal, Juros e Comissão)
CARACTERÍSTICAS
CATEGORIA DA TABELA: TABELA TRANSPARENTE
CLASSE DE ENTREGA: A
(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA
CRIAR CAMPO NOVO
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
DTCONT BUDAT
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: 0
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.