CE PLUS - Nota 004884

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Registro de Exportação (RE)

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

Data/Hora Última Alteração: 04/03/2010 11:08:44

Descrição da Nota: CÁLCULOS DOS VALORES NO RE COM DRAWBACK

Sintoma

 

Valores inconsistentes no RE.

 

Solução

 

Desenvolvimento para tratar os valores no RE com Drawback.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04884 Data: 02/10/2007 Hora: 18:06:59

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

 

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

Nota Número              : 04884

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

CÁLCULOS DOS VALORES NO RE COM DRAWBACK

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

Palavras Chave:

CÁLCULO VALORES RE COM DRAWBACK

 

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

Objetos da nota:

REPS /PWS/MZYCE041F01

REPS /PWS/MZYCE041TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCE041F01

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM verifica_db.

  IF itab_zycet116-tpre IS INITIAL OR

     itab_zycet116-tpre EQ '05'.

    IF NOT itab_zycet002[] IS INITIAL.

      SELECT a~nrseqexp   a~vbeln_va  a~aupos    a~vbeln_vf

             a~posnr      a~docnum    a~vbeln_vl a~posnl

             a~nrseqd     a~matnr_exp a~eebeln   a~eebelp a~meins_e

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

a~meins_i

* << Fim da inclusão

             a~qtd_mexp   a~qtd_eorg  a~quebra   a~a_nrseqd

             a~j_1bnbmimp a~docnumimp a~buzei    b~nratoc

             b~tipo       b~lifnr

      FROM /pws/zycit282 AS a

      INNER JOIN /pws/zycit244 AS b

        ON a~nrseqd = b~nrseqd

        INTO TABLE itab_zycit282

      FOR ALL ENTRIES IN itab_zycet002

      WHERE a~nrseqexp = itab_zycet002-nrseq

        AND a~vbeln_va = itab_zycet002-vbeln_va

...

 

...

                       posnr    = itab_zycit282-posnr

                       nrseqd   = itab_zycit282-nrseqd

                       tipo     = itab_zycit282-tipo.

    IF sy-subrc = 0.

      MOVE itab_zycit282_final-seq_agrup TO itab_zycit282-seq_agrup.

      MODIFY itab_zycit282 INDEX v_index TRANSPORTING seq_agrup.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM db_move_zycet118.

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

  DATA: v_fkimg  LIKE /pws/zycet118-fkimg,

* << Fim da exclusão

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

  DATA:

* << Fim da inclusão

        v_index  LIKE sy-tabix,

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

        v_fkimg_aux  LIKE /pws/zycet118-fkimg,

        v_vrkme  TYPE /pws/zycet118-vrkme.

* << Fim da exclusão

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

          v_vrkme  TYPE /pws/zycet118-vrkme,

          v_qtd LIKE /pws/zycit282-qtd_mexp,

          v_valor_aux TYPE /pws/zycet118-vfob.

  READ TABLE itab_zycet065 WITH KEY inco1 = /pws/zycee001-inco1.

* << Fim da inclusão

  PERFORM verifica_saldo_ato.

  CLEAR: itab_zycet002, itab_zycit282.

  LOOP AT itab_zycet002.

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

    CLEAR v_fkimg_aux.

    LOOP AT itab_zycit282 WHERE vbeln_va = itab_zycet002-vbeln_va

                            AND vbeln_vl = itab_zycet002-vbeln_vl

                            AND aupos    = itab_zycet002-aupos

                            AND posnl    = itab_zycet002-posnl

                            AND eebeln   = itab_zycet002-ebeln

                            AND eebelp   = itab_zycet002-ebelp.

      CLEAR v_fkimg.

      READ TABLE itab_saldo_ato WITH KEY

                                   nrato    = itab_zycit282-nratoc

                                   vbeln_va = itab_zycit282-vbeln_va

                                   vbeln_vl = itab_zycit282-vbeln_vl

                                   aupos    = itab_zycit282-aupos

                                   posnl    = itab_zycit282-posnl

                                   nrseqd   = itab_zycit282-nrseqd

                                   tipo     = itab_zycit282-tipo.

      IF sy-subrc NE 0.

        CONTINUE.

      ENDIF.

      CLEAR itab_zycet118_saldo_d .

      READ TABLE itab_zycet118_saldo_d WITH KEY

                                nrato    = itab_zycit282-nratoc

                                vbeln_va = itab_zycit282-vbeln_va

                                vbeln_vl = itab_zycit282-vbeln_vl

                                aupos    = itab_zycit282-aupos

                                posnl    = itab_zycit282-posnl

                                nrseqd   = itab_zycit282-nrseqd

                                tipo     = itab_zycit282-tipo.

      IF sy-subrc = 4.

        v_fkimg = itab_saldo_ato-fkimg.

        MOVE: itab_zycit282-vbeln_va TO itab_zycet118_saldo_d-vbeln_va,

              itab_zycit282-aupos    TO itab_zycet118_saldo_d-aupos,

              itab_zycit282-vbeln_vl TO itab_zycet118_saldo_d-vbeln_vl,

              itab_zycit282-posnl    TO itab_zycet118_saldo_d-posnl,

              itab_zycit282-nratoc   TO itab_zycet118_saldo_d-nrato,

              itab_zycit282-tipo     TO itab_zycet118_saldo_d-tipo,

              itab_zycit282-nrseqd   TO itab_zycet118_saldo_d-nrseqd,

              v_fkimg                TO itab_zycet118_saldo_d-saldordem.

      ELSE.

        v_index = sy-tabix.

        v_fkimg = itab_saldo_ato-fkimg.

        MODIFY itab_zycet118_saldo INDEX v_index.

      ENDIF.

