CE PLUS - Nota 007529

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Controle de Datas

Data/Hora da Publicação: 05/11/2008 00:00:00

Data/Hora Última Alteração: 04/07/2011 16:56:08

Descrição da Nota: IMPLEMENTAÇÃO DO PROGRAMA TEMPO MÉDIO POR PROCESSO CONTROLE DE DATAS

Sintoma

Implementação do Programa Tempo Médio por Processo Controle de Datas

 

 

Solução

Implementação do Programa Tempo Médio por Processo Controle de Datas

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

IMPLEMENTAÇÃO DO MODULO CONTROLE DE DATAS NO EMBARQUE

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 07529 Data: 05/11/2008 Hora: 10:11:35

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 07529

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00072

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

07128  - 00001 - 7.0    - 00006  - IMPLEMENTAÇÃO DO MODULO CONTROLE DE DATAS NO EMBARQUE

----------------------------------------------------------------------------------------------------

IMPLEMENTAÇÃO DO PROGRAMA TEMPO MÉDIO POR PROCESSO CONTROLE DE DATAS

----------------------------------------------------------------------------------------------------

Palavras Chave:

TEMPO - MÉDIO - PROCESSO - CONTROLE - DATAS

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

DYNP /PWS/SAPMZYCI030                        0001

DYNP /PWS/SAPMZYCI030                        0100

REPS /PWS/MZYCI030F01

REPS /PWS/MZYCI030I01

REPS /PWS/MZYCI030O01

REPS /PWS/MZYCI030TOP

REPS /PWS/ZYCIR018

REPT /PWS/SAPMZYCI030

REPT /PWS/ZYCIR018

TABD /PWS/ZYCIE001

TABD /PWS/ZYCIT000

TABD /PWS/ZYCIT001

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DYNP /PWS/SAPMZYCI030                        0001

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-NRSEQ"

Comprimento Visível      10

Linha                    6

Coluna                   34

Formato                  CHAR

Linhas mínimas           10

Texto                    __________

Código função

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-NRSEQ"

 

MODIFICAR TEXTO "/PWS/ZYCIE284-NRSEQ"

Altura                   0

 

MODIFICAR OKCODE "OKCODE"

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DYNP /PWS/SAPMZYCI030                        0100

 

MODIFICAR CARACTERÍSTICAS DA TELA 0100

Altura atual (linhas)    26

 

MODIFICAR FRAME ""

Linha                    8

 

MODIFICAR FRAME ""

Comprimento Visível      38

Linha                    8

Coluna                   42

 

MODIFICAR FRAME ""

Comprimento Visível      38

Linha                    8

Coluna                   82

 

MODIFICAR FRAME "%#AUTOTEXT001"

Linha                    6

 

MODIFICAR TEXTO "%#AUTOTEXT002"

Comprimento Visível      10

Texto                    Dt. Início

 

MODIFICAR TEXTO "%#AUTOTEXT003"

Linha                    7

 

MODIFICAR TEXTO "%#AUTOTEXT004"

Linha                    7

 

MODIFICAR TEXTO "%#AUTOTEXT005"

Linha                    7

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-AGENTE"

Comprimento Visível      10

Linha                    4

Coluna                   25

Formato                  CHAR

Linhas mínimas           10

Texto                    __________

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-BUKRS"

Comprimento Visível      4

Linha                    2

Coluna                   89

Formato                  CHAR

Linhas mínimas           4

Texto                    ____

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DTINICIO"

Comprimento Visível      10

Linha                    3

Coluna                   25

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-DTLIBCARREG"

Linha                    19

 

MODIFICAR TEXTO "/PWS/ZYCIE001-DTLIBCARREG"

Linha                    18

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVCHEG"

Comprimento Visível      10

Linha                    16

Coluna                   10

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVEMB"

Linha                    13

 

MODIFICAR TEXTO "/PWS/ZYCIE001-DTPREVEMB"

Linha                    12

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVLIBCARREG"

Linha                    19

 

MODIFICAR TEXTO "/PWS/ZYCIE001-DTPREVLIBCARREG"

Linha                    18

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVRETMERC"

Linha                    10

 

MODIFICAR TEXTO "/PWS/ZYCIE001-DTPREVRETMERC"

Linha                    9

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-DT_PREV_ENTR"

Linha                    22

 

MODIFICAR TEXTO "/PWS/ZYCIE001-DT_PREV_ENTR"

Linha                    21

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE001-DT_RETMERC"

Linha                    10

 

MODIFICAR TEXTO "/PWS/ZYCIE001-DT_RETMERC"

Linha                    9

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-EMBARCA"

Comprimento Visível      15

Linha                    2

Coluna                   25

Formato                  CHAR

Linhas mínimas           15

Texto                    _______________

 

INCLUIR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE001-FLAG_LEAD_TIME"

Comprimento Visível      1

Linha                    24

Coluna                   4

Formato                  CHAR

Linhas mínimas           1

Texto                    _

Código função

 

INCLUIR CHTXT "/PWS/ZYCIE001-FLAG_LEAD_TIME"

Comprimento Visível      21

Linha                    24

Coluna                   6

Formato                  CHAR

Texto                    Excluído do Lead Time

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-J_1BBRANCH"

Comprimento Visível      4

Linha                    2

Coluna                   94

Formato                  CHAR

Linhas mínimas           4

Texto                    ____

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-NRSEQ"

Comprimento Visível      10

Linha                    2

Coluna                   41

Formato                  CHAR

Linhas mínimas           10

Texto                    __________

Código função

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE093-DTCHEG"

Linha                    16

 

MODIFICAR TEXTO "/PWS/ZYCIE093-DTCHEG"

Linha                    15

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE093-DTEMISS"

Comprimento Visível      10

Linha                    13

Coluna                   49

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-BUKRS"

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-DTCHEG"

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTCHEG"

Linha                    21

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-DTEMISS"

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTEMISS"

Linha                    12

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-DTINICIO"

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-DTLIB"

Linha                    14

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTLIB"

Linha                    13

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-DTPRCHEG"

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTPRCHEG"

Linha                    15

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-EMBARCA"

 

EXCLUIR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE284-FLAG_LEAD_TIME"

 

EXCLUIR CHTXT "/PWS/ZYCIE284-FLAG_LEAD_TIME"

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-J_1BBRANCH"

 

EXCLUIR CAMPO TEXTO "/PWS/ZYCIE284-NRSEQ"

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-NR_LIBERACAO"

Linha                    11

 

MODIFICAR TEXTO "/PWS/ZYCIE284-NR_LIBERACAO"

Linha                    11

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-NR_TRANSPORTE"

Linha                    9

 

MODIFICAR TEXTO "/PWS/ZYCIE284-NR_TRANSPORTE"

Linha                    9

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIT041-DT_MR1M"

Comprimento Visível      10

Linha                    22

Coluna                   49

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIT497-AGENTE"

Comprimento Visível      6

Linha                    4

Coluna                   4

Formato                  CHAR

Texto                    Agente

Código função

 

MODIFICAR FRAME "Q_INFO"

Altura                   5

 

MODIFICAR CAMPO TEXTO "V_DIA_BL"

Linha                    13

 

MODIFICAR CAMPO TEXTO "V_DIA_CHEG"

Linha                    16

 

MODIFICAR CAMPO TEXTO "V_DIA_DTCHEG_E"

Linha                    16

 

MODIFICAR CAMPO TEXTO "V_DIA_LIB"

Linha                    14

 

MODIFICAR CAMPO TEXTO "V_DIA_LIBCARREG"

Linha                    19

 

MODIFICAR CAMPO TEXTO "V_DIA_PREVEMB"

Linha                    13

 

MODIFICAR CAMPO TEXTO "V_DIA_PREVLIBCARREG"

Linha                    19

 

MODIFICAR CAMPO TEXTO "V_DIA_PREV_ENTR"

Linha                    22

 

MODIFICAR CAMPO TEXTO "V_DIA_PREV_RETMERC"

Linha                    10

 

MODIFICAR CAMPO TEXTO "V_DIA_REAL"

Linha                    22

 

MODIFICAR CAMPO TEXTO "V_DIA_RETMERC"

Linha                    10

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI030F01

 

FORM dia_semana USING    p_data

                CHANGING p_dia_semana.

  CALL FUNCTION '/PWS/ZYCB_DIA_DA_SEMANA'

       EXPORTING

            datum         = p_data

       IMPORTING

            dia_da_semana = p_dia_semana.

ENDFORM.

* >> Início da inclusão: FORM MODO_BATCH_INPUT

FORM dia_semana_limpa.

  IF /pws/zycie284-dtinicio IS INITIAL.

    CLEAR /pws/zycie284-dtinicio.

  ENDIF.

  IF /pws/zycie093-dtemiss IS INITIAL.

    CLEAR v_dia_bl.

  ENDIF.

  IF /pws/zycie001-dtprevcheg IS INITIAL.

    CLEAR v_dia_cheg.

  ENDIF.

  IF /pws/zycie093-dtcheg IS INITIAL.

    CLEAR V_DIA_DTCHEG_E.

  ENDIF.

  IF /pws/zycit041-dt_mr1m IS INITIAL.

    CLEAR v_dia_lib.

  ENDIF.

  IF /pws/zycie001-dtprevretmerc IS INITIAL.

    CLEAR v_dia_prev_retmerc.

  ENDIF.

  IF /pws/zycie001-dtprevlibcarreg IS INITIAL.

    CLEAR v_dia_prevlibcarreg.

  ENDIF.

  IF /pws/zycie001-dtprevemb IS INITIAL.

    CLEAR v_dia_prevemb.

  ENDIF.

  IF /pws/zycie001-dt_prev_entr IS INITIAL.

    CLEAR v_dia_prev_entr.

  ENDIF.

  IF /pws/zycie001-dt_retmerc IS INITIAL.

    CLEAR v_dia_retmerc.

  ENDIF.

  IF /pws/zycie001-dtlibcarreg IS INITIAL.

    CLEAR v_dia_libcarreg.

  ENDIF.

ENDFORM.

* << Fim da inclusão

