CE PLUS - Nota 008647

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 07/07/2009 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:39:07

Descrição da Nota: VERIFICAÇÃO DE ITENS REALIZADOS ANTES DE DELETAR OS ITENS PROVISIONADOS

Sintoma

1 - O programa permite a exclusão dos itens provisionados (Importação e exportação) mesmo existindo

itens realizados;

2 - O programa não pede confirmação antes de eliminar os itens provisionados;

3 - O programa permite excluir os itens no ato concessório isenção.

 

 

Solução

1 - O programa foi ajustado para verificar se existem itens realizados antes de deletar os itens

provisionados;

2 - Foi criada uma tela de confirmação antes da deleção do item;

3 - O botão de deleção foi inibido nos atos concessórios isenção.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

INCLUSÃO DE BOTÕES DE ORDENAÇÃO E POSICIONAMENTO NO ATO CONCESSÓRIO

CORREÇÃO NA TRANSFERENCIA DE SALDO DO ATO CONCESSÓRIO

Informações Complementares

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

Nota Número 08647 Data: 07/07/2009 Hora: 15:47:32

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

 

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

Nota Número              : 08647

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00104

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

Referência às notas relacionadas:

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

 

07165  - 00001 - 7.0    - 00006  - CORREÇÃO NA TRANSFERENCIA DE SALDO DO ATO CONCESSÓRIO

07861  - 00002 - 7.0    - 00008  - INCLUSÃO DE BOTÕES DE ORDENAÇÃO E POSICIONAMENTO NO ATO CONCESSÓR

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

VERIFICAÇÃO DE ITENS REALIZADOS ANTES DE DELETAR OS ITENS PROVISIONADOS

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

Palavras Chave:

ATO CONCESSÓRIO IMPORTAÇÃO EXPORTAÇÃO DELETAR ITENS PROVISIONADOS

 

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

Objetos da nota:

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040X01

REPT /PWS/SAPMZYCI040

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

        MODIFY tc_cimp2-cols FROM wa_cols2.

      ENDIF.

    ENDIF.

  ENDLOOP.

  LOOP AT SCREEN.

    IF v_tcode2 EQ '/PWS/ZYCI040_E'.

      IF screen-group4 EQ 'BTN'.

        screen-invisible = '1'.

        MODIFY SCREEN.

      ENDIF.

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

    ELSE.

      IF /pws/zycie244-modalidade EQ 'I'.

        IF screen-name EQ 'BTN203_3'.

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    CASE screen-name.

      WHEN '/PWS/ZYCIE244-T_COMPQTD'.

        IF /pws/zycie244-tipo EQ 'G'.

          screen-invisible = 1.

          MODIFY SCREEN.

        ENDIF.

      WHEN '/PWS/ZYCIE244-S_COMPQTD'.

        IF /pws/zycie244-tipo EQ 'G'.

          screen-invisible = 1.

...

 

...

      IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-UM_NCM'.

        wa_cols2-screen-input = 0.

        MODIFY tc_mexp2-cols FROM wa_cols2.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF v_tcode2 EQ '/PWS/ZYCI040_E'.

    LOOP AT SCREEN.

      IF screen-group4 EQ 'BTN'.

        screen-invisible = '1'.

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

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

  ELSE.

    IF /pws/zycie244-modalidade EQ 'I'.

      LOOP AT SCREEN.

        IF screen-name EQ 'BTN206_3'.

          screen-input = 0.

* << Fim da inclusão

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

  IF /pws/zycie244-status = 'A'.

    LOOP AT tc_mexp2-cols INTO wa_exp.

      wa_exp-screen-input = 0.

...

 

...

ENDFORM.

FORM trata_button_exclm_c.

  IF pressed_tab_3a NE 'FS_COMPI2'.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit245.

    IF itab_zycit245-markci = 'X'.

      LOOP AT itab_zycit246_final WHERE nrseqd  = itab_zycit245-nrseqd

                                    AND nritem  = itab_zycit245-nritem

                                    AND codcomp = itab_zycit245-codcomp.

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

        LOOP AT itab_zycit246 WHERE nrseqd = itab_zycit246_final-nrseqd

                              AND nritem  = itab_zycit246_final-nritem

                              AND codcomp = itab_zycit246_final-codcomp.

          DELETE itab_zycit246.

* << Fim da exclusão

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

        IF /pws/zycie244-tipo EQ 'F' OR itab_zycit245-nritem > 9000.

          MESSAGE e104 WITH text-353 text-351.

          EXIT.

        ELSE.

          MESSAGE e104 WITH text-350 text-351.

          EXIT.

        ENDIF.

