CE PLUS - Nota 005652

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Valores Mantidos no Exterior

Data/Hora da Publicação: 16/01/2008 00:00:00

Data/Hora Última Alteração: 10/03/2010 17:53:54

Descrição da Nota: VALORES MANTIDOS NO EXTERIOR - BUSCA CONTA CONTÁBIL

Sintoma

 

Aditivo na especificação dos Valores Mantidos no Exterior para alterar busca da conta contábil do

Banco ME nos lançamentos feitos na sub pasta "Contrato" da pasta "disponibilidade 70%". Ao invés de

buscar a conta diretamente da Tabela, busca a conta na ZYGL012. Para o caso da conta de débito e

crédito serem diferentes para o mesmo fornecedor banco C/C no exterior. Também será alterada a forma

de busca da conta na compensação.

 

Solução

 

Alterada include /PWS/MZYCB034F01 e include /PWS/MZYCB034TOP para que o programa também selecionasse

a conta de crédito parametrizada para o banco. Alterada função /PWS/ZYCB_TRANSACAO_F_30_P, para que

fizesse a seleção também pela conta de crédito.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 05652 Data: 16/01/2008 Hora: 09:40:06

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

 

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

Nota Número              : 05652

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00030

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

VALORES MANTIDOS NO EXTERIOR - BUSCA CONTA CONTÁBIL

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

Palavras Chave:

VALORES MANTIDOS NO EXTERIOR - BUSCA CONTA CONTÁBIL

 

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_30_P

REPS /PWS/MZYCB034F01

REPS /PWS/MZYCB034TOP

REPT /PWS/SAPMZYCB034

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P

 

FUNCTION /pws/zycb_transacao_f_30_p .

  CONSTANTS:

    c_vl_min TYPE p DECIMALS 2 VALUE '0.01',

    c_vl_max TYPE p DECIMALS 2 VALUE '9999999999.99'.

  DATA:

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

    v_rept              TYPE i,

    v_debcred(1)        TYPE c,

* << Fim da inclusão

    v_tela2(4),

    v_bldat(10),

    v_budat(10),

    v_valut(10),

    v_kursf(9),

    v_xpos(15),

    v_campo(15),

    v_campo2(15),

    v_xpos_budat(15),

    v_xpos_zuonr(15),

...

 

...

            READ TABLE itab_oculto WITH KEY campo = 'COBL-FIPOS'

                                            chave = v_lanc1.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'COBL-FIPOS' t_dados-d_fipos.

            ENDIF.

          ENDIF.

          PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.

        ENDIF.

      ENDIF.

    ENDLOOP.

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

    CLEAR: v_rept, v_debcred.

    IF NOT t_dados-c_newko IS INITIAL.

      IF t_dados-d_newko = t_dados-c_newko.

        v_rept = 1.

      ELSE.

        v_rept = 2.

      ENDIF.

    ELSE.

      v_rept = 1.

    ENDIF.

    DO v_rept TIMES.

* << Fim da inclusão

    WRITE /pws/zycbt089-num_selecao TO v_selecao.

    IF v_selecao GT v_xpos_belnr  .

      SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

      PERFORM bdc_screen USING 'SAPMF05A' '0710'.

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

      IF t_dados-d_newko1 IS INITIAL.

        PERFORM bdc_field USING:

                'RF05A-AGKON' t_dados-d_newko,

                'RF05A-AGKOA' wa_tbsl-koart,

                v_xpos        'X'.

...

 

...

                  v_xpos        'X'.

          v_agkoa = 'D'.

        ENDIF.

      ENDIF.

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

    ELSE.

      SUBTRACT 1 FROM v_xpos_belnr.

      SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

      CONCATENATE 'RF05A-XPOS1(' v_selecao ')' INTO v_xpos.

      PERFORM bdc_screen USING: 'SAPMF05A'    '0710'.

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

        IF v_debcred = 'C'.

          v_xpos_belnr = v_xpos_belnr + 1.

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

          PERFORM bdc_field USING  v_xpos        'X'.

        ENDIF.

