CE PLUS - Nota 009813

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 10/02/2010 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:46:16

Descrição da Nota: CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB

Sintoma

Incluída função para converter as unides de medida;

Unificação das mensagens de erro da explosão da listatécnica.

 

 

Solução

Incluída função para converter as unides de medida;

Unificação das mensagens de erro da explosão da listatécnica.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

CÓDIGO DE ENQUADRAMENTO (EXPORTAÇÃO)

DESENVOLVIMENTO DA LISTA TÉCNICA COMPLEMENTAR.

DESENVOLVIMENTO DO DRAFT DO ATO CONCESSÓRIO.

FUNÇÃO DE CONVERSÃO UNIDADES PARA A UNIDADE NCM OU BASICA DO MATERIAL

CENTROS ASSOCIADOS AO ATO CONCESSÓRIO

PERTIMIR UTILIZAÇÃO DE ATO CONCESSÓRIO GENÉRICO E COMUM AO MESMO TEMPO

Informações Complementares

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

Nota Número 09813 Data: 10/02/2010 Hora: 10:55:33

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

 

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

Nota Número              : 09813

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00008

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

Referência às notas relacionadas:

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

 

07394  - 00001 - 7.0    - 00007  - PERTIMIR UTILIZAÇÃO DE ATO CONCESSÓRIO GENÉRICO E COMUM AO MESMO

07726  - 00002 - 7.0    - 00007  - CÓDIGO DE ENQUADRAMENTO (EXPORTAÇÃO)

07779  - 00003 - 7.0    - 00008  - CENTROS ASSOCIADOS AO ATO CONCESSÓRIO

08558  - 00004 - 7.0    - 00010  - FUNÇÃO DE CONVERSÃO UNIDADES PARA A UNIDADE NCM OU BASICA DO MATE

09167  - 00005 - 8.0    - 00001  - DESENVOLVIMENTO DA LISTA TÉCNICA COMPLEMENTAR.

09689  - 00006 - 8.0    - 00002  - DESENVOLVIMENTO DO DRAFT DO ATO CONCESSÓRIO.

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

CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB

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

Palavras Chave:

DRAWBACK FUNÇÃO CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB

MENSAGENS DA EXPLOSÃO DA LISTA TÉCNICA

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

Objetos da nota:

DYNP /PWS/SAPMZYCI040                        0203

FUNC /PWS/COVERT_UN_MATERIAL

REPS /PWS/MZYCI040F02

REPS /PWS/MZYCI040O01

REPS /PWS/MZYCI040X01

REPS /PWS/MZYCI063F01

REPS /PWS/MZYCI063X01

REPS /PWS/MZYCI064F03

REPS /PWS/MZYCI064X01

REPS /PWS/MZYCI068F01

REPS /PWS/MZYCI068X01

REPS /PWS/ZYCIR106

REPS /PWS/ZYCIR254

REPS /PWS/ZYCIR254F01

REPS /PWS/ZYCIR254X01

REPS /PWS/ZYCIR325F01

REPS /PWS/ZYCIR325X01

REPT /PWS/SAPLZYCIGF6

REPT /PWS/SAPMZYCI068

REPT /PWS/ZYCIR254

 

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

Modificações efetuadas em FUNC /PWS/COVERT_UN_MATERIAL

*Parametros de Importação:

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

Nome parâmetro    Atrib.tipo    Tipo referência    Valor proposto    Opcional   Transfer.valor

 

CONV           TYPE     CSDATA-XFELD   'X'

*>> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

CONV           TYPE     CSDATA-XFELD   ' '

* << Fim da inclusão

 

 

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

Modificações efetuadas em FUNC /PWS/COVERT_UN_MATERIAL

 

...

        v_um_rez      TYPE i,

        v_um_ren      TYPE i,

        v_um_rez2     TYPE i,

        v_um_ren2     TYPE i,

        v_um_rez1     TYPE marm-umrez,

        v_um_ren1     TYPE marm-umren,

        v_j_1bnbm     TYPE /pws/zycit247-j_1bnbm,

        v_umncm       TYPE /pws/zyglt204-msehi    .

  DATA: v_conv1       TYPE /pws/zycit245-qtd_ncm,

        v_conv2       TYPE /pws/zycit245-qtd_ncm.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

  IF conv EQ 'X'.

    IF ncm IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

  DATA: BEGIN OF itab_zyglt100 OCCURS 10.

          INCLUDE STRUCTURE /pws/zyglt100.

  DATA: END OF itab_zyglt100.

  DATA:   e_subrc  VALUE '0'.

  CLEAR itab_zyglt100.

  REFRESH itab_zyglt100.

  PERFORM verifica_exit TABLES itab_zyglt100

                        USING 'D'

                              '/PWS/COVERT_UN_MATERIAL'

                              'CVTO001'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'CVTO001' BINARY SEARCH.

  IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

    IF sy-subrc EQ 0.

      PERFORM (itab_zyglt100-formulario)

      IN PROGRAM (itab_zyglt100-programa)

      USING matnr

            meins

            qtde

            conv

            land

            ncm

      CHANGING qtds

               un_s

      IF FOUND.

    ENDIF.

    IF e_subrc EQ '8'.

      EXIT.

    ENDIF.

  ENDIF.

  IF conv IS INITIAL AND NOT matnr IS INITIAL.

    IF ncm IS INITIAL AND meins_p IS INITIAL.

* << Fim da inclusão

      CLEAR v_cod_umncm.

      SELECT SINGLE a~steuc INTO v_j_1bnbm

             FROM ( marc AS a INNER JOIN t001w AS b ON

                    a~werks EQ b~werks )

             WHERE a~matnr EQ matnr

               AND a~steuc NE space

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

              AND b~land1 EQ land.                     "#EC CI_BUFFJOIN

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

            AND b~land1 EQ land.                       "#EC CI_BUFFJOIN

* << Fim da inclusão

    ELSE.

      v_j_1bnbm = ncm.

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF v_j_1bnbm IS INITIAL.

      RAISE ncm_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF v_j_1bnbm IS INITIAL AND meins_p IS INITIAL.

      MESSAGE e015(/pws/zycim) WITH text-048 matnr

      RAISING ncm_not_found.

* << Fim da inclusão

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF sy-subrc EQ 0.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF sy-subrc EQ 0 AND meins_p IS INITIAL.

* << Fim da inclusão

      SELECT SINGLE /pws/zum

               FROM t604f INTO  v_cod_umncm

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

              WHERE steuc = v_j_1bnbm.                  "#EC CI_GENBUFF

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

              WHERE steuc = v_j_1bnbm

            AND   land1 = land  .                       "#EC CI_GENBUFF

