Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Declaração de Origem
Data/Hora da Publicação: 22/02/2006 00:00:00
Data/Hora Última Alteração: 21/02/2011 15:08:15
Descrição da Nota: DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE58
Sintoma
Necessidade de tratamento de Declaração de Origem para o acordo ACE58.
Solução
Implementação de consistências para tratamento do acordo.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00930 Data: 22/02/2006 Hora: 08:59:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00930
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00101
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00830 - 00001 - 6.0 - 00022 - VERIFICAÇÃO DE NALADIS E SOMATÓRIA DA PERCENTUAIS
----------------------------------------------------------------------------------------------------
DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE58
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXPORTAÇÃO DECLARAÇÃO DE ORIGEM ACORDO ACE58
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE042F01
REPS /PWS/MZYCE042I01
REPS /PWS/MZYCE042TOP
REPT /PWS/SAPMZYCE042
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE042F01
...
PERFORM acessa_mara.
PERFORM acessa_t005.
PERFORM trata_acordo_produto USING v_acordo.
PERFORM trata_material TABLES itab_mara_aux.
PERFORM trata_estados_partes TABLES itab_ekko.
* >> Início da inclusão: FORM SELECIONA_DADOS
select * from /pws/zycet283 into table itab_zycet283
where acordo = v_acordo.
* << Fim da inclusão
CALL SCREEN 0100.
ENDFORM.
FORM acessa_mara.
CLEAR: itab_mara_aux, itab_mara, itab_familia, itab_cpo,
itab_where_cond, itab_dd03l.
...
...
WHERE nrseqdo = /pws/zycee273-nrseqdo.
SELECT * FROM /pws/zycet279 INTO TABLE itab_zycet279
WHERE nrseqdo = /pws/zycee273-nrseqdo.
READ TABLE itab_zycet279 INDEX 1.
/pws/zycee279 = itab_zycet279.
* >> Início da inclusão: FORM TRATA_DADOS
select * from /pws/zycet283 into table itab_zycet283
where acordo = /PWS/ZYCEE273-ACORDO.
* << Fim da inclusão
v_select = 'X'.
ENDIF.
ENDIF.
ENDFORM.
FORM trata_enter.
...
...
IF FOUND.
ENDIF.
ENDFORM.
FORM composicao_regra_origem.
DATA: v_ok TYPE c,
* >> Início da exclusão: FORM COMPOSICAO_REGRA_ORIGEM
v_percentual TYPE /pws/zycet277-perfinal.
* << Fim da exclusão
* >> Início da inclusão: FORM COMPOSICAO_REGRA_ORIGEM
v_percentual TYPE /pws/zycet277-perfinal,
v_existe type C.
* << Fim da inclusão
FIELD-SYMBOLS: <fs-zycet277> LIKE itab_zycet277.
CASE /pws/zycee273-acordo.
WHEN 'ACE59'.
READ TABLE itab_zycet279 INDEX 1.
IF itab_zycet276[] IS INITIAL AND
...
...
itab_zycet279-descricao = text-059.
IF NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
ELSE.
APPEND itab_zycet279.
* >> Início da inclusão: FORM COMPOSICAO_REGRA_ORIGEM
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN 'ACE58'.
clear wa_consistencia.
loop at itab_zycet277 where steuc ne space or
naladi ne space or
matnr ne space or
maktx ne space or
country ne space or
vlcif ne space or
waers ne space or
menge ne space or
meins ne space or
perfinal ne space .
exit.
endloop.
if sy-subrc ne 0.
wa_consistencia-consist_1 = 'X'.
ELSE.
clear v_existe.
loop at itab_zycet274.
read table itab_zycet283
with key naladi = itab_zycet274-naladi.
if sy-subrc eq 0.
wa_consistencia-consist_2 = 'X'.
exit.
endif.
endloop.
if wa_consistencia-consist_2 eq 'X'.
clear v_percentual.
loop at itab_zycet277.
v_percentual = v_percentual + itab_zycet277-perfinal.
endloop.
MESSAGE i001 WITH text-045.
if v_percentual gt 50.
MESSAGE w016 WITH text-044 text-046.
clear itab_zycet279-descricao.
CHECK NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
else.
wa_consistencia-consist_3 = 'X'.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM COMPOSICAO_REGRA_ORIGEM
else.
CLEAR v_percentual.
wa_consistencia-consist_4 = 'X'.
LOOP AT itab_zycet277 .
READ TABLE itab_zycet274
WITH KEY naladi(4) = itab_zycet277-naladi(4).
check sy-subrc eq 0.
clear wa_consistencia-consist_4 .
ENDLOOP.
if wa_consistencia-consist_4 ne 'X'.
clear v_percentual.
loop at itab_zycet277.
v_percentual = v_percentual + itab_zycet277-perfinal.
endloop.
if v_percentual gt 50.
MESSAGE w016 WITH text-044 text-046.
clear itab_zycet279-descricao.
CHECK NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
else.
wa_consistencia-consist_5 = 'X'.
endif.
endif.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM COMPOSICAO_REGRA_ORIGEM
ENDIF.
READ TABLE itab_zycet279 INDEX 1.
itab_zycet279-nrseqdo = /pws/zycee273-nrseqdo.
if wa_consistencia-consist_1 = 'X'.
itab_zycet279-descricao = text-060.
elseif wa_consistencia-consist_3 = 'X'.
itab_zycet279-descricao = text-061.
elseif wa_consistencia-consist_4 = 'X'.
itab_zycet279-descricao = text-062.
elseif wa_consistencia-consist_5 = 'X'.
itab_zycet279-descricao = text-063.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM COMPOSICAO_REGRA_ORIGEM
IF NOT itab_zycet279[] IS INITIAL.
MODIFY itab_zycet279 INDEX 1.
ELSE.
APPEND itab_zycet279.
* << Fim da inclusão
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE042I01
...
PERFORM trata_acordo_produto USING v_acordo.
PERFORM trata_material TABLES itab_mara_aux.
PERFORM trata_estados_partes TABLES itab_ekko.
PERFORM trata_regra_origem USING mara-matnr.
PERFORM busca_exit USING 'DCO003'.
* >> Início da inclusão: MODULE USER_COMMAND_0002
select * from /pws/zycet283 into table itab_zycet283
where acordo = v_acordo.
* << Fim da inclusão
CALL SCREEN '0100'.
WHEN 'CANCEL'.
CALL SCREEN '0001'.
ENDCASE.
ENDMODULE.
...
...
ELSE.
MESSAGE i001 WITH text-049.
ENDIF.
ENDCASE.
ENDMODULE.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE042TOP
...
nrseq LIKE /pws/zycet002-nrseq,
v_vlcif LIKE /pws/zycet277-vlcif,
v_perfinal_aux LIKE /pws/zycet277-vlcif,
v_nrseqdo LIKE /pws/zycet273-nrseqdo,
v_waers LIKE /pws/zycet277-waers,
* >> Início da exclusão:
v_programa LIKE sy-repid.
* << Fim da exclusão
* >> Início da inclusão:
v_programa LIKE sy-repid,
v_mensagem(45) type C.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCE042
* Foram criados os seguintes elementos de texto:
Chave Comprimento Txt.
060 29 Anexo V, artigo 3, letra "i"
061 30 Anexo V, artigo 5, apêndice 1.
062 29 Anexo V, artigo 4, letra "a".
063 29 Anexo V, artigo 4, letra "b".