CE PLUS - Nota 010396

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.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO E LIQU.

VINCULAÇÃO - PREENCHIMENTO DOS CAMPOS DO BATCH INPUT

VERIFICAÇÃO PERÍODO ABERTO/FECHADO NÃO FUNCIONA - IMPACTO PELO NEWGL

MAPEAMENTO SOCIEDADE PARCEIRA NAS CONTABILIZAÇÕES

BAIXA DO CLIENTE NA VINCULAÇÃO DE FATURAS

VINCULAÇÃO - O SISTEMA ESTÁ ASSUMINDO A DATA BASE INCORRETA AO ESTORNAR

CAPTAÇÃO - CAMPO MONTANTE MI OCULTO NA TELA(DMBTR) - ERRO F-02/F-30

VINCULAÇÃO - ERRO NO ESTORNO DA VINCULAÇÃO

LIQUIDAÇÃO DE FATURAS

PRORROGAÇÃO DA DATA DE LIQUIDAÇÃO PARA CONTRATOS DE PRÉ PAGAMENTO

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:

...