CE PLUS - Nota 007831

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

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

Data/Hora Última Alteração: 23/02/2011 10:04:29

Descrição da Nota: CALCULO DA QUANTIDADE ESTATISTICA

Sintoma

O programa não está calculando corretamente aa quantidades estatísticas dos itens da LI.

 

 

Solução

Atualização do cálculo da quantidade estatistica na LI.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

UNIDADE ESTATISTICA DE ACORDO COM NCM DO PEDIDO

PREENCHIMENTO DOS VALORES NA TABELA /PWS/ZYCIT279 QUANDO USA LOTE

VINCULAÇÃO DA LI AO ATO CONCESSÓRIO

CONVERSÃO DE MOEDAS UTILIZANDO A SIGLA /PWS/ZYCBT007

EXIT NO RECEBIMENTO NO MOMENTO DA GRAVAÇÃO DOS DADOS DB

O PROGRAMA DA LI ESTÁ SEMPRE RECALCULANDO A QUANTIDADE ESTATISTICA .

Informações Complementares

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

Nota Número 07831 Data: 23/12/2008 Hora: 14:16:31

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

 

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

Nota Número              : 07831

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00078

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

Referência às notas relacionadas:

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

 

03388  - 00001 - 7.0    - 00001  - PREENCHIMENTO DOS VALORES NA TABELA /PWS/ZYCIT279 QUANDO USA LOTE

03452  - 00002 - 7.0    - 00001  - O PROGRAMA DA LI ESTÁ SEMPRE RECALCULANDO A QUANTIDADE ESTATISTIC

04184  - 00003 - 7.0    - 00002  - CONVERSÃO DE MOEDAS UTILIZANDO A SIGLA /PWS/ZYCBT007

04374  - 00004 - 7.0    - 00002  - EXIT NO RECEBIMENTO NO MOMENTO DA GRAVAÇÃO DOS DADOS DB

07681  - 00005 - 7.0    - 00007  - VINCULAÇÃO DA LI AO ATO CONCESSÓRIO

07792  - 00006 - 7.0    - 00008  - UNIDADE ESTATISTICA DE ACORDO COM NCM DO PEDIDO

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

CALCULO DA QUANTIDADE ESTATISTICA

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

Palavras Chave:

LI QUANTIDADE ESTATISTICA DRAWBACK

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI020                        0110

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI017F02

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020I01

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020X01

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI020                        0110

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0110

process before output.

  module: load_cabec_110,

          set_screen_sub,

* >> Início da inclusão:

          set_screen_110,

* << Fim da inclusão

          exit_tela.

  loop at it_anu2

     cursor tc_anu2-current_line.

    module: carrega_tc_anu2,

            set_screen_sub.

  endloop.

  loop at it_zycit081

     cursor tc_anu-current_line.

    module: carrega_zycie081,

            set_screen_sub.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

      SELECT SINGLE a~steuc INTO v_j_1bnbm             "#EC CI_BUFFJOIN

              FROM ( marc AS a INNER JOIN t001w AS b ON

                     a~werks EQ b~werks )

              WHERE a~matnr EQ p_matnr

                AND a~steuc NE space

                AND b~land1 EQ t001-land1.

    ENDIF.

  ELSE.

    v_j_1bnbm = p_ncm.

  ENDIF.

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

  IF sy-subrc EQ 0.

* << Fim da exclusão

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

  IF not v_j_1bnbm IS INITIAL.

* << Fim da inclusão

    SELECT SINGLE land1 /pws/zum

             FROM t604f INTO (v_codpais, v_cod_umncm)

             WHERE steuc = v_j_1bnbm

             AND   land1 = v_land1.

  ENDIF.

  IF NOT v_cod_umncm IS INITIAL.

    SELECT SINGLE msehi                                 "#EC CI_NOFIELD

             FROM /pws/zyglt204 INTO (v_umncm)

             WHERE zum = v_cod_umncm.

    IF sy-subrc NE 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F02

 