* << Fim da inclusão

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF NOT v_cod_umncm IS INITIAL.

      SELECT SINGLE msehi                               "#EC CI_NOFIELD

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF NOT v_cod_umncm IS INITIAL OR NOT meins_p IS INITIAL.

      IF meins_p IS INITIAL.

        SELECT SINGLE msehi                             "#EC CI_NOFIELD

* << Fim da inclusão

                FROM /pws/zyglt204 INTO v_umncm

                WHERE zum = v_cod_umncm.

      IF v_umncm IS  INITIAL.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        RAISE un_ncm_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

          MESSAGE e015(/pws/zycim) WITH text-049

          RAISING un_ncm_not_found.

        ENDIF.

      ELSE.

        v_umncm = meins_p.

* << Fim da inclusão

      ENDIF.

      v_conv1 = 1.

      CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

           EXPORTING

                input                = v_conv1

                no_type_check        = 'X'

                round_sign           = 'X'

                unit_in              = meins

                unit_out             = v_umncm

           IMPORTING

...

 

...

                unit_out_not_found   = 9

                OTHERS               = 10.

      IF sy-subrc = 0.

        CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.

          qtds = ( qtde / v_um_ren ) * v_um_rez.

        ENDCATCH.

        IF sy-subrc EQ 0.

          un_s = v_umncm.

          EXIT.

        ELSE.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

          RAISE overflow.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

          MESSAGE e015(/pws/zycim) WITH text-050 RAISING overflow.

* << Fim da inclusão

        ENDIF.

      ELSEIF matnr IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        RAISE conversion_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        MESSAGE e015(/pws/zycim) WITH text-051

                                        RAISING conversion_not_found.

* << Fim da inclusão

      ENDIF.

    ELSE.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      RAISE un_ncm_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      MESSAGE e015(/pws/zycim) WITH text-046 text-047 v_j_1bnbm

                                            RAISING un_ncm_not_found.

* << Fim da inclusão

    ENDIF.

  ENDIF.

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

  IF meins_p IS INITIAL.

* << Fim da inclusão

  SELECT SINGLE meins FROM mara INTO v_meinsb

    WHERE matnr EQ matnr.

  IF sy-subrc NE 0.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    RAISE material_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      MESSAGE e015(/pws/zycim) WITH text-051 RAISING material_not_found.

* << Fim da inclusão

  ENDIF.

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

  ELSE.

    v_meinsb = meins_p.

  ENDIF.

* << Fim da inclusão

  IF v_meinsb NE meins.

    v_conv1 = 1.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

         EXPORTING

...

 

...

              units_missing        = 7

              unit_in_not_found    = 8

              unit_out_not_found   = 9

              OTHERS               = 10.

    IF sy-subrc <> 0.

      SELECT SINGLE umrez umren

               FROM marm INTO (v_um_rez1, v_um_ren1)

               WHERE matnr = matnr

               AND   meinh = meins.

      IF sy-subrc NE 0.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        RAISE conversion_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        MESSAGE e015(/pws/zycim) WITH text-044 meins text-045 matnr

                                       RAISING conversion_not_found.

* << Fim da inclusão

      ELSE.

        v_um_rez = v_um_rez1.

        v_um_ren = v_um_ren1.

      ENDIF.

    ENDIF.

    IF v_um_rez IS INITIAL

      OR v_um_ren IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      RAISE conversion_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      MESSAGE e015(/pws/zycim) WITH text-051

                                        RAISING conversion_not_found.

* << Fim da inclusão

    ENDIF.

  ELSE.

    v_um_ren = 1.

    v_um_rez = 1.

  ENDIF.

  IF v_meinsb NE v_umncm AND

     NOT v_umncm  IS INITIAL.

    v_conv1 = 1.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

         EXPORTING

...

 

...

              units_missing        = 7

              unit_in_not_found    = 8

              unit_out_not_found   = 9

              OTHERS               = 10.

    IF sy-subrc <> 0.

      SELECT SINGLE umrez umren

               FROM marm INTO (v_um_rez1, v_um_ren1)

               WHERE matnr = matnr

               AND   meinh = v_umncm.

      IF sy-subrc NE 0.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        RAISE conversion_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

        MESSAGE e015(/pws/zycim) WITH text-044 v_umncm text-045 matnr

                                           RAISING conversion_not_found.

* << Fim da inclusão

      ELSE.

        v_um_rez2 = v_um_rez1.

        v_um_ren2 = v_um_ren1.

      ENDIF.

    ENDIF.

    IF v_um_rez IS INITIAL

      OR v_um_ren IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      RAISE conversion_not_found.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

      MESSAGE e015(/pws/zycim) WITH text-051

                                          RAISING conversion_not_found.

* << Fim da inclusão

    ENDIF.

  ELSE.

    v_um_ren2 = 1.

    v_um_rez2 = 1.

  ENDIF.

  CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.

    qtds = qtde *

      ( ( v_um_rez / v_um_ren ) * ( v_um_ren2 / v_um_rez2 ) ).

  ENDCATCH.

  IF sy-subrc NE 5.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF conv EQ 'X'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    IF conv IS INITIAL.

* << Fim da inclusão

      un_s = v_umncm.

    ELSE.

      un_s = v_meinsb.

    ENDIF.

    EXIT.

  ELSE.

* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    RAISE overflow.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL

    MESSAGE e015(/pws/zycim) WITH text-050 RAISING overflow.

  ENDIF.

  CLEAR itab_zyglt100.

  REFRESH itab_zyglt100.

  PERFORM verifica_exit TABLES itab_zyglt100

                        USING 'D'

                              '/PWS/COVERT_UN_MATERIAL'

                              'CVTO002'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'CVTO002' BINARY SEARCH.

  IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

    IF sy-subrc EQ 0.

      PERFORM (itab_zyglt100-formulario)

      IN PROGRAM (itab_zyglt100-programa)

      USING matnr

            meins

            qtde

            conv

            land

            ncm

      CHANGING qtds

               un_s

      IF FOUND.

    ENDIF.

    IF e_subrc EQ '8'.

      EXIT.

    ENDIF.

* << Fim da inclusão

  ENDIF.

ENDFUNCTION.

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F02

 

...

      ENDLOOP.

      IF v_null2 EQ 'S'.

        MESSAGE w015 WITH text-072 text-073.

        EXIT.

      ENDIF.

    ENDIF.

    SELECT SINGLE ltopc FROM /pws/zycit321 INTO v_agrup.

    IF v_agrup IS INITIAL.

      PERFORM verifica_componentes2.

      PERFORM lista_tecnica.

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

      IF NOT it_log_erro[] IS INITIAL.

        CALL SCREEN '0222' STARTING AT 3 4.

        CLEAR it_log_erro. REFRESH it_log_erro.

      ENDIF.

