CE PLUS - Nota 002292

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 20/10/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:15:18

Descrição da Nota: TRATAMENTO PARA CENTROS DIFERENTES NO EMBARQUE

Sintoma

Necessário tratamento para aceitar centros diferentes no embarque

 

 

Solução

Vincular Pedido/Item com Centros diferentes

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

CHAMADA DE EXIT NO EMBARQUE AO PROPOR ALIQUOTA DE IMPOSTOS .

AJUSTES CONSISTÊNCIAS ITENS NA DA, FECHAMENTO DE PASTAS

DA: Nº DO BL

TRATAMENTO PARA MOTIVO DE ESTORNO DA FB08 NA PREST.CONTAS DA

EXIT DE EVENTO NO EMBARQUE

APÓS A EMISSÃO DA NF, NÃO FOI POSSÍVEL FAZER O RECEBIMENTO.

AJUSTES FEITOS NA DA PARA TRATAMENTO DE CENTROS DIFERENTES

CONTROLE DE SALDO DA DA POR LOTE

Informações Complementares

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

Nota Número 02292 Data: 20/10/2006 Hora: 21:48:54

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

 

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

Nota Número              : 02292

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00136

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

Referência às notas relacionadas:

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

 

01323  - 00001 - 6.0    - 00023  - DECLARAÇÃO DE ADMISSÃO PARA ENTREPOSTO ADUANEIRO

01468  - 00002 - 6.0    - 00023  - CONTROLE DE SALDO DA DA POR LOTE

01603  - 00003 - 6.0    - 00023  - APÓS A EMISSÃO DA NF, NÃO FOI POSSÍVEL FAZER O RECEBIMENTO.

01806  - 00004 - 6.0    - 00024  - DA: Nº DO BL

01987  - 00005 - 6.0    - 00024  - CHAMADA DE EXIT NO EMBARQUE AO PROPOR ALIQUOTA DE IMPOSTOS .

02021  - 00006 - 6.0    - 00024  - EXIT DE EVENTO NO EMBARQUE

02122  - 00007 - 6.0    - 00024  - AJUSTES CONSISTÊNCIAS ITENS NA DA, FECHAMENTO DE PASTAS

02202  - 00008 - 6.0    - 00025  - TRATAMENTO PARA MOTIVO DE ESTORNO DA FB08 NA PREST.CONTAS DA

02291  - 00009 - 6.0    - 00025  - AJUSTES FEITOS NA DA PARA TRATAMENTO DE CENTROS DIFERENTES

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

TRATAMENTO PARA CENTROS DIFERENTES NO EMBARQUE

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

Palavras Chave:

EMBARQUE DA - CENTROS DIFERENTES

ALTERAÇÃO PEDIDO DE COMPRA

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

Objetos da nota:

CUAD /PWS/SAPMZYCI001

DYNP /PWS/SAPMZYCI001                        0003

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F02

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001TOP

REPS /PWS/MZYCI001X01

REPS /PWS/SAPMZYCI001

REPT /PWS/SAPMZYCI001

SHLD /PWS/ZYCIA650

TABL /PWS/ZYCIT467

 

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

 

Modificações efetuadas em CUAD /PWS/SAPMZYCI001

 

 

*Teclas de função CI - Processo de Embarque - Tela Principal

*Foi inserido o seguinte PF-STATUS entre o botão de NF E RECEBIMENTO.

Code de objeto       Code Item Tecla de função                Código de função     Id   Exibição

Texto de ícones

ÍCONE ICON_ALLOW

 

000004               0001 07   Shift-Ctrl                     CUSTO_DA

STATUS: custo_da

 

 

TEXTO BREVE: Gravar custos DA

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI001                        0111

 

 

PROCESS BEFORE OUTPUT.

 

  MODULE:

          set_screen,

          atualiza_posicao,

          calcula_saldo_da.

 

  LOOP AT itab_zycit003 WITH CONTROL tc_da CURSOR tc_da-current_line.

 

    MODULE :  set_screen_table,

              carrega_estrutura.

 

  ENDLOOP.

 

 

PROCESS AFTER INPUT.

  LOOP AT itab_zycit003.

    CHAIN.

      FIELD /pws/zycie003-qtd_iten MODULE consiste_sld_da

            ON REQUEST.

 

    ENDCHAIN.

 

    MODULE carrega_itab.

 

  ENDLOOP.

*>> Inicio Inclusão

  MODULE user_command_0102.

*>>Fim Inclusão

 

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI001                        0003

 

*Diferenças na lista de elementos

 

*O seguintes elementos foram inseridos:

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

 

 - %#AUTOTEXT002

      Texto      1        9       6       7       1     CHAR

      Título de coluna TC

 - ITAB_DA-WERKS

      I/O        1        9       7       7       1     CHAR                   Off

      Botão EntrsPoss.stand., Elem.TC

      Ajuda pesquisa=/PWS/ZYCIA650

 

 

*O seguintes elementos foram modificados:

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

*DE:

 

+  TC_SELDA

      Tabel      3        2     104     104      17

      Seleção linha=Nenh., Seleção coluna=Simples

      TabEntr., Com título, Configurável, LSep.horiz., LnhSep.vert.

 

*PARA:

 

+  TC_SELDA

      Tabel      3        2     116     116      17

      Seleção linha=Nenh., Seleção coluna=Simples

      TabEntr., Com título, Configurável, LSep.horiz., LnhSep.vert.

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM grava_tabelas.

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

  DATA: wa_zycit467 TYPE /pws/zycit467,

        wa_zycit463 TYPE /pws/zycit463.

* << Fim da inclusão

  DATA:  v_lino   TYPE i,

         v_existe VALUE 'N',

         v_exit,

         v_msg(30).

  CLEAR: v_exit, v_sair.

...

 

...

      MOVE-CORRESPONDING itab_zycit003 TO /pws/zycit013.

      MODIFY /pws/zycit013.

    ENDIF.

  ENDLOOP.

  MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

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

  LOOP AT itab_zycit467_del.

      SELECT SINGLE * FROM /pws/zycit463 INTO wa_zycit463

      WHERE nrseqda     = itab_zycit467_del-nrseqda

      AND   nrseqlote   = itab_zycit467_del-nrseqlote

      AND   ebeln       = itab_zycit467_del-ebeln

      AND   ebelp       = itab_zycit467_del-ebelp.

      IF sy-subrc EQ 0 .

        wa_zycit463-qtd_nac =

        wa_zycit463-qtd_nac - itab_zycit467_del-qtd_nac.

        MODIFY /pws/zycit463 FROM wa_zycit463.

      ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit467_del.

    DELETE FROM /pws/zycit467 WHERE nrseqda = itab_zycit467_del-nrseqda

                              AND   nrseq   = itab_zycit467_del-nrseq

                              AND   ebeln   = itab_zycit467_del-ebeln

                              AND   ebelp   = itab_zycit467_del-ebelp.

  ENDLOOP.

  IF /pws/zycie001-regime EQ '14' AND

     /pws/zycie001-tpdecl EQ 'DI'.

    IF itab_zycit467[] IS INITIAL.

      SELECT * FROM /pws/zycit467

       INTO TABLE itab_zycit467

       WHERE nrseq EQ /pws/zycie001-nrseq.

    ENDIF.

    LOOP AT itab_zycit467.

      READ TABLE itab_zycit003 WITH KEY

           nrseq   = itab_zycit467-nrseq

           ebeln   = itab_zycit467-ebeln

           itseqda = itab_zycit467-ebelp.

      IF sy-subrc EQ 0.

        itab_zycit467-ebelp_emb = itab_zycit003-ebelp.

        MODIFY itab_zycit467 .

      ENDIF.

    ENDLOOP.

    MODIFY /pws/zycit467 FROM TABLE itab_zycit467.

  ENDIF.

  CLEAR: itab_zycit467, itab_zycit467_del[].

  REFRESH: itab_zycit467, itab_zycit467_del[].

* << Fim da inclusão

  IF NOT v_sair IS INITIAL.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit003_aux2.

    CLEAR itab_zycit003.

...

 

...

  LOOP AT itab_zycit455_del.

    CLEAR v_tabix.

    SELECT COUNT( * )

           INTO v_tabix

           FROM /pws/zycit455

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

           WHERE nrseqda EQ itab_zycit455_del-nrseqda.

* << Fim da exclusão

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

           WHERE nrseqda EQ itab_zycit455_del-nrseqda

           AND   ebeln   EQ itab_zycit455_del-ebeln

           AND   ebelp   EQ itab_zycit455_del-ebelp.

* << Fim da inclusão

    IF v_tabix GT 1.

      DELETE FROM /pws/zycit455

                  WHERE nrseqda = itab_zycit455_del-nrseqda

                  AND   itseqda = itab_zycit455_del-itseqda

                  AND   nrseq   = itab_zycit455_del-nrseq

...

 

...

                  AND   nrseq   = itab_zycit455_del-nrseq

                  AND   ebeln   = itab_zycit455_del-ebeln

                  AND   ebelp   = itab_zycit455_del-ebelp.

    ENDIF.

  ENDLOOP.

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

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

    CLEAR /pws/zycit036.

    SELECT SINGLE *

           FROM  /pws/zycit036

           WHERE nrseq  EQ /pws/zycie001-nrseq

           AND   ( origem EQ 'PCD' OR

                   origem EQ 'DCD' ).

    IF NOT sy-subrc IS INITIAL.

      PERFORM gravar_custos.

    ENDIF.

  ENDIF.

* << Fim da exclusão

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

  LOOP AT itab_zycit036_del.

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

                              AND   ebeln = itab_zycit036_del-ebeln

                              AND   ebelp = itab_zycit036_del-ebelp.

  ENDLOOP.

  CLEAR itab_zycit036_del.

  REFRESH itab_zycit036_del.

* << Fim da inclusão

  CLEAR itab_zycit003_del. FREE itab_zycit003_del.

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

  CLEAR itab_zycit455_del.

  FREE  itab_zycit455_del.

* << Fim da inclusão

ENDFORM.

FORM busca_sequencial.

  DATA:

    v_nrseq   LIKE /pws/zycit001-nrseq,

    v_nrseq_ant LIKE /pws/zycit001-nrseq,

...

 

...

    ENDLOOP.

  ENDIF.

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

    PERFORM recuperando_itens_da.

  ENDIF.

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

  CLEAR   itab_zycit003_bapi.

  REFRESH itab_zycit003_bapi.

  itab_zycit003_bapi[] = itab_zycit003[].

* << Fim da inclusão

ENDFORM.

FORM selecionar_itens.

  DATA: itab_werks LIKE itab_zycit003 OCCURS 0 WITH HEADER LINE,

        itab_t001w LIKE t001w OCCURS 0 WITH HEADER LINE.

  DATA: v_nolin TYPE i VALUE IS INITIAL,

...

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

Modificações efetuadas em REPS /PWS/MZYCI001F02

...

  READ TABLE itab_zycit003_aux WITH KEY

                               ebeln    = itab_zycit003-ebeln

                               ebelp    = itab_zycit003-ebelp.

  IF sy-subrc = 0.

    MOVE sy-tabix TO v_tabix.

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

  ENDIF.

* << Fim da exclusão

  IF  itab_zycit003-menge NE itab_zycit003_aux-menge.

    IF itab_zycit003-menge > itab_zycit003_aux-menge.

      v_difpos = itab_zycit003-menge - itab_zycit003_aux-menge.

    ELSE.

      v_difneg = - itab_zycit003-menge + itab_zycit003_aux-menge.

...

 

...

      ENDIF.

      CLEAR itab_zycit003-qtd_iten.

      CLEAR okcode.

    ENDIF.

    itab_zycit003_aux-qtd_iten = itab_zycit003-qtd_iten.

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

    MODIFY itab_zycit003_aux INDEX sy-tabix.

* << Fim da exclusão

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

      MODIFY itab_zycit003_aux INDEX v_tabix.

    ENDIF.

