CE PLUS - Nota 007128

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 12/08/2008 00:00:00

Data/Hora Última Alteração: 09/03/2010 14:12:55

Descrição da Nota: IMPLEMENTAÇÃO DO MODULO CONTROLE DE DATAS NO EMBARQUE

Sintoma

 

Controle de Datas no Embarque

 

Solução

 

Novo desenvolvimento no programa de Controle de Datas no Embarque.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 07128 Data: 12/08/2008 Hora: 15:29:36

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

 

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

Nota Número              : 07128

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00060

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

IMPLEMENTAÇÃO DO MODULO CONTROLE DE DATAS NO EMBARQUE

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

Palavras Chave:

CONTROLE - DATAS - EMBARQUE

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI030                        0001

DYNP /PWS/SAPMZYCI030                        0100

REPS /PWS/MZYCI001I01

REPS /PWS/MZYCI030F01

REPS /PWS/MZYCI030I01

REPS /PWS/MZYCI030O01

REPS /PWS/MZYCI030TOP

TABD /PWS/ZYCIE284

TABD /PWS/ZYCIT284

 

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

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

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001

PROCESS BEFORE OUTPUT.

* >> Início da exclusão:

   module status.

* << Fim da exclusão

* >> Início da inclusão:

  MODULE: STATUS_0001.

* << Fim da inclusão

PROCESS AFTER INPUT.

 MODULE: USER_COMMAND_0001,

         user_command_exit at exit-command.

 

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

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

 

MODIFICAR CARACTERÍSTICAS DA TELA 0100

Altura atual (linhas)    25

 

INCLUIR FRAME ""

Altura                   18

Comprimento Visível      37

Linha                    7

Coluna                   3

Formato                  CHAR

 

INCLUIR FRAME ""

Altura                   18

Comprimento Visível      38

Linha                    7

Coluna                   42

Formato                  CHAR

 

INCLUIR FRAME ""

Altura                   18

Comprimento Visível      38

Linha                    7

Coluna                   82

Formato                  CHAR

 

MODIFICAR FRAME "%#AUTOTEXT001"

Altura                   21

 

INCLUIR TEXTO "%#AUTOTEXT002"

Comprimento Visível      11

Linha                    3

Coluna                   4

Formato                  CHAR

Texto                    Dt. Início:

Código função

 

INCLUIR TEXTO "%#AUTOTEXT003"

Comprimento Visível      14

Linha                    6

Coluna                   43

Formato                  CHAR

Texto                    Datas Efetivas

Código função

 

INCLUIR TEXTO "%#AUTOTEXT004"

Comprimento Visível      8

Linha                    6

Coluna                   83

Formato                  CHAR

Texto                    Períodos

Código função

 

INCLUIR TEXTO "%#AUTOTEXT005"

Comprimento Visível      15

Linha                    6

Coluna                   4

Formato                  CHAR

Texto                    Datas Previstas

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DTLIBCARREG"

Comprimento Visível      10

Linha                    18

Coluna                   49

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE001-DTLIBCARREG"

Comprimento Visível      35

Linha                    17

Coluna                   43

Formato                  CHAR

Texto                    Data de liberação para carregamento

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVEMB"

Comprimento Visível      10

Linha                    12

Coluna                   10

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE001-DTPREVEMB"

Comprimento Visível      16

Linha                    11

Coluna                   4

Formato                  CHAR

Texto                    Data de embarque

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVLIBCARREG"

Comprimento Visível      10

Linha                    18

Coluna                   10

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE001-DTPREVLIBCARREG"

Comprimento Visível      35

Linha                    17

Coluna                   4

Formato                  CHAR

Texto                    Data de liberação para carregamento

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DTPREVRETMERC"

Comprimento Visível      10

Linha                    9

Coluna                   10

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE001-DTPREVRETMERC"

Comprimento Visível      24

Linha                    8

Coluna                   4

Formato                  CHAR

Texto                    Data de disponibilização

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DT_PREV_ENTR"

Comprimento Visível      10

Linha                    21

Coluna                   10

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE001-DT_PREV_ENTR"

Comprimento Visível      15

