CE PLUS - Nota 008250

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Despesas

Data/Hora da Publicação: 27/03/2009 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:50:49

Descrição da Nota: SELEÇÃO DE CONTAS PARA ITENS SEM MATUSE

Sintoma

Não está contabilizando a fatura de despesa para itens sem matuse.

 

 

Solução

Ajustado programa para buscar a conta utilizando a classe de avaliação de acordo com o grupo de

mercadoria informado no pedido.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

RATEIO DAS DESPESAS

IMPLEMENTAÇÃO DA FATURA DE SERVIÇO COM PEDIDO DE SERVIÇO

AJUSTE DE PERFORMANCE NA CRIAÇÃO DA FATURA

Informações Complementares

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

Nota Número 08250 Data: 27/03/2009 Hora: 11:37:23

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

 

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

Nota Número              : 08250

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00009

Agrupamento              : 00091

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

Referência às notas relacionadas:

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

 

03893  - 00001 - 7.0    - 00001  - AJUSTE DE PERFORMANCE NA CRIAÇÃO DA FATURA

05776  - 00002 - 7.0    - 00004  - RATEIO DAS DESPESAS

08116  - 00003 - 7.0    - 00008  - IMPLEMENTAÇÃO DA FATURA DE SERVIÇO COM PEDIDO DE SERVIÇO

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

SELEÇÃO DE CONTAS PARA ITENS SEM MATUSE

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

Palavras Chave:

FATURA - ITENS - MATUSE - UTILIZAÇÃO - CONTAS - SELEÇÃO

/PWS/SAPMZYCI003

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

Objetos da nota:

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003O01

REPS /PWS/MZYCI003TOP

REPS /PWS/MZYCI003X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

     /pws/zycie006-tpfatura EQ '11'.

    IF NOT itab_zycit003[] IS INITIAL.

      CLEAR: itab_ekkn. FREE itab_ekkn.

      SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

             FROM ekkn INTO TABLE itab_ekkn

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

      CLEAR: itab_matuse. FREE itab_matuse.

      SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks

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

             matkl

* << Fim da inclusão

             FROM ekpo INTO TABLE itab_matuse

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_classe_aval  , itab_param_classe.

    REFRESH: itab_classe_aval, itab_param_classe.

    IF NOT itab_matuse[] IS INITIAL.

      SELECT werks bwkey FROM t001w INTO TABLE itab_t001w

             FOR ALL ENTRIES IN itab_matuse WHERE

...

 

...

          itab_matuse-bwkey = itab_t001w-bwkey.

          MODIFY itab_matuse.

        ENDIF.

      ENDLOOP.

      SELECT matnr bwkey bwtar bklas

       FROM mbew INTO TABLE itab_classe_aval

        FOR ALL ENTRIES IN itab_matuse

      WHERE matnr EQ itab_matuse-matnr

        AND bwkey EQ itab_matuse-bwkey

        AND bwtar EQ itab_matuse-bwtar.

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

      IF /pws/zycie006-tpfatura EQ '11' AND

         itab_classe_aval[] IS INITIAL.

        SELECT matnr bwkey bwtar bklas

         FROM mbew INTO TABLE itab_classe_aval

          FOR ALL ENTRIES IN itab_matuse

        WHERE bwkey EQ itab_matuse-bwkey

          AND mtuse EQ space. "#EC CI_NOFIRST

         READ TABLE itab_classe_aval INDEX 1.

* << Fim da exclusão

      ENDIF.

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

    ENDIF.

* << Fim da exclusão

    IF NOT itab_classe_aval[] IS INITIAL.

      SELECT * FROM /pws/zycit135 INTO TABLE itab_param_classe

             FOR ALL ENTRIES IN itab_classe_aval

             WHERE bklas EQ itab_classe_aval-bklas.

    ENDIF.

    CLEAR: itab_zycbt035_aux. FREE itab_zycbt035_aux.

...

 

...

                                          bwkey = itab_zycit003-werks

                                          bwtar = itab_matuse-bwtar.

        IF sy-subrc EQ 0.

          MOVE:

             itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

             itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

        ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                space                  TO itab_zycbt035_aux-bklas .

        ENDIF.

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

      ELSE.

      IF /pws/zycie006-tpfatura EQ '11'.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                itab_matuse-knttp      TO itab_zycbt035_aux-knttp ,

                itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