* << Fim da exclusão

      IF v_codnrseq GE 999.

        IF v_msg_999 IS INITIAL.

          v_msg_999 = 'X'.

        ENDIF.

        EXIT.

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

    ENDIF.

    READ TABLE itab_zycit282 WITH KEY vbeln_va = itab_zycet002-vbeln_va

                                      vbeln_vl = itab_zycet002-vbeln_vl

                                      aupos    = itab_zycet002-aupos

                                      posnl    = itab_zycet002-posnl

                                      eebeln   = itab_zycet002-ebeln

                                      eebelp   = itab_zycet002-ebelp.

    IF sy-subrc EQ 0.

      IF itab_zycet002-vrkme NE itab_zycit282-meins_e.

        PERFORM converte_um USING itab_zycit282-qtd_mexp

                                 itab_zycit282-meins_e

                                 itab_zycet002-vrkme

                                 itab_zycet002-matnr

        CHANGING v_fkimg.

      ELSE.

        v_fkimg = itab_zycit282-qtd_mexp.

* << Fim da inclusão

      ENDIF.

      v_codnrseq = v_codnrseq + 001.

      itab_zycet118-codnrseq = v_codnrseq.

      SHIFT itab_zycet118-codnrseq RIGHT DELETING TRAILING space.

      UNPACK  itab_zycet118-codnrseq TO itab_zycet118-codnrseq.

      itab_zycet118-nrseqre = nrseqre.

      MOVE:

           sy-mandt               TO itab_zycet118-mandt,

           itab_zycet002-vbeln_va TO itab_zycet118-vbeln_va,

           itab_zycet002-vbeln_vf TO itab_zycet118-vbeln_vf,

...

 

...

           itab_zycet002-waers    TO itab_zycet118-waers,

           itab_zycet002-waers    TO itab_zycet118-waerk,

           itab_zycit282-tipo     TO itab_zycet118-tipo,

           itab_zycit282-quebra   TO itab_zycet118-quebra,

           itab_zycit282-nrseqd   TO itab_zycet118-nrseqd,

           itab_zycit282-lifnr    TO itab_zycet118-lifnr,

           itab_zycit282-seq_agrup TO itab_zycet118-dbmig,

           itab_zycit282-qtd_eorg TO itab_zycet118-qtd_eorg,

           itab_zycet002-vlagente TO itab_zycet118-vlagente,

           'I'                    TO itab_zycet118-status,

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

          itab_zycet002-steuc    TO itab_zycet118-ncm.

* << Fim da exclusão

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

           v_fkimg                TO itab_zycet118-fkimg.

* << Fim da inclusão

      IF itab_zycit282-tipo CA 'CG'.

        MOVE: itab_zycit282-nratoc TO itab_zycet118-nrato.

      ENDIF.

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

      IF NOT v_fkimg IS INITIAL.

        itab_zycet118-fkimg = v_fkimg.

* << Fim da exclusão

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

      IF itab_zycet065-desconto = 'X'.

        itab_zycet118-vfob = itab_zycet002-vlfob -

                                          itab_zycet002-vldesconto_r.

* << Fim da inclusão

      ELSE.

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

        itab_zycet118-fkimg = itab_zycit282-qtd_mexp.

* << Fim da exclusão

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

        itab_zycet118-vfob = itab_zycet002-vlfob.

* << Fim da inclusão

      ENDIF.

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

      v_fkimg_aux = v_fkimg_aux + itab_zycet118-fkimg.

      CLEAR itab_t604f.

      READ TABLE itab_t604f WITH KEY steuc = itab_zycet002-steuc.

      IF sy-subrc = 0 AND wa_zycet145-codncmre IS INITIAL.

        CLEAR itab_zycet081.

        READ TABLE itab_zycet081 WITH KEY steuc = itab_t604f-steuc.

* << Fim da exclusão

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

      IF itab_zycet065-acrescimo = 'X'.

        itab_zycet118-vfob = itab_zycet118-vfob +

                                          itab_zycet002-vlacrescimo_r.

      ENDIF.

* << Fim da inclusão

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

        IF NOT sy-subrc IS INITIAL.

* << Fim da exclusão

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

      PERFORM preenche_ncm_anexos

                  CHANGING

                      itab_zycet118-ncm

                      itab_zycet118-naladi.

* << Fim da inclusão

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

          v_ncm = itab_t604f-steuc.

* << Fim da exclusão

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

      PERFORM calcula_anexos

                  USING

* << Fim da inclusão

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

          sy-subrc = 0.

* << Fim da exclusão

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

                      v_fkimg

                  CHANGING

* << Fim da inclusão

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

          WHILE sy-subrc IS INITIAL.

            REPLACE '.' WITH space INTO v_ncm.

          ENDWHILE.

* << Fim da exclusão

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

                      itab_zycet118-netpr

                      itab_zycet118-ntgew

                      itab_zycet118-brgew

                      itab_zycet118-vlagente.

* << Fim da inclusão

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

          CONDENSE v_ncm NO-GAPS.

          READ TABLE itab_zycet081 WITH KEY steuc = v_ncm.

* << Fim da exclusão

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

      IF /pws/zycee001-tpcalc = '1'.

        v_valor_aux = itab_zycet118-vfob.

        itab_zycet118-vfob = itab_zycet118-netpr.

        itab_zycet118-netpr =   v_valor_aux.

* << Fim da inclusão

        ENDIF.

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

        IF sy-subrc = 0.

          MOVE: itab_t604f-steuc        TO itab_zycet118-ncm.

          MOVE: itab_zycet081-codnaladi TO itab_zycet118-naladi.

* << Fim da exclusão

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

      APPEND itab_zycet118.

* << Fim da inclusão

        ELSE.

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

          MOVE:  itab_t604f-steuc          TO itab_zycet118-ncm,

                 itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

* << Fim da exclusão

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

      CLEAR itab_zycet118.

* << Fim da inclusão

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

        ENDIF.

      ELSE.

        CLEAR itab_zycet081.

        IF NOT itab_t604f-/pws/codncmre IS INITIAL.

