CE PLUS - Nota 013162

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 12/08/2013 00:00:00

Data/Hora Última Alteração: 19/08/2013 17:18:59

Descrição da Nota: DESENVOLVIMENTO PARA TRATAMENTO DE PROCESSO INTERCOMPANY.

Sintoma

Desenvolvimento para tratamento de Processo intercompany.

 

 

Solução

Desenvolvimento para tratamento de Processo intercompany.

 

Após a aplicação da nota, parametrizar na tabela /pws/zycit029 a despesa variação cambial com o

código 'VARCAM' e na tabela /pws/zycit140 a despesa 'VARCAM' com origem na DI.

 

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

ESTÁ PERMITINDO FAZER MIRO COM REFERÊNCIA DUPLICADA

VERIFICAR SE O PROCESSO ESTÁ SENDO ALTERADO POR ALGUM USUÁRIO E BLOQUEAR


UNIFICAÇÃO DAS MENSAGENS DE RECEBIMENTO

AO SELECIONAR CONTAS DA FATURA, NÃO CONSIDERA CLASSE DE AVALIAÇÃO.

O CAMPO DE FATURA ELETRÔNICA (INVTP) DEVE SER OBRIGATÓRIO NA FATURA E PC

ERRO NO ENDEREÇO DO FABRICANTE AO INFORMAR UM NOVO FABRICANTE

LEVAR DADOS DE CÂMBIO E FABRICANTE AO VINCULAR LI OU CRIAR FATURA

ERRO AO BUSCAR A PC DE FRETE INTERNACIONAL NA FATURA DE SEGURO

CRÉDITO PARCIAL DE COFINS

Informações Complementares

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

Nota Número 13162 Data: 12/08/2013 Hora: 09:20:54

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

 

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

Nota Número              : 13162

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00005

Agrupamento              : 00161

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

Referência às notas relacionadas:

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

 

08750  - 00001 - 7.0    - 00010  - AO SELECIONAR CONTAS DA FATURA, NÃO CONSIDERA CLASSE DE AVALIAÇÃO

12132  - 00002 - 8.0    - 00011  - CRÉDITO PARCIAL DE COFINS

12385  - 00003 - 9.0    - 00001  - O CAMPO DE FATURA ELETRÔNICA (INVTP) DEVE SER OBRIGATÓRIO NA FATU

12642  - 00004 - 9.0    - 00002  - DI

12783  - 00005 - 9.0    - 00003  - LEVAR DADOS DE CÂMBIO E FABRICANTE AO VINCULAR LI OU CRIAR FATURA

12793  - 00006 - 9.0    - 00003  - UNIFICAÇÃO DAS MENSAGENS DE RECEBIMENTO

12934  - 00007 - 9.0    - 00004  - ERRO NO ENDEREÇO DO FABRICANTE AO INFORMAR UM NOVO FABRICANTE

12996  - 00008 - 9.0    - 00004  - ESTÁ PERMITINDO FAZER MIRO COM REFERÊNCIA DUPLICADA

13056  - 00009 - 9.0    - 00004  - ERRO AO BUSCAR A PC DE FRETE INTERNACIONAL NA FATURA DE SEGURO

13153  - 00010 - 9.0    - 00005  - VERIFICAR SE O PROCESSO ESTÁ SENDO ALTERADO POR ALGUM USUÁRIO E B

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

DESENVOLVIMENTO PARA TRATAMENTO DE PROCESSO INTERCOMPANY.

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

Palavras Chave:

DESENVOLVIMENTO - PROCESSO - EMBARQUE - INTERCOMPANY - PARAMETRO

 

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

Objetos da nota:

DOMD /PWS/ZYCID059

FUNC /PWS/ZYCI_RECLASSIFICACAO_IA

FUNC /PWS/ZYCI_FATURA_INTERCOMPANY

CUAD /PWS/SAPMZYCI001

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI017F02

REPS /PWS/MZYCI017X01

REPS /PWS/MZYCI017F03

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI023F04

REPS /PWS/LZYCIGF10F01

REPS /PWS/LZYCIGF2F01

REPS /PWS/MZYCI023X01

REPS /PWS/MZYCI003O01

REPS /PWS/LZYCIGF10F02

REPS /PWS/LZYCIGF10X01

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI003F03

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

REPT /PWS/SAPMZYCI017

 

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

Modificações efetuadas em DOMD /PWS/ZYCID059

 

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

Domínio modificado: /PWS/ZYCID059

-Valores individuais

Incluído valor fixo "DI"

Texto incluído, idioma: PT (33 caracteres):

"DI(Variação Cambial Intercompani)"

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_RECLASSIFICACAO_IA

 

...

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

  DATA: itab_rseg TYPE STANDARD TABLE OF rseg WITH HEADER LINE,

        itab_rbkp TYPE STANDARD TABLE OF rbkp WITH HEADER LINE,

        v_gdatu   TYPE tcurf-gdatu,

        v_vltemp  TYPE /pws/zycit085-vlfre.

  DATA: BEGIN OF itab_sel OCCURS 0,

        belnr TYPE rbkp-belnr,

        gjahr TYPE rbkp-gjahr,

        END OF itab_sel.

  DATA: BEGIN OF itab_tcurf OCCURS 0,

        de     TYPE tcurf-ffact,

        para   TYPE tcurf-tfact,

        fcurr  TYPE tcurf-fcurr,

        tcurr  TYPE tcurf-tcurr,

        gdatu  TYPE tcurf-gdatu,

        kurst  TYPE tcurf-kurst,

        END OF itab_tcurf.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycit042

     WHERE nrseq EQ i_zycit001-nrseq.                   "#EC CI_NOFIRST

  IF sy-subrc EQ 0.

    SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041

       WHERE nrseq EQ /pws/zycit042-nrseqnf AND

       ( belnr_mr1m  NE space OR

         mblnr_mb01  NE space OR

         belnr_f_51  NE space OR

         belnr_f_02  NE space OR

         belnrf02fre NE space    ).

  ENDIF.

  IF sy-subrc EQ 0 AND i_programa EQ 'DI'.

    RAISE existe_recebimento.

  ENDIF.

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

  /pws/zycie001 = i_zycit001.

* << Fim da inclusão

  SELECT SINGLE *

    FROM t001

    WHERE bukrs EQ i_zycit001-bukrs.

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

  IF /pws/zycit000-flag_reclass IS INITIAL.

    RAISE flag_reclassificacao.

  ENDIF.

  SELECT SINGLE *

...

 

...

              itab_zycit132-dt_belnrp TO itab_zycit006-dt_belnrp.

        APPEND itab_zycit006.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF /pws/zycie001-modalidade NE '07'.

    LOOP AT itab_zycit006 WHERE belnr_p IS initial.

      DELETE itab_zycit006.

    ENDLOOP.

    SORT itab_zycit006 BY belnr_p.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

  ELSE.

    LOOP AT itab_zycit006 WHERE belnr_f_02 IS initial.

      DELETE itab_zycit006.

    ENDLOOP.

    SORT itab_zycit006 BY belnr_f_02.

* << Fim da exclusão

  ENDIF.

  CLEAR: itab_matuse.

  REFRESH: itab_matuse.

  IF NOT t_zycit003[] IS INITIAL.

    SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks

           FROM ekpo INTO TABLE itab_matuse

           FOR ALL ENTRIES IN t_zycit003

           WHERE ebeln = t_zycit003-ebeln

             AND ebelp = t_zycit003-ebelp.

    IF ( t001-land1 = 'AR' OR t001-land1 = 'CL' ).

...

 

...

          MODIFY itab_matuse.

        ENDIF.

      ENDLOOP.

    ENDIF.

    SELECT matnr bwkey bwtar bklas

     FROM mbew INTO TABLE itab_classe_aval

      FOR ALL ENTRIES IN itab_matuse

    WHERE matnr EQ itab_matuse-matnr

      AND bwkey EQ itab_matuse-bwkey

      AND bwtar EQ itab_matuse-bwtar.

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

  ENDIF.

  LOOP AT itab_zycit006.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = i_zycit001-bukrs

              v_date                 = itab_zycit006-dt_mr1m

         IMPORTING

              v_year                 = itab_sel-gjahr

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    itab_sel-belnr = itab_zycit006-belnr_mr1m.

    APPEND itab_sel.

  ENDLOOP.

  SELECT * FROM rbkp

      INTO TABLE itab_rbkp

    FOR ALL ENTRIES IN itab_sel

    WHERE belnr = itab_sel-belnr

      AND gjahr = itab_sel-gjahr.

  SELECT * FROM rseg

       INTO TABLE itab_rseg

    FOR ALL ENTRIES IN itab_sel

    WHERE belnr = itab_sel-belnr

      AND gjahr = itab_sel-gjahr.

  IF /pws/zycit000-kurst IS INITIAL.

    /pws/zycit000-kurst = 'M'.

* << Fim da inclusão

  ENDIF.

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

  CLEAR itab_zycit006.

  v_gdatu = '99999999' - sy-datum.

* << Fim da inclusão

  LOOP AT itab_matuse.

    READ TABLE itab_classe_aval WITH KEY

         matnr = itab_matuse-matnr

         bwkey = itab_matuse-bwkey

         bwtar = itab_matuse-bwtar.

...

 

...

    ENDIF.

    READ TABLE itab_cta INDEX 1.

    READ TABLE itab_matuse_aux

                          WITH KEY hkont      = itab_cta-konth

                                  j_1bmatuse = itab_matuse-j_1bmatuse.

    IF sy-subrc NE 0.

      MOVE: itab_matuse-j_1bmatuse TO itab_matuse_aux-j_1bmatuse,

            itab_cta-konth         TO itab_matuse_aux-hkont .

      APPEND itab_matuse_aux.

      CLEAR itab_matuse_aux.

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

    ENDIF.

    IF /pws/zycie001-modalidade EQ '07' .

      LOOP AT itab_rseg WHERE ebeln = itab_matuse-ebeln

                          AND ebelp = itab_matuse-ebelp.

        READ TABLE itab_rbkp WITH KEY

                          belnr = itab_rseg-belnr

                          gjahr = itab_rseg-gjahr.

        LOOP AT itab_tcurf

                WHERE fcurr  = itab_rbkp-waers

                  AND tcurr  = /pws/zycbt007-waersb

                  AND gdatu => v_gdatu

                  AND kurst  = /pws/zycit000-kurst.       "#EC PORTABLE

          EXIT.

        ENDLOOP.

        IF sy-subrc NE 0.

          SELECT SINGLE ffact tfact fcurr tcurr

                        gdatu kurst

            FROM tcurf

            INTO  itab_tcurf

            WHERE fcurr  = itab_rbkp-waers

              AND tcurr  = /pws/zycbt007-waersb

              AND gdatu >= v_gdatu

              AND kurst  = /pws/zycit000-kurst.           "#EC PORTABLE

          IF sy-subrc EQ 0.

            APPEND itab_tcurf.

          ENDIF.

* << Fim da inclusão

    ENDIF.

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

        IF sy-subrc NE 0.

          itab_tcurf-para = itab_tcurf-de = 1.

          itab_tcurf-gdatu = v_gdatu.

          itab_tcurf-fcurr = itab_rbkp-waers.

          itab_tcurf-tcurr  = /pws/zycbt007-waersb.

          itab_tcurf-kurst = /pws/zycit000-kurst.

          APPEND itab_tcurf.

        ENDIF.

        v_vltemp = itab_rseg-wrbtr *

                 ( ( itab_rbkp-kursf * itab_tcurf-para ) /

                                         itab_tcurf-de ).

        MOVE: itab_cta-konth        TO itab_bsis-hkont,

              itab_bsis-buzei       TO itab_bsis-buzei,

              itab_rseg-belnr       TO itab_bsis-belnr.

        itab_bsis-dmbtr = itab_bsis-dmbtr + v_vltemp.

        itab_bsis-wrbtr = itab_bsis-wrbtr + itab_rseg-wrbtr.

        itab_bsis-tpfatura = '01'.

        APPEND itab_bsis.

        CLEAR itab_bsis.

