CE PLUS - Nota 013172

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: SISCOSERV

Data/Hora da Publicação: 14/08/2013 00:00:00

Data/Hora Última Alteração: 19/08/2013 11:18:58

Descrição da Nota: SISCOSERV - ASSOCIAÇÃO SISCOSERV - PRAZO PARA RAS/RVS E RP/RF

Sintoma

1) alteração da verificação do prazo de registro das operações no siscoserv em função de alteração

da legislação;

2) alteração do campo para busca da Data de pagamento/recebimento na associação;

3) a ajuda de pesquisa de Embarques de Importação na aba de Fat. Importação do programa de

Associação de Siscoserv está trazendo faturas incorretas

 

 

Solução

1) os programas foram alterados para considerar a data de vencimento o último dia do mês subsequente

as datas de início e de Pagamento/Recebimento;

2) o programa foi alterado pra buscar a data de lançamento do boleto

3) o programa foi ajustado para trazer corretamente as faturas de acordo com o tipo

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

SISCOSERV - ASSOCIAÇÃO

CB - 999999 - SISCOSERV - REQUEST COMPLETA CB - 999999 - SISCOSERV - REQUEST COMPLETA

SISCOSERV

SISCOSERV

SISCOERV - ASSOCIAÇÃO SISCOSERV

SISCOSERV

REPATRIAÇÃO DE REMESSA

REMESSA - DA BASE CÁLCULO IMPOSTOS

SISCOSERV - NBS

Informações Complementares

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

Nota Número 13172 Data: 14/08/2013 Hora: 14:52:52

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

 

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

Nota Número              : 13172

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00005

Agrupamento              : 00161

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

Referência às notas relacionadas:

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

 

04798  - 00001 - 7.0    - 00003  - REMESSA - DA BASE CÁLCULO IMPOSTOS

06671  - 00002 - 7.0    - 00005  - REPATRIAÇÃO DE REMESSA

12604  - 00003 - 9.0    - 00002  - SISCOSERV

12650  - 00004 - 9.0    - 00002  - SISCOSERV

12811  - 00005 - 9.0    - 00003  - SISCOSERV

12878  - 00006 - 9.0    - 00004  - SISCOSERV - ASSOCIAÇÃO

12943  - 00007 - 9.0    - 00004  - CB - 999999 - SISCOSERV - REQUEST COMPLETA

13109  - 00008 - 9.0    - 00005  - SISCOSERV - NBS

13149  - 00009 - 9.0    - 00005  - SISCOERV - ASSOCIAÇÃO SISCOSERV

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

SISCOSERV - ASSOCIAÇÃO SISCOSERV - PRAZO PARA RAS/RVS E RP/RF

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

Palavras Chave:

SISCOSERV - ASSOCIAÇÃO SISCOSERV - FOLLOW UP FATURAS

PRAZO REGISTRO SISCOSERV

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

Objetos da nota:

VIED /PWS/ZYCAV009

FUNC /PWS/ZYCA_PRAZO_SISCOSERV

DYNP /PWS/SAPMZYGL007                        0131

REPS /PWS/LZYCAGFF01

REPS /PWS/MZYCA011I01

REPS /PWS/MZYCA012F01

REPS /PWS/ZYCAR021

 

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

Modificações efetuadas em VIED /PWS/ZYCAV009

 

TABELAS/CONDIÇÕES JOIN

 

TABELAS:

Incluir a tabela /PWS/ZYCIT094 (deverá ser incluída como a primeira da lista, antes das tabelas já

existentes)

 

CONDIÇÕES JOIN:

Incluir as informações abaixo (as informações deverão ser incluídas no ínicio, antes das informações

já existentes)

TABELA         NOME CPO     =  TABELA          NOME CPO

/PWS/ZYCIT006  MANDT        =  /PWS/ZYCIT094   MANDT

/PWS/ZYCIT006  NRSEQCE      =  /PWS/ZYCIT094   NRSEQCE

 

CPOS. VISÃO

No campo NRPAGTO, alterar o nome da tabela para /PWS/ZYCIT094 e o nome do campo para NRSEQ

 

CONDIÇÕES DE SELEÇÃO

Incluir as informações abaixo na primeira linta (antes das informações já existentes)

 

TABELA:          NOME CPO.:   OPERADOR:       VL COMP:       AND/OR

/PWS/ZYCIT006    TPFATURA     EQ              '01'           OR

 

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

Modificações efetuadas em FUNC /PWS/ZYCA_PRAZO_SISCOSERV

 

CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCA_PRAZO_SISCOSERV

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCAGF

TEXTO BREVE: Verifica prazo para Registro da RAS/RVS e RF/RP

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

IMPORTAÇÃO:

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

I_BUKRS       TYPE   BUKRS            '          ' '      ' '     ' Empresa

