Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 25/04/2008 00:00:00
Data/Hora Última Alteração: 09/03/2010 13:16:23
Descrição da Nota: AO SALVAR DI O SISTEMA APRESENTA MENSAGEM 3 PARTIDAS SELECIONADAS
Sintoma
Problema na variação cambial da DI.
Solução
Verificar as datas de registro e desembaraço para não apresentar a mensagem
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06456 Data: 25/04/2008 Hora: 13:43:20
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06456
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00044
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
AO SALVAR DI O SISTEMA APRESENTA MENSAGEM 3 PARTIDAS SELECIONADAS
----------------------------------------------------------------------------------------------------
Palavras Chave:
DESEMBARAÇO - DI - PARTIDAS - MENSAGEM
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSACAO_F_51C
REPS /PWS/MZYCI023F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_51C
FUNCTION /pws/zyci_transacao_f_51c.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_51C
CONSTANTS:
c_vl_min TYPE p DECIMALS 2 VALUE '0.01',
c_vl_max TYPE p DECIMALS 2 VALUE '9999999999.99'.
* << Fim da inclusão
...
...
v_lines TYPE i,
v_buzei LIKE bseg-buzei,
v_index TYPE i,
v_date LIKE t009b-bdatj,
v_itens TYPE i,
v_index_aux TYPE i,
t_contas_aux LIKE t_contas OCCURS 0 WITH HEADER LINE,
v_xpos_awkey(14),
v_xpos1(14),
v_chavedoc(20),
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_51C
v_empresas(1).
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_51C
v_empresas(1),
v_xpos_wrbtr(15),
v_xpos2(2) TYPE n,
v_pos_wrbtr TYPE i,
v_vl_min(16) VALUE '0,01',
v_vl_max(16) VALUE '9.999.999.999,99'.
CLEAR v_xpos2.
SELECT SINGLE selps FROM t021r
INTO v_xpos2
WHERE event = 'SU-AG'
AND feldn = 'WRBTR'.
IF sy-subrc = 0.
SHIFT v_xpos2 LEFT DELETING LEADING '0'.
v_pos_wrbtr = v_xpos2.
v_xpos2 = ( ( v_pos_wrbtr - 1 ) MOD 10 ) + 1.
SHIFT v_xpos2 LEFT DELETING LEADING '0'.
v_pos_wrbtr = ( v_pos_wrbtr - 1 ) DIV 10.
CONCATENATE 'RF05A-XPOS1(' v_xpos2 ')' INTO v_xpos_wrbtr.
ENDIF.
* << Fim da inclusão
LOOP AT t_dados.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-budat
IMPORTING
v_year = v_date
.
IF sy-subrc <> 0.
ENDIF.
CHECK t_dados-tcode = 'F-51'.
IF ( t_dados-bukrs = space ).
t_campo-mandt = t_dados-mandt.
t_campo-campo = 'BKPF-BUKRS'.
t_campo-descricao = text-021.
APPEND t_campo.
RAISE campo_em_branco.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_51C
ENDIF.
select single * from tcurx where currkey = t_dados-waers.
if sy-subrc <> 0.
tcurx-currdec = 2.
* << Fim da inclusão
ENDIF.
WRITE: t_dados-bldat TO v_bldat,
t_dados-budat TO v_budat,
t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers,
t_dados-bukrs TO v_bukrs.
v_gjahr = v_date.
v_koart = 'K'.
DATA: v_monat1(2) TYPE n.
PERFORM period_determine USING t_dados-budat
v_bukrs
...
...
CONCATENATE 'RF05A-FELDN(' v_cont ')' INTO v_campo.
PERFORM bdc_field USING:
v_campo 'BELNR' .
CLEAR v_campo.
CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.
PERFORM bdc_field USING:
v_campo v_belnrano .
ENDLOOP.
PERFORM bdc_field USING:
'BDC_OKCODE' '=PA' .
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_F_51C
if tcurx-currdec ne 2.
write: c_vl_min to v_vl_min currency t_dados-waers,
c_vl_max to v_vl_max currency t_dados-waers.
endif.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=OMX'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-ABPOS'.
perform bdc_field using 'BDC_OKCODE' '=Z-'.
perform bdc_screen using 'SAPDF05X' '3100'.
perform bdc_field using 'BDC_SUBSCR' 'SAPDF05X'.
perform bdc_field using 'RF05A-ABPOS' '1'.
perform bdc_field using 'BDC_OKCODE' '=OSU'.
do v_pos_wrbtr times.
perform bdc_screen using 'SAPDF05X' '2000'.
perform bdc_field using 'BDC_OKCODE' 'P+'.
enddo.
perform bdc_screen using 'SAPDF05X' '2000'.
perform bdc_field using 'BDC_CURSOR' v_xpos_wrbtr.
perform bdc_field using v_xpos_wrbtr 'X'.
perform bdc_field using 'BDC_OKCODE' '=GO'.
perform bdc_screen using 'SAPDF05X' '0730'.
perform bdc_field using 'BDC_CURSOR' 'RF05A-BISWT(01)'.
perform bdc_field using 'RF05A-VONWT(01)' v_vl_min.
perform bdc_field using 'RF05A-BISWT(01)' v_vl_max.
perform bdc_field using 'BDC_OKCODE' '=GO'.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING: 'BDC_OKCODE' '=Z+'.
PERFORM bdc_screen USING 'SAPDF05X' '3100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=AB'.
IF v_empresas EQ 'X'.
PERFORM bdc_screen USING 'SAPMF05A' '0701'.
PERFORM bdc_field USING: 'BDC_CURSOR' 'RF05A-BUKZ1(1)',
'BDC_OKCODE' '=PI'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
FORM lanctos_variacao.
DATA: v_soma LIKE /pws/zycit085-vlfob.
DATA: v_variadec LIKE /pws/zycit085-vlfre.
READ TABLE itab_zycit100 INDEX 1.
SELECT SINGLE * FROM /pws/zycit001 WHERE nrseq = itab_zycit100-nrseq.
LOOP AT itab_bsis_aux WHERE hkont = itab_matuse_aux2-hkont.
READ TABLE itab_di WITH KEY hkont = itab_matuse_aux2-hkont.
* >> Início da inclusão: FORM LANCTOS_VARIACAO
IF itab_bsis_aux-wrbtr IS INITIAL.
continue.
ENDIF.
* << Fim da inclusão
IF itab_bsis_aux-tpfatura = '01'.
PERFORM get_parameters_f_51_variacao USING '001VM'.
READ TABLE itab_zycbt012 WITH KEY
codaux = itab_matuse_aux2-j_1bmatuse.
IF /pws/zycit031-inco1_ci = 'FOB'.
vl_variacao = itab_di-vlfob - itab_bsis_aux-dmbtr.
IF itab_zycbe033-tcode = 'F-51'
AND NOT v_belnr IS INITIAL.
PERFORM: move_lanctos USING itab_di-vlfob,
calcula_diferenca.
...