* << Fim da inclusão

  ENDLOOP.

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

    ENDIF.

  ENDLOOP.

* << Fim da inclusão

  IF /pws/zycie001-modalidade NE '07' .

    SORT itab_zycit006 BY belnr_p.

  ELSE.

    SORT itab_zycit006 BY belnr_f_02.

  ENDIF .

  MOVE itab_matuse_aux[] TO itab_matuse_aux3[].

  SORT itab_matuse_aux3 BY hkont.

  DELETE ADJACENT DUPLICATES FROM itab_matuse_aux3 COMPARING hkont.

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

  IF /pws/zycie001-modalidade NE '07' .

* << Fim da inclusão

  LOOP AT itab_zycit006.

    IF NOT itab_matuse_aux3[] IS INITIAL.

      LOOP AT itab_matuse_aux3.

        IF /pws/zycie001-modalidade NE '07' .

          UNPACK itab_zycit006-belnr_p TO itab_zycit006-belnr_p.

        ELSE.

          UNPACK itab_zycit006-belnr_p TO itab_zycit006-belnr_f_02.

        ENDIF.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

...

 

...

          itab_bsis-wrbtr = itab_bsis-wrbtr + itab_bsis_aux1-wrbtr.

        ENDLOOP.

        IF sy-subrc = 0.

          MOVE itab_zycit006-tpfatura TO itab_bsis-tpfatura.

          APPEND itab_bsis.

          CLEAR itab_bsis.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

  IF NOT /pws/zycit000-provfre IS INITIAL.

    DELETE itab_bsis WHERE tpfatura = '02'.

  ENDIF.

  IF NOT /pws/zycit000-provseg IS INITIAL.

    DELETE itab_bsis WHERE tpfatura = '03'.

  ENDIF.

  MOVE itab_matuse_aux[] TO itab_matuse_aux2[].

  LOOP AT itab_bsis.

    MOVE: itab_bsis-hkont TO itab_bsis_aux-hkont      ,

          itab_bsis-wrbtr TO itab_bsis_aux-wrbtr      ,

...

 

...

    IF v_bkzer IS INITIAL .

      itab_di-kostl = itab_ekkn-kostl.

    ENDIF.

    itab_di-prctr = itab_ekkn-prctr.

    CLEAR itab_zycit006.

    READ TABLE itab_zycit006

                  WITH KEY nrseq_pgfat = itab_zycit263-nrseq_pgfat.

    IF /pws/zycie001-modalidade NE '07' .

      CHECK NOT itab_zycit006-belnr_p IS INITIAL.

    ELSE.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

      CHECK NOT itab_zycit006-belnr_f_02 IS INITIAL.

* << Fim da exclusão

    ENDIF.

    CLEAR: itab_matuse, itab_matuse_aux.

    READ TABLE itab_matuse WITH KEY ebeln = t_zycit100-ebeln

                                      ebelp = t_zycit100-ebelp.

    READ TABLE itab_matuse_aux WITH KEY

                  j_1bmatuse = itab_matuse-j_1bmatuse.

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

      PERFORM verifica_centro_l TABLES itab_matuse.

    ELSE.

      CLEAR itab_di-prctr.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_FATURA_INTERCOMPANY

 

FUNCTION /pws/zyci_fatura_intercompany .

  DATA:   v_answer.

  CLEAR:  invoice_created,

          no_quantity    ,

          no_data.

  CLEAR:   itab_rbkp, itab_select, t_spopli, itab_zycbe033,

           itab_zycbt034, itab_zycbt032, itab_contas, v_doc_miro.

  REFRESH: itab_rbkp, itab_select, t_spopli, itab_zycbe033,

           itab_zycbt034, itab_zycbt032, itab_contas .

* >> Início da exclusão: FUNCTION /PWS/ZYCI_FATURA_INTERCOMPANY

  SELECT * FROM /pws/zycit001

* << Fim da exclusão

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

  SELECT SINGLE * FROM /pws/zycit001

* << Fim da inclusão

    INTO /pws/zycie001

    WHERE nrseq = p_nrseq.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_FATURA_INTERCOMPANY

  ENDSELECT.

* << Fim da exclusão

  IF sy-subrc EQ 0.

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

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

    SELECT SINGLE * FROM /pws/zycbt007

        WHERE bukrs EQ /pws/zycie001-bukrs.

* << Fim da inclusão

    SELECT SINGLE *  FROM /pws/zycit000

      WHERE land1 EQ t001-land1.

    SELECT SINGLE * FROM /pws/zycit477

        WHERE land EQ t001-land1.

    SELECT * FROM /pws/zycit003

    INTO TABLE itab_zycit003

    WHERE nrseq = p_nrseq.

    IF sy-subrc EQ 0.

      PERFORM seleciona_dados_miro.

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

      IF itab_zycit003[] IS INITIAL.

        RAISE NO_QUANTITY.

* << Fim da inclusão

    ENDIF.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  DESCRIBE TABLE itab_rbkp LINES v_lines.

  IF v_lines GT '1' .

    PERFORM monta_selecao CHANGING v_answer.

    IF v_answer EQ 'A' .

      RAISE abort.

      EXIT .

    ELSE.

      CLEAR itab_zycit006. REFRESH itab_zycit006.

      LOOP AT t_spopli WHERE selflag = 'X' .

        v_doc_miro = t_spopli+1(10).

        PERFORM cria_fatura_intercompany.

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

        EXIT.

* << Fim da inclusão

      ENDLOOP.

    ENDIF.

  ELSE.

    READ TABLE itab_rbkp INDEX 1.

    IF sy-subrc EQ 0.

      v_doc_miro = itab_rbkp-belnr.

      PERFORM cria_fatura_intercompany.

    ENDIF.

  ENDIF.

  IF  invoice_created = 'X'.

...

 

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCI001

Modificação StatusGui 0100.

 

*Inclusão:

Código de função:    INTER

Categoria de função: Função de aplicação

Texto de função:     Fatura Intercompany

Nome de ícone:       ICON_TRANSPORT_POINT

Texto informativo:   Criar Fatura Intercompany

 

Adicionar a O botão 'INTER' na barra de botões entre o Botão 'BL' e 'FAT'.

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

           itab_zycit118[] TO itab_zycit118a[],

           itab_zycit121[] TO itab_zycit121a[],

           itab_zycit124[] TO itab_zycit124a[],

           itab_zycit200[] TO itab_zycit200a[],

           itab_zycit049di2[] TO itab_zycit049di[],

           itab_it[]       TO itab_ita[],

           /pws/zycie085   TO wa_zycit085,

           itab_zycit485[] TO itab_zycit485a[],

           itab_zycit486[] TO itab_zycit486a[].

  PERFORM save_especificacao.

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

  READ TABLE itab_zycit001 INDEX 1.

  IF itab_zycit001-modalidade EQ '07'.

    PERFORM reclass_interc.

  ENDIF.

* << Fim da inclusão

  READ TABLE itab_zycit003 INDEX 1.

  IF itab_zycit003-qtd_itend IS INITIAL.

    PERFORM reclassificacao_ia_funcao.

  ENDIF.

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI023'

                              'DI006'.

  CLEAR itab_zyglt100 .

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

  IF sy-subrc EQ 0.

...

 

...

FORM data_dele.

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

  DATA lt_zycit036 TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

...

 

...

    LOOP AT itab_zycit003.

      CLEAR itab_zycit003-nratoc.

      MODIFY itab_zycit003 INDEX sy-tabix.

      UPDATE /pws/zycit003 SET nratoc = itab_zycit003-nratoc

        WHERE nrseq = itab_zycit003-nrseq

          AND ebeln = itab_zycit003-ebeln

          AND ebelp = itab_zycit003-ebelp.

      MOVE-CORRESPONDING itab_zycit003 TO /pws/zycit003.

      PERFORM carrega_log USING '/PWS/ZYCIT003' 'U'

              ' '  '/PWS/SAPMZYCI001' /pws/zycit003-nrseq.

    ENDLOOP.

  ENDIF.

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

  READ TABLE itab_zycit001 INDEX 1.

  IF itab_zycit001-modalidade EQ '07'.

    SELECT * FROM /pws/zycit036 INTO TABLE lt_zycit036

     WHERE nrseq    = itab_zycit001-nrseq

       AND nrseqori = /pws/zycie085-nrseqdi

       AND origem   = 'DI'.

    LOOP AT lt_zycit036.

      MOVE-CORRESPONDING lt_zycit036 TO /pws/zycit036.

      PERFORM carrega_log USING '/PWS/ZYCIT036' 'D'

              ' '  '/PWS/SAPMZYCI023' /pws/zycit036-nrseqori.

    ENDLOOP.

    DELETE FROM /pws/zycit036 WHERE nrseq    = itab_zycit001-nrseq

                                AND nrseqori = /pws/zycie085-nrseqdi.

  ENDIF.

* << Fim da inclusão

  COMMIT WORK.

  LEAVE PROGRAM.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F02

 

...

      MOVE-CORRESPONDING wa_nf TO /pws/zycie043.

      MODIFY /pws/zycit043 FROM /pws/zycie043.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie043 TO /pws/zycit043.

        PERFORM carrega_log USING '/PWS/ZYCIT043' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit043-nrseq.

      ENDIF.

    ENDIF.

    PERFORM clear_date_batch.

  ELSE.

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

    IF wa_nf-belnr_mr1m  EQ '0000000000' AND

       /pws/zycit001-modalidade EQ '07'.

      CLEAR: wa_nf-statusp_mr1m,

             wa_nf-belnr_mr1m  ,

             wa_nf-dt_mr1m     ,

             v_mr1m_ok         .

      itab_zycit050-estorno = 'X'.

      v_mr8m_ok = 'S' .

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

        MODIFY /pws/zycit041 FROM /pws/zycie041.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

          PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

        ENDIF.

      ELSE.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie043.

        MODIFY /pws/zycit043 FROM /pws/zycie043.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie043 TO /pws/zycit043.

          PERFORM carrega_log USING '/PWS/ZYCIT043' 'U'

                ' '  '/PWS/SAPMZYCI016' /pws/zycit043-nrseq.

        ENDIF.

      ENDIF.

      PERFORM clear_date_batch.

      EXIT.

    ENDIF.

* << Fim da inclusão

    PERFORM clear_date_batch.

    REFRESH itab_itens_002.

    itab_zycie033-tcode  = 'MR8M'.

    itab_zycie033-tabela = 'WA_NF'.

    itab_zycie033-cpochv = wa_nf-nrseq.

...

 

...

FORM fill_date_f_51_docs_miro.

  DATA v_awkey LIKE bkpf-awkey.

  v_f51  = 'MIRO'.

  PERFORM clear_date_batch.

  DATA: v_ano   TYPE t001b-frye1,

        v_gjahr TYPE t001b-frye1.

  IF /pws/zycie041-bukrs IS INITIAL

  AND NOT /pws/zycie043-bukrs IS INITIAL.

    /pws/zycie041-bukrs = /pws/zycie043-bukrs.

  ENDIF.

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

  IF wa_nf-belnr_mr1m  EQ '0000000000' AND

     /pws/zycit001-modalidade EQ '07'.

    EXIT.

  ENDIF.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs = /pws/zycie041-bukrs

            v_date  = wa_nf-dt_mr1m

       IMPORTING

            v_year  = v_ano

  EXCEPTIONS

       variante_de_exercicio  = 1

       data_nao_encontrada    = 2

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI017X01

 

...

* >> Início da inclusão:

DATA v_nomiro TYPE c.

* << Fim da inclusão

DATA: OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F03

 