* << Fim da exclusão

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

      itab_zycet118-nrseqre = nrseqre.

      v_codnrseq = v_codnrseq + 001.

      itab_zycet118-codnrseq = v_codnrseq.

      SHIFT itab_zycet118-codnrseq RIGHT DELETING TRAILING space.

      UNPACK  itab_zycet118-codnrseq TO itab_zycet118-codnrseq.

* << Fim da inclusão

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

          WRITE itab_t604f-/pws/codncmre(8) TO v_ncm USING

                EDIT MASK '____.__.__'.

* << Fim da exclusão

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

      MOVE:

           sy-mandt               TO itab_zycet118-mandt,

           itab_zycet002-vbeln_va TO itab_zycet118-vbeln_va,

* << Fim da inclusão

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

          READ TABLE itab_zycet081 WITH KEY steuc = v_ncm.

* << Fim da exclusão

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

           itab_zycet002-vbeln_vf TO itab_zycet118-vbeln_vf,

           itab_zycet002-vbeln_vl TO itab_zycet118-vbeln_vl,

* << Fim da inclusão

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

          IF NOT sy-subrc IS INITIAL.

            READ TABLE itab_zycet081 WITH KEY steuc =

                                    itab_t604f-/pws/codncmre(8).

* << Fim da exclusão

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

           itab_zycet002-posnl    TO itab_zycet118-posnl,

           itab_zycet002-posnr    TO itab_zycet118-posnr,

           itab_zycet002-aupos    TO itab_zycet118-aupos,

           itab_zycet002-ebeln    TO itab_zycet118-ebeln,

* << Fim da inclusão

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

          ENDIF.

* << Fim da exclusão

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

           itab_zycet002-ebelp    TO itab_zycet118-ebelp,

           itab_zycet002-ntgew    TO itab_zycet118-ntgew,

* << Fim da inclusão

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

          IF sy-subrc = 0.

            MOVE: itab_t604f-/pws/codncmre TO itab_zycet118-ncm.

            MOVE: itab_zycet081-codnaladi  TO itab_zycet118-naladi.

* << Fim da exclusão

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

           itab_zycet002-brgew    TO itab_zycet118-brgew,

           itab_zycet002-vrkme    TO itab_zycet118-vrkme,

           itab_zycet002-arktx    TO itab_zycet118-dsmerc,

           itab_zycet002-matnr    TO itab_zycet118-matnr,

           itab_zycet002-gewei    TO itab_zycet118-gewei,

           itab_zycet002-waers    TO itab_zycet118-waers,

           itab_zycet002-waers    TO itab_zycet118-waerk,

           itab_zycet002-vlme_r   TO itab_zycet118-netpr,

           itab_zycet002-fkimg    TO itab_zycet118-fkimg,

           itab_zycet002-vlagente TO itab_zycet118-vlagente,

           'I'                    TO itab_zycet118-status.

      IF itab_zycet065-desconto = 'X'.

        itab_zycet118-vfob = itab_zycet002-vlfob -

                                          itab_zycet002-vldesconto_r.

* << Fim da inclusão

          ELSE.

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

            MOVE:  itab_t604f-/pws/codncmre  TO itab_zycet118-ncm,

                   itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

* << Fim da exclusão

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

        itab_zycet118-vfob = itab_zycet002-vlfob.

* << Fim da inclusão

          ENDIF.

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

        ELSEIF NOT itab_t604f-/pws/codnaladi IS INITIAL.

          MOVE: itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

* << Fim da exclusão

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

      IF itab_zycet065-acrescimo = 'X'.

        itab_zycet118-vfob = itab_zycet118-vfob +

                                          itab_zycet002-vlacrescimo_r.

* << Fim da inclusão

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

        ENDIF.

      ENDIF.

      IF NOT itab_zycet002-fkimg IS INITIAL.

        IF itab_zycet002-vrkme NE itab_zycet118-gewei.

          PERFORM converte_um USING itab_zycet002-fkimg

                                    itab_zycet002-vrkme

                                    itab_zycet118-gewei

                                    itab_zycet002-matnr

           CHANGING v_fkimg.

        ELSE.

          v_fkimg = itab_zycet002-fkimg.

* << Fim da exclusão

        ENDIF.

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

        itab_zycet118-netpr = ( itab_zycet002-vlemb /

                               v_fkimg ) *

                               itab_zycet118-fkimg.

        itab_zycet118-ntgew = ( itab_zycet002-ntgew /

                                v_fkimg ) *

                                itab_zycet118-fkimg.

        itab_zycet118-brgew = ( itab_zycet002-brgew /

                                v_fkimg ) *

                                itab_zycet118-fkimg.

        itab_zycet118-vlagente = ( itab_zycet002-vlagente /

                                   v_fkimg ) *

                                   itab_zycet118-fkimg.

* << Fim da exclusão

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

      IF /pws/zycee001-tpcalc = '1'.

        v_valor_aux = itab_zycet118-vfob.

        itab_zycet118-vfob = itab_zycet118-netpr.

        itab_zycet118-netpr =   v_valor_aux.

* << Fim da inclusão

      ENDIF.

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

      PERFORM preenche_ncm_anexos

            CHANGING itab_zycet118-ncm

                     itab_zycet118-naladi.

* << Fim da inclusão

      APPEND itab_zycet118.

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

      itab_saldo_ato-fkimg = itab_saldo_ato-fkimg -

                             itab_zycet118-fkimg.

      MODIFY itab_saldo_ato TRANSPORTING fkimg

                           WHERE nrato    = itab_zycit282-nratoc    AND

                                 vbeln_va = itab_zycit282-vbeln_va  AND

                                 vbeln_vl = itab_zycit282-vbeln_vl  AND

                                 aupos    = itab_zycit282-aupos     AND

                                 posnl    = itab_zycit282-posnl     AND

                                 nrseqd   = itab_zycit282-nrseqd    AND

                                  tipo     = itab_zycit282-tipo.

      MOVE itab_zycet118-gewei TO v_vrkme.

      CLEAR: itab_002, itab_zycet118.

      MOVE-CORRESPONDING itab_zycet002 TO itab_002.

      APPEND itab_002.

    ENDLOOP.

    IF v_fkimg  > v_fkimg_aux.

      PERFORM db_anexo_apropricao_parcial

              USING itab_zycet002

                    v_fkimg_aux

                    v_vrkme

              CHANGING v_codnrseq

                       itab_zycet118[].