I_PROCESSO    TYPE   CHAR1            '          ' '      ' '     ' 1-> RAS/RVS - 2-> RP/RF

I_DATA_INI    TYPE   DATUM            '          ' '      ' '     ' Data Inicial Operação /

                                                                    Pagamento / Faturamento

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO  REFERÊNCIA   TRANSF.  TEXTO BREVE

E_PRAZO       TYPE   DATUM '        '   '     '   Prazo para Registro no Siscoserv

 

MODIFIC.:

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

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

 

EXCEÇÕES:

EXCEÇÃO                    TEXTO BREVE

 

TEXTO FONTE

* >> Início da inclusão:

FUNCTION /pws/zyca_prazo_siscoserv.

  DATA: v_prz_ras_rvs TYPE /pws/zycbt007-prz_ras_rvs,

        v_prz_rp_rf   TYPE /pws/zycbt007-prz_rp_rf,

        v_prazo_ini   TYPE datum,

        v_prazo_fim   TYPE datum.

  SELECT SINGLE prz_ras_rvs prz_rp_rf

    FROM /pws/zycbt007

    INTO (v_prz_ras_rvs, v_prz_rp_rf)

    WHERE bukrs = i_bukrs.

  IF sy-subrc NE 0.

    SELECT SINGLE prz_ras_rvs prz_rp_rf

      FROM /pws/zycbt007

      INTO (v_prz_ras_rvs, v_prz_rp_rf).

  ENDIF.

  IF i_processo = '1'.

    v_prazo_ini = i_data_ini + v_prz_ras_rvs.

  ELSEIF i_processo = '2'.

    v_prazo_ini = i_data_ini + v_prz_rp_rf.

  ENDIF.

  PERFORM prazo_final USING    v_prazo_ini

                      CHANGING e_prazo.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYGL007                        0131

 

MODIFICAR TEXTO "/PWS/ZYCBT007-PRZ_RAS_RVS"

Comprimento Visível      48

Texto                    Tolerância para entrega das RAS/RVS no Siscoser

 

MODIFICAR TEXTO "/PWS/ZYCBT007-PRZ_RP_RF"

Comprimento Visível      46

Texto                    Tolerância para entrega das RF/RP no Siscoserv

 

MODIFICAR FRAME "Q_SISCOSERV"

Texto                    Tolerância SISCOSERV

 

 

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

Modificações efetuadas em REPS /PWS/LZYCAGFF01

 

...

  move 'it_xml[] = it_xml_aux.' to wa_prog.

  append wa_prog to itab_prog.

  clear wa_prog.

  move 'endform.' to wa_prog.

  append wa_prog to itab_prog.

  generate subroutine pool itab_prog name v_program message v_mess.

  if sy-subrc eq 0 and not v_program is initial.

    perform converte_xml in program (v_program) tables it_xml.

  endif.

endform.

* >> Início da inclusão:

form prazo_final using    p_prazo_ini

                 changing p_prazo.

  data: v_data type datum,

        v_dia  type p value '6',

        v_mes  type i.

  v_data(4)   = p_prazo_ini(4).

  v_data+4(2) = p_prazo_ini+4(2) + 2.

  v_data+6(2) = '01'.

  if v_data+4(2) > '12'.

    v_mes = v_data+4(2) - 12.

    v_data+4(2) = v_mes.

    v_data(4) = v_data(4) + 1.

  endif.

  v_data = v_data - 1.

  while v_dia = '6' or v_dia = '7'.

    call function '/PWS/ZYCB_DIA_DA_SEMANA'

         exporting

              datum  = v_data

         importing

              wotnr  = v_dia

         exceptions

              others = 0.

    if v_dia = '6' or v_dia = '7'.

      v_data = v_data - 1.

    endif.

  endwhile.

  p_prazo = v_data.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA011I01

 

...

    when 'V'.

      v_mconame = 'DEBI'.

  endcase.

  call function 'G_HELP_VALUES_GET'

       exporting

            mc_object      = v_mconame

       importing

            selected_value = /pws/zycat030-bukrs_ext.

endmodule.

module atualiza_itab_oper input.

* >> Início da exclusão: MODULE ATUALIZA_ITAB_OPER

  data: v_prazo type i,

* << Fim da exclusão

* >> Início da inclusão: MODULE ATUALIZA_ITAB_OPER

  data: v_prazo type datum,

* << Fim da inclusão

        v_prz_ras_rvs type /pws/zycbt007-prz_ras_rvs.

  move-corresponding /pws/zycat031 to itab_zycat031t.

  move: v_mark to itab_zycat031t-mark,

        /pws/zycat030-nrseq to itab_zycat031t-nrseq,

        /pws/zycat030-waers to itab_zycat031t-waers.

  if v_cria = 'X' or /pws/zycat030-n_rvs_ras is initial.

    clear itab_zycat031t-origem.

  else.

    read table itab_zycat031_ant into wa_zycat031

      with key nrseq    = itab_zycat031t-nrseq