...

      UPDATE /pws/zycit042 SET lgort = itab_itens_nf-lgort

      WHERE nrseqnf   = itab_itens_nf-nrseqnf

       AND  nrseq     = itab_itens_nf-nrseq

       AND  nfglobal  = itab_itens_nf-nfglobal

       AND  ebeln     = itab_itens_nf-ebeln

       AND  ebelp     = itab_itens_nf-ebelp.

      MOVE-CORRESPONDING itab_itens_nf TO /pws/zycit042.

      PERFORM carrega_log USING '/PWS/ZYCIT042' 'U'

            ' '  '/PWS/SAPMZYCI016' /pws/zycit042-nrseqnf.

    ENDIF.

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

    IF wa_nf-belnr_mr1m  EQ '0000000000' AND

       /pws/zycit001-modalidade EQ '07'.

      CLEAR itab_zycit036_aux2.

      UPDATE /pws/zycit036

                SET congelamov = 'X'

                    vlmov      = itab_zycit036_aux2-vlmov

                    waers_mov  = itab_zycit036_aux2-waers_mov

        WHERE nrseq      = itab_itens_nf-nrseq

          AND ebelp      = itab_itens_nf-ebelp

          AND ebeln      = itab_itens_nf-ebeln

          AND congelamov = itab_zycit036_aux2-congelamov

          AND codigo NOT IN ('FOB', 'CIF', 'C&F').

    ELSE.

* << Fim da inclusão

    UPDATE /pws/zycit036 SET congelamov = 'X'

      WHERE nrseq = itab_itens_nf-nrseq

        AND ebelp = itab_itens_nf-ebelp

        AND ebeln = itab_itens_nf-ebeln

        AND origem NE 'PED'.

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

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

  LOOP AT itab_zycit036_aux2.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

 

...

      itab_itemdata-tax_code      = wa_zycit000-iva    .

      PERFORM retorna_decimais USING itab_zycit031-waers

                            CHANGING itab_zycit031-wrbtr.

      MODIFY itab_zycit031 INDEX v_tabix.

      itab_itemdata-item_amount   = itab_zycit031-wrbtr.

      itab_itemdata-quantity      = itab_zycit031-menge.

      itab_itemdata-po_unit       = itab_zycit031-meins.

      itab_itemdata-po_unit_iso   = itab_zycit031-meins.

      itab_itemdata-po_pr_uom     = itab_ekpo-bprme    .

      itab_itemdata-po_pr_uom_iso = itab_ekpo-bprme    .

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

      IF /pws/zycit001-modalidade EQ '07'.

        itab_itemdata-de_cre_ind = 'X' .

      ENDIF.

* << Fim da inclusão

      IF NOT itab_ekpo-bpumz IS INITIAL AND

         NOT itab_ekpo-bpumn IS INITIAL.

        itab_itemdata-po_pr_qnt = itab_zycit031-menge *

                   ( itab_ekpo-bpumz / itab_ekpo-bpumn ).

      ELSE.

        PERFORM converte_unidades USING itab_zycit003-matnr

                                     itab_zycit003-meins

                                     itab_ekpo-bprme

                            CHANGING itab_zycit031-menge.

        itab_itemdata-po_pr_qnt = itab_zycit031-menge.

...

 

...

      PERFORM f_exec_open IN PROGRAM (w_prog) USING v_zuonr

                                        CHANGING

                                             wa_headerdata

                                              IF FOUND.

    ENDIF.

  ENDIF.

  IF NOT v_xblnr IS INITIAL.

    wa_headerdata-ref_doc_no = v_xblnr.

  ELSE.

    wa_headerdata-ref_doc_no = itab_zycie033-bktxt.

  ENDIF.

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

  IF v_nomiro = 'X'.

    CLEAR v_answer.

    CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

         EXPORTING

              defaultoption = 'N'

              textline1     = text-282

              textline2     = text-283

              titel         = text-281

         IMPORTING

              answer        = v_answer

         EXCEPTIONS

              OTHERS        = 1.

    IF sy-subrc EQ 0 AND v_answer EQ 'J'.

      v_mr1m_ok = 'S'.

      wa_nf-belnr_mr1m = '0000000000'.

      wa_nf-statusp_mr1m = 'C'.

      wa_nf-dt_mr1m      = sy-datlo.

      PERFORM unlock_pedido.

      CALL FUNCTION 'MESSAGES_INITIALIZE'.

      EXIT.

    ELSE.

      CLEAR v_mr1m_ok.

      EXIT.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  CALL FUNCTION 'MRM_DUPLICATE_INVOICE_CHECK'

       EXPORTING

            i_bukrs                = wa_headerdata-comp_code

            i_lifnr                = itab_zycie033-lifnr

            i_waers                = wa_headerdata-currency

            i_xblnr                = wa_headerdata-ref_doc_no

...

 

...

              ncm       = itab_zycit003-j_1bnbm

            RECEIVING

              acrescimo = v_acrescimo.

          IF v_acrescimo IS INITIAL.

            DELETE itab_zycit036_aux2.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

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

  CLEAR v_nomiro.

* << Fim da inclusão

  FREE itab_custo_item.

  LOOP AT itab_itens_nf.

    CLEAR itab_custo_item.

    LOOP AT itab_zycit036_aux2

      WHERE nrseq = itab_itens_nf-nrseq

        AND ebeln = itab_itens_nf-ebeln

        AND ebelp = itab_itens_nf-ebelp.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_itens_nf-nrseq

                                        ebeln = itab_itens_nf-ebeln

                                        ebelp = itab_itens_nf-ebelp.

      READ TABLE itab_zycit263 WITH KEY ebeln = itab_itens_nf-ebeln

                                        ebelp = itab_itens_nf-ebelp.

      CLEAR itab_zycit006.

      READ TABLE itab_zycit006 WITH KEY

                                nrseq_pgfat = itab_zycit263-nrseq_pgfat.

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

     IF itab_zycit006-frpagto EQ 'A' AND itab_zycit006-tpfatura NE '99'.

* << Fim da exclusão

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

      IF ( itab_zycit006-frpagto EQ 'A'

           AND itab_zycit006-tpfatura NE '99' ) OR

           /pws/zycit001-modalidade EQ '07'.

* << Fim da inclusão

        IF  itab_zycit036_aux2-codigo EQ 'FOB' OR

          itab_zycit036_aux2-codigo EQ 'CIF' OR

          itab_zycit036_aux2-codigo EQ 'C&F'.

          CONTINUE.

        ENDIF.

      ENDIF.

      itab_custo_item-nrseq     = itab_zycit036_aux2-nrseq.

      itab_custo_item-ebeln     = itab_zycit036_aux2-ebeln.

      itab_custo_item-ebelp     = itab_zycit036_aux2-ebelp.

      itab_custo_item-ebelp     = itab_zycit036_aux2-ebelp.

      itab_custo_item-waers_mov = wa_zycbt007-waersb.

      itab_custo_item-vlmov     = itab_zycit036_aux2-vlmov +

                                  itab_custo_item-vlmov .

    ENDLOOP.

    READ TABLE itab_zycit042_aux WITH KEY nrseq = itab_itens_nf-nrseq

                                       nfglobal = itab_itens_nf-nfglobal

                                          ebeln = itab_itens_nf-ebeln

                                          ebelp = itab_itens_nf-ebelp.

    itab_custo_item-vlmov = itab_custo_item-vlmov /

                 itab_zycit042_aux-qtd_iten * itab_itens_nf-qtd_item.

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

    IF /pws/zycit001-modalidade EQ '07'

       AND itab_custo_item-vlmov < 0.

      v_nomiro = 'X'.

    ENDIF.

* << Fim da inclusão

    APPEND itab_custo_item.

  ENDLOOP.

  SELECT * FROM /pws/zycbt011 INTO wa_zycbt011

    WHERE codeven = '006M'.

  ENDSELECT.

ENDFORM.

...

 

...

              txtnr = '030'

              zeile = '01'.

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_mr1m,

           wa_nf-belnr_mr1m  ,

           wa_nf-dt_mr1m     .

    CLEAR v_mr1m_ok         .

    itab_zycit050-estorno = 'X'.

    v_mr8m_ok = e_mr8m_ok .

    PERFORM clear_date_batch.

  ELSE.

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

    IF wa_nf-belnr_mr1m  EQ '0000000000' AND

       /pws/zycit001-modalidade EQ '07'.

      CLEAR: wa_nf-statusp_mr1m,

             wa_nf-belnr_mr1m  ,

             wa_nf-dt_mr1m     ,

             v_mr1m_ok         .

      itab_zycit050-estorno = 'X'.

      v_mr8m_ok = 'S'.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

        MODIFY /pws/zycit041 FROM /pws/zycie041.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

          PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

        ENDIF.

      ELSE.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie043.

        MODIFY /pws/zycit043 FROM /pws/zycie043.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie043 TO /pws/zycit043.

          PERFORM carrega_log USING '/PWS/ZYCIT043' 'U'

                ' '  '/PWS/SAPMZYCI016' /pws/zycit043-nrseq.

        ENDIF.

      ENDIF.

      PERFORM clear_date_batch.

      EXIT.

    ENDIF.

* << Fim da inclusão

    REFRESH itab_itens_002.

    PERFORM get_parameters_mrm1_receb.

    itab_zycie033-tcode  = 'MR8M'.

    itab_zycie033-tabela = 'WA_NF'.

    itab_zycie033-bukrs  = wa_nf-bukrs.

    itab_zycie033-cpochv = wa_nf-nrseq.

    itab_zycie033-belnr  = wa_nf-belnr_mr1m.

    itab_zycie033-budat  = wa_nf-dt_mr1m.

    itab_zycie033-gjahr  = wa_nf-dt_mr1m+0(4).

    v_belnr_ant          = wa_nf-belnr_mr1m.

...

 

...

                              'RCB018'.

  CLEAR itab_zyglt100 .

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

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  IF e_subrc EQ 0.

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

    IF wa_nf-belnr_mr1m  EQ '0000000000' AND

       /pws/zycit001-modalidade EQ '07'.

      v_f_51_ok = 'S'.

      EXIT.

    ENDIF.

* << Fim da inclusão

    PERFORM multiplos_lancamentos_f_51.

  ENDIF.

  PERFORM get_parameters_f-51.

  READ TABLE itab_zycit003 INDEX 1.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = v_trans.

  itab_zycbe033-tabela = v_ntabela.

  itab_zycbe033-cpochv = wa_nf-nrseq.

  IF v_existe_nfr EQ 'S'.

    SELECT SINGLE * FROM j_1bnfdoc

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F04

 

 

...

* >> Início da inclusão:

FORM reclass_interc.

  DATA: v_vlfren TYPE /pws/zycit100-vlfre,

        v_vldi   TYPE /pws/zycit100-vlfob,

        v_vlitem TYPE /pws/zycit085-vlfre,

        v_vltemp TYPE /pws/zycit085-vlfre,

        v_gdatu  TYPE tcurf-gdatu,

        itab_zycit036 TYPE STANDARD TABLE OF /pws/zycit036,

        wa_zycit036 TYPE /pws/zycit036,

        itab_rseg TYPE STANDARD TABLE OF rseg WITH HEADER LINE,

        itab_rbkp TYPE STANDARD TABLE OF rbkp WITH HEADER LINE.

  DATA: BEGIN OF itab_sel OCCURS 0,

        belnr TYPE rbkp-belnr,

        gjahr TYPE rbkp-gjahr,

        END OF itab_sel.

  DATA: BEGIN OF itab_tcurf OCCURS 0,

        de     TYPE tcurf-ffact,

        para   TYPE tcurf-tfact,

        fcurr  TYPE tcurf-fcurr,

        tcurr  TYPE tcurf-tcurr,

        gdatu  TYPE tcurf-gdatu,

        kurst  TYPE tcurf-kurst,

        END OF itab_tcurf.

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

  SELECT SINGLE * FROM /pws/zycit031

            WHERE codmod = 'D'

              AND inco1  = itab_zycit001-inco1

              AND land1 EQ t001-land1.

  REFRESH: itab_zycit094, itab_zycit006.

  READ TABLE itab_zycit003 INDEX 1.

  SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

            WHERE nrseq = itab_zycit003-nrseq.          "#EC CI_NOFIRST

  READ TABLE itab_zycit094 INDEX 1.

  SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006

                WHERE nrseqce = itab_zycit094-nrseqce

                  AND tpfatura EQ '01'

                  AND eliminado = space.                "#EC CI_NOFIELD

  SELECT SINGLE *

    FROM /pws/zycit031

    WHERE codmod EQ 'D'

      AND inco1  EQ itab_zycit001-inco1

      AND land1  EQ t001-land1.

  LOOP AT itab_zycit006.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = itab_zycit001-bukrs

              v_date                 = itab_zycit006-dt_mr1m

         IMPORTING

              v_year                 = itab_sel-gjahr

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    itab_sel-belnr = itab_zycit006-belnr_mr1m.

    APPEND itab_sel.

  ENDLOOP.

  SELECT * FROM rbkp

      INTO TABLE itab_rbkp

    FOR ALL ENTRIES IN itab_sel

    WHERE belnr = itab_sel-belnr

      AND gjahr = itab_sel-gjahr.

  SELECT * FROM rseg

       INTO TABLE itab_rseg

    FOR ALL ENTRIES IN itab_sel

    WHERE belnr = itab_sel-belnr

      AND gjahr = itab_sel-gjahr.

  CLEAR v_tntgew.

  LOOP AT itab_zycit003.

    v_tntgew = v_tntgew + itab_zycit003-ntgew.

  ENDLOOP.

  IF /pws/zycit000-kurst IS INITIAL.

    /pws/zycit000-kurst = 'M'.

  ENDIF.

  CLEAR itab_zycit006.

  v_gdatu = '99999999' - sy-datum.

  LOOP AT itab_it.

    CLEAR: wa_zycit036, v_vlitem.

    itab_it-vlfob = itab_it-dttaxbem * itab_it-vlfob.

    READ TABLE itab_zycit003 WITH KEY

             nrseq = itab_it-nrseq

             ebeln = itab_it-ebeln

             ebelp = itab_it-ebelp .

    LOOP AT itab_rseg WHERE ebeln = itab_it-ebeln

                        AND ebelp = itab_it-ebelp.

      READ TABLE itab_rbkp WITH KEY

                        belnr = itab_rseg-belnr

                        gjahr = itab_rseg-gjahr.

      LOOP AT itab_tcurf

              WHERE fcurr  = itab_rbkp-waers

                AND tcurr  = wa_zycbt007-waersb

                AND gdatu => v_gdatu

                AND  kurst = /pws/zycit000-kurst.         "#EC PORTABLE

      ENDLOOP.

      IF sy-subrc NE 0.

        SELECT SINGLE ffact tfact fcurr tcurr

                      gdatu kurst

          FROM tcurf

          INTO  itab_tcurf

          WHERE fcurr  = itab_rbkp-waers

            AND tcurr  = wa_zycbt007-waersb

            AND gdatu >= v_gdatu

            AND kurst = /pws/zycit000-kurst.              "#EC PORTABLE

        IF sy-subrc EQ 0.

          APPEND itab_tcurf.

        ENDIF.

      ENDIF.

      IF sy-subrc NE 0.

        itab_tcurf-para = itab_tcurf-de = 1.

        itab_tcurf-gdatu = v_gdatu.

        itab_tcurf-fcurr = itab_rbkp-waers.

        itab_tcurf-tcurr  = wa_zycbt007-waersb.

        APPEND itab_tcurf.

      ENDIF.

      v_vltemp = itab_rseg-wrbtr *

               ( ( itab_rbkp-kursf * itab_tcurf-para ) /

                                       itab_tcurf-de ).

      ADD v_vltemp TO v_vlitem.

    ENDLOOP.

    IF NOT /pws/zycie093-ternacion IS INITIAL.

      IF NOT v_tntgew IS INITIAL.

        v_vlfren =  ( ( itab_zycit003-ntgew / v_tntgew ) *

           /pws/zycie093-ternacion ) * /pws/zycie085-ukursfre .

      ENDIF.

    ENDIF.

    PERFORM retorna_decimais USING /pws/zycie085-waersfre

                             CHANGING v_vlfren.

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

      wa_zycit036-vlreal = itab_it-vlfob - v_vlitem.

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

      wa_zycit036-vlreal = itab_it-vlfob + itab_it-vlfre +

                           v_vlfren - v_vlitem.

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

      wa_zycit036-vlreal = itab_it-vlfob +

        itab_it-vlfre + v_vlfren + itab_it-vlseg -

                                        v_vlitem.

    ELSEIF /pws/zycit031-inco1_ci = 'C+I'.

      wa_zycit036-vlreal = itab_it-vlfob + itab_it-vlseg -

                               v_vlitem.

    ENDIF.

    CHECK wa_zycit036-vlreal NE 0.

    wa_zycit036-nrseq      = itab_it-nrseq.

    wa_zycit036-nrseqori   = itab_it-nrseqdi.

    wa_zycit036-ebeln      = itab_it-ebeln.

    wa_zycit036-ebelp      = itab_it-ebelp.

    wa_zycit036-bukrs      = itab_zycit001-bukrs.

    wa_zycit036-werks      = itab_zycit003-werks.

    wa_zycit036-embarca    = /pws/zycie085-identify.

    wa_zycit036-origem     = 'DI'.

    wa_zycit036-codmod     = 'D'.

    wa_zycit036-usernamec  = sy-uname.

    wa_zycit036-dtuserc    = sy-datlo.

    wa_zycit036-hruserc    = sy-timlo.

    wa_zycit036-codigo     = 'VARCAMB'.

    wa_zycit036-waers_real = wa_zycbt007-waersb.

    APPEND wa_zycit036 TO itab_zycit036.

  ENDLOOP.

  MODIFY /pws/zycit036 FROM TABLE itab_zycit036.

ENDFORM.

.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF10F01

 

...

  DATA:  v_awkey TYPE bkpf-awkey    ,

         v_vlmerc TYPE rbkp-rmwwr   .

  MOVE: /pws/zycie001-bukrs   TO /pws/zycie006-bukrs     ,

        /pws/zycie001-waers   TO /pws/zycie006-waers_emb ,

        /pws/zycie001-inco1   TO /pws/zycie006-inco1     ,

        /pws/zycie001-j_1bbranch TO /pws/zycie006-j_1bbranch,

        v_ntgew TO /pws/zycie006-ntgew   ,

        'KG' TO /pws/zycie006-gewei      ,

        '01' TO /pws/zycie006-tpfatura   ,

        'N'  TO /pws/zycie006-frpagto    ,

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

        '04' TO /pws/zycie006-ratval     ,

* << Fim da exclusão

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

        '4'  TO /pws/zycie006-ratval     ,

* << Fim da inclusão

        'S'  TO /pws/zycie006-flagfabr   ,

        'S'  TO /pws/zycie006-ratfre     ,

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

        'S'  TO /pws/zycie006-rateio     ,

* << Fim da exclusão

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

        'N'  TO /pws/zycie006-rateio     ,

* << Fim da inclusão

        '1'  TO /pws/zycie006-vinculo    ,

        sy-mandt TO /pws/zycie006-mandt  ,

...

 

...

  SELECT SINGLE fdgrv FROM lfb1 INTO v_fdgrv

    WHERE lifnr = /pws/zycie006-lifnr

      AND bukrs = /pws/zycie006-bukrs.

  SELECT SINGLE * FROM t035

     WHERE grupp = v_fdgrv.

  MOVE t035-ebene TO /pws/zycie006-ebene.

  SELECT SINGLE zterm FROM ekko INTO /pws/zycie006-zterm

    WHERE ebeln = itab_zycit003-ebeln.

  LOOP AT itab_zycit003 WHERE

                lifnrfabr NE  space.

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

  ENDLOOP.

  IF sy-subrc NE 0.

    /pws/zycie006-fabricante = 3.

    CLEAR: /pws/zycie006-descfab,

           /pws/zycie006-paisfab  ,

           /pws/zycie006-lifnrfabr,

           /pws/zycie006-flagfabr .

  ELSE.

    READ TABLE itab_zycit003 INDEX 1.

    LOOP AT itab_zycit003 WHERE

                  lifnrfabr NE itab_zycit003-lifnrfabr.

* << Fim da exclusão

      EXIT.

    ENDLOOP.

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

    IF sy-subrc NE 0 AND

       NOT itab_zycit003-lifnrfabr IS INITIAL.

      /pws/zycie006-lifnrfabr = itab_zycit003-lifnrfabr.

      /pws/zycie006-fabricante = 0.

      SELECT SINGLE name1 land1

* << Fim da exclusão

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

  /pws/zycie006-ratseg = 1.

  /pws/zycie006-lifnrfabr =

  itab_zycit003-lifnrfabr = /pws/zycie006-lifnr.

  /pws/zycie006-fabricante = 1.

  SELECT SINGLE name1 land1 FROM lfa1

* << Fim da inclusão

      INTO (/pws/zycie006-descfab,  /pws/zycie006-paisfab)

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

      FROM lfa1

* << Fim da exclusão

      WHERE lifnr = /pws/zycie006-lifnrfabr.

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

      IF /pws/zycie006-lifnrfabr EQ /pws/zycie006-lifnr.

        /pws/zycie006-fabricante = 1.

      ENDIF.

    ELSE.

      /pws/zycie006-fabricante = 2.

    ENDIF.

  ENDIF.

  SELECT SINGLE ratval

  INTO /pws/zycie006-ratval

  FROM /pws/zycit391

   WHERE flag = 'X'.                                    "#EC CI_NOFIELD

* << Fim da exclusão

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

  MODIFY itab_zycit003 TRANSPORTING lifnrfabr

        WHERE lifnrfabr EQ space.

* << Fim da inclusão

  PERFORM determina_datas.

  CLEAR /pws/zycie006-ntgew.

  LOOP AT t_zycit263.

    /pws/zycie006-ntgew = /pws/zycie006-ntgew + t_zycit263-ntgew.

  ENDLOOP.

  /pws/zycie006-dataprvtsr = /pws/zycie006-dtvencto.

  /pws/zycie006-statusp_mr1m = 'X'.

  /pws/zycie006-statusp = 'C'.

  /pws/zycie006-dt_belnrp  = itab_rbkp-budat.

  /pws/zycie006-dt_mr1m    = itab_rbkp-budat.

...

 

...

  /pws/zycie006-belnr_mr1m = itab_rbkp-belnr.

  CLEAR: v_awkey, v_ano.

  v_ano = /pws/zycie006-dt_mr1m(4).

  CONCATENATE /pws/zycie006-belnr_mr1m v_ano INTO v_awkey.

  SELECT SINGLE belnr FROM bkpf INTO /pws/zycie006-belnr_p

           WHERE   awtyp EQ 'RMRP'

             AND   awkey EQ v_awkey.

ENDFORM.

FORM itens_fatura.

  DATA: v_menge TYPE /pws/zycit003-qtd_iten.

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

  CLEAR t_zycit263 .

  v_menge = itab_zycit003-qtd_iten - v_qtd_iten.

* << Fim da exclusão

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

  v_menge = itab_zycit003-qtd_iten.

* << Fim da inclusão

  IF v_menge = 0.

    no_quantity = 'X' .

  ENDIF.

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

  IF itab_rseg-menge GE v_menge .

* << Fim da exclusão

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

  IF itab_rseg-menge GT v_menge .