form modo_batch_input.

clear: /pws/zycbt039, itab_modo.

REFRESH: ITAB_MODO.

  select * from /pws/zycbt039."#EC CI_NOWHERE

    itab_modo-selflag   = /pws/zycbt039-modo.

    itab_modo-varoption = /pws/zycbt039-descr.

    append itab_modo.

  endselect.

  sort itab_modo descending.

CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

...

 

...

            i_zexit                 = p_exit

       TABLES

            itab_zyglt100           = itab_zyglt100

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

endform.

FORM seleciona_embarque.

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

  WRITE /pws/zycie284-nrseq TO /pws/zycie284-nrseq RIGHT-JUSTIFIED.

  OVERLAY /pws/zycie284-nrseq WITH '0000000000'.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

  CLEAR: V_TEXTO,

         V_RESPOSTA,

         V_ERRO.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycit001

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

         WHERE nrseq EQ /pws/zycie284-nrseq.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

         WHERE nrseq EQ /pws/zycie001-nrseq.

* << Fim da inclusão

  IF sy-subrc NE 0.

    MESSAGE w015 WITH text-001.

    EXIT.

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

  ENDIF.

    MOVE: /pws/zycit001 TO /pws/zycie001.

    SELECT SINGLE land1 FROM t001 INTO t001-land1

    WHERE bukrs EQ /pws/zycie001-bukrs.

    SELECT SINGLE * FROM /PWS/ZYCIT000

    WHERE land1 EQ t001-land1.

    v_primeiro = 'N'.

    SELECT SINGLE * FROM /pws/zycit497

         WHERE agente EQ /pws/zycit001-agente

           AND paispa EQ /pws/zycit001-paispa

           AND paispao EQ /pws/zycit001-paispao

           AND paorigem EQ /pws/zycit001-paorigem

           AND padest EQ /pws/zycit001-padest

           AND meioemba EQ /pws/zycit001-meioemba.

    IF sy-subrc NE 0.

      v_primeiro = 'S'.

* << Fim da inclusão

  ELSE.

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

    MOVE: /pws/zycit001 TO /pws/zycie001.

    DATA: BEGIN OF itab_zycbt007 OCCURS 0.

            INCLUDE STRUCTURE /pws/zycbt007.

    DATA: END OF itab_zycbt007.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

      MOVE: /PWS/ZYCIT497 TO /PWS/ZYCIE497.

    ENDIF.

    SELECT SINGLE * FROM /pws/zycit100

         WHERE nrseq EQ /pws/zycit001-nrseq.

    IF sy-subrc EQ 0.

      SELECT SINGLE * FROM /pws/zycit085

           WHERE nrseqdi EQ /pws/zycit100-nrseqdi.

    ENDIF.

* << Fim da inclusão

    SELECT * FROM /pws/zycbt007

    INTO TABLE itab_zycbt007

    WHERE bukrs EQ /pws/zycit001-bukrs.

    LOOP AT itab_zycbt007.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                          itab_zycbt007-bukrs

                                          ID 'ACTVT' FIELD '01'.

      IF sy-subrc NE 0.

        MESSAGE e083(f5) WITH itab_zycbt007-bukrs.

      ENDIF.

    ENDLOOP.

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

  ENDIF.

* << Fim da exclusão

  MOVE: /pws/zycit001-embarca    TO /pws/zycie284-embarca   ,

        /pws/zycit001-nrseq      TO /pws/zycie284-nrseq     ,

        /pws/zycit001-bukrs      TO /pws/zycie284-bukrs     ,

        /pws/zycit001-j_1bbranch TO /pws/zycie284-j_1bbranch,

        /pws/zycit001-dtinicio   TO /pws/zycie284-dtinicio  .

  SELECT SINGLE nr_transporte nr_liberacao flag_lead_time

         FROM /pws/zycit284

         INTO (/pws/zycie284-nr_transporte,

               /pws/zycie284-nr_liberacao,

               /pws/zycie284-flag_lead_time)

         WHERE paorigem EQ /pws/zycit001-paorigem

           AND paispao  EQ /pws/zycit001-paispao

           AND padest   EQ /pws/zycit001-padest

           AND paispa   EQ /pws/zycit001-paispa.

  IF sy-subrc NE 0.

    CLEAR: /pws/zycie284-nr_transporte,

           /pws/zycie284-nr_liberacao .

  ENDIF.

  SELECT * FROM /pws/zycit003

           INTO TABLE it_zycit003

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

           WHERE nrseq EQ /pws/zycie284-nrseq.

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

           WHERE nrseq EQ /pws/zycit001-nrseq.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycit094

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

         WHERE nrseq EQ /pws/zycie284-nrseq.            "#EC CI_NOFIRST

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

         WHERE nrseq EQ /pws/zycit001-nrseq.            "#EC CI_NOFIRST

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycit093

         WHERE nrseqce EQ /pws/zycit094-nrseqce.

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

  MOVE: /pws/zycit093-dtemiss  TO /pws/zycie284-dtemiss ,

        /pws/zycit093-dtprcheg TO /pws/zycie284-dtprcheg.

* << Fim da exclusão

  MOVE: /pws/zycit093  TO /pws/zycie093.

  SELECT SINGLE * FROM /pws/zycit042

* >> Início da exclusão: FORM SELECIONA_EMBARQUE

         WHERE nrseq EQ /pws/zycie284-nrseq.            "#EC CI_NOFIRST

  SELECT SINGLE * FROM /pws/zycit041

         WHERE nrseq EQ /pws/zycit042-nrseqnf.          "#EC CI_NOFIRST

  MOVE: /pws/zycit041-dt_mr1m TO /pws/zycie284-dtcheg  .

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_EMBARQUE

         WHERE nrseq EQ /pws/zycit001-nrseq.            "#EC CI_NOFIRST

  SELECT * FROM /pws/zycit041

  INTO TABLE it_zycit041

  WHERE nrseq EQ /pws/zycit042-nrseqnf

    AND cancel NE 'X'.

  IF NOT it_zycit041[] IS INITIAL.

    LOOP AT it_zycit041.

      IF NOT  it_zycit041-dt_mr1m IS INITIAL.

        /PWS/ZYCIT041-DT_MR1M = it_zycit041-dt_mr1m.

        EXIT.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF NOT it_zycit041[] IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit044

           WHERE nrseq EQ /pws/zycit001-nrseq.     "#EC CI_NOFIRST

    IF SY-SUBRC = '0'.

      SELECT * FROM /pws/zycit043

      INTO TABLE it_zycit043

      WHERE nrseq = /pws/zycit044-nrseqnf AND

            nfglobal = /pws/zycit044-nfglobal AND

            cancel NE 'X'.

      LOOP AT it_zycit043.

        IF NOT  it_zycit043-dt_mr1m IS INITIAL.

          /PWS/ZYCIT041-DT_MR1M = it_zycit043-dt_mr1m.

          EXIT.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI030'

                              ' '.

  CALL SCREEN '0100'.

ENDFORM.

FORM grava_tabelas.

  UPDATE /pws/zycit001 SET

         dtprevretmerc   = /pws/zycie001-dtprevretmerc

         dtprevemb       = /pws/zycie001-dtprevemb

         dtprevlibcarreg = /pws/zycie001-dtprevlibcarreg

         dt_prev_entr    = /pws/zycie001-dt_prev_entr

         dt_retmerc      = /pws/zycie001-dt_retmerc

         dtlibcarreg     = /pws/zycie001-dtlibcarreg

* >> Início da inclusão: FORM GRAVA_TABELAS

         agente          = /pws/zycie001-agente

         dtprevcheg      = /pws/zycie001-dtprevcheg

         flag_lead_time  = /pws/zycie001-flag_lead_time

* << Fim da inclusão

  WHERE nrseq EQ /pws/zycie001-nrseq.

* >> Início da exclusão: FORM GRAVA_TABELAS

  UPDATE /pws/zycit284 SET flag_lead_time =

                           /pws/zycie284-flag_lead_time

     WHERE paorigem EQ /pws/zycit001-paorigem

       AND paispao  EQ /pws/zycit001-paispao

       AND padest   EQ /pws/zycit001-padest

       AND paispa   EQ /pws/zycit001-paispa.

* << Fim da exclusão

* >> Início da inclusão: FORM GRAVA_TABELAS

  IF v_primeiro = 'N'.

    IF NOT /pws/zycit001 IS INITIAL AND

       NOT /pws/zycie001-DT_RETMERC IS INITIAL AND

       NOT /pws/zycie093-DTEMISS IS INITIAL AND

       NOT /pws/zycie093-DTCHEG IS INITIAL AND

       NOT /pws/zycie001-DTLIBCARREG IS INITIAL AND

       NOT /pws/zycie001-DTPREVRETMERC IS INITIAL AND

       NOT /PWS/ZYCIt041-DT_MR1M IS INITIAL.

          MOVE-CORRESPONDING /pws/zycie001 TO /pws/zycit001.

          MOVE-CORRESPONDING /pws/zycit001 TO /PWS/ZYCIE497.

          MODIFY: /PWS/ZYCIT497 FROM /PWS/ZYCIE497.

    ENDIF.

  ELSE.

    IF NOT /pws/zycit001 IS INITIAL AND (

           /PWS/ZYCIE001-DTPREVRETMERC IS INITIAL OR

           /PWS/ZYCIE001-DTPREVEMB IS INITIAL OR

           /PWS/ZYCIE001-DTPREVCHEG IS INITIAL OR

           /PWS/ZYCIE001-DTPREVLIBCARREG IS INITIAL OR

           /PWS/ZYCIE001-DT_PREV_ENTR IS INITIAL ).

      CONCATENATE TEXT-016

                TEXT-017

                TEXT-018

                INTO V_TEXTO separated by space.

      CALL FUNCTION 'POPUP_TO_CONFIRM'

        EXPORTING

          TITLEBAR                    = 'Cadastro Lead Time'

          TEXT_QUESTION               = V_TEXTO

          TEXT_BUTTON_1               = 'Sim'

          TEXT_BUTTON_2               = 'Não'

          START_COLUMN                = 25

          START_ROW                   = 6

        IMPORTING

          ANSWER                      = V_RESPOSTA.

      CASE V_RESPOSTA.

        WHEN '1'.

          IF NOT /pws/zycit001 IS INITIAL AND (

                 /PWS/ZYCIE001-DTPREVRETMERC IS INITIAL OR

                 /PWS/ZYCIE001-DTPREVEMB IS INITIAL OR

                 /PWS/ZYCIE001-DTPREVCHEG IS INITIAL OR

                 /PWS/ZYCIE001-DTPREVLIBCARREG IS INITIAL OR

                 /PWS/ZYCIE001-DT_PREV_ENTR IS INITIAL ).

               MESSAGE e015 WITH TEXT-021.

          ENDIF.

          MOVE-CORRESPONDING /pws/zycie001 TO /pws/zycit001.

          MOVE-CORRESPONDING /pws/zycit001 TO /PWS/ZYCIE497.

          MODIFY: /PWS/ZYCIT497 FROM /PWS/ZYCIE497.

          v_primeiro = 'N'.

      ENDCASE.

    ELSE.

      MOVE-CORRESPONDING /pws/zycie001 TO /pws/zycit001.

      MOVE-CORRESPONDING /pws/zycit001 TO /PWS/ZYCIE497.

      MODIFY: /PWS/ZYCIT497 FROM /PWS/ZYCIE497.

      v_primeiro = 'N'.

    ENDIF.

  ENDIF.

  IF NOT /pws/zycie093 IS INITIAL.

    UPDATE /pws/zycit093 SET DTCHEG  = /pws/zycie093-DTCHEG

                             DTEMISS = /pws/zycie093-DTEMISS

     WHERE NRSEQCE EQ /pws/zycie093-NRSEQCE.

  ENDIF.