Linha                    20

Coluna                   4

Formato                  CHAR

Texto                    Data de entrega

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE001-DT_RETMERC"

Comprimento Visível      10

Linha                    9

Coluna                   49

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE001-DT_RETMERC"

Comprimento Visível      24

Linha                    8

Coluna                   43

Formato                  CHAR

Texto                    Data de disponibilização

Código função

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE093-DTCHEG"

Comprimento Visível      10

Linha                    15

Coluna                   49

Formato                  DATE

Linhas mínimas           8

Texto                    __________

Código função

 

INCLUIR TEXTO "/PWS/ZYCIE093-DTCHEG"

Comprimento Visível      15

Linha                    14

Coluna                   43

Formato                  CHAR

Texto                    Data de chegada

Código função

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-BUKRS"

Coluna                   89

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-DTCHEG"

Linha                    21

Coluna                   49

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTCHEG"

Comprimento Visível      15

Linha                    20

Coluna                   43

Texto                    Data de entrega

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-DTEMISS"

Linha                    12

Coluna                   49

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTEMISS"

Comprimento Visível      16

Linha                    11

Coluna                   43

Texto                    Data de embarque

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-DTINICIO"

Linha                    3

 

EXCLUIR TEXTO "/PWS/ZYCIE284-DTINICIO"

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-DTLIB"

Linha                    13

Coluna                   89

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTLIB"

Comprimento Visível      9

Linha                    12

Coluna                   83

Texto                    Liberação

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-DTPRCHEG"

Linha                    15

Coluna                   10

 

MODIFICAR TEXTO "/PWS/ZYCIE284-DTPRCHEG"

Comprimento Visível      15

Texto                    Data de chegada

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-EMBARCA"

Coluna                   25

 

MODIFICAR TEXTO "/PWS/ZYCIE284-EMBARCA"

Coluna                   4

 

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

Comprimento Visível      1

Linha                    23

Coluna                   4

Formato                  CHAR

Linhas mínimas           1

Texto                    _

 

INCLUIR CHTXT "/PWS/ZYCIE284-FLAG_LEAD_TIME"

Comprimento Visível      21

Linha                    23

Coluna                   6

Formato                  CHAR

Texto                    Excluído do Lead Time

Código função

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-J_1BBRANCH"

Coluna                   94

 

MODIFICAR TEXTO "/PWS/ZYCIE284-J_1BBRANCH"

Coluna                   68

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-NRSEQ"

Coluna                   41

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-NR_LIBERACAO"

Linha                    10

Coluna                   107

 

MODIFICAR TEXTO "/PWS/ZYCIE284-NR_LIBERACAO"

Comprimento Visível      20

Linha                    10

Coluna                   83

Texto                    Período de liberação

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE284-NR_TRANSPORTE"

Linha                    8

Coluna                   107

 

MODIFICAR TEXTO "/PWS/ZYCIE284-NR_TRANSPORTE"

Comprimento Visível      21

Linha                    8

Coluna                   83

Texto                    Período de transporte

 

MODIFICAR CAMPO TEXTO "V_DIA_BL"

Linha                    12

Coluna                   60

 

MODIFICAR CAMPO TEXTO "V_DIA_CHEG"

Linha                    15

Coluna                   21

 

INCLUIR CAMPO TEXTO "V_DIA_DTCHEG_E"

Comprimento Visível      18

Linha                    15

Coluna                   60

Formato                  CHAR

Texto                    __________________

 

MODIFICAR CAMPO TEXTO "V_DIA_EMB"

Linha                    3

 

MODIFICAR CAMPO TEXTO "V_DIA_LIB"

Linha                    13

Coluna                   100

 

INCLUIR CAMPO TEXTO "V_DIA_LIBCARREG"

Comprimento Visível      18

Linha                    18

Coluna                   60

Formato                  CHAR

Texto                    __________________

 

INCLUIR CAMPO TEXTO "V_DIA_PREVEMB"

Comprimento Visível      18

Linha                    12

Coluna                   21

Formato                  CHAR

Texto                    __________________

 

INCLUIR CAMPO TEXTO "V_DIA_PREVLIBCARREG"

