Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 02/01/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:07:15
Descrição da Nota: TRATAMENTO DE INCOTERM PELA TABELA /PWS/ZYCIT031
Sintoma
Necessário fazer o tratamento de vários incoterms do pedido por grupo, paramentrizado na
/PWS/ZYCIT031. Tratamento para quando os pedidos tem incoterms diferentes.
Solução
Fazer a verificação na tabela /PWS/ZYCIT031 ao selecionar itens .
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00567 Data: 02/01/2006 Hora: 10:33:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00567
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00094
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
TRATAMENTO DE INCOTERM PELA TABELA /PWS/ZYCIT031
----------------------------------------------------------------------------------------------------
Palavras Chave:
VÁRIOS INCOTERMS - CONSOLIDAÇÃO DE CARGA
AGRUPAMENTO DE INCOTERMS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI001TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycie001-inco1,
high LIKE /pws/zycie001-inco1,
END OF itab_inco1.
* >> Início da inclusão: FORM SELECIONAR_ITENS
DATA: v_inco1a LIKE /pws/zycie001-inco1.
* << Fim da inclusão
IF NOT so_inco1 IS INITIAL.
* >> Início da exclusão: FORM SELECIONAR_ITENS
CLEAR: itab_zycit031. REFRESH: itab_zycit031.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS
CLEAR: itab_zycit031, v_inco1a.
REFRESH: itab_zycit031.
* << Fim da inclusão
SELECT * FROM /pws/zycit031
INTO TABLE itab_zycit031
WHERE inco1_ci IN so_inco1.
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF sy-subrc EQ 0.
LOOP AT itab_zycit031.
itab_inco1-sign = 'I'.
itab_inco1-option = 'EQ'.
itab_inco1-low = itab_zycit031-inco1.
itab_inco1-high = ' '.
APPEND itab_inco1.
ENDLOOP.
ELSE.
SELECT SINGLE inco1_ci FROM /pws/zycit031
INTO v_inco1a WHERE inco1 IN so_inco1.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit031
INTO TABLE itab_zycit031
WHERE inco1_ci EQ v_inco1a.
* << Fim da inclusão
IF sy-subrc EQ 0.
LOOP AT itab_zycit031.
itab_inco1-sign = 'I'.
itab_inco1-option = 'EQ'.
itab_inco1-low = itab_zycit031-inco1.
itab_inco1-high = ' '.
APPEND itab_inco1.
ENDLOOP.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_ITENS
ENDIF.
ENDIF.
* << Fim da inclusão
IF itab_zycit011[] IS INITIAL.
SELECT ekko~bukrs ekko~waers ekko~lifnr ekko~aedat
ekko~inco1 ekko~ebeln
ekpo~ebelp ekpo~werks ekpo~bednr ekpo~menge
ekpo~ktmng ekpo~bstyp
...
...
IF sy-subrc NE 0.
MESSAGE e015 WITH text-248.
EXIT.
ENDIF.
IF so_inco1 IS INITIAL.
* >> Início da exclusão: FORM SELECIONAR_ITENS
CLEAR: itab_itens,itab_zycit031.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS
CLEAR: itab_itens, itab_zycit031, v_inco1a.
* << Fim da inclusão
REFRESH: itab_zycit031.
READ TABLE itab_itens INDEX 1.
SELECT * FROM /pws/zycit031
INTO TABLE itab_zycit031
WHERE inco1_ci EQ itab_itens-inco1.
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF sy-subrc EQ 0.
CLEAR itab_itens.
LOOP AT itab_itens.
READ TABLE itab_zycit031 WITH KEY inco1 = itab_itens-inco1.
IF sy-subrc NE 0.
DELETE itab_itens.
ENDIF.
ENDLOOP.
CLEAR itab_itens.
ELSE.
SELECT SINGLE inco1_ci FROM /pws/zycit031
INTO v_inco1a WHERE inco1 EQ itab_itens-inco1.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit031
INTO TABLE itab_zycit031
WHERE inco1_ci EQ v_inco1a.
* << Fim da inclusão
IF sy-subrc EQ 0.
CLEAR itab_itens.
LOOP AT itab_itens.
READ TABLE itab_zycit031 WITH KEY inco1 = itab_itens-inco1.
IF sy-subrc NE 0.
DELETE itab_itens.
ENDIF.
ENDLOOP.
CLEAR itab_itens.
* >> Início da inclusão: FORM SELECIONAR_ITENS
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
CALL CUSTOMER-FUNCTION '002'
EXPORTING
nremba = /pws/zycie001-nrseq
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001TOP
...
DATA: itab_zycit100 LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
DATA: itab_zycit094 LIKE /pws/zycit094 OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit031 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit031.
DATA: END OF itab_zycit031.
* << Fim da inclusão
DATA: BEGIN OF wa093,
bukrs LIKE /pws/zycie093-bukrs,
meiotransp LIKE /pws/zycie093-meiotransp,
paemb LIKE /pws/zycie093-paemb ,
paispae LIKE /pws/zycie093-paispae ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
/pws/zycie085-vlfobr = s_fbvr.
ENDFORM.
FORM adic_list.
CLEAR: it_adi[], /pws/zycie100a, itab_itb.
REFRESH: it_adi[].
* >> Início da inclusão: FORM ADIC_LIST
data: begin of itab_inco occurs 0.
data: ebeln like ekko-ebeln,
inco1 like ekko-inco1.
data end of itab_inco.
if not itab_it[] is initial.
select ebeln inco1 from ekko into table itab_inco
for all entries in itab_it
where ebeln eq itab_it-ebeln.
endif.
loop at itab_it.
read table itab_inco with key ebeln = itab_it-ebeln.
if sy-subrc eq 0.
itab_it-inco_item = itab_inco-inco1.
endif.
modify itab_it.
endloop.
* << Fim da inclusão
PERFORM data_sort.
IF itab_zycit001-flag_adicao EQ 'X'.
v_adic = 0.
else.
v_adic = 1.
...
...
itab_it-tribipi NE itab_itb-tribipi OR
itab_it-advalicms NE itab_itb-advalicms OR
itab_it-vlantid NE itab_itb-vlantid OR
itab_it-meinsantid NE itab_itb-meinsantid OR
itab_it-qtdeantid NE itab_itb-qtdeantid OR
* >> Início da exclusão: FORM ADIC_LIST
itab_it-codcambial NE itab_itb-codcambial .
* << Fim da exclusão
* >> Início da inclusão: FORM ADIC_LIST
itab_it-codcambial NE itab_itb-codcambial or
itab_it-inco_item NE itab_itb-inco_item .
* << Fim da inclusão
PERFORM adic_next.
ELSE.
IF itab_zycit001-flag_adicao EQ 'X'.
PERFORM adic_next.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
waersbem dttaxbem antidrate extarif_al tipo_al
orgemiss_al numero_al anoemiss_al ii_extarif ii_tipo
ii_orgemiss ii_numero ii_anoemiss ipi_extarif ipi_tipo
ipi_orgemiss ipi_numero ipi_anoemiss ad_extarif ad_tipo
ad_orgemiss ad_numero ad_anoemiss aladi tribipi
* >> Início da exclusão: FORM DATA_SORT
advalicms vlantid meinsantid qtdeantid.
* << Fim da exclusão
* >> Início da inclusão: FORM DATA_SORT
advalicms vlantid meinsantid qtdeantid
inco_item.
* << Fim da inclusão
ENDFORM.
FORM fill_desp.
SELECT mandt nrseq tpdesp descr waers vldp FROM /pws/zycit049
INTO TABLE itab_zycit049
WHERE nrseq EQ /pws/zycie085-nrseqdi.
...
...
LOOP AT itab_zycit124b.
MOVE itab_zycit124b TO itab_zycit124.
APPEND itab_zycit124.
ENDLOOP.
MODIFY /pws/zycit121 FROM TABLE itab_zycit121.
* >> Início da inclusão: FORM SALVA_DADOS_SISCOMEX
MODIFY /pws/zycit124 FROM TABLE itab_zycit124.
* << Fim da inclusão
ENDFORM.
FORM salva_fatura.
DATA: v_belnr_p LIKE /pws/zycie006-belnr_p,
itab_132 LIKE /pws/zycie132 OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_zycbt117 OCCURS 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
ipi_recolher LIKE /pws/zycie085-vlfob,
ad_devido LIKE /pws/zycie085-vlfob,
ad_recolher LIKE /pws/zycie085-vlfob,
vlfobr LIKE /pws/zycie100a-vlfre,
codcambial like /pws/zycie006-codcambial,
* >> Início da inclusão:
inco_item like /pws/zycit001-inco1,
* << Fim da inclusão
mark,
END OF itab_it.
DATA: BEGIN OF itab_zycit049 OCCURS 0.
INCLUDE STRUCTURE /pws/zycie049.
DATA: tipo LIKE /pws/zycit019-tipo,
...