CE PLUS - Nota 013949

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: SISCOSERV

Data/Hora da Publicação: 09/06/2014 10:00:40

Data/Hora Última Alteração: 09/06/2014 10:00:40

Descrição da Nota: SISCOSERV - CARGA SISCOSERV - NÚMERO RC

Sintoma

- formato do campo Número RC incorreto

- inclusão da validação de permissão ou não de Número de RC para o enquadramento

 

 

Solução

O formato do campo Número RC foi ajustado e foi incluída a verificação do parâmetro /pws/zycat045

para identificar se o Enquadramento permite ou não o Número de RC

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

SISCOSERV - CRIAÇÃO AUTOMÁTICA DE RAS/RVS

SISCOSERV - ROBÔ - MELHORIAS PARA TRATAR RE-ENVIO AUTOMÁTICO DO ARQUIVO

CARGA SISCOSERV

SISCOSERV - CRIAÇÃO COM ORIGEM EM FRETE E SEGURO DE PEDIDO DE COMPRA

Informações Complementares

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

Nota Número 13949 Data: 22/05/2014 Hora: 12:13:48

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

 

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

Nota Número              : 13949

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00007

Agrupamento              : 00170

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

Referência às notas relacionadas:

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

 

12632  - 00001 - 9.0    - 00002  - CARGA SISCOSERV

13194  - 00002 - 9.0    - 00005  - SISCOSERV - ROBÔ - MELHORIAS PARA TRATAR RE-ENVIO AUTOMÁTICO DO A

13874  - 00003 - 9.0    - 00007  - SISCOSERV - CRIAÇÃO AUTOMÁTICA DE RAS/RVS

13919  - 00004 - 9.0    - 00007  - SISCOSERV - CRIAÇÃO COM ORIGEM EM FRETE E SEGURO DE PEDIDO DE COM

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

SISCOSERV - CARGA SISCOSERV - NÚMERO RC

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

Palavras Chave:

SISCOSERV - CARGA SISCOSERV - NÚMERO RC

 

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

Objetos da nota:

FUNC /PWS/ZYCA_CARGA_SICOSERV_CONTR

DYNP /PWS/SAPMZYCA011                        0102

REPS /PWS/ZYCAR022

REPS /PWS/LZYCAGFF01

REPS /PWS/MZYCA011F01

REPS /PWS/MZYCA011I01

REPS /PWS/MZYCA011O01

REPT /PWS/SAPLZYCAGF

REPT /PWS/SAPMZYCA011

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA011                        0102

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0102

...

  MODULE status_0102.

  MODULE ajusta_tc.

  LOOP AT itab_zycat032t CURSOR tc_enq-current_line.

    MODULE atualiza_tela_enq.

  ENDLOOP.

PROCESS AFTER INPUT.

  MODULE exit_command AT EXIT-COMMAND.

  LOOP AT itab_zycat032t.

    field /pws/zycat032-cod_enquad

      module valida_enquad.

* >> Início da inclusão:

    field /pws/zycat032-numero_rc

      module valida_numerorc.

* << Fim da inclusão

    module atualiza_itab_enq.

  ENDLOOP.

  MODULE user_command.

 

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

Modificações efetuadas em REPS /PWS/ZYCAR022

 

...

                                   'ITAB_ENQUA'

                                   v_erro.

    IF NOT v_erro IS INITIAL.

      MESSAGE i015 WITH text-e06 text-e07.

    ENDIF.

  ENDIF.

  IF NOT r_header IS INITIAL AND

     NOT itab_enqua[] IS INITIAL.

    DELETE itab_enqua INDEX 1.

  ENDIF.

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

  delete itab_enqua where cod_enquad is initial.

* << Fim da inclusão

  IF NOT p_redi IS INITIAL.

    PERFORM download_arquivo USING p_redi

                                   'ITAB_REDI'

                                   v_erro.

    IF NOT v_erro IS INITIAL.

      MESSAGE i015 WITH text-e08 text-e07.

    ENDIF.

  ENDIF.

  IF NOT r_header IS INITIAL AND

     NOT itab_redi[] IS INITIAL.

    DELETE itab_redi INDEX 1.

  ENDIF.

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

  delete itab_redi where re is initial and

                         di is initial.

* << Fim da inclusão

  LOOP AT itab_cabec INTO wa_cabec.

    PERFORM ajusta_emp CHANGING wa_cabec-bukrs_ext.

    MOVE-CORRESPONDING wa_cabec TO wa_zycat030.

    CLEAR: wa_zycat030-nrseq, wa_zycat030-valor.

    PERFORM cod_pais USING wa_zycat030-bukrs_ext

                           wa_zycat030-tp_processo

                  CHANGING wa_zycat030-cod_pais.

    LOOP AT itab_opera INTO wa_opera

      WHERE nrseq = wa_cabec-nrseq.

      PERFORM ajusta_valor USING    wa_zycat030-waers

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCAGFF01

 

...

      endif.

    endif.

  endif.