* << Fim da exclusão

    ENDIF.

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

    v_fkimg = itab_saldo_ato-saldo.

    MOVE : v_fkimg   TO itab_zycet118-saldordem.

    MODIFY itab_zycet118 TRANSPORTING saldordem

                            WHERE vbeln_va = itab_zycet002-vbeln_va

                              AND vbeln_vl = itab_zycet002-vbeln_vl

                              AND aupos    = itab_zycet002-aupos

                              AND posnl    = itab_zycet002-posnl

                              AND codnrseq NE v_codnrseq.

* << Fim da exclusão

  ENDLOOP.

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

  CLEAR itab_zycet118.

  LOOP AT itab_zycet002.

* << Fim da exclusão

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

  LOOP AT itab_saldo_ato.

* << Fim da inclusão

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

    v_fkimg = itab_zycet002-fkimg.

* << Fim da exclusão

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

    READ TABLE itab_zycet002 WITH KEY

                        vbeln_va = itab_saldo_ato-vbeln_va

                        vbeln_vl = itab_saldo_ato-vbeln_vl

                        aupos    = itab_saldo_ato-aupos

                        posnl    = itab_saldo_ato-posnl

                        ebeln   = itab_saldo_ato-ebeln

                        ebelp   = itab_saldo_ato-ebelp.

* << Fim da inclusão

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

    READ TABLE itab_002[] FROM itab_zycet002

        TRANSPORTING NO FIELDS.

    CHECK sy-subrc <> 0.

* << Fim da exclusão

    itab_zycet118-nrseqre = nrseqre.

    v_codnrseq = v_codnrseq + 001.

    itab_zycet118-codnrseq = v_codnrseq.

    SHIFT itab_zycet118-codnrseq RIGHT DELETING TRAILING space.

    UNPACK  itab_zycet118-codnrseq TO itab_zycet118-codnrseq.

    MOVE:

         sy-mandt               TO itab_zycet118-mandt,

         itab_zycet002-vbeln_va TO itab_zycet118-vbeln_va,

         itab_zycet002-vbeln_vf TO itab_zycet118-vbeln_vf,

         itab_zycet002-vbeln_vl TO itab_zycet118-vbeln_vl,

...

 

...

         itab_zycet002-ebeln    TO itab_zycet118-ebeln,

         itab_zycet002-ebelp    TO itab_zycet118-ebelp,

         itab_zycet002-ntgew    TO itab_zycet118-ntgew,

         itab_zycet002-brgew    TO itab_zycet118-brgew,

         itab_zycet002-vrkme    TO itab_zycet118-vrkme,

         itab_zycet002-arktx    TO itab_zycet118-dsmerc,

         itab_zycet002-matnr    TO itab_zycet118-matnr,

         itab_zycet002-gewei    TO itab_zycet118-gewei,

         itab_zycet002-waers    TO itab_zycet118-waers,

         itab_zycet002-waers    TO itab_zycet118-waerk,

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

         itab_zycet002-vlemb    TO itab_zycet118-netpr,

         v_fkimg                TO itab_zycet118-fkimg,

         itab_zycet002-vlagente TO itab_zycet118-vlagente,

* << Fim da exclusão

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

         itab_saldo_ato-saldo   TO itab_zycet118-fkimg,

* << Fim da inclusão

         'I'                    TO itab_zycet118-status.

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

    CLEAR itab_t604f.

    READ TABLE itab_t604f WITH KEY steuc = itab_zycet002-steuc.

    IF sy-subrc = 0 AND wa_zycet145-codncmre IS INITIAL.

      CLEAR itab_zycet081.

      READ TABLE itab_zycet081 WITH KEY steuc = itab_t604f-steuc.

      IF sy-subrc = 0.

        MOVE: itab_t604f-steuc        TO itab_zycet118-ncm.

        MOVE: itab_zycet081-codnaladi TO itab_zycet118-naladi.

* << Fim da exclusão

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

    IF itab_zycet065-desconto = 'X'.

      itab_zycet118-vfob = itab_zycet002-vlfob -

                                        itab_zycet002-vldesconto_r.

* << Fim da inclusão

      ELSE.

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

        MOVE: itab_t604f-steuc     TO itab_zycet118-ncm,

              itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

* << Fim da exclusão

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

      itab_zycet118-vfob = itab_zycet002-vlfob.

* << Fim da inclusão

      ENDIF.

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

    ELSE.

      IF NOT itab_t604f-/pws/codncmre IS INITIAL.

        CLEAR itab_zycet081 .

        WRITE itab_t604f-/pws/codncmre(8) TO v_ncm USING

              EDIT MASK '____.__.__'.

        READ TABLE itab_zycet081 WITH KEY steuc = v_ncm.

* << Fim da exclusão

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

    IF itab_zycet065-acrescimo = 'X'.

      itab_zycet118-vfob = itab_zycet118-vfob +

* << Fim da inclusão

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

        IF NOT sy-subrc IS INITIAL.

          READ TABLE itab_zycet081 WITH KEY steuc =

                                        itab_t604f-/pws/codncmre.

* << Fim da exclusão

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

                                        itab_zycet002-vlacrescimo_r.