* << Fim da inclusão

  ENDIF.

  PERFORM calc_saldo.

  v_valor_uebto = -1 * itab_zycit003-uebto * itab_zycit003-menge / 100.

  IF itab_zycit003-slqtde < 0 .

    IF ( NOT itab_zycit003-uebto IS INITIAL AND

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

...

  ENDIF.

ENDFORM.

FORM selecionar_da.

  CLEAR   itab_zycit467.

  REFRESH itab_zycit467.

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

  IF NOT itab_zycit003[] IS INITIAL.

    IF NOT so_nrseq IS INITIAL.

      LOOP AT itab_zycit003 WHERE

                            nrseqda NE so_nrseq+3.

      ENDLOOP.

      IF sy-subrc IS INITIAL.

        MESSAGE s015 WITH text-254.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR v_sair.

  LOOP AT itab_zycit003_del.

    SELECT SINGLE *

           FROM  /pws/zycit003

           WHERE nrseq EQ /pws/zycie001-nrseq

           AND   ebeln EQ itab_zycit003_del-ebeln

           AND   ebelp EQ itab_zycit003_del-ebelp.

    IF sy-subrc IS INITIAL.

      v_sair = 'X'.

    ENDIF.

  ENDLOOP.

  IF v_sair = 'X'.

    MESSAGE s015 WITH text-329.

    EXIT.

  ENDIF.

  CLEAR itab_zycit003_del.

  FREE  itab_zycit003_del.

* << Fim da inclusão

  IF /pws/zycie001-regime NE '14'.

    SELECT /pws/zycit442~nrseqda /pws/zycit442~nrdi /pws/zycit442~bukrs

           /pws/zycit442~dtdesemb  /pws/zycit443~ebeln

         /pws/zycit443~ebelp /pws/zycit443~matnr /pws/zycit443~qtd_iten

           /pws/zycit443~qtd_iten

...

 

...

        AND /pws/zycit442~nrdi    IN so_nrda

        AND /pws/zycit443~ebeln   IN so_beln

        AND /pws/zycit443~ebelp   IN so_belp

        AND /pws/zycit443~matnr   IN so_matn.

    LOOP AT itab_da.

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

      SELECT SINGLE qtd_da FROM /pws/zycit443 INTO itab_da-qtd_lote

* << Fim da exclusão

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

      SELECT SINGLE qtd_da INTO itab_da-qtd_lote

      FROM /pws/zycit443

* << Fim da inclusão

       WHERE nrseqda = itab_da-nrseqda AND

             ebeln = itab_da-ebeln AND

             ebelp = itab_da-ebelp.

      MODIFY itab_da.

    ENDLOOP.

...

 

...

                                /pws/zycit443~ebelp /pws/zycit443~matnr

                                                /pws/zycit463~nrseqlote

                                                /pws/zycit463~lote_forn

                         /pws/zycit463~numfatura /pws/zycit463~qtd_lote

                                                  /pws/zycit463~qtd_nac

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

                                  /pws/zycit443~werks

* << Fim da inclusão

                       FROM ( /pws/zycit442 INNER JOIN /pws/zycit460 ON

                          /pws/zycit442~nrseqda = /pws/zycit460~nrseqda

                                            INNER JOIN /pws/zycit443 ON

                          /pws/zycit442~nrseqda = /pws/zycit443~nrseqda

                                            INNER JOIN /pws/zycit463 ON

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

                       /pws/zycit463~nrseqda = /pws/zycit443~nrseqda  )

* << Fim da exclusão

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

                          /pws/zycit463~nrseqda = /pws/zycit443~nrseqda

                        AND /pws/zycit463~ebeln   = /pws/zycit443~ebeln

                      AND /pws/zycit463~ebelp   = /pws/zycit443~ebelp )

* << Fim da inclusão

                             INTO CORRESPONDING FIELDS OF TABLE itab_da

                                  WHERE /pws/zycit442~bukrs   EQ pa_buk

                                   AND /pws/zycit460~lifnr   IN so_lifn

                                  AND /pws/zycit442~nrseqda IN so_nrseq

                                   AND /pws/zycit442~nrdi    IN so_nrda

...

 

...

                                /pws/zycit443~ebelp /pws/zycit443~matnr

                                                /pws/zycit463~nrseqlote

                                                /pws/zycit463~lote_forn

                         /pws/zycit463~numfatura /pws/zycit463~qtd_lote

                                                  /pws/zycit463~qtd_nac

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

                                  /pws/zycit443~werks

* << Fim da inclusão

                       FROM ( /pws/zycit442 INNER JOIN /pws/zycit443 ON

                          /pws/zycit442~nrseqda = /pws/zycit443~nrseqda

                                            INNER JOIN /pws/zycit463 ON

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

                       /pws/zycit463~nrseqda = /pws/zycit443~nrseqda  )

* << Fim da exclusão

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

                          /pws/zycit463~nrseqda = /pws/zycit443~nrseqda

                        AND /pws/zycit463~ebeln   = /pws/zycit443~ebeln

                      AND /pws/zycit463~ebelp   = /pws/zycit443~ebelp )

* << Fim da inclusão

                             INTO CORRESPONDING FIELDS OF TABLE itab_da

                                  WHERE /pws/zycit442~bukrs   EQ pa_buk

                                  AND /pws/zycit442~nrseqda IN so_nrseq

                                   AND /pws/zycit442~nrdi    IN so_nrda

                                   AND /pws/zycit443~ebeln   IN so_beln

...

 

...

          nrseqda ebeln ebelp matnr lote_forn.

  IF NOT itab_da[] IS INITIAL.

    MOVE itab_da[] TO itab_da_aux[].

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

      LOOP AT itab_da.

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

        v_tabix = sy-tabix.

        CLEAR ekpo.

        SELECT SINGLE *

               FROM  ekpo

               WHERE ebeln EQ itab_da-ebeln

               AND   ebelp EQ itab_da-ebelp.

        IF NOT ekpo-loekz IS INITIAL.

          DELETE itab_da INDEX v_tabix.

          CONTINUE.

        ENDIF.

* << Fim da inclusão

        IF itab_da-qtd_lote IS INITIAL.

          DELETE itab_da.

        ELSEIF itab_da-qtd_nac GE itab_da-qtd_lote AND

           NOT itab_da-qtd_nac IS INITIAL .

          DELETE itab_da .

...

 

...

          DELETE itab_zycit125 INDEX v_tabix.

          CLEAR itab_zycit125.

        ENDIF.

      ENDLOOP.

    WHEN 'FC_DA'.

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

      PERFORM verifica_despesa_da.

      IF v_custo = 'X'.

        MESSAGE i015 WITH text-331 text-332 .

        EXIT.

      ENDIF.

* << Fim da inclusão

      LOOP AT itab_zycit003 WHERE mark = 'X'.

        LOOP AT itab_zycit460 WHERE nrseqda EQ itab_zycit003-nrseqda.

          v_tabix = sy-tabix.

          DELETE itab_zycit125 WHERE lifnr EQ itab_zycit460-lifnr

                               AND   tipo  EQ itab_zycit460-tipo.

...

 

...

      ENDIF.

      LOOP AT it_zycit270.

        INSERT INTO /pws/zycit270 VALUES it_zycit270.

      ENDLOOP.

      COMMIT WORK AND WAIT.

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

      CLEAR   itab_zycit467_del.

      REFRESH itab_zycit467_del.

* << Fim da inclusão

      LOOP AT itab_zycit003 WHERE mark = 'X'.

        IF itab_zycit003-nrseqli IS INITIAL AND

           itab_zycit003-nrseqlsi IS INITIAL.

          CLEAR v_tabix.

          v_tabix = sy-tabix.

...

 

...

            MESSAGE w015 WITH text-246.

            EXIT.

          ENDIF.

          MOVE:itab_zycit003-ebeln    TO itab_zycit003_del-ebeln,

               itab_zycit003-ebelp    TO itab_zycit003_del-ebelp,

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

               itab_zycit003-qtd_iten TO itab_zycit003_del-qtd_iten.

* << Fim da exclusão

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

               itab_zycit003-qtd_iten TO itab_zycit003_del-qtd_iten,

               itab_zycit003-werks    TO itab_zycit003_del-werks,

               itab_zycit003-itseqda  TO itab_zycit003_del-itseqda.

* << Fim da inclusão

          APPEND itab_zycit003_del.

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

            MOVE:itab_zycit003-ebeln    TO itab_zycit036_del-ebeln,

                 itab_zycit003-ebelp    TO itab_zycit036_del-ebelp,

                 itab_zycit003-nrseq    TO itab_zycit036_del-nrseq.

            APPEND itab_zycit036_del.

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

            IF NOT itab_zycit003-itseqda IS INITIAL.

              READ TABLE itab_zycit455 WITH KEY

                                       nrseqda = itab_zycit003-nrseqda

                                       nrseq   = itab_zycit003-nrseq

                                       ebeln   = itab_zycit003-ebeln

                                       ebelp   = itab_zycit003-itseqda.

              itab_zycit455_del-ebelp = itab_zycit003-itseqda.

            ELSE.

* << Fim da inclusão

            READ TABLE itab_zycit455 WITH KEY

                                     nrseqda = itab_zycit003-nrseqda

                                     nrseq   = itab_zycit003-nrseq

                                     ebeln   = itab_zycit003-ebeln

                                     ebelp   = itab_zycit003-ebelp.

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

              itab_zycit455_del-ebelp = itab_zycit003-ebelp.

            ENDIF.

* << Fim da inclusão

            MOVE:itab_zycit003-ebeln    TO itab_zycit455_del-ebeln,

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

                 itab_zycit003-ebelp    TO itab_zycit455_del-ebelp,

* << Fim da exclusão

                 itab_zycit003-nrseq    TO itab_zycit455_del-nrseq,

                 itab_zycit455-itseqda  TO itab_zycit455_del-itseqda,

                 itab_zycit003-nrseqda  TO itab_zycit455_del-nrseqda.

            APPEND itab_zycit455_del.

          ENDIF.

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

          MOVE:itab_zycit003-nrseqda    TO itab_zycit467_del-nrseqda,

               itab_zycit003-nrseq      TO itab_zycit467_del-nrseq  ,

               itab_zycit003-ebeln      TO itab_zycit467_del-ebeln  ,

               itab_zycit003-ebelp      TO itab_zycit467_del-ebelp  .

          APPEND itab_zycit467_del.

* << Fim da exclusão

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

          SELECT *

                 APPENDING TABLE itab_zycit467_del

                 FROM  /pws/zycit467

                 WHERE nrseqda    = itab_zycit003-nrseqda

                 AND   nrseq      = itab_zycit003-nrseq

                 AND   ebeln      = itab_zycit003-ebeln

                 AND   ebelp      = itab_zycit003-ebelp.

* << Fim da inclusão

          DELETE itab_da_aux WHERE nrseqda EQ itab_zycit003-nrseqda

                             AND   ebeln   EQ itab_zycit003-ebeln

                             AND   ebelp   EQ itab_zycit003-ebelp.

          DELETE itab_zycit003 INDEX v_tabix.

          CLEAR itab_zycit003.

...

 

...

      READ TABLE itab_zycit003 INDEX 1.

      SELECT SINGLE * FROM /pws/zycit442

        WHERE nrseqda EQ itab_zycit003-nrseqda.

    ELSE.

      SELECT SINGLE * FROM /pws/zycit455

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

         WHERE nrseq EQ /pws/zycie001-nrseq.

* << Fim da exclusão

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

         WHERE nrseqda EQ /pws/zycit442-nrseqda.

* << Fim da inclusão

      SELECT SINGLE * FROM /pws/zycit442

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

        WHERE nrseqda EQ /pws/zycit455-nrseqda.

* << Fim da exclusão

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

        WHERE nrseqda EQ /pws/zycit442-nrseqda.

* << Fim da inclusão

    ENDIF.

    SELECT * FROM /pws/zycit443

      INTO TABLE itab_zycit443_aux

      FOR ALL ENTRIES IN itab_zycit003

      WHERE ebeln EQ itab_zycit003-ebeln

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

      AND   ebelp EQ itab_zycit003-ebelp.

* << Fim da exclusão

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

      AND   ebelp EQ itab_zycit003-itseqda.