* << Fim da inclusão

        ENDLOOP.

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

        DELETE itab_zycit246_final.

      ENDLOOP.

* << Fim da exclusão

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

      DATA: v_confirm(1) TYPE c.

      CALL FUNCTION 'POPUP_TO_CONFIRM'

           EXPORTING

              titlebar                    = text-039

              text_question               = text-352

              text_button_1               = text-041

              text_button_2               = text-042

              default_button              = '1'

              display_cancel_button       = 'X'

           IMPORTING

              answer                      = v_confirm

           EXCEPTIONS

              text_not_found              = 1

              OTHERS                      = 2.

      IF v_confirm EQ '1'.

* << Fim da inclusão

      DELETE itab_zycit245t WHERE nrseqd  = itab_zycit245-nrseqd

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

                                AND nritem  = itab_zycit245-nritem.

        DELETE itab_zycit245  WHERE nrseqd  = itab_zycit245-nrseqd

* << Fim da inclusão

                              AND nritem  = itab_zycit245-nritem.

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

      DELETE itab_zycit245.

* << Fim da exclusão

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

      ELSE.

        EXIT.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM trata_button_mall_m.

  IF itab_zycit247[] IS INITIAL.

    EXIT.

  ENDIF.

  IF pressed_tab_4a NE 'FS_MAT2'.

    EXIT.

  ENDIF.

...

 

...

  ENDIF.

  IF pressed_tab_4a NE 'FS_MAT2'.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit247.

    itab_zycit247-markme = ' '.

    MODIFY itab_zycit247.

  ENDLOOP.

ENDFORM.

FORM trata_button_exclm_m.

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

  DATA: v_confirm(1) TYPE c.

* << Fim da inclusão

  IF pressed_tab_4a NE 'FS_MAT2'.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit247.

    IF itab_zycit247-markme = 'X'.

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

      IF /pws/zycie244-tipo EQ 'G'.

       LOOP AT itab_zycit248_final WHERE nrseqd  = itab_zycit247-nrseqd

                                     AND nritem  = itab_zycit247-nritem

                                    AND j_1bnbm = itab_zycit247-j_1bnbm.

        LOOP AT itab_zycit248 WHERE nrseqd = itab_zycit248_final-nrseqd

                                AND nritem = itab_zycit248_final-nritem

                              AND j_1bnbm = itab_zycit248_final-j_1bnbm.

            DELETE itab_zycit248.

          ENDLOOP.

          DELETE itab_zycit248_final.

* << Fim da exclusão

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

      IF /pws/zycie244-tipo NE 'N'.

        SELECT SINGLE * FROM /pws/zycit282

        WHERE nrseqd EQ itab_zycit247-nrseqd

        AND   nritem EQ itab_zycit247-nritem.           "#EC CI_NOFIRST

        IF sy-subrc EQ 0.

          MESSAGE e104 WITH text-349 text-351.

          EXIT.

        ENDIF.

        CALL FUNCTION 'POPUP_TO_CONFIRM'

             EXPORTING

                titlebar                    = text-039

                text_question               = text-352

                text_button_1               = text-041

                text_button_2               = text-042

                default_button              = '1'

                display_cancel_button       = 'X'

             IMPORTING

                answer                      = v_confirm

             EXCEPTIONS

                text_not_found              = 1

                OTHERS                      = 2.

        IF v_confirm EQ '1'.

          DELETE itab_zycit247.

        ELSE.

          EXIT.

        ENDIF.

        v_verificp2 = 'N'.

      ELSE.

        IF /pws/zycit321-c_comum NE 'X'.

          LOOP AT itab_zycit371 WHERE codigo EQ itab_zycit247-mat_int.

            MESSAGE e104 WITH text-349 text-351.

            EXIT.

* << Fim da inclusão

        ENDLOOP.

      ELSE.

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

        LOOP AT itab_zycit248_final WHERE nrseqd = itab_zycit247-nrseqd

                                      AND nritem = itab_zycit247-nritem

                                      AND codmat = itab_zycit247-codmat.

        LOOP AT itab_zycit248 WHERE nrseqd = itab_zycit248_final-nrseqd

                                AND nritem = itab_zycit248_final-nritem

                                AND codmat = itab_zycit248_final-codmat.

            DELETE itab_zycit248.

          ENDLOOP.

          DELETE itab_zycit248_final.

* << Fim da exclusão

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

          LOOP AT itab_zycit371 WHERE ncm EQ itab_zycit247-j_1bnbm.

            MESSAGE e104 WITH text-349 text-351.

            EXIT.