* << Fim da exclusão

      ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                itab_matuse-knttp      TO itab_zycbt035_aux-knttp ,

                space                  TO itab_zycbt035_aux-bklas .

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

        IF itab_matuse-j_1bmatuse IS INITIAL.

          CLEAR: itab_t023.

          READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.

          IF sy-subrc NE 0.

            SELECT SINGLE * FROM t023 INTO itab_t023

                WHERE matkl EQ itab_matuse-matkl.

            APPEND itab_t023.

          ENDIF.

          MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      itab_zycbt035_aux-d_valut     = /pws/zycie006-dtd_conta.

      IF v_parcela = 'X' AND /pws/zycit477 IS INITIAL.

        IF v_line = v_index.

          itab_zycbt035_aux-wrbtr = itab_zycit132-vlparc - v_tot_parc.

        ELSE.

          itab_zycbt035_aux-wrbtr       = itab_zycit132-vlparc *

                 ( itab_zycit003-total / /pws/zycie006-vltotal ).

          PERFORM trata_decimais USING    /pws/zycie006-waers

...

 

...

    ENDLOOP.

    CLEAR: itab_ekkn. FREE itab_ekkn.

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

             FROM ekkn INTO TABLE itab_ekkn

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

      CLEAR: itab_matuse. FREE itab_matuse.

      SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks

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

             matkl

* << Fim da inclusão

             FROM ekpo INTO TABLE itab_matuse

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_classe_aval  , itab_param_classe.

    REFRESH: itab_classe_aval, itab_param_classe.

    IF NOT itab_matuse[] IS INITIAL.

      SELECT werks bwkey FROM t001w INTO TABLE itab_t001w

             FOR ALL ENTRIES IN itab_matuse WHERE

...

 

...

             itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

             itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

        ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                space                  TO itab_zycbt035_aux-bklas .

        ENDIF.

      ELSE.

        MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

              itab_matuse-knttp      TO itab_zycbt035_aux-knttp ,

              space                  TO itab_zycbt035_aux-bklas .

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

        IF itab_matuse-j_1bmatuse IS INITIAL.

          CLEAR: itab_t023.

          READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.

          IF sy-subrc NE 0.

            SELECT SINGLE * FROM t023 INTO itab_t023

                WHERE matkl EQ itab_matuse-matkl.

            APPEND itab_t023.

          ENDIF.

          MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.

* << Fim da inclusão

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

      IF /pws/zycit000-clucro_ia = 'X'.

        PERFORM verifica_centro_l.

      ENDIF.

      itab_zycbt035_aux-d_valut  = /pws/zycie006-dtd_conta.

      IF v_index = v_line.

        itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_frete.

...

 

...

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

             FROM ekkn INTO TABLE itab_ekkn

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_matuse. FREE itab_matuse.

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks

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

             matkl

* << Fim da inclusão

             FROM ekpo INTO TABLE itab_matuse

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_classe_aval  , itab_param_classe.

    REFRESH: itab_classe_aval, itab_param_classe.

    IF NOT itab_matuse[] IS INITIAL.

      SELECT werks bwkey FROM t001w INTO TABLE itab_t001w

             FOR ALL ENTRIES IN itab_matuse WHERE

...

 

...

                                    ebelp = itab_zycit003-ebelp.

      CLEAR itab_ekkn.

      READ TABLE itab_ekkn WITH KEY ebeln = itab_zycit003-ebeln

                                    ebelp = itab_zycit003-ebelp.

      CLEAR itab_matuse.

      READ TABLE itab_matuse WITH KEY ebeln = itab_zycit003-ebeln

                                      ebelp = itab_zycit003-ebelp.

      MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

            itab_matuse-knttp      TO itab_zycbt035_aux-knttp,

            space                  TO itab_zycbt035_aux-bklas .

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

      IF itab_matuse-j_1bmatuse IS INITIAL.

        CLEAR: itab_t023.

        READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.

        IF sy-subrc NE 0.

          SELECT SINGLE * FROM t023 INTO itab_t023

              WHERE matkl EQ itab_matuse-matkl.

          APPEND itab_t023.

        ENDIF.

        MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.

      ENDIF.

* << Fim da inclusão

      itab_zycbt035_aux-d_valut  = /pws/zycie006-dtd_conta.

      IF v_index = v_line.

        itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_seg.

      ELSE.

        IF /pws/zycit031-inco1_ci = 'FOB'.

          itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal *

                  ( itab_frete-total +

                  ( itab_zycit003-vlreal * itab_zycit003-qtd_iten ) ) /

                   ( v_tfrete + v_tvlreal ).

        ELSEIF /pws/zycit031-inco1_ci = 'CIF' OR

...

 

...

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

             FROM ekkn INTO TABLE itab_ekkn

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_matuse. FREE itab_matuse.

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks

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

             matkl

* << Fim da inclusão

             FROM ekpo INTO TABLE itab_matuse

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_classe_aval  , itab_param_classe.

    REFRESH: itab_classe_aval, itab_param_classe.

    IF NOT itab_matuse[] IS INITIAL.

      SELECT werks bwkey FROM t001w INTO TABLE itab_t001w

             FOR ALL ENTRIES IN itab_matuse WHERE