* << Fim da inclusão

    PERFORM calcula_saldo_da.

    DELETE itab_zycit443_aux WHERE nrseqda NE /pws/zycit455-nrseqda.

    LOOP AT itab_zycit003.

      PERFORM load_pttext USING itab_zycit003-matnr

                           sy-langu.

...

 

...

       /pws/zycie001-regime EQ '16'.

      IF NOT itab_zycit443[] IS INITIAL.

        SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo

        FOR ALL ENTRIES IN itab_zycit443

         WHERE ebeln EQ itab_zycit443-ebeln

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

         AND   ebelp EQ itab_zycit443-ebelp.

* << Fim da exclusão

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

     AND    ebelp   EQ itab_zycit443-ebelp .

* << Fim da inclusão

        IF sy-subrc EQ 0.

          SELECT nrseq  regime FROM /pws/zycit001

           INTO TABLE itab_zycit001_saldo

          FOR ALL ENTRIES IN itab_zycit003_saldo

          WHERE nrseq  EQ itab_zycit003_saldo-nrseq

...

 

...

            DELETE itab_zycit003_saldo

              WHERE nrseq EQ itab_zycit001_saldo-nrseq.

          ENDLOOP.

        ENDIF.

        CLEAR v_qtdutil_da.

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

        LOOP AT itab_zycit003_saldo.

* << Fim da exclusão

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

        LOOP AT itab_zycit003_saldo

          WHERE  ebeln = itab_zycit003-ebeln

          AND    ebelp = itab_zycit003-ebelp.

* << Fim da inclusão

          IF itab_zycit003_saldo-nrseq NE /pws/zycie001-nrseq.

            v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten .

          ENDIF.

        ENDLOOP.

        READ TABLE itab_zycit443 WITH KEY

...

 

...

  MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.

  REFRESH itab_zycit003_aux.

  MOVE itab_zycit003[] TO itab_zycit003_aux[].

ENDFORM.

FORM selecionar_itens_da.

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

  DATA: itab_werks LIKE itab_zycit003 OCCURS 0 WITH HEADER LINE,

* << Fim da exclusão

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

  DATA:

        itab_werks LIKE itab_da OCCURS 0 WITH HEADER LINE,

* << Fim da inclusão

        itab_t001w LIKE t001w OCCURS 0 WITH HEADER LINE.

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

  CLEAR v_prod_dif.

* << Fim da inclusão

  CLEAR  : /pws/zycie001-netpr.

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

  IF v_caller EQ 'SELECIONAR_RC'.

    LOOP AT itab_da WHERE rc EQ 'X'.

      MOVE itab_da TO itab_werks .

      APPEND itab_werks.

    ENDLOOP.

  ELSE.

    IF v_line GT '1'.

      LOOP AT itab_da WHERE qtd_nac NE space.

        MOVE itab_da TO itab_werks .

        APPEND itab_werks.

      ENDLOOP.

    ENDIF.

  ENDIF.

  CALL FUNCTION 'CHECK_BUKRS_ML_PRODUCTIVE'

       EXPORTING

            i_bukrs          = /pws/zycie001-bukrs

       IMPORTING

            e_all_productive = v_werks_prod.

  IF     v_werks_prod  IS INITIAL AND

     NOT itab_da-werks IS INITIAL.

    MOVE: itab_da-werks TO v_werks.

    LOOP AT itab_da WHERE werks NE v_werks

                    AND   werks NE space

                    AND   NOT qtd_nac IS initial.

    ENDLOOP.

    IF sy-subrc EQ 0.

      v_prod_dif = 'X'.

    ENDIF.

    IF NOT itab_werks[] IS INITIAL.

      LOOP AT itab_da WHERE werks NE v_werks

                      AND   werks NE space

                      AND   NOT qtd_nac IS initial.

      ENDLOOP.

      IF sy-subrc EQ 0.

        v_prod_dif = 'X'.

      ENDIF.

    ENDIF.

    LOOP AT itab_zycit003 WHERE werks NE v_werks

                          AND   werks NE space.

    ENDLOOP.

    IF sy-subrc EQ 0.

      v_prod_dif = 'X'.

    ENDIF.

    IF NOT itab_werks[] IS INITIAL.

      LOOP AT itab_zycit003 WHERE werks NE v_werks

                            AND   werks NE space.

      ENDLOOP.

      IF sy-subrc EQ 0.

        v_prod_dif = 'X'.

      ENDIF.

    ENDIF.

  ENDIF.

  IF v_prod_dif = 'X'.

    MESSAGE i015 WITH text-198 text-199.

    EXIT.

  ENDIF.

  CLEAR v_prod_dif.

  LOOP AT itab_da.

    CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT013'

         EXPORTING

              mandt          = sy-mandt

              ebeln          = itab_da-ebeln

              ebelp          = itab_da-ebelp

         EXCEPTIONS

              foreign_lock   = 1

              system_failure = 2.

    IF sy-subrc <> 0.

      v_prod_dif = 'X' .

    ENDIF.

  ENDLOOP.

  LOOP AT itab_da.

    CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT013'

         EXPORTING

              mandt = sy-mandt

              ebeln = itab_da-ebeln

              ebelp = itab_da-ebelp.

  ENDLOOP.

  IF v_prod_dif = 'X'.

    CLEAR v_prod_dif.

    MESSAGE i015 WITH text-327 text-328 itab_da-ebeln.

    EXIT.

  ENDIF.

* << Fim da inclusão

  IF v_caller EQ 'SELECIONAR_RC'.

    DELETE itab_da WHERE rc NE 'X'.

  ELSE.

    IF v_line GT '1'.

      DELETE itab_da WHERE qtd_nac IS initial.

...

 

...

        MOVE : itab_da-nrseqda     TO itab_zycit467-nrseqda  ,

               itab_da-nrseqlote   TO itab_zycit467-nrseqlote,

               itab_da-ebeln       TO itab_zycit467-ebeln    ,

               itab_da-ebelp       TO itab_zycit467-ebelp    ,

               /pws/zycie001-nrseq TO itab_zycit467-nrseq    ,

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

               itab_da-qtd_nac     TO itab_zycit467-qtd_nac  .

* << Fim da exclusão

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

               itab_da-qtd_nac     TO itab_zycit467-qtd_nac  ,

               itab_da-ebelp       TO itab_zycit467-ebelp_emb.

* << Fim da inclusão

        APPEND itab_zycit467.

      ENDIF.

    ENDLOOP.

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

      CLEAR   itab_zycit460.

...

 

...

    ENDIF.

  ENDIF.

  IF itab_zycit443[] IS INITIAL.

    MESSAGE s015 WITH text-259 text-264.

    EXIT.

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

  ENDIF.

  CLEAR v_centro_dif.

  LOOP AT itab_da.

    CLEAR itab_zycit443.

    READ TABLE itab_zycit443 WITH KEY

                             ebeln = itab_da-ebeln

                             ebelp = itab_da-ebelp.

    IF sy-subrc IS INITIAL.

      IF itab_da-werks IS INITIAL.

        itab_da-werks = itab_zycit443-werks.

      ELSE.

        IF itab_da-werks NE itab_zycit443-werks.

          v_centro_dif = c_sim.

        ENDIF.

* << Fim da inclusão

  ENDIF.

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

    ENDIF.

  ENDLOOP.

  IF v_centro_dif EQ c_sim.

    PERFORM move_itens_centros_diferentes.

  ELSE.

* << Fim da inclusão

  LOOP AT itab_zycit443.

    READ TABLE itab_nac WITH KEY ebeln = itab_zycit443-ebeln

                                 ebelp = itab_zycit443-ebelp.

    IF sy-subrc = 0.

      MOVE:

...

 

...

         itab_zycit443-qtd_da - itab_zycit443-qtd_util -

         itab_zycit443-qtd_iten.

      APPEND itab_zycit003.

    ENDIF.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

  CLEAR   itab_nac.

  REFRESH itab_nac.

  MOVE itab_da[] TO itab_da_aux[].

  CLEAR itab_da. REFRESH itab_da.

  LOOP AT itab_da_aux.

    DELETE itab_zycit467_del WHERE nrseqda EQ itab_da_aux-nrseqda

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

                             AND   ebeln   EQ itab_zycit003-ebeln

                             AND   ebelp   EQ itab_zycit003-ebelp.

* << Fim da exclusão

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

                             AND   nrseqlote EQ itab_da_aux-nrseqlote

                             AND   nrseq     EQ /pws/zycie001-nrseq

                             AND   ebeln     EQ itab_da_aux-ebeln

                             AND   ebelp     EQ itab_da_aux-ebelp.

* << Fim da inclusão

  ENDLOOP.

  READ TABLE itab_zycit003 INDEX 1 .

  MOVE: itab_zycit003-lifnr TO v_lifnr,

        itab_zycit003-waers TO v_waers,

        itab_zycit003-waers TO /pws/zycie000-waers,

        itab_zycit003-lifnr TO /pws/zycie000-lifnr.

  LOOP AT itab_zycit003 WHERE waers NE v_waers.

    v_waers_diferente = 'X'.

  ENDLOOP.

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

  CLEAR v_werks_prod.

  MOVE itab_zycit003[] TO itab_werks[].

* << Fim da exclusão

  CALL FUNCTION 'CHECK_BUKRS_ML_PRODUCTIVE'

       EXPORTING

            i_bukrs          = /pws/zycie001-bukrs

       IMPORTING

            e_all_productive = v_werks_prod.

  IF v_werks_prod IS INITIAL.

    MOVE: itab_zycit003-werks TO v_werks.

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

    LOOP AT itab_zycit003 WHERE werks NE v_werks.

* << Fim da exclusão

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

    LOOP AT itab_zycit003 WHERE werks NE v_werks

                          AND   werks NE space.

* << Fim da inclusão

    ENDLOOP.

    IF sy-subrc EQ 0.

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

      MESSAGE e015 WITH text-198 text-199.

* << Fim da exclusão

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

      v_prod_dif = 'X'.

* << Fim da inclusão

    ENDIF.

    IF NOT itab_werks[] IS INITIAL.

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

      LOOP AT itab_zycit003 WHERE werks NE v_werks.

* << Fim da exclusão

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

      LOOP AT itab_zycit003 WHERE werks NE v_werks

                            AND   werks NE space.

* << Fim da inclusão

      ENDLOOP.

      IF sy-subrc EQ 0.

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

        MESSAGE e015 WITH text-198 text-199.

* << Fim da exclusão

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

        v_prod_dif = 'X'.

      ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDIF.

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

  IF v_prod_dif = 'X'.

    MESSAGE i015 WITH text-198 text-199.

    EXIT.

* << Fim da inclusão

  ENDIF.

  IF NOT t001-land1 EQ 'CL' AND NOT t001-land1 EQ 'AR'.

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT * FROM t001w INTO TABLE itab_t001w

          FOR ALL ENTRIES IN itab_zycit003

...

 

...

FORM user_command_0003.

  CASE sy-ucomm.

    WHEN 'ENTER'.

      PERFORM:

               selecionar_itens_da.

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

      IF v_prod_dif NE 'X'.

* << Fim da inclusão

      LEAVE TO SCREEN 0.

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

      ENDIF.

* << Fim da inclusão

    WHEN 'CANCEL'.

...

 

...

  DELETE itab_zycit443_saldo WHERE nrseqda NE /pws/zycit442-nrseqda.

  IF NOT itab_zycit443[] IS INITIAL.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo

    FOR ALL ENTRIES IN itab_zycit443

     WHERE ebeln EQ itab_zycit443-ebeln

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

     AND   ebelp EQ itab_zycit443-ebelp.

* << Fim da exclusão

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

     AND   ebelp   EQ itab_zycit443-ebelp .

* << Fim da inclusão

    IF sy-subrc EQ 0.

      SELECT nrseq  regime FROM /pws/zycit001

       INTO TABLE itab_zycit001_saldo

      FOR ALL ENTRIES IN itab_zycit003_saldo

      WHERE nrseq  EQ itab_zycit003_saldo-nrseq

...

 