* << Fim da inclusão

        ENDLOOP.

      ENDIF.

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

        CALL FUNCTION 'POPUP_TO_CONFIRM'

             EXPORTING

                titlebar                    = text-039

                text_question               = text-352

                text_button_1               = text-041

                text_button_2               = text-042

                default_button              = '1'

                display_cancel_button       = 'X'

             IMPORTING

                answer                      = v_confirm

             EXCEPTIONS

                text_not_found              = 1

                OTHERS                      = 2.

        IF v_confirm EQ '1'.

* << Fim da inclusão

      DELETE itab_zycit247.

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

      v_verificp2 = 'N'.

* << Fim da exclusão

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

        ELSE.

          EXIT.

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM trata_button_excl2.

  DATA: v_confirm2(1) TYPE c VALUE 'N',

        v_dtato       LIKE sy-datum   .

  CALL FUNCTION 'POPUP_TO_CONFIRM'

    EXPORTING

       titlebar                    = text-039

       text_question               = text-043

...

 

...

    v_tabix = sy-tabix.

  ENDLOOP.

  IF sy-subrc = 0.

    tc_realizi-top_line = v_tabix.

    nextline = v_tabix.

    LEAVE TO SCREEN  0 .

  ELSE.

    MESSAGE s015 WITH text-346.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM trata_button_exclm_n.

  LOOP AT itab_zycit427.

    IF itab_zycit427-mark = 'X'.

      LOOP AT itab_zycit432 WHERE nrseqd = itab_zycit427-nrseqd

                                AND item = itab_zycit427-item.

        MESSAGE e104 WITH text-353 text-351.

        EXIT.

      ENDLOOP.

      DATA: v_confirm(1) TYPE c.

      CALL FUNCTION 'POPUP_TO_CONFIRM'

           EXPORTING

              titlebar                    = text-039

              text_question               = text-352

              text_button_1               = text-041

              text_button_2               = text-042

              default_button              = '1'

              display_cancel_button       = 'X'

           IMPORTING

              answer                      = v_confirm

           EXCEPTIONS

              text_not_found              = 1

              OTHERS                      = 2.

      IF v_confirm EQ '1'.

        DELETE itab_zycit427.

      ELSE.

        EXIT.

      ENDIF.

      v_verificp2_merc ='N'.

    ENDIF.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

  CASE ok_code2.

    WHEN 'MALL'.

      itab_zycit427-mark = 'X'.

      MODIFY itab_zycit427 TRANSPORTING mark

          WHERE mark NE 'X'.

    WHEN 'DALL'.

      CLEAR itab_zycit427-mark.

      MODIFY itab_zycit427 TRANSPORTING mark

          WHERE mark EQ 'X'.

    WHEN 'EXCLM'.

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

      DELETE itab_zycit427 WHERE mark EQ 'X'.

      IF sy-subrc EQ '0'.

        v_verificp2_merc ='N'.

      ENDIF.

* << Fim da exclusão

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

      PERFORM trata_button_exclm_n.

* << Fim da inclusão

  ENDCASE.

ENDMODULE.

MODULE user_command_0226 INPUT.

  CASE ok_code2.

    WHEN 'FS_COMPO3'.

      pressed_tab_8a = ok_code2.

      dynpronr8a     = '0225'.

    WHEN 'FS_RESUMERC'.

      READ TABLE itab_zycit427 WITH KEY mark = 'X'.

      IF sy-subrc EQ 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040X01

 

TABLES: /pws/zycie244,

        t001     ,

        /pws/zycit321 ,

        /pws/zycie245 ,

        /pws/zycie247 ,

        /pws/zycie245c,

        /pws/zycie245d,

        /pws/zycit245 ,

        /pws/zycit244.

TABLES  /pws/zycie495 .

* >> Início da inclusão:

tables /pws/zycit282.

* << Fim da inclusão

DATA: BEGIN OF COMMON PART a.

DATA: BEGIN OF itab_zycit468 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit468.

DATA: END OF itab_zycit468.

DATA: BEGIN OF itab_zycit246 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit246   .

DATA: mark.

DATA: END OF itab_zycit246           .

DATA: BEGIN OF itab_zycit246_final OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit246         .

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI040

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 349

 

Texto: (43 caracteres)

"Existem exportações realizadas para o item."

 

Comprimento máximo: 43

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 350

 

Texto: (43 caracteres)

"Existem importações realizadas para o item."

 

Comprimento máximo: 43

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 351

 

Texto: (23 caracteres)

"Exclusão não permitida!"

 

Comprimento máximo: 23

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 352

 

Texto: (34 caracteres)

"Deseja excluir o item selecionado?"

 

Comprimento máximo: 34

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 353

 

Texto: (48 caracteres)

"Existem entradas no mercado interno para o item."

 

Comprimento máximo: 48