* << Fim da inclusão

ENDFORM.

form fill_data_ME22B.

      it_zycie033-mandt = sy-mandt.

      it_zycie033-tabela = '/PWS/ZYCIT284'.

      it_zycie033-cpochv = /pws/zycie284-nrseq.

      it_zycie033-tcode = 'ME22'.

      CLEAR itab_zyglt100 .

      READ TABLE itab_zyglt100 WITH KEY zexit = 'CDT001'  BINARY SEARCH.

      IF sy-subrc EQ 0.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

...

 

...

                  t_dados    = it_zycie033

             EXCEPTIONS

                  OTHERS     = 0.

        IF sy-subrc EQ 0 OR e_subrc = '4'.

          READ TABLE it_zycit032 WITH KEY tcode  = 'ME22'

                                          tabela = '/PWS/ZYCIT284'

                                          cpochv = /pws/zycie284-nrseq

                                          tpmsg  = 'S'.

          IF sy-subrc EQ 0.

            UPDATE /pws/zycit093 SET dtemiss  = /pws/zycie284-dtemiss

* >> Início da exclusão: FORM FILL_DATA_ME22B

                                dtprcheg = /pws/zycie284-dtprcheg

* << Fim da exclusão

                                dtcheg   = /pws/zycie093-dtcheg

                                WHERE nrseqce EQ /pws/zycit093-nrseqce.

            MESSAGE s015 WITH text-002.

          ELSE.

            LOOP AT it_zycit032.

              MESSAGE i015 WITH it_zycit032-msg+0(50)

                                it_zycit032-msg+50(50).

            ENDLOOP.

          ENDIF.

        ENDIF.

      ELSE.

        LOOP AT it_zycit032.

          MESSAGE i015 WITH it_zycit032-msg+0(50)

                            it_zycit032-msg+50(50).

        ENDLOOP.

      ENDIF.

endform.

form calc_data.

* >> Início da exclusão: FORM CALC_DATA

      /pws/zycie284-dtprcheg = /pws/zycie284-dtemiss +

      /pws/zycie284-nr_transporte.

      IF NOT /pws/zycie284-dtcheg IS INITIAL.

        /pws/zycie284-dtlib = /pws/zycie284-dtcheg +

                              /pws/zycie284-nr_liberacao.

      ELSEIF NOT /pws/zycie284-DTPRCHEG IS INITIAL.

        /pws/zycie284-dtlib = /pws/zycie284-DTPRCHEG +

                              /pws/zycie284-nr_liberacao.

* << Fim da exclusão

* >> Início da inclusão: FORM CALC_DATA

endform.

form calc_lead_time.

  IF v_primeiro = 'S'.

    IF NOT /PWS/ZYCIE001-DTPREVRETMERC IS INITIAL AND

       NOT /PWS/ZYCIE001-DTPREVEMB IS INITIAL.

            /PWS/ZYCIE497-LEAD_TIME_1 =

            /PWS/ZYCIE001-DTPREVRETMERC - /PWS/ZYCIE001-DTPREVEMB.

    ENDIF.

    IF NOT /PWS/ZYCIE001-DTPREVEMB IS INITIAL AND

       NOT /PWS/ZYCIE001-DTPREVCHEG IS INITIAL.

            /PWS/ZYCIE497-LEAD_TIME_2 =

            /PWS/ZYCIE001-DTPREVEMB - /PWS/ZYCIE001-DTPREVCHEG.

    ENDIF.

    IF NOT /PWS/ZYCIE001-DTPREVCHEG IS INITIAL AND

       NOT /PWS/ZYCIE001-DTPREVLIBCARREG IS INITIAL.

            /PWS/ZYCIE497-LEAD_TIME_3 =

            /PWS/ZYCIE001-DTPREVCHEG - /PWS/ZYCIE001-DTPREVLIBCARREG.

    ENDIF.

    IF NOT /PWS/ZYCIE001-DTPREVLIBCARREG IS INITIAL AND

       NOT /PWS/ZYCIE001-DT_PREV_ENTR IS INITIAL.

            /PWS/ZYCIE497-LEAD_TIME_4 =

            /PWS/ZYCIE001-DTPREVLIBCARREG - /PWS/ZYCIE001-DT_PREV_ENTR.

    ENDIF.

  ENDIF.

endform.

form MOVE_LEAD_TIME_PREVISTO.

DATA: v_dtprevemb       LIKE /pws/zycie001-dtprevemb.

DATA: v_dtprevcheg      LIKE /pws/zycie001-dtprevcheg.

DATA: v_dtprevlibcarreg LIKE /pws/zycie001-dtprevlibcarreg.

DATA: v_dt_prev_entr    LIKE /pws/zycie001-dt_prev_entr.

IF v_primeiro = 'N'.

  v_dtprevemb = /pws/zycie001-dtprevemb.

  CLEAR /pws/zycie001-dtprevemb.

  IF /pws/zycie001-dt_retmerc IS INITIAL.

    IF NOT /pws/zycie001-dtprevretmerc IS INITIAL.

      /pws/zycie001-dtprevemb =

         /pws/zycie001-dtprevretmerc + /pws/zycie497-lead_time_1.

* << Fim da inclusão

      ENDIF.

* >> Início da exclusão: FORM CALC_DATA

endform.

* << Fim da exclusão

* >> Início da inclusão:

  ELSE.

    IF NOT /pws/zycie001-dt_retmerc IS INITIAL AND

        /pws/zycie093-dtemiss IS INITIAL.

      /pws/zycie001-dtprevemb =

         /pws/zycie001-dt_retmerc + /pws/zycie497-lead_time_1.

    ELSE.

      /pws/zycie001-dtprevemb = v_dtprevemb.

    ENDIF.

  ENDIF.

  v_dtprevcheg = /pws/zycie001-dtprevcheg.

  CLEAR /pws/zycie001-dtprevcheg.

  IF /pws/zycie093-dtemiss IS INITIAL.

    IF NOT /pws/zycie001-dtprevemb IS INITIAL.

      /pws/zycie001-dtprevcheg =

          /pws/zycie001-dtprevemb + /pws/zycie497-lead_time_2.

    ENDIF.

  ELSE.

    IF NOT /pws/zycie093-dtemiss IS INITIAL AND

         /pws/zycie093-dtcheg IS INITIAL.

      /pws/zycie001-dtprevcheg =

          /pws/zycie093-dtemiss + /pws/zycie497-lead_time_2.

    ELSE.

      /pws/zycie001-dtprevcheg = v_dtprevcheg.

    ENDIF.

  ENDIF.

  v_dtprevlibcarreg = /pws/zycie001-dtprevlibcarreg.

  CLEAR /pws/zycie001-dtprevlibcarreg.

  IF /pws/zycie093-dtcheg IS INITIAL.

    IF NOT /pws/zycie001-dtprevcheg IS INITIAL.

      /pws/zycie001-dtprevlibcarreg =

          /pws/zycie001-dtprevcheg + /pws/zycie497-lead_time_3.

    ENDIF.

  ELSE.

    IF NOT /pws/zycie093-dtcheg IS INITIAL AND

         /pws/zycie001-dtlibcarreg IS INITIAL.

      /pws/zycie001-dtprevlibcarreg =

          /pws/zycie093-dtcheg + /pws/zycie497-lead_time_3.

    ELSE.

      /pws/zycie001-dtprevlibcarreg = v_dtprevlibcarreg.

    ENDIF.

  ENDIF.

  v_dt_prev_entr = /pws/zycie001-dt_prev_entr.

  CLEAR /pws/zycie001-dt_prev_entr.

  IF /pws/zycie001-dtlibcarreg IS INITIAL.

    IF NOT /pws/zycie001-dtprevlibcarreg IS INITIAL.

      /pws/zycie001-dt_prev_entr =

          /pws/zycie001-dtprevlibcarreg + /pws/zycie497-lead_time_4.

    ENDIF.

  ELSE.

    IF NOT /pws/zycie001-dtlibcarreg IS INITIAL AND

       /pws/zycit041-dt_mr1m IS INITIAL.

      /pws/zycie001-dt_prev_entr =

          /pws/zycie001-dtlibcarreg + /pws/zycie497-lead_time_4.

    ELSE.

      /pws/zycie001-dt_prev_entr = v_dt_prev_entr.

    ENDIF.

  ENDIF.

  endif.