...

    ENDIF.

    LOOP AT itab_zycit443.

      CLEAR v_qtdutil_da.

      v_index = sy-tabix.

      LOOP AT itab_zycit003_saldo WHERE ebeln EQ itab_zycit443-ebeln

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

                                  AND   ebelp EQ itab_zycit443-ebelp.

* << Fim da exclusão

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

                             AND    ebelp   EQ itab_zycit443-ebelp .

* << Fim da inclusão

        IF itab_zycit003_saldo-nrseq NE /pws/zycie001-nrseq.

          v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten.

        ENDIF.

      ENDLOOP.

      itab_zycit443-qtd_util = v_qtdutil_da.

...

 

...

  IF NOT itab_zycit467_del[] IS INITIAL.

    SELECT * FROM /pws/zycit467 INTO TABLE itab_zycit467_aux

    FOR ALL ENTRIES IN itab_zycit467_del

    WHERE nrseqda   EQ itab_zycit467_del-nrseqda

    AND   nrseq     EQ itab_zycit467_del-nrseq

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

    AND   ebeln     EQ itab_zycit467_del-ebeln

    AND   ebelp     EQ itab_zycit467_del-ebelp.

* << Fim da exclusão

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

    AND   ebeln     EQ itab_zycit467_del-ebeln.

* << Fim da inclusão

    IF NOT itab_zycit467_aux[] IS INITIAL.

      SELECT * FROM /pws/zycit463 INTO TABLE itab_zycit463

      FOR ALL ENTRIES IN itab_zycit467_aux

      WHERE nrseqda   EQ itab_zycit467_aux-nrseqda

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

      AND   nrseqlote EQ itab_zycit467_aux-nrseqlote.

* << Fim da exclusão

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

      AND   nrseqlote EQ itab_zycit467_aux-nrseqlote

      AND   ebeln     EQ itab_zycit467_aux-ebeln

      AND   ebelp     EQ itab_zycit467_aux-ebelp.

* << Fim da inclusão

    ENDIF.

    LOOP AT itab_zycit467_aux.

      READ TABLE itab_zycit463 WITH KEY

           nrseqda   = itab_zycit467_aux-nrseqda

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

           nrseqlote = itab_zycit467_aux-nrseqlote.

* << Fim da exclusão

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

           nrseqlote = itab_zycit467_aux-nrseqlote

           ebeln     = itab_zycit467_aux-ebeln

           ebelp     = itab_zycit467_aux-ebelp.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        CLEAR v_qtdutil_da.

        v_qtdutil_da = itab_zycit463-qtd_nac -

         itab_zycit467_aux-qtd_nac             .

        UPDATE /pws/zycit463 SET qtd_nac = v_qtdutil_da

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

               WHERE nrseqda    = itab_zycit467_aux-nrseqda

               AND   nrseqlote  = itab_zycit467_aux-nrseqlote.

* << Fim da exclusão

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

                WHERE nrseqda   = itab_zycit467_aux-nrseqda

                AND   nrseqlote = itab_zycit467_aux-nrseqlote

                AND   ebeln     = itab_zycit467_aux-ebeln

                AND   ebelp     = itab_zycit467_aux-ebelp.

* << Fim da inclusão

      ENDIF.

      DELETE FROM /pws/zycit467

             WHERE nrseqda   = itab_zycit467_aux-nrseqda

             AND   nrseqlote = itab_zycit467_aux-nrseqlote

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

             AND   nrseq     = itab_zycit467_aux-nrseq.

* << Fim da exclusão

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

             AND   nrseq     = itab_zycit467_aux-nrseq

             AND   ebeln     = itab_zycit467_aux-ebeln

             AND   ebelp     = itab_zycit467_aux-ebelp.

* << Fim da inclusão

    ENDLOOP.

  ENDIF.

  CLEAR  :  itab_zycit467_del, itab_zycit463.

  REFRESH:  itab_zycit467_del, itab_zycit463.

  IF NOT itab_zycit003[] IS INITIAL.

    IF NOT itab_da_aux[] IS INITIAL.

      SELECT * FROM /pws/zycit463 INTO TABLE itab_zycit463

      FOR ALL ENTRIES IN itab_da_aux

      WHERE nrseqda   EQ itab_da_aux-nrseqda

      AND   nrseqlote EQ itab_da_aux-nrseqlote

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

      AND   ebeln     EQ itab_da_aux-ebeln

      AND   ebelp     EQ itab_da_aux-ebelp

* << Fim da inclusão

      AND   matnr     EQ itab_da_aux-matnr

      AND   lote_forn EQ itab_da_aux-lote_forn.

    ENDIF.

    LOOP AT itab_da_aux.

      READ TABLE itab_zycit463 WITH KEY

         nrseqda   = itab_da_aux-nrseqda

         nrseqlote = itab_da_aux-nrseqlote

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

         ebeln     = itab_da_aux-ebeln

         ebelp     = itab_da_aux-ebelp

* << Fim da inclusão

         matnr     = itab_da_aux-matnr

         lote_forn = itab_da_aux-lote_forn.

      IF sy-subrc EQ 0.

        CLEAR v_qtdutil_da.

        v_qtdutil_da = itab_zycit463-qtd_nac +

        itab_da_aux-qtd_nac             .

      ENDIF.

      UPDATE /pws/zycit463 SET qtd_nac = v_qtdutil_da

                      WHERE nrseqda    = itab_da_aux-nrseqda

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

                      AND   nrseqlote  = itab_da_aux-nrseqlote

                      AND   ebeln      = itab_da_aux-ebeln

                      AND   ebelp      = itab_da_aux-ebelp

* << Fim da inclusão

                      AND   lote_forn  = itab_da_aux-lote_forn.

    ENDLOOP.

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

    DESCRIBE TABLE itab_zycit455.

    IF NOT sy-tfill IS INITIAL.

      READ TABLE itab_zycit455 INDEX sy-tfill.

    ENDIF.

* << Fim da exclusão

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

    LOOP AT itab_zycit003.

      CLEAR itab_zycit455.

      READ TABLE itab_zycit455 WITH KEY nrseqda = itab_zycit003-nrseqda

                                        ebeln   = itab_zycit003-ebeln

                                        ebelp   = itab_zycit003-ebelp.

* << Fim da inclusão

    IF sy-subrc IS INITIAL.

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

        IF itab_zycit455-nrseq IS INITIAL.

          UPDATE /pws/zycit455 SET   nrseq   = itab_zycit003-nrseq

                               WHERE nrseqda = /pws/zycit455-nrseqda

                               AND   itseqda = itab_zycit455-itseqda.

        ELSE.

          IF itab_zycit455-nrseq NE /pws/zycie001-nrseq.

            READ TABLE itab_zycit455 INTO wa_zycit455

                 WITH KEY nrseqda = itab_zycit003-nrseqda

                          nrseq   = /pws/zycie001-nrseq

                          ebeln   = itab_zycit003-ebeln

                          ebelp   = itab_zycit003-ebelp.

            IF NOT sy-subrc IS INITIAL.

              itab_zycit455-itseqda = itab_zycit455-itseqda + 1.

              itab_zycit455-nrseq   = /pws/zycie001-nrseq.

              INSERT /pws/zycit455 FROM itab_zycit455.

              WHILE sy-subrc NE 0.

                itab_zycit455-itseqda = itab_zycit455-itseqda + 1.

                itab_zycit455-nrseq   = /pws/zycie001-nrseq.

                INSERT /pws/zycit455 FROM itab_zycit455.

              ENDWHILE.

              APPEND itab_zycit455.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSE.

      READ TABLE itab_zycit455 WITH KEY nrseqda = itab_zycit003-nrseqda

                                          ebeln   = itab_zycit003-ebeln

                                        ebelp   = itab_zycit003-itseqda.

        IF sy-subrc EQ 0.

* << Fim da inclusão

      IF itab_zycit455-nrseq IS INITIAL.

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

        UPDATE /pws/zycit455 SET   nrseq   = /pws/zycie001-nrseq

                             WHERE nrseqda = /pws/zycit442-nrseqda

* << Fim da exclusão

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

            UPDATE /pws/zycit455 SET   nrseq   = itab_zycit003-nrseq

                                 WHERE nrseqda = /pws/zycit455-nrseqda

* << Fim da inclusão

                             AND   itseqda = itab_zycit455-itseqda.

      ELSE.

        IF itab_zycit455-nrseq NE /pws/zycie001-nrseq.

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

              READ TABLE itab_zycit455 INTO wa_zycit455

                   WITH KEY nrseqda = itab_zycit003-nrseqda

                            nrseq   = /pws/zycie001-nrseq

                            ebeln   = itab_zycit003-ebeln

                            ebelp   =  itab_zycit003-itseqda.

              IF NOT sy-subrc IS INITIAL.

                itab_zycit455-itseqda = itab_zycit455-itseqda + 1.

                itab_zycit455-nrseq   = /pws/zycie001-nrseq.

                INSERT /pws/zycit455 FROM itab_zycit455.

                WHILE sy-subrc NE 0.

* << Fim da inclusão

          itab_zycit455-itseqda = itab_zycit455-itseqda + 1.

          itab_zycit455-nrseq   = /pws/zycie001-nrseq.

          INSERT /pws/zycit455 FROM itab_zycit455.

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

                ENDWHILE.

                APPEND itab_zycit455.

              ENDIF.

            ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

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

    ENDLOOP.

* << Fim da inclusão

  ENDIF.

  MODIFY /pws/zycit467 FROM TABLE itab_zycit467[].

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

    IF itab_zycit125[] IS INITIAL.

      itab_zycit125[] = itab_zycit460[].

...

 

...

  ENDIF.

ENDFORM.

FORM gravar_custos.

  CLEAR   : itab_zycit003_saldo.

  REFRESH : itab_zycit003_saldo.

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

  DATA: v_tot_da TYPE /pws/zycit443-qtd_da.

  PERFORM grava_tabelas.

* << Fim da inclusão

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

  LOOP AT itab_zycit036_del.

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

                              AND   ebeln = itab_zycit036_del-ebeln

                              AND   ebelp = itab_zycit036_del-ebelp.

  ENDLOOP.

  CLEAR itab_zycit036_del.

  REFRESH itab_zycit036_del.

* << Fim da exclusão

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT SINGLE land1 FROM t001 INTO t001-land1

             WHERE bukrs EQ /pws/zycie001-bukrs.

    SELECT SINGLE * FROM j_1bbranch

        WHERE bukrs  = /pws/zycie001-bukrs AND

...

 

...

     WHERE  land1 EQ t001-land1.

    READ TABLE itab_zycit003 INDEX 1.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo

      WHERE nrseqda EQ itab_zycit003-nrseqda.

    DELETE itab_zycit003_saldo WHERE nrseq EQ /pws/zycie001-nrseq.

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

    IF NOT itab_zycit003_saldo[] IS INITIAL.

      SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036_aux

       FOR ALL ENTRIES IN itab_zycit003_saldo

       WHERE nrseq EQ itab_zycit003_saldo-nrseq.

    ENDIF.

* << Fim da exclusão

    SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseqda EQ itab_zycit003-nrseqda.

    SELECT * FROM /pws/zycit459 INTO TABLE itab_zycit459

        FOR ALL ENTRIES IN itab_zycit003

...

 

...

                    itab_zycit003_saldo-qtd_iten.

                ENDIF.

              ENDIF.

            ENDIF.

          ENDLOOP.

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

        ENDIF.

        IF NOT sy-subrc IS INITIAL.

          IF NOT itab_zycit003-itseqda IS INITIAL.

            LOOP AT itab_zycit003_saldo

                    WHERE ebeln EQ itab_zycit003-ebeln

                    AND   ebelp EQ itab_zycit003-itseqda.

              READ TABLE itab_zycit036_aux WITH KEY

                         ebeln = itab_zycit003_saldo-ebeln

                         ebelp = itab_zycit003_saldo-ebelp

                         nrseq = itab_zycit003_saldo-nrseq.

              IF sy-subrc IS INITIAL.

                IF  itab_zycit036_aux-dtuserc LE itab_zycit461-dtlanc .

                IF itab_zycit036_aux-hruserc LT itab_zycit461-hr_docfat.

                    v_qtdutil_da = v_qtdutil_da +

                                   itab_zycit003_saldo-qtd_iten.

                  ENDIF.

                ENDIF.

