Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 15/07/2010 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:03:27
Descrição da Nota: LIQUIDAÇÃO-COMISS DE AGENTE-F-30(IDA,ZFBDT)/F-22(ESTORNO,PERDE OK_CODE)
Sintoma
Ao efetuar liquidação de uma fatura que tem comissão de agente, na ida, a primeira F-30 tenta
preencher a Data de Vencimento(ZFBDT), mas a mesma não esta na tela, ocorrendo erro. Já no estorno,
na F-22 não salva o contábil, fica sem ok code.
Solução
Na F-30 tratar os campos da tela de acordo com a chave de lançamento, sendo de Débito ou de Crédito.
Na F-22 ajustar o código para mapear o ok_code BU(Salvar) ao finalizar a contabilização, no caso de
não ter Sociedade Parceira.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10396 Data: 15/07/2010 Hora: 14:05:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10396
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00004
Agrupamento : 00030
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00622 - 00001 - 6.0 - 00022 - VINCULAÇÃO - O SISTEMA ESTÁ ASSUMINDO A DATA BASE INCORRETA AO ES
00755 - 00002 - 6.0 - 00022 - VINCULAÇÃO - PREENCHIMENTO DOS CAMPOS DO BATCH INPUT
00900 - 00003 - 6.0 - 00022 - BAIXA DO CLIENTE NA VINCULAÇÃO DE FATURAS
00991 - 00004 - 6.0 - 00023 - PRORROGAÇÃO DA DATA DE LIQUIDAÇÃO PARA CONTRATOS DE PRÉ PAGAMENTO
04786 - 00005 - 7.0 - 00003 - LIQUIDAÇÃO DE FATURAS
08269 - 00006 - 7.0 - 00009 - TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO
09148 - 00007 - 8.0 - 00001 - CAPTAÇÃO - CAMPO MONTANTE MI OCULTO NA TELA(DMBTR) - ERRO F-02/F-
09923 - 00008 - 8.0 - 00002 - VERIFICAÇÃO PERÍODO ABERTO/FECHADO NÃO FUNCIONA - IMPACTO PELO NE
10011 - 00009 - 8.0 - 00003 - VINCULAÇÃO - ERRO NO ESTORNO DA VINCULAÇÃO
10188 - 00010 - 8.0 - 00003 - MAPEAMENTO SOCIEDADE PARCEIRA NAS CONTABILIZAÇÕES
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO-COMISS DE AGENTE-F-30(IDA,ZFBDT)/F-22(ESTORNO,PERDE OK_CODE)
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO DE FATURAS COMISSÃO DE AGENTE F-30 IDA ZFBDT
F-22 ESTORNO, PERDE OK_CODE OKCODE
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCB_TRANSACAO_F_22B
FUNC /PWS/ZYCB_TRANSACAO_F_30_A
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_22B
...
ENDIF.
v_aux_newko = t_dados-agkon.
perform verifica_sociedade_parceira using t_dados-blart
t_dados-vbund
t_dados-bukrs
v_aux_newko
changing v_soc_parc.
if v_soc_parc = 'S' and v_tela EQ '0300'.
perform bdc_field using 'BDC_OKCODE' '=ZK'.
else.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22B
perform bdc_field using 'BDC_OKCODE' '/00'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_22B
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
* << Fim da inclusão
endif.
IF v_tela EQ '0300'.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
IF NOT t_dados-d_gsber IS INITIAL.
READ TABLE itab_oculto
WITH KEY campo = 'COBL-GSBER' chave = 'C'.
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_A
...
v_dtdocto(10),
v_zfbdt(10),
v_xpos1(2) TYPE n,
v_xpos2(2) TYPE n,
v_xpos_belnr(2) TYPE n,
v_selecao(2) TYPE n ,
v_fdtdoc TYPE /pws/zycbt007-fdtdoc,
v_zbd1t(3).
DATA: itab_t041t LIKE t041t OCCURS 0 WITH HEADER LINE.
DATA: wa_zycbt089 LIKE /pws/zycbt089.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
DATA: v_chv TYPE /pws/zycbe033-newbs.
* << Fim da inclusão
MOVE t_zycbt036[] TO itab_zycbt036[].
SELECT SINGLE selps FROM t021r
INTO v_xpos1
WHERE event = 'SL-AG'
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
...
...
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'
AND feldn = 'ZUONR'.
LOOP AT t_dados.
SELECT SINGLE * FROM /pws/zycbt089 INTO wa_zycbt089
WHERE bukrs EQ t_dados-bukrs.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
SELECT SINGLE * FROM /pws/zycbt007
INTO /pws/zycbt007
WHERE bukrs EQ t_dados-bukrs.
* << Fim da inclusão
CHECK t_dados-tcode = 'F-30'.
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.
ENDIF.
IF ( t_dados-agkon = space ).
t_campo-mandt = t_dados-mandt.
...
...
itab_oculto
USING v_string_credito.
ELSEIF t_dados-agkoa EQ 'D' AND
( t_dados-newbs NE '21' AND
t_dados-newbs NE '31' ).
v_chave_debito = t_dados-newbs.
SELECT SINGLE akont FROM knb1
INTO knb1-akont
WHERE kunnr = t_dados-d_newko
AND bukrs = t_dados-bukrs.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
SELECT SINGLE plcontas FROM /pws/zycbt007
INTO /pws/zycbt007-plcontas
WHERE bukrs EQ t_dados-bukrs.
* << Fim da exclusão
v_cconta = knb1-akont.
PERFORM determina_string USING v_chave_debito
t_dados-bukrs
v_cconta
CHANGING v_string_debito.
PERFORM trata_string_debito TABLES t_dados
t_campo
itab_oculto
USING v_string_debito.
ELSEIF t_dados-newbs EQ '21' OR
...
...
PERFORM determina_string USING t_dados-newbs
t_dados-bukrs
v_cconta
CHANGING v_string_debito.
PERFORM trata_string_debito TABLES t_dados
t_campo
itab_oculto
USING v_string_debito.
ENDIF.
CLEAR v_fdtdoc.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
SELECT SINGLE fdtdoc
INTO v_fdtdoc
FROM /pws/zycbt007
WHERE bukrs = t_dados-bukrs.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
v_fdtdoc = /pws/zycbt007-fdtdoc.
* << Fim da inclusão
IF sy-subrc = 0.
IF v_fdtdoc = 'D'.
t_dados-bldat = sy-datum.
ELSE.
t_dados-bldat = t_dados-budat.
ENDIF.
ENDIF.
WRITE: t_dados-bukrs TO v_bukrs,
t_dados-bldat TO v_bldat,
t_dados-budat TO v_budat,
...
...
IF t_dados-newbs EQ '21' OR
t_dados-newbs EQ '31'.
PERFORM bdc_screen USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-SGTXT' t_dados-d_sgtxt,
'BSEG-ZUONR' t_dados-d_zuonr.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF t_dados-newbs EQ '21'.
v_chv = 'D'.
ELSEIF t_dados-newbs EQ '31'.
v_chv = 'C'.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR'
chave = v_chv.
* << Fim da inclusão
if not v_dmbtr is initial and sy-subrc ne 0.
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF NOT t_dados-d_gsber IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'
chave = v_chv.
IF NOT t_dados-d_gsber IS INITIAL
AND sy-subrc NE 0.
* << Fim da inclusão
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING:
'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BDC_OKCODE' '=PA'.
ELSEIF t_dados-newbs EQ '07' OR
t_dados-newbs EQ '17' OR
t_dados-newbs EQ '01'.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF t_dados-newbs EQ '17'.
v_chv = 'C'.
ELSE.
v_chv = 'D'.
ENDIF.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPMF05A' '0301'.
IF NOT t_dados-d_gsber IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-GSBER'
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
chave = v_chv.
* << Fim da inclusão
IF sy-subrc NE 0.
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-SGTXT' t_dados-d_sgtxt,
'BSEG-ZUONR' t_dados-d_zuonr.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR'
chave = v_chv.
* << Fim da inclusão
if not v_dmbtr is initial and sy-subrc ne 0.
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
IF NOT t_dados-zfbdt IS INITIAL.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_zfbdt.
ENDIF.
IF NOT t_dados-zterm IS INITIAL.
PERFORM bdc_field USING:
'BSEG-ZTERM' t_dados-zterm.
ENDIF.
PERFORM bdc_field USING:
'BDC_OKCODE' '=PA'.
ELSE.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF t_dados-newbs EQ '50'.
v_chv = 'C'.
ELSEIF t_dados-newbs EQ '40'.
v_chv = 'D'.
ENDIF.
* << Fim da inclusão
PERFORM bdc_screen USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-ZUONR' t_dados-d_zuonr.
perform verifica_sociedade_parceira using t_dados-blart
t_dados-vbund
t_dados-bukrs
t_dados-d_newko
changing v_soc_parc.
if v_soc_parc = 'S'.
...
...
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
IF t_dados-newbs = '50'.
PERFORM bdc_field USING:
'BSEG-SGTXT' t_dados-c_sgtxt.
ELSE.
PERFORM bdc_field USING:
'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-DMBTR'
chave = v_chv.
* << Fim da inclusão
if not v_dmbtr is initial and sy-subrc ne 0.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
if t_dados-waers ne 'BRL'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF t_dados-waers NE /pws/zycbt007-waersb OR
/pws/zycbt007-waersb IS INITIAL.
* << Fim da inclusão
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
IF NOT t_dados-d_valut IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
IF t_dados-agkoa = 'S' OR
t_dados-agkoa = 'D'.
PERFORM bdc_field USING 'BSEG-VALUT' v_valut.
ENDIF.
ENDIF.
ENDIF.
IF NOT t_dados-zfbdt IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT' chave = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZFBDT'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_zfbdt.
ENDIF.
ENDIF.
IF NOT t_dados-brnch IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
ENDIF.
PERFORM bdc_screen USING 'SAPLKACB' '0002'.
IF NOT t_dados-d_gsber IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'COBL-GSBER'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
ENDIF.
IF NOT t_dados-werks IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'COBL-WERKS' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'COBL-WERKS'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
PERFORM bdc_field USING 'COBL-WERKS' t_dados-werks.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
ENDIF.
IF NOT t_dados-d_kostl IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
READ TABLE itab_oculto WITH KEY campo = 'COBL-KOSTL'
chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
IF NOT t_dados-d_kostl IS INITIAL.
PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.
ENDIF.
ENDIF.
ENDIF.
IF NOT t_dados-d_prctr IS INITIAL.
READ TABLE itab_oculto
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
WITH KEY campo = 'COBL-PRCTR' chave = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
WITH KEY campo = 'COBL-PRCTR' chave = v_chv.
* << Fim da inclusão
IF sy-subrc <> 0.
IF NOT t_dados-d_prctr IS INITIAL.
PERFORM bdc_field USING 'COBL-PRCTR' t_dados-d_prctr.
ENDIF.
ENDIF.
ENDIF.
PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.
IF V_SOC_PARC = 'S'.
PERFORM bdc_screen USING 'SAPMF05A' '0330'.
PERFORM bdc_field USING:
...