CE PLUS - Nota 002575

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 04/12/2006 00:00:00

Data/Hora Última Alteração: 17/02/2011 14:40:54

Descrição da Nota: CONTROLE DE ATO INTERMEDIARIO-IMPORTADOR POR NCM E MULTIPLAS AREAS NEGÓC

Sintoma

Implementação do controle por ncm para atos do tipo intermediario-importador.

Implementação de multiplas aras de negócio.

 

 

Solução

Implementação do controle por ncm para atos do tipo intermediario-importador.

Implementação de multiplas aras de negócio.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

PASTA RESUMO PARA ATO CONCESSÓRIO COMUM POR NCM

AJUSTE NO FORECAST PARA COMTEMPLAR TAB. DE AREA DE NEGOCIO X CENTRO PROD

Informações Complementares

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

Nota Número 02575 Data: 04/12/2006 Hora: 09:24:34

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

 

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

Nota Número              : 02575

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00142

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

Referência às notas relacionadas:

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

 

01359  - 00001 - 6.0    - 00023  - PASTA RESUMO PARA ATO CONCESSÓRIO COMUM POR NCM

02561  - 00002 - 6.0    - 00025  - AJUSTE NO FORECAST PARA COMTEMPLAR TAB. DE AREA DE NEGOCIO X CENT

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

CONTROLE DE ATO INTERMEDIARIO-IMPORTADOR POR NCM E MULTIPLAS AREAS NEGÓC

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

Palavras Chave:

ATO - CONCESSÓRIO - INTERMEDIARIO - IMPORTADOR - CONTROLE - NCM

/PWS/SAPMZYCI040 - MULTIPLAS - AREAS - NEGÓCIO

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

Objetos da nota:

DYNP /PWS/SAPMZYCI040                        0201

DYNP /PWS/SAPMZYCI040                        0225

DYNP /PWS/SAPMZYCI040                        0226

DYNP /PWS/SAPMZYCI040                        0246

DYNP /PWS/SAPMZYCI040                        0247

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040F03

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040O01

REPS /PWS/MZYCI040TOP2

REPS /PWS/MZYCI040TOP3

REPT /PWS/SAPMZYCI040

TABD /PWS/ZYCIE427

TABD /PWS/ZYCIT244

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0201

 

   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

* >> Início da inclusão

   BTN201_02

      Push       7       25       4       3       1     CHAR                   Off

                                                    AREA

      C/ícone

* >> Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0225

 

PROCESS BEFORE OUTPUT.

* >> Início da inclusão

 MODULE set_screen2.

* >> Fim da inclusão

 

  loop at itab_zycit427 with control tc_merc

                                           cursor tc_merc-current_line.

 

    module: preenche_estrutura_0225.

*            trata_screen_0203      .

  endloop.

 

*

PROCESS AFTER INPUT.

  loop at itab_zycit427 .

 

 

    chain.

      field: /pws/zycie427-matnr   ,

* >> Início da inclusão

             /pws/zycie427-ncm     ,

* >> fim da inclusão

             /pws/zycie427-stlan   ,

             /pws/zycie427-meins   ,

             /pws/zycie427-qtd_iten,

             /pws/zycie427-stlal ,

             /pws/zycie427-STLNR   ,

             /pws/zycie427-werks

             module alter_linha_0225 on chain-request.

    endchain.

 

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0226

 

   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

 

+  TS_COMP_MEC

      TbStr      1        1     114     114      20

* >> Início da inclusão

 

 - FS_RESUMERC

      Push       1        3       6       6       1     CHAR

                                                    FS_RESUMERC

      Elem.em TabStripControl

* >> Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0246

 

Criada tela:

 

Descrição breve        SS - Resumo mercado interno(Intermediario Importador)

Idioma original        P

Tipo tela              Tela include (subtela)

Tela seguin            0246

Manter dados           Desativado

Fonte equidistante     Desativado

Compressão tmp.exec.   Ativado

Tela-modelo            Desativado

Manter posição de rola Desativado

Posição cursor

Grp.telas

Linhas/colunas  Ocupds   2 / 90

                Atual.  27 /122

 

Campos:

 

   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

 

   /PWS/ZYCIE427-ITEM

      Texto      1        1       5       5       1     CHAR      X    F

 

   /PWS/ZYCIE427-ITEM

      I/O        1        8       3       3       1     NUMC   X               Off

                               BUZ

      Alinh.à dir.

   /PWS/ZYCIE427-NCM

      Texto      1       13      11      11       1     CHAR      X    F

      Chave externa

   /PWS/ZYCIE427-NCM

      I/O        1       26      16      16       1     CHAR   X               Off

      Chave externa, Botão EntrsPoss.stand.

   /PWS/ZYCIE427-DESCR

      Texto      1       45      10      10       1     CHAR      X    F

 

   /PWS/ZYCIE427-DESCR

      I/O        1       56      40      35       1     CHAR   X               Off

      PossRol

   /PWS/ZYCIE427-QTD_ITEN

      Texto      2        1      11      11       1     CHAR      X    F

 

   /PWS/ZYCIE427-QTD_ITEN

      I/O        2       13      33      20       1     QUAN   X     X         Off

      Alinh.à dir.

   /PWS/ZYCIE427-MEINS

      Texto      2       34       3       3       1     CHAR      X    F

 

   /PWS/ZYCIE427-MEINS

      I/O        2       39       3       3       1     UNIT   X               Off

      Saída de conversão=CUNIT

   /PWS/ZYCIE427-VLFOB_T

      Texto      2       45      10      10       1     CHAR      X    F

 

   /PWS/ZYCIE427-VLFOB_T

      I/O        2       56      31      22       1     CURR   X     X         Off

      Alinh.à dir.

      Código da moeda=/PWS/ZYCIE427-WAERS

   /PWS/ZYCIE427-WAERS

      Texto      2       79       6       6       1     CHAR      X    F

 

   /PWS/ZYCIE427-WAERS

      I/O        2       86       5       5       1     CUKY   X               Off

 

+  TC_RESMERCI

      Tabel      3        1      90      90      24

      Seleção linha=Simples, Seleção coluna=Simples

      TabEntr., Com título, Configurável, RedimVertic., RedimHoriz., LSep.horiz., LnhSep.vert.

 - /PWS/ZYCIE432-MATNR

      Texto      1        1      15      18       1     CHAR      X    2

      Chave externa, Título de coluna TC

 - ITAB_ZYCIT432_R-DESC

      Texto      1        2       9      30       1     CHAR

      Título de coluna TC

 - /PWS/ZYCIE432-QTD_APRO

      Texto      1        3      16      20       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE432-VL_ITNF

      Texto      1        4       9      20       1     CHAR      X    F

      Título de coluna TC

 - /PWS/ZYCIE432-MATNR

      I/O        1        1      18      18       1     CHAR   X               Off

                               MAT

      Chave externa, Botão EntrsPoss.stand., Elem.TC

      Saída de conversão=MATN1

 - ITAB_ZYCIT432_R-DESC

      I/O        1        2      40      30       1     CHAR                   Off

      PossRol, Elem.TC

 - /PWS/ZYCIE432-QTD_APRO

      I/O        1        3      33      20       1     QUAN   X               Off

      Alinh.à dir., Elem.TC

 - /PWS/ZYCIE432-VL_ITNF

      I/O        1        4      21      20       1     CURR   X               Off

      Alinh.à dir., Elem.TC

      Código da moeda=J_1BNFDOC-WAERK

 

 