* << Fim da inclusão

        ENDIF.

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

        IF sy-subrc = 0.

          MOVE: itab_t604f-/pws/codncmre     TO itab_zycet118-ncm.

          MOVE: itab_zycet081-codnaladi TO itab_zycet118-naladi.

        ELSE.

          MOVE: itab_t604f-/pws/codncmre  TO itab_zycet118-ncm,

                itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

        ENDIF.

      ENDIF.

    ENDIF.

* << Fim da exclusão

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

    PERFORM preenche_ncm_anexos

          CHANGING itab_zycet118-ncm

                   itab_zycet118-naladi.

* << Fim da inclusão

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

    IF NOT itab_zycet002-fkimg IS INITIAL.

* << Fim da exclusão

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

    PERFORM calcula_anexos

                USING

                    itab_saldo_ato-saldo

                CHANGING

                    itab_zycet118-netpr

                    itab_zycet118-ntgew

                    itab_zycet118-brgew

                    itab_zycet118-vlagente.

* << Fim da inclusão

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

      itab_zycet118-netpr = ( itab_zycet002-vlemb /

                             itab_zycet002-fkimg ) *

                             itab_zycet118-fkimg.

      itab_zycet118-ntgew = ( itab_zycet002-ntgew /

                              itab_zycet002-fkimg ) *

                              itab_zycet118-fkimg.

      itab_zycet118-brgew = ( itab_zycet002-brgew /

                              itab_zycet002-fkimg ) *

                              itab_zycet118-fkimg.

      itab_zycet118-vlagente = ( itab_zycet002-vlagente /

                                 itab_zycet002-fkimg ) *

                                 itab_zycet118-fkimg.

* << Fim da exclusão

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

    IF /pws/zycee001-tpcalc = '1'.

      v_valor_aux = itab_zycet118-vfob.

      itab_zycet118-vfob = itab_zycet118-netpr.

      itab_zycet118-netpr =   v_valor_aux.

* << Fim da inclusão

    ENDIF.

    APPEND itab_zycet118.

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

    CLEAR : itab_002, itab_zycet118.

    MOVE-CORRESPONDING itab_zycet002 TO itab_002.

    APPEND itab_002.

* << Fim da exclusão

  ENDLOOP.

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

  IF NOT refresh IS INITIAL.

    IF NOT itab_002[] IS INITIAL.

      itab_zycet002[] = itab_002[].

    ENDIF.

  ENDIF.

* << Fim da exclusão

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

  CLEAR itab_zycet118.

* << Fim da inclusão

ENDFORM.

FORM db_move_zycet116.

  IF itab_zycet116[] IS INITIAL.

    PERFORM sel_param_cabec.

    itab_zycet116-nrseqre = nrseqre.

    itab_zycet116-agrupado = text-004.

    itab_zycet116-tpre    = '05'.

    CONCATENATE /pws/zycee001-nrseq(7) /pws/zycee001-nrseq+8(2)

          INTO itab_zycet116-nrproc.

    IF itab_zycet145-nroproc IS INITIAL.

...

 

...

  PERFORM funcao_agrupamento.

  IF NOT itab_zycet092[] IS INITIAL.

    PERFORM move_agrupados.

  ELSE.

    LEAVE PROGRAM.

  ENDIF.

ENDFORM.

FORM funcao_agrupamento.

  DATA:

    itab_zycet118_aux LIKE TABLE OF itab_zycet118,

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

    wa_zycet118_aux   LIKE LINE OF itab_zycet118_aux.

* << Fim da exclusão

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

    wa_zycet118_aux   LIKE LINE OF itab_zycet118_aux,

    v_index           TYPE sy-tabix.

* << Fim da inclusão

  itab_zycet118_aux[] = itab_zycet118[].

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

  IF itab_zycit282[] IS INITIAL.

* << Fim da inclusão

  PERFORM aplica_despesas.

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

  ENDIF.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCE_AGRUPA_OV_RE'

       EXPORTING

            werks         = itab_zycet116-werks

       TABLES

            itab_zycet092 = itab_zycet092

            itab_zycet118 = itab_zycet118

            itab_zycet090 = itab_zycet090

            itab_zycet002 = itab_zycet002.

  LOOP AT itab_zycet118.

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

    v_index = sy-tabix.

* << Fim da inclusão

    READ TABLE itab_zycet118_aux into wa_zycet118_aux

      WITH KEY

        codnrseq = itab_zycet118-codnrseq

        vbeln_va = itab_zycet118-vbeln_va

        aupos    = itab_zycet118-aupos

        vbeln_vl = itab_zycet118-vbeln_vl

        posnl    = itab_zycet118-posnl

        vbeln_vf = itab_zycet118-vbeln_vf

        posnr    = itab_zycet118-posnr.

    MOVE:

      itab_zycet118-seqagrupado TO wa_zycet118_aux-seqagrupado,

      wa_zycet118_aux           TO itab_zycet118.

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

    MODIFY itab_zycet118 INDEX sy-tabix.

* << Fim da exclusão

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

    MODIFY itab_zycet118 INDEX v_index.

* << Fim da inclusão

  ENDLOOP.

ENDFORM.

FORM move_agrupados.

  LOOP AT itab_zycet118.

    CLEAR: itab_zycet118-status,

           itab_zycet118-nrseqre.

    itab_zycet118-nrseqre = itab_zycet116-nrseqre.

    itab_zycet118-status = 'S'.

    MODIFY itab_zycet118 INDEX sy-tabix.

  ENDLOOP.

...

 

...

  LOOP AT itab_zycet002.

    MOVE: itab_zycet002-fkimg TO v_fkimg,

          itab_zycet002-fkimg TO v_fkimg002.

    LOOP AT itab_zycit282 WHERE

                              vbeln_va = itab_zycet002-vbeln_va

                        AND   vbeln_vl = itab_zycet002-vbeln_vl

                        AND   aupos    = itab_zycet002-aupos

                        AND   posnl    = itab_zycet002-posnl

                        AND   eebeln   = itab_zycet002-ebeln

                        AND   eebelp   = itab_zycet002-ebelp.

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

      IF itab_zycet002-gewei NE itab_zycet002-vrkme.

        PERFORM converte_um USING v_fkimg

                                  itab_zycet002-vrkme

                                  itab_zycet002-gewei

                                  itab_zycet002-matnr

         CHANGING v_fkimg.

        PERFORM converte_um USING v_fkimg002

                                  itab_zycet002-vrkme

                                  itab_zycet002-gewei

                                  itab_zycet002-matnr

         CHANGING v_fkimg002.

      ENDIF.

