CE PLUS - Nota 013299

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 03/10/2013 00:00:00

Data/Hora Última Alteração: 10/10/2013 15:58:05

Descrição da Nota: BOTÃO BACK OU VOLTAR (SETA VERDE) NA DI, AJUSTE NAS CONSISTENCIAS.

Sintoma

1) Se entro na DI pela transação de modificação, altero algo e salvo, dá uma mensagem de registro

gravado. Em seguida saio da DI pela seta verde, aparece uma mensagem que foi feita alterações se

desejamos salvar.

2) Se entro na DI pela transação de modificação, não faço nenhuma alteração só verifico os dados e

saio da DI pela seta verde, aparece uma mensagem que foi feita alterações se desejamos salvar.

3) Se entro para olhar o detalhe do item e saio, dá a mensagem também.

4) Criar uma DI com um número de Declaração já existente, depois que corrigimos a Declaração, o

programa trava e não salva mais nada.

 

 

Solução

Ajustar o botão Back nas situações acima relatadas.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

CALCULO DO VALOR UNITARIO PARA EMBARQUES A GRANEL

CONFIGURAR MENSAGEM PARA PERMITIR REGISTRO DA DI REPETIDO

PREENCHER O EX TARIFARIO QUANDO CADASTRADO NA T604F

DUMP NA DI - DYNPRO_MSG_IN_HELP

AJUSTE DE PREFORMANCE. DUMP DETALHE DO ITEM, DI COM MAIS DE 999 ITENS

INCLUSÃO DE VERIFICAÇÃO DO NUMERO DA DECLARAÇÃO DA DI

DUMP AO SAIR DA DI QUANDO JÁ POSSUI UM NÚMERO IGUAL AO DA DECLARAÇÃO

Informações Complementares

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

Nota Número 13299 Data: 03/10/2013 Hora: 15:17:12

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

 

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

Nota Número              : 13299

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00165

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

Referência às notas relacionadas:

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

 

06608  - 00001 - 7.0    - 00005  - INCLUSÃO DE VERIFICAÇÃO DO NUMERO DA DECLARAÇÃO DA DI

07828  - 00002 - 7.0    - 00008  - DUMP AO SAIR DA DI QUANDO JÁ POSSUI UM NÚMERO IGUAL AO DA DECLARA

07873  - 00003 - 7.0    - 00008  - AJUSTE DE PREFORMANCE. DUMP DETALHE DO ITEM, DI COM MAIS DE 999 I

08026  - 00004 - 7.0    - 00008  - CALCULO DO VALOR UNITARIO PARA EMBARQUES A GRANEL

08821  - 00005 - 7.0    - 00010  - CONFIGURAR MENSAGEM PARA PERMITIR REGISTRO DA DI REPETIDO

09725  - 00006 - 8.0    - 00002  - PREENCHER O EX TARIFARIO QUANDO CADASTRADO NA T604F

13145  - 00007 - 9.0    - 00005  - DUMP NA DI - DYNPRO_MSG_IN_HELP

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

BOTÃO BACK OU VOLTAR (SETA VERDE) NA DI, AJUSTE NAS CONSISTENCIAS.

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

Palavras Chave:

DI - VOLTAR - BACK - SETA VERDE - MENSAGEM DE SALVAR - ALTERAÇÕES

FORAM FEITAS ALTERAÇÕES - DESEJA SALVAR

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

Objetos da nota:

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F01

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

          v_grava_ok = 'F'.

        ELSE.

          SELECT SINGLE * FROM /pws/zyglt217

            WHERE arbgb EQ '/PWS/ZYCIM'

            AND   msgnr EQ '146'.

          IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '146'.

          ENDIF.

        ENDIF.

      ENDIF.

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

    ELSE.

      v_grava_ok = 'V'.

* << Fim da inclusão

    ENDIF.

    v_tam_nrdi = strlen( /pws/zycie085-nrdi ).

    IF v_tam_nrdi > 10.                                   "#EC PORTABLE

      SELECT SINGLE * FROM /pws/zyglt217

        WHERE arbgb EQ '/PWS/ZYCIM'

        AND   msgnr EQ '127'.

      IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

        MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '127'.

      ENDIF.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

