Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Outros
Data/Hora da Publicação: 07/02/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 11:20:25
Descrição da Nota: AJUSTES PARA PADRONIZAÇÃO DE CÓDIGO DO PROGRAMA MEMORANDO DE EXPORTAÇÃO
Sintoma
Programa com instruções obsoletas ou que apresentam erros/alertas ao executar a verificação ampliada
do programa ou o Code Inspector.
Solução
Implementação de ajustes no código do programa de forma a eliminar os erros e alertas encontrados na
verificação ampliada e ao executar o Code Inspector.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05851 Data: 07/02/2008 Hora: 11:28:50
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05851
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00033
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04568 - 00001 - 7.0 - 00002 - EXCLUSÃO DA FUNÇÃO TRATA_ORDEM NO MEMORANDO DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
AJUSTES PARA PADRONIZAÇÃO DE CÓDIGO DO PROGRAMA MEMORANDO DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
CÓDIGO, CODE INSPECTOR, MENSAGENS, VERIFICAÇÃO,
MEMORANDO, EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCER305
REPT /PWS/ZYCER305
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCER305
...
LINE-SIZE 132
LINE-COUNT 65.
TABLES: /pws/zycet001,
/pws/zycet037,
/pws/zycet116,
/pws/zycet120,
/pws/zycet221,
t005t,
vttk,
j_1bnfdoc,
* >> Início da exclusão:
vbrp,
/pws/zycet002.
* << Fim da exclusão
* >> Início da inclusão:
vbrp.
* << Fim da inclusão
DATA: itab_zycet031 LIKE /pws/zycet031 OCCURS 0 WITH HEADER LINE,
itab_zycet047 LIKE /pws/zycet047 OCCURS 0 WITH HEADER LINE,
itab_zycet001 LIKE /pws/zycet001 OCCURS 0 WITH HEADER LINE,
itab_zycet015 LIKE /pws/zycet015 OCCURS 0 WITH HEADER LINE,
itab_zycet020 LIKE /pws/zycet020 OCCURS 0 WITH HEADER LINE,
itab_t001w LIKE t001w OCCURS 0 WITH HEADER LINE,
itab_zycet173 LIKE /pws/zycet173 OCCURS 0 WITH HEADER LINE,
itab_lfa1 LIKE lfa1 OCCURS 0 WITH HEADER LINE,
itab_zycet221 LIKE /pws/zycet221 OCCURS 0 WITH HEADER LINE,
itab_zycet222 LIKE /pws/zycet222 OCCURS 0 WITH HEADER LINE,
itab_zycet173a LIKE /pws/zycet173 OCCURS 0 WITH HEADER
LINE,
itab_zycet221a LIKE /pws/zycet221 OCCURS 0 WITH HEADER
* >> Início da exclusão:
LINE,
* << Fim da exclusão
* >> Início da inclusão:
LINE, "#EC *
* << Fim da inclusão
itab_zycet222a LIKE /pws/zycet222 OCCURS 0 WITH HEADER
LINE,
itab_zycet173t LIKE /pws/zycet173 OCCURS 0 WITH HEADER
LINE,
itab_zycet173p LIKE /pws/zycet173 OCCURS 0 WITH HEADER
LINE,
itab_zycet222p LIKE /pws/zycet222 OCCURS 0 WITH HEADER
LINE.
DATA: BEGIN OF itab_exp OCCURS 0,
vbeln LIKE vbrk-vbeln,
...
...
vbeln_vl LIKE /pws/zycet118-vbeln_vl,
posnl LIKE /pws/zycet118-posnl,
seqagrupado LIKE /pws/zycet118-seqagrupado,
agrupado LIKE /pws/zycet116-agrupado,
nrre LIKE /pws/zycet116-nrre,
dtincl LIKE /pws/zycet116-dtincl,
END OF itab_nrre.
DATA: v_cgc TYPE j_1bwfield-cgc_number,
v_index LIKE sy-tabix,
v_cnpj(18) TYPE c,
* >> Início da exclusão:
num_seq LIKE /pws/zycet001-nrseq,
num_seq2 LIKE /pws/zycet001-nrseq,
* << Fim da exclusão
v_ender(60) TYPE c,
v_nrbl(60) TYPE c,
v_nrbl3(123) TYPE c,
v_nrseq LIKE /pws/zycet173-nrseq,
v_count LIKE sy-tabix,
v_nrbl2(60) TYPE c,
v_dtbl(60) TYPE c,
v_mat(60) TYPE c,
v_nfnum LIKE /pws/zycet173-nfnum,
v_cprod LIKE /pws/zycet173-cprod,
...
...
IF p_imprim EQ 'X'.
PERFORM carrega_parametros2.
PERFORM selecao_impressao.
ENDIF.
ENDIF.
END-OF-SELECTION.
TOP-OF-PAGE.
PERFORM monta_cabecalho.
FORM seleciona_dados.
IF NOT s_dtincl IS INITIAL.
* >> Início da exclusão: FORM SELECIONA_DADOS
SELECT SINGLE *
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
SELECT *
* << Fim da inclusão
FROM /pws/zycet221
* >> Início da exclusão: FORM SELECIONA_DADOS
WHERE periodo IN s_dtincl
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
UP TO 1 ROWS
WHERE periodo IN s_dtincl
* << Fim da inclusão
AND num_seqemb IN s_seqemb
AND bukrs IN s_emp.
* >> Início da inclusão: FORM SELECIONA_DADOS
ENDSELECT.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM SELECIONA_DADOS
SELECT *
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONA_DADOS
SELECT SINGLE *
* << Fim da exclusão
FROM /pws/zycet221
* >> Início da inclusão: FORM SELECIONA_DADOS
UP TO 1 ROWS
* << Fim da inclusão
WHERE num_seqemb IN s_seqemb
AND bukrs IN s_emp.
* >> Início da inclusão: FORM SELECIONA_DADOS
ENDSELECT.
* << Fim da inclusão
ENDIF.
IF sy-subrc EQ 0.
MESSAGE i001 WITH text-004.
STOP.
ENDIF.
...
...
INTO TABLE itab_zycet001
WHERE dtincl IN s_dtincl
AND nrseq IN s_seqemb
AND bukrs IN s_emp
AND tipo_emb NE 'C'
AND tipo_emb NE 'T'.
IF NOT itab_zycet001[] IS INITIAL.
SELECT *
FROM /pws/zycet020
INTO TABLE itab_zycet020
* >> Início da exclusão: FORM SELECIONA_DADOS
WHERE tipodoc EQ 'SC'.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
WHERE tipodoc EQ 'SC'. "#EC CI_NOFIELD
* << Fim da inclusão
SELECT *
FROM /pws/zycet002
INTO TABLE itab_zycet002
FOR ALL ENTRIES IN itab_zycet001
WHERE st_vd NE 'ES'
AND st_vd NE 'DT'
AND nrseq EQ itab_zycet001-nrseq
AND nfnum NE '000000'.
ENDIF.
IF NOT itab_zycet002[] IS INITIAL.
SELECT a~vbeln a~bupla
b~adrnr b~state_insc
c~name1 c~street c~city1 c~city2 c~region
FROM vbrk AS a
INNER JOIN j_1bbranch AS b
ON a~bupla EQ b~branch
* >> Início da exclusão: FORM SELECIONA_DADOS
INNER JOIN adrc AS c
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
INNER JOIN adrc AS c "#EC CI_BUFFJOIN
* << Fim da inclusão
ON b~adrnr EQ c~addrnumber
INTO TABLE itab_exp
FOR ALL ENTRIES IN itab_zycet002
WHERE a~vbeln EQ itab_zycet002-vbeln_vf.
ENDIF.
DELETE ADJACENT DUPLICATES FROM itab_exp COMPARING vbeln.
LOOP AT itab_exp WHERE cnpj IS initial.
v_index = sy-tabix.
CALL FUNCTION 'J_1BREAD_BRANCH_DATA'
EXPORTING
branch = itab_exp-bupla
bukrs = /pws/zycet037-bukrs
IMPORTING
cgc_number = v_cgc
EXCEPTIONS
branch_not_found = 1
address_not_found = 2
company_not_found = 3
OTHERS = 4.
* >> Início da inclusão: FORM SELECIONA_DADOS
IF sy-subrc IS INITIAL.
ELSE.
ENDIF.
* << Fim da inclusão
PERFORM formatar_cgc USING v_cgc.
itab_exp-cnpj = v_cnpj.
MODIFY itab_exp.
LOOP AT itab_zycet002 WHERE vbeln_vf = itab_exp-vbeln.
itab_zycet002-filial = v_cnpj+11(4).
MODIFY itab_zycet002.
ENDLOOP.
ENDLOOP.
DELETE itab_zycet002 WHERE filial IS initial.
IF NOT itab_zycet002[] IS INITIAL.
...
...
FROM j_1bnfdoc AS a
INNER JOIN j_1bnflin AS b
ON a~docnum EQ b~docnum
INTO TABLE itab_doc
FOR ALL ENTRIES IN itab_zycet002
WHERE a~docnum EQ itab_zycet002-docnum
AND b~charg EQ itab_zycet002-cprod.
SELECT /pws/zycet118~vbeln_vl /pws/zycet118~posnl
/pws/zycet118~seqagrupado /pws/zycet116~agrupado
/pws/zycet116~nrre /pws/zycet116~dtincl
* >> Início da exclusão: FORM SELECIONA_DADOS
FROM /pws/zycet116 INNER JOIN /pws/zycet118
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
FROM /pws/zycet116 INNER JOIN /pws/zycet118 "#EC CI_BUFFJOIN
* << Fim da inclusão
ON /pws/zycet116~nrseqre EQ /pws/zycet118~nrseqre
INTO TABLE itab_nrre
FOR ALL ENTRIES IN itab_zycet002
WHERE /pws/zycet118~vbeln_vl EQ itab_zycet002-vbeln_vl
AND /pws/zycet118~posnl EQ itab_zycet002-posnl.
READ TABLE itab_zycet002 WITH KEY nrseq = itab_zycet001-nrseq.
SELECT a~tknum b~lifnr b~name1 b~ort01 b~regio b~stcd1 b~stcd3
FROM vttk AS a
INNER JOIN lfa1 AS b
ON a~tdlnr EQ b~lifnr
...
...
LOOP AT itab_zycet002.
READ TABLE itab_zycet020 WITH KEY tipodoc = 'SC'.
IF sy-subrc EQ 0.
IF itab_zycet002-auart EQ itab_zycet020-auart.
DELETE itab_zycet002 INDEX sy-tabix.
ENDIF.
ENDIF.
CLEAR: v_ender, v_nrbl, itab_doc, itab_j1bnflin, itab_zycet173.
SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycet221
WHERE fil_exp = itab_zycet002-filial.
* >> Início da inclusão: FORM SELECIONA_DADOS
"#EC CI_NOFIRST "#EC CI_NOFIELD
* << Fim da inclusão
IF v_filial NE itab_zycet002-filial.
v_count = v_nrseq+0(6) + 1.
ELSEIF v_nfnum NE itab_zycet002-nfnum.
v_count = v_count + 1.
ENDIF.
itab_zycet173-mandt = sy-mandt.
itab_zycet173-werks = itab_zycet002-filial.
itab_zycet173-bukrs = /pws/zycet037-bukrs.
itab_zycet173-periodo = itab_zycet002-fkdat.
itab_zycet173-nrseq = v_count.
...
...
READ TABLE itab_doc WITH KEY docnum = itab_zycet002-docnum
charg = itab_zycet002-cprod.
IF sy-subrc EQ 0.
itab_zycet173-nfnum = itab_zycet002-nfnum.
itab_zycet173-modelo = itab_doc-model.
itab_zycet173-serie = itab_doc-series.
itab_zycet173-dtnf = itab_doc-docdat.
ENDIF.
READ TABLE itab_zycet001 WITH KEY nrseq = itab_zycet002-nrseq.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM SELECIONA_DADOS
SELECT SINGLE * FROM /pws/zycet120 WHERE nrseq = itab_zycet001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
SELECT *
FROM /pws/zycet120
UP TO 1 ROWS
WHERE nrseq = itab_zycet001-nrseq.
ENDSELECT.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycet173-dtsd = /pws/zycet120-dtincl.
itab_zycet173-nrsd = /pws/zycet120-nrsd.
ENDIF.
ENDIF.
CLEAR: v_seqagrup, v_seqagrup_aux.
SORT itab_nrre BY seqagrupado DESCENDING.
LOOP AT itab_nrre WHERE vbeln_vl EQ itab_zycet002-vbeln_vl.
IF itab_nrre-agrupado EQ 'S'.
IF v_seqagrup IS INITIAL.
...
...
icon_button_1 = 'ICON_OKAY'
text_button_2 = text-015
icon_button_2 = 'ICON_CANCEL'
default_button = '1'
display_cancel_button = ' '
IMPORTING
answer = v_answer
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
* >> Início da inclusão: FORM SELECIONA_ESTORNA
IF sy-subrc IS INITIAL.
ELSE.
ENDIF.
* << Fim da inclusão
IF v_answer EQ '1'.
PERFORM estorna_mem.
ELSE.
STOP.
ENDIF.
ENDFORM.
FORM selecao_impressao.
CLEAR: itab_zycet173, itab_zycet221.
REFRESH: itab_zycet173, itab_zycet221.
IF NOT s_dtinc3 IS INITIAL.
...
...
AND nrseq EQ itab_zycet221-nrseq
AND nfnum EQ itab_zycet221-nr_nfs
AND nrre IN s_numre2.
IF NOT itab_zycet173[] IS INITIAL.
SELECT * FROM /pws/zycet222 INTO TABLE itab_zycet222
FOR ALL ENTRIES IN itab_zycet173
WHERE fil_exp = itab_zycet173-werks
AND periodo = itab_zycet173-periodo
AND nfnum = itab_zycet173-nfnum
AND nrseq = itab_zycet173-nrseq
* >> Início da exclusão: FORM SELECAO_IMPRESSAO
AND fil_prod = itab_zycet173-cprod.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECAO_IMPRESSAO
AND fil_prod = itab_zycet173-cprod. "#EC CI_NOFIRST
* << Fim da inclusão
itab_zycet173a[] = itab_zycet173[].
itab_zycet222a[] = itab_zycet222[].
PERFORM print_report.
ELSE.
MESSAGE i001 WITH text-007.
ENDIF.
ENDIF.
ENDFORM.
FORM carrega_parametros.
DATA: v_resp TYPE c.
...
...
icon_button_1 = 'ICON_OKAY'
text_button_2 = text-015
icon_button_2 = 'ICON_CANCEL'
default_button = '2'
display_cancel_button = ' '
IMPORTING
answer = v_resp
EXCEPTIONS
text_not_found = 1
OTHERS = 2.
* >> Início da inclusão: FORM CARREGA_PARAMETROS
IF sy-subrc IS INITIAL.
ELSE.
ENDIF.
* << Fim da inclusão
IF v_resp EQ '1'.
* >> Início da exclusão: FORM CARREGA_PARAMETROS
SELECT SINGLE *
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_PARAMETROS
SELECT *
* << Fim da inclusão
FROM /pws/zycet037
INTO /pws/zycet037
* >> Início da inclusão: FORM CARREGA_PARAMETROS
UP TO 1 ROWS
* << Fim da inclusão
WHERE bukrs IN s_emp.
* >> Início da inclusão: FORM CARREGA_PARAMETROS
ENDSELECT.
* << Fim da inclusão
IF sy-subrc NE 0.
MESSAGE i016 WITH text-027 s_emp+3(4) text-028.
STOP.
ENDIF.
SELECT *
FROM /pws/zycet031
...
...
OR ( itab_zycet173-nrseq NE v_nrseqm OR v_nrseqm IS INITIAL )
OR ( itab_zycet173-cprod NE v_cprod OR v_cprod IS INITIAL )
OR ( itab_zycet173-nfnum NE v_nfnum OR v_nfnum IS INITIAL ).
v_index = sy-tabix.
REFRESH itab_zycet173t. CLEAR itab_zycet173t.
SELECT * FROM /pws/zycet173 INTO TABLE itab_zycet173t
WHERE werks = itab_zycet173-werks
AND periodo = itab_zycet173-periodo
AND nrseq = itab_zycet173-nrseq
AND cprod = itab_zycet173-cprod
* >> Início da exclusão: FORM PRINT_REPORT
AND nfnum = itab_zycet173-nfnum.
* << Fim da exclusão
* >> Início da inclusão: FORM PRINT_REPORT
AND nfnum = itab_zycet173-nfnum. "#EC CI_NOFIRST
* << Fim da inclusão
DO qtdvias TIMES.
NEW-PAGE.
WRITE: /001 '|'.
READ TABLE itab_zycet031 WITH KEY id = '0002'.
WRITE: 002 itab_zycet031-name,
100 '|'.
ULINE AT /1(100).
READ TABLE itab_zycet031 WITH KEY id = '0003'.
WRITE: /001 '|',
002 itab_zycet031-name,
...
...
v_via = '01'.
ENDIF.
CONCATENATE v_via 'ª' INTO nrvia.
ULINE AT /1(100).
WRITE nrpag TO nrpag RIGHT-JUSTIFIED.
WRITE: /001 '|', 003 nrpag, 006 '/', 007 v_totpagec,
011 '|', 022 text-024, 050 itab_zycet173-nrseq,
090 '|', nrvia, 096 text-016,
100 '|'.
ULINE AT /1(100).
* >> Início da exclusão: FORM MONTA_CABECALHO
IF nrpag < v_totpagec.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_CABECALHO
IF nrpag < v_totpagec. "#EC PORTABLE
* << Fim da inclusão
nrpag = nrpag + 1.
ELSEIF nrpag = v_totpagec.
nrpag = 1.
v_via = v_via + 1.
ENDIF.
ENDFORM.
FORM estorna_mem.
IF NOT s_dtinc2 IS INITIAL.
SELECT *
FROM /pws/zycet221
...
...
AND nr_nfs IN s_numnf
AND num_seqemb IN s_seqem2.
ENDIF.
IF NOT itab_zycet221[] IS INITIAL.
SELECT *
FROM /pws/zycet222
INTO TABLE itab_zycet222
FOR ALL ENTRIES IN itab_zycet221
WHERE fil_exp EQ itab_zycet221-fil_exp
AND nrseq EQ itab_zycet221-nrseq
* >> Início da exclusão: FORM ESTORNA_MEM
AND nfnum EQ itab_zycet221-nr_nfs.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_MEM
AND nfnum EQ itab_zycet221-nr_nfs. "#EC CI_NOFIRST
* << Fim da inclusão
SELECT *
FROM /pws/zycet173
INTO TABLE itab_zycet173
FOR ALL ENTRIES IN itab_zycet221
WHERE werks EQ itab_zycet221-fil_exp
AND nfnum EQ itab_zycet221-nr_nfs
AND nrseq EQ itab_zycet221-nrseq
AND periodo EQ itab_zycet221-periodo
* >> Início da exclusão: FORM ESTORNA_MEM
AND nrre IN s_numre.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_MEM
AND nrre IN s_numre. "#EC CI_NOFIRST
* << Fim da inclusão
DELETE /pws/zycet221 FROM TABLE itab_zycet221.
DELETE /pws/zycet222 FROM TABLE itab_zycet222.
DELETE /pws/zycet173 FROM TABLE itab_zycet173.
MESSAGE i001 WITH text-025.
ELSE.
MESSAGE i001 WITH text-022.
ENDIF.
ENDFORM.
FORM verifica_tela2.
IF s_emp2 IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCER305
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 011
Texto: (33 caracteres)
"Preencher o Nome do Representante"
Comprimento máximo: 33
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 012
Texto: (30 caracteres)
"Preencher a Quantidade de Vias"
Comprimento máximo: 30
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 017
Texto: (29 caracteres)
"Preencher o Número Seqüencial"
Comprimento máximo: 29
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 018
Texto: (40 caracteres)
"Preencher a Data de Inclusão de Embarque"
Comprimento máximo: 40
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 019
Texto: (35 caracteres)
"Preencher o Seqüencial do Memorando"
Comprimento máximo: 35
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 020
Texto: (23 caracteres)
"Preencher a Nota Fiscal"
Comprimento máximo: 23
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 021
Texto: (24 caracteres)
"Preencher o Número de RE"
Comprimento máximo: 24
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 023
Texto: (23 caracteres)
"Preencher a Nota Fiscal"
Comprimento máximo: 23