Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 27/07/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:46:36
Descrição da Nota: DECLARAÇÃO DE IMPORTAÇÃO (DI) - VARIAÇÃO CAMBIAL
Sintoma
Ao gerar o documento de variação cambial, o sistema não está lendo o parâmetro de levar o centro de
lucro para IA.
Solução
O programa deverá buscar o Centro de Lucro e levá-lo para a contabilização da variação cambial
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04287 Data: 27/07/2007 Hora: 10:07:29
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04287
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00004
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03954 - 00001 - 7.0 - 00002 - TRATAMENTO PARA CONTA BLOQUEADA NA RECLASSIFICAÇÃO DE IA
04090 - 00002 - 7.0 - 00002 - LANÇAR O CENTRO DE CUSTO NA RECLASSIFICAÇÃO DE IA.
04390 - 00003 - 7.0 - 00002 - ERRO NA DI AO FAZER VARIAÇÃO CAMBIAL.
----------------------------------------------------------------------------------------------------
DECLARAÇÃO DE IMPORTAÇÃO (DI) - VARIAÇÃO CAMBIAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
VARIAÇÃO; CAMBIAL; CENTRO DE LUCRO; IMPORTAÇÃO EM
ANDAMENTO; CLASSIFICAÇÃO CONTÁBIL; EKKN; CSKS-PRCTR
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_RECLASSIFICACAO_IA
REPS /PWS/LZYCIGF2F01
REPS /PWS/LZYCIGF2TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RECLASSIFICACAO_IA
FUNCTION /pws/zyci_reclassificacao_ia.
TABLES: /pws/zycit041,
/pws/zycit042.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
DATA: BEGIN OF itab_matuse OCCURS 0 ,
ebeln TYPE ekpo-ebeln ,
ebelp TYPE ekpo-ebelp ,
matnr TYPE ekpo-matnr ,
bwtar TYPE ekpo-bwtar ,
j_1bmatuse TYPE ekpo-j_1bmatuse,
knttp TYPE ekpo-knttp ,
werks TYPE t001w-werks ,
bwkey TYPE mbew-bwkey ,
END OF itab_matuse .
* << Fim da exclusão
DATA: BEGIN OF itab_bsis_aux1 OCCURS 10,
hkont TYPE bsis-hkont ,
dmbtr TYPE bsis-dmbtr ,
wrbtr TYPE bsis-wrbtr ,
belnr TYPE bsis-belnr ,
buzei TYPE bsis-buzei ,
tpfatura TYPE /pws/zycit006-tpfatura,
END OF itab_bsis_aux1.
DATA: BEGIN OF itab_zycit132 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit132.
DATA: END OF itab_zycit132.
REFRESH: itab_di, itab_bsis_aux, itab_matuse_aux2, itab_matuse_aux,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
itab_bsis.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
itab_bsis, itab_matuse.
* << Fim da inclusão
CLEAR: itab_di, itab_bsis_aux, itab_matuse_aux2, itab_matuse_aux,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
itab_bsis.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
itab_bsis, itab_matuse.
* << Fim da inclusão
DATA:
itab_zycit094 TYPE /pws/zycie094 OCCURS 0 WITH HEADER LINE,
itab_zycit006 TYPE /pws/zycit006 OCCURS 0 WITH HEADER LINE,
...
...
FOR ALL ENTRIES IN itab_zycit006
WHERE nrseq_pgfat EQ itab_zycit006-nrseq_pgfat.
ENDIF.
LOOP AT t_zycit100.
READ TABLE itab_zycit263 WITH KEY ebeln = t_zycit100-ebeln
ebelp = t_zycit100-ebelp.
CLEAR: itab_ekkn.
READ TABLE itab_ekkn WITH KEY ebeln = t_zycit100-ebeln
ebelp = t_zycit100-ebelp.
itab_di-kostl = itab_ekkn-kostl.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
itab_di-prctr = itab_ekkn-prctr.
* << Fim da inclusão
CLEAR itab_zycit006.
READ TABLE itab_zycit006
WITH KEY nrseq_pgfat = itab_zycit263-nrseq_pgfat.
CHECK NOT itab_zycit006-belnr_p IS INITIAL.
CLEAR: itab_matuse, itab_matuse_aux.
READ TABLE itab_matuse WITH KEY ebeln = t_zycit100-ebeln
ebelp = t_zycit100-ebelp.
READ TABLE itab_matuse_aux WITH KEY
j_1bmatuse = itab_matuse-j_1bmatuse.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l tables itab_matuse.
ENDIF.
* << Fim da inclusão
MOVE: itab_matuse_aux-hkont TO itab_di-hkont,
t_zycit100-vlseg TO itab_di-vlseg,
t_zycit100-vlfre TO itab_di-vlfre.
itab_di-vlfob = t_zycit100-dttaxbem * t_zycit100-vlfob.
IF NOT /pws/zycit093-ternacion IS INITIAL.
READ TABLE t_zycit003 WITH KEY
nrseq = t_zycit100-nrseq
ebeln = t_zycit100-ebeln
ebelp = t_zycit100-ebelp .
IF NOT v_tntgew IS INITIAL.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2F01
...
v_valor_variacao = itab_bsis_aux-dmbtr + ABS( vl_variacao_aux ).
ENDIF.
v_diferenca = v_valor_variacao - p_valor.
IF ( v_diferenca < 1
AND v_diferenca > -1
AND v_diferenca NE 0 ).
p_valor = v_valor_variacao.
ENDIF.
itab_contas-tcode = 'F-51'.
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
* >> Início da inclusão: FORM MOVE_LANCTOS
itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.
* << Fim da inclusão
itab_contas-mandt = sy-mandt.
itab_contas-tabela = '/PWS/ZYCIT044'.
IF v_belnrf05 IS INITIAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = itab_matuse_aux2-hkont
IMPORTING
output = v_conta.
CLEAR itab_cta. REFRESH itab_cta.
.
...
...
itab_contas-d_newko = itab_cta-konth.
ELSE.
READ TABLE itab_cta INDEX 1.
itab_contas-bschl = '40'.
itab_contas-wrbtr = abs( vl_variacao ).
itab_contas-d_newko = itab_cta-konts.
ENDIF.
APPEND itab_contas.
CLEAR itab_contas.
ENDIF.
* >> Início da inclusão: FORM MOVE_LANCTOS
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
* << Fim da inclusão
IF /pws/zycit000-clucro_ia NE space.
* >> Início da exclusão: FORM MOVE_LANCTOS
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_LANCTOS
itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.
* << Fim da inclusão
ENDIF.
itab_contas-tcode = 'F-51'.
itab_contas-mandt = sy-mandt.
...
...
IF vl_variacao > 0.
itab_contas-bschl = '40'.
ELSEIF vl_variacao < 0.
itab_contas-bschl = '50'.
ELSE .
v_erro_f05 = 'S'.
ENDIF.
v_variadec = vl_variacao.
itab_contas-wrbtr = abs( v_variadec ).
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.
* << Fim da inclusão
itab_contas-d_newko = itab_bsis_aux-hkont.
APPEND itab_contas.
CLEAR itab_contas.
itab_contas-tcode = 'F-05'.
itab_contas-mandt = sy-mandt.
itab_contas-tabela = '/PWS/ZYCIT044'.
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
* << Fim da inclusão
IF /pws/zycit000-clucro_ia NE space.
* >> Início da exclusão: FORM MOVE_LANCTOS_F05
itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_LANCTOS_F05
itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.
* << Fim da inclusão
ENDIF.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
input = itab_matuse_aux2-hkont
IMPORTING
output = v_conta.
CLEAR itab_cta. REFRESH itab_cta.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycie085-bukrs
...
...
p_estorno = 'X'.
ENDIF.
ELSE.
ENDIF.
ELSE.
READ TABLE p_zycbt032 WITH KEY tcode = 'FB08'
tabela = '/PWS/ZYCIE085'
tpmsg = 'S'.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form verifica_centro_l tables itab_matuse structure itab_matuse .
data: begin of itab_marc occurs 0 ,
matnr like marc-matnr,
prctr like marc-prctr,
end of itab_marc.
data: begin of itab_csks occurs 0,
kostl like csks-kostl,
kokrs like csks-kokrs,
prctr like csks-prctr,
end of itab_csks.
data: begin of itab_aufk occurs 0,
aufnr like aufk-aufnr,
prctr like aufk-prctr,
end of itab_aufk.
IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_marc. REFRESH itab_marc.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr AND
werks EQ itab_matuse-werks.
IF sy-subrc NE 0.
SELECT SINGLE matnr prctr FROM marc INTO itab_marc
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
itab_di-prctr = itab_marc-prctr.
ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_csks. REFRESH itab_csks.
SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks
WHERE kostl EQ itab_ekkn-kostl
AND kokrs EQ itab_ekkn-kokrs.
itab_di-prctr = itab_csks-prctr.
ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.
CLEAR: itab_di-prctr.
CLEAR itab_aufk. REFRESH itab_aufk.
SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk
WHERE aufnr EQ itab_ekkn-aufnr.
itab_di-prctr = itab_aufk-prctr.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2TOP
...
hkont LIKE bsis-hkont .
DATA: END OF itab_matuse_aux2 .
DATA: BEGIN OF itab_di OCCURS 0,
hkont LIKE bsis-hkont,
vlseg LIKE /pws/zycit100-vlseg,
vlfre LIKE /pws/zycit100-vlfre,
vlfob LIKE /pws/zycit100-vlfob,
vldi LIKE /pws/zycit100-vlfob,
vlfren LIKE /pws/zycit100-vlfre,
kostl type ekkn-kostl,
* >> Início da inclusão:
prctr type ekkn-prctr,
* << Fim da inclusão
END OF itab_di .
* >> Início da inclusão:
DATA: BEGIN OF itab_matuse OCCURS 0 ,
ebeln TYPE ekpo-ebeln ,
ebelp TYPE ekpo-ebelp ,
matnr TYPE ekpo-matnr ,
bwtar TYPE ekpo-bwtar ,
j_1bmatuse TYPE ekpo-j_1bmatuse,
knttp TYPE ekpo-knttp ,
werks TYPE t001w-werks ,
bwkey TYPE mbew-bwkey ,
END OF itab_matuse .
* << Fim da inclusão
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
DATA: END OF itab_contas.
DATA: BEGIN OF itab_cta OCCURS 0.
INCLUDE STRUCTURE /pws/zygle316.
DATA: END OF itab_cta.
DATA: BEGIN OF itab_matuse_aux OCCURS 0,
j_1bmatuse LIKE ekpo-j_1bmatuse,
hkont LIKE bsis-hkont ,
END OF itab_matuse_aux .
...