********************************************************************************

*No trecho abaixo, caso o cliente não tenha a nota 11861, procurar informações sobre atualização de

*versão, pois a precedente é um desenvolvimento muito grande

 

...

 

    LOOP AT itab_zycit049di2.

      MOVE-CORRESPONDING itab_zycit049di2 TO /pws/zycit049.

      PERFORM carrega_log USING '/PWS/ZYCIT049' 'I'

              ' '  '/PWS/SAPMZYCI023' /pws/zycit049-nrseq.

    ENDLOOP.

 

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

    itab_zycit049di2[] = itab_zycit049[].

* << Fim da inclusão

  ENDIF.

 

  CLEAR: lt_zycit200, lt_zycit200[].

  SELECT * FROM /pws/zycit200 INTO TABLE lt_zycit200

     WHERE id = /pws/zycie085-nrseqdi.

 

  LOOP AT lt_zycit200.

    MOVE-CORRESPONDING lt_zycit200 TO /pws/zycit200.

    PERFORM carrega_log USING '/PWS/ZYCIT200' 'D'

            ' '  '/PWS/SAPMZYCI023' /pws/zycit200-id.

  ENDLOOP.

 

  DELETE FROM /pws/zycit200 WHERE id = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit200 FROM TABLE itab_zycit200.

 

...

 

********************************************************************************

...

FORM verify_changes.

  CLEAR v_changed.

  CHECK v_acto EQ 'A'.

  CLEAR:   itab_zycit100, itab_zycit003.

  REFRESH: itab_zycit100, itab_zycit049di2.

  LOOP AT itab_it.

    MOVE-CORRESPONDING itab_it TO itab_zycit100.

    APPEND itab_zycit100.

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

    IF NOT v_nova IS INITIAL.

      READ TABLE itab_zycit100a WITH KEY

                                   nrseqdi = itab_zycit100-nrseqdi

                                   nrseq   = itab_zycit100-nrseq

                                   ebeln   = itab_zycit100-ebeln

                                   ebelp   = itab_zycit100-ebelp

                                   adicao  = itab_zycit100-adicao.

      IF sy-subrc EQ 0.

        IF itab_zycit100a-basredpis NE itab_zycit100-basredpis.

          itab_zycit100a-basredpis = itab_zycit100-basredpis.

        ENDIF.

        IF itab_zycit100a-basredcof NE itab_zycit100-basredcof.

          itab_zycit100a-basredcof = itab_zycit100-basredcof.

        ENDIF.

        MODIFY itab_zycit100a INDEX sy-tabix.

      ENDIF.

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

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

  CLEAR itab_zycit003a.

  REFRESH itab_zycit003a.

  MOVE itab_zycit003[] TO itab_zycit003a[].

* << Fim da exclusão

  LOOP AT itab_it.

    LOOP AT  itab_zycit003 WHERE ebeln = itab_it-ebeln

                             AND ebelp = itab_it-ebelp.

      v_tfrefat = itab_zycit003-vlfre_fat.

...

 

 

 

...

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

  CLEAR itab_zycit003a.

  REFRESH itab_zycit003a.

  MOVE itab_zycit003[] TO itab_zycit003a[].

* << Fim da inclusão

  SORT itab_zycit100  BY nrseqdi nrseq ebeln ebelp adicao.

  SORT itab_zycit100a BY nrseqdi nrseq ebeln ebelp adicao.

  SORT itab_zycit003  BY nrseq ebeln ebelp.

...

 