* << Fim da inclusão

    ELSE.

      PERFORM verifica_componentes_agrup.

    ENDIF.

  ENDIF.

  pressed_tab_2a      = ok_code2.

  dynpronr2a          = '0202'.

  pressed_tab_3a      = 'FS_COMPI2'.

  dynpronr3a          = '0203'.

  tc_cimp2-top_line   = 1.

  tc_realizi-top_line = 1.

...

 

...

  CLEAR it_materiais. REFRESH it_materiais.

  it_materiais-matnr = p_matnr.

  it_materiais-werks = p_werks.

  it_materiais-stlan = p_stlan.

  it_materiais-stlnr = p_stlnr.

  it_materiais-stlal = p_stlal.

  it_materiais-capid = p_capid.

  APPEND it_materiais.

  EXPORT it_materiais TO MEMORY ID idmemory1.

  SUBMIT (v_trans) AND RETURN.                           "#EC CI_SUBMIT

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

  IMPORT i_log FROM MEMORY ID 'idmemory3'.

* << Fim da inclusão

  IMPORT i_final FROM MEMORY ID idmemory2.

  IF sy-subrc NE 0 OR i_final[] IS INITIAL.

  ENDIF.

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

  IF NOT i_log[] IS INITIAL.

    LOOP AT i_log.

      MOVE i_log-msg TO it_log_erro.

      COLLECT it_log_erro.

    ENDLOOP.

  ENDIF.

  FREE MEMORY ID 'idmemory3'.

* << Fim da inclusão

ENDFORM.

FORM preenche_importados.

  LOOP AT i_final.

    CLEAR itab_zycit245.

    MOVE: /pws/zycie244-nrseqd   TO itab_zycit245-nrseqd  ,

          i_final-insumo      TO itab_zycit245-codcomp ,

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI040X01

 

...

       vltot_brl LIKE /pws/zycie246-vltot,

      v_tcode2           LIKE sy-tcode              .

DATA: v_icorealiz        TYPE icons-text   .

DATA: v_txtfrete(20) TYPE c   .

DATA: v_txtseguro(20) TYPE c   .

DATA v_ordena(132) TYPE c.

DATA v_exec TYPE c.

DATA fs_mexp2(20) TYPE c.

DATA: v_statusv TYPE c.

DATA: v_seq LIKE /pws/zycie244-nrseqd.

* >> Início da inclusão:

DATA: BEGIN OF i_log OCCURS 0.

DATA: msg(200)   TYPE c,

END OF i_log.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/MZYCI063F01

 

...

    MODIFY itab_compi_final TRANSPORTING txcofins

                        WHERE txcofins EQ space.

    itab_compn_final-txcofins = itab_zycit407-aliquotas.

    MODIFY itab_compn_final TRANSPORTING txcofins

                        WHERE txcofins EQ space.

  ENDIF.

  v_verificp = 'S'.

  DESCRIBE TABLE itab_exp LINES v_verifiit.

  MESSAGE s015 WITH text-023.

  PERFORM atualiza_impostos.

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

  IF NOT it_log_erro[] IS INITIAL.

    CALL SCREEN '0222' STARTING AT 3 4.

    CLEAR it_log_erro. REFRESH it_log_erro.

  ENDIF.

* << Fim da inclusão

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.

...

 

...

  CLEAR it_materiais. REFRESH it_materiais.

  it_materiais-matnr = p_matnr.

  it_materiais-werks = p_werks.

  it_materiais-stlan = p_stlan.

  it_materiais-stlnr = p_stlnr.

  it_materiais-stlal = p_stlal.

  it_materiais-capid = p_capid.

  APPEND it_materiais.

  EXPORT it_materiais TO MEMORY ID idmemory1.

  SUBMIT (v_trans) AND RETURN.                           "#EC CI_SUBMIT

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

  IMPORT i_log FROM MEMORY ID 'idmemory3'.

* << Fim da inclusão

  IMPORT i_final FROM MEMORY ID idmemory2.

  IF sy-subrc NE 0 OR i_final[] IS INITIAL.

  ENDIF.

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

  IF NOT i_log[] IS INITIAL.

    LOOP AT i_log.

      MOVE i_log-msg TO it_log_erro.

      COLLECT it_log_erro.

    ENDLOOP.

  ENDIF.

  FREE MEMORY ID 'idmemory3'.

* << Fim da inclusão

ENDFORM.

FORM confirm_expl_bom CHANGING p_flag.

  DATA: v_cfm(1) TYPE c,

        v_pergunta(128).

  CONCATENATE text-260 text-261 INTO v_pergunta.

  CALL FUNCTION 'POPUP_TO_CONFIRM'

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI063X01

 

...

      capid LIKE tc04-capid.

DATA: END OF it_materiais.

DATA: BEGIN OF i_final OCCURS 0,

      insumo  LIKE mara-matnr,

      produto LIKE stpox-idnrk,

      centro  LIKE stpox-werks,

      ncm     LIKE marc-steuc,

      qtunit  TYPE /pws/zycit245-qtd_iten,

      meins   LIKE stpox-meins.

DATA: END OF i_final.

* >> Início da inclusão:

DATA: BEGIN OF i_log OCCURS 0.

DATA: msg(200)   TYPE c,

END OF i_log.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit475 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit475.

DATA: END OF itab_zycit475.

DATA: itab_zycit407 LIKE /pws/zycit407 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

DATA:   e_subrc  VALUE '0'.

DATA: toolbar_container1 TYPE REF TO cl_gui_custom_container,

      toolbar_container3 TYPE REF TO cl_gui_custom_container,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI064F03

 

...

    ENDIF.

  ELSE.

    IF /pws/zycie258-tipo EQ 'C' OR

       /pws/zycie258-tipo EQ 'N'.

      PERFORM seleciona_di3_l.

      PERFORM seleciona_di_l.

    ELSE.

      PERFORM seleciona_nf_l.

    ENDIF.

  ENDIF.

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

  IF NOT it_log_erro3[] IS INITIAL.

    CALL SCREEN '0313' STARTING AT 3 4.

    CLEAR it_log_erro3. REFRESH it_log_erro3.

  ENDIF.

* << Fim da inclusão

  MESSAGE s015 WITH text-023.

ENDFORM.

FORM check_fields_screen_0309.

  LOOP AT SCREEN.

    IF v_tcode3 EQ '/PWS/ZYCI040_L'.

      IF screen-group4 EQ 'BTN'.

        screen-invisible = '1'.

        MODIFY SCREEN.

      ENDIF.

    ENDIF.

