Módulo: CÂMBIO FINANCEIRO
Funcionalidade: SISCOSERV
Data/Hora da Publicação: 15/05/2013 09:32:00
Data/Hora Última Alteração: 15/05/2013 09:32:00
Descrição da Nota: CARGA SISCOSERV
Sintoma
Desenvolvimento de Programa para de Carga dos processos de SISCOSERV
Solução
Desenvolvimento de Programa para de Carga dos processos de SISCOSERV
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12632 Data: 30/10/2012 Hora: 13:19:24
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12632
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00002
Agrupamento : 00136
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12480 - 00001 - 9.0 - 00001 - SISCOSERV
----------------------------------------------------------------------------------------------------
CARGA SISCOSERV
----------------------------------------------------------------------------------------------------
Palavras Chave:
CARGA SISCOSERV - SISCOSERV
----------------------------------------------------------------------------------------------------
Objetos da nota:
TABD /PWS/ZYCAE004
FUNC /PWS/ZYCA_CARGA_SICOSERV_CONTR
FUNC /PWS/ZYCA_CARGA_SICOSERV_ASSOC
REPS /PWS/LZYCAGFF01
REPT /PWS/SAPLZYCAGF
TRAN /PWS/ZYCAR022
REPS /PWS/ZYCAR022
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCAE004
CRIAR ESTRUTURA: /PWS/ZYCAE004
DESCRIÇÃO BREVE: Erros Carga Siscoserv
COMPONENTES NOVOS
COMPONENTE: TP. COMP: DTDD COMPR. CASAS DEC. TAB.REF.: CPO.REF.: AJUD. PESQU.
ORDEM_SERVICO CHAR 20
NRSEQ /PWS/ZYCAL053
OPERACAO /PWS/ZYCAL027
FATURA /PWS/ZYCAL054
CAMPO CHAR30
MSG CHAR 60
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCAGFF01
...
IF sy-subrc = 0.
CALL FUNCTION 'J_1BBUILD_CGC'
EXPORTING
cgc_company = v_cgc_company
cgc_branch = j_1bbranch-cgc_branch
IMPORTING
cgc_number = p_cgcnumber.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form verifica_cabecalho tables p_erro structure /pws/zycae004
using p_zycat030 structure /pws/zycat030.
data: wa_erro type /pws/zycae004.
if p_zycat030-bukrs is initial.
wa_erro-campo = text-012.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if p_zycat030-j_1bbranch is initial.
wa_erro-campo = text-013.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if p_zycat030-tp_processo is initial.
wa_erro-campo = text-014.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if p_zycat030-cod_pais is initial.
wa_erro-campo = text-015.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if p_zycat030-bukrs_ext is initial.
wa_erro-campo = text-016.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if p_zycat030-waers is initial.
wa_erro-campo = text-017.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
endform.
form verifica_operacoes tables p_zycat031 structure /pws/zycat031
p_zycat032 structure /pws/zycat032
p_erro structure /pws/zycae004
using p_zycat030 structure /pws/zycat030.
data: wa_zycat031 type /pws/zycat031,
wa_erro type /pws/zycae004.
if p_zycat031[] is initial.
wa_erro-msg = text-e05.
append wa_erro to p_erro.
endif.
loop at p_zycat031 into wa_zycat031.
if wa_zycat031-operacao is initial.
wa_erro-campo = text-018.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if wa_zycat031-nbs is initial.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-018.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if wa_zycat031-cod_pais is initial.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-019.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if wa_zycat031-modo_prest is initial.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-020.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
if wa_zycat031-data_ini is initial.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-021.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
elseif wa_zycat031-data_ini > sy-datum.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-021.
wa_erro-msg = text-e03.
append wa_erro to p_erro.
endif.
if wa_zycat031-data_fim is initial.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-022.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
elseif wa_zycat031-data_fim < wa_zycat031-data_ini.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-022.
wa_erro-msg = text-e04.
append wa_erro to p_erro.
endif.
if wa_zycat031-valor is initial.
wa_erro-operacao = wa_zycat031-operacao.
wa_erro-campo = text-023.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
endif.
endloop.
endform.
form carga_ras_rvs tables p_zycat031 structure /pws/zycat031
p_zycat032 structure /pws/zycat032
p_zycat033 structure /pws/zycat033
p_tline structure tline
p_retorno structure /pws/zycae004
using p_zycat030 structure /pws/zycat030.
data: wa_zycat031 type /pws/zycat031,
wa_zycat032 type /pws/zycat032,
wa_zycat033 type /pws/zycat033,
wa_retorno type /pws/zycae004,
wa_thead type thead,
v_valor type /pws/zycat030-valor,
v_saldo type /pws/zycat030-saldo,
v_processo type /pws/zycat038-processo,
v_funcionalidade type /pws/zyglt390-programa
value '/PWS/SAPMZYCA011',
v_identificador type /pws/zyglt390-identificador.
loop at p_zycat031 into wa_zycat031.
v_valor = v_valor + wa_zycat031-valor.
v_saldo = v_saldo + wa_zycat031-saldo.
endloop.
p_zycat030-valor = v_valor.
p_zycat030-saldo = v_saldo.
perform busca_sequencial_siscoserv changing p_zycat030-nrseq.
insert into /pws/zycat030 values p_zycat030.
while sy-subrc ne 0.
perform busca_sequencial_siscoserv changing p_zycat030-nrseq.
insert into /pws/zycat030 values p_zycat030.
endwhile.
move-corresponding p_zycat030 to /pws/zycat030.
move /pws/zycat030-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT030'
'I'
sy-tcode
v_funcionalidade
v_identificador.
wa_retorno-nrseq = p_zycat030-nrseq.
wa_retorno-msg = text-s01.
loop at p_zycat031 into wa_zycat031.
wa_zycat031-nrseq = p_zycat030-nrseq.
wa_zycat031-saldo = wa_zycat031-valor.
wa_zycat031-waers = p_zycat030-waers.
modify p_zycat031 from wa_zycat031
index sy-tabix.
endloop.
modify /pws/zycat031 from table p_zycat031.
loop at p_zycat031 into wa_zycat031.
move-corresponding wa_zycat031 to /pws/zycat031.
move /pws/zycat031-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT031'
'I'
sy-tcode
v_funcionalidade
v_identificador.
endloop.
loop at p_zycat032 into wa_zycat032.
wa_zycat032-nrseq = p_zycat030-nrseq.
modify p_zycat032 from wa_zycat032
index sy-tabix.
endloop.
modify /pws/zycat032 from table p_zycat032.
loop at p_zycat032 into wa_zycat032.
move-corresponding wa_zycat032 to /pws/zycat032.
move /pws/zycat032-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT032'
'I'
sy-tcode
v_funcionalidade
v_identificador.
endloop.
loop at p_zycat033 into wa_zycat033.
wa_zycat033-nrseq = p_zycat030-nrseq.
modify p_zycat033 from wa_zycat033
index sy-tabix.
endloop.
modify /pws/zycat033 from table p_zycat033.
loop at p_zycat033 into wa_zycat033.
move-corresponding wa_zycat033 to /pws/zycat033.
move /pws/zycat031-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT033'
'I'
sy-tcode
v_funcionalidade
v_identificador.
endloop.
if not p_tline[] is initial.
wa_thead-tdobject = '/PWS/CA011'.
wa_thead-tdname = p_zycat030-nrseq.
wa_thead-tdid = 'CA11'.
wa_thead-tdspras = sy-langu.
wa_thead-tdlinesize = '070'.
call function 'SAVE_TEXT'
exporting
client = sy-mandt
header = wa_thead
insert = 'X'
savemode_direct = 'X'
owner_specified = 'X'
tables
lines = p_tline[]
exceptions
id = 1
language = 2
name = 3
object = 4
others = 5.
if sy-subrc eq 0 or sy-subrc eq 5.
else.
p_retorno-msg = text-e06.
endif.
endif.
if p_zycat030-tp_processo = 'V'.
v_processo = 'IRVS'.
elseif p_zycat030-tp_processo = 'A'.
v_processo = 'IRAS'.
endif.
call function '/PWS/ZYCA_GERA_XML_SISCOSERV'
exporting
i_processo = v_processo
i_zycat030 = p_zycat030
tables
i_zycat031 = p_zycat031
i_zycat032 = p_zycat032
i_zycat033 = p_zycat033
i_infcomp = p_tline
exceptions
xml_error = 1.
if sy-subrc ne 0.
wa_retorno-msg = text-e07.
endif.
append wa_retorno to p_retorno.
commit work.
endform.
form busca_sequencial_siscoserv changing p_nrseq.
data: v_nrseq type /pws/zycat030-nrseq,
v_ano(3),
v_count(6) type n.
concatenate '%' sy-datum+2(2) into v_ano.
select max( nrseq ) into (v_nrseq)
from /pws/zycat030
where nrseq like v_ano.
v_count = v_nrseq+0(6) + 1.
concatenate v_count sy-datum+2(2) into p_nrseq.
endform.
form verifica_bloqueio tables p_retorno structure /pws/zycae004
using p_zycat039 structure /pws/zycat039
changing p_bloqueio.
data: wa_retorno type /pws/zycae004.
call function 'ENQUEUE_/PWS/EZYCAT030'
exporting
nrseq = p_zycat039-nrseq
exceptions
foreign_lock = 1
system_failure = 2
others = 3.
if sy-subrc = 0.
call function 'ENQUEUE_/PWS/EZYCAT031'
exporting
nrseq = p_zycat039-nrseq
operacao = p_zycat039-operacao
exceptions
foreign_lock = 1
system_failure = 2
others = 3.
if sy-subrc <> 0.
move: p_zycat039-nrseq to wa_retorno-nrseq,
p_zycat039-operacao to wa_retorno-operacao,
text-e09 to wa_retorno-msg.
append wa_retorno to p_retorno.
p_bloqueio = 'X'.
endif.
else.
move: p_zycat039-nrseq to wa_retorno-nrseq,
text-e08 to wa_retorno-msg.
append wa_retorno to p_retorno.
p_bloqueio = 'X'.
endif.
endform.
form desbloqueia_registros using p_zycat039 structure /pws/zycat039.
call function 'DEQUEUE_/PWS/EZYCAT030'
exporting
nrseq = p_zycat039-nrseq.
if sy-subrc ne 0.
endif.
call function 'DEQUEUE_/PWS/EZYCAT031'
exporting
nrseq = p_zycat039-nrseq
operacao = p_zycat039-operacao.
if sy-subrc ne 0.
endif.
endform.
form carrega_associacao tables p_retorno structure /pws/zycae004
p_zycat039 structure /pws/zycat039.
data: itab_zycat030 type table of /pws/zycat030,
itab_zycat031 type table of /pws/zycat031,
wa_zycat030 type /pws/zycat030,
wa_zycat031 type /pws/zycat031,
wa_zycat039 type /pws/zycat039,
wa_retorno type /pws/zycae004,
v_saldo type /pws/zycat031-saldo,
v_processo type /pws/zycat038-processo,
v_erro,
v_funcionalidade type /pws/zyglt390-programa
value '/PWS/SAPMZYCA012',
v_identificador type /pws/zyglt390-identificador.
select * from /pws/zycat031
into table itab_zycat031
for all entries in p_zycat039
where nrseq = p_zycat039-nrseq
and operacao = p_zycat039-operacao.
select * from /pws/zycat030
into table itab_zycat030
for all entries in p_zycat039
where nrseq = p_zycat039-nrseq.
loop at p_zycat039 into wa_zycat039.
clear: v_erro, v_saldo, wa_zycat031, wa_zycat030.
read table itab_zycat031 into wa_zycat031
with key nrseq = wa_zycat039-nrseq
operacao = wa_zycat039-operacao.
if sy-subrc ne 0.
move: wa_zycat039-nrseq to wa_retorno-nrseq,
wa_zycat039-operacao to wa_retorno-operacao,
wa_zycat039-fatura to wa_retorno-fatura,
text-e10 to wa_retorno-msg.
append wa_retorno to p_retorno.
continue.
endif.
read table itab_zycat030 into wa_zycat030
with key nrseq = wa_zycat039-nrseq.
perform verifica_bloqueio tables p_retorno
using wa_zycat039
changing v_erro.
if not v_erro is initial.
continue.
endif.
v_saldo = wa_zycat031-saldo - wa_zycat039-valor.
if v_saldo < 0.
move: wa_zycat039-nrseq to wa_retorno-nrseq,
wa_zycat039-operacao to wa_retorno-operacao,
wa_zycat039-fatura to wa_retorno-fatura,
text-e11 to wa_retorno-msg.
append wa_retorno to p_retorno.
perform desbloqueia_registros using wa_zycat039.
continue.
endif.
perform valida_campos tables p_retorno
using wa_zycat030
changing wa_zycat039
v_erro.
check v_erro is initial.
modify /pws/zycat039 from wa_zycat039.
if sy-subrc eq 0.
move-corresponding wa_zycat039 to /pws/zycat039.
move /pws/zycat039-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT039'
'I'
sy-tcode
v_funcionalidade
v_identificador.
wa_zycat031-saldo = v_saldo.
modify itab_zycat031 from wa_zycat031
transporting saldo
where nrseq = wa_zycat031-nrseq
and operacao = wa_zycat031-operacao.
modify /pws/zycat031 from wa_zycat031.
v_funcionalidade = '/PWS/SAPMZYCA011'.
move-corresponding wa_zycat031 to /pws/zycat031.
move /pws/zycat031-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT031'
'U'
sy-tcode
v_funcionalidade
v_identificador.
wa_zycat030-saldo = wa_zycat030-saldo - wa_zycat039-valor.
modify itab_zycat030 from wa_zycat030
transporting saldo
where nrseq = wa_zycat030-nrseq.
modify /pws/zycat030 from wa_zycat030.
move-corresponding wa_zycat030 to /pws/zycat030.
move /pws/zycat030-nrseq to v_identificador.
perform carrega_log using '/PWS/ZYCAT030'
'U'
sy-tcode
v_funcionalidade
v_identificador.
if wa_zycat030-tp_processo = 'V'.
v_processo = 'IRF'.
elseif wa_zycat030-tp_processo = 'A'.
v_processo = 'IRP'.
endif.
call function '/PWS/ZYCA_GERA_XML_SISCOSERV'
exporting
i_processo = v_processo
i_zycat030 = wa_zycat030
i_zycat039 = wa_zycat039
exceptions
xml_error = 1.
if sy-subrc ne 0.
endif.
move: wa_zycat039-nrseq to wa_retorno-nrseq,
wa_zycat039-operacao to wa_retorno-operacao,
wa_zycat039-fatura to wa_retorno-fatura,
text-s02 to wa_retorno-msg.
append wa_retorno to p_retorno.
endif.
perform desbloqueia_registros using wa_zycat039.
commit work.
endloop.
endform.
form valida_campos tables p_erro structure /pws/zycae004
using p_zycat030 structure /pws/zycat030
changing p_zycat039 structure /pws/zycat039
p_v_erro.
data: wa_erro type /pws/zycae004.
if p_zycat039-fatura is initial.
wa_erro-nrseq = p_zycat039-nrseq.
wa_erro-operacao = p_zycat039-operacao.
wa_erro-campo = text-024.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
p_v_erro = 'X'.
endif.
if p_zycat039-dt_pg_rec is initial.
wa_erro-nrseq = p_zycat039-nrseq.
wa_erro-operacao = p_zycat039-operacao.
wa_erro-fatura = p_zycat039-fatura.
wa_erro-campo = text-025.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
p_v_erro = 'X'.
endif.
if p_zycat039-moeda is initial.
wa_erro-nrseq = p_zycat039-nrseq.
wa_erro-operacao = p_zycat039-operacao.
wa_erro-fatura = p_zycat039-fatura.
wa_erro-campo = text-027.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
p_v_erro = 'X'.
elseif p_zycat039-moeda ne p_zycat030-waers.
wa_erro-nrseq = p_zycat039-nrseq.
wa_erro-operacao = p_zycat039-operacao.
wa_erro-fatura = p_zycat039-fatura.
wa_erro-campo = text-027.
wa_erro-msg = text-e12.
append wa_erro to p_erro.
p_v_erro = 'X'.
endif.
if p_zycat039-valor is initial.
wa_erro-nrseq = p_zycat039-nrseq.
wa_erro-operacao = p_zycat039-operacao.
wa_erro-fatura = p_zycat039-fatura.
wa_erro-campo = text-026.
wa_erro-msg = text-e02.
append wa_erro to p_erro.
p_v_erro = 'X'.
endif.
if not p_v_erro is initial.
perform desbloqueia_registros using p_zycat039.
endif.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_CARGA_SICOSERV_CONTR
CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCA_CARGA_SICOSERV_CONTR
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYCAGF
TEXTO BREVE: Carga Contratos Siscoserv
TIPO DE EXECUÇÃO:
(_) - MÓDULO DE FUNÇÃO NORMAL
(X) - MÓDULO DE ACESSO REMOTO
(_) - MÓDULO DE ATUALIZAÇÃO
(X) - INÍCIO IMEDIATO
(_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.
(_) - INÍC. RETARDADO
(_) - PROCES. CLOETIVO
DADOS GERAIS:
(_) - BLOQUEIO PROCESSO
(_) - GLOBAL
IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
I_ZYCAT030 TYPE /PWS/ZYCAT030 X
TABELAS:
NOME PARAM. ATRIB. TIPO REFERÊNCIA OPCIONAL TEXTO BREVE
I_ZYCAT031 LIKE /PWS/ZYCAT031
I_ZYCAT032 LIKE /PWS/ZYCAT032 X
I_ZYCAT033 LIKE /PWS/ZYCAT033 X
I_TLINE LIKE TLINE X
E_RETORNO LIKE /PWS/ZYCAE004
EXCEÇÕES:
EXCEÇÃO TEXTO BREVE
ERRO_CARGA Falha Validações RAS/RVS
* >> Início da inclusão:
FUNCTION /pws/zyca_carga_sicoserv_contr.
TABLES: /pws/zycat037.
DATA: wa_erro TYPE /pws/zycae004.
SELECT SINGLE * FROM /pws/zycat037
WHERE usuario = sy-uname.
IF sy-subrc NE 0.
MOVE: text-e01 TO wa_erro-msg.
APPEND wa_erro TO e_retorno.
ENDIF.
PERFORM verifica_cabecalho TABLES e_retorno
USING i_zycat030.
PERFORM verifica_operacoes TABLES i_zycat031
i_zycat032
e_retorno
USING i_zycat030.
IF NOT e_retorno[] IS INITIAL.
RAISE erro_carga.
ENDIF.
PERFORM carga_ras_rvs TABLES i_zycat031
i_zycat032
i_zycat033
i_tline
e_retorno
USING i_zycat030.
ENDFUNCTION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCA_CARGA_SICOSERV_ASSOC
CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCA_CARGA_SICOSERV_ASSOC
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYCAGF
TEXTO BREVE: Carga Associações Siscoserv
TIPO DE EXECUÇÃO:
(_) - MÓDULO DE FUNÇÃO NORMAL
(X) - MÓDULO DE ACESSO REMOTO
(_) - MÓDULO DE ATUALIZAÇÃO
(X) - INÍCIO IMEDIATO
(_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.
(_) - INÍC. RETARDADO
(_) - PROCES. CLOETIVO
DADOS GERAIS:
(_) - BLOQUEIO PROCESSO
(_) - GLOBAL
X
TABELAS:
NOME PARAM. ATRIB. TIPO REFERÊNCIA OPCIONAL TEXTO BREVE
I_ZYCAT039 LIKE /PWS/ZYCAT039
E_RETORNO LIKE /PWS/ZYCAE004
EXCEÇÕES:
EXCEÇÃO TEXTO BREVE
ERRO_CARGA Falha Validações RAS/RVS
* >> Início da inclusão:
FUNCTION /pws/zyca_carga_sicoserv_assoc.
DATA: wa_retorno TYPE /pws/zycae004.
SELECT SINGLE * FROM /pws/zycat037
WHERE usuario = sy-uname.
IF sy-subrc NE 0.
MOVE: text-e01 TO wa_retorno-msg.
APPEND wa_retorno TO e_retorno.
RAISE erro_carga.
ENDIF.
PERFORM carrega_associacao TABLES e_retorno
i_zycat039.
ENDFUNCTION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPLZYCAGF
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 012
Texto: (7 caracteres)
"Company"
Comprimento máximo: 7
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 012
Texto: (7 caracteres)
"Empresa"
Comprimento máximo: 7
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 012
Texto: (7 caracteres)
"compañi"
Comprimento máximo: 7
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 013
Texto: (6 caracteres)
"Branch"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 013
Texto: (6 caracteres)
"Filial"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 013
Texto: (6 caracteres)
"Filial"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 014
Texto: (15 caracteres)
"Import Modality"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 014
Texto: (16 caracteres)
"Tipo de Processo"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 014
Texto: (16 caracteres)
"Tipo del Proceso"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 015
Texto: (28 caracteres)
"Country Code Outside Company"
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 015
Texto: (28 caracteres)
"Código País Empresa Exterior"
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 015
Texto: (28 caracteres)
"País Código de la Empresa Ex"
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 016
Texto: (15 caracteres)
"Outside Company"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 016
Texto: (19 caracteres)
"Empresa no Exterior"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 016
Texto: (16 caracteres)
"Empresa Exterior"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 017
Texto: (5 caracteres)
"Curr."
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 017
Texto: (5 caracteres)
"Moeda"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 017
Texto: (5 caracteres)
"Moned"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 018
Texto: (12 caracteres)
"Oper. Number"
Comprimento máximo: 12
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 018
Texto: (12 caracteres)
"Nº. Operação"
Comprimento máximo: 12
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 018
Texto: (12 caracteres)
"Nº Operación"
Comprimento máximo: 12
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 019
Texto: (26 caracteres)
"Country Code Service Deliv"
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 019
Texto: (26 caracteres)
"Código País Prest. Serviço"
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 019
Texto: (26 caracteres)
"Prov servicios Cód del paí"
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 020
Texto: (14 caracteres)
"Rendering Mode"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 020
Texto: (14 caracteres)
"Modo Prestação"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 020
Texto: (14 caracteres)
"Rendering Mode"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 021
Texto: (20 caracteres)
"Operation Start Date"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 021
Texto: (20 caracteres)
"Data Início Operação"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 021
Texto: (20 caracteres)
"Fecha Inicio Operaci"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 022
Texto: (17 caracteres)
"Operation End Dat"
Comprimento máximo: 17
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 022
Texto: (17 caracteres)
"Data Fim Operação"
Comprimento máximo: 17
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 022
Texto: (17 caracteres)
"Fecha Fim Operaci"
Comprimento máximo: 17
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 023
Texto: (11 caracteres)
"Oper. Value"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 023
Texto: (14 caracteres)
"Valor Operação"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 023
Texto: (14 caracteres)
"Valor de la Op"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 024
Texto: (6 caracteres)
"Invoic"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 024
Texto: (6 caracteres)
"Fatura"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 024
Texto: (6 caracteres)
"Factur"
Comprimento máximo: 6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 025
Texto: (14 caracteres)
"Pay./Rec. Date"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 025
Texto: (16 caracteres)
"Data Pgto/Receb."
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 025
Texto: (16 caracteres)
"Fecha Pago/Recib"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 026
Texto: (5 caracteres)
"Value"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 026
Texto: (5 caracteres)
"Valor"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 026
Texto: (5 caracteres)
"Valor"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 027
Texto: (8 caracteres)
"Currency"
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 027
Texto: (5 caracteres)
"Moeda"
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 027
Texto: (6 caracteres)
"Moneda"
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E01
Texto: (53 caracteres)
"User not registered. Check /PWS/ZYCAT037 transaction;"
Comprimento máximo: 58
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E01
Texto: (58 caracteres)
"Usuário não cadastrado. Verificar transação /PWS/ZYCAT037."
Comprimento máximo: 58
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E01
Texto: (58 caracteres)
"Usuario no registrado. Compruebe la transacción /PWS/ZYCAT"
Comprimento máximo: 58
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E02
Texto: (29 caracteres)
"Mandatory field is not filled"
Comprimento máximo: 33
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E02
Texto: (33 caracteres)
"Campo obrigatório não preenchido."
Comprimento máximo: 33
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E02
Texto: (33 caracteres)
"Los campos obligatorios sin relle"
Comprimento máximo: 33
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E03
Texto: (23 caracteres)
"Future date not allowed"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E03
Texto: (25 caracteres)
"Data Futura não permitida"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E03
Texto: (25 caracteres)
"Fecha futura no permitido"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E04
Texto: (29 caracteres)
"End Data less than Start Date"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E04
Texto: (30 caracteres)
"Data Fim menor que Data Início"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E04
Texto: (30 caracteres)
"Fecha de Fecha de finalización"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E05
Texto: (29 caracteres)
"Fill Operation(s) for RAS/RVS"
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E05
Texto: (37 caracteres)
"Informar Operação(ões) para a RAS/RVS"
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E05
Texto: (34 caracteres)
"Informar Operaciones a los RAS/RVS"
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E06
Texto: (40 caracteres)
"Error in recording Additional informatio"
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E06
Texto: (40 caracteres)
"Erro na gravação da Inform. Complementar"
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E06
Texto: (40 caracteres)
"Error en la grabación de Inform.Complem."
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E07
Texto: (23 caracteres)
"Error in generating XML"
Comprimento máximo: 23
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E07
Texto: (23 caracteres)
"Erro na geração do XML."
Comprimento máximo: 23
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E07
Texto: (23 caracteres)
"Error en generación XML"
Comprimento máximo: 23
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E08
Texto: (30 caracteres)
"RAS/RVS locked by another user"
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E08
Texto: (36 caracteres)
"RAS/RVS bloqueada por outro usuário."
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E08
Texto: (35 caracteres)
"RAS/RVS bloqueados por otro usuario"
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E09
Texto: (32 caracteres)
"Operation locked by another user"
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E09
Texto: (37 caracteres)
"Operação bloqueada por outro usuário."
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E09
Texto: (37 caracteres)
"Operacione bloqueados por otro usuari"
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E10
Texto: (28 caracteres)
"RAS/RVS / Operaton not found"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E10
Texto: (35 caracteres)
"RAS/RVS / Operação não encontrados."
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E10
Texto: (35 caracteres)
"RAS/RVS / Operación no se ha encont"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E11
Texto: (34 caracteres)
"Insufficient funds for association"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E11
Texto: (35 caracteres)
"Saldo insuficiente para Associação."
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E11
Texto: (35 caracteres)
"Asociación insuficientes para equil"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: E12
Texto: (42 caracteres)
"Invoice currency differs from the Contract"
Comprimento máximo: 43
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: E12
Texto: (43 caracteres)
"Moeda da Fatura difere da Moeda do Contrato"
Comprimento máximo: 43
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: E12
Texto: (43 caracteres)
"Moneda de la factura diferente de la Contra"
Comprimento máximo: 43
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: S01
Texto: (26 caracteres)
"RAS/RVS successfully gener"
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: S01
Texto: (26 caracteres)
"RAS/RVS gerada com sucesso"
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: S02
Texto: (29 caracteres)
"Association successfully gene"
Comprimento máximo: 29
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: S02
Texto: (29 caracteres)
"Associação gerada com sucesso"
Comprimento máximo: 29
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCAR022
CRIAR O PROGRAMA /PWS/ZYCAR022 COM AS CARACTERÍSTICAS ABAIXO:
TÍTULO: Carga SISCOSERV
CATEGORIA: Programa Executável
CL. DESENVOLVIMENTO: /PWS/ZYCA
* >> Início da inclusão:
report /pws/zycar022 no standard page heading message-id /pws/zycbm.
include /pws/z_rel_alv.
types:
begin of ty_cabec,
nrseq(8) type c,
bukrs(4) type c,
j_1bbranch(4) type c,
tp_processo(1) type c,
bukrs_ext(10) type c,
cod_pais(5) type c,
nif(40) type c,
waers(5) type c,
n_rvs_ras(12) type c,
end of ty_cabec,
begin of ty_opera,
nrseq(8) type c,
operacao(4) type c,
nbs(12) type c,
cod_pais(5) type c,
modo_prest(1) type c,
data_ini(10) type c,
data_fim(10) type c,
valor(18) type c,
end of ty_opera,
begin of ty_enqua,
nrseq(8) type c,
operacao(4) type c,
cod_enquad(10) type c,
numero_rc(9) type c,
end of ty_enqua,
begin of ty_redi,
nrseq(8) type c,
re(13) type c,
di(12) type c,
end of ty_redi,
begin of ty_assoc,
nrseq(8) type c,
operacao(4) type c,
fatura(20) type c,
num_nf(20) type c,
dt_pg_rec(10) type c,
moeda(5) type c,
valor(18) type c,
vme(18) type c,
re(13) type c,
di(12) type c,
end of ty_assoc.
data: itab_cabec type table of ty_cabec,
itab_opera type table of ty_opera,
itab_enqua type table of ty_enqua,
itab_redi type table of ty_redi ,
itab_assoc type table of ty_assoc,
itab_retorno type table of /pws/zycae004,
itab_fieldcat type table of kkblo_fieldcat,
itab_listheader type slis_t_listheader,
itab_sort type table of slis_sortinfo_alv.
data: wa_variante type disvariant.
selection-screen begin of block bl1 with frame title text-t01.
parameters: r_contr as checkbox user-command rcontr,
r_assoc as checkbox user-command rassoc .
selection-screen skip 1.
parameters: p_cabec like rlgrap-filename ,
p_opera like rlgrap-filename ,
p_enqua like rlgrap-filename ,
p_redi like rlgrap-filename ,
p_assoc like rlgrap-filename .
selection-screen skip 1.
parameters: r_header as checkbox.
selection-screen end of block bl1.
initialization.
r_contr = 'X'.
at selection-screen on value-request for p_cabec.
perform seleciona_arquivo changing p_cabec.
at selection-screen on value-request for p_opera.
perform seleciona_arquivo changing p_opera.
at selection-screen on value-request for p_enqua.
perform seleciona_arquivo changing p_enqua.
at selection-screen on value-request for p_redi.
perform seleciona_arquivo changing p_redi.
at selection-screen on value-request for p_assoc.
perform seleciona_arquivo changing p_assoc.
at selection-screen.
case sy-ucomm.
when 'RCONTR'.
clear r_assoc.
when 'RASSOC'.
clear r_contr.
endcase.
at selection-screen output.
if not r_contr is initial.
loop at screen.
if screen-name = 'P_CABEC' or
screen-name(9) = '%_P_CABEC' or
screen-name = 'P_OPERA' or
screen-name(9) = '%_P_OPERA' or
screen-name = 'P_ENQUA' or
screen-name(9) = '%_P_ENQUA' or
screen-name = 'P_REDI' or
screen-name(8) = '%_P_REDI'.
screen-input = '1'.
screen-active = '1'.
elseif screen-name = 'P_ASSOC' or
screen-name(9) = '%_P_ASSOC'.
screen-input = '0'.
screen-active = '0'.
endif.
modify screen.
endloop.
clear: p_assoc.
elseif not r_assoc is initial.
loop at screen.
if screen-name = 'P_CABEC' or
screen-name(9) = '%_P_CABEC' or
screen-name = 'P_OPERA' or
screen-name(9) = '%_P_OPERA' or
screen-name = 'P_ENQUA' or
screen-name(9) = '%_P_ENQUA' or
screen-name = 'P_REDI' or
screen-name(8) = '%_P_REDI'.
screen-input = '0'.
screen-active = '0'.
elseif screen-name = 'P_ASSOC' or
screen-name(9) = '%_P_ASSOC'.
screen-input = '1'.
screen-active = '1'.
endif.
modify screen.
endloop.
clear: p_cabec, p_opera, p_enqua, p_redi.
endif.
initialization.
clear wa_variante.
v_repid = sy-repid.
wa_variante-report = v_repid.
wa_variante-username = sy-uname.
start-of-selection.
refresh itab_retorno.
if not r_contr is initial.
perform carrega_ras_rvs.
elseif not r_assoc is initial.
perform carrega_associacao.
endif.
if not itab_retorno[] is initial.
perform exibe_log.
endif.
end-of-selection.
form seleciona_arquivo changing p_path.
data: v_path type string.
call function 'WS_FILENAME_GET'
exporting
def_filename = ''
def_path = 'C:\'
mask = ',all files, *.*.'
mode = 'O'
title = text-001
importing
filename = v_path
exceptions
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
others = 5.
if sy-subrc = 0.
move v_path to p_path.
else.
endif.
endform.
form carrega_ras_rvs.
data: itab_zycat031 type table of /pws/zycat031,
itab_zycat032 type table of /pws/zycat032,
itab_zycat033 type table of /pws/zycat033,
itab_ret type table of /pws/zycae004,
wa_zycat030 type /pws/zycat030,
wa_zycat031 type /pws/zycat031,
wa_zycat032 type /pws/zycat032,
wa_zycat033 type /pws/zycat033,
wa_cabec type ty_cabec,
wa_opera type ty_opera,
wa_enqua type ty_enqua,
wa_redi type ty_redi,
wa_retorno type /pws/zycae004,
v_erro.
if p_cabec is initial or
p_opera is initial.
message i015 with text-e01 text-e02.
exit.
endif.
clear: itab_cabec, itab_opera, itab_enqua, itab_redi, itab_retorno.
refresh: itab_cabec, itab_opera, itab_enqua, itab_redi, itab_retorno.
perform download_arquivo using p_cabec
'ITAB_CABEC'
v_erro.
if not v_erro is initial.
message i015 with text-e04.
exit.
endif.
if not r_header is initial and
not itab_cabec[] is initial.
delete itab_cabec index 1.
endif.
perform download_arquivo using p_opera
'ITAB_OPERA'
v_erro.
if not v_erro is initial.
message i015 with text-e05.
exit.
endif.
if not r_header is initial and
not itab_opera[] is initial.
delete itab_opera index 1.
endif.
if not p_enqua is initial.
perform download_arquivo using p_enqua
'ITAB_ENQUA'
v_erro.
if not v_erro is initial.
message i015 with text-e06 text-e07.
endif.
endif.
if not r_header is initial and
not itab_enqua[] is initial.
delete itab_enqua index 1.
endif.
if not p_redi is initial.
perform download_arquivo using p_redi
'ITAB_REDI'
v_erro.
if not v_erro is initial.
message i015 with text-e08 text-e07.
endif.
endif.
if not r_header is initial and
not itab_redi[] is initial.
delete itab_redi index 1.
endif.
loop at itab_cabec into wa_cabec.
perform ajusta_emp changing wa_cabec-bukrs_ext.
move-corresponding wa_cabec to wa_zycat030.
clear: wa_zycat030-nrseq, wa_zycat030-valor.
loop at itab_opera into wa_opera
where nrseq = wa_cabec-nrseq.
perform ajusta_valor using wa_zycat030-waers
changing wa_opera-valor.
perform ajusta_data changing wa_opera-data_ini.
perform ajusta_data changing wa_opera-data_fim.
move-corresponding wa_opera to wa_zycat031.
clear wa_zycat031-nrseq.
wa_zycat031-saldo = wa_zycat031-valor.
wa_zycat031-waers = wa_zycat030-waers.
wa_zycat030-valor = wa_zycat030-valor + wa_zycat031-valor.
append wa_zycat031 to itab_zycat031.
loop at itab_enqua into wa_enqua
where nrseq = wa_opera-nrseq
and operacao = wa_opera-operacao.
move-corresponding wa_enqua to wa_zycat032.
append wa_zycat032 to itab_zycat032.
endloop.
endloop.
wa_zycat030-saldo = wa_zycat030-valor.
wa_zycat030-processamento = 'X'.
loop at itab_redi into wa_redi
where nrseq = wa_cabec-nrseq.
move-corresponding wa_redi to wa_zycat033.
append wa_zycat033 to itab_zycat033.
endloop.
call function '/PWS/ZYCA_CARGA_SICOSERV_CONTR'
exporting
i_zycat030 = wa_zycat030
tables
i_zycat031 = itab_zycat031
i_zycat032 = itab_zycat032
i_zycat033 = itab_zycat033
e_retorno = itab_ret
exceptions
erro_carga = 1
others = 2.
if sy-subrc <> 0.
endif.
loop at itab_ret into wa_retorno.
move wa_cabec-nrseq to wa_retorno-ordem_servico.
append wa_retorno to itab_retorno.
endloop.
refresh: itab_zycat031, itab_zycat032, itab_zycat033, itab_ret.
clear: wa_zycat030, wa_zycat031, wa_zycat032, wa_zycat033, itab_ret.
endloop.
endform.
form carrega_associacao.
data: itab_zycat039 type table of /pws/zycat039,
itab_ret type table of /pws/zycae004,
wa_zycat039 type /pws/zycat039,
wa_assoc type ty_assoc,
wa_retorno type /pws/zycae004,
v_erro,
v_nrseq(8) type n,
v_oper(4) type n.
if p_assoc is initial.
message i015 with text-e03.
exit.
endif.
clear: itab_zycat039, itab_ret.
refresh: itab_zycat039, itab_ret.
perform download_arquivo using p_assoc
'ITAB_ASSOC'
v_erro.
if not v_erro is initial.
message i015 with text-e09.
exit.
endif.
if not r_header is initial and
not itab_assoc[] is initial.
delete itab_assoc index 1.
endif.
loop at itab_assoc into wa_assoc.
perform ajusta_data changing wa_assoc-dt_pg_rec.
perform ajusta_valor using wa_assoc-moeda
changing wa_assoc-valor.
perform ajusta_valor using wa_assoc-moeda
changing wa_assoc-vme.
move-corresponding wa_assoc to wa_zycat039.
move: wa_assoc-nrseq to v_nrseq,
v_nrseq to wa_zycat039-nrseq,
wa_assoc-operacao to v_oper,
v_oper to wa_zycat039-operacao.
append wa_zycat039 to itab_zycat039.
clear wa_zycat039.
endloop.
call function '/PWS/ZYCA_CARGA_SICOSERV_ASSOC'
tables
i_zycat039 = itab_zycat039
e_retorno = itab_ret
exceptions
erro_carga = 1
others = 2.
if sy-subrc <> 0.
endif.
loop at itab_ret into wa_retorno.
append wa_retorno to itab_retorno.
endloop.
endform.
form download_arquivo using p_path
p_itab
p_erro.
data: v_download type ref to cl_gui_frontend_services,
v_path type string,
v_type(10) type c value 'ASC'.
field-symbols: <fs_itab> type any table.
assign (p_itab) to <fs_itab>.
if not <fs_itab> is assigned.
p_erro = 'X'.
exit.
endif.
create object v_download.
v_path = p_path.
call method v_download->gui_upload
exporting
filename = v_path
filetype = v_type
has_field_separator = 'X'
changing
data_tab = <fs_itab>
exceptions
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16 .
if sy-subrc ne 0.
p_erro = 'X'.
exit.
else.
unassign <fs_itab>.
endif.
endform.
form ajusta_valor using p_moeda type /pws/zycat030-waers
changing p_valor type char18.
data: v_valor1 like wmto_s-amount,
v_valor2 like wmto_s-amount,
v_moeda like tcurc-waers.
clear sy-subrc.
if not p_valor is initial.
while sy-subrc eq 0.
replace '.' with space into p_valor.
endwhile.
replace ',' with '.' into p_valor.
else.
move '0.00' to p_valor.
endif.
condense p_valor no-gaps.
clear: v_valor1,
v_valor2.
v_valor1 = p_valor.
v_moeda = p_moeda.
call function 'CURRENCY_AMOUNT_DISPLAY_TO_SAP'
exporting
currency = v_moeda
amount_display = v_valor1
importing
amount_internal = v_valor2
exceptions
internal_error = 1
others = 2.
if sy-subrc = 0.
else.
endif.
p_valor = v_valor2.
endform.
form ajusta_data changing p_data type char10.
if not p_data is initial.
concatenate p_data+6(4)
p_data+3(2)
p_data(2)
into p_data.
else.
move '00000000' to p_data.
endif.
condense p_data no-gaps.
endform.
form ajusta_emp changing v_valor type char10.
data: v_lifnr like lfa1-lifnr.
if not v_valor is initial.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = v_valor
importing
output = v_lifnr
exceptions
others = 1.
v_valor = v_lifnr.
endif.
endform.
form exibe_log.
perform monta_fieldcat.
perform monta_top_of_page.
call function '/PWS/ZYGL_GERA_RELATORIO_ALV'
exporting
v_program = v_repid
v_pf_status = 'PF_STATUS'
v_user_command = 'USER_COMMAND'
v_top_of_page = 'TOP_OF_PAGE'
tables
i_fieldcat = itab_fieldcat
t_data = itab_retorno.
endform.
form monta_fieldcat.
data: wa_fieldcat type kkblo_fieldcat,
v_colpos type i.
refresh itab_fieldcat.
v_colpos = v_colpos + 1.
wa_fieldcat-col_pos = v_colpos.
wa_fieldcat-fieldname = 'ORDEM_SERVICO'.
wa_fieldcat-reptext_ddic = text-t02.
wa_fieldcat-outputlen = '20'.
if not p_assoc is initial.
wa_fieldcat-no_out = 'X'.
endif.
append wa_fieldcat to itab_fieldcat.
clear wa_fieldcat.
v_colpos = v_colpos + 1.
wa_fieldcat-col_pos = v_colpos.
wa_fieldcat-fieldname = 'NRSEQ'.
wa_fieldcat-reptext_ddic = text-t03.
wa_fieldcat-outputlen = '12'.
append wa_fieldcat to itab_fieldcat.
clear wa_fieldcat.
v_colpos = v_colpos + 1.
wa_fieldcat-col_pos = v_colpos.
wa_fieldcat-fieldname = 'OPERACAO'.
wa_fieldcat-reptext_ddic = text-t04.
wa_fieldcat-outputlen = '8'.
append wa_fieldcat to itab_fieldcat.
clear wa_fieldcat.
v_colpos = v_colpos + 1.
wa_fieldcat-col_pos = v_colpos.
wa_fieldcat-fieldname = 'FATURA'.
wa_fieldcat-reptext_ddic = text-t05.
wa_fieldcat-outputlen = '20'.
if p_assoc is initial.
wa_fieldcat-no_out = 'X'.
endif.
append wa_fieldcat to itab_fieldcat.
clear wa_fieldcat.
v_colpos = v_colpos + 1.
wa_fieldcat-col_pos = v_colpos.
wa_fieldcat-fieldname = 'CAMPO'.
wa_fieldcat-reptext_ddic = text-t06.
wa_fieldcat-outputlen = '20'.
append wa_fieldcat to itab_fieldcat.
clear wa_fieldcat.
v_colpos = v_colpos + 1.
wa_fieldcat-col_pos = v_colpos.
wa_fieldcat-fieldname = 'MSG'.
wa_fieldcat-reptext_ddic = text-t07.
wa_fieldcat-outputlen = '60'.
append wa_fieldcat to itab_fieldcat.
endform.
form monta_top_of_page.
data: wa_listheader type slis_listheader,
v_data(10) type c,
v_hora(08) type c.
refresh itab_listheader.
write:
sy-datum to v_data,
sy-uzeit to v_hora.
translate v_data using './'.
wa_listheader-typ = 'H'.
move text-t08 to wa_listheader-info.
append wa_listheader to itab_listheader.
clear wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-info = text-t09.
append wa_listheader to itab_listheader.
clear wa_listheader.
wa_listheader-typ = 'S'.
concatenate
text-t10 v_data '-' text-t11 v_hora
into wa_listheader-info
separated by space.
append wa_listheader to itab_listheader.
endform.
form pf_status using rt_extab type slis_t_extab. "#EC *.
set pf-status 'STANDARD_FULLSCREEN'.
endform.
form user_command using ucomm like sy-ucomm
selfield type slis_selfield. "#EC CALLED
endform.
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = itab_listheader.
endform.
* << Fim da inclusão
TEXTOS DE SELEÇÃO:
P_ASSOC Arquivo de Associação
P_CABEC Arquivo de Cabeçalho
P_ENQUA Arquivo de Enquadramentos
P_OPERA Arquivo de Operações
P_REDI Arquivo de RE's/DI's
R_ASSOC Carga de Associação
R_CONTR Carga de RAS/RVS
R_HEADER Arquivo com Identificador
SÍMBOLOS DE TEXTO:
001 Seleção de Arquivo
E01 Preencher Arquivo de Cabeçalho
E02 e Arquivo de Operações
E03 Preencher Arquivo de Associação
E04 Erro na extração do arquivo de Cabeçalho
E05 Erro na extração do arquivo de Operações
E06 Erro na extração do arquivo de Enquadramentos.
E07 Informações não serão carregadas.
E08 Erro na extração do arquivo de RE/DI.
E09 Erro na extração do arquivo.
T01 Arquivos para Carga
T02 Ordem Serviço
T03 Nº Sequecial
T04 Operação
T05 Fatura
T06 Nome Campo
T07 LOG
T08 LOG Processamento Carga SISCOSERV
T09 Sistema de Câmbio - Módulo Financeiro
T10 Data:
T11 Hora:
---------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYCAR022
CÓDIGO DE TRANSAÇÃO: /PWS/ZYCAR022
ATRIBUTOS DA TRANSAÇÃO
TEXTO BREVE: Carga Siscoserv
OBJETO DE EXECUÇÃO
(_) - PROGRAMA E TELA (TRANSAÇÃO DE DIÁLOGO)
(X) - PROGRAMA E TELA DE SELEÇÃO (TRANSAÇÃO DE REPORT)
TEXTO DA TRANSAÇÃO: Carga Siscoserv
PROGRAMA: /PWS/ZYCAR022
TELA(SELEÇÃO): 1000
INÍCIO COM VARIANTE: _____________________________________________
OBJETO DE AUTORIZAÇÃO: ___________________________________________
(_) - ATUALIZAÇÃO DA VARIANTE DA TRANSAÇÃO STANDARD PERMITIDA
CLASSIFICAÇÃO
CLASSIFICAÇÃO DE TRANSAÇÃO:
(X) - TRANSAÇÃO PROFESSIONAL USER
(_) - TRANSAÇÃO EASY WEB SERVIÇO: ___________________________
CAPACIDADE GUI:
(X) SAP GUI PARA HTML
(X) SAP GUI PARA JAVA
(X) SAP GUI PARA WINDOWS
---------------------------------------------------------------------------------------------------
Modificações efetuadas em MENU /PWS/ZYCB
1) Na pasta Financeiro--> SISCOSERV, logo abaixo da subpasta Associação RAS/RVS, incluir a opção
abaixo:
Texto: Carga SISCOSERV
Transação: /PWS/ZYCAR022