endform.

form DESVIO_PADRAO.

  DATA:  v_cont TYPE i.

  DATA:  v_data_c LIKE /PWS/ZYCIE001-DTPREVRETMERC.

  IF /pws/zycie093-nrseqce IS INITIAL AND

    NOT /pws/zycie093-dtemiss IS INITIAL AND

    NOT /pws/zycie093-dtcheg IS INITIAL.

      CLEAR /pws/zycie093-dtemiss.

      CLEAR v_dia_bl.

      CLEAR /pws/zycie093-dtcheg.

      CLEAR V_DIA_DTCHEG_E.

      MESSAGE i015 WITH TEXT-019.

      MESSAGE i015 WITH TEXT-020.

      EXIT.

   ENDIF.

  IF /pws/zycie093-nrseqce IS INITIAL AND

    NOT /pws/zycie093-dtemiss IS INITIAL.

      CLEAR /pws/zycie093-dtemiss.

      CLEAR v_dia_bl.

      MESSAGE e015 WITH TEXT-019.

  ENDIF.

  IF /pws/zycie093-nrseqce IS INITIAL AND

    NOT /pws/zycie093-dtcheg IS INITIAL.

      CLEAR /pws/zycie093-dtcheg.

      CLEAR V_DIA_DTCHEG_E.

      MESSAGE e015 WITH TEXT-020.

  ENDIF.

  CLEAR v_data_c.

 v_data_c = /pws/zycie001-DTPREVRETMERC - /PWS/ZYCIT000-NDIAS_LEAD_TIME.

  CLEAR itab_zycit001_aux.

  REFRESH itab_zycit001_aux.

  SELECT A~nrseq A~paispao A~paorigem A~padest A~meioemba

         A~dt_retmerc A~dtlibcarreg A~agente A~paispa

         E~dtemiss E~DTCHEG C~DT_MR1M

  FROM ( /pws/zycit001 AS A INNER JOIN /pws/zycit044 AS B

         ON A~nrseq EQ B~nrseq

                            INNER JOIN /pws/zycit043 AS C

         ON C~nrseq    EQ B~nrseqnf  AND

            C~nfglobal EQ B~nfglobal AND

            C~cancel   NE 'X'

                            INNER JOIN /pws/zycit094 AS D

         ON D~nrseq EQ A~nrseq

                            INNER JOIN /pws/zycit093 AS E

         ON D~nrseqce EQ E~nrseqce

                            INNER JOIN /pws/zycit100 AS F

         ON A~nrseq EQ F~nrseq

                            INNER JOIN /pws/zycit085 AS G

         ON F~nrseqdi EQ G~nrseqdi )

  INTO CORRESPONDING FIELDS OF TABLE itab_zycit001_aux3

  WHERE A~AGENTE         = /pws/zycie001-AGENTE

    AND A~PAISPAO        = /pws/zycie001-PAISPAO

    AND A~PAISPA         = /pws/zycie001-PAISPA

    AND A~PAORIGEM       = /pws/zycie001-PAORIGEM

    AND A~PADEST         = /pws/zycie001-PADEST

    AND A~MEIOEMBA       = /pws/zycie001-MEIOEMBA

    AND A~DT_RETMERC     >= v_data_c

    AND A~DT_RETMERC     <= /pws/zycie001-DTPREVRETMERC

    AND A~FLAG_LEAD_TIME <> 'X'

    AND NOT C~DT_MR1M IS NULL

    AND C~DT_MR1M       <> '00000000'.

  SORT itab_zycit001_aux3 BY NRSEQ.

  DELETE ADJACENT DUPLICATES FROM itab_zycit001_aux3.

  IF NOT itab_zycit001_aux3[] IS INITIAL.

    LOOP AT itab_zycit001_aux3.

      itab_zycit001_aux-nrseq       = itab_zycit001_aux3-nrseq.

      itab_zycit001_aux-paispao     = itab_zycit001_aux3-paispao    .

      itab_zycit001_aux-paorigem    = itab_zycit001_aux3-paorigem   .

      itab_zycit001_aux-padest      = itab_zycit001_aux3-padest     .

      itab_zycit001_aux-meioemba    = itab_zycit001_aux3-meioemba   .

      itab_zycit001_aux-dt_retmerc  = itab_zycit001_aux3-dt_retmerc .

      itab_zycit001_aux-dtlibcarreg = itab_zycit001_aux3-dtlibcarreg.

      itab_zycit001_aux-agente      = itab_zycit001_aux3-agente     .

      itab_zycit001_aux-paispa      = itab_zycit001_aux3-paispa     .

      itab_zycit001_aux-dtemiss     = itab_zycit001_aux3-dtemiss    .

      itab_zycit001_aux-DTCHEG      = itab_zycit001_aux3-DTCHEG     .

      itab_zycit001_aux-DT_MR1M     = itab_zycit001_aux3-DT_MR1M    .

      APPEND itab_zycit001_aux.

    ENDLOOP.

  ENDIF.

  SELECT A~nrseq A~paispao A~paorigem A~padest A~meioemba

         A~dt_retmerc A~dtlibcarreg A~agente A~paispa

         E~dtemiss E~DTCHEG C~DT_MR1M

  FROM ( /pws/zycit001 AS A INNER JOIN /pws/zycit042 AS B

         ON A~nrseq EQ B~nrseq

                            INNER JOIN /pws/zycit041 AS C

         ON C~nrseq EQ B~nrseqnf AND

            C~cancel   NE 'X'

                            INNER JOIN /pws/zycit094 AS D

         ON D~nrseq EQ A~nrseq

                            INNER JOIN /pws/zycit093 AS E

         ON D~nrseqce EQ E~nrseqce

                            INNER JOIN /pws/zycit100 AS F

         ON A~nrseq EQ F~nrseq

                            INNER JOIN /pws/zycit085 AS G

         ON F~nrseqdi EQ G~nrseqdi )

  INTO CORRESPONDING FIELDS OF TABLE itab_zycit001_aux2

  WHERE A~AGENTE         = /pws/zycie001-AGENTE

    AND A~PAISPAO        = /pws/zycie001-PAISPAO

    AND A~PAISPA         = /pws/zycie001-PAISPA

    AND A~PAORIGEM       = /pws/zycie001-PAORIGEM

    AND A~PADEST         = /pws/zycie001-PADEST

    AND A~MEIOEMBA       = /pws/zycie001-MEIOEMBA

    AND A~DT_RETMERC     >= v_data_c

    AND A~DT_RETMERC     <= /pws/zycie001-DTPREVRETMERC

    AND A~FLAG_LEAD_TIME <> 'X'

    AND NOT C~DT_MR1M IS NULL

    AND C~DT_MR1M       <> '00000000'.

    SORT itab_zycit001_aux2 BY NRSEQ.

    DELETE ADJACENT DUPLICATES FROM itab_zycit001_aux2.

    IF NOT itab_zycit001_aux2[] IS INITIAL.

      LOOP AT itab_zycit001_aux2.

        itab_zycit001_aux-nrseq       = itab_zycit001_aux2-nrseq.

        itab_zycit001_aux-paispao     = itab_zycit001_aux2-paispao    .

        itab_zycit001_aux-paorigem    = itab_zycit001_aux2-paorigem   .

        itab_zycit001_aux-padest      = itab_zycit001_aux2-padest     .

        itab_zycit001_aux-meioemba    = itab_zycit001_aux2-meioemba   .

        itab_zycit001_aux-dt_retmerc  = itab_zycit001_aux2-dt_retmerc .

        itab_zycit001_aux-dtlibcarreg = itab_zycit001_aux2-dtlibcarreg.

        itab_zycit001_aux-agente      = itab_zycit001_aux2-agente     .

        itab_zycit001_aux-paispa      = itab_zycit001_aux2-paispa     .

        itab_zycit001_aux-dtemiss     = itab_zycit001_aux2-dtemiss    .

        itab_zycit001_aux-DTCHEG      = itab_zycit001_aux2-DTCHEG     .

        itab_zycit001_aux-DT_MR1M     = itab_zycit001_aux2-DT_MR1M    .

        APPEND itab_zycit001_aux.

      ENDLOOP.

    ENDIF.

    SORT itab_zycit001_aux BY NRSEQ.

    DELETE ADJACENT DUPLICATES FROM itab_zycit001_aux.

    READ TABLE itab_zycit001_aux INDEX 1.

    IF NOT itab_zycit001_aux IS INITIAL.

      SELECT * FROM /pws/zycit497

      INTO TABLE itab_zycit497

      FOR ALL ENTRIES IN itab_zycit001_aux

      WHERE AGENTE    EQ itab_zycit001_aux-AGENTE

        AND PAISPA    EQ itab_zycit001_aux-PAISPA

        AND PAISPAO   EQ itab_zycit001_aux-PAISPAO

        AND PAORIGEM  EQ itab_zycit001_aux-PAORIGEM

        AND PADEST    EQ itab_zycit001_aux-PADEST

        AND MEIOEMBA  EQ itab_zycit001_aux-MEIOEMBA.

      READ TABLE itab_zycit497 INDEX 1.

      IF NOT itab_zycit497 IS INITIAL.

        PERFORM LEAD_TIME.

      ENDIF.

    ENDIF.

endform.