...

 

...

  CLEAR it_materiais. REFRESH it_materiais.

  it_materiais-matnr = p_matnr.

  it_materiais-werks = p_werks.

  it_materiais-stlan = p_stlan.

  it_materiais-stlnr = p_stlnr.

  it_materiais-stlal = p_stlal.

  it_materiais-capid = p_capid.

  APPEND it_materiais.

  EXPORT it_materiais TO MEMORY ID idmemory1.

  SUBMIT (v_trans) AND RETURN.                           "#EC CI_SUBMIT

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

  IMPORT i_log FROM MEMORY ID 'idmemory3'.

* << Fim da inclusão

  IMPORT i_final FROM MEMORY ID idmemory2.

  IF sy-subrc NE 0 OR i_final[] IS INITIAL.

  ENDIF.

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

  IF NOT i_log[] IS INITIAL.

    LOOP AT i_log.

      MOVE i_log-msg TO it_log_erro3.

      COLLECT it_log_erro3.

    ENDLOOP.

  ENDIF.

  FREE MEMORY ID 'idmemory3'.

* << Fim da inclusão

ENDFORM.

FORM seleciona_nf3.

  REFRESH: itab_j_1bnflin,

           itab_j_1bnfdoc,

           itab_insumo_nf,

           itab_sel_doc  ,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI064X01

 

...

DATA : vbelv     LIKE   vbfa-vbelv  ,

       vbeln     LIKE   vbfa-vbeln  ,

       posnn     LIKE   vbfa-posnn  ,

       posnv     LIKE   vbfa-posnv  ,

       vbtyp_v   LIKE   vbfa-vbtyp_v,

       vbtyp_n   LIKE   vbfa-vbtyp_n.

DATA : END OF itab_vbfa      .

DATA: BEGIN OF itab_zycet078 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycet078.

DATA: END OF itab_zycet078.

* >> Início da inclusão:

DATA: BEGIN OF i_log OCCURS 0.

DATA: msg(200)   TYPE c,

END OF i_log.

* << Fim da inclusão

DATA: END OF COMMON PART.

SELECTION-SCREEN BEGIN OF SCREEN 0312 AS WINDOW TITLE text-098.

SELECT-OPTIONS p_matnr FOR mara-matnr.

PARAMETERS: p_dtexp1 LIKE /pws/zycee116-dtincl,

            p_dtexp2 LIKE /pws/zycee116-dtincl.

SELECTION-SCREEN END OF SCREEN 0312.

SELECTION-SCREEN BEGIN OF SCREEN 0326 AS WINDOW TITLE text-098.

SELECT-OPTIONS: s_prodt FOR /pws/zycie495-codigo OBLIGATORY,

                s_data  FOR sy-datum.

SELECTION-SCREEN END OF SCREEN 0326.

 

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

Modificações efetuadas em REPS /PWS/MZYCI068F01

 

...

        v_um_ren      TYPE i,

        v_um_rez2     TYPE i,

        v_um_ren2     TYPE i,

        v_um_rez1      LIKE marm-umrez,

        v_um_ren1      LIKE marm-umren,

        v_j_1bnbm     LIKE /pws/zycit247-j_1bnbm,

        v_umncm       LIKE /pws/zyglt204-msehi  ,

        v_qtd_ncm     LIKE /pws/zycit247-qtd_ncm.

  DATA: v_conv1       TYPE /pws/zycit245-qtd_ncm,

        v_conv2       TYPE /pws/zycit245-qtd_ncm.

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

  PERFORM verifica_exit USING 'D'

                             '/PWS/SAPMZYCI040'

                             'VIN006'.

  e_subrc = 0.

  CLEAR itab_zyglt100 .

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

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa)

                       USING    p_matnr

                       CHANGING e_subrc

                                p_meins

                                p_werks

                                p_qtd

                                        IF FOUND     .

      IF e_subrc EQ '8'.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  CLEAR: v_um_rez, v_um_ren, v_codpais, v_cod_umncm, v_umncm,

         v_um_rez2, v_um_ren2.

  IF p_werks IS INITIAL.

    CLEAR p_qtd.

    EXIT.

  ENDIF.

  CLEAR v_cod_umncm.

  SELECT SINGLE steuc FROM marc INTO v_j_1bnbm

      WHERE matnr EQ p_matnr

        AND werks EQ p_werks.

...

 

...

ENDFORM.

FORM vic_ped.

  REFRESH: itab_zycit376.

  CLEAR: /pws/zycie376, v_qtd_tot, v_vlfob.

  itab_zycit376[] = itab_zycit376_t[].

  DELETE itab_zycit376 WHERE marc NE 'X'.

  LOOP AT itab_zycit376.

    READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit376-ebeln

                                  ebelp = itab_zycit376-ebelp.

    itab_zycit376-qtd_apro = itab_zycit376-qtd_iten.

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

    PERFORM converte_um_ncm  USING itab_zycit376-matnr

                          CHANGING itab_zycit376-meins

                                   itab_ekpo-werks

                                   itab_zycit376-qtd_apro.

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

      EXPORTING

       matnr                       = itab_zycit376-matnr

        meins                      = itab_zycit376-meins

        qtde                       = itab_zycit376-qtd_apro

       land                        = t001-land1

     IMPORTING

       qtds                        = itab_zycit376-qtd_apro

       un_s                        = itab_zycit376-meins

     EXCEPTIONS

       conversion_not_found       = 1

       ncm_not_found              = 2

       overflow                   = 3

       un_ncm_not_found           = 4

       material_not_found         = 5

       OTHERS                     = 6

              .

    IF sy-subrc <> 0.

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

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

    ENDIF.

* << Fim da inclusão

    IF itab_zycit376-qtd_iten IS INITIAL OR

       itab_zycit376-qtd_apro IS INITIAL.

      DELETE itab_zycit376.

      CONTINUE.

    ENDIF.

    IF s_apr IS INITIAL.

      /pws/zycie376 = itab_zycit376.

    ENDIF.

    MODIFY itab_zycit376.

    v_qtd_tot = v_qtd_tot + itab_zycit376-qtd_apro.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR106

 

...

      v_centro   LIKE marc-werks              ,

      v_stlal    LIKE stpox-stlal             ,

      dtval      LIKE sy-datum                ,

      tipo       LIKE mara-mtart              ,

      unidade    LIKE mara-meins              ,

      p_centro   LIKE marc-werks              ,

      pnivel(1)  TYPE c                       ,

      so_data    LIKE sy-datum                ,

      idmemory1  LIKE indx-srtfd VALUE 'ITMAT',

      idmemory2  LIKE indx-srtfd VALUE 'ITINS'.