...

  DATA: itab_zycit078 LIKE /pws/zycit078 OCCURS 0 WITH HEADER LINE.

  DATA: itab_zycit376 LIKE /pws/zycit376 OCCURS 0 WITH HEADER LINE.

  DATA: itab_zycit245 LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE.

  DATA: BEGIN OF itab_matuse1 OCCURS 0.

          INCLUDE STRUCTURE itab_matuse.

  DATA: ntgew LIKE ekpo-ntgew,

        gewei LIKE ekpo-gewei.

  DATA: END OF itab_matuse1.

  DATA: itab_matuse2 LIKE itab_matuse1 OCCURS 0 WITH HEADER LINE.

  SELECT SINGLE * FROM /pws/zycit321.

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

  DATA v_propor    TYPE /pws/zycit279-menge.

* << Fim da inclusão

  PERFORM verifica_exit USING 'D'

                             '/PWS/SAPMZYCI017'

                             'RCB015'.

  e_subrc = 0.

  CLEAR itab_zyglt100 .

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

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa)

...

 

...

                                      ebelp = itab_zycit003-ebelp.

    READ TABLE itab_zycit042 WITH KEY nrseq = itab_itens_nf-nrseq

                                      ebeln = itab_itens_nf-ebeln

                                      ebelp = itab_itens_nf-ebelp.

    READ TABLE itab_j_1bnfdoc WITH KEY docnum = itab_zycit042-docnum.

    v_qtd_nftp = itab_itens_nf-qtd_item.

    READ TABLE itab_matuse1   WITH KEY ebeln = itab_zycit003-ebeln

                                      ebelp = itab_zycit003-ebelp.

    itab_matuse1-ntgew = itab_matuse1-ntgew * itab_zycit003-qtd_iten.

    READ TABLE itab_zycit078 WITH KEY nrseqli = itab_zycit003-nrseqli.

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

    READ TABLE itab_zycit079 WITH KEY nrseqli = itab_zycit078-nrseqli

                                      ebeln   = itab_zycit003-ebeln

                                      ebelp   = itab_zycit003-ebelp.

* << Fim da inclusão

    READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit003-nrseq

                                      ebeln = itab_zycit003-ebeln

                                      ebelp = itab_zycit003-ebelp.

    v_meins = itab_itens_nf-meins.

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

    PERFORM carrega_umncm_real USING itab_zycit003-matnr

                            CHANGING itab_itens_nf-meins

                                     itab_itens_nf-qtd_item.

    PERFORM carrega_umncm_real USING itab_zycit003-matnr

                            CHANGING itab_zycit003-meins

                                     itab_zycit003-qtd_iten.

* << Fim da exclusão

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

    v_propor = itab_zycit079-qtd_drawback / itab_zycit003-qtd_iten.

    itab_zycit003-qtd_iten = itab_zycit079-qtd_drawback.

    itab_itens_nf-qtd_item = itab_itens_nf-qtd_item * v_propor.

    SELECT SINGLE msehi                                 "#EC CI_NOFIELD

             FROM /pws/zyglt204 INTO itab_zycit003-meins

             WHERE zum = itab_zycit078-zum.

    itab_itens_nf-meins = itab_zycit003-meins.

* << Fim da inclusão

    READ TABLE itab_zycit279 WITH KEY nrseq = itab_zycit003-nrseq

                                      ebeln = itab_zycit003-ebeln

                                      ebelp = itab_zycit003-ebelp.

    IF sy-subrc = 0 AND /pws/zycit321-lote EQ space.

      itab_zycit279-slqtde =

                        itab_zycit279-slqtde + itab_itens_nf-qtd_item.

      IF itab_zycit279-slqtde > 0.

        itab_zycit279-esgotado = space.

      ENDIF.

      MODIFY itab_zycit279 INDEX sy-tabix.

...

 

