Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Valores Mantidos no Exterior
Data/Hora da Publicação: 17/12/2007 00:00:00
Data/Hora Última Alteração: 10/03/2010 17:41:00
Descrição da Nota: VALORES MANTIDOS NO EXTERIOR - DA COMPLETO
Sintoma
Inclusão de novas funcionalidades no Valores Mantidos no Exterior.
Solução
Inclusão de novas funcionalidades no Valores Mantidos no Exterior.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05482 Data: 17/12/2007 Hora: 14:22:41
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05482
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00027
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
VALORES MANTIDOS NO EXTERIOR - DA COMPLETO
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALORES MANTIDOS NO EXTERIOR - DA COMPLETO
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCB034
DOMA /PWS/ZYGLD571
DOMA /PWS/ZYGLD573
DTEL /PWS/ZYGLL1367
DTEL /PWS/ZYGLL1368
DTEL /PWS/ZYGLL1369
DTEL /PWS/ZYGLL1370
DYNP /PWS/SAPMZYCB034 0002
DYNP /PWS/SAPMZYCB034 0100
DYNP /PWS/SAPMZYCB034 0110
DYNP /PWS/SAPMZYCB034 0120
DYNP /PWS/SAPMZYCB034 0130
DYNP /PWS/SAPMZYCB034 0131
DYNP /PWS/SAPMZYCB034 0132
DYNP /PWS/SAPMZYCB034 0140
DYNP /PWS/SAPMZYGL007 0101
DYNP /PWS/SAPMZYGL007 0108
DYNP /PWS/SAPMZYGL007 0118
DYNP /PWS/SAPMZYGL007 0120
FUNC /PWS/ZYCB_TRANSACAO_F_02
FUNC /PWS/ZYCB_TRANSACAO_F_30_P
REPS /PWS/MZYCB034F01
REPS /PWS/MZYCB034I01
REPS /PWS/MZYCB034O01
REPS /PWS/MZYCB034TOP
REPS /PWS/MZYGL007F01
REPS /PWS/MZYGL007I01
REPS /PWS/MZYGL007O01
REPS /PWS/MZYGL007TOP
REPT /PWS/SAPMZYCB034
REPT /PWS/SAPMZYGL007
TABD /PWS/ZYCBE227
TABD /PWS/ZYCBT007
TABD /PWS/ZYCBT089
TABD /PWS/ZYCBT227
TABL /PWS/ZYCBE238
TABL /PWS/ZYCBE239
TABL /PWS/ZYCBE240
TABL /PWS/ZYCBT238
TABL /PWS/ZYCBT239
TABL /PWS/ZYCBT240
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCB034
STATUS: 0100
ATRIBUTOS DE STATUS
TEXTO BREVE: Valores Mantidos no Exterior
* >> Início da inclusão:
BOTÃO ESTÁTICO
CÓDIGO DE FUNÇÃO: MOVE_DATA
CATEGORIA DE FUNÇÃO:
TEXTOS DE FUNÇÃO ESTÁTICOS
TEXTO DE FUNÇÃO: Adicionar Dispon.
NOME DE ÍCONE: ICON_MOVE
TEXTO DE ÍCONE:
TEXTO INFORMATIVO:
SELEÇÃO DIRETA:
TECLA DE ATALHO: Ctrl-Shift-F1
BOTÃO ESTÁTICO
CÓDIGO DE FUNÇÃO: RECEB_TOT
CATEGORIA DE FUNÇÃO:
TEXTOS DE FUNÇÃO ESTÁTICOS
TEXTO DE FUNÇÃO: Receber Total
NOME DE ÍCONE: ICON_PARAMETER_CHANGING
TEXTO DE ÍCONE:
TEXTO INFORMATIVO: Receber o Valor Total para Todas as Faturas
SELEÇÃO DIRETA:
TECLA DE ATALHO: Ctrl-Shift-F11
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOMA /PWS/ZYGLD571
------------------------------------------------------------------------
Domínio incluído: /PWS/ZYGLD571
Descrição breve incluída (21 caracteres), idioma: EN
"GL - TYPE OF CONTRACT"
Descrição breve incluída (21 caracteres), idioma: PT
"GL - TIPO DE CONTRATO"
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Categoria de dados: CHAR
Número de posições: 7
Comprimento de saída: 7
Rotina de conversão:
Letras minúsculas: NÃO
-Valores individuais
Incluído valor fixo "TIPO 01"
Texto incluído, idioma: PT (32 caracteres):
"Tipo de Lançamento Exportação 01"
Incluído valor fixo "TIPO 04"
Texto incluído, idioma: PT (32 caracteres):
"Tipo de Lançamento Financeiro 04"
Incluída tabela de valores:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOMA /PWS/ZYGLD573
------------------------------------------------------------------------
Domínio incluído: /PWS/ZYGLD573
Descrição breve incluída (41 caracteres), idioma: PT
"GL -Taxa do lançamento de disponibilidade"
Descrição breve incluída (29 caracteres), idioma: ES
"GL - Tasa del Contabilización"
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Categoria de dados: CHAR
Número de posições: 10
Comprimento de saída: 10
Rotina de conversão:
Letras minúsculas: NÃO
-Valores individuais
Incluído valor fixo "DTLANCTO"
Texto incluído, idioma: PT (26 caracteres):
"Taxa Cambial do Lançamento"
Incluído valor fixo "DTCREDEXT"
Texto incluído, idioma: PT (35 caracteres):
"Taxa Cambial do Crédito no Exterior"
Texto incluído, idioma: ES (36 caracteres):
"Tasa Cambial del Credito en Exterior"
Incluído valor fixo "DTDISP"
Texto incluído, idioma: PT (39 caracteres):
"Taxa Cambial da data da disponibilidade"
Incluído valor fixo "DTLANC"
Texto incluído, idioma: PT (34 caracteres):
"Taxa Cambial da data do lançamento"
Texto incluído, idioma: ES (28 caracteres):
"Tasa Cambial del Lanzamiento"
Incluído valor fixo "DTFECH"
Texto incluído, idioma: PT (33 caracteres):
"Taxa Cambial do Último Fechamento"
Texto incluído, idioma: ES (37 caracteres):
"Tasa Cambial del Último Encerramiento"
Incluída tabela de valores:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1367
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYGLL1367
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (32 caracteres), idioma: PT
"GL - CONTABILIZA DISPONIBILIDADE"
Categoria de dados: Domínio
Domínio: CHAR1
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (10 caracteres), idioma: PT
"Cont. Disp"
Comprimento máximo do denominador médio: 15
Denominador médio incluído (13 caracteres), idioma: PT
"Cont. Dispon."
Comprimento máximo do denominador longo: 27
Denominador longo incluído (27 caracteres), idioma: PT
"Contabiliza Disponibilidade"
Comprimento máximo do título: 27
Título incluído (27 caracteres), idioma: PT
"Contabiliza Disponibilidade"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1368
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYGLL1368
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (21 caracteres), idioma: PT
"GL - TIPO DE CONTRATO"
Categoria de dados: Domínio
Domínio: /PWS/ZYGLD571
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (10 caracteres), idioma: PT
"Tp. Contr."
Comprimento máximo do denominador médio: 15
Denominador médio incluído (11 caracteres), idioma: PT
"Tipo Contr."
Comprimento máximo do denominador longo: 20
Denominador longo incluído (13 caracteres), idioma: PT
"Tipo Contrato"
Comprimento máximo do título: 16
Título incluído (16 caracteres), idioma: PT
"Tipo de Contrato"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1369
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYGLL1369
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (42 caracteres), idioma: PT
"GL - Taxa do Lançamento da disponibilidade"
Categoria de dados: Domínio
Domínio: /PWS/ZYGLD573
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (9 caracteres), idioma: PT
"Tx. Disp."
Comprimento máximo do denominador médio: 17
Denominador médio incluído (17 caracteres), idioma: PT
"Tx. Lançam. Disp."
Comprimento máximo do denominador longo: 37
Denominador longo incluído (37 caracteres), idioma: PT
"Taxa do Lançamento da disponibilidade"
Comprimento máximo do título: 37
Título incluído (37 caracteres), idioma: PT
"Taxa do Lançamento da disponibilidade"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYGLL1370
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYGLL1370
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (53 caracteres), idioma: PT
"GL - TAXA DO ESTORNO DO LANÇAMENTO DA DISPONIBILIDADE"
Categoria de dados: Domínio
Domínio: /PWS/ZYGLD573
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (8 caracteres), idioma: PT
"Tx. Est."
Comprimento máximo do denominador médio: 15
Denominador médio incluído (14 caracteres), idioma: PT
"Tx. Est. Disp."
Comprimento máximo do denominador longo: 34
Denominador longo incluído (34 caracteres), idioma: PT
"Taxa do estorno Lançam. da dispon."
Comprimento máximo do título: 48
Título incluído (48 caracteres), idioma: PT
"Taxa do estorno do lançamento da disponibilidade"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0002
* Solicitar arquivos para upload da tela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0100
* Solicitar arquivos para upload da tela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0110
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE: screen,
seleciona_dados,
verificar_linhas,
calcula_total_destino.
LOOP WITH CONTROL tc_op.
MODULE: preenche_tc_op.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE:
drilldown.
LOOP WITH CONTROL tc_op.
FIELD /pws/zycbe226-nrinvoic MODULE verifica_processo.
MODULE: verifica_vlr_exterior,
verifica_dt_limite,
verifica_periodo_contabil,
atualiza_tc_op.
ENDLOOP.
module preenche_table_control.
MODULE: user_command,
user_command_exit AT EXIT-COMMAND.
PROCESS ON VALUE-REQUEST.
FIELD /pws/zycbe226-nrinvoic MODULE get_invoice.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0120
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE:
verificar_linhas,
screen.
LOOP WITH CONTROL tc_30.
MODULE:
preenche_tc_disponibilidade,
loop_at_screen_tc_linhas.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL tc_30.
FIELD:
/pws/zycbe238-dtdisp MODULE verifica_data_disp ON INPUT,
/pws/zycbe238-vldisp MODULE verifica_campos ON INPUT.
MODULE:
atualiza_tc,
define_operacao.
ENDLOOP.
MODULE:
user_command.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0130
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
* MODULE STATUS_0130.
CALL SUBSCREEN:
ss_disponibilidade INCLUDING syst-cprog '0131',
ss_contrato INCLUDING syst-cprog '0132'.
PROCESS AFTER INPUT.
CALL SUBSCREEN:
ss_disponibilidade,
ss_contrato.
MODULE USER_COMMAND.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0131
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE:
verificar_linhas,
screen.
LOOP WITH CONTROL tc_70.
MODULE:
preenche_tc_disponibilidade,
loop_at_screen_tc_linhas.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL tc_70.
FIELD:
/pws/zycbe238-dtdisp MODULE verifica_data_disp ON INPUT,
/pws/zycbe238-vldisp MODULE verifica_campos ON INPUT,
/pws/zycbe238-vldisp MODULE verifica_taxa_contrato ON INPUT.
MODULE:
atualiza_tc,
define_operacao.
ENDLOOP.
MODULE:
user_command.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0132
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE:
verificar_linhas.
LOOP WITH CONTROL tc_contrato.
MODULE:
preenche_tc_contrato,
loop_at_screen_tc_linhas.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL tc_contrato.
MODULE:
atualiza_tc.
CHAIN.
FIELD:
/PWS/ZYCBE239-BCO_MI, /PWS/ZYCBE239-BCO_FECH,
/PWS/ZYCBE239-KURSF, /PWS/ZYCBE239-VLORDEM_MI,
/PWS/ZYCBE239-DTCONTR, /PWS/ZYCBE239-DTFECH,
/PWS/ZYCBE239-DTDEBITO, /PWS/ZYCBE239-DTLIQUID,
/PWS/ZYCBE239-DTSWIFT.
MODULE verifica_campos ON CHAIN-REQUEST.
ENDCHAIN.
FIELD /PWS/ZYCBE239-DTDEBITO
MODULE verifica_periodo_contabil ON INPUT.
FIELD /PWS/ZYCBE239-KURSF
MODULE verifica_taxa_contrato ON INPUT.
ENDLOOP.
MODULE:
user_command.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB034 0140
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE:
verificar_linhas,
screen.
LOOP WITH CONTROL tc_rendimentos.
MODULE:
preenche_tc_rendimentos,
loop_at_screen_tc_linhas.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL tc_rendimentos.
FIELD /PWS/ZYCBE240-BCO_EXT
MODULE verifica_campos ON INPUT.
MODULE:
atualiza_tc.
ENDLOOP.
MODULE:
user_command.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYGL007 0101
* Solicitar arquivos para upload da tela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYGL007 0108
* Solicitar arquivos para upload da tela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYGL007 0118
* Solicitar arquivos para upload da tela
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYGL007 0120
* Solicitar arquivos para upload da tela
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
* MODULE status_0120.
MODULE: set_screen.
PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0120.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02
...
IF NOT t_dados-d_valut IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'D'.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-VALUT' v_data_val_char.
ENDIF.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-SGTXT' chave = 'D'.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
IF t_dados-zfbdt NE '00000000'.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT' chave = 'D'.
IF sy-subrc <> 0.
WRITE: t_dados-zfbdt TO v_zfbdt.
PERFORM bdc_field USING 'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ENDIF.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
IF NOT t_dados-aufnr IS INITIAL.
PERFORM bdc_field USING 'COBL-AUFNR' t_dados-aufnr.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P
...
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.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P
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.
* << Fim da inclusão
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'
...
...
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
ENDIF.
LOOP AT t_doctos WHERE zuonr NE space.
EXIT.
ENDLOOP.
IF v_filt_atrib = 'X' AND sy-subrc EQ 0.
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)' t_dados-c_zuonr.
LOOP AT t_doctos WHERE tcode = t_dados-tcode AND
tabela = t_dados-tabela AND
cpochv = t_dados-cpochv.
IF NOT t_doctos-zuonr IS INITIAL.
v_cont = v_cont + 1.
CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_xpos.
PERFORM bdc_field USING v_xpos t_doctos-zuonr.
IF v_cont > 5.
PERFORM bdc_field USING 'BDC_OKCODE' 'SU1'.
PERFORM bdc_screen USING 'SAPDF05X' '0731'.
CLEAR v_cont.
ENDIF.
ENDIF.
ENDLOOP.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
* << Fim da inclusão
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'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034F01
...
CASE sy-dynnr.
WHEN '0002'.
SET PF-STATUS '0001' EXCLUDING 'SPOS'.
SET TITLEBAR '0100' WITH '- '(020) 'Criar'(015).
WHEN '0100'.
CASE sy-tcode.
WHEN c_transacao_c.
preenche_itab_status_exc 'AEND'.
preenche_itab_status_exc 'ESTORNO'.
preenche_itab_status_exc 'NOOP'.
* >> Início da inclusão: FORM STATUS_GUI
preenche_itab_status_exc 'MOVE_DATA'.
* << Fim da inclusão
WHEN c_transacao_a.
preenche_itab_status_exc 'AEND'.
* >> Início da exclusão: FORM STATUS_GUI
preenche_itab_status_exc 'MARK'.
preenche_itab_status_exc 'UNMARK'.
preenche_itab_status_exc 'DEL_LINE'.
* << Fim da exclusão
* >> Início da inclusão: FORM STATUS_GUI
preenche_itab_status_exc 'RECEB_TOT'.
* << Fim da inclusão
WHEN c_transacao_e.
* >> Início da inclusão: FORM STATUS_GUI
preenche_itab_status_exc 'RECEB_TOT'.
preenche_itab_status_exc 'MOVE_DATA'.
* << Fim da inclusão
preenche_itab_status_exc 'ESTORNO'.
preenche_itab_status_exc 'NOOP'.
preenche_itab_status_exc 'MARK'.
preenche_itab_status_exc 'UNMARK'.
preenche_itab_status_exc 'DEL_LINE'.
preenche_itab_status_exc 'SAVE'.
ENDCASE.
SET PF-STATUS '0100' EXCLUDING itab_status_exc.
define_titulo.
ENDCASE.
ENDFORM.
FORM trata_tela.
CASE sy-dynnr.
WHEN '0100'.
PERFORM trata_tela_0100.
* >> Início da inclusão: FORM TRATA_TELA
WHEN '0120'.
PERFORM trata_tela_0120.
* << Fim da inclusão
ENDCASE.
ENDFORM.
FORM botao_especifico.
DATA: myevent_tab TYPE cntl_simple_events,
myevent TYPE cntl_simple_event,
v_icone TYPE iconname.
CLEAR : myevent.
REFRESH: myevent_tab.
IF itab_zyglt376[] IS INITIAL.
SELECT * FROM /pws/zyglt376 INTO TABLE itab_zyglt376
...
...
ENDIF.
ENDFORM.
FORM drill_down.
DATA: v_campo(30) TYPE c,
v_value(10) TYPE c,
v_index TYPE sy-tabix,
v_bukrs TYPE /pws/zycbe226-bukrs,
v_gjahr TYPE bkpf-gjahr,
v_nrparcf TYPE /pws/zycbe226-nrparcf,
wa_zycbt017 TYPE t_s_zycbt017.
* >> Início da exclusão: FORM DRILL_DOWN
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN
DATA: v_periodo TYPE frper.
FIELD-SYMBOLS:
<fs_contrato> TYPE t_contrato,
<fs_disp> TYPE t_disponibilidade,
<fs_zycbt226> TYPE t_s_zycbe226.
* << Fim da inclusão
GET CURSOR FIELD v_campo VALUE v_value.
CHECK NOT v_campo IS INITIAL.
CASE v_campo.
WHEN '/PWS/ZYCBE226-NRINVOIC'.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD'
FIELD '/PWS/ZYCB005_E'.
IF sy-subrc = 0.
GET CURSOR LINE v_index.
CHECK NOT v_index IS INITIAL.
...
...
IF sy-subrc EQ 0.
SET PARAMETER ID 'BLN' FIELD v_value.
GET CURSOR LINE v_index.
CHECK NOT v_index IS INITIAL.
v_index = tc_op-top_line + v_index - 1.
READ TABLE itab_zycbt226 INDEX v_index ASSIGNING <fs_zycbt226>.
IF sy-subrc = 0.
v_bukrs = <fs_zycbt226>-bukrs.
CHECK NOT v_bukrs IS INITIAL.
v_gjahr = <fs_zycbt226>-dtlancto(4).
* >> Início da inclusão: FORM DRILL_DOWN
CHECK NOT v_gjahr IS INITIAL.
SET PARAMETER ID 'BUK' FIELD v_bukrs.
SET PARAMETER ID 'GJR' FIELD v_gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
WHEN '/PWS/ZYCBE238-DOC_CONT'
OR '/PWS/ZYCBE238-DOC_DESM'
OR '/PWS/ZYCBE238-DOC_COMP'
OR '/PWS/ZYCBE239-DOC_CONT'
OR '/PWS/ZYCBE239-DOC_COMP'.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD'
FIELD 'FB03'.
IF sy-subrc EQ 0.
SET PARAMETER ID 'BLN' FIELD v_value.
GET CURSOR LINE v_index.
CHECK NOT v_index IS INITIAL.
v_index = tc_op-top_line + v_index - 1.
IF v_campo+0(13) EQ '/PWS/ZYCBE239'.
READ TABLE itab_contrato
INDEX v_index ASSIGNING <fs_contrato>.
CHECK <fs_contrato> IS ASSIGNED.
READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>
WITH KEY nrseq = <fs_contrato>-nrseq.
v_gjahr = <fs_contrato>-dtdebito(4).
ELSE.
CASE sy-dynnr.
WHEN '0120'.
READ TABLE itab_disp_30 INDEX v_index ASSIGNING <fs_disp>.
WHEN '0131'.
READ TABLE itab_disp_70 INDEX v_index ASSIGNING <fs_disp>.
ENDCASE.
CHECK <fs_disp> IS ASSIGNED.
READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>
WITH KEY nrseq = <fs_disp>-nrseq.
v_gjahr = <fs_disp>-dtlanc(4).
ENDIF.
IF sy-subrc = 0.
v_bukrs = <fs_zycbt226>-bukrs.
CHECK NOT v_bukrs IS INITIAL.
* << Fim da inclusão
CHECK NOT v_gjahr IS INITIAL.
SET PARAMETER ID 'BUK' FIELD v_bukrs.
SET PARAMETER ID 'GJR' FIELD v_gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
ENDCASE.
ENDFORM.
FORM user_command_0100.
DATA: v_linhas TYPE sy-tabix.
CASE ok_code.
WHEN 'SAVE'.
PERFORM salva_previsto.
* >> Início da inclusão: FORM USER_COMMAND_0100
PERFORM salva_rendimentos.
* << Fim da inclusão
PERFORM processamento.
WHEN 'PB_HELP'.
v_tela_help = '0051'.
EXIT.
WHEN 'HELP_CLOSE'.
v_tela_help = '0052'.
EXIT.
WHEN 'AEND'.
PERFORM aend.
* >> Início da inclusão: FORM USER_COMMAND_0100
WHEN 'MODO'.
PERFORM modo_bi.
* << Fim da inclusão
* >> Início da exclusão: FORM USER_COMMAND_0100
WHEN 'MARK'.
PERFORM mark USING 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0100
WHEN 'TAB100_30'.
IF itab_disp_30[] IS INITIAL.
ts_principal-activetab = wa_controle-ts_atual.
ELSE.
ts_principal-activetab = ok_code.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM USER_COMMAND_0100
WHEN 'UNMARK'.
PERFORM mark USING ' '.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0100
WHEN 'TAB100_70'.
IF itab_disp_70[] IS INITIAL.
ts_principal-activetab = wa_controle-ts_atual.
ELSE.
ts_principal-activetab = ok_code.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM USER_COMMAND_0100
WHEN 'DEL_LINE'.
PERFORM del_line.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0100
WHEN OTHERS.
IF ok_code(6) EQ 'TAB100'.
ts_principal-activetab = ok_code.
* << Fim da inclusão
* >> Início da exclusão: FORM USER_COMMAND_0100
WHEN 'P--' OR 'P-' OR 'P++' OR 'P+'.
DESCRIBE TABLE itab_zycbt226 LINES v_linhas.
PERFORM paginacao_tc USING v_linhas
CHANGING tc_op-top_line.
WHEN 'ESTORNO'.
PERFORM marcar_estorno USING 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0100
ELSEIF ok_code(6) EQ 'TAB130'.
ts_70-activetab = ok_code.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM USER_COMMAND_0100
WHEN 'NOOP'.
PERFORM marcar_estorno USING ' '.
WHEN 'MODO'.
PERFORM modo_bi.
* << Fim da exclusão
ENDCASE.
ENDFORM.
FORM seleciona_parametros.
IF wa_controle-parametros_carregados IS INITIAL.
SELECT *
FROM /pws/zycbt007
INTO TABLE itab_zycbt007.
SELECT *
FROM /pws/zycbt089
INTO TABLE itab_zycbt089.
...
...
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
wa_controle-parametros_carregados = 'X'.
ENDIF.
ENDFORM.
FORM seleciona_op.
DATA:
* >> Início da inclusão: FORM SELECIONA_OP
v_indice TYPE sy-index,
* << Fim da inclusão
wa_zycbt017 TYPE t_s_zycbt017.
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226,
* >> Início da inclusão: FORM SELECIONA_OP
<fs_contrato> LIKE LINE OF itab_contrato,
<fs_disp> LIKE LINE OF itab_disp_70,
* << Fim da inclusão
<fs_zycbt017> TYPE t_s_zycbt017.
IF sy-tcode NE c_transacao_c.
CHECK wa_controle-dados_op_carregados IS INITIAL.
SELECT *
FROM /pws/zycbt226
INTO CORRESPONDING FIELDS OF TABLE itab_zycbt226
WHERE nrseq IN s_nrseq
AND nrinvoic IN s_invoic
AND nrparcf IN s_nrparc
AND gsberf IN s_gsber
AND bukrs IN s_bukrs
AND kunag IN s_kunag
AND dtcredext IN s_dtcext
AND dtincl IN s_dtincl
* >> Início da exclusão: FORM SELECIONA_OP
AND destino IN s_dest.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_OP
.
* << Fim da inclusão
IF sy-subrc = 0.
IF p_orig1 = 'X' AND p_orig2 IS INITIAL.
opt_origem_embarque = 'X'.
CLEAR opt_origem_pagantec.
DELETE itab_zycbt226 WHERE tipo_op NE 'E'.
ELSEIF p_orig1 IS INITIAL AND p_orig2 = 'X'.
opt_origem_pagantec = 'X'.
CLEAR opt_origem_embarque.
DELETE itab_zycbt226 WHERE tipo_op NE 'P'.
ELSEIF ( p_orig1 = 'X' AND p_orig2 = 'X' ) OR
...
...
ENDIF.
ENDIF.
IF NOT itab_zycbt226[] IS INITIAL.
SELECT *
FROM /pws/zycbt017
INTO TABLE itab_zycbt017
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrinvoic = itab_zycbt226-nrinvoic
AND gsberf = itab_zycbt226-gsberf
AND nrparcf = itab_zycbt226-nrparcf.
* >> Início da inclusão: FORM SELECIONA_OP
SELECT * FROM /pws/zycbt227
INTO TABLE itab_zycbt227
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrseq = itab_zycbt226-nrseq.
IF NOT itab_zycbt227[] IS INITIAL.
SELECT *
FROM /pws/zycbt017
APPENDING TABLE itab_zycbt017
FOR ALL ENTRIES IN itab_zycbt227
WHERE nrinvoic = itab_zycbt227-nrinvoic
AND gsberf = itab_zycbt227-gsberf
AND nrparcf = itab_zycbt227-nrparcf.
ENDIF.
SELECT * FROM /pws/zycbt238
INTO TABLE itab_disp_30
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrseq = itab_zycbt226-nrseq
AND destino = c_30.
APPEND LINES OF itab_disp_30 TO itab_disp_ant.
SELECT * FROM /pws/zycbt238
INTO TABLE itab_disp_70
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrseq = itab_zycbt226-nrseq
AND destino = c_70.
APPEND LINES OF itab_disp_70 TO itab_disp_ant.
IF NOT itab_disp_70[] IS INITIAL.
SELECT * FROM /pws/zycbt239
INTO TABLE itab_contrato
FOR ALL ENTRIES IN itab_disp_70
WHERE nrseq = itab_disp_70-nrseq.
IF sy-subrc EQ 0.
SORT itab_contrato BY nrseq dtdisp tpcontr ASCENDING.
APPEND LINES OF itab_contrato TO itab_contrato_ant.
ENDIF.
CLEAR:
v_indice.
LOOP AT itab_disp_70 ASSIGNING <fs_disp>.
v_indice = v_indice + 1.
LOOP AT itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = <fs_disp>-nrseq
AND destino = <fs_disp>-destino
AND dtdisp = <fs_disp>-dtdisp.
<fs_contrato>-indice = v_indice.
ENDLOOP.
<fs_disp>-indice = v_indice.
ENDLOOP.
ENDIF.
SELECT * FROM /pws/zycbt240 INTO TABLE itab_rendimentos.
itab_rendimentos_ant = itab_rendimentos.
* << Fim da inclusão
LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226>.
READ TABLE itab_zycbt017 INTO wa_zycbt017 WITH KEY
nrinvoic = <fs_zycbt226>-nrinvoic
gsberf = <fs_zycbt226>-gsberf
nrparcf = <fs_zycbt226>-nrparcf.
IF sy-subrc EQ '0'.
<fs_zycbt226>-vlavinc = wa_zycbt017-vlavinc.
ENDIF.
ENDLOOP.
ENDIF.
wa_controle-dados_op_carregados = 'X'.
ELSE.
IF NOT itab_zycbt226[] IS INITIAL.
SELECT *
FROM /pws/zycbt017
INTO TABLE itab_zycbt017
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrinvoic = itab_zycbt226-nrinvoic
AND gsberf = itab_zycbt226-gsberf
AND nrparcf = itab_zycbt226-nrparcf.
* >> Início da inclusão: FORM SELECIONA_OP
SELECT * FROM /pws/zycbt227
INTO TABLE itab_zycbt227
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrseq = itab_zycbt226-nrseq.
IF NOT itab_zycbt227[] IS INITIAL.
SELECT *
FROM /pws/zycbt017
INTO TABLE itab_zycbt017
FOR ALL ENTRIES IN itab_zycbt227
WHERE nrinvoic = itab_zycbt227-nrinvoic
AND gsberf = itab_zycbt227-gsberf
AND nrparcf = itab_zycbt227-nrparcf.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDFORM.
FORM trata_exit USING p_exit TYPE /pws/zyglt100-zexit.
DATA: v_ucomm TYPE sy-ucomm,
v_subrc TYPE sy-subrc.
FIELD-SYMBOLS: <fs_zyglt100> LIKE LINE OF itab_zyglt100.
CLEAR r_okcode.
CALL METHOD cl_gui_cfw=>dispatch.
IF NOT r_okcode IS INITIAL.
...
...
CALL FUNCTION 'MESSAGES_COUNT'
IMPORTING
count = v_num_messages
EXCEPTIONS
inconsistent_range = 1
inconsistent_range_severity = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
CHECK v_num_messages > 0.
* >> Início da inclusão: FORM MESSAGE_SHOW
CLEAR:
wa_controle-msg_cnt.
* << Fim da inclusão
CALL FUNCTION 'MESSAGES_SHOW'
EXPORTING
object =
'Mensagens emitidas durante o processo'(018)
show_linno = space
EXCEPTIONS
inconsistent_range = 1
no_messages = 2
OTHERS = 3.
IF sy-subrc <> 0.
...
...
ENDCASE.
ENDFORM.
FORM aend.
EXPORT s_bukrs TO MEMORY ID 'PROG34-BUKRS'.
EXPORT s_invoic TO MEMORY ID 'PROG34-INVOIC'.
EXPORT s_gsber TO MEMORY ID 'PROG34-GSBER'.
EXPORT s_nrparc TO MEMORY ID 'PROG34-NRPARC'.
EXPORT s_kunag TO MEMORY ID 'PROG34-KUNAG'.
EXPORT s_dtincl TO MEMORY ID 'PROG34-DTINCL'.
EXPORT s_dtcext TO MEMORY ID 'PROG34-DTCEXT'.
* >> Início da exclusão: FORM AEND
CALL TRANSACTION c_transacao_a AND SKIP FIRST SCREEN.
* << Fim da exclusão
* >> Início da inclusão: FORM AEND
PERFORM leave_to_transaction
USING c_transacao_a.
* << Fim da inclusão
ENDFORM.
FORM trata_tela_0100.
DATA: v_linhas TYPE sy-tabix.
FIELD-SYMBOLS: <fs_cols> TYPE cxtab_column.
* >> Início da exclusão: FORM TRATA_TELA_0100
DESCRIBE TABLE itab_zycbt226 LINES v_linhas.
tc_op-lines = v_linhas.
* << Fim da exclusão
LOOP AT SCREEN.
IF sy-tcode = c_transacao_e.
...
...
<fs_cols>-invisible = '0'.
ENDIF.
ELSEIF ( opt_origem_embarque = 'X' AND
opt_origem_pagantec = 'X' ) OR
( opt_origem_embarque IS INITIAL AND
opt_origem_pagantec IS INITIAL ).
<fs_cols>-invisible = '0'.
ENDIF.
ENDLOOP.
ENDFORM.
* >> Início da exclusão: FORM MARK
FORM mark USING value(p_mark) TYPE c.
* << Fim da exclusão
* >> Início da inclusão: FORM MARK
FORM trata_tela_0120.
DATA: v_linhas TYPE sy-tabix.
FIELD-SYMBOLS: <fs_cols> TYPE cxtab_column.
* << Fim da inclusão
* >> Início da exclusão: FORM MARK
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.
* << Fim da exclusão
* >> Início da inclusão: FORM MARK
DESCRIBE TABLE itab_disp_30 LINES v_linhas.
tc_30-lines = v_linhas.
* << Fim da inclusão
* >> Início da exclusão: FORM MARK
LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226>.
<fs_op>-mark = p_mark.
* << Fim da exclusão
* >> Início da inclusão: FORM MARK
LOOP AT SCREEN.
IF sy-tcode = c_transacao_e.
IF screen-group1 CA 'E'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM MARK
LOOP AT tc_30-cols ASSIGNING <fs_cols>.
IF sy-tcode = c_transacao_e.
IF <fs_cols>-screen-group1 CA 'E'.
<fs_cols>-screen-input = 0.
ENDIF.
ELSEIF sy-tcode = c_transacao_a.
IF <fs_cols>-screen-group1 CA 'A'.
<fs_cols>-screen-input = 1.
ENDIF.
IF <fs_cols>-screen-group1 CA 'F'.
<fs_cols>-screen-input = 0.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM MARK
ENDFORM.
FORM del_line.
* << Fim da exclusão
* >> Início da inclusão: FORM DEL_LINE
ELSEIF sy-tcode = c_transacao_c.
IF opt_origem_pagantec = 'X'.
IF <fs_cols>-screen-group2 CA 'A'.
<fs_cols>-screen-input = 1.
ENDIF.
IF <fs_cols>-screen-group2 CA 'F'.
<fs_cols>-screen-input = 0.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM DEL_LINE
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.
* << Fim da exclusão
* >> Início da inclusão: FORM DEL_LINE
IF opt_origem_embarque = 'X'.
IF <fs_cols>-screen-group3 CA 'A'.
<fs_cols>-screen-input = 1.
ENDIF.
IF <fs_cols>-screen-group3 CA 'F'.
<fs_cols>-screen-input = 0.
ENDIF.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM DEL_LINE
LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226> WHERE mark = 'X' .
DELETE itab_zycbt226 INDEX sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM DEL_LINE
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM DEL_LINE
ENDFORM.
* << Fim da inclusão
* >> Início da exclusão: FORM DEL_LINE
ENDFORM.
* << Fim da exclusão
FORM verifica_autorizacao USING value(p_tipo).
DATA: p_oper(2) TYPE c,
wa_zycbt017 TYPE t_s_zycbt017.
...
...
'/PWS/ZYCBM'
'W'
'Registro não será exibido por falta de autorização.'(m02)
space
space
space
'061'.
ELSEIF wa_controle-autorizacao_emp = 'X'.
MOVE-CORRESPONDING <fs_zycbt226> TO /pws/zycbe226.
v_mark = <fs_zycbt226>-mark.
* >> Início da inclusão: FORM PREENCHE_TC_OP
PERFORM atualiza_icone
USING <fs_zycbt226>-operacao
CHANGING v_icone.
* << Fim da inclusão
* >> Início da exclusão: FORM PREENCHE_TC_OP
CLEAR v_icone.
CASE <fs_zycbt226>-operacao.
WHEN space.
v_icone = icon_space.
WHEN 'E'.
v_icone = icon_delete.
ENDCASE.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_TC_OP
IF NOT /pws/zycbe226-belnr_op2 IS INITIAL.
/pws/zycbe226-belnr_op = /pws/zycbe226-belnr_op2.
ENDIF.
* << Fim da inclusão
IF /pws/zycbe226-destino IS INITIAL.
IF opt_destino_30 = 'X'.
/pws/zycbe226-destino = '30'.
ELSEIF opt_destino_70 = 'X'.
/pws/zycbe226-destino = '70'.
ENDIF.
ENDIF.
IF /pws/zycbe226-tipo_op IS INITIAL.
IF opt_origem_embarque = 'X'.
/pws/zycbe226-tipo_op = 'E'.
...
...
ENDIF.
v_banco = <fs_zycbt226>-bco_recebedor.
SHIFT v_banco RIGHT DELETING TRAILING space.
TRANSLATE v_banco USING ' 0'.
READ TABLE itab_lfa1 WITH KEY lifnr = v_banco
INTO wa_lfa1.
IF sy-subrc = 0.
/pws/zycbe226-descr_bcoreceb = wa_lfa1-name1.
ELSE.
CLEAR /pws/zycbe226-descr_bcoreceb.
* >> Início da inclusão: FORM PREENCHE_TC_OP
ENDIF.
v_banco = <fs_zycbt226>-bco_me.
SHIFT v_banco RIGHT DELETING TRAILING space.
TRANSLATE v_banco USING ' 0'.
READ TABLE itab_lfa1 WITH KEY lifnr = v_banco
INTO wa_lfa1.
IF sy-subrc = 0.
/pws/zycbe226-descr_bcome = wa_lfa1-name1.
ELSE.
CLEAR /pws/zycbe226-descr_bcome.
* << Fim da inclusão
ENDIF.
ENDIF.
CLEAR /pws/zycbe226-sld_transferir.
READ TABLE itab_zycbt030 ASSIGNING <fs_zycbt030> WITH KEY
nrinvoic = /pws/zycbe226-nrinvoic
nrparcf = /pws/zycbe226-nrparcf
gsberf = /pws/zycbe226-gsberf.
IF sy-subrc EQ '0'.
/pws/zycbe226-sld_transferir = <fs_zycbt030>-vlsltrans.
ENDIF.
...
...
ENDIF.
v_banco = /pws/zycbe226-bco_recebedor.
SHIFT v_banco RIGHT DELETING TRAILING space.
TRANSLATE v_banco USING ' 0'.
READ TABLE itab_lfa1 WITH KEY lifnr = v_banco
INTO wa_lfa1.
IF sy-subrc = 0.
/pws/zycbe226-descr_bcoreceb = wa_lfa1-name1.
ELSE.
CLEAR /pws/zycbe226-descr_bcoreceb.
* >> Início da inclusão: FORM ATUALIZA_TC_OP
ENDIF.
/pws/zycbe226-belnr_op2 = wa_zycbt226-belnr_op2.
IF wa_zycbt226-drilldown EQ 'X'.
MOVE wa_zycbt226-vlr_exterior TO /pws/zycbe226-vlr_exterior.
CLEAR wa_zycbt226-drilldown.
* << Fim da inclusão
ENDIF.
IF sy-tcode EQ c_transacao_c.
/pws/zycbe226-sld_exterior = /pws/zycbe226-vlr_exterior.
ENDIF.
IF sy-tcode EQ c_transacao_c AND
opt_origem_pagantec EQ 'X'.
/pws/zycbe226-vlavinc = /pws/zycbe226-vlr_exterior.
/pws/zycbe226-sld_transferir = /pws/zycbe226-sld_exterior.
/pws/zycbe226-sld_associar = /pws/zycbe226-vlr_exterior.
IF /pws/zycbe226-tipo_op NE 'P'.
/pws/zycbe226-tipo_op = 'P'.
ENDIF.
ELSEIF sy-tcode EQ c_transacao_c AND
opt_origem_embarque EQ 'X' AND
/pws/zycbe226-tipo_op NE 'E'.
/pws/zycbe226-tipo_op = 'E'.
ENDIF.
MOVE-CORRESPONDING /pws/zycbe226 TO wa_zycbt226.
* >> Início da inclusão: FORM ATUALIZA_TC_OP
IF NOT wa_zycbt226-belnr_op2 IS INITIAL.
MOVE wa_zycbt226-belnr_op2 TO /pws/zycbe226-belnr_op.
ENDIF.
* << Fim da inclusão
wa_zycbt226-mark = v_mark.
MODIFY itab_zycbt226 FROM wa_zycbt226 INDEX tc_op-current_line.
IF sy-subrc NE 0.
APPEND wa_zycbt226 TO itab_zycbt226.
ENDIF.
wa_controle-tc_linhas = sy-loopc.
ENDFORM.
* >> Início da exclusão: FORM MARCAR_ESTORNO
FORM marcar_estorno USING value(p_valor).
* << Fim da exclusão
* >> Início da inclusão: FORM MARCAR_ESTORNO
FORM marcar_estorno
USING value(p_valor)
CHANGING p_itab TYPE INDEX TABLE.
FIELD-SYMBOLS:
<fs_line> TYPE ANY,
<fs_record> TYPE ANY.
* << Fim da inclusão
* >> Início da exclusão: FORM MARCAR_ESTORNO
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.
LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226> WHERE mark = 'X' .
* << Fim da exclusão
* >> Início da inclusão: FORM MARCAR_ESTORNO
LOOP AT p_itab ASSIGNING <fs_line>.
ASSIGN COMPONENT 'MARK' OF STRUCTURE <fs_line> TO <fs_record>.
CHECK <fs_record> IS ASSIGNED.
CHECK <fs_record> EQ 'X'.
UNASSIGN <fs_record>.
ASSIGN COMPONENT 'OPERACAO' OF STRUCTURE <fs_line> TO <fs_record>.
CHECK <fs_record> IS ASSIGNED.
CHECK <fs_record> NE c_novo.
* << Fim da inclusão
IF p_valor = 'X'.
* >> Início da exclusão: FORM MARCAR_ESTORNO
<fs_zycbt226>-operacao = 'E'.
* << Fim da exclusão
* >> Início da inclusão: FORM MARCAR_ESTORNO
<fs_record> = c_excluido.
* << Fim da inclusão
ELSEIF p_valor IS INITIAL.
* >> Início da exclusão: FORM MARCAR_ESTORNO
CLEAR <fs_zycbt226>-operacao.
* << Fim da exclusão
* >> Início da inclusão: FORM MARCAR_ESTORNO
CLEAR <fs_record>.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MARCAR_ESTORNO
UNASSIGN <fs_record>.
* << Fim da inclusão
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE w061 WITH
'Por favor, selecionar pelo menos uma fatura.'(m01).
ENDIF.
ENDFORM.
...
...
screen-name = '/PWS/ZYCBE226-REF_OP' OR
screen-name = '/PWS/ZYCBE226-OBS' OR
screen-name = '/PWS/ZYCBE226-DESTINO'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM importa_selecao.
* >> Início da inclusão: FORM IMPORTA_SELECAO
DATA:
wa_nrseq LIKE LINE OF s_nrseq,
wa_zycbt226 LIKE LINE OF itab_zycbt226,
v_param(20) TYPE c,
v_index(3) TYPE n,
v_contador(3) TYPE n,
v_nrseq TYPE /pws/zycbe226-nrseq.
CLEAR:
v_index,
v_contador.
GET PARAMETER ID 'ZYCB034-QTD' FIELD v_index.
SET PARAMETER ID 'ZYCB034-QTD' FIELD space.
* << Fim da inclusão
* >> Início da exclusão: FORM IMPORTA_SELECAO
IF sy-tcode = c_transacao_a.
IMPORT s_bukrs FROM MEMORY ID 'PROG34-BUKRS'.
IMPORT s_invoic FROM MEMORY ID 'PROG34-INVOIC'.
IMPORT s_gsber FROM MEMORY ID 'PROG34-GSBER'.
IMPORT s_nrparc FROM MEMORY ID 'PROG34-NRPARC'.
IMPORT s_kunag FROM MEMORY ID 'PROG34-KUNAG'.
IMPORT s_dtincl FROM MEMORY ID 'PROG34-DTINCL'.
IMPORT s_dtcext FROM MEMORY ID 'PROG34-DTCEXT'.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPORTA_SELECAO
wa_nrseq-sign = 'I'.
wa_nrseq-option = 'EQ'.
DO v_index TIMES.
CONCATENATE c_parametro v_contador INTO v_param.
GET PARAMETER ID v_param FIELD wa_nrseq-low.
SET PARAMETER ID v_param FIELD space.
APPEND wa_nrseq TO s_nrseq.
v_contador = v_contador + 1.
ENDDO.
* << Fim da inclusão
ENDFORM.
FORM processamento.
DATA: v_excecao(01) TYPE c,
* >> Início da inclusão: FORM PROCESSAMENTO
wa_disp LIKE LINE OF itab_disp_30,
wa_zycbt226 LIKE LINE OF itab_zycbt226,
* << Fim da inclusão
v_indice_226 TYPE sy-tabix.
PERFORM: seleciona_op,
seleciona_dados,
armazena_dados_antigos.
LOOP AT itab_zycbt226 ASSIGNING <fs_op>.
v_indice_226 = sy-tabix.
IF <fs_op>-status = 'C'.
IF <fs_op>-operacao = 'E'.
* >> Início da inclusão: FORM PROCESSAMENTO
READ TABLE itab_disp_30 WITH KEY nrseq = <fs_op>-nrseq
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'Ordem de Pagamento'(001)
<fs_op>-nrseq
'tem disponibilidade(s) de 30%.'(m21)
'Estorno não permitido.'(m15)
'061'.
CONTINUE.
ENDIF.
READ TABLE itab_disp_70 WITH KEY nrseq = <fs_op>-nrseq
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'Ordem de Pagamento'(001)
<fs_op>-nrseq
'tem disponibilidade(s) de 70%.'(m22)
'Estorno não permitido.'(m15)
'061'.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF <fs_op>-vlr_exterior NE <fs_op>-sld_exterior.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'Ordem de Pagamento'(001)
<fs_op>-nrseq
'está paga.'(m14)
'Estorno não permitido.'(m15)
'061'.
CONTINUE.
...
...
<fs_op>-nrseq
'está associada.'(m16)
'Estorno não permitido.'(m15)
'061'.
CONTINUE.
ENDIF.
PERFORM: le_dados,
verifica_dados USING 'X'
CHANGING v_excecao.
IF v_excecao IS INITIAL.
* >> Início da exclusão: FORM PROCESSAMENTO
PERFORM: contabilizacoes_estorno,
message_show USING 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSAMENTO
PERFORM: contabilizacoes_estorno.
REFRESH itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ELSE.
PERFORM atualiza_dados_op.
* >> Início da inclusão: FORM PROCESSAMENTO
PERFORM processa_disponibilidade
USING itab_disp_30.
PERFORM processa_disponibilidade
USING itab_disp_70.
* << Fim da inclusão
CONTINUE.
ENDIF.
ELSEIF <fs_op>-status = 'I' OR
<fs_op>-status IS INITIAL.
CHECK <fs_op>-bloqueado IS INITIAL.
CLEAR v_excecao.
PERFORM: le_dados,
verifica_dados USING space
CHANGING v_excecao.
IF v_excecao IS INITIAL.
PERFORM: contabilizacoes.
* >> Início da exclusão: FORM PROCESSAMENTO
PERFORM message_show USING 'X'.
* << Fim da exclusão
ENDIF.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM PROCESSAMENTO
PERFORM message_show USING 'X'.
IF sy-tcode EQ c_transacao_c.
LOOP AT itab_zycbt226 INTO wa_zycbt226
WHERE status NE c_contabilizado.
EXIT.
ENDLOOP.
IF sy-subrc NE 0 AND NOT itab_zycbt226[] IS INITIAL.
PERFORM leave_to_transaction
USING c_transacao_a.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM verifica_dados
USING p_estorno TYPE c
CHANGING p_excecao TYPE c.
DATA: v_mensagens TYPE sy-tabix.
PERFORM verifica_parametrizacao_taxas
USING p_estorno
itab_zycbt089
<fs_op>-bukrs
CHANGING p_excecao.
...
...
DATA:
v_dt_taxa TYPE d,
wa_zycet001 TYPE t_s_zycet001,
wa_zycit054 TYPE t_s_zycit054,
wa_zycet047 TYPE t_s_zycet047,
wa_zycet048 TYPE t_s_zycet048,
wa_bkpf TYPE t_s_bkpf,
v_op(30) TYPE c,
v_cli(23) TYPE c,
v_liqand(27) TYPE c.
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
READ TABLE itab_zycbt089 INTO wa_zycbt089
WITH KEY bukrs = p_bukrs.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = p_bukrs.
* << Fim da inclusão
CHECK NOT p_dtlanc IS INITIAL.
IF NOT wa_zycbt007 IS INITIAL AND
NOT wa_zycbt089 IS INITIAL.
CASE p_tpcontab.
WHEN 'O'.
v_op = c_dtlanc.
CASE v_op.
WHEN c_dtlanc.
v_dt_taxa = p_dtlanc.
WHEN c_dtcredext.
...
...
IF NOT itab_zycbt226[] IS INITIAL.
SELECT *
FROM kna1
INTO TABLE itab_kna1
FOR ALL ENTRIES IN itab_zycbt226
WHERE kunnr = itab_zycbt226-kunag.
SELECT *
FROM lfa1
INTO TABLE itab_lfa1
FOR ALL ENTRIES IN itab_zycbt226
* >> Início da exclusão: FORM SELECIONA_DADOS
WHERE lifnr = itab_zycbt226-bco_recebedor.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
WHERE lifnr = itab_zycbt226-bco_recebedor
OR lifnr = itab_zycbt226-bco_me.
* << Fim da inclusão
SELECT *
FROM /pws/zycbt225
INTO TABLE itab_zycbt225
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrseq = itab_zycbt226-nrseq.
SELECT dtemb dtvencto viatrans dtaverb dtcruze nrseq
kurrf_bl
FROM /pws/zycet001
INTO CORRESPONDING FIELDS OF TABLE itab_zycet001
FOR ALL ENTRIES IN itab_zycbt226
...
...
p_wa_zycbe033-c_newko
'S'.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
p_wa_zycbe033-koart
p_wa_zycbe033-d_newko1
'S'.
ENDFORM.
FORM limpa_dados_bi.
FREE:
* >> Início da inclusão: FORM LIMPA_DADOS_BI
itab_doctos,
* << Fim da inclusão
itab_zycbt032,
itab_zycbe033,
itab_zycbt034,
itab_zycbt036,
itab_partidas,
itab_zycbe224.
ENDFORM.
FORM modo_bi.
TYPES: t_s_modo TYPE spopli,
t_t_modo TYPE TABLE OF t_s_modo WITH DEFAULT KEY.
...
...
REFRESH tdynpread.
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
povstepl = v_line.
tdynpread-fieldname = '/PWS/ZYCBE226-NRINVOIC'.
tdynpread-stepl = v_line.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB034'
* >> Início da exclusão: FORM GET_INVOICE
dynumb = '0100'
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynumb = '0110'
* << Fim da inclusão
TABLES
dynpfields = tdynpread.
IF sy-subrc EQ 0 AND
NOT tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
IF sy-tcode = c_transacao_a OR
sy-tcode = c_transacao_e.
l_display = 'X'.
ELSE.
...
...
povstepl = v_line.
DO v_line TIMES.
CLEAR tdynpread.
REFRESH tdynpread.
tdynpread-fieldname = '/PWS/ZYCBE226-NRINVOIC'.
tdynpread-stepl = v_line - 1.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB034'
* >> Início da exclusão: FORM GET_INVOICE
dynumb = '0100'
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynumb = '0110'
* << Fim da inclusão
TABLES
dynpfields = tdynpread.
IF sy-subrc EQ 0 AND
tdynpread-fieldvalue IS INITIAL AND
tdynpread-stepl GT 0.
v_line = tdynpread-stepl.
ELSEIF sy-subrc EQ 0 AND
NOT tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
...
...
tdynpread-stepl = v_line.
APPEND tdynpread.
READ TABLE itab_zycbt226 INTO wa_zycbt226 WITH KEY
nrinvoic = wa_invoice-nrinvoic
nrparcf = wa_invoice-nrparcf
gsberf = wa_invoice-gsberf.
IF sy-subrc NE '0'.
MOVE-CORRESPONDING wa_zycbt017 TO wa_zycbt226.
MOVE-CORRESPONDING wa_invoice TO wa_zycbt226.
MOVE wa_invoice-vlsltrans TO wa_zycbt226-sld_transferir.
* >> Início da inclusão: FORM GET_INVOICE
MOVE c_novo TO wa_zycbt226-operacao.
* << Fim da inclusão
APPEND wa_zycbt226 TO itab_zycbt226.
ENDIF.
ENDLOOP.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
* >> Início da exclusão: FORM GET_INVOICE
dynumb = '0100'
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynumb = '0110'
* << Fim da inclusão
TABLES
dynpfields = tdynpread
EXCEPTIONS
OTHERS = 8.
ENDFORM.
FORM limpa_itabs.
REFRESH:
itab_zycbt017,
itab_zycbt030,
itab_zycbt039,
...
...
itab_zycbt226,
itab_zycbt226_ant,
itab_zycet001,
itab_zycet047,
itab_zycet048,
itab_zycit054,
itab_zyglt316,
itab_zyglt376,
itab_zyglt368,
itab_bkpf,
* >> Início da inclusão: FORM LIMPA_ITABS
itab_disp_ant,
itab_disp_30,
itab_disp_70,
itab_rendimentos,
itab_contrato,
* << Fim da inclusão
itab_zycbt007,
itab_zycbt089,
itab_zyglt009,
itab_kna1,
itab_lfa1,
itab_zyglt321,
itab_zycbt009,
itab_zycbt011,
itab_zyglt100.
ENDFORM.
...
...
value(p_belnr_est_f02) TYPE /pws/zycbt226-belnr_op
value(p_dtlancto_est_f02) TYPE /pws/zycbt226-dtlancto.
DATA: wa_zycbt032 TYPE t_s_zycbt032,
wa_zycbe033 TYPE t_s_zycbe033,
wa_zycbt034 TYPE t_s_zycbt034,
wa_zycbt036 TYPE t_s_zycbt036,
wa_zycbt011 TYPE t_s_zycbt011,
wa_zycbt030 TYPE t_s_zycbt030,
wa_zycbt225 TYPE t_s_zycbt225,
wa_zycbt209 TYPE t_s_zycbt209,
* >> Início da inclusão: FORM ESTORNO
wa_cont TYPE t_contabilizacoes,
* << Fim da inclusão
v_codeven TYPE /pws/zycbt011-codeven,
v_chvoper(3) TYPE c,
v_titulo(40) TYPE c,
v_tot_liqand TYPE wrbtr.
* >> Início da inclusão: FORM ESTORNO
CHECK NOT p_belnr_est_f02 IS INITIAL.
* << Fim da inclusão
IF <fs_op>-tipo_op = 'E'.
CASE p_processo.
WHEN 'C'.
CHECK NOT <fs_op>-belnr_desm_cli IS INITIAL.
WHEN 'L'.
CHECK NOT <fs_op>-belnr_desmliqand IS INITIAL.
WHEN 'O'.
CHECK NOT <fs_op>-belnr_op IS INITIAL.
* >> Início da inclusão: FORM ESTORNO
CHECK <fs_op>-belnr_desmliqand IS INITIAL
AND <fs_op>-belnr_desm_cli IS INITIAL.
* << Fim da inclusão
ENDCASE.
ENDIF.
wa_zycbe033-tcode = 'F-30'.
wa_zycbe033-tabela = '/PWS/ZYCBT226'.
CONCATENATE <fs_op>-nrinvoic <fs_op>-gsberf <fs_op>-nrparcf
INTO wa_zycbe033-cpochv.
PERFORM verifica_campo_vazio USING <fs_op>-dtlancto
'DTLANCTO'
'Data de Lançamento'(004).
IF wa_controle-periodo_fechado = 'X'.
...
...
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-30'
tabela = '/PWS/ZYCBT226'
cpochv = wa_zycbe033-cpochv
tpmsg = 'S'
INTO wa_zycbt032.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM ESTORNO
wa_cont-belnr = wa_zycbt032-belnr.
wa_cont-dtlancto = wa_zycbe033-budat.
wa_cont-fb08 = 'X'.
wa_cont-fbra = 'X'.
* << Fim da inclusão
CASE p_processo(1).
WHEN 'C'.
* >> Início da inclusão: FORM ESTORNO
wa_cont-belnr_ant = <fs_op>-belnr_desm_cli.
wa_cont-tabela = 'ITAB_ZYCBT226'.
wa_cont-campo = 'BELNR_DESM_CLI'.
* << Fim da inclusão
CLEAR <fs_op>-belnr_desm_cli.
WHEN 'L'.
* >> Início da inclusão: FORM ESTORNO
wa_cont-belnr_ant = <fs_op>-belnr_desmliqand.
wa_cont-tabela = 'ITAB_ZYCBT226'.
wa_cont-campo = 'BELNR_DESMLIQAND'.
* << Fim da inclusão
CLEAR <fs_op>-belnr_desmliqand.
WHEN 'O'.
IF <fs_op>-tipo_op = 'E'.
CLEAR <fs_op>-belnr_compens.
CLEAR <fs_op>-belnr_op.
ELSEIF <fs_op>-tipo_op = 'P'.
IF p_processo = 'OM'.
CLEAR <fs_op>-belnr_op.
ENDIF.
ENDIF.
ENDCASE.
* >> Início da inclusão: FORM ESTORNO
APPEND wa_cont TO itab_contabilizacoes.
* << Fim da inclusão
IF <fs_op>-tipo_op = 'E'.
IF p_processo = 'C'.
LOOP AT itab_zycbt225 INTO wa_zycbt225
WHERE nrseq = <fs_op>-nrseq.
v_tot_liqand = v_tot_liqand + wa_zycbt225-vlme.
ENDLOOP.
ENDIF.
PERFORM volta_saldo USING p_processo
wa_zycbt032
wa_zycbe033
...
...
AND tpmsg = 'E'.
PERFORM message_store
USING wa_zycbt032-msgid
wa_zycbt032-tpmsg
wa_zycbt032-msgv1
wa_zycbt032-msgv2
wa_zycbt032-msgv3
wa_zycbt032-msgv4
wa_zycbt032-nrmsg.
ENDLOOP.
* >> Início da inclusão: FORM ESTORNO
PERFORM estornar_contabilizacoes
USING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ELSEIF sy-subrc = 1.
LOOP AT itab_zycbt034 INTO wa_zycbt034.
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
'Campo não está preenchido.'(m13)
wa_zycbt034-campo
'-'
wa_zycbt034-descricao
'061'.
ENDLOOP.
* >> Início da inclusão: FORM ESTORNO
PERFORM estornar_contabilizacoes
USING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'
EXPORTING
i_bloqueia = 'X'
TABLES
itab_zycbt224 = itab_zycbe224
EXCEPTIONS
zycbe224_null = 1
erro_bloqueio = 2
OTHERS = 3.
...
...
ENDIF.
ENDIF.
ENDFORM.
FORM volta_saldo USING value(p_processo) TYPE c
value(p_zycbt032) TYPE t_s_zycbt032
value(p_zycbe033) TYPE t_s_zycbe033
p_zycbt225 TYPE t_s_zycbt225
p_zycbt030 TYPE t_s_zycbt030
p_zycbt209 TYPE t_s_zycbt209
value(p_tot_liqand) TYPE wrbtr.
* >> Início da exclusão: FORM VOLTA_SALDO
DATA: v_volta_cli TYPE /pws/zycbt030-vlsltrans.
* << Fim da exclusão
* >> Início da inclusão: FORM VOLTA_SALDO
DATA:
wa_cont TYPE t_contabilizacoes,
v_volta_cli TYPE /pws/zycbt030-vlsltrans.
* << Fim da inclusão
CASE p_processo.
WHEN 'C'.
* >> Início da inclusão: FORM VOLTA_SALDO
wa_cont-belnr_ant = p_zycbt030-belnr6.
wa_cont-valor_ant = p_zycbt030-vlsltrans.
wa_cont-campo_valor = 'VLSLTRANS'.
wa_cont-campo = 'BELNR6'.
wa_cont-tabela = 'ITAB_ZYCBT030'.
* << Fim da inclusão
v_volta_cli = <fs_op>-vlr_exterior - p_tot_liqand.
p_zycbt030-vlsltrans =
p_zycbt030-vlsltrans + v_volta_cli.
p_zycbt030-belnr6 = p_zycbt032-belnr.
p_zycbt030-budat = p_zycbe033-budat.
* >> Início da exclusão: FORM VOLTA_SALDO
UPDATE /pws/zycbt030
SET belnr6 = p_zycbt030-belnr6
budat = p_zycbt030-budat
vlsltrans = p_zycbt030-vlsltrans
* << Fim da exclusão
* >> Início da inclusão: FORM VOLTA_SALDO
wa_cont-belnr = p_zycbt030-belnr6.
wa_cont-valor = p_zycbt030-vlsltrans.
APPEND wa_cont TO itab_contabilizacoes.
MODIFY itab_zycbt030 FROM p_zycbt030
TRANSPORTING vlsltrans belnr6 budat
* << Fim da inclusão
WHERE nrinvoic = <fs_op>-nrinvoic
AND nrparcf = <fs_op>-nrparcf
AND gsberf = <fs_op>-gsberf.
WHEN 'L'.
* >> Início da inclusão: FORM VOLTA_SALDO
wa_cont-belnr_ant = p_zycbt209-belnr2.
wa_cont-valor_ant = p_zycbt209-saldo.
wa_cont-campo_valor = 'SALDO'.
wa_cont-campo = 'BELNR2'.
wa_cont-tabela = 'ITAB_ZYCBT209'.
* << Fim da inclusão
p_zycbt209-saldo = p_zycbt209-saldo + p_zycbt225-vlme.
p_zycbt209-belnr2 = p_zycbt032-belnr.
p_zycbt209-dtbelnr = p_zycbe033-budat.
* >> Início da inclusão: FORM VOLTA_SALDO
wa_cont-belnr = p_zycbt209-belnr2.
wa_cont-valor = p_zycbt209-saldo.
* << Fim da inclusão
* >> Início da exclusão: FORM VOLTA_SALDO
UPDATE /pws/zycbt209
SET saldo = p_zycbt209-saldo
belnr2 = p_zycbt209-belnr2
dtbelnr = p_zycbt209-dtbelnr
* << Fim da exclusão
* >> Início da inclusão: FORM VOLTA_SALDO
APPEND wa_cont TO itab_contabilizacoes.
MODIFY itab_zycbt209 FROM p_zycbt209
TRANSPORTING saldo belnr2 dtbelnr
* << Fim da inclusão
WHERE bukrs = p_zycbt225-bukrs
AND nrinvoic = p_zycbt225-nrinvoic
AND belnr = p_zycbt225-belnr
AND dtincl = p_zycbt225-dtincl
AND gsberf = p_zycbt225-gsberf
AND nrparcf = p_zycbt225-nrparcf.
ENDCASE.
ENDFORM.
FORM apaga_registros.
DATA v_nrseq_op TYPE /pws/zycbt226-nrseq.
CHECK <fs_op>-belnr_op IS INITIAL AND
<fs_op>-belnr_desm_cli IS INITIAL AND
<fs_op>-belnr_desmliqand IS INITIAL AND
<fs_op>-belnr_compens IS INITIAL.
v_nrseq_op = <fs_op>-nrseq.
* >> Início da inclusão: FORM APAGA_REGISTROS
MODIFY /pws/zycbt209 FROM TABLE itab_zycbt209.
MODIFY /pws/zycbt030 FROM TABLE itab_zycbt030.
* << Fim da inclusão
DELETE itab_zycbt226 WHERE nrseq = v_nrseq_op.
DELETE FROM /pws/zycbt226 WHERE nrseq = v_nrseq_op.
DELETE itab_zycbt225 WHERE nrseq = v_nrseq_op.
DELETE FROM /pws/zycbt225 WHERE nrseq = v_nrseq_op.
ENDFORM.
FORM f02_reversa
CHANGING p_belnr_est_f02 TYPE /pws/zycbt226-belnr_op
p_dtlancto_est_f02 TYPE /pws/zycbt226-dtlancto.
DATA: wa_zycbt032 TYPE t_s_zycbt032,
wa_zycbe033 TYPE t_s_zycbe033,
wa_zycbt034 TYPE t_s_zycbt034,
wa_partidas TYPE t_s_zycbe033,
wa_zycbt209 TYPE t_s_zycbt209,
wa_zycbt225 TYPE t_s_zycbt225,
wa_tab_op TYPE t_s_tab_op,
wa_zyglt316 TYPE t_s_zyglt316,
wa_zycbt011 TYPE t_s_zycbt011,
* >> Início da inclusão: FORM F02_REVERSA
wa_cont TYPE t_contabilizacoes,
* << Fim da inclusão
v_lancto_multiplo TYPE c,
v_newbs2 TYPE newbs,
v_titulo(31) TYPE c,
v_codeven TYPE /pws/zycbt011-codeven,
v_banco TYPE /pws/zycbt226-bco_me,
v_tot_liqand TYPE wrbtr.
CONSTANTS: c_op(23) TYPE c VALUE 'DOC. ORDEM DE PAGAMENTO',
c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'
.
CHECK <fs_op>-tipo_op = 'E'.
...
...
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-02'
tabela = '/PWS/ZYCBT226'
cpochv = wa_zycbe033-cpochv
tpmsg = 'S'
INTO wa_zycbt032.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM F02_REVERSA
wa_cont-belnr = wa_zycbt032-belnr.
wa_cont-dtlancto = wa_zycbe033-budat.
wa_cont-fb08 = 'X'.
APPEND wa_cont TO itab_contabilizacoes.
* << Fim da inclusão
p_belnr_est_f02 = wa_zycbt032-belnr.
p_dtlancto_est_f02 = wa_zycbe033-budat.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_titulo
'-'
<fs_op>-nrseq
space
'061'.
...
...
wa_zycbt034 TYPE t_s_zycbt034,
wa_zycbt036 TYPE t_s_zycbt036,
wa_zycbt011 TYPE t_s_zycbt011,
wa_zycbt030 TYPE t_s_zycbt030,
wa_zycbt225 TYPE t_s_zycbt225,
wa_zycbt209 TYPE t_s_zycbt209,
v_codeven TYPE /pws/zycbt011-codeven,
v_chvoper(3) TYPE c,
v_titulo(40) TYPE c,
v_tot_liqand TYPE wrbtr,
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
wa_cont TYPE t_contabilizacoes,
* << Fim da inclusão
v_count TYPE i,
v_total TYPE i,
v_ult(1) TYPE c.
CHECK <fs_op>-tipo_op = 'E'.
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
CHECK NOT p_belnr_est_f02 IS INITIAL.
CHECK <fs_op>-belnr_desm_cli IS INITIAL.
* << Fim da inclusão
CHECK NOT <fs_op>-belnr_desmliqand IS INITIAL.
wa_zycbe033-tcode = 'F-30'.
...
...
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-30'
tabela = '/PWS/ZYCBT226'
cpochv = wa_zycbe033-cpochv
tpmsg = 'S'
INTO wa_zycbt032.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
wa_cont-belnr_ant = <fs_op>-belnr_desmliqand.
wa_cont-tabela = 'ITAB_ZYCBT226'.
wa_cont-campo = 'BELNR_DESMLIQAND'.
wa_cont-belnr = wa_zycbt032-belnr.
wa_cont-dtlancto = wa_zycbe033-budat.
wa_cont-fb08 = 'X'.
wa_cont-fbra = 'X'.
APPEND wa_cont TO itab_contabilizacoes.
* << Fim da inclusão
CLEAR <fs_op>-belnr_desmliqand.
PERFORM volta_saldo USING 'L'
wa_zycbt032
wa_zycbe033
wa_zycbt225
wa_zycbt030
wa_zycbt209
v_tot_liqand.
MODIFY itab_zycbt209 FROM wa_zycbt209
TRANSPORTING saldo
...
...
AND tpmsg = 'E'.
PERFORM message_store
USING wa_zycbt032-msgid
wa_zycbt032-tpmsg
wa_zycbt032-msgv1
wa_zycbt032-msgv2
wa_zycbt032-msgv3
wa_zycbt032-msgv4
wa_zycbt032-nrmsg.
ENDLOOP.
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
PERFORM estornar_contabilizacoes
USING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ELSEIF sy-subrc = 1.
LOOP AT itab_zycbt034 INTO wa_zycbt034.
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
'Campo não está preenchido.'(m13)
wa_zycbt034-campo
'-'
wa_zycbt034-descricao
'061'.
ENDLOOP.
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
PERFORM estornar_contabilizacoes
USING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ENDIF.
REFRESH: itab_zycbt032,
itab_zycbe033,
itab_zycbt036,
itab_zycbe224.
ENDLOOP.
CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'
EXPORTING
i_bloqueia = 'X'
...
...
IF sy-subrc = 0.
wa_zycbt089-previsto_usd = /pws/zycbt089-previsto_usd.
MODIFY TABLE itab_zycbt089 FROM wa_zycbt089.
IF v_total_30 > wa_zycbt089-previsto_usd.
v_msg_previsto = text-028.
ELSE.
CLEAR v_msg_previsto.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM user_command_0131.
CHECK ts_principal-activetab EQ c_tela_ts_70
AND ts_70-activetab EQ c_tela_disp_70.
DATA:
v_linhas TYPE sy-tabix.
CASE ok_code.
WHEN 'MARK'.
PERFORM preenche_campo_itab
USING 'MARK'
'X'
CHANGING itab_disp_70.
WHEN 'UNMARK'.
PERFORM preenche_campo_itab
USING 'MARK'
' '
CHANGING itab_disp_70.
WHEN 'DEL_LINE'.
PERFORM elimina_linha_marcada
CHANGING itab_disp_70.
PERFORM elimina_linhas_contrato
USING itab_disp_70
CHANGING itab_contrato.
WHEN 'P--' OR 'P-' OR 'P++' OR 'P+'.
DESCRIBE TABLE itab_disp_70 LINES v_linhas.
PERFORM paginacao_tc USING v_linhas
CHANGING tc_70-top_line.
WHEN 'ESTORNO'.
PERFORM marcar_estorno
USING 'X'
CHANGING itab_disp_70.
PERFORM marcar_estorno_contrato
USING 'X'
itab_disp_70
CHANGING itab_contrato.
WHEN 'NOOP'.
PERFORM marcar_estorno
USING ' '
CHANGING itab_disp_70.
PERFORM marcar_estorno_contrato
USING ' '
itab_disp_70
CHANGING itab_contrato.
WHEN OTHERS.
ENDCASE.
ENDFORM.
FORM preenche_tc_disponibilidade
USING p_itab_disp TYPE t_t_disponibilidade
p_tc TYPE cxtab_control.
DATA:
wa_zycbt226 LIKE LINE OF itab_zycbt226.
FIELD-SYMBOLS:
<fs_disponibilidade> LIKE LINE OF p_itab_disp.
READ TABLE p_itab_disp INDEX p_tc-current_line
ASSIGNING <fs_disponibilidade>.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt226
INTO wa_zycbt226
WITH KEY nrseq = <fs_disponibilidade>-nrseq.
v_mark = <fs_disponibilidade>-mark.
MOVE-CORRESPONDING:
wa_zycbt226 TO /pws/zycbe238,
wa_zycbt226 TO /pws/zycbe226,
<fs_disponibilidade> TO /pws/zycbe238.
PERFORM atualiza_icone
USING <fs_disponibilidade>-operacao
CHANGING v_icone.
ENDIF.
ENDFORM.
FORM atualiza_tc_disponibilidade
USING p_itab_disp TYPE t_t_disponibilidade
p_tc TYPE cxtab_control
p_destino TYPE /pws/zycbe238-destino.
DATA:
wa_disp LIKE LINE OF p_itab_disp.
/pws/zycbe238-destino = p_destino.
READ TABLE p_itab_disp INTO wa_disp INDEX p_tc-current_line.
MOVE-CORRESPONDING:
/pws/zycbe238 TO wa_disp.
MOVE:
v_mark TO wa_disp-mark,
/pws/zycbe226-waers TO wa_disp-waers,
/pws/zycbe238-vldisp TO wa_disp-saldo.
MODIFY p_itab_disp FROM wa_disp INDEX p_tc-current_line.
ENDFORM.
FORM loop_at_screen_disp
USING p_itab_disp TYPE t_t_disponibilidade
p_tc TYPE cxtab_control
p_destino TYPE /pws/zycbe238-destino.
DATA:
v_fecha_linha TYPE c,
v_newko TYPE /pws/zycbe033-d_newko,
wa_disp LIKE LINE OF p_itab_disp.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = /pws/zycbe226-bukrs.
READ TABLE itab_disp_ant
WITH KEY nrseq = /pws/zycbe238-nrseq
destino = p_destino
dtdisp = /pws/zycbe238-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
v_fecha_linha = 'X'.
ENDIF.
LOOP AT SCREEN.
IF v_fecha_linha = 'X'.
CHECK screen-name NE c_mark.
screen-input = 0.
MODIFY SCREEN.
ELSE.
IF /pws/zycbe238-nrseq EQ space.
screen-input = 0.
MODIFY SCREEN.
ELSE.
IF wa_zycbt007-cont_disp EQ space.
IF screen-name EQ '/PWS/ZYCBE238-DTLANC'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF ( screen-name EQ '/PWS/ZYCBE238-VLDISP' OR
screen-name EQ '/PWS/ZYCBE238-DTLANC' OR
screen-name EQ '/PWS/ZYCBE238-DTDISP' ) AND
screen-input NE 0.
screen-required = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM loop_at_screen_contr
USING p_itab_contrato TYPE t_t_contrato
p_tc TYPE cxtab_control.
DATA:
wa_contrato LIKE LINE OF p_itab_contrato.
READ TABLE p_itab_contrato INTO wa_contrato
INDEX p_tc-current_line.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = /pws/zycbe226-bukrs.
LOOP AT SCREEN.
IF sy-tcode EQ c_transacao_e.
screen-input = 0.
MODIFY SCREEN.
ELSE.
IF /pws/zycbe239-tpcontr IS INITIAL.
screen-input = 0.
MODIFY SCREEN.
ELSEIF /pws/zycbe239-tpcontr EQ c_tp4.
IF screen-name EQ '/PWS/ZYCBE239-BCO_MI' OR
screen-name EQ '/PWS/ZYCBE239-BCO_FECH' OR
screen-name EQ '/PWS/ZYCBE239-KURSF' OR
screen-name EQ '/PWS/ZYCBE239-DTCONTR' OR
screen-name EQ '/PWS/ZYCBE239-DTFECH' OR
screen-name EQ '/PWS/ZYCBE239-DTDEBITO' OR
screen-name EQ '/PWS/ZYCBE239-DTLIQUID' OR
screen-name EQ '/PWS/ZYCBE239-DTSWIFT'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF wa_contrato-doc_cont NE space AND
( screen-name EQ '/PWS/ZYCBE239-BCO_MI' OR
screen-name EQ '/PWS/ZYCBE239-KURSF' OR
screen-name EQ '/PWS/ZYCBE239-DTDEBITO' OR
screen-name EQ '/PWS/ZYCBE239-TXTLANC' ).
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ '/PWS/ZYCBE239-VLORDEM_MI'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF ( screen-name EQ '/PWS/ZYCBE239-BCO_MI' OR
screen-name EQ '/PWS/ZYCBE239-KURSF' OR
screen-name EQ '/PWS/ZYCBE239-DTDEBITO' ) AND
screen-input NE 0.
screen-required = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM user_command_0110.
CHECK ts_principal-activetab EQ c_tela_receb.
DATA:
v_linhas TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_zycbt226> TYPE t_s_zycbe226.
CASE ok_code.
WHEN 'MARK'.
PERFORM preenche_campo_itab
USING 'MARK'
'X'
CHANGING itab_zycbt226.
WHEN 'UNMARK'.
PERFORM preenche_campo_itab
USING 'MARK'
' '
CHANGING itab_zycbt226.
WHEN 'DEL_LINE'.
LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226>
WHERE mark EQ 'X'.
READ TABLE itab_disp_30 WITH KEY nrseq = <fs_zycbt226>-nrseq
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
READ TABLE itab_disp_70 WITH KEY nrseq = <fs_zycbt226>-nrseq
TRANSPORTING NO FIELDS.
ENDIF.
IF sy-subrc NE 0.
<fs_zycbt226>-operacao = c_novo.
ELSE.
CLEAR <fs_zycbt226>-mark.
ENDIF.
ENDLOOP.
PERFORM elimina_linha_marcada
CHANGING itab_zycbt226.
WHEN 'P--' OR 'P-' OR 'P++' OR 'P+'.
DESCRIBE TABLE itab_zycbt226 LINES v_linhas.
PERFORM paginacao_tc USING v_linhas
CHANGING tc_op-top_line.
WHEN 'ESTORNO'.
PERFORM marcar_estorno
USING 'X'
CHANGING itab_zycbt226.
WHEN 'NOOP'.
PERFORM marcar_estorno
USING ' '
CHANGING itab_zycbt226.
WHEN 'MOVE_DATA'.
PERFORM adicionar_disponibilidade.
ENDCASE.
ENDFORM.
FORM mover_dados
USING p_itab_origem TYPE t_t_zycbt226
p_destino TYPE /pws/zycbt238-destino
CHANGING p_itab_destino TYPE t_t_disponibilidade.
DATA:
v_codaux1 TYPE /pws/zygle316-codaux1,
v_codaux2 TYPE /pws/zygle316-codaux2,
v_codaux3 TYPE /pws/zygle316-codaux3,
v_indice TYPE sy-index,
v_existe TYPE char1,
wa_origem LIKE LINE OF p_itab_origem,
wa_destino LIKE LINE OF p_itab_destino.
FIELD-SYMBOLS:
<fs_origem> LIKE LINE OF p_itab_origem.
LOOP AT p_itab_origem ASSIGNING <fs_origem> WHERE mark EQ 'X'.
CHECK <fs_origem>-status EQ c_contabilizado.
LOOP AT p_itab_destino INTO wa_destino
WHERE nrseq = <fs_origem>-nrseq.
READ TABLE itab_disp_ant
WITH KEY nrseq = wa_destino-nrseq
destino = wa_destino-destino
dtdisp = wa_destino-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
v_existe = 'X'.
ENDIF.
ENDLOOP.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = <fs_origem>-bukrs.
CLEAR:
wa_destino.
wa_destino-nrseq = <fs_origem>-nrseq.
wa_destino-destino = p_destino.
wa_destino-operacao = c_novo.
v_codaux3 = p_destino.
v_codaux2 = <fs_origem>-waers.
v_codaux1 = <fs_origem>-bco_me.
SHIFT v_codaux1 LEFT DELETING LEADING '0'.
IF wa_zycbt007-cont_disp EQ 'X'.
PERFORM busca_conta_contabil
USING c_debito
<fs_origem>-bukrs
'FBK'
v_codaux1
v_codaux2
v_codaux3
CHANGING wa_destino-conta_contabil.
ELSE.
wa_destino-conta_contabil = <fs_origem>-conta_contabil.
ENDIF.
IF wa_destino-conta_contabil EQ <fs_origem>-conta_contabil AND
wa_zycbt007-cont_disp EQ 'X'.
PERFORM message_store USING
'/PWS/ZYCBM'
'E'
text-m38
text-m39
text-m40
text-m41
'061'.
CONTINUE.
ENDIF.
IF v_existe NE 'X'.
APPEND wa_destino TO p_itab_destino.
ENDIF.
<fs_origem>-mark = space.
ENDLOOP.
ENDFORM.
FORM adicionar_disponibilidade.
DATA:
wa_disp LIKE LINE OF itab_disp_30,
wa_zycbt226 LIKE LINE OF itab_zycbt226,
v_total TYPE /pws/zycbe238-vldisp,
v_answer(1) TYPE c,
v_ok(1) TYPE c,
itab_modo TYPE STANDARD TABLE OF spopli,
wa_modo LIKE LINE OF itab_modo.
LOOP AT itab_zycbt226 INTO wa_zycbt226
WHERE mark = 'X'.
CLEAR:
v_total.
LOOP AT itab_disp_30 INTO wa_disp
WHERE nrseq = wa_zycbt226-nrseq.
v_total = v_total + wa_disp-vldisp.
ENDLOOP.
LOOP AT itab_disp_70 INTO wa_disp
WHERE nrseq = wa_zycbt226-nrseq.
v_total = v_total + wa_disp-vldisp.
ENDLOOP.
IF v_total GE wa_zycbt226-vlr_exterior.
v_ok = 'X'.
ENDIF.
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE w061 WITH
'Por favor, selecionar pelo menos uma fatura.'(m01).
EXIT.
ENDIF.
IF v_ok EQ 'X'.
MESSAGE w061 WITH
'Não existe saldo suficiente para disponibilizar.'(m21).
EXIT.
ENDIF.
wa_modo-selflag = '1'.
wa_modo-varoption = '30%'(031).
APPEND wa_modo TO itab_modo.
wa_modo-selflag = '2'.
wa_modo-varoption = '70%'(032).
APPEND wa_modo TO itab_modo.
SORT itab_modo BY selflag ASCENDING.
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
EXPORTING
textline1 = 'Selecione o destino da'(m18)
textline2 = 'disponibilidade:'(m19)
titel = 'Valores Mantidos no Exterior'(m20)
IMPORTING
answer = v_answer
TABLES
t_spopli = itab_modo
EXCEPTIONS
not_enough_answers = 1
too_much_answers = 2
too_much_marks = 3
OTHERS = 4.
IF sy-subrc = 0.
CASE v_answer.
WHEN '1'.
PERFORM mover_dados
USING itab_zycbt226
c_30
CHANGING itab_disp_30.
ts_principal-activetab = 'TAB100_30'.
WHEN '2'.
PERFORM mover_dados
USING itab_zycbt226
c_70
CHANGING itab_disp_70.
PERFORM adicionar_dados_contrato
USING itab_disp_70.
ts_principal-activetab = 'TAB100_70'.
ts_70-activetab = 'TAB130_DISP'.
ENDCASE.
ENDIF.
ENDFORM.
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.
CASE p_tipo.
WHEN c_debito.
MOVE wa_zyglt316-konts TO p_conta.
WHEN c_credito.
MOVE wa_zyglt316-konth TO p_conta.
ENDCASE.
ENDIF.
ENDFORM.
FORM adicionar_dados_contrato
USING p_itab_disp TYPE t_t_disponibilidade.
DATA:
v_indice TYPE sy-index,
wa_disp LIKE LINE OF p_itab_disp,
wa_contrato LIKE LINE OF itab_contrato.
FIELD-SYMBOLS:
<fs_disp> LIKE LINE OF p_itab_disp.
DESCRIBE TABLE p_itab_disp LINES v_indice.
LOOP AT p_itab_disp ASSIGNING <fs_disp>
WHERE vldisp EQ 0.
DO 2 TIMES.
IF sy-index EQ 1.
wa_contrato-tpcontr = c_tp1.
ELSE.
wa_contrato-tpcontr = c_tp4.
ENDIF.
MOVE:
c_novo TO wa_contrato-operacao,
<fs_disp>-nrseq TO wa_contrato-nrseq,
<fs_disp>-destino TO wa_contrato-destino,
v_indice TO <fs_disp>-indice,
v_indice TO wa_contrato-indice.
APPEND wa_contrato TO itab_contrato.
ENDDO.
v_indice = v_indice + 1.
ENDLOOP.
ENDFORM.
FORM preenche_tc_contrato
USING p_itab_disp TYPE t_t_disponibilidade
p_itab_contrato TYPE t_t_contrato
p_tc TYPE cxtab_control.
DATA:
wa_disp LIKE LINE OF p_itab_disp,
wa_zycbt226 LIKE LINE OF itab_zycbt226,
wa_contrato LIKE LINE OF p_itab_contrato.
FIELD-SYMBOLS:
<fs_contrato> LIKE LINE OF p_itab_contrato.
READ TABLE p_itab_contrato INDEX p_tc-current_line
INTO wa_contrato.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt226
INTO wa_zycbt226
WITH KEY nrseq = wa_contrato-nrseq.
READ TABLE p_itab_disp INTO wa_disp
WITH KEY indice = wa_contrato-indice.
IF sy-subrc EQ 0.
MOVE:
wa_disp-dtdisp TO wa_contrato-dtdisp,
wa_disp-vldisp TO /pws/zycbe238-vldisp.
ENDIF.
MOVE-CORRESPONDING:
wa_contrato TO /pws/zycbe239,
wa_zycbt226 TO /pws/zycbe226.
ENDIF.
ENDFORM.
FORM user_command_0120.
CHECK ts_principal-activetab EQ c_tela_disp_30.
DATA: v_linhas TYPE sy-tabix.
CASE ok_code.
WHEN 'MARK'.
PERFORM preenche_campo_itab
USING 'MARK'
'X'
CHANGING itab_disp_30.
WHEN 'UNMARK'.
PERFORM preenche_campo_itab
USING 'MARK'
' '
CHANGING itab_disp_30.
WHEN 'DEL_LINE'.
PERFORM elimina_linha_marcada
CHANGING itab_disp_30.
WHEN 'P--' OR 'P-' OR 'P++' OR 'P+'.
DESCRIBE TABLE itab_disp_30 LINES v_linhas.
PERFORM paginacao_tc USING v_linhas
CHANGING tc_30-top_line.
WHEN 'ESTORNO'.
PERFORM marcar_estorno
USING 'X'
CHANGING itab_disp_30.
WHEN 'NOOP'.
PERFORM marcar_estorno
USING ' '
CHANGING itab_disp_30.
ENDCASE.
ENDFORM.
FORM salvar_dados_disp
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_msg TYPE t_mensagem-msg.
CHECK NOT p_disp-operacao IS INITIAL.
CASE p_disp-operacao.
WHEN c_novo.
INSERT INTO /pws/zycbt238 VALUES p_disp.
WHEN c_alterado.
UPDATE /pws/zycbt238 FROM p_disp.
WHEN c_excluido.
DELETE FROM /pws/zycbt238
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
ENDCASE.
CONCATENATE p_disp-nrseq '-' p_disp-destino '%' INTO v_msg.
SHIFT v_msg LEFT DELETING LEADING '0'.
IF sy-subrc EQ 0.
CASE p_disp-operacao.
WHEN c_novo.
APPEND p_disp TO itab_disp_ant.
PERFORM message_store USING
'/PWS/ZYCBM'
'I'
'Disponibilidade'
v_msg
'gravada com sucesso.'(m37)
space
'061'.
WHEN c_alterado.
MODIFY itab_disp_ant FROM p_disp
TRANSPORTING doc_comp doc_cont doc_desm
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
WHEN c_excluido.
DELETE itab_disp_ant
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
ENDCASE.
ENDIF.
CLEAR:
p_disp-operacao.
ENDFORM.
FORM salvar_dados_contrato
CHANGING p_contrato TYPE t_contrato.
DATA:
v_msg TYPE t_mensagem-msg,
v_msg2 TYPE t_mensagem-msg.
CHECK NOT p_contrato-operacao IS INITIAL.
CASE p_contrato-operacao.
WHEN c_novo.
INSERT INTO /pws/zycbt239 VALUES p_contrato.
WHEN c_alterado.
UPDATE /pws/zycbt239 FROM p_contrato.
WHEN c_excluido.
DELETE FROM /pws/zycbt239
WHERE nrseq = p_contrato-nrseq
AND destino = p_contrato-destino
AND dtdisp = p_contrato-dtdisp.
ENDCASE.
IF sy-subrc EQ 0.
CASE p_contrato-operacao.
WHEN c_novo.
APPEND p_contrato TO itab_contrato_ant.
v_msg = p_contrato-nrseq.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE 'para a disponibilidade'(m35)
v_msg
INTO v_msg
SEPARATED BY space.
CONCATENATE 'Dados do contrato'(m34)
p_contrato-tpcontr
v_msg2
INTO v_msg2
SEPARATED BY space.
PERFORM message_store USING
'/PWS/ZYCBM'
'I'
v_msg2
v_msg
'gravados com sucesso.'(m36)
space
'061'.
WHEN c_alterado.
MODIFY itab_contrato_ant FROM p_contrato
TRANSPORTING bco_fech nrcontr dtcontr dtfech dtliquid dtswift
praca instituicao corret codnatoper codfrmentrega
codmodtransa codnorma modalidade frmreceb
doc_cont doc_comp waers
WHERE tpcontr = p_contrato-tpcontr
AND nrseq = p_contrato-nrseq
AND destino = p_contrato-destino
AND dtdisp = p_contrato-dtdisp.
WHEN c_excluido.
DELETE itab_contrato_ant
WHERE nrseq = p_contrato-nrseq
AND destino = p_contrato-destino
AND dtdisp = p_contrato-dtdisp.
ENDCASE.
ENDIF.
CLEAR:
p_contrato-operacao.
ENDFORM.
FORM atualiza_tc_contrato
USING p_itab_contrato TYPE t_t_contrato
p_tc TYPE cxtab_control.
DATA:
wa_contrato LIKE LINE OF p_itab_contrato.
MOVE-CORRESPONDING:
/pws/zycbe239 TO wa_contrato.
READ TABLE p_itab_contrato INTO wa_contrato INDEX p_tc-current_line
TRANSPORTING bco_mi bco_fech kursf dtcontr
dtfech dtdebito dtliquid dtswift indice vlordem_mi
operacao.
PERFORM verifica_alteracao_contrato
CHANGING wa_contrato.
MODIFY p_itab_contrato FROM wa_contrato INDEX p_tc-current_line.
ENDFORM.
FORM define_operacao_disp
USING p_tc TYPE cxtab_control
CHANGING p_itab_disp TYPE t_t_disponibilidade.
DATA:
wa_disp LIKE LINE OF p_itab_disp.
FIELD-SYMBOLS:
<fs_disp> LIKE LINE OF p_itab_disp.
READ TABLE p_itab_disp ASSIGNING <fs_disp>
INDEX p_tc-current_line.
IF sy-subrc EQ 0.
CHECK <fs_disp>-operacao NE c_excluido.
READ TABLE itab_disp_ant INTO wa_disp
WITH KEY nrseq = <fs_disp>-nrseq
destino = <fs_disp>-destino
dtdisp = <fs_disp>-dtdisp.
IF sy-subrc EQ 0.
IF <fs_disp> EQ wa_disp.
CLEAR:
<fs_disp>-operacao.
ENDIF.
ELSE.
<fs_disp>-operacao = c_novo.
ENDIF.
ENDIF.
ENDFORM.
FORM atualiza_icone
USING p_operacao TYPE t_disponibilidade-operacao
CHANGING p_icone.
CLEAR v_icone.
CASE p_operacao.
WHEN space.
p_icone = icon_space.
WHEN c_excluido.
p_icone = icon_delete.
WHEN c_novo.
p_icone = icon_create.
WHEN c_alterado.
p_icone = icon_change.
ENDCASE.
ENDFORM.
FORM processa_disponibilidade
USING p_itab_disp TYPE t_t_disponibilidade.
DATA:
v_tabix TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_disp> LIKE LINE OF p_itab_disp.
CHECK <fs_op> IS ASSIGNED.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = <fs_op>-bukrs.
READ TABLE itab_zyglt009 INTO wa_zyglt009
WITH KEY bukrs = <fs_op>-bukrs.
LOOP AT p_itab_disp ASSIGNING <fs_disp>
WHERE nrseq = <fs_op>-nrseq.
wa_controle-msg_cnt = wa_controle-msg_cnt + 1.
IF <fs_disp>-destino EQ c_70.
PERFORM processa_contrato
USING itab_contrato
<fs_disp>.
ENDIF.
IF wa_zycbt007-cont_disp = 'X'.
PERFORM estorno_disponibilidade
CHANGING <fs_disp>.
ENDIF.
IF wa_zycbt007-cont_disp = 'X'.
PERFORM contabiliza_disponibilidade
CHANGING <fs_disp>.
IF wa_zyglt009-comp_aut_cc = 'X'.
PERFORM desmembramento_disponibilidade
CHANGING <fs_disp>.
PERFORM clearing_disponibilidade
CHANGING <fs_disp>.
ENDIF.
ENDIF.
PERFORM atualizar_saldos
USING <fs_disp>.
PERFORM salvar_dados_disp
CHANGING <fs_disp>.
ENDLOOP.
LOOP AT p_itab_disp ASSIGNING <fs_disp>
WHERE nrseq = <fs_op>-nrseq.
v_tabix = sy-tabix.
READ TABLE itab_disp_ant
WITH KEY nrseq = <fs_disp>-nrseq
destino = <fs_disp>-destino
dtdisp = <fs_disp>-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
DELETE p_itab_disp INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDFORM.
FORM processa_contrato
USING p_itab_contrato TYPE t_t_contrato
p_disp LIKE LINE OF itab_disp_70.
DATA:
v_tabix TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_contrato> LIKE LINE OF p_itab_contrato.
CHECK <fs_op> IS ASSIGNED.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = <fs_op>-bukrs.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp
AND operacao = c_excluido.
PERFORM estorno_contrato
CHANGING <fs_contrato>.
ENDLOOP.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
PERFORM contabiliza_contrato
USING p_disp
CHANGING <fs_contrato>.
ENDLOOP.
PERFORM clearing_contrato
USING p_disp
p_itab_contrato.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
v_tabix = sy-tabix.
PERFORM salvar_dados_contrato
CHANGING <fs_contrato>.
READ TABLE itab_contrato_ant
WITH KEY tpcontr = <fs_contrato>-tpcontr
nrseq = <fs_contrato>-nrseq
destino = <fs_contrato>-destino
dtdisp = <fs_contrato>-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
DELETE p_itab_contrato INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDFORM.
FORM preenche_campo_itab
USING p_campo TYPE any
p_valor TYPE any
CHANGING p_itab TYPE INDEX TABLE.
FIELD-SYMBOLS:
<fs_campo> TYPE ANY,
<fs_wa_itab> TYPE ANY.
LOOP AT p_itab ASSIGNING <fs_wa_itab>.
ASSIGN COMPONENT p_campo OF STRUCTURE <fs_wa_itab> TO <fs_campo>.
CHECK <fs_campo> IS ASSIGNED.
<fs_campo> = p_valor.
UNASSIGN <fs_campo>.
ENDLOOP.
ENDFORM.
FORM marcar_estorno_contrato
USING value(p_valor)
p_itab_disp TYPE t_t_disponibilidade
CHANGING p_itab_contrato TYPE t_t_contrato.
DATA:
wa_disp LIKE LINE OF p_itab_disp.
FIELD-SYMBOLS:
<fs_contrato> LIKE LINE OF p_itab_contrato.
LOOP AT p_itab_disp INTO wa_disp
WHERE mark = 'X'.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = wa_disp-nrseq
AND destino = wa_disp-destino
AND dtdisp = wa_disp-dtdisp.
<fs_contrato>-mark = 'X'.
ENDLOOP.
ENDLOOP.
PERFORM marcar_estorno
USING p_valor
p_itab_contrato.
ENDFORM.
FORM elimina_linha_marcada
CHANGING p_itab TYPE INDEX TABLE.
DATA:
v_tabix TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_line> TYPE ANY,
<fs_record> TYPE ANY.
LOOP AT p_itab ASSIGNING <fs_line>.
v_tabix = sy-tabix.
ASSIGN COMPONENT 'MARK' OF STRUCTURE <fs_line> TO <fs_record>.
CHECK <fs_record> IS ASSIGNED.
CHECK <fs_record> = 'X'.
UNASSIGN <fs_record>.
ASSIGN COMPONENT 'OPERACAO' OF STRUCTURE <fs_line> TO <fs_record>.
CHECK <fs_record> IS ASSIGNED.
CHECK <fs_record> EQ c_novo.
UNASSIGN <fs_record>.
DELETE p_itab INDEX v_tabix.
ENDLOOP.
ENDFORM.
FORM elimina_linhas_contrato
USING p_itab_disp TYPE t_t_disponibilidade
CHANGING p_itab_contrato TYPE t_t_contrato.
FIELD-SYMBOLS:
<fs_contrato> LIKE LINE OF p_itab_contrato.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>.
READ TABLE p_itab_disp
WITH KEY nrseq = <fs_contrato>-nrseq
destino = <fs_contrato>-destino
dtdisp = <fs_contrato>-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
<fs_contrato>-mark = 'X'.
ENDIF.
ENDLOOP.
PERFORM elimina_linha_marcada
CHANGING p_itab_contrato.
ENDFORM.
FORM leave_to_transaction
USING p_transacao.
DATA:
wa_zycbt226 LIKE LINE OF itab_zycbt226,
v_param(20) TYPE c,
v_index(3) TYPE n.
CLEAR:
v_index.
LOOP AT itab_zycbt226 INTO wa_zycbt226.
CONCATENATE c_parametro v_index INTO v_param.
SET PARAMETER ID v_param FIELD wa_zycbt226-nrseq.
v_index = v_index + 1.
ENDLOOP.
SET PARAMETER ID 'ZYCB034-QTD' FIELD v_index.
SET PARAMETER ID 'UCOMM' FIELD 'CRET'.
LEAVE TO TRANSACTION p_transacao AND SKIP FIRST SCREEN.
ENDFORM.
FORM contabiliza_contrato
USING p_disp LIKE LINE OF itab_disp_70
CHANGING p_contrato LIKE LINE OF itab_contrato.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_contrato-doc_cont IS INITIAL.
CHECK p_contrato-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_contrato-tpcontr
p_contrato-nrseq
p_contrato-destino
p_contrato-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
p_contrato-txtlanc
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
p_contrato-txtlanc
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f02_contrato
USING p_disp
p_contrato
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f02.
PERFORM verifica_contabilizacao
USING c_f02 c_zycbt239 v_cpochv
'Lançamento da Provisão do contrato'(m22)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
p_contrato-doc_cont = wa_mensagem-belnr.
IF p_contrato-operacao IS INITIAL.
p_contrato-operacao = c_alterado.
ENDIF.
v_msg = p_contrato-nrseq.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg p_contrato-tpcontr
INTO v_msg
SEPARATED BY space.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM verifica_contabilizacao
USING
value(p_transacao) TYPE /pws/zycbt032-tcode
value(p_tabela) TYPE /pws/zycbt032-tabela
value(p_cpochv) TYPE /pws/zycbt032-cpochv
value(p_msg) TYPE /pws/zycbt032-msg
CHANGING
p_wa_mensagem TYPE t_mensagem.
CONSTANTS:
c_sucesso(1) TYPE c VALUE 'S'.
FIELD-SYMBOLS:
<fs_zycbt032> LIKE LINE OF itab_zycbt032,
<fs_zycbe033> LIKE LINE OF itab_zycbe033.
READ TABLE itab_zycbt032
WITH KEY
tcode = p_transacao
tabela = p_tabela
cpochv = p_cpochv
tpmsg = c_sucesso
ASSIGNING <fs_zycbt032>.
IF <fs_zycbt032> IS ASSIGNED.
p_wa_mensagem-tpmsg = c_sucesso.
p_wa_mensagem-belnr = <fs_zycbt032>-belnr.
p_wa_mensagem-msg = p_msg.
p_wa_mensagem-msg_doc = <fs_zycbt032>-msg.
READ TABLE itab_zycbe033
WITH KEY
tcode = p_transacao
tabela = p_tabela
cpochv = p_cpochv
ASSIGNING <fs_zycbe033>.
IF <fs_zycbe033> IS ASSIGNED.
p_wa_mensagem-bldat = <fs_zycbe033>-bldat.
p_wa_mensagem-budat = <fs_zycbe033>-budat.
ENDIF.
ELSE.
LOOP AT itab_zycbt032 ASSIGNING <fs_zycbt032>.
PERFORM message_store
USING '/PWS/ZYCBM'
<fs_zycbt032>-tpmsg
<fs_zycbt032>-msg
space
space
space
'061'.
ENDLOOP.
FREE p_wa_mensagem.
ENDIF.
ENDFORM.
FORM preenche_f02_contrato
USING p_disp LIKE LINE OF itab_disp_70
p_contrato LIKE LINE OF itab_contrato
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
v_codaux TYPE /pws/zygle316-codaux1.
p_zycbe033-tcode = c_f02.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_contrato-dtdebito.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-bktxt = p_contrato-txtlanc.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-kursf = p_contrato-kursf.
v_codaux = p_contrato-bco_mi.
SHIFT v_codaux LEFT DELETING LEADING '0'.
CASE p_contrato-tpcontr.
WHEN c_tp1.
PERFORM busca_conta_contabil
USING c_debito
<fs_op>-bukrs
'FBK'
v_codaux
space
space
CHANGING p_zycbe033-d_newko.
p_zycbe033-c_newko = p_disp-conta_contabil.
WHEN c_tp4.
p_zycbe033-d_newko = p_disp-conta_contabil.
PERFORM busca_conta_contabil
USING c_debito
<fs_op>-bukrs
'FBK'
v_codaux
space
space
CHANGING p_zycbe033-c_newko.
ENDCASE.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM busca_parametros
USING p_evento TYPE /pws/zycbt011-codeven
p_modulo
CHANGING p_zycbt011 TYPE /pws/zycbe011
p_zycbe033 LIKE LINE OF itab_zycbe033.
SELECT SINGLE * FROM /pws/zycbt011 INTO p_zycbt011
WHERE codeven = p_evento
AND codmod = p_modulo.
p_zycbe033-blart = p_zycbt011-blart.
p_zycbe033-agums = p_zycbt011-agums.
p_zycbe033-augtx = p_zycbt011-txtdesc.
p_zycbe033-d_sgtxt = p_zycbt011-txtdesc.
p_zycbe033-agkoa = 'S'.
ENDFORM.
FORM executa_f02.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_02'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM busca_parametros_321
USING p_evento
p_chave
p_txtlanc TYPE /pws/zycbe239-txtlanc
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
v_hora(8) TYPE c,
itab_zyglt321 TYPE STANDARD TABLE OF /pws/zyglt321,
wa_zyglt321 LIKE LINE OF itab_zyglt321.
SELECT * FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ktosl = p_chave AND
codeven = p_evento.
LOOP AT itab_zyglt321 INTO wa_zyglt321.
CASE wa_zyglt321-cpor3.
WHEN 'SGTXT'.
IF p_txtlanc IS INITIAL.
CASE wa_zyglt321-cpocb.
WHEN 'NRINVOIC'.
p_zycbe033-d_sgtxt = <fs_op>-nrinvoic.
p_zycbe033-c_sgtxt = <fs_op>-nrinvoic.
p_zycbe033-augtx = <fs_op>-nrinvoic.
WHEN 'NREMB'.
p_zycbe033-d_sgtxt = <fs_op>-nremb.
p_zycbe033-c_sgtxt = <fs_op>-nremb.
p_zycbe033-augtx = <fs_op>-nremb.
WHEN 'NRSEQ'.
p_zycbe033-d_sgtxt = <fs_op>-nrseq.
p_zycbe033-c_sgtxt = <fs_op>-nrseq.
p_zycbe033-augtx = <fs_op>-nrseq.
WHEN 'OBS'.
p_zycbe033-d_sgtxt = <fs_op>-obs.
p_zycbe033-c_sgtxt = <fs_op>-obs.
p_zycbe033-augtx = <fs_op>-obs.
WHEN 'REF_OP'.
p_zycbe033-d_sgtxt = <fs_op>-ref_op.
p_zycbe033-c_sgtxt = <fs_op>-ref_op.
p_zycbe033-augtx = <fs_op>-ref_op.
WHEN OTHERS.
CLEAR:
p_zycbe033-d_sgtxt,
p_zycbe033-c_sgtxt,
p_zycbe033-augtx.
ENDCASE.
ELSE.
p_zycbe033-d_sgtxt = p_txtlanc.
p_zycbe033-c_sgtxt = p_txtlanc.
p_zycbe033-augtx = p_txtlanc.
ENDIF.
WHEN 'XBLNR'.
v_hora = sy-uzeit.
CONCATENATE v_hora+2(2)
':'
v_hora+4(2)
INTO v_hora.
CASE wa_zyglt321-cpocb.
WHEN 'NRINVOIC'.
p_zycbe033-xblnr = <fs_op>-nrinvoic.
WHEN 'NRINVOIC+MS'.
CONCATENATE <fs_op>-nrinvoic
v_hora
INTO p_zycbe033-xblnr.
WHEN 'NREMB'.
p_zycbe033-xblnr = <fs_op>-nremb.
WHEN 'NREMB+MS'.
CONCATENATE <fs_op>-nremb
v_hora
INTO p_zycbe033-xblnr.
WHEN 'NRSEQ'.
p_zycbe033-xblnr = <fs_op>-nrseq.
WHEN 'NRSEQ+MS'.
CONCATENATE <fs_op>-nrseq
v_hora
INTO p_zycbe033-xblnr.
WHEN 'REF_OP'.
p_zycbe033-xblnr = <fs_op>-ref_op.
WHEN 'REF_OP+MS'.
CONCATENATE <fs_op>-ref_op
v_hora
INTO p_zycbe033-xblnr.
ENDCASE.
WHEN 'ZFBDT'.
CASE wa_zyglt321-cpocb.
WHEN 'DTINCL'.
p_zycbe033-zfbdt = sy-datum.
WHEN 'DTLANCTO'.
p_zycbe033-zfbdt = <fs_op>-dtlancto.
WHEN 'DTLIMITE'.
p_zycbe033-zfbdt = <fs_op>-dtlimite.
ENDCASE.
WHEN 'VALUT'.
CASE wa_zyglt321-cpocb.
WHEN 'DTINCL'.
p_zycbe033-d_valut = sy-datum.
p_zycbe033-c_valut = sy-datum.
WHEN 'DTLIMITE'.
p_zycbe033-d_valut = <fs_op>-dtlimite.
p_zycbe033-c_valut = <fs_op>-dtlimite.
ENDCASE.
WHEN 'ZUONR'.
CASE wa_zyglt321-cpocb.
WHEN 'NRSEQ'.
p_zycbe033-d_zuonr = <fs_op>-nrseq.
p_zycbe033-c_zuonr = <fs_op>-nrseq.
WHEN 'NRINVOIC'.
p_zycbe033-d_zuonr = <fs_op>-nrinvoic.
p_zycbe033-c_zuonr = <fs_op>-nrinvoic.
WHEN 'NREMB'.
p_zycbe033-d_zuonr = <fs_op>-nremb.
p_zycbe033-c_zuonr = <fs_op>-nremb.
ENDCASE.
ENDCASE.
ENDLOOP.
ENDFORM.
FORM store_erros
USING p_itab_zycbt034 TYPE t_t_zycbt034.
DATA:
wa_zycbt034 LIKE LINE OF p_itab_zycbt034.
LOOP AT p_itab_zycbt034 INTO wa_zycbt034.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'ERRO:'
wa_zycbt034-campo
'-'
wa_zycbt034-descricao
'061'.
ENDLOOP.
ENDFORM.
FORM clearing_contrato
USING p_disp LIKE LINE OF itab_disp_70
p_itab_contrato TYPE t_t_contrato.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
wa_contrato LIKE LINE OF p_itab_contrato,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
FIELD-SYMBOLS:
<fs_contrato> TYPE t_contrato.
READ TABLE p_itab_contrato
WITH KEY nrseq = p_disp-nrseq
destino = p_disp-destino
dtdisp = p_disp-dtdisp
doc_cont = space
TRANSPORTING NO FIELDS.
CHECK sy-subrc NE 0.
LOOP AT p_itab_contrato INTO wa_contrato
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp
AND doc_comp EQ space.
ENDLOOP.
CHECK sy-subrc EQ 0.
CLEAR wa_contrato.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN c_embarque_exportacao.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN c_pagamento_antecipado.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f30_clearing_contrato
USING p_disp
p_itab_contrato
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f30.
CLEAR:
wa_mensagem.
PERFORM verifica_contabilizacao
USING c_f30 c_zycbt239 v_cpochv
'Lançamento do clearing dos contratos'(m27)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
wa_contrato-doc_comp = wa_mensagem-belnr.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
IF <fs_contrato>-operacao IS INITIAL.
<fs_contrato>-operacao = c_alterado.
ENDIF.
<fs_contrato>-doc_comp = wa_mensagem-belnr.
ENDLOOP.
CONCATENATE p_disp-nrseq
c_tp1
c_tp4
INTO v_msg
SEPARATED BY space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM executa_f30.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'
EXPORTING
v_modo = v_modo_bi
v_filt_atrib = 'X'
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
t_doctos = itab_doctos
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM preenche_f30_clearing_contrato
USING p_disp LIKE LINE OF itab_disp_70
p_itab_contrato TYPE t_t_contrato
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_doctos LIKE LINE OF itab_doctos,
wa_contrato LIKE LINE OF p_itab_contrato.
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
READ TABLE p_itab_contrato INTO wa_contrato
WITH KEY nrseq = p_disp-nrseq
destino = p_disp-destino
dtdisp = p_disp-dtdisp.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = wa_contrato-dtdebito.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-kursf = wa_contrato-kursf.
p_zycbe033-flag_nc = 'X'.
p_zycbe033-d_newko = p_disp-conta_contabil.
p_zycbe033-newbs = '50'.
LOOP AT p_itab_contrato INTO wa_contrato
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
wa_doctos-tcode = p_zycbe033-tcode.
wa_doctos-tabela = p_zycbe033-tabela.
wa_doctos-cpochv = p_zycbe033-cpochv.
wa_doctos-belnr = wa_contrato-doc_cont.
wa_doctos-dtdocto = wa_contrato-dtdebito.
APPEND wa_doctos TO itab_doctos.
ENDLOOP.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM estorno_contrato
CHANGING p_contrato TYPE t_contrato.
DATA:
wa_zycbe033 LIKE LINE OF itab_zycbe033,
v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_mensagem TYPE t_mensagem.
CHECK p_contrato-operacao EQ c_excluido.
CONCATENATE p_contrato-tpcontr
p_contrato-nrseq
p_contrato-destino
p_contrato-dtdisp
INTO v_cpochv.
IF p_contrato-tpcontr EQ c_tp1.
PERFORM estorno_clearing_contrato
USING p_contrato
v_cpochv.
ENDIF.
wa_zycbe033-mandt = sy-mandt.
wa_zycbe033-tcode = c_fb08.
wa_zycbe033-tabela = c_zycbt239.
wa_zycbe033-cpochv = v_cpochv.
wa_zycbe033-belnr = p_contrato-doc_cont.
wa_zycbe033-bukrs = <fs_op>-bukrs.
wa_zycbe033-bldat = p_contrato-dtdebito.
wa_zycbe033-budat = p_contrato-dtdebito.
PERFORM determina_periodo_contabil
USING <fs_op>-bukrs
p_contrato-dtdebito
CHANGING v_periodo
v_ano.
PERFORM verifica_periodo_contabil
USING
<fs_op>-bukrs
v_periodo
v_ano
CHANGING v_periodo_fechado.
IF v_periodo_fechado = 'X'.
wa_zycbe033-stgrd = wa_zycbt007-perencer.
ELSE.
wa_zycbe033-stgrd = wa_zycbt007-percorr.
ENDIF.
APPEND wa_zycbe033 TO itab_zycbe033.
PERFORM executa_fb08.
PERFORM verifica_contabilizacao
USING c_fb08 c_zycbt239 v_cpochv
'Estorno do documento'(m26)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg
p_contrato-doc_cont
'realizada com sucesso.'(m24)
space
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
CLEAR:
p_contrato-doc_cont.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM estorno_clearing_contrato
USING p_contrato TYPE t_contrato
p_cpochv TYPE /pws/zycbe033-cpochv.
DATA:
wa_zycbe033 LIKE LINE OF itab_zycbe033,
v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c,
wa_mensagem TYPE t_mensagem.
CHECK NOT p_contrato-doc_comp IS INITIAL.
wa_zycbe033-mandt = sy-mandt.
wa_zycbe033-tcode = c_fbra.
wa_zycbe033-tabela = c_zycbt239.
wa_zycbe033-cpochv = p_cpochv.
wa_zycbe033-belnr = p_contrato-doc_comp.
wa_zycbe033-bukrs = <fs_op>-bukrs.
wa_zycbe033-bldat = p_contrato-dtdebito.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_fbra.
PERFORM verifica_contabilizacao
USING c_fbra c_zycbt239 p_cpochv
'Cancelamento do documento'(m25)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg
wa_mensagem-belnr
'realizada com sucesso.'(m24)
space
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
CLEAR:
wa_mensagem.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM verifica_periodo
USING p_empresa
p_data
p_msg.
DATA: v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c.
PERFORM determina_periodo_contabil
USING p_empresa
p_data
CHANGING v_periodo
v_ano.
PERFORM verifica_periodo_contabil
USING
p_empresa
v_periodo
v_ano
CHANGING v_periodo_fechado.
IF v_periodo_fechado = 'X'.
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
p_msg
space
space
space
'061'.
ENDIF.
ENDFORM.
FORM executa_fb08.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FB08'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM executa_fbra.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FBRA'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM atualizar_saldos
USING p_disp TYPE t_disponibilidade.
DATA:
wa_zycbt017 TYPE t_s_zycbt017.
CASE <fs_op>-tipo_op.
WHEN c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt017
USING p_disp
c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt030
USING p_disp
c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt226
USING p_disp
c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt227
USING p_disp
c_embarque_exportacao.
WHEN c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt017
USING p_disp
c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt030
USING p_disp
c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt226
USING p_disp
c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt227
USING p_disp
c_pagamento_antecipado.
ENDCASE.
ENDFORM.
FORM atualiza_saldo_zycbt017
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
DATA:
wa_disp TYPE t_disponibilidade,
wa_zycbt227 TYPE t_zycbt227,
v_valor TYPE /pws/zycbt226-sld_exterior.
FIELD-SYMBOLS:
<fs_zycbt017> LIKE LINE OF itab_zycbt017.
CHECK NOT p_disp-operacao IS INITIAL.
CASE p_tipo_op.
WHEN c_embarque_exportacao.
READ TABLE itab_zycbt017 ASSIGNING <fs_zycbt017>
WITH KEY nrinvoic = <fs_op>-nrinvoic
nrparcf = <fs_op>-nrparcf
gsberf = <fs_op>-gsberf.
CHECK <fs_zycbt017> IS ASSIGNED.
CASE p_disp-operacao.
WHEN c_excluido.
<fs_zycbt017>-vlslf =
<fs_zycbt017>-vlslf + p_disp-vldisp.
WHEN c_novo.
<fs_zycbt017>-vlslf =
<fs_zycbt017>-vlslf - p_disp-vldisp.
ENDCASE.
UPDATE /pws/zycbt017
SET vlslf = <fs_zycbt017>-vlslf
WHERE nrinvoic = <fs_zycbt017>-nrinvoic
AND nrparcf = <fs_zycbt017>-nrparcf
AND gsberf = <fs_zycbt017>-gsberf.
WHEN c_pagamento_antecipado.
LOOP AT itab_zycbt227 INTO wa_zycbt227
WHERE nrseq = <fs_op>-nrseq.
READ TABLE itab_zycbt017 ASSIGNING <fs_zycbt017>
WITH KEY nrinvoic = wa_zycbt227-nrinvoic
nrparcf = wa_zycbt227-nrparcf
gsberf = wa_zycbt227-gsberf.
CHECK <fs_zycbt017> IS ASSIGNED.
CASE p_disp-operacao.
WHEN c_excluido.
READ TABLE itab_disp_ant INTO wa_disp
WITH KEY nrseq = p_disp-nrseq
destino = p_disp-destino
dtdisp = p_disp-dtdisp.
<fs_zycbt017>-vlslf = <fs_zycbt017>-vlslf +
wa_disp-vldisp - wa_disp-saldo.
WHEN c_novo.
IF wa_zycbt227-saldo > p_disp-saldo.
<fs_zycbt017>-vlslf =
<fs_zycbt017>-vlslf - p_disp-saldo.
ELSE.
<fs_zycbt017>-vlslf =
<fs_zycbt017>-vlslf - wa_zycbt227-saldo.
ENDIF.
ENDCASE.
UPDATE /pws/zycbt017
SET vlslf = <fs_zycbt017>-vlslf
WHERE nrinvoic = <fs_zycbt017>-nrinvoic
AND nrparcf = <fs_zycbt017>-nrparcf
AND gsberf = <fs_zycbt017>-gsberf.
ENDLOOP.
ENDCASE.
ENDFORM.
FORM atualiza_saldo_zycbt030
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
DATA:
wa_disp TYPE t_disponibilidade,
wa_zycbt227 TYPE t_zycbt227,
v_valor TYPE /pws/zycbt226-sld_exterior.
FIELD-SYMBOLS:
<fs_zycbt030> LIKE LINE OF itab_zycbt030.
CHECK NOT p_disp-operacao IS INITIAL.
CASE p_tipo_op.
WHEN c_embarque_exportacao.
READ TABLE itab_zycbt030 ASSIGNING <fs_zycbt030>
WITH KEY nrinvoic = <fs_op>-nrinvoic
nrparcf = <fs_op>-nrparcf
gsberf = <fs_op>-gsberf.
CHECK <fs_zycbt030> IS ASSIGNED.
CASE p_disp-operacao.
WHEN c_excluido.
<fs_zycbt030>-vlslliq =
<fs_zycbt030>-vlslliq + p_disp-vldisp.
WHEN c_novo.
<fs_zycbt030>-vlslliq =
<fs_zycbt030>-vlslliq - p_disp-vldisp.
ENDCASE.
UPDATE /pws/zycbt030
SET vlslliq = <fs_zycbt030>-vlslliq
WHERE nrinvoic = <fs_zycbt030>-nrinvoic
AND nrparcf = <fs_zycbt030>-nrparcf
AND gsberf = <fs_zycbt030>-gsberf
AND vbeln = <fs_zycbt030>-vbeln.
WHEN c_pagamento_antecipado.
LOOP AT itab_zycbt227 into wa_zycbt227
WHERE nrseq = <fs_op>-nrseq.
READ TABLE itab_zycbt030 ASSIGNING <fs_zycbt030>
WITH KEY nrinvoic = wa_zycbt227-nrinvoic
nrparcf = wa_zycbt227-nrparcf
gsberf = wa_zycbt227-gsberf.
CHECK <fs_zycbt030> IS ASSIGNED.
CASE p_disp-operacao.
WHEN c_excluido.
READ TABLE itab_disp_ant INTO wa_disp
WITH KEY nrseq = p_disp-nrseq
destino = p_disp-destino
dtdisp = p_disp-dtdisp.
<fs_zycbt030>-vlslliq = <fs_zycbt030>-vlslliq +
wa_disp-vldisp - wa_disp-saldo.
WHEN c_novo.
IF wa_zycbt227-saldo > p_disp-saldo.
<fs_zycbt030>-vlslliq =
<fs_zycbt030>-vlslliq - p_disp-saldo.
ELSE.
<fs_zycbt030>-vlslliq =
<fs_zycbt030>-vlslliq - wa_zycbt227-saldo.
ENDIF.
ENDCASE.
UPDATE /pws/zycbt030
SET vlslliq = <fs_zycbt030>-vlslliq
WHERE nrinvoic = <fs_zycbt030>-nrinvoic
AND nrparcf = <fs_zycbt030>-nrparcf
AND gsberf = <fs_zycbt030>-gsberf
AND vbeln = <fs_zycbt030>-vbeln.
ENDLOOP.
ENDCASE.
ENDFORM.
FORM atualiza_saldo_zycbt226
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
FIELD-SYMBOLS:
<fs_zycbt226> LIKE LINE OF itab_zycbt226.
CHECK NOT p_disp-operacao IS INITIAL.
READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>
WITH KEY nrseq = p_disp-nrseq.
CASE p_disp-operacao.
WHEN c_excluido.
<fs_zycbt226>-sld_exterior =
<fs_zycbt226>-sld_exterior + p_disp-vldisp.
WHEN c_novo.
<fs_zycbt226>-sld_exterior =
<fs_zycbt226>-sld_exterior - p_disp-vldisp.
ENDCASE.
UPDATE /pws/zycbt226
SET sld_exterior = <fs_zycbt226>-sld_exterior
belnr_op2 = <fs_zycbt226>-belnr_op2
dtlancto2 = <fs_zycbt226>-dtlancto2
WHERE nrseq = <fs_zycbt226>-nrseq.
ENDFORM.
FORM atualiza_saldo_zycbt227
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
DATA:
v_residuo type wrbtr.
FIELD-SYMBOLS:
<fs_zycbt227> LIKE LINE OF itab_zycbt227.
CHECK NOT p_disp-operacao IS INITIAL.
CHECK p_tipo_op EQ c_pagamento_antecipado.
CLEAR v_residuo.
LOOP AT itab_zycbt227 ASSIGNING <fs_zycbt227>
WHERE nrseq = <fs_op>-nrseq.
CHECK p_disp-saldo > 0.
CASE p_disp-operacao.
WHEN c_excluido.
IF <fs_zycbt227>-vlr_associado GT p_disp-saldo.
<fs_zycbt227>-saldo = <fs_zycbt227>-saldo +
p_disp-saldo.
IF <fs_zycbt227>-saldo GT <fs_zycbt227>-vlr_associado.
p_disp-saldo = <fs_zycbt227>-saldo -
<fs_zycbt227>-vlr_associado.
<fs_zycbt227>-saldo = <fs_zycbt227>-vlr_associado.
ENDIF.
ELSE.
<fs_zycbt227>-saldo = <fs_zycbt227>-vlr_associado.
p_disp-saldo = p_disp-saldo - <fs_zycbt227>-vlr_associado.
ENDIF.
WHEN c_novo.
IF <fs_zycbt227>-saldo GT p_disp-saldo.
<fs_zycbt227>-saldo =
<fs_zycbt227>-saldo - p_disp-saldo.
CLEAR p_disp-saldo.
ELSE.
p_disp-saldo = p_disp-saldo - <fs_zycbt227>-saldo.
CLEAR <fs_zycbt227>-saldo.
ENDIF.
ENDCASE.
UPDATE /pws/zycbt227
SET saldo = <fs_zycbt227>-saldo
WHERE nrseq = <fs_zycbt227>-nrseq
AND nrinvoic = <fs_zycbt227>-nrinvoic
AND nrparcf = <fs_zycbt227>-nrparcf
AND gsberf = <fs_zycbt227>-gsberf
AND dtassoc = <fs_zycbt227>-dtassoc.
ENDLOOP.
ENDFORM.
FORM atualiza_tc_rendimentos
USING p_itab_rendimentos TYPE t_t_rendimentos
p_tc TYPE cxtab_control.
DATA:
wa_rend TYPE t_rendimentos.
MOVE-CORRESPONDING:
/pws/zycbe240 TO wa_rend.
MOVE:
c_novo TO wa_rend-operacao,
v_mark TO wa_rend-mark,
sy-datum TO wa_rend-dtincl.
READ TABLE p_itab_rendimentos INDEX p_tc-current_line
INTO wa_rend
TRANSPORTING nrseqr.
IF sy-subrc NE 0.
CLEAR wa_rend-nrseqr.
ENDIF.
IF sy-subrc EQ 0.
MODIFY p_itab_rendimentos FROM wa_rend INDEX p_tc-current_line.
ELSE.
APPEND wa_rend TO p_itab_rendimentos.
ENDIF.
ENDFORM.
FORM preenche_tc_rendimentos
USING p_itab_rendimentos TYPE t_t_rendimentos
p_tc TYPE cxtab_control.
DATA:
wa_rend TYPE t_rendimentos.
READ TABLE p_itab_rendimentos INTO wa_rend
INDEX p_tc-current_line.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING:
wa_rend TO /pws/zycbe240.
MOVE:
wa_rend-mark TO v_mark.
ENDIF.
ENDFORM.
FORM salva_rendimentos.
DATA:
v_nrseqr TYPE /pws/zycbt240-nrseqr.
FIELD-SYMBOLS:
<fs_rend> TYPE t_rendimentos.
IF v_nrseqr IS INITIAL.
SELECT MAX( nrseqr ) FROM /pws/zycbt240 INTO v_nrseqr.
ENDIF.
LOOP AT itab_rendimentos_ant ASSIGNING <fs_rend>.
READ TABLE itab_rendimentos
WITH KEY nrseqr = <fs_rend>-nrseqr
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
DELETE FROM /pws/zycbt240 WHERE nrseqr = <fs_rend>-nrseqr.
DELETE itab_rendimentos_ant WHERE nrseqr = <fs_rend>-nrseqr.
ENDIF.
ENDLOOP.
LOOP AT itab_rendimentos ASSIGNING <fs_rend>.
IF <fs_rend>-nrseqr IS INITIAL.
v_nrseqr = v_nrseqr + 1.
<fs_rend>-nrseqr = v_nrseqr.
ENDIF.
READ TABLE itab_rendimentos_ant
WITH KEY nrseqr = <fs_rend>-nrseqr
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
INSERT INTO /pws/zycbt240 VALUES <fs_rend>.
ENDIF.
ENDLOOP.
IF sy-subrc NE 0 AND sy-tcode NE c_transacao_c.
DELETE FROM /pws/zycbt240 WHERE nrseqr <> space.
REFRESH itab_rendimentos_ant.
ENDIF.
MODIFY /pws/zycbt240 FROM TABLE itab_rendimentos.
ENDFORM.
FORM user_command_0140.
CASE ok_code.
WHEN 'MARK'.
PERFORM preenche_campo_itab
USING 'MARK'
'X'
CHANGING itab_rendimentos.
WHEN 'UNMARK'.
PERFORM preenche_campo_itab
USING 'MARK'
' '
CHANGING itab_rendimentos.
WHEN 'DEL_LINE'.
PERFORM elimina_linha_marcada
CHANGING itab_rendimentos.
ENDCASE.
ENDFORM.
FORM user_command_0132.
CASE ok_code.
WHEN '/CS'.
PERFORM drill_down.
ENDCASE.
ENDFORM.
FORM verifica_alteracao_contrato
CHANGING p_contrato TYPE t_contrato.
DATA:
wa_contrato TYPE t_contrato.
CHECK p_contrato-operacao IS INITIAL
OR p_contrato-operacao EQ c_alterado.
READ TABLE itab_contrato_ant INTO wa_contrato
WITH KEY tpcontr = p_contrato-tpcontr
nrseq = p_contrato-nrseq
destino = p_contrato-destino
dtdisp = p_contrato-dtdisp.
CHECK sy-subrc EQ 0.
IF p_contrato-bco_fech NE wa_contrato-bco_fech OR
p_contrato-nrcontr NE wa_contrato-nrcontr OR
p_contrato-dtcontr NE wa_contrato-dtcontr OR
p_contrato-dtfech NE wa_contrato-dtfech OR
p_contrato-dtliquid NE wa_contrato-dtliquid OR
p_contrato-dtswift NE wa_contrato-dtswift OR
p_contrato-praca NE wa_contrato-praca OR
p_contrato-instituicao NE wa_contrato-instituicao OR
p_contrato-corret NE wa_contrato-corret OR
p_contrato-codnatoper NE wa_contrato-codnatoper OR
p_contrato-codfrmentrega NE wa_contrato-codfrmentrega OR
p_contrato-codmodtransa NE wa_contrato-codmodtransa OR
p_contrato-codnorma NE wa_contrato-codnorma OR
p_contrato-modalidade NE wa_contrato-modalidade OR
p_contrato-txtlanc NE wa_contrato-txtlanc OR
p_contrato-frmreceb NE wa_contrato-frmreceb.
p_contrato-operacao = c_alterado.
ELSE.
CLEAR p_contrato-operacao.
ENDIF.
ENDFORM.
FORM contabiliza_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_disp-doc_cont IS INITIAL.
CHECK p_disp-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f02_disponibilidade
USING p_disp
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f02.
PERFORM verifica_contabilizacao
USING c_f02 c_zycbt239 v_cpochv
'Lançamento da Provisão da disponibilidade'(m28)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
p_disp-doc_cont = wa_mensagem-belnr.
IF p_disp-operacao IS INITIAL.
p_disp-operacao = c_alterado.
ENDIF.
v_msg = p_disp-nrseq.
SHIFT v_msg LEFT DELETING LEADING space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg
'-'
p_disp-destino
'%'
INTO v_msg.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f02_disponibilidade
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_zycbt089 LIKE LINE OF itab_zycbt089,
v_codaux TYPE /pws/zygle316-codaux1.
READ TABLE itab_zycbt089 INTO wa_zycbt089
WITH KEY bukrs = <fs_op>-bukrs.
p_zycbe033-tcode = c_f02.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
PERFORM busca_taxa_disponibilidade
USING p_disp
p_zycbt011
wa_zycbt089-tx_lanc_dispon
CHANGING p_zycbe033-kursf.
p_zycbe033-d_newko = p_disp-conta_contabil.
p_zycbe033-c_newko = <fs_op>-conta_contabil.
CONCATENATE 'Desm.'
<fs_op>-nrinvoic
<fs_op>-nrparcf
INTO p_zycbe033-c_zuonr
SEPARATED BY space.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM busca_taxa_disponibilidade
USING p_disp TYPE t_disponibilidade
p_zycbt011 TYPE /pws/zycbe011
p_taxa TYPE /pws/zycbt089-tx_lanc_dispon
CHANGING p_kursf TYPE /pws/zycbe033-kursf.
DATA:
v_dt_taxa TYPE /pws/zycbe238-dtdisp.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = <fs_op>-bukrs.
CASE p_taxa.
WHEN 'DTLANCTO'.
v_dt_taxa = <fs_op>-dtlancto.
WHEN 'DTCREDEXT'.
v_dt_taxa = <fs_op>-dtcredext.
WHEN 'DTFECH'.
v_dt_taxa = p_disp-dtlanc.
IF p_disp-dtlanc(6) NE <fs_op>-dtlancto(6).
v_dt_taxa = p_disp-dtlanc.
v_dt_taxa+4(2) = v_dt_taxa+4(2) + 1.
v_dt_taxa+6(2) = '01'.
v_dt_taxa = v_dt_taxa - 1.
ENDIF.
WHEN 'DTDISP'.
v_dt_taxa = p_disp-dtdisp.
WHEN 'DTLANC'.
v_dt_taxa = p_disp-dtlanc.
ENDCASE.
PERFORM busca_taxa
USING
p_zycbt011-codeven
<fs_op>-bukrs
<fs_op>-waers
wa_zycbt007-waersb
v_dt_taxa
CHANGING
p_kursf.
ENDFORM.
FORM desmembramento_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK NOT p_disp-doc_cont IS INITIAL.
CHECK p_disp-doc_desm IS INITIAL.
CHECK p_disp-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f30_desmemb_disp
USING p_disp
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f30.
PERFORM verifica_contabilizacao
USING c_f30 c_zycbt239 v_cpochv
'Desmembramento da disponibilidade'(m29)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
p_disp-doc_desm = wa_mensagem-belnr.
<fs_op>-belnr_op2 = p_disp-doc_desm.
<fs_op>-dtlancto2 = p_disp-dtlanc.
IF p_disp-operacao IS INITIAL.
p_disp-operacao = c_alterado.
ENDIF.
v_msg = p_disp-nrseq.
SHIFT v_msg LEFT DELETING LEADING space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg
'-'
p_disp-destino
'%'
INTO v_msg.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f30_desmemb_disp
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-newbs = '40'.
CONCATENATE 'Desm.'
<fs_op>-nrinvoic
<fs_op>-nrparcf
INTO p_zycbe033-d_zuonr
SEPARATED BY space.
PERFORM define_taxa_cambio
USING 'C'
'X'
p_zycbt011-codeven
<fs_op>-bukrs
<fs_op>-dtlancto
<fs_op>-nrinvoic
CHANGING
p_zycbe033-kursf.
p_zycbe033-d_newko = <fs_op>-conta_contabil.
p_zycbe033-c_newko = p_disp-conta_contabil.
wa_doctos-tcode = p_zycbe033-tcode.
wa_doctos-tabela = p_zycbe033-tabela.
wa_doctos-cpochv = p_zycbe033-cpochv.
wa_doctos-residuo = p_zycbe033-wrbtr.
IF <fs_op>-belnr_op2 IS INITIAL.
wa_doctos-belnr = <fs_op>-belnr_op.
wa_doctos-dtdocto = <fs_op>-dtlancto.
ELSE.
wa_doctos-belnr = <fs_op>-belnr_op2.
wa_doctos-dtdocto = <fs_op>-dtlancto2.
ENDIF.
APPEND wa_doctos TO itab_zycbt036.
APPEND wa_doctos TO itab_doctos.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM clearing_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_disp-doc_comp IS INITIAL.
CHECK NOT p_disp-doc_cont IS INITIAL.
CHECK NOT p_disp-doc_desm IS INITIAL.
CHECK p_disp-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f30_clearing_disp
USING p_disp
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f30.
PERFORM verifica_contabilizacao
USING c_f30 c_zycbt239 v_cpochv
'Clearing da disponibilidade'(m30)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
p_disp-doc_comp = wa_mensagem-belnr.
IF p_disp-operacao IS INITIAL.
p_disp-operacao = c_alterado.
ENDIF.
v_msg = p_disp-nrseq.
SHIFT v_msg LEFT DELETING LEADING space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg
'-'
p_disp-destino
'%'
INTO v_msg.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f30_clearing_disp
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-newbs = '50'.
p_zycbe033-flag_nc = 'X'.
CLEAR:
p_zycbe033-c_zuonr.
PERFORM define_taxa_cambio
USING 'C'
space
p_zycbt011-codeven
<fs_op>-bukrs
<fs_op>-dtlancto
<fs_op>-nrinvoic
CHANGING
p_zycbe033-kursf.
p_zycbe033-d_newko = <fs_op>-conta_contabil.
p_zycbe033-c_newko = p_disp-conta_contabil.
wa_doctos-tcode = p_zycbe033-tcode.
wa_doctos-tabela = p_zycbe033-tabela.
wa_doctos-cpochv = p_zycbe033-cpochv.
wa_doctos-belnr = p_disp-doc_cont.
wa_doctos-dtdocto = p_disp-dtlanc.
APPEND wa_doctos TO itab_doctos.
wa_doctos-belnr = p_disp-doc_desm.
wa_doctos-dtdocto = p_disp-dtlanc.
CONCATENATE 'Desm.'
<fs_op>-nrinvoic
<fs_op>-nrparcf
INTO wa_doctos-zuonr
SEPARATED BY space.
APPEND wa_doctos TO itab_doctos.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM estorno_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
CHECK p_disp-operacao EQ c_excluido.
IF NOT wa_zyglt009-comp_aut_cc = 'X'.
PERFORM contabiliza_estorno_dispon
USING p_disp.
ELSE.
IF p_disp-doc_comp IS INITIAL.
PERFORM estorna_disp_incompleta
USING p_disp.
ELSE.
PERFORM contabiliza_estorno_dispon
USING p_disp.
PERFORM clearing_conta_banco
USING p_disp.
PERFORM clearing_conta_disp
USING p_disp.
ENDIF.
ENDIF.
ENDFORM.
FORM estorna_documento
USING p_dtlanc TYPE /pws/zycbt238-dtlanc
p_zycbe033 TYPE t_s_zycbe033
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_doc TYPE /pws/zycbt238-doc_comp.
DATA:
v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c,
wa_mensagem TYPE t_mensagem.
PERFORM limpa_dados_bi.
p_zycbe033-tcode = c_fb08.
p_zycbe033-belnr = p_doc.
p_zycbe033-bldat = p_dtlanc.
p_zycbe033-budat = p_zycbe033-bldat.
p_zycbe033-cpochv = p_cpochv.
PERFORM determina_periodo_contabil
USING <fs_op>-bukrs
p_dtlanc
CHANGING v_periodo
v_ano.
PERFORM verifica_periodo_contabil
USING
<fs_op>-bukrs
v_periodo
v_ano
CHANGING v_periodo_fechado.
IF v_periodo_fechado = 'X'.
p_zycbe033-stgrd = wa_zycbt007-perencer.
ELSE.
p_zycbe033-stgrd = wa_zycbt007-percorr.
ENDIF.
APPEND p_zycbe033 TO itab_zycbe033.
IF itab_zycbt034 IS INITIAL.
PERFORM executa_fb08.
PERFORM verifica_contabilizacao
USING c_fb08 c_zycbt239 p_cpochv
'Estorno do documento'(m26)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg
p_doc
'realizada com sucesso.'(m24)
space
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
CLEAR:
p_doc.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM cancela_documento
USING p_dtlanc TYPE /pws/zycbt238-dtlanc
p_zycbe033 TYPE t_s_zycbe033
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_doc TYPE /pws/zycbt238-doc_comp.
DATA:
wa_mensagem TYPE t_mensagem.
CHECK NOT p_doc IS INITIAL.
PERFORM limpa_dados_bi.
p_zycbe033-tcode = c_fbra.
p_zycbe033-belnr = p_doc.
p_zycbe033-bldat = p_dtlanc.
APPEND p_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_fbra.
PERFORM verifica_contabilizacao
USING c_fbra c_zycbt239 p_cpochv
'Cancelamento do documento'(m25)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg
p_doc
'realizada com sucesso.'(m24)
space
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM contabiliza_estorno_dispon
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_cont TYPE t_contabilizacoes,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f02_estorno_dispon
USING p_disp
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f02.
PERFORM verifica_contabilizacao
USING c_f02 c_zycbt239 v_cpochv
'Lançamento do estorno da disponibilidade'(m32)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
p_disp-belnr_f02 = wa_mensagem-belnr.
wa_cont-belnr = p_disp-belnr_f02.
wa_cont-dtlancto = wa_zycbe033-budat.
wa_cont-fb08 = 'X'.
APPEND wa_cont TO itab_contabilizacoes.
v_msg = p_disp-nrseq.
SHIFT v_msg LEFT DELETING LEADING space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg
'-'
p_disp-destino
'%'
INTO v_msg.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f02_estorno_dispon
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_zycbt089 LIKE LINE OF itab_zycbt089,
v_codaux TYPE /pws/zygle316-codaux1.
READ TABLE itab_zycbt089 INTO wa_zycbt089
WITH KEY bukrs = <fs_op>-bukrs.
p_zycbe033-tcode = c_f02.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
PERFORM busca_taxa_disponibilidade
USING p_disp
p_zycbt011
wa_zycbt089-tx_est_dispon
CHANGING p_zycbe033-kursf.
p_zycbe033-d_newko = <fs_op>-conta_contabil.
p_zycbe033-c_newko = p_disp-conta_contabil.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM clearing_conta_banco
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_cont TYPE t_contabilizacoes,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK NOT p_disp-belnr_f02 IS INITIAL.
CHECK p_disp-operacao EQ c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f30_clearing_banco
USING p_disp
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f30.
PERFORM verifica_contabilizacao
USING c_f30 c_zycbt239 v_cpochv
'Clearing da conta corrente'(m31)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
wa_cont-belnr_ant = <fs_op>-belnr_op2.
wa_cont-dtlanc_ant = <fs_op>-dtlancto2.
wa_cont-tabela = 'ITAB_ZYCBT226'.
wa_cont-campo = 'BELNR_OP2'.
wa_cont-belnr = wa_mensagem-belnr.
wa_cont-dtlancto = wa_zycbe033-bldat.
wa_cont-fbra = 'X'.
wa_cont-fb08 = 'X'.
APPEND wa_cont TO itab_contabilizacoes.
<fs_op>-belnr_op2 = wa_mensagem-belnr.
<fs_op>-dtlancto2 = wa_zycbe033-bldat.
v_msg = p_disp-nrseq.
SHIFT v_msg LEFT DELETING LEADING space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg
'-'
p_disp-destino
'%'
INTO v_msg.
CONCATENATE <fs_op>-conta_contabil
v_msg
INTO v_msg
SEPARATED BY space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
p_disp-operacao = c_alterado.
PERFORM estornar_contabilizacoes
CHANGING itab_contabilizacoes.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
p_disp-operacao = c_alterado.
PERFORM estornar_contabilizacoes
CHANGING itab_contabilizacoes.
ENDIF.
ENDFORM.
FORM preenche_f30_clearing_banco
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-newbs = '50'.
PERFORM define_taxa_cambio
USING 'C'
'X'
p_zycbt011-codeven
<fs_op>-bukrs
<fs_op>-dtlancto
<fs_op>-nrinvoic
CHANGING
p_zycbe033-kursf.
p_zycbe033-d_newko = <fs_op>-conta_contabil.
wa_doctos-tcode = p_zycbe033-tcode.
wa_doctos-tabela = p_zycbe033-tabela.
wa_doctos-cpochv = p_zycbe033-cpochv.
wa_doctos-belnr = p_disp-belnr_f02.
wa_doctos-dtdocto = p_disp-dtlanc.
APPEND wa_doctos TO itab_doctos.
wa_doctos-belnr = <fs_op>-belnr_op2.
wa_doctos-dtdocto = <fs_op>-dtlancto2.
APPEND wa_doctos TO itab_doctos.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM clearing_conta_disp
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_cont TYPE t_contabilizacoes,
wa_zycbt011 TYPE /pws/zycbe011,
wa_zycbt034 LIKE LINE OF itab_zycbt034,
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_disp-operacao EQ c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
CASE <fs_op>-tipo_op.
WHEN 'E'.
PERFORM busca_parametros
USING '029'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '029'
'TRE'
space
CHANGING wa_zycbe033.
WHEN 'P'.
PERFORM busca_parametros
USING '030'
'E'
CHANGING wa_zycbt011 wa_zycbe033.
PERFORM busca_parametros_321
USING '030'
'TRE'
space
CHANGING wa_zycbe033.
ENDCASE.
PERFORM preenche_f30_clear_conta_disp
USING p_disp
wa_zycbt011
v_cpochv
CHANGING wa_zycbe033.
APPEND wa_zycbe033 TO itab_zycbe033.
IF itab_zycbt034[] IS INITIAL.
PERFORM executa_f30.
PERFORM verifica_contabilizacao
USING c_f30 c_zycbt239 v_cpochv
'Clearing da conta corrente'(m31)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
wa_cont-belnr = wa_mensagem-belnr.
wa_cont-dtlancto = wa_mensagem-bldat.
wa_cont-fb08 = 'X'.
APPEND wa_cont TO itab_contabilizacoes.
v_msg = p_disp-nrseq.
SHIFT v_msg LEFT DELETING LEADING space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE v_msg
'-'
p_disp-destino
'%'
INTO v_msg.
CONCATENATE p_disp-conta_contabil
v_msg
INTO v_msg
SEPARATED BY space.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE wa_controle-msg_cnt '.' INTO v_count.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
v_count
wa_mensagem-msg
v_msg
'realizada com sucesso.'(m24)
'061'.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
wa_mensagem-msg_doc
space
space
space
'061'.
PERFORM limpa_dados_bi.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
p_disp-operacao = c_alterado.
PERFORM estornar_contabilizacoes
CHANGING itab_contabilizacoes.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
p_disp-operacao = c_alterado.
PERFORM estornar_contabilizacoes
CHANGING itab_contabilizacoes.
ENDIF.
ENDFORM.
FORM preenche_f30_clear_conta_disp
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-newbs = '50'.
p_zycbe033-flag_nc = 'X'.
PERFORM busca_taxa_disponibilidade
USING p_disp
p_zycbt011
wa_zycbt089-tx_est_dispon
CHANGING p_zycbe033-kursf.
p_zycbe033-d_newko = p_disp-conta_contabil.
wa_doctos-tcode = p_zycbe033-tcode.
wa_doctos-tabela = p_zycbe033-tabela.
wa_doctos-cpochv = p_zycbe033-cpochv.
wa_doctos-belnr = p_disp-belnr_f02.
wa_doctos-dtdocto = p_disp-dtlanc.
APPEND wa_doctos TO itab_doctos.
wa_doctos-belnr = p_disp-doc_cont.
wa_doctos-dtdocto = p_disp-dtlanc.
APPEND wa_doctos TO itab_doctos.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
PERFORM verifica_campo_vazio USING p_zycbe033-bukrs
'BUKRS'
'Empresa'(006).
PERFORM verifica_campo_vazio USING p_zycbe033-waers
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM estornar_contabilizacoes
CHANGING p_itab_cont TYPE t_t_contabilizacoes.
DATA:
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbe033 TYPE t_s_zycbe033,
wa_cont TYPE t_contabilizacoes.
FIELD-SYMBOLS:
<fs_tabela> TYPE INDEX TABLE,
<fs_linha> TYPE ANY,
<fs_campo> TYPE ANY,
<fs_campo_valor> TYPE ANY.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'** ERRO NO ESTORNO **'(m33)
space
space
space
'061'.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
<fs_op>-nrseq
INTO v_cpochv.
wa_zycbe033-tabela = c_zycbt239.
wa_zycbe033-bukrs = <fs_op>-bukrs.
SORT p_itab_cont BY belnr DESCENDING.
LOOP AT p_itab_cont INTO wa_cont.
IF wa_cont-fbra EQ 'X'.
PERFORM cancela_documento
USING wa_cont-dtlancto
wa_zycbe033
v_cpochv
CHANGING wa_cont-belnr.
ENDIF.
IF NOT wa_cont-belnr_ant IS INITIAL AND
wa_cont-valor_ant IS INITIAL.
ASSIGN (wa_cont-tabela) TO <fs_tabela>.
CHECK <fs_tabela> IS ASSIGNED.
LOOP AT <fs_tabela> ASSIGNING <fs_linha>.
ASSIGN COMPONENT wa_cont-campo
OF STRUCTURE <fs_linha> TO <fs_campo>.
CHECK <fs_campo> IS ASSIGNED.
CHECK NOT wa_cont-belnr_ant IS INITIAL.
IF <fs_campo> EQ wa_cont-belnr OR
<fs_campo> IS INITIAL.
<fs_campo> = wa_cont-belnr_ant.
ENDIF.
ENDLOOP.
ENDIF.
IF NOT wa_cont-valor_ant IS INITIAL.
ASSIGN (wa_cont-tabela) TO <fs_tabela>.
CHECK <fs_tabela> IS ASSIGNED.
LOOP AT <fs_tabela> ASSIGNING <fs_linha>.
ASSIGN COMPONENT wa_cont-campo
OF STRUCTURE <fs_linha> TO <fs_campo>.
ASSIGN COMPONENT wa_cont-campo_valor
OF STRUCTURE <fs_linha> TO <fs_campo_valor>.
CHECK <fs_campo> IS ASSIGNED AND
<fs_campo_valor> IS ASSIGNED.
IF <fs_campo> EQ wa_cont-belnr OR
<fs_campo> IS INITIAL.
<fs_campo_valor> = wa_cont-valor_ant.
ENDIF.
ENDLOOP.
ENDIF.
IF wa_cont-fb08 EQ 'X'.
PERFORM estorna_documento
USING wa_cont-dtlancto
wa_zycbe033
v_cpochv
CHANGING wa_cont-belnr.
ENDIF.
ENDLOOP.
REFRESH:
p_itab_cont.
ENDFORM.
FORM loop_at_screen_rendimentos
USING p_itab_rend TYPE t_t_rendimentos
p_tc TYPE cxtab_control.
DATA:
wa_rend TYPE t_rendimentos.
READ TABLE p_itab_rend INTO wa_rend
INDEX p_tc-current_line.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = /pws/zycbe226-bukrs.
LOOP AT SCREEN.
IF sy-tcode EQ c_transacao_e.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM.
FORM estorna_disp_incompleta
USING p_disp TYPE t_disponibilidade.
DATA:
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbe033 TYPE t_s_zycbe033.
FIELD-SYMBOLS:
<fs_tabela> TYPE INDEX TABLE,
<fs_linha> TYPE ANY,
<fs_campo> TYPE ANY.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
<fs_op>-nrseq
INTO v_cpochv.
wa_zycbe033-tabela = c_zycbt239.
wa_zycbe033-bukrs = <fs_op>-bukrs.
IF NOT p_disp-doc_desm IS INITIAL.
PERFORM cancela_documento
USING p_disp-dtlanc
wa_zycbe033
v_cpochv
CHANGING p_disp-doc_desm.
PERFORM estorna_documento
USING p_disp-dtlanc
wa_zycbe033
v_cpochv
CHANGING p_disp-doc_desm.
ENDIF.
IF NOT p_disp-doc_cont IS INITIAL.
PERFORM estorna_documento
USING p_disp-dtlanc
wa_zycbe033
v_cpochv
CHANGING p_disp-doc_cont.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034I01
...
WHEN '/CS'.
PERFORM drill_down.
ENDCASE.
CASE sy-dynnr.
WHEN '0002'.
PERFORM user_command_0002.
WHEN '0100'.
PERFORM user_command_0100.
WHEN '0051'.
PERFORM user_command_0051.
* >> Início da inclusão: MODULE USER_COMMAND
WHEN '0110'.
PERFORM user_command_0110.
WHEN '0120'.
PERFORM user_command_0120.
WHEN '0131'.
PERFORM user_command_0131.
WHEN '0132'.
PERFORM user_command_0132.
WHEN '0140'.
PERFORM user_command_0140.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE user_command_exit INPUT.
CASE sy-dynnr.
WHEN '0100'.
CASE sy-tcode.
WHEN c_transacao_a OR
c_transacao_e.
LEAVE TO SCREEN 0001.
WHEN OTHERS.
...
...
IF NOT /pws/zycbe226-dtcredext IS INITIAL.
/pws/zycbe226-dtlimite = /pws/zycbe226-dtcredext +
wa_zycbt089-nrdias_ord_pagto.
ELSE.
/pws/zycbe226-dtlimite = sy-datum +
wa_zycbt089-nrdias_ord_pagto.
ENDIF.
ENDIF.
ENDMODULE.
MODULE verifica_periodo_contabil INPUT.
* >> Início da exclusão: MODULE VERIFICA_PERIODO_CONTABIL
DATA: v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_PERIODO_CONTABIL
DATA:
wa_contrato TYPE t_contrato,
v_empresa TYPE /pws/zycbe226-bukrs,
v_data TYPE /pws/zycbe226-dtlancto,
v_msg TYPE /pws/zycbt032-msg,
v_condicao.
* << Fim da inclusão
* >> Início da exclusão: MODULE VERIFICA_PERIODO_CONTABIL
PERFORM determina_periodo_contabil
USING /pws/zycbe226-bukrs
/pws/zycbe226-dtlancto
CHANGING v_periodo
v_ano.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_PERIODO_CONTABIL
CASE sy-dynnr.
WHEN '0132'.
v_empresa = /pws/zycbe226-bukrs.
v_msg = 'Favor corrigir campo Data de Débito/Crédito.'(m23).
v_data = /pws/zycbe239-dtdebito.
READ TABLE itab_contrato INTO wa_contrato
INDEX tc_contrato-current_line.
* << Fim da inclusão
* >> Início da exclusão: MODULE VERIFICA_PERIODO_CONTABIL
PERFORM verifica_periodo_contabil
USING
/pws/zycbe226-bukrs
v_periodo
v_ano
CHANGING v_periodo_fechado.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_PERIODO_CONTABIL
IF wa_contrato-operacao EQ c_novo.
v_condicao = 'X'.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: MODULE VERIFICA_PERIODO_CONTABIL
IF v_periodo_fechado = 'X'.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_PERIODO_CONTABIL
WHEN '0110'.
v_empresa = /pws/zycbe226-bukrs.
v_msg = 'Favor corrigir campo Data de Lançamento.'(m12).
v_data = /pws/zycbe226-dtlancto.
* << Fim da inclusão
IF sy-tcode = c_transacao_c.
* >> Início da exclusão: MODULE VERIFICA_PERIODO_CONTABIL
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
'Favor corrigir campo Data de Lançamento.'(m12)
space
space
space
'061'.
CLEAR v_periodo_fechado.
ELSEIF sy-tcode = c_transacao_a.
wa_controle-periodo_fechado = v_periodo_fechado.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_PERIODO_CONTABIL
v_condicao = 'X'.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: MODULE VERIFICA_PERIODO_CONTABIL
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_PERIODO_CONTABIL
ENDCASE.
CHECK v_condicao EQ 'X'.
PERFORM verifica_periodo
USING v_empresa
v_data
v_msg.
* << Fim da inclusão
ENDMODULE.
MODULE get_invoice INPUT.
PERFORM get_invoice.
ENDMODULE.
* >> Início da inclusão:
MODULE atualiza_tc INPUT.
CASE sy-dynnr.
WHEN '0120'.
PERFORM atualiza_tc_disponibilidade
USING itab_disp_30
tc_30
c_30.
WHEN '0131'.
PERFORM atualiza_tc_disponibilidade
USING itab_disp_70
tc_70
c_70.
WHEN '0132'.
PERFORM atualiza_tc_contrato
USING itab_contrato
tc_contrato.
WHEN '0140'.
PERFORM atualiza_tc_rendimentos
USING itab_rendimentos
tc_rendimentos.
ENDCASE.
ENDMODULE.
MODULE guarda_ts_atual INPUT.
wa_controle-ts_atual = ts_principal-activetab.
ENDMODULE.
MODULE verifica_campos INPUT.
DATA:
wa_disp LIKE LINE OF itab_disp_30,
v_sldext TYPE /pws/zycbe226-sld_exterior.
CLEAR:
wa_contrato,
v_sldext.
CASE sy-dynnr.
WHEN '0120'.
LOOP AT itab_disp_70 INTO wa_disp
WHERE nrseq = /pws/zycbe238-nrseq
AND operacao NE space.
READ TABLE itab_disp_ant
WITH KEY nrseq = wa_disp-nrseq
destino = wa_disp-destino
dtdisp = wa_disp-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
v_sldext = v_sldext + wa_disp-vldisp.
ENDIF.
ENDLOOP.
v_sldext = v_sldext + /pws/zycbe238-vldisp.
IF /pws/zycbe238-vldisp GT /pws/zycbe226-sld_exterior OR
v_sldext GT /pws/zycbe226-sld_exterior.
MESSAGE e061
WITH 'Valor maior que o saldo. Favor corrigir.'(033).
ENDIF.
WHEN '0131'.
LOOP AT itab_disp_30 INTO wa_disp
WHERE nrseq = /pws/zycbe238-nrseq
AND operacao NE space.
READ TABLE itab_disp_ant
WITH KEY nrseq = wa_disp-nrseq
destino = wa_disp-destino
dtdisp = wa_disp-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
v_sldext = v_sldext + wa_disp-vldisp.
ENDIF.
ENDLOOP.
v_sldext = v_sldext + /pws/zycbe238-vldisp.
IF /pws/zycbe238-vldisp GT /pws/zycbe226-sld_exterior OR
v_sldext GT /pws/zycbe226-sld_exterior.
MESSAGE e061
WITH 'Valor maior que o saldo. Favor corrigir.'(033).
ENDIF.
WHEN '0132'.
CLEAR:
wa_contrato.
MOVE-CORRESPONDING:
/pws/zycbe239 TO wa_contrato.
READ TABLE itab_contrato INTO wa_contrato
INDEX tc_contrato-current_line
TRANSPORTING indice operacao.
MODIFY itab_contrato FROM wa_contrato
INDEX tc_contrato-current_line.
IF /pws/zycbe239-tpcontr EQ c_tp1.
MODIFY itab_contrato FROM wa_contrato
TRANSPORTING bco_mi bco_fech kursf dtcontr
dtfech dtdebito dtliquid dtswift
WHERE indice = wa_contrato-indice.
ENDIF.
WHEN '0140'.
IF NOT /pws/zycbe240-bco_ext IS INITIAL.
SELECT name1 UP TO 1 ROWS
FROM lfa1 INTO /pws/zycbe240-nome_bco
WHERE lifnr = /pws/zycbe240-bco_ext.
ENDSELECT.
ELSE.
CLEAR /pws/zycbe240-nome_bco.
ENDIF.
ENDCASE.
ENDMODULE.
MODULE verifica_data_disp INPUT.
DATA:
v_destino TYPE /pws/zycbe238-destino.
CASE sy-dynnr.
WHEN '0120'.
v_destino = c_30.
WHEN '0131'.
v_destino = c_70.
ENDCASE.
READ TABLE itab_disp_ant
WITH KEY nrseq = /pws/zycbe238-nrseq
destino = v_destino
dtdisp = /pws/zycbe238-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
MESSAGE e061 WITH 'Data Inválida, Favor redigitar.'(034).
ENDIF.
ENDMODULE.
MODULE verifica_taxa_contrato INPUT.
DATA:
v_indice TYPE sy-index,
v_kursf TYPE /pws/zycbt239-kursf.
CLEAR:
wa_disp,
wa_contrato.
CASE sy-dynnr.
WHEN '0131'.
READ TABLE itab_disp_70 INTO wa_disp
INDEX tc_70-current_line.
v_indice = wa_disp-indice.
READ TABLE itab_contrato INTO wa_contrato
WITH KEY indice = v_indice
tpcontr = c_tp1.
WHEN '0132'.
CHECK /pws/zycbe239-tpcontr NE c_tp4.
READ TABLE itab_contrato INTO wa_contrato
INDEX tc_contrato-current_line.
v_indice = wa_contrato-indice.
READ TABLE itab_disp_70 INTO wa_disp
WITH KEY indice = v_indice.
ENDCASE.
wa_contrato-vlordem_mi =
wa_contrato-kursf * wa_disp-vldisp.
MODIFY itab_contrato FROM wa_contrato
TRANSPORTING vlordem_mi
WHERE indice = wa_contrato-indice.
ENDMODULE.
MODULE define_operacao INPUT.
CASE sy-dynnr.
WHEN '0120'.
PERFORM define_operacao_disp
USING tc_30
CHANGING itab_disp_30.
WHEN '0131'.
PERFORM define_operacao_disp
USING tc_70
CHANGING itab_disp_70.
ENDCASE.
ENDMODULE.
module drilldown input.
DATA: v_campo(30) TYPE c,
v_value(10) TYPE c,
v_index TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_receb> LIKE LINE OF itab_zycbt226.
CASE ok_code.
WHEN '/CS'.
CHECK sy-tcode = c_transacao_c.
LOOP AT SCREEN.
IF SCREEN-name EQ '/PWS/ZYCBE226-VLR_EXTERIOR' OR
SCREEN-name EQ '/PWS/ZYCBE226-BCO_ME'.
SCREEN-required = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
GET CURSOR FIELD v_campo VALUE v_value.
CHECK NOT v_campo IS INITIAL.
CHECK v_campo EQ '/PWS/ZYCBE226-SLD_TRANSFERIR'.
GET CURSOR LINE v_index.
CHECK NOT v_index IS INITIAL.
IF tc_op-top_line NE 1.
v_index = v_index + tc_op-top_line - 1.
ENDIF.
READ TABLE itab_zycbt226 INDEX v_index ASSIGNING <fs_receb>.
CHECK sy-subrc EQ 0.
MOVE:
<fs_receb>-SLD_TRANSFERIR TO <fs_receb>-VLR_EXTERIOR,
'X' TO <fs_receb>-drilldown.
WHEN 'RECEB_TOT'.
LOOP AT SCREEN.
IF SCREEN-name EQ '/PWS/ZYCBE226-VLR_EXTERIOR' OR
SCREEN-name EQ '/PWS/ZYCBE226-BCO_ME'.
SCREEN-required = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
LOOP AT itab_zycbt226 ASSIGNING <fs_receb>.
MOVE:
<fs_receb>-SLD_TRANSFERIR TO <fs_receb>-VLR_EXTERIOR,
'X' TO <fs_receb>-drilldown.
ENDLOOP.
ENDCASE.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034O01
...
ENDIF.
ENDIF.
<fs_zycbt226>-acesso_emp = wa_controle-autorizacao_emp.
endloop.
DELETE itab_zycbt226 WHERE acesso_emp is initial.
PERFORM message_show USING 'X'.
ENDMODULE.
MODULE calcula_total_destino OUTPUT.
PERFORM calcula_total_destino.
ENDMODULE.
* >> Início da inclusão:
module preenche_tc_disponibilidade output.
CASE sy-dynnr.
WHEN '0120'.
PERFORM preenche_tc_disponibilidade
USING itab_disp_30
tc_30.
WHEN '0131'.
PERFORM preenche_tc_disponibilidade
USING itab_disp_70
tc_70.
ENDCASE.
endmodule.
module loop_at_screen_tc_linhas output.
CASE sy-dynnr.
WHEN '0120'.
PERFORM loop_at_screen_disp
using itab_disp_30
tc_30
c_30.
WHEN '0131'.
PERFORM loop_at_screen_disp
using itab_disp_70
tc_70
c_70.
WHEN '0132'.
PERFORM loop_at_screen_contr
using itab_contrato
tc_contrato.
WHEN '0140'.
PERFORM loop_at_screen_rendimentos
using itab_rendimentos
tc_rendimentos.
ENDCASE.
endmodule.
module preenche_tc_contrato output.
PERFORM preenche_tc_contrato
USING itab_disp_70
itab_contrato
tc_contrato.
endmodule.
module preenche_tc_rendimentos output.
PERFORM preenche_tc_rendimentos
USING itab_rendimentos
tc_rendimentos.
endmodule.
module verificar_linhas output.
DATA:
v_linhas type sy-index.
CASE sy-dynnr.
WHEN '0110'.
DESCRIBE TABLE itab_zycbt226 LINES v_linhas.
tc_op-lines = v_linhas.
WHEN '0120'.
DESCRIBE TABLE itab_disp_30 LINES v_linhas.
tc_30-lines = v_linhas.
WHEN '0131'.
DESCRIBE TABLE itab_disp_70 LINES v_linhas.
tc_70-lines = v_linhas.
WHEN '0132'.
DESCRIBE TABLE itab_contrato LINES v_linhas.
tc_contrato-lines = v_linhas.
WHEN '0140'.
DESCRIBE TABLE itab_rendimentos LINES v_linhas.
tc_rendimentos-lines = v_linhas.
ENDCASE.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034TOP
PROGRAM /pws/sapmzycb034 MESSAGE-ID /pws/zycbm.
INCLUDE: /pws/zygli100,
/pws/zygli101,
<icon>.
TYPE-POOLS: icon.
TABLES: /pws/zycbe226,
* >> Início da inclusão:
/pws/zycbe238,
/pws/zycbe239,
/pws/zycbe240,
* << Fim da inclusão
/pws/zycbe017,
/pws/zycbt089.
* >> Início da exclusão:
CONTROLS: tc_op TYPE TABLEVIEW USING SCREEN '0100'.
* << Fim da exclusão
* >> Início da inclusão:
CONTROLS:
ts_70 TYPE TABSTRIP,
ts_principal TYPE TABSTRIP,
tc_op TYPE TABLEVIEW USING SCREEN '0110',
tc_30 TYPE TABLEVIEW USING SCREEN '0120',
tc_70 TYPE TABLEVIEW USING SCREEN '0131',
tc_contrato TYPE TABLEVIEW USING SCREEN '0132',
tc_rendimentos TYPE TABLEVIEW USING SCREEN '0140'.
* << Fim da inclusão
CONSTANTS:
* >> Início da inclusão:
c_debito TYPE c VALUE 'D',
c_credito TYPE c VALUE 'C',
c_30(2) TYPE c VALUE '30',
c_70(2) TYPE c VALUE '70',
c_tp1 TYPE /pws/zycbt239-tpcontr VALUE 'TIPO 01',
c_tp4 TYPE /pws/zycbt239-tpcontr VALUE 'TIPO 04',
c_contabilizado TYPE /pws/zycbt226-status VALUE 'C',
c_excluido TYPE c VALUE 'E',
c_alterado TYPE c VALUE 'A',
c_novo TYPE c VALUE 'N',
c_tela_receb TYPE FELD-FCOD VALUE 'TAB100_RECEB',
c_tela_disp_30 TYPE FELD-FCOD VALUE 'TAB100_30',
c_tela_ts_70 TYPE FELD-FCOD VALUE 'TAB100_70',
c_tela_disp_70 TYPE FELD-FCOD VALUE 'TAB130_DISP',
c_mark(6) TYPE c VALUE 'V_MARK',
c_parametro(14) TYPE C VALUE 'ZYCBE034-NRSEQ',
c_f02 TYPE /pws/zycbt032-tcode VALUE 'F-02',
c_f30 TYPE /pws/zycbt032-tcode VALUE 'F-30',
c_fb08 TYPE /pws/zycbt032-tcode VALUE 'FB08',
c_fbra TYPE /pws/zycbt032-tcode VALUE 'FBRA',
c_zycbt239 TYPE /pws/zycbe033-tabela VALUE '/PWS/ZYCBT239',
c_embarque_exportacao TYPE /pws/zycbt226-tipo_op VALUE 'E',
c_pagamento_antecipado TYPE /pws/zycbt226-tipo_op VALUE 'P',
c_tx_lancamento TYPE c VALUE 'L',
c_tx_estorno TYPE c VALUE 'E',
* << Fim da inclusão
c_transacao_c(14) TYPE c VALUE '/PWS/ZYCB034_C',
c_transacao_a(14) TYPE c VALUE '/PWS/ZYCB034_A',
c_transacao_e(14) TYPE c VALUE '/PWS/ZYCB034_E',
c_op TYPE sy-cprog VALUE '/PWS/SAPMZYCB034',
c_modulo(1) TYPE c VALUE 'E',
c_chave_oper(3) TYPE c VALUE 'TRE',
c_chv_oper_fat(3) TYPE c VALUE 'FTE',
c_codeven_op_emb(5) TYPE c VALUE '029',
c_codeven_op_pagant(5) TYPE c VALUE '030',
c_codeven_fat(5) TYPE c VALUE '010',
...
...
c_desm_trs(8) TYPE c VALUE 'DESM_TRS'.
TYPES:
BEGIN OF t_controle,
dados_op_carregados(1) TYPE c,
parametros_carregados(1) TYPE c,
msg_inicializada(1) TYPE c,
tc_linhas TYPE sy-srows,
autorizacao_emp(1) TYPE c,
total_30_70(1) TYPE c,
periodo_fechado(1) TYPE c,
* >> Início da inclusão:
ts_atual LIKE ts_principal-activetab,
msg_cnt(3) TYPE N,
* << Fim da inclusão
END OF t_controle,
* >> Início da inclusão:
BEGIN OF t_disponibilidade.
INCLUDE STRUCTURE /pws/zycbt238.
TYPES:
belnr_f02 type /pws/zycbt238-doc_cont,
indice TYPE sy-index,
mark(1) TYPE c,
operacao(1) TYPE c,
END OF t_disponibilidade,
BEGIN OF t_contrato.
INCLUDE STRUCTURE /pws/zycbt239.
TYPES:
indice TYPE sy-index,
mark(1) TYPE c,
operacao(1) TYPE c,
END OF t_contrato,
BEGIN OF t_zycbt227.
INCLUDE STRUCTURE /pws/zycbt227.
TYPES:
END OF t_zycbt227,
BEGIN OF t_mensagem,
bukrs TYPE /pws/zycbt001-bukrs,
belnr TYPE /pws/zycbt154-belnr_pr,
budat TYPE /pws/zycbe033-budat,
bldat TYPE /pws/zycbe033-bldat,
tpmsg TYPE /pws/zycbt032-tpmsg,
msg TYPE /pws/zycbt032-msg,
msg_doc TYPE /pws/zycbt032-msg,
END OF t_mensagem,
BEGIN OF t_doctos.
INCLUDE STRUCTURE /pws/zycbt036.
TYPES:
END OF t_doctos,
BEGIN OF t_rendimentos.
INCLUDE STRUCTURE /pws/zycbt240.
TYPES:
mark(1) TYPE c,
operacao(1) TYPE c,
END OF t_rendimentos,
BEGIN OF t_contabilizacoes,
belnr TYPE /pws/zycbe033-belnr,
dtlancto TYPE /pws/zycbe033-bldat,
fb08 TYPE c,
fbra TYPE c,
belnr_ant TYPE /pws/zycbe033-belnr,
dtlanc_ant TYPE /pws/zycbe033-bldat,
tabela TYPE /pws/zycbe033-tabela,
campo TYPE awkey,
valor TYPE wrbtr,
campo_valor TYPE awkey,
valor_ant TYPE wrbtr,
END OF t_contabilizacoes,
* << Fim da inclusão
BEGIN OF t_s_zycbt011.
INCLUDE STRUCTURE /pws/zycbt011.
TYPES:
END OF t_s_zycbt011,
BEGIN OF t_s_zyglt321.
INCLUDE STRUCTURE /pws/zyglt321.
TYPES:
END OF t_s_zyglt321,
BEGIN OF t_s_zycbt007.
INCLUDE STRUCTURE /pws/zycbt007.
...
...
BEGIN OF t_s_tab_op.
INCLUDE STRUCTURE /pws/zycbt226.
TYPES:
END OF t_s_tab_op,
BEGIN OF t_s_zycbe226.
INCLUDE STRUCTURE /pws/zycbe226.
TYPES: mark(1) TYPE c,
operacao(1) TYPE c,
bloqueado(1) TYPE c,
acesso_emp(1) TYPE c,
* >> Início da inclusão:
drilldown(1) TYPE c,
* << Fim da inclusão
END OF t_s_zycbe226,
BEGIN OF t_s_zycbt225.
INCLUDE STRUCTURE /pws/zycbt225.
TYPES:
END OF t_s_zycbt225,
BEGIN OF t_s_zycbt017.
INCLUDE STRUCTURE /pws/zycbt017.
TYPES:
END OF t_s_zycbt017,
BEGIN OF t_s_zycbt030.
...
...
t_t_kna1 TYPE SORTED TABLE OF t_s_kna1
WITH UNIQUE KEY kunnr,
t_t_lfa1 TYPE SORTED TABLE OF t_s_lfa1
WITH UNIQUE KEY lifnr,
t_t_zycbt011 TYPE SORTED TABLE OF t_s_zycbt011
WITH UNIQUE KEY codeven codmod bukrs,
t_t_zycbt009 TYPE SORTED TABLE OF t_s_zycbt009
WITH UNIQUE KEY codpadr,
t_t_zycbt039 TYPE SORTED TABLE OF t_s_zycbt039
WITH UNIQUE KEY modo,
* >> Início da inclusão:
t_t_disponibilidade TYPE TABLE OF t_disponibilidade WITH DEFAULT KEY,
t_t_contrato TYPE TABLE OF t_contrato WITH DEFAULT KEY,
t_t_zycbt227 TYPE TABLE OF t_zycbt227 WITH DEFAULT KEY,
t_t_doctos TYPE TABLE OF t_doctos WITH DEFAULT KEY,
t_t_rendimentos TYPE TABLE OF t_rendimentos WITH DEFAULT KEY,
t_t_contabilizacoes TYPE TABLE OF t_contabilizacoes WITH DEFAULT KEY,
* << Fim da inclusão
t_t_zycbt032 TYPE TABLE OF t_s_zycbt032 WITH DEFAULT KEY,
t_t_zycbe033 TYPE TABLE OF t_s_zycbe033 WITH DEFAULT KEY,
t_t_zycbt034 TYPE TABLE OF t_s_zycbt034 WITH DEFAULT KEY,
t_t_zycbt036 TYPE TABLE OF t_s_zycbt036 WITH DEFAULT KEY,
t_t_zyglt100 TYPE TABLE OF /pws/zyglt100 WITH DEFAULT KEY,
t_t_zyglt316 TYPE TABLE OF /pws/zyglt316 WITH DEFAULT KEY,
t_t_zyglt321 TYPE TABLE OF /pws/zyglt321 WITH DEFAULT KEY,
t_t_zyglt368 TYPE TABLE OF /pws/zyglt368 WITH DEFAULT KEY,
t_t_zycbt225 TYPE TABLE OF t_s_zycbt225 WITH DEFAULT KEY,
t_t_zycbt226 TYPE TABLE OF t_s_zycbe226 WITH DEFAULT KEY,
...
...
itab_zyglt368 TYPE t_t_zyglt368,
itab_zycbt011 TYPE t_t_zycbt011,
itab_zycet001 TYPE t_t_zycet001,
itab_zycet047 TYPE t_t_zycet047,
itab_zycet048 TYPE t_t_zycet048,
itab_zycit054 TYPE t_t_zycit054,
itab_kna1 TYPE t_t_kna1,
itab_lfa1 TYPE t_t_lfa1,
itab_bkpf TYPE t_t_bkpf,
itab_zycbe224 TYPE t_t_zycbe224,
* >> Início da inclusão:
itab_disp_30 TYPE t_t_disponibilidade,
itab_disp_70 TYPE t_t_disponibilidade,
itab_contrato TYPE t_t_contrato,
itab_zycbt227 TYPE t_t_zycbt227,
itab_rendimentos TYPE t_t_rendimentos,
itab_disp_ant TYPE t_t_disponibilidade,
itab_contrato_ant TYPE t_t_contrato,
itab_doctos TYPE t_t_doctos,
itab_rendimentos_ant TYPE t_t_rendimentos,
itab_contabilizacoes TYPE t_t_contabilizacoes,
* << Fim da inclusão
itab_zycbt032 TYPE t_t_zycbt032,
itab_zycbe033 TYPE t_t_zycbe033,
itab_zycbt034 TYPE t_t_zycbt034,
itab_zycbt036 TYPE t_t_zycbt036,
itab_partidas TYPE t_t_zycbe033.
DATA: wa_zycbt007 TYPE t_s_zycbt007,
wa_zyglt009 TYPE t_s_zyglt009,
wa_zycbt089 TYPE t_s_zycbt089,
wa_controle TYPE t_controle,
wa_fat TYPE t_s_zycbt017,
...
...
opt_origem_pagantec(1) TYPE c,
opt_destino_30(1) TYPE c,
opt_destino_70(1) TYPE c,
v_mark(1) TYPE c,
v_icone TYPE icons-text,
v_tela_help TYPE sy-dynnr VALUE '0052'.
SELECTION-SCREEN BEGIN OF SCREEN 0001.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-011.
SELECT-OPTIONS: s_bukrs FOR /pws/zycbe226-bukrs,
s_nrseq FOR /pws/zycbe226-nrseq,
* >> Início da exclusão:
s_dest FOR /pws/zycbe226-destino,
* << Fim da exclusão
s_invoic FOR /pws/zycbe226-nrinvoic
MATCHCODE OBJECT /pws/zycba275,
s_gsber FOR /pws/zycbe226-gsberf,
s_nrparc FOR /pws/zycbe226-nrparcf,
s_kunag FOR /pws/zycbe017-kunag,
s_dtincl FOR /pws/zycbe226-dtincl,
s_dtcext FOR /pws/zycbe226-dtcredext.
SELECTION-SCREEN END OF BLOCK a.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-021.
PARAMETERS: p_orig1 AS CHECKBOX,
...
...
PARAMETERS: p_moedag RADIOBUTTON GROUP w,
p_moedam RADIOBUTTON GROUP w,
p_moedab RADIOBUTTON GROUP w.
SELECTION-SCREEN END OF BLOCK c.
SELECTION-SCREEN END OF SCREEN 0001.
AT SELECTION-SCREEN OUTPUT.
PERFORM: status_gui_0001,
importa_selecao.
AT SELECTION-SCREEN.
CHECK sy-dynnr EQ '0001'.
* >> Início da inclusão:
DATA:
v_ucomm type sy-ucomm.
GET PARAMETER ID 'UCOMM' FIELD v_ucomm.
SET PARAMETER ID 'UCOMM' FIELD space.
IF NOT v_ucomm IS INITIAL.
sy-ucomm = v_ucomm.
ENDIF.
* << Fim da inclusão
CASE sy-ucomm.
WHEN 'CRET'.
CLEAR wa_controle.
PERFORM: limpa_itabs,
seleciona_op.
IF NOT itab_zycbt226[] IS INITIAL.
CALL SCREEN '0100'.
ELSE.
MESSAGE i222.
CALL SCREEN '0001'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL007I01
...
MESSAGE e015 WITH 'Entre com um valor entre 0 e 100.'(090).
ENDIF.
ENDMODULE.
MODULE set_ccme INPUT.
IF v_cc1 = 'X'.
/pws/zyglt009-comp_aut_cc = 'X'.
ELSE.
CLEAR /pws/zyglt009-comp_aut_cc.
ENDIF.
ENDMODULE.
* >> Início da inclusão:
module set_cont_disp input.
IF v_conts = 'X'.
/pws/zycbt007-cont_disp = 'X'.
ELSE.
/pws/zycbt007-cont_disp = space.
ENDIF.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL007O01
...
AND NOT screen-name EQ 'SS_ROTINA'
AND NOT screen-name EQ 'TAB_GERAL3'
AND NOT screen-name EQ 'TAB_CORRET'
AND NOT screen-name EQ 'TAB_TAXA'
AND NOT screen-name EQ 'TAB_LIMITE'
AND NOT screen-name EQ 'TAB_CANC'
AND NOT screen-name EQ 'TAB_CONTAB2'
AND NOT screen-name EQ 'TAB_GERAIS2'
AND NOT screen-name EQ 'TAB_DOWNP'
AND NOT screen-name EQ 'TAB_COMIS'
* >> Início da exclusão: MODULE SET_SCREEN
AND NOT screen-name EQ 'TAB_TAXA2'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN
AND NOT screen-name EQ 'TAB_TAXA2'
AND NOT screen-name EQ 'TAB_DEREX'.
* << Fim da inclusão
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.
MODULE move_dados_pbo OUTPUT.
MOVE: wa_zycbt007 TO /pws/zycbt007,
wa_zyglt009 TO /pws/zyglt009,
wa_zycbt089 TO /pws/zycbt089.
ENDMODULE.
...
...
ENDMODULE.
MODULE set_ccme OUTPUT.
IF /pws/zyglt009-comp_aut_cc = 'X'.
v_cc1 = 'X'.
CLEAR v_cc2.
ELSE.
v_cc2 = 'X'.
CLEAR v_cc1.
ENDIF.
ENDMODULE.
* >> Início da inclusão:
MODULE set_cont_disp OUTPUT.
IF /pws/zycbt007-cont_disp = 'X'.
v_conts = 'X'.
CLEAR v_contn.
ELSEIF /pws/zycbt007-cont_disp = space.
v_contn = 'X'.
CLEAR v_conts.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL007TOP
...
v_dr_sim TYPE c,
v_dr_nao TYPE c,
v_me TYPE c,
v_mi TYPE c,
v_dt_cred_vinc TYPE c,
v_contaimp1(1) TYPE c,
v_contaimp2(1) TYPE c,
v_contaimp3(1) TYPE c,
v_prov_prem(1) TYPE c,
v_prov_prem2(1) TYPE c,
* >> Início da inclusão:
v_conts(1) TYPE c,
v_contn(1) TYPE c,
* << Fim da inclusão
v_cc1(1) TYPE c,
* >> Início da exclusão:
v_cc2(1) TYPE c.
* << Fim da exclusão
* >> Início da inclusão:
v_cc2(1) TYPE c,
v_lei(30),
v_cambio(30),
v_origem(30).
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB034
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 031
Texto: (3 caracteres)
"30%"
Comprimento máximo: 3
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 032
Texto: (3 caracteres)
"70%"
Comprimento máximo: 3
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 033
Texto: (40 caracteres)
"Valor maior que o saldo. Favor corrigir."
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 034
Texto: (31 caracteres)
"Data Inválida, Favor redigitar."
Comprimento máximo: 31
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 035
Texto: (12 caracteres)
"Conta Débito"
Comprimento máximo: 12
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M18
Texto: (22 caracteres)
"Selecione o destino da"
Comprimento máximo: 22
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M19
Texto: (16 caracteres)
"disponibilidade:"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M20
Texto: (28 caracteres)
"Valores Mantidos no Exterior"
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M21
Texto: (48 caracteres)
"Não existe saldo suficiente para disponibilizar."
Comprimento máximo: 48
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M22
Texto: (34 caracteres)
"Lançamento da Provisão do contrato"
Comprimento máximo: 34
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M23
Texto: (44 caracteres)
"Favor corrigir campo Data de Débito/Crédito."
Comprimento máximo: 44
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M24
Texto: (22 caracteres)
"realizada com sucesso."
Comprimento máximo: 22
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M25
Texto: (25 caracteres)
"Cancelamento do documento"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M26
Texto: (20 caracteres)
"Estorno do documento"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M27
Texto: (36 caracteres)
"Lançamento do clearing dos contratos"
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M28
Texto: (41 caracteres)
"Lançamento da Provisão da disponibilidade"
Comprimento máximo: 41
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M29
Texto: (33 caracteres)
"Desmembramento da disponibilidade"
Comprimento máximo: 33
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M30
Texto: (27 caracteres)
"Clearing da disponibilidade"
Comprimento máximo: 27
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M31
Texto: (26 caracteres)
"Clearing da conta corrente"
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M32
Texto: (40 caracteres)
"Lançamento do estorno da disponibilidade"
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M33
Texto: (21 caracteres)
"** ERRO NO ESTORNO **"
Comprimento máximo: 21
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M34
Texto: (17 caracteres)
"Dados do contrato"
Comprimento máximo: 17
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M35
Texto: (22 caracteres)
"para a disponibilidade"
Comprimento máximo: 22
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M36
Texto: (21 caracteres)
"gravados com sucesso."
Comprimento máximo: 21
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M37
Texto: (20 caracteres)
"gravada com sucesso."
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M38
Texto: (28 caracteres)
"Registro não será efetuado !"
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M39
Texto: (49 caracteres)
"Parametrização Geral, Contabiliza Disponibilidade"
Comprimento máximo: 49
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M40
Texto: (42 caracteres)
"=Sim, porém contas cadastradas na chave de"
Comprimento máximo: 42
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: M41
Texto: (38 caracteres)
"operação(Fornecedor Banco) são iguais."
Comprimento máximo: 38
------------------------------------------------------------------------
Excluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_DEST
Texto: (26 caracteres)
"Destino do Recurso"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYGL007
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 091
Texto: (18 caracteres)
"Data de lançamento"
Comprimento máximo: 18
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 092
Texto: (27 caracteres)
"Data de crédito no exterior"
Comprimento máximo: 27
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 093
Texto: (23 caracteres)
"Data de disponibilidade"
Comprimento máximo: 23
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBE227
MODIFICAR ESTRUTURA: /PWS/ZYCBE227
DESCRIÇÃO BREVE: CB - Associação de faturas a ordens de pagamento
COMPONENTES NOVOS
COMPONENTE: TP. COMP: TAB.REF.: CPO.REF.: AJUD. PESQU.
SALDO WRBTR /PWS/ZYCBE227 WAERS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT007
MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCBT007
DESCRIÇÃO BREVE: GL - Parâmetros Gerais Câmbio
CARACTERÍSTICAS
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
CONT_DISP /PWS/ZYGLL1367
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT089
MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCBT089
DESCRIÇÃO BREVE: CB - Parâm Gerais - Câmbio Exportação
CARACTERÍSTICAS
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
TX_LANC_DISPON /PWS/ZYGLL1369
TX_EST_DISPON /PWS/ZYGLL1370
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT227
MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCBT227
DESCRIÇÃO BREVE: CB - Associação de faturas a ordens de pagamento
CARACTERÍSTICAS
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
SALDO WRBTR /PWS/ZYCBT227 WAERS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBE238
INCLUIR ESTRUTURA: /PWS/ZYCBE238
DESCRIÇÃO BREVE: CB - DISPONIBILIDADE DE VALORES MANTIDOS NO EXTERIOR
COMPONENTES NOVOS
COMPONENTE: TP. COMP: TAB.REF.: CPO.REF.: AJUD. PESQU.
MANDT MANDT
NRSEQ /PWS/ZYGLL1342
DESTINO /PWS/ZYGLL1346
DTDISP BUDAT /PWS/ZYCBE238 WAERS
VLDISP WRBTR
WAERS WAERS
DTLANC BUDAT
CONTA_CONTABIL ALLGKONTO
DOC_CONT BELNR_D
DOC_DESM BELNR_D
DOC_COMP BELNR_D
SALDO WRBTR /PWS/ZYCBE238 WAERS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBE239
INCLUIR ESTRUTURA: /PWS/ZYCBE238
DESCRIÇÃO BREVE: CB - DADOS DO CONTRATO DA DISPONIBILIDADE
Classe desenvolvimento: /PWS/ZYCB
COMPONENTES NOVOS
COMPONENTE: TP. COMP: TAB.VER. TAB.REF.: CPO.REF.: AJUD. PESQU.
MANDT MANDT
TPCONTR /PWS/ZYGLL1368
NRSEQ /PWS/ZYGLL1342
DESTINO /PWS/ZYGLL1346
DTDISP DATUM
BCO_MI /PWS/ZYCBL135 LFA1 KRED
BCO_FECH /PWS/ZYCBL260 LFA1 KRED
KURSF KURSF
VLORDEM_MI WRBTR /PWS/ZYCBE239 WAERS
NRCONTR /PWS/ZYCBL020
DTCONTR DATUM
DTFECH DATUM
DTDEBITO DATUM
DTLIQUID DATUM
DTSWIFT DATUM
PRACA /PWS/ZYCBL315
INSTITUICAO /PWS/ZYGLL889 /PWS/ZYCAA018
CORRET /PWS/ZYCBL245 LFA1 KRED
CODNATOPER /PWS/ZYGLL661 /PWS/ZYGLT206
CODFRMENTREGA /PWS/ZYGLL663 /PWS/ZYGLT207 /PWS/ZYCBA211
CODMODTRANSA /PWS/ZYGLL663 /PWS/ZYGLT208 /PWS/ZYCBA212
CODNORMA /PWS/ZYGLL733 /PWS/ZYGLT214 /PWS/ZYGLA220
MODALIDADE /PWS/ZYGLL728
TXTLANC BF_BUTXTEB
FRMRECEB /PWS/ZYGLL663
DOC_CONT BELNR_D
DOC_COMP BELNR_D
WAERS WAERS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBE240
INCLUIR ESTRUTURA: /PWS/ZYCBE240
DESCRIÇÃO BREVE: CB - RENDIMENTOS RECEBIDOS
Classe desenvolvimento: /PWS/ZYCB
COMPONENTES NOVOS
COMPONENTE: TP. COMP: TAB.VER. TAB.REF.: CPO.REF.: AJUD. PESQU.
MANDT MANDT
NRSEQR /PWS/ZYCBL222
BUKRS BUKRS T001 H_T001
WAERS WAERS TCURC
WERKS WERKS_D T001W H_T001W
J_1BBRANCH J_1BBRANC_ J_1BBRANCH J_1BBRANHV
GSBER GSBER TGSB H_TGSB
VLCRED WRBTR /PWS/ZYCBE240 WAERS
DTINCL DATUM
DTRECEB DATUM
ORIG_APLIC NAME1
BCO_EXT /PWS/ZYGLL1348 LFA1 KRED
NOME_BCO NAME1
TXTINF SGTXT
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBT238
INCLUIR TABELA TRANSPARENTE: /PWS/ZYCBT238
DESCRIÇÃO BREVE: CB - DISPONIBILIDADE DE VALORES MANTIDOS NO EXTERIOR
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/ZYGLL1342 X X
DESTINO /PWS/ZYGLL1346 X X
DTDISP BUDAT X X
VLDISP WRBTR /PWS/ZYCBT238 WAERS
WAERS WAERS
DTLANC BUDAT
CONTA_CONTABIL ALLGKONTO
DOC_CONT BELNR_D
DOC_DESM BELNR_D
DOC_COMP BELNR_D
SALDO WRBTR /PWS/ZYCBT238 WAERS
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: 0
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBT239
INCLUIR TABELA TRANSPARENTE: /PWS/ZYCBT239
DESCRIÇÃO BREVE: CB - DADOS DO CONTRATO DA DISPONIBILIDADE
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
TPCONTR /PWS/ZYGLL1368 X X
NRSEQ /PWS/ZYGLL1342 X X
DESTINO /PWS/ZYGLL1346 X X
DTDISP DATUM X X
BCO_MI /PWS/ZYCBL135 LFA1
BCO_FECH /PWS/ZYCBL260 LFA1
KURSF KURSF
VLORDEM_MI WRBTR /PWS/ZYCBT239 WAERS
NRCONTR /PWS/ZYCBL020
DTCONTR DATUM
DTFECH DATUM
DTDEBITO DATUM
DTLIQUID DATUM
DTSWIFT DATUM
PRACA /PWS/ZYCBL315
INSTITUICAO /PWS/ZYGLL889
CORRET /PWS/ZYCBL245
CODNATOPER /PWS/ZYGLL661
CODFRMENTREGA /PWS/ZYGLL663
CODMODTRANSA /PWS/ZYGLL663
CODNORMA /PWS/ZYGLL733
MODALIDADE /PWS/ZYGLL728
TXTLANC BF_BUTXTEB
FRMRECEB /PWS/ZYGLL663
DOC_CONT BELNR_D
DOC_COMP BELNR_D
WAERS WAERS
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: 0
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCBT240
INCLUIR TABELA TRANSPARENTE: /PWS/ZYCBT240
DESCRIÇÃO BREVE: CB - RENDIMENTOS RECEBIDOS
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
NRSEQR /PWS/ZYCBL222 X X
BUKRS BUKRS
WAERS WAERS
WERKS WERKS_D
J_1BBRANCH J_1BBRANC_
GSBER GSBER
VLCRED WRBTR /PWS/ZYCBT240 WAERS
DTINCL DATUM
DTRECEB DATUM
ORIG_APLIC NAME1
BCO_EXT /PWS/ZYGLL1348
NOME_BCO NAME1
TXTINF SGTXT
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: 0
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
03270 - 00001 - DESENVOLVIMENTO ADICIONAL COMPLETO - ORDEM DE PAGAMENTO
03351 - 00002 - VALORES MANTIDOS NO EXTERIOR - DUMP NO MATCH-CODE DE FATURAS
03662 - 00003 - VALORES MANTIDOS NO EXTERIOR - CAMPO ZTERM
03912 - 00004 - VALORES MANTIDOS EXTERIOR - AJUSTE DE PERFORMANCE BKPF
04102 - 00005 - VALORES MANTIDOS NO EXTERIOR - DUMP AO SALVAR SEM ENTER
04364 - 00006 - SAÍDA DE PAGAMENTO - ORDEM DE PAGAMENTO - DATA EFETIVA
04709 - 00007 - VALORES MANTIDOS NO EXTERIOR - ESTORNO COM LIQUIDAÇÃO EM ANDAMENTO
04861 - 00008 - DA SAÍDA DE PAGAMENTO - COMPENSAÇÃO AUTOMÁTICA CC ME
04879 - 00009 - VALORES MANTIDOS NO EXTERIOR - SELEÇAO DO VALOR DA TAXA.
04958 - 00010 - FATURA/VINCULAÇÃO/LIQUIDAÇÃO - COMMODITIES
04992 - 00011 - VALORES MANTIDOS EXTERIOR(XBLNR) - REFERENCIA HORA
05469 - 00012 - DESENVOLVIMENTO ADICIONAL - SAÍDA DE PAGAMENTO UTILIZANDO CONTA CORRENTE
05470 - 00013 - RELATÓRIO VALORES RECEBIDOS EM C/C NO EXTERIOR
05471 - 00014 - DEREX - AJUSTES PARA NOVA ORDEM DE PAGAMENTO
05475 - 00015 - RELATÓRIO DE PAGAMENTOS COM RECURSOS NO EXTERIOR
05478 - 00016 - DA - ASSOCIAÇÃO DE ORDENS DE PAGAMENTO
05479 - 00017 - CAPTAÇÂO - ORDEM DE PAGAMENTO