CE PLUS - Nota 007841

Módulo: DRAWBACK

Funcionalidade: Forecast

Data/Hora da Publicação: 29/12/2008 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:35:51

Descrição da Nota: PROGRAMA ESTÁ ELIMINANDO INSUMOS QUANDO O FORECAST É POR AGRUPAMENTO

Sintoma

Ao transferir insumos entre a pasta importado e mercado interno o programa está apagando os insumos

dos demais itens da pasta de exportação quando está parametrizado para utilizar agrupamento.

 

 

Solução

Ajustado programa para utilizar numero de item do forecast como chave para efetuar os tratamentos

necessarios.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

EXPLOSÃO DA LISTA TÉCNICA POR AGRUPAMENTO

Informações Complementares

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

Nota Número 07841 Data: 29/12/2008 Hora: 09:01:38

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

 

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

Nota Número              : 07841

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00078

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

Referência às notas relacionadas:

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

 

07750  - 00001 - 7.0    - 00008  - EXPLOSÃO DA LISTA TÉCNICA POR AGRUPAMENTO

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

PROGRAMA ESTÁ ELIMINANDO INSUMOS QUANDO O FORECAST É POR AGRUPAMENTO

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

Palavras Chave:

ELIMINA - INSUMO - FORECAST - AGRUPAMENTO

/PWS/SAPMZYCI063

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

Objetos da nota:

DYNP /PWS/SAPMZYCI063                        0102

REPS /PWS/MZYCI063F01

REPS /PWS/MZYCI063I01

REPS /PWS/MZYCI063O01

TABD /PWS/ZYCIE239

TABD /PWS/ZYCIE239C

TABD /PWS/ZYCIE240

TABD /PWS/ZYCIE240C

TABD /PWS/ZYCIE240D

TABD /PWS/ZYCIT239

TABD /PWS/ZYCIT240

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI063                        0102

 

MODIFICAR OKCODE ""

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-AGRUP" em tbl.contr./tabstr.

Coluna                   3

 

MODIFICAR TEXTO "/PWS/ZYCIE239-AGRUP" em tbl.contr./tabstr.

Coluna                   3

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-BRGEW" em tbl.contr./tabstr.

Coluna                   21

 

MODIFICAR TEXTO "/PWS/ZYCIE239-BRGEW" em tbl.contr./tabstr.

Coluna                   21

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-CODMAT" em tbl.contr./tabstr.

Coluna                   2

 

MODIFICAR TEXTO "/PWS/ZYCIE239-CODMAT" em tbl.contr./tabstr.

Coluna                   2

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-GEWEI" em tbl.contr./tabstr.

Coluna                   25

 

MODIFICAR TEXTO "/PWS/ZYCIE239-GEWEI" em tbl.contr./tabstr.

Coluna                   25

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-IMP_S_COB_CAMB" em tbl.contr./tabst

Coluna                   27

 

MODIFICAR TEXTO "/PWS/ZYCIE239-IMP_S_COB_CAMB" em tbl.contr./tabstr.

Coluna                   27

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-J_1BNBM" em tbl.contr./tabstr.

Coluna                   4

 

MODIFICAR TEXTO "/PWS/ZYCIE239-J_1BNBM" em tbl.contr./tabstr.

Coluna                   4

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-MATKL" em tbl.contr./tabstr.

Coluna                   10

 

MODIFICAR TEXTO "/PWS/ZYCIE239-MATKL" em tbl.contr./tabstr.

Coluna                   10

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-MEINS" em tbl.contr./tabstr.

Coluna                   11

 

MODIFICAR TEXTO "/PWS/ZYCIE239-MEINS" em tbl.contr./tabstr.

Coluna                   11

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-NETPR" em tbl.contr./tabstr.

Coluna                   14

 

MODIFICAR TEXTO "/PWS/ZYCIE239-NETPR" em tbl.contr./tabstr.

Coluna                   14

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-NETPR_T" em tbl.contr./tabstr.

Coluna                   15

 

MODIFICAR TEXTO "/PWS/ZYCIE239-NETPR_T" em tbl.contr./tabstr.

Coluna                   15

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE239-NRITEM" em tbl.contr./tabstr.

Altura                   5

Comprimento Visível      5

Linha                    1

Coluna                   1

Formato                  CHAR

Grupo 1                  NEX

Linhas mínimas           5

Texto                    _____

 

INCLUIR TEXTO "/PWS/ZYCIE239-NRITEM" em tbl.contr./tabstr.

Altura                   5

Comprimento Visível      4

Linha                    1

Coluna                   1

Formato                  CHAR

Texto                    Item

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-NTGEW" em tbl.contr./tabstr.

Coluna                   23

 

MODIFICAR TEXTO "/PWS/ZYCIE239-NTGEW" em tbl.contr./tabstr.

Coluna                   23

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-PCTCOMIS" em tbl.contr./tabstr.

Coluna                   18

 

MODIFICAR TEXTO "/PWS/ZYCIE239-PCTCOMIS" em tbl.contr./tabstr.

Coluna                   18

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-QTD_ITEN" em tbl.contr./tabstr.

Coluna                   12

Texto                    ___.___.___.___.___.___,_____V

 

MODIFICAR TEXTO "/PWS/ZYCIE239-QTD_ITEN" em tbl.contr./tabstr.

Coluna                   12

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-STLAL" em tbl.contr./tabstr.

Coluna                   8

 

MODIFICAR TEXTO "/PWS/ZYCIE239-STLAL" em tbl.contr./tabstr.

Coluna                   8

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-STLAN" em tbl.contr./tabstr.

Coluna                   6

 

MODIFICAR TEXTO "/PWS/ZYCIE239-STLAN" em tbl.contr./tabstr.

Coluna                   6

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-STLNR" em tbl.contr./tabstr.

Coluna                   7

 

MODIFICAR TEXTO "/PWS/ZYCIE239-STLNR" em tbl.contr./tabstr.

Coluna                   7

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-TOLLING" em tbl.contr./tabstr.

Coluna                   26

 

MODIFICAR TEXTO "/PWS/ZYCIE239-TOLLING" em tbl.contr./tabstr.

Coluna                   26

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-VL_COMIS" em tbl.contr./tabstr.

Coluna                   19

 

MODIFICAR TEXTO "/PWS/ZYCIE239-VL_COMIS" em tbl.contr./tabstr.

Coluna                   19

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-VL_COMIS_T" em tbl.contr./tabstr.

Coluna                   20

 

MODIFICAR TEXTO "/PWS/ZYCIE239-VL_COMIS_T" em tbl.contr./tabstr.

Coluna                   20

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-VL_FRETE" em tbl.contr./tabstr.

Coluna                   16

 

MODIFICAR TEXTO "/PWS/ZYCIE239-VL_FRETE" em tbl.contr./tabstr.

Coluna                   16

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-VL_FRETE_T" em tbl.contr./tabstr.

Coluna                   17

 

MODIFICAR TEXTO "/PWS/ZYCIE239-VL_FRETE_T" em tbl.contr./tabstr.

Coluna                   17

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-WAERS" em tbl.contr./tabstr.

Coluna                   13

 

MODIFICAR TEXTO "/PWS/ZYCIE239-WAERS" em tbl.contr./tabstr.

Coluna                   13

 

MODIFICAR CAMPO TEXTO "/PWS/ZYCIE239-WERKS" em tbl.contr./tabstr.

Coluna                   5

 

MODIFICAR TEXTO "/PWS/ZYCIE239-WERKS" em tbl.contr./tabstr.

Coluna                   5

 

MODIFICAR CAMPO TEXTO "V_DESCR_MT" em tbl.contr./tabstr.

Coluna                   9

 

MODIFICAR TEXTO "V_DESCR_MT" em tbl.contr./tabstr.

Coluna                   9

 

MODIFICAR CAMPO TEXTO "V_PBT_0102" em tbl.contr./tabstr.

Coluna                   22

 

MODIFICAR TEXTO "V_PBT_0102" em tbl.contr./tabstr.

Coluna                   22

 

MODIFICAR CAMPO TEXTO "V_PLT_0102" em tbl.contr./tabstr.

Coluna                   24

 

MODIFICAR TEXTO "V_PLT_0102" em tbl.contr./tabstr.

Coluna                   24

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI063F01

 

...

  ENDIF.

  PERFORM verifica_componentes.

  READ TABLE itab_exp WITH KEY mark = 'X'.

  MOVE: sy-tabix TO v_indicatu.

  IF NOT itab_exp-qtd_aditiv IS INITIAL.

    v_qtdmat = itab_exp-qtd_aditiv.

  ELSE.

    v_qtdmat = itab_exp-qtd_iten.

  ENDIF.

  MOVE: itab_exp-codmat  TO /pws/zycie239c-codmat  ,

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

        itab_exp-nritem  TO /pws/zycie239c-nritem  ,

* << Fim da inclusão

        itab_exp-agrup   TO /pws/zycie239c-agrup   ,

        itab_exp-werks   TO /pws/zycie239c-werks   ,

        itab_exp-waers   TO /pws/zycie239c-waers   ,

        itab_exp-netpr   TO /pws/zycie239c-netpr   ,

        itab_exp-netpr_t TO /pws/zycie239c-netpr_t ,

        itab_exp-meins   TO /pws/zycie239c-meins   ,

        v_qtdmat         TO /pws/zycie239c-qtd_iten.

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

  CLEAR: itab_compn. REFRESH: itab_compn.

  LOOP AT itab_compn_final.

    CHECK itab_compn_final-codmat EQ /pws/zycie239c-codmat AND

          itab_compn_final-agrup  EQ /pws/zycie239c-agrup AND

          itab_compn_final-werks  EQ /pws/zycie239c-werks.

    MOVE-CORRESPONDING itab_compn_final TO itab_compn.

    APPEND itab_compn.

  ENDLOOP.

  CLEAR: itab_compi. REFRESH: itab_compi.

  LOOP AT itab_compi_final.

    CHECK itab_compi_final-codmat EQ /pws/zycie239c-codmat AND

          itab_compi_final-agrup  EQ /pws/zycie239c-agrup AND

          itab_compi_final-werks  EQ /pws/zycie239c-werks.

    MOVE-CORRESPONDING itab_compi_final TO itab_compi.

    APPEND itab_compi.

  ENDLOOP.

* << Fim da exclusão

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

  PERFORM move_componentes.

* << Fim da inclusão

  pressed_tab       = ok_code.

  pressed_tab2      = 'FS_IMP'.

  dynpronr          = '0103'.

  dynpronr2         = '0105'.

  tc_compn-top_line = 1.

  tc_compi-top_line = 1.

ENDFORM.

FORM trata_button_first.

  MOVE: 1 TO v_indicatu.

  LOOP AT itab_exp WHERE mark = 'X'.

...

 

...

  READ TABLE itab_exp INDEX v_indicatu.

  IF sy-subrc EQ 0.

    itab_exp-mark = 'X'.

    MODIFY itab_exp INDEX v_indicatu.

    IF NOT itab_exp-qtd_aditiv IS INITIAL.

      v_qtdmat = itab_exp-qtd_aditiv.

    ELSE.

      v_qtdmat = itab_exp-qtd_iten.

    ENDIF.

    MOVE: itab_exp-codmat  TO /pws/zycie239c-codmat  ,

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

        itab_exp-nritem  TO /pws/zycie239c-nritem  ,

* << Fim da inclusão

          itab_exp-werks   TO /pws/zycie239c-werks   ,

          itab_exp-agrup   TO /pws/zycie239c-agrup   ,

          itab_exp-meins   TO /pws/zycie239c-meins   ,

          v_qtdmat         TO /pws/zycie239c-qtd_iten,

          itab_exp-waers   TO /pws/zycie239c-waers   ,

          itab_exp-netpr   TO /pws/zycie239c-netpr   ,

          itab_exp-netpr_t TO /pws/zycie239c-netpr_t .

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

    CLEAR: itab_compn. REFRESH: itab_compn.

    LOOP AT itab_compn_final.

      CHECK itab_compn_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compn_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compn_final TO itab_compn.

      APPEND itab_compn.

    ENDLOOP.

    CLEAR: itab_compi. REFRESH: itab_compi.

    LOOP AT itab_compi_final.

      CHECK itab_compi_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compi_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compi_final TO itab_compi.

      APPEND itab_compi.

    ENDLOOP.

