CE PLUS - Nota 001376

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Débito em Conta

Data/Hora da Publicação: 19/05/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:33:09

Descrição da Nota: NO DÉBITO EM CONTA , AO LIBERAR, NÃO ESTÁ MOVENDO A REFERENCIA

Sintoma

No Débito em Conta , ao liberar, não está movendo a Referencia no lançamento Contábil

 

Na Liberação da  Prestação de Conta, estava ok, mas após o agrupamento 111, ao tentar liberar, está

parando na tela de retenção de IMPOSTOS e não consegue fazer nem com F9.

 

 

Solução

No Débito em Conta , ao liberar, não está movendo a Referencia no lançamento Contábil

 

Na Liberação da  Prestação de Conta, estava ok, mas após o agrupamento 111, ao tentar liberar, está

parando na tela de retenção de IMPOSTOS e não consegue fazer nem com F9.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCADORIA

Informações Complementares

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

Nota Número 01376 Data: 19/05/2006 Hora: 15:19:22

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

 

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

Nota Número              : 01376

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00114

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

Referência às notas relacionadas:

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

 

01417  - 00001 - 6.0    - 00023  - AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCA

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

NO DÉBITO EM CONTA , AO LIBERAR, NÃO ESTÁ MOVENDO A REFERENCIA

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

Palavras Chave:

DEBITO - CONTA - LIBERAR - MOVENDO - CONTABIL

 

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

Objetos da nota:

REPS /PWS/MZYCI075F01

REPS /PWS/MZYCI075F02

REPS /PWS/MZYCI076F01

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

Modificações efetuadas em REPS /PWS/MZYCI075F01

 

...

  ENDLOOP.

  CLEAR: it_item, it_item_aux2.

  CLEAR: itab_item_rateio, itab_desp_rateio, itab_zycit036.

  REFRESH: itab_item_rateio, itab_desp_rateio, itab_zycit036.

  LOOP AT it_item.

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

    itab_item_rateio-nrseq    = it_item-nrseq.

* << Fim da exclusão

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

    itab_item_rateio-nrseqda  = it_item-nrseq.

* << Fim da inclusão

    itab_item_rateio-ebeln    = it_item-ebeln.

    itab_item_rateio-ebelp    = it_item-ebelp.

    itab_item_rateio-netpr    = it_item-netpr.

    itab_item_rateio-qtd_iten = it_item-qtditem.

    itab_item_rateio-gsber    = it_item-gsber.

...

 

...

      IF e_subrc EQ '8'.

        EXIT.

      ENDIF.

    ENDIF.

    IF e_subrc EQ '0'.

* >> Início da exclusão: FORM CALL_FUNCTION_F-43

      v_impostos = 'N'.

* << Fim da exclusão

      CALL FUNCTION '/PWS/ZYCI_TRANSACAO_F_43B'

           EXPORTING

                v_modo          = v_modo_bi

                v_irrf          = v_impostos

                v_razao         = v_ctarazao

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI075F02

...

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

ENDFORM.

FORM visualiza_rateio.

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

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

* << Fim da exclusão

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

  DATA: v_programa LIKE /pws/zycit036-origem.

* << Fim da inclusão

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

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

* << Fim da exclusão

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

  v_programa = text-108.

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO_DA'

* << Fim da inclusão

    EXPORTING

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

      v_programa          = v_programa

      v_nrseqori          = /pws/zycie459-nrpres

      v_visualiza         = v_visualiza

      v_bukrs             = /pws/zycie459-bukrs

* << Fim da exclusão

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

            v_programa    = v_programa

            v_nrseqori    = /pws/zycie459-nrpres

            v_visualiza   = v_visualiza

            v_bukrs       = /pws/zycie459-bukrs

* << Fim da inclusão

    IMPORTING

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

      v_resposta          = v_resposta

      v_erro              = v_erro

* << Fim da exclusão

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

            v_resposta    = v_resposta

            v_erro        = v_erro

* << Fim da inclusão

    TABLES

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

      itab_zycit036       = itab_zycit036

      itab_despesa        = itab_desp_rateio

      itab_zycit443       = itab_item_rateio

            .

* << Fim da exclusão

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

            itab_zycit036 = itab_zycit036

            itab_despesa  = itab_desp_rateio

            itab_zycit443 = itab_item_rateio.

* << Fim da inclusão

  IF v_erro EQ '1'.

    CLEAR v_resposta.

    MESSAGE i015 WITH text-089.

  ENDIF.

ENDFORM.

...

 

...

  /pws/zycie459-dtlanc = sy-datlo.

  UPDATE /pws/zycit459 SET dtlanc = /pws/zycie459-dtlanc

    WHERE nrpres = /pws/zycie459-nrpres.

ENDFORM.

FORM ver_rateio.

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

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

* << Fim da exclusão

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

  DATA: v_programa LIKE /pws/zycit036-origem.

* << Fim da inclusão

  CLEAR: itab_item_rateio, itab_desp_rateio, itab_zycit036.

  REFRESH: itab_item_rateio, itab_desp_rateio, itab_zycit036.

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

  SELECT nrseq ebeln ebelp netpr ntgew vlreal

* << Fim da exclusão

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

  SELECT NRSEQDA nrseq ebeln ebelp netpr ntgew vlreal

* << Fim da inclusão

         qtd_iten gsber FROM /pws/zycit443

         INTO CORRESPONDING FIELDS OF TABLE itab_item_rateio

         WHERE nrseq = /pws/zycie459-nrseqda.

  LOOP AT it_zycit461.

    itab_desp_rateio-nrseq    = it_zycit461-nrseqda.

...

 

...

    itab_desp_rateio-netpr    = it_zycit461-vldp.

    itab_desp_rateio-waers    = it_zycit461-waers.

    APPEND itab_desp_rateio.

    CLEAR itab_desp_rateio.

  ENDLOOP.

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

  v_programa = text-108.

* << Fim da inclusão

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

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO_DA'

* << Fim da inclusão

    EXPORTING

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

      v_programa          = v_programa

      v_nrseqori          = /pws/zycie459-nrpres

      v_visualiza         = v_visualiza

      v_bukrs             = /pws/zycie459-bukrs

* << Fim da exclusão

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

            v_programa    = v_programa

            v_nrseqori    = /pws/zycie459-nrpres

            v_visualiza   = v_visualiza

            v_bukrs       = /pws/zycie459-bukrs

* << Fim da inclusão

    IMPORTING

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

      v_resposta          = v_resposta

      v_erro              = v_erro

* << Fim da exclusão

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

            v_resposta    = v_resposta

            v_erro        = v_erro

* << Fim da inclusão

    TABLES

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

      itab_zycit036       = itab_zycit036

      itab_despesa        = itab_desp_rateio

      itab_zycit443       = itab_item_rateio

            .

* << Fim da exclusão

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

            itab_zycit036 = itab_zycit036

            itab_despesa  = itab_desp_rateio

            itab_zycit443 = itab_item_rateio.

* << Fim da inclusão

  IF v_erro EQ '1'.

    CLEAR v_resposta.

    MESSAGE i015 WITH text-089.

  ENDIF.

ENDFORM.

...

 

...

  ENDLOOP.

  CLEAR: it_item, it_item_aux2.

  CLEAR: itab_item_rateio, itab_desp_rateio, itab_zycit036.

  REFRESH: itab_item_rateio, itab_desp_rateio, itab_zycit036.

  LOOP AT it_item.

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

    itab_item_rateio-nrseq    = it_item-nrseq.

* << Fim da exclusão

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

    itab_item_rateio-nrseqda  = it_item-nrseq.

* << Fim da inclusão

    itab_item_rateio-ebeln    = it_item-ebeln.

    itab_item_rateio-ebelp    = it_item-ebelp.

    itab_item_rateio-netpr    = it_item-netpr.

    itab_item_rateio-qtd_iten = it_item-qtditem.

    itab_item_rateio-gsber    = it_item-gsber.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI075O01

 

...

        MODIFY SCREEN.

        screen-invisible = '1'.

        MODIFY SCREEN.

      ENDIF.

      IF screen-group2 = 'GR2' AND ( sy-tcode EQ '/PWS/ZYCI071_A' OR

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

                                     sy-tcode EQ '/PWS/ZYCI071_L' ).

* << Fim da exclusão

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

                                     sy-tcode EQ '/PWS/ZYCI071_L' OR

                                     sy-tcode EQ '/PWS/ZYCI071_E' ).