...

 

...

      append itab_zycat031t.

    endif.

  endif.

  if v_okcode ne 'BACK'           and

     /pws/zycat030-status ne 'PS' and

     /pws/zycat030-status ne 'EX' and

     /pws/zycat030-status ne 'ES'.

    read table itab_zycat031t index tc_oper-current_line.

    check itab_zycat031t-msg is initial.

    check not /pws/zycat031-data_ini is initial.

* >> Início da exclusão: MODULE ATUALIZA_ITAB_OPER

    v_prazo = sy-datum - /pws/zycat031-data_ini.

    select single prz_ras_rvs

      from /pws/zycbt007

      into v_prz_ras_rvs

      where bukrs = /pws/zycat030-bukrs.

    if v_prazo > v_prz_ras_rvs.

* << Fim da exclusão

* >> Início da inclusão: MODULE ATUALIZA_ITAB_OPER

    CALL FUNCTION '/PWS/ZYCA_PRAZO_SISCOSERV'

      EXPORTING

        i_bukrs          = /pws/zycat030-bukrs

        i_processo       = '1'

        i_data_ini       = /pws/zycat031-data_ini

      IMPORTING

       E_PRAZO           = v_prazo.

    if sy-datum > v_prazo.

* << Fim da inclusão

      message i061 with text-i23 /pws/zycat031-operacao.

      itab_zycat031t-msg = 'X'.

    else.

* >> Início da exclusão: MODULE ATUALIZA_ITAB_OPER

      v_prz_ras_rvs = v_prz_ras_rvs - 10.

      if v_prazo >= v_prz_ras_rvs.

        v_prz_ras_rvs = v_prz_ras_rvs + 10.

        v_prazo = v_prz_ras_rvs - v_prazo.

        message i061 with text-i21 v_prazo

* << Fim da exclusão

* >> Início da inclusão: MODULE ATUALIZA_ITAB_OPER

      v_prazo = v_prazo - 10.

      if sy-datum >= v_prazo.

        v_prazo = v_prazo + 10.

        v_prz_ras_rvs = sy-datum - v_prazo.

        message i061 with text-i21 v_prz_ras_rvs

* << Fim da inclusão

          text-i22 /pws/zycat031-operacao.

        itab_zycat031t-msg = 'X'.

      endif.

    endif.

    modify itab_zycat031t index tc_oper-current_line.

  endif.

endmodule.

module carrega_valor_saldo input.

  clear: /pws/zycat030-valor, /pws/zycat030-saldo.

  loop at itab_zycat031t where status ne 'EX'

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA012F01

 

...

          delete itab_zycat039_r.

        endif.

      endloop.

      clear v_okcode.

  endcase.

endform.

form atualiza_itab tables   p_itab_zycat039 structure itab_zycat039_r

                   using    p_wa_zycat039   structure  /pws/zycat039

                            p_tc            type cx_tableview.

  data: v_pago value 'X',

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

        v_prazo type i,

* << Fim da exclusão

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

        v_prazo TYPE datum,

* << Fim da inclusão

        v_processo(20) type c,

        v_prz_rp_rf    type /pws/zycbt007-prz_rp_rf.

  perform verifica_associacao changing p_wa_zycat039

                                       v_pago.

  check v_pago = 'X'.

  move-corresponding p_wa_zycat039 to p_itab_zycat039.

  move: v_mark to p_itab_zycat039-mark,

        /pws/zycat031-nrseq    to p_itab_zycat039-nrseq,

        /pws/zycat031-operacao to p_itab_zycat039-operacao.

  if not p_tc-current_line is initial.

...

 

...

          /pws/zycat031-nrseq    to p_itab_zycat039-nrseq,

          /pws/zycat031-operacao to p_itab_zycat039-operacao.

    append  p_itab_zycat039.

  endif.

  check p_itab_zycat039-msg is initial and

    not p_itab_zycat039-dt_pg_rec is initial.

  if v_okcode ne 'BACK'           and

     p_itab_zycat039-status ne 'PS' and

     p_itab_zycat039-status ne 'EX' and

     p_itab_zycat039-status ne 'ES'.

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

    v_prazo = sy-datum - p_itab_zycat039-dt_pg_rec.

* << Fim da exclusão

    if not p_itab_zycat039-remessa is initial.

      v_processo = p_itab_zycat039-remessa.

    elseif not p_itab_zycat039-fat_comis is initial.

      v_processo = p_itab_zycat039-fat_comis.

    elseif not p_itab_zycat039-fat_imp is initial.

      v_processo = p_itab_zycat039-fat_imp.

    elseif not p_itab_zycat039-fatura is initial.

      v_processo = p_itab_zycat039-fatura.

    endif.

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

    if v_prz_rp_rf is initial.

      select single prz_rp_rf

        from /pws/zycbt007

        into v_prz_rp_rf

        where bukrs = /pws/zycat030-bukrs.

