Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 14/01/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:52:23
Descrição da Nota: A DESCRIÇÃO DO PRIMEIRO ITEN DA ADIÇÃO É COPIADA PARA OS DEMAIS ITENS DI
Sintoma
Atualizada a exit para recalcular valores de icms.
ajustados os textos do campo especificação da DI.
Solução
criada variável v_tipop para receber o tipo de utilizacao dos cálculos.
Atualizada a exit para recalcular valores de icms.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05621 Data: 14/01/2008 Hora: 09:10:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05621
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00029
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04859 - 00002 - 7.0 - 00003 - NECESSÁRIO COMPATILHAR O TIPO DA DI PARA USO DA EXIT
05564 - 00001 - 7.0 - 00004 - A DESCRIÇÃO DOS ITENS DE UMA ADIÇÃO DA DI ESTÃO INCORRETOS
----------------------------------------------------------------------------------------------------
A DESCRIÇÃO DO PRIMEIRO ITEN DA ADIÇÃO É COPIADA PARA OS DEMAIS ITENS DI
----------------------------------------------------------------------------------------------------
Palavras Chave:
SISCOMEX - TRANSMISSÃO - ADIÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F02
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
encont = 1.
CONCATENATE text-052 itab_ekko-ebeln text-120 itab_ekpo-ebelp
text-108 INTO mensagem3 SEPARATED BY space.
mensagem4 = text-121.
CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'
EXPORTING
titel = text-112
textline1 = mensagem3
textline2 = mensagem4.
ENDFORM.
* >> Início da inclusão:
form load_data_blitem.
IF sy-ucomm EQ 'DETA'.
READ TABLE itab_it INDEX v_ip.
ENDIF.
IF itab_it NE wa_it.
PERFORM fill_itabitc.
SELECT SINGLE embarca FROM /pws/zycit001 INTO t_embarc WHERE
nrseq = itab_it-nrseq.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
MOVE: itab_zycit003-nrseqd TO itab_it-nrseqd.
IF NOT itab_zycit003-nrseqd IS INITIAL.
SELECT SINGLE nratoc FROM /pws/zycit244 INTO v_nratoc
WHERE nrseqd = itab_zycit003-nrseqd.
IF sy-subrc NE 0.
CLEAR v_nratoc.
ELSE.
SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE
nrseqli = itab_zycit003-nrseqli.
IF sy-subrc EQ 0.
v_nratoc = wa_zycit078-reg_drawback.
/pws/zycie003-nrseqd = wa_zycit078-nrseqd.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE
nrseqli = itab_zycit003-nrseqli.
IF sy-subrc EQ 0.
v_nratoc = wa_zycit078-reg_drawback.
/pws/zycie003-nrseqd = wa_zycit078-nrseqd.
ELSE.
CLEAR v_nratoc.
ENDIF.
ENDIF.
IF itab_it-pproc IS INITIAL.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
itab_it-pproc = /pws/zycie100a-pproc = itab_zycit003-paisfab.
ENDIF.
IF itab_it-codregtri IS INITIAL.
itab_it-codregtri = /pws/zycie100a-codregtri = '1'.
ENDIF.
IF /pws/zycie100a-codregtriipi IS INITIAL.
/pws/zycie100a-codregtriipi = '3'.
ENDIF.
if sy-tcode = '/PWS/ZYCI023_C'.
if itab_zycit001-regime = '05' and
itab_zycit001-tpdecl = 'DI'.
itab_it-codregtri = '5'.
itab_it-codregtripiscofi = '5'.
itab_it-codregtriipi = '5'.
itab_it-codregtriicms = '5'.
endif.
endif.
MOVE itab_it TO wa_it.
MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,
itab_it TO /pws/zycie003.
v_idx = v_ip.
v_tipop = 'T' .
PERFORM: load_ifre USING v_tipop,
load_itax USING v_tipop.
PERFORM calcula_impostos USING v_tipop .
IF v_dit = 'N'.
PERFORM fill_it115b.
CLEAR: itab_zycit116, /pws/zycie085-ntimp.
READ TABLE itab_zycit116 WITH KEY
adicao = itab_it-adicao.
s_advl = /pws/zycie100a-vlantid.
s_adbs = /pws/zycie100a-baseantid.
PERFORM: load_cncm USING wa_it-j_1bnbm,
load_mval USING /pws/zycie100a-codmat,
load_inco,
load_itwa USING /pws/zycie100a-waersbem,
load_regt USING /pws/zycie100a-codregtri
/pws/zycie085-ntimp
'1' CHANGING t_regdes,
load_regt USING /pws/zycie100a-codregtriipi
/pws/zycie085-ntimp
'2' CHANGING t_regde2,
load_fund USING /pws/zycie100a-codfunleg,
load_regt USING /pws/zycie100a-codregtriicms
/pws/zycie085-ntimp
'4' CHANGING t_regde3,
load_fun_icms ,
load_alad USING /pws/zycie100a-aladi,
load_unit USING /pws/zycie003-meins CHANGING s_umped,
load_um USING /pws/zycie003-meinsest CHANGING
s_umestt,
load_umad.
ENDIF.
CLEAR: rtexti, xtheadi.
REFRESH: rtexti.
CONCATENATE /pws/zycie085-nrseqdi
itab_it-nrseq
itab_it-ebeln
itab_it-ebelp
INTO v_txtki.
IF sy-dynnr EQ '0400'.
PERFORM fill_desc.
PERFORM read_text_blitem CHANGING /pws/zycie100a-especificacao.
ELSE.
PERFORM read_text_blitem CHANGING t_espec.
ENDIF.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F02
...
p_text = itab_zycit100-especificacao.
ELSEIF NOT rtexti[] IS INITIAL.
READ TABLE rtexti INDEX 1.
p_text = rtexti-tdline.
ELSE.
IF sy-dynnr NE '0400'.
p_text = itab_it-descr.
ENDIF.
ENDIF.
ELSE.
* >> Início da exclusão: FORM READ_TEXT_BLITEM
IF sy-dynnr NE '0400'.
* << Fim da exclusão
* >> Início da inclusão: FORM READ_TEXT_BLITEM
IF sy-dynnr NE '0400' AND sy-dynnr NE '0050'.
* << Fim da inclusão
p_text = itab_it-descr.
ELSE.
IF NOT itab_it-especificacao IS INITIAL.
IF rtexti[] IS INITIAL.
rtexti-tdformat = space.
rtexti-tdline = itab_it-especificacao.
APPEND rtexti.
ENDIF.
/pws/zycie100a-especificacao = itab_it-especificacao.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc = 0.
READ TABLE rtexti INDEX 1.
ENDIF.
DATA: v_spras LIKE ekko-spras.
IF rtexti IS INITIAL.
SORT itab_zycit229 BY codseq.
* >> Início da exclusão: FORM FILL_DESC
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DESC
READ TABLE itab_ekpo WITH KEY ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
* << Fim da inclusão
IF NOT itab_zycit229[] IS INITIAL.
LOOP AT itab_zycit229.
CLEAR: v_name, v_texto, itab_makt, itab_stxl, v_spras.
FREE: itab_makt, itab_stxl.
IF itab_zycit229-spras NE space.
v_spras = itab_zycit229-spras.
ELSE.
SELECT SINGLE spras FROM ekko INTO v_spras
* >> Início da exclusão: FORM FILL_DESC
WHERE ebeln = itab_zycit003-ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DESC
WHERE ebeln = itab_it-ebeln.
* << Fim da inclusão
ENDIF.
IF itab_zycit229-txtdesc = '01'.
SELECT SINGLE * FROM makt INTO itab_makt
WHERE matnr = itab_ekpo-matnr
AND spras = v_spras.
IF sy-subrc = 0.
rtexti-tdformat = '*'.
rtexti-tdline = itab_makt-maktx.
APPEND rtexti.
ELSE.
...
...
IF sy-subrc EQ 0.
rtexti-tdformat = '*'.
CONCATENATE text-114 wa_ender-stras wa_ender-ort01
wa_ender-regio
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ENDIF.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '11'.
rtexti-tdformat = '*'.
* >> Início da exclusão: FORM FILL_DESC
CONCATENATE text-052 itab_zycit003-ebeln
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DESC
CONCATENATE text-052 itab_it-ebeln
* << Fim da inclusão
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ELSEIF itab_zycit229-txtdesc = '12'.
rtexti-tdformat = '*'.
* >> Início da exclusão: FORM FILL_DESC
CONCATENATE text-115 itab_zycit003-ebelp
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DESC
CONCATENATE text-115 itab_it-ebelp
* << Fim da inclusão
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
* >> Início da inclusão: FORM FILL_DESC
ENDIF.
IF rtexti IS INITIAL.
PERFORM read_text_blitem CHANGING /pws/zycie100a-especificacao.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023O01
...
/pws/zycie013-slqtde = itab_it-slqtde.
/pws/zycie003-nrseqli = itab_it-nrseqli.
/pws/zycie003-nrli = itab_it-nrli.
/pws/zycie003-nrseqd = itab_it-nrseqd.
/pws/zycie003-nrdrawback = itab_it-nrdrawback.
/pws/zycie003-modalidade = itab_it-modalidade.
wa_it-mark = itab_it-mark.
MOVE-CORRESPONDING itab_it TO /pws/zycie003.
ENDMODULE.
MODULE load_data_blitem OUTPUT.
* >> Início da exclusão: MODULE LOAD_DATA_BLITEM
IF sy-ucomm EQ 'DETA'.
READ TABLE itab_it INDEX v_ip.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA_BLITEM
PERFORM load_data_blitem.
* << Fim da inclusão
* >> Início da exclusão: MODULE LOAD_DATA_BLITEM
IF itab_it NE wa_it.
PERFORM fill_itabitc.
SELECT SINGLE embarca FROM /pws/zycit001 INTO t_embarc WHERE
nrseq = itab_it-nrseq.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
MOVE: itab_zycit003-nrseqd TO itab_it-nrseqd.
IF NOT itab_zycit003-nrseqd IS INITIAL.
SELECT SINGLE nratoc FROM /pws/zycit244 INTO v_nratoc
WHERE nrseqd = itab_zycit003-nrseqd.
IF sy-subrc NE 0.
CLEAR v_nratoc.
ELSE.
SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE
nrseqli = itab_zycit003-nrseqli.
IF sy-subrc EQ 0.
v_nratoc = wa_zycit078-reg_drawback.
/pws/zycie003-nrseqd = wa_zycit078-nrseqd.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE
nrseqli = itab_zycit003-nrseqli.
IF sy-subrc EQ 0.
v_nratoc = wa_zycit078-reg_drawback.
/pws/zycie003-nrseqd = wa_zycit078-nrseqd.
ELSE.
CLEAR v_nratoc.
ENDIF.
ENDIF.
IF itab_it-pproc IS INITIAL.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
itab_it-pproc = /pws/zycie100a-pproc = itab_zycit003-paisfab.
ENDIF.
IF itab_it-codregtri IS INITIAL.
itab_it-codregtri = /pws/zycie100a-codregtri = '1'.
ENDIF.
IF /pws/zycie100a-codregtriipi IS INITIAL.
/pws/zycie100a-codregtriipi = '3'.
ENDIF.
if sy-tcode = '/PWS/ZYCI023_C'.
if itab_zycit001-regime = '05' and
itab_zycit001-tpdecl = 'DI'.
itab_it-codregtri = '5'.
itab_it-codregtripiscofi = '5'.
itab_it-codregtriipi = '5'.
itab_it-codregtriicms = '5'.
endif.
endif.
MOVE itab_it TO wa_it.
MOVE-CORRESPONDING: itab_it TO /pws/zycie100a,
itab_it TO /pws/zycie003.
v_idx = v_ip.
v_tipop = 'T' .
PERFORM: load_ifre USING v_tipop,
load_itax USING v_tipop.
PERFORM calcula_impostos USING v_tipop .
IF v_dit = 'N'.
PERFORM fill_it115b.
CLEAR: itab_zycit116, /pws/zycie085-ntimp.
READ TABLE itab_zycit116 WITH KEY
adicao = itab_it-adicao.
s_advl = /pws/zycie100a-vlantid.
s_adbs = /pws/zycie100a-baseantid.
PERFORM: load_cncm USING wa_it-j_1bnbm,
load_mval USING /pws/zycie100a-codmat,
load_inco,
load_itwa USING /pws/zycie100a-waersbem,
load_regt USING /pws/zycie100a-codregtri
/pws/zycie085-ntimp
'1' CHANGING t_regdes,
load_regt USING /pws/zycie100a-codregtriipi
/pws/zycie085-ntimp
'2' CHANGING t_regde2,
load_fund USING /pws/zycie100a-codfunleg,
load_regt USING /pws/zycie100a-codregtriicms
/pws/zycie085-ntimp
'4' CHANGING t_regde3,
load_fun_icms ,
load_alad USING /pws/zycie100a-aladi,
load_unit USING /pws/zycie003-meins CHANGING s_umped,
load_um USING /pws/zycie003-meinsest CHANGING
s_umestt,
load_umad.
ENDIF.
CLEAR: rtexti, xtheadi.
REFRESH: rtexti.
CONCATENATE /pws/zycie085-nrseqdi
itab_it-nrseq
itab_it-ebeln
itab_it-ebelp
INTO v_txtki.
IF sy-dynnr EQ '0400'.
PERFORM fill_desc.
PERFORM read_text_blitem CHANGING /pws/zycie100a-especificacao.
ELSE.
PERFORM read_text_blitem CHANGING t_espec.
ENDIF.
ENDIF.
* << Fim da exclusão
ENDMODULE.
MODULE status_0231 OUTPUT.
IF v_acto = 'A'.
SET PF-STATUS '0231' EXCLUDING 'REPL_A'.
ELSE.
SET PF-STATUS '0231' EXCLUDING it_statu3.
ENDIF.
IF sy-dynnr = '0231'.
SET TITLEBAR '0231' WITH text-061 /pws/zycie085-nrseqdi.
ELSE.
...