* << Fim da inclusão

        screen-input = '0'.

        MODIFY SCREEN.

        screen-invisible = '0'.

        MODIFY SCREEN.

      ENDIF.

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

      IF screen-group2 = 'GR2' AND  sy-tcode EQ '/PWS/ZYCI071_L'.

* << Fim da exclusão

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

      IF screen-group2 = 'GR2' AND ( sy-tcode EQ '/PWS/ZYCI071_L' OR

                                     sy-tcode EQ '/PWS/ZYCI071_E' ).

* << Fim da inclusão

        IF /pws/zycie459-status = 'I'.

          screen-input = '0'.

          MODIFY SCREEN.

          screen-invisible = '1'.

          MODIFY SCREEN.

...

 

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

 

Modificações efetuadas em REPS /PWS/MZYCI076F01

 

...

           INTO TABLE it_zycit466

           WHERE nrseq  = /pws/zycie465-nrseq

             AND nradto = /pws/zycie465-nradto.

  SELECT * FROM /pws/zycit443 INTO TABLE it_zycit443

           WHERE nrseqda  = /pws/zycie465-nrseq.

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

  SELECT * FROM /pws/zycit046

           INTO TABLE it_zycit046

           WHERE j_1bbranch = /pws/zycie465-j_1bbranch.

* << Fim da inclusão

  CLEAR t001-land1.

  SELECT SINGLE land1

    FROM t001

    INTO t001-land1

    WHERE bukrs EQ /pws/zycie465-bukrs.

...

 

...

    WHERE land1 EQ t001-land1.

  LOOP AT it_zycit466 WHERE nrseq  = /pws/zycie465-nrseq

                        AND nradto = /pws/zycie465-nradto.

    LOOP AT it_zycit465 WHERE nrseq  = it_zycit466-nrseq

                          AND nradto = it_zycit466-nradto.

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

      READ TABLE it_zycit046 WITH KEY

                             j_1bbranch = /pws/zycie465-j_1bbranch

                             tpdesp     = it_zycit466-tpdesp.

* << Fim da inclusão

      CLEAR itab_zycit019.

      READ TABLE itab_zycit019 WITH KEY

                               tpdesp = it_zycit466-tpdesp.

      IF sy-subrc IS INITIAL.

        it_tbcontrol-nrseq      =  it_zycit466-nrseq.

...

 

...

        it_tbcontrol-belnr_f02  =  it_zycit466-belnr_f02.

        it_tbcontrol-belnr_fb08 =  it_zycit466-belnr_fb08.

        it_tbcontrol-waers      =  it_zycit465-waers.

        it_tbcontrol-bukrs      =  it_zycit465-bukrs.

        it_tbcontrol-statusp    =  it_zycit466-statusp.

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

        IF it_zycit466-banco IS INITIAL AND

          it_zycit466-lanctoa IS INITIAL.

          it_tbcontrol-banco   =  it_zycit046-banco.

          it_tbcontrol-agrup   =  it_zycit046-lanctoa.

        ELSEIF NOT it_zycit466-banco IS INITIAL AND

                   it_zycit466-lanctoa IS INITIAL.

          it_tbcontrol-banco   =  it_zycit466-banco.

          it_tbcontrol-agrup   =  it_zycit466-lanctoa.

        ELSEIF NOT it_zycit466-banco IS INITIAL AND

               NOT it_zycit466-lanctoa IS INITIAL.

* << Fim da inclusão

        it_tbcontrol-banco   =  it_zycit466-banco.

        it_tbcontrol-agrup   =  it_zycit466-lanctoa.

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

        ENDIF.

* << Fim da inclusão

        APPEND it_tbcontrol.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

...

 

...

      v_tot_icms   = itab_zycit443-vlicms   + v_tot_icms  .

      v_tot_pis    = itab_zycit443-vlpis    + v_tot_pis   .

      v_tot_cofins = itab_zycit443-vlcofins + v_tot_cofins.

    ENDLOOP.

    IF NOT itab_zycit443[] IS INITIAL.

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

      SELECT * FROM /pws/zycit116 INTO TABLE itab_zycit116

* << Fim da exclusão

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

      SELECT * FROM /pws/zycit451 INTO TABLE itab_zycit451

* << Fim da inclusão

          FOR ALL ENTRIES IN itab_zycit443

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

          WHERE nrseqdi = itab_zycit443-nrseqda.

* << Fim da exclusão

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

          WHERE nrseqda = itab_zycit443-nrseqda.

* << Fim da inclusão

    ENDIF.

    IF NOT /pws/zycit000-flag_txsisc IS INITIAL AND

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

       NOT itab_zycit116[] IS INITIAL.

      LOOP AT itab_zycit116.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit116-adicao.

          itab_zycit116-nr_itens = itab_zycit116-nr_itens + 1.

* << Fim da exclusão

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

       NOT itab_zycit451[] IS INITIAL.

      LOOP AT itab_zycit451.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit451-adicao.

          itab_zycit451-nr_itens = itab_zycit451-nr_itens + 1.

* << Fim da inclusão

        ENDLOOP.

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

        MODIFY itab_zycit116.

* << Fim da exclusão

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

        MODIFY itab_zycit451.

* << Fim da inclusão

      ENDLOOP.

      READ TABLE it_tbcontrol

           WITH KEY tpdesp = /pws/zycit000-cod_sisc.

      IF sy-subrc = 0 AND it_tbcontrol-vldp > 0.

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

        DESCRIBE TABLE itab_zycit116 LINES v_line.

* << Fim da exclusão

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

        DESCRIBE TABLE itab_zycit451 LINES v_line.

* << Fim da inclusão

        v_sisco1 = ( it_tbcontrol-vldp -

                /pws/zycit000-txsis_fix ) / v_line.

        v_sisco2 =   /pws/zycit000-txsis_fix / v_line.

        v_sisco3 = v_sisco1 + v_sisco2.

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

        LOOP AT itab_zycit116.

* << Fim da exclusão

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

        LOOP AT itab_zycit451.

* << Fim da inclusão

          CLEAR: v_lines, v_sisco_tot.

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

          v_sisco_item = v_sisco3 / itab_zycit116-nr_itens.

          LOOP AT itab_zycit443 WHERE adicao = itab_zycit116-adicao.

* << Fim da exclusão

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

          v_sisco_item = v_sisco3 / itab_zycit451-nr_itens.

          LOOP AT itab_zycit443 WHERE adicao = itab_zycit451-adicao.

* << Fim da inclusão

            v_lines = v_lines + 1.

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

            IF v_lines = itab_zycit116-nr_itens.

* << Fim da exclusão

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

            IF v_lines = itab_zycit451-nr_itens.

* << Fim da inclusão

              itab_zycit443-vl_sisco = v_sisco3 - v_sisco_tot.

            ELSE.

              itab_zycit443-vl_sisco = v_sisco_item.

              v_sisco_tot = v_sisco_tot + v_sisco_item.

            ENDIF.

...

 

...

    MOVE it_zycbe035_aux TO it_zycbe035.

    APPEND it_zycbe035.

  ENDLOOP.

  LOOP AT it_zycbe035.

    CLEAR: v_xblnr, v_zuonr, v_sgtxt, v_bktxt.

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

    CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS_DA'

* << Fim da inclusão

        EXPORTING

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

          v_nrseq         = /pws/zycie465-nrseq

* << Fim da exclusão

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

        v_nrseqda       = /pws/zycie465-nrseq

* << Fim da inclusão

          v_codeven       = text-002

          v_ktosl         = v_ktosl

        IMPORTING

          v_xblnr         = v_xblnr

          v_zuonr         = v_zuonr

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

          v_sgtxt         = v_sgtxt

                .

* << Fim da exclusão

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

        v_sgtxt         = v_sgtxt.

* << Fim da inclusão

    it_zycbe035-d_xblnr = it_zycbe035-c_xblnr = v_xblnr.

    it_zycbe035-d_sgtxt = it_zycbe035-c_sgtxt = v_sgtxt.

    it_zycbe035-d_zuonr = it_zycbe035-c_zuonr = v_zuonr.

    MODIFY it_zycbe035.

  ENDLOOP.

...

 

...

           it_zycit270.

ENDFORM.

FORM verifica_itens_embarque.

  DATA: v_desp_acum LIKE /pws/zycit036-vlreal,

        v_desp_dif  LIKE /pws/zycit036-vlreal,

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

        v_programa  LIKE /pws/zycit036-origem VALUE 'DC'.

