Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 31/03/2010 00:00:00
Data/Hora Última Alteração: 07/04/2010 10:59:16
Descrição da Nota: FATURA MERCADORIA SE PERDE NO TRATAMENTO DE FABRICANTE NO BOTÃO REPLICAR
Sintoma
A Fatura de mercadoria esta se perdendo no país do Fabricante no Botão Replicar
Solução
Verificar corretamente o item do pedido para replicar as informações
8.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10027 Data: 31/03/2010 Hora: 15:32:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10027
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00016
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
FATURA MERCADORIA SE PERDE NO TRATAMENTO DE FABRICANTE NO BOTÃO REPLICAR
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - MERCADORIA - REPLICAR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003I01
REPS /PWS/MZYCI003O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
DELETE FROM /pws/zycit126 WHERE nrseq = /pws/zycie006-nrseq.
DELETE FROM /pws/zycit129 WHERE nrseq = /pws/zycie006-nrseq.
DELETE FROM /pws/zyglt209
WHERE nrseq = /pws/zycie006-nrseq_pgfat
AND mdcorresp = 'IP'.
IF /pws/zycie006-tpfatura = '05'.
PERFORM salva_zycit130.
ENDIF.
IF ( /pws/zycie006-tpfatura = '01'
OR /pws/zycie006-tpfatura = '11' ).
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR: itab_zycit003-paisfab,
itab_zycit003-porigem,
itab_zycit003-mfrpn.
MODIFY itab_zycit003 TRANSPORTING paisfab porigem mfrpn
WHERE nrseq_pgfat IS INITIAL.
* << Fim da inclusão
CLEAR: itab_zycit003-nrseq_pgfat, itab_zycit003-vlreal,
itab_zycit003-fabric.
MODIFY itab_zycit003 TRANSPORTING vlreal nrseq_pgfat
WHERE nrseq_pgfat = /pws/zycie006-nrseq_pgfat.
MODIFY /pws/zycit003 FROM TABLE itab_zycit003.
PERFORM dele_custo USING /pws/zycit031-inco1_ci space.
LOOP AT itab_zycit003.
UPDATE /pws/zycit263 SET eliminado = 'X' WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
...
...
DELETE FROM /pws/zycit130 WHERE nrseq = /pws/zycie006-nrseq.
DELETE FROM /pws/zycit126 WHERE nrseq = /pws/zycie006-nrseq.
DELETE FROM /pws/zycit129 WHERE nrseq = /pws/zycie006-nrseq.
DELETE FROM /pws/zyglt209 WHERE
nrseq = /pws/zycie006-nrseq_pgfat AND mdcorresp = 'IP'.
IF /pws/zycie006-tpfatura = '05'.
PERFORM salva_zycit130.
ENDIF.
IF ( /pws/zycie006-tpfatura = '01'
OR /pws/zycie006-tpfatura = '11' ).
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR: itab_zycit003-paisfab,
itab_zycit003-porigem,
itab_zycit003-mfrpn.
MODIFY itab_zycit003 TRANSPORTING paisfab porigem mfrpn
WHERE nrseq_pgfat IS INITIAL.
* << Fim da inclusão
CLEAR: itab_zycit003-nrseq_pgfat, itab_zycit003-vlreal.
MODIFY itab_zycit003 TRANSPORTING vlreal nrseq_pgfat
WHERE nrseq_pgfat =
/pws/zycie006-nrseq_pgfat.
MODIFY /pws/zycit003 FROM TABLE itab_zycit003.
PERFORM dele_custo USING /pws/zycit031-inco1_ci space.
LOOP AT itab_zycit003.
UPDATE /pws/zycit263 SET eliminado = 'X' WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
IF NOT itab_zycit003-lifnrfabr IS INITIAL.
SELECT SINGLE land1 FROM lfa1
INTO itab_zycit003-porigem
WHERE lifnr EQ itab_zycit003-lifnrfabr.
IF sy-subrc EQ 0.
itab_zycit003-flagfabr = 'S'.
ELSE.
CLEAR itab_zycit003-flagfabr.
ENDIF.
ELSE.
* >> Início da exclusão: FORM TRATA_FABRICANTE
IF NOT itab_zycit003-fabric EQ '3'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_FABRICANTE
IF NOT itab_zycit003-fabric EQ '3' AND
NOT itab_zycit003-fabric EQ '2'.
* << Fim da inclusão
CLEAR itab_zycit003-porigem.
ENDIF.
CLEAR itab_zycit003-flagfabr.
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
ENDFORM.
FORM atualiza_novo_seq.
IF /pws/zycie006-tpfatura EQ '04'.
LOOP AT itab_zycit047.
...
...
itab_zycit003_temp-qtd_iten =
itab_zycit003_temp-qtd_iten - itab_zycit003_temp-invoiced.
IF itab_zycit003-toinv > itab_zycit003_temp-qtd_iten.
itab_zycit003_temp-toinv = itab_zycit003_temp-qtd_iten.
ELSE.
itab_zycit003_temp-toinv = itab_zycit003-toinv.
ENDIF.
ENDIF.
IF check_02 EQ 'X'.
itab_zycit003_temp-paisfab = itab_zycit003-paisfab.
* >> Início da inclusão: FORM TELA_0115
itab_zycit003_temp-porigem = itab_zycit003-porigem.
* << Fim da inclusão
ENDIF.
IF check_03 EQ 'X' .
itab_zycit003_temp-vlfre_fat = itab_zycit003-vlfre_fat.
ENDIF.
IF check_04 EQ 'X' .
itab_zycit003_temp-vlseg_fat = itab_zycit003-vlseg_fat.
ENDIF.
ENDFORM.
FORM tela_0116.
IF check_01 EQ 'X' .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003I01
...
MODULE altera_itab_zycit003 INPUT.
CHECK NOT itab_zycit003 IS INITIAL.
v_tabix = v_tabix + 1.
SELECT SINGLE * FROM tcurx WHERE currkey = /pws/zycie001-waers.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
CHECK /pws/zycie006-tpfatura = '01' OR /pws/zycie006-tpfatura = '11'
OR /pws/zycie006-tpfatura = ' '.
itab_zycit003-vlreal = /pws/zycie003-vlreal.
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT003
IF /pws/zycie006-fabricante EQ '2' AND
/pws/zycie003-porigem IS INITIAL AND
NOT /pws/zycie003-paisfab IS INITIAL.
/pws/zycie003-porigem = /pws/zycie003-paisfab.
ENDIF.
IF /pws/zycie006-fabricante EQ '2' AND
NOT /pws/zycie003-porigem IS INITIAL AND
/pws/zycie003-paisfab IS INITIAL.
CLEAR: /pws/zycie003-porigem.
ENDIF.
* << Fim da inclusão
itab_zycit003-porigem = /pws/zycie003-porigem.
itab_zycit003-paquis = /pws/zycie003-paquis.
itab_zycit003-mfrpn = /pws/zycie003-mfrpn.
PERFORM atualiza_fornecedor.
IF /pws/zycie006-nrseq_pgfat IS INITIAL AND itab_zycit132[] IS
INITIAL.
vcalc2 = itab_zycit003-qtd_iten.
IF vcalc > vcalc2.
MESSAGE s015 WITH text-119.
itab_zycit003-toinv = itab_zycit003-qtd_iten - itab_zycit003-invoiced.
...
...
LOOP AT itab_zycit003_temp WHERE marc EQ 'X'.
CASE sy-dynnr.
WHEN '0115'.
PERFORM tela_0115.
WHEN '0116'.
PERFORM tela_0116.
ENDCASE.
MODIFY itab_zycit003 FROM itab_zycit003_temp
TRANSPORTING toinv paisfab vlfre_fat vlseg_fat ntgew
lifnrfabr mfrpn agente descfab flagfabr
* >> Início da inclusão: MODULE USER_COMMAND_0115
porigem
* << Fim da inclusão
WHERE ebeln EQ itab_zycit003_temp-ebeln
AND ebelp EQ itab_zycit003_temp-ebelp.
ENDLOOP.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'MALL'.
itab_zycit003_temp-marc = 'X'.
MODIFY itab_zycit003_temp TRANSPORTING marc
WHERE marc EQ space.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
IF sy-subrc EQ 0.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF v_existe_bol EQ 'X'
AND screen-name EQ 'V_RATVAL' .
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
* >> Início da exclusão: MODULE SET_SCREEN
IF screen-name = 'BTNT0106_08'.
IF NOT /pws/zycie006-belnr_p IS INITIAL OR
v_status_s = '0' OR sy-tcode = '/PWS/ZYCI003_M'.
screen-invisible = '1'.
MODIFY SCREEN.
ELSE.
screen-invisible = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
* << Fim da exclusão
IF screen-name = 'BTNT0108_03'.
IF NOT /pws/zycie006-belnr_p IS INITIAL OR
v_importou2 = 'X'.
screen-invisible = '1'.
MODIFY SCREEN.
ELSE.
screen-invisible = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
...
...
ENDIF.
ENDIF.
IF /pws/zycie001-modalidade EQ '02' AND
/pws/zycie006-tpfatura EQ '04' .
MOVE 'X' TO /pws/zycie006-vinserv.
ENDIF.
IF ( /pws/zycie006-tpfatura EQ '02' OR
/pws/zycie006-tpfatura EQ '03' ) AND
/pws/zycie006-iva IS INITIAL.
/pws/zycie006-iva = /pws/zycit000-iva.
* >> Início da inclusão: MODULE LOAD_PARAM
ENDIF.
IF sy-tcode = '/PWS/ZYCI003_C' AND
NOT itab_zycit003-LIFNRFABR IS INITIAL.
LOOP AT itab_zycit003.
ON CHANGE OF itab_zycit003-lifnrfabr.
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ itab_zycit003-lifnrfabr.
ENDON.
IF itab_zycit003-paisfab IS INITIAL.
MOVE lfa1-land1 TO itab_zycit003-paisfab.
MOVE lfa1-land1 TO itab_zycit003-porigem.
MODIFY itab_zycit003.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDMODULE.
MODULE atualiza_total OUTPUT.
IF /pws/zycie006-ratval = '3'.
PERFORM check_total.
ENDIF.
CLEAR: v_tot_aux , v_tot.
PERFORM soma_total.
LOOP AT itab_zycit003.
v_tabix = sy-tabix.
...