CE PLUS - Nota 005187

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 09/11/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:19:27

Descrição da Nota: LANÇAMENTO DE CENTRO DE LUCRO

Sintoma

Lançamento de Centro de Lucro em contabilizações de embarque de importação.

 

 

Solução

Novo tratamento para lançamento de centro de lucro nas contabilizações

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

NO BI DA PRESTAÇÃO DE CONTAS NÃO ENVIA BANCO PARCEIRO.

Informações Complementares

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

Nota Número 05187 Data: 09/11/2007 Hora: 17:16:45

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

 

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

Nota Número              : 05187

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00020

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

Referência às notas relacionadas:

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

 

05156  - 00001 - 7.0    - 00003  - NO BI DA PRESTAÇÃO DE CONTAS NÃO ENVIA BANCO PARCEIRO.

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

LANÇAMENTO DE CENTRO DE LUCRO

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

Palavras Chave:

LANÇAMENTO - CENTRO DE LUCRO - CONTABILIZAÇÕES - EMBARQUE

IMPORTAÇÃO

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

Objetos da nota:

FUNC /PWS/ZYCI_CENTRO_LUCRO

FUNC /PWS/ZYCI_TRANSACAO_F47_A

REPS /PWS/LZYCIGF2F01

REPS /PWS/LZYCIGF2UXX

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI007F02

REPS /PWS/MZYCI010F03

REPS /PWS/MZYCI012F01

REPS /PWS/MZYCI012TOP

REPS /PWS/MZYCI013F01

REPS /PWS/MZYCI017F02

REPS /PWS/MZYCI017TOP

REPS /PWS/MZYCI037F01

REPS /PWS/MZYCI070F05

REPS /PWS/MZYCI074F01

REPS /PWS/MZYCI074TOP

REPS /PWS/MZYCI075F02

REPS /PWS/MZYCI076F01

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_CENTRO_LUCRO

 

*A seguinte função foi criada

 

*Características

 

 Grupo de funções     /PWS/ZYCIGF2

 Texto breve          Busca Centro de Lucro

 

 Módulo de função normal

 Início Imediato

 

*Importação

Nome Parâmetro   Atributo  Tipo referência

EBELN          TYPE EBELN

EBELP          TYPE EBELP

 

*Exportação

Nome Parâmetro   Atributo  Tipo referência

 

EBELN            TYPE EBELN

EBELP          TYPE EBELP

 

 

*Texto fonte

 

FUNCTION /pws/zyci_centro_lucro.

*"----------------------------------------------------------------------

*"*"Interface local:

*"  IMPORTING

*"     REFERENCE(EBELN) TYPE  EBELN

*"     REFERENCE(EBELP) TYPE  EBELP

*"  EXPORTING

*"     REFERENCE(CENTRO_LUCRO) TYPE  PRCTR

*"----------------------------------------------------------------------

 

  DATA: t_ekpo LIKE ekpo OCCURS 0 WITH HEADER LINE.

  DATA: t_ekkn LIKE ekkn OCCURS 0 WITH HEADER LINE.

 

  SELECT * INTO TABLE t_ekpo FROM ekpo

   WHERE ebeln EQ ebeln AND

         ebelp EQ ebelp.

 

  READ TABLE t_ekpo INDEX 1.

 

  SELECT * INTO TABLE t_ekkn FROM ekkn

   WHERE ebeln EQ ebeln AND

         ebelp EQ ebelp.

 

  READ TABLE t_ekkn INDEX 1.

 

  IF t_ekpo-knttp IS INITIAL AND t_ekpo-j_1bmatuse NE '3'.

 

    SELECT SINGLE prctr FROM marc INTO centro_lucro

       WHERE matnr EQ t_ekpo-matnr AND

             werks EQ t_ekpo-werks.

 

  ELSEIF t_ekpo-knttp = 'K' AND t_ekpo-j_1bmatuse NE '3'.

 

    SELECT SINGLE prctr FROM csks INTO centro_lucro

      WHERE kostl EQ t_ekkn-kostl

        AND kokrs EQ t_ekkn-kokrs.

 

 

  ELSEIF t_ekpo-knttp = 'F' AND t_ekpo-j_1bmatuse NE '3'.

 

    SELECT SINGLE prctr FROM aufk INTO centro_lucro

      WHERE aufnr EQ t_ekkn-aufnr.

 

  ELSEIF t_ekpo-knttp EQ 'A'.

 

    centro_lucro = t_ekkn-prctr.

 

  ELSEIF t_ekpo-knttp EQ 'P'.

 

    SELECT SINGLE prctr INTO centro_lucro FROM aufk

     WHERE aufnr EQ t_ekkn-nplnr.

 

  ELSEIF t_ekpo-knttp EQ 'Q'.

 

    SELECT SINGLE prctr INTO centro_lucro FROM prps

     WHERE posid EQ t_ekkn-ps_psp_pnr.

 

  ELSEIF t_ekpo-knttp EQ 'E'.

 

    SELECT SINGLE ko_prctr INTO centro_lucro FROM ekpo

      WHERE ebeln EQ ebeln AND

            ebelp EQ ebelp.

 

  ENDIF.

 

  IF centro_lucro IS INITIAL.

    centro_lucro = t_ekkn-prctr.

  ENDIF.

 

ENDFUNCTION.

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F47_A

 

...

         t_divisao-d_valut TO v_data_val_char,

         t_divisao-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

         t_divisao-zfbdt   TO v_data_venc_char.

      PERFORM bdc_screen USING 'SAPMF05A' '0304'.

      PERFORM bdc_field  USING:

           'BSEG-WRBTR'    v_wrbtr,

           'RF05A-XMWST'   t_dados-xmwst.

      PERFORM bdc_field  USING:

           'BSEG-ZFBDT'    v_data_venc_char,

           'BSEG-ZLSPR'    t_dados-zlspr,

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

           'BSEG-PRCTR'    T_DADOS-D_PRCTR,

* << Fim da inclusão

           'BSEG-ZLSCH'    t_dados-zlsch.

      IF NOT t_dados-brnch IS INITIAL.

        PERFORM bdc_field  USING

             'BSEG-BUPLA'    t_dados-brnch.

      ENDIF.

      IF NOT t_dados-ebeln IS INITIAL.

        PERFORM bdc_field  USING:

           'BSEG-EBELN'    t_dados-ebeln,

           'BSEG-EBELP'    t_dados-ebelp.

      ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2F01

 

...

  itab_contas-mandt  = sy-mandt.

  itab_contas-tabela = '/PWS/ZYCIT044'.

  IF vl_variacao > 0.

    itab_contas-bschl  = '40'.

  ELSEIF vl_variacao < 0.

    itab_contas-bschl  = '50'.

  ELSE .

    v_erro_f05 = 'S'.

  ENDIF.

  itab_contas-c_kostl = itab_contas-d_kostl = itab_di_aux-kostl.

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

    if /pws/zycit000-FLAG_RECLASS = 'X'.

* << Fim da inclusão

  itab_contas-c_prctr = itab_contas-d_prctr = itab_di_aux-prctr.

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

    if not itab_contas-d_prctr is initial.

      clear: itab_contas-d_kostl, itab_contas-C_kostl.

    endif.

    endif.

