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