* >> Início da inclusão:

DATA: BEGIN OF i_log OCCURS 0.

DATA: msg(200)   TYPE c,

END OF i_log.

* << Fim da inclusão

START-OF-SELECTION.

  SELECT SINGLE * FROM /pws/zycit321 INTO wa_zycit321.

  IF sy-subrc NE 0.

    FREE MEMORY ID idmemory2.

  ELSE.

    IMPORT it_materiais FROM MEMORY ID idmemory1.

    IF sy-subrc EQ 0.

    SELECT * FROM /pws/zycit322 INTO TABLE itab_zycit322."#EC CI_NOWHERE

      SELECT matnr mtart meins INTO TABLE i_mara FROM mara

             FOR ALL ENTRIES IN it_materiais

...

 

...

        PERFORM f_lista_tecnica USING i_mara-matnr

                                      v_centro

                                      i_mara-mtart

                                      dtval

                                      tipo

                                      unidade

                                      pnivel.

      ENDLOOP.

      PERFORM lista_complem.

      EXPORT i_final TO MEMORY ID idmemory2.

* >> Início da inclusão:

      EXPORT i_log TO MEMORY ID 'idmemory3'.

* << Fim da inclusão

      FREE MEMORY ID idmemory1.

    ELSE.

      FREE MEMORY ID idmemory2.

    ENDIF.

  ENDIF.

FORM f_lista_tecnica USING v_item v_centro v_mtart

                           v_dtval v_tipo v_meins v_prim_nivel.

  DATA: BEGIN OF itab_t415s OCCURS 0.

  DATA: stlst TYPE t415s-stlst.

  DATA: END OF itab_t415s.

...

 

...

        i_final-meins    = i_mat-meins.

        IF NOT itab_zycit322[] IS INITIAL.

          READ TABLE itab_zycit322 WITH KEY matnr = i_final-insumo.

          IF sy-subrc EQ 0.

            SELECT SINGLE a~steuc INTO i_final-ncm

               FROM ( marc AS a INNER JOIN t001w AS b ON"#EC CI_BUFFJOIN

                          a~werks EQ b~werks )

                   WHERE a~matnr EQ i_final-produto

                     AND a~steuc NE space

                     AND b~land1 EQ t001w-land1.

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

            PERFORM carrega_umncm_real USING i_final-insumo

                                    CHANGING i_final-meins

                                             i_final-qtunit.

* << Fim da exclusão

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

            CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

              EXPORTING

               matnr                      = i_final-insumo

               meins                      = i_final-meins

               qtde                       = i_final-qtunit

               conv                       = ' '

               land                       = t001w-land1

             IMPORTING

               qtds                       = i_final-qtunit

               un_s                       = i_final-meins

             EXCEPTIONS

               conversion_not_found       = 1

               ncm_not_found              = 2

               overflow                   = 3

               un_ncm_not_found           = 4

               material_not_found         = 5

               OTHERS                     = 6                      .

            IF sy-subrc <> 0.

              CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                          i_log-msg SEPARATED BY space.

              COLLECT i_log.

              CONTINUE.

            ENDIF.

* << Fim da inclusão

            IF NOT i_final-qtunit IS INITIAL.

              COLLECT i_final.

            ENDIF.

          ENDIF.

        ELSE.

          SELECT SINGLE a~steuc INTO i_final-ncm

             FROM ( marc AS a INNER JOIN t001w AS b ON "#EC CI_BUFFJOIN

              a~werks EQ b~werks )

                     WHERE a~matnr EQ i_final-produto

                       AND a~steuc NE space

                       AND b~land1 EQ t001w-land1.

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

          PERFORM carrega_umncm_real USING i_final-insumo

                                  CHANGING i_final-meins

                                           i_final-qtunit.

* << Fim da exclusão

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

          CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

            EXPORTING

             matnr                      = i_final-insumo

             meins                      = i_final-meins

             qtde                       = i_final-qtunit

             conv                       = ' '

             land                       = t001w-land1

           IMPORTING

             qtds                       = i_final-qtunit

             un_s                       = i_final-meins

           EXCEPTIONS

             conversion_not_found       = 1

             ncm_not_found              = 2

             overflow                   = 3

             un_ncm_not_found           = 4

             material_not_found         = 5

             OTHERS                     = 6                    .

          IF sy-subrc <> 0.

            CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                           i_log-msg SEPARATED BY space.

            COLLECT i_log.

            CONTINUE.

          ENDIF.

* << Fim da inclusão

          IF NOT i_final-qtunit IS INITIAL.

            COLLECT i_final.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      IF NOT i_mat-meins IS INITIAL.

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

        PERFORM converte_unidades USING v_selpool-matnr

                                        v_selpool-bmein

                                        i_mat-meins

                               CHANGING v_selpool-bmeng.

* << Fim da exclusão

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

        CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

          EXPORTING

           matnr                      = v_selpool-matnr

           meins                      = v_selpool-bmein

           meins_p                    = i_mat-meins

           qtde                       = v_selpool-bmeng

           conv                       = ' '

           land                       = t001w-land1

         IMPORTING

           qtds                       = v_selpool-bmeng

         EXCEPTIONS

           conversion_not_found       = 1

           ncm_not_found              = 2

           overflow                   = 3

           un_ncm_not_found           = 4

           material_not_found         = 5

           OTHERS                     = 6                  .

        IF sy-subrc <> 0.

          CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                      i_log-msg SEPARATED BY space.

          COLLECT i_log.

          CONTINUE.

* << Fim da inclusão

      ENDIF.

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

    DELETE i_stb WHERE menge < 0.

    LOOP AT i_stb.

      v_erro = 'N'.

      v_qtdeaux2 = v_qtdeaux * i_stb-menge.

      PERFORM f_acessa_lista USING

...

 

...

          i_final-meins    = i_stb-meins.

          IF NOT itab_zycit322[] IS INITIAL.

            READ TABLE itab_zycit322 WITH KEY matnr = i_final-insumo.

            IF sy-subrc EQ 0.

              SELECT SINGLE a~steuc INTO i_final-ncm

                     FROM ( marc AS a INNER JOIN t001w AS b ON

                            a~werks EQ b~werks )

                     WHERE a~matnr EQ i_final-produto

                       AND a~steuc NE space

                    AND b~land1 EQ t001w-land1.        "#EC CI_BUFFJOIN

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

              PERFORM carrega_umncm_real USING i_final-insumo

                                      CHANGING i_final-meins

                                               i_final-qtunit.