* << Fim da inclusão

  itab_contas-d_newko = itab_bsis_aux-hkont.

  APPEND itab_contas.

  CLEAR itab_contas.

  endloop.

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

  CLEAR v_variacao.

  LOOP AT itab_di_aux WHERE

     hkont = itab_matuse_aux2-hkont.

    v_cont = v_cont - 1 .

    IF v_cont = 0.

      itab_contas-wrbtr  =  p_valor - v_variacao.

    ELSE.

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

        itab_contas-wrbtr  =

           p_valor * ( itab_di_aux-vlfob /  vl_total ).

      ELSEIF /pws/zycit031-inco1_ci = 'C&F'.

        itab_contas-wrbtr  =

           p_valor * ( ( itab_di_aux-vlfob + itab_di_aux-vlfre +

           itab_di_aux-vlfren ) /  vl_total ).

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

        itab_contas-wrbtr  = p_valor * ( ( itab_di_aux-vlfob +

     itab_di_aux-vlfre + itab_di_aux-vlfren +  itab_di_aux-vlseg ) /

          vl_total ).

      ENDIF.

      v_variacao = v_variacao + itab_contas-wrbtr.

    ENDIF.

* << Fim da inclusão

  itab_contas-tcode  = 'F-05'.

  itab_contas-mandt  = sy-mandt.

  itab_contas-tabela = '/PWS/ZYCIT044'.

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

  itab_contas-c_kostl = itab_contas-d_kostl = itab_di-kostl.

  IF /pws/zycit000-clucro_ia NE space.

    itab_contas-c_prctr = itab_contas-d_prctr = itab_di-prctr.

* << Fim da exclusão

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

    itab_contas-c_kostl = itab_contas-d_kostl = itab_di_aux-kostl.

    if /pws/zycit000-FLAG_RECLASS = 'X'.

    itab_contas-c_prctr = itab_contas-d_prctr = itab_di_aux-prctr.

    if not itab_contas-d_prctr is initial.

      clear: itab_contas-d_kostl, itab_contas-C_kostl.

    endif.

* << Fim da inclusão

  ENDIF.

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

       EXPORTING

            input  = itab_matuse_aux2-hkont

       IMPORTING

            output = v_conta.

  CLEAR itab_cta. REFRESH itab_cta.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycie085-bukrs

...

 

...

            rules_not_found = 2

            OTHERS          = 3.

  READ TABLE itab_cta INDEX 1.

  IF vl_variacao > 0.

    itab_contas-bschl  = '50'.

    itab_contas-d_newko = itab_cta-konth.

  ELSE.

    itab_contas-bschl  = '40'.

    itab_contas-d_newko = itab_cta-konts.

  ENDIF.

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

  itab_contas-wrbtr  = abs( vl_variacao ).

* << Fim da exclusão

  APPEND itab_contas.

  CLEAR itab_contas.

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

  ENDLOOP.

* << Fim da inclusão

ENDFORM.

...

 

...

...

        END OF itab_marc.

  DATA: BEGIN OF itab_csks OCCURS 0,

          kostl  LIKE csks-kostl,

          kokrs  LIKE csks-kokrs,

          prctr  LIKE csks-prctr,

        END OF itab_csks.

  DATA: BEGIN OF itab_aufk OCCURS 0,

          aufnr  LIKE aufk-aufnr,

          prctr  LIKE aufk-prctr,

        END OF itab_aufk.

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

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR: itab_di-prctr.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

    itab_di-prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR: itab_di-prctr.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

* << Fim da exclusão

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

       EXPORTING

            ebeln        = itab_matuse-ebeln

            ebelp        = itab_matuse-ebelp

       IMPORTING

            centro_lucro = itab_di-prctr.

* << Fim da inclusão

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

    itab_di-prctr = itab_csks-prctr.

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR: itab_di-prctr.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

 

 

      WHERE aufnr EQ itab_ekkn-aufnr.

    itab_di-prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM carrega_exits

     CHANGING

         zyglt100 LIKE itab_zyglt100[].

  CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

    EXPORTING

      i_codmod                = 'D'

      i_func                  = '/PWS/LZYCIGF5U05'

    TABLES

      itab_zyglt100           =  zyglt100

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2UXX

 

...

INCLUDE /PWS/LZYCIGF2U02.

INCLUDE /PWS/LZYCIGF2U06.

INCLUDE /PWS/LZYCIGF2U10.

INCLUDE /PWS/LZYCIGF2U17.

INCLUDE /PWS/LZYCIGF2U18.

INCLUDE /PWS/LZYCIGF2U19.

INCLUDE /PWS/LZYCIGF2U20.

INCLUDE /PWS/LZYCIGF2U25.

INCLUDE /PWS/LZYCIGF2U41.

INCLUDE /PWS/LZYCIGF2U42.

* >> Início da inclusão:

INCLUDE /PWS/LZYCIGF2U43.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

  LOOP AT itab_zycit036_s.

    IF itab_zycit036_s-origem EQ 'FAT'.

      itab_zycit036_s-congelamov = 'X'.

      MODIFY itab_zycit036_s.

      MODIFY /pws/zycit036 FROM itab_zycit036_s.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM verifica_centro_l.

  CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

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

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

    itab_zycbt035_aux-d_prctr = itab_marc-prctr.

    itab_zycbt035_aux-c_prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = itab_zycit003-ebeln

            ebelp        = itab_zycit003-ebelp

       IMPORTING

            centro_lucro = itab_zycbt035_aux-d_prctr.

  itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    itab_zycbt035_aux-d_prctr = itab_csks-prctr.

    itab_zycbt035_aux-c_prctr = itab_csks-prctr.

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    itab_zycbt035_aux-d_prctr = itab_aufk-prctr.

    itab_zycbt035_aux-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM visualiza_rateio.

  DATA: v_programa LIKE /pws/zycit036-origem VALUE 'FAT',

        v_parametro LIKE /pws/zycit003-descr,

        v_erro_tax.

  DATA: v_vinserv TYPE /pws/zycit006-vinserv.

  IF /pws/zycie006-tpfatura EQ 04 .

    v_vinserv = /pws/zycie006-vinserv.

    EXPORT v_vinserv TO MEMORY ID 'VINSERV'.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI007F02

 

...

    ENDIF.

    it_zycbe035-chave   = text-016.

    it_zycbe035-wrbtr   = abs( it_lanca_aux2-lancamento ).

    it_zycbe035-d_gsber = it_lanca_aux2-gsber.

    it_zycbe035-c_gsber = it_lanca_aux2-gsber.

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

      READ TABLE it_ekpo WITH KEY ebeln = it_lanca_aux2-ebeln

                                  ebelp = it_lanca_aux2-ebelp.

      READ TABLE itab_ekkn WITH KEY ebeln = it_lanca_aux2-ebeln

                                    ebelp = it_lanca_aux2-ebelp.

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

      PERFORM verifica_centro_l.

* << Fim da exclusão

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

      PERFORM verifica_centro_l USING it_lanca_aux2-ebeln

                                      it_lanca_aux2-ebelp.

* << Fim da inclusão

    ENDIF.

    CLEAR: v_zuonr, v_nradto1, v_xblnr, it_zycbe033-xblnr.

    CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'

         EXPORTING

              v_nrseq   = /pws/zycie026-nrseq

              v_codeven = '010P'

              v_ktosl   = it_zycbe035-ktosl

              v_nfserv  = /pws/zycie026-nfserv

              v_nrpres  = /pws/zycie026-nrpres

         IMPORTING

...

 

...

      it_zycbe035-c_gsber = it_lanca_aux3-gsber.

      it_zycbe035-d_prctr = it_lanca_aux3-prctr.

      IF t001-land1 EQ 'AR' .

        it_zycbe035-iva     = it_lanca_aux3-iva  .

      ENDIF.

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

        READ TABLE it_ekpo WITH KEY ebeln = it_lanca_aux3-ebeln

                                    ebelp = it_lanca_aux3-ebelp.

        READ TABLE itab_ekkn WITH KEY ebeln = it_lanca_aux3-ebeln

                                      ebelp = it_lanca_aux3-ebelp.

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

        PERFORM verifica_centro_l2.

* << Fim da exclusão

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

        PERFORM verifica_centro_l USING it_lanca_aux3-ebeln

                                        it_lanca_aux3-ebelp.

