CE PLUS - Nota 000379

Módulo: DRAWBACK

Funcionalidade: Parâmetros

Data/Hora da Publicação: 01/12/2005 00:00:00

Data/Hora Última Alteração: 17/02/2011 13:03:23

Descrição da Nota: NCM COM 8 DÍGITOS.

Sintoma

Precisamos efetuar um desenvolvimento adicional específico, numa funcionalidade já existente em

parâmetros, /PWS/ZYCI062 - Gerenciamento de Lista Técnica por Agrupamento, para efetuar tratamento

de NCM com 8 dígitos.

 

 

 

Solução

Inserir chamada de exit no programa /PWS/SAPMZYCI062.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 00379 Data: 01/12/2005 Hora: 17:12:35

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

 

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

Nota Número              : 00379

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00020

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

NCM COM 8 DÍGITOS.

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

Palavras Chave:

NCM - PARÂMETROS - DRAWBACK

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI062                        0100

DYNP /PWS/SAPMZYCI062                        0104

PROG /PWS/MZYCI061X01

PROG /PWS/MZYCI062X01

REPS /PWS/MZYCI062F01

REPS /PWS/MZYCI062I01

REPS /PWS/MZYCI062O01

REPS /PWS/MZYCI062TOP

REPS /PWS/SAPMZYCI062

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI062                        0100

 

 

process before output.

* PBO FLOW LOGIC FOR TABSTRIP 'TS_CADASTRO'

  module ts_cadastro_active_tab_set.

  call subscreen ts_cadastro_sca

    including g_ts_cadastro-prog g_ts_cadastro-subscreen.

 

  module status_0100.

*<<Início inclusão

  module exit_tela.

*<<Fim inclusão

 

process after input.

* PAI FLOW LOGIC FOR TABSTRIP 'TS_CADASTRO'

  call subscreen ts_cadastro_sca.

 

  module ts_cadastro_active_tab_get.

 

  module user_command_0100.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI062                        0104

 

process before output.

 

  module status_0104.

 

  module carrega_cabec_0104.

 

  module carrega_ltitem.

 

*<<Início inclusão

  module exit_tela.

*<<Fim inclusão

 

  loop at itab_ltitem with control tc_ltitem

         cursor tc_ltitem-current_line.

  endloop.

 

process after input.

 

  loop at itab_ltitem.

    chain.

      field: itab_ltitem-mark,

             itab_ltitem-posnr,

             itab_ltitem-idnrk,

             itab_ltitem-menge,

             itab_ltitem-meins,

             itab_ltitem-datuv,

             itab_ltitem-datub.

 

      module validar_ltitem.

      module atualiza_itab_ltitem on chain-request.

    endchain.

  endloop.

 

  module user_command_0104.

 

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

Modificações efetuadas em PROG /PWS/MZYCI062X01

 

*----------------------------------------------------------------------*

*   INCLUDE /PWS/MZYCI061X01                                           *

*----------------------------------------------------------------------*

 

* Include para declarações de Tabelas e/ou variáveis de exits

* Ao utilizar esse programa é necessário muito cuidado, pois ao alterar

* qq. dado dentro desso include, ira refletir no programa Standard

* automaticamente

*----------------------------------------------------------------------*

 

data: begin of common part a.

 

 

*Controles

*** Table Strip ***

* FUNCTION CODES FOR TABSTRIP 'TS_CADASTRO'

constants: begin of c_ts_cadastro,

             tab1 like sy-ucomm value 'TS_CADASTRO_FC1',

             tab2 like sy-ucomm value 'TS_CADASTRO_FC2',

             tab3 like sy-ucomm value 'TS_CADASTRO_FC3',

             tab4 like sy-ucomm value 'TS_CADASTRO_FC4',

           end of c_ts_cadastro.

* DATA FOR TABSTRIP 'TS_CADASTRO'

 

*controls:  ts_cadastro type tabstrip.

 

*Chamado 270208 inicio

data:      begin of g_ts_cadastro,

             subscreen   like sy-dynnr,

             prog        like sy-repid value '/PWS/SAPMZYCI062',

             pressed_tab like sy-ucomm value c_ts_cadastro-tab1,

           end of g_ts_cadastro.

 

* Chamado 270208 fim

 

* Tabelas Internas

data: begin of itab_zycit423 occurs 0.

          include structure /pws/zycit423.

data mark.

data: end of itab_zycit423.

 

 

data: begin of itab_zycit423_save occurs 0.

          include structure /pws/zycit423.

data mark.

data: end of itab_zycit423_save.

 

data: begin of itab_zycit423_aux occurs 0.

          include structure /pws/zycit423.

data: end of itab_zycit423_aux.

 

*Variáveis.

  DATA: e_subrc LIKE sy-subrc        ,

        e_exec_okcode                ,

        ok_code like sy-ucomm.

 

data: end of common part.

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

Modificações efetuadas em REPS /PWS/MZYCI062F01

 