* << Fim da exclusão

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

    IF p_itab_zycat039-dt_pg_rec >= /pws/zycat031-data_ini.

      CALL FUNCTION '/PWS/ZYCA_PRAZO_SISCOSERV'

           EXPORTING

                i_bukrs    = /pws/zycat030-bukrs

                i_processo = '2'

                i_data_ini = p_itab_zycat039-dt_pg_rec

           IMPORTING

                e_prazo    = v_prazo.

    ELSE.

      CALL FUNCTION '/PWS/ZYCA_PRAZO_SISCOSERV'

           EXPORTING

                i_bukrs    = /pws/zycat030-bukrs

                i_processo = '2'

                i_data_ini = /pws/zycat031-data_ini

           IMPORTING

                e_prazo    = v_prazo.

* << Fim da inclusão

    endif.

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

    if v_prazo > v_prz_rp_rf.

* << Fim da exclusão

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

    IF sy-datum > v_prazo.

* << Fim da inclusão

      message i061 with text-i20 v_processo.

      p_itab_zycat039-msg = 'X'.

    else.

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

      v_prz_rp_rf = v_prz_rp_rf - 10.

      if v_prazo >= v_prz_rp_rf.

        v_prz_rp_rf = v_prz_rp_rf + 10.

        v_prazo = v_prz_rp_rf - v_prazo.

        message i061 with text-i18 v_prazo

* << Fim da exclusão

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

      v_prazo = v_prazo - 10.

      IF sy-datum >= v_prazo.

        v_prazo = v_prazo + 10.

        v_prz_rp_rf = sy-datum - v_prazo.

        MESSAGE i061 WITH text-i18 v_prz_rp_rf

* << Fim da inclusão

          text-i19 v_processo.

        p_itab_zycat039-msg = 'X'.

      endif.

    endif.

    if not p_tc-current_line is initial.

      modify p_itab_zycat039 index p_tc-current_line.

    else.

      modify p_itab_zycat039 index 1.

    endif.

  endif.

...

 

...

    from /pws/zycbt124

    into (p_bukrs, p_bukext, p_wa_zycat039-num_nf,

           p_wa_zycat039-moeda, p_wa_zycat039-valor)

    where nrseq = p_wa_zycat039-remessa.

  if sy-subrc ne 0.

    message i061 with text-i08 p_wa_zycat039-remessa

      text-i09.

    clear p_pago.

    exit.

  endif.

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

  select single nrseq dtboleto

* << Fim da exclusão

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

  SELECT SINGLE nrseq dtcredpr

* << Fim da inclusão

    from /pws/zycbt031

    into (v_nrseq, p_wa_zycat039-dt_pg_rec)

    where mdcorresp = 'CP'

      and nrcorresp = p_wa_zycat039-remessa.

  if sy-subrc ne 0.

    message i061 with text-i12 text-i11.

    clear p_pago.

    exit.

  endif.

  select single bco_ccme

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCAR021

 

...

          wa_zycat031-waers       TO wa_alv-waers,

          wa_zycat031-valor       TO wa_alv-valor,

          wa_zycat031-saldo       TO wa_alv-saldo,

          wa_zycat031-status      TO v_domvalue,

          wa_zycat030-bukrs_ext   TO wa_alv-bukrs_ext.

    IF wa_zycat030-tp_processo = 'A'.

      wa_alv-tp_processo = text-002.

    ELSE.

      wa_alv-tp_processo = text-003.

    ENDIF.

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

    SELECT SINGLE prz_ras_rvs

      FROM /pws/zycbt007

      INTO v_prz_ras_rvs

      WHERE bukrs = wa_alv-bukrs.

    wa_alv-prazo_web = wa_alv-data_ini + v_prz_ras_rvs.

* << Fim da exclusão

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

    call function '/PWS/ZYCA_PRAZO_SISCOSERV'

         exporting

              i_bukrs    = wa_alv-bukrs

              i_processo = '1'

              i_data_ini = wa_alv-data_ini

         importing

              e_prazo    = wa_alv-prazo_web.

* << Fim da inclusão

    IF wa_zycat030-tp_processo = 'V'.

      READ TABLE itab_kna1 WITH KEY kunnr =  wa_zycat030-bukrs_ext.

      IF sy-subrc EQ 0.

        wa_alv-name1 = itab_kna1-name1.

      ENDIF.

    ELSE.

      READ TABLE itab_lfa1 WITH KEY lifnr =  wa_zycat030-bukrs_ext.

      IF sy-subrc EQ 0.

        wa_alv-name1 = itab_lfa1-name1.

      ENDIF.

...