* << Fim da inclusão

        ENDIF.

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

            ENDLOOP.

          ENDIF.

        ENDIF.

* << Fim da inclusão

        CLEAR itab_zycit036_aux.

        MOVE: itab_zycit003-nrseq    TO itab_zycit036_aux-nrseq,

              itab_zycit003-ebeln    TO itab_zycit036_aux-ebeln,

              itab_zycit003-ebelp    TO itab_zycit036_aux-ebelp,

              /pws/zycie001-embarca  TO itab_zycit036_aux-embarca,

...

 

...

              sy-datum               TO itab_zycit036_aux-dtuserc,

              sy-uzeit               TO itab_zycit036_aux-hruserc,

              /pws/zycbt007-waersb   TO itab_zycit036_aux-waers_real,

              /pws/zycbt007-waersb   TO itab_zycit036_aux-waers_mov,

              itab_zycit461-nradto   TO itab_zycit036_aux-nrseqori  .

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

        itab_zycit036_aux-vlmov = itab_zycit003-qtd_iten *

           itab_zycit461-netpr_da.

* << Fim da inclusão

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

        READ TABLE itab_zycit443 WITH KEY

                  ebeln = itab_zycit003-ebeln

                  ebelp = itab_zycit003-ebelp.

        IF sy-subrc EQ 0.

          IF NOT itab_zycit443-qtd_da IS INITIAL.

            itab_zycit036_aux-vlmov = itab_zycit036_aux-vlreal =

            ( itab_zycit003-qtd_iten /

            ( itab_zycit443-qtd_da - v_qtdutil_da ) )   *

            itab_zycit461-vldp.

          ENDIF.

* << Fim da exclusão

          IF NOT itab_zycit036_aux-vlreal LT 0.

            APPEND itab_zycit036_aux.

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

          ENDIF.

* << Fim da exclusão

        ENDIF.

      ENDIF.

    ENDLOOP.

    DESCRIBE TABLE itab_zycit465 LINES v_line.

    LOOP AT itab_zycit466 .

...

 

...

          READ TABLE itab_zycit036_aux WITH KEY

                     ebeln  = itab_zycit003_saldo-ebeln

                     ebelp  = itab_zycit003_saldo-ebelp

                     nrseq  = itab_zycit003_saldo-nrseq.

          IF sy-subrc EQ 0 .

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

            IF  itab_zycit036_aux-dtuserc LE itab_zycit466-dtlanc .

              IF itab_zycit036_aux-hruserc LT itab_zycit466-hr_f02.

                v_qtdutil_da = v_qtdutil_da +

                  itab_zycit003_saldo-qtd_iten.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDLOOP.

        IF NOT sy-subrc IS INITIAL.

          IF NOT itab_zycit003-itseqda IS INITIAL.

            LOOP AT itab_zycit003_saldo

                    WHERE ebeln EQ itab_zycit003-ebeln

                    AND   ebelp EQ itab_zycit003-itseqda.

              READ TABLE itab_zycit036_aux WITH KEY

                         ebeln = itab_zycit003_saldo-ebeln

                         ebelp = itab_zycit003_saldo-ebelp

                         nrseq = itab_zycit003_saldo-nrseq.

              IF sy-subrc IS INITIAL.

* << Fim da inclusão

            IF  itab_zycit036_aux-dtuserc LE itab_zycit466-dtlanc .

              IF itab_zycit036_aux-hruserc LT itab_zycit466-hr_f02.

                v_qtdutil_da = v_qtdutil_da +

                  itab_zycit003_saldo-qtd_iten.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDLOOP.

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

          ENDIF.

        ENDIF.

* << Fim da inclusão

        CLEAR itab_zycit036_aux.

        MOVE: itab_zycit003-nrseq    TO itab_zycit036_aux-nrseq,

              itab_zycit003-ebeln    TO itab_zycit036_aux-ebeln,

              itab_zycit003-ebelp    TO itab_zycit036_aux-ebelp,

              /pws/zycie001-embarca  TO itab_zycit036_aux-embarca,

...

 

...

              sy-uname               TO itab_zycit036_aux-usernamec,

              sy-datum               TO itab_zycit036_aux-dtuserc,

              sy-uzeit               TO itab_zycit036_aux-hruserc,

              /pws/zycbt007-waersb   TO itab_zycit036_aux-waers_real,

              itab_zycit466-nradto   TO itab_zycit036_aux-nrseqori  .

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

        READ TABLE itab_zycit443 WITH KEY

                  ebeln = itab_zycit003-ebeln

                  ebelp = itab_zycit003-ebelp.

        IF sy-subrc EQ 0.

          IF NOT itab_zycit443-qtd_da IS INITIAL.

            itab_zycit036_aux-vlmov = itab_zycit036_aux-vlreal =

          ( itab_zycit003-qtd_iten /

            ( itab_zycit443-qtd_da - v_qtdutil_da ) )   *

            itab_zycit466-vldp.

          ENDIF.

* << Fim da exclusão

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

        itab_zycit036_aux-vlmov = itab_zycit003-qtd_iten *

           itab_zycit466-netpr_da.

* << Fim da inclusão

          IF NOT itab_zycit036_aux-vlreal LT 0.

            APPEND itab_zycit036_aux.

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

          ENDIF.

* << Fim da exclusão

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

  LOOP AT itab_zycit036_aux.

...

 

...

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

* >> Início da inclusão:

FORM move_itens_centros_diferentes.

  LOOP AT itab_da.

    CLEAR itab_zycit443.

    READ TABLE itab_zycit443 WITH KEY

                             ebeln = itab_da-ebeln

                             ebelp = itab_da-ebelp.

    READ TABLE itab_nac WITH KEY ebeln = itab_zycit443-ebeln

                                 ebelp = itab_zycit443-ebelp.

    IF NOT sy-subrc IS INITIAL.

      CONTINUE.

    ENDIF.

    MOVE:

     itab_zycit443-advalicms      TO    itab_zycit003-advalicms ,

     itab_zycit443-advalii        TO    itab_zycit003-advalii   ,

     itab_zycit443-advalipi       TO    itab_zycit003-advalipi,

     itab_zycit443-aliqicms       TO    itab_zycit003-aliqicms  ,

     itab_zycit443-aliqii         TO    itab_zycit003-aliqii    ,

     itab_zycit443-aliqipi        TO    itab_zycit003-aliqipi   ,

     itab_zycit443-basred         TO    itab_zycit003-basred    ,

     itab_zycit443-ebeln          TO    itab_zycit003-ebeln     ,

     itab_zycit443-ebelp          TO    itab_zycit003-ebelp    ,

     itab_zycit443-extarif_al     TO    itab_zycit003-extarif_al ,

     itab_zycit443-ii_anoemiss    TO    itab_zycit003-ii_anoemiss,

     itab_zycit443-ii_extarif     TO    itab_zycit003-ii_extarif ,

     itab_zycit443-ii_numero      TO    itab_zycit003-ii_numero ,

     itab_zycit443-ii_orgemiss    TO    itab_zycit003-ii_orgemiss ,

     itab_zycit443-ii_tipo        TO    itab_zycit003-ii_tipo ,

     itab_zycit443-impmerco       TO    itab_zycit003-indic_obrig ,

     itab_zycit443-ipi_anoemiss   TO    itab_zycit003-ipi_anoemiss,

     itab_zycit443-ipi_extarif    TO    itab_zycit003-ipi_extarif,

     itab_zycit443-ipi_numero     TO    itab_zycit003-ipi_numero,

     itab_zycit443-ipi_orgemiss   TO    itab_zycit003-ipi_orgemiss,

     itab_zycit443-ipi_tipo       TO    itab_zycit003-ipi_tipo,

     itab_zycit443-j_1bnbm        TO    itab_zycit003-j_1bnbm,

     itab_zycit443-lifnr          TO    itab_zycit003-lifnr,

     itab_zycit443-matnr          TO    itab_zycit003-matnr,

     itab_zycit443-meins          TO    itab_zycit003-meins,

     itab_zycit443-meinsest       TO    itab_zycit003-meinsest,

     itab_zycit443-qtd_iten       TO    itab_zycit003-menge,

     itab_zycit443-modalidade     TO    itab_zycit003-modalidade,

     itab_zycit443-naladi         TO    itab_zycit003-naladi,

     itab_zycit443-naladincca     TO    itab_zycit003-naladincca,

     itab_zycit443-netpr          TO    itab_zycit003-netpr,

     itab_zycit443-nrdrawback     TO    itab_zycit003-nrdrawback,

     itab_zycit443-nrli           TO    itab_zycit003-nrli,

     itab_zycit443-nrseq          TO    itab_zycit003-nrseq,

     itab_zycit443-nrseqli        TO    itab_zycit003-nrseqli,

     itab_zycit443-orgemiss_al    TO    itab_zycit003-orgemiss_al,

     itab_da-qtd_nac              TO    itab_zycit003-qtd_iten  ,

     itab_zycit443-qtd_itend      TO    itab_zycit003-qtd_itend,

     itab_zycit443-qtdeumest      TO    itab_zycit003-qtdeumest,

     itab_zycit443-tipo_al        TO    itab_zycit003-tipo_al,

     itab_zycit443-vlfre_fat      TO    itab_zycit003-vlfre_fat,

     itab_da-werks                TO    itab_zycit003-werks,

     itab_zycit443-ad_anoemiss    TO    itab_zycit003-ad_anoemiss,

     itab_zycit443-ad_extarif     TO    itab_zycit003-ad_extarif,

     itab_zycit443-ad_numero      TO    itab_zycit003-ad_numero,

     itab_zycit443-ad_orgemiss    TO    itab_zycit003-ad_orgemiss,

     itab_zycit443-ad_tipo        TO    itab_zycit003-ad_tipo,

     itab_zycit443-anoemiss_al    TO    itab_zycit003-anoemiss_al,

     itab_zycit443-aplicacao      TO    itab_zycit003-aplicacao,

     itab_zycit443-bednr          TO    itab_zycit003-bednr,

     itab_zycit443-condmerc       TO    itab_zycit003-condmerc,

     itab_zycit443-descr          TO    itab_zycit003-descr,

     itab_zycit443-gewei          TO    itab_zycit003-gewei,

     itab_zycit443-gsber          TO    itab_zycit003-gsber,

     itab_zycit443-numero_al      TO    itab_zycit003-numero_al,

     itab_zycit443-vlreal         TO    itab_zycit003-vlreal,

     itab_zycit443-waersbem       TO    itab_zycit003-waers,

     itab_zycit443-qtd_da         TO    itab_zycit003-menge ,

     itab_zycit443-netpr          TO    itab_zycit003-v_fob ,

     /pws/zycie001-nrseq          TO    itab_zycit003-nrseq ,

     itab_zycit443-nrseqda        TO    itab_zycit003-nrseqda,

     itab_zycit443-adicao         TO    itab_zycit003-adicao ,

     /pws/zycit442-nrdi           TO    itab_zycit003-nrdi  .

    IF NOT itab_zycit443-qtd_da IS INITIAL.

      itab_zycit003-ntgew = (  itab_zycit443-ntgew /

               itab_zycit443-qtd_da ) * itab_zycit003-qtd_iten.

    ENDIF.

    itab_zycit003-sld_da   =  itab_zycit443-qtd_sld =

       itab_zycit443-qtd_da - itab_zycit443-qtd_util -

       itab_zycit443-qtd_iten.

    APPEND itab_zycit003.

    CLEAR  itab_zycit003.

  ENDLOOP.

  itab_zycit003_aux[] = itab_zycit003[].

  CLEAR   itab_zycit003.

  REFRESH itab_zycit003.

  SORT itab_zycit003_aux BY ebeln ebelp werks.

  LOOP AT itab_zycit003_aux.

    ON CHANGE OF itab_zycit003_aux-ebeln OR

                 itab_zycit003_aux-ebelp OR

                 itab_zycit003_aux-werks.

      itab_zycit003 = itab_zycit003_aux.

      CLEAR itab_nac.

      READ TABLE itab_nac WITH KEY

                          ebeln = itab_zycit003_aux-ebeln

                          ebelp = itab_zycit003_aux-ebelp.

      IF sy-subrc IS INITIAL.

        itab_zycit003-qtd_iten = itab_nac-qtd_nac.

      ENDIF.

      APPEND itab_zycit003.

      CLEAR  itab_zycit003.

    ENDON.

  ENDLOOP.

