Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Relatórios
Data/Hora da Publicação: 23/10/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 11:42:21
Descrição da Nota: CORREÇÃO BUSCA DE ITENS DO EMBARQUE NO RELATÓRIO FOLLOW UP
Sintoma
Relatório exibe itens inválidos.
Valores de comissão de agente em branco.
Solução
Nova implementação de busca de itens do embarque.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05062 Data: 23/10/2007 Hora: 16:33:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05062
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00018
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04995 - 00001 - 7.0 - 00003 - INCLUSÃO DO PEDIDO DE COMPRA NO RELATORIO FOLLOW UP DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
CORREÇÃO BUSCA DE ITENS DO EMBARQUE NO RELATÓRIO FOLLOW UP
----------------------------------------------------------------------------------------------------
Palavras Chave:
BUSCO ITENS EMBARQUE RELATÓRIO FOLLOW UP
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCER213
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCER213
...
/pws/zycet002,
/pws/zycet003,
/pws/zycet047,
adrc,
j_1bnfdoc,
vbak,
vbap,
vbpa,
vbkd,
ekko.
* >> Início da inclusão:
TYPES:
BEGIN OF t_seq_embarque,
nrseq TYPE /pws/zycet001-nrseq,
nremb TYPE /pws/zycet001-nremb,
navio TYPE /pws/zycet001-navio,
viatrans TYPE /pws/zycet001-viatrans,
portdest TYPE /pws/zycet001-portdest,
nrsd TYPE /pws/zycet001-nrsd,
canal TYPE /pws/zycet001-canal,
dtprev TYPE /pws/zycet001-dtprev,
dtemb TYPE /pws/zycet001-dtemb,
dtaverb TYPE /pws/zycet001-dtaverb,
dtdoc TYPE /pws/zycet001-dtdoc,
dtenvcamb TYPE /pws/zycet001-dtenvcamb,
dtcruze TYPE /pws/zycet001-dtcruze,
END OF t_seq_embarque,
t_seq_embarques TYPE STANDARD TABLE OF t_seq_embarque.
* << Fim da inclusão
DATA: BEGIN OF itab_notas OCCURS 0,
docnum LIKE j_1bnflin-docnum,
itmnum LIKE j_1bnflin-itmnum,
reftyp LIKE j_1bnflin-reftyp,
refkey LIKE j_1bnflin-refkey,
refitm LIKE j_1bnflin-refitm,
nfnum LIKE j_1bnfdoc-nfnum,
docdat LIKE j_1bnfdoc-docdat,
vbeln_vf LIKE /pws/zycet002-vbeln_vf,
vbeln_va LIKE /pws/zycet002-vbeln_va,
...
...
matnr LIKE /pws/zycet002-matnr,
ntgew LIKE /pws/zycet002-ntgew,
brgew LIKE /pws/zycet002-brgew,
shkzg LIKE /pws/zycet002-shkzg,
auart LIKE /pws/zycet002-auart,
gewei LIKE /pws/zycet002-gewei,
fkimg LIKE /pws/zycet002-fkimg,
vrkme LIKE /pws/zycet002-vrkme,
fkart LIKE /pws/zycet002-fkart,
bukrs LIKE /pws/zycet002-bukrs,
* >> Início da exclusão:
vlme LIKE /pws/zycet002-vlme,
* << Fim da exclusão
* >> Início da inclusão:
vlemb LIKE /pws/zycet002-vlemb,
* << Fim da inclusão
steuc LIKE /pws/zycet002-steuc,
land1 LIKE /pws/zycet002-land1,
dtincl LIKE /pws/zycet001-dtincl,
ebeln LIKE /pws/zycet002-ebeln,
ebelp LIKE /pws/zycet002-ebelp,
* >> Início da exclusão:
vlcomis LIKE /pws/zycee085-vlcomis,
vldesconto LIKE /pws/zycee085-vldesconto,
* << Fim da exclusão
* >> Início da inclusão:
vlagente_r LIKE /pws/zycet002-vlagente_r,
vldesconto_r LIKE /pws/zycet002-vldesconto_r,
* << Fim da inclusão
END OF itab_embarque.
DATA: BEGIN OF itab_t604f OCCURS 0,
land1 LIKE t604f-land1,
steuc LIKE t604f-steuc,
/pws/anuencia LIKE t604f-/pws/anuencia,
END OF itab_t604f.
DATA: BEGIN OF itab_zycet003 OCCURS 0,
nrseq LIKE /pws/zycet003-nrseq,
nrre LIKE /pws/zycet003-nrre,
dtlibanu LIKE /pws/zycet003-dtlibanu,
...
...
ELSE.
MESSAGE i008.
ENDIF.
END-OF-SELECTION.
FORM seleciona_dados.
IF NOT s_nrseq IS INITIAL OR
NOT s_nremb IS INITIAL OR
NOT s_dtprev IS INITIAL OR
NOT s_dtemb IS INITIAL OR
NOT s_viatr IS INITIAL OR
* >> Início da exclusão: FORM SELECIONA_DADOS
NOT s_dtdde IS INITIAL OR
* << Fim da exclusão
NOT s_werks IS INITIAL OR
NOT s_ebeln IS INITIAL.
PERFORM seleciona_embarque.
ELSEIF NOT s_vkgrp IS INITIAL OR
NOT s_vbeln IS INITIAL OR
NOT s_bstkd IS INITIAL OR
NOT s_import IS INITIAL OR
NOT s_padest IS INITIAL.
PERFORM seleciona_ordem.
ELSEIF NOT s_nfnum IS INITIAL OR
NOT s_docdat IS INITIAL.
PERFORM seleciona_nota.
ELSEIF NOT s_dtbl IS INITIAL.
PERFORM seleciona_dtbl.
ELSEIF NOT s_nrre IS INITIAL.
PERFORM seleciona_re.
* >> Início da inclusão: FORM SELECIONA_DADOS
ELSEIF NOT s_dtdde IS INITIAL.
PERFORM seleciona_dde.
* << Fim da inclusão
ELSE.
PERFORM seleciona_embarque.
ENDIF.
ENDFORM.
FORM seleciona_embarque.
* >> Início da inclusão: FORM SELECIONA_EMBARQUE
DATA it_seq_embarque TYPE t_seq_embarques.
SELECT
nrseq
nremb
navio
viatrans
portdest
nrsd
canal
dtprev
dtemb
dtaverb
dtdoc
dtenvcamb
dtcruze
FROM /pws/zycet001
INTO TABLE it_seq_embarque
WHERE nrseq IN s_nrseq.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_EMBARQUE
SELECT a~mandt a~nrseq a~nremb a~nrsd a~canal a~navio
a~dtprev a~dtaverb a~dtenvcamb a~dtdoc a~dtcruze a~dtemb
a~viatrans a~portdest a~despach
b~vbeln_va b~vbeln_vl b~vbeln_vf b~aupos b~posnl b~posnr
b~waers b~inco1 b~docnum b~nfnum b~werks b~vkgrp
b~matnr b~ntgew b~brgew b~shkzg b~auart b~gewei
b~fkimg b~vrkme b~fkart b~bukrs b~vlme b~steuc
b~land1 a~dtincl b~ebeln b~ebelp
FROM /pws/zycet001 AS a INNER JOIN /pws/zycet002 AS b
ON a~nrseq = b~nrseq
INTO TABLE itab_embarque
WHERE a~nrseq IN s_nrseq
AND a~nremb IN s_nremb
AND a~nrsd IN s_dtdde
AND a~dtprev IN s_dtprev
AND a~dtemb IN s_dtemb
AND a~viatrans IN s_viatr
AND b~vbeln_va IN s_vbeln
AND b~nfnum IN s_nfnum
AND b~werks IN s_werks
AND b~vkgrp IN s_vkgrp
AND b~ebeln IN s_ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_EMBARQUE
CHECK sy-subrc = 0.
PERFORM recupera_itens_embarque
TABLES itab_embarque[]
USING it_seq_embarque.
* << Fim da inclusão
IF NOT itab_embarque[] IS INITIAL.
SELECT nrseq nrre dtlibanu
FROM /pws/zycet003
INTO TABLE itab_zycet003
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq
AND nrre IN s_nrre.
IF NOT s_nrre IS INITIAL.
IF NOT itab_zycet003[] IS INITIAL.
LOOP AT itab_embarque.
...
...
vbrk~exnum vbrk~fkart vbrk~inco1 vbrk~bukrs
vbrk~waerk
FROM vbrk INNER JOIN vbrp
ON vbrk~vbeln = vbrp~vbeln
INTO TABLE itab_fatura
FOR ALL ENTRIES IN itab_ordem
WHERE vbrp~vbeln EQ itab_ordem-vbeln_vf
AND vbrp~posnr EQ itab_ordem-posnf.
ENDIF.
IF NOT itab_ordem[] IS INITIAL.
* >> Início da exclusão: FORM SELECIONA_ORDEM
PERFORM trata_ordem_ord.
ENDIF.
IF NOT itab_ordem[] IS INITIAL.
* << Fim da exclusão
PERFORM seleciona_dados_ordem.
SELECT a~mandt a~nrseq a~nremb a~nrsd a~canal a~navio
a~dtprev a~dtaverb a~dtenvcamb a~dtdoc a~dtcruze a~dtemb
a~viatrans a~portdest a~despach
b~vbeln_va b~vbeln_vl b~vbeln_vf b~aupos b~posnl b~posnr
b~waers b~inco1 b~docnum b~nfnum b~werks b~vkgrp
b~matnr b~ntgew b~brgew b~shkzg b~auart b~gewei
b~fkimg b~vrkme b~fkart b~bukrs b~vlme b~steuc
b~land1
FROM /pws/zycet001 AS a INNER JOIN /pws/zycet002 AS b
...
...
v_index = sy-tabix.
READ TABLE itab_notas WITH KEY vbeln_va = itab_ordem-vbeln
aupos = itab_ordem-posnr.
MOVE: itab_notas-vbeln_vl TO itab_ordem-vbeln_vl,
itab_notas-vbeln_vf TO itab_ordem-vbeln_vf,
itab_notas-vbeln_vl TO itab_ordem-objky,
itab_notas-posnl TO itab_ordem-posnl,
itab_notas-refitm TO itab_ordem-posnf.
MODIFY itab_ordem INDEX v_index.
ENDLOOP.
* >> Início da exclusão: FORM SELECIONA_NOTA
IF NOT itab_ordem[] IS INITIAL.
PERFORM trata_ordem_ord.
ENDIF.
* << Fim da exclusão
IF NOT itab_ordem[] IS INITIAL.
SELECT vbeln bstkd bstdk
FROM vbkd
INTO TABLE itab_vbkd
FOR ALL ENTRIES IN itab_ordem
WHERE vbeln EQ itab_ordem-vbeln.
SELECT vbpa~vbeln vbpa~kunnr vbpa~parvw vbpa~adrnr
adrc~country
kna1~name1
FROM vbpa INNER JOIN adrc
...
...
nrseqtr nrrota_tr nrseqcg
FROM /pws/zycet046
INTO TABLE itab_zycet046
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq.
IF NOT itab_zycet046[] IS INITIAL.
SELECT nrseqtr nrrota_tr dtdesembaraco
FROM /pws/zycet102
INTO TABLE itab_zycet102
FOR ALL ENTRIES IN itab_zycet046
* >> Início da exclusão: FORM SELECIONA_DADOS_EMBARQUE
WHERE nrseqtr EQ itab_zycet046-nrseqcg
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS_EMBARQUE
WHERE nrseqtr EQ itab_zycet046-nrseqtr
* << Fim da inclusão
AND nrrota_tr EQ itab_zycet046-nrrota_tr.
SELECT nrseqno dtinspecao
FROM /pws/zycet217
INTO TABLE itab_zycet217
FOR ALL ENTRIES IN itab_zycet046
WHERE nrseqno EQ itab_zycet046-nrseqno.
SELECT nrseqtr
nrrota_tr
readtexta
INTO TABLE itab_zycet103
...
...
WHERE steuc EQ itab_embarque-steuc.
SELECT nrseq categoria
FROM /pws/zycet124
INTO TABLE itab_zycet124
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq.
IF NOT itab_zycet124[] IS INITIAL.
DELETE itab_zycet124 WHERE categoria EQ ' '.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM TRATA_ORDEM_EMB
FORM trata_ordem_emb.
REFRESH itab_zycee085.
CLEAR itab_zycee085.
LOOP AT itab_embarque.
nrseq = nrseq + 1.
itab_zycee085-nrseq = nrseq.
SHIFT itab_zycee085-nrseq RIGHT DELETING TRAILING space.
UNPACK itab_zycee085-nrseq TO itab_zycee085-nrseq.
MOVE : itab_embarque-mandt TO itab_zycee085-mandt,
itab_embarque-vbeln_va TO itab_zycee085-vbeln_va,
itab_embarque-vbeln_vf TO itab_zycee085-vbeln_vf,
itab_embarque-vbeln_vl TO itab_zycee085-vbeln_vl,
itab_embarque-posnl TO itab_zycee085-posnl,
itab_embarque-posnr TO itab_zycee085-posnr,
itab_embarque-aupos TO itab_zycee085-aupos,
itab_embarque-ntgew TO itab_zycee085-ntgew,
itab_embarque-brgew TO itab_zycee085-brgew,
itab_embarque-shkzg TO itab_zycee085-shkzg,
itab_embarque-nfnum TO itab_zycee085-nfnum,
itab_embarque-auart TO itab_zycee085-auart,
itab_embarque-waers TO itab_zycee085-waers,
itab_embarque-gewei TO itab_zycee085-gewei,
itab_embarque-fkimg TO itab_zycee085-fkimg,
itab_embarque-vrkme TO itab_zycee085-vrkme,
itab_embarque-vlme TO itab_zycee085-vlme,
itab_embarque-fkart TO itab_zycee085-fkart,
itab_embarque-inco1 TO itab_zycee085-inco1,
itab_embarque-bukrs TO itab_zycee085-bukrs.
APPEND itab_zycee085.
CLEAR itab_zycee085.
ENDLOOP.
EXPORT itab_zycee085 TO MEMORY ID 'ODOC'.
CALL FUNCTION '/PWS/ZYCE_TRATA_ORDEM'
TABLES
t_saida = itab_saida.
FREE MEMORY ID 'ODOC'.
DELETE itab_saida WHERE ( vlme = space AND vfob = space ).
IF NOT itab_saida[] IS INITIAL.
LOOP AT itab_embarque.
v_index = sy-tabix.
READ TABLE itab_saida WITH KEY vbeln_va = itab_embarque-vbeln_va
vbeln_vf = itab_embarque-vbeln_vf
vbeln_vl = itab_embarque-vbeln_vl
posnl = itab_embarque-posnl
posnr = itab_embarque-posnr
aupos = itab_embarque-aupos.
IF sy-subrc EQ 0.
MOVE: itab_saida-vlme TO itab_embarque-vlme,
itab_saida-vlcomis TO itab_embarque-vlcomis,
itab_saida-vldesconto TO itab_embarque-vldesconto.
MODIFY itab_embarque INDEX v_index.
ELSE.
DELETE itab_embarque INDEX v_index.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
FORM trata_ordem_ord.
REFRESH itab_zycee085.
CLEAR itab_zycee085.
LOOP AT itab_ordem.
CLEAR: itab_fatura,
itab_notas.
nrseq = nrseq + 1.
itab_zycee085-nrseq = nrseq.
SHIFT itab_zycee085-nrseq RIGHT DELETING TRAILING space.
UNPACK itab_zycee085-nrseq TO itab_zycee085-nrseq.
READ TABLE itab_fatura WITH KEY vbeln = itab_ordem-vbeln_vf
posnr = itab_ordem-posnf.
READ TABLE itab_notas WITH KEY refkey = itab_ordem-refkey
refitm = itab_ordem-posnf.
MOVE : itab_ordem-mandt TO itab_zycee085-mandt,
itab_ordem-vbeln TO itab_zycee085-vbeln_va,
itab_ordem-vbeln_vf TO itab_zycee085-vbeln_vf,
itab_ordem-vbeln_vl TO itab_zycee085-vbeln_vl,
itab_ordem-posnl TO itab_zycee085-posnl,
itab_ordem-posnf TO itab_zycee085-posnr,
itab_ordem-posnr TO itab_zycee085-aupos,
itab_ordem-ntgew TO itab_zycee085-ntgew,
itab_ordem-brgew TO itab_zycee085-brgew,
itab_ordem-shkzg TO itab_zycee085-shkzg,
itab_notas-nfnum TO itab_zycee085-nfnum,
itab_ordem-auart TO itab_zycee085-auart,
itab_ordem-waerk TO itab_zycee085-waers,
itab_ordem-gewei TO itab_zycee085-gewei,
itab_ordem-kwmeng TO itab_zycee085-fkimg,
itab_ordem-vrkme TO itab_zycee085-vrkme,
itab_ordem-netwr TO itab_zycee085-vlme,
itab_fatura-fkart TO itab_zycee085-fkart,
itab_fatura-inco1 TO itab_zycee085-inco1,
itab_fatura-bukrs TO itab_zycee085-bukrs.
APPEND itab_zycee085.
CLEAR itab_zycee085.
ENDLOOP.
EXPORT itab_zycee085 TO MEMORY ID 'ODOC'.
CALL FUNCTION '/PWS/ZYCE_TRATA_ORDEM'
TABLES
t_saida = itab_saida.
FREE MEMORY ID 'ODOC'.
DELETE itab_saida WHERE ( vlme = space AND vfob = space ) OR
( ntgew = space AND brgew = space ).
IF NOT itab_saida[] IS INITIAL.
LOOP AT itab_ordem.
v_index = sy-tabix.
READ TABLE itab_saida WITH KEY vbeln_va = itab_ordem-vbeln
vbeln_vf = itab_ordem-vbeln_vf
vbeln_vl = itab_ordem-vbeln_vl
posnl = itab_ordem-posnl
posnr = itab_ordem-posnf
aupos = itab_ordem-posnr.
IF sy-subrc EQ 0.
MOVE: itab_saida-vlme TO itab_ordem-netwr,
itab_saida-vlcomis TO itab_ordem-vlcomis,
itab_saida-vldesconto TO itab_ordem-vldesconto.
MODIFY itab_ordem INDEX v_index.
ELSE.
DELETE itab_ordem INDEX v_index.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
* << Fim da exclusão
FORM processa_dados.
* >> Início da exclusão: FORM PROCESSA_DADOS
SORT itab_ordem BY vbeln posnr.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
SORT itab_embarque BY nrseq vbeln_va ebeln.
* << Fim da inclusão
SORT itab_nast BY objky datvr ASCENDING.
* >> Início da exclusão: FORM PROCESSA_DADOS
LOOP AT itab_ordem.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
LOOP AT itab_embarque.
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
CLEAR: itab_relat.
MOVE: itab_ordem-vbeln TO itab_relat-vbeln_va,
itab_ordem-vbeln_vl TO itab_relat-vbeln_vl,
itab_ordem-vkgrp TO itab_relat-vkgrp,
itab_ordem-erdat TO itab_relat-erdat,
itab_ordem-werks TO itab_relat-werks.
READ TABLE itab_fatura WITH KEY vbeln = itab_ordem-vbeln_vf
posnr = itab_ordem-posnf.
IF sy-subrc EQ 0.
IF itab_fatura-waerk EQ 'BRL'.
itab_relat-vlnota = itab_fatura-kursk * itab_fatura-netwr.
ELSE.
itab_relat-vlnota = itab_fatura-netwr.
ENDIF.
ENDIF.
READ TABLE itab_notas WITH KEY refkey = itab_ordem-refkey
refitm = itab_ordem-posnf.
IF sy-subrc EQ 0.
MOVE: itab_notas-nfnum TO itab_relat-nfnum,
itab_notas-docdat TO itab_relat-docdat.
ENDIF.
READ TABLE itab_vbpa WITH KEY vbeln = itab_ordem-vbeln.
IF sy-subrc EQ 0.
MOVE: itab_vbpa-name1 TO itab_relat-recebedor.
ENDIF.
READ TABLE itab_import WITH KEY vbeln = itab_ordem-vbeln.
IF sy-subrc EQ 0.
MOVE: itab_import-name1 TO itab_relat-importador,
itab_import-country TO itab_relat-country.
ENDIF.
READ TABLE itab_likp WITH KEY vbeln = itab_ordem-vbeln_vl.
IF sy-subrc EQ 0.
MOVE: itab_likp-bldat TO itab_relat-bldat.
READ TABLE itab_eikp WITH KEY exnum = itab_likp-exnum.
IF sy-subrc EQ 0.
MOVE: itab_eikp-bezei TO itab_relat-zolla.
ENDIF.
LOOP AT itab_lips WHERE vbeln = itab_ordem-vbeln_vl
AND posnr = itab_ordem-posnl.
MOVE: itab_lips-vrkme TO itab_relat-vrkme,
itab_lips-lfimg TO itab_relat-lfimg,
itab_lips-brgew TO itab_relat-btgew,
itab_likp-gewei TO itab_relat-gewei.
ENDLOOP.
ENDIF.
READ TABLE itab_zycet265 WITH KEY vbeln_va = itab_ordem-vbeln
vbeln_vl = itab_ordem-vbeln_vl.
IF sy-subrc EQ 0.
MOVE: itab_zycet265-dtrecped TO itab_relat-dtrecped,
itab_zycet265-dtembsol TO itab_relat-dtembsol,
itab_zycet265-dtsolov TO itab_relat-dtsolov,
itab_zycet265-dtlibven TO itab_relat-dtlibven,
itab_zycet265-dtsolrem TO itab_relat-dtsolrem,
itab_zycet265-dtsolfat TO itab_relat-dtsolfat,
itab_zycet265-dtlibemb TO itab_relat-dtlibemb,
itab_zycet265-bstkd TO itab_relat-bstkd,
itab_zycet265-dtrecped TO itab_relat-bstdk.
ENDIF.
READ TABLE itab_embarque WITH KEY vbeln_va = itab_ordem-vbeln
vbeln_vl = itab_ordem-vbeln_vl
vbeln_vf = itab_ordem-vbeln_vf
aupos = itab_ordem-posnr
posnl = itab_ordem-posnl
posnr = itab_ordem-posnf.
IF sy-subrc EQ 0.
MOVE: itab_embarque-nrseq TO itab_relat-nrseq,
itab_embarque-nremb TO itab_relat-nremb,
itab_embarque-viatrans TO itab_relat-viatrans,
itab_embarque-portdest TO itab_relat-portdest,
itab_embarque-nrsd TO itab_relat-nrsd,
itab_embarque-dtprev TO itab_relat-dtprev,
itab_embarque-dtemb TO itab_relat-dtemb,
itab_embarque-dtcruze TO itab_relat-dtcruze,
itab_embarque-dtaverb TO itab_relat-dtaverb,
itab_embarque-dtdoc TO itab_relat-dtdoc,
itab_embarque-dtenvcamb TO itab_relat-dtenvcamb,
itab_embarque-waers TO itab_relat-waers,
itab_embarque-inco1 TO itab_relat-inco1,
itab_embarque-vlme TO itab_relat-netwr,
itab_embarque-vlcomis TO itab_relat-vlcomis,
itab_embarque-vldesconto TO itab_relat-vldesconto,
itab_embarque-dtincl TO itab_relat-dt_eiv.
CASE itab_embarque-canal.
WHEN 'VD'.
itab_relat-canal = 'Verde'.
WHEN 'AM'.
itab_relat-canal = 'Amarelo'.
WHEN 'VM'.
itab_relat-canal = 'Vermelho'.
WHEN 'CZ'.
itab_relat-canal = 'Cinza'.
ENDCASE.
READ TABLE itab_zycet100 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet100-nrinsp TO itab_relat-nrinsp,
itab_zycet100-dtleg TO itab_relat-dtleg,
itab_zycet100-empinsp TO itab_relat-empinsp,
itab_zycet100-data_insp TO itab_relat-data_insp,
itab_zycet100-dtconemb TO itab_relat-dtconemb,
itab_zycet100-analista TO itab_relat-analista.
ENDIF.
READ TABLE itab_zycet262 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet262-dtchegf TO itab_relat-dtchegf.
ENDIF.
CLEAR itab_armador.
READ TABLE itab_armador
WITH KEY nrseq = itab_embarque-nrseq.
CLEAR itab_lfa1.
READ TABLE itab_lfa1
WITH KEY lifnr = itab_armador-armador.
MOVE itab_lfa1-name1 TO itab_relat-emptrans.
MOVE itab_armador-dtconsolida TO itab_relat-dtconsolida.
MOVE itab_armador-dtfumigacao TO itab_relat-dtinspecao.
IF itab_embarque-viatrans EQ c_ma.
MOVE itab_armador-dt_dead_line TO itab_relat-dataentr.
ENDIF.
CLEAR itab_relat-navio.
IF itab_embarque-viatrans EQ c_rd.
itab_relat-navio = itab_armador-nome_tr.
ENDIF.
READ TABLE itab_zycet015 WITH KEY nrseq = itab_embarque-nrseq
tipo = 'DES'.
IF sy-subrc EQ 0.
MOVE: itab_zycet015-name1 TO itab_relat-despachante.
ENDIF.
READ TABLE itab_zycet047 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet047-tipcar TO itab_relat-tipcar,
itab_zycet047-dtlibconemb TO itab_relat-dtlibconemb,
itab_zycet047-dtbl TO itab_relat-dtbl.
ENDIF.
CLEAR itab_relat-nrbl.
IF itab_embarque-viatrans EQ c_rd OR
itab_embarque-viatrans EQ c_ma.
itab_relat-nrbl = itab_zycet047-nrbl.
ELSEIF itab_embarque-viatrans EQ c_ta.
itab_relat-nrbl = itab_zycet047-house.
ENDIF.
READ TABLE itab_zycet046 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet046-nrcour TO itab_relat-nrcour,
itab_zycet046-dtrec TO itab_relat-dtrec,
itab_zycet046-dpch TO itab_relat-dpch.
IF itab_embarque-viatrans EQ c_ma.
MOVE itab_armador-nome_tr TO itab_relat-nome_tr.
ELSEIF itab_embarque-viatrans EQ c_rd OR
itab_embarque-viatrans EQ c_ta.
CLEAR itab_zycet103.
READ TABLE itab_zycet103 WITH KEY
nrseqtr = itab_zycet046-nrseqcg.
MOVE itab_zycet103-readtexta TO itab_relat-nome_tr.
ENDIF.
READ TABLE itab_zycet102 WITH KEY
nrseqtr = itab_zycet046-nrseqcg
nrrota_tr = itab_zycet046-nrrota_tr.
IF sy-subrc EQ 0.
MOVE: itab_zycet102-dtdesembaraco TO itab_relat-dtdesembaraco.
ENDIF.
CLEAR itab_zycet124.
READ TABLE itab_zycet124 WITH KEY
nrseq = itab_embarque-nrseq.
itab_relat-tpcont = itab_zycet124-categoria.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
PERFORM:
atribui_dados_comuns
USING itab_embarque CHANGING itab_relat,
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-005.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_eie.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-006.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_1o1.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-007.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_efa.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-008.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_epl.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
atribui_dados_adicionais
USING itab_embarque CHANGING itab_relat,
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-009.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_seg.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
atribui_dados_certificados
USING itab_embarque CHANGING itab_relat.
* << Fim da inclusão
READ TABLE itab_zycet183 WITH KEY nrseq = itab_embarque-nrseq
tp_doc = text-011.
IF sy-subrc EQ 0.
MOVE: itab_zycet183-dtlog TO itab_relat-dt_re.
ENDIF.
READ TABLE itab_zycet183 WITH KEY nrseq = itab_embarque-nrseq
tp_doc = text-012.
IF sy-subrc EQ 0.
MOVE: itab_zycet183-dtlog TO itab_relat-dt_sd.
ELSE.
READ TABLE itab_zycet183 WITH KEY nrseq = itab_embarque-nrseq
tp_doc = text-013.
IF sy-subrc EQ 0.
MOVE: itab_zycet183-dtlog TO itab_relat-dt_sd.
* >> Início da exclusão: FORM PROCESSA_DADOS
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
IF itab_relat-netwr IS INITIAL.
MOVE: itab_ordem-netwr TO itab_relat-netwr.
ENDIF.
IF itab_relat-vlcomis IS INITIAL.
MOVE: itab_ordem-vlcomis TO itab_relat-vlcomis.
ENDIF.
IF itab_relat-vldesconto IS INITIAL.
MOVE: itab_ordem-vldesconto TO itab_relat-vldesconto.
* >> Início da exclusão: FORM PROCESSA_DADOS
ENDIF.
READ TABLE itab_vbep WITH KEY vbeln = itab_ordem-vbeln
posnr = itab_ordem-posnr.
IF sy-subrc EQ 0.
MOVE: itab_vbep-edatu TO itab_relat-dt_eta.
* << Fim da exclusão
ENDIF.
READ TABLE itab_nast WITH KEY objky = itab_ordem-objky.
IF sy-subrc EQ 0.
MOVE: itab_nast-datvr TO itab_relat-dt_analise.
ENDIF.
* >> Início da exclusão: FORM PROCESSA_DADOS
PERFORM red_flags.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
IF NOT itab_ordem[] IS INITIAL.
READ TABLE itab_ordem WITH KEY
vbeln = itab_embarque-vbeln_va
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
COLLECT itab_relat.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
posnr = itab_embarque-aupos
vbeln_vl = itab_embarque-vbeln_vl
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
posnl = itab_embarque-posnl.
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
LOOP AT itab_pedido.
CLEAR: itab_relat.
CLEAR itab_embarque.
v_index = sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
PERFORM atribui_dados_ov
USING itab_ordem itab_embarque CHANGING itab_relat.
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
READ TABLE itab_embarque WITH KEY ebeln = itab_pedido-ebeln
posnr = itab_pedido-ebelp.
MOVE: itab_pedido-ebeln TO itab_relat-ebeln,
itab_pedido-vbeln TO itab_relat-vbeln_va,
itab_pedido-vbeln_vl TO itab_relat-vbeln_vl,
itab_pedido-aedat TO itab_relat-erdat,
itab_embarque-werks TO itab_relat-werks,
itab_embarque-nrseq TO itab_relat-nrseq,
itab_embarque-nremb TO itab_relat-nremb,
itab_embarque-viatrans TO itab_relat-viatrans,
itab_embarque-portdest TO itab_relat-portdest,
itab_embarque-nrsd TO itab_relat-nrsd,
itab_embarque-dtprev TO itab_relat-dtprev,
itab_embarque-dtemb TO itab_relat-dtemb,
itab_embarque-dtcruze TO itab_relat-dtcruze,
itab_embarque-dtaverb TO itab_relat-dtaverb,
itab_embarque-dtdoc TO itab_relat-dtdoc,
itab_embarque-dtenvcamb TO itab_relat-dtenvcamb,
itab_embarque-waers TO itab_relat-waers,
itab_embarque-inco1 TO itab_relat-inco1,
itab_embarque-vlme TO itab_relat-netwr,
itab_embarque-vlcomis TO itab_relat-vlcomis,
itab_embarque-vldesconto TO itab_relat-vldesconto,
itab_embarque-dtincl TO itab_relat-dt_eiv.
CASE itab_embarque-canal.
WHEN 'VD'.
itab_relat-canal = 'Verde'.
WHEN 'AM'.
itab_relat-canal = 'Amarelo'.
WHEN 'VM'.
itab_relat-canal = 'Vermelho'.
WHEN 'CZ'.
itab_relat-canal = 'Cinza'.
ENDCASE.
READ TABLE itab_fatura1 WITH KEY vbeln = itab_pedido-vbeln_vf
posnr = itab_pedido-posnf.
IF sy-subrc EQ 0.
IF itab_fatura1-waerk EQ 'BRL'.
itab_relat-vlnota = itab_fatura1-kursk * itab_fatura1-netwr.
ELSE.
itab_relat-vlnota = itab_fatura1-netwr.
ENDIF.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM PROCESSA_DADOS
READ TABLE itab_notas WITH KEY refkey = itab_pedido-refkey
refitm = itab_pedido-posnf.
IF sy-subrc EQ 0.
MOVE: itab_notas-nfnum TO itab_relat-nfnum,
itab_notas-docdat TO itab_relat-docdat.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
IF NOT itab_pedido[] IS INITIAL.
READ TABLE itab_pedido WITH KEY
ebeln = itab_embarque-ebeln
ebelp = itab_embarque-ebelp
vbeln_vl = itab_embarque-vbeln_vl
posnl = itab_embarque-posnl.
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
READ TABLE itab_import1 WITH KEY ebeln = itab_pedido-ebeln.
IF sy-subrc EQ 0.
MOVE: itab_import1-name1 TO itab_relat-importador,
itab_import1-country TO itab_relat-country.
ENDIF.
READ TABLE itab_likp1 WITH KEY vbeln = itab_pedido-vbeln_vl.
IF sy-subrc EQ 0.
MOVE: itab_likp1-bldat TO itab_relat-bldat.
READ TABLE itab_receb WITH KEY kunnr = itab_likp1-kunnr.
IF sy-subrc = 0.
MOVE: itab_receb-name1 TO itab_relat-recebedor.
ENDIF.
READ TABLE itab_eikp1 WITH KEY exnum = itab_likp1-exnum.
IF sy-subrc EQ 0.
MOVE: itab_eikp1-bezei TO itab_relat-zolla.
ENDIF.
LOOP AT itab_lips1 WHERE vbeln = itab_pedido-vbeln_vl
AND posnr = itab_pedido-posnl.
MOVE: itab_lips1-vrkme TO itab_relat-vrkme,
itab_lips1-lfimg TO itab_relat-lfimg,
itab_lips1-brgew TO itab_relat-btgew,
itab_likp1-gewei TO itab_relat-gewei.
ENDLOOP.
ENDIF.
READ TABLE itab_embarque WITH KEY ebeln = itab_pedido-ebeln
vbeln_vl = itab_pedido-vbeln_vl
vbeln_vf = itab_pedido-vbeln_vf
ebelp = itab_pedido-ebelp
posnl = itab_pedido-posnl
posnr = itab_pedido-posnf.
IF sy-subrc EQ 0.
READ TABLE itab_zycet100 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet100-nrinsp TO itab_relat-nrinsp,
itab_zycet100-dtleg TO itab_relat-dtleg,
itab_zycet100-empinsp TO itab_relat-empinsp,
itab_zycet100-data_insp TO itab_relat-data_insp,
itab_zycet100-dtconemb TO itab_relat-dtconemb,
itab_zycet100-analista TO itab_relat-analista.
ENDIF.
READ TABLE itab_zycet262 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet262-dtchegf TO itab_relat-dtchegf.
ENDIF.
CLEAR itab_armador.
READ TABLE itab_armador
WITH KEY nrseq = itab_embarque-nrseq.
CLEAR itab_lfa1.
READ TABLE itab_lfa1
WITH KEY lifnr = itab_armador-armador.
MOVE itab_lfa1-name1 TO itab_relat-emptrans.
MOVE itab_armador-dtconsolida TO itab_relat-dtconsolida.
MOVE itab_armador-dtfumigacao TO itab_relat-dtinspecao.
IF itab_embarque-viatrans EQ c_ma.
MOVE itab_armador-dt_dead_line TO itab_relat-dataentr.
ENDIF.
CLEAR itab_relat-navio.
IF itab_embarque-viatrans EQ c_rd.
itab_relat-navio = itab_armador-nome_tr.
ENDIF.
READ TABLE itab_zycet015 WITH KEY nrseq = itab_embarque-nrseq
tipo = 'DES'.
IF sy-subrc EQ 0.
MOVE: itab_zycet015-name1 TO itab_relat-despachante.
ENDIF.
READ TABLE itab_zycet047 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet047-tipcar TO itab_relat-tipcar,
itab_zycet047-dtlibconemb TO itab_relat-dtlibconemb,
itab_zycet047-dtbl TO itab_relat-dtbl.
ENDIF.
CLEAR itab_relat-nrbl.
IF itab_embarque-viatrans EQ c_rd OR
itab_embarque-viatrans EQ c_ma.
itab_relat-nrbl = itab_zycet047-nrbl.
ELSEIF itab_embarque-viatrans EQ c_ta.
itab_relat-nrbl = itab_zycet047-house.
ENDIF.
READ TABLE itab_zycet046 WITH KEY nrseq = itab_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet046-nrcour TO itab_relat-nrcour,
itab_zycet046-dtrec TO itab_relat-dtrec,
itab_zycet046-dpch TO itab_relat-dpch.
IF itab_embarque-viatrans EQ c_ma.
MOVE itab_armador-nome_tr TO itab_relat-nome_tr.
ELSEIF itab_embarque-viatrans EQ c_rd OR
itab_embarque-viatrans EQ c_ta.
CLEAR itab_zycet103.
READ TABLE itab_zycet103 WITH KEY
nrseqtr = itab_zycet046-nrseqcg.
MOVE itab_zycet103-readtexta TO itab_relat-nome_tr.
ENDIF.
READ TABLE itab_zycet102 WITH KEY
nrseqtr = itab_zycet046-nrseqcg
nrrota_tr = itab_zycet046-nrrota_tr.
IF sy-subrc EQ 0.
MOVE: itab_zycet102-dtdesembaraco TO itab_relat-dtdesembaraco.
ENDIF.
CLEAR itab_zycet124.
READ TABLE itab_zycet124 WITH KEY
nrseq = itab_embarque-nrseq.
itab_relat-tpcont = itab_zycet124-categoria.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-005.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_eie.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-006.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_1o1.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-007.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_efa.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-008.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_epl.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = itab_embarque-nrseq
repid = text-009.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO itab_relat-dt_seg.
ENDIF.
READ TABLE itab_zycet183 WITH KEY nrseq = itab_embarque-nrseq
tp_doc = text-011.
IF sy-subrc EQ 0.
MOVE: itab_zycet183-dtlog TO itab_relat-dt_re.
ENDIF.
READ TABLE itab_zycet183 WITH KEY nrseq = itab_embarque-nrseq
tp_doc = text-012.
IF sy-subrc EQ 0.
MOVE: itab_zycet183-dtlog TO itab_relat-dt_sd.
ELSE.
READ TABLE itab_zycet183 WITH KEY nrseq = itab_embarque-nrseq
tp_doc = text-013.
IF sy-subrc EQ 0.
MOVE: itab_zycet183-dtlog TO itab_relat-dt_sd.
ENDIF.
ENDIF.
ENDIF.
IF itab_relat-netwr IS INITIAL.
MOVE: itab_pedido-netpr TO itab_relat-netwr.
ENDIF.
IF itab_relat-vlcomis IS INITIAL.
MOVE: itab_pedido-vlcomis TO itab_relat-vlcomis.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_DADOS
PERFORM atribui_dados_pc
USING itab_pedido itab_embarque CHANGING itab_relat.
* << Fim da inclusão
* >> Início da exclusão: FORM PROCESSA_DADOS
IF itab_relat-vldesconto IS INITIAL.
MOVE: itab_pedido-vldesconto TO itab_relat-vldesconto.
ENDIF.
READ TABLE itab_vbep WITH KEY vbeln = itab_ordem-vbeln
posnr = itab_ordem-posnr.
IF sy-subrc EQ 0.
MOVE: itab_vbep-edatu TO itab_relat-dt_eta.
ENDIF.
READ TABLE itab_nast WITH KEY objky = itab_ordem-objky.
IF sy-subrc EQ 0.
MOVE: itab_nast-datvr TO itab_relat-dt_analise.
* << Fim da exclusão
ENDIF.
PERFORM red_flags.
COLLECT itab_relat.
ENDLOOP.
SORT itab_relat BY nrseq
vbeln_vl
werks.
DELETE ADJACENT DUPLICATES FROM itab_relat.
itab_zycet003_aux[] = itab_zycet003[].
LOOP AT itab_relat.
...
...
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'ICON_2'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 25.
afield-sp_group = 'A'.
afield-just = 'C'.
afield-icon = 'X'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DTSOLFAT'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 25.
afield-sp_group = 'A'.
...
...
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_EIV'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 20.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0030'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'NETWR'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
...
...
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_EIE'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 26.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0038'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_1O1'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 20.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0039'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_EFA'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 10.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0040'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_EPL'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 20.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0041'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_SEG'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 20.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0042'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'DT_ANALISE'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
afield-outputlen = 26.
afield-sp_group = 'A'.
afield-just = 'C'.
* >> Início da exclusão: FORM F_FIELDCAT_FILL
IF v_f24 IS INITIAL.
afield-no_out = 'X'.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-no_out = 'X'.
* << Fim da inclusão
APPEND afield TO i_fieldcat.
CLEAR itab_zycet031.
READ TABLE itab_zycet031 WITH KEY id = '0043'.
CLEAR afield.
v_inteiro = v_inteiro + 5.
afield-col_pos = v_inteiro.
afield-fieldname = 'NRRE'.
afield-seltext_s = itab_zycet031-name.
afield-seltext_m = itab_zycet031-name.
afield-seltext_l = itab_zycet031-name.
...
...
active = v_f24.
ENDFORM.
FORM limpa_campos.
IF NOT itab_zycet047[] IS INITIAL.
DELETE itab_zycet047 WHERE dtbl EQ '00000000' AND
dtlibconemb EQ '00000000' AND
tipcar EQ ' ' .
ENDIF.
ENDFORM.
FORM seleciona_dtbl.
* >> Início da inclusão: FORM SELECIONA_DTBL
DATA it_seq_embarque TYPE t_seq_embarques.
* << Fim da inclusão
SELECT nrseq matnr nrbl dtbl house dtlibconemb tipcar
FROM /pws/zycet047
INTO TABLE itab_zycet047
WHERE dtbl IN s_dtbl.
IF NOT itab_zycet047[] IS INITIAL.
* >> Início da exclusão: FORM SELECIONA_DTBL
SELECT a~mandt a~nrseq a~nremb a~nrsd a~canal a~navio
a~dtprev a~dtaverb a~dtenvcamb a~dtdoc a~dtcruze a~dtemb
a~viatrans a~portdest a~despach
b~vbeln_va b~vbeln_vl b~vbeln_vf b~aupos b~posnl b~posnr
b~waers b~inco1 b~docnum b~nfnum b~werks b~vkgrp
b~matnr b~ntgew b~brgew b~shkzg b~auart b~gewei
b~fkimg b~vrkme b~fkart b~bukrs b~vlme b~steuc
b~land1 a~dtincl
FROM /pws/zycet001 AS a INNER JOIN /pws/zycet002 AS b
ON a~nrseq = b~nrseq
INTO TABLE itab_embarque
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DTBL
SELECT
nrseq
nremb
navio
viatrans
portdest
nrsd
canal
dtprev
dtemb
dtaverb
dtdoc
dtenvcamb
dtcruze
FROM /pws/zycet001
INTO TABLE it_seq_embarque
* << Fim da inclusão
FOR ALL ENTRIES IN itab_zycet047
* >> Início da exclusão: FORM SELECIONA_DTBL
WHERE a~nrseq EQ itab_zycet047-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DTBL
WHERE nrseq = itab_zycet047-nrseq.
PERFORM recupera_itens_embarque
TABLES itab_embarque[]
USING it_seq_embarque.
* << Fim da inclusão
ENDIF.
IF NOT itab_embarque[] IS INITIAL.
SELECT nrseq nrre dtlibanu
FROM /pws/zycet003
INTO TABLE itab_zycet003
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq
AND nrre IN s_nrre.
IF NOT s_nrre IS INITIAL.
IF NOT itab_zycet003[] IS INITIAL.
...
...
ENDLOOP.
ELSE.
REFRESH itab_embarque.
ENDIF.
ENDIF.
ENDIF.
PERFORM seleciona_ordem_emb.
PERFORM seleciona_pedido_compra.
ENDFORM.
FORM seleciona_ordem_emb.
* >> Início da inclusão: FORM SELECIONA_ORDEM_EMB
FIELD-SYMBOLS <fs_embarque> LIKE itab_embarque.
LOOP AT itab_embarque ASSIGNING <fs_embarque>
WHERE vbeln_va NE space AND ebeln NE space.
<fs_embarque>-vbeln_va = space.
ENDLOOP.
UNASSIGN <fs_embarque>.
* << Fim da inclusão
IF NOT itab_embarque[] IS INITIAL.
SELECT vbeln bstkd bstdk
FROM vbkd
INTO TABLE itab_vbkd
FOR ALL ENTRIES IN itab_embarque
WHERE vbeln EQ itab_embarque-vbeln_va
AND bstkd IN s_bstkd.
IF NOT s_bstkd IS INITIAL.
IF NOT itab_vbkd[] IS INITIAL.
LOOP AT itab_embarque.
...
...
READ TABLE itab_import WITH KEY vbeln =
itab_embarque-vbeln_va.
IF sy-subrc NE 0.
DELETE itab_embarque INDEX v_index.
ENDIF.
ENDLOOP.
ELSE.
REFRESH itab_embarque.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM SELECIONA_ORDEM_EMB
ENDIF.
IF NOT itab_embarque[] IS INITIAL.
PERFORM trata_ordem_emb.
* << Fim da exclusão
ENDIF.
IF NOT itab_embarque[] IS INITIAL.
PERFORM seleciona_dados_embarque.
SELECT vbap~mandt vbap~vbeln vbap~posnr
vbak~vkgrp vbak~erdat vbak~auart
vbap~werks vbap~ntgew vbap~brgew vbap~shkzg vbap~gewei
vbap~vrkme vbap~netwr vbap~waerk vbap~kwmeng
FROM vbak INNER JOIN vbap
ON vbak~vbeln = vbap~vbeln
INTO TABLE itab_ordem
...
...
vbrk~waerk
FROM vbrk INNER JOIN vbrp
ON vbrk~vbeln = vbrp~vbeln
INTO TABLE itab_fatura
FOR ALL ENTRIES IN itab_embarque
WHERE vbrp~vbeln EQ itab_embarque-vbeln_vf
AND vbrp~posnr EQ itab_embarque-posnr.
ENDIF.
ENDFORM.
FORM seleciona_re.
* >> Início da inclusão: FORM SELECIONA_RE
DATA it_seq_embarque TYPE t_seq_embarques.
SELECT
b~nrseq
b~nremb
b~navio
b~viatrans
b~portdest
b~nrseq
b~viatrans
b~portdest
b~nrsd
b~canal
b~dtprev
b~dtemb
b~dtaverb
b~dtdoc
b~dtenvcamb
b~dtcruze
FROM /pws/zycet003 AS a
INNER JOIN /pws/zycet001 AS b
ON a~nrseq = b~nrseq
INTO TABLE it_seq_embarque
WHERE
a~nrre IN s_nrre.
CHECK sy-subrc = 0.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_RE
SELECT nrseq nrre dtlibanu
FROM /pws/zycet003
INTO TABLE itab_zycet003
WHERE nrre IN s_nrre.
IF NOT itab_zycet003[] IS INITIAL.
* << Fim da exclusão
* >> Início da exclusão: FORM SELECIONA_RE
SELECT a~mandt a~nrseq a~nremb a~nrsd a~canal a~navio
a~dtprev a~dtaverb a~dtenvcamb a~dtdoc a~dtcruze a~dtemb
a~viatrans a~portdest a~despach
b~vbeln_va b~vbeln_vl b~vbeln_vf b~aupos b~posnl b~posnr
b~waers b~inco1 b~docnum b~nfnum b~werks b~vkgrp
b~matnr b~ntgew b~brgew b~shkzg b~auart b~gewei
b~fkimg b~vrkme b~fkart b~bukrs b~vlme b~steuc
b~land1 a~dtincl
FROM /pws/zycet001 AS a INNER JOIN /pws/zycet002 AS b
ON a~nrseq = b~nrseq
INTO TABLE itab_embarque
FOR ALL ENTRIES IN itab_zycet003
WHERE a~nrseq EQ itab_zycet003-nrseq.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_RE
PERFORM recupera_itens_embarque
TABLES itab_embarque[]
USING it_seq_embarque.
* << Fim da inclusão
IF NOT itab_embarque[] IS INITIAL.
SELECT nrseq matnr nrbl dtbl house dtlibconemb tipcar
FROM /pws/zycet047
INTO TABLE itab_zycet047
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq
AND matnr EQ itab_embarque-matnr
AND dtbl IN s_dtbl.
IF NOT s_dtbl IS INITIAL.
IF NOT itab_zycet047[] IS INITIAL.
...
...
p_variant,
p_text.
ENDIF.
ELSE.
CLEAR: p_disvariant,
p_variant,
p_text.
ENDIF.
ENDFORM.
FORM seleciona_pedido_compra.
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
DATA:
itab_pedido_aux LIKE STANDARD TABLE OF itab_pedido,
wa_pedido_aux LIKE itab_pedido.
* << Fim da inclusão
IF NOT itab_embarque[] IS INITIAL.
SELECT ekpo~mandt ekpo~ebeln ekpo~ebelp
ekko~aedat ekpo~werks ekpo~ntgew ekpo~brgew ekpo~retpo
ekpo~gewei ekpo~meins ekpo~netpr ekko~waers ekpo~menge
FROM ekko INNER JOIN ekpo
ON ekko~ebeln = ekpo~ebeln
INTO TABLE itab_pedido
FOR ALL ENTRIES IN itab_embarque
* >> Início da exclusão: FORM SELECIONA_PEDIDO_COMPRA
WHERE ekko~ebeln = itab_embarque-ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
WHERE
ekko~ebeln = itab_embarque-ebeln AND
ekpo~ebelp = itab_embarque-ebelp.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
CLEAR itab_pedido_aux.
* << Fim da inclusão
LOOP AT itab_pedido.
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
MOVE-CORRESPONDING itab_pedido TO wa_pedido_aux.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_PEDIDO_COMPRA
CLEAR itab_embarque.
v_index = sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
LOOP AT itab_embarque WHERE ebeln = itab_pedido-ebeln AND
ebelp = itab_pedido-ebelp.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_PEDIDO_COMPRA
READ TABLE itab_embarque WITH KEY ebeln = itab_pedido-ebeln
posnr = itab_pedido-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
MOVE:
itab_embarque-vbeln_va TO wa_pedido_aux-vbeln,
itab_embarque-vbeln_vl TO wa_pedido_aux-vbeln_vl,
itab_embarque-vbeln_vf TO wa_pedido_aux-vbeln_vf,
itab_embarque-vbeln_vf TO wa_pedido_aux-refkey,
itab_embarque-posnl TO wa_pedido_aux-posnl,
itab_embarque-posnr TO wa_pedido_aux-posnf,
itab_embarque-vbeln_vl TO wa_pedido_aux-objky.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_PEDIDO_COMPRA
MOVE: itab_embarque-vbeln_va TO itab_pedido-vbeln,
itab_embarque-vbeln_vl TO itab_pedido-vbeln_vl,
itab_embarque-vbeln_vf TO itab_pedido-vbeln_vf,
itab_embarque-vbeln_vf TO itab_pedido-refkey,
itab_embarque-posnl TO itab_pedido-posnl,
itab_embarque-posnr TO itab_pedido-posnf,
itab_embarque-vbeln_vl TO itab_pedido-objky.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
APPEND wa_pedido_aux TO itab_pedido_aux.
ENDLOOP.
ENDLOOP.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_PEDIDO_COMPRA
MODIFY itab_pedido INDEX v_index.
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
IF NOT itab_pedido_aux IS INITIAL.
itab_pedido[] = itab_pedido_aux.
ENDIF.
* << Fim da inclusão
IF NOT itab_pedido[] IS INITIAL.
SELECT vbeln bldat btgew gewei exnum kunnr
FROM likp
INTO TABLE itab_likp1
FOR ALL ENTRIES IN itab_pedido
WHERE vbeln EQ itab_pedido-vbeln_vl.
SELECT ekpo~ebeln ekpo~kunnr ekpo~adrnr
adrc~country
kna1~name1
FROM ekpo INNER JOIN adrc
...
...
INTO TABLE itab_zycet003
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq.
SELECT nrseq matnr nrbl dtbl house dtlibconemb tipcar
FROM /pws/zycet047
INTO TABLE itab_zycet047
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq
AND matnr EQ itab_embarque-matnr.
PERFORM seleciona_dados_embarque.
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
ENDIF.
ENDFORM.
FORM recupera_itens_embarque
TABLES p_embarque LIKE itab_embarque[]
USING p_seq_embarques TYPE t_seq_embarques.
DATA:
it_itens_embarque TYPE STANDARD TABLE OF /pws/zycet002,
wa_seq_embarque TYPE t_seq_embarque,
wa_item_embarque TYPE /pws/zycet002.
CLEAR it_itens_embarque.
LOOP AT p_seq_embarques INTO wa_seq_embarque.
CALL FUNCTION '/PWS/ZYCE_SEPARA_ITENS_EMB'
EXPORTING
nrseq = wa_seq_embarque-nrseq
inclui_par_dt = space
inclui_es_saida = space
TABLES
tab_saida = it_itens_embarque
EXCEPTIONS
itens_nao_encontrados = 1.
CHECK sy-subrc = 0.
ENDLOOP.
CLEAR itab_embarque[].
LOOP AT it_itens_embarque INTO wa_item_embarque.
MOVE-CORRESPONDING wa_item_embarque TO p_embarque.
READ TABLE p_seq_embarques INTO wa_seq_embarque
WITH KEY nrseq = wa_item_embarque-nrseq.
MOVE:
wa_seq_embarque-viatrans TO p_embarque-viatrans,
wa_seq_embarque-nremb TO p_embarque-nremb,
wa_seq_embarque-navio TO p_embarque-navio,
wa_seq_embarque-portdest TO p_embarque-portdest,
wa_seq_embarque-nrsd TO p_embarque-nrsd,
wa_seq_embarque-canal TO p_embarque-canal,
wa_seq_embarque-dtprev TO p_embarque-dtprev,
wa_seq_embarque-dtemb TO p_embarque-dtemb,
wa_seq_embarque-dtaverb TO p_embarque-dtaverb,
wa_seq_embarque-dtdoc TO p_embarque-dtdoc,
wa_seq_embarque-dtenvcamb TO p_embarque-dtenvcamb,
wa_seq_embarque-dtcruze TO p_embarque-dtcruze.
APPEND p_embarque.
ENDLOOP.
ENDFORM.
FORM seleciona_dde.
DATA it_seq_embarque TYPE t_seq_embarques.
SELECT
b~nrseq
b~nremb
b~navio
b~viatrans
b~portdest
b~nrseq
b~viatrans
b~portdest
b~nrsd
b~canal
b~dtprev
b~dtemb
b~dtaverb
b~dtdoc
b~dtenvcamb
b~dtcruze
FROM /pws/zycet120 AS a
INNER JOIN /pws/zycet001 AS b
ON a~nrseq = b~nrseq
INTO TABLE it_seq_embarque
WHERE a~nrseqsd IN s_dtdde.
CHECK sy-subrc = 0.
PERFORM recupera_itens_embarque
TABLES itab_embarque[]
USING it_seq_embarque.
IF NOT itab_embarque[] IS INITIAL.
SELECT nrseq matnr nrbl dtbl house dtlibconemb tipcar
FROM /pws/zycet047
INTO TABLE itab_zycet047
FOR ALL ENTRIES IN itab_embarque
WHERE nrseq EQ itab_embarque-nrseq
AND matnr EQ itab_embarque-matnr
AND dtbl IN s_dtbl.
IF NOT s_dtbl IS INITIAL.
IF NOT itab_zycet047[] IS INITIAL.
LOOP AT itab_embarque.
v_index = sy-tabix.
READ TABLE itab_zycet047 WITH KEY nrseq = itab_embarque-nrseq
matnr = itab_embarque-matnr.
IF sy-subrc NE 0.
DELETE itab_embarque INDEX v_index.
ENDIF.
ENDLOOP.
ELSE.
REFRESH itab_embarque.
ENDIF.
ENDIF.
ENDIF.
PERFORM seleciona_ordem_emb.
PERFORM seleciona_pedido_compra.
ENDFORM.
FORM atribui_dados_adicionais
USING p_embarque LIKE itab_embarque
CHANGING p_relat LIKE itab_relat.
READ TABLE itab_zycet100 WITH KEY nrseq = p_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet100-nrinsp TO p_relat-nrinsp,
itab_zycet100-dtleg TO p_relat-dtleg,
itab_zycet100-empinsp TO p_relat-empinsp,
itab_zycet100-data_insp TO p_relat-data_insp,
itab_zycet100-dtconemb TO p_relat-dtconemb,
itab_zycet100-analista TO p_relat-analista.
ENDIF.
READ TABLE itab_zycet262 WITH KEY nrseq = p_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet262-dtchegf TO p_relat-dtchegf.
ENDIF.
READ TABLE itab_zycet046 WITH KEY nrseq = p_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet046-nrcour TO p_relat-nrcour,
itab_zycet046-dtrec TO p_relat-dtrec,
itab_zycet046-dpch TO p_relat-dpch.
CLEAR itab_armador.
READ TABLE itab_armador
WITH KEY nrseq = p_embarque-nrseq.
CLEAR itab_lfa1.
READ TABLE itab_lfa1
WITH KEY lifnr = itab_armador-armador.
MOVE itab_lfa1-name1 TO p_relat-emptrans.
MOVE itab_armador-dtconsolida TO p_relat-dtconsolida.
MOVE itab_armador-dtfumigacao TO p_relat-dtinspecao.
IF p_embarque-viatrans EQ c_ma.
MOVE itab_armador-dt_dead_line TO p_relat-dataentr.
ENDIF.
CLEAR p_relat-navio.
IF p_embarque-viatrans EQ c_rd.
p_relat-navio = itab_armador-nome_tr.
ENDIF.
READ TABLE itab_zycet015 WITH KEY nrseq = p_embarque-nrseq
tipo = 'DES'.
IF sy-subrc EQ 0.
MOVE: itab_zycet015-name1 TO p_relat-despachante.
ENDIF.
READ TABLE itab_zycet047 WITH KEY nrseq = p_embarque-nrseq.
IF sy-subrc EQ 0.
MOVE: itab_zycet047-tipcar TO p_relat-tipcar,
itab_zycet047-dtlibconemb TO p_relat-dtlibconemb,
itab_zycet047-dtbl TO p_relat-dtbl.
ENDIF.
CLEAR p_relat-nrbl.
IF p_embarque-viatrans EQ c_rd OR
p_embarque-viatrans EQ c_ma.
p_relat-nrbl = itab_zycet047-nrbl.
ELSEIF p_embarque-viatrans EQ c_ta.
p_relat-nrbl = itab_zycet047-house.
ENDIF.
IF p_embarque-viatrans EQ c_ma.
MOVE itab_armador-nome_tr TO p_relat-nome_tr.
ELSEIF p_embarque-viatrans EQ c_rd OR
p_embarque-viatrans EQ c_ta.
CLEAR itab_zycet103.
READ TABLE itab_zycet103 WITH KEY
nrseqtr = itab_zycet046-nrseqcg.
MOVE itab_zycet103-readtexta TO p_relat-nome_tr.
ENDIF.
READ TABLE itab_zycet102 WITH KEY
nrseqtr = itab_zycet046-nrseqtr
nrrota_tr = itab_zycet046-nrrota_tr.
IF sy-subrc EQ 0.
MOVE: itab_zycet102-dtdesembaraco TO p_relat-dtdesembaraco.
ENDIF.
CLEAR itab_zycet124.
READ TABLE itab_zycet124 WITH KEY
nrseq = p_embarque-nrseq.
p_relat-tpcont = itab_zycet124-categoria.
ENDIF.
ENDFORM.
FORM atribui_dados_certificados
USING p_embarque LIKE itab_embarque
CHANGING p_relat LIKE itab_relat.
READ TABLE itab_zycet068 WITH KEY nrseq = p_embarque-nrseq
repid = text-005.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO p_relat-dt_eie.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = p_embarque-nrseq
repid = text-006.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO p_relat-dt_1o1.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = p_embarque-nrseq
repid = text-007.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO p_relat-dt_efa.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = p_embarque-nrseq
repid = text-008.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO p_relat-dt_epl.
ENDIF.
READ TABLE itab_zycet068 WITH KEY nrseq = p_embarque-nrseq
repid = text-009.
IF sy-subrc EQ 0.
MOVE: itab_zycet068-data_emis TO p_relat-dt_seg.
ENDIF.
ENDFORM.
FORM atribui_dados_ov_r3
USING
p_ordem LIKE itab_ordem
p_embarque LIKE itab_embarque
CHANGING p_relat LIKE itab_relat.
READ TABLE itab_vbpa WITH KEY vbeln = p_ordem-vbeln.
IF sy-subrc EQ 0.
MOVE: itab_vbpa-name1 TO p_relat-recebedor.
ENDIF.
READ TABLE itab_import WITH KEY vbeln = p_ordem-vbeln.
IF sy-subrc EQ 0.
MOVE: itab_import-name1 TO p_relat-importador,
itab_import-country TO p_relat-country.
ENDIF.
READ TABLE itab_likp WITH KEY vbeln = p_ordem-vbeln_vl.
IF sy-subrc EQ 0.
MOVE: itab_likp-bldat TO p_relat-bldat.
READ TABLE itab_eikp WITH KEY exnum = itab_likp-exnum.
IF sy-subrc EQ 0.
MOVE: itab_eikp-bezei TO p_relat-zolla.
ENDIF.
ENDIF.
READ TABLE itab_vbep WITH KEY vbeln = p_ordem-vbeln
posnr = p_ordem-posnr.
IF sy-subrc EQ 0.
MOVE: itab_vbep-edatu TO p_relat-dt_eta.
ENDIF.
ENDFORM.
FORM atribui_dados_comuns
USING p_embarque LIKE itab_embarque
CHANGING p_relat LIKE itab_relat.
MOVE:
p_embarque-nrseq TO p_relat-nrseq,
p_embarque-nremb TO p_relat-nremb,
p_embarque-viatrans TO p_relat-viatrans,
p_embarque-portdest TO p_relat-portdest,
p_embarque-nrsd TO p_relat-nrsd,
p_embarque-dtprev TO p_relat-dtprev,
p_embarque-dtemb TO p_relat-dtemb,
p_embarque-dtcruze TO p_relat-dtcruze,
p_embarque-dtaverb TO p_relat-dtaverb,
p_embarque-dtdoc TO p_relat-dtdoc,
p_embarque-dtenvcamb TO p_relat-dtenvcamb,
p_embarque-waers TO p_relat-waers,
p_embarque-inco1 TO p_relat-inco1,
p_embarque-vlemb TO p_relat-netwr,
p_embarque-vlagente_r TO p_relat-vlcomis,
p_embarque-vldesconto_r TO p_relat-vldesconto,
p_embarque-dtincl TO p_relat-dt_eiv,
p_embarque-brgew TO p_relat-btgew,
p_embarque-gewei TO p_relat-gewei,
p_embarque-vbeln_va TO p_relat-vbeln_va,
p_embarque-vbeln_vl TO p_relat-vbeln_vl,
p_embarque-ebeln TO p_relat-ebeln,
p_embarque-werks TO p_relat-werks,
p_embarque-fkimg TO p_relat-lfimg,
p_embarque-vrkme TO p_relat-vrkme.
CASE p_embarque-canal.
WHEN 'VD'.
p_relat-canal = 'Verde'.
WHEN 'AM'.
p_relat-canal = 'Amarelo'.
WHEN 'VM'.
p_relat-canal = 'Vermelho'.
WHEN 'CZ'.
p_relat-canal = 'Cinza'.
ENDCASE.
ENDFORM.
FORM atribui_dados_ov
USING
p_ordem LIKE itab_ordem
p_embarque LIKE itab_embarque
CHANGING p_relat LIKE itab_relat.
READ TABLE itab_zycet265 WITH KEY vbeln_va = p_ordem-vbeln
vbeln_vl = p_ordem-vbeln_vl
.
IF sy-subrc EQ 0.
MOVE: itab_zycet265-dtrecped TO p_relat-dtrecped,
itab_zycet265-dtembsol TO p_relat-dtembsol,
itab_zycet265-dtsolov TO p_relat-dtsolov,
itab_zycet265-dtlibven TO p_relat-dtlibven,
itab_zycet265-dtsolrem TO p_relat-dtsolrem,
itab_zycet265-dtsolfat TO p_relat-dtsolfat,
itab_zycet265-dtlibemb TO p_relat-dtlibemb,
itab_zycet265-bstkd TO p_relat-bstkd,
itab_zycet265-dtrecped TO p_relat-bstdk.
ENDIF.
MOVE:
p_ordem-vkgrp TO p_relat-vkgrp,
p_ordem-erdat TO p_relat-erdat.
READ TABLE itab_fatura WITH KEY vbeln = p_ordem-vbeln_vf
posnr = p_ordem-posnf.
IF sy-subrc EQ 0.
IF itab_fatura-waerk EQ 'BRL'.
p_relat-vlnota = itab_fatura-kursk * itab_fatura-netwr.
ELSE.
p_relat-vlnota = itab_fatura-netwr.
ENDIF.
ENDIF.
READ TABLE itab_notas WITH KEY refkey = p_ordem-refkey
refitm = p_ordem-posnf.
IF sy-subrc EQ 0.
MOVE: itab_notas-nfnum TO p_relat-nfnum,
itab_notas-docdat TO p_relat-docdat.
ENDIF.
PERFORM atribui_dados_ov_r3
USING p_ordem p_embarque CHANGING p_relat.
ENDFORM.
FORM atribui_dados_pc
USING
p_pedido LIKE itab_pedido
p_embarque LIKE itab_embarque
CHANGING p_relat LIKE itab_relat.
MOVE:
itab_pedido-aedat TO itab_relat-erdat.
READ TABLE itab_fatura1 WITH KEY
vbeln = p_pedido-vbeln_vf
posnr = p_pedido-posnf.
IF sy-subrc EQ 0.
IF itab_fatura1-waerk EQ 'BRL'.
p_relat-vlnota = itab_fatura1-kursk * itab_fatura1-netwr.
ELSE.
p_relat-vlnota = itab_fatura1-netwr.
ENDIF.
ENDIF.
READ TABLE itab_notas WITH KEY refkey = itab_pedido-refkey
refitm = itab_pedido-posnf.
IF sy-subrc EQ 0.
MOVE: itab_notas-nfnum TO itab_relat-nfnum,
itab_notas-docdat TO itab_relat-docdat.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SELECIONA_PEDIDO_COMPRA
READ TABLE itab_likp1 WITH KEY vbeln = itab_pedido-vbeln_vl.
IF sy-subrc EQ 0.
MOVE: itab_likp1-bldat TO p_relat-bldat.
READ TABLE itab_receb WITH KEY kunnr = itab_likp1-kunnr.
IF sy-subrc = 0.
MOVE: itab_receb-name1 TO p_relat-recebedor.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_PEDIDO_COMPRA
ENDFORM.
* << Fim da exclusão
* >> Início da inclusão:
READ TABLE itab_eikp1 WITH KEY exnum = itab_likp1-exnum.
IF sy-subrc EQ 0.
MOVE: itab_eikp1-bezei TO p_relat-zolla.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da inclusão
* << Fim da inclusão