* << Fim da exclusão

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

        v_programa  LIKE /pws/zycit036-origem VALUE 'DCD'.

* << Fim da inclusão

  DATA: v_ant LIKE /pws/zycit466-tpdesp,

        v_vldp LIKE /pws/zycit466-vldp.

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

  SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

  FREE it_item.

...

 

...

    ENDIF.

    READ TABLE itab_codigo WITH KEY tpdesp = it_contabil-tpdesp.

    MOVE: itab_codigo-codigo TO itab_desp_funcao-codigo.

    COLLECT itab_desp_funcao.

  ENDLOOP.

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

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO_DA'

* << Fim da inclusão

   EXPORTING

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

      v_programa          = v_programa

      v_nrseqori          = /pws/zycie465-nradto

      v_visualiza         = v_visualiza

      v_bukrs             = /pws/zycie465-bukrs

* << Fim da exclusão

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

            v_programa    = v_programa

            v_nrseqori    = /pws/zycie465-nradto

            v_visualiza   = v_visualiza

            v_bukrs       = /pws/zycie465-bukrs

* << Fim da inclusão

   IMPORTING

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

      v_resposta          = v_resposta

      v_erro              = v_erro

* << Fim da exclusão

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

            v_resposta    = v_resposta

            v_erro        = v_erro

* << Fim da inclusão

   TABLES

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

      itab_zycit036       = itab_zycit036

      itab_despesa        = itab_desp_funcao

      itab_zycit003       = itab_item_funcao

      .

* << Fim da exclusão

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

            itab_zycit036 = itab_zycit036

            itab_despesa  = itab_desp_funcao

            itab_zycit003 = itab_item_funcao.

* << Fim da inclusão

  IF v_erro EQ '1'.

    CLEAR v_resposta.

    MESSAGE i015 WITH text-088.

  ENDIF.

  CLEAR v_total.

...

 

...

      CLEAR: it_tbcontrol.

      READ TABLE it_tbcontrol WITH KEY tpdesp = it_cabec-tpdesp.

      v_descr = it_tbcontrol-descr.

    ENDIF.

    CLEAR: v_xblnr, v_zuonr, v_sgtxt, v_bktxt.

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

    CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS_DA'

* << Fim da inclusão

      EXPORTING

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

        v_nrseq            = /pws/zycie465-nrseq

        v_codeven          = text-002

        v_descr1           = v_descr

* << Fim da exclusão

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

        v_nrseqda       = /pws/zycie465-nrseq

        v_codeven       = text-002

        v_descr1        = v_descr

* << Fim da inclusão

      IMPORTING

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

        v_xblnr            = v_xblnr

        v_zuonr            = v_zuonr

        v_sgtxt            = v_sgtxt

        v_bktxt            = v_bktxt

              .

* << Fim da exclusão

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

        v_xblnr         = v_xblnr

        v_zuonr         = v_zuonr

        v_sgtxt         = v_sgtxt

        v_bktxt         = v_bktxt.

* << Fim da inclusão

    it_zycbe033-xblnr = v_xblnr.

    it_zycbe033-bktxt = v_bktxt.

    it_zycbe033-d_sgtxt = it_zycbe033-c_sgtxt = v_sgtxt.

    it_zycbe033-d_zuonr = it_zycbe033-c_zuonr = v_zuonr.

    v_nrseq = /pws/zycie465-nrseq.

...

 

...

        (itab_zyglt100-programa) IF FOUND.

  ENDIF.

ENDFORM.

FORM preenche_campo.

  CLEAR: v_xblnr, v_zuonr, v_sgtxt, v_bktxt.

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

  CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS_DA'

* << Fim da inclusão

    EXPORTING

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

     v_nrseq         = /pws/zycie465-nrseq

* << Fim da exclusão

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

      v_nrseqda       = /pws/zycie465-nrseq

* << Fim da inclusão

      v_codeven       = text-002

   IMPORTING

     v_xblnr         = v_xblnr

     v_zuonr         = v_zuonr

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

     v_sgtxt         = v_sgtxt

            .

* << Fim da exclusão

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

      v_sgtxt         = v_sgtxt.

* << Fim da inclusão

  it_zycbe033-xblnr = v_xblnr.

  it_zycbe033-d_sgtxt = it_zycbe033-c_sgtxt = v_sgtxt.

  it_zycbe033-d_zuonr = it_zycbe033-c_zuonr = v_zuonr.

ENDFORM.

FORM nao_agrupa_conta.

...

 

...

           it_zycbe035, it_zycbt034, it_relat, it_relat_aux, it_tipo,

           it_conta_imp, it_conta_imp2, it_despesa.

ENDFORM.

FORM preenche_atribuicao1.

  CLEAR: v_zuonr.

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

  CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS_DA'

* << Fim da inclusão

    EXPORTING

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

      v_nrseq         =  /pws/zycie465-nrseq

      v_codeven       =  text-002

* << Fim da exclusão

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

      v_nrseqda       = /pws/zycie465-nrseq

      v_codeven       = text-002

* << Fim da inclusão

    IMPORTING

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

      v_zuonr         =  it_zycbe033-d_zuonr

            .

* << Fim da exclusão

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

      v_zuonr         = it_zycbe033-d_zuonr.

* << Fim da inclusão

  MOVE it_zycbe033-d_zuonr TO it_zycbe033-c_zuonr.

ENDFORM.

FORM atualiza_tabela_estorno.

  UPDATE /pws/zycit466 SET belnr_fb08 = v_belnr

                      statusp    = 'I'

...

 

...

    WHERE bukrs EQ /pws/zycie465-bukrs.

  SELECT * FROM /pws/zycit036

    INTO TABLE itab_zycit036

    WHERE nrseq  = /pws/zycie465-nrseq

      AND codigo = /pws/zycit019-codigo

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

      AND origem = 'DC'.

* << Fim da exclusão

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

      AND origem = 'DCD'.

* << Fim da inclusão

  SELECT * UP TO 1 ROWS FROM /pws/zycit039 INTO /pws/zycit039

    WHERE codigo = /pws/zycit019-codigo

      AND land1 EQ t001-land1.

  ENDSELECT.

  DESCRIBE TABLE it_zycit443 LINES v_lines.

...

 

...

  IF p_tpdesp = /pws/zycit000-cod_sisc AND

     NOT /pws/zycit000-flag_txsisc IS INITIAL.

    SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

      WHERE nrseq = /pws/zycie465-nrseq.

    IF NOT itab_zycit443[] IS INITIAL.

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

      SELECT * FROM /pws/zycit116 INTO TABLE itab_zycit116

* << Fim da exclusão

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

      SELECT * FROM /pws/zycit451 INTO TABLE itab_zycit451

* << Fim da inclusão

        FOR ALL ENTRIES IN itab_zycit443

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

        WHERE nrseqdi = itab_zycit443-nrseqda.

* << Fim da exclusão

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

        WHERE nrseqda = itab_zycit443-nrseqda.

* << Fim da inclusão

    ENDIF.

    IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

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

      LOOP AT itab_zycit116.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit116-adicao.

          itab_zycit116-nr_itens = itab_zycit116-nr_itens + 1.

* << Fim da exclusão

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

      LOOP AT itab_zycit451.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit451-adicao.

          itab_zycit451-nr_itens = itab_zycit451-nr_itens + 1.

* << Fim da inclusão

        ENDLOOP.

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

        MODIFY itab_zycit116.

* << Fim da exclusão

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

        MODIFY itab_zycit451.

* << Fim da inclusão

      ENDLOOP.

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

      DESCRIBE TABLE itab_zycit116 LINES v_tabix.

* << Fim da exclusão

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

      DESCRIBE TABLE itab_zycit451 LINES v_tabix.

* << Fim da inclusão

      v_sisco1 = ( it_tbcontrol-vldp -

                   /pws/zycit000-txsis_fix ) / v_tabix.

      v_sisco2 =   /pws/zycit000-txsis_fix / v_tabix.

      v_sisco3 = v_sisco1 + v_sisco2.

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

      LOOP AT itab_zycit116.

* << Fim da exclusão

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

      LOOP AT itab_zycit451.

* << Fim da inclusão

        CLEAR: v_tabix, v_sisco_tot.

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

        v_sisco_item = v_sisco3 / itab_zycit116-nr_itens.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit116-adicao.

* << Fim da exclusão

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

        v_sisco_item = v_sisco3 / itab_zycit451-nr_itens.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit451-adicao.

* << Fim da inclusão

          v_tabix = v_tabix + 1.

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

          IF v_tabix = itab_zycit116-nr_itens.