endform.

form verifica_operacoes tables   p_zycat031 structure /pws/zycat031

                                 p_zycat032 structure /pws/zycat032

                                 p_erro     structure /pws/zycae004

                        using    p_zycat030 structure /pws/zycat030.

  data: wa_zycat031 type /pws/zycat031,

        wa_erro     type /pws/zycae004.

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

  DATA: itab_zycat045 TYPE TABLE OF /pws/zycat045.

* << Fim da inclusão

  if p_zycat031[] is initial.

    wa_erro-msg = text-e05.

    append wa_erro to p_erro.

  endif.

  loop at p_zycat031 into wa_zycat031.

    if wa_zycat031-operacao is initial.

      wa_erro-campo = text-018.

      wa_erro-msg   = text-e02.

      append wa_erro to p_erro.

    endif.

...

 

...

      wa_erro-campo = text-022.

      wa_erro-msg   = text-e04.

      append wa_erro to p_erro.

    endif.

    if wa_zycat031-valor is initial.

      wa_erro-operacao = wa_zycat031-operacao.

      wa_erro-campo = text-023.

      wa_erro-msg   = text-e02.

      append wa_erro to p_erro.

    endif.

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

    SELECT * FROM /pws/zycat045

      INTO TABLE itab_zycat045

      FOR ALL ENTRIES IN p_zycat032

      WHERE cod_enquad = p_zycat032-cod_enquad.

    PERFORM verifica_enquad TABLES p_zycat032

                                   itab_zycat045

                                   p_erro

                            USING  p_zycat030.

* << Fim da inclusão

  endloop.

endform.

form carga_ras_rvs tables   p_zycat031 structure /pws/zycat031

                            p_zycat032 structure /pws/zycat032

                            p_zycat033 structure /pws/zycat033

                            p_tline    structure tline

                            p_retorno  structure /pws/zycae004

                   using    p_zycat030 structure /pws/zycat030.

  data: wa_zycat031 type /pws/zycat031,

        wa_zycat032 type /pws/zycat032,

...

 

...

          move /pws/zycat039-nrseq to v_identificador.

          perform carrega_log using '/PWS/ZYCAT039'

                                    'U'

                                    sy-tcode

                                    v_funcionalidade

                                    v_identificador.

        endif.

      endif.

  endcase.

endform.

* >> Início da inclusão:

FORM verifica_enquad    TABLES   p_zycat032 STRUCTURE /pws/zycat032

                                 p_zycat045 STRUCTURE /pws/zycat045

                                 p_erro     STRUCTURE /pws/zycae004

                        USING    p_zycat030 STRUCTURE /pws/zycat030.

  DATA: wa_zycat032 TYPE /pws/zycat032,

        wa_zycat045 TYPE /pws/zycat045,

        wa_erro     TYPE /pws/zycae004,

        v_split1(9) TYPE c,

        v_split2(9) TYPE c,

        v_strlen    TYPE i.

  LOOP AT p_zycat032 INTO wa_zycat032.

    READ TABLE p_zycat045 INTO wa_zycat045

      WITH KEY cod_enquad = wa_zycat032-cod_enquad.

    IF sy-subrc NE 0.

      wa_erro-campo = text-028.

      wa_erro-msg   = text-e14.

      APPEND wa_erro TO p_erro.

      CONTINUE.

    ENDIF.

    IF wa_zycat045-rvs IS INITIAL AND

       p_zycat030-tp_processo = 'V'.

      wa_erro-campo = text-028.

      wa_erro-msg   = text-e15.

      APPEND wa_erro TO p_erro.

      CONTINUE.

    ENDIF.

    IF wa_zycat045-ras IS INITIAL AND

       p_zycat030-tp_processo = 'A'.

      wa_erro-campo = text-028.

      wa_erro-msg   = text-e15.

      APPEND wa_erro TO p_erro.

      CONTINUE.

    ENDIF.

    IF wa_zycat045-inc_rc IS INITIAL AND

       NOT wa_zycat032-numero_rc IS INITIAL.

      wa_erro-campo = text-028.

      wa_erro-msg   = text-e16.

      APPEND wa_erro TO p_erro.

      CONTINUE.

    ENDIF.

    CHECK NOT wa_zycat032-numero_rc IS INITIAL.

    SPLIT wa_zycat032-numero_rc AT '/' INTO v_split1 v_split2.

    v_strlen = strlen( v_split1 ).

    IF v_strlen NE 2.

      wa_erro-campo = text-029.

      wa_erro-msg   = text-e17.

      APPEND wa_erro TO p_erro.

      CONTINUE.

    ELSE.

      v_strlen = strlen( v_split2 ).

      IF v_strlen NE 6.

        wa_erro-campo = text-029.

        wa_erro-msg   = text-e17.

        APPEND wa_erro TO p_erro.

        CONTINUE.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA011F01

 