...

  move itab_agrup-AGRUP to /PWS/ZYCIT421-AGRUP.

  refresh ITAB_LTCAB.

  refresh: itab_ltitem.

  call screen '0104'.

endform.

* >> Início da inclusão:

FORM verifica_exit USING    p_modulo

                            p_func

                            p_exit.

  CLEAR itab_zyglt100.

  REFRESH itab_zyglt100.

  CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

       EXPORTING

            i_codmod                = p_modulo

            i_func                  = p_func

            i_zexit                 = p_exit

       TABLES

            itab_zyglt100           = itab_zyglt100

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI062I01

 

module user_command_0100 input.

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

  case sy-ucomm.

* << Fim da exclusão

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

  CLEAR: r_okcode, e_exec_okcode.

  CALL METHOD cl_gui_cfw=>dispatch.

  IF NOT r_okcode IS INITIAL.

    ok_code = r_okcode.

  ENDIF.

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI062'

                                'CGD002'.

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY zexit = 'CGD002'  BINARY SEARCH.

    IF sy-subrc EQ 0.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) if found.

        IF e_subrc NE 0.

          EXIT.

        ENDIF.

      ENDIF.

    ENDIF.

    IF e_exec_okcode IS INITIAL.

   case ok_code.

* << Fim da inclusão

    when 'BACK'.

      leave to screen 0.

    when 'LEAV'.

      leave to screen 0.

  endcase.

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

 endif.

* << Fim da inclusão

endmodule.

module ts_cadastro_active_tab_get input.

  ok_code = sy-ucomm.

  read table itab_agrup with key mark = 'X'.

  if sy-subrc eq 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI062O01

 

...

endmodule.

module limpa_423 output.

clear: itab_zycit423.

refresh: itab_zycit423.

endmodule.

* >> Início da inclusão:

MODULE exit_tela OUTPUT.

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI062'

                              'CGD001'.

  CLEAR: itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY zexit = 'CGD001' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa).

    ENDIF.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI062TOP

 

program  /pws/sapmzyci062 message-id /pws/zycim.

* >> Início da inclusão:

include: /pws/zygl_bot  ,

         /pws/mzyci062x01.

* << Fim da inclusão

tables: /pws/zycit419,

        /pws/zycit420,

        /pws/zycit421,

        /pws/zycit422,

        /pws/zycit423.

types: begin of tab_type,

        fcode like rsmpe-func,

      end of tab_type.

* >> Início da exclusão:

constants: begin of c_ts_cadastro,

             tab1 like sy-ucomm value 'TS_CADASTRO_FC1',

             tab2 like sy-ucomm value 'TS_CADASTRO_FC2',

             tab3 like sy-ucomm value 'TS_CADASTRO_FC3',

             tab4 like sy-ucomm value 'TS_CADASTRO_FC4',

           end of c_ts_cadastro.

* << Fim da exclusão

controls:  ts_cadastro type tabstrip.

* >> Início da exclusão:

data:      begin of g_ts_cadastro,

             subscreen   like sy-dynnr,

             prog        like sy-repid value '/PWS/SAPMZYCI062',

             pressed_tab like sy-ucomm value c_ts_cadastro-tab1,

           end of g_ts_cadastro.

data:      ok_code like sy-ucomm.

* << Fim da exclusão

controls: tc_agrup   type tableview using screen 0101,

          tc_grupmat type tableview using screen 0102,

          tc_ltcab   type tableview using screen 0103,

          tc_ncm     type tableview using screen 0105,

          tc_ltitem  type tableview using screen 0104.

...

 

...

data: mark type c.

data: end of itab_grupmat_aux.

data: begin of itab_tvm1 occurs 0.

          include structure TVM1.

data: end of itab_TVM1.

* >> Início da exclusão:

data: begin of itab_zycit423 occurs 0.

          include structure /pws/zycit423.

data mark.

data: end of itab_zycit423.

data: begin of itab_zycit423_save occurs 0.

          include structure /pws/zycit423.

data mark.

data: end of itab_zycit423_save.

data: begin of itab_zycit423_aux occurs 0.

          include structure /pws/zycit423.

data: end of itab_zycit423_aux.

* << Fim da exclusão

data: begin of itab_ltcab occurs 0.

        include structure /pws/zycit421.

data: mark  type c,

      descr type /pws/zycit419-descr.

data: end of itab_ltcab.

...

 

...

        include structure /pws/zycit422.

data: end of itab_ltitem_aux.

data: itab_status type standard table of tab_type with

               non-unique default key initial size 10,

      wa_status type tab_type.

* >> Início da inclusão:

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

* << Fim da inclusão

data: v_conitn like /pws/zycit422-posnr,

      v_mark                           ,

      v_confirm                        .

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCI062

...

 

 

INCLUDE /PWS/MZYCI062TOP.

INCLUDE /PWS/MZYCI062O01.

INCLUDE /PWS/MZYCI062I01.

INCLUDE /PWS/MZYCI062F01.

*INCLUDE /PWS/MZYCI062X01.