* << Fim da exclusão

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

          IF v_tabix = itab_zycit451-nr_itens.

* << Fim da inclusão

            itab_zycit443-vl_sisco = v_sisco3 - v_sisco_tot.

          ELSE.

            itab_zycit443-vl_sisco = v_sisco_item.

            v_sisco_tot = v_sisco_tot + v_sisco_item.

          ENDIF.

...

 

...

      CLEAR itab_zycit036.

      READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit443-nrseq

                                      ebeln  = itab_zycit443-ebeln

                                      ebelp  = itab_zycit443-ebelp

                                      codigo = /pws/zycit019-codigo

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

                                      origem = 'DC'.

* << Fim da exclusão

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

                                      origem = 'DCD'.

* << Fim da inclusão

      IF sy-subrc NE 0.

        /pws/zycie036-nrseq      = itab_zycit443-nrseq.

        /pws/zycie036-ebeln      = itab_zycit443-ebeln.

        /pws/zycie036-ebelp      = itab_zycit443-ebelp.

        /pws/zycie036-codigo     = /pws/zycit019-codigo.

        /pws/zycie036-waers_real = /pws/zycbt007-waersb.

        /pws/zycie036-bukrs      = /pws/zycie465-bukrs.

        /pws/zycie036-werks      = /pws/zycie465-werks.

        /pws/zycie036-embarca    = /pws/zycie465-embarca.

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

        /pws/zycie036-origem     = 'DC'.

* << Fim da exclusão

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

        /pws/zycie036-origem     = 'DCD'.

* << Fim da inclusão

        /pws/zycie036-codmod     = 'D'.

        /pws/zycie036-status     = 'M'.

        /pws/zycie036-vlreal_emb = itab_zycit443-vl_sisco.

        /pws/zycie036-waers_emb  = /pws/zycbt007-waersb.

        /pws/zycie036-vlreal     = itab_zycit443-vl_sisco.

...

 

...

      CLEAR itab_zycit036.

      READ TABLE itab_zycit036 WITH KEY nrseq  = it_zycit443-nrseq

                                      ebeln  = it_zycit443-ebeln

                                      ebelp  = it_zycit443-ebelp

                                      codigo = /pws/zycit019-codigo

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

                                      origem = 'DC'.

* << Fim da exclusão

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

                                      origem = 'DCD'.

* << Fim da inclusão

      IF sy-subrc NE 0.

        /pws/zycie036-nrseq      = it_zycit443-nrseq.

        /pws/zycie036-ebeln      = it_zycit443-ebeln.

        /pws/zycie036-ebelp      = it_zycit443-ebelp.

        /pws/zycie036-codigo     = /pws/zycit019-codigo.

        /pws/zycie036-waers_real = /pws/zycbt007-waersb.

        /pws/zycie036-bukrs      = /pws/zycie465-bukrs.

        /pws/zycie036-werks      = /pws/zycie465-werks.

        /pws/zycie036-embarca    = /pws/zycie465-embarca.

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

        /pws/zycie036-origem     = 'DC'.

* << Fim da exclusão

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

        /pws/zycie036-origem     = 'DCD'.

* << Fim da inclusão

        /pws/zycie036-codmod     = 'D'.

        /pws/zycie036-status     = 'M'.

        /pws/zycie036-vlreal_emb = it_tbcontrol-vldp.

        /pws/zycie036-waers_emb  = /pws/zycbt007-waersb.

        /pws/zycie036-nrseqori   = /pws/zycie465-nradto.

...

 

...

    INTO t001-land1

    WHERE bukrs EQ /pws/zycie465-bukrs.

  SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036

         WHERE nrseq  = /pws/zycie465-nrseq

           AND codigo = /pws/zycit019-codigo

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

           AND origem = 'DC'.

* << Fim da exclusão

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

           AND origem = 'DCD'.

* << Fim da inclusão

  SELECT * UP TO 1 ROWS FROM /pws/zycit039 INTO /pws/zycit039

         WHERE codigo = /pws/zycit019-codigo

           AND land1 EQ t001-land1.

  ENDSELECT.

  CLEAR: v_tot_ntgew , v_tot_real.

...

 

...

  IF it_tbcontrol_aux2-tpdesp = /pws/zycit000-cod_sisc AND

     NOT /pws/zycit000-flag_txsisc IS INITIAL.

    SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

      WHERE nrseq = /pws/zycie465-nrseq.

    IF NOT itab_zycit443[] IS INITIAL.

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

      SELECT * FROM /pws/zycit116 INTO TABLE itab_zycit116

* << Fim da exclusão

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

      SELECT * FROM /pws/zycit451 INTO TABLE itab_zycit451

* << Fim da inclusão

        FOR ALL ENTRIES IN itab_zycit443

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

        WHERE nrseqdi = itab_zycit443-nrseqda.

* << Fim da exclusão

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

        WHERE nrseqda = itab_zycit443-nrseqda.

* << Fim da inclusão

    ENDIF.

    IF NOT /pws/zycit000-flag_txsisc IS INITIAL.

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

      LOOP AT itab_zycit116.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit116-adicao.

          itab_zycit116-nr_itens = itab_zycit116-nr_itens + 1.

* << Fim da exclusão

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

      LOOP AT itab_zycit451.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit451-adicao.

          itab_zycit451-nr_itens = itab_zycit451-nr_itens + 1.

* << Fim da inclusão

        ENDLOOP.

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

        MODIFY itab_zycit116.

* << Fim da exclusão

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

        MODIFY itab_zycit451.

* << Fim da inclusão

      ENDLOOP.

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

      DESCRIBE TABLE itab_zycit116 LINES v_tabix.

* << Fim da exclusão

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

      DESCRIBE TABLE itab_zycit451 LINES v_tabix.

* << Fim da inclusão

      v_sisco1 = ( it_tbcontrol_aux2-vldp -

                   /pws/zycit000-txsis_fix ) / v_tabix.

      v_sisco2 =   /pws/zycit000-txsis_fix / v_tabix.

      v_sisco3 = v_sisco1 + v_sisco2.

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

      LOOP AT itab_zycit116.

* << Fim da exclusão

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

      LOOP AT itab_zycit451.

* << Fim da inclusão

        CLEAR: v_tabix, v_sisco_tot.

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

        v_sisco_item = v_sisco3 / itab_zycit116-nr_itens.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit116-adicao.

* << Fim da exclusão

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

        v_sisco_item = v_sisco3 / itab_zycit451-nr_itens.

        LOOP AT itab_zycit443 WHERE adicao = itab_zycit451-adicao.

* << Fim da inclusão

          v_tabix = v_tabix + 1.

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

          IF v_tabix = itab_zycit116-nr_itens.

* << Fim da exclusão

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

          IF v_tabix = itab_zycit451-nr_itens.

* << Fim da inclusão

            itab_zycit443-vl_sisco = v_sisco3 - v_sisco_tot.

          ELSE.

            itab_zycit443-vl_sisco = v_sisco_item.

            v_sisco_tot = v_sisco_tot + v_sisco_item.

          ENDIF.

...

 

...

                             hruserc    = sy-uzeit

                       WHERE nrseq    EQ itab_zycit036-nrseq

                         AND ebeln    EQ itab_zycit036-ebeln

                         AND ebelp    EQ itab_zycit036-ebelp

                         AND codigo   EQ itab_zycit036-codigo

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

                         AND origem   EQ 'DC'

* << Fim da exclusão

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

                         AND origem   EQ 'DCD'

* << Fim da inclusão

                         AND nrseqori EQ itab_zycit036-nrseqori.

    IF sy-subrc NE 0.

      MODIFY /pws/zycit036 FROM itab_zycit036.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM ver_rateio.

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

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

* << Fim da exclusão

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

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

* << Fim da inclusão

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

  SELECT SINGLE * FROM j_1bbranch

    WHERE bukrs = /pws/zycie465-bukrs

     AND branch = /pws/zycie465-j_1bbranch.

  SELECT SINGLE * FROM adrc

...

 

...

    ENDLOOP.

    LOOP AT it_zycit443.

      MOVE-CORRESPONDING it_zycit443 TO itab_item_funcao.

      APPEND itab_item_funcao.

    ENDLOOP.

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

    CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

* << Fim da exclusão

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

    CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO_DA'

* << Fim da inclusão

     EXPORTING

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

        v_programa          = v_programa

        v_nrseqori          = /pws/zycie465-nradto

        v_visualiza         = v_visualiza

        v_bukrs             = /pws/zycie465-bukrs