...

      itab_zycit279-cofins     = itab_zycit100-advalcofins.

      itab_zycit279-baseii     = itab_zycit100-baseii.

      itab_zycit279-baseipi    = itab_zycit100-baseipi.

      itab_zycit279-basecofins = itab_zycit100-basecofins.

      itab_zycit279-basepis    = itab_zycit100-basepis.

      itab_zycit279-baseicms   = itab_zycit100-baseicms.

      PERFORM taxa_converte USING    /pws/zycbt007-waersa

                                     /pws/zycit085-dttax

                            CHANGING v_taxa.

      itab_zycit279-i_txmoeda = v_taxa.

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

      itab_zycit279-qtd_iten = itab_zycit279-menge.

      itab_zycit279-um_base = itab_zycit279-meins.

      PERFORM  converte_um_base   USING itab_zycit279-matnr

                               CHANGING itab_zycit279-um_base

                                        itab_zycit279-qtd_iten.

* << Fim da exclusão

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

      itab_zycit279-qtd_iten = itab_zycit079-qtd_iten.

      itab_zycit279-um_base = itab_zycit079-meins.

* << Fim da inclusão

      itab_zycit279-vltot   = itab_zycit100-vlfob.

      itab_zycit279-vlfrete = itab_zycit100-vlfre .

      itab_zycit279-vlseg   = itab_zycit100-vlseg .

      PERFORM valor_converte USING /pws/zycit085-waersfob

                                         /pws/zycbt007-waersa

                                         /pws/zycit085-dttax

                                CHANGING itab_zycit279-vltot.

      PERFORM valor_converte USING /pws/zycbt007-waersb

                                         /pws/zycbt007-waersa

                                         /pws/zycit085-dttax

...

 

...

             ( itab_zycit279-vltot / itab_zycit279-menge    ) ).

        ENDIF.

        itab_zycit245-vlvinc = itab_zycit245-vlvinc - v_variacfob.

        MODIFY itab_zycit245 TRANSPORTING vlvinc WHERE

                                     nrseqd EQ itab_zycit245-nrseqd AND

                                       nritem EQ itab_zycit245-nritem.

        UPDATE /pws/zycit245 SET vlvinc = itab_zycit245-vlvinc

                             WHERE nrseqd EQ itab_zycit245-nrseqd

                               AND nritem EQ itab_zycit245-nritem.

      ENDIF.

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

      .

      .

      .

* << Fim da exclusão

      PERFORM taxa_converte USING    /pws/zycit001-waers

                                     /pws/zycit085-dttax

                            CHANGING v_taxa.

      IF NOT itab_zycit003-qtd_iten IS INITIAL.

        itab_zycit279-valor = ( itab_zycit100-vlfob * v_taxa ) /

                  itab_zycit003-qtd_iten.

      ENDIF.

      IF /pws/zycit321-lote IS INITIAL.

        APPEND itab_zycit279.

      ELSE.

...

 

...

          ELSE.

            wa_zycit279-lote = itab_zycit223-lote_forn.

          ENDIF.

          itab_itens_nf-meins = v_meins.

          READ TABLE itab_zycit279 WITH KEY nrseq = itab_zycit279-nrseq

                                            ebeln = itab_zycit279-ebeln

                                            ebelp = itab_zycit279-ebelp

                                            lote  = wa_zycit279-lote.

          IF sy-subrc EQ 0.

            itab_zycit279-qtd_iten = itab_zycit279-qtd_iten +

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

                                     itab_zycit223-qtde.

            PERFORM carrega_umncm_real USING itab_zycit003-matnr

                                   CHANGING itab_itens_nf-meins

* << Fim da exclusão

                                        itab_zycit223-qtde.

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

            itab_zycit223-qtde = itab_zycit223-qtde * v_propor.