...

  IF v_dit = 'N'.

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

    IF /pws/zycie085 NE wa_zycit085 OR

                             itab_zycit049di[] NE itab_zycit049di2[] OR

                             itab_zycit086[]   NE itab_zycit086a[]   OR

                             itab_zycit087[]   NE itab_zycit087a[]   OR

                             itab_zycit095[]   NE itab_zycit095a[]   OR

                             itab_zycit096[]   NE itab_zycit096a[]   OR

                             itab_zycit114[]   NE itab_zycit114a[]   OR

                             itab_zycit115[]   NE itab_zycit115a[]   OR

                             itab_zycit116[]   NE itab_zycit116a[]   OR

                             itab_zycit118[]   NE itab_zycit118a[]   OR

                             itab_zycit121[]   NE itab_zycit121a[]   OR

                             itab_zycit124[]   NE itab_zycit124a[]   OR

                             itab_zycit200[]   NE itab_zycit200a[]   OR

                             itab_zycit100[]   NE itab_zycit100a[]   OR

                             itab_zycit003[]   NE itab_zycit003a[]   OR

                             itab_zycit485[]   NE itab_zycit485a[]   OR

                             itab_zycit486[]   NE itab_zycit486a[]   .

* << Fim da exclusão

      IF sy-tcode NE '/PWS/ZYCI023_E'.

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

      CLEAR: v_changed.

      IF /pws/zycie085     NE wa_zycit085.

        v_changed = '1'.

      ENDIF.

      IF itab_zycit049di[] NE itab_zycit049di2[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit086[]   NE itab_zycit086a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit087[]   NE itab_zycit087a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit095[]   NE itab_zycit095a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit096[]   NE itab_zycit096a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit114[]   NE itab_zycit114a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit115[]   NE itab_zycit115a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit116[]   NE itab_zycit116a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit118[]   NE itab_zycit118a[].

* << Fim da inclusão

        v_changed = '1'.

      ENDIF.

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

      IF itab_zycit121[]   NE itab_zycit121a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit124[]   NE itab_zycit124a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit200[]   NE itab_zycit200a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit100[]   NE itab_zycit100a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit003[]   NE itab_zycit003a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit485[]   NE itab_zycit485a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit486[]   NE itab_zycit486a[].

        v_changed = '1'.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ELSE.

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

    IF /pws/zycie085 NE wa_zycit085

           OR  itab_zycit049di[] NE  itab_zycit049di2[]

           OR itab_zycit095[] NE itab_zycit095a[]

           OR itab_zycit100[] NE itab_zycit100a[]

           OR itab_zycit003[] NE itab_zycit003a[]

           OR itab_zycit200[] NE itab_zycit200a[]

           OR itab_zycit485[] NE itab_zycit485a[]

           OR itab_zycit486[] NE itab_zycit486a[].

* << Fim da exclusão

      IF sy-tcode NE '/PWS/ZYCI023_E'.

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

      CLEAR: v_changed.

      IF /pws/zycie085 NE wa_zycit085.

        v_changed = '1'.

      ENDIF.

      IF itab_zycit049di[] NE  itab_zycit049di2[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit095[] NE itab_zycit095a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit100[] NE itab_zycit100a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit003[] NE itab_zycit003a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit200[] NE itab_zycit200a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit485[] NE itab_zycit485a[].

        v_changed = '1'.

      ENDIF.

      IF itab_zycit486[] NE itab_zycit486a[].

* << Fim da inclusão

        v_changed = '1'.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

      IF itab_zycit049-vldp IS INITIAL.

        itab_zycit049-vldp   = /pws/zycie093-ternacion.

        itab_zycit049-vlreal = /pws/zycie093-ternacion.

        IF NOT /pws/zycie093-waersfre EQ wa_zycbt007-waersb.

          itab_zycit049-waers = /pws/zycie093-waersfre.

          PERFORM trata_decimais USING itab_zycit049-vlreal

                  CHANGING itab_zycit049-vldp.

          PERFORM: calc_conv_moeda:

                   USING /pws/zycie093-waersfre wa_zycbt007-waersb

                   CHANGING itab_zycit049-vlreal.

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

          itab_zycit049-waers = wa_zycbt007-waersb.

* << Fim da inclusão

        ELSE.

          itab_zycit049-vlreal = /pws/zycie093-ternacion.

        ENDIF.

      MODIFY itab_zycit049 INDEX v_tabix TRANSPORTING vldp vlreal waers.

      ENDIF.

    ENDIF.

  ELSE.

    IF v_pii EQ 'X'.

      READ TABLE itab_zycit049 WITH KEY

                 tpdesp = /pws/zycit000-cod_sisc

...