* << Fim da exclusão

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

              v_programa    = v_programa

              v_nrseqori    = /pws/zycie465-nradto

              v_visualiza   = v_visualiza

              v_bukrs       = /pws/zycie465-bukrs

* << Fim da inclusão

     IMPORTING

        v_resposta          = v_resposta

        v_erro              = v_erro

     TABLES

        itab_zycit036       = itab_zycit036

        itab_despesa        = itab_desp_funcao

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

        itab_zycit003       = itab_item_funcao

        .

* << Fim da exclusão

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

        itab_zycit003       = itab_item_funcao.

* << Fim da inclusão

    IF v_erro EQ '1'.

      CLEAR v_resposta.

      MESSAGE i015 WITH text-088.

    ENDIF.

  ELSE.

...

 

...

ENDFORM.

FORM estorna_custo.

  SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036

           WHERE nrseq  = /pws/zycie465-nrseq

             AND codigo = /pws/zycit019-codigo

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

             AND origem = 'DC'

* << Fim da exclusão

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

             AND origem = 'DCD'

* << Fim da inclusão

             AND nrseqori = /pws/zycie465-nradto.

  LOOP AT itab_zycit036.

    IF itab_zycit036-congelamov IS INITIAL.

      DELETE FROM /pws/zycit036 WHERE

                  nrseq    = itab_zycit036-nrseq  AND

...

 

...

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM preenche_conta.

  CLEAR: it_zycit443.

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

  READ TABLE it_zycit443 WITH KEY nrseq = /pws/zycie465-nrseq

* << Fim da exclusão

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

  READ TABLE it_zycit443 WITH KEY nrseqda = /pws/zycie465-nrseq

* << Fim da inclusão

                                  ebeln = it_despesa-ebeln

                                  ebelp = it_despesa-ebelp.

  READ TABLE it_ekpo WITH KEY     ebeln = it_despesa-ebeln

                                  ebelp = it_despesa-ebelp.

  it_conta-prctr = it_despesa-prctr.

...

 

...

  PERFORM preenche_contas.

ENDFORM.

FORM preenche_contas.

  DATA: v_desp_acum LIKE /pws/zycit036-vlreal,

        v_desp_dif  LIKE /pws/zycit036-vlreal,

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

        v_programa  LIKE /pws/zycit036-origem VALUE 'DC'.

* << Fim da exclusão

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

        v_programa  LIKE /pws/zycit036-origem VALUE 'DCD'.

* << Fim da inclusão

  FREE it_item.

  LOOP AT it_zycit443 WHERE nrseqda = /pws/zycie465-nrseq.

    READ TABLE it_ekpo WITH KEY ebeln = it_zycit443-ebeln

                                ebelp = it_zycit443-ebelp.

    it_item-nrseq   = it_zycit443-nrseq.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI076I01

 

...

      DATA: v_autoriza TYPE feld.

      CALL FUNCTION '/PWS/ZYGL_AUTORIZA_MODO_BATCH'

           EXPORTING

                codmod   = 'D'

                usuario  = sy-uname

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

                func     = 'DC'

* << Fim da exclusão

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

                func     = 'DCD'

* << Fim da inclusão

           IMPORTING

                autoriza = v_autoriza.

      IF v_autoriza = 'X'.

        PERFORM  modo_batch_input.

      ELSE.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI076TOP

 

 

...

DATA: END OF itab_ekkn.

DATA: BEGIN OF itab_zycit443 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit443.

DATA vl_sisco LIKE /pws/zycit049-vldp.

DATA: END OF itab_zycit443.

* >> Início da exclusão:

DATA: BEGIN OF itab_zycit116 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit116.

* << Fim da exclusão

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit451 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit451.

* << Fim da inclusão

DATA nr_itens TYPE i.

* >> Início da exclusão:

DATA: END OF itab_zycit116.

* << Fim da exclusão

* >> Início da inclusão:

DATA: END OF itab_zycit451.

* << Fim da inclusão

DATA: itab_zycit019 LIKE /pws/zycit019 OCCURS 0 WITH HEADER LINE,

      itab_zycit039 LIKE /pws/zycit039 OCCURS 0 WITH HEADER LINE,

      itab_zyglt316 LIKE /pws/zyglt316 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_marc OCCURS 0 ,

        matnr  LIKE marc-matnr,

...

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2UXX

 

...

INCLUDE /PWS/LZYCIGF2U01.

INCLUDE /PWS/LZYCIGF2U02.

INCLUDE /PWS/LZYCIGF2U06.

INCLUDE /PWS/LZYCIGF2U10.

INCLUDE /PWS/LZYCIGF2U17.

* >> Início da inclusão:

INCLUDE /PWS/LZYCIGF2U18.

INCLUDE /PWS/LZYCIGF2U19.

* << Fim da inclusão

 

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

Modificações efetuadas em /PWS/ZYCI_RATEIO_CUSTO_DA

 

 

FUNCTION /pws/zyci_rateio_custo_da.

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

*"*"Interface local:

*"  IMPORTING

*"     REFERENCE(V_PROGRAMA) LIKE  /PWS/ZYCIT036-ORIGEM

*"     REFERENCE(V_NRSEQORI) LIKE  /PWS/ZYCIT036-NRSEQORI OPTIONAL

*"     REFERENCE(V_PARAMETRO) LIKE  /PWS/ZYCIT003-DESCR OPTIONAL

*"     REFERENCE(V_VISUALIZA) TYPE  C

*"     REFERENCE(V_TOTAL) LIKE  /PWS/ZYCIT036-NETPR OPTIONAL

*"     REFERENCE(V_WAERS) LIKE  /PWS/ZYCIE006-WAERS OPTIONAL

*"     REFERENCE(V_BUKRS) LIKE  /PWS/ZYCBT007-BUKRS

*"     REFERENCE(V_BATCH) TYPE  C OPTIONAL

*"     REFERENCE(/PWS/ZYCIE442) LIKE  /PWS/ZYCIE442 STRUCTURE

*"        /PWS/ZYCIE442 OPTIONAL

*"  EXPORTING

*"     VALUE(V_RESPOSTA) TYPE  C

*"     VALUE(V_ERRO) TYPE  C

*"  TABLES

*"      ITAB_ZYCIT036 STRUCTURE  /PWS/ZYCIT036 OPTIONAL

*"      ITAB_DESPESA STRUCTURE  /PWS/ZYCIE353 OPTIONAL

*"      ITAB_ZYCIT003 STRUCTURE  /PWS/ZYCIT443 OPTIONAL

*"      ITAB_ZYCIT443 STRUCTURE  /PWS/ZYCIT443 OPTIONAL

*"      ITAB_ZYCIT036_PLAN STRUCTURE  /PWS/ZYCIT036 OPTIONAL

*"  CHANGING

*"     REFERENCE(V_TAXA_USD) LIKE  /PWS/ZYCIT174-TXCONVER OPTIONAL

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

*-----------------------------------------------------------------------

*  Procwork Software

*  Módulo    : MM

*  Descrição : CI - Rateio de Despesas do Custo Efetivo

*

*-----------------------------------------------------------------------

*  Chamado      Data            Descrição

*  304500       18/05/2006      Codificação Inicial

*-----------------------------------------------------------------------

  TABLES:

          /pws/zycit433.

*                /pws/zycit062,

*                j_1bbranch,

*                adrc.

 

