Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 22/02/2010 00:00:00
Data/Hora Última Alteração: 20/04/2011 10:40:12
Descrição da Nota: IMPLEMENTAÇÃO DA ABERTURA DOS CAMPOS DA NVE NO DETALHE DO ITEM DI
Sintoma
Implementação da Abertura dos campos da NVE no detalhe do item
Solução
Implementação da Abertura dos campos da NVE no detalhe do item
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09853 Data: 22/02/2010 Hora: 10:18:06
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09853
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00010
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
09804 - 00001 - 8.0 - 00002 - ABERTURA DOS CAMPOS DE NVE PARA EDIÇÃO NO DETALHE DO ITEM DO EMBA
----------------------------------------------------------------------------------------------------
IMPLEMENTAÇÃO DA ABERTURA DOS CAMPOS DA NVE NO DETALHE DO ITEM DI
----------------------------------------------------------------------------------------------------
Palavras Chave:
DI - ABERTURA - CAMPOS - NVE - DETALHE - ITEM
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
FORM adic_list.
DATA itab_zycit503_aux LIKE itab_zycit503 OCCURS 0 WITH HEADER LINE.
DATA v_nve .
* >> Início da inclusão: FORM ADIC_LIST
DATA v_quebra_nve.
DATA v_cont_nve TYPE i.
DATA v_cont_nve_2 TYPE i.
* << Fim da inclusão
CLEAR: it_adi[], /pws/zycie100a, itab_itb.
REFRESH: it_adi[].
CLEAR: itab_it_aux[].
REFRESH: itab_it_aux[].
MOVE itab_it[] TO itab_it_aux[].
* >> Início da inclusão: FORM ADIC_LIST
SORT itab_zycit503 BY ebeln ebelp j_1bnbm atributo_nve especif_nve.
LOOP AT itab_it_aux.
clear itab_it_aux-quebra_nve.
loop at itab_zycit503 where ebeln = itab_it_aux-ebeln and
ebelp = itab_it_aux-ebelp.
concatenate itab_zycit503-atributo_nve itab_zycit503-especif_nve
itab_it_aux-quebra_nve into itab_it_aux-quebra_nve.
endloop.
modify itab_it_aux.
endloop.
* << Fim da inclusão
PERFORM data_sort.
IF itab_zycit001-flag_adicao EQ 'X'.
v_adic = 0.
ELSE.
v_adic = 1.
ENDIF.
CLEAR: v_tabix, v_cont.
SORT itab_zycit503 BY j_1bnbm atributo_nve especif_nve.
* >> Início da exclusão: FORM ADIC_LIST
MOVE itab_zycit503[] TO itab_zycit503_aux[].
* << Fim da exclusão
CLEAR v_nve .
LOOP AT itab_it_aux.
IF sy-tabix = 1.
MOVE-CORRESPONDING itab_it_aux TO itab_itb.
ENDIF.
v_tabix = v_tabix + 1.
CLEAR v_flag_quebra.
v_cont = v_cont + 1.
IF itab_it_aux-j_1bnbm NE itab_itb-j_1bnbm .
PERFORM adic_next.
...
...
PERFORM adic_next.
ELSEIF itab_it_aux-meinsantid NE itab_itb-meinsantid .
PERFORM adic_next.
ELSEIF itab_it_aux-codcambial NE itab_itb-codcambial .
PERFORM adic_next.
ELSEIF itab_it_aux-inco_item NE itab_itb-inco_item .
PERFORM adic_next.
ELSEIF itab_it_aux-paisfab NE itab_itb-paisfab .
PERFORM adic_next.
ELSEIF itab_it_aux-tp_certif NE itab_itb-tp_certif .
* >> Início da inclusão: FORM ADIC_LIST
PERFORM adic_next.
ELSEIF itab_zycit001-flag_adicao EQ 'X'.
PERFORM adic_next.
ELSEIF v_flag_quebra IS INITIAL AND v_cont > 80.
* << Fim da inclusão
PERFORM adic_next.
* >> Início da inclusão: FORM ADIC_LIST
elseIF itab_it_aux-quebra_nve NE itab_itb-quebra_nve.
PERFORM adic_next.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM ADIC_LIST
IF itab_zycit001-flag_adicao EQ 'X'.
PERFORM adic_next.
ENDIF.
ENDIF.
* << Fim da exclusão
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI013'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI013' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM ADIC_LIST
IF v_flag_quebra IS INITIAL AND v_cont > 80.
PERFORM adic_next.
* << Fim da exclusão
ENDIF.
* >> Início da inclusão: FORM ADIC_LIST
IF itab_zycit503_aux[] IS INITIAL.
* << Fim da inclusão
LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq
AND ebeln = itab_it_aux-ebeln
AND ebelp = itab_it_aux-ebelp.
* >> Início da exclusão: FORM ADIC_LIST
IF v_nve = ' '.
* << Fim da exclusão
MOVE-CORRESPONDING itab_zycit503 TO itab_zycit503_aux.
* >> Início da exclusão: FORM ADIC_LIST
v_nve = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ADIC_LIST
APPEND itab_zycit503_aux.
ENDLOOP.
ENDIF.
CLEAR v_quebra_nve.
CLEAR v_cont_nve.
CLEAR v_cont_nve_2.
LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq
AND ebeln = itab_it_aux-ebeln
AND ebelp = itab_it_aux-ebelp.
v_cont_nve = v_cont_nve + 1.
ENDLOOP.
DESCRIBE TABLE itab_zycit503_aux LINES v_cont_nve_2.
IF v_cont_nve NE v_cont_nve_2.
v_quebra_nve = 'X'.
IF v_flag_quebra IS INITIAL.
PERFORM adic_next.
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ADIC_LIST
IF ( itab_zycit503_aux-ebeln NE itab_zycit503-ebeln OR
itab_zycit503_aux-ebelp NE itab_zycit503-ebelp ) AND
itab_zycit503_aux-j_1bnbm EQ itab_zycit503-j_1bnbm.
IF ( itab_zycit503_aux-atributo_nve EQ
itab_zycit503-atributo_nve AND
itab_zycit503_aux-especif_nve NE
itab_zycit503-especif_nve ) .
* << Fim da exclusão
* >> Início da inclusão: FORM ADIC_LIST
LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq
AND ebeln = itab_it_aux-ebeln
AND ebelp = itab_it_aux-ebelp.
READ TABLE itab_zycit503_aux WITH KEY
atributo_nve = itab_zycit503-atributo_nve
especif_nve = itab_zycit503-especif_nve.
IF sy-subrc NE 0.
IF v_quebra_nve NE 'X'.
IF v_flag_quebra IS INITIAL.
* << Fim da inclusão
PERFORM adic_next.
* >> Início da inclusão: FORM ADIC_LIST
ENDIF.
v_quebra_nve = 'X'.
* << Fim da inclusão
ENDIF.
ENDIF.
READ TABLE itab_zycit118
WITH KEY steuc = itab_zycit503-j_1bnbm
nivel = itab_zycit503-nivel_nve
atributo = itab_zycit503-atributo_nve
* >> Início da inclusão: FORM ADIC_LIST
especificacao = itab_zycit503-especif_nve
* << Fim da inclusão
adicao = v_adic.
IF sy-subrc NE 0.
CLEAR: itab_zycit118.
itab_zycit118-nrseqdi = /pws/zycie085-nrseqdi .
itab_zycit118-adicao = v_adic .
itab_zycit118-steuc = itab_zycit503-j_1bnbm .
itab_zycit118-nivel = itab_zycit503-nivel_nve .
itab_zycit118-atributo = itab_zycit503-atributo_nve.
itab_zycit118-especificacao = itab_zycit503-especif_nve .
APPEND itab_zycit118.
ENDIF.
* >> Início da inclusão: FORM ADIC_LIST
ENDLOOP.
CLEAR itab_zycit503_aux.
REFRESH itab_zycit503_aux.
LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq
AND ebeln = itab_it_aux-ebeln
AND ebelp = itab_it_aux-ebelp.
MOVE-CORRESPONDING itab_zycit503 TO itab_zycit503_aux.
APPEND itab_zycit503_aux.
* << Fim da inclusão
ENDLOOP.
itab_it-adicao = itab_it_aux-adicao = v_adic.
MODIFY itab_it TRANSPORTING adicao
WHERE ebeln EQ itab_it_aux-ebeln
AND ebelp EQ itab_it_aux-ebelp.
MODIFY itab_it_aux INDEX v_tabix TRANSPORTING adicao.
it_adi-adicao = v_adic.
it_adi-nrseqdi = /pws/zycie085-nrseqdi.
it_adi-nrseq = itab_it_aux-nrseq .
it_adi-ebeln = itab_it_aux-ebeln .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
zterm meinsest pproc nrseqli aplicacao
condmerc inco1 codmat cacl codfunleg
acordo acordorate reduzida percreduz notatipi
reduzidaipi unit_valor unit_meins unit_reccapac unit_rectipo
waersbem dttaxbem antidrate extarif_al tipo_al
orgemiss_al numero_al anoemiss_al ii_extarif ii_tipo
ii_orgemiss ii_numero ii_anoemiss ipi_extarif ipi_tipo
ipi_orgemiss ipi_numero ipi_anoemiss ad_extarif ad_tipo
ad_orgemiss ad_numero ad_anoemiss aladi tribipi
advalicms vlantid meinsantid qtdeantid
* >> Início da exclusão: FORM DATA_SORT
inco_item atributo_nve.
* << Fim da exclusão
* >> Início da inclusão: FORM DATA_SORT
inco_item atributo_nve quebra_nve.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
...
* >> Início da inclusão:
quebra_nve type char200,
* << Fim da inclusão
end of itab_it.
...