Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 23/12/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 10:04:29
Descrição da Nota: CALCULO DA QUANTIDADE ESTATISTICA
Sintoma
O programa não está calculando corretamente aa quantidades estatísticas dos itens da LI.
Solução
Atualização do cálculo da quantidade estatistica na LI.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07831 Data: 23/12/2008 Hora: 14:16:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07831
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00078
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03388 - 00001 - 7.0 - 00001 - PREENCHIMENTO DOS VALORES NA TABELA /PWS/ZYCIT279 QUANDO USA LOTE
03452 - 00002 - 7.0 - 00001 - O PROGRAMA DA LI ESTÁ SEMPRE RECALCULANDO A QUANTIDADE ESTATISTIC
04184 - 00003 - 7.0 - 00002 - CONVERSÃO DE MOEDAS UTILIZANDO A SIGLA /PWS/ZYCBT007
04374 - 00004 - 7.0 - 00002 - EXIT NO RECEBIMENTO NO MOMENTO DA GRAVAÇÃO DOS DADOS DB
07681 - 00005 - 7.0 - 00007 - VINCULAÇÃO DA LI AO ATO CONCESSÓRIO
07792 - 00006 - 7.0 - 00008 - UNIDADE ESTATISTICA DE ACORDO COM NCM DO PEDIDO
----------------------------------------------------------------------------------------------------
CALCULO DA QUANTIDADE ESTATISTICA
----------------------------------------------------------------------------------------------------
Palavras Chave:
LI QUANTIDADE ESTATISTICA DRAWBACK
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI020 0110
REPS /PWS/MZYCI001F03
REPS /PWS/MZYCI017F02
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020F02
REPS /PWS/MZYCI020I01
REPS /PWS/MZYCI020O01
REPS /PWS/MZYCI020X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0110
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0110
process before output.
module: load_cabec_110,
set_screen_sub,
* >> Início da inclusão:
set_screen_110,
* << Fim da inclusão
exit_tela.
loop at it_anu2
cursor tc_anu2-current_line.
module: carrega_tc_anu2,
set_screen_sub.
endloop.
loop at it_zycit081
cursor tc_anu-current_line.
module: carrega_zycie081,
set_screen_sub.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
SELECT SINGLE a~steuc INTO v_j_1bnbm "#EC CI_BUFFJOIN
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ p_matnr
AND a~steuc NE space
AND b~land1 EQ t001-land1.
ENDIF.
ELSE.
v_j_1bnbm = p_ncm.
ENDIF.
* >> Início da exclusão: FORM CONVERTE_UM_NCM
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_UM_NCM
IF not v_j_1bnbm IS INITIAL.
* << Fim da inclusão
SELECT SINGLE land1 /pws/zum
FROM t604f INTO (v_codpais, v_cod_umncm)
WHERE steuc = v_j_1bnbm
AND land1 = v_land1.
ENDIF.
IF NOT v_cod_umncm IS INITIAL.
SELECT SINGLE msehi "#EC CI_NOFIELD
FROM /pws/zyglt204 INTO (v_umncm)
WHERE zum = v_cod_umncm.
IF sy-subrc NE 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
DATA: itab_zycit078 LIKE /pws/zycit078 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit376 LIKE /pws/zycit376 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit245 LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_matuse1 OCCURS 0.
INCLUDE STRUCTURE itab_matuse.
DATA: ntgew LIKE ekpo-ntgew,
gewei LIKE ekpo-gewei.
DATA: END OF itab_matuse1.
DATA: itab_matuse2 LIKE itab_matuse1 OCCURS 0 WITH HEADER LINE.
SELECT SINGLE * FROM /pws/zycit321.
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
DATA v_propor TYPE /pws/zycit279-menge.
* << Fim da inclusão
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI017'
'RCB015'.
e_subrc = 0.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'RCB015' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa)
...
...
ebelp = itab_zycit003-ebelp.
READ TABLE itab_zycit042 WITH KEY nrseq = itab_itens_nf-nrseq
ebeln = itab_itens_nf-ebeln
ebelp = itab_itens_nf-ebelp.
READ TABLE itab_j_1bnfdoc WITH KEY docnum = itab_zycit042-docnum.
v_qtd_nftp = itab_itens_nf-qtd_item.
READ TABLE itab_matuse1 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
itab_matuse1-ntgew = itab_matuse1-ntgew * itab_zycit003-qtd_iten.
READ TABLE itab_zycit078 WITH KEY nrseqli = itab_zycit003-nrseqli.
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
READ TABLE itab_zycit079 WITH KEY nrseqli = itab_zycit078-nrseqli
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
* << Fim da inclusão
READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
v_meins = itab_itens_nf-meins.
* >> Início da exclusão: FORM ADICIONA_SALDO_ATO
PERFORM carrega_umncm_real USING itab_zycit003-matnr
CHANGING itab_itens_nf-meins
itab_itens_nf-qtd_item.
PERFORM carrega_umncm_real USING itab_zycit003-matnr
CHANGING itab_zycit003-meins
itab_zycit003-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
v_propor = itab_zycit079-qtd_drawback / itab_zycit003-qtd_iten.
itab_zycit003-qtd_iten = itab_zycit079-qtd_drawback.
itab_itens_nf-qtd_item = itab_itens_nf-qtd_item * v_propor.
SELECT SINGLE msehi "#EC CI_NOFIELD
FROM /pws/zyglt204 INTO itab_zycit003-meins
WHERE zum = itab_zycit078-zum.
itab_itens_nf-meins = itab_zycit003-meins.
* << Fim da inclusão
READ TABLE itab_zycit279 WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc = 0 AND /pws/zycit321-lote EQ space.
itab_zycit279-slqtde =
itab_zycit279-slqtde + itab_itens_nf-qtd_item.
IF itab_zycit279-slqtde > 0.
itab_zycit279-esgotado = space.
ENDIF.
MODIFY itab_zycit279 INDEX sy-tabix.
...
...
itab_zycit279-cofins = itab_zycit100-advalcofins.
itab_zycit279-baseii = itab_zycit100-baseii.
itab_zycit279-baseipi = itab_zycit100-baseipi.
itab_zycit279-basecofins = itab_zycit100-basecofins.
itab_zycit279-basepis = itab_zycit100-basepis.
itab_zycit279-baseicms = itab_zycit100-baseicms.
PERFORM taxa_converte USING /pws/zycbt007-waersa
/pws/zycit085-dttax
CHANGING v_taxa.
itab_zycit279-i_txmoeda = v_taxa.
* >> Início da exclusão: FORM ADICIONA_SALDO_ATO
itab_zycit279-qtd_iten = itab_zycit279-menge.
itab_zycit279-um_base = itab_zycit279-meins.
PERFORM converte_um_base USING itab_zycit279-matnr
CHANGING itab_zycit279-um_base
itab_zycit279-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
itab_zycit279-qtd_iten = itab_zycit079-qtd_iten.
itab_zycit279-um_base = itab_zycit079-meins.
* << Fim da inclusão
itab_zycit279-vltot = itab_zycit100-vlfob.
itab_zycit279-vlfrete = itab_zycit100-vlfre .
itab_zycit279-vlseg = itab_zycit100-vlseg .
PERFORM valor_converte USING /pws/zycit085-waersfob
/pws/zycbt007-waersa
/pws/zycit085-dttax
CHANGING itab_zycit279-vltot.
PERFORM valor_converte USING /pws/zycbt007-waersb
/pws/zycbt007-waersa
/pws/zycit085-dttax
...
...
( itab_zycit279-vltot / itab_zycit279-menge ) ).
ENDIF.
itab_zycit245-vlvinc = itab_zycit245-vlvinc - v_variacfob.
MODIFY itab_zycit245 TRANSPORTING vlvinc WHERE
nrseqd EQ itab_zycit245-nrseqd AND
nritem EQ itab_zycit245-nritem.
UPDATE /pws/zycit245 SET vlvinc = itab_zycit245-vlvinc
WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
ENDIF.
* >> Início da exclusão: FORM ADICIONA_SALDO_ATO
.
.
.
* << Fim da exclusão
PERFORM taxa_converte USING /pws/zycit001-waers
/pws/zycit085-dttax
CHANGING v_taxa.
IF NOT itab_zycit003-qtd_iten IS INITIAL.
itab_zycit279-valor = ( itab_zycit100-vlfob * v_taxa ) /
itab_zycit003-qtd_iten.
ENDIF.
IF /pws/zycit321-lote IS INITIAL.
APPEND itab_zycit279.
ELSE.
...
...
ELSE.
wa_zycit279-lote = itab_zycit223-lote_forn.
ENDIF.
itab_itens_nf-meins = v_meins.
READ TABLE itab_zycit279 WITH KEY nrseq = itab_zycit279-nrseq
ebeln = itab_zycit279-ebeln
ebelp = itab_zycit279-ebelp
lote = wa_zycit279-lote.
IF sy-subrc EQ 0.
itab_zycit279-qtd_iten = itab_zycit279-qtd_iten +
* >> Início da exclusão: FORM ADICIONA_SALDO_ATO
itab_zycit223-qtde.
PERFORM carrega_umncm_real USING itab_zycit003-matnr
CHANGING itab_itens_nf-meins
* << Fim da exclusão
itab_zycit223-qtde.
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
itab_zycit223-qtde = itab_zycit223-qtde * v_propor.
* << Fim da inclusão
itab_zycit279-slqtde =
itab_zycit279-slqtde + itab_zycit223-qtde.
IF itab_zycit279-slqtde > 0.
itab_zycit279-esgotado = space.
ENDIF.
MODIFY itab_zycit279 TRANSPORTING slqtde esgotado
qtd_iten
WHERE nrseq = itab_zycit279-nrseq
AND ebeln = itab_zycit279-ebeln
AND ebelp = itab_zycit279-ebelp
AND lote = wa_zycit279-lote.
ELSE.
itab_zycit279 = wa_zycit279.
itab_zycit279-qtd_iten = itab_zycit223-qtde.
* >> Início da exclusão: FORM ADICIONA_SALDO_ATO
PERFORM carrega_umncm_real USING itab_zycit003-matnr
CHANGING itab_itens_nf-meins
itab_zycit223-qtde.
* << Fim da exclusão
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
itab_zycit223-qtde = itab_zycit223-qtde * v_propor.
* << Fim da inclusão
IF NOT itab_itens_nf-qtd_item IS INITIAL.
itab_zycit279-ntgew = itab_zycit279-ntgew *
( itab_zycit223-qtde /
itab_itens_nf-qtd_item ).
itab_zycit279-vltot = itab_zycit279-vltot *
( itab_zycit223-qtde /
itab_itens_nf-qtd_item ).
itab_zycit279-vlseg = itab_zycit279-vlseg *
( itab_zycit223-qtde /
itab_itens_nf-qtd_item ).
...
...
ENDIF.
ENDFORM.
FORM estorna_saldo_ato.
DATA: itab_zycit079 TYPE /pws/zycit079 OCCURS 0 WITH HEADER LINE.
DATA: itab_ekpo2 TYPE ekpo OCCURS 0 WITH HEADER LINE.
DATA: v_variacfobd LIKE /pws/zycit376-vlfob.
DATA: itab_zycit376d LIKE /pws/zycit376 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit245d LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE.
DATA: v_tabix1 TYPE i.
CLEAR itab_zycit223. FREE itab_zycit223.
* >> Início da inclusão: FORM ESTORNA_SALDO_ATO
DATA v_propor TYPE /pws/zycit279-menge.
* << Fim da inclusão
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI017'
'RCB016'.
e_subrc = 0.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'RCB016' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa)
...
...
ENDIF.
ENDIF.
LOOP AT itab_itens_nf.
READ TABLE itab_matuse WITH KEY ebeln = itab_itens_nf-ebeln
ebelp = itab_itens_nf-ebelp.
READ TABLE itab_zycit279 WITH KEY nrseq = itab_itens_nf-nrseq
ebeln = itab_itens_nf-ebeln
ebelp = itab_itens_nf-ebelp.
IF sy-subrc = 0 .
v_tabix1 = sy-tabix.
* >> Início da inclusão: FORM ESTORNA_SALDO_ATO
v_propor = itab_zycit279-menge / itab_zycit279-qtd_iten.
* << Fim da inclusão
IF /pws/zycit321-lote EQ space OR
itab_zycit279-lote IS INITIAL.
* >> Início da exclusão: FORM ESTORNA_SALDO_ATO
PERFORM carrega_umncm_real USING itab_zycit003-matnr
CHANGING itab_itens_nf-meins
itab_itens_nf-qtd_item.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SALDO_ATO
itab_itens_nf-qtd_item = itab_itens_nf-qtd_item * v_propor.
itab_itens_nf-meins = itab_zycit279-meins.
* << Fim da inclusão
itab_zycit279-slqtde =
itab_zycit279-slqtde - itab_itens_nf-qtd_item.
IF itab_zycit279-slqtde < 0.
itab_zycit279-slqtde = 0.
ENDIF.
IF itab_zycit279-slqtde = 0.
READ TABLE itab_zycit376d WITH KEY ebeln = itab_itens_nf-ebeln
ebelp = itab_itens_nf-ebelp.
IF sy-subrc EQ 0 .
READ TABLE itab_zycit245d
...
...
ebelp = itab_itens_nf-ebelp
lote = itab_zycit223-lote.
ELSE.
READ TABLE itab_zycit279 WITH KEY nrseq = itab_itens_nf-nrseq
ebeln = itab_itens_nf-ebeln
ebelp = itab_itens_nf-ebelp
lote = itab_zycit223-lote_forn.
ENDIF.
v_tabix = sy-tabix.
itab_zycit279-qtd_iten = itab_zycit279-qtd_iten -
* >> Início da exclusão: FORM ESTORNA_SALDO_ATO
itab_zycit223-qtde.
PERFORM carrega_umncm_real USING itab_zycit003-matnr
CHANGING itab_itens_nf-meins
* << Fim da exclusão
itab_zycit223-qtde.
* >> Início da inclusão: FORM ESTORNA_SALDO_ATO
itab_zycit223-qtde = itab_zycit223-qtde * v_propor.
* << Fim da inclusão
itab_zycit279-slqtde =
itab_zycit279-slqtde - itab_zycit223-qtde.
IF itab_zycit279-slqtde < 0.
itab_zycit279-slqtde = 0.
ENDIF.
IF itab_zycit279-slqtde = 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
AND ebelp = itab_zycit079a-ebelp.
APPEND it_ekpo.
ENDIF.
v_vl_temp = itab_zycit079a-qtd_iten *
itab_zycit079a-netpr.
PERFORM converter_moeda USING v_vl_temp
itab_zycit079a-waers
/pws/zycbt007-waersa
it_ekpo-aedat
CHANGING v_vl_temp2 .
* >> Início da exclusão: FORM SAVE_DRAWBACK
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING itab_zycit079a-meins
itab_zycit079a-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DRAWBACK
IF v_qtdtot > 0 .
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
itab_zycit079a-qtd_iten =
( itab_zycit079a-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
itab_zycit079a-qtd_iten =
( itab_zycit079a-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
itab_zycit079a-qtd_iten =
( itab_zycit079a-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
* << Fim da inclusão
it_zycit245-vlvinc = it_zycit245-vlvinc -
v_vl_temp2.
it_zycit245-vinculado = it_zycit245-vinculado -
itab_zycit079a-qtd_iten.
MODIFY it_zycit245 TRANSPORTING vlvinc vinculado
WHERE nritem EQ it_zycit245-nritem.
ENDLOOP.
ENDIF.
IF wa_zycit078-nrseqd NE /pws/zycie078-nrseqd.
IF NOT wa_zycit078-nrseqd IS INITIAL.
...
...
AND ebelp = it_zycit079-ebelp.
APPEND it_ekpo.
ENDIF.
v_vl_temp = it_zycit079-qtd_iten *
it_zycit079-netpr.
PERFORM converter_moeda USING v_vl_temp
it_zycit079-waers
/pws/zycbt007-waersa
it_ekpo-aedat
CHANGING v_vl_temp2 .
* >> Início da exclusão: FORM SAVE_DRAWBACK
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING it_zycit079-meins
it_zycit079-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DRAWBACK
IF v_qtdtot > 0 .
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_iten =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_iten =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_iten =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
* << Fim da inclusão
it_zycit245-vlvinc = it_zycit245-vlvinc +
v_vl_temp2.
it_zycit245-vinculado = it_zycit245-vinculado +
it_zycit079-qtd_iten.
MODIFY it_zycit245 TRANSPORTING vlvinc vinculado
WHERE nritem EQ it_zycit245-nritem
AND nrseqd EQ it_zycit245-nrseqd.
ENDLOOP.
ENDIF.
MODIFY /pws/zycit245 FROM TABLE it_zycit245.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
MESSAGE i015 WITH text-025 text-032.
ENDIF.
ENDIF.
CLEAR /pws/zycie078-dtdef.
ENDFORM.
FORM comm_detli.
v_flag2 = '1'.
LOOP AT it_zycit079 WHERE mark = 'X'.
v_ip = sy-tabix.
IF v_qtdtot > 0 .
* >> Início da inclusão: FORM COMM_DETLI
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
* << Fim da inclusão
it_zycit079-qtd_drawback =
* >> Início da inclusão: FORM COMM_DETLI
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
* << Fim da inclusão
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* >> Início da inclusão: FORM COMM_DETLI
ENDIF.
* << Fim da inclusão
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
MODIFY it_zycit079 TRANSPORTING qtd_drawback.
MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079a.
PERFORM load_desc_fabr.
READ TABLE itab_itens_aux WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
IF sy-subrc EQ '0'.
...
...
ENDIF.
MESSAGE s015 WITH text-441.
LOOP AT it_zycit079.
READ TABLE itab_zycit376 WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp
nrseqd = v_nrseqd_v.
MOVE:
itab_zycit376-nritem+2 TO it_zycit079-item_drawback,
itab_zycit376-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
* >> Início da inclusão: FORM VINCULA_ATO
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
* << Fim da inclusão
it_zycit079-qtd_drawback =
* >> Início da inclusão: FORM VINCULA_ATO
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
* << Fim da inclusão
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* >> Início da inclusão: FORM VINCULA_ATO
ENDIF.
* << Fim da inclusão
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079.
ENDLOOP.
ENDIF.
ELSE.
...
...
LOOP AT itab_zycit079.
READ TABLE it_ekpo WITH KEY ebeln = itab_zycit079-ebeln
ebelp = itab_zycit079-ebelp.
v_vl_temp = itab_zycit079-qtd_iten * itab_zycit079-netpr.
PERFORM converter_moeda USING v_vl_temp
itab_zycit079-waers
/pws/zycbt007-waersa
it_ekpo-aedat
CHANGING v_vl_temp2 .
itab_zycit079-netpr = v_vl_temp2 .
* >> Início da exclusão: FORM VINCULAR_ATOC
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING itab_zycit079-meins
itab_zycit079-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
IF v_qtdtot > 0 .
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
itab_zycit079-qtd_iten =
( itab_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
itab_zycit079-qtd_iten =
( itab_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
itab_zycit079-qtd_iten =
( itab_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
SELECT SINGLE msehi "#EC CI_NOFIELD
FROM /pws/zyglt204 INTO itab_zycit079-meins
WHERE zum = /pws/zycie078-zum.
* << Fim da inclusão
MODIFY itab_zycit079.
* >> Início da exclusão: FORM VINCULAR_ATOC
/pws/zycie079-qtd_iten = /pws/zycie079-qtd_iten +
itab_zycit079-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
/pws/zycie079-qtd_iten = /pws/zycie078-qtdest .
* << Fim da inclusão
/pws/zycit245-netpr_t = /pws/zycit245-netpr_t +
itab_zycit079-netpr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020I01
...
IF itab_atos-grupo NE space.
LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.
LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
* >> Início da inclusão: MODULE USER_COMMAND_0810
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
* << Fim da inclusão
it_zycit079-qtd_drawback = ( it_zycit079-qtd_iten *
/pws/zycie078-qtdest ) / v_qtdtot.
* >> Início da inclusão: MODULE USER_COMMAND_0810
ENDIF.
* << Fim da inclusão
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
...
...
ENDLOOP.
ELSE.
LOOP AT it_ekpo WHERE matnr EQ itab_atos-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
* >> Início da inclusão: MODULE USER_COMMAND_0810
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
* << Fim da inclusão
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* >> Início da inclusão: MODULE USER_COMMAND_0810
ENDIF.
* << Fim da inclusão
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
...
...
AND ebelp = it_ekpo-ebelp.
ENDLOOP.
ENDIF.
ENDLOOP.
ELSE.
READ TABLE itab_atos WITH KEY nrseqd = itab_atos2-nrseqd.
LOOP AT it_zycit079.
MOVE itab_atos-nritem+2 TO it_zycit079-item_drawback.
MOVE itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
* >> Início da inclusão: MODULE USER_COMMAND_0810
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
* << Fim da inclusão
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
* >> Início da inclusão: MODULE USER_COMMAND_0810
ENDIF.
* << Fim da inclusão
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020O01
...
AND branch = /pws/zycie078-j_1bbranch.
IF NOT it_zycit079[] IS INITIAL.
CLEAR: it_ekpo.
IF it_ekpo[] IS INITIAL.
REFRESH: it_ekpo.
SELECT * FROM ekpo INTO TABLE it_ekpo
FOR ALL ENTRIES IN it_zycit079
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
ENDIF.
* >> Início da exclusão: MODULE LOAD_DATA
CLEAR: v_qtdest, v_qtdtot.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA
CLEAR: v_qtdest, v_qtdtot, v_peso.
* << Fim da inclusão
LOOP AT it_zycit079.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
IF sy-subrc NE 0.
SELECT SINGLE * FROM ekpo INTO it_ekpo
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
IF sy-subrc EQ 0.
APPEND it_ekpo.
ELSE.
CONTINUE.
ENDIF.
ENDIF.
* >> Início da inclusão: MODULE LOAD_DATA
v_peso = v_peso + it_zycit079-ntgew.
* << Fim da inclusão
v_qtdtot = v_qtdtot + it_zycit079-qtd_iten.
IF NOT it_ekpo-matnr IS INITIAL.
PERFORM converte_um_ncm USING it_ekpo-matnr
CHANGING it_zycit079-meins
it_zycit079-qtd_iten.
ENDIF.
v_qtdest = v_qtdest +
it_zycit079-qtd_iten.
ENDLOOP.
IF it_079_del[] IS INITIAL.
...
...
SET PF-STATUS '0114'.
DESCRIBE TABLE itab_itci LINES v_line.
tc_irepi-lines = v_line.
WHEN '0115'.
SET TITLEBAR '0115'.
SET PF-STATUS '0115'.
DESCRIBE TABLE itab_itcip LINES v_line.
tc_irepip-lines = v_line.
ENDCASE.
ENDMODULE.
* >> Início da inclusão:
MODULE set_screen_110 OUTPUT.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE078-QTDEST' AND
/pws/zycie078-nrseqd NE space.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020X01
...
v_steuc_temp2(8) ,
v_steuc_temp3(8),
v_executou,
v_incentivo,
s_opcb(18),
v_cnpj_findap(18) TYPE c,
v_desc_findap TYPE lfa1-name1,
v_emp LIKE /pws/zycbt007-bukrs.
DATA v_novo_item.
DATA: v_qtdtot TYPE /pws/zycit079-qtd_iten.
* >> Início da inclusão:
DATA v_peso TYPE /pws/zycit079-qtd_iten.
* << Fim da inclusão
DATA: v_ordena(132) TYPE c.
DATA: v_prog(3) TYPE c.
DATA : wa_itb LIKE it_zycit079,
itab_itc like it_zycit079 occurs 0 with header line,
itab_itci like it_zycit079 occurs 0 with header line,
itab_itcip like it_zycit079 occurs 0 with header line.
DATA: s_ontgew,
s_oespec,
s_odestaque,
s_ofabric,
...