*Tabelas Internas

  DATA: BEGIN OF itab_zycit036_aux2 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit036.

  DATA: END   OF itab_zycit036_aux2.

 

  DATA: BEGIN OF itab_zycit036_aux OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit036.

  DATA:   tpdesp  LIKE /pws/zycit019-tpdesp.

  DATA: END   OF itab_zycit036_aux.

 

  DATA: BEGIN OF itab_zycit140_aux OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit140.

  DATA: END   OF itab_zycit140_aux.

 

  DATA: BEGIN OF itab_zycit403 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit403.

  DATA: END   OF itab_zycit403.

 

  DATA: BEGIN OF itab_zycit039 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit039.

  DATA: END OF itab_zycit039.

 

  DATA: BEGIN OF itab_zycit443a OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit443.

  DATA vl_sisco(13)  TYPE p DECIMALS 3. "like /pws/zycit049-vldp.

  DATA: END OF itab_zycit443a.

 

  DATA: BEGIN OF itab_zycit451 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit451.

  DATA: nr_itens TYPE i,

  flag_vltot.

 

  DATA: END OF itab_zycit451.

 

  DATA: BEGIN OF itab_zycit336 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit336.

  DATA: END   OF itab_zycit336.

 

  DATA: BEGIN OF itab_zycit031 OCCURS 0.   "Par. de Incoterms

          INCLUDE STRUCTURE /pws/zycit031.

  DATA: END OF itab_zycit031.

 

  DATA: BEGIN OF itab_zycit443_aux OCCURS 0.   "Par. de Incoterms

          INCLUDE STRUCTURE /pws/zycit443.

  DATA: END OF itab_zycit443_aux.

 

  DATA: BEGIN OF itab_ekpo OCCURS 0.   "Itens do pedido

          INCLUDE STRUCTURE ekpo.

  DATA: END OF itab_ekpo.

 

  DATA: BEGIN OF  itab_adicao OCCURS 0.

          INCLUDE STRUCTURE /pws/zycie451.

  DATA: nr_itens TYPE i,

        flag_vltot,

       END OF itab_adicao.

 

  DATA: BEGIN OF it_desp OCCURS 0,

              nrseqda    LIKE /pws/zycie443-nrseqda,

              ebeln      LIKE /pws/zycie443-ebeln,

              ebelp      LIKE /pws/zycie443-ebelp,

              netpr      LIKE /pws/zycie443-netpr,

              waers      LIKE /pws/zycie443-waersbem,

              menge      LIKE /pws/zycie443-menge,

              qtd_iten   LIKE /pws/zycie443-qtd_da,

              werks      LIKE /pws/zycie443-werks,

              advalii    LIKE /pws/zycie443-advalii,

              advalipi   LIKE /pws/zycie443-advalipi,

              aliqicms   LIKE /pws/zycie443-aliqicms,

              bukrs      LIKE /pws/zycit442-bukrs,

              inco1      LIKE /pws/zycit001-inco1,

              embarca    LIKE /pws/zycit001-embarca,

              vlseg      LIKE /pws/zycit443-vlseg,

              vlfre      LIKE /pws/zycit443-vlfre,

              vlii       LIKE /pws/zycit443-vlii,

              vlipi      LIKE /pws/zycit443-vlipi,

              vlicms     LIKE /pws/zycit443-vlicms,

              vlpis      LIKE /pws/zycit443-vlpis ,

              vlcofins   LIKE /pws/zycit443-vlcofins,

        END OF it_desp.

 

  DATA: itab_despesa_aux LIKE itab_despesa OCCURS 0 WITH HEADER LINE,

        itab_despesa_aux2 LIKE itab_despesa OCCURS 0 WITH HEADER LINE.

 

 

*Variáveis

  DATA: vl_real      LIKE /pws/zycit036-vlreal,

        vltotal      LIKE /pws/zycit036-netpr,

        vl_porcent   TYPE p DECIMALS 4,

        v_line       LIKE sy-tabix,

        v_lines      LIKE sy-tabix,

        v_tot_ii     LIKE /pws/zycit443-vlii,

        v_tot_ipi    LIKE /pws/zycit443-vlipi,

        v_tot_icms   LIKE /pws/zycit443-vlicms,

        v_tot_pis    LIKE /pws/zycit443-vlipi,

        v_tot_cofins LIKE /pws/zycit443-vlipi,

        v_sisco1(13)     TYPE p DECIMALS 3, "like /pws/zycit049-vldp,

        v_sisco2(13)     TYPE p DECIMALS 3, "like /pws/zycit049-vldp,

        v_sisco3(13)     TYPE p DECIMALS 3, "like /pws/zycit049-vldp,

        v_sisco_item(13) TYPE p DECIMALS 3, "like /pws/zycit049-vldp,

        v_sisco_tot(13)  TYPE p DECIMALS 3, "like /pws/zycit049-vldp,

        v_sisco_acum(13) TYPE p DECIMALS 3, "like /pws/zycit049-vldp,

        v_sisco_dif(13)  TYPE p DECIMALS 3, "like /pws/zycit049-vldp.

        v_tpeso       LIKE /pws/zycit443-ntgew,

        v_tfrete      LIKE /pws/zycie006-vlfre,

        v_valor       LIKE /pws/zycie006-vlseg,

        v_tvalor      LIKE /pws/zycie006-vlseg,

        v_tseg        LIKE /pws/zycie006-vlseg,

        v_vlfrete     LIKE /pws/zycit443-vlfre,

        v_seg         LIKE /pws/zycie006-vlseg,

        v_tot_desp    LIKE /pws/zycit036-vlreal,

        v_plan        LIKE /pws/zycit001-netpr,

        v_tot         LIKE /pws/zycit443-netpr,

        v_tot_vlreal  LIKE /pws/zycit443-vlreal,

        v_linha       TYPE sy-tabix,

        v_index       LIKE sy-tabix,

        v_line_rateio TYPE i,

        v_line_ac     TYPE i,

        v_ac_fre      LIKE /pws/zycit443-vlfre,

        v_ac_seg      LIKE /pws/zycit443-vlseg,

        vl_ii         LIKE /pws/zycit443-vlii,

        vl_ipi        LIKE /pws/zycit443-vlipi,

        vl_icms       LIKE /pws/zycit443-vlicms,

        vltot_ii      LIKE /pws/zycit036-vlreal,

        vltot_ipi     LIKE /pws/zycit036-vlreal,

        vltot_icms    LIKE /pws/zycit036-vlreal,

        vl_imp        LIKE /pws/zycit036-vlreal,

        v_ori         LIKE /pws/zycit140-origem,

        v_taxa        LIKE /pws/zycie442-ukursfob,

        vltot_pis     LIKE /pws/zycit036-vlreal,

        vl_pis        LIKE /pws/zycit036-vlreal,

        vltot_cofins  LIKE /pws/zycit036-vlreal,

        vl_cofins     LIKE /pws/zycit036-vlreal,

        v_vlseg       LIKE /pws/zycit036-vlreal.

 

 

  CLEAR   itab_zycit036_aux.

  REFRESH itab_zycit036_aux.

 

  SORT itab_despesa BY codigo tpdesp.

 

  IF v_taxa_usd IS INITIAL.

    v_taxa_usd = 1.

  ENDIF.

  REFRESH: itab_despesa_aux, itab_despesa_aux2.

  MOVE itab_despesa[] TO itab_despesa_aux2[].

  LOOP AT itab_despesa.

    MOVE itab_despesa TO itab_despesa_aux.

    CLEAR: itab_despesa_aux-aufnr, itab_despesa_aux-ps_psp_pnr.

    COLLECT itab_despesa_aux.

  ENDLOOP.

 

  MOVE itab_despesa_aux[] TO itab_despesa[].

 

 

*  IF NOT itab_zycit443[] IS INITIAL.

*    SELECT * FROM ekpo INTO TABLE itab_ekpo

*           FOR ALL ENTRIES IN itab_zycit443

*           WHERE ebeln EQ itab_zycit443-ebeln

*             AND ebelp EQ itab_zycit443-ebelp.

*  ENDIF.

 

  READ TABLE itab_zycit443 INDEX 1.

 

*  SELECT SINGLE * FROM /pws/zycit001