...

      wa_ekpo-ebeln            TO  wa_zycat031-nrseq_origem.

    MOVE-CORRESPONDING wa_ekko TO wa_ekko_aux.

    PERFORM busca_parametros_campos.

    APPEND wa_zycat031 TO itab_zycat031t.

  ENDLOOP.

  IF itab_zycat031t[] IS INITIAL.

    MESSAGE i015 WITH text-i25 text-i26.

    p_erro = 'X'.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM set_screen_0102.

  DATA: wa_zycat045 TYPE /pws/zycat045.

  CHECK NOT /pws/zycat032-cod_enquad IS INITIAL.

  SELECT SINGLE * FROM /pws/zycat045

    INTO wa_zycat045

    WHERE cod_enquad = /pws/zycat032-cod_enquad.

  IF wa_zycat045-inc_rc IS INITIAL.

    LOOP AT SCREEN.

      IF screen-name = '/PWS/ZYCAT032-NUMERO_RC'.

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

    if not /pws/zycat032-numero_rc is initial.

      CLEAR: itab_zycat032t-numero_rc, /pws/zycat032-numero_rc.

      MODIFY itab_zycat032t INDEX tc_enq-current_line.

      message w061 with text-i57 /pws/zycat032-cod_enquad text-i58.

    endif.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA011I01

 

...

    WHEN 'A'.

      IF wa_zycat045-ras IS INITIAL.

        MESSAGE e015 WITH text-e38 text-e39.

      ENDIF.

    WHEN 'V'.

      IF wa_zycat045-rvs IS INITIAL.

        MESSAGE e015 WITH text-e38 text-e39.

      ENDIF.

  ENDCASE.

ENDMODULE.

* >> Início da inclusão:

MODULE valida_numerorc INPUT.

  DATA:

    v_split1(9) TYPE c,

    v_split2(9) TYPE c,

    v_strlen    TYPE i.

  CHECK NOT /pws/zycat032-numero_rc IS INITIAL.

  CHECK v_okcode NE 'CANC'.

  SPLIT /pws/zycat032-numero_rc AT '/' INTO v_split1 v_split2.

  v_strlen = strlen( v_split1 ).

  IF v_strlen NE 2.

    MESSAGE e015 WITH text-e41.

  ELSE.

    v_strlen = strlen( v_split2 ).

    IF v_strlen NE 6.

      MESSAGE e015 WITH text-e41.

    ENDIF.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCA011O01

 

...

    endloop.

    loop at tc_enq-cols into wa_cols.

      wa_cols-screen-input = '1'.

      modify tc_enq-cols from wa_cols.

    endloop.

  endif.

endmodule.

module atualiza_tela_enq output.

  move-corresponding itab_zycat032t to /pws/zycat032.

  move: itab_zycat032t-mark to v_mark.

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

  perform set_screen_0102.

* << Fim da inclusão

endmodule.

module status_0101 output.

  if not v_exibe is initial.

    loop at screen.

      if screen-name ne 'BOT_ENQ'.

        screen-input = '0'.

        modify screen.

      endif.

    endloop.

    loop at tc_oper-cols into wa_cols.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPLZYCAGF

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 028

 

Texto: (23 caracteres)

"Código de Enquadramento"

 

Comprimento máximo: 23

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 029

 

Texto: (19 caracteres)

"Nº Registro Crédito"

 

Comprimento máximo: 19

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E14

 

Texto: (56 caracteres)

"Código não cadastrado. Verificar transação /PWS/ZYCAT045"

 

Comprimento máximo: 56

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E15

 

Texto: (43 caracteres)

"Código não permitido para tipo de processo."

 

Comprimento máximo: 67

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E16

 

Texto: (49 caracteres)

"Código não permite NÚmero de Registro de Crédito."

 

Comprimento máximo: 49

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E17

 

Texto: (36 caracteres)

"Preencher campo no formato nn/nnnnnn"

 

Comprimento máximo: 36

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCA011

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: E40

 

Texto: (25 caracteres)

"Flete de órdenes de compr"

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: E41

 

Texto: (31 caracteres)

"Enter value in format nn/nnnnnn"

 

Comprimento máximo: 34

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: E41

 

Texto: (34 caracteres)

"Digitar valor no formato nn/nnnnnn"

 

Comprimento máximo: 34

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: E41

 

Texto: (33 caracteres)

"Introduzca el valor en el formato"

 

Comprimento máximo: 34

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I57

 

Texto: (7 caracteres)

"Framing"

 

Comprimento máximo: 13

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I57

 

Texto: (13 caracteres)

"Enquadramento"

 

Comprimento máximo: 13

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I57

 

Texto: (5 caracteres)

"Marco"

 

Comprimento máximo: 13

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: I58

 

Texto: (31 caracteres)

"does not allow Credit Registrat"

 

Comprimento máximo: 31

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: I58

 

Texto: (31 caracteres)

"não permite Registro de Crédito"

 

Comprimento máximo: 31

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: I58

 

Texto: (31 caracteres)

"no permite el registro de crédi"

 

Comprimento máximo: 31