* << Fim da inclusão

      ENDIF.

      CLEAR: v_zuonr, v_nradto1, v_xblnr, it_zycbe033-xblnr.

      CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'

           EXPORTING

                v_nrseq   = /pws/zycie026-nrseq

                v_codeven = '010P'

                v_ktosl   = it_zycbe035-ktosl

                v_nfserv  = /pws/zycie026-nfserv

                v_nrpres  = /pws/zycie026-nrpres

           IMPORTING

...

 

...

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM salva_estrategia.

  IF v_lib EQ 'X'.

    MOVE: sy-uname TO /pws/zycie026-bname.

    MOVE '2' TO /pws/zycie026-frgzu.

  ENDIF.

ENDFORM.

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

FORM verifica_centro_l.

* << Fim da exclusão

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

FORM verifica_centro_l USING p_ebeln p_ebelp.

* << Fim da inclusão

  CLEAR: it_zycbe035-d_prctr, it_zycbe035-c_prctr.

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

  IF it_lanca_aux2-knttp IS INITIAL AND it_lanca_aux2-matuse NE '3'.

    CLEAR itab_marc. REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

           WHERE matnr EQ it_ekpo-matnr AND

                 werks EQ it_ekpo-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

           WHERE matnr EQ it_ekpo-matnr.

    ENDIF.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = p_ebeln

            ebelp        = p_ebelp

       IMPORTING

            centro_lucro = it_zycbe035-d_prctr.

* << Fim da inclusão

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

    it_zycbe035-d_prctr = itab_marc-prctr.

    it_zycbe035-c_prctr = itab_marc-prctr.

  ELSEIF it_lanca_aux2-knttp = 'K' AND it_lanca_aux2-matuse NE '3'.

    CLEAR itab_csks.  REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

           WHERE kostl EQ itab_ekkn-kostl

             AND kokrs EQ itab_ekkn-kokrs.

* << Fim da exclusão

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

  it_zycbe035-c_prctr = it_zycbe035-d_prctr.

* << Fim da inclusão

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

    it_zycbe035-d_prctr = itab_csks-prctr.

    it_zycbe035-c_prctr = itab_csks-prctr.

  ELSEIF it_lanca_aux2-knttp = 'F' AND it_lanca_aux2-matuse NE '3'.

    CLEAR itab_aufk. REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

           WHERE aufnr EQ itab_ekkn-aufnr.

    it_zycbe035-d_prctr = itab_aufk-prctr.

    it_zycbe035-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM seek_account_number TABLES p_cta STRUCTURE /pws/zygle316

 USING  p_bukrs

        p_ktosl

        p_werks

        p_bklas

        p_codaux1 LIKE /pws/zyglt316-codaux1

        p_codaux2

        p_codaux3.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

        IF sy-subrc NE 0.

          CLEAR: itab_zycit036_aux3-vlmov, itab_zycit036_aux3-vldif.

          MODIFY itab_zycit036_aux3 INDEX v_index.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM verifica_centro_l.

  CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

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

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

    itab_zycbt035_aux-d_prctr = itab_marc-prctr.

    itab_zycbt035_aux-c_prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = itab_zycit003_custo-ebeln

            ebelp        = itab_zycit003_custo-ebelp

       IMPORTING

            centro_lucro = itab_zycbt035_aux-d_prctr.

  itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    itab_zycbt035_aux-d_prctr = itab_csks-prctr.

    itab_zycbt035_aux-c_prctr = itab_csks-prctr.

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    itab_zycbt035_aux-d_prctr = itab_aufk-prctr.

    itab_zycbt035_aux-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

 

...

 

...

 

FORM mult_lancamentos.

  DATA: v_montante LIKE /pws/zycbe035-wrbtr,

        v_indice   LIKE sy-tabix,

        v_tabix    LIKE sy-tabix,

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

        v_wrbtr    LIKE /pws/zycbe035-wrbtr.

* << Fim da exclusão

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

        v_wrbtr    LIKE /pws/zycbe035-wrbtr,

        v_prctr    LIKE /pws/zycbe035-c_prctr.

* << Fim da inclusão

  IF /pws/zycie001 IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycie001

      WHERE nrseq = /pws/zycie001-nrseq.

  ENDIF.

  SELECT a~nrseq b~ebeln b~ebelp b~matnr c~bklas a~werks

         INTO TABLE itab_itens_contas

         FROM /pws/zycit003 AS a

         INNER JOIN ekpo AS b ON a~ebeln = b~ebeln

                             AND a~ebelp = b~ebelp

         INNER JOIN mbew AS c ON b~matnr = c~matnr

...

 

...

    CLEAR itab_zycit003.

    READ TABLE itab_zycit003 WITH KEY

                                     ebeln = itab_zycit003_custo-ebeln

                                     ebelp = itab_zycit003_custo-ebelp.

    CLEAR itab_itens_contas.

    READ TABLE itab_itens_contas WITH KEY

                                     ebeln = itab_zycit003_custo-ebeln

                                     ebelp = itab_zycit003_custo-ebelp.

    READ TABLE itab_ekkn WITH KEY ebeln = itab_zycit003_custo-ebeln

                             ebelp = itab_zycit003_custo-ebelp.

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

    CLEAR: v_prctr.

* << Fim da inclusão

    IF NOT itab_ekkn[] IS INITIAL AND sy-subrc = 0.

      CLEAR v_wrbtr.

      LOOP AT itab_ekkn WHERE   ebeln = itab_zycit003_custo-ebeln

                          AND   ebelp = itab_zycit003_custo-ebelp.

        v_tabix = sy-tabix.

        itab_zycbt035_aux-ebeln       = itab_zycit003_custo-ebeln.

        itab_zycbt035_aux-ebelp       = itab_zycit003_custo-ebelp.

        itab_zycbt035_aux-matnr       = itab_itens_contas-matnr.

        IF itab_zycbt035_aux-menge NE itab_zycit003-qtd_iten.

          itab_zycbt035_aux-menge    = itab_zycit003-qtd_iten.

...

 

...

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '70'.

            CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO

                                               itab_zycbt035_aux-newko.

            READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1

                                          anln2 = itab_ekkn-anln2.

            IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.

              itab_zycbt035_aux-lei102 = 'X'.

            ENDIF.

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

            v_prctr = itab_zycbt035_aux-c_prctr.

* << Fim da inclusão

            CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,

                   itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

            APPEND itab_zycbt035_aux.

            .

            CLEAR: itab_zycbt035_aux-lei102.

          ELSE.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '40'.

            itab_zycbt035_aux-sinal   = '+'.

            APPEND itab_zycbt035_aux.

          ENDIF.

          itab_zycbt035_aux-bschl   = '50'.

          CLEAR: itab_zycbt035_aux-newko,

                itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_kostl,

                itab_zycbt035_aux-d_fipos, itab_zycbt035_aux-d_fictr,

                itab_zycbt035_aux-ps_psp_pnr.

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

          IF itab_zycbt035_aux-c_prctr IS INITIAL.

            itab_zycbt035_aux-c_prctr = v_prctr.

            itab_zycbt035_aux-d_prctr = v_prctr.

          ENDIF.

* << Fim da inclusão

          APPEND itab_zycbt035_aux.

        ELSEIF itab_zycbt035_aux-wrbtr  LT 0 AND

           NOT itab_matuse-knttp IS INITIAL.

          IF NOT /pws/zycit000-classif_cont IS INITIAL AND

                 /pws/zycit000-classif_cont EQ itab_matuse-knttp.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '75'.

            CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO

                                               itab_zycbt035_aux-newko.

            READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1

                                          anln2 = itab_ekkn-anln2.

            IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.

              itab_zycbt035_aux-lei102 = 'X'.

            ENDIF.

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

            v_prctr = itab_zycbt035_aux-c_prctr.