form LEAD_TIME.

  DATA: v_total_1(16)     TYPE c,

        v_total_2(16)     TYPE c,

        v_total_3(16)     TYPE c,

        v_total_4(16)     TYPE c,

        v_qtde(16)        TYPE c,

        v_media_1(16)       TYPE p DECIMALS 1,

        v_media_2(16)       TYPE p DECIMALS 1,

        v_media_3(16)       TYPE p DECIMALS 1,

        v_media_4(16)       TYPE p DECIMALS 1,

        v_potencia(16)    TYPE p DECIMALS 1,

        v_tot_pot_1(16)     TYPE p DECIMALS 5,

        v_tot_pot_2(16)     TYPE p DECIMALS 5,

        v_tot_pot_3(16)     TYPE p DECIMALS 5,

        v_tot_pot_4(16)     TYPE p DECIMALS 5,

        v_tot_pot_qtd_1(16) TYPE p DECIMALS 5,

        v_tot_pot_qtd_2(16) TYPE p DECIMALS 5,

        v_tot_pot_qtd_3(16) TYPE p DECIMALS 5,

        v_tot_pot_qtd_4(16) TYPE p DECIMALS 5,

        v_desvio_1(16)      TYPE p DECIMALS 2,

        v_desvio_2(16)      TYPE p DECIMALS 2,

        v_desvio_3(16)      TYPE p DECIMALS 2,

        v_desvio_4(16)      TYPE p DECIMALS 2,

        v_lead_time_1(16)   TYPE p DECIMALS 2,

        v_lead_time_2(16)   TYPE p DECIMALS 2,

        v_lead_time_3(16)   TYPE p DECIMALS 2,

        v_lead_time_4(16)   TYPE p DECIMALS 2.

  CLEAR:   v_total_1,

           v_total_2,

           v_total_3,

           v_total_4,

           v_qtde,

           v_media_1,

           v_media_2,

           v_media_3,

           v_media_4,

           v_tot_pot_1,

           v_tot_pot_2,

           v_tot_pot_3,

           v_tot_pot_4,

           v_tot_pot_qtd_1,

           v_tot_pot_qtd_2,

           v_tot_pot_qtd_3,

           v_tot_pot_qtd_4,

           v_desvio_1,

           v_desvio_2,

           v_desvio_3,

           v_desvio_3,

           v_lead_time_1,

           v_lead_time_2,

           v_lead_time_3,

           v_lead_time_4.

  LOOP AT itab_zycit001_aux.

    IF NOT itab_zycit001_aux-DTEMISS IS INITIAL AND

       NOT itab_zycit001_aux-DT_RETMERC IS INITIAL.

            itab_zycit001_aux-LEAD_TIME_1 =

            itab_zycit001_aux-DTEMISS - itab_zycit001_aux-DT_RETMERC.

    ELSE.

      DELETE itab_zycit001_aux INDEX sy-tabix.

      CONTINUE.

    ENDIF.

    IF NOT itab_zycit001_aux-DTEMISS IS INITIAL AND

       NOT itab_zycit001_aux-DTCHEG IS INITIAL.

            itab_zycit001_aux-LEAD_TIME_2 =

            itab_zycit001_aux-DTCHEG - itab_zycit001_aux-DTEMISS.

    ELSE.

      DELETE itab_zycit001_aux INDEX sy-tabix.

      CONTINUE.

    ENDIF.

    IF NOT itab_zycit001_aux-DTLIBCARREG IS INITIAL AND

       NOT itab_zycit001_aux-DTCHEG IS INITIAL.

            itab_zycit001_aux-LEAD_TIME_3 =

            itab_zycit001_aux-DTLIBCARREG - itab_zycit001_aux-DTCHEG.

    ELSE.

      DELETE itab_zycit001_aux INDEX sy-tabix.

      CONTINUE.

    ENDIF.

    IF NOT itab_zycit001_aux-DT_MR1M IS INITIAL AND

       NOT itab_zycit001_aux-DTLIBCARREG IS INITIAL.

            itab_zycit001_aux-LEAD_TIME_4 =

            itab_zycit001_aux-DT_MR1M - itab_zycit001_aux-DTLIBCARREG.

    ELSE.

      DELETE itab_zycit001_aux INDEX sy-tabix.

      CONTINUE.

    ENDIF.

    MODIFY itab_zycit001_aux INDEX sy-tabix.

  ENDLOOP.

  IF itab_zycit001_aux[] IS INITIAL.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit001_aux.

    v_total_1 = v_total_1 + itab_zycit001_aux-lead_time_1.

    v_total_2 = v_total_2 + itab_zycit001_aux-lead_time_2.

    v_total_3 = v_total_3 + itab_zycit001_aux-lead_time_3.

    v_total_4 = v_total_4 + itab_zycit001_aux-lead_time_4.

    v_qtde  = v_qtde  + 1.

  ENDLOOP.

  v_media_1 = v_total_1 / v_qtde.

  v_media_2 = v_total_2 / v_qtde.

  v_media_3 = v_total_3 / v_qtde.

  v_media_4 = v_total_4 / v_qtde.

  LOOP AT itab_zycit001_aux.

    itab_zycit001_aux-vl_desv_medio_1 =

    itab_zycit001_aux-lead_time_1 - v_media_1.

    itab_zycit001_aux-vl_desv_medio_2 =

    itab_zycit001_aux-lead_time_2 - v_media_2.

    itab_zycit001_aux-vl_desv_medio_3 =

    itab_zycit001_aux-lead_time_3 - v_media_3.

    itab_zycit001_aux-vl_desv_medio_4 =

    itab_zycit001_aux-lead_time_4 - v_media_4.

    itab_zycit001_aux-vl_potencia_1 =

    itab_zycit001_aux-vl_desv_medio_1 *

    itab_zycit001_aux-vl_desv_medio_1.

    itab_zycit001_aux-vl_potencia_2 =

    itab_zycit001_aux-vl_desv_medio_2 *

    itab_zycit001_aux-vl_desv_medio_2.

    itab_zycit001_aux-vl_potencia_3 =

    itab_zycit001_aux-vl_desv_medio_3 *

    itab_zycit001_aux-vl_desv_medio_3.

    itab_zycit001_aux-vl_potencia_4 =

    itab_zycit001_aux-vl_desv_medio_4 *

    itab_zycit001_aux-vl_desv_medio_4.

    v_tot_pot_1 = v_tot_pot_1 + itab_zycit001_aux-vl_potencia_1.

    v_tot_pot_2 = v_tot_pot_2 + itab_zycit001_aux-vl_potencia_2.

    v_tot_pot_3 = v_tot_pot_3 + itab_zycit001_aux-vl_potencia_3.

    v_tot_pot_4 = v_tot_pot_4 + itab_zycit001_aux-vl_potencia_4.

    MODIFY itab_zycit001_aux INDEX sy-tabix.

  ENDLOOP.

    v_tot_pot_qtd_1 = v_tot_pot_1 / v_qtde.

    v_tot_pot_qtd_2 = v_tot_pot_2 / v_qtde.

    v_tot_pot_qtd_3 = v_tot_pot_3 / v_qtde.

    v_tot_pot_qtd_4 = v_tot_pot_4 / v_qtde.

    v_desvio_1 = SQRT( v_tot_pot_qtd_1 ).

    v_desvio_2 = SQRT( v_tot_pot_qtd_2 ).

    v_desvio_3 = SQRT( v_tot_pot_qtd_3 ).

    v_desvio_4 = SQRT( v_tot_pot_qtd_4 ).

    v_lead_time_1 = ( v_desvio_1 * '0.543' ) + v_media_1.

    v_lead_time_2 = ( v_desvio_2 * '0.543' ) + v_media_2.

    v_lead_time_3 = ( v_desvio_3 * '0.543' ) + v_media_3.

    v_lead_time_4 = ( v_desvio_4 * '0.543' ) + v_media_4.

    READ TABLE itab_zycit497 INDEX 1.

    MOVE: v_lead_time_1            TO itab_zycit497-lead_time_1,

          v_lead_time_2            TO itab_zycit497-lead_time_2,

          v_lead_time_3            TO itab_zycit497-lead_time_3,

          v_lead_time_4            TO itab_zycit497-lead_time_4.

    MODIFY  itab_zycit497 INDEX 1.

    MOVE:   itab_zycit497 TO /PWS/ZYCIE497.

    MODIFY: /PWS/ZYCIT497 FROM /PWS/ZYCIE497.

endform.

form EH_PRIMEIRO.

  SELECT SINGLE * FROM /pws/zycit497

       WHERE agente EQ /pws/zycie001-agente

         AND paispa EQ /pws/zycie001-paispa

         AND paispao EQ /pws/zycie001-paispao

         AND paorigem EQ /pws/zycie001-paorigem

         AND padest EQ /pws/zycie001-padest

         AND meioemba EQ /pws/zycie001-meioemba.

  IF sy-subrc NE 0.

    v_primeiro = 'S'.

  ELSE.

    v_primeiro = 'N'.

    MOVE: /PWS/ZYCIT497 TO /PWS/ZYCIE497.

  ENDIF.

endform.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI030I01

 

...

    WHEN 'ENTE'.

      PERFORM seleciona_embarque.

    WHEN  'BACK' OR 'LEAVE'.

      LEAVE PROGRAM.

  ENDCASE.

  CLEAR okcode.

ENDMODULE.

MODULE user_command_0100 INPUT.

  e_subrc = '0'.

  CASE okcode.

* >> Início da inclusão: MODULE USER_COMMAND_0100

    WHEN 'ENTE'.

      PERFORM DIA_SEMANA_LIMPA.

* << Fim da inclusão

    WHEN 'CALC_DATA'.

* >> Início da exclusão: MODULE USER_COMMAND_0100

      PERFORM calc_data.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0100

      PERFORM EH_PRIMEIRO.

      PERFORM DESVIO_PADRAO.

      IF NOT /pws/zycit041-dt_mr1m IS INITIAL AND

         v_primeiro = 'N'.

        EXIT.

      ENDIF.

      PERFORM MOVE_LEAD_TIME_PREVISTO.

      PERFORM calc_lead_time.

      PERFORM grava_tabelas.

* << Fim da inclusão

    WHEN 'ATUALIZA'.

      IF /pws/zycie284-dtlib IS INITIAL.

        MESSAGE s015 WITH text-003.

        EXIT.

      ENDIF.

      PERFORM grava_tabelas.

      PERFORM fill_data_ME22B.

    WHEN 'MODO'.

      PERFORM modo_batch_input.

    WHEN 'BACK'.

* >> Início da exclusão: MODULE USER_COMMAND_0100

      LEAVE TO SCREEN '0001'.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0100

      LEAVE PROGRAM.

* << Fim da inclusão

  ENDCASE.

  CLEAR okcode.

ENDMODULE.

MODULE user_command_exit INPUT.

  LEAVE PROGRAM.