* << Fim da exclusão

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

              CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

                EXPORTING

                 matnr                      = i_final-insumo

                 meins                      = i_final-meins

                 qtde                       = i_final-qtunit

                 conv                       = ' '

                 land                       = t001w-land1

               IMPORTING

                 qtds                       = i_final-qtunit

                 un_s                       = i_final-meins

               EXCEPTIONS

                 conversion_not_found       = 1

                 ncm_not_found              = 2

                 overflow                   = 3

                 un_ncm_not_found           = 4

                 material_not_found         = 5

                 OTHERS                     = 6                    .

              IF sy-subrc <> 0.

                CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                               i_log-msg SEPARATED BY space.

                COLLECT i_log.

                CONTINUE.

              ENDIF.

* << Fim da inclusão

              IF NOT i_final-qtunit IS INITIAL.

                COLLECT i_final.

              ENDIF.

            ENDIF.

          ELSE.

            SELECT SINGLE a~steuc INTO i_final-ncm

                   FROM ( marc AS a INNER JOIN t001w AS b ON

                          a~werks EQ b~werks )

                   WHERE a~matnr EQ i_final-produto

                     AND a~steuc NE space

                     AND b~land1 EQ t001w-land1.       "#EC CI_BUFFJOIN

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

            PERFORM carrega_umncm_real USING i_final-insumo

                                    CHANGING i_final-meins

                                             i_final-qtunit.

* << Fim da exclusão

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

            CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

              EXPORTING

               matnr                      = i_final-insumo

               meins                      = i_final-meins

               qtde                       = i_final-qtunit

               conv                       = ' '

               land                       = t001w-land1

             IMPORTING

               qtds                       = i_final-qtunit

               un_s                       = i_final-meins

             EXCEPTIONS

               conversion_not_found       = 1

               ncm_not_found              = 2

               overflow                   = 3

               un_ncm_not_found           = 4

               material_not_found         = 5

               OTHERS                     = 6                    .

            IF sy-subrc <> 0.

              CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                             i_log-msg SEPARATED BY space.

              COLLECT i_log.

              CONTINUE.

            ENDIF.

* << Fim da inclusão

            IF NOT i_final-qtunit IS INITIAL.

              COLLECT i_final.

            ENDIF.

          ENDIF.

          IF v_prim_nivel = 'N'.

            i_mat-matnr = i_stb-idnrk.

            i_mat-werks = i_stb-werks.

            i_mat-mtart = i_stb-mtart.

            i_mat-qtde  = v_quant.

            i_mat-meins = i_stb-meins.

...

 

...

            i_final-meins    = i_stb-meins.

            IF NOT itab_zycit322[] IS INITIAL.

              READ TABLE itab_zycit322 WITH KEY matnr = i_final-insumo.

              IF sy-subrc EQ 0.

                SELECT SINGLE a~steuc INTO i_final-ncm

                       FROM ( marc AS a INNER JOIN t001w AS b ON

                              a~werks EQ b~werks )

                       WHERE a~matnr EQ i_final-produto

                         AND a~steuc NE space

                         AND b~land1 EQ t001w-land1.   "#EC CI_BUFFJOIN

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

                PERFORM carrega_umncm_real USING i_final-insumo

                                        CHANGING i_final-meins

                                                 i_final-qtunit.

* << Fim da exclusão

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

                CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

                  EXPORTING

                   matnr                      = i_final-insumo

                   meins                      = i_final-meins

                   qtde                       = i_final-qtunit

                   conv                       = ' '

                   land                       = t001w-land1

                 IMPORTING

                   qtds                       = i_final-qtunit

                   un_s                       = i_final-meins

                 EXCEPTIONS

                   conversion_not_found       = 1

                   ncm_not_found              = 2

                   overflow                   = 3

                   un_ncm_not_found           = 4

                   material_not_found         = 5

                   OTHERS                     = 6                    .

                IF sy-subrc <> 0.

                  CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                                 i_log-msg SEPARATED BY space.

                  COLLECT i_log.

                  CONTINUE.

                ENDIF.

* << Fim da inclusão

                IF NOT i_final-qtunit IS INITIAL.

                  COLLECT i_final.

                ENDIF.

              ENDIF.

            ELSE.

              SELECT SINGLE a~steuc INTO i_final-ncm

                     FROM ( marc AS a INNER JOIN t001w AS b ON

                            a~werks EQ b~werks )

                     WHERE a~matnr EQ i_final-produto

                       AND a~steuc NE space

                       AND b~land1 EQ t001w-land1.     "#EC CI_BUFFJOIN

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

              PERFORM carrega_umncm_real USING i_final-insumo

                                      CHANGING i_final-meins

                                               i_final-qtunit.

* << Fim da exclusão

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

              CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

                EXPORTING

                 matnr                      = i_final-insumo

                 meins                      = i_final-meins

                 qtde                       = i_final-qtunit

                 conv                       = ' '

                 land                       = t001w-land1

               IMPORTING

                 qtds                       = i_final-qtunit

                 un_s                       = i_final-meins

               EXCEPTIONS

                 conversion_not_found       = 1

                 ncm_not_found              = 2

                 overflow                   = 3

                 un_ncm_not_found           = 4

                 material_not_found         = 5

                 OTHERS                     = 6                    .

              IF sy-subrc <> 0.

                CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                               i_log-msg SEPARATED BY space.

                COLLECT i_log.

                CONTINUE.

              ENDIF.

* << Fim da inclusão

              IF NOT i_final-qtunit IS INITIAL.

                COLLECT i_final.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

...

 

...

    CLEAR: i_final.

    SELECT SINGLE a~steuc INTO i_final-ncm

      FROM ( marc AS a INNER JOIN t001w AS b ON        "#EC CI_BUFFJOIN

        a~werks EQ b~werks )

               WHERE a~matnr EQ it_materiais-matnr

                 AND a~steuc NE space

                 AND b~land1 EQ t001w-land1.

    READ TABLE i_mara WITH KEY matnr = it_materiais-matnr.

    READ TABLE itab_zycit502 WITH KEY matnr = it_materiais-matnr

                                      werks = it_materiais-werks.

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

    PERFORM converte_unidades USING itab_zycit502-matnr

                                    itab_zycit502-meinsc

                                    i_mara-meins

                           CHANGING itab_zycit502-qtd_cab.

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

      EXPORTING

       matnr                      = itab_zycit502-matnr

       meins                      = itab_zycit502-meinsc

       meins_p                    = i_mara-meins

       qtde                       = itab_zycit502-qtd_cab

       land                       = t001w-land1

     IMPORTING

       qtds                       = itab_zycit502-qtd_cab

     EXCEPTIONS

       conversion_not_found       = 1

       ncm_not_found              = 2

       overflow                   = 3

       un_ncm_not_found           = 4

       material_not_found         = 5

       OTHERS                     = 6

              .

    IF sy-subrc <> 0.

      CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                  i_log-msg SEPARATED BY space.

      COLLECT i_log.

      CONTINUE.

    ENDIF.