* << Fim da inclusão

            CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,

                   itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

            APPEND itab_zycbt035_aux.

            CLEAR: itab_zycbt035_aux-lei102.

          ELSE.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '50'.

            itab_zycbt035_aux-sinal   = '-'.

            APPEND itab_zycbt035_aux.

          ENDIF.

          itab_zycbt035_aux-bschl   = '40'.

          CLEAR: itab_zycbt035_aux-newko,

                itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_kostl,

                itab_zycbt035_aux-d_fipos, itab_zycbt035_aux-d_fictr,

                itab_zycbt035_aux-ps_psp_pnr.

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

          IF itab_zycbt035_aux-c_prctr IS INITIAL.

            itab_zycbt035_aux-c_prctr = v_prctr.

            itab_zycbt035_aux-d_prctr = v_prctr.

          ENDIF.

* << Fim da inclusão

          APPEND itab_zycbt035_aux.

        ENDIF.

      ENDLOOP.

    ELSE.

      itab_zycbt035_aux-ebeln       = itab_zycit003_custo-ebeln.

      itab_zycbt035_aux-ebelp       = itab_zycit003_custo-ebelp.

      itab_zycbt035_aux-matnr       = itab_itens_contas-matnr.

      IF itab_zycbt035_aux-menge NE itab_zycit003-qtd_iten.

        itab_zycbt035_aux-menge    = itab_zycit003-qtd_iten.

        PERFORM carrega_um USING itab_itens_contas-matnr

...

 

...

          itab_zycbt035_aux-newko =

          itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

          itab_zycbt035_aux-bschl   = '70'.

          CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO

                                             itab_zycbt035_aux-newko.

          READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1

                                        anln2 = itab_ekkn-anln2.

          IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.

            itab_zycbt035_aux-lei102 = 'X'.

          ENDIF.

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

          v_prctr = itab_zycbt035_aux-c_prctr.

* << Fim da inclusão

          CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,

                 itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

          APPEND itab_zycbt035_aux.

          CLEAR: itab_zycbt035_aux-lei102.

        ELSE.

          itab_zycbt035_aux-newko =

          itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

          itab_zycbt035_aux-bschl   = '40'.

          itab_zycbt035_aux-sinal   = '+'.

          APPEND itab_zycbt035_aux.

        ENDIF.

        itab_zycbt035_aux-bschl   = '50'.

        CLEAR: itab_zycbt035_aux-newko,

              itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_fipos,

              itab_zycbt035_aux-d_fictr, itab_zycbt035_aux-ps_psp_pnr.

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

        IF itab_zycbt035_aux-c_prctr IS INITIAL.

          itab_zycbt035_aux-c_prctr = v_prctr.

          itab_zycbt035_aux-d_prctr = v_prctr.

        ENDIF.

* << Fim da inclusão

        APPEND itab_zycbt035_aux.

      ELSEIF itab_zycbt035_aux-wrbtr  LT 0 AND

         NOT itab_matuse-knttp IS INITIAL.

        IF NOT /pws/zycit000-classif_cont IS INITIAL AND

               /pws/zycit000-classif_cont EQ itab_matuse-knttp.

          itab_zycbt035_aux-newko =

          itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

          itab_zycbt035_aux-bschl   = '75'.

          CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO

                                             itab_zycbt035_aux-newko.

          READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1

                                        anln2 = itab_ekkn-anln2.

          IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.

            itab_zycbt035_aux-lei102 = 'X'.

          ENDIF.

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

          v_prctr = itab_zycbt035_aux-c_prctr.

* << Fim da inclusão

          CLEAR: itab_zycbt035_aux-d_kostl, itab_zycbt035_aux-c_kostl,

                 itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

          APPEND itab_zycbt035_aux.

          CLEAR: itab_zycbt035_aux-lei102.

        ELSE.

          itab_zycbt035_aux-newko =

          itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

          itab_zycbt035_aux-bschl   = '50'.

          itab_zycbt035_aux-sinal   = '-'.

          APPEND itab_zycbt035_aux.

        ENDIF.

        itab_zycbt035_aux-bschl   = '40'.

        CLEAR: itab_zycbt035_aux-newko,

              itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_fipos,

             itab_zycbt035_aux-d_fictr, itab_zycbt035_aux-ps_psp_pnr.

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

        IF itab_zycbt035_aux-c_prctr IS INITIAL.

          itab_zycbt035_aux-c_prctr = v_prctr.

          itab_zycbt035_aux-d_prctr = v_prctr.

        ENDIF.

* << Fim da inclusão

        APPEND itab_zycbt035_aux.

      ENDIF.

    ENDIF.

  ENDLOOP.

  CLEAR: itab_zycbt035_aux.

  MODIFY itab_zycbt035_aux TRANSPORTING d_gsber c_gsber lei102

    WHERE lei102 = 'X'.

  FREE itab_zycbt035.

  FREE itab_zycbt035_aux2.

  SORT itab_zycbt035_aux BY sinal matuse bklas d_gsber bschl d_newko

                          d_kostl d_prctr d_fipos d_fictr ps_psp_pnr.

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

  PERFORM verifica_exit USING 'D'

                     '/PWS/SAPMZYCI010'

                     'CUS008'.

* << Fim da inclusão

  LOOP AT itab_zycbt035_aux.

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

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY zexit = 'CUS008'.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa).

    ENDIF.

* << Fim da inclusão

    itab_zycbt035_aux2-matuse     = itab_zycbt035_aux-matuse.

...

 

...

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

Modificações efetuadas em REPS /PWS/MZYCI012F01

 

...

        CONCATENATE /pws/zycie008-nrseq /pws/zycie008-despach

   it_relat_aux-matuse

                                                   INTO v_cpochv.

        it_zycbe035-cpochv  = v_cpochv.

        it_zycbe035-d_gsber = it_relat_aux-gsber.

        it_zycbe035-zfbdt   = /pws/zycie008-dtvencto.

        it_zycbe035-wrbtr   = it_zycbe035-wrbtr

                           + ABS( it_relat_aux-result ).

      ENDLOOP.

      it_zycbe035-d_zuonr = /pws/zycie008-nradto.

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

  SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

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

      PERFORM verifica_centro_l.

    ENDIF.

* << Fim da inclusão

      APPEND it_zycbe035.

    ELSE.

      LOOP AT it_relat_aux WHERE matuse = it_cabec-matuse.

        it_zycbe035-tcode   = text-014.

        it_zycbe035-tabela  = text-010.

        CONCATENATE /pws/zycie008-nrseq /pws/zycie008-despach

   it_relat_aux-matuse

                                                   INTO v_cpochv.

        it_zycbe035-cpochv  = v_cpochv.

        it_zycbe035-d_gsber = it_relat_aux-gsber.

        it_zycbe035-zfbdt   = /pws/zycie008-dtvencto.

        it_zycbe035-wrbtr   = it_zycbe035-wrbtr +

                                ABS( it_relat_aux-result ).

      ENDLOOP.

      it_zycbe035-d_zuonr = /pws/zycie008-nradto.

      it_zycbe035-d_sgtxt = v_sgtxt.

      it_zycbe035-c_sgtxt = v_sgtxt.

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

  SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

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

      PERFORM verifica_centro_l.

    ENDIF.

* << Fim da inclusão

      APPEND it_zycbe035.

    ENDIF.

    PERFORM call_transaction_f47.

    PERFORM limpa_tabelas.

  ENDLOOP.

  PERFORM limpa_tabelas_2.

  v_modo_bi = ''.

  PERFORM verifica_exit USING 'D'

                       '/PWS/SAPMZYCI012'

                       'ADT005'.

...

 

