Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Declaração Simplificada Export. DSE
Data/Hora da Publicação: 27/08/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 10:39:44
Descrição da Nota: SELEÇÃO DE ITENS DO EMBARQUE NA DECLARAÇÃO SIMPLIFICADA DE EXPORTAÇÃO
Sintoma
Substituição de seleções diretas na tabela de "Itens do Embarque" (/pws/zycet002) pela utilização da
função que retorna o valor líquido dos itens do Embarque.
Solução
Alteração do programa e implementação da utilização da função "/PWS/ZYCR_ITENS_EMBARQUE_EXP" para
seleção de Itens do Embarque.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04530 Data: 27/08/2007 Hora: 14:15:12
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04530
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00009
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01923 - 00001 - 6.0 - 00024 - VALOR TOTAL E DE PESO BRUTO ERRADOS EM DSE
03590 - 00002 - 7.0 - 00001 - PESO LIQUIDO E PESO BRUTO INCORRETOS NA DSE
----------------------------------------------------------------------------------------------------
SELEÇÃO DE ITENS DO EMBARQUE NA DECLARAÇÃO SIMPLIFICADA DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
DSE, DECLARAÇÃO, EXPORTAÇÃO, SELEÇÃO, ITENS, EMBARQUE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE022F01
REPS /PWS/MZYCE022TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE022F01
...
WHERE nrseq = /pws/zycee208-nrseq.
PERFORM verifica_autorizacao_empresa USING wa_zycee001-bukrs.
/pws/zycee208-navio = wa_zycee001-navio.
CLEAR itab_002.
REFRESH itab_002.
IF NOT /pws/zycee208-nrseq IS INITIAL.
SELECT SINGLE * FROM /pws/zycet001 INTO wa_zycee001
WHERE nrseq = /pws/zycee208-nrseq.
/pws/zycee208-bukrs = wa_zycee001-bukrs.
v_pais = wa_zycee001-paisdest.
* >> Início da inclusão: FORM BUSCA_ORDENS
CALL FUNCTION '/PWS/ZYCR_ITENS_EMBARQUE_EXP'
EXPORTING
nrseq = /pws/zycee208-nrseq
inco1 = wa_zycee001-inco1
tpcalc = wa_zycee001-tpcalc
inclui_nao_faturados = space
inclui_dados_t604 = space
inclui_nota_complementar = space
TABLES
e_t_itens = it_itens_embarque
EXCEPTIONS
itens_nao_encontrados = 1
OTHERS = 2.
IF sy-subrc EQ 0.
* << Fim da inclusão
* >> Início da exclusão: FORM BUSCA_ORDENS
SELECT auart
FROM /pws/zycet020
INTO TABLE itab_zycet020
WHERE bukrs EQ /pws/zycee208-bukrs
AND tipodoc EQ 'OV'.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_ORDENS
LOOP AT it_itens_embarque INTO wa_itens_embarque.
MOVE-CORRESPONDING wa_itens_embarque TO itab_002.
APPEND itab_002.
ENDLOOP.
ENDIF.
* << Fim da inclusão
IF NOT wa_zycee001-werks IS INITIAL.
/pws/zycee208-werks = wa_zycee001-werks.
* >> Início da exclusão: FORM BUSCA_ORDENS
SELECT nrseq
vbeln_va
vbeln_vf
posnr
vbeln_vl
posnl
aupos
waers
fkimg_r
vrkme
matnr
werks
shkzg
vlemb
ntgew_r
brgew_r
gewei
arktx
steuc
FROM /pws/zycet002
INTO TABLE itab_002
FOR ALL ENTRIES IN itab_zycet020
WHERE nrseq = /pws/zycee208-nrseq
AND auart EQ itab_zycet020-auart
AND st_vd IN ('VD', 'DP').
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_ORDENS
ELSE.
* << Fim da inclusão
* >> Início da exclusão: FORM BUSCA_ORDENS
ELSE.
* << Fim da exclusão
PERFORM verifica_centro_filial.
ENDIF.
SELECT SINGLE /pws/codpa
FROM t005
INTO /pws/zycee208-paisdest
* >> Início da inclusão: FORM BUSCA_ORDENS
WHERE land1 = v_pais.
* << Fim da inclusão
* >> Início da exclusão: FORM BUSCA_ORDENS
WHERE land1 = v_pais.
* << Fim da exclusão
SELECT SINGLE landx FROM t005t INTO (s_paisdest)
WHERE land1 = v_pais
AND spras = sy-langu.
ENDIF.
READ TABLE itab_002 INDEX 1.
SELECT SINGLE j_1bbranch FROM t001w
INTO v_branch
WHERE werks = /pws/zycee208-werks.
IF NOT v_branch IS INITIAL.
SELECT SINGLE * FROM /pws/zycet145 INTO wa_zycet145
...
...
ON a~steuc = b~nbmcode
INNER JOIN t604n AS c
ON a~steuc = c~steuc
INTO TABLE itab_t604f
FOR ALL ENTRIES IN itab_002
WHERE a~steuc EQ itab_002-steuc
AND a~land1 EQ 'BR'
AND c~land1 EQ 'BR'
AND c~spras EQ sy-langu.
ENDIF.
* >> Início da exclusão: FORM BUSCA_ORDENS
SELECT a~nrseq b~nrseqdse b~vbeln_va b~aupos b~vbeln_vf b~posnr
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_ORDENS
SELECT a~nrseq b~nrseqdse
b~vbeln_va b~aupos
b~vbeln_vl b~posnl
b~vbeln_vf b~posnr
* << Fim da inclusão
FROM /pws/zycet208 AS a
INNER JOIN /pws/zycet210 AS b
ON b~nrseqdse = a~nrseqdse
INTO TABLE itab_itemdse
WHERE a~nrseq = /pws/zycee208-nrseq.
* >> Início da exclusão: FORM BUSCA_ORDENS
SELECT a~nrseq b~nrseqdse b~vbeln_va b~aupos b~vbeln_vf
b~posnr
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_ORDENS
SELECT a~nrseq b~nrseqdse
b~vbeln_va b~aupos
b~vbeln_vl b~posnl
b~vbeln_vf b~posnr
* << Fim da inclusão
FROM /pws/zycet208 AS a
INNER JOIN /pws/zycet211 AS b
ON b~nrseqdse = a~nrseqdse
APPENDING TABLE itab_itemdse
WHERE a~nrseq = /pws/zycee208-nrseq.
IF NOT itab_itemdse[] IS INITIAL.
LOOP AT itab_itemdse.
READ TABLE itab_002 WITH KEY nrseq = itab_itemdse-nrseq
vbeln_va = itab_itemdse-vbeln_va
aupos = itab_itemdse-aupos
* >> Início da inclusão: FORM BUSCA_ORDENS
vbeln_vl = itab_itemdse-vbeln_vl
posnl = itab_itemdse-posnl
* << Fim da inclusão
vbeln_vf = itab_itemdse-vbeln_vf
posnr = itab_itemdse-posnr.
IF sy-subrc = 0.
vindex = sy-tabix.
DELETE itab_002 INDEX vindex.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR itab_zyglt100.
READ TABLE itab_zyglt100 WITH KEY zexit = 'DSE001'.
...
...
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_centro_filial.
DATA: v_index LIKE sy-tabix.
REFRESH: itab_centro, itab_centro_aux, itab_locneg.
CLEAR: itab_centro, itab_centro_aux, itab_locneg.
IF NOT itab_002[] IS INITIAL.
* >> Início da exclusão: FORM VERIFICA_CENTRO_FILIAL
SELECT nrseq
vbeln_va
vbeln_vf
posnr
vbeln_vl
posnl
aupos
waers
fkimg_r
vrkme
matnr
werks
shkzg
vlemb
ntgew_r
brgew_r
arktx
steuc
FROM /pws/zycet002
INTO TABLE itab_002
FOR ALL ENTRIES IN itab_zycet020
WHERE nrseq EQ /pws/zycee208-nrseq
AND auart EQ itab_zycet020-auart
AND st_vd IN ('VD', 'DP').
* << Fim da exclusão
LOOP AT itab_002.
IF NOT itab_002-werks IS INITIAL.
SELECT SINGLE j_1bbranch FROM t001w
INTO itab_centro-j_1bbranch
WHERE werks EQ itab_002-werks.
IF sy-subrc EQ 0.
MOVE: itab_002-werks TO itab_centro-werks.
APPEND itab_centro.
CLEAR itab_centro.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE022TOP
...
DATA: END OF itab_216.
DATA: BEGIN OF itab_zycet305 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet305.
DATA: marc TYPE c.
DATA: END OF itab_zycet305.
DATA : BEGIN OF itab_itemdse OCCURS 10,
nrseq LIKE /pws/zycet002-nrseq,
nrseqdse LIKE /pws/zycet208-nrseqdse,
vbeln_va LIKE /pws/zycet002-vbeln_va,
aupos LIKE /pws/zycee085-aupos,
* >> Início da inclusão:
vbeln_vl LIKE /pws/zycet002-vbeln_vl,
posnl LIKE /pws/zycet002-posnl,
* << Fim da inclusão
vbeln_vf LIKE /pws/zycet002-vbeln_vf,
posnr LIKE /pws/zycet002-posnr,
END OF itab_itemdse.
DATA: itab_209a LIKE itab_209 OCCURS 10,
itab_211a LIKE itab_211 OCCURS 10,
itab_212a LIKE itab_212 OCCURS 10,
itab_216a LIKE itab_216 OCCURS 10,
itab_305a LIKE itab_zycet305 OCCURS 10.
DATA: BEGIN OF itab_especie OCCURS 10.
INCLUDE STRUCTURE /pws/zycet146.
...
...
nrseq LIKE /pws/zycet208-nrseq,
nrseqdse LIKE /pws/zycet208-nrseqdse,
werks LIKE /pws/zycet208-werks.
DATA: END OF itab_locneg.
DATA itab_tline LIKE tline OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_text OCCURS 0,
codnrseqdse LIKE /pws/zycet210-codnrseqdse,
linha2 LIKE /pws/zycet216-linha2,
linha3 LIKE /pws/zycet216-linha3,
END OF itab_text.
* >> Início da exclusão:
DATA: BEGIN OF itab_zycet020 OCCURS 10,
auart TYPE /pws/zycet020-auart,
END OF itab_zycet020.
* << Fim da exclusão
* >> Início da inclusão:
DATA: it_itens_embarque TYPE STANDARD TABLE OF /pws/zycre018
WITH DEFAULT KEY,
wa_itens_embarque LIKE LINE OF it_itens_embarque[].
* << Fim da inclusão
DATA: wa_zycee208 LIKE /pws/zycee208,
wa_zycee001 LIKE /pws/zycee001,
wa_zycet145 LIKE /pws/zycet145,
wa_zycet184 LIKE /pws/zycet184,
wa_empresa LIKE /pws/zycet154,
wa_thead LIKE thead,
wa_cols TYPE cxtab_column.
DATA: BEGIN OF wa_despacho,
codesp LIKE /pws/zycet132-codesp,
descdesp LIKE /pws/zycet132-descdesp,
...