Comprimento Visível      18

Linha                    18

Coluna                   21

Formato                  CHAR

Texto                    __________________

 

INCLUIR CAMPO TEXTO "V_DIA_PREV_ENTR"

Comprimento Visível      18

Linha                    21

Coluna                   21

Formato                  CHAR

Texto                    __________________

 

INCLUIR CAMPO TEXTO "V_DIA_PREV_RETMERC"

Comprimento Visível      18

Linha                    9

Coluna                   21

Formato                  CHAR

Texto                    __________________

 

MODIFICAR CAMPO TEXTO "V_DIA_REAL"

Linha                    21

Coluna                   60

 

INCLUIR CAMPO TEXTO "V_DIA_RETMERC"

Comprimento Visível      18

Linha                    9

Coluna                   60

Formato                  CHAR

Texto                    __________________

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0100

PROCESS BEFORE OUTPUT.

* >> Início da exclusão:

  MODULE:

          status,

          dia_semana .

* << Fim da exclusão

* >> Início da inclusão:

  MODULE: STATUS_0100,

          SET_SCREEN,

          DIA_SEMANA.

* << Fim da inclusão

PROCESS AFTER INPUT.

  MODULE: USER_COMMAND_0100,

          user_command_exit at exit-command.

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

                  start_row             = 6

             IMPORTING

                  answer                = v_resposta

             EXCEPTIONS

                  text_not_found        = 1

                  OTHERS                = 2.

        IF sy-subrc EQ 0 AND v_resposta EQ '1'.

          v_cont = v_cont + 1.

          PERFORM gravar_custos.

        ENDIF.

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

      WHEN 'DATAS'.

        EXPORT v_tcode TO MEMORY ID 'V_TCODE'.

        SET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.

        PERFORM valida_trans USING '/PWS/ZYCI030' 'skip'.

        SELECT SINGLE *

        FROM /pws/zycit001

        INTO /pws/zycie001

        WHERE nrseq = /pws/zycie001-nrseq.

* << Fim da inclusão

    ENDCASE.

  ENDIF.

  CLEAR okcode.

ENDMODULE.

MODULE user_command_0002 INPUT.

  CASE okcode.

    WHEN 'ENTER'.

      PERFORM trata_enter_0002.

    WHEN 'CANCEL' .

      LEAVE TO SCREEN 0.

...

 

 

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

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

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

    datum               = p_data

* << Fim da exclusão

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

            datum         = p_data

* << Fim da inclusão

  IMPORTING

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

    DIA_DA_SEMANA       = p_dia_semana.

* << Fim da exclusão

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

            dia_da_semana = p_dia_semana.

* << Fim da inclusão

endform.

form modo_batch_input.

clear: /pws/zycbt039, itab_modo.

...

 

...

            i_func                  = p_func

            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.

* >> Início da inclusão:

FORM seleciona_embarque.

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

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

  SELECT SINGLE * FROM /pws/zycit001

         WHERE nrseq EQ /pws/zycie284-nrseq.

  IF sy-subrc NE 0.

    MESSAGE w015 WITH text-001.

    EXIT.

  ELSE.

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

    DATA: BEGIN OF itab_zycbt007 OCCURS 0.

            INCLUDE STRUCTURE /pws/zycbt007.

    DATA: END OF itab_zycbt007.

    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.

  ENDIF.

  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

           WHERE nrseq EQ /pws/zycie284-nrseq.

  SELECT SINGLE * FROM /pws/zycit094

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

  SELECT SINGLE * FROM /pws/zycit093

         WHERE nrseqce EQ /pws/zycit094-nrseqce.

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

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

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

  SELECT SINGLE * FROM /pws/zycit042

         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  .

  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

  WHERE nrseq EQ /pws/zycie001-nrseq.

  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.

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

            (itab_zyglt100-programa) IF FOUND.

      ENDIF.

      IF e_subrc EQ '8'.

        EXIT .

      ENDIF.

      IF e_subrc EQ '0'.

        CLEAR it_zycit032.

        FREE  it_zycit032.

        CALL FUNCTION '/PWS/ZYCI_TRANSACAO_ME22B'

             EXPORTING

                  v_nrseq    = /pws/zycie284-nrseq

                  v_dtlib    = /pws/zycie284-dtlib

                  v_modo     = v_modo_bi

             TABLES

                  t_zycit032 = it_zycit032

                  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

                                dtprcheg = /pws/zycie284-dtprcheg

                                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.

      /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.

      ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI030I01

 