...

 

...

               itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

               itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

          ELSE.

            MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                  space                  TO itab_zycbt035_aux-bklas .

          ENDIF.

        ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                itab_matuse-knttp      TO itab_zycbt035_aux-knttp,

                space                  TO itab_zycbt035_aux-bklas .

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

          IF itab_matuse-j_1bmatuse IS INITIAL.

            CLEAR: itab_t023.

            READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.

            IF sy-subrc NE 0.

              SELECT SINGLE * FROM t023 INTO itab_t023

                  WHERE matkl EQ itab_matuse-matkl.

              APPEND itab_t023.

            ENDIF.

            MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.

* << Fim da inclusão

        ENDIF.

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

        ENDIF.

* << Fim da inclusão

        IF /pws/zycit000-clucro_ia = 'X'.

          PERFORM verifica_centro_l.

        ENDIF.

        itab_zycbt035_aux-d_valut  = /pws/zycie006-dtd_conta.

        IF v_index = v_line.

          itab_zycbt035_aux-wrbtr = itab_zycit047-vldp - v_valor_desp.

...

 

...

    CLEAR: itab_ekkn. FREE itab_ekkn.

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

             FROM ekkn INTO TABLE itab_ekkn

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_matuse. FREE itab_matuse.

    IF NOT itab_zycit003[] IS INITIAL.

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

      SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks

* << Fim da exclusão

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

      SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks matkl

* << Fim da inclusão

             FROM ekpo INTO TABLE itab_matuse

             FOR ALL ENTRIES IN itab_zycit003

             WHERE ebeln = itab_zycit003-ebeln

               AND ebelp = itab_zycit003-ebelp.

    ENDIF.

    CLEAR: itab_classe_aval  , itab_param_classe.

    REFRESH: itab_classe_aval, itab_param_classe.

    IF NOT itab_matuse[] IS INITIAL.

      SELECT werks bwkey FROM t001w INTO TABLE itab_t001w

             FOR ALL ENTRIES IN itab_matuse WHERE

...

 

...

             itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

             itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

        ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                space                  TO itab_zycbt035_aux-bklas .

        ENDIF.

      ELSE.

        MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

              itab_matuse-knttp      TO itab_zycbt035_aux-knttp,

              space                  TO itab_zycbt035_aux-bklas .

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

        IF itab_matuse-j_1bmatuse IS INITIAL.

          CLEAR: itab_t023.

          READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.

          IF sy-subrc NE 0.

            SELECT SINGLE * FROM t023 INTO itab_t023

                WHERE matkl EQ itab_matuse-matkl.

            APPEND itab_t023.

          ENDIF.

          MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.

* << Fim da inclusão

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

      IF /pws/zycit000-clucro_ia = 'X'.

        PERFORM verifica_centro_l.

      ENDIF.

      itab_zycbt035_aux-d_valut  = /pws/zycie006-dtd_conta.

      IF v_index = v_line.

        itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_desp.

...

 

...

    CLEAR: itab_zycbt035     ,

           itab_zycbt035_aux2.

    REFRESH: itab_zycbt035,

           itab_zycbt035_aux2.

    FREE : itab_zycbt035     ,

           itab_zycbt035_aux2.

    CLEAR v_tot_valor.

    IF itab_zycit003[] IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit006

        WHERE nrfat = /pws/zycie006-nrfat

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

          AND eliminado NE 'X'.                         "#EC CI_NOFIELD

* << Fim da exclusão

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

        AND eliminado NE 'X'.                           "#EC CI_NOFIELD

* << Fim da inclusão

      IF /pws/zycit006-tpfatura = '01'.

        SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

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

          WHERE nrseq_pgfat = /pws/zycit006-nrseq_pgfat."#EC CI_NOFIELD

* << Fim da exclusão

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

        WHERE nrseq_pgfat = /pws/zycit006-nrseq_pgfat.  "#EC CI_NOFIELD

* << Fim da inclusão

      ELSE.

        IF NOT itab_zycit094[] IS INITIAL.

...

 

...

    SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

           FROM ekkn

           INTO TABLE itab_ekkn

           FOR ALL ENTRIES IN itab_zycit003

           WHERE ebeln = itab_zycit003-ebeln

             AND ebelp = itab_zycit003-ebelp.

  ENDIF.

  FREE itab_matuse.

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT ebeln ebelp matnr bwtar j_1bmatuse

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

           knttp werks umrez umren lmein

* << Fim da exclusão

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

           knttp werks umrez umren lmein matkl