...

    it_zycit008-totalme   =

    /pws/zycit008-totalme =

    /pws/zycie008-totalme =  v_vldp * /pws/zycie008-valor.

    UPDATE /pws/zycit008 SET vlmi    = /pws/zycie008-vlmi

                             totalme = /pws/zycie008-totalme

                         WHERE nradto EQ /pws/zycie008-nradto.

    modify it_zycit008 transporting vlmi totalme

        where nradto EQ /pws/zycie008-nradto.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM verifica_centro_l.

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = it_zycit003-ebeln

            ebelp        = it_zycit003-ebelp

       IMPORTING

            centro_lucro = it_zycbe033-d_prctr.

  modify it_zycbe033 index 1.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI012TOP

 

PROGRAM  /PWS/SAPMZYCI012 MESSAGE-ID /PWS/ZYCIM.

INCLUDE: /PWS/MZYCI012OO,

         /pws/zygl_bot  ,

         /pws/mzyci012x01.

* >> Início da inclusão:

TABLES:  /pws/zycie043a,

         /pws/zycit000.

* << Fim da inclusão

DATA:  GV_SUBSCREEN_0050   TYPE SY-DYNNR VALUE '0051',

       GV_SUBSCREEN_0100_1 TYPE SY-DYNNR,

       GV_SUBSCREEN_0300_2 TYPE SY-DYNNR.

CONSTANTS: BEGIN OF GC_SUBSCREEN,

             PROG     TYPE SY-DYNNR VALUE '0300',

             HELP     TYPE SY-DYNNR VALUE '0053',

           END OF GC_SUBSCREEN.

DATA:  GV_HTML_HELP TYPE REF TO CL_GUI_HTML_VIEWER.

DATA:  GV_HELP_SHOW TYPE BOOLEAN VALUE ' '.

CONTROLS: TC1 TYPE TABLEVIEW USING SCREEN 0200,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI013F01

 

...

    it_zycit270-embarca   =  it_tbcontrol-embarca.

    it_zycit270-compl     =  text-029.

    it_zycit270-nrseqemb  =  it_tbcontrol-nrseq.

    it_zycit270-tcode     =  sy-tcode.

    it_zycit270-dtestorno =  sy-datlo.

    APPEND it_zycit270.

  ENDIF.

ENDFORM.

FORM verifica_centro_l.

  CLEAR:         it_zycbe035-d_prctr.

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

  IF it_ekpo-knttp IS INITIAL AND it_ekpo-j_1bmatuse NE '3'.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ it_ekpo-matnr AND

            werks EQ it_ekpo-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ it_ekpo-matnr.

    ENDIF.

    it_zycbe035-d_prctr = itab_marc-prctr.

    it_zycbe035-c_prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = it_zycit003-ebeln

            ebelp        = it_zycit003-ebelp

       IMPORTING

            centro_lucro = it_zycbe035-d_prctr.

  it_zycbe035-c_prctr = it_zycbe035-d_prctr.

* << Fim da inclusão

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

  ELSEIF it_ekpo-knttp = 'K' AND it_ekpo-j_1bmatuse NE '3'.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    it_zycbe035-d_prctr = itab_csks-prctr.

    it_zycbe035-c_prctr = itab_csks-prctr.

  ELSEIF it_ekpo-knttp = 'F' AND it_ekpo-j_1bmatuse NE '3'.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    it_zycbe035-d_prctr = itab_aufk-prctr.

    it_zycbe035-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM determina_estrategia.

  CLEAR /pws/zycie008-vlmi.

  LOOP AT it_tbcontrol.

    IF NOT it_tbcontrol-vldp IS INITIAL.

      /pws/zycie008-vlmi = /pws/zycie008-vlmi + it_tbcontrol-vldp.

    ENDIF.

  ENDLOOP.

  MOVE /pws/zycie008-vlmi TO v_totdep.

  CLEAR t_contas.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F02

 

...

            codaux3         = p_codaux3

       TABLES

            account         = p_cta

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

ENDFORM.

FORM verifica_centro_l.

  CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

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

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

    itab_zycbt035_aux-d_prctr = itab_marc-prctr.

    itab_zycbt035_aux-c_prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = itab_zycit003-ebeln

            ebelp        = itab_zycit003-ebelp

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

* << Fim da exclusão

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

       IMPORTING

            centro_lucro = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

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

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    itab_zycbt035_aux-d_prctr = itab_csks-prctr.

    itab_zycbt035_aux-c_prctr = itab_csks-prctr.

* << Fim da exclusão

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

  itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    itab_zycbt035_aux-d_prctr = itab_aufk-prctr.

    itab_zycbt035_aux-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM visualiza_rateio.

  DATA: v_programa LIKE /pws/zycit036-origem VALUE 'REC'.

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

    EXPORTING

      v_programa        = v_programa

      v_visualiza       = v_visualiza

      v_bukrs           = /pws/zycie041-bukrs

    IMPORTING

      v_resposta        = v_resposta

...

 

...

    CLEAR itab_zycit003.

    READ TABLE itab_zycit003 WITH KEY nrseq = itab_global-nrseq

                                      ebeln = itab_global-ebeln

                                      ebelp = itab_global-ebelp.

    CLEAR itab_ekkn.

    READ TABLE itab_ekkn WITH KEY ebeln = itab_global-ebeln

                                  ebelp = itab_global-ebelp.

    CLEAR itab_matuse.

    READ TABLE itab_matuse WITH KEY ebeln = itab_global-ebeln

                                    ebelp = itab_global-ebelp.

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

    CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

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

* << Fim da inclusão

    CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

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

    IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

      CLEAR itab_marc.   REFRESH itab_marc.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr AND

              werks EQ itab_matuse-werks.

      IF sy-subrc NE 0.

        SELECT SINGLE matnr prctr FROM marc INTO itab_marc

          WHERE matnr EQ itab_matuse-matnr.

* << Fim da exclusão

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

      CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

           EXPORTING

                ebeln        = itab_zycit003-ebeln

                ebelp        = itab_zycit003-ebelp

           IMPORTING

                centro_lucro = itab_zycbt035_aux-d_prctr.

      itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

      ENDIF.

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

      itab_zycbt035_aux-d_prctr = itab_marc-prctr.

      itab_zycbt035_aux-c_prctr = itab_marc-prctr.

    ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

      CLEAR itab_csks.   REFRESH itab_csks.

      SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

        WHERE kostl EQ itab_ekkn-kostl

          AND kokrs EQ itab_ekkn-kokrs.

      itab_zycbt035_aux-d_prctr = itab_csks-prctr.

      itab_zycbt035_aux-c_prctr = itab_csks-prctr.

    ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

      CLEAR itab_aufk.   REFRESH itab_aufk.

      SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

        WHERE aufnr EQ itab_ekkn-aufnr.

      itab_zycbt035_aux-d_prctr = itab_aufk-prctr.

      itab_zycbt035_aux-c_prctr = itab_aufk-prctr.

    ENDIF.

* << Fim da exclusão

    MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse.

    itab_zycbt035_aux-werks     = itab_zycit003-werks.

    itab_zycbt035_aux-d_gsber   = itab_zycit003-gsber.

    IF NOT itab_zycit100-vlpis IS INITIAL.

      CLEAR itab_zycit398.

      READ TABLE itab_zycit398 WITH KEY tpnf     = itab_global-tpnf

                                        tributos = 'PIS'.

      itab_zycbt035_aux-lei102 = itab_zycit398-lei102.

      itab_zycbt035_aux-imposto = 'PIS'.

      itab_zycbt035_aux-debcred = itab_zycit398-creditar.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017TOP

 

...

DATA: BEGIN OF itab_atrib OCCURS 0.

DATA: buzei LIKE bseg-buzei,

      bschl LIKE bseg-bschl.

DATA: END OF itab_atrib.

DATA: it_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE,

      it_msg TYPE msg_struc OCCURS 10 WITH HEADER LINE.

