Módulo: GERAL
Funcionalidade: Análise de LOG
Data/Hora da Publicação: 11/12/2006 00:00:00
Data/Hora Última Alteração: 14/02/2011 16:29:06
Descrição da Nota: LOG DE EXECUÇÃO
Sintoma
Inconsistência de dados por erros de procedimentos.
Solução
Tratamento nos programas /PWS/ZYTPC003, /PWS/ZYTPC007, /PWS/ZYTPC201, /PWS/ZYTPR026, /PWS/ZYTPR028,
/PWS/ZYTPR037, /PWS/ZYTPR043 e /PWS/ZYTPR702 para gravar dados da execução. Desenvolvimento de
relatório para exibir os dados do log.
Não Usar - 2.00.0000
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02660 Data: 11/12/2006 Hora: 09:11:43
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02660
Categoria : Melhoria
Prioridade : Baixa
Versão PW.TP : 2.0
Pacote : 00023
Agrupamento : 00003
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LOG DE EXECUÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
LOG DE EXECUÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYTP_GRAVAR_LOG
REPS /PWS/LZYTPGF3UXX
REPS /PWS/ZYTPC003
REPS /PWS/ZYTPC007
REPS /PWS/ZYTPC201
REPS /PWS/ZYTPR026
REPS /PWS/ZYTPR028
REPS /PWS/ZYTPR037
REPS /PWS/ZYTPR043
REPS /PWS/ZYTPR047
REPS /PWS/ZYTPR702
REPT /PWS/SAPLZYTPGF3
REPT /PWS/ZYTPR047
TABL /PWS/ZYTPT057
TRAN /PWS/ZYTPR047
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYTP_GRAVAR_LOG
CRIAR FUNÇÃO /PWS/ZYTP_GRAVAR_LOG.
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYTPGF3
TEXTO BREVE: TP - Gravar Log de Execução dos Programas
TIPO DE EXECUÇÃO:
(X) - MÓDULO DE FUNÇÃO NORMAL
(_) - MÓDULO DE ACESSO REMOTO
(_) - MÓDULO DE ATUALIZAÇÃO
(X) - INÍCIO IMEDIATO
(_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.
(_) - INÍC. RETARDADO
(_) - PROCES. CLOETIVO
DADOS GERAIS:
(_) - BLOQUEIO PROCESSO
(_) - GLOBAL
IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
PROGRAMA LIKE /PWS/ZYTPT057-PROGRAMA X Programa
TRANSACAO LIKE /PWS/ZYTPT057-TRANSACAO X Transação
DATA_INICIAL LIKE /PWS/ZYTPT057-DATA_INI X Data Inicial
HORA_INICIAL LIKE /PWS/ZYTPT057-HORA_INI X Hora Inicial
EXCEÇÕES:
EXCEÇÃO TEXTO BREVE
PROGRAMA_NAO_DEFINIDO Programa não foi informado.
TRANSACAO_NAO_INFORMADA Transação não foi informada.
DATA_NAO_INFORMADA Data de início não informada.
HORA_NAO_INFORMADA Hora de início não informada.
ERRO_BUSCAR_TELA Erro ao buscar tela de seleção.
ERRO_COMPRESSAO Erro ao compactar dados.
EXCESSO_PARAMETROS Muitos parâmetros foram passados na tela de seleção.
ERRO_GRAVACAO Erro na gravação da tabela /pws/zytpt057.
TEXTO FONTE
FUNCTION /pws/zytp_gravar_log.
*"----------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" VALUE(PROGRAMA) LIKE /PWS/ZYTPT057-PROGRAMA
*" VALUE(TRANSACAO) LIKE /PWS/ZYTPT057-TRANSACAO
*" VALUE(DATA_INICIAL) LIKE /PWS/ZYTPT057-DATA_INI
*" VALUE(HORA_INICIAL) LIKE /PWS/ZYTPT057-HORA_INI
*" EXCEPTIONS
*" PROGRAMA_NAO_DEFINIDO
*" TRANSACAO_NAO_INFORMADA
*" DATA_NAO_INFORMADA
*" HORA_NAO_INFORMADA
*" ERRO_BUSCAR_TELA
*" ERRO_COMPRESSAO
*" EXCESSO_PARAMETROS
*" ERRO_GRAVACAO
*"----------------------------------------------------------------------
DATA: t_sel TYPE TABLE OF rsparams WITH HEADER LINE,
t_057 TYPE TABLE OF /pws/zytpt057 WITH HEADER LINE,
BEGIN OF t_cod OCCURS 0,
cod_execucao LIKE /pws/zytpt057-cod_execucao,
data_ini LIKE /pws/zytpt057-data_ini,
hora_ini LIKE /pws/zytpt057-hora_ini,
data_fim LIKE /pws/zytpt057-data_fim,
hora_fim LIKE /pws/zytpt057-hora_fim,
END OF t_cod,
t_filtro TYPE /pws/zytpt057-filtros OCCURS 0,
v_lin TYPE i.
IF programa = space.
MESSAGE i079(/pws/zytpm) WITH text-004
RAISING programa_nao_definido.
ENDIF.
IF data_inicial IS INITIAL.
MESSAGE i079(/pws/zytpm) WITH text-006
RAISING data_nao_informada.
ENDIF.
IF hora_inicial IS INITIAL.
MESSAGE i079(/pws/zytpm) WITH text-007
RAISING hora_nao_informada.
ENDIF.
SELECT cod_execucao data_ini hora_ini data_fim hora_fim
FROM /pws/zytpt057
INTO TABLE t_cod
WHERE programa = programa.
SORT t_cod BY data_ini DESCENDING
hora_ini DESCENDING
data_fim DESCENDING
hora_fim DESCENDING
cod_execucao DESCENDING.
READ TABLE t_cod INDEX 1.
t_057-cod_execucao = t_cod-cod_execucao.
IF t_057-cod_execucao = 400.
t_057-cod_execucao = 1.
ELSE.
ADD 1 TO t_057-cod_execucao.
ENDIF.
DELETE FROM /pws/zytpt057
WHERE programa = programa
AND cod_execucao = t_057-cod_execucao.
t_057-programa = programa.
t_057-transacao = transacao.
t_057-data_ini = data_inicial.
t_057-hora_ini = hora_inicial.
t_057-usuario_sap = sy-uname.
t_057-batch = sy-batch.
IF sy-batch IS INITIAL.
IF transacao = space.
MESSAGE i079(/pws/zytpm) WITH text-005
RAISING transacao_nao_informada.
ENDIF.
CALL FUNCTION 'GUI_GET_DESKTOP_INFO'
EXPORTING
type = 1
CHANGING
return = t_057-terminal.
CALL FUNCTION 'GUI_GET_DESKTOP_INFO'
EXPORTING
type = 5
CHANGING
return = t_057-usuario_rede.
ENDIF.
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
curr_report = programa
TABLES
selection_table = t_sel
EXCEPTIONS
not_found = 1
no_report = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE i079(/pws/zytpm) WITH text-008 sy-subrc
RAISING erro_buscar_tela.
ENDIF.
CALL FUNCTION 'TABLE_COMPRESS'
TABLES
in = t_sel
out = t_filtro
EXCEPTIONS
compress_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE i079(/pws/zytpm) WITH text-009 sy-subrc
RAISING erro_compressao.
ENDIF.
GET TIME.
t_057-hora_fim = sy-uzeit.
t_057-data_fim = sy-datum.
DESCRIBE TABLE t_filtro LINES v_lin.
IF v_lin > 9999.
MESSAGE i079(/pws/zytpm) WITH text-001 text-002 text-010 v_lin
RAISING excesso_parametros.
ELSE.
LOOP AT t_filtro INTO t_057-filtros.
ADD 1 TO t_057-cod_linha.
APPEND t_057.
ENDLOOP.
ENDIF.
INSERT /pws/zytpt057 FROM TABLE t_057.
IF sy-subrc <> 0.
MESSAGE i079(/pws/zytpm) WITH text-003 sy-subrc
RAISING erro_gravacao.
ENDIF.
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYTPGF3UXX
...
INCLUDE /PWS/LZYTPGF3U13.
INCLUDE /PWS/LZYTPGF3U14.
INCLUDE /PWS/LZYTPGF3U15.
INCLUDE /PWS/LZYTPGF3U16.
INCLUDE /PWS/LZYTPGF3U17.
INCLUDE /PWS/LZYTPGF3U18.
INCLUDE /PWS/LZYTPGF3U19.
INCLUDE /PWS/LZYTPGF3U20.
INCLUDE /PWS/LZYTPGF3U21.
INCLUDE /PWS/LZYTPGF3U22.
* >> Início da inclusão:
INCLUDE /PWS/LZYTPGF3U23.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPC003
...
valido_ate LIKE /pws/zytpt905-valido_ate,
tp_lista LIKE /pws/zytpt905-tp_lista,
END OF t_zytpt905_aux.
DATA: w_subrc LIKE sy-subrc,
v_tabix LIKE sy-tabix.
DATA: w_update TYPE i,
w_erro TYPE i,
w_insert TYPE i,
w_noexpand TYPE i,
w_expanded TYPE i,
* >> Início da exclusão:
w_zytpt907 TYPE i.
* << Fim da exclusão
* >> Início da inclusão:
w_zytpt907 TYPE i,
v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
DATA: w_mandt LIKE sy-mandt.
DATA: w_zytpt905 LIKE LINE OF t_zytpt905.
DATA: v_subrc(20) TYPE c.
RANGES: r_mandt FOR sy-mandt.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-tb1.
PARAMETERS: p_bukrsg LIKE /pws/zytpt901-bukrs_g MEMORY ID
/pws/zytpd023
OBLIGATORY VALUE CHECK.
SELECT-OPTIONS: s_matnr FOR /pws/zytpt901-matnr MEMORY ID mat.
PARAMETERS: p_dt_exp LIKE sy-datum OBLIGATORY MEMORY ID dt1.
...
...
p_dt_fim LIKE sy-datum OBLIGATORY,
p_stlan LIKE mast-stlan .
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
CONCATENATE sy-datum(4) '1231' INTO p_dt_fim.
AT SELECTION-SCREEN.
IF p_dt_ini(4) <> p_dt_fim(4).
MESSAGE e079 WITH text-001 text-002.
ENDIF.
START-OF-SELECTION.
* >> Início da inclusão:
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
PERFORM trata_autorizacao.
REFRESH r_mandt. CLEAR r_mandt.
r_mandt-sign = 'I'.
r_mandt-option = 'EQ'.
r_mandt-low = sy-mandt.
APPEND r_mandt.
CLEAR w_mandt.
PERFORM f_check_mandt(/pws/zytpc001) USING sy-sysid
sy-mandt
CHANGING w_mandt.
IF w_mandt <> sy-mandt.
r_mandt-low = w_mandt.
APPEND r_mandt.
ENDIF.
PERFORM f_select_material.
PERFORM f_processa_materiais.
PERFORM f_grava_lista.
* >> Início da inclusão:
PERFORM gravar_log.
* << Fim da inclusão
END-OF-SELECTION.
EXPORT w_zytpt907 TO MEMORY ID '907'.
EXPORT w_expanded TO MEMORY ID 'EXP'.
EXPORT w_noexpand TO MEMORY ID 'NOEX'.
EXPORT w_insert TO MEMORY ID 'INSERT'.
EXPORT w_update TO MEMORY ID 'UPDATE'.
EXPORT w_erro TO MEMORY ID 'ERRO'.
IF p_dt_ini(4) = p_dt_fim(4) AND p_dt_exp(4) = p_dt_ini(4).
SKIP 2.
WRITE: / sy-uline(100).
...
...
CHANGING message
IF FOUND.
IF NOT message IS INITIAL.
MESSAGE i079(/pws/zytpm) WITH message(50)
message+50(50)
message+100(50)
message+150(50).
STOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPC003'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPC007
...
DATA: t_901 LIKE STANDARD TABLE OF /pws/zytpt901 WITH HEADER LINE,
t_901_aux LIKE STANDARD TABLE OF /pws/zytpt901 WITH HEADER LINE.
DATA: w_answer(1) TYPE c,
w_texto(21) TYPE c,
w_ins TYPE i,
v_ins_906 TYPE i,
v_upd_906 TYPE i,
v_ins_902 TYPE i,
v_upd_902 TYPE i,
w_ano LIKE /pws/zytpt901-ano.
* >> Início da inclusão:
DATA: v_data_ini TYPE sy-datum, v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_bukrsg LIKE /pws/zytpt021-bukrs_g OBLIGATORY,
p_ano LIKE /pws/zytpt901-ano OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN.
START-OF-SELECTION.
* >> Início da inclusão:
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
CONCATENATE 'do ano' p_ano '?' INTO w_texto SEPARATED BY space.
CALL FUNCTION 'POPUP_CONTINUE_YES_NO'
EXPORTING
defaultoption = 'Y'
textline1 = 'Confirma o fechamento'
textline2 = w_texto
titel = 'Confirmar'
start_column = 25
start_row = 6
IMPORTING
answer = w_answer.
CHECK w_answer EQ 'J'.
PERFORM carrega_tab.
PERFORM carrega_tab_crl.
PERFORM atualizar_902_e_906.
SKIP 2.
WRITE: / text-002, w_ins.
WRITE: / text-006, v_ins_902.
WRITE: / text-004, v_ins_906.
WRITE: / text-005, v_upd_906.
* >> Início da inclusão: FORM CARREGA_TAB
PERFORM gravar_log.
* << Fim da inclusão
FORM carrega_tab.
SELECT * FROM /pws/zytpt901
INTO TABLE t_901
WHERE ano = p_ano
AND bukrs_g = p_bukrsg.
SORT t_901 BY sysid bukrs_g tipo matnr
bwkey bwtar anln1 ano.
w_ano = p_ano + 1.
SELECT * FROM /pws/zytpt901
INTO TABLE t_901_aux
...
...
IF sy-subrc EQ 0.
v_ins_902 = v_ins_902 + 1.
ELSE.
UPDATE /pws/zytpt902 FROM t_902_new.
IF sy-subrc EQ 0.
v_upd_902 = v_upd_902 + 1.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPC007'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPC201
...
w_ins_01 TYPE i,
w_ins_05 TYPE i,
w_upd_01 TYPE i,
w_upd_05 TYPE i,
w_proc_01 TYPE i,
w_proc_05 TYPE i,
w_err_01 TYPE i,
w_err_05 TYPE i,
w_log_01 TYPE i,
w_log_05 TYPE i,
* >> Início da exclusão:
w_log_ins TYPE i.
* << Fim da exclusão
* >> Início da inclusão:
w_log_ins TYPE i,
v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
DATA: w_mandt LIKE sy-mandt.
RANGES: r_mandt FOR sy-mandt.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-tb1.
PARAMETERS: p_bukrsg LIKE /pws/zytpt901-bukrs_g MEMORY ID
/pws/zytpd023
OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-tb2.
SELECT-OPTIONS: s_datum FOR sy-datum NO-DISPLAY.
PARAMETERS: p_ano LIKE /pws/zytpt902-ano OBLIGATORY MEMORY ID fsy.
PARAMETERS: p_mes LIKE /pws/zytpt902-mes OBLIGATORY MEMORY ID prd.
SELECT-OPTIONS: s_matnr FOR mara-matnr MEMORY ID mat.
SELECTION-SCREEN END OF BLOCK b2.
INITIALIZATION.
AT SELECTION-SCREEN.
TOP-OF-PAGE.
START-OF-SELECTION.
* >> Início da inclusão:
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
PERFORM trata_autorizacao.
REFRESH r_mandt. CLEAR r_mandt.
r_mandt-sign = 'I'.
r_mandt-option = 'EQ'.
r_mandt-low = sy-mandt.
APPEND r_mandt.
CLEAR w_mandt.
PERFORM f_check_mandt(/pws/zytpc001) USING sy-sysid
sy-mandt
CHANGING w_mandt.
...
...
SKIP.
WRITE: / 'Totais de processados na tabela /PWS/ZYTPT906'(014).
WRITE: / 'Origem /PWS/ZYTPT901 : '(015), w_proc_01.
WRITE: / 'Origem /PWS/ZYTPT905 : '(016), w_proc_05.
WRITE: / 'Total processados: '(017), w_proc_c006.
SKIP.
WRITE: / 'Totais de registros inseridos no LOG'(018).
WRITE: / 'Origem /PWS/ZYTPT901 : '(015), w_log_01.
WRITE: / 'Origem /PWS/ZYTPT905 : '(016), w_log_05.
WRITE: / 'Total processados: '(017), w_log_ins.
* >> Início da exclusão:
DATA: w_chave_fixa LIKE /pws/zytpt027-chave_fixa,
w_chave_data LIKE /pws/zytpt027-chave_data.
CLEAR w_chave_fixa.
CLEAR w_chave_data.
w_chave_fixa = p_bukrsg.
CONCATENATE p_ano p_mes INTO w_chave_data
SEPARATED BY '#'.
CALL FUNCTION '/PWS/ZYTP_PROGRAMA_SET_EXEC'
EXPORTING
mandt = w_mandt
sysid = sy-sysid
programa = '/PWS/ZYTPC201'
chave_fixa = w_chave_fixa
dt_exec = sy-datum
hr_exec = sy-uzeit
chave_data = w_chave_data
.
* << Fim da exclusão
* >> Início da inclusão:
PERFORM gravar_log.
* << Fim da inclusão
FORM trata_autorizacao.
DATA: message(255). RANGES r_bukrs FOR t001-bukrs.
CLEAR message.
PERFORM f_trata_autorizacao(/pws/zytpx001)
TABLES r_bukrs
USING p_bukrsg
CHANGING message IF FOUND.
IF NOT message IS INITIAL.
MESSAGE i079(/pws/zytpm) WITH message(50)
message+50(50)
message+100(50)
message+150(50).
STOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPC201'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPR026
...
to TYPE i,
END OF t_012_idx,
BEGIN OF t_log OCCURS 0,
erro(255) TYPE c,
END OF t_log,
BEGIN OF t_arq OCCURS 0,
linha(800) TYPE c,
END OF t_arq,
v_erro,
v_ins_907 TYPE i, v_upd_907 TYPE i,
* >> Início da exclusão:
v_ins_002 TYPE i, v_upd_002 TYPE i.
* << Fim da exclusão
* >> Início da inclusão:
v_ins_002 TYPE i, v_upd_002 TYPE i,
v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
RANGES: r_004 FOR /pws/zytpt004-kunnr.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS: p_bukrsg LIKE /pws/zytpt021-bukrs_g OBLIGATORY.
SELECT-OPTIONS: s_per FOR sy-datum OBLIGATORY.
SELECTION-SCREEN END OF BLOCK a.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
PARAMETERS: p_arq AS CHECKBOX,
p_dir LIKE rlgrap-filename,
p_local RADIOBUTTON GROUP g1,
p_server RADIOBUTTON GROUP g1.
...
...
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
IF sy-subrc NE 0.
MESSAGE i079(/pws/zytpm) WITH text-003.
ENDIF.
START-OF-SELECTION.
* >> Início da inclusão:
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
PERFORM:
trata_autorizacao,
selecao,
tratamento,
* >> Início da exclusão:
atualizacao.
* << Fim da exclusão
* >> Início da inclusão:
atualizacao,
gravar_log.
* << Fim da inclusão
END-OF-SELECTION.
FORM selecao.
SELECT SINGLE * FROM /pws/zytpt000 WHERE bukrs_g EQ p_bukrsg.
SELECT * FROM /pws/zytpt021
INTO TABLE t_021
WHERE bukrs_g IN (p_bukrsg, space).
SELECT * FROM /pws/zytpt050
INTO TABLE t_050
WHERE bukrs_g IN (p_bukrsg, space).
READ TABLE s_per INDEX 1.
...
...
p_bukrsg
CHANGING p_grupo.
READ TABLE t_901
WITH KEY matnr = p_matnr
ano = p_ano
bukrs_g = p_bukrsg.
IF sy-subrc EQ 0.
p_grupo = t_901-grupo.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPR026'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPR028
...
v_var4 LIKE /pws/zytpt908-var4,
v_parceiro, v_tipo, v_vinculo, v_invsinal, v_exit,
BEGIN OF t_j1bnfdoc OCCURS 0.
INCLUDE STRUCTURE j_1bnfdoc.
DATA: tp(1) TYPE c,
END OF t_j1bnfdoc,
BEGIN OF t_j1bnflin OCCURS 0.
INCLUDE STRUCTURE j_1bnflin.
DATA: cfop_c(10) TYPE c,
tp(1) TYPE c,
* >> Início da exclusão:
END OF t_j1bnflin.
* << Fim da exclusão
* >> Início da inclusão:
END OF t_j1bnflin,
v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
RANGES: r_cfop_ign FOR j_1bnflin-cfop,
r_motivo FOR /pws/zytpt028-motivo,
r_docnum FOR j_1bnfdoc-docnum,
r_doc_aux FOR j_1bnfdoc-docnum.
DEFINE _var_log.
clear: v_var1, v_var2, v_var3,v_var4.
write: &1 to v_var1,
&2 to v_var2,
&3 to v_var3,
&4 to v_var4.
...
...
START-OF-SELECTION.
IF p_arq EQ 'X' AND p_file IS INITIAL.
MESSAGE i079(/pws/zytpm) WITH text-005.
STOP.
ENDIF.
PERFORM: ver_autorizacao,
selecionar_parametros,
buscar_dados,
tratar_dados,
atualizar_bd,
* >> Início da exclusão:
exibir_log.
* << Fim da exclusão
* >> Início da inclusão:
exibir_log,
gravar_log.
* << Fim da inclusão
END-OF-SELECTION.
AT LINE-SELECTION.
DATA: v_pos TYPE i. CLEAR v_pos.
SEARCH sy-lisel FOR '/PWS/'.
IF sy-subrc EQ 0.
v_pos = sy-fdpos.
CASE sy-lisel+v_pos(13).
WHEN '/PWS/ZYTPT901'.
CHECK NOT v_ins_901 IS INITIAL.
WHEN '/PWS/ZYTPT902'.
...
...
t_j1bnflin
USING sy-sysid
/pws/zytpt021-bukrs_g
s_datum-low(4)
s_datum-low+4(2)
CHANGING v_ins_907
v_upd_907
IF FOUND.
ENDFORM.
FORM ver_autorizacao.
* >> Início da inclusão: FORM VER_AUTORIZACAO
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
DATA: message(255).
CLEAR message. RANGES r_bukrs FOR t001-bukrs.
r_bukrs-sign = 'I'.
r_bukrs-option = 'EQ'.
r_bukrs-low = p_bukrs.
APPEND r_bukrs.
PERFORM f_trata_autorizacao(/pws/zytpx001)
TABLES r_bukrs
USING space
CHANGING message IF FOUND.
...
...
TABLES t_dados_fornecedor
IF FOUND.
SORT t_dados_fornecedor BY lifnr.
DELETE ADJACENT DUPLICATES
FROM t_dados_fornecedor COMPARING lifnr.
LOOP AT t_dados_fornecedor.
MOVE-CORRESPONDING t_dados_fornecedor TO t_lfa1.
APPEND t_lfa1.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
form gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPR028'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPR037
...
menge_f TYPE /pws/zytpt904-menge_f,
custo_f TYPE /pws/zytpt904-custo_f,
vlr_mtdf TYPE /pws/zytpt904-vlr_mtdf,
END OF t_904_acum,
v_etq_mov TYPE /pws/zytpl045,
v_etq_sld TYPE /pws/zytpl045,
v_campo TYPE char25,
v_dt_ini TYPE sy-datum,
v_dt_fim TYPE sy-datum,
v_matnr_ant TYPE /pws/zytpt901-matnr,
* >> Início da exclusão:
v_tot TYPE sy-tabix.
* << Fim da exclusão
* >> Início da inclusão:
v_tot TYPE sy-tabix,
v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
CONSTANTS: c_repid LIKE sy-repid VALUE '/PWS/ZYTPR037'.
DEFINE conv_valor.
clear: v_valor.
move: &1 to v_valor.
shift v_valor left deleting leading space.
END-OF-DEFINITION.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS: p_bukrs LIKE t001-bukrs OBLIGATORY,
p_branch LIKE j_1bnfdoc-branch.
SELECTION-SCREEN END OF BLOCK a.
...
...
SELECTION-SCREEN END OF BLOCK b.
SELECTION-SCREEN BEGIN OF BLOCK c WITH FRAME TITLE text-003.
PARAMETERS: p_cf987 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK c.
START-OF-SELECTION.
PERFORM: ver_exec,
buscar_dados,
calcular_estoque,
calcular_valores,
exibir_log,
* >> Início da exclusão:
carregar_infocubo.
* << Fim da exclusão
* >> Início da inclusão:
carregar_infocubo,
gravar_log.
* << Fim da inclusão
END-OF-SELECTION.
COMMIT WORK AND WAIT.
AT LINE-SELECTION.
PERFORM exibir_detalhes.
FORM buscar_dados.
CONCATENATE p_ano p_mes '01' INTO v_dt_ini.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = v_dt_ini
IMPORTING
...
...
t_log-num = 2.
APPEND t_log.
ELSE.
CLEAR t_log.
ENDIF.
ENDLOOP.
ENDLOOP.
MODIFY t_902.
ENDFORM.
FORM ver_exec.
* >> Início da inclusão: FORM VER_EXEC
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYTP_AUT_CHK_BUK'
EXPORTING
i_bukrs = p_bukrs
EXCEPTIONS
no_authority = 1
no_bukrs = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE s079(/pws/zytpm) WITH text-034 sy-uname text-035 p_bukrs.
STOP.
...
...
IF sy-subrc EQ 9.
t_log-num = 9.
CONCATENATE text-038 t_906m-matnr_o text-039 t_906m-matnr_f
text-036 t_906m-processo text-090 'T_906M'
text-037 v_campo
INTO t_log-mensagem SEPARATED BY space.
APPEND t_log.
CLEAR v_campo.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPR037'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPR043
...
grupo LIKE /pws/zytpt901-grupo,
END OF t_grupo,
BEGIN OF t_906 OCCURS 0,
matnr TYPE /pws/zytpt906-matnr,
bwkey TYPE /pws/zytpt906-bwkey,
bwtar TYPE /pws/zytpt906-bwtar,
ano TYPE /pws/zytpt906-ano,
mes TYPE /pws/zytpt906-mes,
custo TYPE /pws/zytpt906-custo,
custo_cpl TYPE /pws/zytpt906-custo_cpl,
* >> Início da exclusão:
END OF t_906.
* << Fim da exclusão
* >> Início da inclusão:
END OF t_906,
v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETERS: p_bukrsg TYPE /pws/zytpt021-bukrs_g OBLIGATORY,
p_ano TYPE /pws/zytpt902-ano OBLIGATORY,
p_mes TYPE /pws/zytpt902-mes OBLIGATORY.
SELECT-OPTIONS: s_matnr FOR /pws/zytpt901-matnr.
SELECTION-SCREEN END OF BLOCK a.
START-OF-SELECTION.
PERFORM: selecionar_parametros,
selecionar_dados,
processar_dados,
atribuir_metodos,
* >> Início da exclusão:
exibir_relatorio.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_DADOS
exibir_relatorio,
gravar_log.
* << Fim da inclusão
FORM selecionar_dados.
RANGES: r_proc_902 FOR /pws/zytpt902-processo,
r_proc_904 FOR /pws/zytpt904-processo,
r_met_002 FOR /pws/zytpt002-cod_metodo.
DATA: v_ini LIKE sy-datum,
v_fim LIKE sy-datum.
SELECT * FROM /pws/zytpt901
INTO TABLE t_901
WHERE sysid = sy-sysid
AND bukrs_g = p_bukrsg
...
...
INTO TABLE t_906
WHERE sysid EQ sy-sysid
AND bukrs_g EQ p_bukrsg
AND versao EQ space
AND matnr IN s_matnr
AND ano EQ p_ano
AND mes LE p_mes.
SORT t_906 BY matnr bwkey bwtar ano mes.
ENDFORM.
FORM selecionar_parametros.
* >> Início da inclusão: FORM SELECIONAR_PARAMETROS
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zytpt000
WHERE bukrs_g = p_bukrsg.
IF sy-subrc NE 0.
MESSAGE s079(/pws/zytpm) WITH text-003 p_bukrsg.
STOP.
ENDIF.
SELECT * FROM /pws/zytpt001
INTO TABLE t_001
WHERE ref_metodo = '1'.
IF sy-subrc NE 0.
...
...
ENDIF.
ELSE.
IF v_ini = 1.
WRITE: 40 t_001-sig_metodo, text-017.
ELSE.
WRITE: /40 t_001-sig_metodo, text-017.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPR043'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPR047
Criar /PWS/ZYTPR047
CARACTERÍSTICAS
Título: Exibição de Log de Execução
Atributos
Categoria: Programa Executável
Cl.desenvolvimento: /PWS/ZYTP
TEXTO FONTE
*&---------------------------------------------------------------------*
*& Report /PWS/ZYTPR047 *
*& *
*&---------------------------------------------------------------------*
*& P R O C W O R K S O F T W A R E *
*&---------------------------------------------------------------------*
*& Programa: /PWS/ZYTPR047 - Transação: /PWS/ZYTPR047 *
*&---------------------------------------------------------------------*
*& H I S T Ó R I C O *
*&---------------------------------------------------------------------*
*& Chamado Data Nome *
*& 345825 30.11.06 Vivian *
*&---------------------------------------------------------------------*
REPORT /pws/zytpr047.
TYPE-POOLS: slis, vrm.
TABLES: /pws/zytpt057.
DATA: t_057 TYPE TABLE OF /pws/zytpt057 WITH HEADER LINE,
BEGIN OF t_dados OCCURS 0,
programa LIKE /pws/zytpt057-programa,
cod_execucao LIKE /pws/zytpt057-cod_execucao,
transacao LIKE /pws/zytpt057-transacao,
data_ini LIKE /pws/zytpt057-data_ini,
hora_ini LIKE /pws/zytpt057-hora_ini,
data_fim LIKE /pws/zytpt057-data_fim,
hora_fim LIKE /pws/zytpt057-hora_fim,
batch LIKE /pws/zytpt057-batch,
usuario_sap LIKE /pws/zytpt057-usuario_sap,
usuario_rede LIKE /pws/zytpt057-usuario_rede,
terminal LIKE /pws/zytpt057-terminal,
param LIKE rsparams OCCURS 0,
END OF t_dados,
t_busca TYPE TABLE OF rsparams WITH HEADER LINE,
t_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
w_layout TYPE slis_layout_alv,
v_busca(1) TYPE c,
v_nosel(1) TYPE c.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_prog FOR /pws/zytpt057-programa,
s_tran FOR /pws/zytpt057-transacao,
s_data_i FOR /pws/zytpt057-data_ini,
s_data_f FOR /pws/zytpt057-data_fim,
s_ussap FOR /pws/zytpt057-usuario_sap,
s_usred FOR /pws/zytpt057-usuario_rede,
s_term FOR /pws/zytpt057-terminal.
PARAMETERS: p_back AS CHECKBOX USER-COMMAND backg.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN PUSHBUTTON /1(19) text-024 USER-COMMAND busca.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-025.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT: 1(12) text-026 MODIF ID b,
13(5) text-030 MODIF ID b,
19(5) text-028 MODIF ID b,
25(5) text-027 MODIF ID b,
34(10) text-029 MODIF ID b,
55(10) text-039 MODIF ID b.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 3.
PARAMETERS: p_p1 RADIOBUTTON GROUP t1 MODIF ID b1 USER-COMMAND tipo,
p_s1 RADIOBUTTON GROUP t1 MODIF ID b1.
SELECTION-SCREEN POSITION 13.
PARAMETERS:
p_sign1(1) TYPE c AS LISTBOX VISIBLE LENGTH 5 MODIF ID b1s,
p_opt1(2) TYPE c AS LISTBOX VISIBLE LENGTH 5 MODIF ID b1s,
p_nome1(8) TYPE c MODIF ID b1p,
p_vall1(30) TYPE c MODIF ID b1p VISIBLE LENGTH 20,
p_valh1(30) TYPE c MODIF ID b1s VISIBLE LENGTH 20.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 3.
PARAMETERS: p_p2 RADIOBUTTON GROUP t2 MODIF ID b2 USER-COMMAND tipo,
p_s2 RADIOBUTTON GROUP t2 MODIF ID b2.
SELECTION-SCREEN POSITION 13.
PARAMETERS:
p_sign2(1) TYPE c AS LISTBOX VISIBLE LENGTH 5 MODIF ID b2s,
p_opt2(2) TYPE c AS LISTBOX VISIBLE LENGTH 5 MODIF ID b2s,
p_nome2(8) TYPE c MODIF ID b2p,
p_vall2(30) TYPE c MODIF ID b2p VISIBLE LENGTH 20,
p_valh2(30) TYPE c MODIF ID b2s VISIBLE LENGTH 20.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 3.
PARAMETERS: p_p3 RADIOBUTTON GROUP t3 MODIF ID b3 USER-COMMAND tipo,
p_s3 RADIOBUTTON GROUP t3 MODIF ID b3.
SELECTION-SCREEN POSITION 13.
PARAMETERS:
p_sign3(1) TYPE c AS LISTBOX VISIBLE LENGTH 5 MODIF ID b3s,
p_opt3(2) TYPE c AS LISTBOX VISIBLE LENGTH 5 MODIF ID b3s,
p_nome3(8) TYPE c MODIF ID b3p,
p_vall3(30) TYPE c MODIF ID b3p VISIBLE LENGTH 20,
p_valh3(30) TYPE c MODIF ID b3s VISIBLE LENGTH 20.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b.
SELECTION-SCREEN END OF BLOCK a.
AT SELECTION-SCREEN OUTPUT.
PERFORM tratar_tela.
AT SELECTION-SCREEN.
PERFORM ver_busca.
START-OF-SELECTION.
PERFORM: ver_criterios,
selecao,
exibicao.
*&---------------------------------------------------------------------*
*& Form selecao
*&---------------------------------------------------------------------*
FORM selecao.
DATA: t_filtros TYPE /pws/zytpt057-filtros OCCURS 0 WITH HEADER LINE.
SELECT * FROM /pws/zytpt057
INTO TABLE t_057
WHERE programa IN s_prog
AND transacao IN s_tran
AND data_ini IN s_data_i
AND data_fim IN s_data_f
AND usuario_sap IN s_ussap
AND usuario_rede IN s_usred
AND terminal IN s_term.
IF p_back = 'X'.
DELETE t_057 WHERE batch <> 'X'.
ENDIF.
IF t_057[] IS INITIAL.
MESSAGE s079(/pws/zytpm) WITH text-002.
STOP.
ENDIF.
SORT t_057 BY programa cod_execucao cod_linha.
LOOP AT t_057.
MOVE-CORRESPONDING t_057 TO t_dados.
AT NEW cod_execucao.
REFRESH t_filtros.
ENDAT.
APPEND t_057-filtros TO t_filtros.
AT END OF cod_execucao.
REFRESH t_dados-param.
CALL FUNCTION 'TABLE_DECOMPRESS'
TABLES
in = t_filtros
out = t_dados-param
EXCEPTIONS
compress_error = 1
table_not_compressed = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR v_nosel.
LOOP AT t_busca.
READ TABLE t_dados-param WITH KEY = t_busca INTO t_busca.
IF sy-subrc NE 0.
v_nosel = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF v_nosel = space.
APPEND t_dados.
ENDIF.
ENDAT.
ENDLOOP.
SORT t_dados BY data_ini hora_ini.
ENDFORM. " selecao
*&---------------------------------------------------------------------*
*& Form exibicao
*&---------------------------------------------------------------------*
FORM exibicao.
PERFORM preencher_fieldcat TABLES t_fieldcat.
w_layout-zebra = 'X'.
w_layout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = '/PWS/ZYTPR047'
i_callback_user_command = 'USER_COMMAND'
is_layout = w_layout
it_fieldcat = t_fieldcat[]
TABLES
t_outtab = t_dados
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " exibicao
*&---------------------------------------------------------------------*
*& Form preencher_fieldcat
*&---------------------------------------------------------------------*
FORM preencher_fieldcat TABLES p_field STRUCTURE t_fieldcat.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = '/PWS/ZYTPR047'
i_internal_tabname = 'T_DADOS'
i_inclname = '/PWS/ZYTPR047'
CHANGING
ct_fieldcat = p_field[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT p_field.
CLEAR: p_field-key.
CASE p_field-fieldname.
WHEN 'PROGRAMA'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m =
p_field-seltext_s = text-003.
p_field-hotspot = 'X'.
WHEN 'COD_EXECUCAO'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m =
p_field-seltext_s = text-004.
WHEN 'TRANSACAO'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m =
p_field-seltext_s = text-005.
WHEN 'DATA_INI'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m = text-007.
p_field-seltext_s = text-006.
WHEN 'HORA_INI'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m = text-009.
p_field-seltext_s = text-008.
WHEN 'DATA_FIM'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m = text-011.
p_field-seltext_s = text-010.
WHEN 'HORA_FIM'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m = text-013.
p_field-seltext_s = text-012.
WHEN 'BATCH'.
p_field-reptext_ddic =
p_field-seltext_l = text-016.
p_field-seltext_m = text-015.
p_field-seltext_s = text-014.
WHEN 'USUARIO_SAP'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m =
p_field-seltext_s = text-017.
WHEN 'USUARIO_REDE'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m = text-018.
p_field-seltext_s = text-020.
WHEN 'TERMINAL'.
p_field-reptext_ddic =
p_field-seltext_l =
p_field-seltext_m =
p_field-seltext_s = text-019.
ENDCASE.
MODIFY p_field.
ENDLOOP.
ENDFORM. " preencher_fieldcat
*---------------------------------------------------------------------*
* FORM user_command *
*---------------------------------------------------------------------*
FORM user_command USING ucomm TYPE sy-ucomm
selfield TYPE slis_selfield.
IF ucomm = '&IC1'.
IF selfield-fieldname = 'PROGRAMA' AND
selfield-tabindex <> 0.
READ TABLE t_dados INDEX selfield-tabindex.
IF sy-subrc EQ 0.
SUBMIT (t_dados-programa)
VIA SELECTION-SCREEN
WITH SELECTION-TABLE t_dados-param
AND RETURN.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form tratar_tela
*&---------------------------------------------------------------------*
FORM tratar_tela.
IF p_back EQ 'X'.
LOOP AT SCREEN.
CHECK screen-name = 'S_TRAN-LOW' OR
screen-name = 'S_TRAN-HIGH' OR
screen-name = 'S_USRED-LOW' OR
screen-name = 'S_USRED-HIGH' OR
screen-name = 'S_TERM-LOW' OR
screen-name = 'S_TERM-HIGH'.
REFRESH: s_tran, s_usred, s_term.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF v_busca = space.
LOOP AT SCREEN.
IF screen-name = '%B025010_BLOCK_1000' OR
screen-group1(1) = 'B'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF p_s1 = space.
LOOP AT SCREEN.
IF screen-group1 = 'B1S'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
PERFORM carregar_valor
USING: 'P_SIGN1' 'SIGN',
'P_OPT1' 'OPTION'.
ENDIF.
IF p_s2 = space.
LOOP AT SCREEN.
IF screen-group1 = 'B2S'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
PERFORM carregar_valor
USING: 'P_SIGN2' 'SIGN',
'P_OPT2' 'OPTION'.
ENDIF.
IF p_s3 = space.
LOOP AT SCREEN.
IF screen-group1 = 'B3S'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
PERFORM carregar_valor
USING: 'P_SIGN3' 'SIGN',
'P_OPT3' 'OPTION'.
ENDIF.
ENDFORM. " tratar_tela
*&---------------------------------------------------------------------*
*& Form ver_busca
*&---------------------------------------------------------------------*
FORM ver_busca.
IF sy-ucomm = 'BUSCA'.
IF v_busca = space.
v_busca = 'X'.
ELSE.
v_busca = space.
ENDIF.
ENDIF.
ENDFORM. " ver_busca
*&---------------------------------------------------------------------*
*& Form carregar_valor
*&---------------------------------------------------------------------*
FORM carregar_valor USING p_campo p_tipo.
DATA: t_valor TYPE vrm_values WITH HEADER LINE.
IF p_tipo = 'SIGN'.
t_valor-key = 'I'.
t_valor-text = text-031.
APPEND t_valor.
t_valor-key = 'E'.
t_valor-text = text-032.
APPEND t_valor.
ELSEIF p_tipo = 'OPTION'.
t_valor-key = 'EQ'.
t_valor-text = text-033.
APPEND t_valor.
t_valor-key = 'GE'.
t_valor-text = text-034.
APPEND t_valor.
t_valor-key = 'LE'.
t_valor-text = text-035.
APPEND t_valor.
t_valor-key = 'GT'.
t_valor-text = text-036.
APPEND t_valor.
t_valor-key = 'LT'.
t_valor-text = text-037.
APPEND t_valor.
t_valor-key = 'NE'.
t_valor-text = text-038.
APPEND t_valor.
t_valor-key = 'CP'.
t_valor-text = text-040.
APPEND t_valor.
t_valor-key = 'NP'.
t_valor-text = text-041.
APPEND t_valor.
t_valor-key = 'BT'.
t_valor-text = text-042.
APPEND t_valor.
ENDIF.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = p_campo
values = t_valor[].
ENDFORM. " carregar_valor
*&---------------------------------------------------------------------*
*& Form ver_criterios
*&---------------------------------------------------------------------*
FORM ver_criterios.
CHECK v_busca = 'X'.
IF NOT p_nome1 IS INITIAL.
t_busca-selname = p_nome1.
t_busca-low = p_vall1.
IF p_p1 = 'X'.
t_busca-kind = 'P'.
ELSE.
t_busca-kind = 'S'.
t_busca-sign = p_sign1.
t_busca-option = p_opt1.
t_busca-high = p_valh1.
ENDIF.
APPEND t_busca.
ENDIF.
IF NOT p_nome2 IS INITIAL.
t_busca-selname = p_nome2.
t_busca-low = p_vall2.
IF p_p2 = 'X'.
t_busca-kind = 'P'.
ELSE.
t_busca-kind = 'S'.
t_busca-sign = p_sign2.
t_busca-option = p_opt2.
t_busca-high = p_valh2.
ENDIF.
APPEND t_busca.
ENDIF.
IF NOT p_nome3 IS INITIAL.
t_busca-selname = p_nome3.
t_busca-low = p_vall3.
IF p_p3 = 'X'.
t_busca-kind = 'P'.
ELSE.
t_busca-kind = 'S'.
t_busca-sign = p_sign3.
t_busca-option = p_opt3.
t_busca-high = p_valh3.
ENDIF.
APPEND t_busca.
ENDIF.
ENDFORM. " ver_criterios
ELEMENTOS DE TEXTO
TEXTOS DE SELEÇÃO:
NOME TEXTO REFER.DICTIONARY
P_BACK Somente exec. em background
S_DATA_F Data de Término
S_DATA_I Data de Início
S_PROG Programa
S_TERM Terminal
S_TRAN Transação
S_USRED Usuário Rede
S_USSAP Usuário SAP
SÍMBOLOS DE TEXTO
SÍMBOLO TEXTO COMD COMM
001 Critérios 9 9
002 Dados não encontrados para o critério informado. 48 59
003 Programa 8 8
004 Execução 8 8
005 Transação 9 9
006 DtInicial 9 9
007 Data Inicial 12 12
008 HrInicial 9 9
009 Hora Inicial 12 12
010 DtFim 5 5
011 Data Final 10 10
012 HrFim 5 5
013 Hora Final 10 10
014 Batch 5 5
015 Background 10 10
016 Proc. em Background 19 19
017 Usuário 7 7
018 Usuário Rede 12 12
019 Terminal 8 8
020 Us. Rede 8 10
021 Flt. 4 4
022 Filtro 6 6
023 Critérios de Seleção 20 20
024 Busca Avançada>> 16 17
025 Critérios para Busca Avançada 29 30
026 Par./SelOpt. 12 12
027 Nome 4 4
028 Comp 4 10
029 Valor 1 7 7
030 Opção 5 5
031 Inclusive 9 9
032 Exclusive 9 9
033 = Valor Igual 14 14
034 >= Maior Igual 14 14
035 <= Menor Igual 14 14
036 > Maior 9 9
037 < Menor 9 9
038 <> Diferente 12 12
039 Valor 2 7 7
040 CP Modelo 9 9
041 NP Excluir Modelo 17 17
042 BT Intervalo 12 12
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYTPR702
REPORT /pws/zytpr702.
TABLES: /pws/zytpt021,
/pws/zytpt905,
/pws/zytpt000,
/pws/zytpt025,
t001w,
mkpf,
mseg.
* >> Início da inclusão:
DATA: v_data_ini TYPE sy-datum,
v_hora_ini TYPE sy-uzeit.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-tb1.
PARAMETERS: p_bukrs LIKE /pws/zytpt021-bukrs MEMORY ID buk
OBLIGATORY.
SELECT-OPTIONS: s_werks FOR t001w-werks MEMORY ID wrk
NO-EXTENSION.
SELECT-OPTIONS: s_matnr FOR mseg-matnr.
SELECT-OPTIONS: s_budat FOR sy-datum NO-EXTENSION MEMORY ID data.
SELECTION-SCREEN END OF BLOCK b1.
DATA: BEGIN OF t_mkpf OCCURS 10000,
mblnr LIKE mkpf-mblnr,
...
...
DATA: t_zytpt021 LIKE /pws/zytpt021 OCCURS 10 WITH HEADER LINE.
DATA: t_t001w LIKE t001w OCCURS 10 WITH HEADER LINE.
DATA: t_zytpt025 LIKE /pws/zytpt025 OCCURS 100 WITH HEADER LINE.
DATA: t_zytpt905 LIKE /pws/zytpt905 OCCURS 10 WITH HEADER LINE.
DATA: w_zytpt905 LIKE /pws/zytpt905.
DATA: w_mseg TYPE i,
w_data LIKE sy-datum.
DATA: w_mandt LIKE sy-mandt.
RANGES: r_mandt FOR sy-mandt.
START-OF-SELECTION.
* >> Início da inclusão:
GET TIME.
v_data_ini = sy-datum.
v_hora_ini = sy-uzeit.
* << Fim da inclusão
PERFORM trata_autorizacao.
REFRESH r_mandt. CLEAR r_mandt.
r_mandt-sign = 'I'.
r_mandt-option = 'EQ'.
r_mandt-low = sy-mandt.
APPEND r_mandt.
CLEAR w_mandt.
PERFORM f_check_mandt(/pws/zytpc001) USING sy-sysid
sy-mandt
CHANGING w_mandt.
IF w_mandt <> sy-mandt.
r_mandt-low = w_mandt.
APPEND r_mandt.
ENDIF.
PERFORM f_seleciona_dados.
PERFORM f_processamento.
* >> Início da inclusão:
PERFORM gravar_log.
* << Fim da inclusão
END-OF-SELECTION.
FORM f_seleciona_dados.
SELECT mblnr mjahr budat
FROM mkpf
INTO TABLE t_mkpf
WHERE budat IN s_budat.
IF t_mkpf[] IS INITIAL.
MESSAGE i063(/pws/zytpm).
STOP.
ENDIF.
...
...
USING space
CHANGING message IF FOUND.
IF NOT message IS INITIAL.
MESSAGE i079(/pws/zytpm) WITH message(50)
message+50(50)
message+100(50)
message+150(50).
STOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM gravar_log.
CALL FUNCTION '/PWS/ZYTP_GRAVAR_LOG'
EXPORTING
programa = '/PWS/ZYTPR702'
transacao = sy-tcode
data_inicial = v_data_ini
hora_inicial = v_hora_ini
EXCEPTIONS
programa_nao_definido = 1
transacao_nao_informada = 2
data_nao_informada = 3
hora_nao_informada = 4
erro_buscar_tela = 5
erro_compressao = 6
excesso_parametros = 7
erro_gravacao = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPLZYTPGF3
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 001
Texto: (37 caracteres)
"Muitos parâmetros na tela de seleção."
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 002
Texto: (25 caracteres)
"Não é possível gravá-los."
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 003
Texto: (49 caracteres)
"Log não foi gravado na tabela /pws/zytp057. Erro:"
Comprimento máximo: 49
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 004
Texto: (20 caracteres)
"Informar o programa."
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 005
Texto: (21 caracteres)
"Informar a transação."
Comprimento máximo: 21
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 006
Texto: (38 caracteres)
"Informar a data de início do programa."
Comprimento máximo: 38
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 007
Texto: (38 caracteres)
"Informar a hora de início do programa."
Comprimento máximo: 38
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 008
Texto: (48 caracteres)
"Ocorreu um erro ao buscar tela de seleção. Erro:"
Comprimento máximo: 48
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 009
Texto: (46 caracteres)
"Ocorreu um erro na compressão dos dados. Erro:"
Comprimento máximo: 46
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 010
Texto: (15 caracteres)
"Linhas geradas:"
Comprimento máximo: 15
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYTPT057
CRIAR TABELA TRANSPARENTE: /PWS/ZYTPT057
DESCRIÇÃO BREVE: TP - Log Execução de Programas__
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
PROGRAMA SYREPID X X
COD_EXECUCAO NUMC3 X X
COD_LINHA NUMC4 X X
TRANSACAO SYTCODE
DATA_INI SYDATUM
HORA_INI SYUZEIT
DATA_FIM SYDATUM
HORA_FIM SYUZEIT
BATCH SYBATCH
USUARIO_SAP USNAM USR02
USUARIO_REDE CHAR50
TERMINAL CHAR50
FILTROS CHAR255
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 2
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: ______
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYTPR047
CRIAR TRANSAÇÃO /PWS/ZYTPR047
CÓDIGO DE TRANSAÇÃO: /PWS/ZYTPR047
ATRIBUTOS DA TRANSAÇÃO
TEXTO BREVE: Exibição do Log
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: Exibição do Log
PROGRAMA: /PWS/ZYTPR047
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