Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 01/09/2009 00:00:00
Data/Hora Última Alteração: 03/03/2011 15:09:35
Descrição da Nota: CAPTAÇÃO - LIQUIDAÇÃO DAS CAPTAÇÕES DE PRÉ-PAGAMENTO E SECURITIZAÇÃO.
Sintoma
Desenvolvimento adicional - Captação - liquidação das captações de pré-pagamento e securitização.
Solução
Desenvolvimento adicional - Captação - liquidação das captações de pré-pagamento e securitização.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08930 Data: 01/09/2009 Hora: 10:51:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08930
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00112
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02150 - 00001 - 6.0 - 00025 - ESTORNO LIQUIDAÇÃO FB08 FBRA ANO FISCAL
02946 - 00002 - 6.0 - 00026 - PARÂMETRO /PWS/ZYGL007 CFM SIM - DUMP VERSÃO 4.7 OU SUPERIOR
03240 - 00003 - 6.0 - 00026 - CAPTAÇÃO FB08 - ESTORNAR - CAMPO BUDAT
03270 - 00004 - 6.0 - 00026 - DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO
04808 - 00005 - 7.0 - 00003 - CAPTAÇÃO - ELIMINAÇÃO DA OBRIGATORIEDADE DA FORMA DE CALCULO PARA
05479 - 00006 - 7.0 - 00003 - CAPTAÇÂO - ORDEM DE PAGAMENTO
05482 - 00007 - 7.0 - 00003 - VALORES MANTIDOS NO EXTERIOR - DA COMPLETO
06020 - 00008 - 7.0 - 00004 - LIQUIDAÇÃO - DATA EM BRANCO
06286 - 00009 - 7.0 - 00005 - LIQUIDAÇÃO DE ACC COM PRÉ PAGTO
06601 - 00010 - 7.0 - 00005 - VINCULAÇÃO - FILTRO POR DATA F-30
07116 - 00011 - 7.0 - 00006 - EXPORTAÇÃO CAPTAÇÃO
07549 - 00012 - 7.0 - 00007 - PROBLEMA NO PROGRAMA DE CAPTAÇÃO ( /PWS/ZYCB001 )
07691 - 00013 - 7.0 - 00007 - VALORES MANTIDOS NO EXTERIOR - ATUALIZAÇÃO SALDO APÓS F-02
07834 - 00014 - 7.0 - 00008 - FLEXIBILIZAR AS CONTAS DE BANCO NO PROGRAMA DE CAPTAÇÃO
07965 - 00015 - 7.0 - 00008 - DA - COTAÇÃO DE MOEDAS PARA CAPTAÇÃO/FINANCIAMENTO/EMPRÉSTIMO
08096 - 00016 - 7.0 - 00008 - LIQUIDAÇÃO DE ACC COM PRÉ PAGTO - PROBLEMA C/NUMERO DE PARCELA
08269 - 00017 - 7.0 - 00009 - TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO
08536 - 00018 - 7.0 - 00009 - DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR C
08572 - 00019 - 7.0 - 00010 - CAPTAÇÃO - PASTA DE PERIODO DE JUROS - MENSAGEM VARIAS VEZES.
08604 - 00020 - 7.0 - 00010 - CAPTAÇÃO - ZERO DIAS - DEIXAR COMO S CURTÍSSIMO PRAZO - ERRO ESTO
08708 - 00021 - 7.0 - 00010 - CAPTAÇÃO HISTÓRICO CONTÁBIL DATA PRORROGAÇÃO DE PRIN NA COL. DT.F
----------------------------------------------------------------------------------------------------
CAPTAÇÃO - LIQUIDAÇÃO DAS CAPTAÇÕES DE PRÉ-PAGAMENTO E SECURITIZAÇÃO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
CAPTAÇÃO - LIQUIDAÇÃO DAS CAPTAÇÕES DE PRÉ-PAGAMENTO E SECURITIZAÇÃO.
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB014 0100
FUNC /PWS/ZYCBA287
FUNC /PWS/ZYCB_TRANSACAO_FB08
FUNC /PWS/ZYCB_TRANSACAO_F_30_P
FUNC /PWS/ZYCB_TRANSACAO_F_30_W
FUNC /PWS/ZYCB_TRANSACAO_F_30_X
REPS /PWS/LZYGLGF2UXX
REPS /PWS/MZYCB001F01
REPS /PWS/MZYCB001F02
REPS /PWS/MZYCB001F04
REPS /PWS/MZYCB001I01
REPS /PWS/MZYCB001O01
REPS /PWS/MZYCB001TOP
REPS /PWS/MZYCB001X01
REPS /PWS/MZYCB014F01
REPS /PWS/MZYCB014TOP
REPT /PWS/SAPMZYCB001
REPT /PWS/SAPMZYCB014
SHLD /PWS/ZYCBA287
TABL /PWS/ZYCBT067
VIED /PWS/ZYCBV223
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB014 0100
------------------------------------------------------------------------------------------------
FAVOR PEDIR O ARQUIVO DA TELA 0100 PARA UPLOAD NO PROGRAMA .
------------------------------------------------------------------------------------------------
MODIFICAR TEXTO "/PWS/ZYCBE061-SLVINC_C" em tbl.contr./tabstr.
Comprimento Visível 14
Texto Saldo Contrato
MODIFICAR TEXTO "/PWS/ZYCBE061-VLME_C" em tbl.contr./tabstr.
Comprimento Visível 14
Texto Valor Contrato
MODIFICAR CAIXA DE VERIFICAÇÃO "ITAB_ZYCBT061-MARK" em tbl.contr./tabstr
Texto
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCBA287
FUNCTION /PWS/ZYCBA287.
TYPE-POOLS:
shlp.
TYPES:
BEGIN OF t_s_dados,
lifnr TYPE lfa1-lifnr,
sortl TYPE lfa1-sortl,
name1 TYPE lfa1-name1,
* >> Início da exclusão: FUNCTION /PWS/ZYCBA287
konth TYPE /pws/zyglt316-konth,
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA287
konts TYPE /pws/zyglt316-konts,
* << Fim da inclusão
bukrs TYPE lfb1-bukrs,
ktosl TYPE /pws/zyglt316-ktosl,
codaux1 TYPE /pws/zyglt316-codaux1,
codaux2 TYPE /pws/zyglt316-codaux2,
codaux3 TYPE /pws/zyglt316-codaux3,
END OF t_s_dados,
t_t_dados TYPE STANDARD TABLE OF t_s_dados.
DATA:
itab_dados TYPE t_t_dados WITH HEADER LINE,
wa_dados LIKE LINE OF itab_dados,
...
...
<fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,
<fs_dados> LIKE LINE OF itab_dados.
GET PARAMETER ID 'BUK' FIELD v_bukrs.
IF callcontrol-step EQ 'DISP'.
READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.
CHECK <fs_shlp> IS ASSIGNED.
LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.
CHECK: <fs_fielddescr>-fieldname = 'LIFNR' OR
<fs_fielddescr>-fieldname = 'SORTL' OR
<fs_fielddescr>-fieldname = 'NAME1' OR
* >> Início da exclusão: FUNCTION /PWS/ZYCBA287
<fs_fielddescr>-fieldname = 'KONTH' OR
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA287
<fs_fielddescr>-fieldname = 'KONTS' OR
* << Fim da inclusão
<fs_fielddescr>-fieldname = 'BUKRS' OR
<fs_fielddescr>-fieldname = 'KTOSL' OR
<fs_fielddescr>-fieldname = 'CODAUX1' OR
<fs_fielddescr>-fieldname = 'CODAUX2' OR
<fs_fielddescr>-fieldname = 'CODAUX3' .
v_fieldname = <fs_fielddescr>-fieldname.
CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
EXPORTING
parameter = <fs_fielddescr>-fieldname
fieldname = v_fieldname
...
...
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDLOOP.
UNASSIGN: <fs_shlp>, <fs_fielddescr>.
CLEAR: t_konth.
LOOP AT itab_dados ASSIGNING <fs_dados>.
READ TABLE t_konth WITH KEY lifnr = <fs_dados>-lifnr
sortl = <fs_dados>-sortl
name1 = <fs_dados>-name1
* >> Início da exclusão: FUNCTION /PWS/ZYCBA287
konth = <fs_dados>-konth
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA287
konth = <fs_dados>-konts
* << Fim da inclusão
bukrs = <fs_dados>-bukrs
ktosl = <fs_dados>-ktosl
codaux1 = <fs_dados>-codaux1
codaux2 = <fs_dados>-codaux2
codaux3 = <fs_dados>-codaux3 .
IF sy-subrc = 0.
DELETE itab_dados INDEX sy-tabix.
DELETE record_tab INDEX sy-tabix.
ELSE.
t_konth-lifnr = <fs_dados>-lifnr.
t_konth-sortl = <fs_dados>-sortl.
t_konth-name1 = <fs_dados>-name1.
* >> Início da exclusão: FUNCTION /PWS/ZYCBA287
t_konth-konth = <fs_dados>-konth.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA287
t_konth-konth = <fs_dados>-konts.
* << Fim da inclusão
t_konth-bukrs = <fs_dados>-bukrs.
t_konth-ktosl = <fs_dados>-ktosl.
t_konth-codaux1 = <fs_dados>-codaux1.
t_konth-codaux2 = <fs_dados>-codaux2.
t_konth-codaux3 = <fs_dados>-codaux3 .
APPEND t_konth.
ENDIF.
ENDLOOP.
LOOP AT record_tab.
v_tabix = sy-tabix.
...
...
DELETE record_tab INDEX v_tabix.
DELETE itab_dados INDEX v_tabix.
CONTINUE.
ENDIF.
ENDLOOP.
CLEAR itab_dados_aux.
LOOP AT itab_dados ASSIGNING <fs_dados>.
SHIFT <fs_dados>-lifnr LEFT DELETING LEADING '0'.
SHIFT <fs_dados>-codaux1 LEFT DELETING LEADING '0'.
READ TABLE itab_dados_aux WITH KEY lifnr = <fs_dados>-lifnr
* >> Início da exclusão: FUNCTION /PWS/ZYCBA287
konth = <fs_dados>-konth
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA287
konth = <fs_dados>-konts
* << Fim da inclusão
codaux1 = <fs_dados>-codaux1
codaux2 = <fs_dados>-codaux2
codaux3 = <fs_dados>-codaux3.
IF sy-subrc = 0.
DELETE itab_dados INDEX sy-tabix.
DELETE record_tab INDEX sy-tabix.
ELSE.
itab_dados_aux-lifnr = <fs_dados>-lifnr.
* >> Início da exclusão: FUNCTION /PWS/ZYCBA287
itab_dados_aux-konth = <fs_dados>-konth.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCBA287
itab_dados_aux-konth = <fs_dados>-konts.
* << Fim da inclusão
itab_dados_aux-codaux1 = <fs_dados>-codaux1.
itab_dados_aux-codaux2 = <fs_dados>-codaux2.
itab_dados_aux-codaux3 = <fs_dados>-codaux3.
APPEND itab_dados_aux.
ENDIF.
ENDLOOP.
ENDIF.
IF callcontrol-step EQ 'RETURN'.
EXPORT record_tab[] TO MEMORY ID 'contrazao'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_FB08
FUNCTION /pws/zycb_transacao_fb08.
DATA:
v_data_lanc_char(10) TYPE c,
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_mode TYPE c,
v_update TYPE c,
v_msgid LIKE t100-arbgb,
v_date LIKE t009b-bdatj,
v_msgno LIKE t100-msgnr.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FB08
data:
v_periv type t001-periv,
v_monat type t001b-frpe1.
* << Fim da inclusão
TABLES bseg.
clear: itab_bdc.
refresh: itab_bdc.
LOOP AT t_dados.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-budat
IMPORTING
v_year = v_date
...
...
PERFORM bdc_field USING:
'RF05A-BELNS' t_dados-belnr,
'RF05A-GJAHS' v_gjahs,
'BKPF-BUKRS' t_dados-bukrs,
'UF05A-STGRD' t_dados-stgrd,
'BDC_OKCODE' '=BU'.
ENDIF.
IF t_dados-budat <> '00000000'.
WRITE: t_dados-budat TO v_data_lanc_char.
PERFORM bdc_field USING:
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FB08
'BSIS-BUDAT' v_data_lanc_char,
'BSIS-MONAT' t_dados-budat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_FB08
'BSIS-BUDAT' v_data_lanc_char.
select single periv from t001
into v_periv
where bukrs eq t_dados-bukrs.
call function 'DETERMINE_PERIOD'
exporting
date = t_dados-budat
version = v_periv
importing
period = v_monat
exceptions
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
others = 4.
perform bdc_field using:
'BSIS-MONAT' v_monat+1(2).
* << Fim da inclusão
ENDIF.
REFRESH itab_msg.
CLEAR itab_msg.
v_transacao = 'FB08'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
IF v_modo IS INITIAL.
v_mode = 'N'.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P
MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCB_TRANSACAO_F_30_P
CARACTERÍSTICAS
IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
* >> Início da inclusão:
V_PANORMAIS TYPE C ' ' 'X' ' ' Desflega PA Normais = X
V_ZUONR1 TYPE BSEG-ZUONR ' ' 'X' ' ' Nº atribuição
* << Fim da inclusão
...
PERFORM bdc_screen USING 'SAPMF05A' '0710'.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
IF t_dados-d_newko1 IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko,
'RF05A-AGKOA' wa_tbsl-koart,
v_xpos 'X'.
IF NOT t_dados-umskz IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGUMS' t_dados-umskz.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
if v_panormais = 'X'.
perform bdc_field using 'RF05A-XNOPS' ' '.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
endif.
* << Fim da inclusão
v_agkoa = wa_tbsl-koart.
ELSE.
IF v_acc_pre_dp IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'S',
v_xpos 'X'.
v_agkoa = 'S'.
ELSE.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'D',
'RF05A-AGUMS' t_dados-agums,
v_xpos 'X'.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
v_agkoa = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
if not t_dados-agums is initial and v_panormais = 'X'.
perform bdc_field using 'RF05A-XNOPS' ' '.
endif.
* << Fim da inclusão
ENDIF.
ENDIF.
PERFORM bdc_field USING: 'BDC_OKCODE' '=PA'.
ELSE.
SUBTRACT 1 FROM v_xpos_belnr.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_selecao ')' INTO v_xpos.
PERFORM bdc_screen USING: 'SAPMF05A' '0710'.
IF v_debcred = 'C'.
v_xpos_belnr = v_xpos_belnr + 1.
...
...
v_xpos 'X'.
ELSE.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko,
'RF05A-AGKOA' wa_tbsl-koart,
v_xpos 'X'.
ENDIF.
IF NOT t_dados-umskz IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGUMS' t_dados-umskz.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
if v_panormais = 'X'.
perform bdc_field using 'RF05A-XNOPS' ' '.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
endif.
* << Fim da inclusão
v_agkoa = wa_tbsl-koart.
ELSE.
IF v_acc_pre_dp IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'S',
v_xpos 'X'.
v_agkoa = 'S'.
ELSE.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'D',
'RF05A-AGUMS' t_dados-agums,
v_xpos 'X'.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
if not t_dados-agums is initial and v_panormais = 'X'.
perform bdc_field using 'RF05A-XNOPS' ' '.
endif.
* << Fim da inclusão
v_agkoa = 'D'.
ENDIF.
ENDIF.
IF v_debcred <> 'C'.
WHILE v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
PERFORM bdc_screen USING 'SAPMF05A' '0608'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
ENDWHILE.
...
do v_pos_budat times.
perform bdc_screen using 'SAPDF05X' '2000'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
enddo.
perform bdc_screen using 'SAPDF05X' '2000'.
perform bdc_field using 'BDC_CURSOR' v_xpos_budat.
perform bdc_field using v_xpos_budat 'X'.
perform bdc_field using 'BDC_OKCODE' '=GO'.
clear v_cont.
* Tela Entrar condições de seleção (Datas de Lançamento) - 0732
perform bdc_screen using 'SAPDF05X' '0732'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-VONDT(01)'.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
if not t_dados-dtdocto is initial.
* << Fim da inclusão
write t_dados-dtdocto to v_dtdocto.
add 1 to v_cont.
concatenate 'RF05A-VONDT(' v_cont ')' into v_campo.
concatenate 'RF05A-BISDT(' v_cont ')' into v_campo2.
perform bdc_field using v_campo v_dtdocto.
perform bdc_field using v_campo2 v_dtdocto.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
endif.
* << Fim da inclusão
loop at t_doctos where tcode = t_dados-tcode
and tabela = t_dados-tabela
and cpochv = t_dados-cpochv.
check not t_doctos-dtdocto is initial.
add 1 to v_cont.
concatenate 'RF05A-VONDT(' v_cont ')' into v_campo.
concatenate 'RF05A-BISDT(' v_cont ')' into v_campo2.
write t_doctos-dtdocto to v_dtdocto.
perform bdc_field using v_campo v_dtdocto.
perform bdc_field using v_campo2 v_dtdocto.
if v_cont = 5.
perform bdc_field using 'BDC_OKCODE' '=SU1'.
perform bdc_screen using 'SAPDF05X' '0732'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-VONDT(01)'.
clear v_cont.
endif.
endloop.
endif.
perform bdc_field using 'BDC_OKCODE' '=GO'.
...
...
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
**********S E L E C I O N A POR A T R I B U I C A O ******************
if v_filt_atrib = 'X' .
* Selecionar tudo
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=OMX'.
* Desativar para acertar o saldo não atribuído.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=Z-'.
* Seleciona por Atribuição
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_SUBSCR' 'SAPDF05X'.
perform bdc_field using 'RF05A-ABPOS' '1'.
perform bdc_field using 'BDC_OKCODE' '=OSU'.
clear v_xpos1.
select single selps from t021r
into v_xpos1
where event = 'SU-AG'
and feldn = 'ZUONR'.
shift v_xpos1 left deleting leading '0'.
while v_xpos1 > 10.
v_xpos1 = v_xpos1 - 10.
perform bdc_screen using 'SAPDF05X' '2000'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
shift v_xpos1 left deleting leading '0'.
endwhile.
concatenate 'RF05A-XPOS1(' v_xpos1 ')' into v_xpos_zuonr.
perform bdc_screen using 'SAPDF05X' '2000'.
perform bdc_field using 'BDC_CURSOR' v_xpos_zuonr.
perform bdc_field using v_xpos_zuonr 'X'.
perform bdc_field using 'BDC_OKCODE' '=GO'.
* Tela Entrar condições de seleção (Chave de Referência) - 0731
perform bdc_screen using 'SAPDF05X' '0731'.
perform bdc_field using 'RF05A-SEL01(01)' v_zuonr1.
perform bdc_field using 'BDC_OKCODE' '=GO'.
endif.
* << Fim da inclusão
else.
* Selecionar tudo
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=OMX'.
* Ativar
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=Z+'.
endif.
* Tela padrão - 3100
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using: 'BDC_OKCODE' '=DBR'.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
* Selecionar tudo
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=OMX'.
* Ativa selecionadas
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=Z+'.
* << Fim da inclusão
* Tela de partida residual - 3100
perform bdc_screen using 'SAPDF05X' '3100'.
if filtra eq 'X' and
so_segundo eq 'X'.
perform bdc_field using: 'BDC_CURSOR' 'DF05B-PSDIF(02)',
'BDC_OKCODE' '=PI'.
else.
perform bdc_field using: 'BDC_CURSOR' 'DF05B-PSDIF(01)',
'BDC_OKCODE' '=PI'.
endif.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
* Ativa selecionadas
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=Z+'.
* << Fim da inclusão
* Salvar - para gerar partidas automáticas
perform bdc_screen using 'SAPDF05X' '3100'.
if t_dados-flag_nc eq 'X'.
perform bdc_field using: 'BDC_OKCODE' '=BU'.
else.
perform bdc_field using: 'BDC_OKCODE' '=BS'.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
perform bdc_field using: 'BDC_OKCODE' '=BU'.
* << Fim da inclusão
ENDIF.
PERFORM verifica_empresas USING t_dados-bukrs
endif.
...
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W
...
IF v_op = 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
EXIT.
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' '0610'.
PERFORM bdc_field USING:
'BDC_CURSOR' '*BSEG-BUZEI',
'*BSEG-BUZEI' v_linhas,
'BDC_OKCODE' '/00'.
PERFORM bdc_screen USING 'SAPMF05A' v_tela.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W
if not v_zuonr is initial.
PERFORM bdc_field USING: 'BSEG-ZUONR' v_zuonr,
'BSEG-SGTXT' t_dados-d_sgtxt.
else.
* << Fim da inclusão
PERFORM bdc_field USING: 'BSEG-ZUONR' t_dados-d_zuonr,
'BSEG-SGTXT' t_dados-d_sgtxt.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W
endif.
* << Fim da inclusão
IF v_last EQ 'X'.
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU'.
ELSE.
PERFORM bdc_field USING:
...
----------------------------------------------------------------------------------------------------
CRIAÇÃO MÓDULO DE FUNÇÃO: /PWS/ZYCB_TRANSACAO_F_30_X
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYGLGF2
TEXTO BREVE: Call Transaction F-30 - com seleção de atribuiçao
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
IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
V_MODO LIKE /PWS/ZYCBT039-MODO Campo de texto do comprimento 1
FILTRA SPACE X X Dá clique duplo na primeira linha
SO_SEGUNDO SPACE X X Dá clique duplo somente na segunda
linha (quando FILTRA = X)
TOTAL SPACE X X Dá clique duplo na primeira e na
segunda linha (apenas quando
FILTRA = X)
V_VINC_TOT SPACE X Vinculação total não passa data
efetiva
V_ACC_PRE_DP X
V_DESC_REC SPACE X
V_DP SPACE X Seleciona a segunda partida na
tela de síntese para preenchimento
de campos
V_DEV SPACE X Indica que funcão foi chamada da
devolução
V_LIQOP TYPE C X Indica a Liquidação da Ordem de
Pagto
V_OP SPACE X Indica que vem do programa de
valores mantidos no exterior
V_FILT_ATRIB TYPE C SPACE X
V_LIQ_AND TYPE C X Indica desm. liquidação em
andamento
V_ZUONR TYPE BSEG-ZUONR X Nº atribuição
EXPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA TRANSF. TEXTO BREVE
MODIFIC.:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
TABELAS:
NOME PARAM. ATRIB. TIPO REFERÊNCIA OPCIONAL TEXTO BREVE
T_DADOS LIKE /PWS/ZYCBE033
T_CAMPO LIKE /PWS/ZYCBT034 X GL - Estrutura Auxiliar para Batch Input.
T_ZYCBT032 LIKE /PWS/ZYCBT032 X GL - Estrutura Auxiliar para Batch Input - Campos.
T_ZYCBT036 LIKE /PWS/ZYCBT036 X GL - Log de Execução de Transações.
T_DOCTOS LIKE /PWS/ZYCBT036 X GL - Documentos a Serem Compensados
EXCEÇÕES:
EXCEÇÃO TEXTO BREVE
CAMPO_EM_BRANCO Um campo obrigatório está em branco em T_DADOS
PERIODO_FECHADO O período contábil está fechado
Texto fonte:
FUNCTION /PWS/ZYCB_TRANSACAO_F_30_X.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_X
CONSTANTS:
c_vl_min TYPE p DECIMALS 2 VALUE '0.01',
c_vl_max TYPE p DECIMALS 2 VALUE '9999999999.99'.
DATA:
v_rept TYPE i,
v_debcred(1) TYPE c,
v_tela2(4),
v_bldat(10),
v_budat(10),
v_valut(10),
v_kursf(9),
v_xpos(15),
v_campo(15),
v_campo2(15),
v_xpos_budat(15),
v_xpos_zuonr(15),
v_xpos_comp(15),
v_string_debito LIKE tbsl-faus1,
v_string_credito LIKE tbsl-faus1,
v_chave_debito LIKE tbsl-bschl,
v_chave_credito LIKE tbsl-bschl,
v_agkon LIKE skb1-saknr,
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_mode TYPE c,
v_update TYPE c,
v_msgid LIKE t100-arbgb,
v_msgno LIKE t100-msgnr,
v_ok(1) VALUE 'N',
v_monat LIKE t001b-frpe1,
v_bukrs LIKE t001-bukrs,
v_gjahr LIKE t001b-frye1,
v_date LIKE t009b-bdatj,
v_xpos_awkey(15),
v_pos_awkey TYPE i,
v_pos_budat TYPE i,
v_awkey LIKE bkpf-awkey,
v_wrbtr(16),
v_dmbtr(16),
v_cconta LIKE /pws/zycbe033-d_newko,
v_periv(2),
v_periodo(2),
v_dtdocto(10),
v_zfbdt(10),
v_zfbdt2(10),
v_xpos1(2) TYPE n,
wa_tbsl LIKE tbsl,
v_lanc1(1),
v_lanc2(1),
c_brnch LIKE bseg-bupla,
c_zfbdt LIKE bseg-zfbdt,
c_zbd1t LIKE bseg-zbd1t,
c_sgtxt LIKE bseg-sgtxt,
c_zuonr LIKE bseg-zuonr,
c_gsber LIKE bseg-gsber,
c_valut LIKE bseg-valut,
v_agkoa LIKE /pws/zycbe033-agkoa,
v_last(1),
v_linhas(3) TYPE n,
v_cont(2) TYPE n,
v_subrc LIKE sy-subrc,
v_xpos_wrbtr(15),
v_pos_wrbtr TYPE i,
v_vl_min(16) VALUE '0,01',
v_vl_max(16) VALUE '9.999.999.999,99',
v_xpos_belnr(2) TYPE n,
v_selecao(2) TYPE n,
v_fdtdoc TYPE /pws/zycbt007-fdtdoc,
v_year LIKE bkpf-gjahr,
v_char(10) TYPE c,
v_campo_tela TYPE c,
v_zbd1t(3),
v_umskz LIKE /pws/zycbe033-umskz,
v_newbs LIKE /pws/zycbe033-newbs,
v_ulsk1 TYPE t042-ulsk1,
v_umsks TYPE t074u-umsks,
v_tela LIKE sy-dynnr,
v_newum LIKE rf05a-newum,
v_programa(40) TYPE c VALUE 'SAPMF05A',
v_zfbdt_tela(1) TYPE c.
DATA: v_n_budat TYPE /pws/zycbt006-dtpagto.
DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.
DATA: t_telas TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE.
WRITE:
c_vl_min TO v_vl_min,
c_vl_max TO v_vl_max.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SL-AG'
AND feldn = 'BELNR'.
ADD 1 TO v_xpos1.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos.
SELECT SINGLE selps FROM t021r
INTO v_xpos_belnr
WHERE event = 'SL-AG'
AND feldn = 'BELNR'.
ADD 1 TO v_xpos_belnr.
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'BUDAT'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_budat.
v_xpos_budat = ( ( v_xpos1 - 1 ) MOD 10 ) + 1.
SHIFT v_xpos_budat LEFT DELETING LEADING '0'.
CONDENSE v_xpos_budat NO-GAPS.
v_pos_budat = ( v_xpos1 - 1 ) DIV 10.
CONCATENATE 'RF05A-XPOS1(' v_xpos_budat ')' INTO v_xpos_budat.
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'ZUONR'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_zuonr.
CLEAR v_xpos1.
SELECT * FROM t041t INTO TABLE itab_t041t
WHERE spras = sy-langu.
READ TABLE itab_t041t WITH KEY auglv = 'UMBUCHNG'.
v_xpos1 = sy-tabix.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_comp.
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'AWKEY'.
IF sy-subrc EQ 0.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
v_pos_awkey = v_xpos1.
v_xpos1 = ( ( v_pos_awkey - 1 ) MOD 10 ) + 1.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
v_pos_awkey = ( v_pos_awkey - 1 ) DIV 10.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_awkey.
ENDIF.
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'WRBTR'.
IF sy-subrc = 0.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
v_pos_wrbtr = v_xpos1.
v_xpos1 = ( ( v_pos_wrbtr - 1 ) MOD 10 ) + 1.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
v_pos_wrbtr = ( v_pos_wrbtr - 1 ) DIV 10.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_wrbtr.
ENDIF.
LOOP AT t_dados.
SELECT SINGLE * FROM /pws/zycbt089
WHERE bukrs EQ t_dados-bukrs.
SELECT SINGLE * FROM tcurx WHERE currkey = t_dados-waers.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-budat
IMPORTING
v_year = v_date
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
CHECK t_dados-tcode = 'F-30'.
IF ( t_dados-bukrs = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'BKPF-BUKRS'.
t_campo-descricao = text-021.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
IF ( t_dados-d_newko = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'RF05A-NEWKO'.
t_campo-descricao = text-026.
APPEND t_campo.
RAISE campo_em_branco.
ENDIF.
MOVE t_dados-d_newko TO v_agkon.
SELECT SINGLE * FROM tbsl
INTO wa_tbsl
WHERE bschl = t_dados-newbs.
IF wa_tbsl-shkzg EQ 'S'.
v_lanc1 = 'D'.
v_lanc2 = 'C'.
ELSE.
v_lanc1 = 'C'.
v_lanc2 = 'D'.
ENDIF.
CLEAR itab_oculto.
REFRESH itab_oculto.
IF wa_tbsl-koart EQ 'S'.
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
v_agkon
CHANGING v_string_credito.
ELSEIF wa_tbsl-koart EQ 'D'.
SELECT SINGLE akont FROM knb1
INTO knb1-akont
WHERE kunnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
SELECT SINGLE plcontas FROM /pws/zycbt007
INTO /pws/zycbt007-plcontas
WHERE bukrs EQ t_dados-bukrs.
IF NOT t_dados-umskz IS INITIAL.
SELECT SINGLE skont FROM t074
INTO v_cconta
WHERE ktopl = /pws/zycbt007-plcontas
AND koart = 'D'
AND hkont = knb1-akont.
IF sy-subrc NE 0.
v_cconta = knb1-akont.
ENDIF.
ELSE.
v_cconta = knb1-akont.
ENDIF.
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
v_cconta
CHANGING v_string_credito.
ELSEIF wa_tbsl-koart EQ 'K'.
SELECT SINGLE akont FROM lfb1
INTO v_cconta
WHERE lifnr EQ t_dados-d_newko AND
bukrs EQ t_dados-bukrs.
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
v_cconta
CHANGING v_string_credito.
ENDIF.
PERFORM trata_string_credito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
PERFORM trata_string_debito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
CLEAR v_fdtdoc.
SELECT SINGLE fdtdoc
INTO v_fdtdoc
FROM /pws/zycbt007
WHERE bukrs = t_dados-bukrs.
IF sy-subrc = 0.
IF v_fdtdoc = 'D'.
t_dados-bldat = sy-datum.
ELSE.
t_dados-bldat = t_dados-budat.
ENDIF.
ENDIF.
WRITE: t_dados-bukrs TO v_bukrs,
t_dados-bldat TO v_bldat,
t_dados-budat TO v_budat,
t_dados-zfbdt TO v_zfbdt,
t_dados-kursf TO v_kursf,
t_dados-zfbdt TO v_zfbdt2,
t_dados-zbd1t TO v_zbd1t.
IF NOT t_dados-d_valut = '00000000' AND
NOT t_dados-d_valut = ' '.
WRITE: t_dados-d_valut TO v_valut.
ELSEIF NOT t_dados-c_valut IS INITIAL AND
NOT v_op IS INITIAL.
WRITE: t_dados-c_valut TO v_valut.
ENDIF.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ v_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = t_dados-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
v_gjahr = v_date.
WHILE v_ok EQ 'N'.
PERFORM check_periodo USING '+'
v_monat
v_bukrs
v_gjahr
CHANGING v_budat
v_ok.
MOVE v_budat+6(4) TO v_gjahr.
MOVE v_budat+3(2) TO v_monat.
ENDWHILE.
MOVE v_monat+1(2) TO v_periodo.
IMPORT v_n_budat FROM MEMORY ID 'N_BUDAT'.
IF NOT v_n_budat IS INITIAL AND
v_n_budat NE t_dados-budat.
t_dados-budat = v_n_budat.
MODIFY t_dados INDEX 1.
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' '0122'.
PERFORM bdc_field USING:
'BKPF-BLDAT' v_bldat,
'BKPF-BLART' t_dados-blart,
'BKPF-BUKRS' t_dados-bukrs,
'BKPF-BUDAT' v_budat,
'BKPF-WAERS' t_dados-waers,
'BKPF-KURSF' v_kursf,
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-AUGTX' t_dados-augtx,
'BKPF-MONAT' v_periodo,
v_xpos_comp 'X'.
IF NOT t_dados-xblnr IS INITIAL.
PERFORM bdc_field USING 'BKPF-XBLNR' t_dados-xblnr.
ENDIF.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BKPF-BRNCH' t_dados-brnch.
ENDIF.
LOOP AT t_zycbt036 WHERE tcode = t_dados-tcode AND
tabela = t_dados-tabela AND
cpochv = t_dados-cpochv.
ENDLOOP.
IF sy-subrc NE 0.
PERFORM bdc_field USING
'BDC_OKCODE' '=SL'.
ELSE.
PERFORM bdc_field USING:
'RF05A-NEWBS' t_dados-newbs,
'RF05A-NEWKO' t_dados-d_newko,
'RF05A-NEWUM' t_dados-umskz,
'BDC_OKCODE' '/00'.
ENDIF.
v_last = space.
v_linhas = 1.
IF t_dados-flag_nc EQ 'X'.
v_linhas = 0.
ENDIF.
LOOP AT t_zycbt036 WHERE tcode = t_dados-tcode AND
tabela = t_dados-tabela AND
cpochv = t_dados-cpochv.
v_linhas = v_linhas + 1.
AT LAST. "#EC *
v_last = 'X'.
ENDAT. "#EC *
WRITE t_zycbt036-residuo TO v_wrbtr CURRENCY t_dados-waers.
MOVE: t_dados-umskz TO v_umskz,
t_dados-newbs TO v_newbs,
t_dados-d_newko TO v_agkon.
PERFORM define_tela USING t_dados-tcode
t_dados-bukrs
v_agkon
v_newbs
CHANGING v_umskz
v_tela.
IF NOT t_dados-umskz IS INITIAL.
PERFORM bdc_screen USING 'SAPMF05A' v_tela.
PERFORM bdc_field USING 'BSEG-WRBTR' v_wrbtr.
IF NOT t_dados-d_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
IF NOT v_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.
ENDIF.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'
chave = 'C'.
IF sy-subrc NE 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela
'BSEG-ZFBDT'.
IF v_invisible EQ 0.
IF ( v_input EQ 1 OR v_required EQ 1 )
AND NOT v_zfbdt IS INITIAL
AND NOT v_zfbdt = '00.00.0000'
AND NOT v_zfbdt = '00/00/0000'.
IF NOT t_dados-zfbdt = '00000000' AND
NOT t_dados-zfbdt = ' '.
WRITE t_dados-zfbdt TO v_zfbdt.
SELECT SINGLE * FROM t042
WHERE bukrs = t_dados-bukrs.
IF sy-subrc EQ 0.
IF t042-ulsd1 CA t_dados-umskz.
IF NOT v_zfbdt IS INITIAL.
PERFORM bdc_field USING: 'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ELSE.
IF t042-ulsd2 CA t_dados-umskz.
IF NOT v_zfbdt IS INITIAL.
PERFORM bdc_field
USING: 'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ELSE.
IF NOT t_dados-umskz IS INITIAL.
SELECT SINGLE * FROM t074u
WHERE koart = wa_tbsl-koart AND
umskz = t_dados-umskz.
IF sy-subrc EQ 0.
IF t074u-umsks NE 'A'.
IF NOT v_zfbdt IS INITIAL.
PERFORM bdc_field
USING: 'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF v_last EQ 'X'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=PA'.
ELSE.
PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,
'RF05A-NEWKO' t_dados-d_newko,
'RF05A-NEWUM' t_dados-umskz,
'BDC_OKCODE' '/00'.
ENDIF.
ELSE.
IF wa_tbsl-koart EQ 'K'.
PERFORM bdc_screen USING 'SAPMF05A' v_tela.
PERFORM bdc_field USING 'BSEG-WRBTR' v_wrbtr.
IF v_zbd1t > 0. "#EC PORTABLE
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.
ENDIF.
ENDIF.
IF NOT t_dados-d_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
IF NOT v_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.
ENDIF.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'
chave = 'C'.
IF sy-subrc NE 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'
chave = v_lanc1.
IF sy-subrc <> 0 AND NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING:
'BSEG-BUPLA' t_dados-brnch.
ENDIF.
IF v_last EQ 'X'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=PA'.
ELSE.
PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,
'RF05A-NEWKO' t_dados-d_newko,
'BDC_OKCODE' '/00'.
ENDIF.
ELSEIF wa_tbsl-koart EQ 'D'.
PERFORM bdc_screen USING 'SAPMF05A' v_tela.
PERFORM bdc_field USING'BSEG-WRBTR' v_wrbtr.
IF v_zbd1t > 0. "#EC PORTABLE
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.
ENDIF.
ENDIF.
IF NOT t_dados-zterm IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'
chave = v_lanc1.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'BSEG-ZTERM' t_dados-zterm.
ENDIF.
ENDIF.
IF NOT t_dados-d_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
IF NOT v_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.
ENDIF.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'
chave = v_lanc1.
IF sy-subrc NE 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela
'BSEG-ZFBDT'.
IF v_invisible EQ 0.
IF NOT v_zfbdt IS INITIAL
AND NOT v_zfbdt = '00.00.0000'
AND NOT v_zfbdt = '00/00/0000'.
.
PERFORM bdc_field USING: 'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ENDIF.
IF v_last EQ 'X'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=PA'.
ELSE.
PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,
'RF05A-NEWKO' t_dados-d_newko,
'BDC_OKCODE' '/00'.
ENDIF.
ELSEIF wa_tbsl-koart EQ 'S'.
PERFORM bdc_screen USING 'SAPMF05A' v_tela.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING:
'BSEG-BUPLA' t_dados-brnch.
ENDIF.
IF NOT v_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' v_zuonr.
ENDIF.
IF NOT t_dados-d_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
IF NOT t_dados-d_valut IS INITIAL
OR ( NOT t_dados-c_valut IS INITIAL AND
NOT v_op IS INITIAL ).
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-VALUT' v_valut.
ENDIF.
ENDIF.
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela
'BSEG-ZFBDT'.
IF v_invisible EQ 0.
IF NOT v_zfbdt IS INITIAL
AND NOT v_zfbdt = '00.00.0000'
AND NOT v_zfbdt = '00/00/0000'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING: 'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ENDIF.
ENDIF.
IF v_last EQ 'X'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=PA'.
ELSE.
PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,
'RF05A-NEWKO' t_dados-d_newko,
'BDC_OKCODE' '/00'.
ENDIF.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
IF NOT t_dados-d_gsber IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
IF NOT t_dados-werks IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-WERKS'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-WERKS' t_dados-werks.
ENDIF.
ENDIF.
IF NOT t_dados-d_prctr IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-PRCTR' t_dados-d_prctr.
ENDIF.
ENDIF.
IF NOT t_dados-d_kostl IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.
ENDIF.
ENDIF.
IF NOT t_dados-d_fipos IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS'
chave = v_lanc1.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'COBL-FIPOS' t_dados-d_fipos.
ENDIF.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR: v_rept, v_debcred.
IF NOT t_dados-c_newko IS INITIAL.
IF t_dados-d_newko = t_dados-c_newko.
v_rept = 1.
ELSE.
v_rept = 2.
ENDIF.
ELSE.
v_rept = 1.
ENDIF.
DO v_rept TIMES.
WRITE /pws/zycbt089-num_selecao TO v_selecao.
IF v_selecao GT v_xpos_belnr .
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
PERFORM bdc_screen USING 'SAPMF05A' '0710'.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
IF t_dados-d_newko1 IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko,
'RF05A-AGKOA' wa_tbsl-koart,
v_xpos 'X'.
IF NOT t_dados-umskz IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGUMS' t_dados-umskz.
ENDIF.
v_agkoa = wa_tbsl-koart.
ELSE.
IF v_acc_pre_dp IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'S',
v_xpos 'X'.
v_agkoa = 'S'.
ELSE.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'D',
'RF05A-AGUMS' t_dados-agums,
v_xpos 'X'.
v_agkoa = 'D'.
ENDIF.
ENDIF.
PERFORM bdc_field USING: 'BDC_OKCODE' '=PA'.
ELSE.
SUBTRACT 1 FROM v_xpos_belnr.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_selecao ')' INTO v_xpos.
PERFORM bdc_screen USING: 'SAPMF05A' '0710'.
IF v_debcred = 'C'.
v_xpos_belnr = v_xpos_belnr + 1.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
PERFORM bdc_field USING v_xpos 'X'.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
IF t_dados-d_newko1 IS INITIAL.
IF v_rept = 2 AND v_debcred = 'C'.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-c_newko,
'RF05A-AGKOA' wa_tbsl-koart,
v_xpos 'X'.
ELSE.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko,
'RF05A-AGKOA' wa_tbsl-koart,
v_xpos 'X'.
ENDIF.
IF NOT t_dados-umskz IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGUMS' t_dados-umskz.
ENDIF.
v_agkoa = wa_tbsl-koart.
ELSE.
IF v_acc_pre_dp IS INITIAL.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'S',
v_xpos 'X'.
v_agkoa = 'S'.
ELSE.
PERFORM bdc_field USING:
'RF05A-AGKON' t_dados-d_newko1,
'RF05A-AGKOA' 'D',
'RF05A-AGUMS' t_dados-agums,
v_xpos 'X'.
v_agkoa = 'D'.
ENDIF.
ENDIF.
IF v_debcred <> 'C'.
WHILE v_xpos_belnr > 10.
v_xpos_belnr = v_xpos_belnr - 10.
PERFORM bdc_screen USING 'SAPMF05A' '0608'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
SHIFT v_xpos_belnr LEFT DELETING LEADING '0'.
ENDWHILE.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
PERFORM bdc_screen USING 'SAPMF05A' '0608'.
CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.
PERFORM bdc_field USING:
v_xpos 'X',
'BDC_OKCODE' '/00'.
ENDIF.
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' '0731'.
PERFORM bdc_field USING: 'BDC_OKCODE' '/00',
'RF05A-SEL01(01)' t_dados-belnr.
v_cont = '01'.
LOOP AT t_doctos WHERE tcode = t_dados-tcode
AND tabela = t_dados-tabela
AND cpochv = t_dados-cpochv.
ADD 1 TO v_cont.
CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.
PERFORM bdc_field USING v_campo t_doctos-belnr.
IF v_cont = 5.
PERFORM bdc_screen USING 'SAPMF05A' '0731'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
CLEAR v_cont.
ENDIF.
ENDLOOP.
IF v_rept = 2 AND v_debcred <> 'C'.
PERFORM bdc_screen USING 'SAPMF05A' '0731'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SLK'.
ELSE.
PERFORM bdc_screen USING 'SAPMF05A' '0731'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-SEL01(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=PA'.
ENDIF.
v_debcred = 'C'.
ENDDO.
MOVE: t_dados-umskz TO v_umskz,
t_dados-newbs TO v_newbs,
t_dados-d_newko TO v_agkon.
PERFORM define_tela USING t_dados-tcode
t_dados-bukrs
v_agkon
v_newbs
CHANGING v_umskz
v_tela.
v_tela2 = v_tela.
IF v_acc_pre_dp = 'X'.
v_tela2 = '0304'.
ENDIF.
LOOP AT t_doctos WHERE dtdocto NE ' ' AND
dtdocto NE '00000000'.
ENDLOOP.
IF sy-subrc EQ 0 OR
NOT t_dados-dtdocto IS INITIAL.
IF v_filt_atrib = 'X' .
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z-'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OSU'.
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'ZUONR'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
WHILE v_xpos1 > 10.
v_xpos1 = v_xpos1 - 10.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
ENDWHILE.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_zuonr.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' v_xpos_zuonr.
PERFORM bdc_field USING v_xpos_zuonr 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
PERFORM bdc_screen USING 'SAPDF05X' '0731'.
PERFORM bdc_field USING 'RF05A-SEL01(01)' v_zuonr.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
ENDIF.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z-'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OSU'.
IF NOT v_xpos_awkey IS INITIAL.
DO v_pos_awkey TIMES.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
ENDDO.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' v_xpos_awkey.
PERFORM bdc_field USING v_xpos_awkey 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
PERFORM bdc_screen USING 'SAPDF05X' '0731'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-SEL01(01)'.
CLEAR v_cont.
CLEAR v_awkey.
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-dtdocto
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE awkey
FROM bkpf
INTO v_awkey
WHERE belnr = t_dados-belnr AND
bukrs = t_dados-bukrs AND
gjahr = v_year.
ADD 1 TO v_cont.
CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.
CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.
PERFORM bdc_field USING v_campo v_awkey.
PERFORM bdc_field USING v_campo2 v_awkey.
LOOP AT t_doctos WHERE tcode = t_dados-tcode
AND tabela = t_dados-tabela
AND cpochv = t_dados-cpochv.
CLEAR v_awkey.
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_doctos-dtdocto
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE awkey
FROM bkpf
INTO v_awkey
WHERE belnr = t_doctos-belnr AND
bukrs = t_dados-bukrs AND
gjahr = v_year.
ADD 1 TO v_cont.
CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.
CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.
PERFORM bdc_field USING v_campo v_awkey.
PERFORM bdc_field USING v_campo2 v_awkey.
IF v_cont = 5.
PERFORM bdc_field USING 'BDC_OKCODE' '=SU1'.
PERFORM bdc_screen USING 'SAPDF05X' '0731'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-SEL01(01)'.
CLEAR v_cont.
ENDIF.
ENDLOOP.
ELSE.
DO v_pos_budat TIMES.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
ENDDO.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' v_xpos_budat.
PERFORM bdc_field USING v_xpos_budat 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
CLEAR v_cont.
PERFORM bdc_screen USING 'SAPDF05X' '0732'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-VONDT(01)'.
WRITE t_dados-dtdocto TO v_dtdocto.
ADD 1 TO v_cont.
CONCATENATE 'RF05A-VONDT(' v_cont ')' INTO v_campo.
CONCATENATE 'RF05A-BISDT(' v_cont ')' INTO v_campo2.
PERFORM bdc_field USING v_campo v_dtdocto.
PERFORM bdc_field USING v_campo2 v_dtdocto.
LOOP AT t_doctos WHERE tcode = t_dados-tcode
AND tabela = t_dados-tabela
AND cpochv = t_dados-cpochv.
CHECK NOT t_doctos-dtdocto IS INITIAL.
ADD 1 TO v_cont.
CONCATENATE 'RF05A-VONDT(' v_cont ')' INTO v_campo.
CONCATENATE 'RF05A-BISDT(' v_cont ')' INTO v_campo2.
WRITE t_doctos-dtdocto TO v_dtdocto.
PERFORM bdc_field USING v_campo v_dtdocto.
PERFORM bdc_field USING v_campo2 v_dtdocto.
IF v_cont = 5.
PERFORM bdc_field USING 'BDC_OKCODE' '=SU1'.
PERFORM bdc_screen USING 'SAPDF05X' '0732'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-VONDT(01)'.
CLEAR v_cont.
ENDIF.
ENDLOOP.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
ENDIF.
IF tcurx-currdec = 2.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z-'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OSU'.
DO v_pos_wrbtr TIMES.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
ENDDO.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' v_xpos_wrbtr.
PERFORM bdc_field USING v_xpos_wrbtr 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
PERFORM bdc_screen USING 'SAPDF05X' '0730'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-BISWT(01)'.
PERFORM bdc_field USING 'RF05A-VONWT(01)' v_vl_min.
PERFORM bdc_field USING 'RF05A-BISWT(01)' v_vl_max.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
ENDIF.
IF filtra EQ 'X'.
IF so_segundo IS INITIAL.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'DF05B-PSBET(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z+'.
IF total NE 'X'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'DF05B-PSBET(02)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z+'.
ENDIF.
ELSE.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'DF05B-PSBET(02)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z+'.
ENDIF.
ELSE.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z+'.
ENDIF.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=REST'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=DBR'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
IF filtra EQ 'X' AND
so_segundo EQ 'X'.
PERFORM bdc_field USING: 'BDC_CURSOR' 'DF05B-PSDIF(02)',
'BDC_OKCODE' '=PI'.
ELSE.
PERFORM bdc_field USING: 'BDC_CURSOR' 'DF05B-PSDIF(01)',
'BDC_OKCODE' '=PI'.
ENDIF.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
IF t_dados-flag_nc EQ 'X'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=BU'.
ELSE.
PERFORM bdc_field USING: 'BDC_OKCODE' '=BS'.
ENDIF.
PERFORM verifica_empresas USING t_dados-bukrs
'UMBUCHNG'
t_dados-d_newko
v_agkoa.
IF v_linhas EQ 1
AND v_dp EQ 'X'.
v_linhas = v_linhas + 1.
ENDIF.
MOVE t_dados-brnch TO c_brnch.
PERFORM bdc_screen USING 'SAPMF05A' '0700'.
PERFORM bdc_field USING:
'BDC_CURSOR' 'RF05A-NEWBS',
'BDC_OKCODE' '=PI'.
PERFORM bdc_screen USING 'SAPMF05A' '0610'.
PERFORM bdc_field USING:
'BDC_CURSOR' '*BSEG-BUZEI',
'*BSEG-BUZEI' v_linhas,
'BDC_OKCODE' '/00'.
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-budat
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
IF wa_tbsl-koart EQ 'S'.
SELECT SINGLE sgtxt
zuonr
bupla
gsber
zfbdt
valut
FROM bsis
INTO (c_sgtxt,
c_zuonr,
c_brnch,
c_gsber,
c_zfbdt,
c_valut)
WHERE bukrs = t_dados-bukrs AND
hkont = t_dados-d_newko AND
gjahr = v_year AND
belnr = t_dados-belnr.
IF sy-subrc NE 0.
SELECT SINGLE sgtxt
zuonr
bupla
gsber
zfbdt
valut
FROM bsas
INTO (c_sgtxt,
c_zuonr,
c_brnch,
c_gsber,
c_zfbdt,
c_valut)
WHERE bukrs = t_dados-bukrs AND
hkont = t_dados-d_newko AND
gjahr = v_year AND
belnr = t_dados-belnr.
ENDIF.
ELSEIF wa_tbsl-koart EQ 'D'.
SELECT SINGLE sgtxt
zuonr
bupla
gsber
zfbdt
zbd1t
FROM bsid
INTO (c_sgtxt,
c_zuonr,
c_brnch,
c_gsber,
c_zfbdt,
c_zbd1t)
WHERE bukrs = t_dados-bukrs AND
kunnr = t_dados-d_newko AND
gjahr = v_year AND
belnr = t_dados-belnr.
IF sy-subrc NE 0.
SELECT SINGLE sgtxt
zuonr
bupla
gsber
zfbdt
zbd1t
FROM bsad
INTO (c_sgtxt,
c_zuonr,
c_brnch,
c_gsber,
c_zfbdt,
c_zbd1t)
WHERE bukrs = t_dados-bukrs AND
kunnr = t_dados-d_newko AND
gjahr = v_year AND
belnr = t_dados-belnr.
ENDIF.
ELSEIF wa_tbsl-koart EQ 'K'.
SELECT SINGLE sgtxt
zuonr
bupla
gsber
zfbdt
zbd1t
FROM bsik
INTO (c_sgtxt,
c_zuonr,
c_brnch,
c_gsber,
c_zfbdt,
c_zbd1t)
WHERE bukrs = t_dados-bukrs AND
lifnr = t_dados-d_newko AND
gjahr = v_year AND
belnr = t_dados-belnr.
IF sy-subrc NE 0.
SELECT SINGLE sgtxt
zuonr
bupla
gsber
zfbdt
zbd1t
FROM bsak
INTO (c_sgtxt,
c_zuonr,
c_brnch,
c_gsber,
c_zfbdt,
c_zbd1t)
WHERE bukrs = t_dados-bukrs AND
lifnr = t_dados-d_newko AND
gjahr = v_year AND
belnr = t_dados-belnr.
ENDIF.
ENDIF.
c_zuonr = v_zuonr.
IF v_op = 'X' AND v_vinc_tot IS INITIAL.
v_lanc2 = 'D'.
ENDIF.
IF wa_tbsl-koart EQ 'D'.
IF NOT v_vinc_tot IS INITIAL.
CLEAR: itab_oculto, v_string_credito.
REFRESH: itab_oculto.
t_dados-newbs = '17'.
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
v_cconta
CHANGING v_string_credito.
PERFORM trata_string_credito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
PERFORM trata_string_debito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
v_lanc1 = 'C'.
v_lanc2 = 'C'.
ELSE.
CLEAR: itab_oculto, v_string_credito.
REFRESH: itab_oculto.
t_dados-newbs = '04'.
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
v_cconta
CHANGING v_string_credito.
PERFORM trata_string_credito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
PERFORM trata_string_debito TABLES t_dados
t_campo
itab_oculto
USING v_string_credito.
v_lanc1 = 'D'.
v_lanc2 = 'D'.
ENDIF.
ENDIF.
IF c_valut IS INITIAL.
c_valut = t_dados-c_valut.
ENDIF.
IF c_zuonr IS INITIAL.
c_zuonr = t_dados-c_zuonr.
IF t_dados-c_zuonr IS INITIAL.
IF t_zycbt036-zuonr IS INITIAL.
c_zuonr = t_doctos-zuonr.
ELSE.
MOVE t_zycbt036-zuonr TO c_zuonr.
ENDIF.
ELSE.
MOVE t_dados-c_zuonr TO c_zuonr.
ENDIF.
ENDIF.
IF NOT v_liq_and IS INITIAL.
c_zuonr+17(1) = 'S'.
ENDIF.
IF c_sgtxt IS INITIAL.
c_sgtxt = t_dados-c_sgtxt.
ENDIF.
IF c_gsber IS INITIAL AND
NOT t_dados-d_gsber IS INITIAL.
c_gsber = t_dados-c_gsber.
ENDIF.
IF NOT c_valut = '00000000' AND
NOT c_valut = ' '.
WRITE: c_valut TO v_valut.
ENDIF.
IF NOT c_zfbdt = '00000000' AND
NOT c_zfbdt = ' '.
WRITE: c_zfbdt TO v_zfbdt.
ENDIF.
PERFORM bdc_screen USING 'SAPMF05A' v_tela2.
PERFORM bdc_field USING:
'BDC_OKCODE' '=BU'.
IF wa_tbsl-koart EQ 'K'.
IF v_zbd1t > 0. "#EC PORTABLE
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'
chave = v_lanc2.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-ZBD1T' c_zbd1t.
ENDIF.
ENDIF.
IF NOT c_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.
ENDIF.
IF c_zuonr NE v_zuonr.
IF NOT c_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' c_zuonr.
ENDIF.
ENDIF.
IF NOT c_gsber IS INITIAL AND
NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING:
'BSEG-GSBER' c_gsber.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'
chave = v_lanc2.
IF sy-subrc <> 0.
IF NOT c_brnch IS INITIAL.
PERFORM bdc_field USING:
'BSEG-BUPLA' c_brnch.
ELSEIF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING:
'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
ELSEIF wa_tbsl-koart EQ 'D'.
IF NOT c_brnch IS INITIAL
AND v_vinc_tot IS INITIAL.
READ TABLE itab_oculto
WITH KEY campo = 'BSEG-BUPLA'
chave = v_lanc1.
IF sy-subrc NE 0.
PERFORM bdc_field USING:
'BSEG-BUPLA' c_brnch.
ENDIF.
ENDIF.
IF NOT c_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.
ENDIF.
IF c_zuonr NE v_zuonr.
IF NOT c_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' c_zuonr.
ENDIF.
ENDIF.
IF v_tela2 = '0304'.
IF NOT v_umskz IS INITIAL.
CLEAR v_zfbdt_tela.
SELECT SINGLE ulsk1
INTO v_ulsk1
FROM t042
WHERE bukrs EQ t_dados-bukrs.
IF v_ulsk1 NS v_umskz.
SELECT SINGLE umsks
INTO v_umsks
FROM t074u
WHERE koart EQ 'D' AND
umskz EQ v_umskz.
IF v_umsks NE 'A'.
v_zfbdt_tela = 'X'.
ENDIF.
ELSE.
v_zfbdt_tela = 'X'.
ENDIF.
ENDIF.
ELSE.
v_zfbdt_tela = 'X'.
ENDIF.
READ TABLE itab_oculto
WITH KEY campo = 'BSEG-ZFBDT' chave = v_lanc1
TRANSPORTING NO FIELDS.
IF v_zfbdt_tela EQ 'X' AND sy-subrc NE 0 AND
( v_linhas LT '002' OR
( v_linhas EQ '002' AND v_vinc_tot IS INITIAL ) ).
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela2
'BSEG-ZFBDT'.
IF v_invisible EQ 0.
IF v_input EQ 1 OR v_required EQ 1
AND NOT v_zfbdt IS INITIAL
AND NOT v_zfbdt = '00.00.0000'
AND NOT v_zfbdt = '00/00/0000'.
IF NOT t_dados-zfbdt IS INITIAL
AND NOT t_dados-zfbdt = '00.00.0000'
AND NOT t_dados-zfbdt = '00/00/0000'
AND NOT t_dados-zfbdt = '00000000'.
PERFORM bdc_field USING: 'BSEG-ZFBDT' v_zfbdt.
v_zfbdt2 = '00.00.0000'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT v_tela2 = '0304'.
IF v_vinc_tot IS INITIAL AND
v_dp IS INITIAL.
IF NOT v_zfbdt2 EQ '00.00.0000'.
IF v_op IS INITIAL.
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela2
'BSEG-ZFBDT'.
IF v_invisible EQ 0.
IF v_input EQ 1 OR v_required EQ 1
AND NOT v_zfbdt IS INITIAL
AND NOT v_zfbdt = '00.00.0000'
AND NOT v_zfbdt = '00/00/0000'.
PERFORM bdc_field USING: 'BSEG-ZFBDT' v_zfbdt2.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT t_dados-zterm IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'
chave = v_lanc2.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'BSEG-ZTERM' t_dados-zterm.
ENDIF.
ENDIF.
IF v_zbd1t > 0 AND t_dados-umskz IS INITIAL. "#EC PORTABLE
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'
chave = v_lanc2.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSEIF wa_tbsl-koart EQ 'S'.
IF NOT c_sgtxt IS INITIAL.
PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.
ENDIF.
IF v_zuonr NE c_zuonr.
IF NOT v_op IS INITIAL OR NOT v_liqop IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' ' '.
ELSE.
IF NOT c_zuonr IS INITIAL.
PERFORM bdc_field USING 'BSEG-ZUONR' c_zuonr.
ENDIF.
ENDIF.
ENDIF.
IF v_liqop NE 'X'.
IF NOT c_brnch IS INITIAL AND
NOT t_dados-brnch IS INITIAL AND
c_brnch NE space AND
v_vinc_tot IS INITIAL AND
v_desc_rec IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'
chave = v_lanc2.
IF sy-subrc <> 0.
PERFORM bdc_field USING:
'BSEG-BUPLA' c_brnch.
ENDIF.
ENDIF.
ENDIF.
IF ( NOT t_dados-d_valut IS INITIAL AND
NOT t_dados-d_valut EQ '00000000'
AND v_vinc_tot IS INITIAL
AND v_dev IS INITIAL
AND v_linhas LT '002' )
OR ( NOT v_op IS INITIAL AND v_vinc_tot IS INITIAL ).
IF NOT c_valut IS INITIAL .
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'
chave = v_lanc2.
IF sy-subrc <> 0.
PERFORM define_campo TABLES t_telas
USING v_programa
v_tela
'BSEG-VALUT'.
IF v_invisible EQ 0.
IF v_input EQ 1 OR v_required EQ 1
AND NOT v_valut IS INITIAL
AND NOT v_valut = '00.00.0000'
AND NOT v_valut = '00/00/0000'.
PERFORM bdc_field USING 'BSEG-VALUT' v_valut.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
IF NOT c_gsber IS INITIAL AND
NOT t_dados-d_gsber IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'
chave = v_lanc2.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-GSBER' c_gsber.
ENDIF.
IF NOT t_dados-d_gsber IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'
chave = v_lanc1.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
ENDIF.
IF NOT t_dados-d_fipos IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS'
chave = v_lanc1.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'COBL-FIPOS' t_dados-d_fipos.
ENDIF.
ENDIF.
IF NOT t_dados-d_prctr IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-PRCTR'
chave = v_lanc1.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'COBL-PRCTR' t_dados-d_prctr.
ENDIF.
ENDIF.
IF NOT t_dados-d_kostl IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL'
chave = v_lanc1.
IF sy-subrc NE 0.
PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.
ENDIF.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
ENDIF.
REFRESH itab_msg.
CLEAR itab_msg.
v_transacao = 'F-30'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
IF v_modo IS INITIAL.
v_mode = 'N'.
ELSE.
v_mode = v_modo.
ENDIF.
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycbt032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
CHANGING v_nrmsg.
ENDLOOP.
FREE:
itab_bdc,
itab_msg.
* << Fim da inclusão
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYGLGF2UXX
...
INCLUDE /PWS/LZYGLGF2U53.
INCLUDE /PWS/LZYGLGF2U52.
INCLUDE /PWS/LZYGLGF2U54.
INCLUDE /PWS/LZYGLGF2U55.
INCLUDE /PWS/LZYGLGF2U56.
INCLUDE /PWS/LZYGLGF2U58.
INCLUDE /PWS/LZYGLGF2U57.
INCLUDE /PWS/LZYGLGF2U59.
INCLUDE /PWS/LZYGLGF2U60.
INCLUDE /PWS/LZYGLGF2U61.
* >> Início da inclusão:
INCLUDE /PWS/LZYGLGF2U62.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F01
...
clear itab_zyglt321.
refresh itab_zyglt321.
select *
into table itab_zyglt321
from /pws/zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
if sy-subrc = 0.
read table itab_zyglt321
with key cpor3 = 'ZFBDT'.
* >> Início da exclusão: FORM SAVE_ZYCBT001
if itab_zyglt321-cpocb = 'DTLIQUID'.
perform fill_date_fb02.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_ZYCBT001
if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTLIQUID'.
perform fill_date_fb02
using ' '.
* << Fim da inclusão
endif.
endif.
exit.
endif.
if wa_zycbt007-cfm = 'X'.
if /pws/zycbe001-tpcontr(1) ne 'C' and
/pws/zycbe001-tpcontr(1) ne 'E'.
select single *
from /pws/zycbt001
into wa_zycbt001_log
...
...
elseif itab_zyglt321-cpocb = 'DTCONTR'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtcontr.
elseif itab_zyglt321-cpocb = 'DTCRED'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtcred.
elseif itab_zyglt321-cpocb = 'DTDESEM'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtdesem.
elseif itab_zyglt321-cpocb = 'DTENTR'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtentr.
elseif itab_zyglt321-cpocb = 'DTINIJUR'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtinijur.
* >> Início da inclusão: FORM FILL_DATE1_F02
elseif itab_zyglt321-cpocb = 'DTFINAL'.
if /pws/zycbe001-tpcontr(1) = 'P' or
/pws/zycbe001-tpcontr(1) = 'S'.
describe table itab_zycbt002p lines v_linha.
read table itab_zycbt002p index v_linha.
if sy-subrc = 0.
if not itab_zycbt002p-dtpror is initial.
itab_zycbe033-zfbdt = itab_zycbt002p-dtpror.
else.
itab_zycbe033-zfbdt = itab_zycbt002p-dtfinal.
endif.
endif.
* << Fim da inclusão
endif.
* >> Início da inclusão: FORM FILL_DATE1_F02
endif.
* << Fim da inclusão
endcase.
endloop.
endif.
if /pws/zycbe001-tpcontr(1) eq 'P' or
/pws/zycbe001-tpcontr(1) eq 'S'.
concatenate /pws/zycbe001-nrseqc /pws/zycbe001-tpcontr
...
...
up to 1 rows
where nrseqc = /pws/zycbe001-nrseqc.
v_ok = 'N'.
endselect.
if sy-subrc eq 0.
message i033 with text-336.
exit.
endif.
endif.
check v_ok ne 'N'.
* >> Início da exclusão: FORM DELETE_ZYCBT001
if /pws/zycbe001-belnr2 is initial.
* << Fim da exclusão
* >> Início da inclusão: FORM DELETE_ZYCBT001
if /pws/zycbe001-belnr2 is initial
or /pws/zycbe001-belnr2 = /pws/zycbe001-belnr.
* << Fim da inclusão
perform reverse_document_zycbt001_del.
else.
perform reverse_document_zycbt_belnr2 using wa_zycbt001-belnr2
wa_zycbt001-dtvincul
wa_zycbt001-vlme
'/PWS/ZYCBT001'.
endif.
if sy-subrc eq 0.
if wa_zycbt007-cfm = 'X'.
if /pws/zycbe001-tpcontr(1) ne 'C' and
...
...
error_period_acc = 2
others = 3.
if sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
else.
itab_zycbe033-stgrd = '02'.
itab_zycbe033-budat = sy-datum.
endif.
append itab_zycbe033.
if /pws/zycbe001-fdtlanc = 'O'.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT001_DEL
move /pws/zycbe001-dtcontr(4) to v_gjahs.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT001_DEL
perform determina_ano using /pws/zycbe001-dtcontr
itab_zycbe033-bukrs
changing v_gjahs.
* << Fim da inclusão
elseif /pws/zycbe001-fdtlanc = 'C'.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT001_DEL
move /pws/zycbe001-dtcred(4) to v_gjahs.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT001_DEL
perform determina_ano using /pws/zycbe001-dtcred
itab_zycbe033-bukrs
changing v_gjahs.
* << Fim da inclusão
elseif /pws/zycbe001-fdtlanc = 'D'.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT001_DEL
move /pws/zycbe001-dtdesem(4) to v_gjahs.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT001_DEL
perform determina_ano using /pws/zycbe001-dtdesem
itab_zycbe033-bukrs
changing v_gjahs.
* << Fim da inclusão
endif.
call function '/PWS/ZYCB_TRANSACAO_FB08'
exporting
v_modo = v_modo_bi
v_gjahs = v_gjahs
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
exceptions
...
...
/pws/zycbe074-spart_or eq wa_zycbt074-spart_or and
/pws/zycbe074-versi_or eq wa_zycbt074-versi_or and
/pws/zycbe074-vkorg_or eq wa_zycbt074-vkorg_or and
/pws/zycbe074-vrgar_or eq wa_zycbt074-vrgar_or and
/pws/zycbe074-werks_or eq wa_zycbt074-werks_or and
/pws/zycbe074-vtweg_or eq wa_zycbt074-vtweg_or and
/pws/zycbe001-status eq 'C' and
v_estorna <> 'S'.
modify /pws/zycbt001.
if /pws/zycbe001-dtliquid ne wa_zycbt001-dtliquid.
* >> Início da inclusão: FORM SAVE_ZYCBT001_PRE
concatenate '001' /pws/zycbe001-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select *
into table itab_zyglt321
from /pws/zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
if sy-subrc = 0.
read table itab_zyglt321
with key cpor3 = 'ZFBDT'.
if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTLIQUID'.
perform fill_date_fb02
using ' '.
loop at itab_zycbt002p where not belnr is initial.
perform fill_date_fb02 using 'X'.
endloop.
endif.
endif.
endif.
loop at itab_zycbt002p where not belnr is initial.
read table itab_zycbt002p_ant with key
nrparc = itab_zycbt002p-nrparc.
if sy-subrc = 0 and
( itab_zycbt002p-dtpror ne itab_zycbt002p_ant-dtpror or
itab_zycbt002p-dtfinal ne itab_zycbt002p_ant-dtfinal )
and not itab_zycbt002p-vlme ne itab_zycbt002p_ant-vlme.
* << Fim da inclusão
concatenate '001' /pws/zycbe001-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select *
into table itab_zyglt321
from /pws/zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
if sy-subrc = 0.
read table itab_zyglt321
with key cpor3 = 'ZFBDT'.
* >> Início da exclusão: FORM SAVE_ZYCBT001_PRE
if itab_zyglt321-cpocb = 'DTLIQUID'.
perform fill_date_fb02.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_ZYCBT001_PRE
if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTFINAL'.
perform fill_date_fb02 using 'X'.
at last.
perform fill_date_fb02 using ' '.
endat.
* << Fim da inclusão
endif.
endif.
endif.
* >> Início da inclusão: FORM SAVE_ZYCBT001_PRE
endloop.
* << Fim da inclusão
if wa_zycbt007-cfm = 'X'.
if /pws/zycbe001-tpcontr(1) ne 'C' and
/pws/zycbe001-tpcontr(1) ne 'E'.
select single *
...
...
perform fill_date1_f02.
endif.
perform save_zycbt002.
perform save_zycbt003.
move /pws/zycbe001 to wa_zycbt001.
move /pws/zycbe074 to wa_zycbt074.
commit work.
else.
perform refresh_dependent_tables using v_ok 'SAVE'.
if /pws/zycbe001-dtliquid ne wa_zycbt001-dtliquid.
* >> Início da inclusão: FORM SAVE_ZYCBT001_PRE
concatenate '001' /pws/zycbe001-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select *
into table itab_zyglt321
from /pws/zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
if sy-subrc = 0.
read table itab_zyglt321
with key cpor3 = 'ZFBDT'.
if sy-subrc = 0 and itab_zyglt321-cpocb = 'DTLIQUID'.
perform fill_date_fb02
using ' '.
loop at itab_zycbt002p where not belnr is initial.
perform fill_date_fb02 using 'X'.
endloop.
endif.
endif.
endif.
loop at itab_zycbt002p where not dtpror is initial
and not belnr is initial.
read table itab_zycbt002p_ant with key
nrparc = itab_zycbt002p-nrparc.
if ( sy-subrc = 0 and
itab_zycbt002p-dtpror ne itab_zycbt002p_ant-dtpror )
or sy-subrc ne 0.
* << Fim da inclusão
concatenate '001' /pws/zycbe001-tpcontr into v_codeven.
clear itab_zyglt321.
refresh itab_zyglt321.
select *
into table itab_zyglt321
from /pws/zyglt321
where ktosl = 'CPT'
and codeven = v_codeven.
if sy-subrc = 0.
read table itab_zyglt321
with key cpor3 = 'ZFBDT'.
* >> Início da exclusão: FORM SAVE_ZYCBT001_PRE
if itab_zyglt321-cpocb = 'DTLIQUID'.
perform fill_date_fb02.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_ZYCBT001_PRE
if itab_zyglt321-cpocb = 'DTFINAL'.
perform fill_date_fb02 using 'X'.
* << Fim da inclusão
endif.
endif.
endif.
* >> Início da inclusão: FORM SAVE_ZYCBT001_PRE
endloop.
* << Fim da inclusão
if v_ok ne 'N'.
perform altera_parc_pt.
else.
move wa_zycbt001 to /pws/zycbe001.
...
...
into (/pws/zycbt004-nrseqc)
up to 1 rows
where nrseqc = /pws/zycbe001-nrseqc.
v_ok = 'N'.
endselect.
if sy-subrc eq 0.
message i033 with text-231.
exit.
endif.
check v_ok ne 'N'.
* >> Início da exclusão: FORM DELETE_ZYCBT001_TR
if /pws/zycbe001-belnr2 is initial and
/pws/zycbe001-belnr_tr eq /pws/zycbe001-belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM DELETE_ZYCBT001_TR
if ( /pws/zycbe001-belnr2 is initial and
/pws/zycbe001-belnr_tr eq /pws/zycbe001-belnr )
or /pws/zycbe001-belnr2 = /pws/zycbe001-belnr.
* << Fim da inclusão
perform reverse_document_zycbt001_del.
else.
if /pws/zycbe001-belnr2 is initial.
perform reverse_document_zycbt_belnr2 using wa_zycbt001-belnr
wa_zycbt001-dtvincul
wa_zycbt001-vlme
'/PWS/ZYCBT001'.
else.
perform reverse_document_zycbt_belnr2 using wa_zycbt001-belnr2
wa_zycbt001-dtvincul
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F02
...
perform save_zycbt221.
perform exibe_mensagens.
endif.
perform data_efetiva.
endform.
form estorno_pre_acc.
data: v_belnr like bkpf-belnr,
v_budat like bkpf-budat,
v_count type i,
v_total type i,
* >> Início da inclusão: FORM ESTORNO_PRE_ACC
v_tpcontr_c like /pws/zycbt061-tpcontr_c,
* << Fim da inclusão
v_prim type c.
check /pws/zycbe001-f_pre eq 'C'.
if /pws/zycbe001-tpcontr(1) ca 'PS'.
perform reagrupa_pre changing v_belnr v_budat.
else.
if /pws/zycbe001-belnr2 is initial.
v_belnr = /pws/zycbe001-belnr.
else.
v_belnr = /pws/zycbe001-belnr2.
endif.
...
...
perform retorna_saldo_acc changing v_belnr
v_budat
v_prim.
modify itab_zycbt061.
endloop.
clear sy-subrc.
endform.
form lancamento_pre_acc.
data: valor like /pws/zycbt002-vlme,
belnr like /pws/zycbt001-belnr,
* >> Início da inclusão: FORM LANCAMENTO_PRE_ACC
v_docto1 like /pws/zycbt001-belnr,
* << Fim da inclusão
budat like sy-datum,
subrc like sy-subrc,
v_prim type c,
v_lines like sy-tabix.
clear: valor,
sy-subrc,
itab_zycbt061.
refresh: itab_zycbt061.
select *
from /pws/zycbt061
...
...
endcase.
else.
budat = wa_zycbt001_pre-dtvincul.
endif.
else.
belnr = wa_zycbt001_pre-belnr2.
budat = wa_zycbt001_pre-dtvincul.
endif.
itab_zycbt061-belnr_d = belnr.
itab_zycbt061-budat_d = budat.
* >> Início da inclusão: FORM LANCAMENTO_PRE_ACC
if itab_zycbt061-tpcontr_c(1) na 'PS'.
* << Fim da inclusão
if wa_zycbt001_pre-slvinc ne 0.
itab_zycbt061-baixa = 'X'.
perform desmembra_acc.
if sy-subrc ne 0.
subrc = 4.
exit.
endif.
endif.
modify itab_zycbt061.
* >> Início da inclusão: FORM LANCAMENTO_PRE_ACC
endif.
* << Fim da inclusão
endloop.
check subrc eq 0.
clear: belnr, budat.
perform clearing_pre changing belnr
budat.
check sy-subrc eq 0.
* >> Início da inclusão: FORM LANCAMENTO_PRE_ACC
v_docto1 = belnr.
* << Fim da inclusão
if /pws/zycbe001-tpcontr(1) ca 'PS'.
...
...
endif.
endselect.
endif.
endif.
v_prim = 'X'.
endloop.
endif.
else.
/pws/zycbe001-belnr = /pws/zycbt001-belnr = belnr.
/pws/zycbe001-dtvincul = /pws/zycbt001-dtvincul = budat.
* >> Início da inclusão: FORM LANCAMENTO_PRE_ACC
endif.
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
if /pws/zycbe001-tpcontr ne 'DP'.
if wa_zycbt001_pre-slvinc ne 0.
if /pws/zycbe001-tpcontr ne 'A'.
select *
from /pws/zycbt002 into table itab_zycbt002p1
where nrseqc = itab_zycbt061-nrseq_c and
tpparc = 'P' and
slvinc ne '0'.
loop at itab_zycbt002p1 .
if itab_zycbt002p1-slvinc ne itab_zycbt061-vlalt.
read table itab_zycbt067 with key
nrparc = itab_zycbt002p1-nrparc.
if sy-subrc = 0.
perform clearing_residual changing v_docto1 budat .
endif.
endif.
endloop.
clear itab_zycbt002p1.
refresh itab_zycbt002p1.
else.
select *
from /pws/zycbt002 into table itab_zycbt002p1
where nrseqc = itab_zycbt061-nrseq_c and
tpparc = 'P' and
slvinc ne '0'.
loop at itab_zycbt002p1 .
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = itab_zycbt002p1-nrseqc and
vlme ne itab_zycbt002p1-vlme.
if sy-subrc = 0.
perform clearing_residual changing v_docto1 budat.
exit.
endif.
endloop.
clear itab_zycbt002p1.
refresh itab_zycbt002p1.
endif.
endif.
endif.
* << Fim da inclusão
endif.
if sy-subrc eq 0 and
subrc eq 0.
/pws/zycbt001-status = 'C'.
/pws/zycbe001-status = 'C'.
/pws/zycbe001-f_pre = /pws/zycbt001-f_pre = 'C'.
endif.
endform.
form desmembra_acc.
data: conta_acc like /pws/zycbt012-saknr1,
...
...
others = 7.
select single budat
from bkpf
into itab_zycbe033-dtdocto
where bukrs = wa_zycbt001_pre-bukrs
and belnr = itab_zycbt061-belnr_d
and gjahr = v_year.
perform verify_null_field using conta_acc
'AGKON'
text-015.
* >> Início da exclusão: FORM DESMEMBRA_ACC
itab_zycbe033-d_newko = conta_acc.
itab_zycbe033-newbs = '50'.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_ACC
if /pws/zycbe001-tpcontr ne 'A'.
itab_zycbe033-d_newko = conta_pre.
else.
itab_zycbe033-d_newko = conta_acc.
endif.
if wa_zycbt001_pre-tpcontr = 'A'.
itab_zycbe033-d_newko1 = conta_acc.
elseif wa_zycbt001_pre-tpcontr ne 'A'.
itab_zycbe033-d_newko1 = conta_pre.
endif.
if /pws/zycbt001-tpcontr(1) = 'D'.
itab_zycbe033-newbs = '19'.
itab_zycbe033-agkoa = 'D'.
itab_zycbe033-umskz = cod_rze.
v_dp = 'X'.
else.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkoa = 'S'.
endif.
* << Fim da inclusão
concatenate text-467 /pws/zycbe001-nrseqc
into itab_zycbe033-d_zuonr
separated by space.
itab_zycbt036-tcode = itab_zycbe033-tcode.
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbe033-wrbtr.
itab_zycbt036-zuonr = itab_zycbe033-d_zuonr.
append itab_zycbt036.
itab_zycbe033-belnr = itab_zycbt061-belnr_d.
...
...
if sy-subrc = 0.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT001'
cpochv = wa_zycbt001_pre-nrseqc
tpmsg = 'S'.
if sy-subrc = 0.
itab_zycbt061-belnr_d = itab_zycbt032-belnr.
itab_zycbt061-budat_d = itab_zycbe033-budat.
wa_zycbt001_pre-belnr2 = itab_zycbt032-belnr.
wa_zycbt001_pre-dtvincul = itab_zycbe033-budat.
* >> Início da inclusão: FORM DESMEMBRA_ACC
if /pws/zycbe001-tpcontr+0(1) = 'D' and
wa_zycbt001_pre-tpcontr = 'A'.
update /pws/zycbt001 set belnr = wa_zycbt001_pre-belnr2
dtvincul = wa_zycbt001_pre-dtvincul
where nrseqc = wa_zycbt001_pre-nrseqc.
commit work.
else.
* << Fim da inclusão
update /pws/zycbt001 set belnr2 = wa_zycbt001_pre-belnr2
dtvincul = wa_zycbt001_pre-dtvincul
where nrseqc = wa_zycbt001_pre-nrseqc.
* >> Início da inclusão: FORM DESMEMBRA_ACC
commit work.
endif.
* << Fim da inclusão
itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.
itab_contabil-nrparpre = space.
itab_contabil-nrseqacc = wa_zycbt001_pre-nrseqc.
...
...
else.
sy-subrc = 4.
endif.
endform.
form clearing_pre changing p_belnr
p_budat.
data: conta_acc like /pws/zycbt012-saknr1,
conta_pre like /pws/zycbt012-saknr1,
cod_rze like /pws/zycbt011-agums,
texto_acc like /pws/zycbt011-txtdesc,
* >> Início da inclusão: FORM CLEARING_PRE
v_atrib type c,
* << Fim da inclusão
texto_pre like /pws/zycbt011-txtdesc.
data: begin of itab_partidas occurs 0.
include structure /pws/zycbe033.
data: end of itab_partidas.
perform clear_date_batch.
* >> Início da exclusão: FORM CLEARING_PRE
clear: itab_zycbt036,
wa_zycbt001_pre.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_PRE
clear: itab_zycbt036.
* << Fim da inclusão
refresh itab_zycbt036.
perform pega_contas_acc_pre changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-cpochv = /pws/zycbe001-nrseqc.
itab_zycbe033-tabela = 'ZYCBT001'.
case /pws/zycbe001-fdtlanc.
when 'O'.
itab_zycbe033-budat = /pws/zycbe001-dtcontr.
...
...
text-018.
itab_zycbe033-bukrs = /pws/zycbe001-bukrs.
perform verify_null_field using /pws/zycbe001-waers
'WAERS'
text-019.
itab_zycbe033-waers = /pws/zycbe001-waers.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-020.
itab_zycbe033-blart = wa_zycbt011-blart.
* >> Início da inclusão: FORM CLEARING_PRE
if v_dp ne 'X'.
* << Fim da inclusão
itab_zycbe033-d_newko = conta_pre.
* >> Início da exclusão: FORM CLEARING_PRE
if /pws/zycbt001-tpcontr(1) = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_PRE
else.
itab_zycbe033-d_newko = conta_acc.
endif.
if /pws/zycbt001-tpcontr(1) = 'D' and
v_dp is initial.
* << Fim da inclusão
itab_zycbe033-newbs = '19'.
itab_zycbe033-agkoa = 'D'.
itab_zycbe033-umskz = cod_rze.
else.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkoa = 'S'.
endif.
perform campos_liquida_pt_acc.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
* >> Início da inclusão: FORM CLEARING_PRE
if v_dp ne 'X'.
* << Fim da inclusão
itab_zycbe033-wrbtr = /pws/zycbe001-vlme.
* >> Início da inclusão: FORM CLEARING_PRE
else.
itab_zycbe033-wrbtr = wa_zycbt001_pre-slvinc.
endif.
* << Fim da inclusão
itab_zycbe033-werks = /pws/zycbe001-werks.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
perform verify_null_field using /pws/zycbe001-txcneg
'TXCAMB'
text-027.
concatenate text-488 /pws/zycbe001-nrseqc
into itab_zycbe033-c_zuonr
separated by space.
* >> Início da inclusão: FORM CLEARING_PRE
if v_dp = 'X'.
if wa_zycbt001_pre-tpcontr = 'A'.
itab_zycbe033-c_zuonr = wa_zycbt001_pre-dtcontr.
endif.
endif.
* << Fim da inclusão
append itab_zycbe033.
* >> Início da inclusão: FORM CLEARING_PRE
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
if /pws/zycbe001-tpcontr eq 'A'.
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = itab_zycbt061-nrseq_c.
select *
from /pws/zycbt002 into table itab_zycbt002p1
for all entries in itab_zycbt067
where nrseqc = itab_zycbt067-nrseq_c and
nrparc = itab_zycbt067-nrparc and
tpparc = 'P'.
loop at itab_zycbt002p1.
if itab_zycbt002p1-slvinc = '0' or
itab_zycbt002p1-slvinc ne itab_zycbt061-vlalt.
perform pega_contas_pre_new changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_partidas-tcode = 'F-30'.
itab_partidas-tabela = 'ZYCBT001'.
itab_partidas-cpochv = itab_zycbe033-cpochv.
if itab_zycbt002p1-belnr2 is initial.
itab_partidas-belnr = itab_zycbt002p1-belnr.
else.
itab_partidas-belnr = itab_zycbt002p1-belnr2.
endif.
if /pws/zycbe001-tpcontr = 'A'.
itab_partidas-agkon = conta_acc.
else.
itab_partidas-agkon = conta_pre.
endif.
itab_partidas-agkoa = 'S'.
itab_partidas-agums = space.
itab_partidas-bukrs = itab_zycbt061-bukrs_c.
itab_partidas-shkzg = 'H'.
if itab_zycbt061-baixa eq 'X'.
itab_partidas-v_sinal = '-'.
concatenate text-488 itab_zycbt061-nrseq_c
into itab_partidas-d_zuonr
separated by space.
else.
itab_partidas-v_sinal = '+'.
clear itab_partidas-d_zuonr.
endif.
itab_partidas-dtdocto = itab_zycbt061-budat_d.
append itab_partidas.
endif.
endloop.
clear itab_zycbt002p1.
refresh itab_zycbt002p1.
else.
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = itab_zycbt061-nrseq_c.
select *
from /pws/zycbt002 into table itab_zycbt002p1
for all entries in itab_zycbt067
where nrseqc = itab_zycbt067-nrseq_c and
nrparc = itab_zycbt067-nrparc and
tpparc = 'P'.
loop at itab_zycbt002p1.
if itab_zycbt002p1-slvinc = '0' or
itab_zycbt002p1-slvinc ne itab_zycbt061-vlalt.
perform pega_contas_pre_new changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_partidas-tcode = 'F-30'.
itab_partidas-tabela = 'ZYCBT001'.
itab_partidas-cpochv = itab_zycbe033-cpochv.
itab_partidas-belnr = itab_zycbt002p1-belnr.
itab_partidas-agkon = conta_acc.
itab_partidas-agkoa = 'S'.
itab_partidas-agums = space.
itab_partidas-bukrs = itab_zycbt061-bukrs_c.
itab_partidas-shkzg = 'H'.
if itab_zycbt061-baixa eq 'X'.
itab_partidas-v_sinal = '-'.
concatenate text-488 itab_zycbt061-nrseq_c
into itab_partidas-d_zuonr
separated by space.
else.
itab_partidas-v_sinal = '+'.
clear itab_partidas-d_zuonr.
endif.
itab_partidas-dtdocto = itab_zycbt061-budat_d.
append itab_partidas.
endif.
endloop.
clear itab_zycbt002p1.
refresh itab_zycbt002p1.
endif.
else.
* << Fim da inclusão
loop at itab_zycbt061 where nrseq = /pws/zycbe001-nrseqc.
select single *
from /pws/zycbt001
into wa_zycbt001_pre
where nrseqc = itab_zycbt061-nrseq_c.
perform pega_contas_acc_pre changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_partidas-tcode = 'F-30'.
itab_partidas-tabela = 'ZYCBT001'.
itab_partidas-cpochv = itab_zycbe033-cpochv.
itab_partidas-belnr = itab_zycbt061-belnr_d.
* >> Início da inclusão: FORM CLEARING_PRE
if /pws/zycbe001-tpcontr ne 'A'.
itab_partidas-agkon = conta_pre.
else.
* << Fim da inclusão
itab_partidas-agkon = conta_acc.
* >> Início da inclusão: FORM CLEARING_PRE
endif.
* << Fim da inclusão
itab_partidas-agkoa = 'S'.
itab_partidas-agums = space.
itab_partidas-bukrs = wa_zycbt001_pre-bukrs.
itab_partidas-shkzg = 'H'.
if itab_zycbt061-baixa eq 'X'.
itab_partidas-v_sinal = '-'.
concatenate text-488 /pws/zycbe001-nrseqc
into itab_partidas-d_zuonr
separated by space.
else.
itab_partidas-v_sinal = '+'.
clear itab_partidas-d_zuonr.
endif.
itab_partidas-dtdocto = itab_zycbt061-budat_d.
append itab_partidas.
endloop.
* >> Início da inclusão: FORM CLEARING_PRE
endif.
* << Fim da inclusão
clear v_div.
if /pws/zycbe001-tpcontr(1) eq 'D'.
v_div = 'X'.
select single * from /pws/zycbt089
where bukrs = /pws/zycbe001-bukrs.
if /pws/zycbe001-tpcontr+0(1) = 'D' and v_opccme = ''.
if not wa_zycbt089-rateio_cl is initial.
clear: wa_zycbt221_aux.
refresh: wa_zycbt221_aux.
loop at itab_zycbt221.
...
...
with key ct_lucro = itab_zycbt221-ct_lucro.
if sy-subrc eq 0.
wa_zycbt221_aux-vlr_rateio = wa_zycbt221_aux-vlr_rateio +
itab_zycbt221-vlr_rateio.
modify wa_zycbt221_aux index sy-tabix.
else.
move-corresponding itab_zycbt221 to wa_zycbt221_aux.
append wa_zycbt221_aux.
endif.
endloop.
* >> Início da inclusão: FORM CLEARING_PRE
endif.
* << Fim da inclusão
endif.
endif.
* >> Início da inclusão: FORM CLEARING_PRE
if wa_zycbt001_pre-slvinc ne 0.
v_atrib = 'X'.
if /pws/zycbe001-tpcontr+0(1) = 'P'.
concatenate itab_zycbt061-nrseq_c /pws/zycbe001-tpcontr
into v_zuonr.
else.
v_zuonr = itab_zycbt061-nrseq_c.
endif.
* << Fim da inclusão
endif.
* >> Início da inclusão: FORM CLEARING_PRE
sort itab_partidas by belnr.
delete adjacent duplicates from itab_partidas.
* << Fim da inclusão
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
if itab_zycbt034[] is initial.
if /pws/zycbe001-tpcontr(1) ne 'D'.
call function '/PWS/ZYCB_TRANSACAO_F_30_W'
exporting
v_modo = v_modo_bi
v_vinc_tot = 'X'
v_div = v_div
* >> Início da inclusão: FORM CLEARING_PRE
v_zuonr = v_zuonr
* << Fim da inclusão
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_partidas = itab_partidas
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
else.
...
...
others = 3.
endif.
if sy-subrc = 0.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT001'
cpochv = /pws/zycbe001-nrseqc
tpmsg = 'S'.
if sy-subrc = 0.
p_belnr = itab_zycbt032-belnr.
p_budat = itab_zycbe033-budat.
* >> Início da inclusão: FORM CLEARING_PRE
if /pws/zycbe001-tpcontr+0(1) = 'P'.
* << Fim da inclusão
/pws/zycbe001-belnr = /pws/zycbt001-belnr = itab_zycbt032-belnr.
* >> Início da inclusão: FORM CLEARING_PRE
endif.
* << Fim da inclusão
itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.
itab_contabil-nrparpre = space.
clear itab_contabil-nrseqacc.
itab_contabil-belnr = itab_zycbt032-belnr.
itab_contabil-msg = text-247.
append itab_contabil.
* >> Início da inclusão: FORM CLEARING_PRE
if /pws/zycbe001-tpcontr+0(1) = 'D' and
wa_zycbt001_pre-tpcontr = 'A'.
update /pws/zycbt001 set belnr2 = p_belnr
where nrseqc = wa_zycbt001_pre-nrseqc.
endif.
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = wa_zycbt001_pre-nrseqc .
if sy-subrc = 0.
select *
from /pws/zycbt002 into table itab_zycbt002p1
for all entries in itab_zycbt067
where nrseqc = itab_zycbt067-nrseq_c and
tpparc = 'P' and
nrparc = itab_zycbt067-nrparc.
endif.
loop at itab_zycbt067.
read table itab_zycbt002p1 with key
nrseqc = itab_zycbt067-nrseq_c
slvinc = '0.00'
vlme = itab_zycbt067-vlme_c.
if sy-subrc = 0.
update /pws/zycbt002 set belnr2 = itab_zycbt032-belnr
where nrseqc = itab_zycbt002p1-nrseqc and
nrparc = itab_zycbt002p1-nrparc and
tpparc = 'P'.
commit work.
delete itab_zycbt002p1 index 1.
clear itab_zycbt002p1.
endif.
endloop.
clear itab_zycbt002p1.
refresh itab_zycbt002p1.
* << Fim da inclusão
sy-subrc = 0.
exit.
else.
loop at itab_zycbt032 where tcode = 'F-30'
and tabela = 'ZYCBT001'
and cpochv = /pws/zycbe001-nrseqc
and tpmsg <> 'S'.
clear itab_erro-belnr.
itab_erro-msg = itab_zycbt032-msg.
append itab_erro.
...
...
select single nrseqc
nrcontr
bukrs
tpcontr
vlme
waers
dtdesem
dtentr
dtliquid
nrca
* >> Início da inclusão: FORM ELIMINA_PRE_ACC
tp_pagt_antc
* << Fim da inclusão
from /pws/zycbt001
into corresponding fields of /pws/zycbt001
where nrseqc = v_nrseqc.
/pws/zycbt001-f_pre = 'X'.
/pws/zycbt001-status = 'I'.
if wa_zycbt007-cfm = 'X'.
select single *
from /pws/zycbt001
into wa_zycbt001_log
where nrseqc = v_nrseqc.
...
...
perform monta_itab_acerto.
if not itab_acerto[] is initial.
export itab_acerto to memory id '002'.
submit /pws/zycbr128 and return.
refresh itab_acerto.
endif.
endform.
form cria_principal changing p_belnr
p_budat
p_first.
* >> Início da exclusão: FORM CRIA_PRINCIPAL
data:
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_PRINCIPAL
data: v_subrc like sy-subrc,
v_atrib type c,
* << Fim da inclusão
v_cpochv like /pws/zycbe033-cpochv,
conta_acc like /pws/zycbt012-saknr1,
conta_pre like /pws/zycbt012-saknr1,
cod_rze like /pws/zycbt011-agums,
texto_acc like /pws/zycbt011-txtdesc,
texto_pre like /pws/zycbt011-txtdesc.
perform clear_date_batch.
* >> Início da exclusão: FORM CRIA_PRINCIPAL
clear: itab_zycbt036,
wa_zycbt001_pre.
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_PRINCIPAL
clear: itab_zycbt036.
* << Fim da inclusão
refresh itab_zycbt036.
perform pega_contas_acc_pre changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_zycbe033-tcode = 'F-30'.
concatenate itab_zycbt002p-nrseqc
itab_zycbt002p-nrparc
into v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
itab_zycbe033-tabela = 'ZYCBT002'.
...
...
append itab_zycbe033.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT002'.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbt002p-vlme.
append itab_zycbt036.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
if itab_zycbt034 is initial.
* >> Início da inclusão: FORM CRIA_PRINCIPAL
if wa_zycbt001_pre-slvinc ne 0.
v_atrib = 'X'.
if /pws/zycbe001-tpcontr = 'PT'.
concatenate /pws/zycbe001-nrseqc /pws/zycbe001-tpcontr
into v_zuonr.
else.
v_zuonr = /pws/zycbe001-nrseqc.
endif.
call function '/PWS/ZYCB_TRANSACAO_F_30_X'
exporting
v_modo = v_modo_bi
filtra = 'X'
so_segundo = p_first
v_filt_atrib = v_atrib
v_zuonr = v_zuonr
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.
else.
v_atrib = 'X'.
if /pws/zycbe001-tpcontr = 'PT'.
concatenate /pws/zycbe001-nrseqc /pws/zycbe001-tpcontr
into v_zuonr.
else.
v_zuonr = /pws/zycbe001-nrseqc.
endif.
* << Fim da inclusão
call function '/PWS/ZYCB_TRANSACAO_F_30_P'
exporting
v_modo = v_modo_bi
filtra = 'X'
* >> Início da inclusão: FORM CRIA_PRINCIPAL
v_filt_atrib = v_atrib
* << Fim da inclusão
so_segundo = p_first
* >> Início da inclusão: FORM CRIA_PRINCIPAL
v_zuonr1 = v_zuonr
* << Fim da inclusão
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.
* >> Início da inclusão: FORM CRIA_PRINCIPAL
endif .
* << Fim da inclusão
if sy-subrc = 0.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT002'
cpochv = v_cpochv
tpmsg = 'S'.
if sy-subrc eq 0.
itab_zycbt002p-belnr = itab_zycbt032-belnr.
p_belnr = itab_zycbt032-belnr.
p_budat = itab_zycbe033-budat.
p_first = 'X'.
...
...
endloop.
endif.
if sy-subrc eq 0.
sort itab_partidas by agkoa agkon agums belnr.
endif.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
clear v_subrc.
if itab_zycbt034 is initial.
* >> Início da inclusão: FORM REAGRUPA_PRE
select *
from /pws/zycbt061 into table itab_zycbt061
where nrseq = wa_zycbt001-nrseqc.
read table itab_zycbt061 with key nrseq = wa_zycbt001-nrseqc .
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
delete itab_partidas where belnr = ' ' .
endif.
* << Fim da inclusão
call function '/PWS/ZYCB_TRANSACAO_F_30_W'
exporting
v_modo = v_modo_bi
v_vinc_tot = 'X'
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_partidas = itab_partidas
exceptions
...
...
itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrcontr.
when 'NRSEQC'.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.
itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrseqc.
when 'TPCONTR'.
itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.
itab_zycbe033-d_zuonr = wa_zycbt001_pre-tpcontr.
endcase.
endcase.
endloop.
* >> Início da inclusão: FORM RETORNA_SALDO_ACC
if not itab_zycbe033-d_zuonr is initial.
if wa_zycbt001_pre-tpcontr(1) = 'P'.
concatenate wa_zycbt001_pre-nrseqc wa_zycbt001_pre-tpcontr
into itab_zycbe033-d_zuonr.
endif.
endif.
* << Fim da inclusão
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
perform verify_null_field using wa_zycbt001_pre-bukrs
'BUKRS'
text-018.
itab_zycbe033-bukrs = wa_zycbt001_pre-bukrs.
perform verify_null_field using wa_zycbt001_pre-waers
'WAERS'
text-019.
itab_zycbe033-waers = wa_zycbt001_pre-waers.
perform verify_null_field using wa_zycbt011-blart
...
...
else.
sy-subrc = 4.
endif.
endform.
form clearing using p_conta
p_texto
p_belnr
p_budat.
perform clear_date_batch.
data: v_cpochv like /pws/zycbe033-cpochv,
* >> Início da exclusão: FORM CLEARING
v_subrc like sy-subrc.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING
v_subrc like sy-subrc,
valor like /pws/zycbt002-vlme,
belnr like /pws/zycbt001-belnr,
budat like sy-datum,
subrc like sy-subrc,
v_prim type c,
v_belnr2 type /pws/zycbt002-belnr2,
v_lines like sy-tabix.
* << Fim da inclusão
itab_zycbe033-tcode = 'F-30'.
v_cpochv = wa_zycbt001_pre-nrseqc.
itab_zycbe033-cpochv = v_cpochv.
itab_zycbe033-tabela = 'ZYCBT001'.
itab_zycbe033-budat = p_budat.
if /pws/zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
itab_zycbe033-d_valut = sy-datum.
itab_zycbe033-c_valut = sy-datum.
else.
...
...
itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrcontr.
when 'NRSEQC'.
itab_zycbe033-c_zuonr = wa_zycbt001_pre-nrseqc.
itab_zycbe033-d_zuonr = wa_zycbt001_pre-nrseqc.
when 'TPCONTR'.
itab_zycbe033-c_zuonr = wa_zycbt001_pre-tpcontr.
itab_zycbe033-d_zuonr = wa_zycbt001_pre-tpcontr.
endcase.
endcase.
endloop.
* >> Início da inclusão: FORM CLEARING
if wa_zycbt001_pre-tpcontr = 'A'.
itab_zycbe033-d_zuonr = wa_zycbt001_pre-dtvincul.
endif.
* << Fim da inclusão
itab_zycbe033-bktxt = /pws/zycbt007-bktxt.
perform verify_null_field using wa_zycbt001_pre-bukrs
'BUKRS'
text-018.
itab_zycbe033-bukrs = wa_zycbt001_pre-bukrs.
perform verify_null_field using wa_zycbt001_pre-waers
'WAERS'
text-019.
itab_zycbe033-waers = wa_zycbt001_pre-waers.
perform verify_null_field using wa_zycbt011-blart
...
...
itab_partidas-bukrs = wa_zycbt001_pre-bukrs.
itab_partidas-shkzg = 'H'.
itab_partidas-v_sinal = '-'.
itab_partidas-dtdocto = p_budat.
append itab_partidas.
if not wa_zycbt001_pre-belnr2 is initial and
( not wa_zycbt001_pre-dtvincul eq space or
not wa_zycbt001_pre-dtvincul eq '00000000' ).
itab_partidas-belnr = wa_zycbt001_pre-belnr2.
itab_partidas-dtdocto = wa_zycbt001_pre-dtvincul.
* >> Início da inclusão: FORM CLEARING
append itab_partidas.
endif.
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
if wa_zycbt001_pre-slvinc ne 0.
clear itab_zycbt002p.
refresh itab_zycbt002p.
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = wa_zycbt001_pre-nrseqc .
select *
from /pws/zycbt002 into table itab_zycbt002p
for all entries in itab_zycbt067
where nrseqc = itab_zycbt067-nrseq_c and
tpparc = 'P' and
nrparc = itab_zycbt067-nrparc and
slvinc = itab_zycbt067-vlme.
read table itab_zycbt002p with key
nrseqc = wa_zycbt001_pre-nrseqc.
itab_partidas-tcode = 'F-30'.
itab_partidas-tabela = 'ZYCBT001'.
itab_partidas-cpochv = itab_zycbe033-cpochv.
itab_partidas-belnr = itab_zycbt002p-belnr2.
itab_partidas-agkon = p_conta.
itab_partidas-agkoa = 'S'.
itab_partidas-agums = space.
itab_partidas-bukrs = wa_zycbt001_pre-bukrs.
itab_partidas-shkzg = 'H'.
itab_partidas-v_sinal = '-'.
itab_partidas-dtdocto = p_budat.
* << Fim da inclusão
append itab_partidas.
* >> Início da inclusão: FORM CLEARING
endif.
endif.
if wa_zycbt001_pre-tpcontr = 'PT'.
concatenate wa_zycbt001_pre-nrseqc wa_zycbt001_pre-tpcontr
into v_zuonr.
else.
if wa_zycbt001_pre-tpcontr = 'A'.
v_zuonr = wa_zycbt001_pre-dtvincul.
else.
v_zuonr = wa_zycbt001_pre-nrseqc.
endif.
* << Fim da inclusão
endif.
if itab_zycbt034 is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30_W'
exporting
v_modo = v_modo_bi
* >> Início da inclusão: FORM CLEARING
v_zuonr = v_zuonr
* << Fim da inclusão
tables
t_dados = itab_zycbe033
...
...
if sy-subrc = 0.
wa_zycbt001_pre-belnr2 = itab_zycbt032-belnr.
wa_zycbt001_pre-dtvincul = itab_zycbe033-budat.
update /pws/zycbt001 set belnr2 = wa_zycbt001_pre-belnr2
dtvincul = wa_zycbt001_pre-dtvincul
where nrseqc = wa_zycbt001_pre-nrseqc.
itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.
itab_contabil-nrparpre = space.
itab_contabil-nrseqacc = wa_zycbt001_pre-nrseqc.
itab_contabil-belnr = itab_zycbt032-belnr.
* >> Início da inclusão: FORM CLEARING
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
itab_contabil-msg = text-501.
else.
* << Fim da inclusão
itab_contabil-msg = text-251.
* >> Início da inclusão: FORM CLEARING
endif.
* << Fim da inclusão
append itab_contabil.
* >> Início da inclusão: FORM CLEARING
if itab_zycbt061-tpcontr_c(1) ca 'PS' or
wa_zycbt001_pre-slvinc ne 0 .
clear: belnr, budat.
belnr = itab_zycbt032-belnr.
perform retorna_principal_origem using belnr budat.
endif.
* << Fim da inclusão
v_subrc = 0.
else.
loop at itab_zycbt032 where tcode = 'F-30'
and tabela = 'ZYCBT001'
and cpochv = v_cpochv.
clear itab_erro-belnr.
itab_erro-msg = itab_zycbt032-msg.
append itab_erro.
endloop.
v_subrc = 4.
...
...
where ktosl eq 'LAP' and
codeven eq v_codeven.
loop at itab_zyglt321.
case itab_zyglt321-cpor3.
when 'XBLNR' or 'ZUONR'.
case itab_zyglt321-cpocb.
when 'NRCONTR'.
move wa_zycbt060-nrseq to: itab_zycbe033-xblnr ,
itab_zycbe033-c_zuonr,
itab_zycbe033-d_zuonr.
* >> Início da inclusão: FORM CAMPOS_LIQUIDA_PT_ACC
if /pws/zycbe001-tpcontr(1) = 'P'.
concatenate wa_zycbt060-nrseq /pws/zycbe001-tpcontr
into itab_zycbe033-d_zuonr.
endif.
* << Fim da inclusão
when 'NRCA'.
move wa_zycbt060-nrca to: itab_zycbe033-xblnr ,
itab_zycbe033-c_zuonr,
itab_zycbe033-d_zuonr.
when space.
move wa_zycbt011-txtdesc to: itab_zycbe033-c_sgtxt,
itab_zycbe033-d_sgtxt.
when 'TXTINF'.
move /pws/zycbe001-txtinf to: itab_zycbe033-xblnr ,
itab_zycbe033-c_zuonr,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F04
...
MOVE /pws/zycbe001 TO wa_zycbt001.
MOVE /pws/zycbe074 TO wa_zycbt074.
/pws/zycbt001 = wa_zycbt001.
MODIFY /pws/zycbt001.
ELSE.
MOVE wa_zycbt001 TO /pws/zycbe001.
MOVE /pws/zycbe074 TO wa_zycbt074.
ENDIF.
PERFORM data_efetiva.
ENDFORM.
* >> Início da exclusão: FORM FILL_DATE_FB02
FORM fill_date_fb02.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
form fill_date_fb02 using p_pt_st.
* << Fim da inclusão
PERFORM clear_date_batch.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB02'.
itab_zycbe033-tabela = '/PWS/ZYCBT001'.
itab_zycbe033-cpochv = /pws/zycbe001-nrseqc.
PERFORM verify_null_field
USING /pws/zycbe001-bukrs 'BUKRS' text-018.
itab_zycbe033-bukrs = /pws/zycbe001-bukrs.
PERFORM verify_null_field
USING /pws/zycbe001-belnr 'BELNR' text-181.
* >> Início da inclusão: FORM FILL_DATE_FB02
if not p_pt_st is initial.
if not itab_zycbt002p-belnr2 is initial.
itab_zycbe033-belnr = itab_zycbt002p-belnr2.
else.
itab_zycbe033-belnr = itab_zycbt002p-belnr.
endif.
else.
* << Fim da inclusão
itab_zycbe033-belnr = /pws/zycbe001-belnr.
* >> Início da inclusão: FORM FILL_DATE_FB02
endif.
if not p_pt_st is initial and not itab_zycbt002p-belnr2 is initial.
itab_zycbe033-dtdocto = itab_zycbt002p-dtvincul(4).
else.
* << Fim da inclusão
IF /pws/zycbe001-fdtlanc = 'O'.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe001-dtcontr.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
itab_zycbe033-dtdocto = /pws/zycbe001-dtcontr.
* << Fim da inclusão
ELSEIF /pws/zycbe001-fdtlanc = 'D'.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe001-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
itab_zycbe033-dtdocto = /pws/zycbe001-dtdesem.
* << Fim da inclusão
ELSEIF /pws/zycbe001-fdtlanc = 'C'.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe001-dtcred.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
itab_zycbe033-dtdocto = /pws/zycbe001-dtcred.
endif.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_FB02
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = itab_zycbe033-bukrs
v_date = itab_zycbe033-dtdocto
importing
v_year = itab_zycbe033-gjahs
exceptions
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
others = 7.
* << Fim da inclusão
PERFORM verify_null_field
USING /pws/zycbe001-dtliquid 'DTPROR' text-350.
itab_zycbe033-zfbdt = /pws/zycbe001-dtliquid.
PERFORM verify_null_field
USING itab_zycbe033-gjahs 'GJAHS' text-351.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'SGTXT'.
CASE itab_zyglt321-cpocb.
WHEN 'TXTINF'.
...
...
WHEN 'DTCONTR'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtcontr.
WHEN 'DTCRED'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtcred.
WHEN 'DTDESEM'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtdesem.
WHEN 'DTENTR'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtentr.
WHEN 'DTINIJUR'.
itab_zycbe033-zfbdt = /pws/zycbe001-dtinijur.
* >> Início da inclusão: FORM FILL_DATE_FB02
when 'DTFINAL'.
if not p_pt_st is initial.
if not itab_zycbt002p-dtpror is initial.
itab_zycbe033-zfbdt = itab_zycbt002p-dtpror.
else.
itab_zycbe033-zfbdt = itab_zycbt002p-dtfinal.
endif.
else.
itab_zycbt002p_aux[] = itab_zycbt002p[].
describe table itab_zycbt002p_aux lines v_linha.
read table itab_zycbt002p_aux index v_linha.
if not itab_zycbt002p_aux-dtpror is initial.
itab_zycbe033-zfbdt = itab_zycbt002p_aux-dtpror.
else.
itab_zycbe033-zfbdt = itab_zycbt002p_aux-dtfinal.
endif.
endif.
* << Fim da inclusão
ENDCASE.
WHEN 'ZUONR'.
CASE itab_zyglt321-cpocb.
WHEN 'NRSEQC'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.
WHEN 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.
WHEN 'TXTINF'.
...
...
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_codeven.
ENDLOOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form contab_captacao_ps .
data: conta_acc like /pws/zycbt012-saknr1,
conta_pre like /pws/zycbt012-saknr1,
cod_rze like /pws/zycbt011-agums,
texto_acc like /pws/zycbt011-txtdesc,
texto_pre like /pws/zycbt011-txtdesc.
data: begin of itab_partidas occurs 0.
include structure /pws/zycbe033.
data: end of itab_partidas.
perform clear_date_batch.
clear: itab_zycbt036,
wa_zycbt001_pre.
refresh itab_zycbt036.
perform pega_contas_acc_pre changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-cpochv = /pws/zycbe001-nrseqc.
itab_zycbe033-tabela = 'ZYCBT001'.
case /pws/zycbe001-fdtlanc.
when 'O'.
itab_zycbe033-budat = /pws/zycbe001-dtcontr.
when 'D'.
itab_zycbe033-budat = /pws/zycbe001-dtdesem.
when 'C'.
itab_zycbe033-budat = /pws/zycbe001-dtcred.
endcase.
perform verify_null_field using itab_zycbe033-budat
'DTDESEM'
text-023.
if wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
else.
itab_zycbe033-bldat = itab_zycbe033-budat.
endif.
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
perform verify_null_field using /pws/zycbe001-bukrs
'BUKRS'
text-018.
itab_zycbe033-bukrs = /pws/zycbe001-bukrs.
perform verify_null_field using /pws/zycbe001-waers
'WAERS'
text-019.
itab_zycbe033-waers = /pws/zycbe001-waers.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-020.
itab_zycbe033-blart = wa_zycbt011-blart.
itab_zycbe033-d_newko = conta_pre.
if /pws/zycbt001-tpcontr(1) = 'D'.
itab_zycbe033-newbs = '19'.
itab_zycbe033-agkoa = 'D'.
itab_zycbe033-umskz = cod_rze.
else.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkoa = 'S'.
endif.
perform campos_liquida_pt_acc.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-wrbtr = /pws/zycbe001-vlme.
itab_zycbe033-werks = /pws/zycbe001-werks.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
perform verify_null_field using /pws/zycbe001-txcneg
'TXCAMB'
text-027.
concatenate text-488 /pws/zycbe001-nrseqc
into itab_zycbe033-c_zuonr
separated by space.
append itab_zycbe033.
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = itab_zycbt061-nrseq_c.
loop at itab_zycbt067 .
perform pega_contas_pre_new changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_partidas-tcode = 'F-30'.
itab_partidas-tabela = 'ZYCBT001'.
itab_partidas-cpochv = itab_zycbe033-cpochv.
itab_partidas-belnr = itab_zycbt067-belnr_c.
itab_partidas-agkon = conta_acc.
itab_partidas-agkoa = 'S'.
itab_partidas-agums = space.
itab_partidas-bukrs = itab_zycbt061-bukrs_c.
itab_partidas-shkzg = 'H'.
if itab_zycbt061-baixa eq 'X'.
itab_partidas-v_sinal = '-'.
concatenate text-488 itab_zycbt061-nrseq_c
into itab_partidas-d_zuonr
separated by space.
else.
itab_partidas-v_sinal = '+'.
clear itab_partidas-d_zuonr.
endif.
itab_partidas-dtdocto = itab_zycbt061-budat_d.
append itab_partidas.
endloop.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
if itab_zycbt034[] is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30_W'
exporting
v_modo = v_modo_bi
v_vinc_tot = 'X'
v_div = v_div
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_partidas = itab_partidas
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
if sy-subrc = 0.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT001'
cpochv = /pws/zycbe001-nrseqc
tpmsg = 'S'.
if sy-subrc = 0.
/pws/zycbe001-belnr = /pws/zycbt001-belnr = itab_zycbt032-belnr.
itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.
itab_contabil-nrparpre = space.
clear itab_contabil-nrseqacc.
itab_contabil-belnr = itab_zycbt032-belnr.
itab_contabil-msg = text-247.
append itab_contabil.
sy-subrc = 0.
exit.
else.
loop at itab_zycbt032 where tcode = 'F-30'
and tabela = 'ZYCBT001'
and cpochv = /pws/zycbe001-nrseqc
and tpmsg <> 'S'.
clear itab_erro-belnr.
itab_erro-msg = itab_zycbt032-msg.
append itab_erro.
endloop.
sy-subrc = 4.
endif.
else.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
sy-subrc = 4.
endif.
else.
sy-subrc = 4.
endif.
endform.
form pega_contas_pre_new changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
data: v_codeven like /pws/zycbt011-codeven,
v_codaux like /pws/zyglt316-codaux1.
clear: conta_acc, conta_pre, texto_acc, texto_pre.
clear wa_zycbt007.
select single * from /pws/zycbt007
into wa_zycbt007
where bukrs eq itab_zycbt061-bukrs_c.
refresh itab_zycbt013.
select * from /pws/zycbt013
into table itab_zycbt013
where tabela = 'ZYCBT001'.
if not wa_zycbt001_pre is initial.
concatenate '001' wa_zycbt001_pre-tpcontr into v_codeven.
clear wa_zycbt011.
select single * from /pws/zycbt011
into wa_zycbt011
where codeven = v_codeven
and codmod = 'E'.
texto_acc = wa_zycbt011-txtdesc.
cod_rze = wa_zycbt011-agums.
concatenate wa_zycbt001_pre-tpcontr
wa_zycbt001_pre-przcontr
into v_codaux
separated by space.
call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
exporting
bukrs = wa_zycbt001_pre-bukrs
ktosl = 'CPT'
codaux1 = v_codaux
tables
account = itab_zyglt316
exceptions
key_not_found = 1
rules_not_found = 2
others = 3.
if sy-subrc eq 0.
read table itab_zyglt316 index 1.
conta_acc = itab_zyglt316-konth.
endif.
endif.
concatenate '001' itab_zycbt061-tpcontr_c into v_codeven.
clear wa_zycbt011.
select single * from /pws/zycbt011
into wa_zycbt011
where codeven = v_codeven
and codmod = 'E'.
texto_pre = wa_zycbt011-txtdesc.
cod_rze = wa_zycbt011-agums.
concatenate /pws/zycbe001-tpcontr
/pws/zycbe001-przcontr
into v_codaux
separated by space.
refresh itab_zyglt316.
call function '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
exporting
bukrs = itab_zycbt061-bukrs_c
ktosl = 'CPT'
codaux1 = v_codaux
tables
account = itab_zyglt316
exceptions
key_not_found = 1
rules_not_found = 2
others = 3.
if sy-subrc eq 0.
read table itab_zyglt316 index 1.
conta_pre = itab_zyglt316-konth.
endif.
endform.
form retorna_principal_origem using belnr
budat.
data: valor like /pws/zycbt002-vlme,
subrc like sy-subrc,
v_prim type c,
v_lines like sy-tabix.
clear: itab_zycbt002p.
select *
from /pws/zycbt002
into table itab_zycbt002p
where nrseqc = wa_zycbt001_pre-nrseqc
and tpparc = 'P'.
select *
from /pws/zycbt067
into table itab_zycbt067
where nrseq_c = wa_zycbt001_pre-nrseqc.
loop at itab_zycbt067.
read table itab_zycbt002p with key
nrseqc = itab_zycbt067-nrseq_c
nrparc = itab_zycbt067-nrparc.
at last.
v_prim = 'L'.
endat.
perform cria_principal_original changing belnr budat v_prim.
if itab_zycbt002p-slvinc ne 0.
itab_zycbt002p-slvinc = itab_zycbt067-vlme_c.
else.
itab_zycbt002p-slvinc =
itab_zycbt002p-slvinc + itab_zycbt067-vlme.
endif.
clear itab_zycbt002p-belnr2.
update /pws/zycbt002 set belnr2 = itab_zycbt032-belnr
where nrseqc = itab_zycbt002p-nrseqc and
nrparc = itab_zycbt002p-nrparc and
tpparc = 'P'.
commit work.
endloop.
endform.
form cria_principal_original changing p_belnr
p_budat
p_first.
data:
v_cpochv like /pws/zycbe033-cpochv,
conta_acc like /pws/zycbt012-saknr1,
conta_pre like /pws/zycbt012-saknr1,
cod_rze like /pws/zycbt011-agums,
texto_acc like /pws/zycbt011-txtdesc,
v_atrib type c,
texto_pre like /pws/zycbt011-txtdesc.
perform clear_date_batch.
clear: itab_zycbt036.
refresh itab_zycbt036.
perform pega_contas_acc_pre changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_zycbe033-tcode = 'F-30'.
concatenate itab_zycbt002p-nrseqc
itab_zycbt002p-nrparc
into v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
itab_zycbe033-tabela = 'ZYCBT002'.
case /pws/zycbe001-fdtlanc.
when 'O'.
itab_zycbe033-budat = /pws/zycbe001-dtcontr.
when 'D'.
itab_zycbe033-budat = /pws/zycbe001-dtdesem.
when 'C'.
itab_zycbe033-budat = /pws/zycbe001-dtcred.
endcase.
perform verify_null_field using itab_zycbe033-budat
'DTDESEM'
text-023.
if wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
itab_zycbe033-d_valut = sy-datum.
else.
itab_zycbe033-bldat = itab_zycbe033-budat.
itab_zycbe033-d_valut = itab_zycbt002p-dtfinal.
endif.
itab_zycbe033-zfbdt = itab_zycbt002p-dtfinal.
loop at itab_zycbt013.
case itab_zycbt013-cpor3.
when 'XBLNR'.
case itab_zycbt013-cpocb.
when 'NRCONTR'.
itab_zycbe033-xblnr = /pws/zycbe001-nrcontr.
when 'NRSEQC'.
itab_zycbe033-xblnr = /pws/zycbe001-nrseqc.
when 'TPCONTR'.
itab_zycbe033-xblnr = /pws/zycbe001-tpcontr.
endcase.
when 'ZUONR'.
case itab_zycbt013-cpocb.
when 'NRCONTR'.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
when 'NRSEQC'.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
when 'TPCONTR'.
itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.
itab_zycbe033-d_zuonr = /pws/zycbe001-tpcontr.
endcase.
endcase.
endloop.
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
perform verify_null_field using /pws/zycbe001-bukrs
'BUKRS'
text-018.
itab_zycbe033-bukrs = /pws/zycbe001-bukrs.
perform verify_null_field using /pws/zycbe001-waers
'WAERS'
text-019.
itab_zycbe033-waers = /pws/zycbe001-waers.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-020.
itab_zycbe033-blart = wa_zycbt011-blart.
if /pws/zycbe001-tpcontr ne 'A'.
itab_zycbe033-d_newko = conta_pre.
else.
itab_zycbe033-d_newko = conta_acc.
endif.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-belnr = p_belnr.
itab_zycbe033-dtdocto = p_budat.
if /pws/zycbe001-ftxt is initial.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-augtx = wa_zycbt011-txtdesc.
else.
itab_zycbe033-d_sgtxt = /pws/zycbe001-txtinf.
itab_zycbe033-c_sgtxt = /pws/zycbe001-txtinf.
itab_zycbe033-augtx = /pws/zycbe001-txtinf.
endif.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-wrbtr = /pws/zycbe001-vlme.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
perform verify_null_field using /pws/zycbe001-txcneg
'TXCAMB'
text-027.
if p_first eq 'L'.
itab_zycbe033-flag_nc = 'X'.
p_first = 'X'.
endif.
append itab_zycbe033.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT002'.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbt002p-vlme.
append itab_zycbt036.
v_atrib = 'X'.
if wa_zycbt001_pre-tpcontr = 'PT'.
concatenate wa_zycbt001_pre-nrseqc wa_zycbt001_pre-tpcontr
into v_zuonr.
else.
v_zuonr = wa_zycbt001_pre-nrseqc.
endif.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
if itab_zycbt034 is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30_P'
exporting
v_modo = v_modo_bi
filtra = 'X'
so_segundo = p_first
v_filt_atrib = v_atrib
v_zuonr1 = v_zuonr
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 = 0.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT002'
cpochv = v_cpochv
tpmsg = 'S'.
if sy-subrc eq 0.
itab_zycbt002p-belnr = itab_zycbt032-belnr.
p_belnr = itab_zycbt032-belnr.
p_budat = itab_zycbe033-budat.
p_first = 'X'.
itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.
itab_contabil-nrparpre = itab_zycbt002p-nrparc.
itab_contabil-belnr = itab_zycbt032-belnr.
itab_contabil-msg = text-249.
append itab_contabil.
itab_zycbt002p-belnr = itab_zycbt032-belnr .
sy-subrc = 0.
else.
loop at itab_zycbt032 where tcode = 'F-30'
and tabela = 'ZYCBT002'
and cpochv = v_cpochv
and tpmsg <> 'S'.
clear itab_erro-belnr.
itab_erro-msg = itab_zycbt032-msg.
append itab_erro.
endloop.
sy-subrc = 4.
endif.
else.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
sy-subrc = 4.
endif.
else.
sy-subrc = 4.
endif.
endform.
form clearing_residual changing p_belnr
p_budat.
data: v_subrc like sy-subrc,
v_atrib type c,
v_cpochv like /pws/zycbe033-cpochv,
conta_acc like /pws/zycbt012-saknr1,
conta_pre like /pws/zycbt012-saknr1,
cod_rze like /pws/zycbt011-agums,
texto_acc like /pws/zycbt011-txtdesc,
texto_pre like /pws/zycbt011-txtdesc.
perform clear_date_batch.
clear: itab_zycbt036.
refresh itab_zycbt036.
perform pega_contas_acc_pre changing conta_acc texto_acc
conta_pre texto_pre
cod_rze.
itab_zycbe033-tcode = 'F-30'.
concatenate itab_zycbt002p-nrseqc
itab_zycbt002p-nrparc
into v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
itab_zycbe033-tabela = 'ZYCBT002'.
case /pws/zycbe001-fdtlanc.
when 'O'.
itab_zycbe033-budat = /pws/zycbe001-dtcontr.
when 'D'.
itab_zycbe033-budat = /pws/zycbe001-dtdesem.
when 'C'.
itab_zycbe033-budat = /pws/zycbe001-dtcred.
endcase.
perform verify_null_field using itab_zycbe033-budat
'DTDESEM'
text-023.
if wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
itab_zycbe033-d_valut = sy-datum.
else.
itab_zycbe033-bldat = itab_zycbe033-budat.
itab_zycbe033-d_valut = itab_zycbt002p-dtfinal.
endif.
itab_zycbe033-zfbdt = itab_zycbt002p-dtfinal.
loop at itab_zycbt013.
case itab_zycbt013-cpor3.
when 'XBLNR'.
case itab_zycbt013-cpocb.
when 'NRCONTR'.
itab_zycbe033-xblnr = /pws/zycbe001-nrcontr.
when 'NRSEQC'.
itab_zycbe033-xblnr = /pws/zycbe001-nrseqc.
when 'TPCONTR'.
itab_zycbe033-xblnr = /pws/zycbe001-tpcontr.
endcase.
when 'ZUONR'.
case itab_zycbt013-cpocb.
when 'NRCONTR'.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrcontr.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
when 'NRSEQC'.
itab_zycbe033-c_zuonr = /pws/zycbe001-nrseqc.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
when 'TPCONTR'.
itab_zycbe033-c_zuonr = /pws/zycbe001-tpcontr.
itab_zycbe033-d_zuonr = /pws/zycbe001-tpcontr.
endcase.
endcase.
endloop.
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
perform verify_null_field using /pws/zycbe001-bukrs
'BUKRS'
text-018.
itab_zycbe033-bukrs = /pws/zycbe001-bukrs.
perform verify_null_field using /pws/zycbe001-waers
'WAERS'
text-019.
itab_zycbe033-waers = /pws/zycbe001-waers.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-020.
itab_zycbe033-blart = wa_zycbt011-blart.
itab_zycbe033-d_newko = conta_pre.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-belnr = p_belnr.
itab_zycbe033-dtdocto = p_budat.
if /pws/zycbe001-ftxt is initial.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-augtx = wa_zycbt011-txtdesc.
else.
itab_zycbe033-d_sgtxt = /pws/zycbe001-txtinf.
itab_zycbe033-c_sgtxt = /pws/zycbe001-txtinf.
itab_zycbe033-augtx = /pws/zycbe001-txtinf.
endif.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-wrbtr = /pws/zycbe001-vlme.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
perform verify_null_field using /pws/zycbe001-txcneg
'TXCAMB'
text-027.
append itab_zycbe033.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT002'.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
if wa_zycbt001_pre-tpcontr ne 'PT'.
itab_zycbt036-residuo = wa_zycbt001_pre-slvinc.
else.
read table itab_zycbt067 with key /pws/zycbe001-nrseqc.
itab_zycbt036-residuo = itab_zycbt067-vlme.
endif.
append itab_zycbt036.
if /pws/zycbe001-tpcontr eq 'A'.
itab_zycbe033-xblnr = wa_zycbt001_pre-nrseqc.
itab_zycbe033-wrbtr = itab_zycbt067-vlme.
itab_zycbe033-d_newko = conta_acc.
modify itab_zycbe033 index 1.
endif.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
if itab_zycbt034 is initial.
v_atrib = 'X'.
v_zuonr = wa_zycbt001_pre-nrseqc .
call function '/PWS/ZYCB_TRANSACAO_F_30_X'
exporting
v_modo = v_modo_bi
filtra = 'X'
v_filt_atrib = v_atrib
v_zuonr = v_zuonr
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 = 0.
if /pws/zycbe001-tpcontr ne 'A'.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT002'
cpochv(08) = /pws/zycbe001-nrseqc
tpmsg = 'S'.
else.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = 'ZYCBT002'
tpmsg = 'S'.
endif.
if sy-subrc = 0.
p_belnr = itab_zycbt032-belnr.
p_budat = itab_zycbe033-budat.
itab_contabil-nrseqpre = /pws/zycbe001-nrseqc.
itab_contabil-nrparpre = space.
clear itab_contabil-nrseqacc.
itab_contabil-belnr = itab_zycbt032-belnr.
itab_contabil-msg = text-502.
append itab_contabil.
select *
from /pws/zycbt067 into table itab_zycbt067
where nrseq_c = wa_zycbt001_pre-nrseqc .
select *
from /pws/zycbt002 into table itab_zycbt002_res
for all entries in itab_zycbt067
where nrseqc = itab_zycbt067-nrseq_c and
tpparc = 'P' and
nrparc = itab_zycbt067-nrparc.
loop at itab_zycbt067.
read table itab_zycbt002_res with key
nrseqc = itab_zycbt067-nrseq_c
slvinc = itab_zycbt067-vlme
vlme = itab_zycbt067-vlme_c.
if sy-subrc = 0.
update /pws/zycbt002 set belnr2 = itab_zycbt032-belnr
where nrseqc = itab_zycbt002_res-nrseqc and
nrparc = itab_zycbt002_res-nrparc and
tpparc = 'P'.
commit work.
delete itab_zycbt002_res index 1.
clear itab_zycbt002_res.
endif.
endloop.
clear itab_zycbt002_res.
sy-subrc = 0.
exit.
else.
loop at itab_zycbt032 where tcode = 'F-30'
and tabela = 'ZYCBT001'
and cpochv = /pws/zycbe001-nrseqc
and tpmsg <> 'S'.
clear itab_erro-belnr.
itab_erro-msg = itab_zycbt032-msg.
append itab_erro.
endloop.
sy-subrc = 4.
endif.
else.
loop at itab_zycbt034.
message i016 with itab_zycbt034-descricao.
endloop.
sy-subrc = 4.
endif.
else.
sy-subrc = 4.
endif.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001I01
...
endif.
endif.
if /pws/zycbe001-bcocred is initial .
clear : /pws/zycbe001-conta_contab.
else.
shift /pws/zycbe001-bcocred left deleting leading '0'.
shift wa_zycbt001-bcocred left deleting leading '0'.
check /pws/zycbe001-conta_contab is initial or
( not /pws/zycbe001-conta_contab is initial and
/pws/zycbe001-bcocred ne v_bco_cab ).
* >> Início da exclusão: MODULE EMPRESA_BANCO_CRED
check sy-tcode = c_transacao_c and
/pws/zycbe001-belnr is initial.
* << Fim da exclusão
v_codaux1 = /pws/zycbe001-bcocred.
shift v_codaux1 left deleting leading '0'.
perform busca_conta_contabil
* >> Início da exclusão: MODULE EMPRESA_BANCO_CRED
using 'C'
* << Fim da exclusão
* >> Início da inclusão: MODULE EMPRESA_BANCO_CRED
using 'D'
* << Fim da inclusão
/pws/zycbe001-bukrs
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001O01
...
if not vg_tcode is initial.
move: 'X' to vg_origem.
clear vg_tcode.
set parameter id '/PWS/ZYCBP404' field vg_tcode.
endif.
if vg_origem eq 'X' or
not /pws/zycbe001-nrseqcot is initial.
loop at screen.
if screen-name eq '/PWS/ZYCBE001-VLME' or
screen-name eq '/PWS/ZYCBE001-TXCNEG' or
* >> Início da exclusão: MODULE SET_SCREEN
screen-name eq '/PWS/ZYCBE001-BCOCRED' or
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN
screen-name eq '/PWS/ZYCBE001-BCONEGOC' or
* << Fim da inclusão
screen-name eq '/PWS/ZYCBE001-WAERS'.
screen-input = '0'.
endif.
modify screen.
endloop.
endif.
endmodule.
module set_screen_200 output.
if v_status_s200 = '0'.
loop at screen.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001TOP
...
/pws/zycbe115,
/pws/zycbt115,
/pws/zycbt216,
/pws/zycbe216,
/pws/zycbe226,
/pws/zycbt226,
/pws/zycbe227,
/pws/zycbt227,
/pws/zycbe241,
/pws/zycbt241,
* >> Início da inclusão:
/pws/zycbt067,
* << Fim da inclusão
/pws/zyglt340,
/pws/zyglt343,
/pws/zyglt364,
rm06b,
t16fe,
j_1bbranch,
/pws/zycet001,
/pws/zycet002,
/pws/zycbt222,
/pws/zycbe223,
...
...
check(1).
DATA: END OF itab_zyglt209_aux.
DATA: BEGIN OF itab_excluido OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt209.
DATA: mark(1),
check(1).
DATA: END OF itab_excluido.
DATA: BEGIN OF itab_zycbt002p_ant OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt002.
DATA: mark(1).
* >> Início da inclusão:
data v_flag(1) type c.
data: escalonado(1).
data: icon_esc like icon-id.
* << Fim da inclusão
DATA: END OF itab_zycbt002p_ant.
DATA: BEGIN OF itab_zycbt002p_exc OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt002.
DATA: mark(1).
DATA: END OF itab_zycbt002p_exc.
DATA: itab_tcurx LIKE tcurx OCCURS 10 WITH HEADER LINE.
DATA: itab_zyglt100
TYPE STANDARD TABLE OF /pws/zyglt100 WITH HEADER LINE.
DATA:
itab_zycbt002_aux LIKE /pws/zycbt002 OCCURS 10 WITH HEADER LINE,
itab_zycbt013 LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,
itab_zycbt012 LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE,
* >> Início da exclusão:
itab_zycbt036 LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE.
* << Fim da exclusão
* >> Início da inclusão:
itab_zycbt036 like /pws/zycbt036 occurs 10 with header line,
itab_zycbt036_aux like /pws/zycbt036 occurs 10 with header line.
* << Fim da inclusão
DATA: BEGIN OF itab_pf_status OCCURS 10,
fcode LIKE rsmpe-func,
END OF itab_pf_status.
DATA: itab_zycbt010 LIKE /pws/zycbt010 OCCURS 5 WITH HEADER LINE.
DATA: BEGIN OF itab_zycbt136_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe136.
DATA: END OF itab_zycbt136_aux.
DATA: BEGIN OF itab_zycbt004_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt004.
DATA: END OF itab_zycbt004_aux.
...
...
DATA: END OF itab_zycbt061.
DATA: BEGIN OF itab_thol OCCURS 0.
INCLUDE STRUCTURE thol.
DATA: END OF itab_thol.
DATA: BEGIN OF itab_custo OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt350.
DATA: END OF itab_custo.
DATA: BEGIN OF itab_lucro OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt350.
DATA: END OF itab_lucro.
* >> Início da inclusão:
data: begin of itab_zycbt067 occurs 0.
include structure /pws/zycbt067.
data: end of itab_zycbt067.
* << Fim da inclusão
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt350.
DATA: END OF itab_contas.
DATA BEGIN OF itab_zycbt005 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt005.
DATA END OF itab_zycbt005.
DATA BEGIN OF itab_dados OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt034.
DATA END OF itab_dados.
DATA: BEGIN OF itab_zycbt088 OCCURS 0.
...
...
DATA: BEGIN OF itab_tbaer OCCURS 0,
koart LIKE tbaer-koart,
umsks LIKE tbaer-umsks,
fname LIKE tbaer-fname,
bukrs LIKE tbaer-bukrs,
xaend LIKE tbaer-xaend.
DATA: END OF itab_tbaer.
DATA: BEGIN OF itab_zycbt002_p_ant OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt002.
DATA: END OF itab_zycbt002_p_ant.
* >> Início da inclusão:
data: begin of itab_zycbt002_res occurs 0.
include structure /pws/zycbt002.
data: end of itab_zycbt002_res.
data: begin of itab_zycbt002p1 occurs 0.
include structure /pws/zycbt002.
data: end of itab_zycbt002p1.
* << Fim da inclusão
DATA: BEGIN OF itab_t320 OCCURS 0,
campo(35) TYPE c,
flag,
END OF itab_t320.
DATA: BEGIN OF itab_nome_campo OCCURS 0,
nome_campo_tela(35) TYPE c,
modif,
END OF itab_nome_campo.
DATA: BEGIN OF itab_textos_del OCCURS 0,
relid LIKE stxl-relid ,
...
...
v_bco_cab TYPE /pws/zycbe134-bcocred,
v_codaux1 TYPE /pws/zygle316-codaux1,
v_codaux2 TYPE /pws/zygle316-codaux2,
v_banco(10) TYPE n,
v_conta(10) TYPE c,
v_volta_part_conta(1) TYPE c,
v_codaux3 TYPE /pws/zygle316-codaux3.
CONSTANTS: c_debito TYPE c VALUE 'D',
c_credito TYPE c VALUE 'C'.
Data: v_mess type c.
* >> Início da inclusão:
data: v_dp(1) type c.
data: v_cont_cambio(06) type c .
* << Fim da inclusão
DATA: vg_tcode(15) TYPE c,
vg_origem TYPE c.
DATA: v_year LIKE bkpf-gjahr,
v_repid LIKE sy-repid,
v_codmod TYPE c VALUE 'E',
v_exit LIKE /pws/zyglt100-zexit VALUE 'CPT002'.
DATA: v_capital,
v_primeiro,
v_bco_cred TYPE /pws/zycbe001-bcocred,
v_bconegoc TYPE /pws/zycbe001-bconegoc,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001X01
...
INCLUDE STRUCTURE /pws/zycbt003.
DATA: mark(1).
DATA: END OF itab_zycbt003.
DATA: BEGIN OF itab_zycbt002p OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt002.
DATA mark(1).
DATA v_flag(1) TYPE c.
DATA: escalonado(1).
DATA: icon_esc LIKE icon-id.
DATA: END OF itab_zycbt002p.
* >> Início da inclusão:
DATA: itab_zycbt002p_aux LIKE itab_zycbt002p OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA: itab_zycbt004 LIKE /pws/zycbt004 OCCURS 10 WITH HEADER LINE,
itab_zycbt001 LIKE /pws/zycbt001.
DATA: BEGIN OF itab_zycbt136 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe136.
DATA: alterado(1).
DATA: END OF itab_zycbt136.
DATA: BEGIN OF itab_zycbt204 OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt204.
DATA: END OF itab_zycbt204.
DATA: BEGIN OF itab_zycbt091 OCCURS 2.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB014F01
...
/pws/zycbe061-dtentr_c TO itab_zycbt061-dtentr_c,
/pws/zycbe061-dtentr TO itab_zycbt061-dtentr,
/pws/zycbe061-prent TO itab_zycbt061-prent,
/pws/zycbe061-dtliquid_c TO itab_zycbt061-dtliquid_c,
/pws/zycbe061-dtliquid TO itab_zycbt061-dtliquid,
/pws/zycbe061-prliq TO itab_zycbt061-prliq,
/pws/zycbe061-sldesen TO itab_zycbt061-sldesen,
/pws/zycbe061-paridade TO itab_zycbt061-paridade.
ENDFORM.
FORM grava_tabelas.
* >> Início da inclusão: FORM GRAVA_TABELAS
data: v_vlalt like /pws/zycbt061-vlalt,
v_slvinc like /pws/zycbt002-slvinc,
v_slvinc1 like /pws/zycbt002-slvinc.
* << Fim da inclusão
PERFORM tratamento_nrseq.
PERFORM grava_zycbt001.
PERFORM grava_zycbt060.
PERFORM grava_zycbt061.
PERFORM grava_zycbt002.
v_saldo = 0.
IF sy-tcode = '/PWS/ZYCB014_C'.
LOOP AT itab_zycbt061.
SELECT SINGLE *
FROM /pws/zycbt001
WHERE nrseqc = itab_zycbt061-nrseq_c.
/pws/zycbt001-slvinc = /pws/zycbt001-slvinc -
itab_zycbt061-vlalt.
/pws/zycbt001-slpagar = /pws/zycbt001-slpagar -
itab_zycbt061-vlalt.
IF /pws/zycbt001-slvinc = 0.
/pws/zycbt001-f_slvinc = 'X'.
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
select *
from /pws/zycbt002 into table itab_zycbt002
where nrseqc = itab_zycbt061-nrseq_c and
tpparc = 'P'.
clear: v_vlalt,
v_slvinc.
v_vlalt = itab_zycbt061-vlalt .
loop at itab_zycbt002 .
if v_vlalt > itab_zycbt002-slvinc.
v_slvinc = itab_zycbt002-slvinc.
v_vlalt = v_vlalt - itab_zycbt002-slvinc.
itab_zycbt002-slvinc = itab_zycbt002-slvinc - v_slvinc.
v_tot = v_slvinc .
else.
if v_tot ne itab_zycbt061-vlalt .
v_slvinc1 = itab_zycbt002-slvinc - v_vlalt.
itab_zycbt002-slvinc = v_vlalt.
v_slvinc = v_slvinc1.
v_tot = v_tot + v_vlalt.
else.
v_tot = v_tot + 1.
endif.
endif.
if v_vlalt = itab_zycbt061-vlalt.
clear v_vlalt.
endif.
if v_tot <= itab_zycbt061-vlalt .
/pws/zycbt067-nrseq = /pws/zycbe060-nrseq.
/pws/zycbt067-nrseq_c = itab_zycbt061-nrseq_c.
/pws/zycbt067-nrparc = itab_zycbt002-nrparc.
/pws/zycbt067-tpcontr = itab_zycbt002-tpcontr.
/pws/zycbt067-vlme = v_slvinc.
/pws/zycbt067-vlme_c = itab_zycbt002-vlme .
/pws/zycbt067-belnr_c = itab_zycbt002-belnr.
modify /pws/zycbt067.
update /pws/zycbt002 set slvinc = v_slvinc1
where nrseqc = itab_zycbt061-nrseq_c
and nrparc = itab_zycbt002-nrparc.
commit work.
endif.
endloop.
endif.
* << Fim da inclusão
IF /pws/zycbt007-cfm = 'X'.
IF /pws/zycbt001-tpcontr(1) NE 'C' AND
/pws/zycbt001-tpcontr(1) NE 'E'.
SELECT *
FROM /pws/zycbt001
INTO wa_zycbt001_log
WHERE nrseqc = itab_zycbt061-nrseq_c.
ENDSELECT.
ENDIF.
ENDIF.
...
...
ENDIF.
ENDFORM.
FORM exibir.
SET PF-STATUS '0100_E' EXCLUDING 'SAVE'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
PERFORM ativa_tpa.
IF sy-tcode = '/PWS/ZYCB014_A'.
* >> Início da inclusão: FORM EXIBIR
read table itab_zycbt061 index sy-tabix.
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
itab_pf_status-fcode = 'JUROS'.
append itab_pf_status.
set pf-status '0100_A' excluding itab_pf_status.
else.
set pf-status '0100_A'.
endif.
elseif sy-tcode = '/PWS/ZYCB014_E'.
read table itab_zycbt061 index sy-tabix.
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
itab_pf_status-fcode = 'JUROS'.
append itab_pf_status.
set pf-status '0100_A' excluding itab_pf_status.
else.
* << Fim da inclusão
SET PF-STATUS '0100_A'.
* >> Início da inclusão: FORM EXIBIR
endif.
* << Fim da inclusão
ENDIF.
LOOP AT tc_itens-cols INTO wa_cols.
wa_cols-screen-input = '0'.
MODIFY tc_itens-cols FROM wa_cols.
ENDLOOP.
ENDFORM.
FORM alterar_excluir.
* >> Início da inclusão: FORM ALTERAR_EXCLUIR
read table itab_zycbt061 index sy-tabix.
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
itab_pf_status-fcode = 'JUROS'.
append itab_pf_status.
set pf-status '0100_A' excluding itab_pf_status.
else.
* << Fim da inclusão
SET PF-STATUS '0100_A'.
* >> Início da inclusão: FORM ALTERAR_EXCLUIR
endif.
* << Fim da inclusão
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCBE060-NRCONTR' OR
screen-name = '/PWS/ZYCBE060-BUKRS' OR
screen-name = '/PWS/ZYCBE060-TPCONTR' OR
screen-name = '/PWS/ZYCBE001-TP_PAGT_ANTC'.
screen-input = 0.
...
...
belnr NE 0.
ENDSELECT.
IF sy-subrc = 0.
v_exibe = 'YES'.
ELSE.
v_exibe = 'NO'.
ENDIF.
ENDIF.
IF v_incluido = 'YES'.
LOOP AT SCREEN.
* >> Início da inclusão: FORM CRIAR
read table itab_zycbt061 index sy-tabix.
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
itab_pf_status-fcode = 'JUROS'.
append itab_pf_status.
endif.
* << Fim da inclusão
itab_pf_status-fcode = 'SAVE'.
APPEND itab_pf_status.
SET PF-STATUS '0100_C1' EXCLUDING itab_pf_status.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
LOOP AT tc_itens-cols INTO wa_cols.
wa_cols-screen-input = 0.
MODIFY tc_itens-cols FROM wa_cols.
ENDLOOP.
...
...
PERFORM monta_log_cfm USING wa_zycbt061_log
'/PWS/ZYCBT061'
CHANGING wa_log.
PERFORM grava_log USING '/PWS/ZYCBT061'
wa_log
'E'.
ENDSELECT.
ENDIF.
DELETE FROM /pws/zycbt061
WHERE nrseq_c = itab_aux_zycbt061-nrseq_c. "#EC CI_NOFIRST
* >> Início da inclusão: FORM ELIMINA_REGISTROS
if v_ok is initial.
* << Fim da inclusão
v_valor = /pws/zycbt001-slvinc + itab_aux_zycbt061-vlalt.
UPDATE /pws/zycbt001 SET slvinc = v_valor
WHERE nrseqc = itab_aux_zycbt061-nrseq.
ENDIF.
* >> Início da inclusão: FORM ELIMINA_REGISTROS
endif.
* << Fim da inclusão
ENDLOOP.
ENDFORM.
FORM calculos_itab_zycbt061.
...
...
DELETE FROM /pws/zycbt004
WHERE nrseqc = /pws/zycbe060-nrseq.
LOOP AT itab_zycbt061.
SELECT SINGLE * FROM /pws/zycbt001
WHERE nrseqc = itab_zycbt061-nrseq_c.
/pws/zycbt001-slvinc = /pws/zycbt001-slvinc +
itab_zycbt061-vlalt.
/pws/zycbt001-slpagar = /pws/zycbt001-slpagar +
itab_zycbt061-vlalt.
MODIFY /pws/zycbt001.
* >> Início da inclusão: FORM ELIMINA_PROCESSO
if itab_zycbt061-tpcontr_c(1) ca 'PS'.
select *
from /pws/zycbt002 into table itab_zycbt002
where nrseqc = itab_zycbt061-nrseq_c and
tpparc = 'P'.
select *
from /pws/zycbt067 into table itab_zycbt067
for all entries in itab_zycbt002
where nrseq_c = itab_zycbt002-nrseqc.
loop at itab_zycbt002.
check not itab_zycbt067[] is initial.
read table itab_zycbt067 with key
nrseq_c = itab_zycbt002-nrseqc.
v_vlme = itab_zycbt002-vlme - itab_zycbt067-vlme.
if v_vlme eq 0.
itab_zycbt002-slvinc =
itab_zycbt002-slvinc + itab_zycbt067-vlme.
else.
itab_zycbt002-slvinc =
itab_zycbt002-slvinc + v_vlme.
endif.
delete itab_zycbt067 index sy-tabix.
delete from /pws/zycbt067 where nrseq_c = itab_zycbt002-nrseqc
and nrparc = itab_zycbt002-nrparc.
update /pws/zycbt002 set slvinc = itab_zycbt002-slvinc
where nrseqc = itab_zycbt002-nrseqc
and nrparc = itab_zycbt002-nrparc.
commit work.
endloop.
v_ok = 'X'.
endif.
* << Fim da inclusão
ENDLOOP.
LOOP AT itab_zycbt061.
DELETE itab_zycbt061 INDEX sy-tabix.
CLEAR itab_zycbt061.
ENDLOOP.
CLEAR /pws/zycbe060.
FREE /pws/zycbe060.
PERFORM salvar_dados.
CLEAR /pws/zycbe060a.
MESSAGE i269 WITH v_nrcontr.
...
...
itab_zycbt061-bukrs_c, itab_zycbt061-tpcontr_c,
itab_zycbt061-waers_c, itab_zycbt061-vlme_c,
itab_zycbt061-slvinc_c, itab_zycbt061-dtcred_c,
itab_zycbt061-dtcontr_c,
itab_zycbt061-dtentr_c, itab_zycbt061-dtliquid_c)
WHERE nrseqc = /pws/zycbe061-nrseq_c
AND bukrs = /pws/zycbe060-bukrs AND
waers = /pws/zycbe060-waers AND
slvinc GT 0.
IF sy-subrc = 0.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT061
IF itab_zycbt061-tpcontr_c(1) CA 'AT'.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT061
if itab_zycbt061-tpcontr_c(1) ca 'ATPS'.
* << Fim da inclusão
IF itab_zycbt061-waers_c EQ /pws/zycbe060-waers.
itab_zycbt061-paridade = 1.
ENDIF.
MOVE: itab_zycbt061-slvinc_c TO
itab_zycbt061-sldesen,
itab_zycbt061-slvinc_c TO
itab_zycbt061-vlcalc_orig.
PERFORM dt_prorrogacoes.
APPEND itab_zycbt061.
ELSE.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCBT061
MESSAGE i272 WITH text-027 text-028.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT061
message i272 with text-059 text-060.
* << Fim da inclusão
ENDIF.
ELSE.
MESSAGE i222.
ENDIF.
ELSEIF sy-subrc = 0.
SELECT SINGLE
nrseqc nrcontr bukrs tpcontr waers vlme
slvinc dtcred dtcontr dtentr dtliquid
FROM /pws/zycbt001
INTO
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB014TOP
...
INCLUDE /pws/zygli101.
DATA v_tela_help LIKE sy-dynnr VALUE '0052'. "#EC *
CONTROLS: tc_itens TYPE TABLEVIEW USING SCREEN 100,
tc_juros TYPE TABLEVIEW USING SCREEN 200.
TABLES: /pws/zycbt001,
/pws/zycbe001,
/pws/zycbt002,
/pws/zycbt003, "#EC *
/pws/zycbt007,
/pws/zycbt004,
* >> Início da inclusão:
/pws/zycbt067,
* << Fim da inclusão
indx,
tcurx. "#EC *
DATA: wa_zycbe060_aux2 LIKE /pws/zycbe060,
wa_zycbt001 LIKE /pws/zycbe001,
wa_zycbt062_aux LIKE /pws/zycbt062.
DATA: BEGIN OF itab_zycbt061_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt061.
DATA: vlcalc_orig LIKE /pws/zycbt061-vlcalc.
DATA: mark.
DATA: END OF itab_zycbt061_aux.
...
...
dtpror TYPE /pws/zycbt003-dtpror,
END OF itab_zycbt003.
DATA: BEGIN OF itab_aux2_zycbt061 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt061.
DATA: vlcalc_orig LIKE /pws/zycbt061-vlcalc.
DATA: mark.
DATA: END OF itab_aux2_zycbt061.
DATA: BEGIN OF itab_zycbt010 OCCURS 0. "#EC *
INCLUDE STRUCTURE /pws/zycbt010.
DATA: END OF itab_zycbt010.
* >> Início da inclusão:
data: begin of itab_ZYCBT067 occurs 0.
include structure /PWS/ZYCBT067.
data: end of itab_ZYCBT067.
* << Fim da inclusão
DATA: BEGIN OF itab_pf_status OCCURS 10,
fcode LIKE rsmpe-func,
END OF itab_pf_status.
TYPE-POOLS: sydes.
DATA: t_sydes TYPE sydes_desc, "#EC *
wa_types TYPE sydes_typeinfo, "#EC *
v_len TYPE i. "#EC *
DATA: mark, "#EC *
v_lin TYPE i, "#EC *
v_nrseq LIKE /pws/zycbe060-nrseq,
...
...
v_index TYPE i VALUE 0, "#EC *
v_entreg(5) TYPE n VALUE 0,
v_liquid(5) TYPE n VALUE 0,
v_dtliquid LIKE /pws/zycbt061-dtliquid,
v_dtentreg LIKE /pws/zycbt061-dtentr,
v_nrcontr_j LIKE /pws/zycbt001-nrcontr,
v_visivel LIKE /pws/zyglt319-visivel, "#EC *
v_syrepid LIKE sy-repid,
v_sydynnr LIKE sy-dynnr, "#EC *
v_tcodebotao LIKE /pws/zyglt319-tcode. "#EC *
* >> Início da inclusão:
data: v_ok type c,
v_vlme like /pws/zycbt002-vlme.
* << Fim da inclusão
DATA: wa_log TYPE char4000,
wa_zycbt001_log LIKE /pws/zycbt001,
wa_zycbt002_log LIKE /pws/zycbt002,
wa_zycbt004_log LIKE /pws/zycbt004,
wa_zycbt060_log LIKE /pws/zycbt060,
wa_zycbt061_log LIKE /pws/zycbt061,
wa_zycbt062_log LIKE /pws/zycbt062.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB001
------------------------------------------------------------------------
Modificado símbolo de texto:
Idioma: EN
Símbolo: 019
Texto: (5 caracteres)
"Curr."
Comprimento máximo: 5
------------------------------------------------------------------------
Modificado símbolo de texto:
Idioma: EN
Símbolo: 024
Texto: (28 caracteres)
"Do you want to save changes?"
Comprimento máximo: 30
------------------------------------------------------------------------
Modificado símbolo de texto:
Idioma: EN
Símbolo: 026
Texto: (50 caracteres)
"Want to create new document without prior reverse?"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 075
Texto: (26 caracteres)
"Please fill exchange rate!"
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 076
Texto: (21 caracteres)
"Please fill Currency!"
Comprimento máximo: 23
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 498
Texto: (14 caracteres)
"Launching Date"
Comprimento máximo: 18
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 499
Texto: (30 caracteres)
"Quoting spending was generated"
Comprimento máximo: 33
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 500
Texto: (29 caracteres)
"Quoting spending was reversed"
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 501
Texto: (17 caracteres)
"Clearing Contract"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 501
Texto: (20 caracteres)
"Clearing do Contrato"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 502
Texto: (28 caracteres)
"Clearing Contract Liquidated"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 502
Texto: (30 caracteres)
"Clearing do Contrato Liquidado"
Comprimento máximo: 30
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB014
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 059
Texto: (38 caracteres)
"It is possible this type of settlement"
Comprimento máximo: 38
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 059
Texto: (38 caracteres)
"Não é possível este tipo de liquidação"
Comprimento máximo: 38
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 060
Texto: (17 caracteres)
"for this contract"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 060
Texto: (19 caracteres)
"para este contrato."
Comprimento máximo: 19
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHLD /PWS/ZYCBA287
MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCBA287
DESCRIÇÃO BREVE:CB - Tipos - Banco
PARÂMETROS: ALTERÇÃO
DELETAR CAMPO KONTH para KONTS.
PARAM. IMP EXP POSL ISEL EXAJ ELEM. DADOS MOD VALOR PROPOSTO
KONTS X X 4 4 SAKNR
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBT067
CRIAÇÃO TABELA TRANSPARENTE: /PWS/ZYCBT067
DESCRIÇÃO BREVE: CB - Controle de Parcelas Contrato Pré-Pagamento
CARACTERÍSTICAS
CATEGORIA DA TABELA: TABELA TRANSPARENTE
CLASSE DE ENTREGA: A_
(X) - AUTUALIZAÇÃO DE TABELAS PERMITIDA
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
MANDT MANDT X X
NRSEQ /PWS/ZYCBL019 X X
NRSEQ_C /PWS/ZYCBL019 X X
NRPARC /PWS/ZYCBL047 X X
TPCONTR /PWS/ZYCBL015
VLME WRBTR /PWS/ZYCBT002 WAERS
VLME_C WRBTR /PWS/ZYCBT002 WAERS
BELNR_C BELNR_D
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 3
(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: ______
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em VIED /PWS/ZYCBV223
MODIFICAR VISAO : /PWS/ZYCBV223
DESCRIÇÃO BREVE: CB - Tipos - Banco
DELETAR CAMPO KONTH E INCLUIR CAMPO KONTS.
CAMPO VISÃO: NOME TAB: NOME CAMPO: MOD:
KONTS /PWS/ZYGLT316 SAKNR