CE PLUS - Nota 007691

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Valores Mantidos no Exterior

Data/Hora da Publicação: 02/12/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:41:47

Descrição da Nota: VALORES MANTIDOS NO EXTERIOR - ATUALIZAÇÃO SALDO APÓS F-02

Sintoma

Valores Mantidos no Exterior - ATUALIZAÇÃO SALDO APÓS F-02

 

 

Solução

gerar a Fb08 do documento F-02(inversa),

pois ao lançar o desmembramento do cliente,

o campo SGTXT é obrigatório e esta vazio,

devido o parâmetro /pws/zyglt321 - fte - 029 não tem a opção SGTXT.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ESTORNO LIQUIDAÇÃO FB08 FBRA ANO FISCAL

CAPTAÇÃO FB08 - ESTORNAR - CAMPO BUDAT

VALORES MANTIDOS NO EXTERIOR - ANO FISCAL

VALORES MANTIDOS NO EXTERIOR - DEVOLUÇÃO

TRATAMENTO CAMPOS /PWS/ZYCBT030-BELNR_T /PWS/ZYCBT030-BUDAT_T

VALORES MANTIDOS NO EXTERIOR-DISPONIBILIDADE-CAMPOS FECHADOS/VALOR ZERO

VALORES MANTIDOS NO EXTERIOR - CAMPO ZTERM

ROTINA MENSAL ESTORNO DOCUMENTO

CAPTAÇÃO - DRILL DOWN - ESTORNO

VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

Informações Complementares

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

Nota Número 07691 Data: 02/12/2008 Hora: 14:36:53

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

 

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

Nota Número              : 07691

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00076

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

Referência às notas relacionadas:

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

 

01882  - 00010 - 6.0    - 00024  - CAPTAÇÃO - DRILL DOWN - ESTORNO

02150  - 00009 - 6.0    - 00025  - ESTORNO LIQUIDAÇÃO FB08 FBRA ANO FISCAL

03155  - 00008 - 6.0    - 00026  - ROTINA MENSAL ESTORNO DOCUMENTO

03240  - 00007 - 6.0    - 00026  - CAPTAÇÃO FB08 - ESTORNAR - CAMPO BUDAT

03662  - 00006 - 7.0    - 00001  - VALORES MANTIDOS NO EXTERIOR - CAMPO ZTERM

05482  - 00005 - 7.0    - 00003  - VALORES MANTIDOS NO EXTERIOR - DA COMPLETO

05512  - 00004 - 7.0    - 00004  - TRATAMENTO CAMPOS /PWS/ZYCBT030-BELNR_T /PWS/ZYCBT030-BUDAT_T

06371  - 00003 - 7.0    - 00005  - VALORES MANTIDOS NO EXTERIOR - DEVOLUÇÃO

07124  - 00002 - 7.0    - 00006  - VALORES MANTIDOS NO EXTERIOR - ANO FISCAL

07272  - 00001 - 7.0    - 00006  - VALORES MANTIDOS NO EXTERIOR-DISPONIBILIDADE-CAMPOS FECHADOS/VALO

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

VALORES MANTIDOS NO EXTERIOR - ATUALIZAÇÃO SALDO APÓS F-02

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

Palavras Chave:

VALORES MANTIDOS NO EXTERIOR - ATUALIZAÇÃO SALDO APÓS F-02

 

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_FB08

REPS /PWS/MZYCB034F01

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_FB08

 

...

  DATA:

    v_data_lanc_char(10) TYPE c,

    v_nrmsg              TYPE i VALUE 0,

    v_transacao(4)       TYPE c,

    v_mode               TYPE c,

    v_update             TYPE c,

    v_msgid              LIKE t100-arbgb,

    v_date               LIKE t009b-bdatj,

    v_msgno              LIKE t100-msgnr.

  TABLES bseg.

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

  clear: itab_bdc.

  refresh: itab_bdc.

