Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Declaração de Origem
Data/Hora da Publicação: 02/01/2006 00:00:00
Data/Hora Última Alteração: 21/02/2011 15:19:26
Descrição da Nota: DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE59
Sintoma
Necessidade de tratamento de Declaração de Origem para o acordo ACE59.
Solução
Implementação de consistências para tratamento do acordo.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00566 Data: 02/01/2006 Hora: 10:27:56
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00566
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 6.0
Pacote : 00022
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE59
----------------------------------------------------------------------------------------------------
Palavras Chave:
ACE59; ACORDO; CONSISTÊNCIAS; DESENVOLVIMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCE042 0003
DYNP /PWS/SAPMZYCE042 0105
REPS /PWS/MZYCE042F01
REPS /PWS/MZYCE042O01
REPS /PWS/SAPMZYCE042
REPT /PWS/SAPMZYCE042
TABD /PWS/ZYCEE273
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCE042 0003
* >> O campo /PWS/ZYCEE273-NRSEQDO foi incluído novamente na tela para que o MATCH-CODE fosse
* ativado <<
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCE042 0105
* >> Lógica de processamento alterada em tela 0105 <<
process before output.
MODULE: set_rolagem,
set_screen,
* >> Início da exclusão: TELA 0105
set_page.
* << Fim da exclusão
* >> Início da inclusão: TELA 0105
set_page,
compor_regra_origem.
* << Fim da Inclusão
LOOP AT itab_zycet278 WITH CONTROL tc_processo.
MODULE: atualiza_tela.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycet278.
MODULE: atualiza_itab.
ENDLOOP.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE042F01
FORM salva_declaracao.
DATA: v_mat_prima.
* >> Início da inclusão: FORM SALVA_DECLARACAO
PERFORM composicao_regra_origem USING 'X'.
* << Fim da inclusão
LOOP AT itab_zycet273.
MODIFY itab_zycet273 FROM /pws/zycee273.
ENDLOOP.
MODIFY /pws/zycet273 FROM TABLE itab_zycet273.
READ TABLE itab_zycet273.
...
ENDIF.
DELETE FROM /pws/zycet279 WHERE nrseqdo = itab_zycet273-nrseqdo.
MOVE itab_zycet273-nrseqdo TO /pws/zycee279-nrseqdo.
MODIFY /pws/zycet279 FROM /pws/zycee279.
COMMIT WORK.
* >> Início da exclusão: FORM SALVA_DECLARACAO
MESSAGE s001 WITH text-042.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DECLARACAO
MESSAGE i001 WITH text-042.
* << Fim da inclusão
ENDFORM.
...
FORM trata_ncm_naladi TABLES itab_marc STRUCTURE itab_marc
itab_t604f STRUCTURE itab_t604f
itab_t604n STRUCTURE itab_t604n
itab_zycet509 STRUCTURE itab_zycet509
USING v_acordo.
READ TABLE itab_zycet288 INDEX 1.
IF itab_zycet288-rorigem EQ '01'.
READ TABLE itab_zycet284 WITH KEY acordo = v_acordo.
CASE itab_zycet284-codacor.
...
MOVE itab_t604n-text1 TO itab_zycet274_aux-descr.
ENDIF.
ENDIF.
ENDIF.
WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'
* >> Início da exclusão: FORM TRATA_NCM_NALADI
OR '00008' OR '00009'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_NCM_NALADI
OR '00008' OR '00009' OR '00010'.
* << Fim da inclusão
READ TABLE itab_zycet509 WITH KEY matnr = itab_mara_aux-matnr.
IF sy-subrc = 0.
MOVE itab_zycet509-codnaladi TO itab_zycet274_aux-naladi.
MOVE itab_zycet509-descr_naladi TO itab_zycet274_aux-descr.
ELSE.
...
MOVE itab_t604n-text1 TO itab_zycet274_aux-descr.
ENDIF.
ENDIF.
ENDIF.
WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'
* >> Início da exclusão: FORM TRATA_NCM_NALADI
OR '00008' OR '00009'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_NCM_NALADI
OR '00008' OR '00009' OR '00010'.
* << Fim da inclusão
READ TABLE itab_zycet509 WITH KEY matnr = itab_familia-matnr.
IF sy-subrc = 0.
MOVE itab_zycet509-codnaladi TO itab_zycet274_aux-naladi.
MOVE itab_zycet509-descr_naladi TO itab_zycet274_aux-descr.
ELSE.
...
ENDIF.
ENDIF.
ENDCASE.
ENDIF.
ENDFORM. " trata_ncm_naladi
...
FORM trata_acordo_produto USING v_acordo.
CLEAR: itab_zycet274, itab_vba, itab_zycet274_aux, itab_vbap_vbak,
itab_vbkd, itab_desc, itab_marc, itab_t604n, itab_t604f,
itab_t604f_aux, itab_zycet509.
REFRESH: itab_zycet274, itab_vba, itab_zycet274_aux, itab_vbap_vbak,
itab_vbkd, itab_desc, itab_marc, itab_t604n, itab_t604f,
...
WHERE steuc = itab_marc-steuc
AND spras = sy-langu.
ENDIF.
ENDIF.
WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'
* >> Início da exclusão: FORM TRATA_ACORDO_PRODUTO
OR '00008' OR '00009'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_ACORDO_PRODUTO
OR '00008' OR '00009' OR '00010'.
* << Fim da inclusão
SELECT matnr steuc FROM marc INTO TABLE itab_marc
WHERE matnr = itab_mara_aux-matnr
AND steuc <> ' '.
IF sy-subrc EQ 0.
READ TABLE itab_marc INDEX 1.
...
FOR ALL ENTRIES IN itab_marc
WHERE steuc = itab_marc-steuc
AND spras = sy-langu.
ENDIF.
WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'
* >> Início da exclusão: FORM TRATA_ACORDO_PRODUTO
OR '00008' OR '00009'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_ACORDO_PRODUTO
OR '00008' OR '00009' OR '00010'.
* << Fim da inclusão
SELECT * FROM /pws/zycet509 INTO TABLE itab_zycet509
FOR ALL ENTRIES IN itab_familia
WHERE matnr = itab_familia-matnr
AND steuc <> ' '.
SELECT matnr steuc FROM marc INTO TABLE itab_marc
...
APPEND itab_zycet274_aux.
CLEAR itab_zycet274_aux.
ENDIF.
MOVE itab_zycet274_aux[] TO itab_zycet274[].
ENDFORM. " trata_acordo_produto
...
FORM trata_estados_partes TABLES itab_ekko STRUCTURE itab_ekko.
CLEAR: itab_zycet276, itab_desc, itab_zycet277, itab_marc,
itab_t604f, itab_lfa1, itab_aux, itab_zycet285,
itab_vbap_vbak, itab_ekko_aux.
...
ENDIF.
MOVE v_perfinal_aux TO itab_zycet277-perfinal.
APPEND itab_zycet277.
CLEAR itab_zycet277.
WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'
* >> Início da exclusão: FORM TRATA_ESTADOS_PARTES
OR '00008' OR '00009'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_ESTADOS_PARTES
OR '00008' OR '00009' OR '00010'.
* << Fim da inclusão
READ TABLE itab_marc WITH KEY matnr = it_stpox-idnrk.
IF sy-subrc EQ 0.
READ TABLE itab_t604f WITH KEY steuc = itab_marc-steuc.
IF sy-subrc EQ 0.
MOVE itab_t604f-/pws/codnaladi TO itab_aux-naladi.
...
CLEAR itab_zycet277.
ENDIF.
ENDCASE.
ENDLOOP.
ENDFORM. " trata_estados_partes
...
* >> FORM COMPOSICAO_REGRA criado em programa /PWS/SAPMZYCE042 <<
FORM composicao_regra_origem USING p_flag.
DATA v_ok TYPE c.
READ TABLE itab_zycet279 INDEX 1.
IF itab_zycet276[] IS INITIAL.
itab_zycet279-descricao = 'Anexo IV, artigo 3, letra "i"'(039).
IF NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
ELSE.
APPEND itab_zycet279.
ENDIF.
ELSE.
LOOP AT itab_zycet277.
READ TABLE itab_zycet274 INDEX sy-tabix.
CHECK itab_zycet277-naladi(4) EQ itab_zycet274-naladi(4).
v_ok = 'X'.
ENDLOOP.
IF v_ok IS INITIAL.
itab_zycet279-descricao = 'Anexo IV, artigo 4, letra "a"'(058).
IF NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
ELSE.
APPEND itab_zycet279.
ENDIF.
ELSE.
CLEAR v_ok.
LOOP AT itab_zycet277.
READ TABLE itab_zycet274 INDEX sy-tabix.
CHECK itab_zycet277-steuc(4) EQ itab_zycet274-steuc(4) AND
itab_zycet277-perfinal <= 40.
v_ok = 'X'.
ENDLOOP.
IF v_ok IS INITIAL.
IF p_flag IS INITIAL.
MESSAGE w016 WITH text-044 text-046.
ENDIF.
CLEAR itab_zycet279-descricao.
CHECK NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
ELSE.
itab_zycet279-descricao = 'Anexo IV, artigo 4, letra "b"'(059).
IF NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
ELSE.
APPEND itab_zycet279.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE042O01
MODULE set_screen OUTPUT.
SELECT * FROM /pws/zycet284 INTO TABLE itab_zycet284.
IF sy-tcode NE '/PWS/ZYCE042_C'.
READ TABLE itab_zycet273 WITH KEY nrseqdo = /pws/zycee273-nrseqdo.
READ TABLE itab_zycet273 INDEX 1.
...
when 'TAB_MAT'.
screen-invisible = '1'.
endcase.
modify screen.
endloop.
* >> Início da exclusão: MODULE SET_SCREEN
when '00002' or '00003' or '00004' or '00006' or
'00007' or '00008' or '00009'.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN
WHEN '00002' OR '00003' OR '00004' OR '00006'
OR '00007' OR '00008' OR '00009' OR '00010'.
* << Fim da inclusão
v_text1 = text-040.
loop at screen.
case screen-name.
when 'TAB_TERCEIROS'.
screen-invisible = '0'.
...
screen-input = '0'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE. " set_screen OUTPUT
...
* >> MODULE COMPOR_REGRA_ORIGEM criado em programa /PWS/SAPMZYCE042 <<
MODULE compor_regra_origem OUTPUT.
PERFORM composicao_regra_origem USING space.
ENDMODULE.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/SAPMZYCE042
* >> Não houver modificações relevantes neste include <<
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCE042
* >> Foram criados 3 símbolos de texto para programa /PWS/SAPMZYCE042 <<
ID Chave Comprimento Txt.
I 039 29 Anexo IV, artigo 3, letra "i"
I 058 29 Anexo IV, artigo 4, letra "a"
I 059 29 Anexo IV, artigo 4, letra "b"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCEE273
* >> Inclusão de tabela de verificação para o campo NRSEQDO <<
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
DE: NRSEQDO /PWS/ZYCEL583
PARA: NRSEQDO /PWS/ZYCEL583 /PWS/ZYCET273