Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Relatórios
Data/Hora da Publicação: 11/10/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 13:24:52
Descrição da Nota: RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO P
Sintoma
RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO P
Solução
ATUALIZADO REPORT DE CORREÇÃO PARA VERIFICAR TAMBÉM A TABELA /PWS/ZYCIT132 DE FATURA PARCELADA.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04972 Data: 11/10/2007 Hora: 13:50:17
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04972
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00016
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03346 - 00001 - 7.0 - 00001 - ERRO NO CUSTO EFETIVO, VALOR DA FATURA
04253 - 00002 - 7.0 - 00002 - AJUSTE CUSTO
----------------------------------------------------------------------------------------------------
RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO P
----------------------------------------------------------------------------------------------------
Palavras Chave:
CORREÇÃO DE CUSTO - CUSTO EFETIVO - ORIGEM FOB - TABELA /PWS/ZYCIT036
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR988
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR988
...
/pws/zycit041,
/pws/zycbt007,
tcurx,
t001.
DATA itab_zycit036 LIKE /pws/zycit036 OCCURS 0 WITH HEADER LINE.
DATA itab_zycit003 LIKE /pws/zycit003 OCCURS 0 WITH HEADER LINE.
DATA itab_zycit042 LIKE /pws/zycit042 OCCURS 0 WITH HEADER LINE.
DATA itab_zycit263 LIKE /pws/zycie263 OCCURS 0 WITH HEADER LINE.
DATA itab_zycit006 LIKE /pws/zycie006 OCCURS 0 WITH HEADER LINE.
DATA itab_zycit100 LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão:
DATA itab_zycit132 LIKE /pws/zycie132 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA: okcode LIKE sy-ucomm.
DATA : v_kursf LIKE bkpf-kursf,
v_valor LIKE /pws/zycit036-vlreal.
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-001.
PARAMETER: p_nrseq TYPE /pws/zycit003-nrseq OBLIGATORY.
SELECTION-SCREEN END OF BLOCK bl1.
...
...
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
WHERE nrseq EQ /pws/zycie001-nrseq.
SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100
WHERE nrseq EQ /pws/zycie001-nrseq.
* >> Início da exclusão: FORM SELECIONA_DADOS
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
IF NOT itab_zycit003[] IS INITIAL.
* << Fim da inclusão
SELECT * FROM /pws/zycit263
INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq
AND ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp
AND eliminado NE 'X'.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat
AND tpfatura EQ '01'
AND eliminado NE 'X' .
* >> Início da inclusão: FORM SELECIONA_DADOS
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit132 INTO TABLE itab_zycit132
FOR ALL ENTRIES IN itab_zycit006
WHERE nrseq = itab_zycit006-nrseq
AND nrfat = itab_zycit006-nrfat
AND eliminado NE 'X'.
ENDIF.
* << Fim da inclusão
SELECT * FROM /pws/zycit042 INTO TABLE itab_zycit042
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
ENDIF.
ENDIF.
ELSE.
MESSAGE i015 WITH text-004.
ENDIF.
ENDFORM.
...
...
codigo = 'CIF' )
AND origem = 'PED' .
IF sy-subrc EQ 0.
READ TABLE itab_zycit263 WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat.
* >> Início da inclusão: FORM AJUSTA_CUSTO
IF sy-subrc EQ 0.
READ TABLE itab_zycit132 WITH KEY
nrseq = itab_zycit006-nrseq.
ENDIF.
* << Fim da inclusão
IF NOT itab_zycit006-belnr_p IS INITIAL OR
* >> Início da exclusão: FORM AJUSTA_CUSTO
NOT itab_zycit006-frpagto EQ 'A' .
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_CUSTO
itab_zycit006-frpagto EQ 'A' OR
NOT itab_zycit132-belnr_p IS INITIAL.
* << Fim da inclusão
LOOP AT itab_zycit036 WHERE
nrseq = itab_zycit003-nrseq AND
...
...
CLEAR : itab_zycit036-vldif.
itab_zycit036-usernamec = sy-uname.
itab_zycit036-dtuserc = sy-datum.
itab_zycit036-hruserc = sy-uzeit.
SELECT SINGLE * FROM /pws/zycit041
WHERE nrseq EQ itab_zycit042-nrseqnf
AND nfglobal EQ itab_zycit042-nfglobal
AND docnum EQ itab_zycit042-docnum .
IF sy-subrc EQ 0 AND
NOT /pws/zycit041-belnr_mr1m IS INITIAL.
* >> Início da exclusão: FORM AJUSTA_CUSTO
IF sy-subrc EQ 0.
* << Fim da exclusão
itab_zycit036-congelamov = 'X' .
ENDIF.
INSERT /pws/zycit036 FROM itab_zycit036.
IF sy-subrc NE 0.
MODIFY /pws/zycit036 FROM itab_zycit036.
ENDIF.
IF sy-subrc EQ 0.
v_sucesso = 'X'.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit042 INTO TABLE itab_zycit042
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
* >> Início da inclusão: FORM AJUSTA_CUSTO
IF sy-subrc EQ 0 .
* << Fim da inclusão
READ TABLE itab_zycit003
WITH KEY ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp.
IF sy-subrc = 0.
READ TABLE itab_zycit042
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.
...
...
ENDIF.
ENDLOOP.
ELSE.
MESSAGE i015 WITH text-003.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF v_sucesso = 'X'.
* >> Início da inclusão: FORM AJUSTA_CUSTO
COMMIT WORK.
* << Fim da inclusão
MESSAGE i015 WITH text-002.
ENDIF.
ENDFORM.
FORM retorna_decimais USING p_moeda
CHANGING p_valor.
SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
p_valor = p_valor / ( 10 ** ( tcurx-currdec - 2 ) ).
...