* << Fim da inclusão

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

        EXPORTING

              v_bukrs                = t_dados-bukrs

             v_date                 = t_dados-budat

        IMPORTING

              v_year                 = v_date

        EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

          SET PARAMETER ID 'GJR' FIELD v_gjahr.

          CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

        ENDIF.

      ELSE.

        MESSAGE e261(sf) WITH 'FB03'.

      ENDIF.

  ENDCASE.

ENDFORM.

FORM user_command_0100.

  DATA: wa_zycbt226 TYPE t_s_zycbe226.

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

  DATA: v_erro TYPE c.

* << Fim da inclusão

  CASE ok_code.

    WHEN 'SAVE'.

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

      CLEAR v_erro.

* << Fim da inclusão

      LOOP AT itab_zycbt226 INTO wa_zycbt226.

        IF sy-tcode NE c_transacao_a.

          IF wa_zycbt226-vlr_exterior IS INITIAL.

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

        MESSAGE e015 WITH 'Informe'(m49) 'o Valor Ret.no Exterior'(m50).

* << Fim da exclusão

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

            MESSAGE w015 WITH

                          'Informe'(m49) 'o Valor Ret.no Exterior'(m50).

            v_erro = 'X'.

            EXIT.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      ENDLOOP.

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

      IF NOT v_erro IS INITIAL.

        EXIT.

      ENDIF.

* << Fim da inclusão

      LOOP AT itab_disp_00 INTO wa_disp WHERE NOT vldisp GT 0

                                          AND operacao   NE 'E'.

...

 

...

ENDFORM.

FORM processamento.

  DATA: v_excecao(01) TYPE c,

        wa_zycbt226 LIKE LINE OF itab_zycbt226,             "#EC NEEDED

        v_indice_226  TYPE sy-tabix.                        "#EC NEEDED

  PERFORM: seleciona_op,

           seleciona_dados,

           armazena_dados_antigos.

  LOOP AT itab_zycbt226 ASSIGNING <fs_op>.

    v_indice_226 = sy-tabix.

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

    IF <fs_op>-status = 'C'.

* << Fim da exclusão

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

    IF <fs_op>-status = 'C' OR

       ( <fs_op>-status           EQ 'I'     AND

         <fs_op>-tipo_op          EQ 'E'     AND

     NOT <fs_op>-belnr_op         IS INITIAL AND

         <fs_op>-belnr_desmliqand IS INITIAL AND

         <fs_op>-belnr_compens    IS INITIAL ).

* << Fim da inclusão

      IF <fs_op>-operacao = 'E'.

        READ TABLE itab_disp_30 WITH KEY nrseq = <fs_op>-nrseq

          TRANSPORTING NO FIELDS.

        IF sy-subrc EQ 0.

          PERFORM message_store

            USING '/PWS/ZYCBM'

                  'I'

                  'Ordem de Pagamento'(001)

                  <fs_op>-nrseq

                  'tem disponibilidade(s) de 30%.'(041)

...

 

...

        tpmsg  = 'S'

        INTO wa_zycbt032.

      IF sy-subrc EQ 0.

        IF p_estorno IS INITIAL.

          PERFORM busca_sequencial CHANGING v_novo_nrseq.

          IF sy-tcode = c_transacao_c.

            <fs_op>-nrseq    = v_novo_nrseq.

            <fs_op>-belnr_op = wa_zycbt032-belnr.

            IF <fs_op>-tipo_op = 'E'.

              <fs_op>-status   = 'I'.

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

              READ TABLE itab_zycbt030 INTO wa_zycbt030 WITH KEY

                    nrinvoic = <fs_op>-nrinvoic

                    nrparcf  = <fs_op>-nrparcf

                    gsberf   = <fs_op>-gsberf.

              IF sy-subrc = 0.

                wa_zycbt030-vlsltrans = wa_zycbt030-vlsltrans -

                                        wa_zycbe033-wrbtr.

                UPDATE /pws/zycbt030

                  SET   vlsltrans = wa_zycbt030-vlsltrans

                  WHERE nrinvoic  = wa_zycbt030-nrinvoic

                    AND nrparcf   = wa_zycbt030-nrparcf

                    AND gsberf    = wa_zycbt030-gsberf.

              ENDIF.

