Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Pagamento de Juros
Data/Hora da Publicação: 19/12/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:10:12
Descrição da Nota: FLEXIBILIZAR AS CONTAS DE BANCO NO PROGRAMA DE PAGAMENTO DE JUROS
Sintoma
Desenvolvimento Adicional
Solução
Desenvolvimento Adicional
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07819 Data: 19/12/2008 Hora: 17:02:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07819
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00077
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02264 - 00001 - 6.0 - 00025 - PAGAMENTO DE JUROS - ESTRATÉGIA DE LIBERAÇÃO
02786 - 00002 - 6.0 - 00026 - AGRUPAMENTO DE TIPOS DE JUROS DIFERENTES PARA UM CONTRATO.
02946 - 00003 - 6.0 - 00026 - PARÂMETRO /PWS/ZYGL007 CFM SIM - DUMP VERSÃO 4.7 OU SUPERIOR
05160 - 00004 - 7.0 - 00003 - COMPLEMENTO DO BOLETO
06005 - 00005 - 7.0 - 00004 - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA
07489 - 00006 - 7.0 - 00007 - D.A - FLEXIBILIZAR AS CONTAS DE BANCO NA SAÍDA DE PAGAMENTO
----------------------------------------------------------------------------------------------------
FLEXIBILIZAR AS CONTAS DE BANCO NO PROGRAMA DE PAGAMENTO DE JUROS
----------------------------------------------------------------------------------------------------
Palavras Chave:
FLEXIBILIZAR AS CONTAS DE BANCO NO PROGRAMA DE PAGAMENTO DE JUROS
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB012 0100
FUNC /PWS/ZYCBA287
REPS /PWS/LZYCBGF3UXX
REPS /PWS/MZYCB012F01
REPS /PWS/MZYCB012I01
REPS /PWS/MZYCB012O01
REPS /PWS/MZYCB012TOP
REPT /PWS/SAPMZYCB012
SHLP /PWS/ZYCBA287
TABD /PWS/ZYCBE043
TABD /PWS/ZYCBT043
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB012 0100
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0100
...
module altera_itab_zycbt044.
endloop.
module:
tpjuros,
verif_contrato,
verifica_banco,
atualiza_dados,
verifica_campo_obrigatorio,
user_command_0100,
user_command_exit at exit-command.
* >> Início da inclusão:
PROCESS ON VALUE-REQUEST.
FIELD: /PWS/ZYCBE043-BCOOPER MODULE ajuda_pesquisa.
* << Fim da inclusão
*********************************************************
FAVOR PEDIR O ARQUIVO DA TELA 0100 PARA UPLOAD DO PROGRAMA
**********************************************************
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCBGF3UXX
...
INCLUDE /PWS/LZYCBGF3U71.
INCLUDE /PWS/LZYCBGF3U72.
INCLUDE /PWS/LZYCBGF3U73.
INCLUDE /PWS/LZYCBGF3U74.
INCLUDE /PWS/LZYCBGF3U75.
INCLUDE /PWS/LZYCBGF3U76.
INCLUDE /PWS/LZYCBGF3U77.
INCLUDE /PWS/LZYCBGF3U78.
INCLUDE /PWS/LZYCBGF3U79.
INCLUDE /PWS/LZYCBGF3U80.
* >> Início da inclusão:
INCLUDE /PWS/LZYCBGF3U81.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB012F01
...
EXIT.
ENDIF.
ENDLOOP.
IF v_sai EQ 'X'.
MESSAGE i015 WITH text-035 text-038.
EXIT.
ENDIF.
PERFORM seleciona_dados_despesa.
PERFORM calcula_total.
IF v_tot_vlmi NE /pws/zycbe043-vlmi2.
* >> Início da exclusão: FORM GRAVA_TABELAS
MESSAGE i061 WITH text-122 text-123 text-124.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
v_fim = v_tot_vlmi - /pws/zycbe043-vlmi2 .
replace '-' with ' ' into v_fim.
MESSAGE i061 WITH text-122 text-123 text-124 v_fim.
* << Fim da inclusão
EXIT.
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
/pws/zycbe043-CONTA_CONTAB = v_contrazao.
/pws/zycbt043-CONTA_CONTAB = /pws/zycbe043-CONTA_CONTAB .
* << Fim da inclusão
IF sy-tcode EQ '/PWS/ZYCB012_C' AND v_ins <> '1'.
INSERT INTO /pws/zycbt043 VALUES /pws/zycbe043.
WHILE sy-subrc NE 0.
PERFORM busca_sequencial.
...
...
IF itab_zycbt044-tpjuros EQ 'A'.
v_codaux3 = 'ACC'.
ELSEIF itab_zycbt044-tpjuros EQ 'E'.
v_codaux3 = 'ACE'.
ENDIF.
ENDIF.
IF /pws/zyglt009-calc_rot_sep = 'N'
AND /pws/zyglt009-cont_rot_sep = 'N'.
CLEAR v_codaux3.
ENDIF.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
IF v_contrazao IS INITIAL.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt044-bukrs
ktosl = v_ktosl
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_zyglt316
EXCEPTIONS
...
...
ENDIF.
ELSE.
READ TABLE itab_zyglt316 INDEX 1.
MOVE itab_zyglt316-konts TO itab_zycbe033-d_newko1.
itab_contas-conta = itab_zycbe033-d_newko1.
APPEND itab_contas.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-d_newko1
'NEWKO'
text-016.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
MOVE v_contrazao TO itab_zycbe033-d_newko1.
itab_contas-conta = v_contrazao.
APPEND itab_contas.
ENDIF.
* << Fim da inclusão
ELSEIF /pws/zycbt004-tpcontr = 'E'.
IF wa_zycbt007-fprovisao = ' '.
v_ktosl = 'DSE'.
CLEAR v_codaux1.
IF /pws/zyglt009-provjur_moeda = 'X' AND
/pws/zycbt004-waers = wa_zycbt007-waersa.
CONCATENATE /pws/zycbt004-tpdesp wa_zycbt007-waersa
INTO v_codaux1 SEPARATED BY space.
ELSE.
v_codaux1 = /pws/zycbt004-tpdesp.
...
...
CLEAR v_codaux1.
IF /pws/zyglt009-provjur_moeda = 'X' AND
/pws/zycbt004-waers = wa_zycbt007-waersa.
CONCATENATE 'JUROS C' wa_zycbt007-waersa
INTO v_codaux1 SEPARATED BY space.
ELSE.
CONCATENATE 'JUROS' 'C' INTO v_codaux1 SEPARATED BY space.
ENDIF.
v_codaux3 = 'ACE'.
ENDIF.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
IF v_contrazao IS INITIAL.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt044-bukrs
ktosl = v_ktosl
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_zyglt316
EXCEPTIONS
...
...
ENDIF.
ELSE.
READ TABLE itab_zyglt316 INDEX 1.
MOVE itab_zyglt316-konts TO itab_zycbe033-d_newko1.
itab_contas-conta = itab_zycbe033-d_newko1.
APPEND itab_contas.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-d_newko1
'NEWKO'
text-016.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
else.
MOVE v_contrazao TO itab_zycbe033-d_newko1.
itab_contas-conta = v_contrazao.
APPEND itab_contas.
ENDIF.
* << Fim da inclusão
ELSE.
CLEAR itab_zycbt012.
READ TABLE itab_zycbt012 WITH KEY codeven = v_codevend
chlanc = 'D'
tpcodaux = 'G'
codaux = v_codauxd.
LOOP AT itab_zycbt044 WHERE tpdesp NE 'J'.
ENDLOOP.
IF sy-subrc = 0.
itab_zycbe033-d_newko = itab_zycbt012-saknr1.
...
...
chlanc = 'D'
tpcodaux = 'G'
codaux = v_codauxj.
itab_zycbe033-d_newko1 = itab_zycbt012-saknr1.
itab_contas-conta = itab_zycbe033-d_newko1.
APPEND itab_contas.
PERFORM verify_null_field USING itab_zycbe033-d_newko1
'NEWKO'
text-016.
ENDIF.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
IF v_contrazao IS INITIAL.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt044-bukrs
ktosl = 'FBK'
codaux1 = /pws/zycbe043-bcooper
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
...
...
ENDIF.
ELSE.
READ TABLE itab_zyglt316 INDEX 1.
MOVE itab_zyglt316-konth TO itab_zycbe033-c_newko.
itab_contas-conta = itab_zycbe033-c_newko.
APPEND itab_contas.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-c_newko
'NEWKO'
text-016.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02
else.
MOVE v_contrazao TO itab_zycbe033-c_newko.
itab_contas-conta = v_contrazao.
APPEND itab_contas.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM clear_date_batch.
FREE: itab_zycbt034,
itab_zycbe033,
itab_zycbt032.
CLEAR itab_zycbt034.
ENDFORM.
FORM seleciona_dados_despesa.
SELECT * FROM /pws/zycbt004
INTO TABLE itab_zycbt004
...
...
ENDIF.
ELSE.
READ TABLE itab_zyglt316 INDEX 1.
MOVE itab_zyglt316-konts TO itab_zycbe033-d_newko1.
itab_contas-conta = itab_zycbe033-d_newko1.
APPEND itab_contas.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-d_newko1
'NEWKO'
text-016.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02_AUX
IF v_contrazao IS INITIAL.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt044-bukrs
ktosl = 'FBK'
codaux1 = /pws/zycbe043-bcooper
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
...
...
ENDIF.
ELSE.
READ TABLE itab_zyglt316 INDEX 1.
MOVE itab_zyglt316-konth TO itab_zycbe033-c_newko.
itab_contas-conta = itab_zycbe033-c_newko.
APPEND itab_contas.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-c_newko
'NEWKO'
text-016.
* >> Início da inclusão: FORM GET_PARAMETERS_F-02_AUX
else.
MOVE v_contrazao TO itab_zycbe033-c_newko.
itab_contas-conta = v_contrazao.
APPEND itab_contas.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM monta_log_cfm USING p_dados
p_tabela
CHANGING p_wa_log.
DATA: t_prog(72) TYPE c OCCURS 1000 WITH HEADER LINE,
w_prog LIKE trdir-name.
CLEAR: t_prog, p_wa_log.
REFRESH: t_prog.
APPEND 'report sy-repid. ' TO t_prog.
APPEND 'form log using p_dados ' TO t_prog.
...
...
ENDIF.
APPEND 'endform. ' TO t_prog.
GENERATE SUBROUTINE POOL t_prog NAME w_prog.
IF sy-subrc = 0.
PERFORM log IN PROGRAM (w_prog) USING p_dados
p_tabela
CHANGING p_wa_log
IF FOUND.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM busca_conta_contabil USING p_tipo TYPE char1
p_bukrs TYPE /pws/zyglt316-bukrs
p_chave TYPE /pws/zyglt316-ktosl
p_codaux1 TYPE /pws/zygle316-codaux1
p_codaux2 TYPE /pws/zygle316-codaux2
p_codaux3 TYPE /pws/zygle316-codaux3
CHANGING p_conta.
DATA: itab_zyglt316 TYPE STANDARD TABLE OF /pws/zyglt316,
wa_zyglt316 LIKE LINE OF itab_zyglt316.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = p_bukrs
ktosl = p_chave
codaux1 = p_codaux1
codaux2 = p_codaux2
codaux3 = p_codaux3
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
READ TABLE itab_zyglt316 INDEX 1 INTO wa_zyglt316.
IF sy-subrc = 0.
MOVE wa_zyglt316-konth TO p_conta.
ELSE.
CLEAR p_conta.
MESSAGE i015 WITH text-288.
ENDIF.
ENDFORM.
FORM altera_conta_contabil.
CHECK NOT /pws/zycbe043-bcooper IS INITIAL.
SHIFT /pws/zycbe043-bcooper LEFT DELETING LEADING '0'.
CHECK v_contrazao IS INITIAL OR
( NOT v_contrazao IS INITIAL AND
/pws/zycbe043-bcooper NE v_bco_cab ).
v_codaux1 = /pws/zycbe043-bcooper.
SHIFT v_codaux1 LEFT DELETING LEADING '0'.
IF /pws/zycbt007-cont_disp EQ 'X'.
PERFORM busca_conta_contabil
USING 'C'
itab_zycbt044-bukrs
'FBK'
v_codaux1
v_codaux2
v_codaux3
CHANGING
v_contrazao.
ELSE.
PERFORM busca_conta_contabil
USING 'C'
itab_zycbt044-bukrs
'FBK'
v_codaux1
v_codaux2
space
CHANGING
v_contrazao.
ENDIF.
v_bco_cab = /pws/zycbe043-bcooper.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB012I01
...
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE i015 WITH text-126.
ENDIF.
WHEN 'ESTR'.
IF /pws/zycbe043-estrat IS INITIAL.
MESSAGE i061 WITH text-133.
ELSE.
CALL SCREEN 0020 STARTING AT 26 3 ENDING AT 80 15.
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0100
WHEN 'ENTE'.
PERFORM altera_conta_contabil.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE user_command_exit INPUT.
CASE sy-dynnr.
WHEN '0100'.
PERFORM unlock_record.
ENDCASE.
ENDMODULE.
MODULE user_command_0001 INPUT.
v_dynnr = sy-dynnr.
...
...
v_erro_jur = 'X'.
ENDIF.
ENDLOOP.
IF v_erro_jur = 'X'.
MESSAGE i015 WITH text-143 text-144.
CLEAR v_erro_jur.
EXIT.
ENDIF.
ENDIF.
ENDMODULE.
* >> Início da inclusão:
module ajuda_pesquisa input.
DATA: BEGIN OF itab_result OCCURS 0.
INCLUDE STRUCTURE ddshretval.
DATA: END OF itab_result.
DATA: BEGIN OF record_tab OCCURS 0.
INCLUDE STRUCTURE seahlpres.
DATA: END OF record_tab.
DATA: l_display(1) TYPE c,
v_searchhelp TYPE shlpname,
tdynpread LIKE dynpread OCCURS 0 WITH HEADER LINE.
CLEAR: tdynpread, record_tab.
REFRESH: tdynpread, record_tab.
EXPORT record_tab TO MEMORY ID 'contrazao'.
READ TABLE itab_zycbt044 INDEX 1.
if sy-subrc = 0.
SET PARAMETER ID 'BUK' FIELD itab_zycbt044-bukrs.
v_searchhelp = '/PWS/ZYCBA287'.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = '/PWS/ZYCBV223'
fieldname = 'CODAUX1'
searchhelp = v_searchhelp
shlpparam = 'CODAUX1'
display = l_display
TABLES
return_tab = itab_result
EXCEPTIONS
OTHERS = 5.
CHECK sy-subrc EQ 0 .
IMPORT record_tab FROM MEMORY ID 'contrazao'.
READ TABLE record_tab INDEX 1.
CHECK sy-subrc EQ 0 .
CLEAR v_bukrs.
IF record_tab(3) = sy-mandt.
v_bukrs = record_tab+68(4).
/PWS/ZYCBE043-BCOOPER = record_tab+3(10).
v_contrazao = record_tab+58(10).
ELSE.
v_bukrs = record_tab+65(4).
/PWS/ZYCBE043-BCOOPER = record_tab+0(10).
v_contrazao = record_tab+55(10).
ENDIF.
READ TABLE itab_zycbt044 WITH KEY bukrs = v_bukrs.
IF sy-subrc = 0.
v_bco_cab = /PWS/ZYCBE043-BCOOPER.
tdynpread-fieldname = '/PWS/ZYCBE043-BCOOPER' .
IF /PWS/ZYCBE043-BCOOPER NE '00'.
tdynpread-fieldvalue = /PWS/ZYCBE043-BCOOPER .
APPEND tdynpread .
ENDIF.
tdynpread-fieldname = 'V_CONTRAZAO' .
IF /PWS/ZYCBE043-BCOOPER NE '00'.
tdynpread-fieldvalue = v_contrazao .
APPEND tdynpread .
ENDIF.
IF /PWS/ZYCBE043-BCOOPER EQ '00'.
/PWS/ZYCBE043-BCOOPER = ' '.
ENDIF.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = '0301'
TABLES
dynpfields = tdynpread
EXCEPTIONS
OTHERS = 8.
ENDIF.
endif.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB012O01
...
endmodule.
module carrega_zycbe044 output.
move-corresponding itab_zycbt044 to /pws/zycbe044.
tc_juros-lines = tc_juros-lines + 11.
endmodule.
module load_data output.
if v_dynnr ne '0001'.
if /pws/zycbe043 is initial.
perform find_nrseqc.
endif.
* >> Início da inclusão: MODULE LOAD_DATA
else.
if v_contrazao is initial.
v_contrazao = /pws/zycbe043-CONTA_CONTAB .
endif.
* << Fim da inclusão
endif.
endmodule.
module status_0001 output.
get parameter id '/PWS/ZYCBP001' field /pws/zycbe044-nrpagto.
set pf-status '0001'.
if sy-tcode eq '/PWS/ZYCB012_A'.
v_status = 'X'.
set titlebar '0001'.
elseif sy-tcode eq '/PWS/ZYCB012_E'.
v_status = space.
...
...
wa_cols-invisible = '1'.
modify tc_juros-cols from wa_cols.
endloop.
endmodule.
module descricao output.
if not /pws/zycbe043-bcooper is initial.
select single name1 into lfa1-name1
from lfa1
where lifnr eq /pws/zycbe043-bcooper.
v_banco = lfa1-name1.
* >> Início da inclusão: MODULE DESCRICAO
else.
clear v_contrazao.
* << Fim da inclusão
endif.
case /pws/zycbe043-frpagto.
when 'C'.
v_frpagto = text-009.
when 'D'.
v_frpagto = text-004.
when 'R'.
v_frpagto = text-005.
when 'O'.
v_frpagto = text-006.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB012TOP
...
v_exibe, "#EC *
v_ktosl LIKE /pws/zyglt316-ktosl,
v_codaux1 LIKE /pws/zyglt316-codaux1,
v_codaux2 LIKE /pws/zyglt316-codaux2,
v_codaux3 LIKE /pws/zyglt316-codaux3,
v_area LIKE /pws/zycbt119-cod_area,
v_bukrs2 LIKE /pws/zycbe044-bukrs,
v_repid LIKE sy-repid,
v_codmod TYPE c VALUE 'E',
v_exit LIKE /pws/zyglt100-zexit VALUE 'JUR001',
* >> Início da inclusão:
v_contrazao TYPE /PWS/ZYCBT134-conta_contab,
v_fim(16) type c,
v_bco_cab type /pws/zycbe134-bcocred,
v_contador(10) type n,
* << Fim da inclusão
e_subrc like sy-subrc.
DATA: BEGIN OF itab_zyglt316 OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_zyglt316.
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt350.
DATA: END OF itab_contas.
DATA: BEGIN OF itab_zycbt044_del OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe044.
DATA: END OF itab_zycbt044_del.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB012
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 010
Texto: (46 caracteres)
"Selecionar as parcelas de juros antes do banco"
Comprimento máximo: 46
------------------------------------------------------------------------
Modificado símbolo de texto:
Idioma: PT
Símbolo: 124
Texto: (40 caracteres)
"Agrupamento não será salvo. Diferença de"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 288
Texto: (24 caracteres)
"Conta Contábil Inválida."
Comprimento máximo: 24
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCBA287
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYCBGF3
TEXTO BREVE: CB - Tipos - Banco
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
EXPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA TRANSF. TEXTO BREVE
MODIFIC.:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
SHLP TYPE SHLP_DESCR_T X
CALLCONTROL LIKE DDSHF4CTRL X Estrutura contr.p/exec.F4
c/exit ajuda p/pesq.
TABELAS:
NOME PARAM. ATRIB. TIPO REFERÊNCIA OPCIONAL TEXTO BREVE
SHLP_TAB TYPE SHLP_DESCR_TAB_T
RECORD_TAB LIKE SEAHLPRES Ajuda pesq.estr.resultado
EXCEÇÕES:
EXCEÇÃO TEXTO BREVE
FUNCTION /PWS/ZYCBA287.
*"----------------------------------------------------------------------
*"*"Interface local:
*" TABLES
*" SHLP_TAB TYPE SHLP_DESCR_TAB_T
*" RECORD_TAB STRUCTURE SEAHLPRES
*" CHANGING
*" VALUE(SHLP) TYPE SHLP_DESCR_T
*" VALUE(CALLCONTROL) LIKE DDSHF4CTRL
*" STRUCTURE DDSHF4CTRL
*"----------------------------------------------------------------------
TYPE-POOLS:
shlp.
TYPES:
BEGIN OF t_s_dados,
lifnr TYPE lfa1-lifnr,
sortl TYPE lfa1-sortl,
name1 TYPE lfa1-name1,
konth TYPE /pws/zyglt316-konth,
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,
v_tabix TYPE sy-tabix,
v_nrseqc2 TYPE /pws/zycbt134-nrseq,
v_bukrs type /pws/zycbt134-bukrs,
v_fieldname TYPE dfies-lfieldname.
DATA: BEGIN OF itab_bukrs OCCURS 0,
bukrs LIKE /pws/zycbt001-bukrs,
END OF itab_bukrs.
DATA: BEGIN OF itab_dados_aux OCCURS 0,
lifnr TYPE lfa1-lifnr,
konth TYPE /pws/zyglt316-konth,
codaux1 TYPE /pws/zyglt316-codaux1,
END OF itab_dados_aux.
DATA: BEGIN OF t_konth OCCURS 0,
lifnr TYPE lfa1-lifnr,
sortl TYPE lfa1-sortl,
name1 TYPE lfa1-name1,
konth TYPE /pws/zyglt316-konth,
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_konth.
FIELD-SYMBOLS:
<fs_shlp> LIKE LINE OF shlp_tab,
<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'.
* Busca na tabela shlp_tab os dados relativos aos campos.
READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.
CHECK <fs_shlp> IS ASSIGNED.
* Transfere os dados da record_tab para os respectivos campos da
* tabela interna.
LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.
CHECK: <fs_fielddescr>-fieldname = 'LIFNR' OR
<fs_fielddescr>-fieldname = 'SORTL' OR
<fs_fielddescr>-fieldname = 'NAME1' OR
<fs_fielddescr>-fieldname = 'KONTH' OR
<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
TABLES
shlp_tab = shlp_tab
record_tab = record_tab
results_tab = itab_dados
CHANGING
shlp = shlp
callcontrol = callcontrol
EXCEPTIONS
parameter_unknown = 1
OTHERS = 2.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDLOOP.
UNASSIGN: <fs_shlp>, <fs_fielddescr>.
* Elimina da record_tab entradas
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
konth = <fs_dados>-konth
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.
t_konth-konth = <fs_dados>-konth.
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.
READ TABLE itab_dados INDEX v_tabix INTO wa_dados.
SHIFT wa_dados-lifnr LEFT DELETING LEADING '0'.
SHIFT wa_dados-codaux1 LEFT DELETING LEADING '0'.
condense: wa_dados-lifnr, wa_dados-codaux1.
IF wa_dados-lifnr = wa_dados-codaux1.
CHECK NOT v_bukrs IS INITIAL.
if v_bukrs ne wa_dados-bukrs.
DELETE record_tab INDEX v_tabix.
DELETE itab_dados INDEX v_tabix.
CONTINUE.
ENDIF.
ELSE.
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
konth = <fs_dados>-konth
codaux1 = <fs_dados>-codaux1.
IF sy-subrc = 0.
DELETE itab_dados INDEX sy-tabix.
DELETE record_tab INDEX sy-tabix.
ELSE.
itab_dados_aux-lifnr = <fs_dados>-lifnr.
itab_dados_aux-konth = <fs_dados>-konth.
itab_dados_aux-codaux1 = <fs_dados>-codaux1.
APPEND itab_dados_aux.
ENDIF.
ENDLOOP.
ENDIF.
IF callcontrol-step EQ 'RETURN'.
EXPORT record_tab[] TO MEMORY ID 'contrazao'.
ENDIF.
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHLP /PWS/ZYCBA287
DESCRIÇÃO BREVE: CB - Tipos - Banco
DEFINIÇÃO
OBTENÇÃO DE DADOS
MÉTODO DE SELEÇÃO: /PWS/ZYCBV223
COMPORTAMENTO DE DIÁLOGO: ____________________________
TIPO DE DIÁLOGO: Exibição de valores ime
HOT KEY: ____
EXIT AJUD. PESQUISA: /PWS/ZYCBA287
PARÂMETROS:
PARAM. IMP EXP POSL ISEL EXAJ ELEM. DADOS MOD VALOR PROPOSTO
SORTL X 1 1 SORTL 'BANCO'
LIFNR X 0 0 LIFNR X
CODAUX1 X X 2 2 /PWS/ZYGLL869
NAME1 X X 3 3 NAME1_GP
KONTH X X 4 4 SAKNR
BUKRS X x 5 5 BUKRS
KTOSL X 0 0 KTOSL 'FBK'
CODAUX2 X 6 6 /PWS/ZYGLL870
CODAUX3 X 7 7 /PWS/ZYGLL871
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBE043
MODIFICAR ESTRUTURA: ______________________________
DESCRIÇÃO BREVE: CB - Pagamento de Juros - Cabeçalho
COMPONENTES NOVOS
COMPONENTE: TP. COMP: TAB.REF.: CPO.REF.: AJUD. PESQU.
CONTA_CONTAB SAKNR CHAR 10 0 Nº conta do Razão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT043
DESCRIÇÃO BREVE: _______________________________________________________
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
CONTA_CONTAB SAKNR CHAR 10 0 Nº conta do Razão
CONTA_CONTAB SAKNR CHAR 10 0 Nº conta do Razão