* << Fim da inclusão

      PERFORM bdc_field USING 'BDC_OKCODE'  '/00'.

      IF t_dados-d_newko1 IS INITIAL.

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

          IF v_rept = 2 AND v_debcred = 'C'.

            PERFORM bdc_field USING:

                    'RF05A-AGKON' t_dados-c_newko,

                    'RF05A-AGKOA' wa_tbsl-koart,

                    v_xpos        'X'.

          ELSE.

* << Fim da inclusão

        PERFORM bdc_field USING:

                'RF05A-AGKON' t_dados-d_newko,

                'RF05A-AGKOA' wa_tbsl-koart,

                v_xpos        'X'.

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

          ENDIF.

* << Fim da inclusão

        IF NOT t_dados-umskz IS INITIAL.

          PERFORM bdc_field USING:

                'RF05A-AGUMS' t_dados-umskz.

...

 

...

          v_agkoa = 'S'.

        ELSE.

          PERFORM bdc_field USING:

                  'RF05A-AGKON' t_dados-d_newko1,

                  'RF05A-AGKOA' 'D',

                  'RF05A-AGUMS' t_dados-agums,

                  v_xpos        'X'.

          v_agkoa = 'D'.

        ENDIF.

      ENDIF.

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

        IF v_debcred <> 'C'.

* << Fim da inclusão

      WHILE v_xpos_belnr > 10.

        v_xpos_belnr = v_xpos_belnr - 10.

        PERFORM bdc_screen USING 'SAPMF05A'   '0608'.

        PERFORM bdc_field USING 'BDC_OKCODE'  'P+'.

        SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

      ENDWHILE.

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

      PERFORM bdc_screen USING 'SAPMF05A' '0608'.

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

      PERFORM bdc_field USING:

              v_xpos        'X',

              'BDC_OKCODE'  '/00'.

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

        ENDIF.

* << Fim da inclusão

    ENDIF.

    PERFORM bdc_screen USING  'SAPMF05A'      '0731'.

    PERFORM bdc_field  USING: 'BDC_OKCODE'    '/00',

                              'RF05A-SEL01(01)' t_dados-belnr.

    v_cont = '01'.

    LOOP AT t_doctos WHERE tcode  = t_dados-tcode

                       AND tabela = t_dados-tabela

                       AND cpochv = t_dados-cpochv.

      ADD 1 TO v_cont.

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

      PERFORM bdc_field USING v_campo t_doctos-belnr.

      IF v_cont = 5.

        PERFORM bdc_screen USING 'SAPMF05A'   '0731'.

        PERFORM bdc_field  USING 'BDC_OKCODE' '/00'.

        CLEAR v_cont.

      ENDIF.

    ENDLOOP.

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

      IF v_rept = 2 AND v_debcred <> 'C'.

        PERFORM bdc_screen USING 'SAPMF05A'   '0731'.

        PERFORM bdc_field  USING 'BDC_OKCODE' '=SLK'.

      ELSE.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPMF05A'   '0731'.

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

    PERFORM bdc_field  USING 'BDC_OKCODE' '=PA'.

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

      ENDIF.

      v_debcred = 'C'.

    ENDDO.

* << Fim da inclusão

    MOVE: t_dados-umskz   TO v_umskz,

          t_dados-newbs   TO v_newbs,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

    ENDLOOP.

    FREE p_wa_mensagem.

  ENDIF.

ENDFORM.

FORM preenche_f02_contrato

  USING p_disp     LIKE LINE OF itab_disp_70

        p_contrato LIKE LINE OF itab_contrato

        p_zycbt011 TYPE /pws/zycbe011

        p_cpochv   TYPE /pws/zycbe033-cpochv

  CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.

* >> Início da exclusão: FORM PREENCHE_F02_CONTRATO

  DATA:

    v_codaux TYPE /pws/zygle316-codaux1.

* << Fim da exclusão

  p_zycbe033-tcode  = c_f02.

  p_zycbe033-tabela = c_zycbt239.

  p_zycbe033-cpochv = p_cpochv.

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = p_contrato-dtdebito.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-bktxt = p_contrato-txtlanc.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

  p_zycbe033-wrbtr = p_disp-vldisp.

  p_zycbe033-kursf = p_contrato-kursf.

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

  CLEAR: v_codaux, v_codaux1, v_codaux2.