* << Fim da exclusão

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

      IF itab_zycet002-vrkme NE itab_zycit282-meins_e.

* << Fim da inclusão

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

      IF itab_zycit282-meins_e NE itab_zycet002-gewei.

* << Fim da exclusão

        PERFORM converte_um USING itab_zycit282-qtd_mexp

                                  itab_zycit282-meins_e

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

                                  itab_zycet002-gewei

* << Fim da exclusão

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

                                 itab_zycet002-vrkme

* << Fim da inclusão

                                  itab_zycet002-matnr

         CHANGING v_qtd_mexp.

      ELSE.

        v_qtd_mexp = itab_zycit282-qtd_mexp.

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

      ENDIF.

      CLEAR itab_zycet118_saldo_d .

      READ TABLE itab_zycet118_saldo_d WITH KEY

                                nrato    = itab_zycit282-nratoc

                                vbeln_va = itab_zycit282-vbeln_va

                                vbeln_vl = itab_zycit282-vbeln_vl

                                aupos    = itab_zycit282-aupos

                                posnl    = itab_zycit282-posnl

                                nrseqd   = itab_zycit282-nrseqd

                                tipo     = itab_zycit282-tipo.

      IF sy-subrc = 4.

        IF v_fkimg002 LE v_qtd_mexp.

          v_fkimg = v_fkimg002.

          MOVE: itab_zycit282-vbeln_va TO itab_saldo_ato-vbeln_va,

                itab_zycit282-aupos    TO itab_saldo_ato-aupos,

                itab_zycit282-vbeln_vl TO itab_saldo_ato-vbeln_vl,

                itab_zycit282-posnl    TO itab_saldo_ato-posnl,

                itab_zycit282-nratoc   TO itab_saldo_ato-nrato,

                itab_zycit282-tipo     TO itab_saldo_ato-tipo,

                itab_zycit282-nrseqd   TO itab_saldo_ato-nrseqd,

                v_fkimg                TO itab_saldo_ato-fkimg.

          CLEAR: itab_saldo_ato-saldo.

          APPEND itab_saldo_ato.

        ELSE.

          v_fkimg    = v_qtd_mexp.

          v_fkimg002 = v_fkimg002 - v_fkimg.

          MOVE: itab_zycit282-vbeln_va TO itab_saldo_ato-vbeln_va,

                itab_zycit282-aupos    TO itab_saldo_ato-aupos,

                itab_zycit282-vbeln_vl TO itab_saldo_ato-vbeln_vl,

                itab_zycit282-posnl    TO itab_saldo_ato-posnl,

                itab_zycit282-nratoc   TO itab_saldo_ato-nrato,

                itab_zycit282-tipo     TO itab_saldo_ato-tipo,

                itab_zycit282-nrseqd   TO itab_saldo_ato-nrseqd,

                v_fkimg                TO itab_saldo_ato-fkimg,

                v_fkimg002             TO itab_saldo_ato-saldo.

          APPEND itab_saldo_ato.

          CONTINUE.

* << Fim da exclusão

        ENDIF.

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

      ELSE.

* << Fim da exclusão

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

      IF v_qtd_mexp LT v_fkimg.

* << Fim da inclusão

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

        MOVE itab_zycet118_saldo_d-saldordem TO v_fkimg002.

        v_dispato = v_qtd_mexp - itab_zycet118_saldo_d-fkimg.

        IF v_dispato GT 0.

          IF v_fkimg002 LE v_qtd_mexp.

            v_fkimg = v_fkimg002.

* << Fim da exclusão

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

        v_fkimg002 = v_fkimg - v_qtd_mexp.

* << Fim da inclusão

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

            MOVE: itab_zycit282-vbeln_va TO itab_saldo_ato-vbeln_va,

                  itab_zycit282-aupos    TO itab_saldo_ato-aupos,

                  itab_zycit282-vbeln_vl TO itab_saldo_ato-vbeln_vl,

                  itab_zycit282-posnl    TO itab_saldo_ato-posnl,

                  itab_zycit282-nratoc   TO itab_saldo_ato-nrato,

                  itab_zycit282-tipo     TO itab_saldo_ato-tipo,

                  itab_zycit282-nrseqd   TO itab_saldo_ato-nrseqd,

                  v_fkimg                TO itab_saldo_ato-fkimg.

            CLEAR: itab_saldo_ato-saldo.

* << Fim da exclusão

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

        MOVE:

* << Fim da inclusão

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

            APPEND itab_saldo_ato.

* << Fim da exclusão

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

              itab_zycit282-vbeln_va TO itab_saldo_ato-vbeln_va,

* << Fim da inclusão

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

          ELSE.

            v_fkimg    = v_qtd_mexp.

            v_fkimg002 = v_fkimg002 - v_fkimg.

            MOVE: itab_zycit282-vbeln_va TO itab_saldo_ato-vbeln_va,

* << Fim da exclusão

                  itab_zycit282-aupos    TO itab_saldo_ato-aupos,

                  itab_zycit282-vbeln_vl TO itab_saldo_ato-vbeln_vl,

                  itab_zycit282-posnl    TO itab_saldo_ato-posnl,

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

              itab_zycet002-ebeln    TO itab_saldo_ato-ebeln,

              itab_zycet002-ebelp    TO itab_saldo_ato-ebelp,