* << Fim da exclusão

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

    PERFORM move_componentes.

* << Fim da inclusão

    CLEAR: itab_compi_viab. REFRESH: itab_compi_viab.

    CLEAR: v_tot_eco, v_tot_cb.

    LOOP AT itab_compi.

      MOVE-CORRESPONDING itab_compi TO itab_compi_viab.

      itab_compi_viab-vlcif = itab_compi_viab-netpr_t +

                  itab_compi_viab-vl_frete_t + itab_compi_viab-vl_seg_t.

      itab_compi_viab-vl_total = itab_compi_viab-vlii +

                       itab_compi_viab-vlipi + itab_compi_viab-vlafrmm +

                       itab_compi_viab-vlpis + itab_compi_viab-vlcofins

                       + itab_compi_viab-vlicms.

...

 

...

  READ TABLE itab_exp INDEX v_indicatu.

  IF sy-subrc EQ 0.

    itab_exp-mark = 'X'.

    MODIFY itab_exp INDEX v_indicatu.

    IF NOT itab_exp-qtd_aditiv IS INITIAL.

      v_qtdmat = itab_exp-qtd_aditiv.

    ELSE.

      v_qtdmat = itab_exp-qtd_iten.

    ENDIF.

    MOVE: itab_exp-codmat  TO /pws/zycie239c-codmat  ,

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

        itab_exp-nritem  TO /pws/zycie239c-nritem  ,

* << Fim da inclusão

          itab_exp-werks   TO /pws/zycie239c-werks   ,

          itab_exp-agrup   TO /pws/zycie239c-agrup   ,

          itab_exp-meins   TO /pws/zycie239c-meins   ,

          v_qtdmat         TO /pws/zycie239c-qtd_iten,

          itab_exp-waers   TO /pws/zycie239c-waers   ,

          itab_exp-netpr   TO /pws/zycie239c-netpr   ,

          itab_exp-netpr_t TO /pws/zycie239c-netpr_t .

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

    CLEAR: itab_compn. REFRESH: itab_compn.

    LOOP AT itab_compn_final.

      CHECK itab_compn_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compn_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compn_final TO itab_compn.

      APPEND itab_compn.

    ENDLOOP.

    CLEAR: itab_compi. REFRESH: itab_compi.

    LOOP AT itab_compi_final.

      CHECK itab_compi_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compi_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compi_final TO itab_compi.

      APPEND itab_compi.

    ENDLOOP.

* << Fim da exclusão

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

    PERFORM move_componentes.

* << Fim da inclusão

    CLEAR: itab_compi_viab. REFRESH: itab_compi_viab.

    CLEAR: v_tot_eco, v_tot_cb.

    LOOP AT itab_compi.

      MOVE-CORRESPONDING itab_compi TO itab_compi_viab.

      itab_compi_viab-vlcif = itab_compi_viab-netpr_t +

                  itab_compi_viab-vl_frete_t + itab_compi_viab-vl_seg_t.

      itab_compi_viab-vl_total = itab_compi_viab-vlii +

                  itab_compi_viab-vlipi + itab_compi_viab-vlafrmm +

                  itab_compi_viab-vlpis + itab_compi_viab-vlcofins +

                  itab_compi_viab-vlicms .                       .

...

 

...

  READ TABLE itab_exp INDEX v_indicatu.

  IF sy-subrc EQ 0.

    itab_exp-mark = 'X'.

    MODIFY itab_exp INDEX v_indicatu.

    IF NOT itab_exp-qtd_aditiv IS INITIAL.

      v_qtdmat = itab_exp-qtd_aditiv.

    ELSE.

      v_qtdmat = itab_exp-qtd_iten.

    ENDIF.

    MOVE: itab_exp-codmat  TO /pws/zycie239c-codmat  ,

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

        itab_exp-nritem  TO /pws/zycie239c-nritem  ,

* << Fim da inclusão

          itab_exp-werks   TO /pws/zycie239c-werks   ,

          itab_exp-agrup   TO /pws/zycie239c-agrup   ,

          itab_exp-meins   TO /pws/zycie239c-meins   ,

          v_qtdmat         TO /pws/zycie239c-qtd_iten,

          itab_exp-waers   TO /pws/zycie239c-waers   ,

          itab_exp-netpr   TO /pws/zycie239c-netpr   ,

          itab_exp-netpr_t TO /pws/zycie239c-netpr_t .

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

    CLEAR: itab_compn. REFRESH: itab_compn.

    LOOP AT itab_compn_final.

      CHECK itab_compn_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compn_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compn_final TO itab_compn.

      APPEND itab_compn.

    ENDLOOP.

    CLEAR: itab_compi. REFRESH: itab_compi.

    LOOP AT itab_compi_final.

      CHECK itab_compi_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compi_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compi_final TO itab_compi.

      APPEND itab_compi.

    ENDLOOP.

* << Fim da exclusão

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

    PERFORM move_componentes.

* << Fim da inclusão

    CLEAR: itab_compi_viab. REFRESH: itab_compi_viab.

    CLEAR: v_tot_eco, v_tot_cb.

    LOOP AT itab_compi.

      MOVE-CORRESPONDING itab_compi TO itab_compi_viab.

      itab_compi_viab-vlcif = itab_compi_viab-netpr_t +

                  itab_compi_viab-vl_frete_t + itab_compi_viab-vl_seg_t.

      itab_compi_viab-vl_total = itab_compi_viab-vlii +

                    itab_compi_viab-vlipi + itab_compi_viab-vlafrmm

                    + itab_compi_viab-vlcofins + itab_compi_viab-vlpis +

                    itab_compi_viab-vlicms .

...

 

...

  READ TABLE itab_exp INDEX v_ilinhas.

  IF sy-subrc EQ 0.

    itab_exp-mark = 'X'.

    MODIFY itab_exp INDEX v_ilinhas.

    IF NOT itab_exp-qtd_aditiv IS INITIAL.

      v_qtdmat = itab_exp-qtd_aditiv.

    ELSE.

      v_qtdmat = itab_exp-qtd_iten.

    ENDIF.

    MOVE: itab_exp-codmat  TO /pws/zycie239c-codmat  ,

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

        itab_exp-nritem  TO /pws/zycie239c-nritem  ,

* << Fim da inclusão

          itab_exp-werks   TO /pws/zycie239c-werks   ,

          itab_exp-agrup   TO /pws/zycie239c-agrup   ,

          itab_exp-meins   TO /pws/zycie239c-meins   ,

          v_qtdmat         TO /pws/zycie239c-qtd_iten,

          itab_exp-waers   TO /pws/zycie239c-waers   ,

          itab_exp-netpr   TO /pws/zycie239c-netpr   ,

          itab_exp-netpr_t TO /pws/zycie239c-netpr_t .

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

    CLEAR: itab_compn. REFRESH: itab_compn.

    LOOP AT itab_compn_final.

      CHECK itab_compn_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compn_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compn_final TO itab_compn.

      APPEND itab_compn.

    ENDLOOP.

    CLEAR: itab_compi. REFRESH: itab_compi.

    LOOP AT itab_compi_final.

      CHECK itab_compi_final-codmat EQ /pws/zycie239c-codmat AND

            itab_compi_final-agrup  EQ /pws/zycie239c-agrup.

      MOVE-CORRESPONDING itab_compi_final TO itab_compi.

      APPEND itab_compi.

    ENDLOOP.

* << Fim da exclusão

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

    PERFORM move_componentes.

* << Fim da inclusão

    CLEAR: itab_compi_viab. REFRESH: itab_compi_viab.

    CLEAR: v_tot_eco, v_tot_cb.

    LOOP AT itab_compi.

      MOVE-CORRESPONDING itab_compi TO itab_compi_viab.

      itab_compi_viab-vlcif = itab_compi_viab-netpr_t +

                  itab_compi_viab-vl_frete_t + itab_compi_viab-vl_seg_t.

      itab_compi_viab-vl_total = itab_compi_viab-vlii +

                  itab_compi_viab-vlipi + itab_compi_viab-vlafrmm

                  + itab_compi_viab-vlcofins + itab_compi_viab-vlpis +

                  itab_compi_viab-vlicms.

...

 

...

FORM trata_button_exclm.

  IF itab_exp[] IS INITIAL.

    EXIT.

  ENDIF.

  IF pressed_tab NE 'FS_EXPORT' AND sy-dynnr NE '0106' AND

     sy-dynnr NE '0101'.

    EXIT.

  ENDIF.

  LOOP AT itab_exp.

    IF itab_exp-mark = 'X'.

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

      LOOP AT itab_compn WHERE codmat = itab_exp-codmat AND

                               agrup  = itab_exp-agrup.

        DELETE itab_compn.

      ENDLOOP.

      LOOP AT itab_compn_final WHERE codmat = itab_exp-codmat AND

                               agrup  = itab_exp-agrup.

        DELETE itab_compn_final.

      ENDLOOP.

      LOOP AT itab_compi WHERE codmat = itab_exp-codmat AND

                               agrup  = itab_exp-agrup.

        DELETE itab_compi.

      ENDLOOP.

      LOOP AT itab_compi_final WHERE codmat = itab_exp-codmat AND

                               agrup  = itab_exp-agrup.

        DELETE itab_compi_final.

      ENDLOOP.

* << Fim da exclusão

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

      DELETE: itab_compn       WHERE nritem EQ itab_exp-nritem,

              itab_compn_final WHERE nritem EQ itab_exp-nritem,

              itab_compi       WHERE nritem EQ itab_exp-nritem,

              itab_compi_final WHERE nritem EQ itab_exp-nritem.

* << Fim da inclusão

      DELETE itab_exp.

      v_verificp = 'N'.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM check_fields_screen_0104.

  LOOP AT tc_compn-cols INTO wa_cols.

    IF wa_cols-screen-group1 NE 'NEX'.

      wa_cols-screen-input = v_status.

      MODIFY tc_compn-cols FROM wa_cols.

...

 

...

  ENDIF.

  LOOP AT itab_compi.

    itab_compi-marki = ' '.

    MODIFY itab_compi.

  ENDLOOP.

ENDFORM.

FORM atualiza_itab_compn_final.

  IF NOT itab_compn[] IS INITIAL.

    READ TABLE itab_compn INDEX tc_compn-current_line.

    IF sy-subrc EQ 0.

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

      DELETE itab_compn_final WHERE codmat = itab_compn-codmat

* << Fim da exclusão

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

      DELETE itab_compn_final WHERE nritem = itab_compn-nritem

* << Fim da inclusão

                                AND werks  = itab_compn-werks.

      LOOP AT itab_compn.

        MOVE-CORRESPONDING itab_compn TO itab_compn_final.

        APPEND itab_compn_final.

      ENDLOOP.

    ENDIF.

  ENDIF.

  CLEAR itab_compn_final.

ENDFORM.

FORM atualiza_itab_compi_final.

  IF NOT itab_compi[] IS INITIAL.

    READ TABLE itab_compi INDEX tc_compi-current_line.

    IF sy-subrc EQ 0.

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

      DELETE itab_compi_final WHERE codmat = itab_compi-codmat

* << Fim da exclusão

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

      DELETE itab_compi_final WHERE nritem = itab_compi-nritem

* << Fim da inclusão

                                AND werks  = itab_compi-werks.

      LOOP AT itab_compi.

        MOVE-CORRESPONDING itab_compi TO itab_compi_final.

        APPEND itab_compi_final.

      ENDLOOP.

    ENDIF.

  ENDIF.

  CLEAR itab_compi_final.

ENDFORM.

FORM trata_button_exclm_n.

  IF pressed_tab2 NE 'FS_NAC'.

    EXIT.

  ENDIF.

  LOOP AT itab_compn.

    IF itab_compn-markn = 'X'.

      LOOP AT itab_compn_final WHERE nrseqd  = itab_compn-nrseqd

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

                                 AND nritem  = itab_compn-nritem