* << Fim da inclusão

  v_codaux = p_contrato-bco_mi.

  SHIFT v_codaux LEFT DELETING LEADING '0'.

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

  v_codaux1 = <fs_op>-bco_me.

  SHIFT v_codaux1 LEFT DELETING LEADING '0'.

  v_codaux2 = p_disp-waers.

* << Fim da inclusão

  CASE p_contrato-tpcontr.

    WHEN c_tp1.

      PERFORM busca_conta_contabil

        USING c_debito

              <fs_op>-bukrs

              'FBK'

              v_codaux

              space

              space

        CHANGING p_zycbe033-d_newko.

* >> Início da exclusão: FORM PREENCHE_F02_CONTRATO

      p_zycbe033-c_newko = p_disp-conta_contabil.

* << Fim da exclusão

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

      PERFORM busca_conta_contabil

        USING c_credito

              <fs_op>-bukrs

              'FBK'

              v_codaux1

              v_codaux2

              space

        CHANGING p_zycbe033-c_newko.

* << Fim da inclusão

    WHEN c_tp4.

* >> Início da exclusão: FORM PREENCHE_F02_CONTRATO

      p_zycbe033-d_newko = p_disp-conta_contabil.

* << Fim da exclusão

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

      PERFORM busca_conta_contabil

        USING c_debito

              <fs_op>-bukrs

              'FBK'

              v_codaux1

              v_codaux2

              space

        CHANGING p_zycbe033-d_newko.

* << Fim da inclusão

      PERFORM busca_conta_contabil

* >> Início da exclusão: FORM PREENCHE_F02_CONTRATO

        USING c_debito

* << Fim da exclusão

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

        USING c_credito

* << Fim da inclusão

              <fs_op>-bukrs

              'FBK'

              v_codaux

...

 

...

                                     'Empresa'(006).

  PERFORM verifica_campo_vazio USING p_zycbe033-waers

                                     'WAERS'

                                     'Moeda'(010).

  PERFORM verifica_campo_vazio USING p_zycbe033-kursf

                                     'KURSF'

                                     'Taxa de Câmbio'(019).

  PERFORM verifica_campo_vazio USING p_zycbe033-d_newko

                                     'NEWKO'

                                     'Conta Débito'(035).

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

  PERFORM verifica_campo_vazio USING p_zycbe033-c_newko

                                     'NEWKO'

                                     'Conta Crédito'(036).

* << Fim da inclusão

ENDFORM.

FORM busca_parametros

  USING p_evento TYPE /pws/zycbt011-codeven

        p_modulo

  CHANGING p_zycbt011 TYPE /pws/zycbe011

           p_zycbe033 LIKE LINE OF itab_zycbe033.

  SELECT SINGLE * FROM /pws/zycbt011 INTO p_zycbt011

    WHERE codeven = p_evento

      AND codmod  = p_modulo.

  p_zycbe033-blart   = p_zycbt011-blart.

...

 

...

  p_zycbe033-bukrs = <fs_op>-bukrs.

  p_zycbe033-budat = wa_contrato-dtdebito.

  p_zycbe033-bldat = p_zycbe033-budat.

  p_zycbe033-waers   = <fs_op>-waers.

  p_zycbe033-gsber   = <fs_op>-gsberf.

  p_zycbe033-werks   = <fs_op>-werks.

  p_zycbe033-brnch = <fs_op>-j_1bbranch.

  p_zycbe033-wrbtr = p_disp-vldisp.

  p_zycbe033-kursf = wa_contrato-kursf.

  p_zycbe033-flag_nc = 'X'.

* >> Início da exclusão: FORM PREENCHE_F30_CLEARING_CONTRATO

  p_zycbe033-d_newko = p_disp-conta_contabil.