* << Fim da inclusão

                  itab_zycit282-nratoc   TO itab_saldo_ato-nrato,

                  itab_zycit282-tipo     TO itab_saldo_ato-tipo,

                  itab_zycit282-nrseqd   TO itab_saldo_ato-nrseqd,

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

                  v_fkimg                TO itab_saldo_ato-fkimg,

* << Fim da exclusão

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

              v_qtd_mexp             TO itab_saldo_ato-fkimg,

* << Fim da inclusão

                  v_fkimg002             TO itab_saldo_ato-saldo.

            APPEND itab_saldo_ato.

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

            CONTINUE.

          ENDIF.

        ELSE.

          v_fkimg = v_fkimg002.

* << Fim da exclusão

          CONTINUE.

        ENDIF.

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

      ENDIF.

    ENDLOOP.

    IF sy-subrc EQ 4.

      CONTINUE.

    ENDIF.

    MOVE: itab_zycet002-vbeln_va TO itab_saldo_ato-vbeln_va,

          itab_zycet002-aupos    TO itab_saldo_ato-aupos,

          itab_zycet002-vbeln_vl TO itab_saldo_ato-vbeln_vl,

          itab_zycet002-posnl    TO itab_saldo_ato-posnl,

          v_fkimg                TO itab_saldo_ato-fkimg.

    CLEAR: itab_saldo_ato-nrato,

           itab_saldo_ato-tipo,

           itab_saldo_ato-nrseqd,

           itab_saldo_ato-saldo.

    APPEND itab_saldo_ato.

* << Fim da exclusão

  ENDLOOP.

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

  LOOP AT itab_saldo_ato WHERE nrato NE space.

    MOVE 'X' TO v_ato.

* << Fim da exclusão

  ENDLOOP.

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

  IF v_ato EQ 'X'.

    DELETE itab_saldo_ato WHERE nrato EQ space.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM ajusta_precos.

  FIELD-SYMBOLS: <fs_zycet118> LIKE LINE OF itab_zycet118,

                 <fs_zycet092> LIKE LINE OF itab_zycet092.

  TYPES: BEGIN OF ty_zycet065,

          inco1       TYPE /pws/zycet065-inco1,

          fob         TYPE /pws/zycet065-fob,

          frete       TYPE /pws/zycet065-frete,

          seguro      TYPE /pws/zycet065-seguro,

          outras_desp TYPE /pws/zycet065-outras_desp,

          desconto    TYPE /pws/zycet065-desconto,

          acrescimo   TYPE /pws/zycet065-acrescimo,

          comissao    TYPE /pws/zycet065-comissao,

         END OF ty_zycet065.

  DATA: wa_zycet065   TYPE ty_zycet065,

        v_despesas    TYPE /pws/zycet002-vlme.

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

  IF itab_zycit282[] IS INITIAL.

* << Fim da inclusão

  SELECT SINGLE inco1

                fob

                frete

                seguro

                outras_desp

                desconto

                acrescimo

                comissao

   FROM /pws/zycet065

   INTO wa_zycet065

...

 

...

          <fs_zycet118>-netpr =

            <fs_zycet118>-netpr -

            itab_zycet002-vldesconto_r +

            itab_zycet002-vlacrescimo_r.

        ENDIF.

      ELSE.

        <fs_zycet118>-vfob = <fs_zycet118>-netpr.

      ENDIF.

    ENDLOOP.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  PERFORM busca_parcelas.

ENDFORM.

FORM verifica_naladi.

  DATA: v_cont(3) TYPE n.

  IF refresh IS INITIAL.

    LOOP AT itab_zycet092.

      CLEAR v_cont.

      LOOP AT itab_zycet081 WHERE steuc = itab_zycet092-ncm.

        ADD 1 TO v_cont.

      ENDLOOP.

...

 

...

        <fs_itemanexo>-netpr =

          <fs_itemanexo>-netpr -

          itab_zycet002-vldesconto_r +

          itab_zycet002-vlacrescimo_r.

      ENDIF.

    ELSE.

      <fs_itemanexo>-vfob = <fs_itemanexo>-netpr.

    ENDIF.

  ENDLOOP.

ENDFORM.

* >> Início da inclusão:

FORM preenche_ncm_anexos

    CHANGING p_ncm

             p_naladi.

  CLEAR itab_t604f.

  READ TABLE itab_t604f WITH KEY steuc = itab_zycet002-steuc.

  IF sy-subrc = 0 AND wa_zycet145-codncmre IS INITIAL.

    CLEAR itab_zycet081.

    READ TABLE itab_zycet081 WITH KEY steuc = itab_t604f-steuc.

    IF NOT sy-subrc IS INITIAL.

      v_ncm = itab_t604f-steuc.

      sy-subrc = 0.

      WHILE sy-subrc IS INITIAL.

        REPLACE '.' WITH space INTO v_ncm.

      ENDWHILE.

      CONDENSE v_ncm NO-GAPS.

      READ TABLE itab_zycet081 WITH KEY steuc = v_ncm.

    ENDIF.

    IF sy-subrc = 0.

      MOVE: itab_t604f-steuc        TO itab_zycet118-ncm.

      MOVE: itab_zycet081-codnaladi TO itab_zycet118-naladi.

    ELSE.

      MOVE:  itab_t604f-steuc          TO itab_zycet118-ncm,

             itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

    ENDIF.

  ELSE.

    CLEAR itab_zycet081.

    IF NOT itab_t604f-/pws/codncmre IS INITIAL.

      WRITE itab_t604f-/pws/codncmre(8) TO v_ncm USING

            EDIT MASK '____.__.__'.

      READ TABLE itab_zycet081 WITH KEY steuc = v_ncm.

      IF NOT sy-subrc IS INITIAL.

        READ TABLE itab_zycet081 WITH KEY steuc =

                                itab_t604f-/pws/codncmre(8).

      ENDIF.

      IF sy-subrc = 0.

        MOVE: itab_t604f-/pws/codncmre TO itab_zycet118-ncm.

        MOVE: itab_zycet081-codnaladi  TO itab_zycet118-naladi.

      ELSE.

        MOVE:  itab_t604f-/pws/codncmre  TO itab_zycet118-ncm,

               itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

      ENDIF.

    ELSEIF NOT itab_t604f-/pws/codnaladi IS INITIAL.

      MOVE: itab_t604f-/pws/codnaladi TO itab_zycet118-naladi.

    ENDIF.

  ENDIF.