* << Fim da inclusão

            ENDIF.

            IF <fs_op>-tipo_op = 'P'.

              <fs_op>-status   = 'C'.

            ENDIF.

            MOVE-CORRESPONDING <fs_op> TO wa_tab_op.

            MODIFY /pws/zycbt226 FROM wa_tab_op.

          ELSE.

            <fs_op>-belnr_op = wa_zycbt032-belnr.

            IF <fs_op>-tipo_op = 'E'.

              <fs_op>-status   = 'I'.

...

 

...

              periodo_fechado = 2

              OTHERS          = 3.

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY

        tcode  = 'F-30'

        tabela = '/PWS/ZYCBT226'

        cpochv = wa_zycbe033-cpochv

        tpmsg  = 'S'

        INTO wa_zycbt032.

      IF sy-subrc EQ 0.

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

        <fs_zycbt030>-vlsltrans = <fs_zycbt030>-vlsltrans -

                                  wa_zycbe033-wrbtr.

* << Fim da exclusão

        <fs_zycbt030>-belnr6    = wa_zycbt032-belnr.

        <fs_zycbt030>-budat     = wa_zycbe033-budat.

        IF <fs_zycbt030>-belnr_t IS INITIAL.

          <fs_zycbt030>-belnr_t = <fs_zycbt030>-belnr6.

          <fs_zycbt030>-budat_t = <fs_zycbt030>-budat.

        ENDIF.

        UPDATE /pws/zycbt030

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

          SET   vlsltrans = <fs_zycbt030>-vlsltrans

* << Fim da exclusão

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

          SET

* << Fim da inclusão

                belnr6    = <fs_zycbt030>-belnr6

                budat     = <fs_zycbt030>-budat

                belnr_t   = <fs_zycbt030>-belnr_t

                budat_t   = <fs_zycbt030>-budat_t

          WHERE nrinvoic  = <fs_zycbt030>-nrinvoic

            AND nrparcf   = <fs_zycbt030>-nrparcf

            AND gsberf    = <fs_zycbt030>-gsberf.

        <fs_op>-belnr_desm_cli = wa_zycbt032-belnr.

        UPDATE /pws/zycbt226

          SET   belnr_desm_cli = <fs_op>-belnr_desm_cli

...

 

...

    /pws/zycbt089-previsto_usd = wa_zycbt089-previsto_usd.

    IF v_total_30 > wa_zycbt089-previsto_usd.

      v_msg_previsto = text-028.

    ELSE.

      CLEAR v_msg_previsto.

    ENDIF.

  ENDIF.

ENDFORM.

FORM contabilizacoes_estorno.

  DATA: v_excecao(1)       TYPE c.

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

  DATA:

    v_cpochv    TYPE /pws/zycbe033-cpochv,

    wa_zycbe033 TYPE t_s_zycbe033.