* << Fim da inclusão

            itab_zycit279-slqtde =

                          itab_zycit279-slqtde + itab_zycit223-qtde.

            IF itab_zycit279-slqtde > 0.

              itab_zycit279-esgotado = space.

            ENDIF.

            MODIFY itab_zycit279 TRANSPORTING  slqtde esgotado

                                      qtd_iten

                                      WHERE nrseq = itab_zycit279-nrseq

                                        AND ebeln = itab_zycit279-ebeln

                                        AND ebelp = itab_zycit279-ebelp

                                        AND lote  = wa_zycit279-lote.

          ELSE.

            itab_zycit279 = wa_zycit279.

            itab_zycit279-qtd_iten = itab_zycit223-qtde.

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

            PERFORM carrega_umncm_real USING itab_zycit003-matnr

                                   CHANGING itab_itens_nf-meins

                                        itab_zycit223-qtde.

* << Fim da exclusão

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

            itab_zycit223-qtde = itab_zycit223-qtde * v_propor.

* << Fim da inclusão

            IF NOT itab_itens_nf-qtd_item IS INITIAL.

              itab_zycit279-ntgew      = itab_zycit279-ntgew *

                                      ( itab_zycit223-qtde /

                                           itab_itens_nf-qtd_item ).

              itab_zycit279-vltot      = itab_zycit279-vltot *

                                      ( itab_zycit223-qtde /

                                           itab_itens_nf-qtd_item ).

              itab_zycit279-vlseg      = itab_zycit279-vlseg *

                                      ( itab_zycit223-qtde /

                                           itab_itens_nf-qtd_item ).

...

 

...

  ENDIF.

ENDFORM.

FORM estorna_saldo_ato.

  DATA: itab_zycit079 TYPE /pws/zycit079 OCCURS 0 WITH HEADER LINE.

  DATA: itab_ekpo2 TYPE ekpo OCCURS 0 WITH HEADER LINE.

  DATA: v_variacfobd   LIKE /pws/zycit376-vlfob.

  DATA: itab_zycit376d LIKE /pws/zycit376 OCCURS 0 WITH HEADER LINE.

  DATA: itab_zycit245d LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE.

  DATA: v_tabix1 TYPE i.

  CLEAR itab_zycit223. FREE itab_zycit223.

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

  DATA v_propor  TYPE /pws/zycit279-menge.

* << Fim da inclusão

  PERFORM verifica_exit USING 'D'

                             '/PWS/SAPMZYCI017'

                             'RCB016'.

  e_subrc = 0.

  CLEAR itab_zyglt100 .

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

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa)

...

 

...

    ENDIF.

  ENDIF.

  LOOP AT itab_itens_nf.

    READ TABLE itab_matuse WITH KEY ebeln = itab_itens_nf-ebeln

                                    ebelp = itab_itens_nf-ebelp.

    READ TABLE itab_zycit279 WITH KEY nrseq = itab_itens_nf-nrseq

                                      ebeln = itab_itens_nf-ebeln

                                      ebelp = itab_itens_nf-ebelp.

    IF sy-subrc = 0 .

      v_tabix1 = sy-tabix.

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

      v_propor = itab_zycit279-menge / itab_zycit279-qtd_iten.

* << Fim da inclusão

      IF /pws/zycit321-lote EQ space OR

         itab_zycit279-lote IS INITIAL.

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

        PERFORM carrega_umncm_real USING itab_zycit003-matnr

                                CHANGING itab_itens_nf-meins

                                         itab_itens_nf-qtd_item.

* << Fim da exclusão

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

        itab_itens_nf-qtd_item = itab_itens_nf-qtd_item * v_propor.

        itab_itens_nf-meins = itab_zycit279-meins.

* << Fim da inclusão

        itab_zycit279-slqtde =

                          itab_zycit279-slqtde - itab_itens_nf-qtd_item.

        IF itab_zycit279-slqtde < 0.

          itab_zycit279-slqtde = 0.

        ENDIF.

        IF itab_zycit279-slqtde = 0.

         READ TABLE itab_zycit376d WITH KEY ebeln = itab_itens_nf-ebeln

                                            ebelp = itab_itens_nf-ebelp.

          IF sy-subrc EQ 0 .

            READ TABLE itab_zycit245d