ENDFORM.

FORM calcula_anexos

            USING

                v_fkimg

            CHANGING

                p_netpr

                p_ntgew

                p_brgew

                p_vlagente.

  itab_zycet118-vfob = ( itab_zycet118-vfob * v_fkimg ) /

                            itab_zycet002-fkimg.

  p_netpr =  itab_zycet002-vlme_r /

                          ( itab_zycet002-fkimg / v_fkimg ).

  p_vlagente = ( itab_zycet002-vlagente * v_fkimg ) /

                            itab_zycet002-fkimg.

  v_fkimg_aux = v_fkimg.

  IF itab_zycet002-vrkme NE itab_zycet002-gewei.

    PERFORM converte_um USING v_fkimg_aux

                             itab_zycet002-vrkme

                             itab_zycet002-gewei

                             itab_zycet002-matnr

    CHANGING v_fkimg_aux.

  ENDIF.

  p_ntgew =  itab_zycet002-ntgew /

                           ( itab_zycet002-ntgew / v_fkimg_aux ).

  p_brgew =  itab_zycet002-brgew /

                        ( itab_zycet002-brgew / v_fkimg_aux ).

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCE041TOP

 

...

        INCLUDE STRUCTURE /pws/zycet066.

DATA: END OF itab_zycet066.

DATA: itab_zycet145 LIKE /pws/zycet145 OCCURS 10 WITH HEADER LINE.

DATA: itab_zycet285 LIKE /pws/zycet285 OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF itab_saldo_ato OCCURS 10,

        nrato     LIKE /pws/zycet118-nrato,

        vbeln_va  LIKE /pws/zycet002-vbeln_va,

        vbeln_vl  LIKE /pws/zycet002-vbeln_vl,

        aupos     LIKE /pws/zycet002-aupos,

        posnl     LIKE /pws/zycet002-posnl,

* >> Início da inclusão:

        ebeln     LIKE /pws/zycet002-ebeln,

        ebelp     LIKE /pws/zycet002-ebelp,

* << Fim da inclusão

        tipo      LIKE /pws/zycet118-tipo,

        nrseqd    LIKE /pws/zycit283-nrseqd,

        fkimg     LIKE /pws/zycet002-fkimg,

        saldo     LIKE /pws/zycet002-fkimg,

     END OF itab_saldo_ato.

DATA : BEGIN OF itab_itemre OCCURS 10,

        nrseq     LIKE /pws/zycet002-nrseq,

        nrseqre   LIKE /pws/zycet116-nrseqre,

        vbeln_va  LIKE /pws/zycet002-vbeln_va,

        vbeln_vl  LIKE /pws/zycet002-vbeln_vl,

...

 

...

         vbeln_vf   LIKE /pws/zycit282-vbeln_vf,

         posnr      LIKE /pws/zycit282-posnr,

         docnum     LIKE /pws/zycit282-docnum,

         vbeln_vl   LIKE /pws/zycit282-vbeln_va,

         posnl      LIKE /pws/zycit282-posnl,

         nrseqd     LIKE /pws/zycit282-nrseqd,

         matnr_exp  LIKE /pws/zycit282-matnr_exp,

         eebeln     LIKE /pws/zycit282-a_ebeln,

         eebelp     LIKE /pws/zycit282-a_ebelp,

         meins_e    LIKE /pws/zycit282-meins_e,

* >> Início da inclusão:

         meins_i    LIKE /pws/zycit282-meins_i,

* << Fim da inclusão

         qtd_mexp   LIKE /pws/zycit282-qtd_mexp,

         qtd_eorg   LIKE /pws/zycit282-qtd_eorg,

         quebra     LIKE /pws/zycit282-quebra,

         a_nrseqd   LIKE /pws/zycit282-a_nrseqd,

         j_1bnbmimp LIKE /pws/zycit282-j_1bnbmimp,

         docnumimp  LIKE /pws/zycit282-docnumimp,

         buzei      LIKE /pws/zycit282-buzei,

         nratoc     LIKE /pws/zycit244-nratoc,

         tipo       LIKE /pws/zycit244-tipo,

         lifnr      LIKE /pws/zycit244-lifnr,

...

 

...

        v_netpr(18)     TYPE c,

        v_vfob(18)      TYPE c,

        v_vlagente(18)  TYPE c,

        v_ntgew1(18)    TYPE c,

        v_brgew1(18)    TYPE c,

        v_netpr1(18)    TYPE c,

        v_vfob1(18)     TYPE c,

        v_vlagente1(18) TYPE c,

        v_fkimg(18)     TYPE c,

        v_fkimg1(18)    TYPE c,

* >> Início da inclusão:

        v_fkimg_aux     TYPE /pws/zycet002-ntgew,

* << Fim da inclusão

        v_ato(1)        TYPE c,

        v_ncm           LIKE /pws/zycet081-steuc.

CONSTANTS: c_forma LIKE /pws/zycet285-acordo VALUE 'FORMA',

           c_sim   LIKE /pws/zycet037-centro_dif VALUE '1'.

DATA: optcria_1(1)       TYPE c,

      optcria_2(1)       TYPE c,

      optcria_3(1)       TYPE c.

DATA: v_inco1_ant LIKE /pws/zycet002-inco1,

      v_inco1_atu LIKE /pws/zycet002-inco1.

DATA: v_msg_999 TYPE c.

...