CE PLUS - Nota 009747

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Fatura

Data/Hora da Publicação: 28/01/2010 00:00:00

Data/Hora Última Alteração: 22/02/2011 12:40:28

Descrição da Nota: LIQUIDAÇÃO - TOTAL FATURA/CONTRATO - ERRO COMPENSAÇÃO CONTRATO F-30

Sintoma

Ao executar a liquidação de um contrato e uma fatura com o mesmo valor, total, não esta mapeando, na

última F-30, todas as atribuições do documento do contrato, não compensando a partida do mesmo.

 

 

Solução

Carregar a primeira e segunda atribuição do documento do contrato.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

EXPORTAÇÃO - LIQUIDAÇÃO DE FATURAS - PROBLEMA NO CAMPO ATRIBUIÇÃO

DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR CONTRATO

LIQUIDAÇÃO DE CONTRATO

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 09747 Data: 28/01/2010 Hora: 18:41:58

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 09747

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00006

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

07221  - 00001 - 7.0    - 00006  - LIQUIDAÇÃO DE CONTRATO

08536  - 00002 - 7.0    - 00009  - DA-VINCULAÇÃO/LIQUIDAÇÃO-OTIMIZAÇÃO-BUSCA TAXAS/TIPO DOCTO. POR C

09398  - 00003 - 8.0    - 00001  - EXPORTAÇÃO - LIQUIDAÇÃO DE FATURAS - PROBLEMA NO CAMPO ATRIBUIÇÃO

----------------------------------------------------------------------------------------------------

LIQUIDAÇÃO - TOTAL FATURA/CONTRATO - ERRO COMPENSAÇÃO CONTRATO F-30

----------------------------------------------------------------------------------------------------

Palavras Chave:

LIQUIDAÇÃO - TOTAL FATURA/CONTRATO - ERRO COMPENSAÇÃO CONTRATO F-30

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

REPS /PWS/MZYCB004F02

REPS /PWS/MZYCB004TOP

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYCB_TRANSACAO_F_30_W

CARACTERÍSTICAS

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

V_ZUONR TYPE BSEG-ZUONR           ' '        'X'

* >> Início da inclusão:

V_ZUONR2 TYPE BSEG-ZUONR           ' '        'X'

* << Fim da inclusão

 

 

 

 

Texto Fonte

 

...

      CONCATENATE 'RF05A-XPOS1(' v_xpos1 ')' INTO v_xpos_belnr.

      PERFORM bdc_screen USING 'SAPDF05X'    '2000'.

      PERFORM bdc_field USING 'BDC_CURSOR'   v_xpos_belnr.

      PERFORM bdc_field  USING v_xpos_belnr  'X'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

      PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

      PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

      CLEAR v_cont.

      LOOP AT t_partidas WHERE tcode   = t_dados-tcode

                           AND tabela  = t_dados-tabela

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

                           AND cpochv  = t_dados-cpochv

                           AND v_sinal = '+'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

                           and cpochv  = t_dados-cpochv.

* << Fim da inclusão

        ADD 1 TO v_cont.

        CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

        CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.

        PERFORM bdc_field USING v_campo  t_partidas-belnr.

        PERFORM bdc_field USING v_campo2 t_partidas-belnr.

        IF v_cont = 5.

          PERFORM bdc_field  USING 'BDC_OKCODE' '=SU1'.

          PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

          PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

          CLEAR v_cont.

...

 

...

      PERFORM bdc_field  USING 'BDC_OKCODE' '=GO'.

      PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

      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_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OSE'.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

    ENDIF.

    LOOP AT t_partidas WHERE tcode   = t_dados-tcode AND

                             tabela  = t_dados-tabela AND

                             cpochv  = t_dados-cpochv AND

                             v_sinal = '-'.

      EXIT.

    ENDLOOP.

    IF sy-subrc EQ 0.

      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'.

      CLEAR v_xpos1.

      SELECT SINGLE selps FROM t021r

        INTO  v_xpos1

        WHERE event = 'SU-AG'

          AND feldn = 'BELNR'.

      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_belnr.

      PERFORM bdc_screen USING 'SAPDF05X'    '2000'.

      PERFORM bdc_field USING 'BDC_CURSOR'   v_xpos_belnr.

      PERFORM bdc_field  USING v_xpos_belnr  'X'.

      PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

      PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

      PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

      CLEAR v_cont.

      LOOP AT t_partidas WHERE tcode   = t_dados-tcode

                           AND tabela  = t_dados-tabela

                           AND cpochv  = t_dados-cpochv

                           AND v_sinal = '-'.

        ADD 1 TO v_cont.

        CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

        CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.

        PERFORM bdc_field USING v_campo  t_partidas-belnr.

        PERFORM bdc_field USING v_campo2 t_partidas-belnr.

        IF v_cont = 5.

          PERFORM bdc_field  USING 'BDC_OKCODE' '=SU1'.

          PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

          PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

          CLEAR v_cont.