* << Fim da inclusão

    EXIT.

  ELSE.

    t_zycit263-qtd_iten   = itab_rseg-menge .

  ENDIF.

  t_zycit263-mandt =    sy-mandt       .

  t_zycit263-nrseq =    /pws/zycie001-nrseq.

  t_zycit263-ebeln =    itab_rseg-ebeln.

  t_zycit263-ebelp =    itab_rseg-ebelp.

  t_zycit263-meins      = itab_rseg-meins .

  t_zycit263-waers_real = itab_zycit003-waers_real.

  t_zycit263-gewei      = itab_zycit003-gewei     .

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

  t_zycit263-ntgew      = itab_zycit003-ntgew /

                 itab_zycit003-qtd_iten * itab_rseg-menge.

  t_zycit263-vlreal =  itab_zycit003-netpr *

                itab_rseg-menge / itab_zycit003-qtd_iten.

* << Fim da exclusão

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

  CLEAR itab_ekpo.

  READ TABLE itab_ekpo WITH KEY ebeln = itab_rseg-ebeln

                                ebelp = itab_rseg-ebelp.

  t_zycit263-ntgew = itab_zycit003-qtd_iten * itab_ekpo-ntgew.

  PERFORM converte_unidades USING itab_zycit003-matnr

                               itab_ekpo-gewei

                               itab_zycit003-gewei

                      CHANGING itab_zycit003-ntgew.

  t_zycit263-vlreal = itab_rseg-wrbtr / t_zycit263-qtd_iten.

* << Fim da inclusão

  APPEND t_zycit263.

  v_item = 'X'.

ENDFORM.

FORM seleciona_dados_miro.

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

  SELECT * FROM rseg

       INTO TABLE itab_rseg

* << Fim da exclusão

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

  DATA v_xsplt TYPE c.

  DATA: itab_zycit263 TYPE STANDARD TABLE OF /pws/zycit263

                                          WITH HEADER LINE.

  DATA: BEGIN OF it_zycit003 OCCURS 0,

      nrseq TYPE /pws/zycit003-nrseq,

      ebeln TYPE /pws/zycit003-ebeln,

      ebelp TYPE /pws/zycit003-ebelp,

      END OF it_zycit003.

  DATA: BEGIN OF it_zycit003t OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit003.

  DATA: total LIKE /pws/zycit036-vldif.

  DATA: END OF it_zycit003t.

  DATA: BEGIN OF itab_fat OCCURS 0,

         nrseq       TYPE  /pws/zycit003-nrseq,

         nrseq_pgfat TYPE /pws/zycit006-nrseq_pgfat,

        END OF itab_fat.

  REFRESH: itab_rseg, itab_rbkp.

  SELECT nrseq ebeln ebelp FROM /pws/zycit003

       INTO TABLE it_zycit003

       FOR ALL ENTRIES IN itab_zycit003

       WHERE ebeln = itab_zycit003-ebeln

         AND ebelp = itab_zycit003-ebelp.

  SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263

       FOR ALL ENTRIES IN it_zycit003

        WHERE nrseq = it_zycit003-nrseq

          AND ebeln = it_zycit003-ebeln

          AND ebelp = it_zycit003-ebelp

          AND eliminado = space.

  IF NOT itab_zycit263[] IS INITIAL.

    REFRESH itab_fat.

    LOOP AT itab_zycit263.

      itab_fat-nrseq = itab_zycit263-nrseq.

      itab_fat-nrseq_pgfat = itab_zycit263-nrseq_pgfat.

      COLLECT itab_fat.

    ENDLOOP.

    IF NOT itab_fat[] IS INITIAL.

      REFRESH itab_zycit006.

      SELECT * FROM /pws/zycit006                       "#EC CI_NOFIELD

        INTO TABLE itab_zycit006

        FOR ALL ENTRIES IN itab_fat

        WHERE nrseq_pgfat EQ itab_fat-nrseq_pgfat.

    ENDIF.

  ENDIF.

  SELECT * FROM ekbe

       INTO TABLE itab_ekbe

* << Fim da inclusão

       FOR ALL ENTRIES IN itab_zycit003

       WHERE ebeln = itab_zycit003-ebeln

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

       AND   ebelp = itab_zycit003-ebelp

       AND   bukrs = /pws/zycie001-bukrs.               "#EC CI_NOFIELD

* << Fim da exclusão

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

         AND ebelp = itab_zycit003-ebelp

         AND vgabe = '2'.

* << Fim da inclusão

  IF sy-subrc EQ 0.

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

    LOOP AT itab_rseg.

      READ TABLE itab_zycit003 WITH KEY

        ebeln = itab_rseg-ebeln

        ebelp = itab_rseg-ebelp.

      IF itab_rseg-menge GT itab_zycit003-qtd_iten.

        DELETE itab_rseg WHERE belnr EQ itab_rseg-belnr.

* << Fim da exclusão

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

    REFRESH it_zycit003t.

    it_zycit003t[] = itab_zycit003[].

    LOOP AT itab_zycit003.

      LOOP AT itab_zycit263 WHERE nrseq EQ itab_zycit003-nrseq

                              AND ebeln EQ itab_zycit003-ebeln

                              AND ebelp EQ itab_zycit003-ebelp.

        SUBTRACT itab_zycit263-qtd_iten FROM itab_zycit003-qtd_iten.

      ENDLOOP.

      IF itab_zycit003-qtd_iten <= 0.

        DELETE itab_zycit003.

        CONTINUE.

      ENDIF.

      LOOP AT itab_ekbe WHERE ebeln = itab_zycit003-ebeln

                          AND ebelp = itab_zycit003-ebelp.

        READ TABLE itab_zycit006 WITH KEY

                        belnr_mr1m = itab_ekbe-belnr.

        IF sy-subrc EQ 0.

          DELETE itab_ekbe WHERE belnr EQ itab_ekbe-belnr.

          CONTINUE.

        ENDIF.

        IF itab_ekbe-menge GT itab_zycit003-qtd_iten.

          DELETE itab_ekbe WHERE belnr EQ itab_ekbe-belnr.

          no_quantity = 'X' .

* << Fim da inclusão

      ENDIF.

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

      ENDLOOP.

      MODIFY itab_zycit003.

* << Fim da inclusão

    ENDLOOP.

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

    IF itab_rseg[] IS INITIAL.

      no_quantity = 'X' .

* << Fim da exclusão

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

    IF itab_zycit003[] IS INITIAL.

      EXIT.

    ENDIF.

    IF itab_ekbe[] IS INITIAL.

      EXIT.

    ELSE.

      CLEAR no_quantity.

* << Fim da inclusão

    ENDIF.

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

    SORT itab_ekbe BY belnr gjahr.

    DELETE ADJACENT DUPLICATES FROM itab_ekbe

                          COMPARING belnr gjahr.

* << Fim da inclusão

    SELECT * FROM rbkp

    INTO TABLE itab_rbkp

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

    FOR ALL ENTRIES IN itab_rseg

    WHERE belnr = itab_rseg-belnr

    AND   gjahr = itab_rseg-gjahr

    AND   bukrs = itab_rseg-bukrs

    AND   stblg = space.

* << Fim da exclusão

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

    FOR ALL ENTRIES IN itab_ekbe

    WHERE belnr = itab_ekbe-belnr

      AND gjahr = itab_ekbe-gjahr

      AND stblg = space.

* << Fim da inclusão

    IF sy-subrc EQ 0.

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

      SELECT * FROM /pws/zycit006

      INTO TABLE itab_zycit006

* << Fim da exclusão

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

      SELECT * FROM rseg

           INTO TABLE itab_rseg

* << Fim da inclusão

      FOR ALL ENTRIES IN itab_rbkp

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

      WHERE belnr_mr1m = itab_rbkp-belnr

      AND   eliminado = space.                          "#EC CI_NOFIELD

* << Fim da exclusão

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

        WHERE belnr = itab_rbkp-belnr

          AND gjahr = itab_rbkp-gjahr.

* << Fim da inclusão

      LOOP AT itab_rbkp.

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

        READ TABLE itab_zycit006 WITH KEY

        belnr_mr1m = itab_rbkp-belnr.

        IF sy-subrc EQ 0.

          DELETE itab_rbkp.

* << Fim da exclusão

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

        IF NOT itab_rbkp-zterm IS INITIAL.

          CLEAR v_xsplt.

          SELECT SINGLE xsplt FROM t052

              INTO v_xsplt

              WHERE zterm EQ itab_rbkp-zterm.

          IF v_xsplt EQ 'X'.

            DELETE itab_rseg WHERE belnr = itab_rbkp-belnr

                               AND gjahr = itab_rbkp-gjahr.

            DELETE itab_rbkp WHERE belnr = itab_rbkp-belnr

                               AND gjahr = itab_rbkp-gjahr.

            CONTINUE.

          ENDIF.

        ENDIF.

        LOOP AT itab_rseg WHERE belnr = itab_rbkp-belnr

                            AND gjahr = itab_rbkp-gjahr.

          READ TABLE itab_zycit003 WITH KEY

                                  ebeln = itab_rseg-ebeln

                                  ebelp = itab_rseg-ebelp.

          IF sy-subrc NE 0.

            DELETE itab_rseg WHERE belnr = itab_rbkp-belnr

                               AND gjahr = itab_rbkp-gjahr.

            DELETE itab_rbkp WHERE belnr = itab_rbkp-belnr

                               AND gjahr = itab_rbkp-gjahr.

            EXIT.

          ENDIF.

          IF itab_rseg-menge GT itab_zycit003-qtd_iten.

            DELETE itab_rseg WHERE belnr = itab_rbkp-belnr

                               AND gjahr = itab_rbkp-gjahr.

            DELETE itab_rbkp WHERE belnr = itab_rbkp-belnr

                               AND gjahr = itab_rbkp-gjahr.

            no_quantity = 'X' .

            EXIT.

* << Fim da inclusão

        ENDIF.

      ENDLOOP.

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

      ENDLOOP.

* << Fim da inclusão

      IF itab_rbkp[] IS INITIAL.

        no_data = 'X' .

      ENDIF.

    ELSE.

      no_data = 'X' .

    ENDIF.

  ELSE.

    no_data = 'X' .

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

  ENDIF.

  IF NOT itab_rseg[] IS INITIAL.

    CLEAR no_quantity.

* << Fim da inclusão

  ENDIF.

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

  REFRESH itab_zycit003.

  itab_zycit003[] = it_zycit003t[].

* << Fim da inclusão

ENDFORM.

FORM monta_selecao CHANGING v_answer.

  DATA: v_wrbtr(16) .

  LOOP AT itab_rbkp.

    IF NOT itab_rbkp-stblg IS INITIAL.

      DELETE itab_rbkp.

    ELSE.

      WRITE itab_rbkp-rmwwr  TO v_wrbtr CURRENCY itab_rbkp-waers.

      CONCATENATE itab_rbkp-belnr itab_rbkp-gjahr itab_rbkp-xblnr

         v_wrbtr INTO t_spopli-varoption SEPARATED BY space.

      APPEND t_spopli .

    ENDIF.

  ENDLOOP.

  CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

       EXPORTING

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

            mark_flag          = 'X'

            mark_max           = '0'

* << Fim da exclusão

            start_col          = 0

            start_row          = 0

            textline1          = text-002

            titel              = text-001

       IMPORTING

            answer             = v_answer

       TABLES

            t_spopli           = t_spopli

       EXCEPTIONS

            not_enough_answers = 1

...

 

...

          WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat

          AND   eliminado   = space.                    "#EC CI_NOFIELD

        ENDIF.

      ENDIF.

    ENDIF.

  ELSE.

    no_data = 'X' .

  ENDIF.

ENDFORM.