DATA: it_zycit270  LIKE /pws/zycit270 OCCURS 0 WITH HEADER LINE,

      itab_zycit223_aux2 LIKE /pws/zycit223 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_zycbt035_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

* >> Início da exclusão:

DATA knttp LIKE ekpo-knttp.

* << Fim da exclusão

* >> Início da inclusão:

DATA  knttp LIKE ekpo-knttp.

* << Fim da inclusão

DATA: END OF itab_zycbt035_aux.

DATA: BEGIN OF itab_zycbt035_aux2 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA knttp LIKE ekpo-knttp.

DATA: END OF itab_zycbt035_aux2.

DATA: BEGIN OF itab_contas_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA: END OF itab_contas_aux.

DATA  BEGIN OF itab_zycit005 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit005.

...

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

Modificações efetuadas em REPS /PWS/MZYCI037TOP

 

...

* >> Início da exclusão:

DATA: BEGIN OF itab_itens_contas OCCURS 0.

DATA: nrseq   LIKE /pws/zycit001-nrseq,

      ebeln   LIKE /pws/zycit003-ebeln,

      ebelp   LIKE /pws/zycit003-ebelp,

      matnr   LIKE ekpo-matnr,

      bklas   LIKE mbew-bklas,

      werks   LIKE /pws/zycit003-werks,

      konts   LIKE t030-konts,

      konth   LIKE t030-konth.

DATA: END  OF itab_itens_contas.

* << Fim da exclusão

...

 

...

 

* >> Início da exclusão:

DATA: BEGIN OF itab_zycbt035_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA    knttp LIKE ekpo-knttp.

DATA: END OF itab_zycbt035_aux.

DATA: BEGIN OF itab_zycbt035_aux2 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA    knttp LIKE ekpo-knttp.

DATA: END OF itab_zycbt035_aux2.

* << Fim da exclusão

...

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

Modificações efetuadas em REPS /PWS/MZYCI037X01

...

* >> Início da inclusão:

DATA: BEGIN OF itab_zycbt035_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA    knttp LIKE ekpo-knttp.

DATA: END OF itab_zycbt035_aux.

DATA: BEGIN OF itab_zycbt035_aux2 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe035.

DATA    knttp LIKE ekpo-knttp.

DATA: END OF itab_zycbt035_aux2.

DATA: BEGIN OF itab_itens_contas OCCURS 0.

DATA: nrseq   LIKE /pws/zycit001-nrseq,

      ebeln   LIKE /pws/zycit003-ebeln,

      ebelp   LIKE /pws/zycit003-ebelp,

      matnr   LIKE ekpo-matnr,

      bklas   LIKE mbew-bklas,

      werks   LIKE /pws/zycit003-werks,

      konts   LIKE t030-konts,

      konth   LIKE t030-konth.

DATA: END  OF itab_itens_contas.

* << Fim da inclusão

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI037F01

...

 

  DATA: BEGIN OF it_003aux OCCURS 0,

          nrseq    LIKE /pws/zycie003-nrseq,

          ebeln    LIKE /pws/zycie003-ebeln,

          ebelp    LIKE /pws/zycie003-ebelp,

          gsber    LIKE /pws/zycie003-gsber,

          vlitem   LIKE /pws/zycie003-netpr,

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

          prctr    LIKE /pws/zycie003-prctr,

* << Fim da inclusão

        END OF it_003aux.

  DATA: it_003aux2 LIKE it_003aux OCCURS 0 WITH HEADER LINE.

  IF v_subrc IS INITIAL.

    LOOP AT itab_zycit003.

      READ TABLE itab_ekpo WITH KEY

           ebeln = itab_zycit003-ebeln

           ebelp = itab_zycit003-ebelp.

      IF sy-subrc EQ 0.

        LOOP AT itab_matuse_aux1 WHERE matuse = itab_ekpo-matuse.

          IF itab_matuse_aux1-conta_r =

...

 

...

            v_soma = v_soma  + ( itab_zycit003-netpr *

                                 itab_zycit003-qtd_iten ).

          ENDIF.

        ENDLOOP.

      ENDIF.

    ENDLOOP.

    SORT it_003aux BY gsber.

    LOOP AT it_003aux.

      it_003aux2-gsber  = it_003aux-gsber.

      it_003aux2-vlitem = it_003aux-vlitem.

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

      SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie001-bukrs.

      SELECT SINGLE *

        FROM /pws/zycit000

        WHERE land1 EQ t001-land1.

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

        PERFORM verifica_centro_l USING   it_003aux-ebeln

                                          it_003aux-ebelp

                                 CHANGING it_003aux2-prctr.

      ENDIF.

* << Fim da inclusão

      COLLECT it_003aux2.

    ENDLOOP.

    CLEAR: itab_matuse_aux2.

    READ TABLE itab_matuse_aux2 WITH KEY conta_r = itab_bsis_aux-hkont.

    DESCRIBE TABLE it_003aux2 LINES v_line.

    v_sign = sign( v_sdo_tmp ).

    LOOP AT it_003aux2.

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

      itab_zycbe035-c_prctr = it_003aux2-prctr.

      itab_zycbe035-d_prctr = it_003aux2-prctr.

* << Fim da inclusão

      itab_zycbe035-mandt   = sy-mandt.

      itab_zycbe035-tcode   = text-054.

      itab_zycbe035-tabela  = text-053.

      itab_zycbe035-cpochv  = itab_bsis_aux-hkont.

      itab_zycbe035-d_gsber = it_003aux2-gsber.

      IF  sy-tabix = v_line.

        v_value = v_sdo_tmp - v_saldo.

      ELSE.

        v_value = ( it_003aux2-vlitem / v_soma ) * v_sdo_tmp.

        v_saldo = v_saldo + v_value.

...

 

...

             AND ebelp = itab_zycit003_custo-ebelp.

  ENDIF.

  CLEAR:   itab_classe_aval ,

           itab_param_classe.

  REFRESH: itab_classe_aval ,

           itab_param_classe.

  IF NOT itab_matuse[] IS INITIAL.

   SELECT matnr bwkey bwtar bklas FROM mbew INTO TABLE itab_classe_aval

                                         FOR ALL ENTRIES IN itab_matuse

                                       WHERE matnr EQ itab_matuse-matnr

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

                                         AND bwtar EQ itab_matuse-bwtar.

* << Fim da exclusão

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

                                          AND bwtar EQ itab_matuse-bwtar

.

* << Fim da inclusão

  ENDIF.

  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.

  SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie001-bukrs.

  SELECT SINGLE classif_cont FROM /pws/zycit000

                             INTO /pws/zycit000-classif_cont

                             WHERE land1 EQ t001-land1.

...

 

...

            space                  TO itab_zycbt035_aux-bklas .

    ENDIF.

    IF itab_matuse-knttp EQ 'N'.

      MOVE: itab_ekkn-nplnr TO itab_zycbt035_aux-nplnr.

      SELECT SINGLE vornr FROM afvc

             INTO itab_zycbt035_aux-vornr

             WHERE aufpl EQ itab_ekkn-aufpl

               AND aplzl EQ itab_ekkn-aplzl.

    ENDIF.

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

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

      PERFORM verifica_centro_l.

* << Fim da exclusão

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

      PERFORM verifica_centro_l USING itab_zycit003_custo-ebeln

                                      itab_zycit003_custo-ebelp

                                CHANGING itab_zycbt035_aux-d_prctr.

      itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

    ENDIF.

    DESCRIBE TABLE itab_ekkn LINES v_indice.

    CLEAR itab_zycit003.

    READ TABLE itab_zycit003 WITH KEY

                                     ebeln = itab_zycit003_custo-ebeln

                                     ebelp = itab_zycit003_custo-ebelp.

    CLEAR itab_itens_contas.

    READ TABLE itab_itens_contas WITH KEY

                                     ebeln = itab_zycit003_custo-ebeln

                                     ebelp = itab_zycit003_custo-ebelp.