...

 

...

                                            ebelp = itab_itens_nf-ebelp

                                             lote  = itab_zycit223-lote.

          ELSE.

          READ TABLE itab_zycit279 WITH KEY nrseq = itab_itens_nf-nrseq

                                            ebeln = itab_itens_nf-ebeln

                                            ebelp = itab_itens_nf-ebelp

                                        lote  = itab_zycit223-lote_forn.

          ENDIF.

          v_tabix = sy-tabix.

          itab_zycit279-qtd_iten = itab_zycit279-qtd_iten -

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

                                   itab_zycit223-qtde.

          PERFORM carrega_umncm_real USING itab_zycit003-matnr

                                    CHANGING itab_itens_nf-meins

* << Fim da exclusão

                                             itab_zycit223-qtde.

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

          itab_zycit223-qtde = itab_zycit223-qtde * v_propor.

* << Fim da inclusão

          itab_zycit279-slqtde =

                    itab_zycit279-slqtde - itab_zycit223-qtde.

          IF itab_zycit279-slqtde < 0.

            itab_zycit279-slqtde = 0.

          ENDIF.

          IF itab_zycit279-slqtde = 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

                  AND ebelp = itab_zycit079a-ebelp.

        APPEND it_ekpo.

      ENDIF.

      v_vl_temp = itab_zycit079a-qtd_iten *

                  itab_zycit079a-netpr.

      PERFORM converter_moeda USING v_vl_temp

                                 itab_zycit079a-waers

                                 /pws/zycbt007-waersa

                                 it_ekpo-aedat

                        CHANGING v_vl_temp2 .

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

      PERFORM converte_um_ncm USING it_ekpo-matnr

                           CHANGING itab_zycit079a-meins

                                    itab_zycit079a-qtd_iten.