*    WHERE nrseq = itab_zycit443-nrseq.

 

  SELECT SINGLE land1 FROM t001

       INTO t001-land1

     WHERE bukrs EQ v_bukrs.

 

  SELECT SINGLE * FROM /pws/zycit031

    WHERE inco1 = /pws/zycie442-inco1 AND

          land1 EQ t001-land1.

 

  SELECT SINGLE * FROM /pws/zycit000

            WHERE land1 EQ t001-land1.

 

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ v_bukrs.

 

  SELECT * FROM /pws/zycit039

         INTO TABLE itab_zycit039

         WHERE codmod EQ 'D' AND

               land1  EQ t001-land1.

 

  SELECT * FROM /pws/zycit443

        INTO TABLE itab_zycit443a

        WHERE nrseqda = itab_zycit443-nrseqda.

 

  IF itab_zycit443a[] IS INITIAL.

    LOOP AT itab_zycit443.

      MOVE itab_zycit443 TO itab_zycit443a.

      CLEAR itab_zycit443a-vl_sisco.

      v_tpeso = v_tpeso + itab_zycit443-ntgew.

      v_valor  = itab_zycit443-qtd_da * itab_zycit443-vlreal.

      IF NOT v_valor IS INITIAL AND NOT v_tvalor IS INITIAL.

        v_tseg = v_valor / v_tvalor.

      ENDIF.

      v_seg = v_seg + v_valor.

      APPEND itab_zycit443a.

    ENDLOOP.

  ENDIF.

 

 

 

  CLEAR: v_tfrete,

        v_ori.

  SELECT SINGLE land1 FROM t001 INTO t001-land1

     WHERE bukrs EQ /pws/zycbt007-bukrs.

  SELECT * FROM /pws/zycit140

          INTO TABLE itab_zycit140_aux

           WHERE codmod EQ 'D'

              AND codigo EQ 'FRETEI'

              AND custo  EQ 'X'

              AND land1  EQ t001-land1.

  IF sy-subrc EQ 0.

    SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036_aux

      WHERE nrseq = itab_zycit443-nrseqda AND

            codigo = 'FRETEI'.

    LOOP AT itab_zycit140_aux.

      CLEAR itab_zycit036_aux.

      READ TABLE itab_zycit036_aux WITH KEY

                             nrseq  = /pws/zycie442-nrseqda

                             codigo = itab_zycit140_aux-codigo

                             origem = itab_zycit140_aux-origem.

      IF sy-subrc EQ 0.

        v_ori = itab_zycit140_aux-origem.

      ENDIF.

    ENDLOOP.

 

    IF v_ori IS INITIAL AND /pws/zycit000-fretepres IS INITIAL.

      v_ori = 'NF'.

    ENDIF.

    LOOP AT itab_zycit036_aux WHERE codigo = 'FRETEI' AND

                                 origem = v_ori.

      v_tfrete = v_tfrete + itab_zycit036_aux-vlreal.

    ENDLOOP.

  ENDIF.

 

 

 

  LOOP AT itab_zycit443 .

    IF NOT v_tpeso IS INITIAL.

      v_vlfrete =  v_tfrete * ( itab_zycit443-ntgew / v_tpeso ).

    ENDIF.

    v_tot = v_tot + ( itab_zycit443-netpr * itab_zycit443-qtd_da ).

    v_tot_vlreal = v_tot_vlreal + ( itab_zycit443-vlreal *

                    itab_zycit443-qtd_da ).

 

  ENDLOOP.

 

 

  LOOP AT itab_zycit443a.

    IF itab_zycit443a-codregtri NE '5' AND

       itab_zycit443a-codregtri NE '3'.

      v_tot_ii   = itab_zycit443a-vlii + v_tot_ii.

    ENDIF.

    IF itab_zycit443a-codregtriipi NE '1' AND

       itab_zycit443a-codregtriipi NE '5'.

      v_tot_ipi  = itab_zycit443a-vlipi + v_tot_ipi.

    ENDIF.

    v_tot_pis     = itab_zycit443a-vlpis + v_tot_pis.

    v_tot_cofins  = itab_zycit443a-vlcofins + v_tot_cofins.

    v_tot_icms = itab_zycit443a-vlicms + v_tot_icms.

  ENDLOOP.

 

  IF NOT itab_zycit443a[] IS INITIAL.

    SELECT * FROM /pws/zycit451

       INTO TABLE itab_zycit451

       FOR ALL ENTRIES IN itab_zycit443a

       WHERE nrseqda = itab_zycit443a-nrseqda.

 

    IF sy-subrc NE 0 AND v_programa = 'DA'.

      "Criação da DI

      IMPORT itab_adicao FROM MEMORY ID 'ADI01'.

      LOOP AT itab_adicao.

        MOVE: itab_adicao TO itab_zycit451.

        CLEAR itab_zycit451-nr_itens.

        APPEND itab_zycit451.

      ENDLOOP.

 

    ENDIF.

  ENDIF.

 

 

 

  LOOP AT itab_zycit451.

    v_linha = sy-tabix.

    LOOP AT itab_zycit443a WHERE adicao = itab_zycit451-adicao.

      itab_zycit451-nr_itens = itab_zycit451-nr_itens + 1.

    ENDLOOP.

    MODIFY itab_zycit451 INDEX v_linha.

  ENDLOOP.

 

 

 

  IF NOT itab_zycit451[] IS INITIAL.

    DESCRIBE TABLE itab_zycit451 LINES v_line.

    READ TABLE itab_despesa WITH KEY tpdesp = /pws/zycit000-cod_sisc.

    IF sy-subrc = 0 AND NOT /pws/zycit000-flag_txsisc IS INITIAL.

      v_sisco1 = ( itab_despesa-netpr - /pws/zycit000-txsis_fix )

                                   / v_line.

      v_sisco2 =   /pws/zycit000-txsis_fix / v_line.

      v_sisco3 = v_sisco1 + v_sisco2.

      LOOP AT itab_zycit451.

        CLEAR: v_lines, v_sisco_tot.

        IF NOT itab_zycit451-nr_itens IS INITIAL.

          v_sisco_item = v_sisco3 / itab_zycit451-nr_itens.

        ENDIF.

        LOOP AT itab_zycit443a WHERE adicao = itab_zycit451-adicao.

          v_lines = v_lines + 1.

          IF v_lines = itab_zycit451-nr_itens.

            itab_zycit443a-vl_sisco = v_sisco3 - v_sisco_tot.

          ELSE.

            itab_zycit443a-vl_sisco = v_sisco_item.

            v_sisco_tot = v_sisco_tot + v_sisco_item.

          ENDIF.

          MODIFY itab_zycit443a.

        ENDLOOP.

      ENDLOOP.

    ENDIF.

  ENDIF.

  DESCRIBE TABLE itab_zycit443 LINES v_linha.

 

 

 

  IF v_programa EQ 'DCD' OR v_programa EQ 'PCD' OR

     v_programa EQ 'DA'.

 

 

    MOVE itab_zycit036[] TO itab_zycit036_aux[].

 

    LOOP AT itab_despesa WHERE netpr NE 0.

 

      CLEAR: v_tot_desp.

 

      LOOP AT itab_zycit443.  "WHERE servico IS INITIAL.

        CLEAR itab_zycit036_aux.

 

 

        IF  NOT itab_despesa-matuse IS INITIAL.

 

          READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit443-ebeln

                                        ebelp = itab_zycit443-ebelp.

          IF itab_ekpo-j_1bmatuse NE itab_despesa-matuse .

            CONTINUE.

          ENDIF.

        ENDIF.

 

        v_index = sy-tabix.

        IF itab_despesa-codigo IS INITIAL.

          SELECT SINGLE land1 FROM t001 INTO t001-land1

                    WHERE bukrs EQ /pws/zycbt007-bukrs.

          SELECT SINGLE *  FROM /pws/zycit019

            WHERE tpdesp EQ itab_despesa-tpdesp AND

                  land1  EQ t001-land1.

        ELSE.

          SELECT SINGLE land1 FROM t001 INTO t001-land1

                   WHERE bukrs EQ /pws/zycbt007-bukrs.

          SELECT SINGLE *  FROM /pws/zycit019

                    WHERE codigo EQ itab_despesa-codigo AND

                          land1  EQ t001-land1.

        ENDIF.

 

        SELECT SINGLE * FROM j_1bbranch

           INTO  j_1bbranch

           WHERE bukrs  = /pws/zycie442-bukrs AND

                 branch = /pws/zycie442-j_1bbranch.

        IF sy-subrc EQ 0.

          SELECT SINGLE * FROM adrc

             INTO  adrc

             WHERE addrnumber = j_1bbranch-adrnr.

        ENDIF.

 

        SELECT SINGLE * FROM /pws/zycit062

             WHERE regio = adrc-region.

        MOVE: /pws/zycit019-tpdesp TO itab_despesa-tpdesp,

              /pws/zycit019-codigo TO itab_despesa-codigo.

 

        IF v_erro IS INITIAL.

 

          MOVE: itab_zycit443-nrseqda  TO itab_zycit036_aux-nrseq,

              itab_zycit443-ebeln    TO itab_zycit036_aux-ebeln,

              itab_zycit443-ebelp    TO itab_zycit036_aux-ebelp,

              /pws/zycie442-identify TO itab_zycit036_aux-embarca,

              itab_despesa-codigo    TO itab_zycit036_aux-codigo,

              v_programa             TO itab_zycit036_aux-origem,

              v_nrseqori             TO itab_zycit036_aux-nrseqori,

              /pws/zycie442-bukrs    TO itab_zycit036_aux-bukrs,

              itab_zycit443-werks    TO itab_zycit036_aux-werks,

              'D'                    TO itab_zycit036_aux-codmod,

              itab_despesa-netpr     TO itab_zycit036_aux-vlreal_emb,

              sy-uname               TO itab_zycit036_aux-usernamec,

              sy-datum               TO itab_zycit036_aux-dtuserc,

              sy-uzeit               TO itab_zycit036_aux-hruserc,

              itab_despesa-tpdesp    TO itab_zycit036_aux-tpdesp .

 

 