* << Fim da inclusão

    itab_zycit502-meinsc = i_mara-meins.

    MODIFY itab_zycit502 TRANSPORTING meinsc qtd_cab

                    WHERE matnr EQ it_materiais-matnr

                      AND werks EQ it_materiais-werks.

    LOOP AT itab_zycit502 WHERE matnr EQ it_materiais-matnr

                            AND werks EQ it_materiais-werks.

      i_final-qtunit = itab_zycit502-qtd / itab_zycit502-qtd_cab.

      i_final-meins   = itab_zycit502-meins.

      i_final-insumo  = itab_zycit502-insumo.

      i_final-produto = itab_zycit502-matnr.

      i_final-centro  = itab_zycit502-werks.

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

      PERFORM carrega_umncm_real USING i_final-insumo

                              CHANGING i_final-meins

                                       i_final-qtunit.

* << Fim da exclusão

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

      CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'

        EXPORTING

         matnr                      = i_final-insumo

         meins                      = i_final-meins

         qtde                       = i_final-qtunit

         conv                       = ' '

         land                       = t001w-land1

       IMPORTING

         qtds                       = i_final-qtunit

         un_s                       = i_final-meins

       EXCEPTIONS

         conversion_not_found       = 1

         ncm_not_found              = 2

         overflow                   = 3

         un_ncm_not_found           = 4

         material_not_found         = 5

         OTHERS                     = 6                    .

      IF sy-subrc <> 0.

        CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO

                       i_log-msg SEPARATED BY space.

        COLLECT i_log.

        CONTINUE.

      ENDIF.

* << Fim da inclusão

      IF NOT i_final-qtunit IS INITIAL.

        COLLECT i_final.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

  SORT i_final BY produto insumo.

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/ZYCIR254F01

 

...

  CLEAR it_materiais. REFRESH it_materiais.

  it_materiais-matnr = p_matnr.

  it_materiais-werks = p_werks.

  it_materiais-stlan = p_stlan.

  it_materiais-stlnr = p_stlnr.

  it_materiais-stlal = p_stlal.

  it_materiais-capid = p_capid.

  APPEND it_materiais.

  EXPORT it_materiais TO MEMORY ID idmemory1.

  SUBMIT (v_trans) AND RETURN.                           "#EC CI_SUBMIT

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

  IMPORT i_log FROM MEMORY ID 'idmemory3'.

* << Fim da inclusão

  IMPORT i_final FROM MEMORY ID idmemory2.

  IF sy-subrc NE 0 OR i_final[] IS INITIAL.

    p_erro = 'S'.

  ELSE.

    SELECT * FROM /pws/zycit327 INTO TABLE itab_zycit327

           FOR ALL ENTRIES IN i_final

           WHERE produto EQ i_final-produto

             AND centro  EQ i_final-centro.

    LOOP AT i_final.

      READ TABLE itab_zycit327 WITH KEY produto = i_final-produto

...

 

...

                                  centro  = itab_zycit327-centro

                                  qtunit  = itab_zycit327-usagem.

      IF sy-subrc NE 0.

        CLEAR v_datum.

        v_datum = sy-datum - 1.

        MOVE: v_datum TO itab_zycit327-data_ate.

        MODIFY /pws/zycit327 FROM itab_zycit327.

      ENDIF.

    ENDLOOP.

  ENDIF.

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

  IF NOT i_log[] IS INITIAL.

    LOOP AT i_log.

      MOVE i_log-msg TO it_log_erro.

      COLLECT it_log_erro.

    ENDLOOP.

  ENDIF.

  FREE MEMORY ID 'idmemory3'.

* << Fim da inclusão

  FREE MEMORY ID idmemory2.

ENDFORM.

FORM appropriate_current_record.

  DATA: v_apmat(1) TYPE c              ,

        v_diasv TYPE /pws/zycit321-dia_ant ,

        v_qtdaprop LIKE /pws/zycet002-fkimg ,

        v_qtdbase  LIKE itab_stko-bmeng,

        v_error(1) TYPE c              .

  v_apmat = 'N'.

  CLEAR: it_zycet001, v_pct_com.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR254X01

 

...

        INCLUDE STRUCTURE stpox.

DATA: mngko2 LIKE /pws/zycie240d-mngko.

DATA: END OF it_stpox.

DATA: BEGIN OF it_zycit247f OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit247.

DATA: END OF it_zycit247f.

DATA: BEGIN OF it_buttons OCCURS 0.

DATA:   bname(35) TYPE c.

DATA: END OF it_buttons.

DATA: BEGIN OF it_log_erro OCCURS 0.

* >> Início da exclusão:

DATA:   ltext(135) TYPE c.

* << Fim da exclusão

* >> Início da inclusão:

DATA:   ltext(200) TYPE c.

* << Fim da inclusão

DATA: END OF it_log_erro.

DATA : BEGIN OF itab_zycee085 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycee085.

DATA : END   OF itab_zycee085.

DATA : BEGIN OF itab_saida OCCURS 10.

        INCLUDE STRUCTURE /pws/zycee085.

DATA : END OF itab_saida.

DATA: BEGIN OF it_materiais OCCURS 0,

      matnr LIKE mara-matnr,

      werks LIKE marc-werks,

...

 

...

      meins   LIKE stpox-meins.

DATA: END OF i_final.

DATA: BEGIN OF itab_lista OCCURS 0,

      matnr   LIKE mara-matnr,

      ncm     LIKE marc-steuc,

      usagem  TYPE /pws/zycit245-qtd_iten,

      qtd     LIKE /pws/zycit282-qtd_mimp,

      meins   LIKE stpox-meins,

      perc(10)                 .

DATA: END OF itab_lista.

* >> Início da inclusão:

DATA: BEGIN OF i_log OCCURS 0.

DATA: msg(200)   TYPE c,

END OF i_log.

* << Fim da inclusão

DATA: itab_lista_aux LIKE itab_lista OCCURS 0 WITH HEADER LINE.

DATA: itab_lista_f LIKE itab_lista OCCURS 0 WITH HEADER LINE.

DATA: itab_zycit439 LIKE /pws/zycit439 OCCURS 0 WITH HEADER LINE.

DATA: itab_zycit282_aux TYPE /pws/zycit282 OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF itab_zycit243 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycit243.

DATA : END OF itab_zycit243.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR325F01

 

