Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 23/01/2007 00:00:00
Data/Hora Última Alteração: 08/03/2010 16:31:50
Descrição da Nota: RELATORIO /PWS/ZTCIR986 - AJUSTE TABELA 036
Sintoma
Por algum motivo na hora de eliminar a fatura não eliminou da tabela /PWS/ZYCIT036
Solução
Atualização do programa de custo efetivo para gerar um relatorio para ajustar o valor da mercadoria
que ficou duplicado no custo efetivo.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02951 Data: 23/01/2007 Hora: 15:27:13
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02951
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00149
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
RELATORIO /PWS/ZTCIR986 - AJUSTE TABELA 036
----------------------------------------------------------------------------------------------------
Palavras Chave:
RELATORIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR986
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR986
*&---------------------------------------------------------------------*
*& Report /PWS/ZYCIR986 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT /pws/zycir986 MESSAGE-ID /pws/zycim.
TABLES: /pws/zycit263,
/pws/zycit006.
DATA: itab_zycit036 TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE,
itab_zycit006 TYPE /pws/zycit006 OCCURS 0 WITH HEADER LINE,
itab_zycit140 TYPE /pws/zycit140 OCCURS 0 WITH HEADER LINE,
itab_zycit003 TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE,
itab_zycit263 TYPE /pws/zycit263 OCCURS 0 WITH HEADER LINE.
PARAMETERS: p_nrseq TYPE /pws/zycit001-nrseq.
START-OF-SELECTION.
SELECT *
FROM /pws/zycit036
INTO TABLE itab_zycit036
WHERE nrseq EQ p_nrseq
AND ( origem EQ 'NF'
OR origem EQ 'FAT' )
AND ( codigo EQ 'CIF'
OR codigo EQ 'C&F'
OR codigo EQ 'FOB' ).
IF sy-subrc EQ 0.
SELECT *:
FROM /pws/zycit263
INTO TABLE itab_zycit263
WHERE nrseq EQ p_nrseq,
FROM /pws/zycit003
INTO TABLE itab_zycit003
WHERE nrseq EQ p_nrseq,
FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat
AND eliminado EQ 'X',
FROM /pws/zycit140
INTO TABLE itab_zycit140
WHERE codigo EQ 'CIF'
OR codigo EQ 'C&F'
OR codigo EQ 'FOB'.
LOOP AT itab_zycit006.
DELETE FROM /pws/zycit036 WHERE nrseqori = itab_zycit006-nrseq.
IF sy-subrc EQ 0.
MESSAGE i061 WITH text-002 itab_zycit006-nrseq.
DELETE itab_zycit036 WHERE nrseqori = itab_zycit006-nrseq..
ENDIF.
ENDLOOP.
if sy-subrc ne 0.
message e039 with text-005.
endif.
LOOP AT itab_zycit036.
READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036-codigo
custo = 'X'.
IF itab_zycit140-origem EQ 'NF' AND itab_zycit036-origem EQ 'NF'.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp.
itab_zycit036-vlreal = ( itab_zycit003-vlreal *
itab_zycit003-qtd_iten ) +
itab_zycit003-vlfre_fat +
itab_zycit003-vlseg_fat.
UPDATE /pws/zycit036 SET: vlreal = itab_zycit036-vlreal
WHERE: nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
AND ebelp = itab_zycit036-ebelp
AND codigo = itab_zycit036-codigo
AND origem = itab_zycit036-origem
AND nrseqori = itab_zycit036-nrseqori.
if sy-subrc eq 0.
message i039 with text-004.
endif.
ELSEIF itab_zycit140-origem EQ 'FAT' AND
itab_zycit036-origem EQ 'FAT'.
itab_zycit036-vlmov = itab_zycit036-vlmov + itab_zycit036-vlmov.
UPDATE /pws/zycit036 SET: vlmov = itab_zycit036-vlmov
WHERE: nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
AND ebelp = itab_zycit036-ebelp
AND codigo = itab_zycit036-codigo
AND origem = itab_zycit036-origem
AND nrseqori = itab_zycit036-nrseqori.
if sy-subrc eq 0.
message i039 with text-003.
endif.
ENDIF.
MODIFY itab_zycit036.
ENDLOOP.
ELSE.
MESSAGE i039 WITH text-001.
STOP.
ENDIF.
Textos criados
001 Embarque não encontrado
002 Fatura eliminada da /PWS/ZYCIT036 -
003 Valor do MOVIMENTADO atualizado com sucesso!
004 Valor do REALIZADO atualizado com sucesso!
005 Faturas não encontradas!
Tradução
Embarque não encontrado
Shipment not found
Fatura eliminada da /PWS/ZYCIT036 -
Eliminated invoice of /PWS/ZYCIT036 -
Valor do MOVIMENTADO atualizado com sucesso!
Moved value updated with success
Valor do REALIZADO atualizado com sucesso!
Realized value updated with success
Faturas não encontradas!
Invoice not found
CI - Ajuste tabela 036 - faturas eliminadas na 006 mas não na 036
CI - Adjust table 036 - invoices eliminated in the 006 but not in 036
Nº Sequência do Embarque
Shipment Sequential Numb
Na tela de selecção a descrição do campo deve vir Referência Dictionary
transação criada para o Relatorio:
/PWS/ZYCIR986
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
DELETE FROM /pws/zycit036
WHERE nrseq = it003-nrseq
AND ebeln = it003-ebeln
AND ebelp = it003-ebelp
AND codigo = pcodigo
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
IF ptype = 'X'.
UPDATE /pws/zycit263 SET eliminado = 'X' WHERE
nrseq = it003-nrseq AND
ebeln = it003-ebeln AND
ebelp = it003-ebelp AND
nrseq_pgfat = /pws/zycie006-nrseq.
ENDIF.
ENDIF.
* << inicio inclusão form: dele_custo
if sy-subrc ne 0.
DELETE FROM /pws/zycit036
WHERE codigo = pcodigo
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
endif.
* << fim inclusão
ENDLOOP.
* << inicio inclusão form: dele_custo
if sy-subrc ne 0.
DELETE FROM /pws/zycit036
WHERE codigo = pcodigo
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
endif.
* << fim inclusão
IF ptype = 'X'.
CLEAR /pws/zycie006.
ENDIF.
COMMIT WORK.
ENDFORM. " dele_custo
FORM executa_recebimento.
DATA: v_lfsnr_old LIKE /pws/zycie006-lfsnr,
v_lfsnr LIKE /pws/zycie006-lfsnr,
v_indice(02) TYPE n ,
v_erro ,
v_servico(01) TYPE c .
...