* << Fim da inclusão

                                 AND agrup   = itab_compn-agrup

                                 AND codmat  = itab_compn-codmat

                                 AND codcomp = itab_compn-codcomp

                                 AND proced  = itab_compn-proced.

        DELETE itab_compn_final.

      ENDLOOP.

      DELETE itab_compn.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM trata_button_exclm_i.

  IF pressed_tab2 NE 'FS_IMP'.

    EXIT.

  ENDIF.

  LOOP AT itab_compi.

    IF itab_compi-marki = 'X'.

      LOOP AT itab_compi_final WHERE nrseqd  = itab_compi-nrseqd

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

                                 AND nritem  = itab_compi-nritem

* << Fim da inclusão

                                 AND codmat  = itab_compi-codmat

                                 AND agrup   = itab_compi-agrup

                                 AND codcomp = itab_compi-codcomp

                                 AND proced  = itab_compi-proced.

        DELETE itab_compi_final.

      ENDLOOP.

      DELETE itab_compi.

    ENDIF.

  ENDLOOP.

ENDFORM.

...

 

...

                                           werks = itab_exp-werks.

      IF sy-subrc EQ 0.

        v_subrc1 = 'X'.

      ENDIF.

      READ TABLE itab_compi_final WITH KEY agrup = itab_exp-agrup

                                           werks = itab_exp-werks.

      IF sy-subrc EQ 0.

        v_subrc2 = 'X'.

      ENDIF.

    ELSE.

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

      READ TABLE itab_compn_final WITH KEY codmat = itab_exp-codmat.

* << Fim da exclusão

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

      READ TABLE itab_compn_final WITH KEY nritem = itab_exp-nritem.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        v_subrc1 = 'X'.

      ENDIF.

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

      READ TABLE itab_compi_final WITH KEY codmat = itab_exp-codmat.

* << Fim da exclusão

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

      READ TABLE itab_compi_final WITH KEY nritem = itab_exp-nritem.

* << Fim da inclusão

      IF sy-subrc EQ 0.

...

 

...

    v_verificp = v_verificp_merc.

    IF v_verificp_merc EQ 'N'.

      PERFORM confirm_expl_bom CHANGING v_flag.

      v_verificp_merc = v_verificp.

      v_verificp = v_verificp_temp.

      IF v_flag EQ 'N'.

        v_verificp_merc = 'S'.

        EXIT.

      ELSE.

        LOOP AT itab_exp.

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

          LOOP AT itab_compn_final WHERE codmat EQ itab_exp-codmat.

* << Fim da exclusão

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

          LOOP AT itab_compn_final WHERE nritem EQ itab_exp-nritem.

* << Fim da inclusão

            DELETE itab_compn_final.

          ENDLOOP.

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

          LOOP AT itab_compi_final WHERE codmat EQ itab_exp-codmat.

* << Fim da exclusão

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

          LOOP AT itab_compi_final WHERE nritem EQ itab_exp-nritem.

* << Fim da inclusão

            DELETE itab_compi_final.

          ENDLOOP.

...

 

...

  ELSE.

    v_verificp_merc = 'S'.

  ENDIF.

  SELECT * FROM /pws/zycit405 INTO TABLE itab_zycit405. "#EC CI_NOWHERE

  SELECT * FROM /pws/zycit406 INTO TABLE itab_zycit406. "#EC CI_NOWHERE

  SELECT * FROM /pws/zycit407 INTO TABLE itab_zycit407. "#EC CI_NOWHERE

  v_verifvb = 'S'.

  LOOP AT itab_exp.

    CLEAR: it_stpox, it_stpox2, it_matcat.

    REFRESH: it_stpox, it_stpox2, it_matcat.

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

    IF NOT /pws/zycit321-ltopc IS INITIAL.

      READ TABLE itab_compn_final WITH KEY agrup = itab_exp-agrup

                                           werks = itab_exp-werks.

      IF sy-subrc EQ 0.

        CONTINUE.

      ENDIF.

      READ TABLE itab_compi_final WITH KEY agrup = itab_exp-agrup

                                           werks = itab_exp-werks.

      IF sy-subrc EQ 0.

        CONTINUE.

      ENDIF.

    ELSE.

    READ TABLE itab_compn_final WITH KEY codmat = itab_exp-codmat

* << Fim da exclusão

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

    READ TABLE itab_compn_final WITH KEY nritem = itab_exp-nritem

* << Fim da inclusão

                                         werks  = itab_exp-werks.

    IF sy-subrc EQ 0.

      CONTINUE.

    ENDIF.

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

    READ TABLE itab_compi_final WITH KEY codmat = itab_exp-codmat

* << Fim da exclusão

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

    READ TABLE itab_compi_final WITH KEY nritem = itab_exp-nritem

* << Fim da inclusão

                                         werks  = itab_exp-werks.

    IF sy-subrc EQ 0.

      CONTINUE.

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

    ENDIF.

* << Fim da exclusão

    ENDIF.

    CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'

         EXPORTING

              capid                 = 'PP01'

...

 

...

        ENDLOOP.

        IF sy-subrc NE 0.

          READ TABLE itab_mbew WITH KEY matnr = i_final-insumo

                                          mtorg = '0'.

        ENDIF.

        IF itab_mbew-mtorg EQ '0'.

          CLEAR itab_compn_final.

          MOVE:

               /pws/zycie238-nrseqd TO itab_compn_final-nrseqd  ,

               itab_exp-codmat TO itab_compn_final-codmat  ,

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

               itab_exp-nritem TO itab_compn_final-nritem  ,

* << Fim da inclusão

               itab_exp-agrup  TO itab_compn_final-agrup   ,

               itab_exp-werks  TO itab_compn_final-werks   ,

               i_final-insumo  TO itab_compn_final-codcomp ,

               itab_mara-meins TO itab_compn_final-meins   ,

               itab_mara-gewei TO itab_compn_final-gewei   ,

               itab_mara-brgew TO itab_compn_final-brgew   ,

               itab_mara-ntgew TO itab_compn_final-ntgew   ,

               '0'             TO itab_compn_final-proced  .

          v_kaln1 = itab_mbew-kaln1.

          IF sy-subrc EQ 0.

...

 

...

                                         itab_compn_final-qtd_iten.

          itab_compn_final-qtd_tot =

              ( itab_compn_final-qtd_iten * itab_exp-qtd_iten ).

          itab_compn_final-netpr_t =

               ( itab_compn_final-netpr * itab_compn_final-qtd_tot ).

          COLLECT itab_compn_final.

        ELSE.

          CLEAR itab_compi_final.

          MOVE: /pws/zycie238-nrseqd TO itab_compi_final-nrseqd ,

                itab_exp-codmat TO itab_compi_final-codmat ,

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

                itab_exp-nritem TO itab_compi_final-nritem ,

* << Fim da inclusão

                itab_exp-werks  TO itab_compi_final-werks  ,

                itab_exp-agrup  TO itab_compi_final-agrup  ,

                i_final-insumo  TO itab_compi_final-codcomp,

                itab_mara-meins TO itab_compi_final-meins   ,

                itab_mara-gewei TO itab_compi_final-gewei  ,

                itab_mara-brgew TO itab_compi_final-brgew  ,

                itab_mara-ntgew TO itab_compi_final-ntgew  ,

                v_segpct        TO itab_compi_final-pctseg ,

                '1'             TO itab_compi_final-proced .

          itab_compi_final-txcofins = v_cofins1.

...

 

...

          itab_compi_final-qtd_iten = i_final-qtunit.

          PERFORM converte_um_base USING i_final-insumo

                                CHANGING i_final-meins

                                         itab_compi_final-qtd_iten.

          itab_compi_final-qtd_tot =

              ( itab_compi_final-qtd_iten * itab_exp-qtd_iten ).

          itab_compi_final-netpr_t =

               ( itab_compi_final-netpr * itab_compi_final-qtd_tot ).

          v_imp_camb = v_imp_camb + itab_compi_final-netpr_t.

          READ TABLE itab_compi_final INTO itab_compi

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

            WITH KEY codmat = itab_exp-codmat

* << Fim da exclusão

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

            WITH KEY nritem = itab_exp-nritem

* << Fim da inclusão

                     codcomp = itab_compi_final-codcomp.

          IF sy-subrc EQ 0.

            CLEAR: itab_compi_final-netpr, itab_compi_final-txafrmm,

                   itab_compi_final-brgew, itab_compi_final-ntgew,

                   itab_compi_final-pctseg.

          ELSE.

            CLEAR: itab_impostos2, it_cpi.

            REFRESH: itab_impostos2, it_cpi.

            MOVE-CORRESPONDING itab_compi_final TO it_cpi.

            APPEND it_cpi.

...

 

...

ENDFORM.

FORM atualiza_valores_comps.

  it_cpi[] = itab_compi_final[].

  LOOP AT itab_exp.

    IF NOT itab_exp-qtd_aditiv IS INITIAL.

      v_qtdmat = itab_exp-qtd_aditiv.

    ELSE.

      v_qtdmat = itab_exp-qtd_iten.

    ENDIF.

    LOOP AT itab_compn_final.

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

      CHECK itab_compn_final-codmat = itab_exp-codmat.

* << Fim da exclusão

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

      CHECK itab_compn_final-nritem = itab_exp-nritem.

* << Fim da inclusão

      IF itab_compn_final-meins = 'TO' AND

         itab_compn_final-gewei = 'KG'.

        itab_compn_final-netpr_t =

             ( itab_compn_final-netpr * itab_compn_final-qtd_tot *

               1000 ).

      ELSEIF itab_compn_final-meins = 'KG' AND

               itab_compn_final-gewei = 'TO'.

        itab_compn_final-netpr_t =

             ( itab_compn_final-netpr * itab_compn_final-qtd_tot /

               1000 ).

      ELSE.

        itab_compn_final-netpr_t =

             ( itab_compn_final-netpr * itab_compn_final-qtd_tot ).

      ENDIF.

      itab_compn_final-vl_frete_t =

                   itab_compn_final-vl_frete * itab_compn_final-qtd_tot.

      MODIFY itab_compn_final.

      READ TABLE itab_compn WITH KEY nrseqd = itab_compn_final-nrseqd

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

                                     nritem = itab_compn_final-nritem

* << Fim da inclusão

                                    codmat  = itab_compn_final-codmat

                                    codcomp = itab_compn_final-codcomp

                                    proced  = itab_compn_final-proced.

      IF sy-subrc EQ 0.

        itab_compn-qtd_tot    = itab_compn_final-qtd_tot   .

        itab_compn-netpr_t    = itab_compn_final-netpr_t   .

        itab_compn-vl_frete_t = itab_compn_final-vl_frete_t.

        MODIFY itab_compn TRANSPORTING qtd_tot netpr_t vl_frete_t

                                WHERE nrseqd  = itab_compn_final-nrseqd

                                  AND codmat  = itab_compn_final-codmat

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

                                  AND nritem  = itab_compn_final-nritem

* << Fim da inclusão

                                  AND codcomp = itab_compn_final-codcomp

                                  AND proced  = itab_compn_final-proced.

      ENDIF.

    ENDLOOP.

    LOOP AT itab_compi_final.

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

      CHECK itab_compi_final-codmat = itab_exp-codmat.

* << Fim da exclusão

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

      CHECK itab_compi_final-nritem = itab_exp-nritem.

* << Fim da inclusão

      IF itab_compi_final-txicms > 0.

        v_icmspct = ( 100 - itab_compi_final-txicms ) / 100.

      ELSE.

        v_icmspct = 1.

      ENDIF.

      itab_compi_final-netpr_t =

           ( itab_compi_final-netpr * itab_compi_final-qtd_tot ).

      itab_compi_final-vl_frete_t =

                   itab_compi_final-vl_frete * itab_compi_final-qtd_tot.

      IF NOT itab_compi_final-pctseg IS INITIAL.

...

 

...

                   itab_compi_final-vlicms + itab_compi_final-vlafrmm +

                   itab_compi_final-vlcofins + itab_compi_final-vlpis ).

      v_econom = itab_compi_final-vlii + itab_compi_final-vlipi +

                 itab_compi_final-vlcofins + itab_compi_final-vlpis +

                                            itab_compi_final-vlafrmm.

      IF itab_compi_final-vl_total >= /pws/zycit321-viabilidade.

        itab_compi_final-transp = 'X'.

        MODIFY itab_compi_final TRANSPORTING transp

                          WHERE codcomp EQ itab_compi_final-codcomp

                            AND proced  EQ '1'

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

                            AND codmat  NE itab_compi_final-codmat.