...

  CLEAR it_materiais. REFRESH it_materiais.

  it_materiais-matnr = p_matnr.

  it_materiais-werks = p_werks.

  it_materiais-stlan = p_stlan.

  it_materiais-stlnr = p_stlnr.

  it_materiais-stlal = p_stlal.

  it_materiais-capid = p_capid.

  APPEND it_materiais.

  EXPORT it_materiais TO MEMORY ID idmemory1.

  SUBMIT (v_trans) AND RETURN.                           "#EC CI_SUBMIT

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

  IMPORT i_log FROM MEMORY ID 'idmemory3'.

* << Fim da inclusão

  IMPORT i_final FROM MEMORY ID idmemory2.

  IF sy-subrc NE 0 OR i_final[] IS INITIAL.

    p_erro = 'S'.

  ELSE.

    SELECT * FROM /pws/zycit327 INTO TABLE itab_zycit327

           FOR ALL ENTRIES IN i_final

           WHERE produto EQ i_final-produto

             AND centro  EQ i_final-centro.

    LOOP AT i_final.

      READ TABLE itab_zycit327 WITH KEY produto = i_final-produto

...

 

...

      READ TABLE i_final WITH KEY produto = itab_zycit327-produto

                                  insumo  = itab_zycit327-insumo

                                  centro  = itab_zycit327-centro

                                  qtunit  = itab_zycit327-usagem.

      IF sy-subrc NE 0.

        CLEAR v_datum.

        v_datum = sy-datum - 1.

        MOVE: v_datum TO itab_zycit327-data_ate.

        MODIFY /pws/zycit327 FROM itab_zycit327.

      ENDIF.

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

    ENDLOOP.

  ENDIF.

  IF NOT i_log[] IS INITIAL.

    LOOP AT i_log.

      MOVE i_log-msg TO itab_logs.

      COLLECT itab_logs.

* << Fim da inclusão

    ENDLOOP.

  ENDIF.

  FREE MEMORY ID idmemory2.

ENDFORM.

FORM collect_materials TABLES it_stpox  STRUCTURE it_stpox

                              it_stpox2 STRUCTURE it_stpox2

                              it_matcat STRUCTURE it_matcat.

  DATA: v_qtd LIKE it_stpox-mngko.

  SORT it_stpox  BY ttidx ASCENDING.

  SORT it_matcat BY index ASCENDING.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR325X01

 

...

DATA:   bname(35) TYPE c.

DATA: END OF it_buttons.

DATA: BEGIN OF itab_zycit282_des OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit282.

DATA: END OF itab_zycit282_des.

DATA: BEGIN OF itab_imp_tela OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit282.

DATA: descr LIKE stpox-ojtxp.

DATA: END OF itab_imp_tela.

DATA: BEGIN OF itab_logs OCCURS 0.

* >> Início da exclusão:

DATA:   erro(135) TYPE c.

* << Fim da exclusão

* >> Início da inclusão:

DATA:   erro(200) TYPE c.

* << Fim da inclusão

DATA: END OF itab_logs.

DATA: BEGIN OF itab_lista OCCURS 0.

DATA: matnr   LIKE stpox-idnrk,

      descr   LIKE stpox-ojtxp,

      menge TYPE /pws/zycit245-qtd_iten,

      qtd_tot LIKE stpox-mngko,

      aprtot                  .

DATA: END OF itab_lista.

DATA : BEGIN OF itab_vbfa OCCURS 0  .

DATA : vbelv     LIKE   vbfa-vbelv  ,

...

 

...

DATA: BEGIN OF itab_zycit327 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit327.

DATA: END OF itab_zycit327.

DATA: BEGIN OF itab_lista_aux OCCURS 0,

      matnr   LIKE mara-matnr,

      ncm     LIKE marc-steuc,

      qtd     LIKE /pws/zycit282-qtd_mimp,

      meins   LIKE stpox-meins,

      perc(10)                 .

DATA: END OF itab_lista_aux.

* >> Início da inclusão:

DATA: BEGIN OF i_log OCCURS 0.

DATA: msg(200)   TYPE c,

END OF i_log.

* << Fim da inclusão

DATA: v_erro                                           ,

      okcode           LIKE sy-ucomm                   ,

      v_indic1         LIKE icon-id                    ,

      v_indic2         LIKE icon-id                    ,

      v_descr          LIKE vbrp-arktx                 ,

      v_qtde_for       LIKE lips-lfimg                 ,

      v_dias           TYPE i                          ,

      v_campo(35)      TYPE c                          ,

      v_valor(35)      TYPE c                          ,

      v_saldo_di       LIKE lips-lfimg                 ,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPLZYCIGF6

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 044

 

Texto: (4 caracteres)

"Unit"

 

Comprimento máximo: 20

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 044

 

Texto: (7 caracteres)

"Unidade"

 

Comprimento máximo: 20

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 045

 

Texto: (40 caracteres)

"Parameter is not defined to the material"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 045

 

Texto: (38 caracteres)

"não está parametrizado para o material"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 046

 

Texto: (41 caracteres)

"Estatistic mesuare unit is not configured"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 046

 

Texto: (38 caracteres)

"Unidade de medida estatística não esta"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 047

 

Texto: (11 caracteres)

"for the NCM"

 

Comprimento máximo: 40

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 047

 

Texto: (24 caracteres)

"parametrizada para o NCM"

 

Comprimento máximo: 40

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 048

 

Texto: (43 caracteres)

"NCM's parameter not defined to the material"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 048

 

Texto: (44 caracteres)

"Código NCM não parametrizado para o material"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 049

 

Texto: (41 caracteres)

"Estatistic mesuare unit is not configured"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 049

 

Texto: (48 caracteres)

"Unidade de medida estatística não parametrizada."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 050

 

Texto: (18 caracteres)

"Quantity too long."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 050

 

Texto: (33 caracteres)

"Quantidade demasiadamente grande."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 051

 

Texto: (28 caracteres)

"Conversion factor not found."

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 051

 

Texto: (40 caracteres)

"Coeficiente de conversão não encontrado."

 

Comprimento máximo: 50

 

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

Modificações efetuadas em REPT /PWS/ZYCIR254

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 081

 

Texto: (39 caracteres)

"Errors occurred during the execution of"

 

Comprimento máximo: 60

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 081

 

Texto: (37 caracteres)

"Ocorreram erros durante a execução da"

 

Comprimento máximo: 60

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 082

 

Texto: (40 caracteres)

"appropriation. Check the log processing."

 

Comprimento máximo: 60

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 082

 

Texto: (44 caracteres)

"apropriação. Verificar log de processamento."

 

Comprimento máximo: 60