MODULE user_command_0001 INPUT.

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

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

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

* << Fim da exclusão

  CASE okcode.

    WHEN 'ENTE'.

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

      SELECT SINGLE * FROM /pws/zycit001

             WHERE nrseq EQ /pws/zycie284-nrseq.

      IF sy-subrc NE 0.

        MESSAGE w015 WITH text-001.

        EXIT.

      ELSE.

        DATA: BEGIN OF itab_zycbt007 OCCURS 0.

                INCLUDE STRUCTURE /pws/zycbt007.

        DATA: END OF itab_zycbt007.

        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.

      ENDIF.

      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

             FROM /pws/zycit284

             INTO (/pws/zycie284-nr_transporte,

 /pws/zycie284-nr_liberacao)

             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

               WHERE nrseq EQ /pws/zycie284-nrseq.

      SELECT SINGLE * FROM /pws/zycit094

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

      SELECT SINGLE * FROM /pws/zycit093

             WHERE nrseqce EQ /pws/zycit094-nrseqce.

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

            /pws/zycit093-dtprcheg TO /pws/zycie284-dtprcheg,

            /pws/zycit093-dtcheg   TO /pws/zycie284-dtcheg  .

      PERFORM verifica_exit USING 'D'

                                 '/PWS/SAPMZYCI030'

                                 ' '.

      CALL SCREEN '0100'.

* << Fim da exclusão

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

      PERFORM seleciona_embarque.

* << Fim da inclusão

    WHEN  'BACK' OR 'LEAVE'.

      LEAVE PROGRAM.

  ENDCASE.

  CLEAR okcode.

ENDMODULE.

MODULE user_command_0100 INPUT.

  e_subrc = '0'.

  CASE okcode.

    WHEN 'CALC_DATA'.

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

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

      /pws/zycie284-nr_transporte.

      IF /pws/zycie284-dtcheg IS INITIAL.

        /pws/zycie284-dtcheg = /pws/zycie284-dtprcheg.

      ENDIF.

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

 /pws/zycie284-nr_liberacao.

* << Fim da exclusão

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

      PERFORM calc_data.

* << Fim da inclusão

    WHEN 'ATUALIZA'.

      IF /pws/zycie284-dtlib IS INITIAL.

        MESSAGE s015 WITH text-003.

        EXIT.

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

      ENDIF.

      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

            (itab_zyglt100-programa) IF FOUND.

      ENDIF.

      IF e_subrc EQ '8'.

        EXIT .

      ENDIF.

      IF e_subrc EQ '0'.

        CLEAR it_zycit032.

        FREE  it_zycit032.

        CALL FUNCTION '/PWS/ZYCI_TRANSACAO_ME22B'

             EXPORTING

                  v_nrseq    = /pws/zycie284-nrseq

                  v_dtlib    = /pws/zycie284-dtlib

                  v_modo     = v_modo_bi

             TABLES

                  t_zycit032 = it_zycit032

                  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

                                dtprcheg = /pws/zycie284-dtprcheg

                                dtcheg   = /pws/zycie284-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.

* << Fim da exclusão

      ENDIF.

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

      PERFORM grava_tabelas.

      PERFORM fill_data_ME22B.

* << Fim da inclusão

    WHEN 'MODO'.

      PERFORM modo_batch_input.

    WHEN 'BACK'.

      LEAVE TO SCREEN '0001'.

  ENDCASE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI030O01

 

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

MODULE status_0100 OUTPUT.

  DATA: v_tcode         LIKE sy-tcode.

  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  '0100'.

  ELSEIF sy-dynnr EQ '0001'.

    SET PF-STATUS '0001'.

    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.

* << Fim da inclusão