* << Fim da exclusão

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

                            AND nritem  NE itab_compi_final-nritem.

* << Fim da inclusão

      ELSE.

        v_busca = 'N'.

        LOOP AT it_cpi WHERE codcomp EQ itab_compi_final-codcomp

                         AND proced  EQ '1'

                         AND transp  EQ 'X'

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

                         AND codmat  NE itab_compi_final-codmat.

* << Fim da exclusão

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

                         AND nritem  NE itab_compi_final-nritem.

* << Fim da inclusão

          v_busca = 'S'.

          EXIT.

        ENDLOOP.

        IF v_busca = 'S'.

          itab_compi_final-transp = 'X'.

        ELSE.

          READ TABLE it_cpi WITH KEY codcomp = itab_compi_final-codcomp

                                     proced  = '1'

                                     transp  = 'X'

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

                                     codmat  = itab_compi_final-codmat.

* << Fim da exclusão

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

                                     nritem  = itab_compi_final-nritem.

* << Fim da inclusão

          IF sy-subrc EQ 0.

            itab_compi_final-transp = 'X'.

          ELSE.

            itab_compi_final-transp = ' '.

          ENDIF.

        ENDIF.

      ENDIF.

      MODIFY itab_compi_final.

      READ TABLE itab_compi WITH KEY nrseqd  = itab_compi_final-nrseqd

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

                                     codmat  = itab_compi_final-codmat

* << Fim da exclusão

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

                                     nritem  = itab_compi_final-nritem

* << Fim da inclusão

                                     codcomp = itab_compi_final-codcomp

                                     proced  = itab_compi_final-proced.

      IF sy-subrc EQ 0.

        itab_compi-qtd_tot    = itab_compi_final-qtd_tot   .

        itab_compi-netpr_t    = itab_compi_final-netpr_t   .

        itab_compi-vl_frete_t = itab_compi_final-vl_frete_t.

        itab_compi-vl_seg_t   = itab_compi_final-vl_seg_t  .

        itab_compi-vlii       = itab_compi_final-vlii      .

        itab_compi-vlipi      = itab_compi_final-vlipi     .

        itab_compi-vlicms     = itab_compi_final-vlicms    .

        itab_compi-vlpis      = itab_compi_final-vlpis     .

        itab_compi-vlcofins   = itab_compi_final-vlcofins  .

        itab_compi-vlafrmm    = itab_compi_final-vlafrmm   .

        itab_compi-vl_total   = itab_compi_final-vl_total  .

        itab_compi-transp     = itab_compi_final-transp    .

        MODIFY itab_compi TRANSPORTING qtd_tot netpr_t vl_frete_t

                                       vl_seg_t vlii vlipi vlicms

                                       vlafrmm vl_total vlpis vlcofins

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

                                       nritem

* << Fim da inclusão

                                WHERE nrseqd  = itab_compi_final-nrseqd

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

                                  AND codmat  = itab_compi_final-codmat

* << Fim da exclusão

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

                                 AND nritem = itab_compi_final-nritem

* << Fim da inclusão

                                 AND codcomp = itab_compi_final-codcomp

                                  AND proced  = itab_compi_final-proced.

      ENDIF.

...

 

...

        IF itab_compn-waers IS INITIAL.

          MOVE v_waers_t TO itab_compn-waers.

        ENDIF.

        IF itab_compn-j_1bnbm IS INITIAL.

          MOVE v_steuc TO itab_compn-j_1bnbm.

        ENDIF.

        MOVE-CORRESPONDING itab_compn TO itab_compn_final.

        MODIFY itab_compn_final TRANSPORTING nrseqd codmat codcomp

                                             werks meins qtd_iten

                                             netpr waers proced j_1bnbm

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

                                             nritem

* << Fim da inclusão

                               WHERE nrseqd  = itab_compn-nrseqd

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

                                 AND codmat  = itab_compn-codmat

* << Fim da exclusão

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

                                 AND nritem  = itab_compn-nritem

* << Fim da inclusão

                                 AND codcomp = itab_compn-codcomp

                                 AND proced  = itab_compn-proced.

        MODIFY itab_compn INDEX v_pos.

...

 

...

            v_peinh   = it_ckmlcr-peinh.

          ENDIF.

        ENDIF.

        SELECT steuc UP TO 1 ROWS FROM marc INTO v_steuc

               WHERE matnr EQ v_codcomp

                 AND werks EQ /pws/zycie239c-werks.

        ENDSELECT.

        CLEAR it_comp_tmp. REFRESH it_comp_tmp.

        MOVE: /pws/zycie238-nrseqd  TO it_comp_tmp-nrseqd ,

              /pws/zycie239c-codmat TO it_comp_tmp-codmat ,

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

              /pws/zycie239c-nritem TO it_comp_tmp-nritem ,

* << Fim da inclusão

              v_codcomp        TO it_comp_tmp-codcomp,

              /pws/zycie239c-werks  TO it_comp_tmp-werks  ,

              '1'              TO it_comp_tmp-proced ,

              v_steuc          TO it_comp_tmp-j_1bnbm.

        APPEND it_comp_tmp.

        IF itab_compi-pctseg IS INITIAL.

          MOVE v_segpct TO itab_compi-pctseg.

        ENDIF.

        CALL FUNCTION '/PWS/ZYCI_VERIFICA_TAXA_DB'

             EXPORTING

...

 

...

        ENDIF.

        MOVE-CORRESPONDING itab_compi TO itab_compi_final.

        MODIFY itab_compi_final TRANSPORTING

                                           nrseqd codmat codcomp

                                           werks meins qtd_iten gewei

                                           brgew ntgew

                                           netpr waers proced j_1bnbm

                                           pctseg txii vlii txipi

                                           vlipi txicms vlicms txafrmm

                                           vlafrmm vl_total

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

                                           nritem

* << Fim da inclusão

                               WHERE nrseqd  = itab_compi-nrseqd

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

                                 AND codmat  = itab_compi-codmat

* << Fim da exclusão

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

                                 AND nritem  = itab_compi-nritem

* << Fim da inclusão

                                 AND codcomp = itab_compi-codcomp

                                 AND proced  = itab_compi-proced.

        MODIFY itab_compi INDEX v_pos.

...

 

...

    ENDSELECT.

    COLLECT it_right.

  ENDLOOP.

  SORT it_left  BY matnr ASCENDING.

  SORT it_right BY matnr ASCENDING.

  CLEAR it_right_aux. REFRESH it_right_aux.

  CALL SCREEN '0107' STARTING AT 08 3.

ENDFORM.

FORM trata_button_avancar.

  LOOP AT it_left.

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

    READ TABLE itab_compn WITH KEY codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

    READ TABLE itab_compn WITH KEY nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                                   codcomp = it_left-matnr

                                   proced  = '0'.

    IF sy-subrc NE 0.

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

      READ TABLE itab_compi WITH KEY codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

      READ TABLE itab_compi WITH KEY nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                                     codcomp = it_left-matnr

                                     proced  = '1'.

      IF sy-subrc EQ 0.

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

        LOOP AT itab_compi WHERE codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

        LOOP AT itab_compi WHERE nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                             AND codcomp = it_left-matnr

                             AND proced  = '1'.

          CLEAR itab_compn.

          itab_compn = itab_compi.

          MOVE: itab_compi-mandt      TO itab_compn-mandt     ,

                itab_compi-nrseqd     TO itab_compn-nrseqd    ,

                '0'                   TO itab_compn-proced    ,

                itab_compi-codmat     TO itab_compn-codmat    ,

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

                itab_compi-nritem     TO itab_compn-nritem    ,

* << Fim da inclusão

                itab_compi-werks      TO itab_compn-werks     ,

                it_left-matnr         TO itab_compn-codcomp   ,

                itab_compi-meins      TO itab_compn-meins     ,

                itab_compi-qtd_iten   TO itab_compn-qtd_iten  ,

                itab_compi-qtd_tot    TO itab_compn-qtd_tot   ,

                itab_compi-waers      TO itab_compn-waers     ,

                itab_compi-netpr      TO itab_compn-netpr     ,

                itab_compi-netpr_t    TO itab_compn-netpr_t   ,

                itab_compi-vl_frete   TO itab_compn-vl_frete  ,

                itab_compi-vl_frete_t TO itab_compn-vl_frete_t,

                itab_compi-j_1bnbm    TO itab_compn-j_1bnbm   .

          APPEND itab_compn.

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

         LOOP AT itab_compi_final WHERE codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

         LOOP AT itab_compi_final WHERE nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                                            AND codcomp = it_left-matnr

                                                      AND proced  = '1'.

            CLEAR itab_compn_final.

            itab_compn_final = itab_compi_final.

            MOVE:

             itab_compi_final-mandt      TO itab_compn_final-mandt     ,

             itab_compi_final-nrseqd     TO itab_compn_final-nrseqd    ,

             itab_compi_final-codmat     TO itab_compn_final-codmat    ,

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

             itab_compi_final-nritem     TO itab_compn_final-nritem    ,

* << Fim da inclusão

             itab_compi_final-werks      TO itab_compn_final-werks     ,

             itab_compi_final-codcomp    TO itab_compn_final-codcomp   ,

             '0'                         TO itab_compn_final-proced    ,

             itab_compi_final-meins      TO itab_compn_final-meins     ,

             itab_compi_final-qtd_iten   TO itab_compn_final-qtd_iten  ,

             itab_compi_final-qtd_tot    TO itab_compn_final-qtd_tot   ,

             itab_compi_final-waers      TO itab_compn_final-waers     ,

             itab_compi_final-netpr      TO itab_compn_final-netpr     ,

             itab_compi_final-netpr_t    TO itab_compn_final-netpr_t   ,

             itab_compi_final-vl_frete   TO itab_compn_final-vl_frete  ,

...

 

...

             itab_compi_final-j_1bnbm    TO itab_compn_final-j_1bnbm   .

            APPEND itab_compn_final.

            DELETE itab_compi_final.

          ENDLOOP.

          DELETE itab_compi.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDLOOP.

  LOOP AT it_right.

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

    READ TABLE itab_compi WITH KEY codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

    READ TABLE itab_compi WITH KEY nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                                   codcomp = it_right-matnr

                                   proced  = '1'.

    IF sy-subrc NE 0.

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

      READ TABLE itab_compn WITH KEY codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

      READ TABLE itab_compn WITH KEY nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                                     codcomp = it_right-matnr

                                     proced  = '0'.

      IF sy-subrc EQ 0.

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

        LOOP AT itab_compn WHERE codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

        LOOP AT itab_compn WHERE nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                             AND codcomp = it_right-matnr

                             AND proced  = '0'.

          CLEAR itab_compi.

          itab_compi = itab_compn  .

          MOVE: itab_compn-mandt      TO itab_compi-mandt     ,

                itab_compn-nrseqd     TO itab_compi-nrseqd    ,

                '1'                   TO itab_compi-proced    ,

                itab_compn-codmat     TO itab_compi-codmat    ,

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

                itab_compn-nritem     TO itab_compi-nritem    ,

* << Fim da inclusão

                itab_compn-werks      TO itab_compi-werks     ,

                it_right-matnr        TO itab_compi-codcomp   ,

                itab_compn-meins      TO itab_compi-meins     ,

                itab_compn-qtd_iten   TO itab_compi-qtd_iten  ,

                itab_compn-qtd_tot    TO itab_compi-qtd_tot   ,

                itab_compn-waers      TO itab_compi-waers     ,

                itab_compn-netpr      TO itab_compi-netpr     ,

                itab_compn-netpr_t    TO itab_compi-netpr_t   ,

                itab_compn-vl_frete   TO itab_compi-vl_frete  ,

                itab_compn-vl_frete_t TO itab_compi-vl_frete_t,

                itab_compn-j_1bnbm    TO itab_compi-j_1bnbm   .

          APPEND itab_compi.

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

         LOOP AT itab_compn_final WHERE codmat  = /pws/zycie239c-codmat

* << Fim da exclusão

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

         LOOP AT itab_compn_final WHERE nritem  = /pws/zycie239c-nritem