Lógica de Processamento:

 

PROCESS BEFORE OUTPUT.

  LOOP AT itab_zycit432_r WITH CONTROL tc_resmerci

                                   CURSOR tc_resmerci-current_line.

 

    MODULE: preenche_res_432.

 

  ENDLOOP.

 

PROCESS AFTER INPUT.

 

  LOOP AT itab_zycit432_r.

 

    MODULE: preenche_it_res_427.

 

  ENDLOOP.

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI040                        0247

 

Tela criada:

 

Descrição breve        Multiplas areas de negócio

Idioma original        P

Tipo tela              Tela diálogo modal

Tela seguin            0247

Manter dados           Desativado

Fonte equidistante     Desativado

Compressão tmp.exec.   Ativado

Tela-modelo            Desativado

Manter posição de rola Desativado

Posição cursor

Grp.telas

Linhas/colunas  Ocupds  21 / 19

                Atual.  27 /120

 

 

Campos:

 

      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

 

+  TC_AREAS_N

      Tabel      1        1      19      19      21

      Seleção linha=Simples, Seleção coluna=Simples

      TabEntr., Com título, Configurável, LSep.horiz., LnhSep.vert.

 - /PWS/ZYCIE244-CODAGRUP

      Texto      1        1      15      15       1     CHAR      X    F

      Chave externa, Título de coluna TC

 - /PWS/ZYCIE244-CODAGRUP

      I/O        1        1       3      15       1     CHAR   X           Ent Off

      Chave externa, Botão EntrsPoss.stand., Elem.TC

   OK_CODE2

      OK

 

 

Lógica de Processamento:

 

PROCESS BEFORE OUTPUT.

 MODULE STATUS_0247.

 

  LOOP AT itab_zycit250 WITH CONTROL tc_areas_n

                                   CURSOR tc_areas_n-current_line.

    MODULE: preenche_areas.

  ENDLOOP.

 

PROCESS AFTER INPUT.

  LOOP AT itab_zycit250.

    CHAIN.

      FIELD: /pws/zycie244-codagrup MODULE altera_area ON CHAIN-REQUEST.

    ENDCHAIN.

  ENDLOOP .

 

  MODULE user_command_0247.

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

      v_valor  = ( /pws/zycie244-t_vimp / /pws/zycie244-t_vexp ) * 100.

      v_tcambial = v_valor.

      SHIFT v_tcambial LEFT DELETING LEADING space.

      CONCATENATE v_tcambial '%' INTO v_tcambial.

      REPLACE '.' WITH ',' INTO v_tcambial.

      IF v_valor > 60.

        MESSAGE w015 WITH text-192.

      ENDIF.

    ENDIF.

  ENDIF.

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

  IF itab_zycit250[] IS INITIAL.

    btn201_02 = '@1F@'.

  ELSE.

    btn201_02 = '@1E@'.

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM execute_button_btn2.

  MOVE /pws/zycie244-werks TO v_werks2.

  CALL SCREEN '0208' STARTING AT 33 5.

  READ TABLE itab_centros2 INDEX 1.

  IF sy-subrc EQ 0 AND v_werks2 IS INITIAL.

    MOVE itab_centros2-werks TO /pws/zycie244-werks.

  ELSE.

    MOVE v_werks2 TO /pws/zycie244-werks.

  ENDIF.

...

 

...

        ENDIF.

    ENDCASE.

  ENDLOOP.

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

    LOOP AT tc_mexp2-cols INTO wa_cols2.

      CASE wa_cols2-screen-name.

        WHEN '/PWS/ZYCIE247-CODMAT'.

          wa_cols2-invisible = 1.

          MODIFY tc_mexp2-cols FROM wa_cols2.

        WHEN '/PWS/ZYCIE247-MAT_INT'.

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

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

            wa_cols2-invisible = 1.

          ELSE.

* << Fim da inclusão

          wa_cols2-invisible = 0.

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

          ENDIF.

* << Fim da inclusão

          MODIFY tc_mexp2-cols FROM wa_cols2.

        WHEN '/PWS/ZYCIE247-WERKS'.

          wa_cols2-invisible = 1.

          MODIFY tc_mexp2-cols FROM wa_cols2.

        WHEN '/PWS/ZYCIE247-STLNR'.

          wa_cols2-invisible = 1.

...

 

...

    dynpronr4a     = '0207'.

  ELSE.

    IF v_marcados4 > 1.

      MESSAGE s015 WITH text-016.

      EXIT.

    ENDIF.

    REFRESH itab_zycit371_aux.

    READ TABLE itab_zycit247 WITH KEY markme = 'X'.

    IF sy-subrc EQ 0.

      REFRESH itab_zycit371_aux.

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

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

* << Fim da inclusão

      LOOP AT itab_zycit371 WHERE codigo EQ itab_zycit247-mat_int.

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

          itab_zycit371_aux = itab_zycit371.

          APPEND itab_zycit371_aux.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycit371 WHERE ncm EQ itab_zycit247-j_1bnbm.

* << Fim da inclusão

        itab_zycit371_aux = itab_zycit371.

        APPEND itab_zycit371_aux.

      ENDLOOP.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

    MOVE: sy-tabix TO v_indicatu3.

    MOVE: itab_zycit247-nritem     TO /pws/zycie247c-nritem    ,

          itab_zycit247-nritem     TO e_nritem                 ,

          itab_zycit247-nritem     TO e_nritem2                ,

          itab_zycit247-codmat     TO /pws/zycie247c-codmat    ,

          itab_zycit247-j_1bnbm    TO /pws/zycie247c-j_1bnbm   ,

          itab_zycit247-werks      TO /pws/zycie247c-werks     ,

          itab_zycit247-meins      TO /pws/zycie247c-meins     ,

          itab_zycit247-um_ncm     TO /pws/zycie247c-um_ncm    ,

...

 

...

  IF v_tcode2 EQ '/PWS/ZYCI040_A'.

    DELETE FROM /pws/zycit427 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit245 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit246 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit247 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit248 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit243 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit277 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit457 WHERE nrseqd = /pws/zycie244-nrseqd.

    DELETE FROM /pws/zycit470 WHERE nrseqd = /pws/zycie244-nrseqd.

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

    DELETE FROM /pws/zycit250 WHERE nrseqd = /pws/zycie244-nrseqd.

* << Fim da inclusão

    COMMIT WORK.

  ENDIF.

  PERFORM move_drawback_type2.

  LOOP AT itab_zycit279_ap.

    READ TABLE itab_zycit246_final WITH KEY

                         ebeln = itab_zycit279_ap-ebeln

                         ebelp = itab_zycit279_ap-ebelp

                         lote  = itab_zycit279_ap-lote.

    IF sy-subrc EQ 0.

      /pws/zycie279-matnr = itab_zycit279_ap-matnr.

...

 

