Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 26/10/2007 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:15:19
Descrição da Nota: AJUSTES PARA CRIAR A LINHA DE FATURA PARCELADA NO CUSTO
Sintoma
Ao criar Fatura não gravou a linha do incoterm na tabela /PWS/ZYCIT036. Ao tentar corrigir, não
funcionou porque a fatura era parcelada.
Solução
Ajustes no relatório de correção para fatura parcelada e livre de débito e na criação da fatura.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05091 Data: 26/10/2007 Hora: 15:18:03
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05091
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00018
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03654 - 00001 - 7.0 - 00001 - AO GERAR A NOTA FISCAL OS VALORES DO CUSTO FICAM INCORRETOS.
04972 - 00002 - 7.0 - 00003 - RELATÓRIO DE CORREÇÃO DE CUSTO NÃO TRATA FATURAS PARCELADAS TIPO
----------------------------------------------------------------------------------------------------
AJUSTES PARA CRIAR A LINHA DE FATURA PARCELADA NO CUSTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
CUSTO EFETIVO - FATURA - CRIAÇÃO NF - VALOR FOB
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
REPS /PWS/ZYCIR988
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
ENDIF.
ENDIF.
ENDFORM.
FORM atualiza_custos .
DATA: BEGIN OF itab_zycit006 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit006.
DATA: END OF itab_zycit006.
DATA: BEGIN OF itab_zycit036_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit036.
DATA: END OF itab_zycit036_aux.
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
DATA itab_zycit132 LIKE /pws/zycie132 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
IF NOT itab_zycit003[] IS INITIAL.
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 .
IF NOT itab_zycit263[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_zycit263
WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat .
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
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'.
* << Fim da inclusão
ENDIF.
ENDIF.
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit001
INTO /pws/zycie001
WHERE nrseq EQ itab_zycit003-nrseq.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
WHERE nrseq EQ /pws/zycie001-nrseq
AND codigo EQ /pws/zycit031-inco1_ci
AND origem EQ 'FAT' .
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
IF sy-subrc EQ 0.
* << Fim da inclusão
LOOP AT itab_zycit036_aux.
READ TABLE itab_zycit006 WITH KEY
nrseq = itab_zycit036_aux-nrseqori.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit036
WHERE nrseq = itab_zycit036_aux-nrseq
AND ebeln = itab_zycit036_aux-ebeln
AND ebelp = itab_zycit036_aux-ebelp
AND nrseqori = itab_zycit006-nrseq.
ELSE.
...
...
AND ebelp = itab_zycit036_aux-ebelp
AND nrseqori = itab_zycit006-nrseq.
DELETE itab_zycit036
WHERE nrseq = itab_zycit036_aux-nrseq
AND ebeln = itab_zycit036_aux-ebeln
AND ebelp = itab_zycit036_aux-ebelp
AND nrseqori = itab_zycit006-nrseq.
ENDIF.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit263 WHERE eliminado NE 'X'.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit263-nrseq
ebeln = itab_zycit263-ebeln
ebelp = itab_zycit263-ebelp.
IF sy-subrc EQ 0.
LOOP AT itab_zycit006
WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat
AND eliminado NE 'X'.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = /pws/zycie001-nrseq
codigo = /pws/zycit031-inco1_ci
origem = 'FAT'
nrseqori = itab_zycit006-nrseq.
IF sy-subrc NE 0.
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
READ TABLE itab_zycit132 WITH KEY
nrseq = itab_zycit006-nrseq.
* << Fim da inclusão
* >> Início da exclusão: FORM ATUALIZA_CUSTOS
IF NOT itab_zycit006-belnr_p IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_CUSTOS
IF NOT itab_zycit006-belnr_p IS INITIAL OR
itab_zycit006-frpagto EQ 'A' OR
NOT itab_zycit132-belnr_p IS INITIAL.
* << Fim da inclusão
itab_zycit036-mandt = sy-mandt .
itab_zycit036-nrseq = itab_zycit003-nrseq.
itab_zycit036-ebeln = itab_zycit003-ebeln.
itab_zycit036-ebelp = itab_zycit003-ebelp.
itab_zycit036-werks = itab_zycit003-werks.
itab_zycit036-nrseqori = itab_zycit006-nrseq.
itab_zycit036-embarca = /pws/zycie001-embarca.
itab_zycit036-codigo = /pws/zycit031-inco1_ci.
itab_zycit036-netpr =
itab_zycit003-netpr * itab_zycit003-qtd_iten.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR988
...
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.
IF sy-subrc EQ 0.
READ TABLE itab_zycit132 WITH KEY
nrseq = itab_zycit006-nrseq.
ENDIF.
IF NOT itab_zycit006-belnr_p IS INITIAL OR
* >> Início da exclusão: FORM AJUSTA_CUSTO
NOT itab_zycit006-frpagto EQ 'A' OR
* << Fim da exclusão
* >> Início da inclusão: FORM AJUSTA_CUSTO
itab_zycit006-frpagto EQ 'A' OR
* << Fim da inclusão
NOT itab_zycit132-belnr_p IS INITIAL.
LOOP AT itab_zycit036 WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
itab_zycit036-vlreal = ( itab_zycit003-vlreal *
itab_zycit263-qtd_iten ) +
itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat.
itab_zycit036-origem = 'FAT'.
...