CE PLUS - Nota 002325

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 26/10/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:09:12

Descrição da Nota: TRATAMENTO PARA SUSPENSÃO DE ICMS NA DI POR REGIÃO

Sintoma

Quando crio a DI e coloco para os tributos o regime tributário "Isenção", o programa está calculando

valor a recolher para PIS e COFINS. Não deveria destacar valor a recolher de PIS e COFINS. Deve

destacar apenas o valor de ICMS para recolhimento

 

 

Solução

Atualização do programa da DI para tratamento do regime de Isenção.

 

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

RATEIO DE ICMS NA NF INCORRETO, NÃO CONSIDERANDO SUSPENSÃO DE IMPOSTOS.

DI DEVE LIMPAR VALOR A RECOLHER IMPOSTOS QUANDO ISENÇAO SEM DRAWBACK

TRATAMENTO P/BASE DE PIS E COFINS QUANDO IPI POSSUI ALIQUOTA ESPECIFICA

CRIAÇÃO DE UMA DI,IMPORTAÇÃO É SUSPENSO,PIS E O COFINS ESTÃO ZERADOS. VA

INCLUSÃO DA NOVA TELA PIS/COFINS NA DI

PARÂMETRO PARA INCLUSÃO DO FUNDAMENTO LEGAL DO PIS/COFINS

Informações Complementares

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

Nota Número 02325 Data: 26/10/2006 Hora: 15:03:15

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

 

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

Nota Número              : 02325

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00137

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

Referência às notas relacionadas:

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

 

01520  - 00001 - 6.0    - 00023  - INCLUSÃO DA NOVA TELA PIS/COFINS NA DI

01733  - 00002 - 6.0    - 00024  - DI DEVE LIMPAR VALOR A RECOLHER IMPOSTOS QUANDO ISENÇAO SEM DRAWB

01910  - 00003 - 6.0    - 00024  - PARÂMETRO PARA INCLUSÃO DO FUNDAMENTO LEGAL DO PIS/COFINS

01915  - 00004 - 6.0    - 00024  - TRATAMENTO P/BASE DE PIS E COFINS QUANDO IPI POSSUI ALIQUOTA ESPE

02034  - 00005 - 6.0    - 00024  - CRIAÇÃO DE UMA DI,IMPORTAÇÃO É SUSPENSO,PIS E O COFINS ESTÃO ZERA

02067  - 00006 - 6.0    - 00024  - RATEIO DE ICMS NA NF INCORRETO, NÃO CONSIDERANDO SUSPENSÃO DE IMP

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

TRATAMENTO PARA SUSPENSÃO DE ICMS NA DI POR REGIÃO

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

Palavras Chave:

TRATAMENTO DE REGIME TRIBUTÁRIO - SUSPENSÃO - DI - REGIÃO

/PWS/ZYCIT167 - PARÂMETROS - ISENÇÃO

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

Objetos da nota:

DOMD /PWS/ZYCID084

DYNP /PWS/SAPMZYCI023                        0180

DYNP /PWS/SAPMZYCI023                        0300

DYNP /PWS/SAPMZYCI023                        0433

FUGR /PWS/ZYCIGF1

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F02

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F04

REPS /PWS/MZYCI023I01

REPS /PWS/MZYCI023O01

REPS /PWS/MZYCI023TOP

TABD /PWS/ZYCIE100A

TABD /PWS/ZYCIT100

TABD /PWS/ZYCIT167

TABU TDDAT

TABU TVDIR

TOBJ /PWS/ZYCIT167S

 

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

Modificações efetuadas em DOMD /PWS/ZYCID084

 

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

Domínio modificado: /PWS/ZYCID084

-Valores individuais

Incluído valor fixo "4"

Texto incluído, idioma: PT (4 caracteres):

"ICMS"

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI023                        0180

 

process before output.

 

*<<Início Inclusão

MODULE SET_SCREEN.

*<<Fim Inclusão

 

process after input.

module: user_command_0231.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI023                        0300

 

*O seguinte campo foi modificado:

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

*DE:

   /PWS/ZYCIE116-ADICAO_SISC

      I/O        2       49       3       3       1     NUMC   X           Ent Off

      Alinh.à dir., Zeros à esq.

 

*PARA:

   /PWS/ZYCIE116-ADICAO_SISC

      I/O        2       49       3       3       1     NUMC   X               Off

      Alinh.à dir., Zeros à esq.

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI023                        0433

 

*Os seguintes itens foram incluídos na tela:

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

   %#AUTOTEXT001

      Texto      2       34      14      14       1     CHAR

 

   /PWS/ZYCIE100A-CODREGTRIICMS

      I/O        2       52       1      25       1     CHAR                   Off

      AC

      Chave externa, Botão EntrsPoss.stand., Drop-down, Caixa listagem

   /PWS/ZYCIE100A-CODFUNLEGICMS

      Texto      3       34      16      16       1     CHAR      X    F

 

   /PWS/ZYCIE100A-CODFUNLEGICMS

      I/O        3       52       2       2       1     CHAR   X           Ent Off

      AC

      Botão EntrsPoss.stand.

   T_FUNDES_ICMS

      I/O        3       55      42      42       1     CHAR                   Off S.Sd

 

 

*Diferenças na lógica de Processamento:

 

 

 

 

process before output.

module: set_screen_padrao.

 

process after input.

*<< inicio inclusão

  field /pws/zycie100a-codfunlegicms module load_fun_icms .

*<< fim inclusão

chain.

   field: /pws/zycie003-advalicms,

          /pws/zycie003-basred   ,

          /pws/zycie100a-icms_dif,

*<< inicio inclusão

          /pws/zycie100a-codregtriicms

*<< fim inclusão

   module calc_vicms on chain-request.

 

endchain.

*<< inicio inclusão

   module load_fun_icms .

*<< fim inclusão

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

 

FORM save_data_item.

  DATA : v_waersdif LIKE /pws/zycie100a-waersbem.

  CLEAR: v_waersdif.

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

  IF v_dit = 'S' AND /pws/zycie093-meiotransp = 'PS'

                 AND /pws/zycie085-tpdi       = 'S'.

    /pws/zycie100a-vlii  = t_iirec.

    /pws/zycie100a-vlipi = t_ipirec.

  ENDIF.

* << Fim da exclusão

  IF /pws/zycie085-mdadicao EQ 'N'.

    v_waersdif = itab_it-waersbem.

    MOVE-CORRESPONDING /pws/zycie003  TO itab_it.

    MOVE-CORRESPONDING /pws/zycie100a TO itab_it.

    itab_it-waersbem = v_waersdif.

...

 

...

    ENDIF.

    IF s_fbvr IS INITIAL.

      PERFORM load_fbvl.

    ENDIF.

    PERFORM calc_itab_vals USING 'I'.

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

    IF v_dit = 'S'.

      /pws/zycie085-vlii   = /pws/zycie085-vlii   + t_iirec.

      /pws/zycie085-vlipi  = /pws/zycie085-vlipi  + t_ipirec.

      /pws/zycie085-vlicms = /pws/zycie085-vlicms + t_icms.

    ELSE.

