CE PLUS - Nota 002122

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DA

Data/Hora da Publicação: 18/09/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:30:59

Descrição da Nota: AJUSTES CONSISTÊNCIAS ITENS NA DA, FECHAMENTO DE PASTAS

Sintoma

 Não deixar alterar a quantidade da DA (regime 02) após criação de embarque de nacionalização

(regime 14) ou se tiver documentos compensados na DA. Fechar a pasta lote após a criação de embarque

de nacionalização (regime 14).

Não salvar a DA se algum pedido na pasta item não estiver com o campo "Qtd DA" preenchido.  Deverá

aparecer a seguinte mensagem "Não permitido salvar esta DA. Existem itens com qt DA zerados"

Quando o pedido na pasta item é eliminado e um novo pedido é inserido, o pedido eliminado aparece

novamente.

 

 

Solução

ajustar eliminação de itens e consistências de lotes.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

QUANTIDADE NACIONALIZADA DA DA NÃO ESTÁ CORRETA

Informações Complementares

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

Nota Número 02122 Data: 18/09/2006 Hora: 11:18:20

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

 

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

Nota Número              : 02122

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00024

Agrupamento              : 00133

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

Referência às notas relacionadas:

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

 

01323  - 00001 - 6.0    - 00023  - DECLARAÇÃO DE ADMISSÃO PARA ENTREPOSTO ADUANEIRO

01999  - 00002 - 6.0    - 00024  - QUANTIDADE NACIONALIZADA DA DA NÃO ESTÁ CORRETA

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

AJUSTES CONSISTÊNCIAS ITENS NA DA, FECHAMENTO DE PASTAS

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

Palavras Chave:

DA - LOTES - ITENS - QUANTIDADE DA - FECHAMENTO DE PASTAS

PASTA LOTE - SALVAR DA

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

Objetos da nota:

DYNP /PWS/SAPMZYCI070                        0150

DYNP /PWS/SAPMZYCI070                        0220

REPS /PWS/MZYCI070F01

REPS /PWS/MZYCI070F03

REPS /PWS/MZYCI070F05

REPS /PWS/MZYCI070I01

REPS /PWS/MZYCI070O01

REPS /PWS/MZYCI070X01

REPT /PWS/SAPMZYCI070

TABD /PWS/ZYCIE463

TABD /PWS/ZYCIT463

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI070                        0150

 

PROCESS BEFORE OUTPUT.

 

  MODULE: screen_lines,

          set_screen.

 

  LOOP AT itab_it WITH CONTROL tc_item.

*<< Início Inclusão TELA 0150

    MODULE: set_status_item.

*<< Fim Inclusão

    MODULE: set_screen_table,

            fill_structit,

            saldo_online_da.

  ENDLOOP.

 

PROCESS AFTER INPUT.

 

  LOOP AT itab_it.

    CHAIN.

      FIELD v_qtd_da MODULE saldo_online_da ON INPUT.

    ENDCHAIN.

 

    MODULE: modi_datait.

  ENDLOOP.

 

  MODULE user_command_drill_down.

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI070                        0220

 

 

PROCESS BEFORE OUTPUT.

 

  MODULE: set_screen.

 

  MODULE: define_linhas_lote.

 

  LOOP AT itab_lote CURSOR tc_lote-current_line.

*<< Início Inclusão TELA 0220

    MODULE: set_status_lote.

*<< Fim Inclusão

    MODULE: carrega_estrutura_lote,

            set_screen_lines.

  ENDLOOP.

 

 

PROCESS AFTER INPUT.

  LOOP AT itab_lote.

    CHAIN.

      FIELD: /pws/zycie463-ebeln,

             /pws/zycie463-ebelp

        MODULE valida_pedido. " ON INPUT.

    ENDCHAIN.

 

    FIELD /pws/zycie463-numfatura

      MODULE valida_fatura ON INPUT.

 

    CHAIN.

      FIELD /pws/zycie463-matnr

        MODULE valida_material ON INPUT.

    ENDCHAIN.

 

    CHAIN.

      FIELD /pws/zycie463-qtd_lote

        MODULE valida_quantidade ON INPUT.

    ENDCHAIN.

 

    FIELD /pws/zycie463-dt_fabricacao

      MODULE valida_data_fabricacao ON INPUT.

 

    FIELD /pws/zycie463-dt_validade

      MODULE valida_data_validade ON INPUT.

 

    MODULE carrega_tabela_lote.

  ENDLOOP.

 

  MODULE user_command_0220.

 

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