ENDMODULE.

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI030O01

 

...

    SET TITLEBAR  '0001'.

  ENDIF.

  IMPORT v_tcode FROM MEMORY ID 'V_TCODE'.

  REFRESH: it_code.

  if v_tcode EQ '/PWS/ZYCI001_E'.

    it_code-fcode = 'CALC_DATA'. APPEND it_code.

    it_code-fcode = 'ATUALIZA'. APPEND it_code.

  endif.

ENDMODULE.

MODULE dia_semana OUTPUT.

* >> Início da inclusão: MODULE DIA_SEMANA

  IF NOT /pws/zycie284-dtinicio IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie284-dtinicio

                     CHANGING v_dia_emb.

* >> Início da exclusão: MODULE DIA_SEMANA

  PERFORM dia_semana USING /pws/zycie284-dtemiss

* << Fim da exclusão

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie093-dtemiss IS INITIAL.

    PERFORM dia_semana USING /pws/zycie093-dtemiss

* << Fim da inclusão

                     CHANGING v_dia_bl.

* >> Início da exclusão: MODULE DIA_SEMANA

  PERFORM dia_semana USING /pws/zycie284-dtprcheg

* << Fim da exclusão

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dtprevcheg IS INITIAL.

    PERFORM dia_semana USING /pws/zycie001-dtprevcheg

* << Fim da inclusão

                     CHANGING v_dia_cheg.

* >> Início da exclusão: MODULE DIA_SEMANA

  PERFORM dia_semana USING /pws/zycie284-dtcheg

* << Fim da exclusão

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycit041-dt_mr1m IS INITIAL.

    PERFORM dia_semana USING /pws/zycit041-dt_mr1m

* << Fim da inclusão

                     CHANGING v_dia_real.

* >> Início da exclusão: MODULE DIA_SEMANA

  PERFORM dia_semana USING /pws/zycie284-dtlib

                     CHANGING v_dia_lib.

* << Fim da exclusão

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dtprevretmerc IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie001-dtprevretmerc

                     CHANGING v_dia_prev_retmerc.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dtprevlibcarreg IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie001-dtprevlibcarreg

                     CHANGING v_dia_prevlibcarreg.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dtprevemb IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie001-dtprevemb

                     CHANGING v_dia_prevemb.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dt_prev_entr IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie001-dt_prev_entr

                     CHANGING v_dia_prev_entr.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dt_retmerc IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie001-dt_retmerc

                     CHANGING v_dia_retmerc.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie001-dtlibcarreg IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie001-dtlibcarreg

                     CHANGING v_dia_libcarreg.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

  IF NOT /pws/zycie093-dtcheg IS INITIAL.

* << Fim da inclusão

  PERFORM dia_semana USING /pws/zycie093-dtcheg

                     CHANGING v_dia_dtcheg_e.

* >> Início da inclusão: MODULE DIA_SEMANA

  ENDIF.

* << Fim da inclusão

ENDMODULE.

MODULE status_0001 OUTPUT.

  AUTHORITY-CHECK OBJECT 'S_TCODE'

                  ID     'TCD'

                  FIELD  sy-tcode.

  IF sy-subrc NE 0.

    MESSAGE e015 WITH text-007 text-008.

  ENDIF.

  IF sy-dynnr EQ '0100'.

    SET PF-STATUS '0100'.

...

 

...

    SET TITLEBAR  '0001'.

  ENDIF.

ENDMODULE.

module SET_SCREEN output.

  if v_tcode EQ '/PWS/ZYCI001_E'.

    LOOP AT SCREEN.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDLOOP.

    SET PF-STATUS '0100' EXCLUDING it_code.

* >> Início da inclusão: MODULE SET_SCREEN

  endif.

  IF v_primeiro = 'N'.

    LOOP AT SCREEN.

      if screen-name = '/PWS/ZYCIE001-DTINICIO' OR

         screen-name = '/PWS/ZYCIE001-AGENTE'.

          screen-input = '0'.

          MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

* << Fim da inclusão

  endif.

endmodule.

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI030TOP

 

PROGRAM  /pws/sapmzyci031 MESSAGE-ID /pws/zycim.

* >> Início da exclusão:

TABLES: /pws/zycit001,

* << Fim da exclusão

* >> Início da inclusão:

TABLES: /PWS/ZYCIT000,

        /pws/zycit001,

* << Fim da inclusão

        /pws/zycit003,

        /pws/zycbt039,

        /pws/zycit093,

        /pws/zycit094,

        /pws/zycit284,

        /pws/zycie284,

        /pws/zycie001,

        /pws/zycie093,

* >> Início da inclusão:

        /PWS/ZYCIT085,

        /PWS/ZYCIE085,

        /PWS/ZYCIT100,

        /PWS/ZYCIE100,

        /PWS/ZYCIT497,

        /pws/zycie497,

* << Fim da inclusão

        /pws/zycit041,

        /pws/zycit042,

        /pws/zycit043,

* >> Início da exclusão:

        /pws/zycit044.

* << Fim da exclusão

* >> Início da inclusão:

        /pws/zycit044,

        t001.

DATA: BEGIN OF itab_zycbt007 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt007.

DATA: END OF itab_zycbt007.

* << Fim da inclusão

DATA: BEGIN OF it_zycit003 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit003.

DATA: END OF it_zycit003.

DATA: BEGIN OF it_zycit032 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit032.

DATA: END OF it_zycit032.

DATA: BEGIN OF it_zycie033 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe033.

DATA: END OF it_zycie033.

DATA: BEGIN OF itab_modo OCCURS 0.

        INCLUDE STRUCTURE spopli.

DATA: END OF itab_modo.

* >> Início da inclusão:

DATA: BEGIN OF it_zycit041 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit041.

DATA: END OF it_zycit041.

* << Fim da inclusão

DATA: BEGIN OF it_zycit042 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit042.

DATA: END OF it_zycit042.

* >> Início da inclusão:

DATA: BEGIN OF it_zycit043 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit043.

DATA: END OF it_zycit043.

* << Fim da inclusão

DATA: BEGIN OF it_code OCCURS 10,

        fcode LIKE rsmpe-func,

...

 

...

      v_dia_prevemb(18)           TYPE c,

      v_dia_prev_entr(18)         TYPE c,

      v_dia_prev_dt_retmerc(18)   TYPE c,

      v_dia_prev_dtlibcarreg(18)  TYPE c,

      v_dia_prevlibcarreg(18)     TYPE c,

      v_dia_retmerc(18)           TYPE c,

      v_dia_libcarreg(18)         TYPE c,

      v_dia_dtcheg_e(18)          TYPE c,

      v_modo_bi            ,

      e_subrc  VALUE '0'   ,

* >> Início da exclusão:

       rimc7           LIKE indx-srtfd VALUE 'NRSEQ'.

* << Fim da exclusão

* >> Início da inclusão:

      rimc7           LIKE indx-srtfd VALUE 'NRSEQ',

      v_primeiro                  TYPE c.

DATA: v_texto(250) TYPE c,

      v_resposta,

      v_salvo,

      v_erro.

* << Fim da inclusão

DATA: wa_zycit001  LIKE /pws/zycit001.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

* >> Início da inclusão:

data  begin of itab_zycit001 occurs 0.

        INCLUDE STRUCTURE /pws/zycit001.

data  end   of itab_zycit001.

data:  begin of itab_zycit001_aux3 occurs 0,

         nrseq       Like /pws/zycit001-nrseq,

         agente      Like /pws/zycit001-agente,

         paispa      Like /pws/zycit001-paispa,

         paispao     Like /pws/zycit001-paispao,

         paorigem    Like /pws/zycit001-paorigem,

         padest      Like /pws/zycit001-padest,

         meioemba    Like /pws/zycit001-meioemba,

         dt_retmerc  Like /pws/zycit001-dt_retmerc,

         dtlibcarreg Like /pws/zycit001-dtlibcarreg,

         dtemiss     Like /pws/zycit093-dtemiss,

         dtcheg      Like /pws/zycit093-dtcheg,

         dtatrac     Like /pws/zycit093-dtatrac,

         dt_mr1m     Like /pws/zycit041-dt_mr1m,

         lead_time_1 Like /pws/zycit497-lead_time_1,

         lead_time_2 Like /pws/zycit497-lead_time_2,

         lead_time_3 Like /pws/zycit497-lead_time_3,

         lead_time_4 Like /pws/zycit497-lead_time_4,

         vl_desv_medio_1(16) TYPE p DECIMALS 5,

         vl_desv_medio_2(16) TYPE p DECIMALS 5,

         vl_desv_medio_3(16) TYPE p DECIMALS 5,

         vl_desv_medio_4(16) TYPE p DECIMALS 5,

         vl_potencia_1(16)   TYPE p DECIMALS 4,

         vl_potencia_2(16)   TYPE p DECIMALS 4,

         vl_potencia_3(16)   TYPE p DECIMALS 4,

         vl_potencia_4(16)   TYPE p DECIMALS 4,

       end   of itab_zycit001_aux3.

data  begin of itab_zycit042 occurs 0.

        INCLUDE STRUCTURE /pws/zycit042.

data  end   of itab_zycit042.

data  begin of itab_zycit041 occurs 0.

        INCLUDE STRUCTURE /pws/zycit041.

data  end   of itab_zycit041.

data  begin of itab_zycit497 occurs 1.

        INCLUDE STRUCTURE /pws/zycit497.

data  end   of itab_zycit497.

data: begin of itab_zycit001_aux2 occurs 0.

        include structure itab_zycit001_aux3.

data: end of itab_zycit001_aux2.

data: begin of itab_zycit001_aux occurs 0.

        include structure itab_zycit001_aux3.

data: end of itab_zycit001_aux.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR018

 