...

 

...

          IF NOT /pws/zycit000-classif_cont IS INITIAL AND

                 /pws/zycit000-classif_cont EQ itab_matuse-knttp.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '70'.

            CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO

                                               itab_zycbt035_aux-newko.

            READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1

                                          anln2 = itab_ekkn-anln2.

            IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.

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

            CLEAR: itab_zycbt035_aux-d_gsber, itab_zycbt035_aux-c_gsber.

* << Fim da exclusão

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

              CLEAR: itab_zycbt035_aux-d_gsber,

itab_zycbt035_aux-c_gsber.

* << Fim da inclusão

            ENDIF.

            APPEND itab_zycbt035_aux.

            .

          ELSE.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '40'.

            itab_zycbt035_aux-sinal   = '+'.

            APPEND itab_zycbt035_aux.

          ENDIF.

...

 

...

          IF NOT /pws/zycit000-classif_cont IS INITIAL AND

                 /pws/zycit000-classif_cont EQ itab_matuse-knttp.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '75'.

            CONCATENATE itab_ekkn-anln1 '-' itab_ekkn-anln2 INTO

                                               itab_zycbt035_aux-newko.

            READ TABLE itab_anlz WITH KEY anln1 = itab_ekkn-anln1

                                          anln2 = itab_ekkn-anln2.

            IF sy-subrc = 0 AND NOT itab_anlz-gsber IS INITIAL.

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

            CLEAR: itab_zycbt035_aux-d_gsber, itab_zycbt035_aux-c_gsber.

* << Fim da exclusão

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

              CLEAR: itab_zycbt035_aux-d_gsber,

itab_zycbt035_aux-c_gsber.

* << Fim da inclusão

            ENDIF.

            APPEND itab_zycbt035_aux.

          ELSE.

            itab_zycbt035_aux-newko =

            itab_zycbt035_aux-d_newko = itab_ekkn-sakto.

            itab_zycbt035_aux-bschl   = '50'.

            itab_zycbt035_aux-sinal   = '-'.

            APPEND itab_zycbt035_aux.

          ENDIF.

          itab_zycbt035_aux-bschl   = '40'.

...

 

...

              itab_zycbt035_aux-d_newko, itab_zycbt035_aux-d_fipos,

             itab_zycbt035_aux-d_fictr, itab_zycbt035_aux-ps_psp_pnr.

        APPEND itab_zycbt035_aux.

      ENDIF.

    ENDIF.

  ENDLOOP.

  FREE itab_zycbt035.

  FREE itab_zycbt035_aux2.

  SORT itab_zycbt035_aux BY sinal matuse bklas d_gsber bschl d_newko

                          d_kostl d_prctr d_fipos d_fictr ps_psp_pnr.

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

  PERFORM verifica_exit USING 'D'

                     '/PWS/SAPMZYCI037'

                     'CUS008'.

* << Fim da inclusão

  LOOP AT itab_zycbt035_aux.

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

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY zexit = 'CUS008'.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa).

    ENDIF.

* << Fim da inclusão

    itab_zycbt035_aux2-matuse     = itab_zycbt035_aux-matuse.

...

 

...

      AT END OF hkont.

        PERFORM preenche_t_contas_bi.

        IF NOT v_belnr IS INITIAL.

          REFRESH itab_zycbe035.

        ENDIF.

        PERFORM executa_batch_input.

      ENDAT.

    ENDLOOP.

  ENDIF.

ENDFORM.

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

FORM verifica_centro_l.

* << Fim da exclusão

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

FORM verifica_centro_l USING p_ebeln p_ebelp CHANGING p_prctr.

* << Fim da inclusão

  CLEAR: itab_zycbt035_aux-d_prctr, itab_zycbt035_aux-c_prctr.

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

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

    EXPORTING

      ebeln        = p_ebeln

      ebelp        = p_ebelp

    IMPORTING

      centro_lucro = p_prctr.

* << Fim da inclusão

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

    itab_zycbt035_aux-d_prctr = itab_marc-prctr.

    itab_zycbt035_aux-c_prctr = itab_marc-prctr.

* << Fim da exclusão

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

  itab_zycbt035_aux-c_prctr = itab_zycbt035_aux-d_prctr.

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    itab_zycbt035_aux-d_prctr = itab_csks-prctr.

    itab_zycbt035_aux-c_prctr = itab_csks-prctr.

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    itab_zycbt035_aux-d_prctr = itab_aufk-prctr.

    itab_zycbt035_aux-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI070F05

 

...

        END OF itab_marc.

  DATA: BEGIN OF itab_csks OCCURS 0,

          kostl  LIKE csks-kostl,

          kokrs  LIKE csks-kokrs,

          prctr  LIKE csks-prctr,

        END OF itab_csks.

  DATA: BEGIN OF itab_aufk OCCURS 0,

          aufnr  LIKE aufk-aufnr,

          prctr  LIKE aufk-prctr,

        END OF itab_aufk.

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

  IF itab_matuse-knttp IS INITIAL AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR: itab_di-prctr.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ itab_matuse-matnr AND

            werks EQ itab_matuse-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ itab_matuse-matnr.

    ENDIF.

    itab_di-prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = itab_matuse-ebeln

            ebelp        = itab_matuse-ebelp

       IMPORTING

            centro_lucro = itab_di-prctr.

* << Fim da inclusão

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

  ELSEIF itab_matuse-knttp = 'K' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR: itab_di-prctr.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn_aux-kostl

        AND kokrs EQ itab_ekkn_aux-kokrs.

    itab_di-prctr = itab_csks-prctr.

  ELSEIF itab_matuse-knttp = 'F' AND itab_matuse-j_1bmatuse NE '3'.

    CLEAR: itab_di-prctr.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn_aux-aufnr.

    itab_di-prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/MZYCI074F01

 

...

        SELECT SINGLE ps_psp_pnr FROM ekkn

               INTO  it_zycbe033-ps_psp_pnr

               WHERE ebeln EQ it_zycit443-ebeln

                 AND ebelp EQ it_zycit443-ebelp.

      ENDIF.

    ENDIF.

    CALL CUSTOMER-FUNCTION '001'

       TABLES

         itab_zycit443             = it_zycit443

         it_zycbe033               = it_zycbe033.

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

  SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie043a-bukrs.

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

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

      PERFORM verifica_centro_l.

    ENDIF.

* << Fim da inclusão

    APPEND  it_zycbe033.

    IF it_cabec-matuse = '3'.

      LOOP AT it_relat_aux WHERE matuse = it_cabec-matuse.

        it_zycbe035-tcode   = text-014.

        it_zycbe035-tabela  = text-010.

        CONCATENATE /pws/zycie465-nrseq /pws/zycie465-despach

   it_relat_aux-matuse

                                                   INTO v_cpochv.

        it_zycbe035-cpochv  = v_cpochv.

        it_zycbe035-d_gsber = it_relat_aux-gsber.

...

 

...

           text      = itab_zyglt376-text

           quickinfo = itab_zyglt376-info.

  ENDLOOP.

  CREATE OBJECT v_submenu.

  CALL METHOD v_submenu->add_function

      EXPORTING fcode = itab_zyglt376-fcode

                text  = itab_zyglt376-text.

  SET HANDLER evt_receiver_e->on_function_selected

             FOR toolbar.

ENDFORM.

* >> Início da inclusão:

FORM verifica_centro_l.

  READ TABLE it_zycit443 WITH KEY nrseq = it_cabec-nrseq.

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = it_zycit443-ebeln

            ebelp        = it_zycit443-ebelp

       IMPORTING

            centro_lucro = it_zycbe033-d_prctr.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI074TOP

 