* << Fim da exclusão

      s_wadreco = s_waddevi = s_waddevi + ( itab_it-baseantid *

      ( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *

      itab_it-qtdeantid ).

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

    ENDIF.

* << Fim da exclusão

    itab_it-vlfre_me = v_tot_fre.

    itab_it-vlseg_me = v_tot_seg.

    itab_it-vlfre    = t_ivfre.

    itab_it-vlseg    = t_ivseg.

    itab_it-vldiffob = t_vldif.

...

 

...

  /pws/zycie085-vlfre = /pws/zycie093-prepaid +

            /pws/zycie093-collect - /pws/zycie093-ternacion.

  /pws/zycie085-waersfre = /pws/zycie093-waersfre.

  PERFORM trata_decimais USING /pws/zycie085-waersfre

                                 /pws/zycie085-vlfre.

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

  IF v_dit = 'S' AND /pws/zycie093-meiotransp NE 'PS'.

    t_vlii   = /pws/zycie085-vlii.

    t_vlipi  = /pws/zycie085-vlipi.

    t_vlicms = /pws/zycie085-vlicms.

  ENDIF.

* << Fim da exclusão

  /pws/zycie085-vlfobr = s_fbvr.

ENDFORM.

...

 

...

        nrseqli = itab_zycit003-nrseqli.

    IF sy-subrc EQ 0.

      itab_it-codfunleg = itab_zycit078-codfunleg .

      itab_it-codregtri = itab_zycit078-codregtri .

    ENDIF.

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

  IF sy-tcode = '/PWS/ZYCI023_C'.

     if itab_it-codregtriicms is initial.

        itab_it-codregtriicms = itab_it-codregtri.

     endif.

  endif .

* << Fim da inclusão

    PERFORM text_item_fill.

    IF NOT itab_zycit003-qtd_itend IS INITIAL.

      IF NOT /pws/zycie093-brgewd IS INITIAL AND

         NOT itab_zycit003 IS INITIAL.

        itab_it-ntgew = itab_zycit003-ntgewd.

...

 

...

         USING /pws/zycie100a-codfunlegpiscofi

         CHANGING t_fundes_regtri /pws/zycie100a-codredpiscofi.

  ELSE.

    CLEAR t_fundes_regtri.

  ENDIF.

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

  IF NOT /pws/zycie100a-codfunlegicms IS INITIAL.

    PERFORM seleciona_fund_legal

         USING /pws/zycie100a-codfunlegicms

         CHANGING t_fundes_icms /pws/zycie100a-codredpiscofi.

  ELSE.

    CLEAR t_fundes_icms.

  ENDIF.

* << Fim da inclusão

  READ TABLE itab_it WITH KEY mark = 'X'.

  t_pisbs = itab_it-basepis.

  t_cofinsbs = itab_it-basecofins.

  v_ip = sy-tabix.

  DESCRIBE TABLE itab_it LINES v_ipt.

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

  perform :

   load_regt  using /pws/zycie100a-codregtri

                    /pws/zycie085-ntimp

                    '1' changing t_regdes,

   load_regt  using /pws/zycie100a-codregtriipi

                    /pws/zycie085-ntimp

                    '2' changing t_regde2,

   load_regt  using /pws/zycie100a-codregtriicms

                    /pws/zycie085-ntimp

                    '4' changing t_regde3.

   if v_msg eq 'X'.

         MESSAGE i015 WITH text-152.

         clear v_msg.

         exit.

   endif.

* << Fim da inclusão

  IF gc_subscreen-prog EQ '0100'.

    IF s_inco1 EQ 'CFR' OR

       s_inco1 EQ 'CIF' OR

       s_inco1 EQ 'C&F'.

      LOOP AT itab_it.

...

 

...

    DESCRIBE TABLE itab_zycit191 LINES v_lin_191.

    IF v_lin_191 EQ 1.

      READ TABLE itab_zycit191 INDEX 1.

      /pws/zycie100a-classific = itab_zycit191-classific.

      PERFORM load_clas.

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

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

  IF /pws/zycie001-meioemba EQ 'PS' AND

     /pws/zycie001-tpdecl   EQ 'DSI'.

    /pws/zycie100a-codregtri = '7'.

    /pws/zycie100a-codfunleg = '42'.

    IF /pws/zycie100a-motivo IS INITIAL.

      /pws/zycie100a-motivo    = '01'.

    ENDIF.

    SELECT SINGLE descricao

           FROM /pws/zycit167

           INTO t_regdes

           WHERE ntimp  = /pws/zycie085-ntimp      AND

                 tipo   = '1'                 AND

                 codreg = /pws/zycie100a-codregtri.

    SELECT SINGLE descr

           FROM /pws/zycit177

           INTO t_fundes

           WHERE origem EQ /pws/zycie085-tpdi

             AND regime EQ /pws/zycie100a-codregtri

             AND codigo EQ /pws/zycie100a-codfunleg.

    SELECT SINGLE descricao

           FROM /pws/zycit141

           INTO t_motdes

           WHERE  codfunleg = /pws/zycie100a-codfunleg AND

                  motivo    = /pws/zycie100a-motivo.

* << Fim da exclusão

  ENDIF.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F02

 

...

 

FORM load_regt USING    p_codreg p_natureza p_imposto

               CHANGING p_text.

  CLEAR p_text.

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

  IF v_region IS INITIAL.

    PERFORM find_region.

  ENDIF.

  SELECT SINGLE descricao FROM /pws/zycit167 INTO p_text

         WHERE ntimp  = p_natureza AND

               tipo   = p_imposto  AND

               codreg = p_codreg   AND

               regio  = v_region .

  IF sy-subrc NE 0.

* << Fim da inclusão

  SELECT SINGLE descricao FROM /pws/zycit167 INTO p_text

         WHERE ntimp  = p_natureza AND

               tipo   = p_imposto  AND

               codreg = p_codreg.

  IF sy-subrc NE 0 AND NOT /pws/zycie100a-codregtri        IS INITIAL

                   AND NOT /pws/zycie100a-codregtriipi     IS INITIAL.

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

    MESSAGE e015 WITH text-152.

* << Fim da exclusão

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

      v_msg = 'X'.

      exit.

    ENDIF.

    SET PARAMETER ID '/PWS/ZYCIP352' FIELD ' '.

  ELSE.

    SET PARAMETER ID '/PWS/ZYCIP352' FIELD V_REGION.

* << Fim da inclusão

  ENDIF.

  IF p_imposto = '1'.

    READ TABLE itab_zycit107 WITH KEY land1 = /pws/zycie080-landa.

    IF sy-subrc EQ 0.

      IF NOT itab_zycit107-aladi IS INITIAL.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

...

    IF itab_it-nrseqd IS INITIAL AND

      v_nratoc IS INITIAL.

      t_icmsx = ( 100 - /pws/zycie003-advalicms ) / 100.

      t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

                                 ( t_icmsbs / t_icmsx ) .

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

      IF '35' CA /pws/zycie100a-codregtri .

* << Fim da exclusão

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

      IF '35' CA /pws/zycie100a-codregtriicms .

* << Fim da inclusão

        CLEAR: t_icmsx, t_icms_d2, t_icms.

      ENDIF.

    ELSE.

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

      IF /pws/zycie100a-codregtri EQ '5'.

* << Fim da exclusão

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

      IF /pws/zycie100a-codregtriicms EQ '5'.

* << Fim da inclusão

        CLEAR: t_icmsx, t_icms_d2, t_icms.

      ELSE.

        t_icmsx = ( 100 - /pws/zycie003-advalicms ) / 100.

        t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

                                   ( t_icmsbs / t_icmsx ) .

...

 

...

    ENDIF.

    t_icmsbs_d2 = t_icmsbs = t_icmsbs + t_icms.

  ELSE.

    t_icms_d2 = t_icms = ( /pws/zycie003-advalicms / 100 ) *

                                 t_icmsbs.

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

    IF /pws/zycie100a-codregtri EQ '5'.

* << Fim da exclusão

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

      IF /pws/zycie100a-codregtriicms EQ '5'.

* << Fim da inclusão

      CLEAR: t_icmsx, t_icms_d2, t_icms.

    ENDIF.

  ENDIF.

  IF p_tipo = 'I' OR p_tipo = 'T'     .

    s_wicdevi = s_wicdevi + t_icms    .

    s_wicreco = s_wicdevi             .

    s_wpisreco = s_wpisreco + t_pis   .

    s_wcofreco = s_wcofreco + t_cofins.

    IF NOT /pws/zycie003-nrseqd IS INITIAL OR

       NOT v_nratoc IS INITIAL.

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

      IF /pws/zycie100a-codregtri EQ '5'.

* << Fim da exclusão

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

      IF /pws/zycie100a-codregtriicms EQ '5'.

* << Fim da inclusão

        CLEAR: t_icms.

        screen-input = '0'.

      ELSE.

        s_wicreco = s_wicdevi.

      ENDIF.

...

 

...

  ENDLOOP.

  LOOP AT itab_zycit132.

    READ TABLE itab_zycit006 WITH KEY nrseq = itab_zycit132-nrseq.

    IF sy-subrc = 0.

      MOVE: itab_zycit132-belnr_p TO itab_zycit006-belnr_p.

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

      MOVE: itab_zycit132-DT_BELNRP TO itab_zycit006-DT_BELNRP.

* << Fim da inclusão

      APPEND itab_zycit006.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit006 WHERE belnr_p IS initial.

    DELETE itab_zycit006.

...

 

...

  DATA: v_belnr_p LIKE /pws/zycie006-belnr_p,

        itab_132 LIKE /pws/zycie132 OCCURS 10 WITH HEADER LINE.

  DATA: BEGIN OF itab_zycbt117 OCCURS 0.

       INCLUDE STRUCTURE /pws/zycbt117.

  DATA: END OF itab_zycbt117.

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

  data wa_params type ctu_params.

* << Fim da inclusão

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

              FOR ALL ENTRIES IN itab_zycit003

              WHERE nrseq = itab_zycit003-nrseq.

  ENDIF.

...

 

...

      itab_bdc-fval = '=CUSTO'.

      APPEND itab_bdc.

      IF v_modo_bi IS INITIAL.

        v_modo_bi = 'N'.

      ENDIF.

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

      CALL TRANSACTION '/PWS/ZYCI003_A' USING itab_bdc

                             MODE  v_modo_bi

                             UPDATE 'S'

* << Fim da exclusão

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

      wa_params-dismode = v_modo_bi.

      wa_params-updmode = 'S'      .

      wa_params-cattmode = ' '      .

      wa_params-defsize = ' '      .

      wa_params-racommit = 'X'      .

      wa_params-nobinpt = ' '      .

      wa_params-nobiend = ' '      .

      call transaction '/PWS/ZYCI003_A' USING    itab_bdc

                                        options  from wa_params

* << Fim da inclusão

                             MESSAGES INTO itab_msg.

      COMMIT WORK.

      SELECT * FROM /pws/zycit132

               INTO TABLE itab_132

               WHERE nrseq EQ /pws/zycie006-nrseq.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F04

 

...

 

* >> Início da inclusão:

FORM load_fun_icms.

  IF NOT /pws/zycie100a-codfunlegicms IS INITIAL.

    SELECT SINGLE descr FROM /pws/zycit177 INTO t_fundes_icms

            WHERE origem EQ /pws/zycie085-tpdi

              AND regime EQ /pws/zycie100a-codregtriicms

              AND codigo EQ /pws/zycie100a-codfunlegicms.

    IF sy-subrc NE 0.

      MESSAGE w013 WITH text-103 /pws/zycie100a-codfunlegicms text-104.

      CLEAR:  t_fundes_icms, /pws/zycie100a-codfunlegicms.

    ENDIF.

  ELSE.

    CLEAR:  t_fundes_icms.

  ENDIF.

ENDFORM.

FORM set_screen_0100.

  LOOP AT SCREEN.

    IF NOT screen-group1 IS INITIAL.

      CASE screen-group1.

        WHEN '12'.

          IF ( v_tipo NE '3' AND v_tipo NE '4' ).

            screen-invisible = '0'.

          ELSE.

            screen-invisible = '1'.

          ENDIF.

        WHEN '34'.

          IF ( v_tipo EQ '3' OR v_tipo EQ '4' ).

            screen-invisible = '0'.

          ELSE.

            screen-invisible = '1'.

          ENDIF.

        WHEN 'AC'.

          screen-input = '0'.

          IF v_acto = 'A'.

            IF ( ( screen-name EQ '/PWS/ZYCIE085-BUKRS' OR

                   screen-name EQ '/PWS/ZYCIE085-J_1BBRANCH' ) AND

                   NOT /pws/zycie085-dtuserc IS INITIAL ).

            ELSE.

              screen-input = '1'.

              IF screen-group4   = 'REQ' AND

                 NOT v_nrseqdi IS INITIAL.

                screen-required = '1'.

              ENDIF.

            ENDIF.

          ENDIF.

      ENDCASE.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name = 'TAB_CONT'.

      SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie085-bukrs.

      SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

      IF /pws/zycit000-flag_reclass IS INITIAL.

        IF /pws/zycie085-flag_reclass IS INITIAL AND

           /pws/zycie085-belnr_0 IS INITIAL AND

           /pws/zycie085-belnr_1 IS INITIAL AND

           /pws/zycie085-belnr_2 IS INITIAL AND

           /pws/zycie085-belnr_3 IS INITIAL.

          screen-invisible = '1'.

          MODIFY SCREEN.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0110.

  LOOP AT SCREEN.

    IF screen-name = '/PWS/ZYCIE085-NRDI' OR

       screen-name = '/PWS/ZYCIE085-DTREG'.

      SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie085-bukrs.

      SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000

                                  WHERE land1 EQ t001-land1.

      IF sy-subrc = 0.

        IF /pws/zycit000-siscomex = 'X'.

          IF v_acto EQ 'A'.

            screen-input = 1.

          ELSE.

            screen-input = 0.

          ENDIF.

        ELSE.

          screen-input = 0.

        ENDIF.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

    IF screen-group1 EQ 'AC'.

      screen-input = '0'.

      IF v_acto EQ 'A'.

        IF sy-dynnr EQ '0110'.

          IF ( screen-name EQ '/PWS/ZYCIE085-NRBL'

               AND v_calci = 'S' )                  OR

             ( screen-name EQ '/PWS/ZYCIE093-MEIOTRANSP' AND

               NOT /pws/zycie085-nrbl IS INITIAL ).

          ELSEIF ( screen-name EQ '/PWS/ZYCIE085-DTREG'    AND

                   NOT /pws/zycie085-nrdi   IS INITIAL ).

            screen-input = screen-required = '1'.

          ELSEIF screen-name EQ '/PWS/ZYCIE085-MODDESPS'.

            IF /pws/zycie085-moddesps EQ '0'.

              CLEAR /pws/zycie085-moddesps.

            ENDIF.

            IF NOT /pws/zycie085-codreg IS INITIAL.

              screen-input = screen-required = '1'.

            ENDIF.

            IF /pws/zycie085-codreg EQ '15'.

              screen-input = screen-required = '0'.

              screen-invisible = '1'.

            ENDIF.

          ELSE.

            screen-input = '1'.

            IF screen-group4 EQ 'REQ'.

              screen-required = '1'.

            ENDIF.

          ENDIF.

        ELSEIF sy-dynnr = '0412'.

          IF ( screen-name EQ '/PWS/ZYCIE003-APLICACAO' OR

               screen-name EQ '/PWS/ZYCIE003-CONDMERC' ) AND

               /pws/zycie085-codreg = '06'.

          ELSE.

            screen-input = '1'.

          ENDIF.

        ELSEIF sy-dynnr = '0434'.

          IF /pws/zycie100a-antidrate IS INITIAL AND

             screen-name = 'S_ADBS'.

          ELSE.

            screen-input = '1'.

          ENDIF.

        ENDIF.

      ENDIF.

      MODIFY SCREEN.

    ENDIF.

    IF sy-tcode = '/PWS/ZYCI023_E'.

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0131.

  LOOP AT SCREEN.

    IF screen-group1 EQ 'AC'.

      screen-input = '0'.

      IF v_acto EQ 'A'.

        IF NOT sy-dynnr EQ '0420'.

          screen-input = '1'.

        ENDIF.

        IF screen-group4 EQ 'REQ'.

          screen-required = '1'.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE085-OPFUNDAP'  AND

           /pws/zycie085-codreg EQ '03'.

          screen-input = screen-required = '0'.

          screen-invisible = '1'.

        ELSEIF screen-name EQ '/PWS/ZYCIE085-OPFUNDAP'  AND

           itab_zycit001-regime EQ '08'.

          screen-invisible = '1'.

        ELSEIF screen-name EQ 'TXT_FUNDAP'  AND

           itab_zycit001-regime EQ '08'.

          screen-invisible = '1'.

        ELSEIF screen-name EQ '/PWS/ZYCIE085-CGC'       AND

           /pws/zycie085-contropcb NE '2'.

          screen-input = '0'.

          CLEAR: /pws/zycie085-cgc.

        ELSEIF screen-name EQ '/PWS/ZYCIE085-RECALF'    AND

           /pws/zycie085-urfdesp IS INITIAL.

          screen-input = '0'.

          CLEAR: /pws/zycie085-recalf, s_recalf,

                 /pws/zycie085-setor,  s_setor.

        ELSEIF screen-name EQ '/PWS/ZYCIE085-CNPJDECL'  AND

           /pws/zycie085-courier NE 'S'.

          screen-input = '0'.

          CLEAR: /pws/zycie085-cnpjdecl.

        ELSEIF ( screen-group2 EQ 'MM' AND

                 /pws/zycie085-mdadicao EQ 'S' ) OR

               ( screen-name EQ '/PWS/ZYCIE085-SETOR' AND

                 /pws/zycie085-recalf IS INITIAL ).

          screen-input = '0'.

        ELSEIF screen-name EQ '/PWS/ZYCIE085-URFDESP'.

          SELECT * FROM /pws/zyglt369

             INTO TABLE itab_zyglt369.

          IF sy-subrc EQ 0.

            screen-required = '1'.

          ELSE.

            screen-required = '0'.

          ENDIF.

        ENDIF.

      ENDIF.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE093-DTCHEG'  AND

      /pws/zycie085-codreg EQ '15'.

      screen-input = screen-required = '0'.

      screen-invisible = '1'.

    ENDIF.

    IF screen-name EQ 'S_AGEN'  AND

      /pws/zycie085-codreg EQ '15'.

      screen-input = screen-required = '0'.

      screen-invisible = '1'.

    ENDIF.

    IF screen-name EQ 'TXTDTC' AND

      /pws/zycie085-codreg EQ '15'.

      screen-input = screen-required = '0'.

      screen-invisible = '1'.

    ENDIF.

    IF screen-name EQ 'TXTAG' AND

      /pws/zycie085-codreg EQ '15'.

      screen-input = screen-required = '0'.

      screen-invisible = '1'.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.

FORM set_screen_0431.

  v_icodr1 = /pws/zycie100a-codregtri.

  LOOP AT SCREEN.

    IF screen-group1 EQ 'AC'.

      screen-input = '0'.

      IF v_acto EQ 'A'.

        screen-input = '1'.

        IF screen-group4 EQ 'REQ'.

          screen-required = '1'.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE100A-ACORDO'.

          IF ' 2369' CA /pws/zycie100a-codregtri.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-acordo.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-ALADI'.

          IF /pws/zycie100a-acordo NE '2'.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-aladi, a_aladi.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-ACORDORATE'.

          IF /pws/zycie100a-acordo IS INITIAL.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-acordorate.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-REDUZIDA'.

          IF NOT /pws/zycie100a-percreduz IS INITIAL OR

             '12369' CA /pws/zycie100a-codregtri.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-reduzida.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-PERCREDUZ'.

          IF NOT /pws/zycie100a-reduzida IS INITIAL OR

             '12369' CA /pws/zycie100a-codregtri.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-percreduz.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG'.

          IF ' 178' CA /pws/zycie100a-codregtri.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-codfunleg, t_fundes.

          ENDIF.

          IF v_existe_li EQ 'X'.

            screen-input = '0'.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'.

          IF v_existe_li EQ 'X'.

            screen-input = '0'.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE003-ADVALII'.

          IF ' 269' CA /pws/zycie100a-codregtri.

            screen-input = '0'.

          ENDIF.

        ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI' AND

               /pws/zycie100a-codregtri IS INITIAL.

          CLEAR: /pws/zycie100a-aladi,     a_aladi,

                 /pws/zycie100a-codfunleg, t_fundes,

                 /pws/zycie100a-acordo.

        ELSEIF screen-name EQ '/PWS/ZYCIE003-II_EXTARIF'  OR

               screen-name EQ '/PWS/ZYCIE003-II_TIPO'     OR

               screen-name EQ '/PWS/ZYCIE003-II_ORGEMISS' OR

               screen-name EQ '/PWS/ZYCIE003-II_NUMERO'   OR

               screen-name EQ '/PWS/ZYCIE003-II_ANOEMISS'.

          IF '2369' CA /pws/zycie100a-codregtri.

            CLEAR: /pws/zycie003-ii_extarif,

                   /pws/zycie003-ii_tipo,

                   /pws/zycie003-ii_orgemiss,

                   /pws/zycie003-ii_numero,

                   /pws/zycie003-ii_anoemiss.

            screen-input = '0'.

          ENDIF.

        ENDIF.

      ENDIF.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0432.

  IF '26' CA /pws/zycie100a-codregtri.

    CLEAR: /pws/zycie100a-codregtriipi, t_regde2,

           /pws/zycie100a-notatipi,

           /pws/zycie100a-tribipi, /pws/zycie100a-reduzidaipi,

           /pws/zycie100a-unit_valor,

           /pws/zycie100a-unit_meins,

           /pws/zycie100a-unit_qtde,

           /pws/zycie100a-unit_reccapac,

           /pws/zycie100a-unit_rectipo,

           /pws/zycie003-advalipi,

           /pws/zycie003-ipi_extarif,

           /pws/zycie003-ipi_tipo,

           /pws/zycie003-ipi_orgemiss,

           /pws/zycie003-ipi_numero,

           /pws/zycie003-ipi_anoemiss.

  ENDIF.

  LOOP AT SCREEN.

    IF '26' CA /pws/zycie100a-codregtri.

      IF screen-group3 EQ 'IPI'.

        screen-invisible = '0'.

      ELSE.

        screen-input = '0'.

        screen-invisible = '1'.

      ENDIF.

      MODIFY SCREEN.

    ELSE.

      IF screen-group1 EQ 'AC'.

        screen-input = '0'.

        IF v_acto EQ 'A'.

          screen-input = '1'.

          IF NOT /pws/zycie100a-tribipi IS INITIAL AND

             NOT screen-name EQ '/PWS/ZYCIE100A-TRIBIPI'.

            screen-input = '0'.

            CLEAR: /pws/zycie100a-codregtriipi, t_regde2,

                   /pws/zycie003-advalipi, /pws/zycie100a-notatipi,

                   /pws/zycie100a-reduzidaipi,

                   /pws/zycie003-ipi_extarif,

                   /pws/zycie003-ipi_tipo,

                   /pws/zycie003-ipi_orgemiss,

                   /pws/zycie003-ipi_numero,

                   /pws/zycie003-ipi_anoemiss,

                   /pws/zycie100a-unit_valor,

                   /pws/zycie100a-unit_meins,

                   /pws/zycie100a-unit_qtde,

                   /pws/zycie100a-unit_reccapac,

                   /pws/zycie100a-unit_rectipo.

          ELSE.

            IF ( screen-name = '/PWS/ZYCIE100A-REDUZIDAIPI' AND

                 /pws/zycie100a-codregtriipi NE '2' )       OR

               ( screen-group2 = 'EX'                  AND

                 /pws/zycie100a-codregtriipi EQ '4' ).

              screen-input = '0'.

            ELSEIF screen-name EQ '/PWS/ZYCIE003-ADVALIPI' OR

                   screen-name EQ '/PWS/ZYCIE100A-NOTATIPI'.

              IF NOT /pws/zycie100a-unit_valor    IS INITIAL OR

                 NOT /pws/zycie100a-unit_meins    IS INITIAL OR

                 NOT /pws/zycie100a-unit_qtde     IS INITIAL OR

                 NOT /pws/zycie100a-unit_reccapac IS INITIAL OR

                 NOT /pws/zycie100a-unit_rectipo  IS INITIAL.

                screen-input = '0'.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

        MODIFY SCREEN.

      ENDIF.

      IF screen-group2 EQ 'UNI'.

        IF ( /pws/zycie003-advalipi IS INITIAL ) AND

           '145' CA /pws/zycie100a-codregtriipi  AND

           /pws/zycie100a-codregtriipi NE '2'.

          screen-input     = '1'.

        ELSE.

          screen-input     = '0'.

        ENDIF.

        MODIFY SCREEN.

      ENDIF.

      IF screen-group3 EQ 'IPI'.

        screen-invisible = '1'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

    IF sy-tcode EQ '/PWS/ZYCI023_E'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0120.

  MOVE /pws/zycie093-meiotransp TO v_t.

  LOOP AT SCREEN.

    screen-invisible = '1'.

    screen-input     = '0'.

    CASE screen-group1.

      WHEN 'AR'.

        IF v_t = 'TA' OR v_t = 'MA' OR v_t = 'RD' OR

           v_t = 'FR' OR v_t = 'PS' OR v_t = 'FL' OR

           v_t = 'LC'.

          screen-invisible = '0'.

        ENDIF.

      WHEN 'MA'.

        IF v_t = 'MA' OR v_t = 'FL' OR v_t = 'LC'.

          screen-invisible = '0'.

        ENDIF.

      WHEN 'RO'.

        IF v_t = 'RD'.

          screen-invisible = '0'.

        ENDIF.

      WHEN 'FI'.

        IF v_t = 'EN'.

          screen-invisible = '0'.

        ENDIF.

      WHEN '  '.

        screen-invisible = '0'.

    ENDCASE.

    CASE screen-group2.

      WHEN 'RO'.

        IF v_t = 'RD'.

          screen-invisible = '1'.

        ENDIF.

      WHEN 'PO'.

        IF v_t = 'PS'.

          screen-invisible = '1'.

        ENDIF.

      WHEN 'DU'.

        IF v_t = 'DT' OR v_t = 'PP'.

          screen-invisible = '0'.

        ENDIF.

    ENDCASE.

    CASE screen-group3.

      WHEN 'PO'.

        IF v_t = 'PS'.

          screen-invisible = '1'.

        ENDIF.

    ENDCASE.

    IF screen-name EQ '/PWS/ZYCIE093-EMBARCA'.

      IF /pws/zycie085-codreg EQ '15'.

        screen-input = screen-required = '0'.

        screen-invisible = '1'.

      ENDIF.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE093-LOCALEMB'.

      IF /pws/zycie085-codreg EQ '15'.

        screen-input = screen-required = '0'.

        screen-invisible = '1'.

      ENDIF.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE093-DTEMB'.

      IF /pws/zycie085-codreg EQ '15'.

        screen-input = screen-required = '0'.

        screen-invisible = '1'.

      ENDIF.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.

FORM set_screen_0222.

  v_input = '0'.

  MOVE /pws/zycie093-tpconh TO v_c.

  LOOP AT SCREEN.

    IF NOT screen-group1 IS INITIAL.

      screen-input = '0'.

      screen-invisible = '1'.

      CASE screen-group1.

        WHEN 'ED'.

          screen-input = v_input.

          screen-invisible = '0'.

        WHEN 'FO'.

          IF v_c = '01' OR v_c = '09' OR v_c = '10' OR

             v_c = '13' OR v_c = '14' OR v_c = '17'.

            screen-input = v_input.

            screen-invisible = '0'.

          ENDIF.

        WHEN 'FS'.

          IF v_c = '03' OR v_c = '08' OR v_c = '12' OR

             v_c = '18'.

            screen-input = v_input.

            screen-invisible = '0'.

          ENDIF.

        WHEN 'RO'.

          IF v_c = '99'.

            screen-input = v_input.

            screen-invisible = '0'.

          ENDIF.

      ENDCASE.

      CASE screen-group2.

        WHEN 'FS'.

          IF v_c = '03' OR v_c = '08' OR v_c = '12' OR

             v_c = '18'.

            screen-input = v_input.

            screen-invisible = '0'.

          ENDIF.

      ENDCASE.

      CASE screen-group3.

        WHEN 'FR'.

          IF v_c = '17'.

            screen-invisible = '1'.

          ENDIF.

        WHEN 'AT'.

          IF v_c = '19'.

            screen-input = v_input.

            screen-invisible = '0'.

          ENDIF.

      ENDCASE.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0223.

  LOOP AT SCREEN.

    IF screen-group1 EQ 'AC'.

      screen-input = '0'.

      IF v_acto EQ 'A'.

        screen-input = '1'.

        IF screen-group4 EQ 'REQ'.

          screen-required = '1'.

        ENDIF.

      ENDIF.

      MODIFY SCREEN.

    ENDIF.

    IF screen-group2 EQ 'RE'.

      IF /pws/zycie085-ntimp NE '11'.

        screen-input     = '0'.

        screen-invisible = '1'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-WAERSSEG'

      AND itab_zycit001-meioemba EQ 'PS'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-VLSEG'

      AND itab_zycit001-meioemba EQ 'PS'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-NRDSE'

      AND itab_zycit001-meioemba EQ 'PS'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-DTEMDSE'

      AND itab_zycit001-meioemba EQ 'PS'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

    IF screen-name EQ '/PWS/ZYCIE085-NRDDE'

      AND itab_zycit001-meioemba EQ 'PS'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

    IF itab_zycit001-regime EQ '11'.

      IF screen-name EQ '/PWS/ZYCIE085-ULDSE'

        AND itab_zycit001-meioemba EQ 'PS'.

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

      IF screen-name EQ '/PWS/ZYCIE085-NRPROC'

        AND itab_zycit001-meioemba EQ 'PS'.

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0232.

  v_l = /pws/zycie100a-codregtri.     v_n = /pws/zycie100a-motivo.

  v_o = /pws/zycie085-ntimp.          v_p =

/pws/zycie100a-codfunleg.

  LOOP AT SCREEN.

    IF sy-dynnr EQ '0234'.

      IF screen-name         = 'T_IIREC' AND

         /pws/zycie093-meiotransp = 'PS'.

        screen-invisible = '0'.

      ENDIF.

      IF screen-name         = 'T_IPIREC' AND

         /pws/zycie093-meiotransp = 'PS'.

        screen-invisible = '0'.

      ENDIF.

      IF screen-name         = 'T_ICMS_D2' AND

         /pws/zycie093-meiotransp = 'PS'.

        screen-invisible = '0'.

      ENDIF.

      IF screen-name = '/PWS/ZYCIE003-ADVALII'

         AND /pws/zycie093-meiotransp = 'PS'

         AND v_dit EQ 'S'

         AND /pws/zycie003-advalii IS INITIAL.

        /pws/zycie003-advalii = '60'.

      ENDIF.

    ENDIF.

    IF screen-group1 EQ 'AC'.

      screen-input = '0'.

      IF v_acto EQ 'A'.

        screen-input = '1'.

      ENDIF.

      IF sy-dynnr EQ '0232'.

        IF /pws/zycie100a-codregtri IS INITIAL.

          /pws/zycie100a-codregtri = '1'.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND

           /pws/zycie093-meiotransp = 'PS'.

          screen-input = '1'.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND

           /pws/zycie100a-codfunleg IS INITIAL.

          CLEAR: itab_zycit177t. REFRESH: itab_zycit177t.

          SELECT * FROM /pws/zycit177 INTO TABLE itab_zycit177t

            WHERE origem EQ /pws/zycie085-tpdi

              AND regime EQ /pws/zycie100a-codregtri

              AND codigo EQ /pws/zycie100a-codfunleg.

          IF sy-subrc = 0.

            screen-input = '1'.

          ELSE.

            screen-input = '0'.

          ENDIF.

        ENDIF.

        IF /pws/zycie100a-codfunleg EQ '39' OR

           /pws/zycie100a-codfunleg EQ '42' OR

           /pws/zycie100a-codfunleg EQ '72' OR

           /pws/zycie100a-codfunleg EQ '73'.

          IF screen-name EQ '/PWS/ZYCIE100A-MOTIVO'.

            screen-input = '1'.

          ENDIF.

        ELSE.

          CLEAR /pws/zycie100a-motivo.

          IF screen-name EQ '/PWS/ZYCIE100A-MOTIVO'.

            IF /pws/zycie100a-motivo IS INITIAL.

              screen-input = '1'.

            ELSE.

              screen-input = 0.

            ENDIF.

          ENDIF.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE100A-MOTIVO'

           AND /pws/zycie100a-motivo IS INITIAL.

          CLEAR: itab_zycit177t. REFRESH: itab_zycit177t.

          SELECT * FROM /pws/zycit177 INTO TABLE itab_zycit177t

            WHERE origem EQ /pws/zycie085-tpdi

              AND regime EQ /pws/zycie100a-codregtri

              AND codigo EQ /pws/zycie100a-codfunleg.

          IF sy-subrc = 0.

            screen-input = '1'.

          ELSE.

            screen-input = '0'.

          ENDIF.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE100A-CLASSIFIC' AND

           /pws/zycie093-meiotransp = 'PS'.

          screen-input = 0.

        ENDIF.

        IF /pws/zycie100a-classific EQ '1'.

          CLEAR: /pws/zycie100a-codtsp,

                 t_tsp           .

          IF screen-name EQ 'TXT05'.

            screen-invisible = 0.

          ENDIF.

          IF screen-name EQ '/PWS/ZYCIE100A-DESTNCM'.

            IF /pws/zycie093-meiotransp EQ 'PS'.

              screen-input = 0.

            ELSE.

              screen-input = '1'.

            ENDIF.

          ENDIF.

          IF screen-name EQ '/PWS/ZYCIE100A-CODTSP'.

            screen-input = 0.

            screen-invisible = '1'.

          ENDIF.

        ELSEIF /pws/zycie100a-classific EQ '2'.

          CLEAR:

                 /pws/zycie100a-destncm.

          IF screen-name EQ 'TXT05'.

            screen-invisible = '1'.

          ENDIF.

          IF screen-name EQ '/PWS/ZYCIE100A-DESTNCM'.

            screen-input = 0.

          ENDIF.

          IF screen-name EQ '/PWS/ZYCIE100A-CODTSP'.

            screen-input = '1'.

            screen-invisible = 0.

          ENDIF.

        ENDIF.

      ELSEIF sy-dynnr EQ '0234'.

        IF /pws/zycie100a-codregtri EQ '2' OR

           /pws/zycie100a-codregtri EQ '6'.

          CLEAR: t_iibas          ,

                 /pws/zycie003-advalii ,

                 a_iicalc         ,

                 t_iirec          ,

                 t_ipibas         ,

                 /pws/zycie003-advalipi,

                 a_ipidevi        ,

                 t_ipirec         .

          IF screen-name EQ '/PWS/ZYCIE003-ADVALII' OR

             screen-name EQ '/PWS/ZYCIE003-ADVALIPI'.

            screen-input = 0.

          ENDIF.

        ELSEIF /pws/zycie100a-codregtri EQ '7'.

          CLEAR: t_ipibas         ,

                 /pws/zycie003-advalipi,

                 a_ipidevi        ,

                 t_ipirec         .

          IF screen-name EQ '/PWS/ZYCIE003-ADVALIPI'.

            screen-input = 0.

          ENDIF.

        ELSEIF /pws/zycie100a-codregtri EQ '5'.

          CLEAR: t_iirec ,

                 t_ipirec.

        ENDIF.

        IF screen-name = '/PWS/ZYCIE003-ADVALICMS' AND

           /pws/zycie093-meiotransp = 'PS'.

          screen-input = 1.

        ENDIF.

        IF screen-name = '/PWS/ZYCIE003-ADVALIPI' AND

           /pws/zycie093-meiotransp = 'PS'.

          screen-input = 1.

        ENDIF.

        IF screen-name = '/PWS/ZYCIE003-VALII' AND

           /pws/zycie093-meiotransp = 'PS'.

          screen-input = 1.

        ENDIF.

      ENDIF.

    ELSE.

      IF sy-dynnr EQ '0232'.

        IF /pws/zycie100a-classific EQ '1'.

          IF screen-name EQ '/PWS/ZYCIE003-J_1BNBM'.

            screen-invisible = 0.

          ENDIF.

          IF screen-name EQ 'TXT05'.

            screen-invisible = '0'.

          ENDIF.

          IF screen-name EQ 'T_NCMDES'.

            screen-invisible = '0'.

          ENDIF.

          IF screen-name EQ 'TXT13'.

            screen-invisible = '0'.

          ENDIF.

          PERFORM load_cncm  USING /pws/zycie003-j_1bnbm.

        ELSEIF /pws/zycie100a-classific EQ '2'.

          CLEAR t_ncmdes.

          IF screen-name EQ '/PWS/ZYCIE003-J_1BNBM'.

            screen-invisible = '1'.

          ENDIF.

          IF screen-name EQ 'TXT05'.

            screen-invisible = '1'.

          ENDIF.

          IF screen-name EQ 'T_NCMDES'.

            screen-invisible = '1'.

          ENDIF.

          IF screen-name EQ 'TXT13'.

            screen-invisible = '1'.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDIF.

    MODIFY SCREEN.

    IF sy-dynnr = '0233' AND itab_zycit001-meioemba EQ 'PS'.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.

FORM set_screen_0310.

  LOOP AT SCREEN.

    IF NOT screen-group1 IS INITIAL.

      screen-invisible = '1'.

      CASE screen-group1.

        WHEN 'F3'.

          IF '1' CA /pws/zycie006-fabricante .

            screen-invisible = '0'.

          ENDIF.

        WHEN 'F1' OR 'F2'.

          IF '023' CA /pws/zycie006-fabricante.

            screen-invisible = '0'.

          ENDIF.

        WHEN 'ALL'.

          IF '012' CA /pws/zycie006-fabricante.

            screen-invisible = '0'.

          ENDIF.

      ENDCASE.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_screen_0350.

  v_input = '0'.

  IF v_acto = 'A'.

    v_input = '1'.

  ENDIF.

  MOVE /pws/zycie006-codcambial TO v_m.

  LOOP AT SCREEN.

    screen-input     = '0'.

    screen-invisible = '1'.

    CASE v_m.

      WHEN space.

        IF screen-group2 = 'NR'.

          screen-invisible = '0'.

        ENDIF.

      WHEN '1'.

        IF screen-group1 = '180'  OR

           screen-group2 = '1'    OR

           screen-group2 = '3'    OR

           screen-group2 = 'NR'.

          screen-invisible = '0'.

        ENDIF.

      WHEN '2'.

        IF screen-group1 = '360'  OR

           screen-group2 = '1'    OR

           screen-group2 = '3'    OR

           screen-group2 = 'NR'.

          screen-invisible = '0'.

        ENDIF.

      WHEN '3'.

        IF screen-group1 = 'SUP'  OR

           screen-group2 = '2'    OR

           screen-group2 = '3'    OR

           screen-group2 = 'NR'.

          screen-invisible = '0'.

        ENDIF.

      WHEN '4'.

        IF screen-group3 EQ '4A'  OR

           screen-group2 EQ 'NR'.

          screen-invisible = '0'.

        ENDIF.

        IF screen-group3 EQ '4B'.

          CASE /pws/zycie006-motivo.

            WHEN '30' OR '57' OR '66' OR '70'.

              screen-invisible = '0'.

          ENDCASE.

        ENDIF.

        IF screen-group1 EQ '4C'  OR

           screen-group3 EQ '4C'.

          IF /pws/zycie006-motivo = '32'.

            screen-invisible = '0'.

          ENDIF.

        ENDIF.

    ENDCASE.

    IF screen-group4 = 'TAB'.

      screen-input = '1'.

    ENDIF.

    IF screen-group1 EQ 'AC' AND screen-invisible EQ '0'.

      screen-input = v_input.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

ENDFORM.

form SET_SCREEN_0180.

   IF SY-TCODE EQ '/PWS/ZYCIE23_E'.

      screen-input = '0'.

      MODIFY SCREEN.

   ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023I01

 

...

    itab_it-codregtri = /pws/zycie100a-codregtri.

    PERFORM load_regt USING    /pws/zycie100a-codregtri

   /pws/zycie085-ntimp '1'

                        CHANGING t_regdes.

    PERFORM fill_clas.

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

  ELSEIF sy-dynnr =  '0433'.

    itab_it-codregtriicms = /pws/zycie100a-codregtriicms.

    PERFORM load_regt USING    /pws/zycie100a-codregtriicms

   /pws/zycie085-ntimp '4'  CHANGING t_regde3.

* << Fim da inclusão

  ELSE.

    IF v_dit = 'N'.

      CLEAR: /pws/zycie085-ntimp.

      PERFORM load_regt USING /pws/zycie100a-codregtriipi

   /pws/zycie085-ntimp '2'

...

 

...

  itab_it-PERCREDUZPC      = /pws/zycie100a-PERCREDUZPC     .

  itab_it-nrseqd = /pws/zycie003-nrseqd.

  itab_it-modalidade = /pws/zycie003-modalidade .

  itab_it-icms_dif   = /pws/zycie100a-icms_dif.

  PERFORM set_codregtri.

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

  PERFORM: load_regt USING    /pws/zycie100a-codregtriicms

 /pws/zycie085-ntimp '4'    CHANGING t_regde3.

  PERFORM load_fun_icms.

* << Fim da inclusão

  IF /pws/zycie003-advalicms >= '100'.

    /pws/zycie003-advalicms = '0'.

  ENDIF.

  PERFORM calcula_impostos USING 'T'.

  itab_it-basred = /pws/zycie003-basred.

...

 

...

  ENDCASE.

ENDMODULE.

MODULE propoe_regtriii INPUT.

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

    /pws/zycie100a-codregtri = '3'.

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

    IF v_region IS INITIAL.

      PERFORM find_region.

    ENDIF.

* << Fim da inclusão

    CLEAR t_regdes.

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

    SELECT SINGLE descricao FROM /pws/zycit167 INTO t_regdes

           WHERE ntimp  = /pws/zycie085-ntimp        AND

                 tipo   = '2'                   AND

                 codreg = '1'  AND

                 regio = v_region.

    IF sy-subrc NE 0.

* << Fim da inclusão

    SELECT SINGLE descricao FROM /pws/zycit167 INTO t_regdes

           WHERE ntimp  = /pws/zycie085-ntimp        AND

                 tipo   = '2'                   AND

                 codreg = '1'.

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

    ENDIF.

* << Fim da inclusão

  ELSEIF /pws/zycie003-modalidade EQ 'S'.

    /pws/zycie100a-codregtri = '5'.

    CLEAR t_regdes.

    SELECT SINGLE descricao FROM /pws/zycit167 INTO t_regdes

           WHERE ntimp  = /pws/zycie085-ntimp        AND

                 tipo   = '2'                   AND

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

                 codreg = '5' AND

                 regio = v_region.

    IF sy-subrc NE 0.

      SELECT SINGLE descricao FROM /pws/zycit167 INTO t_regdes

             WHERE ntimp  = /pws/zycie085-ntimp        AND

                   tipo   = '2'                   AND

* << Fim da inclusão

                 codreg = '5'.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

...

 

...

MODULE user_command INPUT.

  IF sy-dynnr EQ '0160'.

    PERFORM user_command_0160.

  ENDIF.

ENDMODULE.

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

module calc_vpiscofins input.

endmodule.

* << Fim da exclusão

module user_command_0435 input.

  case sy-ucomm.

      when 'ENTE'.

        clear: T_FUNDES_REDUCAO, T_FUNDES_REGTRI.

        if not /PWS/ZYCIE100A-CODREDPISCOFI is initial.

...

 

...

      endif.

      if itab_zycit003-modalidade eq 'S'.

          /pws/zycie100a-CODREGTRIPISCOFI = '5'.

      endif.

endmodule.

* >> Início da inclusão:

MODULE load_fun_icms INPUT.

  PERFORM load_fun_icms.

ENDMODULE.

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

    PERFORM: load_timp,

             load_cour,

             load_opfu,

             fill_desp,

             load_compl.

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

    IF v_dit = 'N'.

      /pws/zycie085-tpdi = 'N'.

      /pws/zycie085-ntimp = '99'.

    ELSE.

      /pws/zycie085-tpdi = 'S'.

    ENDIF.

* << Fim da exclusão

 ELSEIF ( sy-tcode <> '/PWS/ZYCI023_C' AND sy-tcode <> '/PWS/ZYCI023_I'

                )

                        AND s_cnpj IS INITIAL.

    PERFORM: load_init.

    v_txtkey = /pws/zycie085-nrseqdi.

...

 

...

  PERFORM load_text.

ENDMODULE.

MODULE set_screen OUTPUT.

  CASE sy-dynnr.

    WHEN '0100' OR '0200'.

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

      LOOP AT SCREEN.

        IF NOT screen-group1 IS INITIAL.

          CASE screen-group1.

            WHEN '12'.

              IF ( v_tipo NE '3' AND v_tipo NE '4' ).

                screen-invisible = '0'.

              ELSE.

                screen-invisible = '1'.

              ENDIF.

            WHEN '34'.

              IF ( v_tipo EQ '3' OR v_tipo EQ '4' ).

                screen-invisible = '0'.

              ELSE.

                screen-invisible = '1'.

              ENDIF.

            WHEN 'AC'.

              screen-input = '0'.

              IF v_acto = 'A'.

* << Fim da exclusão

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

       PERFORM SET_SCREEN_0100.

* << Fim da inclusão

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

                IF ( ( screen-name EQ '/PWS/ZYCIE085-BUKRS' OR

                       screen-name EQ '/PWS/ZYCIE085-J_1BBRANCH' ) AND

                       NOT /pws/zycie085-dtuserc IS INITIAL ).

                ELSE.

                  screen-input = '1'.

                  IF screen-group4   = 'REQ' AND

                     NOT v_nrseqdi IS INITIAL.

                    screen-required = '1'.

                  ENDIF.

                ENDIF.

              ENDIF.

          ENDCASE.

          MODIFY SCREEN.

        ENDIF.

        IF screen-name = 'TAB_CONT'.

          SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie085-bukrs.

          SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

          IF /pws/zycit000-flag_reclass IS INITIAL.

            IF /pws/zycie085-flag_reclass IS INITIAL AND

               /pws/zycie085-belnr_0 IS INITIAL AND

               /pws/zycie085-belnr_1 IS INITIAL AND

               /pws/zycie085-belnr_2 IS INITIAL AND

               /pws/zycie085-belnr_3 IS INITIAL.

              screen-invisible = '1'.

              MODIFY SCREEN.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0110' OR '0412' OR '0434'.

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

      LOOP AT SCREEN.

        IF sy-tcode = '/PWS/ZYCI023_E'.

          IF screen-name = '/PWS/ZYCIE085-DATACI'.

            screen-input = 0.

            MODIFY SCREEN.

          ELSEIF screen-name = '/PWS/ZYCIE085-DTENVCAMBIO'.

            screen-input = 0.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

* << Fim da exclusão

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

       PERFORM SET_SCREEN_0110.

    WHEN '0180'.

       PERFORM SET_SCREEN_0180.

* << Fim da inclusão

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

        IF screen-name = '/PWS/ZYCIE085-NRDI' OR

           screen-name = '/PWS/ZYCIE085-DTREG'.

          SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie085-bukrs.

          SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000

                                      WHERE land1 EQ t001-land1.

          IF sy-subrc = 0.

            IF /pws/zycit000-siscomex = 'X'.

              IF v_acto EQ 'A'.

                screen-input = 1.

              ELSE.

                screen-input = 0.

              ENDIF.

            ELSE.

              screen-input = 0.

            ENDIF.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

        IF screen-group1 EQ 'AC'.

          screen-input = '0'.

          IF v_acto EQ 'A'.

            IF sy-dynnr EQ '0110'.

              IF ( screen-name EQ '/PWS/ZYCIE085-NRBL'

                   AND v_calci = 'S' )                  OR

                 ( screen-name EQ '/PWS/ZYCIE093-MEIOTRANSP' AND

                   NOT /pws/zycie085-nrbl IS INITIAL ).

              ELSEIF ( screen-name EQ '/PWS/ZYCIE085-DTREG'    AND

                       NOT /pws/zycie085-nrdi   IS INITIAL ).

                screen-input = screen-required = '1'.

              ELSEIF screen-name EQ '/PWS/ZYCIE085-MODDESPS'.

                IF /pws/zycie085-moddesps EQ '0'.

                  CLEAR /pws/zycie085-moddesps.

                ENDIF.

                IF NOT /pws/zycie085-codreg IS INITIAL.

                  screen-input = screen-required = '1'.

                ENDIF.

                IF /pws/zycie085-codreg EQ '15'.

                  screen-input = screen-required = '0'.

                  screen-invisible = '1'.

                ENDIF.

              ELSE.

                screen-input = '1'.

                IF screen-group4 EQ 'REQ'.

                  screen-required = '1'.

                ENDIF.

              ENDIF.

            ELSEIF sy-dynnr = '0412'.

              IF ( screen-name EQ '/PWS/ZYCIE003-APLICACAO' OR

                   screen-name EQ '/PWS/ZYCIE003-CONDMERC' ) AND

                   /pws/zycie085-codreg = '06'.

              ELSE.

                screen-input = '1'.

              ENDIF.

            ELSEIF sy-dynnr = '0434'.

              IF /pws/zycie100a-antidrate IS INITIAL AND

                 screen-name = 'S_ADBS'.

              ELSE.

                screen-input = '1'.

              ENDIF.

            ENDIF.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0131' OR '0210' OR '0420' OR '0321'.

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

      LOOP AT SCREEN.

        IF screen-group1 EQ 'AC'.

          screen-input = '0'.

          IF v_acto EQ 'A'.

* << Fim da exclusão

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

       perform set_screen_0131.

* << Fim da inclusão

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

            IF NOT sy-dynnr EQ '0420'.

              screen-input = '1'.

            ENDIF.

            IF screen-group4 EQ 'REQ'.

              screen-required = '1'.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCIE085-OPFUNDAP'  AND

               /pws/zycie085-codreg EQ '03'.

              screen-input = screen-required = '0'.

              screen-invisible = '1'.

            ELSEIF screen-name EQ '/PWS/ZYCIE085-OPFUNDAP'  AND

               itab_zycit001-regime EQ '08'.

              screen-invisible = '1'.

            ELSEIF screen-name EQ 'TXT_FUNDAP'  AND

               itab_zycit001-regime EQ '08'.

              screen-invisible = '1'.

            ELSEIF screen-name EQ '/PWS/ZYCIE085-CGC'       AND

               /pws/zycie085-contropcb NE '2'.

              screen-input = '0'.

              CLEAR: /pws/zycie085-cgc.

            ELSEIF screen-name EQ '/PWS/ZYCIE085-RECALF'    AND

               /pws/zycie085-urfdesp IS INITIAL.

              screen-input = '0'.

              CLEAR: /pws/zycie085-recalf, s_recalf,

                     /pws/zycie085-setor,  s_setor.

            ELSEIF screen-name EQ '/PWS/ZYCIE085-CNPJDECL'  AND

               /pws/zycie085-courier NE 'S'.

              screen-input = '0'.

              CLEAR: /pws/zycie085-cnpjdecl.

            ELSEIF ( screen-group2 EQ 'MM' AND

                     /pws/zycie085-mdadicao EQ 'S' ) OR

                   ( screen-name EQ '/PWS/ZYCIE085-SETOR' AND

                     /pws/zycie085-recalf IS INITIAL ).

              screen-input = '0'.

            ELSEIF screen-name EQ '/PWS/ZYCIE085-URFDESP'.

              SELECT * FROM /pws/zyglt369

                 INTO TABLE itab_zyglt369.

              IF sy-subrc EQ 0.

                screen-required = '1'.

              ELSE.

                screen-required = '0'.

              ENDIF.

            ENDIF.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE093-DTCHEG'  AND

          /pws/zycie085-codreg EQ '15'.

          screen-input = screen-required = '0'.

          screen-invisible = '1'.

        ENDIF.

        IF screen-name EQ 'S_AGEN'  AND

          /pws/zycie085-codreg EQ '15'.

          screen-input = screen-required = '0'.

          screen-invisible = '1'.

        ENDIF.

        IF screen-name EQ 'TXTDTC' AND

          /pws/zycie085-codreg EQ '15'.

          screen-input = screen-required = '0'.

          screen-invisible = '1'.

        ENDIF.

        IF screen-name EQ 'TXTAG' AND

          /pws/zycie085-codreg EQ '15'.

          screen-input = screen-required = '0'.

          screen-invisible = '1'.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0431'.

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

      v_icodr1 = /pws/zycie100a-codregtri.

      LOOP AT SCREEN.

        IF screen-group1 EQ 'AC'.

          screen-input = '0'.

          IF v_acto EQ 'A'.

            screen-input = '1'.

            IF screen-group4 EQ 'REQ'.

              screen-required = '1'.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCIE100A-ACORDO'.

              IF ' 2369' CA /pws/zycie100a-codregtri.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-acordo.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-ALADI'.

              IF /pws/zycie100a-acordo NE '2'.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-aladi, a_aladi.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-ACORDORATE'.

              IF /pws/zycie100a-acordo IS INITIAL.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-acordorate.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-REDUZIDA'.

              IF NOT /pws/zycie100a-percreduz IS INITIAL OR

                 '12369' CA /pws/zycie100a-codregtri.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-reduzida.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-PERCREDUZ'.

              IF NOT /pws/zycie100a-reduzida IS INITIAL OR

                 '12369' CA /pws/zycie100a-codregtri.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-percreduz.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG'.

              IF ' 178' CA /pws/zycie100a-codregtri.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-codfunleg, t_fundes.

              ENDIF.

              IF v_existe_li EQ 'X'.

                screen-input = '0'.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI'.

              IF v_existe_li EQ 'X'.

                screen-input = '0'.

              ENDIF.

* << Fim da exclusão

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

       perform set_screen_0431.

* << Fim da inclusão

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

            ELSEIF screen-name EQ '/PWS/ZYCIE003-ADVALII'.

              IF ' 269' CA /pws/zycie100a-codregtri.

                screen-input = '0'.

              ENDIF.

            ELSEIF screen-name EQ '/PWS/ZYCIE100A-CODREGTRI' AND

                   /pws/zycie100a-codregtri IS INITIAL.

              CLEAR: /pws/zycie100a-aladi,     a_aladi,

                     /pws/zycie100a-codfunleg, t_fundes,

                     /pws/zycie100a-acordo.

            ELSEIF screen-name EQ '/PWS/ZYCIE003-II_EXTARIF'  OR

                   screen-name EQ '/PWS/ZYCIE003-II_TIPO'     OR

                   screen-name EQ '/PWS/ZYCIE003-II_ORGEMISS' OR

                   screen-name EQ '/PWS/ZYCIE003-II_NUMERO'   OR

                   screen-name EQ '/PWS/ZYCIE003-II_ANOEMISS'.

              IF '2369' CA /pws/zycie100a-codregtri.

                CLEAR: /pws/zycie003-ii_extarif,

                       /pws/zycie003-ii_tipo,

                       /pws/zycie003-ii_orgemiss,

                       /pws/zycie003-ii_numero,

                       /pws/zycie003-ii_anoemiss.

                screen-input = '0'.

              ENDIF.

            ENDIF.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0432'.

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

      IF '26' CA /pws/zycie100a-codregtri.

        CLEAR: /pws/zycie100a-codregtriipi, t_regde2,

               /pws/zycie100a-notatipi,

               /pws/zycie100a-tribipi, /pws/zycie100a-reduzidaipi,

               /pws/zycie100a-unit_valor,

               /pws/zycie100a-unit_meins,

               /pws/zycie100a-unit_qtde,

               /pws/zycie100a-unit_reccapac,

               /pws/zycie100a-unit_rectipo,

               /pws/zycie003-advalipi,

               /pws/zycie003-ipi_extarif,

               /pws/zycie003-ipi_tipo,

               /pws/zycie003-ipi_orgemiss,

               /pws/zycie003-ipi_numero,

               /pws/zycie003-ipi_anoemiss.

      ENDIF.

      LOOP AT SCREEN.

        IF '26' CA /pws/zycie100a-codregtri.

          IF screen-group3 EQ 'IPI'.

            screen-invisible = '0'.

          ELSE.

            screen-input = '0'.

            screen-invisible = '1'.

          ENDIF.

          MODIFY SCREEN.

        ELSE.

          IF screen-group1 EQ 'AC'.

            screen-input = '0'.

            IF v_acto EQ 'A'.

              screen-input = '1'.

              IF NOT /pws/zycie100a-tribipi IS INITIAL AND

                 NOT screen-name EQ '/PWS/ZYCIE100A-TRIBIPI'.

                screen-input = '0'.

                CLEAR: /pws/zycie100a-codregtriipi, t_regde2,

                       /pws/zycie003-advalipi, /pws/zycie100a-notatipi,

                       /pws/zycie100a-reduzidaipi,

                       /pws/zycie003-ipi_extarif,

                       /pws/zycie003-ipi_tipo,

                       /pws/zycie003-ipi_orgemiss,

                       /pws/zycie003-ipi_numero,

                       /pws/zycie003-ipi_anoemiss,

                       /pws/zycie100a-unit_valor,

                       /pws/zycie100a-unit_meins,

                       /pws/zycie100a-unit_qtde,

                       /pws/zycie100a-unit_reccapac,

                       /pws/zycie100a-unit_rectipo.

              ELSE.

                IF ( screen-name = '/PWS/ZYCIE100A-REDUZIDAIPI' AND

                     /pws/zycie100a-codregtriipi NE '2' )       OR

                   ( screen-group2 = 'EX'                  AND

                     /pws/zycie100a-codregtriipi EQ '4' ).

                  screen-input = '0'.

                ELSEIF screen-name EQ '/PWS/ZYCIE003-ADVALIPI' OR

                       screen-name EQ '/PWS/ZYCIE100A-NOTATIPI'.

                  IF NOT /pws/zycie100a-unit_valor    IS INITIAL OR

                     NOT /pws/zycie100a-unit_meins    IS INITIAL OR

                     NOT /pws/zycie100a-unit_qtde     IS INITIAL OR

                     NOT /pws/zycie100a-unit_reccapac IS INITIAL OR

                     NOT /pws/zycie100a-unit_rectipo  IS INITIAL.

                    screen-input = '0'.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

            MODIFY SCREEN.

          ENDIF.

          IF screen-group2 EQ 'UNI'.

            IF ( /pws/zycie003-advalipi IS INITIAL ) AND

               '145' CA /pws/zycie100a-codregtriipi  AND

               /pws/zycie100a-codregtriipi NE '2'.

              screen-input     = '1'.

            ELSE.

              screen-input     = '0'.

            ENDIF.

            MODIFY SCREEN.

          ENDIF.

          IF screen-group3 EQ 'IPI'.

            screen-invisible = '1'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

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

       perform set_SCREEN_0432.

* << Fim da inclusão

    WHEN '0120'.

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

      MOVE /pws/zycie093-meiotransp TO v_t.

      LOOP AT SCREEN.

        screen-invisible = '1'.

        screen-input     = '0'.

        CASE screen-group1.

          WHEN 'AR'.

            IF v_t = 'TA' OR v_t = 'MA' OR v_t = 'RD' OR

               v_t = 'FR' OR v_t = 'PS' OR v_t = 'FL' OR

               v_t = 'LC'.

              screen-invisible = '0'.

            ENDIF.

          WHEN 'MA'.

            IF v_t = 'MA' OR v_t = 'FL' OR v_t = 'LC'.

              screen-invisible = '0'.

            ENDIF.

          WHEN 'RO'.

            IF v_t = 'RD'.

              screen-invisible = '0'.

            ENDIF.

          WHEN 'FI'.

            IF v_t = 'EN'.

              screen-invisible = '0'.

            ENDIF.

          WHEN '  '.

            screen-invisible = '0'.

        ENDCASE.

        CASE screen-group2.

          WHEN 'RO'.

            IF v_t = 'RD'.

              screen-invisible = '1'.

            ENDIF.

          WHEN 'PO'.

            IF v_t = 'PS'.

              screen-invisible = '1'.

            ENDIF.

          WHEN 'DU'.

            IF v_t = 'DT' OR v_t = 'PP'.

              screen-invisible = '0'.

            ENDIF.

        ENDCASE.

        CASE screen-group3.

          WHEN 'PO'.

            IF v_t = 'PS'.

              screen-invisible = '1'.

            ENDIF.

        ENDCASE.

        IF screen-name EQ '/PWS/ZYCIE093-EMBARCA'.

          IF /pws/zycie085-codreg EQ '15'.

            screen-input = screen-required = '0'.

            screen-invisible = '1'.

          ENDIF.

        ENDIF.

* << Fim da exclusão

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

      PERFORM SET_SCREEN_0120.

* << Fim da inclusão

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

        IF screen-name EQ '/PWS/ZYCIE093-LOCALEMB'.

          IF /pws/zycie085-codreg EQ '15'.

            screen-input = screen-required = '0'.

            screen-invisible = '1'.

          ENDIF.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE093-DTEMB'.

          IF /pws/zycie085-codreg EQ '15'.

            screen-input = screen-required = '0'.

            screen-invisible = '1'.

          ENDIF.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0222'.

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

      v_input = '0'.

      MOVE /pws/zycie093-tpconh TO v_c.

      LOOP AT SCREEN.

        IF NOT screen-group1 IS INITIAL.

          screen-input = '0'.

          screen-invisible = '1'.

          CASE screen-group1.

            WHEN 'ED'.

              screen-input = v_input.

              screen-invisible = '0'.

            WHEN 'FO'.

              IF v_c = '01' OR v_c = '09' OR v_c = '10' OR

                 v_c = '13' OR v_c = '14' OR v_c = '17'.

                screen-input = v_input.

                screen-invisible = '0'.

              ENDIF.

            WHEN 'FS'.

              IF v_c = '03' OR v_c = '08' OR v_c = '12' OR

                 v_c = '18'.

                screen-input = v_input.

                screen-invisible = '0'.

              ENDIF.

            WHEN 'RO'.

              IF v_c = '99'.

                screen-input = v_input.

                screen-invisible = '0'.

              ENDIF.

          ENDCASE.

          CASE screen-group2.

            WHEN 'FS'.

              IF v_c = '03' OR v_c = '08' OR v_c = '12' OR

                 v_c = '18'.

                screen-input = v_input.

                screen-invisible = '0'.

              ENDIF.

          ENDCASE.

          CASE screen-group3.

            WHEN 'FR'.

              IF v_c = '17'.

                screen-invisible = '1'.

              ENDIF.

            WHEN 'AT'.

              IF v_c = '19'.

                screen-input = v_input.

                screen-invisible = '0'.

              ENDIF.

          ENDCASE.

          MODIFY SCREEN.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

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

      PERFORM SET_SCREEN_0222.

* << Fim da inclusão

    WHEN '0223'.

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

      LOOP AT SCREEN.

        IF screen-group1 EQ 'AC'.

          screen-input = '0'.

          IF v_acto EQ 'A'.

            screen-input = '1'.

            IF screen-group4 EQ 'REQ'.

              screen-required = '1'.

            ENDIF.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

        IF screen-group2 EQ 'RE'.

          IF /pws/zycie085-ntimp NE '11'.

            screen-input     = '0'.

            screen-invisible = '1'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE085-WAERSSEG'

          AND itab_zycit001-meioemba EQ 'PS'.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE085-VLSEG'

          AND itab_zycit001-meioemba EQ 'PS'.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE085-NRDSE'

          AND itab_zycit001-meioemba EQ 'PS'.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE085-DTEMDSE'

          AND itab_zycit001-meioemba EQ 'PS'.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

        IF screen-name EQ '/PWS/ZYCIE085-NRDDE'

          AND itab_zycit001-meioemba EQ 'PS'.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

        IF itab_zycit001-regime EQ '11'.

          IF screen-name EQ '/PWS/ZYCIE085-ULDSE'

            AND itab_zycit001-meioemba EQ 'PS'.

            screen-input = '0'.

            MODIFY SCREEN.

          ENDIF.

          IF screen-name EQ '/PWS/ZYCIE085-NRPROC'

            AND itab_zycit001-meioemba EQ 'PS'.

            screen-input = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

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

      PERFORM SET_SCREEN_0223.

* << Fim da inclusão

    WHEN '0232' OR '0233' OR '0234'.

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

      v_l = /pws/zycie100a-codregtri.     v_n = /pws/zycie100a-motivo.

      v_o = /pws/zycie085-ntimp.          v_p =

 /pws/zycie100a-codfunleg.

      LOOP AT SCREEN.

        IF sy-dynnr EQ '0234'.

          IF screen-name         = 'T_IIREC' AND

             /pws/zycie093-meiotransp = 'PS'.

            screen-invisible = '0'.

          ENDIF.

          IF screen-name         = 'T_IPIREC' AND

             /pws/zycie093-meiotransp = 'PS'.

            screen-invisible = '0'.

          ENDIF.

          IF screen-name         = 'T_ICMS_D2' AND

             /pws/zycie093-meiotransp = 'PS'.

            screen-invisible = '0'.

          ENDIF.

          IF screen-name = '/PWS/ZYCIE003-ADVALII'

             AND /pws/zycie093-meiotransp = 'PS'

             AND v_dit EQ 'S'

             AND /pws/zycie003-advalii IS INITIAL.

            /pws/zycie003-advalii = '60'.

          ENDIF.

        ENDIF.

        IF screen-group1 EQ 'AC'.

          screen-input = '0'.

          IF v_acto EQ 'A'.

            screen-input = '1'.

          ENDIF.

          IF sy-dynnr EQ '0232'.

            IF /pws/zycie100a-codregtri IS INITIAL.

              /pws/zycie100a-codregtri = '1'.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND

               /pws/zycie093-meiotransp = 'PS'.

              screen-input = '1'.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCIE100A-CODFUNLEG' AND

               /pws/zycie100a-codfunleg IS INITIAL.

              CLEAR: itab_zycit177t. REFRESH: itab_zycit177t.

              SELECT * FROM /pws/zycit177 INTO TABLE itab_zycit177t

                WHERE origem EQ /pws/zycie085-tpdi

                  AND regime EQ /pws/zycie100a-codregtri

                  AND codigo EQ /pws/zycie100a-codfunleg.

              IF sy-subrc = 0.

                screen-input = '1'.

              ELSE.

                screen-input = '0'.

              ENDIF.

            ENDIF.

            IF /pws/zycie100a-codfunleg EQ '39' OR

               /pws/zycie100a-codfunleg EQ '42' OR

               /pws/zycie100a-codfunleg EQ '72' OR

               /pws/zycie100a-codfunleg EQ '73'.

              IF screen-name EQ '/PWS/ZYCIE100A-MOTIVO'.

                screen-input = '1'.

              ENDIF.

            ELSE.

              CLEAR /pws/zycie100a-motivo.

              IF screen-name EQ '/PWS/ZYCIE100A-MOTIVO'.

                IF /pws/zycie100a-motivo IS INITIAL.

                  screen-input = '1'.

                ELSE.

                  screen-input = 0.

                ENDIF.

              ENDIF.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCIE100A-MOTIVO'

               AND /pws/zycie100a-motivo IS INITIAL.

              CLEAR: itab_zycit177t. REFRESH: itab_zycit177t.

              SELECT * FROM /pws/zycit177 INTO TABLE itab_zycit177t

                WHERE origem EQ /pws/zycie085-tpdi

                  AND regime EQ /pws/zycie100a-codregtri

                  AND codigo EQ /pws/zycie100a-codfunleg.

              IF sy-subrc = 0.

                screen-input = '1'.

              ELSE.

                screen-input = '0'.

              ENDIF.

            ENDIF.

            IF screen-name EQ '/PWS/ZYCIE100A-CLASSIFIC' AND

               /pws/zycie093-meiotransp = 'PS'.

              screen-input = 0.

            ENDIF.

            IF /pws/zycie100a-classific EQ '1'.

              CLEAR: /pws/zycie100a-codtsp,

                     t_tsp           .

              IF screen-name EQ 'TXT05'.

                screen-invisible = 0.

              ENDIF.

              IF screen-name EQ '/PWS/ZYCIE100A-DESTNCM'.

                IF /pws/zycie093-meiotransp EQ 'PS'.

                  screen-input = 0.

                ELSE.

                  screen-input = '1'.

                ENDIF.

              ENDIF.

              IF screen-name EQ '/PWS/ZYCIE100A-CODTSP'.

                screen-input = 0.

                screen-invisible = '1'.

              ENDIF.

            ELSEIF /pws/zycie100a-classific EQ '2'.

              CLEAR:

                     /pws/zycie100a-destncm.

              IF screen-name EQ 'TXT05'.

                screen-invisible = '1'.

              ENDIF.

              IF screen-name EQ '/PWS/ZYCIE100A-DESTNCM'.

                screen-input = 0.

              ENDIF.

              IF screen-name EQ '/PWS/ZYCIE100A-CODTSP'.

                screen-input = '1'.

                screen-invisible = 0.

              ENDIF.

            ENDIF.

          ELSEIF sy-dynnr EQ '0234'.

            IF /pws/zycie100a-codregtri EQ '2' OR

               /pws/zycie100a-codregtri EQ '6'.

              CLEAR: t_iibas          ,

                     /pws/zycie003-advalii ,

                     a_iicalc         ,

                     t_iirec          ,

                     t_ipibas         ,

                     /pws/zycie003-advalipi,

                     a_ipidevi        ,

                     t_ipirec         .

              IF screen-name EQ '/PWS/ZYCIE003-ADVALII' OR

                 screen-name EQ '/PWS/ZYCIE003-ADVALIPI'.

                screen-input = 0.

              ENDIF.

            ELSEIF /pws/zycie100a-codregtri EQ '7'.

              CLEAR: t_ipibas         ,

                     /pws/zycie003-advalipi,

                     a_ipidevi        ,

                     t_ipirec         .

              IF screen-name EQ '/PWS/ZYCIE003-ADVALIPI'.

                screen-input = 0.

              ENDIF.

            ELSEIF /pws/zycie100a-codregtri EQ '5'.

              CLEAR: t_iirec ,

                     t_ipirec.

            ENDIF.

            IF screen-name = '/PWS/ZYCIE003-ADVALICMS' AND

               /pws/zycie093-meiotransp = 'PS'.

              screen-input = 1.

            ENDIF.

            IF screen-name = '/PWS/ZYCIE003-ADVALIPI' AND

               /pws/zycie093-meiotransp = 'PS'.

              screen-input = 1.

            ENDIF.

            IF screen-name = '/PWS/ZYCIE003-VALII' AND

               /pws/zycie093-meiotransp = 'PS'.

              screen-input = 1.

            ENDIF.

          ENDIF.

        ELSE.

          IF sy-dynnr EQ '0232'.

            IF /pws/zycie100a-classific EQ '1'.

              IF screen-name EQ '/PWS/ZYCIE003-J_1BNBM'.

                screen-invisible = 0.

              ENDIF.

              IF screen-name EQ 'TXT05'.

                screen-invisible = '0'.

              ENDIF.

              IF screen-name EQ 'T_NCMDES'.

                screen-invisible = '0'.

              ENDIF.

              IF screen-name EQ 'TXT13'.

                screen-invisible = '0'.

              ENDIF.

              PERFORM load_cncm  USING /pws/zycie003-j_1bnbm.

            ELSEIF /pws/zycie100a-classific EQ '2'.

              CLEAR t_ncmdes.

              IF screen-name EQ '/PWS/ZYCIE003-J_1BNBM'.

                screen-invisible = '1'.

              ENDIF.

              IF screen-name EQ 'TXT05'.

                screen-invisible = '1'.

              ENDIF.

              IF screen-name EQ 'T_NCMDES'.

                screen-invisible = '1'.

              ENDIF.

              IF screen-name EQ 'TXT13'.

                screen-invisible = '1'.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

        MODIFY SCREEN.

        IF sy-dynnr = '0233' AND itab_zycit001-meioemba EQ 'PS'.

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

* << Fim da exclusão

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

      PERFORM SET_SCREEN_0232.

* << Fim da inclusão

    WHEN '0310'.

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

      LOOP AT SCREEN.

        IF NOT screen-group1 IS INITIAL.

          screen-invisible = '1'.

          CASE screen-group1.

            WHEN 'F3'.

              IF '1' CA /pws/zycie006-fabricante .

                screen-invisible = '0'.

              ENDIF.

            WHEN 'F1' OR 'F2'.

              IF '023' CA /pws/zycie006-fabricante.

* << Fim da exclusão

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

      PERFORM SET_SCREEN_0310.

* << Fim da inclusão

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

                screen-invisible = '0'.

              ENDIF.

            WHEN 'ALL'.

              IF '012' CA /pws/zycie006-fabricante.

                screen-invisible = '0'.

              ENDIF.

          ENDCASE.

          MODIFY SCREEN.

        ENDIF.

      ENDLOOP.

* << Fim da exclusão

    WHEN '0312'.

      LOOP AT SCREEN.

        screen-invisible = '0'.

        IF screen-group1 = 'UNK'.

          IF /pws/zycie006-fabricante NE '3'.

...

 

...

          ENDIF.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

    WHEN '0350'.

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

      v_input = '0'.

      IF v_acto = 'A'.

        v_input = '1'.

      ENDIF.

      MOVE /pws/zycie006-codcambial TO v_m.

      LOOP AT SCREEN.

        screen-input     = '0'.

        screen-invisible = '1'.

        CASE v_m.

          WHEN space.

            IF screen-group2 = 'NR'.

              screen-invisible = '0'.

            ENDIF.

          WHEN '1'.

            IF screen-group1 = '180'  OR

               screen-group2 = '1'    OR

               screen-group2 = '3'    OR

               screen-group2 = 'NR'.

              screen-invisible = '0'.

            ENDIF.

          WHEN '2'.

            IF screen-group1 = '360'  OR

               screen-group2 = '1'    OR

               screen-group2 = '3'    OR

               screen-group2 = 'NR'.

              screen-invisible = '0'.

            ENDIF.

          WHEN '3'.

            IF screen-group1 = 'SUP'  OR

               screen-group2 = '2'    OR

               screen-group2 = '3'    OR

               screen-group2 = 'NR'.

              screen-invisible = '0'.

            ENDIF.

          WHEN '4'.

            IF screen-group3 EQ '4A'  OR

               screen-group2 EQ 'NR'.

              screen-invisible = '0'.

            ENDIF.

            IF screen-group3 EQ '4B'.

              CASE /pws/zycie006-motivo.

                WHEN '30' OR '57' OR '66' OR '70'.

                  screen-invisible = '0'.

              ENDCASE.

            ENDIF.

            IF screen-group1 EQ '4C'  OR

               screen-group3 EQ '4C'.

              IF /pws/zycie006-motivo = '32'.

                screen-invisible = '0'.

              ENDIF.

            ENDIF.

        ENDCASE.

        IF screen-group4 = 'TAB'.

          screen-input = '1'.

        ENDIF.

        IF screen-group1 EQ 'AC' AND screen-invisible EQ '0'.

          screen-input = v_input.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

* << Fim da exclusão

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

       PERFORM SET_SCREEN_0350.

* << Fim da inclusão

    WHEN '0353'.

      LOOP AT SCREEN.

        IF screen-group1 EQ 'AC'.

          screen-input = '0'.

          IF v_acto EQ 'A'.

...

 

...

                                '1' CHANGING t_regdes,

               load_regt  USING /pws/zycie100a-codregtriipi

                                /pws/zycie085-ntimp

                                '2' CHANGING t_regde2,

               load_fund  USING /pws/zycie100a-codfunleg,

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

               load_regt  USING /pws/zycie100a-codregtriicms

                                /pws/zycie085-ntimp

                                '4' CHANGING t_regde3,

               load_fun_icms  ,

* << Fim da inclusão

               load_alad  USING /pws/zycie100a-aladi,

               load_unit  USING /pws/zycie003-meins CHANGING s_umped,

               load_um    USING /pws/zycie003-meinsest CHANGING

                                s_umestt,

               load_umad.

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

    ELSE.

      s_vluni_d2 = itab_it-vlreal.

      IF /pws/zycie100a-impmerco IS INITIAL.

        /pws/zycie100a-impmerco = 'N'.

* << Fim da exclusão

      ENDIF.

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

      IF /pws/zycie100a-matusado IS INITIAL.

        /pws/zycie100a-matusado = 'N'.

      ENDIF.

      PERFORM: load_lsi,

               load_fund  USING /pws/zycie100a-codfunleg,

               load_motf,

               load_cncm  USING /pws/zycie003-j_1bnbm,

               load_tsp,

               load_regt  USING /pws/zycie100a-codregtri

                               /pws/zycie085-ntimp '1'

                          CHANGING t_regdes,

               load_clas,

               load_pais  USING /pws/zycie100a-pproc CHANGING t_ppais

                                 s_pais,

               load_blwa,

               load_blme  USING /pws/zycie100a-meinscom.

    ENDIF.

* << Fim da exclusão

    CLEAR:   rtexti, xtheadi.

    REFRESH: rtexti.

    CONCATENATE /pws/zycie085-nrseqdi

                itab_it-nrseq

                itab_it-ebeln

...

 

...

             load_inco,

             load_regt USING wa_it-codregtri    /pws/zycie085-ntimp '1'

                       CHANGING t_regdes,

             load_regt USING wa_it-codregtriipi /pws/zycie085-ntimp '2'

                       CHANGING t_regde2,

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

             load_regt USING wa_it-codregtriicms /pws/zycie085-ntimp '4'

                       CHANGING t_regde3,

* << Fim da inclusão

             load_lfa1 USING /pws/zycie126-agente CHANGING a_lfa,

             load_moti USING /pws/zycie006-motivo CHANGING a_motiv,

             load_mdpg,

             load_juro,

             load_waers USING wa_it-waers CHANGING t_msis t_mdes,

             load_fund USING wa_it-codfunleg,

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

             load_fund USING wa_it-codfunlegicms,

* << Fim da inclusão

             load_mval USING wa_it-codmat,

             load_itwa USING wa_it-waersbem,

             load_unit USING wa_it-meinsest CHANGING s_umestt,

             load_alad USING wa_it-aladi,

             load_ifin.

...

 

...

      ENDIF.

      IF screen-name = '/PWS/ZYCIE085-DTTAX'.

        IF v_nf041 EQ 'S'.

          screen-input = 0.

          MODIFY SCREEN.

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

        ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

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

    IF sy-tcode EQ '/PWS/ZYCI023_E'.

      screen-input = 0.

      MODIFY SCREEN.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

  IF sy-dynnr = '0133' AND /pws/zycie093-meiotransp EQ 'PS'.

    CLEAR: s_wicreco, s_wsisco.

  ENDIF.

...

 

...

          screen-input = '0'.

        ELSE.

          screen-input = '1'.

        ENDIF.

      ENDIF.

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

      MODIFY SCREEN.

    ENDLOOP.

* << Fim da exclusão

    IF /pws/zycie100a-codregtripiscofi EQ 2 OR

       /pws/zycie100a-codregtripiscofi EQ 6.

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

      LOOP AT SCREEN.

* << Fim da exclusão

        IF screen-name EQ '/PWS/ZYCIE100A-ALIQPIS' OR

           screen-name EQ '/PWS/ZYCIE100A-ALIQCOF' OR

           screen-name EQ '/PWS/ZYCIE100A-BASREDPIS' OR

           screen-name EQ '/PWS/ZYCIE100A-BASREDCOF'.

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

          screen-input = 0.

        ENDIF.

      ENDIF.

      IF sy-tcode EQ '/PWS/ZYCI023_E'.

* << Fim da inclusão

          screen-input = 0.

        ENDIF.

        MODIFY SCREEN.

      ENDLOOP.

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

ENDMODULE.

MODULE fill_struct_itc OUTPUT.

  wa_itb-nrseq = itab_itc-nrseq.

  wa_itb-ebeln = itab_itc-ebeln.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023TOP

 

...

  s_opcb(18),

  s_cont(16),

  s_conu(23),

  t_fundes_reducao(120),

  t_fundes_regtri(120),

* >> Início da inclusão:

  t_fundes_icms(120),

* << Fim da inclusão

  s_tpa(15),

  s_mod(34),

  s_setor(35),

  stxt_id(17),

  stxt_embloc(17),

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE100A

 

*Os seguintes campos foram criados:

 

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

 

...

 

BASECOFINS       /PWS/ZYCIL307                 CURR    16

ADVALCOFINS      J_1BTXRATE                    DEC      6

BASREDCOF        /PWS/ZYCIL041                 DEC      6

ALIQPIS          J_1BTXRATE                    DEC      6

ALIQCOF          J_1BTXRATE                    DEC      6

CODREGTRIPISCOFI /PWS/ZYCEL265 /PWS/ZYCIT167   CHAR     1

CODFUNLEGPISCOFI /PWS/ZYCIL203                 CHAR     2

REDPISCOFI       LOHN_B                        CHAR     1

CODREDPISCOFI    /PWS/ZYCIL203                 CHAR     2

PERCREDUZPC      J_1BTXRATE                    DEC      6

UM_PIS           MEINS                         UNIT     3

UM_COFINS        MEINS                         UNIT     3

QTDUM_PIS        NUM08                         NUMC     8

QTDUM_COFINS     NUM08                         NUMC     8

PIS_CALC         /PWS/ZYCIL307                 CURR    16

PIS_DEV          /PWS/ZYCIL307                 CURR    16

COFI_CALC        /PWS/ZYCIL307                 CURR    16

COFI_DEV         /PWS/ZYCIL307                 CURR    16

*<<Inicio Inclusão

CODREGTRIICMS    /PWS/ZYCEL265 /PWS/ZYCIT167   CHAR     1

CODFUNLEGICMS    /PWS/ZYCIL203                 CHAR     2

*<<Fim Inclusão

 

 

*Verificações externas

Nome de campo      CODREGTRIICMS

Tabela verificação /PWS/ZYCIT167

 

Tabela chave externa Cpo.chave externa Tab.verif.    Nome de campo

 

/PWS/ZYCIE100A       MANDT             /PWS/ZYCIT167 MANDT

/PWS/ZYCIE100A       CODFUNLEG         /PWS/ZYCIT167 NTIMP

*                                      /PWS/ZYCIT167 TIPO

/PWS/ZYCIE100A       CODREGTRIICMS     /PWS/ZYCIT167 CODREG

*                                      /PWS/ZYCIT167 REGIO

 

*Ajudas de Pesquisa

Nome de campo      CODFUNLEGICMS

Nome ajuda pesq.   /PWS/ZYCIA177

 

     Par.AjPesq Tabela conexão Cpo.conexão ajuda p/pesquisa

 

     CODIGO     /PWS/ZYCIE100A CODFUNLEGICMS

     ORIGEM     /PWS/ZYCIE085  TPDI

     REGIME     /PWS/ZYCIE100A CODREGTRIICMS

     TPNI       /PWS/ZYCIE085  NTIMP

 

 

 

 Nome de campo      CODREGTRIICMS

 Nome ajuda pesq.   /PWS/ZYCIA031

 

      Par.AjPesq Tabela conexão Cpo.conexão ajuda p/pesquisa

 

      CODREG     /PWS/ZYCIE100A CODREGTRIICMS

      NTIMP      /PWS/ZYCIE100A CODFUNLEGICMS

      TIPO       '4'

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT100

 

*Os seguintes campos foram criados:

 

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

 

...

 

BASECOFINS       /PWS/ZYCIL307                 CURR    16

ADVALCOFINS      J_1BTXRATE                    DEC      6

BASREDCOF        /PWS/ZYCIL041                 DEC      6

ALIQPIS          J_1BTXRATE                    DEC      6

ALIQCOF          J_1BTXRATE                    DEC      6

CODREGTRIPISCOFI /PWS/ZYCEL265 /PWS/ZYCIT167   CHAR     1

CODFUNLEGPISCOFI /PWS/ZYCIL203                 CHAR     2

REDPISCOFI       LOHN_B                        CHAR     1

CODREDPISCOFI    /PWS/ZYCIL203                 CHAR     2

PERCREDUZPC      J_1BTXRATE                    DEC      6

UM_PIS           MEINS                         UNIT     3

UM_COFINS        MEINS                         UNIT     3

QTDUM_PIS        NUM08                         NUMC     8

QTDUM_COFINS     NUM08                         NUMC     8

PIS_CALC         /PWS/ZYCIL307                 CURR    16

PIS_DEV          /PWS/ZYCIL307                 CURR    16

COFI_CALC        /PWS/ZYCIL307                 CURR    16

COFI_DEV         /PWS/ZYCIL307                 CURR    16

*<<Inicio Inclusão

CODREGTRIICMS    /PWS/ZYCEL265 /PWS/ZYCIT167   CHAR     1

CODFUNLEGICMS    /PWS/ZYCIL203                 CHAR     2

*<<Fim Inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCIT167

 

*O seguinte campo foi criado:

 

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

 

MANDT          MANDT                         CLNT     3

NTIMP          /PWS/ZYCIL062 /PWS/ZYCIT024   CHAR     2

TIPO           /PWS/ZYCIL310                 CHAR     1

CODREG         /PWS/ZYCEL265                 CHAR     1

*<<Inicio Inclusão

REGIO          REGIO                         CHAR     3

*<<Fim Inclusão

DESCRICAO      /PWS/ZYCEL263                 CHAR   150

USERNAMEC      SYUNAME                       CHAR    12

DTUSERC        SYDATUM                       DATS     8

HRUSERC        SYSTTIMLO                     TIMS     6

 

 

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

Modificações efetuadas em TOBJ /PWS/ZYCIT167S

 

*Gerar novamente a visão da tabela /PWS/ZYCIT167.