****************************************

 

          v_plan = itab_zycit443-netpr * itab_zycit443-qtd_da.

          CLEAR itab_zycit039.

         READ TABLE itab_zycit039 WITH KEY codigo = itab_despesa-codigo.

 

          IF v_linha = v_index.

            IF NOT itab_despesa-waers IS INITIAL.

              itab_zycit036_aux-waers_real = itab_despesa-waers.

            ELSE.

              itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

            ENDIF.

 

            IF   NOT itab_zycit443a[] IS INITIAL AND

            ( /pws/zycit000-cod_sisc EQ itab_despesa-tpdesp AND

              NOT /pws/zycit000-flag_txsisc IS INITIAL ) .

 

 

              READ TABLE itab_zycit443a WITH KEY

                        ebeln = itab_despesa-ebeln

                        ebelp = itab_despesa-ebelp.

              IF sy-subrc EQ 0 AND NOT v_tot_desp IS INITIAL.

             itab_zycit036_aux-vlreal = itab_despesa-netpr - v_tot_desp

 

                 .

                itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

              ENDIF.

 

 

            ELSE.

              IF itab_zycit039-divabs EQ 'X'.

                itab_zycit036_aux-vlreal = itab_despesa-netpr -

                                                             v_tot_desp.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSEIF itab_zycit039-peso EQ 'X'.

                IF NOT v_tpeso IS INITIAL.

                  itab_zycit036_aux-vlreal = itab_despesa-netpr -

                                                             v_tot_desp.

                  itab_zycit036_aux-waers_real = itab_despesa-waers.

                ENDIF.

              ELSEIF itab_zycit039-proporplan EQ 'X'.

                itab_zycit036_aux-vlreal = itab_despesa-netpr -

                                                             v_tot_desp.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSEIF itab_zycit039-vlreal EQ 'X'.

                itab_zycit036_aux-vlreal = itab_despesa-netpr -

                                                             v_tot_desp.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSE.

                v_erro = '1'.

                EXIT.

              ENDIF.

 

 

              IF NOT itab_despesa-waers IS INITIAL.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSE.

                itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

              ENDIF.

            ENDIF.

 

 

 

 

          ELSE.

 

            IF NOT itab_despesa-waers IS INITIAL.

              itab_zycit036_aux-waers_real = itab_despesa-waers.

            ELSE.

              itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

            ENDIF.

            IF  NOT itab_zycit443a[] IS INITIAL AND

             ( /pws/zycit000-cod_sisc EQ itab_despesa-tpdesp AND

                NOT /pws/zycit000-flag_txsisc IS INITIAL ).

 

              READ TABLE itab_zycit443a WITH KEY

                        ebeln = itab_despesa-ebeln

                        ebelp = itab_despesa-ebelp.

              IF sy-subrc EQ 0.

                itab_zycit036_aux-vlreal = itab_zycit443a-vl_sisco.

                itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

              ENDIF.

 

            ELSE.

              IF itab_zycit039-divabs EQ 'X'.

                itab_zycit036_aux-vlreal = itab_despesa-netpr / v_linha.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSEIF itab_zycit039-peso EQ 'X'.

                IF NOT v_tpeso IS INITIAL.

                  itab_zycit036_aux-vlreal = itab_despesa-netpr *

                                          itab_zycit443-ntgew / v_tpeso.

                  itab_zycit036_aux-waers_real = itab_despesa-waers.

                ENDIF.

              ELSEIF itab_zycit039-proporplan EQ 'X'.

                itab_zycit036_aux-vlreal = ( itab_zycit443-netpr *

                 itab_zycit443-qtd_da / v_tot ) *

                 itab_despesa-netpr.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSE.

 

                CLEAR /pws/zycit020.

                SELECT SINGLE * FROM /pws/zycit020 WHERE

                  regio = adrc-region AND

                  codigo = /pws/zycit019-codigo AND

                  baseicms EQ 'X'  AND

                  land1 EQ t001-land1.

                IF sy-subrc NE 0.

                  SELECT SINGLE * FROM /pws/zycit020 WHERE

                    regio = space AND

                    codigo = /pws/zycit019-codigo AND

                    baseicms EQ 'X'  AND

                    land1 EQ t001-land1.

                ENDIF.

 

 

 

                IF NOT itab_zycit443-qtd_da IS INITIAL.

                  itab_zycit036_aux-vlreal = ( itab_zycit443-netpr *

                    itab_zycit443-qtd_da / v_tot ) *

                    itab_despesa-netpr.

                ELSE.

                  itab_zycit036_aux-vlreal = ( itab_zycit443-netpr *

                   itab_zycit443-qtd_da / v_tot ) *

                   itab_despesa-netpr.

                ENDIF.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

 

 

 

              ENDIF.

              IF NOT itab_despesa-waers IS INITIAL.

                itab_zycit036_aux-waers_real = itab_despesa-waers.

              ELSE.

                itab_zycit036_aux-waers_real = /pws/zycbt007-waersb.

              ENDIF.

            ENDIF.

          ENDIF.

          APPEND itab_zycit036_aux.

 

          v_tot_desp = v_tot_desp + itab_zycit036_aux-vlreal.

 

        ENDIF.

      ENDLOOP.

 

      DELETE itab_zycit036_aux WHERE vlreal IS initial.

 

 

    ENDLOOP.

 

    MOVE itab_zycit036_aux[] TO itab_zycit036[].

 

    IF sy-subrc NE 0.

      v_erro = 3.

    ENDIF.

 

  ENDIF.

***********************************************************

*Verifica se exibe ou não o relatório

  IF v_visualiza IS INITIAL AND /pws/zycit000-flag_rateio IS INITIAL.

    v_erro = '2'.

    v_resposta = 'S'.

  ENDIF.

 

  IF v_visualiza = 'N'.

    v_erro = '2'.

    v_resposta = 'S'.

  ENDIF.

 

 

  REFRESH: itab_zycit036_aux2.

  CLEAR: itab_zycit036_aux2.

  SORT itab_zycit036 BY nrseq ebeln ebelp codigo origem nrseqori.

  LOOP AT itab_zycit036.

    MOVE itab_zycit036 TO itab_zycit036_aux2.

    COLLECT itab_zycit036_aux2.

  ENDLOOP.

  REFRESH: itab_zycit036.

  CLEAR: itab_zycit036.

  MOVE itab_zycit036_aux2[] TO itab_zycit036[].

 

  LOOP AT itab_zycit036 WHERE NOT vlreal IS initial.

  ENDLOOP.

  IF sy-subrc NE 0.

    v_erro = '2'.

    v_resposta = 'S'.

  ENDIF.

 

  DELETE itab_zycit036 WHERE vlreal IS initial.

 

 

  PERFORM custeando_planejado(/pws/zycir035) TABLES it_desp

                                       itab_zycit036_plan.

 

 

  IF v_erro IS INITIAL AND sy-binpt IS INITIAL.

 

    EXPORT itab_zycit036 TO MEMORY ID 'r145'.

    EXPORT v_parametro TO MEMORY ID '145p'.

    EXPORT v_visualiza TO MEMORY ID '145v'.

    EXPORT v_programa  TO MEMORY ID '145r'.

    SUBMIT /pws/zycir145  AND RETURN.

    IMPORT v_resposta FROM MEMORY ID '145'.

  ENDIF.

 

  IF NOT sy-binpt IS INITIAL.

    v_resposta = 'S'.

  ENDIF.

 

  MOVE itab_despesa_aux2[] TO itab_despesa[].

 

 

 

ENDFUNCTION.

 

 

...

 

 

 

 

 

 

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

Modificações efetuadas em REPS /PWS/ZYCID059

*     Valor fixo inserido:

 

     FAT                    Fatura

     DC                     Débito em Conta

     NF                     Nota Fiscal

     EST                    Despesa Estatística

     PED                    Pedido

     PC                     Prestação de Contas

     DSD                    Despesa Diversa

     AD                     Adiantamento

     NFC                    Nota Fiscal Complementar

*Inicio Inclusão

     PCD                    Prestação de Contas DA

     DCD                    Débito em Conta DA

*Fim Inclusão