module dia_semana output.

  perform dia_semana using /PWS/ZYCIE284-DTINICIO

                     changing v_dia_emb.

  perform dia_semana using /PWS/ZYCIE284-DTEMISS

                     changing v_dia_bl.

  perform dia_semana using /PWS/ZYCIE284-DTPRCHEG

                     changing v_dia_cheg.

  perform dia_semana using /PWS/ZYCIE284-DTCHEG

                     changing v_dia_real.

  perform dia_semana using /PWS/ZYCIE284-DTLIB

                     changing v_dia_lib.

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

  PERFORM dia_semana USING /pws/zycie001-dtprevretmerc

                     CHANGING v_dia_prev_retmerc.

  PERFORM dia_semana USING /pws/zycie001-dtprevlibcarreg

                     CHANGING v_dia_prevlibcarreg.

  PERFORM dia_semana USING /pws/zycie001-dtprevemb

                     CHANGING v_dia_prevemb.

  PERFORM dia_semana USING /pws/zycie001-dt_prev_entr

                     CHANGING v_dia_prev_entr.

  PERFORM dia_semana USING /pws/zycie001-dt_retmerc

                     CHANGING v_dia_retmerc.

  PERFORM dia_semana USING /pws/zycie001-dtlibcarreg

                     CHANGING v_dia_libcarreg.

  PERFORM dia_semana USING /pws/zycie093-dtcheg

                     CHANGING v_dia_dtcheg_e.

* << Fim da inclusão

endmodule.

module STATUS_0001 output.

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

  SET PF-STATUS '0001'.

  SET TITLEBAR  '0001'.

endmodule.

module STATUS_0100 output.

  SET PF-STATUS '0100'.

  SET TITLEBAR  '0100'.

endmodule.

module status output.

* << Fim da exclusão

    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  '0100'.

   elseif sy-dynnr eq '0001'.

      SET PF-STATUS '0001'.

      SET TITLEBAR  '0001'.

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

  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.

* << Fim da inclusão

   endif.

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

endmodule.

* << Fim da exclusão

* >> Início da inclusão:

endmodule.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI030TOP

 

* >> Início da exclusão:

PROGRAM  /PWS/SAPMZYCI030 message-id /pws/zycim.

INCLUDE:  /pws/mzyci030x01.

* << Fim da exclusão

* >> Início da inclusão:

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

TABLES: /pws/zycit001,

        /pws/zycit003,

        /pws/zycbt039,

        /pws/zycit093,

        /pws/zycit094,

        /pws/zycit284,

        /pws/zycie284,

        /pws/zycie001,

        /pws/zycie093,

        /pws/zycit041,

        /pws/zycit042,

        /pws/zycit043,

        /pws/zycit044.

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.

DATA: BEGIN OF it_zycit042 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit042.

DATA: END OF it_zycit042.

DATA: BEGIN OF it_code OCCURS 10,

        fcode LIKE rsmpe-func,

      END OF it_code.

DATA: okcode LIKE sy-ucomm ,

      v_dia_emb(18)  TYPE c,

      v_dia_bl(18)   TYPE c,

      v_dia_cheg(18) TYPE c,

      v_dia_real(18) TYPE c,

      v_dia_lib(18)  TYPE c,

      v_dia_prev_retmerc(18)      TYPE c,

      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'   ,

       rimc7           LIKE indx-srtfd VALUE 'NRSEQ'.

DATA: wa_zycit001  LIKE /pws/zycit001.

* << Fim da inclusão

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

 

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

Modificações efetuadas em TABD /PWS/ZYCIT284 e /PWS/ZYCIE284

*Inclusão do Campo FLAG_LEAD_TIME

* /PWS/ZYCIT284

Campo          Ch Inic.    Tipo de Campo     Categoria de DA   Compr.  Casas Dec.   Descrição Breve

FLAG_LEAD_TIME       CHAR1           CHAR          1    0         Código de uma

posição

 

* /PWS/ZYCIE284

Componente          TipoComponente   CtDd      Compr.  Casas Dec.   Descrição Breve

FLAG_LEAD_TIME CHAR1          CHAR 1 0      Código de uma posição