Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 15/10/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:10:13
Descrição da Nota: AJUSTADO RATEIO DO PESO LIQUIDO PELO VALOR REALIZADO
Sintoma
O rateio do peso liquido está sendo realizado pelo valor planejado, o que ocasiona erro quando a
fatura é com ajuste livre.
Solução
Ajustar o rateio para que seja realizado pelo valor real.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04989 Data: 15/10/2007 Hora: 15:48:59
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04989
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00017
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03893 - 00001 - 7.0 - 00001 - AJUSTE DE PERFORMANCE NA CRIAÇÃO DA FATURA
04650 - 00002 - 7.0 - 00003 - AJUST ENO CALCULO DO IVA PARA A BAP DA MIRO.
----------------------------------------------------------------------------------------------------
AJUSTADO RATEIO DO PESO LIQUIDO PELO VALOR REALIZADO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO - PESO - LIQUIDO - VALOR - REAL - FATURA
/PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI003 0101
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003O01
REPS /PWS/MZYCI003X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI003 0101
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
* >> Início da inclusão:
WA_FORNEC_FAT-NAME1
I/O 2 81 35 25 1 CHAR Off S.Sd
OUT
PossRol
* << Fim da inclusão
* >> Início da exclusão:
V_DFORN
I/O 2 81 5 5 1 CHAR Off S.Sd
OUT
* << Fim da exclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
INITIAL.
PERFORM verifica_total_itens.
DESCRIBE TABLE itab_zycit003 LINES v_line.
LOOP AT itab_zycit003.
IF sy-tabix = v_line.
itab_zycit003-ntgew = /pws/zycie006-ntgew - v_tot_ntgew.
IF itab_zycit003-ntgew < 0.
MESSAGE e015 WITH text-165 text-166.
ENDIF.
ELSE.
* >> Início da exclusão: FORM CALCULA_PESO
IF NOT v_val_plan_tot IS INITIAL.
itab_zycit003-ntgew = /pws/zycie006-ntgew / v_val_plan_tot *
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_PESO
IF NOT /pws/zycie006-vlmerc IS INITIAL.
itab_zycit003-ntgew = /pws/zycie006-ntgew * (
* << Fim da inclusão
* >> Início da exclusão: FORM CALCULA_PESO
( itab_zycit003-netpr * itab_zycit003-toinv ).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_PESO
( itab_zycit003-vlreal * itab_zycit003-toinv ) /
/pws/zycie006-vlmerc ).
* << Fim da inclusão
ENDIF.
v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
ELSEIF /pws/zycie006-rateio = 'N'
AND NOT /pws/zycie006-ntgew IS INITIAL
AND sy-tcode NE '/PWS/ZYCI003_L'.
CLEAR v_tot_frete.
IF NOT itab_zycit003[] IS INITIAL.
...
...
AND bukrs = /pws/zycie006-bukrs .
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycbt011 INTO wa_zycbt011
WHERE codeven = '001NO'
AND codmod EQ 'D'.
ENDIF.
ENDCASE.
SELECT * FROM /pws/zycit030
INTO TABLE itab_zycit030
WHERE bukrs = /pws/zycie006-bukrs.
* >> Início da exclusão: FORM MIRO_AM_LA
IF /pws/zycie006-tpfatura NE '01'.
SELECT nrseq FROM /pws/zycit006
INTO TABLE itab_fat
WHERE nrseqce EQ /pws/zycie006-nrseqce
AND eliminado EQ space
AND tpfatura EQ /pws/zycie006-tpfatura
AND nrseq NE /pws/zycie006-nrseq.
IF /pws/zycie006-tpfatura EQ '04' AND sy-subrc EQ 0.
SELECT * FROM /pws/zycit047 INTO TABLE itab_zycit047a
FOR ALL ENTRIES IN itab_fat
WHERE nrseq EQ itab_fat-nrseq.
ENDIF.
* << Fim da exclusão
REFRESH itab_zycit003a.
itab_zycit003a[] = itab_zycit003[].
SORT itab_zycit003a BY ebeln.
DELETE ADJACENT DUPLICATES FROM itab_zycit003a COMPARING ebeln.
IF NOT itab_zycit003a[] IS INITIAL.
SELECT ebeln knumv FROM ekko INTO TABLE itab_ekko_a
FOR ALL ENTRIES IN itab_zycit003a
WHERE ebeln EQ itab_zycit003a-ebeln.
IF sy-subrc EQ 0.
SELECT * FROM konv INTO TABLE itab_konv
FOR ALL ENTRIES IN itab_ekko_a
WHERE knumv EQ itab_ekko_a-knumv.
DELETE itab_konv WHERE kntyp NE 'B'
OR kbetr EQ space.
* >> Início da inclusão: FORM MIRO_AM_LA
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MIRO_AM_LA
IF /pws/zycie006-tpfatura NE '01'.
SELECT nrseq FROM /pws/zycit006
INTO TABLE itab_fat
WHERE nrseqce EQ /pws/zycie006-nrseqce
AND eliminado EQ space
AND tpfatura EQ /pws/zycie006-tpfatura
AND nrseq NE /pws/zycie006-nrseq.
IF /pws/zycie006-tpfatura EQ '04' AND sy-subrc EQ 0.
SELECT * FROM /pws/zycit047 INTO TABLE itab_zycit047a
FOR ALL ENTRIES IN itab_fat
WHERE nrseq EQ itab_fat-nrseq.
* << Fim da inclusão
ENDIF.
SELECT * FROM /pws/zycit399 INTO TABLE itab_zycit399
WHERE pais EQ t001-land1.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE nrseqdi FROM /pws/zycit100 INTO /pws/zycit085-nrseqdi
WHERE nrseq EQ itab_zycit003-nrseq.
SELECT * FROM /pws/zycit403 INTO TABLE itab_zycit403
WHERE nrseqdi EQ /pws/zycit085-nrseqdi.
ENDIF.
REFRESH itab_ivaped.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
CLEAR /pws/zycie006-lifnr.
ENDIF.
ENDIF.
IF NOT /pws/zycie001-nrseq IS INITIAL.
CALL CUSTOMER-FUNCTION '002'
EXPORTING
/pws/zycie001 = /pws/zycie001
CHANGING
v_prof = v_prof.
ENDIF.
* >> Início da inclusão: MODULE LOAD_DATA
IF wa_fornec_fat-lifnr NE /pws/zycie006-lifnr.
clear: wa_fornec_fat.
SELECT SINGLE lifnr name1
FROM lfa1
INTO wa_fornec_fat
WHERE lifnr EQ /pws/zycie006-lifnr.
ENDIF.
* << Fim da inclusão
PERFORM load_parametros.
IF /pws/zycie006-tpfatura = '04'
AND /pws/zycie006-vinserv EQ 'X'.
DELETE itab_zycit003 WHERE servico NE 'X'.
ENDIF.
IF /pws/zycie006-tpfatura = '01'.
DELETE itab_zycit003 WHERE servico EQ 'X'.
ENDIF.
IF /pws/zycie006-tpfatura = '11'.
LOOP AT itab_zycit003 WHERE servico NE 'X'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
DATA: END OF itab_zycit483.
DATA: itab_zycit403 TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE,
itab_zycit403t TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE,
itab_zycit484 TYPE /pws/zycit484 OCCURS 0 WITH HEADER LINE,
itab_zycit029 TYPE /pws/zycit029 OCCURS 0 WITH HEADER LINE,
itab_zycit399 TYPE /pws/zycit399 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_fat_temp OCCURS 0.
DATA: nrseq_pgfat TYPE /pws/zycit263-nrseq_pgfat.
DATA: END OF itab_fat_temp.
DATA: itab_tcurx TYPE tcurx OCCURS 0 WITH HEADER LINE .
* >> Início da inclusão:
DATA: BEGIN OF wa_fornec_fat,
lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
END OF wa_fornec_fat.
* << Fim da inclusão
DATA: END OF COMMON PART.