PW.TP - Nota 002660

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.

 

Versões Tratadas

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