...

  ENDLOOP.

  MODIFY /pws/zycit244 FROM /pws/zycie244.

  MODIFY /pws/zycit427 FROM TABLE itab_zycit427.

  MODIFY /pws/zycit245 FROM TABLE itab_zycit245.

  MODIFY /pws/zycit246 FROM TABLE itab_zycit246_final.

  MODIFY /pws/zycit247 FROM TABLE itab_zycit247.

  MODIFY /pws/zycit248 FROM TABLE itab_zycit248_final.

  MODIFY /pws/zycit243 FROM TABLE itab_centros2.

  MODIFY /pws/zycit457 FROM TABLE itab_zycit457.

  MODIFY /pws/zycit470 FROM TABLE itab_zycit470_s.

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

  MODIFY /pws/zycit250 FROM TABLE itab_zycit250.

* << Fim da inclusão

  IF NOT itab_zycit279_ap[] IS INITIAL.

    PERFORM salva_apont.

  ENDIF.

  IF v_aditivo > 0.

    /pws/zycie244-aditivo = v_aditivo.

  ENDIF.

  IF v_tcode2 EQ '/PWS/ZYCI040_A'.

    DELETE FROM /pws/zycit279 WHERE nrseqd = /pws/zycie244-nrseqd.

  ENDIF.

  MODIFY /pws/zycit279 FROM TABLE itab_zycit279_ap.

...

 

...

                                AND itmnum EQ itab_zycit432-itmnum.

          itab_zycit432-qtd_compv = itab_zycit432-qtd_compv +

                                      itab_zycit373-qtd_iten.

        ENDLOOP.

        MODIFY itab_zycit432.

      ENDLOOP.

    ENDIF.

    SELECT * FROM /pws/zycit371

        INTO TABLE itab_zycit371

        WHERE nratoc EQ /pws/zycie244-nratoc.

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

    REFRESH itab_zycit250. CLEAR itab_zycit250.

    SELECT * FROM /pws/zycit250 INTO TABLE itab_zycit250

           WHERE nrseqd EQ /pws/zycie244-nrseqd.

* << Fim da inclusão

    SELECT * FROM /pws/zycit470 INTO TABLE itab_zycit470_s

           WHERE nrseqd EQ /pws/zycie244-nrseqd.

    SELECT * FROM /pws/zycit427 INTO TABLE itab_zycit427

           WHERE nrseqd EQ /pws/zycie244-nrseqd.

    SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245

           WHERE nrseqd EQ /pws/zycie244-nrseqd

             AND proced EQ '1'.

    SELECT * FROM /pws/zycit246 INTO TABLE itab_zycit246_final

           WHERE nrseqd EQ /pws/zycie244-nrseqd.

    SELECT * FROM /pws/zycit247 INTO TABLE itab_zycit247

...

 

