Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 01/07/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 12:42:46
Descrição da Nota: LIQUIDAÇÃO - ESTORNO COMISSÃO DE AGENTE
Sintoma
Ao efetuar o estorno de uma liquidação, com comissão de agente, a mesma não esta sendo estornado.
Solução
Incluir estorno da comissão de agente após todos estornos da liquidação. Ajustar função F-30 para
considerar page-down antes de flegar o filtro por data de lançamento.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06887 Data: 01/07/2008 Hora: 14:20:43
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06887
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00054
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03807 - 00001 - 7.0 - 00001 - LIQUIDAÇÃO - ESTORNO DAS PROVISÕES E CALCULO.
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO - ESTORNO COMISSÃO DE AGENTE
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO - ESTORNO COMISSÃO DE AGENTE
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCB_TRANSACAO_F_30_A
REPS /PWS/MZYCB004F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_A
...
AND feldn = 'BELNR'.
ADD 1 TO v_xpos1.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos.
SELECT SINGLE selps FROM t021r
INTO v_xpos_belnr
WHERE event = 'SL-AG'
AND feldn = 'BELNR'.
ADD 1 TO v_xpos_belnr.
CLEAR v_xpos1.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'BUDAT'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_budat.
CLEAR v_xpos1.
* << Fim da exclusão
SELECT * FROM t041t INTO TABLE itab_t041t
WHERE spras = sy-langu.
READ TABLE itab_t041t WITH KEY auglv = 'UMBUCHNG'.
v_xpos1 = sy-tabix.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_comp.
CLEAR v_xpos2.
SELECT SINGLE selps FROM t021r
INTO v_xpos2
WHERE event = 'SU-AG'
...
...
PERFORM bdc_screen USING 'SAPDF05X' v_tela.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OMX'.
PERFORM bdc_screen USING 'SAPDF05X' v_tela.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-ABPOS'.
PERFORM bdc_field USING 'BDC_OKCODE' '=Z-'.
PERFORM bdc_screen USING 'SAPDF05X' v_tela.
PERFORM bdc_field USING 'BDC_SUBSCR' 'SAPDF05X'.
PERFORM bdc_field USING 'RF05A-ABPOS' '1'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OSU'.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
CLEAR v_xpos1.
SELECT SINGLE selps FROM t021r INTO v_xpos1
WHERE event = 'SU-AG'
AND feldn = 'BUDAT'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
WHILE v_xpos1 > 10.
v_xpos1 = v_xpos1 - 10.
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_OKCODE' 'P+'.
SHIFT v_xpos1 LEFT DELETING LEADING '0'.
ENDWHILE.
CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_budat.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPDF05X' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' v_xpos_budat.
PERFORM bdc_field USING v_xpos_budat 'X'.
PERFORM bdc_field USING 'BDC_OKCODE' '=GO'.
PERFORM bdc_screen USING 'SAPDF05X' '0732'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RF05A-VONDT(01)'.
WRITE t_dados-dtdocto TO v_dtdocto.
PERFORM bdc_field USING 'RF05A-VONDT(01)' v_dtdocto.
PERFORM bdc_field USING 'RF05A-BISDT(01)' v_dtdocto.
v_cont = 1.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
AND codmodul = 'JU'
AND codmod = 'E'
AND liquid = 'X'.
IF sy-tcode NE c_transacao_c.
PERFORM estorna_diferenca_juros.
ENDIF.
PERFORM busca_liquidacoes.
PERFORM provisiona_diferenca_juros.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF wa_zycbt007-liq_com_cg NE 'RP'.
PERFORM estorna_comissao.
ENDIF.
* << Fim da inclusão
PERFORM atualiza_tabelas_transp2.
IF wa_zycbt007-liq_com_cg NE 'RP'.
PERFORM liquida_comissao_agente.
ENDIF.
IF NOT itab_erro[] IS INITIAL.
EXPORT itab_erro TO MEMORY ID '001'.
SUBMIT /pws/zycbr126 AND RETURN.
ENDIF.
IF NOT itab_contabil[] IS INITIAL.
PERFORM executa_exit_p USING 'LIQ019'.
...
...
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
FORM estorna_comissao.
LOOP AT itab_zycbt006 WHERE v_status EQ 'E'
* >> Início da exclusão: FORM ESTORNA_COMISSAO
AND NOT vlcomis IS initial
AND status EQ 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_COMISSAO
AND NOT vlcomis IS initial.
* << Fim da inclusão
CLEAR: itab_selreg,
itab_zycet010,
itab_zycet013.
REFRESH: itab_zycet010,
itab_zycet013.
SELECT SINGLE * FROM /pws/zycbt017
WHERE nrinvoic EQ itab_zycbt006-nrinvoic
AND nrparcf EQ itab_zycbt006-nrparcf.
...
...
...