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.
9.0
Produto:
Nota
Descriçã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
...