* << Fim da inclusão

           FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab_matuse

           FOR ALL ENTRIES IN itab_zycit003

           WHERE ebeln = itab_zycit003-ebeln

             AND ebelp = itab_zycit003-ebelp.

  ENDIF.

  CLEAR:   itab_classe_aval ,

           itab_param_classe.

  REFRESH: itab_classe_aval ,

           itab_param_classe.

  IF NOT itab_matuse[] IS INITIAL.

...

 

...

      IF sy-subrc EQ 0.

        itab_matuse-bwkey = itab_t001w-bwkey.

        MODIFY itab_matuse.

      ENDIF.

    ENDLOOP.

   SELECT matnr bwkey bwtar bklas FROM mbew INTO TABLE itab_classe_aval

                                         FOR ALL ENTRIES IN itab_matuse

                                       WHERE matnr EQ itab_matuse-matnr

                                         AND bwkey EQ itab_matuse-bwkey

                                         AND bwtar EQ itab_matuse-bwtar.

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

    IF /pws/zycie006-tpfatura EQ '11' AND

       itab_classe_aval IS INITIAL.

         SELECT matnr bwkey bwtar bklas

         FROM mbew INTO TABLE itab_classe_aval

         FOR ALL ENTRIES IN itab_matuse

         WHERE bwkey EQ itab_matuse-bwkey

           AND mtuse EQ space. "#EC CI_NOFIRST

         READ TABLE itab_classe_aval INDEX 1.

* << Fim da exclusão

    ENDIF.

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

  ENDIF.

* << Fim da exclusão

  IF NOT itab_classe_aval[] IS INITIAL.

    SELECT * FROM /pws/zycit135 INTO TABLE itab_param_classe

           FOR ALL ENTRIES IN itab_classe_aval

           WHERE bklas EQ itab_classe_aval-bklas.

  ENDIF.

  FREE itab_zycbt035_aux.

...

 

...

                itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

        ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                space              TO itab_zycbt035_aux-bklas .

        ENDIF.

      ELSE.

        MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

              space                  TO itab_zycbt035_aux-bklas .

      ENDIF.

    ELSE.

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

      IF /pws/zycie006-tpfatura EQ '11'.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .

* << Fim da exclusão

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

      IF itab_matuse-j_1bmatuse IS INITIAL.

        CLEAR: itab_t023.

        READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.

        IF sy-subrc NE 0.

          SELECT SINGLE * FROM t023 INTO itab_t023

              WHERE matkl EQ itab_matuse-matkl.

          APPEND itab_t023.

        ENDIF.

        MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.

* << Fim da inclusão

      ELSE.

          MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,

                space                  TO itab_zycbt035_aux-bklas .

      ENDIF.

    ENDIF.

    itab_zycbt035_aux-wrbtr       = itab_zycit003-total.

    itab_zycbt035_aux-werks       = itab_zycit003-werks.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = /pws/zycie006-bukrs

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003O01

 

...

                                    ebelp = itab_zycit003-ebelp.

      IF sy-subrc NE 0.

        DELETE itab_zycit003.

      ENDIF.

    ENDLOOP.

    MOVE itab_zycit003[] TO itab_zycit003_ini[].

    CLEAR v_importou.

  ENDIF.

  IF NOT itab_zycit003[] IS INITIAL AND itab_matuse[] IS INITIAL.

    FREE itab_matuse.

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

    SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp FROM ekpo

* << Fim da exclusão

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

    SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp matkl FROM ekpo

* << Fim da inclusão

           INTO TABLE itab_matuse

           FOR ALL ENTRIES IN itab_zycit003

           WHERE ebeln = itab_zycit003-ebeln

             AND ebelp = itab_zycit003-ebelp.

    IF NOT itab_matuse[] IS INITIAL.

      SELECT matnr mfrpn FROM mara

        INTO TABLE itab_mara

        FOR ALL ENTRIES IN itab_matuse

         WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003TOP

 

...

DATA: BEGIN OF itab_matuse OCCURS 0.

DATA: ebeln      LIKE ekpo-ebeln,

      ebelp      LIKE ekpo-ebelp,

      matnr      LIKE ekpo-matnr,

      bwtar      LIKE ekpo-bwtar,

      j_1bmatuse LIKE ekpo-j_1bmatuse,

       knttp      LIKE ekpo-knttp,

       werks      LIKE t001w-werks,

* >> Início da inclusão:

       matkl      LIKE ekpo-matkl,

* << Fim da inclusão

       bwkey      LIKE mbew-bwkey.

DATA: END OF itab_matuse .

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

* >> Início da inclusão:

DATA: itab_t023 TYPE t023 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

DATA: END OF COMMON PART.