* << Fim da inclusão

                                           AND codcomp = it_right-matnr

                                                      AND proced  = '0'.

            CLEAR itab_compi_final.

            itab_compi_final = itab_compn_final.

            MOVE:

             itab_compn_final-mandt      TO itab_compi_final-mandt     ,

             itab_compn_final-nrseqd     TO itab_compi_final-nrseqd    ,

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

             itab_compn_final-nritem     TO itab_compi_final-nritem    ,

* << Fim da inclusão

             itab_compn_final-codmat     TO itab_compi_final-codmat    ,

             itab_compn_final-codcomp    TO itab_compi_final-codcomp   ,

             itab_compn_final-werks      TO itab_compi_final-werks     ,

             '1'                         TO itab_compi_final-proced    ,

             itab_compn_final-meins      TO itab_compi_final-meins     ,

             itab_compn_final-qtd_iten   TO itab_compi_final-qtd_iten  ,

             itab_compn_final-qtd_tot    TO itab_compi_final-qtd_tot   ,

             itab_compn_final-waers      TO itab_compi_final-waers     ,

             itab_compn_final-netpr      TO itab_compi_final-netpr     ,

             itab_compn_final-netpr_t    TO itab_compi_final-netpr_t   ,

...

 

...

       TABLES

            itab_itens     = itab_compi_final[]

            itab_impostos2 = itab_impostos2[].

  v_index = 0.

  CLEAR: itab_exp-imp_s_cob_camb.

  MODIFY itab_exp TRANSPORTING imp_s_cob_camb

      WHERE imp_s_cob_camb > 0.

  LOOP AT itab_compi_final.

    v_index = sy-tabix.

    READ TABLE it_right_aux WITH KEY matnr = itab_compi_final-codcomp.

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

    READ TABLE itab_exp WITH KEY codmat = itab_compi_final-codmat

* << Fim da exclusão

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

    READ TABLE itab_exp WITH KEY nritem = itab_compi_final-nritem

* << Fim da inclusão

                                 werks  = itab_compi_final-werks.

    IF /pws/zycie238-importacao EQ '2'.

      itab_exp-imp_s_cob_camb = itab_exp-imp_s_cob_camb +

                                itab_compi_final-vl_scamb.

    ELSEIF /pws/zycie238-importacao EQ space.

      itab_exp-imp_s_cob_camb = itab_exp-imp_s_cob_camb +

                                itab_compi_final-netpr_t.

    ENDIF.

    MODIFY itab_exp TRANSPORTING imp_s_cob_camb

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

                            WHERE codmat = itab_compi_final-codmat

* << Fim da exclusão

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

                            WHERE nritem = itab_compi_final-nritem

* << Fim da inclusão

                              AND werks  = itab_compi_final-werks.

    READ TABLE itab_impostos2 WITH KEY codmat = itab_compi_final-codmat

                                     codcomp = itab_compi_final-codcomp

                                       proced = itab_compi_final-proced.

    IF sy-subrc EQ 0.

      IF itab_compi_final-txii IS INITIAL.

        itab_compi_final-txii = itab_impostos2-rate1.

      ENDIF.

      IF itab_compi_final-txipi IS INITIAL.

        itab_compi_final-txipi = itab_impostos2-rate2.

...

 

...

      IF itab_compi_final-txicms IS INITIAL.

        itab_compi_final-txicms = itab_impostos2-rate3.

      ENDIF.

      IF itab_compi_final-txafrmm IS INITIAL.

        itab_compi_final-txafrmm = 25.

      ENDIF.

      IF itab_compi_final-pctseg IS INITIAL.

        itab_compi_final-pctseg = v_segpct.

      ENDIF.

      MODIFY itab_compi_final INDEX v_index.

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

      READ TABLE itab_compi WITH KEY codmat = itab_compi_final-codmat

* << Fim da exclusão

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

      READ TABLE itab_compi WITH KEY nritem = itab_compi_final-nritem

* << Fim da inclusão

                                    codcomp = itab_compi_final-codcomp

                                     proced = itab_compi_final-proced.

      IF sy-subrc EQ 0.

        IF itab_compi-txii IS INITIAL.

          itab_compi-txii = itab_impostos2-rate1.

        ENDIF.

        IF itab_compi-txipi IS INITIAL.

          itab_compi-txipi = itab_impostos2-rate2.

        ENDIF.

        IF itab_compi-txicms IS INITIAL.

...

 

...

        ENDIF.

        CLEAR itab_zycit407.

        READ TABLE itab_zycit407 WITH KEY tributos = 'COFINS'.

        itab_compi-txcofins = itab_zycit407-aliquotas.

        CLEAR itab_zycit407.

        READ TABLE itab_zycit407 WITH KEY tributos = 'PIS'.

        itab_compi-txpis = itab_zycit407-aliquotas.

        MODIFY itab_compi TRANSPORTING codmat codcomp proced txii txipi

                                       txicms txafrmm pctseg

                                       txcofins txpis

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

                               WHERE  codmat = itab_compi_final-codmat

* << Fim da exclusão

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

                              WHERE  nritem = itab_compi_final-nritem

* << Fim da inclusão

                                 AND codcomp = itab_compi_final-codcomp

                                 AND  proced = itab_compi_final-proced.

      ENDIF.

    ENDIF.

  ENDLOOP.

  PERFORM atualiza_impostos.

  PERFORM atualiza_qtde_insumo.

  CLEAR: itab_compn      ,

         itab_compi      ,

         itab_compn_final,

...

 

...

    MESSAGE s015 WITH text-015.

    EXIT.

  ENDIF.

  MOVE: sy-tabix TO v_indicatu.

  IF NOT itab_exp-qtd_aditiv IS INITIAL.

    v_qtdmat = itab_exp-qtd_aditiv.

  ELSE.

    v_qtdmat = itab_exp-qtd_iten.

  ENDIF.

  MOVE: itab_exp-codmat  TO /pws/zycie239c-codmat  ,

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

        itab_exp-nritem  TO /pws/zycie239c-nritem  ,

* << Fim da inclusão

        itab_exp-werks   TO /pws/zycie239c-werks   ,

        itab_exp-agrup   TO /pws/zycie239c-agrup   ,

        itab_exp-waers   TO /pws/zycie239c-waers   ,

        itab_exp-netpr   TO /pws/zycie239c-netpr   ,

        itab_exp-netpr_t TO /pws/zycie239c-netpr_t ,

        itab_exp-meins   TO /pws/zycie239c-meins   ,

        v_qtdmat         TO /pws/zycie239c-qtd_iten.

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

  CLEAR: itab_compn. REFRESH: itab_compn.

  LOOP AT itab_compn_final.

    CHECK itab_compn_final-codmat EQ /pws/zycie239c-codmat AND

          itab_compn_final-agrup  EQ /pws/zycie239c-agrup.

    MOVE-CORRESPONDING itab_compn_final TO itab_compn.

    APPEND itab_compn.

  ENDLOOP.

  CLEAR: itab_compi. REFRESH: itab_compi.

  LOOP AT itab_compi_final.

    CHECK itab_compi_final-codmat EQ /pws/zycie239c-codmat AND

          itab_compi_final-agrup  EQ /pws/zycie239c-agrup AND

          itab_compi_final-werks  EQ /pws/zycie239c-werks.

    MOVE-CORRESPONDING itab_compi_final TO itab_compi.

    APPEND itab_compi.

  ENDLOOP.

* << Fim da exclusão

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

  PERFORM move_componentes.

* << Fim da inclusão

  CLEAR: itab_compi_viab. REFRESH: itab_compi_viab.

  CLEAR: v_tot_eco, v_tot_cb.

  LOOP AT itab_compi.

    MOVE-CORRESPONDING itab_compi TO itab_compi_viab.

    itab_compi_viab-vlcif = itab_compi_viab-netpr_t +

                  itab_compi_viab-vl_frete_t + itab_compi_viab-vl_seg_t.

    itab_compi_viab-vl_total = itab_compi_viab-vlii +

                    itab_compi_viab-vlipi + itab_compi_viab-vlafrmm

                  + itab_compi_viab-vlcofins + itab_compi_viab-vlpis +

                    itab_compi_viab-vlicms                        .

...

 

...

    IF ok_code NE 'BACK' AND ok_code NE 'ABORT'.

      MESSAGE w015 WITH text-047.

    ENDIF.

  ENDIF.

  IF v_tcode EQ '/PWS/ZYCI040_P'.

    PERFORM verifica_nrseq_gravado.

  ENDIF.

  LOOP AT itab_compn_final.

    CHECK itab_compn_final-codcomp IS INITIAL.

    READ TABLE itab_compn WITH KEY nrseqd  = itab_compn_final-nrseqd

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

                                   codmat  = itab_compn_final-codmat

* << Fim da exclusão

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

                                   nritem  = itab_compn_final-nritem

* << Fim da inclusão

                                   codcomp = itab_compn_final-codcomp

                                   proced  = itab_compn_final-proced.

    IF sy-subrc EQ 0.

      DELETE itab_compn WHERE nrseqd  = itab_compn_final-nrseqd

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

                          AND codmat  = itab_compn_final-codmat

* << Fim da exclusão

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

                         AND nritem  = itab_compn_final-nritem

* << Fim da inclusão

                          AND codcomp = itab_compn_final-codcomp

                          AND proced  = itab_compn_final-proced.

    ENDIF.

    DELETE itab_compn_final.

  ENDLOOP.

  LOOP AT itab_compi_final.

    CHECK itab_compi_final-codcomp IS INITIAL.

    READ TABLE itab_compi WITH KEY nrseqd  = itab_compi_final-nrseqd

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

                                   codmat  = itab_compi_final-codmat

* << Fim da exclusão

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

                                   nritem  = itab_compi_final-nritem

* << Fim da inclusão

                                   codcomp = itab_compi_final-codcomp

                                   proced  = itab_compi_final-proced.

    IF sy-subrc EQ 0.

      DELETE itab_compi WHERE nrseqd  = itab_compi_final-nrseqd

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

                          AND codmat  = itab_compi_final-codmat

* << Fim da exclusão

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

                         AND nritem  = itab_compi_final-nritem

* << Fim da inclusão

                          AND codcomp = itab_compi_final-codcomp

                          AND proced  = itab_compi_final-proced.

    ENDIF.

    DELETE itab_compi_final.

  ENDLOOP.

  PERFORM trata_saldo.

  IF v_tcode EQ '/PWS/ZYCI040_N'.

    DELETE FROM /pws/zycit239 WHERE nrseqd = /pws/zycie238-nrseqd.

    DELETE FROM /pws/zycit240 WHERE nrseqd = /pws/zycie238-nrseqd.

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

...

 

...

      DESCRIBE TABLE itab_exp LINES v_verifiit.

    ENDIF.

    SELECT * FROM /pws/zycit240 INTO TABLE itab_compn_final

           WHERE nrseqd EQ /pws/zycie238-nrseqd

             AND proced EQ '0'.

    SELECT * FROM /pws/zycit240 INTO TABLE itab_compi_final

           WHERE nrseqd EQ /pws/zycie238-nrseqd

             AND ( proced EQ '1' OR proced EQ '2' ).

    SORT itab_compn_final BY codcomp ASCENDING.

    SORT itab_compi_final BY codcomp ASCENDING.

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

    LOOP AT itab_exp WHERE nritem EQ space.

      PERFORM busca_nritem.

      itab_compn_final-nritem = itab_compi_final-nritem =

      itab_exp-nritem = /pws/zycie239-nritem.

      MODIFY itab_exp.

      MODIFY itab_compn_final TRANSPORTING nritem

              WHERE codmat EQ itab_exp-codmat

                AND agrup  EQ itab_exp-agrup.

      MODIFY itab_compi_final TRANSPORTING nritem

              WHERE codmat EQ itab_exp-codmat

                AND agrup  EQ itab_exp-agrup.

    ENDLOOP.

    IF sy-subrc EQ 0.

 

      DELETE FROM /pws/zycit239 WHERE nrseqd = /pws/zycie238-nrseqd.

      DELETE FROM /pws/zycit240 WHERE nrseqd = /pws/zycie238-nrseqd.

 

      MODIFY /pws/zycit239 FROM TABLE itab_exp.

      MODIFY /pws/zycit240 FROM TABLE itab_compn_final.

      MODIFY /pws/zycit240 FROM TABLE itab_compi_final.

    ENDIF.

