CE PLUS - Nota 000930

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Declaração de Origem

Data/Hora da Publicação: 22/02/2006 00:00:00

Data/Hora Última Alteração: 21/02/2011 15:08:15

Descrição da Nota: DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE58

Sintoma

Necessidade de tratamento de Declaração de Origem para o acordo ACE58.

 

 

 

Solução

Implementação de consistências para tratamento do acordo.

 

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

VERIFICAÇÃO DE NALADIS E SOMATÓRIA DA PERCENTUAIS

Informações Complementares

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

Nota Número 00930 Data: 22/02/2006 Hora: 08:59:33

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

 

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

Nota Número              : 00930

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00101

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

Referência às notas relacionadas:

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

 

00830  - 00001 - 6.0    - 00022  - VERIFICAÇÃO DE NALADIS E SOMATÓRIA DA PERCENTUAIS

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

DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE58

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

Palavras Chave:

EXPORTAÇÃO DECLARAÇÃO DE ORIGEM ACORDO ACE58

 

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

Objetos da nota:

REPS /PWS/MZYCE042F01

REPS /PWS/MZYCE042I01

REPS /PWS/MZYCE042TOP

REPT /PWS/SAPMZYCE042

 

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

Modificações efetuadas em REPS /PWS/MZYCE042F01

 

...

  PERFORM acessa_mara.

  PERFORM acessa_t005.

  PERFORM trata_acordo_produto USING v_acordo.

  PERFORM trata_material TABLES itab_mara_aux.

  PERFORM trata_estados_partes TABLES itab_ekko.

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

  select * from /pws/zycet283 into table itab_zycet283

    where acordo = v_acordo.

* << Fim da inclusão

  CALL SCREEN 0100.

ENDFORM.

FORM acessa_mara.

  CLEAR: itab_mara_aux, itab_mara, itab_familia, itab_cpo,

         itab_where_cond, itab_dd03l.

...

 

...

        WHERE nrseqdo = /pws/zycee273-nrseqdo.

      SELECT * FROM /pws/zycet279 INTO TABLE itab_zycet279

        WHERE nrseqdo = /pws/zycee273-nrseqdo.

      READ TABLE itab_zycet279 INDEX 1.

      /pws/zycee279 = itab_zycet279.

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

      select * from /pws/zycet283 into table itab_zycet283

        where acordo = /PWS/ZYCEE273-ACORDO.

* << Fim da inclusão

      v_select = 'X'.

    ENDIF.

  ENDIF.

ENDFORM.

FORM trata_enter.

...

 

...

            IF FOUND.

  ENDIF.

ENDFORM.

FORM composicao_regra_origem.

  DATA: v_ok TYPE c,

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

        v_percentual TYPE /pws/zycet277-perfinal.

* << Fim da exclusão

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

        v_percentual TYPE /pws/zycet277-perfinal,

        v_existe   type C.

* << Fim da inclusão

  FIELD-SYMBOLS: <fs-zycet277> LIKE itab_zycet277.

  CASE /pws/zycee273-acordo.

    WHEN 'ACE59'.

      READ TABLE itab_zycet279 INDEX 1.

      IF itab_zycet276[] IS INITIAL AND

...

 

...

           itab_zycet279-descricao = text-059.

            IF NOT itab_zycet279[] IS INITIAL.

              MODIFY itab_zycet279 INDEX 1.

            ELSE.

              APPEND itab_zycet279.

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

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    WHEN 'ACE58'.

      clear wa_consistencia.

      loop at itab_zycet277 where steuc    ne space or

                                  naladi   ne space or

                                  matnr    ne space or

                                  maktx    ne space or

                                  country  ne space or

                                  vlcif    ne space or

                                  waers    ne space or

                                  menge    ne space or

                                  meins    ne space or

                                  perfinal ne space .

        exit.

      endloop.

      if sy-subrc ne 0.

        wa_consistencia-consist_1 = 'X'.

      ELSE.

       clear v_existe.

        loop at itab_zycet274.

          read table itab_zycet283

            with key naladi = itab_zycet274-naladi.

          if sy-subrc eq 0.

            wa_consistencia-consist_2 = 'X'.

            exit.

          endif.

        endloop.

        if wa_consistencia-consist_2 eq 'X'.

           clear v_percentual.

           loop at itab_zycet277.

             v_percentual = v_percentual + itab_zycet277-perfinal.

           endloop.

           MESSAGE i001 WITH text-045.

           if v_percentual gt 50.

             MESSAGE w016 WITH text-044 text-046.

             clear itab_zycet279-descricao.

             CHECK NOT itab_zycet279[] IS INITIAL.

             MODIFY itab_zycet279 INDEX 1.

           else.

             wa_consistencia-consist_3 = 'X'.

