CE PLUS - Nota 000566

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Declaração de Origem

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

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

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

Sintoma

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

 

 

Solução

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

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 00566 Data: 02/01/2006 Hora: 10:27:56

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

 

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

Nota Número              : 00566

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 6.0

Pacote                   : 00022

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

DESENVOLVIMENTO DE CONSISTÊNCIAS PARA ACORDO ACE59

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

Palavras Chave:

ACE59; ACORDO; CONSISTÊNCIAS; DESENVOLVIMENTO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCE042                        0003

DYNP /PWS/SAPMZYCE042                        0105

REPS /PWS/MZYCE042F01

REPS /PWS/MZYCE042O01

REPS /PWS/SAPMZYCE042

REPT /PWS/SAPMZYCE042

TABD /PWS/ZYCEE273

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCE042                        0003

 

* >> O campo /PWS/ZYCEE273-NRSEQDO foi incluído novamente na tela para que o MATCH-CODE fosse

*     ativado <<

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

Modificações efetuadas em DYNP /PWS/SAPMZYCE042                        0105

 

* >> Lógica de processamento alterada em tela 0105 <<

 

process before output.

 

  MODULE: set_rolagem,

          set_screen,

 

* >> Início da exclusão: TELA 0105

          set_page.

* << Fim da exclusão

 

* >> Início da inclusão: TELA 0105

          set_page,

          compor_regra_origem.

* << Fim da Inclusão

 

  LOOP AT itab_zycet278 WITH CONTROL tc_processo.

 

    MODULE: atualiza_tela.

  ENDLOOP.

 

 

PROCESS AFTER INPUT.

 

  LOOP AT itab_zycet278.

 

    MODULE: atualiza_itab.

  ENDLOOP.

 

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

Modificações efetuadas em REPS /PWS/MZYCE042F01

 

FORM salva_declaracao.

 

  DATA: v_mat_prima.

 

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

  PERFORM composicao_regra_origem USING 'X'.

* << Fim da inclusão

 

  LOOP AT itab_zycet273.

    MODIFY itab_zycet273 FROM /pws/zycee273.

  ENDLOOP.

  MODIFY /pws/zycet273 FROM TABLE itab_zycet273.

  READ TABLE itab_zycet273.

 

...

 

  ENDIF.

  DELETE FROM /pws/zycet279 WHERE nrseqdo = itab_zycet273-nrseqdo.

  MOVE itab_zycet273-nrseqdo    TO /pws/zycee279-nrseqdo.

  MODIFY /pws/zycet279 FROM /pws/zycee279.

  COMMIT WORK.

 

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

  MESSAGE s001 WITH text-042.

* << Fim da exclusão

 

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

  MESSAGE i001 WITH text-042.

* << Fim da inclusão

 

ENDFORM.

 

...

 

FORM trata_ncm_naladi TABLES itab_marc     STRUCTURE itab_marc

                             itab_t604f    STRUCTURE itab_t604f

                             itab_t604n    STRUCTURE itab_t604n

                             itab_zycet509 STRUCTURE itab_zycet509

                      USING v_acordo.

 

  READ TABLE itab_zycet288 INDEX 1.

 

  IF itab_zycet288-rorigem EQ '01'.

    READ TABLE itab_zycet284 WITH KEY acordo = v_acordo.

    CASE itab_zycet284-codacor.

 

...

 

              MOVE itab_t604n-text1 TO itab_zycet274_aux-descr.

            ENDIF.

          ENDIF.

        ENDIF.

      WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'

 

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

       OR  '00008' OR '00009'.

* << Fim da exclusão

 

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

       OR  '00008' OR '00009' OR '00010'.

* << Fim da inclusão

 

        READ TABLE itab_zycet509 WITH KEY matnr = itab_mara_aux-matnr.

        IF sy-subrc = 0.

          MOVE itab_zycet509-codnaladi    TO itab_zycet274_aux-naladi.

          MOVE itab_zycet509-descr_naladi TO itab_zycet274_aux-descr.

        ELSE.

 

...

 

              MOVE itab_t604n-text1 TO itab_zycet274_aux-descr.

            ENDIF.

          ENDIF.

        ENDIF.

      WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'

 

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

         OR  '00008' OR '00009'.