FORM cria_fatura.

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

  REFRESH itab_ekpo.

  SELECT ebeln ebelp ntgew gewei FROM ekpo

      INTO TABLE itab_ekpo

      FOR ALL ENTRIES IN itab_rseg

        WHERE ebeln EQ itab_rseg-ebeln

          AND ebelp EQ itab_rseg-ebelp.

* << Fim da inclusão

  LOOP AT itab_rseg WHERE belnr = itab_rbkp-belnr .

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

    CLEAR v_qtd_iten.

    LOOP AT itab_zycit003 WHERE ebeln = itab_rseg-ebeln

                          AND   ebelp = itab_rseg-ebelp.

      READ TABLE itab_zycit263 WITH KEY

                      nrseq = itab_zycit003-nrseq

                      ebeln = itab_zycit003-ebeln

                      ebelp = itab_zycit003-ebelp.

* << Fim da exclusão

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

    CLEAR: v_qtd_iten, itab_zycit003.

    READ TABLE itab_zycit003 WITH KEY ebeln = itab_rseg-ebeln

                                      ebelp = itab_rseg-ebelp.

* << Fim da inclusão

      IF sy-subrc EQ 0.

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

        LOOP AT itab_zycit263 WHERE

                      nrseq = itab_zycit003-nrseq AND

                      ebeln = itab_zycit003-ebeln AND

                      ebelp = itab_zycit003-ebelp.

          v_qtd_iten = v_qtd_iten + itab_zycit263-qtd_iten.

        ENDLOOP.

        IF itab_rseg-menge LE v_qtd_iten.

* << Fim da exclusão

          PERFORM itens_fatura.

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

        ENDIF.

      ELSE.

        IF itab_rseg-menge LE itab_zycit003-qtd_iten.

          PERFORM itens_fatura.

        ENDIF.

* << Fim da exclusão

      ENDIF.

    ENDLOOP.

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

  ENDLOOP.

* << Fim da exclusão

  IF v_item = 'X'.

    PERFORM cabecalho_fatura.

    PERFORM atualizando_total.

    IF NOT /pws/zycie006-belnr_p IS INITIAL.

      PERFORM gravar_cambio.

    ENDIF.

    PERFORM custeando_despesa_inco.

    CALL METHOD /pws/cl_zyci_valid_document=>find_nrseq

      EXPORTING

        campo  = 'NRSEQ'

...

 

...

    ENDIF.

    COMMIT WORK.

    IF sy-subrc EQ 0.

      invoice_created = 'X' .

    ENDIF.

    FREE MEMORY ID '010'.

  ENDIF.

ENDFORM.

FORM cria_fatura_intercompany.

  PERFORM clear_tables.

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

  PERFORM seleciona_miro.

* << Fim da exclusão

  READ TABLE itab_rbkp WITH KEY belnr = v_doc_miro.

  IF sy-subrc EQ 0 .

    PERFORM cria_fatura.

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

    IF t001-land1 EQ 'BR'.

      PERFORM cria_f02 USING    v_doc_miro

                       CHANGING v_belnr .

    ENDIF.

* << Fim da exclusão

  ELSE.

...

 

...

    AND   land1 EQ t001-land1.                          "#EC CI_NOFIRST

  v_vlreal = /pws/zycie006-vlmerc.

  DESCRIBE TABLE t_zycit263 LINES v_lines.

  READ TABLE t_zycit263 INDEX 1.

  IF sy-subrc = 0.

    READ TABLE itab_zycit003 WITH KEY

               ebeln = t_zycit263-ebeln

               ebelp = t_zycit263-ebelp.

    IF sy-subrc EQ 0.

      v_moeda = itab_zycit003-waers.

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

    ENDIF.

  ENDIF.

  LOOP AT itab_zycit003.

    READ TABLE t_zycit263 WITH KEY ebeln = itab_zycit003-ebeln

                                 ebelp = itab_zycit003-ebelp.

    IF sy-subrc EQ 0.

      IF itab_zycit003-waers NE v_moeda.

        v_waers_dif = 'X'.

* << Fim da exclusão

      ENDIF.

    ENDIF.

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

  ENDLOOP.

* << Fim da exclusão

  CLEAR v_val_plan.

  LOOP AT t_zycit263.

    READ TABLE itab_zycit003 WITH KEY

         ebeln = t_zycit263-ebeln

         ebelp = t_zycit263-ebelp.

...

 

...

    CLEAR v_valplan.

    READ TABLE itab_zycit003 WITH KEY

         ebeln = t_zycit263-ebeln

         ebelp = t_zycit263-ebelp.

    IF sy-subrc EQ 0.

      IF NOT /pws/zycie006-vlmerc IS INITIAL AND

         NOT t_zycit263-qtd_iten IS INITIAL.

        PERFORM retorna_decimais USING /pws/zycie006-waers

                              CHANGING v_tot_aux .

        v_valplan = itab_zycit003-netpr * t_zycit263-qtd_iten.

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

        IF v_tot_aux = v_val_plan.

          itab_zycit003-vlreal =

             ( itab_zycit003-netpr * t_zycit263-qtd_iten  )   /

                t_zycit263-qtd_iten .

        ELSE.

          itab_zycit003-vlreal =

           (  ( v_valplan / v_val_plan ) *  v_taxa * v_tot_aux )  /

             t_zycit263-qtd_iten   .

        ENDIF.

* << Fim da exclusão

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

        itab_zycit003-vlreal = t_zycit263-vlreal *  v_taxa.

* << Fim da inclusão

      ELSE.

        itab_zycit003-vlreal = itab_zycit003-netpr.

      ENDIF.

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

      t_zycit263-vlreal = itab_zycit003-vlreal.

* << Fim da exclusão

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

      itab_zycit003-waers_real = /pws/zycie006-waers.

* << Fim da inclusão

      IF v_index = v_lines.

        IF v_vlreal IS INITIAL.

       itab_zycit003-total = t_zycit263-qtd_iten * itab_zycit003-vlreal.

        ELSE.

          itab_zycit003-total =  v_vlreal - v_total2.

        ENDIF.

        CLEAR v_total2.

      ELSE.

      itab_zycit003-total = t_zycit263-qtd_iten  * itab_zycit003-vlreal.

        v_total2 = v_total2 +  itab_zycit003-total.

      ENDIF.

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

      MODIFY itab_zycit003 TRANSPORTING vlreal total

* << Fim da exclusão

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

      MODIFY itab_zycit003 TRANSPORTING vlreal total waers_real

* << Fim da inclusão

      WHERE nrseq = itab_zycit003-nrseq

      AND   ebeln = itab_zycit003-ebeln

      AND   ebelp = itab_zycit003-ebelp.

      MODIFY t_zycit263 TRANSPORTING vlreal

      WHERE nrseq = itab_zycit003-nrseq

      AND   ebeln = itab_zycit003-ebeln

      AND   ebelp = itab_zycit003-ebelp.

    ENDIF.

  ENDLOOP.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF2F01

 

...

FORM move_lanctos USING    p_valor

                           vl_variacao.

  DATA: v_conta          TYPE hkont,

        vl_variacao_aux  TYPE p DECIMALS 2,

        v_valor_variacao TYPE p DECIMALS 2,

        v_diferenca      TYPE p DECIMALS 2,

        v_cont TYPE i,

        v_variacao       TYPE p DECIMALS 2,

        vl_total         TYPE p DECIMALS 2.

  MOVE vl_variacao TO vl_variacao_aux.

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

  IF /pws/zycie001-modalidade NE '07' .

* << Fim da inclusão

  IF vl_variacao_aux < 0.

    v_valor_variacao = itab_bsis_aux-dmbtr - ABS( vl_variacao_aux ).

  ELSE.

    v_valor_variacao = itab_bsis_aux-dmbtr + ABS( vl_variacao_aux ).

  ENDIF.

  v_diferenca = v_valor_variacao - p_valor.

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

  ELSE.

    v_diferenca = vl_variacao_aux.

    v_valor_variacao = abs( vl_variacao_aux ).

  ENDIF.

* << Fim da inclusão

  IF ( v_diferenca < 1

   AND v_diferenca > -1

   AND v_diferenca NE 0 ).

    p_valor = v_valor_variacao.

  ENDIF.

  itab_contas-tcode  = 'F-51'.

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

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

  itab_contas-mandt  = sy-mandt.

  itab_contas-tabela = '/PWS/ZYCIT044'.

...

 

...

      itab_di_aux-vlfob + itab_di_aux-vlfre + itab_di_aux-vlfren.

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

      vl_total = vl_total +

      itab_di_aux-vlfob + itab_di_aux-vlfre + itab_di_aux-vlfren +

                      itab_di_aux-vlseg.

    ELSEIF /pws/zycit031-inco1_ci = 'C+I'.

      vl_total = vl_total +

      itab_di_aux-vlfob + itab_di_aux-vlseg.

    ENDIF.

  ENDLOOP.

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

  IF /pws/zycie001-modalidade EQ '07' .

    p_valor = abs( vl_variacao ).

  ENDIF.

* << Fim da inclusão

  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 ).

...

 

...

    IF v_bkzer IS INITIAL.

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

    ENDIF.

    IF /pws/zycit000-clucro_ia NE space.

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

    ENDIF.

    itab_contas-tcode  = 'F-51'.

    itab_contas-mandt  = sy-mandt.

    itab_contas-tabela = '/PWS/ZYCIT044'.

    itab_contas-bschl  = '40'.

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

    IF /pws/zycie001-modalidade EQ '07'

        AND vl_variacao_aux  < 0.

      itab_contas-bschl  = '50'.

    ENDIF.

* << Fim da inclusão

    itab_contas-d_newko = itab_bsis_aux-hkont.

    APPEND itab_contas.

    CLEAR itab_contas.

  ENDLOOP.

ENDFORM.

FORM move_lanctos_f05 USING vl_variacao.

  DATA: v_conta    TYPE hkont,

        v_variadec TYPE /pws/zycit085-vlfre,

        v_cont TYPE i,

        v_variacao       TYPE p DECIMALS 2,

...

 

...

        CONTINUE.

      ENDIF.

      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

           EXPORTING

                input  = itab_matuse_aux2-hkont

           IMPORTING

                output = itab_matuse_aux2-hkont.

      UNPACK p_zycit006-belnr_p TO p_zycit006-belnr_p.

      READ TABLE itab_bsis WITH KEY hkont = itab_matuse_aux2-hkont

                                    belnr = p_zycit006-belnr_p.

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

      IF sy-subrc = 0.

        itab_zycbt036-mandt  = sy-mandt.

        itab_zycbt036-tcode  = 'F-51'.

        itab_zycbt036-tabela = '/PWS/ZYCIT044'.

        itab_zycbt036-cpochv = /pws/zycie085-nrseqdi.

        itab_zycbt036-dtdocto = p_zycit006-dtlanc.

        UNPACK itab_bsis-belnr TO itab_bsis-belnr.

        itab_zycbt036-belnr  = itab_bsis-belnr.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

                  v_bukrs                = /pws/zycie085-bukrs

                  v_date                 = p_zycit006-dt_belnrp

             IMPORTING

                  v_year                 = v_ano

             EXCEPTIONS

                  variante_de_exercicio  = 1

                  data_nao_encontrada    = 2

                  empresa_nao_encontrada = 3

                  period_in_not_valid    = 4

                  period_not_assigned    = 5

                  version_undefined      = 6

                  OTHERS                 = 7.

        IF sy-subrc  NE  0.

          v_ano = p_zycit006+0(4).

        ENDIF.

        SELECT SINGLE awkey FROM bkpf INTO itab_zycbt036-awkey

                    WHERE belnr = itab_bsis-belnr

                      AND bukrs = p_zycit006-bukrs

                       AND gjahr = v_ano.

        APPEND itab_zycbt036.

        CLEAR  itab_zycbt036.

      ENDIF.

    ENDLOOP.

  ELSE.

    LOOP AT p_zycit006 WHERE belnr_f_02  NE space.

      READ TABLE itab_di INDEX 1.

      IF p_zycit006-tpfatura EQ '02' AND itab_di-vlfre IS INITIAL.

        CONTINUE.

      ELSEIF p_zycit006-tpfatura EQ '03' AND itab_di-vlseg IS INITIAL.

        CONTINUE.

      ENDIF.

      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

           EXPORTING

                input  = itab_matuse_aux2-hkont

           IMPORTING

                output = itab_matuse_aux2-hkont.

      UNPACK p_zycit006-belnr_p TO p_zycit006-belnr_f_02.

      READ TABLE itab_bsis WITH KEY hkont = itab_matuse_aux2-hkont

                                    belnr = p_zycit006-belnr_f_02.