* << Fim da inclusão

            ENDIF.

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

        else.

          CLEAR v_percentual.

          wa_consistencia-consist_4 = 'X'.

          LOOP AT itab_zycet277 .

            READ TABLE itab_zycet274

              WITH KEY naladi(4) = itab_zycet277-naladi(4).

            check sy-subrc eq 0.

            clear wa_consistencia-consist_4 .

          ENDLOOP.

          if wa_consistencia-consist_4 ne 'X'.

            clear v_percentual.

            loop at itab_zycet277.

              v_percentual = v_percentual + itab_zycet277-perfinal.

            endloop.

            if v_percentual gt 50.

              MESSAGE w016 WITH text-044 text-046.

              clear itab_zycet279-descricao.

              CHECK NOT itab_zycet279[] IS INITIAL.

              MODIFY itab_zycet279 INDEX 1.

            else.

              wa_consistencia-consist_5 = 'X'.

            endif.

          endif.

* << Fim da inclusão

          ENDIF.

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

      ENDIF.

      READ TABLE itab_zycet279 INDEX 1.

      itab_zycet279-nrseqdo   = /pws/zycee273-nrseqdo.

      if wa_consistencia-consist_1 = 'X'.

        itab_zycet279-descricao = text-060.

      elseif wa_consistencia-consist_3 = 'X'.

        itab_zycet279-descricao = text-061.

      elseif wa_consistencia-consist_4 = 'X'.

        itab_zycet279-descricao = text-062.

      elseif wa_consistencia-consist_5 = 'X'.

        itab_zycet279-descricao = text-063.

* << Fim da inclusão

        ENDIF.

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

      IF NOT itab_zycet279[] IS INITIAL.

        MODIFY itab_zycet279 INDEX 1.

      ELSE.

        APPEND itab_zycet279.

* << Fim da inclusão

      ENDIF.

    WHEN OTHERS.

  ENDCASE.

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/MZYCE042I01

 

...

      PERFORM trata_acordo_produto USING v_acordo.

      PERFORM trata_material TABLES itab_mara_aux.

      PERFORM trata_estados_partes TABLES itab_ekko.

      PERFORM trata_regra_origem USING mara-matnr.

      PERFORM busca_exit USING 'DCO003'.

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

      select * from /pws/zycet283 into table itab_zycet283

        where acordo = v_acordo.

* << Fim da inclusão

      CALL SCREEN '0100'.

    WHEN 'CANCEL'.

      CALL SCREEN '0001'.

  ENDCASE.

ENDMODULE.

...

 

...

      ELSE.

        MESSAGE i001 WITH text-049.

      ENDIF.

  ENDCASE.

ENDMODULE.

 

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

Modificações efetuadas em REPS /PWS/MZYCE042TOP

 

...

   nrseq             LIKE /pws/zycet002-nrseq,

   v_vlcif           LIKE /pws/zycet277-vlcif,

   v_perfinal_aux    LIKE /pws/zycet277-vlcif,

   v_nrseqdo         LIKE /pws/zycet273-nrseqdo,

   v_waers           LIKE /pws/zycet277-waers,

* >> Início da exclusão:

   v_programa        LIKE sy-repid.

* << Fim da exclusão

* >> Início da inclusão:

   v_programa        LIKE sy-repid,

   v_mensagem(45)    type C.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCE042

* Foram criados os seguintes elementos de texto:

 

Chave      Comprimento  Txt.

060         29          Anexo V, artigo 3, letra "i"

061         30          Anexo V, artigo 5, apêndice 1.

062         29          Anexo V, artigo 4, letra "a".

063         29          Anexo V, artigo 4, letra "b".