...

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

           /pws/zycie244-tipo EQ 'F'.

          screen-invisible = 1.

          MODIFY SCREEN.

        ENDIF.

      WHEN 'FS_RESIMP'.

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

          screen-invisible = 1.

          MODIFY SCREEN.

        ELSEIF /pws/zycie244-modalidade NE 'I' AND

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

               ( /pws/zycie244-tipo NE 'G' AND /pws/zycie244-tipo NE 'F'

* << Fim da exclusão

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

               ( /pws/zycie244-tipo NE 'G' AND

                 /pws/zycie244-tipo NE 'F'

* << Fim da inclusão

 ).

          screen-invisible = 1.

          IF /pws/zycit321-c_comum EQ 'X' AND

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

             /pws/zycie244-tipo    EQ 'C'.

* << Fim da exclusão

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

             ( /pws/zycie244-tipo    EQ 'C' OR

               /pws/zycie244-tipo    EQ 'N' ).

* << Fim da inclusão

            screen-invisible = 0.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

      WHEN 'FS_DICOMP'.

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

          screen-invisible = 1.

          MODIFY SCREEN.

        ENDIF.

    ENDCASE.

...

 

...

        ENDIF.

      WHEN 'FS_RESMAT'.

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

          screen-invisible = 1.

          MODIFY SCREEN.

        ELSEIF /pws/zycie244-modalidade NE 'I' AND

            ( /pws/zycie244-tipo NE 'G' AND /pws/zycie244-tipo NE 'F'

 ).

          screen-invisible = 1.

          IF /pws/zycit321-c_comum EQ 'X' AND

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

             /pws/zycie244-tipo    EQ 'C'.

* << Fim da exclusão

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

             /pws/zycie244-tipo    EQ 'C' OR

             /pws/zycie244-tipo    EQ 'N'.

* << Fim da inclusão

            screen-invisible = 0.

          ENDIF.

          MODIFY SCREEN.

        ENDIF.

      WHEN 'FS_RECOMP2'.

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

          screen-invisible = 1.

          MODIFY SCREEN.

        ENDIF.

    ENDCASE.

...

 

...

                 INTO itab_zycit247-j_1bnbm

                 WHERE matnr EQ itab_zycit247-codmat

                   AND werks EQ itab_zycit247-werks.

          ENDSELECT.

          MODIFY itab_zycit247.

        ENDIF.

      ENDLOOP.

      PERFORM apura_totais_0206.

    ENDIF.

  ENDIF.

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

  SELECT * FROM /pws/zycit250 appending TABLE itab_zycit250

         WHERE nrseqd EQ /pws/zycie244-nrcompos.

  itab_zycit250-nrseqd = /pws/zycie244-nrseqd.

  MODIFY itab_zycit250 TRANSPORTING nrseqd

                WHERE nrseqd NE /pws/zycie244-nrseqd.

  SORT itab_zycit250 BY codagrup.

  DELETE ADJACENT DUPLICATES FROM itab_zycit250 COMPARING codagrup.

* << Fim da inclusão

  PERFORM carrega_di_composta2.

  PERFORM carrega_re_composta2.

ENDFORM.

FORM trata_tab_impdi2.

  DATA: v_marcados5 TYPE i VALUE 0.

  LOOP AT itab_res_dicomp WHERE marc_rdc = 'X'.

    v_marcados5 = v_marcados5 + 1.

  ENDLOOP.

  IF v_marcados5 > 1.

    MESSAGE s015 WITH text-016.

...

 

...

  CALL SCREEN '0221' STARTING AT 33 5.

  DESCRIBE TABLE itab_vencto2 LINES v_ilinhas.

  READ TABLE itab_vencto2 INDEX v_ilinhas.

  IF sy-subrc EQ 0.

    MOVE itab_vencto2-vencto TO /pws/zycie244-vcto_vg.

  ELSE.

    CLEAR /pws/zycie244-vcto_vg.

  ENDIF.

ENDFORM.

FORM trata_tab_imp2.

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

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

* << Fim da exclusão

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

  IF /pws/zycie244-modalidade EQ 'S' AND

     /pws/zycit321-c_comum IS INITIAL.

* << Fim da inclusão

    v_null2 = 'N'.

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

      LOOP AT itab_zycit427.

        IF itab_zycit427-qtd_iten IS INITIAL.

          v_null2 = 'S'.

        ELSEIF itab_zycit427-vlfob IS INITIAL.

          v_null2 = 'S'.

        ENDIF.

      ENDLOOP.

      IF v_null2 EQ 'S'.

...

 

...

    MOVE: itab_zycit248-matnr    TO itab_zycit248_res-matnr   ,

          itab_zycit248-qtd_iten TO itab_zycit248_res-qtd_iten,

          itab_zycit248-vlfob    TO itab_zycit248_res-vlfob   .

    COLLECT itab_zycit248_res.

  ENDLOOP.

  LOOP AT itab_zycit248_res.

    READ TABLE itab_zycit248 WITH KEY matnr = itab_zycit248_res-matnr.

    IF sy-subrc EQ 0.

      MOVE: itab_zycit248-waersfob TO itab_zycit248_res-waersfob,

            itab_zycit248-meins    TO itab_zycit248_res-meins   .

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

      MODIFY itab_zycit248_res.

    ENDIF.

  ENDLOOP.

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

    LOOP AT itab_zycit371 WHERE ncm EQ /pws/zycie247c-j_1bnbm.

      MOVE: itab_zycit371-codigo   TO itab_zycit248_res-matnr   ,

            itab_zycit371-qtd_iten TO itab_zycit248_res-qtd_iten,

            itab_zycit371-vlfob    TO itab_zycit248_res-vlfob   .

      COLLECT itab_zycit248_res.

    ENDLOOP.

    LOOP AT itab_zycit248_res.

     READ TABLE itab_zycit371 WITH KEY codigo = itab_zycit248_res-matnr.

      IF sy-subrc EQ 0.

        MOVE itab_zycit371-um_qtd TO itab_zycit248_res-meins   .

* << Fim da inclusão

      MODIFY itab_zycit248_res.

    ENDIF.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

  SORT itab_zycit248_res BY matnr ASCENDING.

  pressed_tab_4a = ok_code2.

  dynpronr4a     = '0223'.

ENDFORM.

...

 

...

              taxa_nao_encontrada        = 6

              i_montante_nao_encontrado  = 7.

    p_paravlme = v_paravlme.

  ENDIF.

ENDFORM.

FORM fill_itab_zycit247_inter.

  DATA: v_um_rez TYPE i,

        v_um_ren TYPE i,

        v_conv1  TYPE /pws/zycit245-qtd_ncm,

        v_conv2  TYPE /pws/zycit245-qtd_ncm.

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

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

    CHECK NOT /pws/zycie247-j_1bnbm IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit368

        WHERE steuc EQ /pws/zycie247-j_1bnbm

          AND kunnr EQ /pws/zycie244-kunnr.

  ELSE.

* << Fim da inclusão

  CHECK NOT /pws/zycie247-mat_int IS INITIAL.

  SELECT SINGLE * FROM /pws/zycit368

      WHERE nrseq EQ /pws/zycie247-mat_int

        AND kunnr EQ /pws/zycie244-kunnr.

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

  ENDIF.

* << Fim da inclusão

  IF sy-subrc EQ '0'.

    READ TABLE itab_zycit247 INDEX tc_mexp2-current_line.

    IF sy-subrc NE 0.

...

 

...

        EXIT.

      ENDIF.

      itab_zycit247-nrseqd   = /pws/zycie244-nrseqd  .

      PERFORM select_exp_max_item_number2 CHANGING v_nritem.

      itab_zycit247-nritem   = v_nritem         .

      itab_zycit247-mat_int  = /pws/zycie247-mat_int .

      itab_zycit247-meins    = /pws/zycit368-meins   .

      itab_zycit247-qtd_iten = /pws/zycie247-qtd_iten.

      itab_zycit247-waers    = /pws/zycie247-waers   .

      itab_zycit247-netpr    = /pws/zycie247-netpr   .

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

      itab_zycit247-netpr_t  = /pws/zycie247-netpr_t .

* << Fim da inclusão

      itab_zycit247-vl_frete = /pws/zycie247-vl_frete.

      itab_zycit247-pctcomis = /pws/zycie247-pctcomis.

      itab_zycit247-vl_comis = /pws/zycie247-vl_comis.

      itab_zycit247-gewei    = /pws/zycie247-gewei   .

      itab_zycit247-brgew    = /pws/zycie247-brgew   .

      itab_zycit247-ntgew    = /pws/zycie247-ntgew   .

      itab_zycit247-j_1bnbm  = /pws/zycit368-steuc   .

      itab_zycit247-markme   = markme           .

      PERFORM busca_um_ncm USING itab_zycit247-j_1bnbm

                        CHANGING itab_zycit247-um_ncm.

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

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

* << Fim da inclusão

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

      IF itab_zycit247-meins = 'TO' AND

       itab_zycit247-gewei = 'KG'.

        itab_zycit247-netpr_t =

             ( itab_zycit247-netpr * itab_zycit247-qtd_iten *

               1000 ).

      ELSEIF itab_zycit247-meins = 'KG' AND

               itab_zycit247-gewei = 'TO'.

        itab_zycit247-netpr_t =

             ( itab_zycit247-netpr * itab_zycit247-qtd_iten /

               1000 ).

* << Fim da exclusão

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

        IF NOT itab_zycit247-netpr_t IS INITIAL AND

           NOT itab_zycit247-qtd_iten IS INITIAL.

          itab_zycit247-netpr =

                itab_zycit247-netpr_t / itab_zycit247-qtd_iten.

        ENDIF.

* << Fim da inclusão

      ELSE.

        itab_zycit247-netpr_t =

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

             ( itab_zycit247-netpr * itab_zycit247-qtd_iten ).

* << Fim da exclusão

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

              itab_zycit247-netpr * itab_zycit247-qtd_iten.

* << Fim da inclusão

      ENDIF.

      itab_zycit247-vl_frete_t  =

...

 

...

        ELSE.

          itab_zycit247-qtd_ncm = /pws/zycie247-qtd_ncm.

        ENDIF.

      ENDIF.

      APPEND itab_zycit247.

      itab_zycit247_aux[] = itab_zycit247[].

      v_verificp2 = 'N'.

    ELSE.

      itab_zycit247 = /pws/zycie247.

      itab_zycit247-markme = markme.

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

      IF itab_zycit247-meins = 'TO' AND

       itab_zycit247-gewei = 'KG'.

        itab_zycit247-netpr_t =

             ( itab_zycit247-netpr * itab_zycit247-qtd_iten *

               1000 ).

      ELSEIF itab_zycit247-meins = 'KG' AND

               itab_zycit247-gewei = 'TO'.

        itab_zycit247-netpr_t =

             ( itab_zycit247-netpr * itab_zycit247-qtd_iten /

               1000 ).

* << Fim da exclusão

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

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

        IF NOT itab_zycit247-netpr_t IS INITIAL AND

           NOT itab_zycit247-qtd_iten IS INITIAL.

          itab_zycit247-netpr =

                itab_zycit247-netpr_t / itab_zycit247-qtd_iten.

        ENDIF.

* << Fim da inclusão

      ELSE.

        itab_zycit247-netpr_t =

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

             ( itab_zycit247-netpr * itab_zycit247-qtd_iten ).

* << Fim da exclusão

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

              itab_zycit247-netpr * itab_zycit247-qtd_iten.

* << Fim da inclusão

      ENDIF.

      itab_zycit247-vl_frete_t  =

...

 

...

          itab_zycit247-qtd_ncm =

                    ( itab_zycit247-qtd_iten / v_um_ren ) * v_um_rez.

        ELSE.

          itab_zycit247-qtd_ncm = /pws/zycie247-qtd_ncm.

        ENDIF.

      ENDIF.

      MODIFY itab_zycit247 INDEX tc_mexp2-current_line.

      v_verificp2 = 'N'.

    ENDIF.

  ELSE.

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

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

      MESSAGE w061 WITH text-168 /pws/zycie247-j_1bnbm text-211

        /pws/zycie244-kunnr.

    ELSE.

* << Fim da inclusão

    MESSAGE w061 WITH text-009 /pws/zycie247-mat_int text-211

      /pws/zycie244-kunnr.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM verifica_alteracoes.

  DATA: itab_zycit245_vf LIKE itab_zycit245 OCCURS 0 WITH HEADER LINE,

        itab_zycit247_vf LIKE itab_zycit247 OCCURS 0 WITH HEADER LINE,

...

 

...

      ENDIF.

    ENDLOOP.

    MODIFY /pws/zycit279 FROM TABLE itab_zycit279_ap.

    IF NOT itab_zycit245_s[] IS INITIAL.

      MODIFY /pws/zycit245 FROM TABLE itab_zycit245_s.

    ENDIF.

  ENDIF.

ENDFORM.

FORM preench_itab_zycit432_tl.

  REFRESH itab_zycit432_tl.

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

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

* << Fim da inclusão

  LOOP AT itab_zycit432 WHERE matnr EQ itab_zycit427-matnr.

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

      itab_zycit432_tl = itab_zycit432.

      APPEND itab_zycit432_tl.

    ENDLOOP.

  ELSE.

    LOOP AT itab_zycit432 WHERE ncm EQ space.

      SELECT SINGLE steuc FROM marc

        INTO itab_zycit432-ncm

        WHERE matnr EQ itab_zycit432-matnr

          AND steuc NE space.

      MODIFY itab_zycit432 TRANSPORTING ncm

            WHERE matnr EQ itab_zycit432-matnr.

    ENDLOOP.

    LOOP AT itab_zycit432 WHERE ncm EQ itab_zycit427-ncm.

* << Fim da inclusão

    itab_zycit432_tl = itab_zycit432.

    APPEND itab_zycit432_tl.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM explode_lista USING    p_matnr

                            p_capid

                            p_werks

...

 

...

  LOOP AT itab_zycit279_ap.

    MOVE-CORRESPONDING itab_zycit279_ap TO itab_zycit246_final.

    MOVE: itab_zycit279_ap-um_base TO itab_zycit246_final-meins.

    itab_zycit246_final-um_ncm = itab_zycit279_ap-meins.

    itab_zycit246_final-qtd_nacion = itab_zycit279_ap-slqtde -

                                     itab_zycit279_ap-qtd_transf.

    itab_zycit246_final-qtd_ncm = itab_zycit279_ap-menge.

    itab_zycit246_final-qtd_compv = itab_zycit279_ap-menge -

                                    itab_zycit279_ap-slqtde.

    IF /pws/zycie244-tipo EQ 'F' OR

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

       ( /pws/zycie244-tipo EQ 'C' AND

* << Fim da exclusão

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

       ( ( /pws/zycie244-tipo EQ 'C' OR

           /pws/zycie244-tipo EQ 'N' ) AND

* << Fim da inclusão

         /pws/zycit321-c_comum EQ 'X' ).

      READ TABLE itab_zycit245 WITH KEY

                      j_1bnbm = itab_zycit279_ap-j_1bnbm.

      itab_zycit246_final-nritem = itab_zycit245-nritem.

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

      itab_zycit246_final-nritem = '00001'.

    ELSE.

      IF /pws/zycit321-it_ge EQ 'X' AND

         /pws/zycie244-modalidade EQ 'I'.

        CLEAR:itab_zycit433a.

...

 

...

            itab_zycit247-vl_scamb = itab_zycit247-vl_scamb +

                ( ( itab_zycit247-qtd_iten * itab_lista-usagem )

                * ( itab_zycit245-vl_scamb / itab_zycit245-qtd_tot ) ).

          ENDIF.

        ENDLOOP.

        MODIFY itab_zycit247.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM check_field_0225.

  LOOP AT tc_merc-cols INTO wa_cols2.

    CASE wa_cols2-screen-name.

      WHEN '/PWS/ZYCIE427-MATNR'.

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

          wa_cols2-invisible = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-WERKS'.

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

          wa_cols2-invisible = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-NCM'.

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

          wa_cols2-screen-input = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-QTD_NCM'.

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

          wa_cols2-screen-input = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-STLAN'.

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

          wa_cols2-invisible = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-STLAL'.

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

          wa_cols2-invisible = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-STLNR'.

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

          wa_cols2-invisible = 1.

        ENDIF.

      WHEN '/PWS/ZYCIE427-USAGEM'.

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

          wa_cols2-invisible = 1.

        ENDIF.

    ENDCASE.

    MODIFY tc_merc-cols FROM wa_cols2.

  ENDLOOP.

ENDFORM.

FORM execute_button_area.

  v_area = /pws/zycie244-codagrup.

  CALL SCREEN '0247' STARTING AT 33 5.

  READ TABLE itab_zycit250 INDEX 1.

  IF sy-subrc EQ 0 AND v_area IS INITIAL.

    MOVE itab_zycit250-codagrup TO /pws/zycie244-codagrup.

  ELSE.

    MOVE v_area TO /pws/zycie244-codagrup.

  ENDIF.

  DELETE itab_zycit250 WHERE codagrup = /pws/zycie244-codagrup.

  SET CURSOR FIELD /pws/zycie244-codagrup.

  CLEAR v_area.

  SORT itab_centros2 BY werks.

  DELETE ADJACENT DUPLICATES FROM itab_centros2 COMPARING werks.

  IF /pws/zycie244-werks IS INITIAL AND

     NOT itab_centros2[] IS INITIAL.

    READ TABLE itab_centros2 INDEX 1.

    /pws/zycie244-werks = itab_centros2-werks.

  ENDIF.

  DELETE itab_centros2 WHERE werks EQ /pws/zycie244-werks.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F03

 

...

            EXIT.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM trata_tab_imp2_merc.

  DATA: itab_zycit369 LIKE /pws/zycit369 OCCURS 0 WITH HEADER LINE,

        v_flag.

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

  IF NOT itab_zycit247[] IS INITIAL AND

* << Fim da inclusão

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

  IF NOT itab_zycit247[] IS INITIAL.

* << Fim da exclusão

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

     /pws/zycit321-c_comum IS INITIAL.

* << Fim da inclusão

    v_null2 = 'N'.

    LOOP AT itab_zycit247.

      IF itab_zycit247-qtd_iten IS INITIAL.

        v_null2 = 'S'.

      ELSEIF itab_zycit247-netpr IS INITIAL.

        v_null2 = 'S'.

      ENDIF.

    ENDLOOP.

    IF v_null2 EQ 'S'.

      MESSAGE w015 WITH text-072 text-073.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

        PERFORM trata_button_trans2.

      ELSE.

        MESSAGE i015 WITH text-293 text-294.

      ENDIF.

    WHEN 'SAVE'.

      PERFORM trata_button_save2 CHANGING v_erro2.

    WHEN 'EXCL'.

      PERFORM trata_button_excl2.

    WHEN 'BTN2'.

      PERFORM execute_button_btn2.

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

    WHEN 'AREA'.

      PERFORM execute_button_area.

* << Fim da inclusão

    WHEN 'BTN3'.

      PERFORM trata_button_btn3.

    WHEN 'CEN_EI'.

      PERFORM centros_ei.

    WHEN 'SITUAC'.

      PERFORM trata_button_situac2.

    WHEN 'ENCER'.

      IF /pws/zycit321-siscotrans IS INITIAL OR

         /pws/zycie244-modalidade EQ 'I'  OR

         /pws/zycie244-tipo EQ 'F'.

...

 

...

      ENDIF.

      CLEAR itab_centros2. REFRESH itab_centros2.

      SELECT * FROM /pws/zycit243 INTO TABLE itab_centros2

             WHERE nrseqd EQ /pws/zycie244-nrforecast.

      IF sy-subrc EQ 0.

        LOOP AT itab_centros2.

          itab_centros2-nrseqd = /pws/zycie244-nrseqd.

          MODIFY itab_centros2.

        ENDLOOP.

      ENDIF.

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

      SELECT * FROM /pws/zycit250 APPENDING TABLE itab_zycit250

             WHERE nrseqd EQ /pws/zycie244-nrforecast.

      itab_zycit250-nrseqd = /pws/zycie244-nrseqd.

      MODIFY itab_zycit250 TRANSPORTING nrseqd

                    WHERE nrseqd NE /pws/zycie244-nrseqd.

      SORT itab_zycit250 BY codagrup.

      DELETE ADJACENT DUPLICATES FROM itab_zycit250 COMPARING codagrup.

* << Fim da inclusão

      MOVE: wa_zycit2382-modalidade TO /pws/zycie244-modalidade,

            wa_zycit2382-tipo       TO /pws/zycie244-tipo      ,

            wa_zycit2382-tipoemp    TO /pws/zycie244-tipoemp   ,

            wa_zycit2382-oper_ind   TO /pws/zycie244-oper_ind  ,

            wa_zycit2382-bukrs      TO /pws/zycie244-bukrs     ,

            wa_zycit2382-werks      TO /pws/zycie244-werks     ,

            wa_zycit2382-ekorg      TO /pws/zycie244-ekorg     ,

            wa_zycit2382-importacao TO /pws/zycie244-importacao,

            wa_zycit2382-variacaocb TO /pws/zycie244-variacaocb,

            wa_zycit2382-codagrup   TO /pws/zycie244-codagrup.

...

 

...

    IF sy-dbcnt > 1.

      v_centro = 'X'.

    ENDIF.

  ENDIF.

  IF NOT v_centro IS INITIAL

  AND /pws/zycie247-werks IS INITIAL.

    MESSAGE w015 WITH text-258 /pws/zycie247-codmat text-256 text-257.

  ENDIF.

  IF /pws/zycie244-tipo EQ 'G' OR /pws/zycie244-tipo EQ 'F' OR

           /pws/zycit321-c_comum EQ 'X'.

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

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

      PERFORM fill_itab_zycit247_inter.

    ELSE.

* << Fim da inclusão

    PERFORM fill_itab_zycit247_tg2.

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

    ENDIF.

* << Fim da inclusão

  ELSE.

    IF v_agrup IS INITIAL.

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

        PERFORM fill_itab_zycit247_inter.

      ELSE.

        PERFORM fill_itab_zycit247_ng2.

...

 

...

             /pws/zycie244-stcd1.

    ENDIF.

    SELECT SINGLE name1 stcd1 FROM kna1

        INTO (/pws/zycie244-name1, /pws/zycie244-stcd1)

        WHERE kunnr EQ /pws/zycie244-kunnr.

  ENDIF.

ENDMODULE.

MODULE preenche_estrutura_0225 INPUT.

  itab_zycit427 = /pws/zycie427.

  itab_zycit427-mark = mark.

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

  CHECK NOT /pws/zycie427-matnr IS INITIAL.

* << Fim da exclusão

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

  CHECK NOT /pws/zycie427-matnr IS INITIAL OR

        NOT /pws/zycie427-ncm IS INITIAL .

* << Fim da inclusão

  itab_zycit427-item = tc_merc-current_line * 10 .

  MODIFY itab_zycit427 INDEX tc_merc-current_line.

  IF sy-subrc NE '0'.

    APPEND itab_zycit427.

    itab_zycit427-item = sy-tabix * 10 .

    MODIFY itab_zycit427 INDEX sy-tabix.

  ENDIF.

ENDMODULE.

MODULE alter_linha_0225 INPUT.

  DATA wa_zycit281_temp LIKE /pws/zycit281.

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

  IF NOT /pws/zycie427-matnr IS INITIAL.

* << Fim da exclusão

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

  DATA: v_conv1  TYPE /pws/zycit245-qtd_ncm,

        v_conv2  TYPE /pws/zycit245-qtd_ncm.

  IF NOT /pws/zycie427-matnr IS INITIAL OR

     ( NOT /pws/zycie427-ncm IS INITIAL AND

       /pws/zycit321-c_comum = 'X' ).

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

* << Fim da inclusão

    CLEAR  wa_zycit281_temp.

    CLEAR v_centro.

    SELECT matnr FROM /pws/zycit281

     INTO TABLE itab_matnr

     WHERE matnr EQ /pws/zycie427-matnr.

    IF sy-dbcnt > 1 AND /pws/zycie427-werks IS INITIAL.

      v_centro = 'X'.

    ENDIF.

    IF /pws/zycie427-werks IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit281 INTO wa_zycit281_temp

...

 

...

          MESSAGE w061 WITH text-009 /pws/zycie427-matnr

                                              text-010 text-011 .

          DELETE itab_zycit427 INDEX tc_merc-current_line.

          CLEAR /pws/zycie427.

          EXIT.

        ENDIF.

      ENDIF.

      v_verificp2_merc = 'N'.

    ELSE.

      CLEAR /pws/zycie427.

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

      ENDIF.

    ELSE.

      SELECT SINGLE text1 FROM t604n INTO /pws/zycie427-descr

             WHERE spras = sy-langu

               AND land1 = 'BR'

               AND steuc = /pws/zycie427-ncm.

      PERFORM busca_um_ncm USING /pws/zycie427-ncm

                        CHANGING /pws/zycie427-umncm.

      IF /pws/zycie427-meins EQ /pws/zycie427-umncm .

        /pws/zycie427-qtd_ncm = /pws/zycie427-qtd_iten .

      ELSE.

        v_conv1 = 1.

        CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

             EXPORTING

                  input                = v_conv1

                  no_type_check        = 'X'

                  round_sign           = 'X'

                  unit_in              = /pws/zycie427-meins

                  unit_out             = /pws/zycie427-umncm

             IMPORTING

                  denominator          = v_um_ren

                  numerator            = v_um_rez

                  output               = v_conv2

             EXCEPTIONS

                  conversion_not_found = 1

                  division_by_zero     = 2

                  input_invalid        = 3

                  output_invalid       = 4

                  overflow             = 5

                  type_invalid         = 6

                  units_missing        = 7

                  unit_in_not_found    = 8

                  unit_out_not_found   = 9

                  OTHERS               = 10.

        IF sy-subrc = 0.

          /pws/zycie427-qtd_ncm =

                    ( /pws/zycie427-qtd_iten / v_um_ren ) * v_um_rez.

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDMODULE.

MODULE user_command_0225 INPUT.

  CASE ok_code2.

    WHEN 'MALL'.

      itab_zycit427-mark = 'X'.

      MODIFY itab_zycit427 TRANSPORTING mark

          WHERE mark NE 'X'.

    WHEN 'DALL'.

...

 

...

      IF sy-subrc EQ '0'.

        v_verificp2_merc ='N'.

      ENDIF.

  ENDCASE.

ENDMODULE.

MODULE user_command_0226 INPUT.

  CASE ok_code2.

    WHEN 'FS_COMPO3'.

      pressed_tab_8a = ok_code2.

      dynpronr8a     = '0225'.

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

    WHEN 'FS_RESUMERC'.

      READ TABLE itab_zycit427 WITH KEY mark = 'X'.

      IF sy-subrc EQ 0.

        /pws/zycie427 = itab_zycit427.

        v_saldo227 = /pws/zycie427-qtd_iten - v_qtd_tot227.

        v_vlsaldo227 = /pws/zycie427-vlfob_t - v_vltot227.

        pressed_tab_8a = ok_code2.

        dynpronr8a     = '0246'.

        PERFORM preench_itab_zycit432_tl.

      ENDIF.

      REFRESH: itab_zycit432_r.

      LOOP AT itab_zycit432_tl.

        itab_zycit432_r-matnr = itab_zycit432_tl-matnr.

        itab_zycit432_r-qtd_apro = itab_zycit432_tl-qtd_apro.

        itab_zycit432_r-vl_itnf = itab_zycit432_tl-vl_itnf.

        COLLECT itab_zycit432_r.

      ENDLOOP.

      LOOP AT itab_zycit432_r.

        SELECT SINGLE maktx FROM makt INTO itab_zycit432_r-desc

            WHERE matnr EQ itab_zycit432_r-matnr

              AND spras EQ sy-langu.

        MODIFY itab_zycit432_r.

      ENDLOOP.

      SORT itab_zycit432_r BY matnr.

      pressed_tab_8a = ok_code2.

      dynpronr8a     = '0246'.

      DESCRIBE TABLE itab_zycit432_r LINES v_linha.

      tc_resmerci-lines = v_linha.

* << Fim da inclusão

    WHEN 'FS_REALI3'.

      READ TABLE itab_zycit427 WITH KEY mark = 'X'.

      IF sy-subrc EQ 0.

        /pws/zycie427 = itab_zycit427.

        v_saldo227 = /pws/zycie427-qtd_iten - v_qtd_tot227.

        v_vlsaldo227 = /pws/zycie427-vlfob_t - v_vltot227.

        pressed_tab_8a = ok_code2.

        dynpronr8a     = '0227'.

        PERFORM preench_itab_zycit432_tl.

      ENDIF.

...

 

...

            field_not_in_ddic         = 1

            more_then_one_selectfield = 2

            no_selectfield            = 3

            OTHERS                    = 4.

  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  ENDIF.

  MOVE value TO /pws/zycie470-lote.

ENDMODULE.

* >> Início da inclusão:

MODULE preenche_it_res_432 INPUT.

ENDMODULE.

MODULE altera_area INPUT.

  READ TABLE itab_zycit250 INDEX tc_areas_n-current_line.

  IF sy-subrc EQ 0.

    IF /pws/zycie244-codagrup NE itab_zycit250-codagrup.

      READ TABLE itab_zycit250 WITH KEY

                      codagrup = /pws/zycie244-codagrup.

      IF /pws/zycie244-codagrup EQ v_area OR

        sy-subrc EQ 0.

        MESSAGE i015 WITH text-316.

        EXIT.

      ENDIF.

    ENDIF.

    itab_zycit250-codagrup = /pws/zycie244-codagrup.

    SELECT werks FROM /pws/zycit475

         APPENDING CORRESPONDING FIELDS OF TABLE itab_centros2

         WHERE codagrup EQ /pws/zycie244-codagrup.

    MODIFY itab_zycit250 INDEX tc_areas_n-current_line.

  ELSE.

    READ TABLE itab_zycit250 WITH KEY

                    codagrup = /pws/zycie244-codagrup.

    IF /pws/zycie244-codagrup EQ v_area OR

      sy-subrc EQ 0.

      MESSAGE i015 WITH text-316.

      EXIT.

    ENDIF.

    SELECT werks FROM /pws/zycit475

         APPENDING CORRESPONDING FIELDS OF TABLE itab_centros2

         WHERE codagrup EQ /pws/zycie244-codagrup.

    itab_zycit250-nrseqd = /pws/zycie244-nrseqd.

    itab_zycit250-codagrup = /pws/zycie244-codagrup.

    APPEND itab_zycit250.

  ENDIF.

  itab_centros2-nrseqd = /pws/zycie244-nrseqd.

  MODIFY itab_centros2 TRANSPORTING nrseqd

      WHERE nrseqd EQ space.

ENDMODULE.

MODULE user_command_0247 INPUT.

  CASE ok_code2.

    WHEN 'CANCE' OR 'CANCEL'.

      LEAVE TO SCREEN 0.

  ENDCASE.

  CLEAR ok_code2.

ENDMODULE.

MODULE altera_areac INPUT.

  IF NOT /pws/zycie244-codagrup IS INITIAL.

    SELECT werks FROM /pws/zycit475

         APPENDING CORRESPONDING FIELDS OF TABLE itab_centros2

         WHERE codagrup EQ /pws/zycie244-codagrup.

    itab_centros2-nrseqd = /pws/zycie244-nrseqd.

    MODIFY itab_centros2 TRANSPORTING nrseqd

        WHERE nrseqd EQ space.

  ENDIF.

  IF /pws/zycie244-werks IS INITIAL AND

     NOT itab_centros2[] IS INITIAL.

    READ TABLE itab_centros2 INDEX 1.

    /pws/zycie244-werks = itab_centros2-werks.

  ENDIF.

  DELETE itab_zycit250 WHERE codagrup = /pws/zycie244-codagrup.

  DELETE itab_centros2 WHERE werks    = /pws/zycie244-werks.

ENDMODULE.

MODULE preenche_it_res_427 INPUT.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040O01

 

...

          wa_cols2-screen-input = v_status2.

          MODIFY tc_venctos2-cols FROM wa_cols2.

        ENDIF.

      ENDLOOP.

    WHEN '0223'.

      DESCRIBE TABLE itab_zycit248_res LINES v_ilinhas2.

      tc_resexp-lines = v_ilinhas2.

    WHEN '0224'.

      DESCRIBE TABLE itab_zycit246_res LINES v_ilinhas2.

      tc_resimp-lines = v_ilinhas2.

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

    WHEN '0225'.

      PERFORM check_field_0225.

* << Fim da inclusão

  ENDCASE.

  CASE /pws/zycie244-tipo.

    WHEN 'F'.

      txt_245_meins    = text-283.

      txt_245_qtd_tot  = text-285.

      txt_206_meins    = text-283.

      txt_206_qtd_iten = text-285.

    WHEN OTHERS.

      txt_245_meins    = text-282.

      txt_245_qtd_tot  = text-284.

...

 

...

             AND steuc = /pws/zycie247c-j_1bnbm.

    ENDSELECT.

  ENDIF.

ENDMODULE.

MODULE trata_screen_0223 OUTPUT.

  CLEAR v_descr_0223.

  SELECT maktx UP TO 1 ROWS FROM makt INTO v_descr_0223

         WHERE matnr = /pws/zycie248c-matnr

           AND spras = sy-langu.

  ENDSELECT.

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

  IF /pws/zycit321-c_comum EQ 'X' AND

     /pws/zycie244-tipo EQ 'N'.

    SELECT SINGLE descr FROM /pws/zycit368 INTO v_descr_0223

           WHERE nrseq = /pws/zycie248c-matnr.

  ENDIF.

* << Fim da inclusão

ENDMODULE.

MODULE preenche_screen_0223 OUTPUT.

  /pws/zycie248c-matnr    = itab_zycit248_res-matnr   .

  /pws/zycie248c-meins    = itab_zycit248_res-meins   .

  /pws/zycie248c-qtd_iten = itab_zycit248_res-qtd_iten.

  /pws/zycie248c-waersfob = itab_zycit248_res-waersfob.

  /pws/zycie248c-vlfob    = itab_zycit248_res-vlfob   .

ENDMODULE.

MODULE preenche_screen_0224 OUTPUT.

  /pws/zycie246d-matnr     = itab_zycit246_res-matnr    .

...

 

...

          screen-invisible  = 1.

          screen-active = 0.

          MODIFY SCREEN.

        ELSE.

          screen-invisible  = 0.

          MODIFY SCREEN.

        ENDIF.

    ENDCASE.

  ENDLOOP.

ENDMODULE.

* >> Início da inclusão:

MODULE preenche_res_432 OUTPUT.

  /pws/zycie432 = itab_zycit432_r.

ENDMODULE.

MODULE preenche_areas OUTPUT.

  /pws/zycie244-codagrup = itab_zycit250-codagrup.

ENDMODULE.

MODULE status_0247 OUTPUT.

  SET PF-STATUS 'ST0208'.

  DELETE itab_zycit250 WHERE codagrup EQ space.

  DESCRIBE TABLE itab_zycit250 LINES tc_areas_n-lines.

  tc_areas_n-lines = tc_areas_n-lines + 10.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI040TOP2

 

...

          tc_centros2  TYPE TABLEVIEW USING SCREEN '0208',

          tc_nacion    TYPE TABLEVIEW USING SCREEN '0210',

          tc_resdi2    TYPE TABLEVIEW USING SCREEN '0215',

          tc_detdi2    TYPE TABLEVIEW USING SCREEN '0216',

          tc_resre2    TYPE TABLEVIEW USING SCREEN '0218',

          tc_detre2    TYPE TABLEVIEW USING SCREEN '0219',

          tc_venctos2  TYPE TABLEVIEW USING SCREEN '0221',

          tc_log2      TYPE TABLEVIEW USING SCREEN '0222',

          tc_resexp    TYPE TABLEVIEW USING SCREEN '0223',

          tc_resimp    TYPE TABLEVIEW USING SCREEN '0224',

* >> Início da inclusão:

          tc_resmerci  TYPE TABLEVIEW USING SCREEN '0246',

* << Fim da inclusão

          tc_merc      TYPE TABLEVIEW USING SCREEN '0225',

          tc_real_merc TYPE TABLEVIEW USING SCREEN '0227',

          tc_int_exp   TYPE TABLEVIEW USING SCREEN '0228',

          TC_CENTRO_EI type tableview using screen '0243',

          tc_res_apo   TYPE TABLEVIEW USING SCREEN '0237',

          tc_perda     TYPE TABLEVIEW USING SCREEN '0238',

          tc_transf    TYPE TABLEVIEW USING SCREEN '0239',

          tc_inf_exp   TYPE TABLEVIEW USING SCREEN '0241',

          tc_inf_imp   TYPE TABLEVIEW USING SCREEN '0242',

          tc_lanc      TYPE TABLEVIEW USING SCREEN '0244',

* >> Início da inclusão:

          tc_areas_n   TYPE TABLEVIEW USING SCREEN '0247',

* << Fim da inclusão

          tc_setlt     TYPE TABLEVIEW USING SCREEN '0400'.

DATA: ok_code2           LIKE sy-ucomm                   ,

      v_tcode2           LIKE sy-tcode                   ,

      v_tcode2_aux                                       ,

      v_ico2             TYPE icons-text                 ,

      v_icoicms          TYPE icons-text                 ,

      v_icone2           TYPE iconname                   ,

      v_icoreal1         LIKE icon-id                    ,

      v_werks2           LIKE /pws/zycie244-werks             ,

      v_status2(1)       TYPE c VALUE '1'                ,

...

 

...

      ebeln LIKE /pws/zycit003-ebeln,

      ebelp LIKE /pws/zycit003-ebelp,

      fator LIKE /pws/zycit245-qtd_iten.

DATA: END OF itab_di_p.

DATA: BEGIN OF itab_zycit433 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit433.

DATA: END OF itab_zycit433.

DATA: BEGIN OF itab_centro_ei OCCURS 0.

data werks type /pws/zycie244-werks.

DATA: END OF itab_centro_ei.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit432_r OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit432.

data: desc type makt-maktx      .

DATA: END OF itab_zycit432_r.

DATA: BEGIN OF itab_zycit250 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit250.

DATA: END OF itab_zycit250.

data: BTN201_02 type icon-id,

      v_area    type /pws/zycit250-codagrup.

* << Fim da inclusão

DATA: toolbar_container2 TYPE REF TO cl_gui_custom_container,

      tool_container2    TYPE        scrfname VALUE 'BTN2'  ,

      myevent_tab2       TYPE        cntl_simple_events     ,

      myevent2           TYPE        cntl_simple_event      ,

      btn2               TYPE REF TO cl_gui_toolbar         ,

      v_exec_bt.

CLASS lcl_my_event_handler2 DEFINITION.

  PUBLIC SECTION.

    METHODS on_function_selected

            FOR EVENT function_selected OF cl_gui_toolbar

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040TOP3

 

...

DATA : END   OF itab_zycit371.

DATA : BEGIN OF itab_zycit372 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit372.

DATA : END   OF itab_zycit372.

DATA : BEGIN OF itab_zycit373 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit373.

DATA : END   OF itab_zycit373.

DATA: itab_zycit432_aux LIKE /pws/zycit432 OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF itab_zycit432 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit432.

* >> Início da exclusão:

DATA: status(1) TYPE c.

* << Fim da exclusão

* >> Início da inclusão:

DATA: status(1) TYPE c,

      ncm       type /pws/zycit427-ncm.

* << Fim da inclusão

DATA : END   OF itab_zycit432.

DATA: itab_zycit432_tl LIKE itab_zycit432 OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF itab_zycit247_lt OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit247.

DATA: flag.

DATA : END   OF itab_zycit247_lt.

DATA : BEGIN OF itab_zycit245_lt OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit245.

DATA : END   OF itab_zycit245_lt.

DATA : BEGIN OF itab_zycit246_lt OCCURS 0.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI040

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 316

 

Texto: (4 caracteres)

"Area"

 

Comprimento máximo: 4

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 317

 

Texto: (13 caracteres)

"já informada!"

 

Comprimento máximo: 13