* << Fim da inclusão

  CLEAR: v_belnr_est_f02,

         v_dtlancto_est_f02.

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

  IF    <fs_op>-tipo_op           EQ 'E'     AND

        <fs_op>-status            EQ 'I'     AND

     NOT <fs_op>-belnr_op         IS INITIAL AND

         <fs_op>-belnr_desmliqand IS INITIAL AND

         <fs_op>-belnr_desm_cli   IS INITIAL AND

         <fs_op>-belnr_compens    IS INITIAL.

    CONCATENATE <fs_op>-bukrs

                <fs_op>-nrseq

           INTO v_cpochv.

    PERFORM estorna_documento

      USING <fs_op>-dtlancto

            v_cpochv

      CHANGING wa_zycbe033

               <fs_op>-belnr_op.

    IF itab_zycbt034[] IS INITIAL.

      CLEAR <fs_op>-belnr_op.

      READ TABLE itab_zycbt030 INTO wa_zycbt030 WITH KEY

            nrinvoic = <fs_op>-nrinvoic

            nrparcf  = <fs_op>-nrparcf

            gsberf   = <fs_op>-gsberf.

      IF sy-subrc = 0.

        wa_zycbt030-vlsltrans = wa_zycbt030-vlsltrans +

                                <fs_op>-vlr_exterior.

        MODIFY itab_zycbt030 FROM wa_zycbt030

                             TRANSPORTING vlsltrans

                             WHERE nrinvoic EQ wa_zycbt030-nrinvoic

                               AND gsberf   EQ wa_zycbt030-gsberf

                               AND nrparcf  EQ wa_zycbt030-nrparcf.

      ENDIF.

    ENDIF.

  ELSE.

* << Fim da inclusão

  IF <fs_op>-tipo_op = 'E'.

    PERFORM verifica_liq_and.

    PERFORM limpa_dados_bi.

    PERFORM f02_reversa CHANGING v_belnr_est_f02

                                 v_dtlancto_est_f02.

    PERFORM limpa_dados_bi.

    PERFORM estorno USING 'C'

                          v_belnr_est_f02

                          v_dtlancto_est_f02.

    PERFORM limpa_dados_bi.

    PERFORM estorno_liq_and USING v_belnr_est_f02

                                  v_dtlancto_est_f02.

    PERFORM limpa_dados_bi.

    PERFORM estorno USING 'O'

                          v_belnr_est_f02

                          v_dtlancto_est_f02.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

  IF <fs_op>-tipo_op = 'P'.

    PERFORM limpa_dados_bi.

    PERFORM doc_op USING 'X'

                   CHANGING v_belnr_est_f02

                            v_dtlancto_est_f02.

    PERFORM limpa_dados_bi.

    PERFORM estorno USING 'OC'

                          v_belnr_est_f02

                          v_dtlancto_est_f02.

...

 

...

    v_periodo            TYPE frper,

    v_ano                TYPE gjahr,

    v_periodo_fechado(1) TYPE c,

    wa_mensagem TYPE t_mensagem.

  PERFORM limpa_dados_bi.

  p_zycbe033-tcode  = c_fb08.

  p_zycbe033-belnr  = p_doc.

  p_zycbe033-bldat  = p_dtlanc.

  p_zycbe033-budat  = p_zycbe033-bldat.

  p_zycbe033-cpochv = p_cpochv.

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

  p_zycbe033-bukrs  = <fs_op>-bukrs.

* << Fim da inclusão

  PERFORM determina_periodo_contabil

    USING    <fs_op>-bukrs

             p_dtlanc

    CHANGING v_periodo

             v_ano.

  PERFORM verifica_periodo_contabil

    USING

      <fs_op>-bukrs

      v_periodo

      v_ano

...

 

...

 

  DATA: v_campo(30) TYPE c,

        v_value(10) TYPE c,

        v_index     TYPE sy-tabix,

        v_bukrs     TYPE /pws/zycbe226-bukrs,

        v_gjahr     TYPE bkpf-gjahr,

        v_nrparcf   TYPE /pws/zycbe226-nrparcf,

        wa_zycbt017 TYPE t_s_zycbt017.

 

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

  DATA: v_periodo   TYPE frper.

* << Fim da inclusão

 

  FIELD-SYMBOLS:

    <fs_contrato> TYPE t_contrato,

    <fs_disp> TYPE t_disponibilidade,

    <fs_zycbt226> TYPE t_s_zycbe226.

 

  GET CURSOR FIELD v_campo VALUE v_value.

 

  CHECK NOT v_campo IS INITIAL.

 

...

...

...

...

...