* << Fim da exclusão

        ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

      ENDLOOP.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=GO'.

* << Fim da exclusão

      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'.

      CLEAR v_xpos1.

...

 

...

            IF v_cont > 5.

              PERFORM bdc_field USING 'BDC_OKCODE' 'SU1'.

              PERFORM bdc_screen USING 'SAPDF05X'  '0731'.

              CLEAR v_cont.

            ENDIF.

          ENDLOOP.

        ELSE.

          v_cont = v_cont + 1.

          CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_xpos.

          PERFORM bdc_field USING v_xpos v_zuonr.

      ENDIF.

    endif.

 

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

    if not v_zuonr2 is initial.

      v_cont = v_cont + 1.

      concatenate 'RF05A-SEL01(' v_cont ')' into v_xpos.

      perform bdc_field using v_xpos v_zuonr2.

    endif.

* << Fim da inclusão

 

      LOOP AT t_partidas.

        IF NOT t_partidas-d_zuonr IS INITIAL AND v_liqop EQ 'X'

           AND t_partidas-d_zuonr(4) = text-052.

          v_cont = v_cont + 1.

          CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_xpos.

...

 

...

      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_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OSE'.

      PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

      PERFORM bdc_field  USING 'BDC_CURSOR' 'RF05A-ABPOS'.

      PERFORM bdc_field  USING 'BDC_OKCODE' '=OSE'.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_W

    ENDIF.

* << Fim da exclusão

    PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

    PERFORM bdc_field USING: 'BDC_OKCODE' '=DBR'.

    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_CURSOR' 'DF05B-PSDIF(01)',

                             'BDC_OKCODE' '=PI'.

    PERFORM bdc_screen USING 'SAPDF05X'   '3100'.

    IF t_dados-flag_nc EQ 'X'.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

    perform determina_ano using itab_zycbe033-dtdocto

                                /pws/zycbe001-bukrs

                          changing v_ano.

    select single zuonr

             from bseg

             into v_zuonr

                 where bukrs = /pws/zycbe001-bukrs

                   and belnr = itab_zycbe033-belnr

                   and gjahr = v_ano

                   and buzei = c_002 .

* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE

    select zuonr from bseg into v_zuonr2

                 up to 1 rows

                 where bukrs = /pws/zycbe001-bukrs

                   and belnr = itab_zycbe033-belnr

                   and gjahr = v_ano.

    endselect.

* << Fim da inclusão

  endif.

  if not /pws/zycbe005-j_1bbranch is initial.

    perform verifica_pais_filial using itab_zycbt006-bukrs

                                       /pws/zycbe005-j_1bbranch.

    itab_zycbe033-brnch = /pws/zycbe005-j_1bbranch.

  else.

    perform local_negocio.

    perform verifica_pais_filial using itab_zycbt006-bukrs

                                       wa_t001w-j_1bbranch.

    itab_zycbe033-brnch = wa_t001w-j_1bbranch.

...

 

...

    else.

      call function '/PWS/ZYCB_TRANSACAO_F_30_W'

           exporting

                v_modo          = v_modo_bi

                v_vinc_tot      = v_vinc_tot

                v_desc_rec      = /pws/zycbe001-desc_receb

                v_dp            = v_dp

                v_contasi       = v_contas_iguais

                v_liqop         = 'X'

                v_zuonr         = v_zuonr

* >> Início da inclusão: FORM BAIXA_CLIENTE_ACE

                v_zuonr2        = v_zuonr2

* << Fim da inclusão

           tables

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt032      = itab_zycbt032

                t_partidas      = itab_partidas

           exceptions

                campo_em_branco = 1

                periodo_fechado = 2

                others          = 3.

    endif.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCB004TOP

 

...

data: v_taxa_liqand    type /pws/zycbe033-kursf,

      v_taxa_cliente   type /pws/zycbe033-kursf,

      v_reais_f2       type /pws/zycbt226-sld_exterior,

      v_vlmext         type /pws/zycbt226-sld_exterior,

      v_sld_exterior   type /pws/zycbt226-sld_exterior,

      v_periodo_aberto(1) type c.

data:  v_tpcontabil   type /pws/zycbt169-tpcontabil,

       v_tot_contrato type c,

       v_tot_cliente  type c,

       v_zuonr        type bseg-zuonr.

* >> Início da inclusão:

data: v_zuonr2        type bseg-zuonr.

* << Fim da inclusão

data: vg_flag type c.

data: v_check_flag_deduz type c.

data:

  v_tpcontr         like /pws/zycbt016-txtdesc,

  v_bconegoc           like lfa1-name1,

  v_bcofinan           like lfa1-name1.

data: wa_log          type char4000,

      wa_zycbt006_log like /pws/zycbt006,

      wa_zycet048     like /pws/zycet048.

data: itab_zyglt100

...