* << Fim da exclusão

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

      IF v_qtdtot > 0 .

        IF /pws/zycie078-zum EQ '10'.

          IF NOT v_peso IS INITIAL.

            itab_zycit079a-qtd_iten =

            ( itab_zycit079a-ntgew * /pws/zycie078-qtdest ) / v_peso.

          ENDIF.

        ELSE.

          itab_zycit079a-qtd_iten =

          ( itab_zycit079a-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

        ENDIF.

      ELSE.

        itab_zycit079a-qtd_iten =

        ( itab_zycit079a-qtd_iten * /pws/zycie078-qtdest ).

      ENDIF.

* << Fim da inclusão

      it_zycit245-vlvinc = it_zycit245-vlvinc -

                                            v_vl_temp2.

      it_zycit245-vinculado = it_zycit245-vinculado -

                                  itab_zycit079a-qtd_iten.

      MODIFY it_zycit245 TRANSPORTING vlvinc vinculado

            WHERE nritem EQ it_zycit245-nritem.

    ENDLOOP.

  ENDIF.

  IF wa_zycit078-nrseqd NE /pws/zycie078-nrseqd.

    IF NOT wa_zycit078-nrseqd IS INITIAL.

...

 

...

                  AND ebelp = it_zycit079-ebelp.

        APPEND it_ekpo.

      ENDIF.

      v_vl_temp = it_zycit079-qtd_iten *

                  it_zycit079-netpr.

      PERFORM converter_moeda USING v_vl_temp

                                 it_zycit079-waers

                                 /pws/zycbt007-waersa

                                 it_ekpo-aedat

                        CHANGING v_vl_temp2 .

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

      PERFORM converte_um_ncm USING it_ekpo-matnr

                           CHANGING it_zycit079-meins

                                    it_zycit079-qtd_iten.

* << Fim da exclusão

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

      IF v_qtdtot > 0 .

        IF /pws/zycie078-zum EQ '10'.

          IF NOT v_peso IS INITIAL.

            it_zycit079-qtd_iten =

            ( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

          ENDIF.

        ELSE.

          it_zycit079-qtd_iten =

          ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

        ENDIF.

      ELSE.

        it_zycit079-qtd_iten =

        ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).

      ENDIF.

* << Fim da inclusão

      it_zycit245-vlvinc = it_zycit245-vlvinc +

                                            v_vl_temp2.

      it_zycit245-vinculado = it_zycit245-vinculado +

                                  it_zycit079-qtd_iten.

      MODIFY it_zycit245 TRANSPORTING vlvinc vinculado

            WHERE nritem EQ it_zycit245-nritem

              AND nrseqd EQ it_zycit245-nrseqd.

    ENDLOOP.

  ENDIF.

  MODIFY /pws/zycit245 FROM TABLE it_zycit245.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

      MESSAGE i015 WITH text-025 text-032.

    ENDIF.

  ENDIF.

  CLEAR /pws/zycie078-dtdef.

ENDFORM.

FORM comm_detli.

  v_flag2 = '1'.

  LOOP AT it_zycit079 WHERE mark = 'X'.

    v_ip = sy-tabix.

    IF v_qtdtot > 0 .

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

      IF /pws/zycie078-zum EQ '10'.

        IF NOT v_peso IS INITIAL.

* << Fim da inclusão

      it_zycit079-qtd_drawback =

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

          ( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

        ENDIF.

      ELSE.

        it_zycit079-qtd_drawback =

* << Fim da inclusão

      ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

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

      ENDIF.

* << Fim da inclusão

    ELSE.

      it_zycit079-qtd_drawback =

      ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).

    ENDIF.

    MODIFY it_zycit079 TRANSPORTING qtd_drawback.

    MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079a.

    PERFORM  load_desc_fabr.

    READ TABLE itab_itens_aux WITH KEY ebeln = it_zycit079-ebeln

                                       ebelp = it_zycit079-ebelp.

    IF sy-subrc EQ '0'.

...

 

...

        ENDIF.

        MESSAGE s015 WITH text-441.

        LOOP AT it_zycit079.

          READ TABLE itab_zycit376 WITH KEY ebeln = it_zycit079-ebeln

                                            ebelp = it_zycit079-ebelp

                                            nrseqd = v_nrseqd_v.

          MOVE:

               itab_zycit376-nritem+2 TO it_zycit079-item_drawback,

               itab_zycit376-nritem   TO it_zycit079-nritem_db.

          IF v_qtdtot > 0.

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

            IF /pws/zycie078-zum EQ '10'.

              IF NOT v_peso IS INITIAL.

* << Fim da inclusão

            it_zycit079-qtd_drawback =

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

                ( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

              ENDIF.

            ELSE.

              it_zycit079-qtd_drawback =

* << Fim da inclusão

            ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

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

            ENDIF.

* << Fim da inclusão

          ELSE.

            it_zycit079-qtd_drawback =

            ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).

          ENDIF.

          it_zycit079-vl_prod_drawback =

                  it_zycit079-qtd_iten * it_zycit079-netpr.

          MODIFY it_zycit079.

        ENDLOOP.

      ENDIF.

    ELSE.

...

 

...

  LOOP AT itab_zycit079.

    READ TABLE it_ekpo WITH KEY ebeln = itab_zycit079-ebeln

                                ebelp = itab_zycit079-ebelp.

    v_vl_temp =  itab_zycit079-qtd_iten * itab_zycit079-netpr.

    PERFORM converter_moeda USING v_vl_temp

                               itab_zycit079-waers

                               /pws/zycbt007-waersa

                               it_ekpo-aedat

                      CHANGING v_vl_temp2 .

    itab_zycit079-netpr = v_vl_temp2 .

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

    PERFORM converte_um_ncm USING it_ekpo-matnr

                         CHANGING itab_zycit079-meins

                                  itab_zycit079-qtd_iten.

* << Fim da exclusão

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

    IF v_qtdtot > 0 .

      IF /pws/zycie078-zum EQ '10'.

        IF NOT v_peso IS INITIAL.

          itab_zycit079-qtd_iten =

          ( itab_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

        ENDIF.

      ELSE.

        itab_zycit079-qtd_iten =

        ( itab_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

      ENDIF.

    ELSE.

      itab_zycit079-qtd_iten =

      ( itab_zycit079-qtd_iten * /pws/zycie078-qtdest ).

    ENDIF.

    SELECT SINGLE msehi                                 "#EC CI_NOFIELD

             FROM /pws/zyglt204 INTO itab_zycit079-meins

             WHERE zum = /pws/zycie078-zum.

* << Fim da inclusão

    MODIFY itab_zycit079.

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

    /pws/zycie079-qtd_iten = /pws/zycie079-qtd_iten +

                              itab_zycit079-qtd_iten.

* << Fim da exclusão

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

    /pws/zycie079-qtd_iten = /pws/zycie078-qtdest .

* << Fim da inclusão

    /pws/zycit245-netpr_t = /pws/zycit245-netpr_t +

                            itab_zycit079-netpr.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020I01

 

...

          IF itab_atos-grupo NE space.

            LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.

              LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.

                READ TABLE it_zycit079 WITH KEY

                                          ebeln = it_ekpo-ebeln

                                          ebelp = it_ekpo-ebelp.

                MOVE:

                     itab_atos-nritem+2 TO it_zycit079-item_drawback,

                     itab_atos-nritem   TO it_zycit079-nritem_db.

                IF v_qtdtot > 0.

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

                  IF /pws/zycie078-zum EQ '10'.

                    IF NOT v_peso IS INITIAL.

                      it_zycit079-qtd_drawback =

               ( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

                    ENDIF.

                  ELSE.

* << Fim da inclusão

                  it_zycit079-qtd_drawback = ( it_zycit079-qtd_iten *

                                    /pws/zycie078-qtdest ) / v_qtdtot.

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

                  ENDIF.

* << Fim da inclusão

                ELSE.

                  it_zycit079-qtd_drawback =

                      ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).

                ENDIF.

                it_zycit079-vl_prod_drawback =

...

 

...

            ENDLOOP.

          ELSE.

            LOOP AT it_ekpo WHERE matnr EQ itab_atos-matnr.

              READ TABLE it_zycit079 WITH KEY

                                        ebeln = it_ekpo-ebeln

                                        ebelp = it_ekpo-ebelp.

              MOVE:

                   itab_atos-nritem+2 TO it_zycit079-item_drawback,

                   itab_atos-nritem TO it_zycit079-nritem_db.

              IF v_qtdtot > 0.

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

                IF /pws/zycie078-zum EQ '10'.

                  IF NOT v_peso IS INITIAL.

                    it_zycit079-qtd_drawback =

               ( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

                  ENDIF.

                ELSE.

* << Fim da inclusão

                it_zycit079-qtd_drawback =

             ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

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

                ENDIF.

* << Fim da inclusão

              ELSE.

                it_zycit079-qtd_drawback =

                ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).

              ENDIF.

              it_zycit079-vl_prod_drawback =

...

 

...

                                  AND ebelp = it_ekpo-ebelp.

            ENDLOOP.

          ENDIF.

        ENDLOOP.

      ELSE.

        READ TABLE itab_atos WITH KEY nrseqd = itab_atos2-nrseqd.

        LOOP AT it_zycit079.

          MOVE itab_atos-nritem+2 TO it_zycit079-item_drawback.

          MOVE itab_atos-nritem TO it_zycit079-nritem_db.

          IF v_qtdtot > 0.

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

            IF /pws/zycie078-zum EQ '10'.

              IF NOT v_peso IS INITIAL.

                it_zycit079-qtd_drawback =

               ( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.

              ENDIF.

            ELSE.

* << Fim da inclusão

            it_zycit079-qtd_drawback =

           ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.

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

            ENDIF.

* << Fim da inclusão

          ELSE.

            it_zycit079-qtd_drawback =

            ( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).

          ENDIF.

          it_zycit079-vl_prod_drawback =

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

           AND branch = /pws/zycie078-j_1bbranch.

  IF NOT it_zycit079[] IS INITIAL.

    CLEAR:  it_ekpo.

    IF it_ekpo[] IS INITIAL.

      REFRESH: it_ekpo.

      SELECT * FROM ekpo INTO TABLE it_ekpo

        FOR ALL ENTRIES IN it_zycit079

        WHERE ebeln EQ it_zycit079-ebeln

          AND ebelp EQ it_zycit079-ebelp.

    ENDIF.

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

    CLEAR: v_qtdest, v_qtdtot.

* << Fim da exclusão

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

    CLEAR: v_qtdest, v_qtdtot, v_peso.

* << Fim da inclusão

    LOOP AT it_zycit079.

      READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln

                                  ebelp = it_zycit079-ebelp.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM ekpo INTO it_ekpo

            WHERE ebeln EQ it_zycit079-ebeln

              AND ebelp EQ it_zycit079-ebelp.

        IF sy-subrc EQ 0.

          APPEND it_ekpo.

        ELSE.

          CONTINUE.

        ENDIF.

      ENDIF.

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

      v_peso = v_peso + it_zycit079-ntgew.

* << Fim da inclusão

      v_qtdtot = v_qtdtot + it_zycit079-qtd_iten.

      IF NOT it_ekpo-matnr IS INITIAL.

        PERFORM converte_um_ncm USING it_ekpo-matnr

                             CHANGING it_zycit079-meins

                                      it_zycit079-qtd_iten.

      ENDIF.

      v_qtdest = v_qtdest +

                 it_zycit079-qtd_iten.

    ENDLOOP.

    IF it_079_del[] IS INITIAL.

...

 

...

      SET PF-STATUS '0114'.

      DESCRIBE TABLE itab_itci  LINES v_line.

      tc_irepi-lines = v_line.

    WHEN '0115'.

      SET TITLEBAR '0115'.

      SET PF-STATUS '0115'.

      DESCRIBE TABLE itab_itcip  LINES v_line.

      tc_irepip-lines = v_line.

  ENDCASE.

ENDMODULE.

* >> Início da inclusão:

MODULE set_screen_110 OUTPUT.

  LOOP AT SCREEN.

    IF screen-name EQ '/PWS/ZYCIE078-QTDEST'       AND

       /pws/zycie078-nrseqd NE space.

      screen-input = '0'.

      MODIFY SCREEN.

    ENDIF.

  ENDLOOP.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020X01

 

...

      v_steuc_temp2(8) ,

      v_steuc_temp3(8),

      v_executou,

      v_incentivo,

      s_opcb(18),

      v_cnpj_findap(18) TYPE c,

      v_desc_findap TYPE lfa1-name1,

      v_emp         LIKE /pws/zycbt007-bukrs.

DATA  v_novo_item.

DATA: v_qtdtot TYPE /pws/zycit079-qtd_iten.

* >> Início da inclusão:

DATA v_peso    TYPE /pws/zycit079-qtd_iten.

* << Fim da inclusão

DATA: v_ordena(132) TYPE c.

DATA: v_prog(3) TYPE c.

DATA  : wa_itb LIKE it_zycit079,

        itab_itc   like it_zycit079 occurs 0 with header line,

        itab_itci  like it_zycit079 occurs 0 with header line,

        itab_itcip like it_zycit079 occurs 0 with header line.

DATA: s_ontgew,

      s_oespec,

      s_odestaque,

      s_ofabric,

...