ENDFORM.

FORM verifica_despesa_da.

  DATA: itab_zycit036_da TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE,

        itab_zycit459_da TYPE /pws/zycit459 OCCURS 0 WITH HEADER LINE,

        itab_zycit465_da TYPE /pws/zycit465 OCCURS 0 WITH HEADER LINE,

        itab_zycit461_da TYPE /pws/zycit461 OCCURS 0 WITH HEADER LINE,

        itab_zycit466_da TYPE /pws/zycit466 OCCURS 0 WITH HEADER LINE.

  CLEAR : v_desp, v_custo.

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036_da

     FOR ALL ENTRIES IN itab_zycit003

     WHERE nrseq EQ itab_zycit003-nrseq

     AND   ebeln EQ itab_zycit003-ebeln

     AND   ebelp EQ itab_zycit003-ebelp.

    SELECT * FROM /pws/zycit459 INTO TABLE itab_zycit459_da

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseqda EQ itab_zycit003-nrseqda

        AND status EQ 'A'.

    IF sy-subrc EQ 0.

      SELECT * FROM /pws/zycit461 INTO TABLE itab_zycit461_da

      FOR ALL ENTRIES IN itab_zycit459_da

        WHERE nrseqda  = itab_zycit459_da-nrseqda

          AND nradto   = itab_zycit459_da-nrpres .

    ENDIF.

    SELECT * FROM /pws/zycit465 INTO TABLE itab_zycit465_da

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq EQ itab_zycit003-nrseqda

         AND   status EQ 'A'

        AND   tpgto  EQ 'D'.

    IF sy-subrc EQ 0.

      SELECT * FROM /pws/zycit466 INTO TABLE itab_zycit466_da

      FOR ALL ENTRIES IN itab_zycit465_da

           WHERE nrseq  = itab_zycit465_da-nrseq

             AND nradto = itab_zycit465_da-nradto.

    ENDIF.

    LOOP AT itab_zycit461_da.

      READ TABLE itab_zycit036_da WITH KEY

                nrseqori = itab_zycit461_da-nradto.

      IF sy-subrc EQ 0.

        v_custo = 'X'.

      ELSE.

        v_desp = 'X'.

      ENDIF.

    ENDLOOP.

    LOOP AT itab_zycit466_da.

      READ TABLE itab_zycit036_da WITH KEY

                nrseqori = itab_zycit466_da-nradto.

      IF sy-subrc EQ 0.

        v_custo = 'X'.

      ELSE.

        v_desp = 'X'.

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

...

          PERFORM grava_tabelas.

          PERFORM call_bl.

        ELSE.

          PERFORM call_bl.

        ENDIF.

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

        SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq EQ itab_zycit003-nrseq.

* << Fim da inclusão

      WHEN 'FRETE'.

        IF v_status_s NE 0.

          PERFORM grava_tabelas.

        ENDIF.

        PERFORM call_frete.

...

 

...

          MESSAGE i013 WITH text-202.

          EXIT.

        ENDIF.

        IF /pws/zycie001-regime NE '04'

        OR /pws/zycie001-tpdecl NE 'DI'.

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

          IF /pws/zycie001-regime EQ '14'

          AND /pws/zycie001-tpdecl EQ 'DI'.

            PERFORM verifica_despesa_da.

            IF v_desp = 'X'.

              MESSAGE i013 WITH text-330.

              EXIT.

            ENDIF.

          ENDIF.

* << Fim da inclusão

          PERFORM call_bt.

        ELSE.

          PERFORM call_rec.

        ENDIF.

      WHEN 'CO'.

...

 

...

               WHERE nrseq = /pws/zycie001-nrseq.

      WHEN 'SELE_DA'.

        CALL SELECTION-SCREEN '0700'.

      WHEN 'SELE_RC'.

        CALL SELECTION-SCREEN '0701'.

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

      WHEN 'CUSTO_DA'.

        PERFORM gravar_custos.

* << Fim da inclusão

    ENDCASE.

  ENDIF.

  CLEAR okcode.

ENDMODULE.

MODULE user_command_0002 INPUT.

...

 

...

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF v_dif = 'X'.

    MESSAGE i015 WITH text-254.

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

    CLEAR itab_da-qtd_nac.

* << Fim da exclusão

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

    CLEAR: itab_da-qtd_nac,

           itab_da-werks.

* << Fim da inclusão

    CLEAR v_dif.

    CLEAR   : itab_da_aux, itab_da_aux2.

    REFRESH : itab_da_aux, itab_da_aux2.

  ENDIF.

ENDMODULE.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001O01

 

...

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

    REFRESH: it_code.

    it_code-fcode = 'SAVE'. APPEND it_code.

    it_code-fcode = 'MODI'. APPEND it_code.

  ENDIF.

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

  IF  /pws/zycie001-regime EQ '14' AND

       /pws/zycie001-tpdecl EQ 'DI'  AND

       v_status_s NE '0' .

    PERFORM verifica_despesa_da.

    IF v_custo = 'X'.

      it_code-fcode = 'CUSTO_DA'.

      APPEND it_code.

    ENDIF.

    it_code-fcode = 'DA'.

    APPEND it_code.

  ELSE.

    IF NOT  /pws/zycie001-regime EQ '04' AND

         /pws/zycie001-tpdecl EQ 'DI'  .

      it_code-fcode = 'DA'.

      APPEND it_code.

    ENDIF.

    it_code-fcode = 'CUSTO_DA'.

    APPEND it_code.

* << Fim da inclusão

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

  IF /pws/zycie001-regime NE '04' .

    it_code-fcode = 'DA'. APPEND it_code.

* << Fim da exclusão

  ENDIF.

  IF /pws/zycie001-regime EQ '04' AND

     /pws/zycie001-tpdecl EQ 'DI'.

    it_code-fcode = 'DI'. APPEND it_code.

    SET PF-STATUS '0100' EXCLUDING 'DI'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001TOP

 

...

  /pws/zycie442,

  /pws/zycie443,

  /pws/zycie463,

  /pws/zycit467,

  eket.

* >> Início da inclusão:

TABLES:

  bapimepoheader,

  bapimepoheaderx,

  bapimepoaccount,

  bapimepoaccountx.

DATA: BEGIN OF itab_bapimepoitem OCCURS 0.

        INCLUDE STRUCTURE bapimepoitem.

DATA: END OF itab_bapimepoitem.

DATA: BEGIN OF itab_bapimepoitemx OCCURS 0.

        INCLUDE STRUCTURE bapimepoitemx.

DATA: END OF itab_bapimepoitemx.

DATA: BEGIN OF itab_bapimeposchedule OCCURS 0.

        INCLUDE STRUCTURE bapimeposchedule.

DATA: END OF itab_bapimeposchedule.

DATA: BEGIN OF itab_bapimeposchedulx OCCURS 0.

        INCLUDE STRUCTURE bapimeposchedulx.

DATA: END OF itab_bapimeposchedulx.

DATA: BEGIN OF itab_bapimepoaccount OCCURS 0.

        INCLUDE STRUCTURE bapimepoaccount.

DATA: END OF itab_bapimepoaccount.

DATA: BEGIN OF itab_bapimepoaccountx OCCURS 0.

        INCLUDE STRUCTURE bapimepoaccountx.

DATA: END OF itab_bapimepoaccountx.

DATA: BEGIN OF itab_bapiret1 OCCURS 0.

        INCLUDE STRUCTURE bapiret2.

DATA: END OF itab_bapiret1.

DATA: BEGIN OF itab_bapiret2 OCCURS 0.

        INCLUDE STRUCTURE bapiret2.

DATA: END OF itab_bapiret2.

DATA: BEGIN OF itab_zycit003_bapi OCCURS 0.

        INCLUDE STRUCTURE itab_zycit003.

DATA: END   OF itab_zycit003_bapi.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit013 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycie013.

DATA: END OF itab_zycit013.

DATA: BEGIN OF itab_zycit395 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit395.

...

 

...

DATA: END OF itab_zycit003_aux2.

DATA: BEGIN OF itab_zycit003_del OCCURS 0.

DATA: ebeln     LIKE /pws/zycie003-ebeln,

      ebelp     LIKE /pws/zycie003-ebelp,

      qtd_iten  LIKE /pws/zycit003-qtd_iten,

* >> Início da inclusão:

      werks     LIKE /pws/zycie003-werks,

      itseqda   LIKE /pws/zycie003-itseqda,

* << Fim da inclusão

END OF itab_zycit003_del.

DATA: BEGIN OF itab_zycit036_del OCCURS 0.

DATA: nrseq     LIKE /pws/zycie036-nrseq,

      ebeln     LIKE /pws/zycie036-ebeln,

      ebelp     LIKE /pws/zycie036-ebelp,

...

 

...

      ebeln  LIKE ekpo-ebeln,

      ebelp  LIKE ekpo-ebelp,

      matnr  LIKE ekpo-matnr,

      bsart LIKE ekko-bsart,

      END OF itab_ekko.

* >> Início da inclusão:

DATA: BEGIN OF itab_ekpo OCCURS 0,

        ebeln  LIKE ekpo-ebeln,

        ebelp  LIKE ekpo-ebelp,

        loekz  LIKE ekpo-loekz,

        matnr  LIKE ekpo-matnr,

        werks  LIKE ekpo-werks,

        lgort  LIKE ekpo-lgort,

        menge  LIKE ekpo-menge,

        meins  LIKE ekpo-meins,

        elikz  LIKE ekpo-elikz,

        knttp  LIKE ekpo-knttp,

        txjcd  LIKE ekpo-txjcd,

      END   OF itab_ekpo.

DATA: BEGIN OF itab_eket OCCURS 0,

        ebeln  LIKE eket-ebeln,

        ebelp  LIKE eket-ebelp,

        eindt  LIKE eket-eindt,

      END   OF itab_eket.

DATA: BEGIN OF itab_ekkn OCCURS 0,

        ebeln  LIKE ekkn-ebeln,

        ebelp  LIKE ekkn-ebelp,

        kostl  LIKE ekkn-kostl,

      END   OF itab_ekkn.

* << Fim da inclusão

DATA: BEGIN OF itab_t604f OCCURS 0,

      steuc LIKE t604f-steuc,

      obrigli LIKE t604f-/pws/obrigli,

      END OF itab_t604f.

DATA: BEGIN OF itab_gped OCCURS 0.

...

 

...

      wa_zycit133  LIKE /pws/zycie133,

      wa_zycit133a LIKE /pws/zycie133,

      wa_zycit013  LIKE /pws/zycit013,

      wa_zycit000  LIKE /pws/zycit000,

      wa_ekpo      LIKE ekpo.

* >> Início da inclusão:

DATA: wa_zycit455  LIKE /pws/zycit455.

* << Fim da inclusão

CONTROLS:

  ts_embar     TYPE TABSTRIP                  ,

  ts_detal     TYPE TABSTRIP                  ,

  ts_adm       TYPE TABSTRIP                  ,

  tc_ped       TYPE TABLEVIEW USING SCREEN 102,

...

 

...

  v_mexit(01)     TYPE c.

DATA v_land1 LIKE t001-land1.

DATA v_valida.

DATA:

  v_sysubrc        LIKE sy-subrc.

* >> Início da inclusão:

DATA:

  v_centro_dif(1) TYPE c.

CONSTANTS:

  c_sim(1)        TYPE c          VALUE 'S',

  c_loekz_l       LIKE ekpo-loekz VALUE 'L',

  c_loekz_s       LIKE ekpo-loekz VALUE 'S'.