* << Fim da exclusão

      IF sy-subrc = 0.

        itab_zycbt036-mandt  = sy-mandt.

        itab_zycbt036-tcode  = 'F-51'.

        itab_zycbt036-tabela = '/PWS/ZYCIT044'.

        itab_zycbt036-cpochv = /pws/zycie085-nrseqdi.

        itab_zycbt036-dtdocto = p_zycit006-dtlanc.

        UNPACK itab_bsis-belnr TO itab_bsis-belnr.

        itab_zycbt036-belnr  = itab_bsis-belnr.

        CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

             EXPORTING

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

* >> Início da inclusão:

TABLES /pws/zycit036.

* << Fim da inclusão

DATA: BEGIN OF COMMON PART a.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003O01

 

...

          ELSE.

            screen-required = 1.

            MODIFY SCREEN.

          ENDIF.

          IF t001-land1 NE 'CL'.

            screen-input = 0.

            screen-invisible = 1.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

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

        IF /pws/zycit001-modalidade EQ '07'.

          IF  screen-name = '/PWS/ZYCIE006-VLMERC' OR

              screen-name = '/PWS/ZYCIE006-VLFRE' OR

              screen-name = '/PWS/ZYCIE006-VLSEG' OR

              screen-name = '/PWS/ZYCIE006-DTINCL'.

            screen-input = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

      IF /pws/zycie006-vlmerc IS INITIAL AND

        /pws/zycie006-vlfre IS INITIAL AND

        /pws/zycie006-vlseg IS INITIAL.

        CLEAR /pws/zycie006-vltotal.

      ENDIF.

    WHEN '0106'.

      LOOP AT SCREEN.

        IF v_status_s = 0 OR sy-tcode = '/PWS/ZYCI003_M'.

          IF screen-name NE 'BTN0100_01' .

...

 

...

       /pws/zycie006-tpfatura EQ '01'.

      READ TABLE itab_zycit003 INTO /pws/zycit003 INDEX 1.

      SELECT SINGLE * FROM /pws/zycit042

        WHERE nrseq  EQ /pws/zycit003-nrseq.            "#EC CI_NOFIRST

      IF sy-subrc EQ 0.

        screen-input = 0.

      ENDIF.

    ENDIF.

    IF v_existe_bol EQ 'X' AND

       screen-name NE 'ITAB_ZYCIT003-MARC'.

      screen-input = '0'.

    ENDIF.

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

    IF /pws/zycit001-modalidade EQ '07'.

      IF screen-name = '/PWS/ZYCIE003-VLSEG_FAT' OR

         screen-name = '/PWS/ZYCIE003-VLFRE_FAT' OR

         screen-name = '/PWS/ZYCIE003-VLREAL'.

      screen-input = '0'.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    MODIFY SCREEN.

  ENDLOOP.

  IF  v_di = 'X' .

    LOOP AT tc_itens-cols INTO wa_cols.

      wa_cols-screen-input = '0'.

...

 

...

       screen-name = '/PWS/ZYCIE003-NTGEW'.

      screen-input = 0.

    ENDIF.

    IF  v_di = 'X' .

      screen-input = 0.

      MODIFY SCREEN.

    ENDIF.

    IF /pws/zycie006-fabricante EQ 0 AND

    screen-name EQ '/PWS/ZYCIE003-LIFNRFABR'.

      screen-input = 0.

    ENDIF.

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

    IF /pws/zycit001-modalidade EQ '07'.

      IF screen-name = '/PWS/ZYCIE003-VLSEG_FAT' OR

         screen-name = '/PWS/ZYCIE003-VLFRE_FAT' OR

         screen-name = '/PWS/ZYCIE003-VLREAL'.

        screen-input = '0'.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    MODIFY SCREEN.

  ENDLOOP.

ENDMODULE.

MODULE /pws/zycie047 OUTPUT.

  IF itab_zycit047[]      IS INITIAL AND

     NOT /pws/zycie006-dtincl  IS INITIAL AND

     NOT /pws/zycie006-nrfat   IS INITIAL AND

     NOT /pws/zycie006-frpagto IS INITIAL AND

     NOT /pws/zycie006-waers   IS INITIAL AND

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF10F02

 

...

FORM clear_tables.

  CLEAR :  itab_rbkp, itab_rseg, t_zycit263, itab_t052,

     itab_zycit036_aux, itab_zycit036, /pws/zycet076, lfa1,

     /pws/zycbt064,  /pws/zycbt131,

     /pws/zycbt119, /pws/zycbt108, /pws/zycie006, v_ntgew, v_fdgrv.

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

  REFRESH: itab_rbkp, itab_rseg, t_zycit263, itab_t052,

           itab_zycit036_aux, itab_zycit036.

* << Fim da exclusão

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

  REFRESH: t_zycit263, itab_t052, itab_zycit036_aux, itab_zycit036.

* << Fim da inclusão

ENDFORM.

* >> Início da inclusão:

FORM converte_unidades USING p_matnr

                             p_meins

                             p_meinsd

                    CHANGING p_qtd.

  DATA: v_meinsb      LIKE marm-meinh,

        v_um_rez      TYPE i,

        v_um_ren      TYPE i,

        v_um_rez1     LIKE marm-umrez,

        v_um_ren1     LIKE marm-umren,

        v_um_rez2     TYPE i,

        v_um_ren2     TYPE i.

  DATA: v_conv1       TYPE /pws/zycit245-qtd_ncm,

        v_conv2       TYPE /pws/zycit245-qtd_ncm.

  CLEAR: v_um_rez, v_um_ren, v_um_rez2, v_um_ren2.

  IF p_meins EQ p_meinsd.

    EXIT.

  ENDIF.

  v_conv1 = 1.

  CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

       EXPORTING

            input                = v_conv1

            no_type_check        = 'X'

            round_sign           = 'X'

            unit_in              = p_meins

            unit_out             = p_meinsd

       IMPORTING

            denominator          = v_um_ren

            numerator            = v_um_rez

            output               = v_conv2

       EXCEPTIONS

            conversion_not_found = 1

            division_by_zero     = 2

            input_invalid        = 3

            output_invalid       = 4

            overflow             = 5

            type_invalid         = 6

            units_missing        = 7

            unit_in_not_found    = 8

            unit_out_not_found   = 9

            OTHERS               = 10.

  IF sy-subrc = 0.

    p_qtd = ( p_qtd / v_um_ren ) * v_um_rez.

    EXIT.

  ENDIF.

  SELECT SINGLE meins FROM mara INTO v_meinsb

    WHERE matnr EQ p_matnr.

  IF v_meinsb NE p_meins.

    v_conv1 = 1.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

         EXPORTING

              input                = v_conv1

              no_type_check        = 'X'

              round_sign           = 'X'

              unit_in              = p_meins

              unit_out             = v_meinsb

         IMPORTING

              denominator          = v_um_ren

              numerator            = v_um_rez

              output               = v_conv2

         EXCEPTIONS

              conversion_not_found = 1

              division_by_zero     = 2

              input_invalid        = 3

              output_invalid       = 4

              overflow             = 5

              type_invalid         = 6

              units_missing        = 7

              unit_in_not_found    = 8

              unit_out_not_found   = 9

              OTHERS               = 10.

    IF sy-subrc <> 0.

      SELECT SINGLE umrez umren

               FROM marm INTO (v_um_rez1, v_um_ren1)

               WHERE matnr = p_matnr

               AND   meinh = p_meins.

      IF sy-subrc NE 0.

        CLEAR p_qtd.

        EXIT.

      ELSE.

        v_um_rez = v_um_rez1.

        v_um_ren = v_um_ren1.

      ENDIF.

    ENDIF.

    IF v_um_rez IS INITIAL

      OR v_um_ren IS INITIAL.

      EXIT.

    ENDIF.

  ELSE.

    v_um_ren = 1.

    v_um_rez = 1.

  ENDIF.

  IF v_meinsb NE p_meinsd.

    v_conv1 = 1.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

         EXPORTING

              input                = v_conv1

              no_type_check        = 'X'

              round_sign           = 'X'

              unit_in              = v_meinsb

              unit_out             = p_meinsd

         IMPORTING

              denominator          = v_um_rez2

              numerator            = v_um_ren2

              output               = v_conv2

         EXCEPTIONS

              conversion_not_found = 1

              division_by_zero     = 2

              input_invalid        = 3

              output_invalid       = 4

              overflow             = 5

              type_invalid         = 6

              units_missing        = 7

              unit_in_not_found    = 8

              unit_out_not_found   = 9

              OTHERS               = 10.

    IF sy-subrc <> 0.

      SELECT SINGLE umrez umren

               FROM marm INTO (v_um_rez1, v_um_ren1)

               WHERE matnr = p_matnr

               AND   meinh = p_meinsd.

      IF sy-subrc NE 0.

        CLEAR p_qtd.

        EXIT.

      ELSE.

        v_um_rez2 = v_um_rez1.

        v_um_ren2 = v_um_ren1.

      ENDIF.

    ENDIF.

    IF v_um_rez IS INITIAL

      OR v_um_ren IS INITIAL.

      EXIT.

    ENDIF.

  ELSE.

    v_um_ren2 = 1.

    v_um_rez2 = 1.

  ENDIF.

  p_qtd = p_qtd *

    ( ( v_um_rez / v_um_ren ) * ( v_um_ren2 / v_um_rez2 ) ).

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCIGF10X01

 

...

           /pws/zycit093,

           /pws/zycit094,

           /pws/zycet076,

           /pws/zycit286,

           /pws/zycit477,

           bseg,

           lfa1,

           t001,

           t035,

           t052,

* >> Início da inclusão:

           TCURF,

* << Fim da inclusão

           tcurx     .

  DATA: BEGIN OF COMMON PART a.

...

 

...

* >> Início da inclusão:

  DATA: BEGIN OF itab_ekbe OCCURS 0.

          INCLUDE STRUCTURE ekbe.

  DATA: END OF itab_ekbe.

  DATA: BEGIN OF itab_ekpo OCCURS 0,

    ebeln type ekpo-ebeln,

    ebelp type ekpo-ebelp,

    ntgew type ekpo-ntgew,

    gewei type ekpo-gewei,

  END OF itab_ekpo.

* << Fim da inclusão

  DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

      ENDLOOP.

      READ TABLE itab_zycit078 INDEX 1.

      v_codcambial = itab_zycit078-codcambial.

      LOOP AT itab_zycit078 WHERE codcambial NE v_codcambial.

      ENDLOOP.

      IF sy-subrc EQ 0.

        MESSAGE s015 WITH text-237 text-541 text-542.

      ENDIF.

    ENDIF.

  ENDIF.

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

if /pws/zycie001-modalidade ne '07' .

* << Fim da inclusão

  LOOP AT itab_zycit003 WHERE mark EQ 'X'.

    IF v_lifnr NE itab_zycit003-lifnr.

      MESSAGE i015 WITH text-070.

      v_flag_loop = 'X'.

      EXIT.

    ENDIF.

    IF v_moeda NE itab_zycit003-waers.

      MESSAGE s015 WITH text-237 text-238.

      v_flag_loop = 'X'.

      EXIT.