* << Fim da inclusão

    SELECT * FROM /pws/zycit250 INTO TABLE itab_areas

           WHERE nrseqd EQ /pws/zycie238-nrseqd.

    SELECT * FROM /pws/zycit243 INTO TABLE itab_centros

           WHERE nrseqd EQ /pws/zycie238-nrseqd.

    SORT itab_centros BY werks ASCENDING.

    SORT itab_areas BY codagrup ASCENDING.

    pressed_tab = 'FS_CABEC'.

    dynpronr    = '0101'.

    IF NOT /pws/zycie238-atocon IS INITIAL.

      MESSAGE i015 WITH text-139 text-140.

...

 

...

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM atualiza_qtde_insumo.

  IF v_tcode EQ '/PWS/ZYCI040_N'.

    LOOP AT itab_exp.

      v_index = sy-tabix.

      CHECK itab_exp-qtd_insumo IS INITIAL.

      CLEAR v_maiorpct.

      LOOP AT itab_compi_final WHERE nrseqd = /pws/zycie238-nrseqd

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

                                 AND codmat = itab_exp-codmat

* << Fim da exclusão

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

                                 AND nritem = itab_exp-nritem

* << Fim da inclusão

                                 AND proced = '1'.

        CLEAR v_qtde_di.

        v_resultado =

                ( itab_exp-qtd_iten * itab_compi_final-qtd_iten ) / 100.

        PERFORM apura_qtde_di CHANGING v_qtde_di.

        v_resultado2 = ( v_qtde_di / v_resultado ).

        IF v_resultado2 > v_maiorpct.

          v_maiorpct = v_resultado2.

        ENDIF.

      ENDLOOP.

...

 

...

                              itab_compi_final-vlipi ) / v_icmspct ) *

                                      itab_compi_final-txicms ) / 100.

    itab_compi_final-txafrmm = 25.

    itab_compi_final-vlafrmm =

     ( itab_compi_final-vl_frete_t * itab_compi_final-txafrmm ) / 100.

    itab_compi_final-vl_total =

    ( itab_compi_final-vlii + itab_compi_final-vlipi +

      itab_compi_final-vlicms + itab_compi_final-vlafrmm +

      itab_compi_final-vlpis + itab_compi_final-vlcofins ).

    MODIFY itab_compi_final INDEX v_index.

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

    READ TABLE itab_compi WITH KEY codmat = itab_compi_final-codmat

* << Fim da exclusão

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

    READ TABLE itab_compi WITH KEY nritem = itab_compi_final-nritem

* << Fim da inclusão

                                  codcomp = itab_compi_final-codcomp

                                   proced = itab_compi_final-proced.

    IF sy-subrc EQ 0.

      IF itab_compi-txicms > 0.

        v_icmspct = ( 100 - itab_compi-txicms ) / 100.

      ELSE.

        v_icmspct = 1.

      ENDIF.

      v_vlcif_imp = itab_compi-netpr_t +

                          itab_compi-vl_frete_t + itab_compi-vl_seg_t.

...

 

...

      itab_compi-vlpis = ( v_vlcif_imp * v_fatx ) *

                      v_advpis.

      itab_compi-vlcofins = ( v_vlcif_imp * v_fatx ) *

                      v_advcof.

      itab_compi-vl_total = ( itab_compi-vlii + itab_compi-vlipi +

                             itab_compi-vlicms + itab_compi-vlafrmm +

                             itab_compi-vlpis + itab_compi-vlcofins ).

      MODIFY itab_compi TRANSPORTING codmat codcomp proced txii vlii

                                     txipi vlipi txicms vlicms txafrmm

                                     vlafrmm vl_total vlpis vlcofins

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

                             WHERE  codmat = itab_compi_final-codmat

* << Fim da exclusão

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

                                    nritem

                             WHERE  nritem = itab_compi_final-nritem

* << Fim da inclusão

                               AND codcomp = itab_compi_final-codcomp

                               AND  proced = itab_compi_final-proced.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM check_fields_screen_0101.

  LOOP AT SCREEN.

    IF screen-group1 NE 'NEX'.

      screen-input = v_status.

      MODIFY SCREEN.

...

 

...

        MESSAGE w015 WITH text-200.

        EXIT.

      ENDIF.

    ENDIF.

    SELECT SINGLE meins FROM /pws/zycit421

          INTO itab_exp-meins

          WHERE agrup EQ /pws/zycie239-agrup

            AND werks EQ /pws/zycie239-werks.

    itab_exp-nrseqd     = /pws/zycie238-nrseqd    .

    itab_exp-agrup      = /pws/zycie239-agrup     .

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

    PERFORM busca_nritem.

    itab_exp-nritem     = /pws/zycie239-nritem    .

* << Fim da inclusão

    itab_exp-werks      = /pws/zycie239-werks     .

    itab_exp-stlal      = /pws/zycit421-stlal     .

    itab_exp-matkl      = /pws/zycie239-matkl     .

    itab_exp-waers      = /pws/zycie239-waers     .

    itab_exp-netpr      = /pws/zycie239-netpr     .

    itab_exp-vl_frete   = /pws/zycie239-vl_frete  .

    itab_exp-pctcomis   = /pws/zycie239-pctcomis  .

    itab_exp-vl_comis   = /pws/zycie239-vl_comis  .

    itab_exp-qtd_iten   = /pws/zycie239-qtd_iten  .

    itab_exp-qtd_aditiv = /pws/zycie239-qtd_aditiv.

...

 

...

                                         itab_exp-netpr_t

                                CHANGING itab_exp-netpr_me.

    ENDIF.

    MODIFY itab_exp INDEX tc_exp-current_line.

    IF sy-subrc NE 0.

      APPEND itab_exp.

    ENDIF.

  ELSE.

    itab_exp-nrseqd     = /pws/zycie238-nrseqd    .

    itab_exp-agrup      = /pws/zycie239-agrup    .

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

    itab_exp-nritem     = /pws/zycie239-nritem    .

* << Fim da inclusão

    itab_exp-werks      = /pws/zycie239-werks     .

    itab_exp-stlal      = /pws/zycit421-stlal     .

    itab_exp-meins      = /pws/zycie239-meins     .

    itab_exp-matkl      = /pws/zycie239-matkl     .

    itab_exp-waers      = /pws/zycie239-waers     .

    itab_exp-netpr      = /pws/zycie239-netpr     .

    itab_exp-vl_frete   = /pws/zycie239-vl_frete  .

    itab_exp-pctcomis   = /pws/zycie239-pctcomis  .

    itab_exp-vl_comis   = /pws/zycie239-vl_comis  .

    itab_exp-qtd_iten   = /pws/zycie239-qtd_iten  .

...

 

...

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

ENDFORM.

FORM trata_sequencial.

  WRITE /pws/zycie238-nrseqd TO /pws/zycie238-nrseqd RIGHT-JUSTIFIED.

  OVERLAY /pws/zycie238-NRSEQD WITH '0000000000'.

ENDFORM.

* >> Início da inclusão:

FORM move_componentes.

  CLEAR: itab_compn. REFRESH: itab_compn.

  LOOP AT itab_compn_final.

    CHECK itab_compn_final-nritem EQ /pws/zycie239c-nritem.

    MOVE-CORRESPONDING itab_compn_final TO itab_compn.

    APPEND itab_compn.

  ENDLOOP.

  CLEAR: itab_compi. REFRESH: itab_compi.

  LOOP AT itab_compi_final.

    CHECK itab_compi_final-nritem EQ /pws/zycie239c-nritem.

    MOVE-CORRESPONDING itab_compi_final TO itab_compi.

    APPEND itab_compi.

  ENDLOOP.

ENDFORM.

FORM busca_nritem.

  DATA: wa_zycit239 TYPE /pws/zycit239.

  LOOP AT itab_exp INTO wa_zycit239.

    IF /pws/zycie239-nritem < wa_zycit239-nritem.

      /pws/zycie239-nritem = wa_zycit239-nritem.

    ENDIF.

  ENDLOOP.

  ADD 1 TO /pws/zycie239-nritem.

  SHIFT /pws/zycie239-nritem RIGHT DELETING TRAILING space.

  OVERLAY /pws/zycie239-nritem WITH '00000'.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI063I01

 

...

    IF NOT /pws/zycie238-werks IS INITIAL.

      itab_centros-nrseqd = /pws/zycie238-nrseqd.

      itab_centros-werks  = /pws/zycie238-werks .

      COLLECT itab_centros.

    ENDIF.

  ENDIF.

ENDMODULE.

MODULE preenche_itab_exp INPUT.

  itab_exp-nrseqd     = /pws/zycie239-nrseqd    .

  itab_exp-codmat     = /pws/zycie239-codmat    .

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

  itab_exp-nritem     = /pws/zycie239-nritem    .

* << Fim da inclusão

  itab_exp-werks      = /pws/zycie239-werks     .

  itab_exp-stlan      = /pws/zycie239-stlan     .

  itab_exp-stlnr      = /pws/zycie239-stlnr     .

  itab_exp-stlal      = /pws/zycie239-stlal     .

  itab_exp-meins      = /pws/zycie239-meins     .

  itab_exp-matkl      = /pws/zycie239-matkl     .

  itab_exp-waers      = /pws/zycie239-waers     .

  itab_exp-netpr      = /pws/zycie239-netpr     .

  itab_exp-netpr_t    = /pws/zycie239-netpr_t   .

  itab_exp-vl_frete   = /pws/zycie239-vl_frete  .

...

 

...

        ENDIF.

        IF /pws/zycie239-stlnr IS INITIAL.

          MOVE v_stlnr_t TO /pws/zycie239-stlnr.

        ENDIF.

        IF /pws/zycie239-stlal IS INITIAL.

        MOVE v_stlal_t TO /pws/zycie239-stlal.

        ENDIF.

      ENDIF..

      itab_exp-nrseqd     = /pws/zycie238-nrseqd    .

      itab_exp-codmat     = /pws/zycie239-codmat    .

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

      PERFORM busca_nritem.

      itab_exp-nritem     = /pws/zycie239-nritem    .

* << Fim da inclusão

      itab_exp-werks      = /pws/zycit281-werks     .

      itab_exp-stlan      = /pws/zycie239-stlan     .

      itab_exp-stlnr      = /pws/zycie239-stlnr     .

      itab_exp-stlal      = /pws/zycie239-stlal     .

      itab_exp-meins      = /pws/zycie239-meins     .

      itab_exp-matkl      = /pws/zycie239-matkl     .

      itab_exp-waers      = /pws/zycie239-waers     .

      itab_exp-netpr      = /pws/zycie239-netpr     .

      itab_exp-vl_frete   = /pws/zycie239-vl_frete  .

      itab_exp-pctcomis   = /pws/zycie239-pctcomis  .

...

 

...

        APPEND itab_exp.

      ENDIF.

    ELSE.

      CLEAR: v_atual.

      IF    itab_exp-qtd_iten   NE /pws/zycie239-qtd_iten

         OR itab_exp-qtd_aditiv NE /pws/zycie239-qtd_aditiv.

        v_atual = 'X'.

      ENDIF.

      itab_exp-nrseqd     = /pws/zycie238-nrseqd    .

      itab_exp-codmat     = /pws/zycie239-codmat    .

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

      itab_exp-nritem     = /pws/zycie239-nritem    .

* << Fim da inclusão

      itab_exp-werks      = /pws/zycit281-werks     .

      itab_exp-stlan      = /pws/zycie239-stlan     .

      itab_exp-stlnr      = /pws/zycie239-stlnr     .

      itab_exp-stlal      = /pws/zycie239-stlal     .

      itab_exp-meins      = /pws/zycie239-meins     .

      itab_exp-matkl      = /pws/zycie239-matkl     .

      itab_exp-waers      = /pws/zycie239-waers     .

      itab_exp-netpr      = /pws/zycie239-netpr     .

      itab_exp-vl_frete   = /pws/zycie239-vl_frete  .

      itab_exp-pctcomis   = /pws/zycie239-pctcomis  .

