Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DA
Data/Hora da Publicação: 07/08/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:44:11
Descrição da Nota: DECLARAÇÃO DE IMPORTAÇÃO - RECOF
Sintoma
Coluna Qtde. DA está alterando os valores.
Solução
Atualização no programa da DI para que nos embarques de recof o sistema faça o cálculo do saldo do
pedido e da DA corretamente.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04363 Data: 07/08/2007 Hora: 16:41:45
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04363
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00007
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03732 - 00001 - 7.0 - 00001 - AJUSTES REFERENTES A PERFORMANCE DO EMBARQUE.
----------------------------------------------------------------------------------------------------
DECLARAÇÃO DE IMPORTAÇÃO - RECOF
----------------------------------------------------------------------------------------------------
Palavras Chave:
QUANTIDADE
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI070 0150
REPS /PWS/MZYCI070I01
REPS /PWS/MZYCI070F01
REPS /PWS/MZYCI001F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI070 0150
PROCESS BEFORE OUTPUT.
MODULE: screen_lines,
set_screen.
LOOP AT itab_it WITH CONTROL tc_item.
MODULE: set_status_item.
MODULE: set_screen_table,
fill_structit,
saldo_online_da.
ENDLOOP.
PROCESS AFTER INPUT.
* >> Início da inclusão:
module sort_by_ebeln.
* << Fim da inclusão
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 REPS /PWS/MZYCI070I01
...
ID 'TCD' FIELD 'FB03'.
IF sy-subrc = 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
ENDIF.
ENDCASE.
ENDCASE.
CLEAR sy-ucomm.
* >> Início da inclusão: MODULE USER_COMMAND_DRILL_DOWN
PERFORM data_sort.
* << Fim da inclusão
ENDMODULE.
...
...
MESSAGE w013 WITH text-103 /pws/zycie443a-codfunlegicms text-104.
CLEAR: t_fundes_icms, /pws/zycie443a-codfunlegicms.
ENDIF.
ELSE.
CLEAR: t_fundes_icms.
ENDIF.
ENDMODULE.
MODULE load_piscofins INPUT.
PERFORM load_piscofins.
ENDMODULE.
* >> Início da inclusão:
MODULE sort_by_ebeln INPUT.
SORT itab_it BY nrseq ebeln ebelp.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F01
...
ad_extarif = itab_it-ad_extarif
ad_tipo = itab_it-ad_tipo
ad_orgemiss = itab_it-ad_orgemiss
ad_numero = itab_it-ad_numero
ad_anoemiss = itab_it-ad_anoemiss
naladincca = itab_it-naladincca
nrseqd = itab_it-nrseqd
nrdrawback = itab_it-nrdrawback
modalidade = itab_it-modalidade
basred = itab_it-basred
* >> Início da inclusão: FORM SAVE_DATA
nrseqda = itab_it-nrseqda
* << Fim da inclusão
WHERE
nrseq = itab_it-nrseq AND
ebeln = itab_it-ebeln AND
ebelp = itab_it-ebelp.
ENDLOOP.
CLEAR: itab_zycit003_t, itab_zycit078_t,
itab_zycit442_t, itab_zycit443_t.
REFRESH: itab_zycit003_t, itab_zycit078_t,
itab_zycit442_t, itab_zycit443_t.
SELECT *
...
...
DELETE itab_zycit460 WHERE nrseqda = /pws/zycie442-nrseqda.
DELETE itab_zycit463 WHERE nrseqda = /pws/zycie442-nrseqda.
DELETE itab_zycit464 WHERE nrseqda = /pws/zycie442-nrseqda.
DELETE itab_zycit049 WHERE nrseq = /pws/zycie442-nrseqda.
DESCRIBE TABLE itab_zycit442 LINES v_nolin.
LEAVE TO SCREEN 0.
ENDFORM.
FORM save_data_item.
DATA : v_waersdif LIKE /pws/zycie443a-waersbem.
CLEAR: v_waersdif.
* >> Início da inclusão: FORM SAVE_DATA_ITEM
data wa_itab_aux like itab_it.
* << Fim da inclusão
IF v_dit = 'S' AND
( /pws/zycie442-meiotransp = 'PS' OR
/pws/zycie093-meiotransp = 'PS' )
AND /pws/zycie442-tpdi = 'S'.
/pws/zycie443a-vlii = t_iirec.
/pws/zycie443a-vlipi = t_ipirec.
ENDIF.
IF /pws/zycie442-mdadicao EQ 'N'.
v_waersdif = itab_it-waersbem.
IF NOT /pws/zycie003-nrseq IS INITIAL.
...
...
itab_it-mandt = sy-mandt.
ENDIF.
MOVE t_pisbs TO itab_it-basepis.
MOVE t_cofinsbs TO itab_it-basecofins.
IF sy-ucomm EQ 'ANTE' OR
sy-ucomm EQ 'PROX' .
CLEAR: t_pisbs, t_cofinsbs.
ENDIF.
MOVE itab_it TO wa_it.
IF NOT v_ip IS INITIAL.
* >> Início da exclusão: FORM SAVE_DATA_ITEM
MODIFY itab_it INDEX v_ip.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA_ITEM
READ TABLE itab_it into wa_itab_aux WITH KEY
nrseqda = itab_it-nrseqda
nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp
adicao = itab_it-adicao.
MODIFY itab_it INDEX sy-tabix.
* << Fim da inclusão
ENDIF.
DELETE itab_zycit450 WHERE
nrseq = wa_it-nrseq AND
ebeln = wa_it-ebeln AND
ebelp = wa_it-ebelp.
LOOP AT itab_zycit450b.
MOVE itab_zycit450b TO itab_zycit450.
APPEND itab_zycit450.
ENDLOOP.
CONCATENATE /pws/zycie442-nrseqda
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001X01
...
DATA: BEGIN OF itab_zycit003_util OCCURS 0.
DATA: nrseq TYPE /pws/zycit003-nrseq,
ebeln TYPE /pws/zycit003-ebeln,
ebelp TYPE /pws/zycit003-ebelp,
* >> Início da exclusão:
qtd_iten TYPE /pws/zycit003-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão:
qtd_iten TYPE /pws/zycit003-qtd_iten,
regime type /pws/zycit001-regime .
* << Fim da inclusão
DATA: END OF itab_zycit003_util.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
MODIFY itab_da.
ENDLOOP.
DATA: itab_zycit003_saldo LIKE itab_zycit003 OCCURS 0
WITH HEADER LINE.
IF NOT itab_da[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo
FOR ALL ENTRIES IN itab_da
WHERE ebeln EQ itab_da-ebeln
AND ebelp EQ itab_da-ebelp
AND nrseqda EQ itab_da-nrseqda.
* >> Início da inclusão: FORM SELECIONAR_DA
IF not itab_zycit003_saldo[] is initial.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONAR_DA
IF sy-subrc EQ 0.
* << Fim da exclusão
SELECT nrseq regime FROM /pws/zycit001
INTO TABLE itab_zycit001_saldo
FOR ALL ENTRIES IN itab_zycit003_saldo
WHERE nrseq EQ itab_zycit003_saldo-nrseq
AND regime EQ '04'
AND tpdecl EQ 'DI'.
ENDIF.
LOOP AT itab_zycit001_saldo.
DELETE itab_zycit003_saldo
WHERE nrseq EQ itab_zycit001_saldo-nrseq.
...
...
itab_zycit003_util-qtd_iten = itab_zycit003-qtd_iten.
APPEND itab_zycit003_util.
ENDLOOP.
IF NOT itab_pedido_temp[] IS INITIAL.
SELECT nrseq ebeln ebelp qtd_iten FROM /pws/zycit003
APPENDING TABLE itab_zycit003_util
FOR ALL ENTRIES IN itab_pedido_temp
WHERE ebeln EQ itab_pedido_temp-ebeln
AND ebelp EQ itab_pedido_temp-ebelp
AND nrseq NE /pws/zycie001-nrseq.
* >> Início da inclusão: FORM CARREGA_SALDO
if not itab_zycit003_util[] is initial.
select nrseq regime from /pws/zycit001
into table itab_zycit001_saldo
for all entries in itab_zycit003_util
where nrseq eq itab_zycit003_util-nrseq.
loop at itab_zycit001_saldo where regime eq '16' .
delete itab_zycit003_util
where nrseq eq itab_zycit001_saldo-nrseq.
endloop .
endif .
* << Fim da inclusão
ENDIF.
ENDIF.
LOOP AT itab_zycit013.
CLEAR: itab_pedido, itab_zycit003_util.
READ TABLE itab_pedido WITH KEY ebeln = itab_zycit013-ebeln
ebelp = itab_zycit013-ebelp.
IF sy-subrc EQ 0.
CLEAR v_qtdemb.
LOOP AT itab_zycit003_util WHERE ebeln EQ itab_zycit013-ebeln
AND ebelp EQ itab_zycit013-ebelp.
...