Modificações efetuadas em REPS /PWS/MZYCI070F01

 

...

ENDFORM.

FORM save_data.

  DATA v_itseqda   TYPE /pws/zycie455-itseqda.

  DATA v_nrseqlote TYPE /pws/zycie463-nrseqlote.

  DATA vl_erro.

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

  LOOP AT itab_it WHERE qtd_da IS INITIAL.

    EXIT.

  ENDLOOP.

  IF sy-subrc EQ 0.

    MESSAGE i104 WITH text-492 text-493.

    EXIT.

  ENDIF.

* << Fim da inclusão

  IF v_required EQ '1'.

    CHECK NOT /pws/zycie442-dttax IS INITIAL.

  ENDIF.

  IF NOT /pws/zycie442-dttax IS INITIAL AND NOT v_nottax IS INITIAL.

    MESSAGE i104 WITH text-231 text-232.

...

 

...

    LOOP AT itab_zycit463.

      CLEAR /pws/zycit463.

      /pws/zycit463-mandt         = sy-mandt.

      /pws/zycit463-nrseqda       = itab_zycit463-nrseqda.

      /pws/zycit463-nrseqlote     = itab_zycit463-nrseqlote.

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

      /pws/zycit463-ebeln         = itab_zycit463-ebeln.

      /pws/zycit463-ebelp         = itab_zycit463-ebelp.

* << Fim da inclusão

      /pws/zycit463-lote_forn     = itab_zycit463-lote_forn.

      /pws/zycit463-numfatura     = itab_zycit463-numfatura.

      /pws/zycit463-matnr         = itab_zycit463-matnr.

      /pws/zycit463-qtd_lote      = itab_zycit463-qtd_lote.

      /pws/zycit463-dt_validade   = itab_zycit463-dt_validade.

...

 

...

    v_tabix = sy-tabix.

    CLEAR itab_zycit463.

    itab_zycit463-mandt         = sy-mandt.

    itab_zycit463-nrseqda       = itab_lote-nrseqda.

    itab_zycit463-nrseqlote     = itab_lote-nrseqlote.

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

    itab_zycit463-ebeln         = itab_lote-ebeln.

    itab_zycit463-ebelp         = itab_lote-ebelp.

* << Fim da inclusão

    itab_zycit463-lote_forn     = itab_lote-lote_forn.

    itab_zycit463-numfatura     = itab_lote-numfatura.

    itab_zycit463-matnr         = itab_lote-matnr.

    itab_zycit463-qtd_lote      = itab_lote-qtd_lote.

    itab_zycit463-dt_validade   = itab_lote-dt_validade.

...

 

...

  PERFORM carrega_incoterm.

  PERFORM seleciona_saldo_da.

  PERFORM lock_record.

  MOVE /pws/zycie442 TO wa_zycit442.

  MOVE itab_it[] TO itab_ita[].

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

  PERFORM atualiza_doccmp.

* << Fim da inclusão

  v_acto       = 'A'.

  v_txtdisplay = space.

  v_txtsave    = 'X'.

  IF sy-tcode EQ '/PWS/ZYCI070_E'.

    v_acto       = 'E'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI070F03

 

...

         AND ebelp EQ itab_zycit443-ebelp.

    DELETE itab_zycit443_saldo WHERE nrseqda EQ /pws/zycie442-nrseqda.

  ENDIF.

ENDFORM.

FORM saldo_online_da.

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

  IF NOT itab_lote[] IS INITIAL.

    LOOP AT itab_lote.

    ENDLOOP.

  ENDIF.

* << Fim da inclusão

  CHECK /pws/zycie442-codreg NE '04'.

  CLEAR v_da_sem_saldo.

  CLEAR v_sd_utilizado.

  LOOP AT itab_zycit443_saldo

    WHERE ebeln = itab_it-ebeln

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI070F05

 

...

      if sy-subrc eq 0.

        v_nac = 'X'.

      endif.

    endif.

endform.

* >> Início da inclusão:

FORM atualiza_doccmp.

  DATA w_zycit466 TYPE /pws/zycie466.

  DATA w_zycit459 TYPE /pws/zycie459.

  CLEAR v_doccmp.

  IF NOT itab_zycit460[] IS INITIAL.

    SELECT *

      INTO  w_zycit466

      FROM  /pws/zycit466

      FOR ALL ENTRIES IN itab_zycit460

      WHERE nrseq       EQ /pws/zycie442-nrseqda

        AND banco       EQ itab_zycit460-lifnr

        AND NOT statusp IN ('X','I','S').

      v_doccmp = 'X'.

      EXIT.

    ENDSELECT.

    IF v_doccmp NE 'X'.

      SELECT *

        INTO  w_zycit459

        FROM  /pws/zycit459

        FOR ALL ENTRIES IN itab_zycit460

        WHERE nrseqda    EQ /pws/zycie442-nrseqda

          AND despach    EQ itab_zycit460-lifnr

          AND NOT status IN ('X','I').

        v_doccmp = 'X'.

        EXIT.

      ENDSELECT.

    ENDIF.

  ENDIF.

ENDFORM.

FORM set_status_item.

  DATA w_zycit001 TYPE /pws/zycie001.

  CLEAR v_embnac.

  LOOP AT itab_zycit455

    WHERE nrseqda EQ itab_it-nrseqda

      AND nrseq   NE ''

      AND ebeln   EQ itab_it-ebeln

      AND ebelp   EQ itab_it-ebelp

      AND adicao  EQ itab_it-adicao.

    SELECT SINGLE *

      INTO  w_zycit001

      FROM  /pws/zycit001

      WHERE nrseq  EQ itab_zycit455-nrseq

        AND regime EQ '14'.

    IF sy-subrc EQ 0.

      v_embnac = 'X'.

      EXIT.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_status_lote.

  CLEAR v_embnac.

  LOOP AT itab_it

    WHERE nrseqda EQ itab_lote-nrseqda

      AND ebeln   EQ itab_lote-ebeln

      AND ebelp   EQ itab_lote-ebelp.

    PERFORM set_status_item.

    IF v_embnac EQ 'X'.

      EXIT.

    ENDIF.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI070I01

 

...

                 solicita_adiantamento.

      WHEN 'CUSTO'.

        PERFORM: solicita_custo.

      WHEN 'COMPEN'.

        PERFORM compensa_conta_ia.

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

        PERFORM atualiza_doccmp.

* << Fim da inclusão

    ENDCASE.

  ENDIF.

  CLEAR: sy-ucomm, r_okcode.

ENDMODULE.

MODULE load_urf INPUT.

...

 

...

    MESSAGE e039

      WITH 'Fatura não cadastrada na DA'(461).

  ENDIF.

ENDMODULE.

MODULE valida_quantidade  INPUT.

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

  IF NOT sy-ucomm IS INITIAL AND

         sy-ucomm NE 'SAVE'.

    EXIT.

  ENDIF.

* << Fim da inclusão

  CLEAR wa_it.

  LOOP AT itab_it INTO wa_it

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

    WHERE matnr EQ /pws/zycie463-matnr.

* << Fim da exclusão

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

    WHERE ebeln EQ /pws/zycie463-ebeln

    AND   ebelp EQ /pws/zycie463-ebelp

    AND   matnr EQ /pws/zycie463-matnr.

* << Fim da inclusão

    SUM.

  ENDLOOP.

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

  IF NOT sy-subrc IS INITIAL.

    MESSAGE i015 WITH text-489

                      /pws/zycie463-ebeln

                      /pws/zycie463-ebelp

                      text-490.

    EXIT.

  ENDIF.

* << Fim da inclusão

  CLEAR wa_lote.

  LOOP AT itab_lote INTO wa_lote

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

    WHERE matnr EQ /pws/zycie463-matnr.

* << Fim da exclusão

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

    WHERE ebeln EQ /pws/zycie463-ebeln

    AND   ebelp EQ /pws/zycie463-ebelp

    AND   matnr EQ /pws/zycie463-matnr.

* << Fim da inclusão

    SUM.

  ENDLOOP.

  READ TABLE itab_lote

    INDEX tc_lote-current_line.

  IF sy-subrc EQ 0.

...

 

...

  ELSEIF /pws/zycie442-stdata3de LT /pws/zycie442-stdata2ate.

    MESSAGE e039

      WITH 'Data inicial deve ser maior que período anterior'(469).

  ENDIF.

ENDMODULE.

* >> Início da inclusão:

MODULE valida_pedido INPUT.

  IF /pws/zycie463-ebeln IS INITIAL OR

     /pws/zycie463-ebelp IS INITIAL.

    MESSAGE e015 WITH text-491.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI070O01

 

...

           screen-name EQ '/PWS/ZYCIE049-WAERS' OR

           sy-dynnr    EQ '0160'.

          screen-input = '1'.

        ENDIF.

      ENDIF.

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

      IF sy-dynnr EQ '0220' AND

        ( v_embnac EQ 'X' OR v_doccmp EQ 'X' OR

          NOT /pws/zycie463-qtd_nac IS INITIAL ).

        screen-input = '0'.

      ENDIF.

* << Fim da inclusão

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDMODULE.

MODULE set_screen_lines_bl OUTPUT.

...

 

...

                screen-invisible = '1'.

              ENDIF.

            WHEN 'V_QTD_DA' OR 'V_VLREAL'.

              IF /pws/zycie442-codreg NE '04'.

                screen-input = '1'.

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

              ENDIF.

              IF v_doccmp EQ 'X' OR v_embnac EQ 'X' OR

                 NOT /pws/zycie463-qtd_nac IS INITIAL.

                screen-input = '0'.

* << Fim da inclusão

              ENDIF.

          ENDCASE.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

...

 

...

  ADD 15 TO tc_lote-lines.

ENDMODULE.

MODULE load_vlfob OUTPUT.

  v_tval2 = /pws/zycie442-vlfob.

ENDMODULE.

* >> Início da inclusão:

MODULE set_status_item OUTPUT.

  PERFORM set_status_item.

ENDMODULE.

MODULE set_status_lote OUTPUT.

  PERFORM set_status_lote.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI070X01

 

...

  a_ipidevi  LIKE t_icms,

  a_addevi   LIKE t_icms,

  a_adreco   LIKE t_icms,

  v_dit      TYPE c ,

  v_embimp   TYPE char1,

* >> Início da inclusão:

  v_doccmp   TYPE char1,

  v_embnac   TYPE char1,

* << Fim da inclusão

  v_idx            LIKE sy-tabix              ,

  v_ipt            LIKE sy-tabix              ,

  v_nr_itens       LIKE s_fbvr                ,

  v_ip             LIKE sy-tabix              ,

  v_ipa            LIKE sy-tabix              ,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI070

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 492

 

Texto: (31 caracteres)

"Não é permitido salvar esta DA."

 

Comprimento máximo: 31

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 493

 

Texto: (43 caracteres)

"Existem itens com quantidade da DA zerados."

 

Comprimento máximo: 43

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE463

 

*Os seguintes campos foram inseridos:

 

Nome de campo Chv Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

MANDT             MANDT                      CLNT     3

NRSEQDA           /PWS/ZYCIL831              CHAR    10

NRSEQLOTE         NUMC3                      NUMC     3

*<<Inicio Inclusão

EBELN             EBELN         EKKO         CHAR    10

EBELP             EBELP         EKPO         NUMC     5

*<<Fim Inclusão

LOTE_FORN         LICHN                      CHAR    15

NUMFATURA         /PWS/ZYCIL023              CHAR    20

MATNR             MATNR                      CHAR    18

QTD_LOTE          BMENGEV                    QUAN    13

DT_VALIDADE       /PWS/ZYCIL094              DATS     8

DT_FABRICACAO     /PWS/ZYCIL838              DATS     8

QTD_NAC           BMENGEV                    QUAN    13

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT463

 

*Os seguintes campos foram inseridos:

 

Nome de campo Chv Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

MANDT             MANDT                      CLNT     3

NRSEQDA           /PWS/ZYCIL831              CHAR    10

NRSEQLOTE         NUMC3                      NUMC     3

*<<Inicio Inclusão

EBELN             EBELN         EKKO         CHAR    10

EBELP             EBELP         EKPO         NUMC     5

*<<Fim Inclusão

LOTE_FORN         LICHN                      CHAR    15

NUMFATURA         /PWS/ZYCIL023              CHAR    20

MATNR             MATNR                      CHAR    18

QTD_LOTE          BMENGEV                    QUAN    13

DT_VALIDADE       /PWS/ZYCIL094              DATS     8

DT_FABRICACAO     /PWS/ZYCIL838              DATS     8

QTD_NAC           BMENGEV                    QUAN    13