...

 

...

         EXPORTING

            input              = v_codmat

         IMPORTING

            output             = /pws/zycie239-codmat

         EXCEPTIONS

           OTHERS             = 2.

    CLEAR: tdynpread. REFRESH: tdynpread.

    READ TABLE itab_exp INDEX v_pos.

    IF sy-subrc EQ 0.

      MOVE: /pws/zycie238-nrseqd   TO itab_exp-nrseqd  ,

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

            v_codmat               TO itab_exp-codmat  ,

* << Fim da inclusão

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

            v_codmat          TO itab_exp-codmat  ,

* << Fim da exclusão

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

            /pws/zycie239-nritem   TO itab_exp-nritem   ,

* << Fim da inclusão

            /pws/zycie239-werks    TO itab_exp-werks   ,

         /pws/zycie239-stlan    TO itab_exp-stlan   ,

            /pws/zycie239-stlnr    TO itab_exp-stlnr   ,

           /pws/zycie239-stlal    TO itab_exp-stlal   ,

         /pws/zycie239-matkl    TO itab_exp-matkl   ,

          /pws/zycie239-meins    TO itab_exp-meins   ,

            /pws/zycie239-waers    TO itab_exp-waers   ,

          /pws/zycie239-gewei    TO itab_exp-gewei   ,

          /pws/zycie239-brgew    TO itab_exp-brgew   ,

          /pws/zycie239-ntgew    TO itab_exp-ntgew   ,

...

 

...

        tdynpread-fieldvalue = /pws/zycie239-ntgew.

        SHIFT tdynpread-fieldvalue LEFT DELETING LEADING space.

        CONDENSE tdynpread-fieldvalue.

        REPLACE '.' WITH ',' INTO tdynpread-fieldvalue.

        tdynpread-stepl      = v_pos.

        APPEND tdynpread.

      ENDIF.

      MODIFY itab_exp INDEX v_pos.

    ELSE.

      MOVE: /pws/zycie238-nrseqd   TO itab_exp-nrseqd  ,

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

            v_codmat               TO itab_exp-codmat  ,

* << Fim da inclusão

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

            v_codmat          TO itab_exp-codmat  ,

* << Fim da exclusão

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

            /pws/zycie239-nritem   TO itab_exp-nritem   ,

* << Fim da inclusão

            /pws/zycie239-werks    TO itab_exp-werks   ,

         /pws/zycie239-stlan    TO itab_exp-stlan   ,

         /pws/zycie239-stlnr    TO itab_exp-stlnr   ,

       /pws/zycie239-stlal    TO itab_exp-stlal   ,

        /pws/zycie239-matkl    TO itab_exp-matkl   ,

            /pws/zycie239-meins    TO itab_exp-meins   ,

        /pws/zycie239-gewei    TO itab_exp-gewei   ,

            /pws/zycie239-waers    TO itab_exp-waers   ,

            /pws/zycie239-j_1bnbm  TO itab_exp-j_1bnbm ,

         /pws/zycie239-waers_mi TO itab_exp-waers_mi,

...

 

...

  READ TABLE itab_compn INDEX tc_compn-current_line.

  IF sy-subrc NE 0.

    READ TABLE itab_compn WITH KEY codcomp = /pws/zycie240-codcomp.

    IF sy-subrc EQ 0.

      MESSAGE s061 WITH text-020 /pws/zycie240-codcomp text-021

 text-022.

      EXIT.

    ENDIF.

    itab_compn-nrseqd   = /pws/zycie238-nrseqd  .

    itab_compn-codmat   = /pws/zycie239c-codmat .

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

    itab_compn-nritem   = /pws/zycie239c-nritem  .

* << Fim da inclusão

    itab_compn-codcomp  = /pws/zycie240-codcomp .

    itab_compn-werks    = /pws/zycie239c-werks  .

    itab_compn-proced   = '0'              .

    itab_compn-meins    = /pws/zycie240-meins   .

    itab_compn-qtd_iten = /pws/zycie240-qtd_iten.

    itab_compn-waers    = /pws/zycie240-waers   .

    itab_compn-netpr    = /pws/zycie240-netpr   .

    itab_compn-vl_frete = /pws/zycie240-vl_frete.

    itab_compn-j_1bnbm  = /pws/zycie240-j_1bnbm .

    itab_compn-markn    = markn            .

...

 

...

              ( /pws/zycie240-perda_e / 100 ).

    itab_compn-qtd_tot = itab_compn-qtd_tot -

                          itab_compn-qtd_perda_e.

    itab_compn-perda_e    = /pws/zycie240-perda_e.

    itab_compn-netpr_t     = itab_compn-netpr * itab_compn-qtd_tot.

    itab_compn-vl_frete_t  = itab_compn-vl_frete * itab_compn-qtd_tot.

    APPEND itab_compn.

  ELSE.

    itab_compn-nrseqd   = /pws/zycie238-nrseqd  .

    itab_compn-codmat   = /pws/zycie239c-codmat .

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

    itab_compn-nritem   = /pws/zycie239c-nritem  .

* << Fim da inclusão

    itab_compn-codcomp  = /pws/zycie240-codcomp .

    itab_compn-werks    = /pws/zycie239c-werks  .

    itab_compn-proced   = '0'              .

    itab_compn-meins    = /pws/zycie240-meins   .

    itab_compn-qtd_iten = /pws/zycie240-qtd_iten.

    itab_compn-waers    = /pws/zycie240-waers   .

    itab_compn-netpr    = /pws/zycie240-netpr   .

    itab_compn-vl_frete = /pws/zycie240-vl_frete.

    itab_compn-j_1bnbm  = /pws/zycie240-j_1bnbm .

    itab_compn-markn    = markn            .

...

 

...

    EXIT.

  ENDIF.

  READ TABLE itab_compi INDEX tc_compi-current_line.

  IF sy-subrc NE 0.

    READ TABLE itab_compi WITH KEY codcomp = /pws/zycie240c-codcomp.

    IF sy-subrc EQ 0.

      MESSAGE s061 WITH text-020 /pws/zycie240c-codcomp text-021

 text-022.

      EXIT.

    ENDIF.

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

    LOOP AT itab_compi_final WHERE codmat NE /pws/zycie239c-codmat

* << Fim da exclusão

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

    LOOP AT itab_compi_final WHERE nritem NE /pws/zycie239c-nritem

* << Fim da inclusão

                               AND codcomp = /pws/zycie240c-codcomp

                               AND proced  = '1'.

      IF sy-subrc EQ 0.

        IF NOT itab_compi_final-meins IS INITIAL     AND

           NOT /pws/zycie240c-meins        IS INITIAL     AND

           itab_compi_final-meins NE /pws/zycie240c-meins.

          MESSAGE e061 WITH text-074 text-075

                       itab_compi_final-meins /pws/zycie240c-meins.

          EXIT.

        ELSEIF NOT itab_compi_final-gewei IS INITIAL     AND

...

 

...

          SHIFT v_msg_aux1 LEFT DELETING LEADING space.

          MOVE /pws/zycie240c-txicms TO v_msg_aux2.

          SHIFT v_msg_aux2 LEFT DELETING LEADING space.

          MESSAGE e061 WITH text-088 text-089 v_msg_aux1 v_msg_aux2.

          EXIT.

        ENDIF.

      ENDIF.

    ENDLOOP.

    itab_compi-nrseqd   = /pws/zycie238-nrseqd   .

    itab_compi-codmat   = /pws/zycie239c-codmat  .

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

    itab_compi-nritem   = /pws/zycie239c-nritem  .

* << Fim da inclusão

    itab_compi-codcomp  = /pws/zycie240c-codcomp .

    itab_compi-werks    = /pws/zycie239c-werks   .

    itab_compi-proced   = '1'               .

    itab_compi-meins    = /pws/zycie240c-meins   .

    itab_compi-qtd_iten = /pws/zycie240c-qtd_iten.

    itab_compi-perda_e  = /pws/zycie240c-perda_e .

    itab_compi-gewei    = /pws/zycie240c-gewei   .

    itab_compi-brgew    = /pws/zycie240c-brgew   .

    itab_compi-ntgew    = /pws/zycie240c-ntgew   .

    itab_compi-waers    = /pws/zycie240c-waers   .

...

 

...

        itab_compi_final-transp = 'X'.

        MODIFY itab_compi_final TRANSPORTING transp

                             WHERE codcomp = itab_compi_final-codcomp

                               AND proced  = '1'.

      ENDIF.

    ELSE.

      v_busca = 'N'.

      LOOP AT itab_compi_final WHERE codcomp EQ itab_compi-codcomp

                                 AND proced  EQ '1'

                                 AND transp  EQ 'X'

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

                                 AND codmat  NE itab_compi-codmat.

* << Fim da exclusão

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

                                 AND nritem  NE itab_compi-nritem.

* << Fim da inclusão

        v_busca = 'S'.

        EXIT.

      ENDLOOP.

      IF v_busca = 'S'.

        itab_compi-transp = 'X'.

      ELSE.

        itab_compi-transp = ' '.

      ENDIF.

    ENDIF.

    APPEND itab_compi.

  ELSE.

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

    LOOP AT itab_compi_final WHERE codmat NE /pws/zycie239c-codmat

* << Fim da exclusão

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

    LOOP AT itab_compi_final WHERE nritem NE /pws/zycie239c-nritem

* << Fim da inclusão

                               AND codcomp = /pws/zycie240c-codcomp

                               AND proced  = '1'.

      IF sy-subrc EQ 0.

        IF NOT itab_compi_final-meins IS INITIAL     AND

           NOT /pws/zycie240c-meins        IS INITIAL     AND

           itab_compi_final-meins NE /pws/zycie240c-meins.

          MESSAGE e061 WITH text-074 text-075

                       itab_compi_final-meins /pws/zycie240c-meins.

          EXIT.

        ELSEIF NOT itab_compi_final-gewei IS INITIAL     AND

...

 

...

          SHIFT v_msg_aux1 LEFT DELETING LEADING space.

          MOVE /pws/zycie240c-txicms TO v_msg_aux2.

          SHIFT v_msg_aux2 LEFT DELETING LEADING space.

          MESSAGE e061 WITH text-088 text-089 v_msg_aux1 v_msg_aux2.

          EXIT.

        ENDIF.

      ENDIF.

    ENDLOOP.

    itab_compi-nrseqd   = /pws/zycie238-nrseqd   .

    itab_compi-codmat   = /pws/zycie239c-codmat  .

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

    itab_compi-nritem   = /pws/zycie239c-nritem  .

* << Fim da inclusão

    itab_compi-codcomp  = /pws/zycie240c-codcomp .

    itab_compi-werks    = /pws/zycie239c-werks   .

    itab_compi-proced   = '1'               .

    itab_compi-meins    = /pws/zycie240c-meins   .

    itab_compi-qtd_iten = /pws/zycie240c-qtd_iten.

    itab_compi-perda_e  = /pws/zycie240c-perda_e .

    itab_compi-gewei    = /pws/zycie240c-gewei   .

    itab_compi-vl_scamb = /pws/zycie240c-vl_scamb.

    itab_compi-brgew    = /pws/zycie240c-brgew   .

    itab_compi-ntgew    = /pws/zycie240c-ntgew   .

...

 

...

        itab_compi_final-transp = 'X'.

        MODIFY itab_compi_final TRANSPORTING transp

                             WHERE codcomp = itab_compi_final-codcomp

                               AND proced  = '1'.

      ENDIF.

    ELSE.

      v_busca = 'N'.

      LOOP AT itab_compi_final WHERE codcomp EQ itab_compi-codcomp

                                 AND proced  EQ '1'

                                 AND transp  EQ 'X'

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

                                 AND codmat  NE itab_compi-codmat.

* << Fim da exclusão

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

                                 AND nritem  NE itab_compi-nritem.

* << Fim da inclusão

        v_busca = 'S'.

        EXIT.

      ENDLOOP.

      IF v_busca = 'S'.

        itab_compi-transp = 'X'.

      ELSE.

        itab_compi-transp = ' '.

      ENDIF.

    ENDIF.

    MODIFY itab_compi INDEX tc_compi-current_line.

...

 