...

        dtinicio     LIKE /pws/zycit001-dtinicio    ,

        padest       LIKE /pws/zycit001-padest      ,

        despach      LIKE /pws/zycit001-despach     ,

        lifnr        LIKE /pws/zycit001-lifnr       ,

        meioemba     LIKE /pws/zycit001-meioemba    ,

        usernamec    LIKE /pws/zycit001-usernamec   ,

        embarca      LIKE /pws/zycit001-embarca     ,

        j_1bbranch   LIKE /pws/zycit001-j_1bbranch  ,

        dt_recorigem LIKE /pws/zycit001-dt_recorigem,

        dt_retmerc   LIKE /pws/zycit001-dt_retmerc  ,

* >> Início da inclusão:

        dtlibcarreg  LIKE /pws/zycit001-dtlibcarreg ,

* << Fim da inclusão

      END OF itab_zycit001.

DATA: BEGIN OF itab_zycit003 OCCURS 0,

        nrseq       LIKE /pws/zycit003-nrseq,

        ebeln       LIKE /pws/zycit003-ebeln,

        ebelp       LIKE /pws/zycit003-ebelp,

        nrseq_pgfat LIKE /pws/zycit003-nrseq_pgfat,

      END OF itab_zycit003.

DATA: BEGIN OF itab_ekko OCCURS 0,

        ebeln       LIKE ekko-ebeln,

        ernam       LIKE ekko-ernam,

...

 

...

      END OF itab_t615t.

DATA: BEGIN OF itab_geral OCCURS 0,

        nrseq      LIKE /pws/zycit001-nrseq    ,

        usernamec  LIKE /pws/zycit001-usernamec,

        lifnr      LIKE /pws/zycit001-lifnr    ,

        name1      LIKE lfa1-name1             ,

        padest     LIKE /pws/zycit001-padest   ,

        embarca    LIKE /pws/zycit001-embarca  ,

        despach    LIKE /pws/zycit001-despach  ,

        ndespach   LIKE lfa1-name1             ,

* >> Início da inclusão:

        dt_retmerc LIKE /pws/zycit001-dt_retmerc,

        dtlibcarreg LIKE /pws/zycit001-dtlibcarreg,

* << Fim da inclusão

        ebeln      LIKE /pws/zycit003-ebeln    ,

        meioemba   LIKE /pws/zycit004-meioemba ,

        dtemiss    LIKE /pws/zycit004-dtemiss  ,

        dtcheg     LIKE /pws/zycit004-dtcheg   ,

        dtreg      LIKE /pws/zycit085-dtreg    ,

        dtdes      LIKE /pws/zycit005-dtdes    ,

        dtincl     LIKE /pws/zycit041-dtincl   ,

        dt_mb01    LIKE /pws/zycit050-dt_mb01  ,

        dt_mb01nfr LIKE /pws/zycit043-dt_mb01  ,

        localidade(68) TYPE c                  ,

...

 

...

        nrseq      LIKE /pws/zycit001-nrseq       ,

        usernamec  LIKE /pws/zycit001-usernamec   ,

        lifnr      LIKE /pws/zycit001-lifnr       ,

        name1      LIKE lfa1-name1                ,

        padest     LIKE /pws/zycit001-padest      ,

        embarca    LIKE /pws/zycit001-embarca     ,

        despach    LIKE /pws/zycit001-despach     ,

        ndespach   LIKE lfa1-name1                ,

        ebeln      LIKE /pws/zycit003-ebeln       ,

        meioemba   LIKE /pws/zycit004-meioemba    ,

* >> Início da inclusão:

        dt_retmerc LIKE /pws/zycit001-dt_retmerc  ,

* << Fim da inclusão

        dtemiss    LIKE /pws/zycit004-dtemiss     ,

        dtcheg     LIKE /pws/zycit004-dtcheg      ,

        dtreg      LIKE /pws/zycit085-dtreg       ,

        dtdes      LIKE /pws/zycit005-dtdes       ,

        dtincl     LIKE /pws/zycit041-dtincl      ,

* >> Início da inclusão:

        dtlibcarreg LIKE /pws/zycit001-dtlibcarreg,

* << Fim da inclusão

        dt_mb01    LIKE /pws/zycit050-dt_mb01     ,

        dt_mb01nfr LIKE /pws/zycit043-dt_mb01  ,

...

 

...

           INTO TABLE itab_zycit093

           WHERE dtemiss IN s_data.                     "#EC CI_NOFIELD

    IF NOT itab_zycit093[] IS INITIAL.

      SELECT nrseqce nrseq

             FROM /pws/zycit094

             INTO TABLE itab_zycit094

             FOR ALL ENTRIES IN itab_zycit093

             WHERE nrseqce = itab_zycit093-nrseqce.

      IF NOT itab_zycit094[] IS INITIAL.

        SELECT nrseq dtinicio padest despach lifnr

* >> Início da exclusão: FORM SELECIONA_DADOS

               meioemba usernamec embarca

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_DADOS

               meioemba usernamec embarca dt_retmerc dtlibcarreg

* << Fim da inclusão

               FROM /pws/zycit001

* >> Início da exclusão: FORM SELECIONA_DADOS

               INTO TABLE itab_zycit001

* << Fim da exclusão

* >> Início da inclusão: FORM SELECIONA_DADOS

               INTO CORRESPONDING FIELDS OF TABLE itab_zycit001

* << Fim da inclusão

               FOR ALL ENTRIES IN  itab_zycit094

               WHERE nrseq EQ itab_zycit094-nrseq

                 AND embarca    IN s_embar

...

 

...

ENDFORM.

FORM move_dados.

  IF v_controle = 1 OR v_controle = 2.

    FREE itab_geral.

    LOOP AT itab_zycit001.

      CLEAR itab_geral.

      MOVE: itab_zycit001-meioemba  TO itab_geral-meioemba,

            itab_zycit001-nrseq     TO itab_geral-nrseq,

            itab_zycit001-usernamec TO itab_geral-usernamec,

            itab_zycit001-padest    TO itab_geral-padest,

* >> Início da inclusão: FORM MOVE_DADOS

            itab_zycit001-dt_retmerc TO itab_geral-dt_retmerc,

            itab_zycit001-dtlibcarreg TO itab_geral-dtlibcarreg,

* << Fim da inclusão

            itab_zycit001-embarca   TO itab_geral-embarca.

      READ TABLE itab_zycit094 WITH KEY nrseq = itab_zycit001-nrseq.

      READ TABLE itab_zycit093 WITH KEY nrseqce = itab_zycit094-nrseqce.

      IF sy-subrc = 0.

        MOVE:itab_zycit093-dtcheg   TO itab_geral-dtcheg,

             itab_zycit093-dtemiss  TO itab_geral-dtemiss.

      ENDIF.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit001-nrseq.

      IF sy-subrc = 0.

        MOVE itab_zycit003-ebeln  TO  itab_geral-ebeln.

...

 

...

  APPEND afield TO i_fieldcat.

  i = i + 8.

  CLEAR afield.

  afield-col_pos = i.

  afield-fieldname = 'NDESPACH'.

  afield-ref_fieldname = 'NAME1'.

  afield-ref_tabname = 'LFA1'.

  afield-seltext_s = text-034.

  afield-seltext_l = text-034.

  afield-seltext_m = text-034.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  APPEND afield TO i_fieldcat.

  i = i + 8.

  CLEAR afield.

  afield-col_pos = i.

  afield-fieldname = 'DT_RETMERC'.

  afield-ref_fieldname = 'DT_RETMERC'.

  afield-ref_tabname = '/PWS/ZYCIT001'.

  afield-seltext_s = text-040.

  afield-seltext_l = text-040.

  afield-seltext_m = text-040.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  i = i + 8.

  CLEAR afield.

  afield-col_pos = i.

  afield-fieldname = 'DTEMISS'.

  afield-ref_fieldname = 'DTEMISS'.

  afield-ref_tabname = '/PWS/ZYCIT004'.

  afield-seltext_s = text-035.

  afield-seltext_l = text-035.

  afield-seltext_m = text-035.

...

 

...

  i = i + 8.

  CLEAR afield.

  afield-col_pos = i.

  afield-fieldname = 'DTINCL'.

  afield-ref_fieldname = 'DTINCL'.

  afield-ref_tabname = ''.

  afield-outputlen = 13.

  afield-seltext_s = text-039.

  afield-seltext_l = text-039.

  afield-seltext_m = text-039.

* >> Início da inclusão: FORM F_FIELDCAT_FILL

  APPEND afield TO i_fieldcat.

  i = i + 8.

  CLEAR afield.

  afield-col_pos = i.

  afield-fieldname = 'DTLIBCARREG'.

  afield-ref_fieldname = 'DTLIBCARREG'.

  afield-ref_tabname = '/PWS/ZYCIT001'.

  afield-seltext_s = text-041.

  afield-seltext_l = text-041.

  afield-seltext_m = text-041.

* << Fim da inclusão

  APPEND afield TO i_fieldcat.

  i = i + 8.

  CLEAR afield.

  afield-col_pos = i.

  afield-fieldname = 'DT_MB01'.

  afield-ref_fieldname = ''.

  afield-ref_tabname = ''.

  afield-seltext_s = text-012.

  afield-seltext_l = text-012.

  afield-seltext_m = text-012.

...

 

...

            itab_geral-despach     TO i_result-despach     ,

            itab_geral-dtemiss     TO i_result-dtemiss     ,

            itab_geral-dtcheg      TO i_result-dtcheg      ,

            itab_geral-dtdes       TO i_result-dtdes       ,

            itab_geral-dtreg       TO i_result-dtreg       ,

            itab_geral-dtincl      TO i_result-dtincl      ,

            itab_geral-dt_mb01     TO i_result-dt_mb01     ,

            itab_geral-dt_cheg_reg TO i_result-dt_cheg_reg ,

            itab_geral-dt_cheg_des TO i_result-dt_cheg_des ,

            itab_geral-dt_cheg_rec TO i_result-dt_cheg_rec ,

* >> Início da inclusão: FORM F_MONTA_FINAL

            itab_geral-dt_retmerc  TO i_result-dt_retmerc  ,

            itab_geral-dtlibcarreg  TO i_result-dtlibcarreg,