* << Fim da inclusão

DATA:

ok_code LIKE sy-ucomm               ,

v_answer                            ,

text(100)                           ,

nextline    TYPE i                  ,

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

       qtd_nac  LIKE /pws/zycie463-qtd_lote ,

       qtd_usada LIKE /pws/zycie463-qtd_lote ,

       adicao    TYPE /pws/zycie455-adicao   ,

       itseqda   TYPE /pws/zycie455-itseqda  ,

       rc        TYPE flag,

* >> Início da inclusão:

       WERKS     LIKE /PWS/ZYCIE003-WERKS,

* << Fim da inclusão

       mark.

DATA: END OF itab_da.

* >> Início da inclusão:

DATA : V_PROD_DIF.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit460 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit460.

DATA: END   OF itab_zycit460.

DATA: itab_zycit443_aux LIKE itab_zycit443 OCCURS 0 WITH HEADER LINE,

      itab_da_aux       LIKE itab_da OCCURS 0 WITH HEADER LINE,

...

 

...

        ebelp      LIKE ekpo-ebelp,

        j_1bmatuse LIKE ekpo-j_1bmatuse,

        knttp      LIKE ekpo-knttp,

        werks      LIKE ekpo-werks,

      END OF it_ekpo_aux1.

* >> Início da exclusão:

DATA: e_subrc LIKE sy-subrc.

* << Fim da exclusão

* >> Início da inclusão:

DATA: E_SUBRC LIKE SY-SUBRC,

      v_desp,

      v_custo.

* << Fim da inclusão

DATA:  okcode          LIKE sy-ucomm,

       e_exec_okcode                .

* >> Início da inclusão:

data: begin of itab_pedido occurs 0.

data:   ebeln type ekpo-ebeln,

        ebelp type ekpo-ebelp,

        menge type ekpo-menge,

        bstyp type ekpo-bstyp.

data: end of itab_pedido.

* << Fim da inclusão

DATA: END OF COMMON PART a.

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

Modificações efetuadas em REPT /PWS/SAPMZYCI001

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 254

 

Texto: (39 caracteres)

"Não permitido selecionar DAs diferentes"

 

Comprimento máximo: 39

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 318

 

Texto: (24 caracteres)

"possui Itens Eliminados."

 

Comprimento máximo: 24

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 319

 

Texto: (24 caracteres)

"possui Itens Bloqueados."

 

Comprimento máximo: 24

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 325

 

Texto: (27 caracteres)

"Quantidade do Pedido zerada"

 

Comprimento máximo: 27

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 326

 

Texto: (44 caracteres)

"Quantidade do Pedido menor que Qtde. Nacion."

 

Comprimento máximo: 44

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 327

 

Texto: (7 caracteres)

"Usuário"

 

Comprimento máximo: 7

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 328

 

Texto: (26 caracteres)

"já está processando Pedido"

 

Comprimento máximo: 26

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 329

 

Texto: (32 caracteres)

"Salvar Embarque - Item eliminado"

 

Comprimento máximo: 32

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 330

 

Texto: (46 caracteres)

"Favor gerar custos da DA antes do Recebimento!"

 

Comprimento máximo: 46

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 331

 

Texto: (18 caracteres)

"Custos já gerados."

 

Comprimento máximo: 18

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 332

 

Texto: (28 caracteres)

"Item não pode ser eliminado."

 

Comprimento máximo: 28

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI072                       0300

 

 

   Nome

      Ctg.      Linha   Coluna  CmprDf  CmVis   Altura  Format Dict  Modif At.Des.Só At

      Gr1 Gr2 Gr3 Gr4  SPA GPA ID parâm             Cód.F                TCmp   TpoLoopExbLoop

      Outros atributos

*DE:

   /PWS/ZYCIE465-EMBARCA

      Texto      2        2      22      22       1     CHAR      X    F

 

*PARA:

   /PWS/ZYCIE465-EMBARCA

      Texto      2        2      16      16       1     CHAR      X    F

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI075F01

 

...

    ENDIF.

    it_status-low  = /pws/zycie459-status.

    it_status-high = /pws/zycie459a-status.

    APPEND it_status.

  ENDIF.

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

  IF NOT /pws/zycie459-nrseqda IS INITIAL.

* << Fim da exclusão

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

  IF NOT /pws/zycie442-nrseqda IS INITIAL.

* << Fim da inclusão

    it_nrseqemb-sign = 'I'.

    IF /pws/zycie459a-nrseqda IS INITIAL.

      it_nrseqemb-option = 'EQ'.

    ELSE.

      it_nrseqemb-option = 'BT'.

    ENDIF.

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

    it_nrseqemb-low  = /pws/zycie459-nrseqda.

* << Fim da exclusão

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

    it_nrseqemb-low  = /pws/zycie442-nrseqda.

* << Fim da inclusão

    it_nrseqemb-high = /pws/zycie459a-nrseqda.

    APPEND it_nrseqemb.

  ENDIF.

  IF NOT /pws/zycie442-identify IS INITIAL.

    it_embarca-sign = 'I'.

...

 

...

  ENDIF.

  IF ( NOT /pws/zycie459-docfat IS INITIAL  AND

       NOT /pws/zycie459-docomp IS INITIAL ) OR

     ( /pws/zycie459-docomp IS INITIAL      AND

       NOT /pws/zycie459-docfat IS INITIAL ).

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

  perform verifica_qtd_da.

* << Fim da inclusão

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

    PERFORM gravar_custos_funcao.

* << Fim da exclusão

  ENDIF.

  COMMIT WORK.

ENDFORM.

FORM verify_null_field USING value(p_field)

                             value(p_fieldname)

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI075F02

 

 

...

            v_data  = /pws/zycie459-dtlanc

            v_bukrs = /pws/zycie459-bukrs

            v_koart = 'K'

       IMPORTING

            v_subrc = vsubrc

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

            v_gjahr = it_zycbe033-gjahr .

* << Fim da exclusão

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

            v_gjahr = it_zycbe033-gjahr.

* << Fim da inclusão

  IF vsubrc  = 0.

    it_zycbe033-budat  = /pws/zycie459-dtlanc.

    it_zycbe033-stgrd  = /pws/zycbt007-percorr.

  ELSE.

    it_zycbe033-budat  = sy-datum.

...

 

...

            OTHERS          = 2.

  p_sucesso = sy-subrc.

ENDFORM.

FORM bi_fb08 USING p_data.

  DATA: p_belnr LIKE /pws/zycie459-docomp.

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

  DATA : vsubrc TYPE sy-subrc.

* << Fim da inclusão

  p_belnr = /pws/zycie459-docomp.

  PERFORM clear_date_batch.

  it_zycbe033-tcode  = 'FB08'.

  it_zycbe033-tabela = text-012.

  it_zycbe033-cpochv = /pws/zycie459-nrseqda.

...

 

...

       EXPORTING

            v_data  = /pws/zycie459-dtlanc

            v_bukrs = /pws/zycie459-bukrs

            v_koart = 'K'

       IMPORTING

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

            v_subrc = v_subrc

            v_gjahr = it_zycbe033-gjahr .

  IF v_subrc  = 0.

* << Fim da exclusão

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

            v_subrc = vsubrc

            v_gjahr = it_zycbe033-gjahr.

  IF vsubrc  = 0.

* << Fim da inclusão

    it_zycbe033-budat  = /pws/zycie459-dtlanc.

    it_zycbe033-stgrd  = /pws/zycbt007-percorr.

  ELSE.

    it_zycbe033-budat  = sy-datum.

    it_zycbe033-stgrd  = /pws/zycbt007-perencer .

...

 

...

       INTO v_desc_forn

       FROM lfa1

       WHERE lifnr  = /pws/zycie459-despach.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM verifica_qtd_da.

  DATA: v_qtd_nac TYPE /pws/zycit003-qtd_iten,

        v_qtd_desp TYPE /pws/zycit003-qtd_iten.

  CLEAR : itab_zycit443[],

          itab_zycit455[],

          itab_zycit003[],

          itab_zycit036[],

          v_qtd_da.

  REFRESH : itab_zycit443[],

            itab_zycit455[],

            itab_zycit003[],

            itab_zycit036[].

  SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

  WHERE nrseqda = /pws/zycie459-nrseqda.

  SELECT * FROM /pws/zycit455 INTO TABLE itab_zycit455

  WHERE nrseqda = /pws/zycie459-nrseqda

  AND  nrseq NE space.

  IF NOT itab_zycit455[] IS INITIAL.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

      FOR ALL ENTRIES IN itab_zycit455

      WHERE nrseq EQ itab_zycit455-nrseq.

  ENDIF.

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036

    FOR ALL ENTRIES IN itab_zycit003

    WHERE nrseq EQ itab_zycit003-nrseq.

  ENDIF.

  LOOP AT itab_zycit443.

    v_qtd_da = v_qtd_da + itab_zycit443-qtd_da.

  ENDLOOP.

  LOOP AT itab_zycit003.

    READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit003-nrseq

                                    ebeln = itab_zycit003-ebeln

                                    ebelp = itab_zycit003-ebelp.

    IF sy-subrc EQ 0.

      v_qtd_nac = v_qtd_nac + itab_zycit003-qtd_iten .

    ENDIF.

  ENDLOOP.

  IF NOT v_qtd_da IS INITIAL.

    v_qtd_desp = v_qtd_nac / ( v_qtd_da - v_qtd_nac ).

  ENDIF.

  LOOP AT it_zycit461 .

    IF NOT v_qtd_desp IS INITIAL.

      it_zycit461-netpr_da =   it_zycit461-vldp *  v_qtd_desp .

    ELSE.

      IF NOT v_qtd_da IS INITIAL.

        it_zycit461-netpr_da =   it_zycit461-vldp /  v_qtd_da .

      ENDIF.

    ENDIF.

    MODIFY it_zycit461.

  ENDLOOP.

  MODIFY /pws/zycit461 FROM TABLE it_zycit461.

ENDFORM.

* << Fim da inclusão

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI075I01

 

...

    WHEN 'ENTE'.

      SET SCREEN 0.

      LEAVE SCREEN.

  ENDCASE.

ENDMODULE.

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

MODULE conversao_moeda INPUT.

  DATA: v_moeda LIKE  tcurr-ukurs.

  SELECT SINGLE *

    FROM /pws/zycbt011

    WHERE codmod EQ 'D' AND

          codeven EQ '010P'.

  IF t001-land1 NE 'BR'.

    IF /pws/zycie459-taxamu  IS INITIAL AND

       NOT /pws/zycie459-waersmu IS INITIAL.

      CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

        EXPORTING

          i_montante                         = 1

          i_demoeda                          = /pws/zycie459-waersmu

          i_paramoeda                        = /pws/zycbt007-waersb

          i_ctmoeda                          = /pws/zycbt011-ctmoed

          i_dtbase                           = sy-datum

       IMPORTING

          e_txc                              = v_moeda

       EXCEPTIONS

         i_demoeda_nao_encontrado           = 1

         i_paramoeda_nao_encontrado         = 2

         i_ctmoeda_nao_encontrado           = 3

         i_dtbase_nao_encontrada            = 4

         taxa_nao_encontrada                = 5

         fator_nao_encontrado               = 6

         i_montante_nao_encontrado          = 7

         tabela_categ_nao_configurada       = 8

         OTHERS                             = 9.

      IF sy-subrc EQ 0.

        /pws/zycie459-taxamu = v_moeda.

      ELSE.

        CASE sy-subrc.

          WHEN 5.

            MESSAGE e013 WITH text-095.

          WHEN OTHERS.

        ENDCASE.

      ENDIF.

    ENDIF.

  ELSE.

    /pws/zycie459-taxamu = 1.

  ENDIF.

ENDMODULE.

* << Fim da exclusão

MODULE user_command_0050 INPUT.

  DATA:

        e_exec_okcode.

  CLEAR: e_subrc, e_exec_okcode.

  PERFORM verifica_exit USING 'D'

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI075O01

 

...

  ENDIF.

  SET TITLEBAR  '0200'.

  DESCRIBE TABLE itab_zycit459 LINES v_line.

  tc1-lines = v_line.