* << Fim da exclusão

 

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

       OR  '00008' OR '00009' OR '00010'.

* << Fim da inclusão

 

        READ TABLE itab_zycet509 WITH KEY matnr = itab_familia-matnr.

        IF sy-subrc = 0.

          MOVE itab_zycet509-codnaladi    TO itab_zycet274_aux-naladi.

          MOVE itab_zycet509-descr_naladi TO itab_zycet274_aux-descr.

        ELSE.

 

...

 

          ENDIF.

        ENDIF.

    ENDCASE.

  ENDIF.

 

ENDFORM.                    " trata_ncm_naladi

 

...

 

FORM trata_acordo_produto USING v_acordo.

 

  CLEAR: itab_zycet274, itab_vba, itab_zycet274_aux, itab_vbap_vbak,

         itab_vbkd, itab_desc, itab_marc, itab_t604n, itab_t604f,

         itab_t604f_aux, itab_zycet509.

  REFRESH: itab_zycet274, itab_vba, itab_zycet274_aux, itab_vbap_vbak,

           itab_vbkd, itab_desc, itab_marc, itab_t604n, itab_t604f,

 

...

 

               WHERE steuc  = itab_marc-steuc

               AND   spras  = sy-langu.

          ENDIF.

        ENDIF.

      WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'

 

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

       OR  '00008' OR '00009'.

* << Fim da exclusão

 

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

       OR  '00008' OR '00009' OR '00010'.

* << Fim da inclusão

 

        SELECT matnr steuc FROM marc INTO TABLE itab_marc

        WHERE matnr  = itab_mara_aux-matnr

        AND   steuc <> ' '.

        IF sy-subrc EQ 0.

          READ TABLE itab_marc INDEX 1.

 

...

 

              FOR ALL ENTRIES IN itab_marc

            WHERE steuc = itab_marc-steuc

            AND   spras = sy-langu.

          ENDIF.

        WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'

 

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

         OR  '00008' OR '00009'.

* << Fim da exclusão

 

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

         OR  '00008' OR '00009' OR '00010'.

* << Fim da inclusão

 

          SELECT * FROM /pws/zycet509 INTO TABLE itab_zycet509

             FOR ALL ENTRIES IN itab_familia

            WHERE matnr  = itab_familia-matnr

             AND   steuc <> ' '.

          SELECT matnr steuc FROM marc INTO TABLE itab_marc

 

...

 

    APPEND itab_zycet274_aux.

    CLEAR itab_zycet274_aux.

  ENDIF.

 

  MOVE itab_zycet274_aux[] TO itab_zycet274[].

 

ENDFORM.                    " trata_acordo_produto

 

...

 

FORM trata_estados_partes TABLES itab_ekko STRUCTURE itab_ekko.

 

  CLEAR: itab_zycet276, itab_desc, itab_zycet277, itab_marc,

         itab_t604f, itab_lfa1, itab_aux, itab_zycet285,

         itab_vbap_vbak, itab_ekko_aux.

 

...

 

        ENDIF.

        MOVE v_perfinal_aux  TO  itab_zycet277-perfinal.

        APPEND itab_zycet277.

        CLEAR itab_zycet277.

      WHEN '00002' OR '00003' OR '00004' OR '00006' OR '00007'

 

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

         OR  '00008' OR '00009'.

* << Fim da exclusão

 

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

       OR  '00008' OR '00009' OR '00010'.

* << Fim da inclusão

 

        READ TABLE itab_marc WITH KEY matnr = it_stpox-idnrk.

        IF sy-subrc EQ 0.

          READ TABLE itab_t604f WITH KEY steuc = itab_marc-steuc.

          IF sy-subrc EQ 0.

            MOVE itab_t604f-/pws/codnaladi TO itab_aux-naladi.

 

...

 

           CLEAR itab_zycet277.

         ENDIF.

     ENDCASE.

   ENDLOOP.

 

 ENDFORM.                    " trata_estados_partes

 

...

 

* >> FORM COMPOSICAO_REGRA criado em programa /PWS/SAPMZYCE042 <<

