Módulo: DOC. EXPORTAÇÃO
Funcionalidade: RIEX (Registro de Inf. de Export.)
Data/Hora da Publicação: 05/05/2006 00:00:00
Data/Hora Última Alteração: 21/02/2011 16:20:06
Descrição da Nota: DESENVOLVIMENTO DO RIEX (REGISTRO DE INFORMAÇÕES DE EXPORTAÇÃO)
Sintoma
Necessidade de controle de emissão de documentos de Exportação (RIEX).
Solução
Desenvolvimento de programas ABAP que controlam a emissão de documentos RIEX, chamando um programa
em interface JAVA para transmissão.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01281 Data: 05/05/2006 Hora: 15:00:53
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01281
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00023
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
DESENVOLVIMENTO DO RIEX (REGISTRO DE INFORMAÇÕES DE EXPORTAÇÃO)
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXPORTAÇÃO; INFORMAÇÕES; REGISTRO; RIEX; DESENVOLVIMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DOMA /PWS/ZYCED623
DTEL /PWS/ZYCEL672
DTEL /PWS/ZYCEL673
FUGR /PWS/ZYCEGF1
FUNC /PWS/ZYCE_ATUALIZA_RIEX
PROG /PWS/ZYCER277
PROG /PWS/ZYCER278
REPS /PWS/LZYCEGF4UXX
SHI3 /PWS/ZYCE
SHI6 /PWS/ZYCE
TABL /PWS/ZYCEE530
TABL /PWS/ZYCET530
TABL /PWS/ZYCET531
TABL /PWS/ZYCET532
TABL /PWS/ZYCE_ATUALIZA_RIEX
TABU TDDAT
TABU TMENU01
TABU TMENU01R
TABU TMENU01T
TABU TVDIR
TOBJ /PWS/ZYCET532S
TRAN /PWS/ZYCER277
TRAN /PWS/ZYCER278
TRAN /PWS/ZYCET532
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOMA /PWS/ZYCED623
------------------------------------------------------------------------
Domínio incluído: /PWS/ZYCED623
Descrição breve incluída (14 caracteres), idioma: PT
"Status do RIEX"
Classe de desenvolvimento: /PWS/ZYCE
Idioma original: PT
Categoria de dados: CHAR
Número de posições: 1
Comprimento de saída: 1
Rotina de conversão:
Letras minúsculas: NÃO
-Valores individuais
Incluído valor fixo ""
Texto incluído, idioma: PT (16 caracteres):
"Aguardando envio"
Incluído valor fixo "S"
Texto incluído, idioma: PT (23 caracteres):
"Transmitido com Sucesso"
Incluído valor fixo "N"
Texto incluído, idioma: PT (15 caracteres):
"Não Transmitido"
Incluída tabela de valores:
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYCEL672
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYCEL672
Classe de desenvolvimento: /PWS/ZYCE
Idioma original: PT
Descrição breve incluída: (14 caracteres), idioma: PT
"Status do RIEX"
Categoria de dados: Domínio
Domínio: /PWS/ZYCED623
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (6 caracteres), idioma: PT
"Status"
Comprimento máximo do denominador médio: 15
Denominador médio incluído (6 caracteres), idioma: PT
"Status"
Comprimento máximo do denominador longo: 20
Denominador longo incluído (12 caracteres), idioma: PT
"Status Envio"
Comprimento máximo do título: 23
Título incluído (23 caracteres), idioma: PT
"Status do envio ao RIEX"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYCEL673
------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYCEL673
Classe de desenvolvimento: /PWS/ZYCE
Idioma original: PT
Descrição breve incluída: (14 caracteres), idioma: PT
"Diretório RIEX"
Categoria de dados: Domínio
Domínio: CHAR128
ID parâmetro:
Nome componente default:
Documentar modificações: NÃO
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (4 caracteres), idioma: PT
"RIEX"
Comprimento máximo do denominador médio: 15
Denominador médio incluído (9 caracteres), idioma: PT
"Dir. RIEX"
Comprimento máximo do denominador longo: 20
Denominador longo incluído (14 caracteres), idioma: PT
"Diretório RIEX"
Comprimento máximo do título: 55
Título incluído (45 caracteres), idioma: PT
"Diretório para busca do programa JAVA do RIEX"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUGR /PWS/ZYCEGF1
* >>Não houve alterações relevantes neste include!<<
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCE_ATUALIZA_RIEX
* >>Função /PWS/ZYCE_ATUALIZA_RIEX gerada em grupo de funções /PWS/ZYCEGF4<<
FUNCTION /pws/zyce_atualiza_riex .
*"----------------------------------------------------------------------
*"*"Interface local:
*" TABLES
*" T_FILA STRUCTURE /PWS/ZYCE_ATUALIZA_RIEX
*" EXCEPTIONS
*" FILA_VAZIA
*" ITENS_NAO_ENCONTRADOS
*"----------------------------------------------------------------------
IF t_fila[] IS INITIAL.
RAISE fila_vazia.
ENDIF.
DATA: itab_zycet530 TYPE TABLE OF /pws/zycet530,
wa_zycet530 LIKE LINE OF itab_zycet530.
DATA: v_tabix TYPE sy-tabix.
SORT t_fila[] BY nfnum.
SELECT *
INTO TABLE itab_zycet530
FROM /pws/zycet530
FOR ALL ENTRIES IN t_fila
WHERE nfnum = t_fila-nfnum.
IF sy-subrc NE 0.
RAISE itens_nao_encontrados.
ENDIF.
LOOP AT itab_zycet530 INTO wa_zycet530.
v_tabix = sy-tabix.
READ TABLE t_fila[] INTO t_fila WITH KEY nfnum = wa_zycet530-nfnum.
IF sy-subrc = 0.
wa_zycet530-status = t_fila-status.
MODIFY itab_zycet530[] FROM wa_zycet530
INDEX v_tabix
TRANSPORTING status.
ELSE.
DELETE itab_zycet530[] INDEX v_tabix.
ENDIF.
ENDLOOP.
CHECK NOT itab_zycet530[] IS INITIAL.
UPDATE /pws/zycet530 FROM TABLE itab_zycet530[].
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em PROG /PWS/ZYCER277
* >>Programa /PWS/ZYCER277 gerado em classe /PWS/ZYCE<<
REPORT /pws/zycer277 MESSAGE-ID /pws/zycem
LINE-SIZE 120
NO STANDARD PAGE HEADING .
CONTROLS: tc_tela_sel TYPE TABLEVIEW USING SCREEN '0100'.
DATA: BEGIN OF itab_tela_sel OCCURS 0,
docnum LIKE /pws/zycet530-docnum,
nrseq LIKE /pws/zycet530-nrseq,
nremb LIKE /pws/zycet530-nremb,
nrre LIKE /pws/zycet530-nrre,
nrdse LIKE /pws/zycet530-nrdse,
werks LIKE /pws/zycet530-werks,
series LIKE /pws/zycet530-series,
nfnum LIKE /pws/zycet530-nfnum,
dtemissao LIKE /pws/zycet530-dtemissao,
status LIKE /pws/zycet530-status,
mark TYPE c,
END OF itab_tela_sel.
TABLES: /pws/zycet001,
/pws/zycet002,
/pws/zycet116,
j_1bnfdoc,
/pws/zycee530,
/pws/zycet530.
DATA: BEGIN OF itab_zycet530 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet530.
DATA: END OF itab_zycet530.
DATA: BEGIN OF itab_j_1bnfdoc OCCURS 0,
docnum LIKE j_1bnfdoc-docnum,
nfnum LIKE j_1bnfdoc-nfnum,
series LIKE j_1bnfdoc-series,
docdat LIKE j_1bnfdoc-docdat,
brgew LIKE j_1bnfdoc-brgew,
ntgew LIKE j_1bnfdoc-ntgew,
parid LIKE j_1bnfdoc-parid,
branch LIKE j_1bnfdoc-branch,
bukrs LIKE j_1bnfdoc-bukrs,
END OF itab_j_1bnfdoc.
DATA: BEGIN OF itab_kna1 OCCURS 0,
kunnr LIKE kna1-kunnr,
land1 LIKE kna1-land1,
END OF itab_kna1.
DATA: BEGIN OF itab_j_1bnflin OCCURS 0,
docnum LIKE j_1bnflin-docnum,
cfop LIKE j_1bnflin-cfop,
nbm LIKE j_1bnflin-nbm,
meins LIKE j_1bnflin-meins,
menge LIKE j_1bnflin-menge,
netwr LIKE j_1bnflin-netwr,
netfre LIKE j_1bnflin-netfre,
netins LIKE j_1bnflin-netins,
netoth LIKE j_1bnflin-netoth,
netdis LIKE j_1bnflin-netdis,
werks LIKE j_1bnflin-werks,
END OF itab_j_1bnflin.
DATA: BEGIN OF itab_t006a OCCURS 0,
msehi LIKE t006a-msehi,
msehl LIKE t006a-msehl,
spras LIKE t006a-spras,
END OF itab_t006a.
DATA: BEGIN OF itab_likp OCCURS 0,
vbeln LIKE likp-vbeln,
wadat_ist LIKE likp-wadat_ist,
END OF itab_likp.
DATA: BEGIN OF itab_zycet002 OCCURS 0,
nrseq LIKE /pws/zycet002-nrseq,
docnum LIKE /pws/zycet002-docnum,
vbeln_vl LIKE /pws/zycet002-vbeln_vl,
END OF itab_zycet002.
DATA: BEGIN OF itab_zycet001 OCCURS 0,
nrseq LIKE /pws/zycet001-nrseq,
nremb LIKE /pws/zycet001-nremb,
werks LIKE /pws/zycet001-werks,
paisdest LIKE /pws/zycet001-paisdest,
END OF itab_zycet001.
DATA: BEGIN OF itab_t005t OCCURS 0,
spras LIKE t005t-spras,
land1 LIKE t005t-land1,
landx LIKE t005t-landx,
END OF itab_t005t.
DATA: BEGIN OF itab_t001w OCCURS 0,
werks LIKE t001w-werks,
regio LIKE t001w-regio,
END OF itab_t001w.
DATA: BEGIN OF itab_zycet117 OCCURS 0,
nrseq LIKE /pws/zycet117-nrseq,
nrseqre LIKE /pws/zycet117-nrseqre,
nrre LIKE /pws/zycet117-nrre,
END OF itab_zycet117.
DATA: BEGIN OF itab_zycet116 OCCURS 0,
nrseqre LIKE /pws/zycet116-nrseqre,
dtincl LIKE /pws/zycet116-dtincl,
END OF itab_zycet116.
DATA: BEGIN OF itab_zycet208 OCCURS 0,
nrseqdse LIKE /pws/zycet208-nrseqdse,
nrseq LIKE /pws/zycet208-nrseq,
nrdse LIKE /pws/zycet208-nrdse,
natoper LIKE /pws/zycet208-natoper,
END OF itab_zycet208.
DATA: BEGIN OF itab_arquivo OCCURS 10,
arqui1(200) TYPE c,
END OF itab_arquivo.
DATA: wa_zycet531 TYPE /pws/zycet531.
DATA: v_arquivo(200) TYPE c,
v_re TYPE n,
v_re2(3) TYPE c,
v_bpeso(13) TYPE c,
v_lpeso(13) TYPE c,
v_menge(15) TYPE c,
v_parametros(200) TYPE c,
v_nrre(14) TYPE c,
v_nrre2(14) TYPE c,
v_nrre3(14) TYPE c,
v_cfop LIKE j_1bnflin-cfop,
v_data(40) TYPE c,
okcode LIKE sy-ucomm.
SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_nfnum FOR j_1bnfdoc-nfnum,
s_docnum FOR j_1bnfdoc-docnum,
s_nrseq FOR /pws/zycet002-nrseq,
s_nrsere FOR /pws/zycet116-nrseqre,
s_werks FOR /pws/zycet001-werks,
s_dtemis FOR /pws/zycet530-dtemissao.
SELECTION-SCREEN END OF BLOCK 1.
SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE text-001.
PARAMETERS: rb_tra RADIOBUTTON GROUP gr1,
rb_ntra RADIOBUTTON GROUP gr1.
SELECTION-SCREEN END OF BLOCK 2.
START-OF-SELECTION.
PERFORM sele_dados.
PERFORM carga_tela.
PERFORM tela_selecao_itens.
END-OF-SELECTION.
FORM sele_dados.
IF rb_tra EQ 'X'.
IF NOT s_nfnum IS INITIAL OR
NOT s_dtemis IS INITIAL OR
NOT s_werks IS INITIAL.
IF NOT s_nfnum IS INITIAL OR NOT s_dtemis IS INITIAL.
SELECT docnum
nfnum
series
docdat
brgew
ntgew
parid
branch
FROM j_1bnfdoc
INTO TABLE itab_j_1bnfdoc
WHERE docnum IN s_docnum
AND nfnum IN s_nfnum
AND docdat IN s_dtemis
AND cancel NE 'X'.
IF sy-subrc EQ 0.
SELECT werks
regio
FROM t001w
INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_j_1bnfdoc
WHERE werks EQ itab_j_1bnfdoc-branch
AND regio EQ 'SP'.
SELECT kunnr
land1
FROM kna1
INTO TABLE itab_kna1
FOR ALL ENTRIES IN itab_j_1bnfdoc
WHERE kunnr = itab_j_1bnfdoc-parid.
IF sy-subrc EQ 0.
SELECT spras
land1
landx
FROM t005t
INTO TABLE itab_t005t
FOR ALL ENTRIES IN itab_kna1
WHERE land1 EQ itab_kna1-land1
AND spras EQ 'P'.
ENDIF.
LOOP AT itab_j_1bnfdoc.
READ TABLE itab_kna1 WITH KEY kunnr = itab_j_1bnfdoc-parid.
IF sy-subrc <> 0.
DELETE itab_j_1bnfdoc.
ENDIF.
ENDLOOP.
IF NOT itab_j_1bnfdoc[] IS INITIAL.
SELECT docnum
cfop
nbm
meins
menge
netwr
netfre
netins
netoth
netdis
werks
FROM j_1bnflin
INTO TABLE itab_j_1bnflin
FOR ALL ENTRIES IN itab_j_1bnfdoc
WHERE docnum EQ itab_j_1bnfdoc-docnum
AND werks IN s_werks.
IF sy-subrc EQ 0.
SELECT msehi
msehl
spras
FROM t006a
INTO TABLE itab_t006a
FOR ALL ENTRIES IN itab_j_1bnflin
WHERE msehi EQ itab_j_1bnflin-meins AND
spras EQ sy-langu.
ENDIF.
ELSE.
MESSAGE s001 WITH text-029.
STOP.
ENDIF.
ENDIF.
ELSE.
SELECT docnum
cfop
nbm
meins
menge
netwr
netfre
netins
netoth
netdis
werks
FROM j_1bnflin
INTO TABLE itab_j_1bnflin
WHERE werks IN s_werks.
IF NOT itab_j_1bnflin[] IS INITIAL.
SELECT msehi
msehl
spras
FROM t006a
INTO TABLE itab_t006a
FOR ALL ENTRIES IN itab_j_1bnflin
WHERE msehi EQ itab_j_1bnflin-meins AND
spras EQ sy-langu.
SELECT docnum
nfnum
series
docdat
brgew
ntgew
parid
branch
FROM j_1bnfdoc
INTO TABLE itab_j_1bnfdoc
FOR ALL ENTRIES IN itab_j_1bnflin
WHERE docnum EQ itab_j_1bnflin-docnum
AND nfnum IN s_nfnum
AND docdat IN s_dtemis
AND cancel NE 'X'.
IF sy-subrc EQ 0.
SELECT werks
regio
FROM t001w
INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_j_1bnfdoc
WHERE werks EQ itab_j_1bnfdoc-branch
AND regio EQ 'SP'.
SELECT kunnr
land1
FROM kna1
INTO TABLE itab_kna1
FOR ALL ENTRIES IN itab_j_1bnfdoc
WHERE kunnr EQ itab_j_1bnfdoc-parid.
IF sy-subrc EQ 0.
SELECT spras
land1
landx
FROM t005t
INTO TABLE itab_t005t
FOR ALL ENTRIES IN itab_kna1
WHERE land1 EQ itab_kna1-land1
AND spras EQ 'P'.
ENDIF.
LOOP AT itab_j_1bnfdoc.
READ TABLE itab_kna1 WITH KEY kunnr = itab_j_1bnfdoc-parid.
IF sy-subrc <> 0.
DELETE itab_j_1bnfdoc.
ENDIF.
ENDLOOP.
ENDIF.
ELSE.
MESSAGE s001 WITH text-029.
STOP.
ENDIF.
ENDIF.
SELECT nrseq
docnum
FROM /pws/zycet002
INTO TABLE itab_zycet002
FOR ALL ENTRIES IN itab_j_1bnfdoc
WHERE docnum EQ itab_j_1bnfdoc-docnum
AND nrseq IN s_nrseq.
IF sy-subrc EQ 0.
SELECT vbeln
wadat_ist
FROM likp
INTO TABLE itab_likp
FOR ALL ENTRIES IN itab_zycet002
WHERE vbeln EQ itab_zycet002-vbeln_vl.
SELECT nrseqdse
nrseq
nrdse
natoper
FROM /pws/zycet208
INTO TABLE itab_zycet208
FOR ALL ENTRIES IN itab_zycet002
WHERE nrseq EQ itab_zycet002-nrseq.
SELECT nrseq
nremb
werks
paisdest
FROM /pws/zycet001
INTO TABLE itab_zycet001
FOR ALL ENTRIES IN itab_zycet002
WHERE nrseq EQ itab_zycet002-nrseq.
SELECT nrseq
nrseqre
nrre
FROM /pws/zycet117
INTO TABLE itab_zycet117
FOR ALL ENTRIES IN itab_zycet002
WHERE nrseq EQ itab_zycet002-nrseq
AND nrseqre IN s_nrsere.
IF sy-subrc EQ 0.
SELECT nrseqre
dtincl
FROM /pws/zycet116
INTO TABLE itab_zycet116
FOR ALL ENTRIES IN itab_zycet117
WHERE nrseqre EQ itab_zycet117-nrseqre.
ENDIF.
ELSE.
MESSAGE s001 WITH text-029.
STOP.
ENDIF.
ELSE.
MESSAGE i001 WITH text-030 text-031.
STOP.
ENDIF. "campos prioritários na tela de seleção
ELSE.
SELECT *
FROM /pws/zycet530
INTO TABLE itab_zycet530
WHERE docnum IN s_docnum AND
nfnum IN s_nfnum AND
nrseq IN s_nrseq AND
nrre IN s_nrsere AND
werks IN s_werks AND
dtemissao IN s_dtemis.
ENDIF.
ENDFORM. " SELE_DADOS
MODULE update_tc_tela_sel INPUT.
MODIFY itab_tela_sel INDEX tc_tela_sel-current_line.
ENDMODULE. " update_tc_tela_sel INPUT
MODULE user_command_0100 INPUT.
CASE okcode.
WHEN 'EXEC'.
PERFORM gera_arquivo.
PERFORM executa_java.
WHEN 'BACK'.
SET SCREEN 0.
LEAVE SCREEN.
WHEN 'CANC' OR 'EXIT'.
CLEAR okcode.
LEAVE PROGRAM.
WHEN 'MARK'.
PERFORM marca_tudo.
WHEN 'DMAR'.
PERFORM desmark_tudo.
WHEN 'ATUA'.
PERFORM atualiza_status.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " user_command_0100 INPUT
MODULE status_0100 OUTPUT.
SET PF-STATUS '0100'.
SET TITLEBAR 'TL001'.
ENDMODULE. " status_0100 OUTPUT
FORM tela_selecao_itens.
DATA: v_line TYPE i.
IF NOT itab_tela_sel[] IS INITIAL.
DESCRIBE TABLE itab_tela_sel LINES v_line.
tc_tela_sel-lines = v_line.
CALL SCREEN '0100'.
ELSE.
MESSAGE i001 WITH text-029.
STOP.
ENDIF.
ENDFORM. " tela_selecao_itens
FORM carga_tela.
IF rb_tra EQ 'X'.
LOOP AT itab_j_1bnfdoc.
READ TABLE itab_zycet002 WITH KEY docnum =
itab_j_1bnfdoc-docnum.
READ TABLE itab_zycet001 WITH KEY nrseq = itab_zycet002-nrseq.
READ TABLE itab_zycet208 WITH KEY nrseq = itab_zycet002-nrseq.
READ TABLE itab_zycet117 WITH KEY nrseq = itab_zycet002-nrseq.
READ TABLE itab_zycet116 WITH KEY nrseqre =
itab_zycet117-nrseqre.
MOVE: itab_zycet001-nremb TO itab_tela_sel-nremb,
itab_zycet001-nrseq TO itab_tela_sel-nrseq,
itab_zycet117-nrre TO itab_tela_sel-nrre,
itab_zycet208-nrdse TO itab_tela_sel-nrdse,
itab_zycet001-werks TO itab_tela_sel-werks,
itab_j_1bnfdoc-docdat TO itab_tela_sel-dtemissao,
itab_j_1bnfdoc-nfnum TO itab_tela_sel-nfnum,
itab_j_1bnfdoc-series TO itab_tela_sel-series,
itab_j_1bnfdoc-docnum TO itab_tela_sel-docnum.
APPEND itab_tela_sel.
ENDLOOP.
ELSE.
LOOP AT itab_zycet530.
MOVE: itab_zycet530-docnum TO itab_tela_sel-docnum,
itab_zycet530-nfnum TO itab_tela_sel-nfnum,
itab_zycet530-nremb TO itab_tela_sel-nremb,
itab_zycet530-nrseq TO itab_tela_sel-nrseq,
itab_zycet530-nrre TO itab_tela_sel-nrre,
itab_zycet530-nrdse TO itab_tela_sel-nrdse,
itab_zycet530-werks TO itab_tela_sel-werks,
itab_zycet530-dtemissao TO itab_tela_sel-dtemissao,
itab_zycet530-series TO itab_tela_sel-series,
itab_zycet530-status TO itab_tela_sel-status.
APPEND itab_tela_sel.
ENDLOOP.
ENDIF.
PERFORM deleta_dados.
ENDFORM. " carga_tela
FORM gera_arquivo.
CLEAR itab_arquivo.
REFRESH itab_arquivo.
itab_arquivo-arqui1 = text-006.
APPEND itab_arquivo.
itab_arquivo-arqui1 = text-007.
APPEND itab_arquivo.
LOOP AT itab_tela_sel WHERE mark = 'X'.
CLEAR: itab_j_1bnflin,
itab_j_1bnfdoc,
itab_t006a,
itab_zycet002,
itab_likp,
itab_zycet001,
itab_kna1,
itab_t005t,
itab_t001w,
itab_zycet117.
READ TABLE itab_j_1bnflin WITH KEY docnum = itab_tela_sel-docnum.
READ TABLE itab_j_1bnfdoc WITH KEY docnum = itab_tela_sel-docnum.
READ TABLE itab_t006a WITH KEY msehi = itab_j_1bnflin-meins.
READ TABLE itab_zycet002 WITH KEY docnum = itab_tela_sel-docnum.
READ TABLE itab_likp WITH KEY vbeln = itab_zycet002-vbeln_vl.
READ TABLE itab_zycet001 WITH KEY nrseq = itab_zycet002-nrseq.
READ TABLE itab_kna1 WITH KEY kunnr = itab_j_1bnfdoc-parid.
READ TABLE itab_t005t WITH KEY land1 = itab_kna1-land1.
READ TABLE itab_t001w WITH KEY werks = itab_j_1bnfdoc-branch.
READ TABLE itab_zycet002 WITH KEY docnum = itab_j_1bnfdoc-docnum.
READ TABLE itab_zycet117 WITH KEY nrseq = itab_zycet002-nrseq.
PERFORM tipo_siscomex.
PERFORM trata_data.
PERFORM converte_cfop.
PERFORM trata_nrre.
CLEAR v_bpeso.
LOOP AT itab_j_1bnflin WHERE docnum = itab_tela_sel-docnum.
v_bpeso = v_bpeso + ( itab_j_1bnflin-netwr + itab_j_1bnflin-netfre +
itab_j_1bnflin-netins + itab_j_1bnflin-netoth ) -
itab_j_1bnflin-netdis.
v_lpeso = itab_j_1bnfdoc-ntgew.
CONDENSE: v_bpeso, v_lpeso.
CONCATENATE text-010 v_cfop(4) text-011 v_re text-012
itab_tela_sel-nfnum text-013 itab_tela_sel-series
text-014 v_data text-015 v_bpeso text-016 v_lpeso
text-017 itab_t005t-landx text-018
INTO v_arquivo.
itab_arquivo-arqui1 = v_arquivo.
CLEAR v_arquivo.
APPEND itab_arquivo.
IF NOT itab_zycet117-nrre IS INITIAL.
CONCATENATE text-019 v_nrre text-020 v_re2 text-021
itab_t001w-regio text-022 INTO v_arquivo.
itab_arquivo-arqui1 = v_arquivo.
CLEAR v_arquivo.
APPEND itab_arquivo.
ENDIF.
v_menge = itab_j_1bnflin-menge.
CONDENSE v_menge.
CONCATENATE text-023 itab_j_1bnflin-nbm+2(8) text-024
itab_t006a-msehl text-025 v_menge text-026
v_bpeso text-022 INTO v_arquivo.
itab_arquivo-arqui1 = v_arquivo.
CLEAR v_arquivo.
APPEND itab_arquivo.
itab_arquivo-arqui1 = text-008.
APPEND itab_arquivo.
ENDLOOP.
ENDLOOP.
itab_arquivo-arqui1 = text-009.
APPEND itab_arquivo.
PERFORM executar_download.
PERFORM carga_tab_riex.
ENDFORM. " gera_arquivo
MODULE insert_line OUTPUT.
MOVE: itab_tela_sel-nremb TO /pws/zycee530-nremb,
itab_tela_sel-nrseq TO /pws/zycee530-nrseq,
itab_tela_sel-nrre TO /pws/zycee530-nrre,
itab_tela_sel-nrdse TO /pws/zycee530-nrdse,
itab_tela_sel-werks TO /pws/zycee530-werks,
itab_tela_sel-dtemissao TO /pws/zycee530-dtemissao,
itab_tela_sel-nfnum TO /pws/zycee530-nfnum,
itab_tela_sel-series TO /pws/zycee530-series,
itab_tela_sel-docnum TO /pws/zycee530-docnum,
itab_tela_sel-status TO /pws/zycee530-status.
ENDMODULE. " insert_line OUTPUT
FORM executar_download.
DATA: tamanho TYPE i,
dir TYPE rlgrap-filename.
CALL FUNCTION 'TMP_GUI_BROWSE_FOR_FOLDER'
EXPORTING
window_title = text-002
initial_folder = dir
IMPORTING
selected_folder = dir
EXCEPTIONS
cntl_error = 1
OTHERS = 2.
CHECK sy-subrc IS INITIAL.
CONCATENATE dir text-003 INTO dir.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = dir
filetype = 'DAT'
IMPORTING
filelength = tamanho
TABLES
data_tab = itab_arquivo
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
gui_refuse_filetransfer = 8
OTHERS = 9.
IF sy-subrc = 0.
DESCRIBE TABLE itab_arquivo LINES tamanho.
MESSAGE s001 WITH text-027.
ELSE.
MESSAGE s001 WITH text-028.
ENDIF.
ENDFORM. " EXECUTAR_DOWNLOAD
FORM tipo_siscomex.
IF NOT itab_zycet117-nrre IS INITIAL.
v_re = 1.
ELSE.
v_re = 8.
ENDIF.
v_re2 = 'RE'.
ENDFORM. " tipo_siscomex
FORM trata_data.
CONCATENATE itab_tela_sel-dtemissao+6(2) itab_tela_sel-dtemissao+4(2)
itab_tela_sel-dtemissao(4) INTO v_data SEPARATED BY '/'.
ENDFORM. " trata_data
FORM carga_tab_riex.
LOOP AT itab_tela_sel.
MOVE: itab_tela_sel-docnum TO itab_zycet530-docnum,
itab_tela_sel-nfnum TO itab_zycet530-nfnum,
itab_tela_sel-nremb TO itab_zycet530-nremb,
itab_tela_sel-nrseq TO itab_zycet530-nrseq,
itab_tela_sel-nrre TO itab_zycet530-nrre,
itab_tela_sel-nrdse TO itab_zycet530-nrdse,
itab_tela_sel-werks TO itab_zycet530-werks,
itab_tela_sel-dtemissao TO itab_zycet530-dtemissao,
itab_tela_sel-series TO itab_zycet530-series.
APPEND itab_zycet530.
ENDLOOP.
MODIFY /pws/zycet530 FROM TABLE itab_zycet530.
COMMIT WORK.
ENDFORM. " carga_tab_riex
FORM marca_tudo.
LOOP AT itab_tela_sel.
itab_tela_sel-mark = 'X'.
MODIFY itab_tela_sel.
ENDLOOP.
ENDFORM. " marca_tudo
FORM desmark_tudo.
LOOP AT itab_tela_sel.
itab_tela_sel-mark = ' '.
MODIFY itab_tela_sel.
ENDLOOP.
ENDFORM. " desmark_tudo
FORM executa_java.
DATA wa_zycet532 TYPE /pws/zycet532.
SELECT SINGLE *
FROM /pws/zycet531
INTO wa_zycet531
WHERE username = sy-uname.
IF NOT sy-subrc IS INITIAL.
CLEAR okcode.
MESSAGE e001 WITH text-004.
ENDIF.
SELECT SINGLE *
FROM /pws/zycet532
CLIENT SPECIFIED
INTO wa_zycet532.
CONCATENATE wa_zycet531-mandt sy-uname sy-langu
wa_zycet531-sysnr wa_zycet531-appsvr '" "' '" "' '" "'
'" "' wa_zycet531-cnpj wa_zycet531-cpf
wa_zycet531-senha
'"C:\pwCE Riex\enviados\NOTAS.txt"'
INTO v_parametros SEPARATED BY space.
CALL FUNCTION 'WS_EXECUTE'
EXPORTING
commandline = v_parametros
program = wa_zycet532-diretorio.
ENDFORM. " executa_java
FORM atualiza_status.
SELECT *
FROM /pws/zycet530
INTO TABLE itab_zycet530
FOR ALL ENTRIES IN itab_tela_sel
WHERE nfnum = itab_tela_sel-nfnum.
CLEAR: itab_tela_sel.
REFRESH: itab_tela_sel.
LOOP AT itab_zycet530.
MOVE: itab_zycet530-docnum TO itab_tela_sel-docnum,
itab_zycet530-nfnum TO itab_tela_sel-nfnum,
itab_zycet530-nremb TO itab_tela_sel-nremb,
itab_zycet530-nrseq TO itab_tela_sel-nrseq,
itab_zycet530-nrre TO itab_tela_sel-nrre,
itab_zycet530-nrdse TO itab_tela_sel-nrdse,
itab_zycet530-werks TO itab_tela_sel-werks,
itab_zycet530-dtemissao TO itab_tela_sel-dtemissao,
itab_zycet530-series TO itab_tela_sel-series,
itab_zycet530-status TO itab_tela_sel-status.
APPEND itab_tela_sel.
ENDLOOP.
ENDFORM. " atualiza_status
FORM converte_cfop.
CALL FUNCTION 'CONVERSION_EXIT_CFOBR_OUTPUT'
EXPORTING
input = itab_j_1bnflin-cfop
IMPORTING
output = v_cfop.
ENDFORM. " converte_cfop
FORM trata_nrre.
v_nrre = itab_tela_sel-nrre.
SPLIT v_nrre AT '/' INTO v_nrre2 v_nrre3.
CONDENSE: v_nrre2, v_nrre3.
CONCATENATE v_nrre2 v_nrre3 INTO v_nrre.
CONDENSE v_nrre.
CLEAR: v_nrre2, v_nrre3.
SPLIT v_nrre AT '-' INTO v_nrre2 v_nrre3.
CONCATENATE v_nrre2 v_nrre3 INTO v_nrre.
CONDENSE v_nrre.
ENDFORM. " trata_nrre
FORM deleta_dados.
LOOP AT itab_tela_sel.
IF NOT s_nfnum IS INITIAL.
DELETE itab_tela_sel WHERE NOT nfnum IN s_nfnum.
ENDIF.
IF NOT s_docnum IS INITIAL.
DELETE itab_tela_sel WHERE NOT docnum IN s_docnum.
ENDIF.
IF NOT s_werks IS INITIAL.
DELETE itab_tela_sel WHERE NOT werks IN s_werks.
ENDIF.
IF NOT s_dtemis IS INITIAL.
DELETE itab_tela_sel WHERE NOT dtemissao IN s_dtemis.
ENDIF.
IF NOT s_nrseq IS INITIAL.
DELETE itab_tela_sel WHERE NOT nrseq IN s_nrseq.
ENDIF.
IF NOT s_nrsere IS INITIAL.
DELETE itab_tela_sel WHERE NOT nrre IN s_nrsere.
ENDIF.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM itab_tela_sel.
ENDFORM. " deleta_dados
----------------------------------------------------------------------------------------------------
Modificações efetuadas em PROG /PWS/ZYCER278
* >>Programa /PWS/ZYCER278 gerado em classe /PWS/ZYCE<<
REPORT /pws/zycer278 MESSAGE-ID zycem
LINE-SIZE 120
NO STANDARD PAGE HEADING .
TABLES: /pws/zycet531.
DATA: BEGIN OF wa_zycet531 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet531.
DATA: END OF wa_zycet531.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-002.
PARAMETERS: p_usap LIKE /pws/zycet531-username OBLIGATORY,
p_apps LIKE /pws/zycet531-appsvr OBLIGATORY,
p_sysnr LIKE /pws/zycet531-sysnr OBLIGATORY,
p_router LIKE /pws/zycet531-router,
p_cnpj LIKE /pws/zycet531-cnpj OBLIGATORY,
p_cpf LIKE /pws/zycet531-cpf OBLIGATORY,
p_senha LIKE /pws/zycet531-senha OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl1.
START-OF-SELECTION.
PERFORM carga_usuario.
END-OF-SELECTION.
FORM carga_usuario.
MOVE: p_usap TO wa_zycet531-username,
p_apps TO wa_zycet531-appsvr,
p_sysnr TO wa_zycet531-sysnr,
p_router TO wa_zycet531-router,
p_cnpj TO wa_zycet531-cnpj,
p_cpf TO wa_zycet531-cpf,
p_senha TO wa_zycet531-senha.
APPEND wa_zycet531.
MODIFY /pws/zycet531 FROM TABLE wa_zycet531.
COMMIT WORK.
IF sy-subrc EQ 0.
MESSAGE s001 WITH text-001.
ENDIF.
ENDFORM. " carga_usuario
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCEGF4UXX
* >> Modificação apenas informativa, pois ao se gerar o módulo de função /PWS/ZYCE_ATUALIZA_RIEX,
* essa alteração já é feita automaticamente <<
INCLUDE /PWS/LZYCEGF4U01.
"/PWS/ZYCE_TRANSFER_RE
INCLUDE /PWS/LZYCEGF4U02.
"/PWS/ZYCE_TRANSFER_DDE
INCLUDE /PWS/LZYCEGF4U03.
"/PWS/ZYCE_READ_FILA
INCLUDE /PWS/LZYCEGF4U04.
"/PWS/ZYCE_SISCOMEX_ENCRIPT
INCLUDE /PWS/LZYCEGF4U05.
"/PWS/ZYCE_RETURN_FILA
INCLUDE /PWS/LZYCEGF4U06.
"/PWS/ZYCE_TRANSFER_CONSULT
INCLUDE /PWS/LZYCEGF4U07.
"/PWS/ZYCE_RETRANSMISSAO_RE
INCLUDE /PWS/LZYCEGF4U08.
"/PWS/ZYCE_TRANSFER_DSE
INCLUDE /PWS/LZYCEGF4U09.
"/PWS/ZYCE_TRANSFER_RC
INCLUDE /PWS/LZYCEGF4U10.
"/PWS/ZYCE_TRANSFER_COMPR_DB
INCLUDE /PWS/LZYCEGF4U11.
"/PWS/ZYCE_TRANSFER_SHDB
INCLUDE /PWS/LZYCEGF4U12.
"/PWS/ZYCE_TRANSFER_RRE
INCLUDE /PWS/LZYCEGF4U13.
"/PWS/ZYCE_TRANSFER_RDSE
INCLUDE /PWS/LZYCEGF4U14.
"/PWS/ZYCE_MONITOR
* >> Início da inclusão: INCLUDE /PWS/LZYCEGF4UXX
INCLUDE /PWS/LZYCEGF4U15.
"/PWS/ZYCE_ATUALIZA_RIEX
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHI3 /PWS/ZYCE
* >> Incluir no menu de área /PWS/ZYCE, caminho Documentos -> RIEX as seguintes transações:
* >> /PWS/ZYCER277, /PWS/ZYCER278 e /PWS/ZYCET532
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHI6 /PWS/ZYCE
* >> Incluir no menu de área /PWS/ZYCE, caminho Documentos -> RIEX as seguintes transações:
* >> /PWS/ZYCER277, /PWS/ZYCER278 e /PWS/ZYCET532
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCEE530
CRIAR ESTRUTURA: /PWS/ZYCEE530
DESCRIÇÃO BREVE: Itens / Parâmetros do RIEX
CAMPOS NOVOS
CAMPOS: TP. COMP. CtDados: INI: TAB.VERIF.: AJUD. PESQ.:
MANDT MANDT CLNT
DOCNUM J_1BDOCNUM NUMC
NRSEQ /PWS/ZYCEL001 CHAR
NREMB /PWS/ZYCEL002 CHAR
NRRE /PWS/ZYCEL018 CHAR
NRDSE /PWS/ZYCEL164 CHAR
WERKS WERKS_D CHAR H_T001W
SERIES J_1BSERIES CHAR
NFNUM J_1BNFNUMB NUMC
STATUS /PWS/ZYCEL672 CHAR
DTEMISSAO DATUM DATS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCET530
CRIAR TABELA TRANSPARENTE: /PWS/ZYCET530
DESCRIÇÃO BREVE: Itens/Parâmetros do RIEX
CARACTERÍSTICAS
CATEGORIA DA TABELA: Tabela Transparente
CLASSE DE ENTREGA: A
(X) - ATUALIZAÇÃO DE TABELAS PERMITIDA
CAMPOS NOVOS
CAMPOS: TP. COMP. CtDados: TAB.VERIF.: TAB.REF.: CPO.RE
MANDT MANDT CLNT T000
DOCNUM J_1BDOCNUM NUMC J_1BNFDOC
NRSEQ /PWS/ZYCEL001 CHAR
NREMB /PWS/ZYCEL002 CHAR
NRRE /PWS/ZYCEL018 CHAR
NRDSE /PWS/ZYCEL164 CHAR
WERKS WERKS_D CHAR T001W
SERIES J_1BSERIES CHAR
NFNUM J_1BNFNUMB NUMC
STATUS /PWS/ZYCEL672 CHAR
DTEMISSAO DATUM DATS
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: ______
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCET531
CRIAR TABELA TRANSPARENTE: /PWS/ZYCET531
DESCRIÇÃO BREVE: Cadastro de usuários RIEX
CARACTERÍSTICAS
CATEGORIA DA TABELA: Tabela Transparente
CLASSE DE ENTREGA: A
(X) - ATUALIZAÇÃO DE TABELAS PERMITIDA
CAMPOS NOVOS
CAMPOS: TP. COMP. CtDados: TAB.VERIF.:
MANDT CLNT CLNT T000
USERNAME XUBNAME CHAR USR02
APPSVR /PWS/ZYCEL253 CHAR
SYSNR /PWS/ZYCEL254 CHAR
ROUTER /PWS/ZYCEL091 CHAR
CNPJ /PWS/ZYCEL190 CHAR
CPF STCD2 CHAR
SENHA /PWS/ZYCEL312 CHAR
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(_) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(X) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: ______
(X) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCET532
CRIR TABELA TRANSPARENTE: /PWS/ZYCET532
DESCRIÇÃO BREVE: Diretório de programa JAVA para RIEX
CARACTERÍSTICAS
CATEGORIA DA TABELA: Tabela Transparente
CLASSE DE ENTREGA: A
(X) - ATUALIZAÇÃO DE TABELAS PERMITIDA
CAMPOS NOVOS
CAMPOS: TP. COMP. CtDados: TAB.VERIF.:
MANDT CLNT CLNT T000
DIRETORIO /PWS/ZYCEL673 CHAR
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0
CATEGOR. TAMANHO: 0
(X) - AR. BUFFER NÃO PERMITIDO
(_) - AR. BUFFER PERMITIDO, MAS DESATIVADO
(_) - AR. BUFFER ATIVADO
(_) - RGSTS. IND ARMAZENADOS
(_) - ÁREA GEN ARMAZENADA EM BUFFER Nº DE CPOS CHAVE: ______
(_) - TOTALMENTE ARMAZENADO
(_) - REGISTRAR MODIFICS. DDS. EM LOG.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCE_ATUALIZA_RIEX
CRIAR ESTRUTURA: /PWS/ZYCE_ATUALIZA_RIEX
DESCRIÇÃO BREVE: Estr. para Atualizar a Fila do Riex via RFC
CAMPOS NOVOS
CAMPOS: TP. COMP. CtDados:
NFNUM J_1BNFNUMB NUMC
STATUS /PWS/ZYCEL672 CHAR
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYCER277
* >> Criada a transação /PWS/ZYCER277 para o programa /PWS/ZYCER277 <<
* >> Ao se acessar a transação SE93 para criar uma transação, escolher a transação como "transação
* de report" e preencher o nome do programa e o texto de descrição <<
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYCER278
* >> Criada a transação /PWS/ZYCER278 para o programa /PWS/ZYCER278 <<
* >> Ao se acessar a transação SE93 para criar uma transação, escolher a transação como "transação
* de report" e preencher o nome do programa e o texto de descrição <<
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYCET532
* >> Criada a transação /PWS/ZYCET532 para a tabela /PWS/ZYCET532 <<
* >> Ao se acessar a transação SE93 para criar uma transação, escolher a transação como "transação
* de parâmetros". Escolher "Valor proposto para" como "Transação" e preencher neste campo "SM30",
* flegando a opção "Omitir 1ª tela".
* Preencher os valores propostos da seguinte maneira:
*Nome do campo Valor
*da tabela
VIEWNAME /PWS/ZYCET532
UPDATE X