...

 

...

    ENDLOOP.

    IF vsaldo >= itab_zycit003-qtd_iten.

      MESSAGE i015 WITH text-194.

      v_flag_loop = 'X'.

      EXIT.

    ENDIF.

    itab_sele-ebeln = itab_zycit003-ebeln.

    itab_sele-ebelp = itab_zycit003-ebelp.

    APPEND itab_sele.

  ENDLOOP.

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

  IF sy-subrc EQ 0.

* << Fim da exclusão

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

endif .

  IF sy-subrc EQ 0

     AND /pws/zycie001-modalidade ne '07' .

* << Fim da inclusão

    IF v_flag_loop = 'X'.

      EXIT.

    ENDIF.

    CLEAR /pws/zycie006-nrseq.

    EXPORT /pws/zycie001-embarca

         /pws/zycie001-nrseq

         /pws/zycie001-bukrs

         /pws/zycie001-werks

         /pws/zycie001-waers

         /pws/zycie001-inco1

...

 

...

         /pws/zycie003-ebeln

         /pws/zycie006-nrseq

         e_status

      TO MEMORY ID '003'.

    EXPORT itab_sele[]

      TO MEMORY ID 'IP003B'.

    IF v_status_s = 1.

      IF NOT /pws/zycie001-modalidade EQ '02'.

        IF ( /pws/zycie001-modalidade EQ '03' AND

            itab_zycit003-servico EQ 'X' ) .

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

        ELSEIF /pws/zycie001-modalidade = '07' .

          PERFORM call_intercompany.

* << Fim da exclusão

        ELSE.

          SELECT SINGLE * FROM /pws/zycit094            "#EC CI_NOFIRST

             WHERE nrseq = /pws/zycie001-nrseq.

          IF sy-subrc NE 0.

            IF /pws/zycie001-regime EQ '13'.

              PERFORM gera_bl_nac.

            ELSE.

              MESSAGE s061 WITH text-026 text-027.

              EXIT.

            ENDIF.

...

 

...

      ENDIF.

      PERFORM valida_trans USING '/PWS/ZYCI003_C' ''.

    ELSE.

      MESSAGE s015 WITH text-073.

    ENDIF.

  ELSE.

    CLEAR v_subrc.

    IF /pws/zycie001-modalidade EQ '02'

    OR /pws/zycie001-modalidade EQ '03'.

      v_subrc = 'X'.

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

    ELSEIF /pws/zycie001-modalidade = '07' .

      PERFORM call_intercompany.

* << Fim da exclusão

    ELSE.

      SELECT SINGLE * FROM /pws/zycit094                "#EC CI_NOFIRST

        WHERE nrseq = /pws/zycie001-nrseq.

      IF sy-subrc EQ 0.

        v_subrc = 'X'.

      ELSEIF /pws/zycie001-regime EQ '13'.

        PERFORM gera_bl_nac.

        v_subrc = 'X'.

      ELSE.

        MESSAGE s061 WITH text-026 text-027.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F03

 

FORM dele_fatura_intercompany CHANGING v_del.

  DATA: lt_zycit263 TYPE /pws/zycit263 OCCURS 0 WITH HEADER LINE.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dt_mr1m

                                CHANGING v_ano .

  SELECT SINGLE * FROM rbkp

            WHERE belnr EQ /pws/zycie006-belnr_mr1m

            AND   gjahr EQ v_ano.

  IF sy-subrc EQ 0 AND rbkp-stblg IS INITIAL.

    v_del = 'X' .

    MESSAGE i016 WITH text-213 text-214.

  ELSE.

* << Fim da exclusão

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

  IF v_existe_di EQ 'S'.

    MESSAGE s015 WITH  text-042.

    EXIT.

  ENDIF.

* << Fim da inclusão

    IF NOT itab_zycit003[] IS INITIAL.

      CLEAR: lt_zycit263, lt_zycit263[].

      SELECT * FROM /pws/zycit263 INTO TABLE lt_zycit263

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq       = itab_zycit003-nrseq AND

              ebeln       = itab_zycit003-ebeln AND

              ebelp       = itab_zycit003-ebelp AND

              nrseq_pgfat = /pws/zycie006-nrseq_pgfat.

    ENDIF.

    LOOP AT itab_zycit003.

...

 

...

    ENDLOOP.

    CLEAR: /pws/zycie006-belnr_p, /pws/zycie006-statusp,

           /pws/zycie006-statusp_mr1m, /pws/zycie006-belnr_mr1m,

           /pws/zycie006-dt_mr1m.

    /pws/zycie006-eliminado = 'X'.

    MODIFY /pws/zycit006 FROM /pws/zycie006.

    COMMIT WORK.

    MOVE-CORRESPONDING /pws/zycie006 TO /pws/zycit006.

    PERFORM carrega_log USING '/PWS/ZYCIT006' 'U'

                ' '  '/PWS/SAPMZYCI003' /pws/zycie006-nrseq.

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

  ENDIF.

* << Fim da exclusão

ENDFORM.

FORM rateio_seguro.

  DATA:   v_tot_acum  LIKE /pws/zycit003-netpr,

          v_tot_acum2 LIKE /pws/zycit003-netpr.

  v_vlreal = /pws/zycie006-vlseg.

  PERFORM retorna_decimais USING /pws/zycie006-waers

                          CHANGING v_vlreal.

  CLEAR v_tot_acum.

  CLEAR v_tot_acum2.

  LOOP AT itab_zycit003.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001O01

 

...

    EXPORTING

      bukrs       = /pws/zycie001-bukrs

    RECEIVING

      agrupamento = v_agrupamento   .

  IF v_agrupamento NE 'X' .

    it_code-fcode = 'AGRUP'. APPEND it_code.

  ENDIF.

  IF sy-tcode = '/PWS/ZYCI001_A' OR sy-tcode = '/PWS/ZYCI001_C'

     OR v_status_s = 1 .

    it_code-fcode = 'MODI'. APPEND it_code.

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

    IF /pws/zycie001-modalidade NE '07' .

      it_code-fcode = 'INTER'. APPEND it_code.

    ENDIF.

* << Fim da inclusão

  ELSEIF sy-tcode = '/PWS/ZYCI001_E' OR v_status_s = 0.

    it_code-fcode = 'SAVE'. APPEND it_code.

    it_code-fcode = 'MODI'. APPEND it_code.

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

    it_code-fcode = 'INTER'. APPEND it_code.

* << Fim da inclusão

  ENDIF.

  IF v_trilha_auditoria IS INITIAL OR

     sy-tcode = '/PWS/ZYCI001_C'.

    it_code-fcode = 'LOG_TRILHA'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

    IF sy-subrc <> 0.

    ENDIF.

    CALL FUNCTION 'MESSAGES_INITIALIZE'.

  ENDIF.

ENDFORM.

FORM call_intercompany.

  IF NOT sy-tcode EQ '/PWS/ZYCI001_E'.

    SELECT SINGLE * FROM /pws/zycit094                  "#EC CI_NOFIRST

       WHERE nrseq = /pws/zycie001-nrseq.

    IF sy-subrc EQ 0.

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

      IF itab_zycit006[] IS INITIAL.

        v_interc = 'X'.

      ELSE.

        LOOP AT itab_zycit003.

          READ TABLE itab_zycit263 WITH KEY

               nrseq = itab_zycit003-nrseq

               ebeln = itab_zycit003-ebeln

               ebelp = itab_zycit003-ebelp

               eliminado = space.

          IF sy-subrc NE 0.

            v_interc = 'X'.

          ENDIF.

        ENDLOOP.

      ENDIF.

      IF v_interc = 'X'.

* << Fim da exclusão

        CALL FUNCTION '/PWS/ZYCI_FATURA_INTERCOMPANY'

             EXPORTING

                  p_nrseq         = /pws/zycie001-nrseq

             EXCEPTIONS

                  no_quantity     = 1

                  no_data         = 2

                  abort           = 3

                  invoice_created = 4

                  OTHERS          = 5.

        IF sy-subrc EQ 0 .

          SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263

          WHERE nrseq = /pws/zycie001-nrseq

          AND eliminado = space.

          IF NOT itab_zycit263[] IS INITIAL.

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

            SELECT * FROM /pws/zycit006                 "#EC CI_NOFIELD

* << Fim da exclusão

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

          SELECT * FROM /pws/zycit006                   "#EC CI_NOFIELD

* << Fim da inclusão

                INTO TABLE itab_zycit006

                FOR ALL ENTRIES IN itab_zycit263

                WHERE nrseq_pgfat EQ itab_zycit263-nrseq_pgfat

                  AND eliminado EQ space.

          ENDIF.

          MESSAGE i015 WITH text-527.

          EXIT.

        ELSEIF sy-subrc EQ 1.

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

          MESSAGE i015 WITH text-527.

* << Fim da exclusão

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

        MESSAGE i015 WITH text-194.

* << Fim da inclusão

        ELSEIF sy-subrc EQ 3.

          EXIT.

        ELSEIF sy-subrc EQ 4.

          MESSAGE i015 WITH text-527.

          EXIT.

        ELSE.

          MESSAGE i015 WITH text-526.

        ENDIF.

        LOOP AT itab_zycit003.

          READ TABLE itab_zycit263 WITH KEY

               nrseq = itab_zycit003-nrseq

               ebeln = itab_zycit003-ebeln

               ebelp = itab_zycit003-ebelp

               eliminado = space.

          IF sy-subrc EQ 0.

            v_subrc = 'X'.

          ENDIF.

        ENDLOOP.

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

      ELSE.

        v_subrc = 'X'.

      ENDIF.

* << Fim da exclusão

    ELSE.

      MESSAGE s061 WITH text-026 text-027.

    ENDIF.

  ELSE.

    v_subrc = 'X' .

  ENDIF.

ENDFORM.

FORM unpublish.

  IF NOT v_anexa_doc IS INITIAL.

    CALL METHOD v_anexa_doc->unpublish .

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

          IF sy-tcode EQ '/PWS/ZYCI001_E' .

            PERFORM valida_trans USING '/PWS/ZYCI085_E' 'skip'.

          ELSE.

            PERFORM valida_trans USING '/PWS/ZYCI085_A' 'skip'.

          ENDIF.

        ELSE.

          IF NOT sy-tcode EQ '/PWS/ZYCI001_E' .

            PERFORM valida_trans USING '/PWS/ZYCI085_C' 'skip'.

          ENDIF.

        ENDIF.

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

      WHEN 'INTER'.

        IF /pws/zycie001-modalidade = '07' .

          PERFORM call_intercompany.

        ENDIF.

* << Fim da inclusão

    ENDCASE.

  ENDIF.

  CLEAR okcode.

ENDMODULE.

MODULE user_command_0002 INPUT.

  CASE okcode.

    WHEN 'ENTER'.

      PERFORM trata_enter_0002.

    WHEN 'CANCEL' .

      LEAVE TO SCREEN 0.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI017

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 281

 

Texto: (35 caracteres)

"Deseja continuar com o recebimento?"

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 282

 

Texto: (53 caracteres)

"Valor da variação cambial é superior ao das despesas."

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 283

 

Texto: (52 caracteres)

"Revisão de fatura não será gerada! Deseja continuar?"

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 281

 

Texto: (36 caracteres)

"Want to continue with the receiving?"

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 281

 

Texto: (30 caracteres)

"Desea continuar con el recibo?"

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 282

 

Texto: (58 caracteres)

"Value of the exchange variance is higher than expenditure."

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 282

 

Texto: (50 caracteres)

"Valor de variación cambio es mayor que los gastos."

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 283

 

Texto: (47 caracteres)

"Review invoice will not be generated! Continue?"

 

Comprimento máximo: 100

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 283

 

Texto: (47 caracteres)

"Factura revisión no se genera! Desea continuar?"

 

Comprimento máximo: 100