FORM composicao_regra_origem USING p_flag.

  DATA v_ok TYPE c.

  READ TABLE itab_zycet279 INDEX 1.

  IF itab_zycet276[] IS INITIAL.

    itab_zycet279-descricao = 'Anexo IV, artigo 3, letra "i"'(039).

    IF NOT itab_zycet279[] IS INITIAL.

      MODIFY itab_zycet279 INDEX 1.

    ELSE.

      APPEND itab_zycet279.

    ENDIF.

  ELSE.

    LOOP AT itab_zycet277.

      READ TABLE itab_zycet274 INDEX sy-tabix.

      CHECK itab_zycet277-naladi(4) EQ itab_zycet274-naladi(4).

      v_ok = 'X'.

    ENDLOOP.

    IF v_ok IS INITIAL.

      itab_zycet279-descricao = 'Anexo IV, artigo 4, letra "a"'(058).

      IF NOT itab_zycet279[] IS INITIAL.

        MODIFY itab_zycet279 INDEX 1.

      ELSE.

        APPEND itab_zycet279.

      ENDIF.

    ELSE.

      CLEAR v_ok.

      LOOP AT itab_zycet277.

        READ TABLE itab_zycet274 INDEX sy-tabix.

        CHECK itab_zycet277-steuc(4) EQ itab_zycet274-steuc(4) AND

              itab_zycet277-perfinal <= 40.

        v_ok = 'X'.

      ENDLOOP.

      IF v_ok IS INITIAL.

        IF p_flag IS INITIAL.

          MESSAGE w016 WITH text-044 text-046.

        ENDIF.

        CLEAR itab_zycet279-descricao.

        CHECK NOT itab_zycet279[] IS INITIAL.

        MODIFY itab_zycet279 INDEX 1.

      ELSE.

        itab_zycet279-descricao = 'Anexo IV, artigo 4, letra "b"'(059).

        IF NOT itab_zycet279[] IS INITIAL.

          MODIFY itab_zycet279 INDEX 1.

        ELSE.

          APPEND itab_zycet279.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/MZYCE042O01

 

 MODULE set_screen OUTPUT.

 

   SELECT * FROM /pws/zycet284 INTO TABLE itab_zycet284.

 

   IF sy-tcode NE '/PWS/ZYCE042_C'.

     READ TABLE itab_zycet273 WITH KEY nrseqdo = /pws/zycee273-nrseqdo.

     READ TABLE itab_zycet273 INDEX 1.

 

...

 

            when 'TAB_MAT'.

              screen-invisible = '1'.

          endcase.

          modify screen.

        endloop.

 

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

      when '00002' or '00003' or '00004' or '00006' or

           '00007' or '00008' or '00009'.

* << Fim da exclusão

 

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

      WHEN '00002' OR '00003' OR '00004' OR '00006'

       OR  '00007' OR '00008' OR '00009' OR '00010'.

* << Fim da inclusão

 

        v_text1 = text-040.

        loop at screen.

          case screen-name.

            when 'TAB_TERCEIROS'.

              screen-invisible = '0'.

 

...

 

          screen-input = '0'.

      ENDCASE.

      MODIFY SCREEN.

    ENDLOOP.

  ENDIF.

 

ENDMODULE.                 " set_screen  OUTPUT

 

...

 

* >> MODULE COMPOR_REGRA_ORIGEM criado em programa /PWS/SAPMZYCE042 <<

MODULE compor_regra_origem OUTPUT.

  PERFORM composicao_regra_origem USING space.

ENDMODULE.

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCE042

 

* >> Não houver modificações relevantes neste include <<

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCE042

 

* >> Foram criados 3 símbolos de texto para programa /PWS/SAPMZYCE042 <<

 

ID  Chave      Comprimento  Txt.

 

 I  039                 29    Anexo IV, artigo 3, letra "i"

 I  058                 29    Anexo IV, artigo 4, letra "a"

 I  059                 29    Anexo IV, artigo 4, letra "b"

 

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

Modificações efetuadas em TABD /PWS/ZYCEE273

 

* >> Inclusão de tabela de verificação para o campo NRSEQDO <<

 

       Nome campo Elem.dados    Tab.verif.    N CtDt Comp. Grupo

DE:    NRSEQDO    /PWS/ZYCEL583

PARA:  NRSEQDO    /PWS/ZYCEL583 /PWS/ZYCET273