ENDMODULE.

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

MODULE status_0300 OUTPUT.

  CASE sy-tcode.

    WHEN '/PWS/ZYCI071'.

      SET PF-STATUS 'STATUS300_A' EXCLUDING it_code.

      SET TITLEBAR  '0300'.

    WHEN '/PWS/ZYCI071_E' OR '/PWS/ZYCI071_L'.

      it_code-fcode = 'SAVE'.   APPEND it_code.

      it_code-fcode = 'MODIFY'. APPEND it_code.

      it_code-fcode = 'EXCL'.   APPEND it_code.

      SET PF-STATUS 'STATUS300_A' EXCLUDING it_code.

      SET TITLEBAR  '0300_A'.

      IF sy-tcode = '/PWS/ZYCI071_L'.

        v_status = 0.

      ENDIF.

    WHEN OTHERS.

      SET PF-STATUS '500_A'.

      SET TITLEBAR  '500_A'.

  ENDCASE.

ENDMODULE.

* << Fim da exclusão

MODULE display OUTPUT.

  CHECK NOT itab_zycit459-nrseqda IS INITIAL.

  MOVE-CORRESPONDING itab_zycit459 TO /pws/zycie459.

ENDMODULE.

MODULE display2 OUTPUT.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI075X01

 

...

    v_tcode like sy-tcode.

data: begin of it_code occurs 10,

        fcode like rsmpe-func,

      end of it_code.

Data: v_vldp   like  /pws/zycIT461-vldp.

* >> Início da inclusão:

  data: v_qtd_da type /pws/zycit443-qtd_da.

data: itab_zycit443 type /pws/zycit443 occurs 0 with header line,

      itab_zycit455 type /pws/zycit455 occurs 0 with header line,

      itab_zycit003 type /pws/zycit003 occurs 0 with header line.

* << Fim da inclusão

data: end of common part a.

 

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

Modificações efetuadas em REPS /PWS/MZYCI076F01

 

...

      PERFORM grava_dados.

    ENDIF.

    CLEAR it_tbcontrol.

  ENDLOOP.

  PERFORM preenche_funcao.

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

  PERFORM verifica_qtd_da.

* << Fim da inclusão

ENDFORM.

FORM select_parametros.

  SELECT SINGLE * FROM /pws/zycbt011

               INTO wa_zycbt011

               WHERE codeven = text-002

...

 

...

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

ENDFORM.

* >> Início da inclusão:

FORM verifica_qtd_da.

  DATA: v_qtd_nac TYPE /pws/zycit003-qtd_iten,

        v_qtd_desp TYPE /pws/zycit003-qtd_iten.

  CLEAR : itab_zycit443[],

          itab_zycit455[],

          itab_zycit003[],

          itab_zycit036[],

          v_qtd_da.

  REFRESH : itab_zycit443[],

            itab_zycit455[],

            itab_zycit003[],

            itab_zycit036[].

  SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

  WHERE nrseqda = /pws/zycie465-nrseq.

  SELECT * FROM /pws/zycit455 INTO TABLE itab_zycit455

  WHERE nrseqda = /pws/zycie465-nrseq.

  IF NOT itab_zycit455[] IS INITIAL.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

      FOR ALL ENTRIES IN itab_zycit455

      WHERE nrseq EQ itab_zycit455-nrseq.

  ENDIF.

  IF NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036

    FOR ALL ENTRIES IN itab_zycit003

    WHERE nrseq EQ itab_zycit003-nrseq.

  ENDIF.

  LOOP AT itab_zycit443.

    v_qtd_da = v_qtd_da + itab_zycit443-qtd_da.

  ENDLOOP.

  LOOP AT itab_zycit003.

    READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit003-nrseq

                                    ebeln = itab_zycit003-ebeln

                                    ebelp = itab_zycit003-ebelp.

    IF sy-subrc EQ 0.

      v_qtd_nac = v_qtd_nac + itab_zycit003-qtd_iten .

    ENDIF.

  ENDLOOP.

  IF NOT v_qtd_da IS INITIAL.

    v_qtd_desp = v_qtd_nac / ( v_qtd_da - v_qtd_nac ).

  ENDIF.

  LOOP AT it_zycit466 .

    IF NOT it_zycit466-belnr_f02 IS INITIAL .

      IF NOT v_qtd_desp IS INITIAL.

        it_zycit466-netpr_da =   it_zycit466-vldp * v_qtd_desp.

      ELSE.

        IF NOT v_qtd_da IS INITIAL.

          it_zycit466-netpr_da =   it_zycit466-vldp / v_qtd_da.

        ENDIF.

      ENDIF.

      MODIFY it_zycit466.

    ENDIF.

  ENDLOOP.

  MODIFY /pws/zycit466 FROM TABLE it_zycit466.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI076F01

 

...

        PERFORM  modo_batch_input.

      ELSE.

        MESSAGE w013 WITH text-108 text-109.

      ENDIF.

    WHEN 'APROV'.

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

      IF /pws/zycie465-frgzu NE 2.

        MESSAGE i046.

        EXIT.

      ENDIF.

* << Fim da exclusão

      PERFORM aprova_adiantamento.

    WHEN 'MARC'.

      LOOP AT it_tbcontrol.

        it_tbcontrol-mark = 'X'.

        MODIFY it_tbcontrol.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI076X01

 

...

        v_codeven like  /pws/zyglt321-codeven,

        e_subrc   value '0'.

  data: v_lib type c,

        v_totdep like /pws/zyglt342-valorinc,

        v_frgzu like /pws/zycie008-frgzu.

* >> Início da inclusão:

  data: v_qtd_da type /pws/zycit443-qtd_da.

DATA : itab_zycit455 TYPE /pws/zycit455 OCCURS 0 WITH HEADER LINE,

     itab_zycit003 TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

data: end of common part a.

 

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

Modificações efetuadas em SHLD /PWS/ZYCIA650

 

 

MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCIA650

 

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: MT001W

 

COMPORTAMENTO DE DIÁLOGO:

TIPO DE DIÁLOGO:  EXIBIÇÃO DE VALORES IMEDIATOS

PARÂMETROS:

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS  MOD  VALOR PROPOSTO

 

WERKS     X   X    1    1        WERKS_D

NAME1     X   X    2    2        AD_NAME1

 

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

Modificações efetuadas em TABL /PWS/ZYCIT467

 

 

CAMPOS:         TP. CAMPO        CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

 

MANDT         MANDT            X    X   T000

NRSEQDA         /PWS/ZYCIL831    X    X   /PWS/ZYCIT463

NRSEQLOTE       NUMC3            X    X

NRSEQ         /PWS/ZYCIL001    X    X   /PWS/ZYCIT001

EBELN         EBELN            X    X

EBELP         EBELP            X    X

*<<Inicio Inclusão

EBELP_EMB       EBELP            X    X

*<<Fim Inclusão

QTD_NAC         BMENGEV

 

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

Modificações efetuadas em TABL /PWS/ZYCIE467

 

 

CAMPOS:         TP. CAMPO        CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

 

MANDT         MANDT            X    X   T000

NRSEQDA         /PWS/ZYCIL831    X    X   /PWS/ZYCIT463

NRSEQLOTE       NUMC3            X    X

NRSEQ         /PWS/ZYCIL001    X    X   /PWS/ZYCIT001

EBELN         EBELN            X    X

EBELP         EBELP            X    X

*<<Inicio Inclusão

EBELP_EMB       EBELP            X    X

*<<Fim Inclusão

QTD_NAC         BMENGEV

 

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

Modificações efetuadas em TABL /PWS/ZYCIE461

 

 

Nome campo Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

MANDT      MANDT                      CLNT     3

NRSEQDA    /PWS/ZYCIL831              CHAR    10

TPDESP     /PWS/ZYCIL036              CHAR     3

NRADTO     /PWS/ZYCIL027              CHAR    10

EMBARCA    /PWS/ZYCIL008              CHAR    15

DESCR      /PWS/ZYCIL037              CHAR    35

WERKS      WERKS_D                    CHAR     4

WAERS      WAERS                      CUKY     5

VLDP       /PWS/ZYCIL093              CURR    13

IVA        /PWS/ZYCIL500              CHAR     2

VLDPIVA    /PWS/ZYCIL093              CURR    13

*<<inicio inclusao

NETPR_DA   /PWS/ZYCIL128              DEC     20

*>>Fim inclusao

 

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

Modificações efetuadas em TABL /PWS/ZYCIT461

 

 

Nome campo Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

MANDT      MANDT                      CLNT     3

NRSEQDA    /PWS/ZYCIL831              CHAR    10

TPDESP     /PWS/ZYCIL036              CHAR     3

NRADTO     /PWS/ZYCIL027              CHAR    10

EMBARCA    /PWS/ZYCIL008              CHAR    15

DESCR      /PWS/ZYCIL037              CHAR    35

WERKS      WERKS_D                    CHAR     4

WAERS      WAERS                      CUKY     5

VLDP       /PWS/ZYCIL093              CURR    13

IVA        /PWS/ZYCIL500              CHAR     2

VLDPIVA    /PWS/ZYCIL093              CURR    13

*<<inicio inclusao

NETPR_DA   /PWS/ZYCIL128              DEC     20

*>>Fim inclusao

 

 

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

Modificações efetuadas em TABL /PWS/ZYCIE466

 

 

 Nome campo Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

 MANDT      MANDT                      CLNT     3

 NRSEQ      /PWS/ZYCIL831              CHAR    10

 NRADTO     /PWS/ZYCIL027              CHAR    10

 TPDESP     /PWS/ZYCIL036              CHAR     3

 EMBARCA    /PWS/ZYCIL008              CHAR    15

 DESCR      /PWS/ZYCIL037              CHAR    35

 WAERS      WAERS                      CUKY     5

 VLDP       /PWS/ZYCIL093              CURR    13

 DTVENCTO   /PWS/ZYCIL032              DATS     8

 LANCTOA    /PWS/ZYCIL110              CHAR     1

 BANCO      LIFNR         LFA1         CHAR    10

 BUKRS      BUKRS                      CHAR     4

 BELNR_F02  BELNR_D                    CHAR    10

 BELNR_FB08 BELNR_D                    CHAR    10

 STATUSP    /PWS/ZYCBL073              CHAR     1

 DTLANC     DATUM                      DATS     8

 HR_F02     UZEIT                      TIMS     6

 BELNR_F51  BELNR_D                    CHAR    10

 BUDAT_F51  BUDAT                      DATS     8

*<<Inicio Inclusao

 NETPR_DA   /PWS/ZYCIL128              DEC     20

*<<Fim Inclusao

 

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

Modificações efetuadas em TABL /PWS/ZYCIT466

 

 

 Nome campo Elem.dados    Tab.verif. N CtDt Comp. Grupo

 

 MANDT      MANDT                      CLNT     3

 NRSEQ      /PWS/ZYCIL831              CHAR    10

 NRADTO     /PWS/ZYCIL027              CHAR    10

 TPDESP     /PWS/ZYCIL036              CHAR     3

 EMBARCA    /PWS/ZYCIL008              CHAR    15

 DESCR      /PWS/ZYCIL037              CHAR    35

 WAERS      WAERS                      CUKY     5

 VLDP       /PWS/ZYCIL093              CURR    13

 DTVENCTO   /PWS/ZYCIL032              DATS     8

 LANCTOA    /PWS/ZYCIL110              CHAR     1

 BANCO      LIFNR         LFA1         CHAR    10

 BUKRS      BUKRS                      CHAR     4

 BELNR_F02  BELNR_D                    CHAR    10

 BELNR_FB08 BELNR_D                    CHAR    10

 STATUSP    /PWS/ZYCBL073              CHAR     1

 DTLANC     DATUM                      DATS     8

 HR_F02     UZEIT                      TIMS     6

 BELNR_F51  BELNR_D                    CHAR    10

 BUDAT_F51  BUDAT                      DATS     8

*<<Inicio Inclusao

 NETPR_DA   /PWS/ZYCIL128              DEC     20

*<<Fim Inclusao