Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 17/06/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:14:37
Descrição da Nota: AO NAVEGAR NO DETALHE DO ITEM DA FATURA, ITENS PERDE FORNECEDOR.
Sintoma
Ao navegar no detalhe do item da fatura, itens perde fornecedor.
Solução
não apagar fornecedor ao navegar nos itens.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08546 Data: 17/06/2009 Hora: 11:11:29
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08546
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00101
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03551 - 00001 - 7.0 - 00001 - ERROS NA FATURA AO UTILIZAR TIPOS DE FABRICANTE 0,2 E 3.
07566 - 00002 - 7.0 - 00007 - PREENCHIMENTO DA AUTOMATICO DO FABRICANTE NA FATURA.
08514 - 00003 - 7.0 - 00009 - FATURA COM PROBLEMA NO TIPO DE FABRICANTE
----------------------------------------------------------------------------------------------------
AO NAVEGAR NO DETALHE DO ITEM DA FATURA, ITENS PERDE FORNECEDOR.
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - FORNECEDOR - TRANSMISSÃO SISCOMEX - DI
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI003 0400
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003I01
REPS /PWS/MZYCI003O01
REPS /PWS/MZYCI003X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
IF sy-subrc EQ 0 AND v_consiste = '1'.
MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.
* >> Início da exclusão: FORM EXIBE_ITEM
IF /pws/zycie006-fabricante = '2'.
IF /pws/zycie003-flagfabr = 'S'.
ELSE.
CLEAR /pws/zycie003-lifnrfabr.
ENDIF.
ENDIF.
* << Fim da exclusão
LEAVE TO SCREEN '0400'.
ELSE.
IF v_consiste = '0'.
MESSAGE s015 WITH text-024.
ELSE.
MESSAGE s015 WITH text-052.
ENDIF.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
v_fabr_ant = '1'.
CLEAR lfa1.
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ /pws/zycie006-lifnr.
/pws/zycie006-lifnrfabr = /pws/zycie006-lifnr.
/pws/zycie006-flagfabr = 'S'.
/pws/zycie006-descfab = lfa1-name1.
/pws/zycie006-paisfab = lfa1-land1.
* >> Início da exclusão: FORM TRATA_FABRICANTE
LOOP AT itab_zycit003.
itab_zycit003-fabric = '1'.
MODIFY itab_zycit003.
ENDLOOP.
* << Fim da exclusão
LOOP AT itab_zycit003.
MOVE: /pws/zycie006-descfab TO itab_zycit003-descfab,
/pws/zycie006-lifnrfabr TO itab_zycit003-lifnrfabr,
/pws/zycie006-flagfabr TO itab_zycit003-flagfabr.
MOVE /pws/zycie006-paisfab TO itab_zycit003-paisfab.
MODIFY: itab_zycit003.
UPDATE /pws/zycit003
SET descfab = itab_zycit003-descfab
lifnrfabr = itab_zycit003-lifnrfabr
flagfabr = itab_zycit003-flagfabr
paisfab = itab_zycit003-paisfab
...
...
v_flag = 'X'.
ELSEIF /pws/zycie006-fabricante = '2'.
ELSEIF /pws/zycie006-fabricante = '3'.
v_flag = 'X'.
CLEAR: /pws/zycie006-descfab,
/pws/zycie006-paisfab ,
/pws/zycie006-lifnrfabr,
/pws/zycie006-flagfabr.
* >> Início da exclusão: FORM TRATA_FABRICANTE
LOOP AT itab_zycit003.
itab_zycit003-fabric = '3'.
MODIFY itab_zycit003.
ENDLOOP.
* << Fim da exclusão
LOOP AT itab_zycit003.
CLEAR: itab_zycit003-descfab,
itab_zycit003-lifnrfabr, itab_zycit003-flagfabr.
MOVE: '3' TO itab_zycit003-fabric.
MODIFY: itab_zycit003.
UPDATE /pws/zycit003
SET descfab = itab_zycit003-descfab
lifnrfabr = itab_zycit003-lifnrfabr
flagfabr = itab_zycit003-flagfabr
paisfab = itab_zycit003-paisfab
WHERE nrseq EQ itab_zycit003-nrseq
...
...
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ /pws/zycie006-lifnr.
LOOP AT itab_zycit003.
itab_zycit003-paquis = lfa1-land1.
IF NOT itab_zycit003-lifnrfabr IS INITIAL.
SELECT SINGLE land1 FROM lfa1
INTO itab_zycit003-porigem
WHERE lifnr EQ itab_zycit003-lifnrfabr.
* >> Início da inclusão: FORM TRATA_FABRICANTE
IF sy-subrc EQ 0.
itab_zycit003-flagfabr = 'S'.
ELSE.
CLEAR itab_zycit003-flagfabr.
ENDIF.
* << Fim da inclusão
ELSE.
IF NOT itab_zycit003-fabric EQ '3'.
CLEAR itab_zycit003-porigem.
ENDIF.
* >> Início da inclusão: FORM TRATA_FABRICANTE
CLEAR itab_zycit003-flagfabr.
* << Fim da inclusão
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003I01
...
MODULE altera_item INPUT.
* >> Início da exclusão: MODULE ALTERA_ITEM
IF /pws/zycie006-fabricante = '2'.
IF /pws/zycie003-fabric = '1'.
/pws/zycie003-flagfabr = 'S'.
/pws/zycie003-lifnrfabr = /pws/zycie006-lifnr.
ELSEIF /pws/zycie003-fabric = '3'.
CLEAR: /pws/zycie003-lifnrfabr, /pws/zycie003-flagfabr,
/pws/zycie003-descfab .
ELSE.
/pws/zycie003-fabric = /pws/zycie006-fabricante.
ENDIF.
/pws/zycie003-porigem = /pws/zycie003-paisfab.
IF NOT /pws/zycie006-fabricante IS INITIAL.
/pws/zycie003-flagfabr = 'S'.
ENDIF.
IF /pws/zycie003-flagfabr = 'S' AND /pws/zycie003-fabric NE '3'.
CLEAR lfa1.
SELECT SINGLE *
FROM lfa1
WHERE lifnr EQ /pws/zycie003-lifnrfabr.
IF sy-subrc EQ 0.
MOVE lfa1-name1 TO /pws/zycie003-descfab.
MOVE lfa1-land1 TO /pws/zycie003-paisfab.
ENDIF.
ELSEIF /pws/zycie003-flagfabr = 'N'.
CLEAR /pws/zycie003-lifnrfabr.
ENDIF.
ELSEIF /pws/zycie006-fabricante = '3'.
/pws/zycie003-porigem = /pws/zycie003-paisfab.
ENDIF.
* << Fim da exclusão
MOVE-CORRESPONDING /pws/zycie003 TO itab_zycit003.
MODIFY itab_zycit003 INDEX v_index_det.
ENDMODULE.
...
...
* >> Início da exclusão: MODULE CONSISTE_FABR
MODULE consiste_fabr INPUT.
ENDMODULE.
* << Fim da exclusão
...
...
* >> Início da inclusão:
module consiste_fabr input.
CLEAR lfa1.
SELECT SINGLE *
FROM lfa1
WHERE lifnr EQ /pws/zycie003-lifnrfabr.
IF sy-subrc EQ 0.
MOVE lfa1-name1 TO /pws/zycie003-descfab.
MOVE lfa1-land1 TO /pws/zycie003-paisfab.
ENDIF.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
MODULE exibe_detalhe OUTPUT.
* >> Início da exclusão: MODULE EXIBE_DETALHE
IF /pws/zycie006-fabricante = '2'.
IF /pws/zycie003-flagfabr = 'S'.
ELSE.
CLEAR /pws/zycie003-lifnrfabr.
ENDIF.
ENDIF.
* << Fim da exclusão
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
* >> Início da exclusão:
DATA: v_paisfab VALUE 'X'.
* << Fim da exclusão
* >> Início da inclusão:
DATA: v_paisfab.
* << Fim da inclusão
...