...

            input              = v_codcomp

         IMPORTING

            output             = /pws/zycie240-codcomp

         EXCEPTIONS

           OTHERS             = 2.

    CLEAR: tdynpread. REFRESH: tdynpread.

    READ TABLE itab_compn INDEX v_pos.

    IF sy-subrc EQ 0.

    MOVE: /pws/zycie238-nrseqd  TO itab_compn-nrseqd ,

             /pws/zycie239c-codmat TO itab_compn-codmat ,

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

                v_codcomp        TO itab_compn-codcomp,

* << Fim da exclusão

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

            /pws/zycie239c-nritem TO itab_compn-nritem ,

            v_codcomp             TO itab_compn-codcomp,

* << Fim da inclusão

                    /pws/zycie239c-werks  TO itab_compn-werks  ,

           /pws/zycie240-meins   TO itab_compn-meins  ,

                     /pws/zycie240-waers   TO itab_compn-waers  ,

                /pws/zycie240-j_1bnbm TO itab_compn-j_1bnbm.

      IF itab_compn-netpr IS INITIAL.

     MOVE: /pws/zycie240-netpr TO itab_compn-netpr.

        tdynpread-fieldname  = '/PWS/ZYCIE240-NETPR'.

        tdynpread-fieldvalue = /pws/zycie240-netpr.

        SHIFT tdynpread-fieldvalue LEFT DELETING LEADING space.

        CONDENSE tdynpread-fieldvalue.

        REPLACE '.' WITH ',' INTO tdynpread-fieldvalue.

        tdynpread-stepl      = v_pos.

        APPEND tdynpread.

      ENDIF.

      MODIFY itab_compn INDEX v_pos.

    ELSE.

    MOVE: /pws/zycie238-nrseqd  TO itab_compn-nrseqd ,

             /pws/zycie239c-codmat TO itab_compn-codmat ,

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

                v_codcomp        TO itab_compn-codcomp,

* << Fim da exclusão

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

            /pws/zycie239c-nritem TO itab_compn-nritem ,

            v_codcomp             TO itab_compn-codcomp,

* << Fim da inclusão

                    /pws/zycie239c-werks  TO itab_compn-werks  ,

                     /pws/zycie240-waers   TO itab_compn-waers  ,

           /pws/zycie240-meins   TO itab_compn-meins  ,

                /pws/zycie240-j_1bnbm TO itab_compn-j_1bnbm.

      IF itab_compn-netpr IS INITIAL.

     MOVE: /pws/zycie240-netpr TO itab_compn-netpr.

        tdynpread-fieldname  = '/PWS/ZYCIE240-NETPR'.

        tdynpread-fieldvalue = /pws/zycie240-netpr.

        SHIFT tdynpread-fieldvalue LEFT DELETING LEADING space.

        CONDENSE tdynpread-fieldvalue.

...

 

...

            input              = v_codcomp

         IMPORTING

            output             = /pws/zycie240c-codcomp

         EXCEPTIONS

           OTHERS             = 2.

    CLEAR: tdynpread. REFRESH: tdynpread.

    READ TABLE itab_compi INDEX v_pos.

    IF sy-subrc EQ 0.

    MOVE: /pws/zycie238-nrseqd   TO itab_compi-nrseqd ,

            /pws/zycie239c-codmat  TO itab_compi-codmat ,

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

               v_codcomp         TO itab_compi-codcomp,

* << Fim da exclusão

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

            /pws/zycie239c-nritem  TO itab_compi-nritem ,

            v_codcomp              TO itab_compi-codcomp,

* << Fim da inclusão

                   /pws/zycie239c-werks   TO itab_compi-werks  ,

          /pws/zycie240c-meins   TO itab_compi-meins  ,

            /pws/zycie240c-gewei   TO itab_compi-gewei  ,

               /pws/zycie240c-brgew   TO itab_compi-brgew  ,

             /pws/zycie240c-ntgew   TO itab_compi-ntgew  ,

               /pws/zycie240c-j_1bnbm TO itab_compi-j_1bnbm,

               /pws/zycie240c-pctseg  TO itab_compi-pctseg ,

                /pws/zycie240c-txii    TO itab_compi-txii   ,

               /pws/zycie240c-txipi   TO itab_compi-txipi  ,

              /pws/zycie240c-txicms  TO itab_compi-txicms ,

...

 

...

        SHIFT tdynpread-fieldvalue LEFT DELETING LEADING space.

        CONDENSE tdynpread-fieldvalue.

        REPLACE '.' WITH ',' INTO tdynpread-fieldvalue.

        tdynpread-stepl      = v_pos.

        APPEND tdynpread.

      ENDIF.

      MODIFY itab_compi INDEX v_pos.

    ELSE.

    MOVE: /pws/zycie238-nrseqd   TO itab_compi-nrseqd ,

            /pws/zycie239c-codmat  TO itab_compi-codmat ,

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

               v_codcomp         TO itab_compi-codcomp,

* << Fim da exclusão

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

            /pws/zycie239c-nritem  TO itab_compi-nritem ,

            v_codcomp              TO itab_compi-codcomp,

* << Fim da inclusão

                   /pws/zycie239c-werks   TO itab_compi-werks  ,

          /pws/zycie240c-meins   TO itab_compi-meins  ,

            /pws/zycie240c-gewei   TO itab_compi-gewei  ,

               /pws/zycie240c-brgew   TO itab_compi-brgew  ,

             /pws/zycie240c-ntgew   TO itab_compi-ntgew  ,

               /pws/zycie240c-j_1bnbm TO itab_compi-j_1bnbm,

               /pws/zycie240c-pctseg  TO itab_compi-pctseg ,

                /pws/zycie240c-txii    TO itab_compi-txii   ,

               /pws/zycie240c-txipi   TO itab_compi-txipi  ,

              /pws/zycie240c-txicms  TO itab_compi-txicms ,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI063O01

 

...

  ENDIF.

  CLEAR: v_desc_agr.

  IF NOT /pws/zycie238-codagrup IS INITIAL.

    SELECT SINGLE agrupamento FROM /pws/zycit395 INTO v_desc_agr

       WHERE codagrup EQ /pws/zycie238-codagrup.

  ENDIF.

ENDMODULE.

MODULE preenche_estrutura_0102 OUTPUT.

  /pws/zycie239-nrseqd     = itab_exp-nrseqd    .

  /pws/zycie239-codmat     = itab_exp-codmat    .

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

  /pws/zycie239-nritem     = itab_exp-nritem    .

* << Fim da inclusão

  /pws/zycie239-agrup      = itab_exp-agrup     .

  /pws/zycie239-werks      = itab_exp-werks     .

  /pws/zycie239-stlan      = itab_exp-stlan     .

  /pws/zycie239-stlnr      = itab_exp-stlnr     .

  /pws/zycie239-stlal      = itab_exp-stlal     .

  /pws/zycie239-meins      = itab_exp-meins     .

  /pws/zycie239-matkl      = itab_exp-matkl     .

  /pws/zycie239-waers      = itab_exp-waers     .

  /pws/zycie239-netpr      = itab_exp-netpr     .

  /pws/zycie239-netpr_t    = itab_exp-netpr_t   .

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE239

 

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

 

MANDT          MANDT                     X CLNT     3

NRSEQD         /PWS/ZYCIL413             X CHAR    10

CODMAT         /PWS/ZYGLL880             X CHAR    18

WERKS          WERKS_D        T001W      X CHAR     4

STLAN          /PWS/ZYGLL882             X CHAR     1

STLNR          STNUM          MAST       X CHAR     8

STLAL          STALT          MAST       X CHAR     2

AGRUP          /PWS/ZYGLL1072              CHAR     3

* >> Início da inclusão:

NRITEM         CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS          BSTME          T006         UNIT     3

MATKL          /PWS/ZYGLL881  T023         CHAR     9

...

 

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

Modificações efetuadas em TABD /PWS/ZYCIE239C

 

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

 

MANDT          MANDT                     X CLNT     3

NRSEQD         /PWS/ZYCIL413             X CHAR    10

CODMAT         /PWS/ZYGLL880             X CHAR    18

WERKS          WERKS_D        T001W      X CHAR     4

STLAN          /PWS/ZYGLL882             X CHAR     1

STLNR          STNUM          MAST       X CHAR     8

STLAL          STALT          MAST       X CHAR     2

AGRUP          /PWS/ZYGLL1072              CHAR     3

* >> Início da inclusão:

NRITEM         CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS          BSTME          T006         UNIT     3

MATKL          /PWS/ZYGLL881  T023         CHAR     9

...

 

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

Modificações efetuadas em TABD /PWS/ZYCIE240

 

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

 

MANDT       MANDT                     X CLNT     3

NRSEQD      /PWS/ZYCIL413             X CHAR    10

CODMAT      /PWS/ZYGLL909  MARA       X CHAR    18

CODCOMP     /PWS/ZYGLL909  MARA       X CHAR    18

WERKS       WERKS_D        T001W      X CHAR     4

PROCED      J_1BMATORG                X CHAR     1

AGRUP       /PWS/ZYGLL1072            X CHAR     3

* >> Início da inclusão:

NRITEM      CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS       BSTME          T006         UNIT     3

QTD_ITEN    /PWS/ZYCIL813               QUAN    23

...

 

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

Modificações efetuadas em TABD /PWS/ZYCIE240C

 

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

 

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

 

MANDT       MANDT                     X CLNT     3

NRSEQD      /PWS/ZYCIL413             X CHAR    10

CODMAT      /PWS/ZYGLL909  MARA       X CHAR    18

CODCOMP     /PWS/ZYGLL909  MARA       X CHAR    18

WERKS       WERKS_D        T001W      X CHAR     4

PROCED      J_1BMATORG                X CHAR     1

AGRUP       /PWS/ZYGLL1072            X CHAR     3

* >> Início da inclusão:

NRITEM      CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS       BSTME          T006         UNIT     3

QTD_ITEN    /PWS/ZYCIL813               QUAN    23

...

 

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

Modificações efetuadas em TABD /PWS/ZYCIE240D

 

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

 

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

 

MANDT       MANDT                     X CLNT     3

NRSEQD      /PWS/ZYCIL413             X CHAR    10

CODMAT      /PWS/ZYGLL909  MARA       X CHAR    18

CODCOMP     /PWS/ZYGLL909  MARA       X CHAR    18

WERKS       WERKS_D        T001W      X CHAR     4

PROCED      J_1BMATORG                X CHAR     1

AGRUP       /PWS/ZYGLL1072            X CHAR     3

* >> Início da inclusão:

NRITEM      CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS       BSTME          T006         UNIT     3

QTD_ITEN    /PWS/ZYCIL813               QUAN    23

...

 

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

Modificações efetuadas em TABD /PWS/ZYCIT239

 

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

 

MANDT          X   MANDT                     X CLNT     3

NRSEQD         X   /PWS/ZYCIL413             X CHAR    10

CODMAT         X   /PWS/ZYGLL880             X CHAR    18

WERKS          X   WERKS_D                   X CHAR     4

STLAN          X   /PWS/ZYGLL882             X CHAR     1

STLNR          X   STNUM                     X CHAR     8

STLAL          X   STALT                     X CHAR     2

AGRUP          X   /PWS/ZYGLL1072            X CHAR     3

* >> Início da inclusão:

NRITEM         X   CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS              BSTME                       UNIT     3

MATKL              /PWS/ZYGLL881               CHAR     9

...

 

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

Modificações efetuadas em TABD /PWS/ZYCIT240

 

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

 

MANDT       X   MANDT                     X CLNT     3

NRSEQD      X   /PWS/ZYCIL413             X CHAR    10

CODMAT      X   /PWS/ZYGLL909             X CHAR    18

CODCOMP     X   /PWS/ZYGLL909             X CHAR    18

WERKS       X   WERKS_D                   X CHAR     4

PROCED      X   J_1BMATORG                X CHAR     1

AGRUP       X   /PWS/ZYGLL1072            X CHAR     3

* >> Início da inclusão:

NRITEM      X   CHAR05                    X CHAR     5

* << Fim da inclusão

MEINS           BSTME                       UNIT     3

QTD_ITEN        /PWS/ZYCIL813               QUAN    23

...

...

...

...

...