* << Fim da inclusão

            itab_geral-dt_reg_des  TO i_result-dt_reg_des  .

    APPEND i_result.

    CLEAR i_result.

  ENDLOOP.

  LOOP AT i_result

    WHERE  ebeln    IN s_ebeln

      AND  nrseq    IN s_nrseq

      AND  embarca  IN s_embar

      AND  meioemba IN s_meioe

      AND  lifnr    IN s_lifnr

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPT /PWS/SAPMZYCI030

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 009

 

Texto: (13 caracteres)

"Não existe DI"

 

Comprimento máximo: 13

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 010

 

Texto: (47 caracteres)

"Ínicio do Controle de Datas  para este Critério"

 

Comprimento máximo: 52

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 011

 

Texto: (70 caracteres)

"Sem informações de Lead Time para o Agente e Modalidade de Transpo"

"rte."

 

Comprimento máximo: 74

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 012

 

Texto: (74 caracteres)

"Efetue o registro dos Lead Times para o Agente e Modalidade de Tra"

"nsporte."

 

Comprimento máximo: 78

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 013

 

Texto: (19 caracteres)

"Acessar o Cadastro?"

 

Comprimento máximo: 19

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 014

 

Texto: (33 caracteres)

"Sem informações de Lead Time para"

 

Comprimento máximo: 33

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 015

 

Texto: (39 caracteres)

"este Agente e Modalidade de Transporte."

 

Comprimento máximo: 60

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 016

 

Texto: (92 caracteres)

"Este é o primeiro cadastro no Lead Time para este agente, porto de"

" origem, porto de destino."

 

Comprimento máximo: 92

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 017

 

Texto: (61 caracteres)

"Favor informar todas as datas previstas do controle de datas."

 

Comprimento máximo: 66

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 018

 

Texto: (28 caracteres)

"Deseja continuar a gravação?"

 

Comprimento máximo: 60

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 019

 

Texto: (49 caracteres)

"Não Existe BL. Data efetiva de embarque eliminada"

 

Comprimento máximo: 49

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 020

 

Texto: (48 caracteres)

"Não Existe BL. Data efetiva de chegada eliminada"

 

Comprimento máximo: 48

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 021

 

Texto: (40 caracteres)

"Favor preencher todas as datas previstas"

 

Comprimento máximo: 40

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPT /PWS/ZYCIR018

 

------------------------------------------------------------------------

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 035

 

Texto: (11 caracteres)

"Dt.Embarque"

 

Comprimento máximo: 20

 

------------------------------------------------------------------------

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 039

 

Texto: (14 caracteres)

"Dt.Inclusão NF"

 

Comprimento máximo: 15

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 040

 

Texto: (19 caracteres)

"Dt.Disponibilização"

 

Comprimento máximo: 20

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 041

 

Texto: (14 caracteres)

"DT.Lib.Carreg."

 

Comprimento máximo: 16

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT497   TABD /PWS/ZYCIE497

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT497

DESCRIÇÃO BREVE: CI - Tempo Médio por Processo / Modalidade de Despacho

 

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.VAL.:     TAB.REF.:     CPO.RE

 

MANDT          MANDT    X    X     T000        T000

AGENTE          /PWS/ZYCIL006  X    X     LFA1        LFA1

PAISPAO   /PWS/ZYCIL353  X  X     T005        T005

PAORIGEM   /PWS/ZYCIL014  X  X     T615        T615

PAISPA          /PWS/ZYCIL352  X  X     T005        T005

PADEST          /PWS/ZYCIL004  X  X     T615        T615

MEIOEMBA   /PWS/ZYCIL138  X  X     /PWS/ZYCIT054

LEAD_TIME_1   /PWS/ZYCIL867                

LEAD_TIME_2   /PWS/ZYCIL867                

LEAD_TIME_3   /PWS/ZYCIL867                

LEAD_TIME_4   /PWS/ZYCIL867                

 

 

OPÇÕES TÉCNICAS

 

TIPO DE DADOS: APPL0

CATEGOR. TAMANHO: 0

 

(X) - AR. BUFFER NÃO PERMITIDO

(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO

(_) - AR. BUFFER ATIVADO

(_) - RGSTS. IND ARMAZENADOS

(_) - ÁREA GEN ARMAZENADA EM BUFFER   Nº DE CPOS CHAVE: ______

(_) - TOTALMENTE ARMAZENADO

(_) - REGISTRAR MODIFICS. DDS. EM LOG.

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT001   TABD /PWS/ZYCIE001

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT001

DESCRIÇÃO BREVE: CI - Embarque de Importação

 

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO       CH: INI:  TAB.VERIF.:   TAB.VAL.:     TAB.REF.:     CPO.RE

 

FLAG_LEAD_TIME  /PWS/ZYCIL868

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT000

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO       CH: INI:  TAB.VERIF.:   TAB.VAL.:     TAB.REF.:     CPO.RE

 

NDIAS_LEAD_TIME /PWS/ZYCIL869

 

 

 

********* OBS **********

* NÃO EXECUTAR AUTOMÁTICAMENTE O "GERADOR DE ATUALIZAÇÃO DE TABELA" PARA A TABELA /PWS/ZYCIT000

* EXECUTAR ESTE PROCESSO MANUALMENTE PARA INCLUIR O CAMPO NDIAS_LEAD_TIME

* NA TELA DE SÍNTESE 555 E NA TELA INDIVIDUAL 5

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT497

 

MODIFICAR DOMÍNIO: /PWS/ZYCID181

DESCRIÇÃO BREVE: Número de Dias Entre Datas

 

DEFINIÇÃO

 

FORMATO:

CATEGORIA DE DADOS: NUMC

NUM. POISÇÕES:      5

DECIMAIS:           0

 

CARACTERÍSTICAS DE SAÍDA:

COMPRIM. SAÍDA:     5

ROTINA CONVERSÃO:   ____________

(_) - SINAL(+/-)

(_) - LETR. MAIÚSCULAS: ________

 

ÁREA DE VALORES

 

VALORES INDIVIDUAIS

VALOR FIXO:        DESCRIÇÃO BREVE:

 

INTERVALOS

LIMITE INF.:    LIMITE SUP.:    DESCRIÇÃO BREVE:

 

TABELA VALORES: _________________________

 

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT497

 

 

MODIFICAR ELEMENTO DE DADOS: /PWS/ZYCIL867

DESCRIÇÃO BREVE: Número de Dias

 

DEFINIÇÃO

 

CATEGORIA DE DADOS:

(x) - CATEGORIA ELEMENTAR

   (x) - DOMÍNIO            /PWS/ZYCID181

   (_) - TIPO INSTALADO     CTG. DADOS: ________________

         CUMPRIMEN.________ DECIMAIS.________

(_) - TIPO DE REFERÊNCIA

      REFERÊNCIA A:_____________________________________

 

ATRIBUTOS:

 

REDIMENS:      (_) - VERTICAL    (_) - HORIZONTAL

               ___ - LINHAS MIN. ___ - COLUNAS MIN.

 

CARACTERÍSTICAS:

ID PARÂMETRO: ____________________

NOME COMPENENTE DEFAULT: ________________________

(_) DOC. MODIFICAÇÃO

 

AJUDA PARA PESQUISA

NOME: __________________________

PARÂMETROS: __________________________

 

DENOM. DE CAMPO:

 

BREVE : 10  Nº Dias

MÉDIO : 20  Lead Time

LONGA : 30  Nº Dias Entre as Datas

TÍTULO: ___  _______________________________________________

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DOMA /PWS/ZYCID181

 

------------------------------------------------------------------------

Domínio incluído: /PWS/ZYCID181

Descrição breve incluída (26 caracteres), idioma: PT

"Número de Dias Entre Datas"

Classe de desenvolvimento: /PWS/ZYCI

Idioma original: PT

Categoria de dados: NUMC

Número de posições: 5

Comprimento de saída: 5

Rotina de conversão:

Incluída tabela de valores:

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DTEL /PWS/ZYCIL867

 

------------------------------------------------------------------------

Elemento de dados incluído: /PWS/ZYCIL867

Classe de desenvolvimento: /PWS/ZYCI

Idioma original: PT

Descrição breve incluída: (14 caracteres), idioma: PT

"Número de Dias"

Categoria de dados: Domínio

Domínio: /PWS/ZYCID181

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (7 caracteres), idioma: PT

"Nº Dias"

Comprimento máximo do denominador médio: 20

Denominador médio incluído (9 caracteres), idioma: PT

"Lead Time"

Comprimento máximo do denominador longo: 30

Denominador longo incluído (22 caracteres), idioma: PT

"Nº Dias Entre as Datas"

Comprimento máximo do título: 00

Título incluído (0 caracteres), idioma: PT

""

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DTEL /PWS/ZYCIL868

 

------------------------------------------------------------------------

Elemento de dados incluído: /PWS/ZYCIL868

Classe de desenvolvimento: /PWS/ZYCI

Idioma original: PT

Descrição breve incluída: (27 caracteres), idioma: PT

"CI  - Excluído do Lead Time"

Categoria de dados: Domínio

Domínio: XFIELD

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (9 caracteres), idioma: PT

"Lead Time"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (14 caracteres), idioma: PT

"Exc. Lead Time"

Comprimento máximo do denominador longo: 21

Denominador longo incluído (21 caracteres), idioma: PT

"Excluído do Lead Time"

Comprimento máximo do título: 00

Título incluído (0 caracteres), idioma: PT

""

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DTEL /PWS/ZYCIL869

 

------------------------------------------------------------------------

Elemento de dados incluído: /PWS/ZYCIL869

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (52 caracteres), idioma: PT

"GL - N° dias para seleção dos embarques no Lead Time"

Categoria de dados: Domínio

Domínio: NUMC3

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (10 caracteres), idioma: PT

"Nº dia Emb"

Comprimento máximo do denominador médio: 16

Denominador médio incluído (15 caracteres), idioma: PT

"Nº dias de Emb."

Comprimento máximo do denominador longo: 35

Denominador longo incluído (34 caracteres), idioma: PT

"Nº dias para seleção dos Embarques"

Comprimento máximo do título: 00

Título incluído (0 caracteres), idioma: PT

""