PROGRAM  /pws/sapmzyci074 MESSAGE-ID /pws/zycim.

INCLUDE: /pws/mzyci074oo,

         /pws/zygl_bot  ,

         /pws/mzyci074x01.

* >> Início da inclusão:

Tables: /pws/zycie043a,

        /pws/zycit000.

* << Fim da inclusão

DATA:  gv_subscreen_0050   TYPE sy-dynnr VALUE '0051',

       gv_subscreen_0100_1 TYPE sy-dynnr,

       gv_subscreen_0300_2 TYPE sy-dynnr.

CONSTANTS: BEGIN OF gc_subscreen,

             prog     TYPE sy-dynnr VALUE '0300',

             help     TYPE sy-dynnr VALUE '0053',

           END OF gc_subscreen.

DATA:  gv_html_help TYPE REF TO cl_gui_html_viewer.

DATA:  gv_help_show TYPE boolean VALUE ' '.

CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 0200,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI075F02

...

FORM verifica_centro_l.

  CLEAR: it_zycbe035-d_prctr, it_zycbe035-c_prctr.

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

  IF it_lanca_aux2-knttp IS INITIAL AND it_lanca_aux2-matuse NE '3'.

    CLEAR itab_marc. REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

           WHERE matnr EQ it_ekpo-matnr AND

                 werks EQ it_ekpo-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

           WHERE matnr EQ it_ekpo-matnr.

    ENDIF.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = it_lanca_aux2-ebeln

            ebelp        = it_lanca_aux2-ebelp

       IMPORTING

            centro_lucro = it_zycbe035-d_prctr.

* << Fim da inclusão

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

    it_zycbe035-d_prctr = itab_marc-prctr.

    it_zycbe035-c_prctr = itab_marc-prctr.

  ELSEIF it_lanca_aux2-knttp = 'K' AND it_lanca_aux2-matuse NE '3'.

    CLEAR itab_csks.  REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

           WHERE kostl EQ itab_ekkn-kostl

             AND kokrs EQ itab_ekkn-kokrs.

* << Fim da exclusão

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

  it_zycbe035-c_prctr = it_zycbe035-d_prctr.

* << Fim da inclusão

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

    it_zycbe035-d_prctr = itab_csks-prctr.

    it_zycbe035-c_prctr = itab_csks-prctr.

  ELSEIF it_lanca_aux2-knttp = 'F' AND it_lanca_aux2-matuse NE '3'.

    CLEAR itab_aufk. REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

           WHERE aufnr EQ itab_ekkn-aufnr.

    it_zycbe035-d_prctr = itab_aufk-prctr.

    it_zycbe035-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM seek_account_number TABLES p_cta STRUCTURE /pws/zygle316

 USING  p_bukrs

        p_ktosl

        p_werks

        p_bklas

        p_codaux1 LIKE /pws/zyglt316-codaux1

        p_codaux2

        p_codaux3.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

...

 

...

        ENDLOOP.

        READ TABLE itab_t059fb INDEX 2.

        v_valorcf = ( v_wrbtrcf * itab_t059fb-qsatz ) / 100.

      ENDIF.

    ELSE.

    ENDIF.

  ENDIF.

ENDFORM.

FORM verifica_centro_l2.

  CLEAR: it_zycbe035-d_prctr, it_zycbe035-c_prctr.

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

  IF it_lanca_aux3-knttp IS INITIAL AND it_lanca_aux3-matuse NE '3'.

    CLEAR itab_marc. REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

           WHERE matnr EQ it_ekpo-matnr AND

                 werks EQ it_ekpo-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

           WHERE matnr EQ it_ekpo-matnr.

    ENDIF.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = it_lanca_aux3-ebeln

            ebelp        = it_lanca_aux3-ebelp

       IMPORTING

            centro_lucro = it_zycbe035-d_prctr.

* << Fim da inclusão

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

    it_zycbe035-d_prctr = itab_marc-prctr.

    it_zycbe035-c_prctr = itab_marc-prctr.

  ELSEIF it_lanca_aux3-knttp = 'K' AND it_lanca_aux3-matuse NE '3'.

    CLEAR itab_csks.  REFRESH itab_csks.

* << Fim da exclusão

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

  it_zycbe035-c_prctr = it_zycbe035-d_prctr.

* << Fim da inclusão

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

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

           WHERE kostl EQ itab_ekkn-kostl

             AND kokrs EQ itab_ekkn-kokrs.

    it_zycbe035-d_prctr = itab_csks-prctr.

    it_zycbe035-c_prctr = itab_csks-prctr.

  ELSEIF it_lanca_aux3-knttp = 'F' AND it_lanca_aux3-matuse NE '3'.

    CLEAR itab_aufk. REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

           WHERE aufnr EQ itab_ekkn-aufnr.

    it_zycbe035-d_prctr = itab_aufk-prctr.

    it_zycbe035-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI076F01

 

...

    it_zycit270-embarca   =  it_tbcontrol-embarca.

    it_zycit270-compl     =  text-029.

    it_zycit270-nrseqemb  =  it_tbcontrol-nrseq.

    it_zycit270-tcode     =  sy-tcode.

    it_zycit270-dtestorno =  sy-datum.

    APPEND it_zycit270.

  ENDIF.

ENDFORM.

FORM verifica_centro_l.

  CLEAR:         it_zycbe035-d_prctr.

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

  IF it_ekpo-knttp IS INITIAL AND it_ekpo-j_1bmatuse NE '3'.

    CLEAR itab_marc.   REFRESH itab_marc.

    SELECT SINGLE matnr prctr FROM marc INTO itab_marc

      WHERE matnr EQ it_ekpo-matnr AND

            werks EQ it_ekpo-werks.

    IF sy-subrc NE 0.

      SELECT SINGLE matnr prctr FROM marc INTO itab_marc

        WHERE matnr EQ it_ekpo-matnr.

    ENDIF.

    it_zycbe035-d_prctr = itab_marc-prctr.

    it_zycbe035-c_prctr = itab_marc-prctr.

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_CENTRO_LUCRO'

       EXPORTING

            ebeln        = it_zycit443-ebeln

            ebelp        = it_zycit443-ebelp

       IMPORTING

            centro_lucro = it_zycbe035-d_prctr.

  it_zycbe035-c_prctr = it_zycbe035-d_prctr.

* << Fim da inclusão

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

  ELSEIF it_ekpo-knttp = 'K' AND it_ekpo-j_1bmatuse NE '3'.

    CLEAR itab_csks.   REFRESH itab_csks.

    SELECT SINGLE kostl kokrs prctr FROM csks INTO itab_csks

      WHERE kostl EQ itab_ekkn-kostl

        AND kokrs EQ itab_ekkn-kokrs.

    it_zycbe035-d_prctr = itab_csks-prctr.

    it_zycbe035-c_prctr = itab_csks-prctr.

  ELSEIF it_ekpo-knttp = 'F' AND it_ekpo-j_1bmatuse NE '3'.

    CLEAR itab_aufk.   REFRESH itab_aufk.

    SELECT SINGLE aufnr prctr FROM aufk INTO itab_aufk

      WHERE aufnr EQ itab_ekkn-aufnr.

    it_zycbe035-d_prctr = itab_aufk-prctr.

    it_zycbe035-c_prctr = itab_aufk-prctr.

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM determina_estrategia.

  CLEAR /pws/zycie465-vlmi.

  LOOP AT it_tbcontrol.

    IF NOT it_tbcontrol-vldp IS INITIAL.

      /pws/zycie465-vlmi = /pws/zycie465-vlmi + it_tbcontrol-vldp.

    ENDIF.

  ENDLOOP.

  MOVE /pws/zycie465-vlmi TO v_totdep.

  CLEAR t_contas.

...