* << Fim da exclusão

  p_zycbe033-newbs   = '50'.

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

  CLEAR: v_codaux, v_codaux1, v_codaux2.

  v_codaux = wa_contrato-bco_mi.

  SHIFT v_codaux LEFT DELETING LEADING '0'.

  v_codaux1 = <fs_op>-bco_me.

  SHIFT v_codaux1 LEFT DELETING LEADING '0'.

  v_codaux2 = p_disp-waers.

  CASE wa_contrato-tpcontr.

    WHEN c_tp1.

      PERFORM busca_conta_contabil

        USING c_debito

              <fs_op>-bukrs

              'FBK'

              v_codaux1

              v_codaux2

              space

        CHANGING p_zycbe033-d_newko.

      PERFORM busca_conta_contabil

        USING c_credito

              <fs_op>-bukrs

              'FBK'

              v_codaux1

              v_codaux2

              space

        CHANGING p_zycbe033-c_newko.

    WHEN c_tp4.

      PERFORM busca_conta_contabil

        USING c_debito

              <fs_op>-bukrs

              'FBK'

              v_codaux1

              v_codaux2

              space

        CHANGING p_zycbe033-d_newko.

      PERFORM busca_conta_contabil

        USING c_credito

              <fs_op>-bukrs

              'FBK'

              v_codaux

              space

              space

        CHANGING p_zycbe033-c_newko.

  ENDCASE.

* << Fim da inclusão

  LOOP AT p_itab_contrato INTO wa_contrato

    WHERE nrseq = p_disp-nrseq

      AND destino = p_disp-destino

      AND dtdisp = p_disp-dtdisp.

    wa_doctos-tcode   = p_zycbe033-tcode.

    wa_doctos-tabela  = p_zycbe033-tabela.

    wa_doctos-cpochv  = p_zycbe033-cpochv.

    wa_doctos-belnr   = wa_contrato-doc_cont.

    wa_doctos-dtdocto = wa_contrato-dtdebito.

    APPEND wa_doctos TO itab_doctos.

...

 

...

                                     'Empresa'(006).

  PERFORM verifica_campo_vazio USING p_zycbe033-waers

                                     'WAERS'

                                     'Moeda'(010).

  PERFORM verifica_campo_vazio USING p_zycbe033-kursf

                                     'KURSF'

                                     'Taxa de Câmbio'(019).

  PERFORM verifica_campo_vazio USING p_zycbe033-d_newko

                                     'NEWKO'

                                     'Conta Débito'(035).

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

  PERFORM verifica_campo_vazio USING p_zycbe033-c_newko

                                     'NEWKO'

                                     'Conta Crédito'(036).

* << Fim da inclusão

ENDFORM.

FORM estorno_contrato

  CHANGING p_contrato TYPE t_contrato.

  DATA:

    wa_zycbe033 LIKE LINE OF itab_zycbe033,

    v_periodo            TYPE frper,

    v_ano                TYPE gjahr,

    v_periodo_fechado(1) TYPE c,

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_mensagem TYPE t_mensagem.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034TOP

 

...

  v_total_30             TYPE wrbtr,

  v_total_70             TYPE wrbtr,

  v_msg_previsto(74)     TYPE c,

  opt_origem_embarque(1) TYPE c,

  opt_origem_pagantec(1) TYPE c,

  opt_destino_30(1)      TYPE c,

  opt_destino_70(1)      TYPE c,

  v_mark(1)            TYPE c,

  v_icone              TYPE icons-text,

  v_tela_help          TYPE sy-dynnr VALUE '0052'.

* >> Início da inclusão:

DATA:

   v_codaux   TYPE /pws/zygle316-codaux1,

   v_codaux1  TYPE /pws/zygle316-codaux1,

   v_codaux2  TYPE /pws/zygle316-codaux2.

* << Fim da inclusão

SELECTION-SCREEN BEGIN OF SCREEN 0001.

SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-011.

SELECT-OPTIONS: s_bukrs  FOR /pws/zycbe226-bukrs,

                s_nrseq  FOR /pws/zycbe226-nrseq,

                s_invoic FOR /pws/zycbe226-nrinvoic

                  MATCHCODE OBJECT /pws/zycba275,

                s_gsber  FOR /pws/zycbe226-gsberf,

                s_nrparc FOR /pws/zycbe226-nrparcf,

                s_kunag  FOR /pws/zycbe017-kunag,

                s_dtincl FOR /pws/zycbe226-dtincl,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB034

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 036

 

Texto: (13 caracteres)

"Conta Crédito"

 

Comprimento máximo: 13