CE PLUS - Nota 001417

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

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

Data/Hora Última Alteração: 20/06/2011 12:24:32

Descrição da Nota: AGREGAR OS CUSTOS EFETIVOS DA ADMISSÃO NA NACIONALIZAÇÃO DA MERCADORIA

Sintoma

Agregar os custos efetivos da admissão na nacionalização da mercadoria de entreposto aduaneiro.

 

 

Solução

Feito desenvolvimento para tratamento do custo efetivo da DA.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

INTERFACE PW.CE X PW.RECOF - CARGA DE EMBARQUE DE NACIONALIZAÇÃO.

DESENVOLVIMENTO ENTREPOSTO ADUANEIRO

DESEMVOLVIMENTO DA DECLARAÇÃO DE ADMISSÃO (DA)

Informações Complementares

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

Nota Número 01417 Data: 25/05/2006 Hora: 17:33:11

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

 

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

Nota Número              : 01417

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00115

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

Referência às notas relacionadas:

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

 

01268  - 00002 - 6.0    - 00023  - DESENVOLVIMENTO ENTREPOSTO ADUANEIRO

01282  - 00001 - 6.0    - 00023  - DESEMVOLVIMENTO DA DECLARAÇÃO DE ADMISSÃO (DA)

01450  - 00003 - 6.0    - 00023  - INTERFACE PW.CE X PW.RECOF - CARGA DE EMBARQUE DE NACIONALIZAÇÃO.

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

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

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

Palavras Chave:

DA - CUSTO EFETIVO - ADMISSÃO - NACIONALIZAÇÃO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI001                        0003

DYNP /PWS/SAPMZYCI001                        0111

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001TOP

REPS /PWS/MZYCI001X01

REPS /PWS/MZYCI075F02

REPS /PWS/ZYCIR006

REPT /PWS/SAPMZYCI001

TABD /PWS/ZYCIT003

REPS /PWS/MZYCI070F01

 

 

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

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

 

*Os seguintes campos foram alterados:

   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

 

* Modificados

 

+  TC_DA

      Tabel      2        1     111     111      12

      Seleção linha=Múltipla, Seleção coluna=Simples

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

 

* Inserido

 

 - /PWS/ZYCIE003-NRSEQDA

      Texto      1        3      10      10       1     CHAR      X    1

                               /PWS/ZYCIP442

      Título de coluna TC

 

 - /PWS/ZYCIE003-NRDI

      Texto      1        4      11      11       1     CHAR      X    2

      Título de coluna TC

 

 - /PWS/ZYCIE003-ADICAO

      Texto      1        6       6       3       1     CHAR      X    1

      Título de coluna TC

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

    IF sy-subrc NE 0.

      DELETE FROM /pws/zycit125 WHERE nrseq = /pws/zycie001-nrseq

                           AND lifnr = itab_zycit125_aux-lifnr.

    ENDIF.

  ENDLOOP.

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

  CLEAR itab_zycit003_del. FREE itab_zycit003_del.

* << Fim da exclusão

  LOOP AT itab_zycit003.

    IF itab_zycit003-qtd_iten EQ 0.

      MESSAGE w015 WITH text-260 text-261.

      v_sair = 'X'.

      EXIT.

...

 

...

      MODIFY /pws/zycit093.

    ENDIF.

  ENDIF.

  MODIFY /pws/zycit356 FROM /pws/zycie356.

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

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

    PERFORM salva_dados_rc.

* << Fim da inclusão

    PERFORM salva_dados_da.

  ENDIF.

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

  CLEAR itab_zycit003_del.

  REFRESH itab_zycit003_del.

* << Fim da exclusão

  DELETE FROM /pws/zycit001 WHERE nrseq = space.

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI001'

                              'EMB003'.

  CLEAR itab_zyglt100 .

...

 

...

        itab_zycit003-gsber TO /pws/zycbt119-gsber,

        /pws/zycit006-dtincl  TO /pws/zycbt119-dtincl.

      modify /pws/zycbt119.

      MODIFY itab_zycit003.

      MODIFY /pws/zycit003 FROM itab_zycit003.

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

    ENDLOOP.

  ENDIF.

  loop at itab_zycit455_del.

     UPDATE /pws/zycit455 SET nrseq = itab_zycit455_del-nrseq

                  WHERE ebeln   = itab_zycit455_del-ebeln

                    AND ebelp   = itab_zycit455_del-ebelp

                    AND nrseqda = itab_zycit455_del-nrseqda.

* << Fim da inclusão

    ENDLOOP.

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

          if /pws/zycie001-regime eq '14'.

             perform gravar_custos.

* << Fim da inclusão

  ENDIF.

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

  CLEAR itab_zycit003_del. FREE itab_zycit003_del.

* << Fim da inclusão

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

    INTO TABLE itab_fabric

    FOR ALL ENTRIES IN itab_zycit003

    WHERE ebeln EQ itab_zycit003-ebeln

    AND   ebelp EQ itab_zycit003-ebelp.

  ENDIF.

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

ENDFORM.

* << Fim da inclusão

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

ENDFORM.

* << Fim da exclusão

FORM call_da.

  EXPORT /pws/zycie001-nrseq TO MEMORY ID rimc7.

  LOOP AT itab_zycit003.

    v_qtd_iten = itab_zycit003-qtd_iten.

    IF itab_zycit003-invoiced NE v_qtd_iten AND

...

 

...

      ENDLOOP.

    ENDIF.

  ELSE.

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

         /pws/zycit442~dtdesemb /pws/zycit460~lifnr /pws/zycit443~ebeln

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

        /pws/zycit443~ebelp /pws/zycit443~matnr /pws/zycit463~lote_forn

* << Fim da exclusão

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

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

           /pws/zycit463~lote_forn

* << Fim da inclusão

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

           /pws/zycit463~qtd_nac

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

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

             INNER JOIN /pws/zycit443 ON

...

 

...

          ENDIF.

        ENDIF.

      ENDLOOP.

    ENDIF.

    DESCRIBE TABLE itab_da LINES v_line.

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

    v_caller = 'SELECIONAR_DA'.

* << Fim da inclusão

    CALL SCREEN '0003'.

  ELSE.

    MESSAGE s015 WITH text-259.

  ENDIF.

ENDFORM.

...

 

...

      LOOP AT itab_zycit125 WHERE mark = 'X'.

        DELETE itab_zycit125 INDEX sy-tabix.

        CLEAR itab_zycit125.

      ENDLOOP.

    WHEN 'FC_DA'.

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

      CLEAR  : itab_zycit036_del, itab_zycit455_del.

      REFRESH: itab_zycit036_del, itab_zycit455_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.

...

 

...

          ENDIF.

          MOVE:itab_zycit003-ebeln    TO itab_zycit003_del-ebeln,

               itab_zycit003-ebelp    TO itab_zycit003_del-ebelp,

               itab_zycit003-qtd_iten TO itab_zycit003_del-qtd_iten.

          APPEND itab_zycit003_del.

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

          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.

            MOVE:itab_zycit003-ebeln    TO itab_zycit455_del-ebeln,

                 itab_zycit003-ebelp    TO itab_zycit455_del-ebelp,

                 space                  TO itab_zycit455_del-nrseq,

                 itab_zycit003-nrseqda  TO itab_zycit455_del-nrseqda.

            APPEND itab_zycit455_del.

          ENDIF.

* << Fim da inclusão

          DELETE itab_zycit003 INDEX v_tabix.

          CLEAR itab_zycit003.

        ELSE.

          MESSAGE w015 WITH text-190.

          EXIT.

...

 

...

  ENDIF.

ENDFORM.

FORM verifica_itens_da.

  DATA:   v_ebelp      LIKE konv-kposn,

    itab_zycit100_per LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.

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

  CLEAR /pws/zycie001-netpr.

* << Fim da exclusão

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

  CLEAR : /pws/zycie001-netpr , v_netpr.

* << Fim da inclusão

  IF ( sy-tcode = '/PWS/ZYCI001_E' OR

       sy-tcode = '/PWS/ZYCI001_A' ) AND

     ( okcode = 'P-' OR okcode = 'P--' OR

       okcode = 'P+' OR okcode = 'P++' ).

  ELSEIF okcode EQ 'SELE_DA' OR okcode EQ 'ENTE' OR okcode EQ 'SAVE' OR

...

 

...

           ebeln = itab_zycit003-ebeln AND

           ebelp = itab_zycit003-ebelp AND

           eliminado = space.

    FREE itab_itens_aux.

    CLEAR itab_itens_aux.

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

    IF NOT itab_zycit003[] IS INITIAL AND /pws/zycit442 IS INITIAL.

      READ TABLE itab_zycit003 INDEX 1.

      SELECT SINGLE * FROM /pws/zycit442

        WHERE nrseqda EQ itab_zycit003-nrseqda.

    ELSE.

* << Fim da inclusão

    SELECT SINGLE * FROM /pws/zycit455

       WHERE nrseq EQ /pws/zycie001-nrseq.

    SELECT SINGLE * FROM /pws/zycit442

      WHERE nrseqda EQ /pws/zycit455-nrseqda.

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

    ENDIF.

* << Fim da inclusão

    SELECT * FROM /pws/zycit443

      INTO TABLE itab_zycit443_aux

      FOR ALL ENTRIES IN itab_zycit003

      WHERE ebeln EQ itab_zycit003-ebeln

      AND   ebelp EQ itab_zycit003-ebelp.

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

    PERFORM calcula_saldo_da.

* << Fim da inclusão

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

    LOOP AT itab_zycit003.

      PERFORM load_pttext USING itab_zycit003-matnr

                           sy-langu.

      PERFORM: aplicacao.

      MODIFY itab_zycit003.

    ENDLOOP.

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

    PERFORM calcula_saldo_da.

* << Fim da exclusão

    SELECT SINGLE * FROM /pws/zycit094

      WHERE nrseq = /pws/zycie001-nrseq.

    IF sy-subrc = 0.

      SELECT SINGLE * FROM /pws/zycit093

        WHERE nrseqce = /pws/zycit094-nrseqce.

...

 

...

      MESSAGE e015 WITH text-213.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycit003.

    v_tabix = sy-tabix.

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

    /pws/zycie001-netpr = /pws/zycie001-netpr + v_netpr.

* << Fim da exclusão

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

    v_netpr = v_netpr +

      ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).

    /pws/zycie001-netpr = v_netpr.

* << Fim da inclusão

    IF /pws/zycie001-netpr < 0.

      CLEAR /pws/zycie001-netpr.

      MESSAGE e061 WITH text-235 text-236.

    ENDIF.

    SELECT SINGLE j_1bmatuse INTO ekpo-j_1bmatuse

...

 

...

         itab_zycit443_aux-gewei = 'G' AND NOT

         itab_zycit003-qtd_iten IS INITIAL.

        itab_zycit003-ntgew = 1 / 1000.

      ENDIF.

    ENDIF.

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

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

      READ TABLE itab_zycit443 WITH KEY

                   ebeln = itab_zycit003-ebeln

                   ebelp = itab_zycit003-ebelp.

      IF sy-subrc EQ  0 .

        itab_zycit003-sld_da   =  itab_zycit443-qtd_da -

        ( itab_zycit443-qtd_util + itab_zycit003-qtd_iten ).

      ENDIF.

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

* << Fim da exclusão

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

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

       /pws/zycie001-regime EQ '16'.

* << Fim da inclusão

      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

         AND   ebelp EQ itab_zycit443-ebelp.

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

        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.

          LOOP AT itab_zycit001_saldo WHERE regime EQ '04'.

            DELETE itab_zycit003_saldo

              WHERE nrseq EQ itab_zycit001_saldo-nrseq.

          ENDLOOP.

        ENDIF.

* << Fim da inclusão

        clear v_qtdutil_da.

        LOOP AT itab_zycit003_saldo.

          if itab_zycit003_saldo-nrseq ne /pws/zycie001-nrseq.

            v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten .

          endif.

...

 

...

    DELETE itab_da WHERE qtd_nac IS initial.

  ENDIF.

  READ TABLE itab_da INDEX 1.

  IF NOT itab_da[] IS INITIAL AND ( /pws/zycie001-regime EQ '14' OR

                                    /pws/zycie001-regime EQ '16' ).

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

    SELECT SINGLE * FROM /pws/zycit442

* << Fim da exclusão

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

    SELECT SINGLE *

      FROM /pws/zycit442

* << Fim da inclusão

    WHERE nrseqda EQ itab_da-nrseqda

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

    AND  (  codreg  EQ '02' OR

            codreg = '04' ).

* << Fim da exclusão

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

        AND ( codreg EQ '02' OR

              codreg EQ '04' ).

* << Fim da inclusão

    IF /pws/zycit442-statusfin NE space.

      MESSAGE i015 WITH text-255.

      EXIT.

    ENDIF.

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

    SELECT *

      INTO TABLE itab_zycit443

      FROM /pws/zycit443

      FOR ALL ENTRIES IN itab_da

      WHERE nrseqda EQ itab_da-nrseqda.

* << Fim da inclusão

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

    SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

* << Fim da exclusão

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

    SELECT *

      INTO TABLE itab_zycit442

      FROM /pws/zycit442

* << Fim da inclusão

    FOR ALL ENTRIES IN itab_da

    WHERE nrseqda EQ itab_da-nrseqda.

  ENDIF.

  IF NOT /pws/zycit442 IS INITIAL.

    MOVE :

...

 

...

                                 ebelp = itab_zycit443-ebelp.

    IF sy-subrc = 0.

      MOVE:

       itab_zycit443-advalicms      TO    itab_zycit003-advalicms ,

       itab_zycit443-advalii        TO    itab_zycit003-advalii   ,

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

       itab_zycit443-advalipi     TO    itab_zycit003-advalipi,

* << Fim da exclusão

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

       itab_zycit443-advalipi       TO    itab_zycit003-advalipi,

* << Fim da inclusão

       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     ,

...

 

...

    IF /pws/zycie001-netpr < 0.

      CLEAR /pws/zycie001-netpr.

      MESSAGE e061 WITH text-235 text-236.

    ENDIF.

  ENDLOOP.

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

ENDFORM.

* << Fim da inclusão

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

ENDFORM.

* << Fim da exclusão

FORM user_command_0003.

  CASE sy-ucomm.

    WHEN 'ENTER'.

      PERFORM:

               selecionar_itens_da.

...

 

...

  IF itab_zycit443[] IS INITIAL.

    SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

      WHERE nrseqda EQ /pws/zycit442-nrseqda.

  ENDIF.

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

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

  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

     AND   ebelp EQ itab_zycit443-ebelp.

    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.

      LOOP AT itab_zycit001_saldo WHERE regime EQ '16'.

        DELETE itab_zycit003_saldo

          WHERE nrseq EQ itab_zycit001_saldo-nrseq.

      ENDLOOP.

    ENDIF.

    LOOP AT itab_zycit443.

* << Fim da inclusão

  CLEAR v_qtdutil_da.

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

  LOOP AT itab_zycit443 .

    v_tabix = sy-tabix.

    LOOP AT itab_zycit443_saldo WHERE ebeln = itab_zycit443-ebeln

                                AND   ebelp = itab_zycit443-ebelp.

      READ TABLE itab_zycit455 WITH KEY

              ebeln = itab_zycit443_saldo-ebeln

              ebelp = itab_zycit443_saldo-ebelp.

      IF sy-subrc = 0 AND NOT

         itab_zycit455-nrseq IS INITIAL AND

         itab_zycit455-nrseq NE /pws/zycie001-nrseq.

        v_qtdutil_da = v_qtdutil_da + itab_zycit443_saldo-qtd_da.

* << Fim da exclusão

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

      v_index = sy-tabix.

      LOOP AT itab_zycit003_saldo WHERE ebeln EQ itab_zycit443-ebeln

                                  AND   ebelp EQ itab_zycit443-ebelp.

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

          v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten.

* << Fim da inclusão

      ENDIF.

    ENDLOOP.

    itab_zycit443-qtd_util = v_qtdutil_da.

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

    MODIFY itab_zycit443 INDEX v_tabix.

* << Fim da exclusão

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

      MODIFY itab_zycit443 INDEX v_index.

* << Fim da inclusão

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

...

 

...

  DESCRIBE TABLE itab_da LINES tc_selda-lines.

  LOOP AT tc_selda-cols INTO wa_cols.

    IF v_status_s = '0'.

      wa_cols-screen-input = '0'.

    ENDIF.

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

    CASE wa_cols-screen-name.

      WHEN 'ITAB_DA-QTD_NAC'.

        IF v_caller EQ 'SELECIONAR_RC'.

          wa_cols-screen-input = '0'.

        ENDIF.

    ENDCASE.

* << Fim da inclusão

    MODIFY tc_selda-cols FROM wa_cols.

  ENDLOOP.

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

ENDFORM.

* << Fim da inclusão

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

ENDFORM.

* << Fim da exclusão

FORM salva_dados_da.

  LOOP AT itab_zycit003_del.

    DELETE itab_zycit455 WHERE nrseq  = /pws/zycie001-nrseq

                    AND   ebeln    = itab_zycit003_del-ebeln

                    AND   ebelp    = itab_zycit003_del-ebelp .

...

 

...

                    AND   ebeln    = itab_zycit003-ebeln

                    AND   ebelp    = itab_zycit003-ebelp .

  ENDLOOP.

  COMMIT WORK.

ENDFORM.

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

FORM salva_dados_rc.

  FIELD-SYMBOLS:

    <fs_tabrc> TYPE STANDARD TABLE,

    <fs_hearc> TYPE ANY,

    <fs_fldrc> TYPE ANY.

  DATA:

    v_tipo TYPE REF TO data,

    v_reg  TYPE i.

  CLEAR v_tipo.

  PERFORM criar_tipo USING v_tabname1 CHANGING v_tipo.

  IF NOT v_tipo IS INITIAL.

    ASSIGN v_tipo->* TO <fs_tabrc>.

  ENDIF.

  IF NOT <fs_tabrc> IS ASSIGNED.

    EXIT.

  ENDIF.

  LOOP AT itab_zycit003_del.

    LOOP AT itab_zycit455

      WHERE nrseq EQ /pws/zycie001-nrseq

        AND ebeln EQ itab_zycit003_del-ebeln

        AND ebelp EQ itab_zycit003_del-ebelp.

      READ TABLE itab_zycit442

        WITH KEY nrseqda = itab_zycit455-nrseqda.

      IF sy-subrc EQ 0.

        REFRESH <fs_tabrc>.

        SELECT *

          INTO TABLE <fs_tabrc>

          FROM (v_tabname1)

          WHERE cod_matriz      EQ /pws/zycie001-bukrs

            AND cod_filial      EQ /pws/zycie001-j_1bbranch

            AND num_da_di       EQ itab_zycit442-nrdi

            AND num_adicao      EQ itab_zycit455-adicao

            AND num_item_adicao EQ itab_zycit455-itseqda

            AND id_util         EQ 'X'.

        IF NOT <fs_tabrc>[] IS INITIAL.

          LOOP AT <fs_tabrc> ASSIGNING <fs_hearc>.

            UNASSIGN <fs_fldrc>.

            ASSIGN COMPONENT 'ID_UTIL' OF STRUCTURE <fs_hearc>

              TO <fs_fldrc>.

            IF <fs_fldrc> IS ASSIGNED.

              <fs_fldrc> = space.

            ENDIF.

          ENDLOOP.

          UPDATE (v_tabname1) FROM TABLE <fs_tabrc>.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

  LOOP AT itab_zycit003.

    LOOP AT itab_zycit455

      WHERE nrseqda EQ itab_zycit003-nrseqda

        AND ebeln   EQ itab_zycit003-ebeln

        AND ebelp   EQ itab_zycit003-ebelp

        AND adicao  EQ itab_zycit003-adicao.

      READ TABLE itab_zycit442

        WITH KEY nrseqda = itab_zycit455-nrseqda.

      IF sy-subrc EQ 0.

        REFRESH <fs_tabrc>.

        SELECT *

          INTO TABLE <fs_tabrc>

          FROM (v_tabname1)

          WHERE cod_matriz      EQ /pws/zycie001-bukrs

            AND cod_filial      EQ /pws/zycie001-j_1bbranch

            AND num_da_di       EQ itab_zycit442-nrdi

            AND num_adicao      EQ itab_zycit455-adicao

            AND num_item_adicao EQ itab_zycit455-itseqda

            AND id_util         EQ space.

        IF NOT <fs_tabrc>[] IS INITIAL.

          LOOP AT <fs_tabrc> ASSIGNING <fs_hearc>.

            UNASSIGN <fs_fldrc>.

            ASSIGN COMPONENT 'ID_UTIL' OF STRUCTURE <fs_hearc>

              TO <fs_fldrc>.

            IF <fs_fldrc> IS ASSIGNED.

              <fs_fldrc> = 'X'.

            ENDIF.

          ENDLOOP.

          UPDATE (v_tabname1) FROM TABLE <fs_tabrc>.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

FORM carrega_itab_0111.

  MOVE-CORRESPONDING  /pws/zycie003 TO  itab_zycit003.

  MODIFY itab_zycit003 INDEX tc_da-current_line.

ENDFORM.

FORM consiste_sld_da.

...

 

...

FORM selecionar_rc.

  FIELD-SYMBOLS:

    <fs_tabrc> TYPE STANDARD TABLE,

    <fs_hearc> TYPE ANY,

    <fs_fldrc> TYPE ANY.

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

  DATA:

    itab_zycit003_saldo LIKE itab_zycit003 OCCURS 0

      WITH HEADER LINE.

* << Fim da inclusão

  DATA:

    v_tipo TYPE REF TO data,

    v_reg  TYPE i,

    BEGIN OF itab_rc_aux OCCURS 100,

      cod_matriz      TYPE /pws/zycie442-bukrs,

...

 

...

          itab_da-qtd_nac = itab_rc_aux-quantidade.

          MODIFY itab_da FROM itab_da TRANSPORTING qtd_nac.

        ENDIF.

      ENDLOOP.

    ENDIF.

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

  ENDIF.

* << Fim da exclusão

  IF NOT itab_da[] IS INITIAL.

    DESCRIBE TABLE itab_da LINES v_line.

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

      v_caller = 'SELECIONAR_RC'.

* << Fim da inclusão

    CALL SCREEN '0003'.

  ELSE.

    MESSAGE s015 WITH text-259.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM criar_tipo USING    p_tabname

                CHANGING p_tipo.

  DATA:

...

 

...

         it_fieldcatalog = t_fieldcat

       IMPORTING

         ep_table        = p_tipo.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM gravar_custos.

  TABLES: j_1bbranch   ,

          adrc         ,

          /pws/zycit062,

          /pws/zycit036.

  DATA: BEGIN OF itab_zycit461 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit461.

  DATA: dtlanc     LIKE /pws/zycit459-dtlanc,

        hr_docfat LIKE /pws/zycit459-hr_docfat.

  DATA: END OF itab_zycit461.

  DATA: BEGIN OF itab_zycit466 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit466.

  DATA: END OF itab_zycit466.

  DATA: itab_zycit036_aux LIKE /pws/zycit036 OCCURS 0 WITH HEADER LINE,

        itab_zycit459 LIKE /pws/zycit459 OCCURS 0 WITH HEADER LINE,

        itab_zycit465 LIKE /pws/zycit465 OCCURS 0 WITH HEADER LINE,

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

        itab_zycit461_aux LIKE itab_zycit461 OCCURS 0 WITH HEADER LINE,

        itab_zycit466_aux LIKE itab_zycit466 OCCURS 0 WITH HEADER LINE.

  DATA:  v_vldp      LIKE /pws/zycit461-vldp,

         v_netpc_nac LIKE /pws/zycit036-netpr,

         v_netdc_nac LIKE /pws/zycit036-netpr,

         v_vldpd     LIKE /pws/zycit466-vldp .

  CLEAR   : itab_zycit003_saldo.

  REFRESH : itab_zycit003_saldo.

  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.

  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

              branch = /pws/zycie001-j_1bbranch.

    IF sy-subrc EQ 0.

      SELECT SINGLE * FROM adrc

         WHERE addrnumber = j_1bbranch-adrnr.

    ENDIF.

    SELECT SINGLE * FROM /pws/zycit062

         WHERE regio = adrc-region.

    IF /pws/zycbt007 IS INITIAL.

      SELECT SINGLE *

        FROM /pws/zycbt007

        WHERE bukrs EQ /pws/zycie001-bukrs.

    ENDIF.

    SELECT * FROM /pws/zycit019 INTO TABLE itab_zycit019

     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.

    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.

    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

        WHERE nrseqda EQ itab_zycit003-nrseqda

        AND status EQ 'A'.

    IF sy-subrc EQ 0.

      SELECT * FROM /pws/zycit461 INTO TABLE itab_zycit461

      FOR ALL ENTRIES IN itab_zycit459

        WHERE nrseqda  = itab_zycit459-nrseqda.

    ENDIF.

    SELECT * FROM /pws/zycit465 INTO TABLE itab_zycit465

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq EQ itab_zycit003-nrseqda

        AND status EQ 'A'.

    IF sy-subrc EQ 0.

      SELECT * FROM /pws/zycit466 INTO TABLE itab_zycit466

      FOR ALL ENTRIES IN itab_zycit465

           WHERE nrseq  = itab_zycit465-nrseq

             AND nradto = itab_zycit465-nradto.

    ENDIF.

  ENDIF.

  DELETE itab_zycit036_aux WHERE origem EQ 'PED'.

  SORT itab_zycit459 BY dtlanc hr_docfat .

  DESCRIBE TABLE itab_zycit459 LINES v_line.

  READ TABLE itab_zycit459 INDEX 1.

  LOOP AT itab_zycit461 WHERE nrseqda EQ itab_zycit459-nrseqda

                        AND   nradto  EQ itab_zycit459-nrpres.

    READ TABLE itab_zycit461_aux WITH KEY

                       tpdesp = itab_zycit461-tpdesp.

    IF sy-subrc NE 0.

      MOVE itab_zycit461 TO itab_zycit461_aux.

      APPEND itab_zycit461_aux.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit459.

    LOOP AT itab_zycit461 WHERE nrseqda EQ itab_zycit459-nrseqda

                        AND   nradto  EQ itab_zycit459-nrpres.

      itab_zycit461-dtlanc    = itab_zycit459-dtlanc.

      itab_zycit461-hr_docfat = itab_zycit459-hr_docfat.

      MODIFY itab_zycit461.

    ENDLOOP.

  ENDLOOP.

  SORT itab_zycit466 BY dtlanc hr_f02 tpdesp.

  DESCRIBE TABLE itab_zycit465 LINES v_line.

  LOOP AT itab_zycit466.

    READ TABLE itab_zycit466_aux WITH KEY

                       tpdesp = itab_zycit466-tpdesp.

    IF sy-subrc NE 0.

      MOVE itab_zycit466 TO itab_zycit466_aux.

      APPEND itab_zycit466_aux.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit003.

    DESCRIBE TABLE itab_zycit459 LINES v_line.

    LOOP AT itab_zycit461 .

      CLEAR v_qtdutil_da.

      READ TABLE itab_zycit459 WITH KEY nrseqda = itab_zycit461-nrseqda

                                        nrpres  = itab_zycit461-nradto.

      READ TABLE itab_zycit019 WITH KEY tpdesp = itab_zycit461-tpdesp.

      IF sy-subrc EQ 0.

        READ TABLE itab_zycit461_aux

                           WITH KEY nrseqda = itab_zycit461-nrseqda

                                    tpdesp  = itab_zycit461-tpdesp

                                    nradto  = itab_zycit461-nradto .

        IF sy-subrc NE 0.

          LOOP AT itab_zycit003_saldo

                    WHERE ebeln EQ itab_zycit003-ebeln

                   AND ebelp EQ itab_zycit003-ebelp.

            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 .

              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.

            ENDIF.

          ENDLOOP.

        ENDIF.

        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,

              itab_zycit019-codigo   TO itab_zycit036_aux-codigo,

              'PCD'                  TO itab_zycit036_aux-origem,

              /pws/zycie001-bukrs    TO itab_zycit036_aux-bukrs,

              itab_zycit003-werks    TO itab_zycit036_aux-werks,

              'D'                    TO itab_zycit036_aux-codmod,

              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_zycit461-nradto   TO itab_zycit036_aux-nrseqori  .

        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-vlreal = ( itab_zycit003-qtd_iten /

              ( itab_zycit443-qtd_da - v_qtdutil_da ) )   *

              itab_zycit461-vldp.

          ENDIF.

          IF NOT itab_zycit036_aux-vlreal LT 0.

            APPEND itab_zycit036_aux.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

    DESCRIBE TABLE itab_zycit465 LINES v_line.

    LOOP AT itab_zycit466 .

      CLEAR v_qtdutil_da.

      READ TABLE itab_zycit019 WITH KEY tpdesp = itab_zycit466-tpdesp.

      IF sy-subrc EQ 0.

          LOOP AT itab_zycit003_saldo

                    WHERE ebeln EQ itab_zycit003-ebeln

                   AND ebelp EQ itab_zycit003-ebelp.

            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 .

              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.

        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,

              itab_zycit019-codigo   TO itab_zycit036_aux-codigo,

              'DCD'                  TO itab_zycit036_aux-origem,

              /pws/zycie001-bukrs    TO itab_zycit036_aux-bukrs,

              itab_zycit003-werks    TO itab_zycit036_aux-werks,

              'D'                    TO itab_zycit036_aux-codmod,

              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  .

        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-vlreal = ( itab_zycit003-qtd_iten /

              ( itab_zycit443-qtd_da - v_qtdutil_da ) )   *

              itab_zycit466-vldp.

          ENDIF.

          IF NOT itab_zycit036_aux-vlreal LT 0.

            APPEND itab_zycit036_aux.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

  LOOP AT itab_zycit036_aux.

    MODIFY /pws/zycit036 FROM itab_zycit036_aux.

  ENDLOOP.

  COMMIT WORK.

ENDFORM.

FORM call_rec.

  SELECT SINGLE * FROM /pws/zycit455

    WHERE nrseq EQ /pws/zycie001-nrseq.

  SELECT SINGLE nrseqda FROM /pws/zycit443

         INTO v_nrseqdi

         WHERE nrseqda = /pws/zycit455-nrseqda.

  SELECT SINGLE * FROM /pws/zycit442

      WHERE nrseqda = v_nrseqdi.

  IF sy-subrc = 0.

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

      SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit442-nrseqda.

      SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit442-identify.

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

    ELSEIF sy-tcode EQ '/PWS/ZYCI001_A'.

      SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit442-nrseqda.

      SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit442-identify.

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

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

      SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit442-nrseqda.

      SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit442-identify.

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

    ENDIF.

  ELSE.

    MESSAGE e015 WITH text-049.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

        v_waers_diferente = 'X'.

      ENDLOOP.

      IF sy-subrc NE 0.

        /pws/zycie001-waers = v_moeda.

      ENDIF.

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

   if /pws/zycie001-regime ne '14'  and

      /pws/zycie001-regime ne '16'.

* << Fim da inclusão

      LOOP AT itab_zycit003.

        IF v_waers_diferente = 'X'.

          PERFORM busca_taxa_dia USING itab_zycit003-waers

                                 CHANGING v_taxa .

        ELSE.

...

 

...

                   v_taxa ).

        PERFORM tratar_decimais USING   itab_zycit003-waers

                               CHANGING v_netpr.

        /pws/zycie001-netpr = /pws/zycie001-netpr + v_netpr.

      ENDLOOP.

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

 endif.

* << Fim da inclusão

  ENDCASE.

ENDMODULE.

MODULE atualizar_itens INPUT.

  DATA:v_ver_index LIKE sy-tabix.

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

...

 

...

      WHEN 'RECEB'.

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

          MESSAGE i013 WITH text-202.

          EXIT.

        ENDIF.

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

        if /pws/zycie001-regime ne '04'.

* << Fim da inclusão

        PERFORM call_bt.

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

        else.

           perform call_rec.

        endif.

* << Fim da inclusão

      WHEN 'CO'.

        IF v_status_s NE 0.

          PERFORM grava_tabelas.

        ENDIF.

        PERFORM call_corigem.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001O01

 

...

       perform carrega_estrutura.

          DESCRIBE TABLE itab_zycit003 LINES v_line.

          tc_da-lines = v_line.

      endif.

   endif.

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

endmodule.

* << Fim da inclusão

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

endmodule.

* << Fim da exclusão

module STATUS_0003 output.

  SET PF-STATUS '0003'.

endmodule.

 

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

Modificações efetuadas em REPS /PWS/MZYCI001TOP

 

...

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,

END OF itab_zycit003_del.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit036_del OCCURS 0.

DATA: nrseq     LIKE /pws/zycie036-nrseq,

      ebeln     LIKE /pws/zycie036-ebeln,

      ebelp     LIKE /pws/zycie036-ebelp,

END OF itab_zycit036_del.

DATA: itab_zycit455_del LIKE /pws/zycit455 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

DATA t_zycit003 LIKE /pws/zycit003 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_zycit008 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit008.

DATA: END OF itab_zycit008.

DATA: BEGIN OF itab_zycit354 OCCURS 10.

...

 

...

  v_fldname1      TYPE dd03l-fieldname,

  v_fldname2      TYPE dd03l-fieldname,

  v_fldname3      TYPE dd03l-fieldname,

  v_fldname4      TYPE dd03l-fieldname,

  v_fldname5      TYPE dd03l-fieldname,

* >> Início da inclusão:

  v_caller        TYPE syst-xform,

* << Fim da inclusão

  v_mexit(01)     TYPE c.

DATA v_land1 LIKE t001-land1.

DATA v_valida.

DATA:

ok_code LIKE sy-ucomm               ,

...

 

...

  IF sy-dynnr EQ '0701'.

    IF v_tabname1 IS INITIAL.

      LEAVE TO SCREEN 0.

    ENDIF.

    SET TITLEBAR '0701'.

* >> Início da inclusão:

    REFRESH:

      so_matri,

      so_filia.

* << Fim da inclusão

    MOVE:

      /pws/zycie001-bukrs      TO so_matri-low,

      /pws/zycie001-j_1bbranch TO so_filia-low.

    LOOP AT SCREEN.

      IF ( screen-name EQ 'SO_MATRI-LOW' AND

...

 

...

           NOT so_filia-low IS INITIAL ).

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

* >> Início da inclusão:

    IF NOT so_matri-low IS INITIAL.

      so_matri-sign = 'I'.

      so_matri-option = 'EQ'.

      APPEND so_matri.

    ENDIF.

    IF NOT so_filia-low IS INITIAL.

      so_filia-sign = 'I'.

      so_filia-option = 'EQ'.

      APPEND so_filia.

    ENDIF.

* << Fim da inclusão

  ENDIF.

AT SELECTION-SCREEN.

  CASE sy-dynnr .

    WHEN '0300'.

      CASE sy-ucomm.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

        INCLUDE STRUCTURE /pws/zycit443.

DATA: END OF itab_zycit443_saldo.

DATA: BEGIN OF itab_zycit003_saldo OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit003.

DATA: END OF itab_zycit003_saldo.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit001_saldo OCCURS 0,

        nrseq like /pws/zycit001-nrseq,

        regime like /pws/zycit001-regime.

DATA: END OF itab_zycit001_saldo.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit455 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit455.

DATA: END OF itab_zycit455.

DATA: BEGIN OF itab_zycit455_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit455.

...

 

...

DATA: END OF itab_da.

DATA: itab_zycit443_aux LIKE itab_zycit443 OCCURS 0 WITH HEADER LINE,

      itab_da_aux       LIKE itab_da OCCURS 0 WITH HEADER LINE,

      itab_da_aux2      LIKE itab_da OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_nac OCCURS 0.

* >> Início da exclusão:

DATA: ebeln LIKE /pws/zycit443-ebeln,

      ebelp LIKE /pws/zycit443-ebelp,

* << Fim da exclusão

* >> Início da inclusão:

DATA:   ebeln   LIKE /pws/zycit443-ebeln,

        ebelp   LIKE /pws/zycit443-ebelp,

* << Fim da inclusão

      qtd_nac LIKE /pws/zycit443-qtd_iten.

DATA: END OF itab_nac.

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPS /PWS/MZYCI075F02

 

...

                         AND ebeln    EQ itab_zycit036-ebeln

                         AND ebelp    EQ itab_zycit036-ebelp

                         AND codigo   EQ itab_zycit036-codigo

                         AND origem   EQ 'PC'

                         AND nrseqori EQ itab_zycit036-nrseqori.

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

    IF sy-subrc NE 0.

      MODIFY /pws/zycit036 FROM itab_zycit036.

    ENDIF.

* << Fim da exclusão

  ENDLOOP.

  /pws/zycie459-dtlanc = sy-datlo.

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

    WHERE nrpres = /pws/zycie459-nrpres.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

  /pws/zycit085,

  /pws/zycit100,

  /pws/zycit093,

  /pws/zycit132,

  /pws/zycit174,

* >> Início da exclusão:

  indx.

* << Fim da exclusão

* >> Início da inclusão:

  indx,

  /pws/zycit442.

* << Fim da inclusão

DATA: BEGIN OF itab_zycit003 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit003.

DATA:  mark.

DATA: END OF itab_zycit003.

DATA: BEGIN OF itab_zycit029 OCCURS 0.

...

 

...

        INCLUDE STRUCTURE /pws/zycit007.

DATA: END OF itab_zycit007.

DATA: BEGIN OF itab_tcurc OCCURS 0.

        INCLUDE STRUCTURE tcurc.

DATA: END OF itab_tcurc.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycit443 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit443.

DATA: END OF itab_zycit443.

* << Fim da inclusão

DATA: wa_t001w LIKE t001w,

      wa_bseg  LIKE bseg OCCURS 0.

DATA:

  v_netpr  LIKE ekpo-netpr,

  v_porcent LIKE konv-kbetr,

...

 

...

            fator_nao_encontrado       = 6

            i_montante_nao_encontrado  = 7

            OTHERS                     = 8.

ENDFORM.

FORM custear_itens.

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

  if /pws/zycie001-regime ne '14'.

* << Fim da inclusão

  PERFORM calcular_outros_custos  TABLES itab_zycit036.

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

  else.

     PERFORM calcular_outros_custos_da  TABLES itab_zycit036.

  endif.

* << Fim da inclusão

ENDFORM.

FORM gravar_tabelas.

  DATA: itab_zycit036_cong LIKE itab_zycit036 OCCURS 0 WITH HEADER LINE.

  MOVE itab_zycit036[] TO itab_zycit036_cong[].

  DELETE itab_zycit036_cong WHERE congelamov NE 'X'.

...

 

...

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  p_valor = p_valor / ( 10 ** ( tcurx-currdec - 2 ) ).

ENDFORM.

* >> Início da inclusão:

FORM calcular_outros_custos_da

  TABLES itab_zycit036 STRUCTURE itab_zycit036.

  DATA: v_importou,

        v_real_brl LIKE /pws/zycit036-vlreal,

        v_valor    LIKE /pws/zycit036-vlreal,

        v_val_real LIKE /pws/zycit036-vlreal,

        v_itemcongela,

        v_belnr_p  LIKE /pws/zycit006-belnr_p,

        v_nrseq_fat LIKE /pws/zycit006-nrseq,

        v_kursf    LIKE bkpf-kursf,

        itab_zycit036_auxl LIKE itab_zycit036 OCCURS 10 WITH HEADER LINE

,

        itab_bkpf  LIKE bkpf OCCURS 10 WITH HEADER LINE,

        v_dtincl LIKE /pws/zycit006-dtincl,

        v_acum_seg LIKE /pws/zycit442-vlseg,

        v_acum_fre LIKE /pws/zycit442-vlfre,

        v_result   LIKE /pws/zycit036-vldif,

        v_resultf  LIKE /pws/zycit036-vldif,

        v_vlfre    LIKE /pws/zycit442-vlfre,

        v_ukursfre LIKE /pws/zycit442-ukursfre,

        v_vlseg    LIKE /pws/zycit442-vlseg,

        v_ukursseg LIKE /pws/zycit442-ukursseg,

        v_usd      LIKE /pws/zycie442-ukursfob,

        v_vl       LIKE /pws/zycit036-netpr VALUE '0.01',

        v_val_tot  LIKE /pws/zycit036-vlreal ,

        v_val_tots  LIKE /pws/zycit036-vlreal ,

        v_linf TYPE i,

        v_lins TYPE i,

        v_tot_lins TYPE i,

        v_tot_linf TYPE i,

        v_valor_mi LIKE /pws/zycit036-vlreal,

        v_val     LIKE /pws/zycit443-vlseg  .

  IF itab_zycit036[] IS INITIAL .

    v_importou = 'S'.

    indx-aedat = sy-datum.

    indx-usera = sy-uname.

    IMPORT itab_zycit036_auxiliar[] FROM MEMORY ID 'I006A'.

    MOVE-CORRESPONDING itab_zycit036_auxiliar TO itab_zycit036.

  ENDIF.

  READ TABLE itab_zycit036 INDEX 1.

  IF pa_nrseq IS INITIAL.

    pa_nrseq = itab_zycit036-nrseq.

  ENDIF.

  SELECT SINGLE * FROM /pws/zycit001 WHERE nrseq = itab_zycit036-nrseq.

  SELECT SINGLE *

    FROM t001

    WHERE bukrs EQ /pws/zycit001-bukrs.

  CLEAR: itab_zycit140. FREE: itab_zycit140.

  SELECT * FROM /pws/zycit140 INTO TABLE itab_zycit140

       WHERE codmod EQ 'D' AND

       land1 EQ t001-land1.

  select * from /pws/zycit003 into table itab_zycit003

  where nrseq eq /pws/zycie001-nrseq.

  read table itab_zycit003 index 1.

  SELECT SINGLE nrseqda FROM /pws/zycit442 INTO pa_nrseq

    WHERE nrseqda = itab_zycit003-nrseqda.

  SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443

    WHERE nrseqda = pa_nrseq.

  SELECT SINGLE * FROM /pws/zycit442

    WHERE nrseqda = pa_nrseq.

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

  SELECT SINGLE *

    FROM /pws/zycbt007

    WHERE bukrs EQ /pws/zycit001-bukrs.

  CLEAR: itab_tcurc, itab_zycit174.

  REFRESH: itab_tcurc, itab_zycit174.

  IF NOT itab_zycit443[] IS INITIAL and

    /pws/zycit442-mdadicao = 'N'.

    SELECT * FROM tcurc INTO TABLE itab_tcurc

    FOR ALL ENTRIES IN itab_zycit443

    WHERE waers = itab_zycit443-waersbem.

    SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174

    WHERE  vigen_inicio <= /pws/zycit442-dttax AND

           vigen_fim    >= /pws/zycit442-dttax AND

           land1         = t001-land1.

  ENDIF.

  LOOP AT itab_zycit443.

    IF /pws/zycit442-mdadicao = 'N'.

      IF itab_zycit443-waersbem NE /pws/zycit442-waersfob.

        CLEAR : /pws/zycit174, v_moeda.

        READ TABLE itab_tcurc WITH KEY

          waers = itab_zycit443-waersbem.

        IF sy-subrc EQ 0.

          MOVE itab_tcurc-/pws/codmo TO v_moeda.

          READ TABLE itab_zycit174 WITH KEY

             codconver = v_moeda.

          IF sy-subrc EQ 0.

            MOVE itab_zycit174 TO /pws/zycit174.

          ENDIF.

        ENDIF.

        IF NOT /pws/zycit174-txconver IS INITIAL.

          itab_zycit443-vlfob  =

              itab_zycit443-vlfob * /pws/zycit174-txconver.

        ENDIF.

        CLEAR : /pws/zycit174, v_moeda.

        READ TABLE itab_tcurc WITH KEY

          waers = itab_zycit443-waersbem.

        IF sy-subrc EQ 0.

          MOVE itab_tcurc-/pws/codmo TO v_moeda.

          READ TABLE itab_zycit174 WITH KEY

             codconver = v_moeda.

          IF sy-subrc EQ 0.

            MOVE itab_zycit174 TO /pws/zycit174.

          ENDIF.

        ENDIF.

        IF NOT /pws/zycit174-txconver IS INITIAL.

          itab_zycit443-vlfob  =

              itab_zycit443-vlfob / /pws/zycit174-txconver.

        ENDIF.

        itab_zycit443-dttaxbem = /pws/zycit174-txconver.

        itab_zycit443-waersbem = /pws/zycit442-waersfob .

      ENDIF.

    ENDIF.

    MODIFY itab_zycit443 TRANSPORTING vlfob dttaxbem.

  ENDLOOP.

  PERFORM desconsidera_desp_est CHANGING itab_zycit036-nrseq.

  LOOP AT itab_zycit036.

    IF itab_zycit036-origem = 'PED'.

      MOVE itab_zycit036 TO itab_zycit036_plan.

      APPEND itab_zycit036_plan.

    ENDIF.

  ENDLOOP.

  MOVE itab_zycit036[] TO itab_zycit036_auxl[].

  LOOP AT itab_zycit036 WHERE NOT vlmov IS initial AND

                              origem NE 'PED'.

    READ TABLE itab_zycit036_auxl

             WITH KEY nrseq = itab_zycit036-nrseq

                      ebeln = itab_zycit036-ebeln

                      ebelp = itab_zycit036-ebelp

                      codigo = itab_zycit036-codigo

                      origem = 'PED'.

    IF sy-subrc = 0.

      CLEAR itab_zycit036_auxl-vlmov.

      MODIFY itab_zycit036_auxl INDEX sy-tabix.

    ENDIF.

  ENDLOOP.

  IF NOT itab_zycit036[] IS INITIAL.

    SELECT * FROM tcurc INTO TABLE itab_tcurc

       FOR ALL ENTRIES IN itab_zycit036

       WHERE waers EQ itab_zycit036-waers_real.

    SELECT * FROM tcurc APPENDING TABLE itab_tcurc

       WHERE waers = /pws/zycit442-waersfob.

    SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174

    WHERE vigen_inicio <= /pws/zycit442-dttax AND

          vigen_fim    >= /pws/zycit442-dttax AND

          land1       = t001-land1.

    IF itab_zycit003[] IS INITIAL.

      SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

        FOR ALL ENTRIES IN itab_zycit036

        WHERE nrseq = itab_zycit036-nrseq

          AND ebeln = itab_zycit036-ebeln

          AND ebelp = itab_zycit036-ebelp.

    ENDIF.

    IF itab_zycit263[] IS INITIAL.

      SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263

         FOR ALL ENTRIES IN itab_zycit036

         WHERE nrseq = itab_zycit036-nrseq

           AND ebeln = itab_zycit036-ebeln

           AND ebelp = itab_zycit036-ebelp

           AND eliminado NE 'X'.

    ENDIF.

    IF itab_zycit006[] IS INITIAL.

      SELECT *

        FROM /pws/zycit006

        INTO TABLE itab_zycit006

        FOR ALL ENTRIES IN itab_zycit036

        WHERE nrseq = itab_zycit036-nrseqori

          AND eliminado EQ space.

    ENDIF.

  ENDIF.

  IF NOT itab_zycit006[] IS INITIAL.

    DATA: BEGIN OF itab_zycit006_year OCCURS 0.

            INCLUDE STRUCTURE /pws/zycit006.

    DATA: END OF itab_zycit006_year.

    DATA: v_tabix LIKE sy-tabix,

          v_year  LIKE t009b-bdatj.

    MOVE itab_zycit006[] TO itab_zycit006_year[].

    LOOP AT itab_zycit006_year.

      v_tabix = sy-tabix.

      IF itab_zycit006_year-frpagto NE 'A'.

        IF NOT itab_zycit006_year-dt_belnrp IS INITIAL AND

           NOT itab_zycit006_year-bukrs IS INITIAL.

          CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

               EXPORTING

                    v_bukrs = itab_zycit006_year-bukrs

                    v_date  = itab_zycit006_year-dt_belnrp

               IMPORTING

                    v_year  = v_year.

          itab_zycit006_year-dt_belnrp+0(4) = v_year.

          MODIFY itab_zycit006_year INDEX v_tabix.

        ENDIF.

      ENDIF.

    ENDLOOP.

    IF NOT itab_zycit006[] IS INITIAL.

      SELECT *

        FROM bkpf

        INTO TABLE itab_bkpf

        FOR ALL ENTRIES IN itab_zycit006

        WHERE bukrs EQ itab_zycit006-bukrs

          AND belnr EQ itab_zycit006-belnr_p

          AND gjahr EQ itab_zycit006-dt_belnrp(04).

    ENDIF.

    itab_zycit006[] = itab_zycit006_year[].

  ENDIF.

  IF /pws/zycit442-mdadicao EQ 'N'.

    LOOP AT itab_zycit036 WHERE origem EQ 'NF'.

      v_index = sy-tabix.

      IF itab_zycit036-codigo EQ 'FOB' OR

         itab_zycit036-codigo EQ 'C&F' OR

         itab_zycit036-codigo EQ 'CIF' .

        IF itab_zycit036-waers_real NE /pws/zycit442-waersfob.

          READ TABLE itab_tcurc WITH KEY

            waers = itab_zycit036-waers_real.

          IF sy-subrc EQ 0.

            MOVE itab_tcurc-/pws/codmo TO v_moeda.

            READ TABLE itab_zycit174 WITH KEY

               codconver = v_moeda.

            IF sy-subrc EQ 0.

              MOVE itab_zycit174 TO /pws/zycit174.

            ENDIF.

          ENDIF.

          IF NOT /pws/zycit174-txconver IS INITIAL.

            itab_zycit036-vlreal =

                itab_zycit036-vlreal * /pws/zycit174-txconver.

          ENDIF.

          CLEAR : /pws/zycit174, v_moeda.

          READ TABLE itab_tcurc WITH KEY

            waers = /pws/zycit442-waersfob.

          IF sy-subrc EQ 0.

            MOVE itab_tcurc-/pws/codmo TO v_moeda.

            READ TABLE itab_zycit174 WITH KEY

               codconver = v_moeda.

            IF sy-subrc EQ 0.

              MOVE itab_zycit174 TO /pws/zycit174.

            ENDIF.

          ENDIF.

          IF NOT /pws/zycit174-txconver IS INITIAL.

            itab_zycit036-vlreal =

                itab_zycit036-vlreal / /pws/zycit174-txconver.

          ENDIF.

          itab_zycit036-waers_real = /pws/zycit442-waersfob.

        ENDIF.

      ENDIF.

      MODIFY itab_zycit036 INDEX v_index.

    ENDLOOP.

    CLEAR : /pws/zycit174, v_moeda.

    LOOP AT itab_zycit036 WHERE origem EQ 'FAT'.

      v_index = sy-tabix.

      IF itab_zycit036-codigo EQ 'FOB' OR

         itab_zycit036-codigo EQ 'C&F' OR

         itab_zycit036-codigo EQ 'CIF' .

        IF itab_zycit036-waers_real NE /pws/zycit442-waersfob.

          READ TABLE itab_tcurc WITH KEY

            waers = itab_zycit036-waers_real.

          IF sy-subrc EQ 0.

            MOVE itab_tcurc-/pws/codmo TO v_moeda.

            READ TABLE itab_zycit174 WITH KEY

               codconver = v_moeda.

            IF sy-subrc EQ 0.

              MOVE itab_zycit174 TO /pws/zycit174.

            ENDIF.

          ENDIF.

          IF NOT /pws/zycit174-txconver IS INITIAL.

            itab_zycit036-vlreal =

                itab_zycit036-vlreal * /pws/zycit174-txconver.

          ENDIF.

          CLEAR : /pws/zycit174, v_moeda.

          READ TABLE itab_tcurc WITH KEY

            waers = /pws/zycit442-waersfob.

          IF sy-subrc EQ 0.

            MOVE itab_tcurc-/pws/codmo TO v_moeda.

            READ TABLE itab_zycit174 WITH KEY

               codconver = v_moeda.

            IF sy-subrc EQ 0.

              MOVE itab_zycit174 TO /pws/zycit174.

            ENDIF.

          ENDIF.

          IF NOT /pws/zycit174-txconver IS INITIAL.

            itab_zycit036-vlreal =

                itab_zycit036-vlreal / /pws/zycit174-txconver.

          ENDIF.

          itab_zycit036-waers_real = /pws/zycit442-waersfob.

        ENDIF.

      ENDIF.

      MODIFY itab_zycit036 INDEX v_index.

    ENDLOOP.

  ENDIF.

  LOOP AT itab_zycit140 WHERE origem = 'NF'.

    LOOP AT itab_zycit036 WHERE nrseqori <> '9999999999' AND

                                      codigo = itab_zycit140-codigo.

    ENDLOOP.

    IF sy-subrc = 0.

      DELETE itab_zycit036 WHERE codigo = itab_zycit140-codigo AND

                                 nrseqori = '9999999999'.

    ENDIF.

  ENDLOOP.

  CLEAR: v_tot_linf, v_tot_lins, v_linf, v_lins.

  SORT itab_zycit036 BY ebeln ebelp origem codigo.

  LOOP AT itab_zycit036 WHERE codigo EQ 'FRETEI'.

    v_tot_linf = v_tot_linf + 1.

  ENDLOOP.

  LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'.

    v_tot_lins = v_tot_lins + 1.

  ENDLOOP.

  data : begin of itab_zycit006_fat occurs 0.

         include structure /pws/zycit006.

  data : end of itab_zycit006_fat.

  if not itab_zycit263[] is initial.

    SELECT * FROM /pws/zycit006 into table itab_zycit006_fat

      for all entries in itab_zycit263

      WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat

        AND frpagto = 'A'

        AND tpfatura NE '99'

        AND eliminado NE 'X'.

  endif.

   loop at itab_zycit036 where origem ne 'PED'.

    IF itab_zycit036-netpr <= v_vl.

      CLEAR itab_zycit036-netpr.

    ENDIF.

    CLEAR v_valor.

    v_index = sy-tabix.

      CLEAR v_itemcongela.

      READ  TABLE itab_zycit036_auxl WITH KEY

      nrseq = itab_zycit036-nrseq

      ebeln = itab_zycit036-ebeln

      ebelp = itab_zycit036-ebelp

                 congelamov = 'X'.

      IF sy-subrc EQ 0.

        v_itemcongela = 'X'.

      ENDIF.

      CASE itab_zycit036-codigo.

        WHEN 'FOB' OR 'C&F' OR 'CIF'.

          IF itab_zycit036-origem = 'FAT'.

            READ TABLE itab_zycit003 WITH KEY

                        nrseq = itab_zycit036-nrseq

                        ebeln = itab_zycit036-ebeln

                        ebelp = itab_zycit036-ebelp.

            IF sy-subrc = 0.

              READ TABLE itab_zycit263 WITH KEY

                                   nrseq = itab_zycit003-nrseq

                                   ebeln = itab_zycit003-ebeln

                                   ebelp = itab_zycit003-ebelp.

              SELECT SINGLE nrseq belnr_p dtincl FROM /pws/zycit006

                     INTO (v_nrseq_fat,v_belnr_p,v_dtincl)

                     WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat.

              IF sy-subrc EQ 0 AND v_belnr_p IS INITIAL.

                SELECT SINGLE belnr_p FROM /pws/zycit132

                       INTO (v_belnr_p)

                       WHERE nrseq EQ v_nrseq_fat.

              ENDIF.

            ENDIF.

            IF sy-subrc = 0.

              SELECT SINGLE kursf FROM bkpf INTO v_kursf

                         WHERE bukrs  = /pws/zycit001-bukrs

                         AND   belnr  = v_belnr_p

                         AND   gjahr  = v_dtincl+0(4).

            ENDIF.

          ENDIF.

          IF itab_zycit036-vlreal GT 0         AND

            NOT itab_zycit036-waers_real IS INITIAL.

            v_valor = itab_zycit036-vlreal.

            IF t001-land1 EQ 'CL'.

              PERFORM trata_decimais USING    itab_zycit036-waers_real

                                       CHANGING v_valor.

            ENDIF.

            IF t001-land1 EQ 'BR'.

              PERFORM retorna_decimais USING itab_zycit036-waers_real

                                      CHANGING v_valor.

            ENDIF.

            IF v_itemcongela NE 'X'.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              IF NOT /pws/zycit085-ukursfob IS INITIAL.

                IF itab_zycit036-origem NE 'FAT'.

                  itab_zycit036-vlmov = v_valor *

                                        /pws/zycit442-ukursfob.

                ELSE.

                  itab_zycit036-vlmov = v_valor * v_kursf.

                ENDIF.

              ELSE.

                IF itab_zycit036-origem NE 'FAT'.

                  READ TABLE itab_zycit443

                       WITH KEY nrseq = itab_zycit036-nrseq

                                ebeln = itab_zycit036-ebeln

                                ebelp = itab_zycit036-ebelp.

                  IF NOT itab_zycit443-dttaxbem IS INITIAL.

                    itab_zycit036-vlmov = v_valor *

                                  itab_zycit443-dttaxbem.

                  ELSE.

                    PERFORM converter_moeda USING v_valor

                                    itab_zycit036-waers_real

                                   /pws/zycbt007-waersb

                                   CHANGING itab_zycit036-vlmov.

                  ENDIF.

                ELSE.

                  itab_zycit036-vlmov = v_valor * v_kursf.

                ENDIF.

              ENDIF.

              PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                     CHANGING itab_zycit036-vlmov.

              CLEAR: itab_zycit036-vldif, itab_zycit036-waers_dif.

            ELSE.

              READ TABLE itab_zycit036_plan WITH KEY

                                         nrseq  = itab_zycit036-nrseq

                                         ebeln  = itab_zycit036-ebeln

                                         ebelp  = itab_zycit036-ebelp

                                        codigo = itab_zycit036-codigo.

              IF sy-subrc = 0.

                IF itab_zycit036-vlmov = 0 AND

                   itab_zycit036_plan-netpr GT 0 AND NOT

                   itab_zycit036_plan-waers IS INITIAL

                   AND v_itemcongela NE 'X'.

                  v_valor = itab_zycit036_plan-netpr.

                  IF itab_zycit036-origem <> 'FAT'.

                    IF NOT /pws/zycit442-ukursfob IS INITIAL.

                      itab_zycit036-vlmov = v_valor *

                                            /pws/zycit442-ukursfob .

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ELSE.

                      itab_zycit036-vlmov = v_valor * v_kursf.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ELSE.

                    READ TABLE itab_zycit443 WITH KEY

                                          nrseq = itab_zycit036-nrseq

                                          ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                    IF itab_zycit036-origem <> 'FAT'.

                      IF NOT itab_zycit443-dttaxbem IS INITIAL.

                        itab_zycit036-vlmov = v_valor *

                                            itab_zycit443-dttaxbem.

                        itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                      ELSE.

                        PERFORM converter_moeda USING

                                         itab_zycit036-netpr

                                       itab_zycit036-waers

                                  /pws/zycbt007-waersb

                                CHANGING itab_zycit036-vlmov.

                    PERFORM trata_decimais USING    itab_zycit036-waers

                                           CHANGING itab_zycit036-vlmov.

                        itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                      ENDIF.

                    ELSE.

                      itab_zycit036-vlmov = v_valor * v_kursf.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ENDIF.

            IF itab_zycit036-origem <> 'FAT'.

              IF itab_zycit036-origem NE 'EST'.

                IF NOT /pws/zycit442-ukursfob IS INITIAL.

                  v_val_real = v_valor * /pws/zycit442-ukursfob.

                PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                                    CHANGING v_val_real.

                  itab_zycit036-vldif = v_val_real

                                      - itab_zycit036-vlmov.

                ELSE.

                  READ TABLE itab_zycit443 WITH KEY

                                      nrseq = itab_zycit036-nrseq

                                      ebeln = itab_zycit036-ebeln

                                      ebelp = itab_zycit036-ebelp.

                  IF NOT itab_zycit443-dttaxbem IS INITIAL.

                    itab_zycit036-vldif = ( v_valor

                                        * itab_zycit443-dttaxbem )

                                        - itab_zycit036-vlmov.

                  ELSE.

                    PERFORM converter_moeda USING

                                      v_valor

                                    itab_zycit036-waers_real

                                 /pws/zycbt007-waersb

                                    CHANGING itab_zycit036-vldif.

                    itab_zycit036-vldif =

                          itab_zycit036-vldif - itab_zycit036-vlmov.

                  ENDIF.

                ENDIF.

                itab_zycit036-waers_dif = /pws/zycbt007-waersb.

              ENDIF.

            ELSE.

              IF NOT v_kursf IS INITIAL.

                v_val_real = v_valor * v_kursf.

              ELSE.

                v_val_real = v_valor * /pws/zycit442-ukursfob .

              ENDIF.

              PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                     CHANGING v_val_real.

              itab_zycit036-vldif = v_val_real

                                       - itab_zycit036-vlmov.

              itab_zycit036-waers_dif = itab_zycit036-waers_mov.

            ENDIF.

          ELSEIF itab_zycit036-netpr GT 0              AND

            NOT itab_zycit036-waers IS INITIAL.

            IF v_itemcongela NE 'X'.

              v_valor = itab_zycit036-netpr.

              IF itab_zycit036-origem <> 'FAT'.

                IF NOT /pws/zycit442-ukursfob IS INITIAL.

                  itab_zycit036-vlmov = v_valor *

                                      /pws/zycit442-ukursfob .

                ELSE.

                  READ TABLE itab_zycit443 WITH KEY

                       nrseq = itab_zycit036-nrseq

                       ebeln = itab_zycit036-ebeln

                       ebelp = itab_zycit036-ebelp.

                  IF NOT itab_zycit443-dttaxbem IS INITIAL.

                    itab_zycit036-vlmov = v_valor *

                                  itab_zycit443-dttaxbem.

                  ELSE.

                    PERFORM converter_moeda USING

                            itab_zycit036-netpr

                            itab_zycit036-waers

                            /pws/zycbt007-waersb

                        CHANGING itab_zycit036-vlmov.

                    PERFORM trata_decimais USING    itab_zycit036-waers

                                           CHANGING itab_zycit036-vlmov.

                  ENDIF.

                ENDIF.

              ELSE.

                itab_zycit036-vlmov = v_valor * v_kursf.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ENDIF.

            itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

            itab_zycit036-waers_dif = /pws/zycbt007-waersb.

          ENDIF.

          IF itab_zycit036-vlmov IS INITIAL.

            CLEAR itab_zycit036-waers_mov.

          ELSEIF itab_zycit036-vldif IS INITIAL.

            CLEAR itab_zycit036-waers_dif.

          ENDIF.

          READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit036-nrseq

                                            ebeln = itab_zycit036-ebeln

                                            ebelp = itab_zycit036-ebelp.

          IF sy-subrc = 0.

            READ TABLE itab_zycit263 WITH KEY

                                    nrseq = itab_zycit003-nrseq

                                    ebeln = itab_zycit003-ebeln

                                    ebelp = itab_zycit003-ebelp.

            IF sy-subrc = 0.

              read table itab_zycit006_fat with key

                 nrseq_pgfat = itab_zycit263-nrseq_pgfat.

              IF sy-subrc = 0.

                CLEAR: itab_zycit036-vlmov, itab_zycit036-waers_mov,

                       itab_zycit036-vldif, itab_zycit036-waers_dif.

              ENDIF.

            ENDIF.

          ENDIF.

          MODIFY itab_zycit036 INDEX v_index.

        WHEN 'FRETEI'.

          v_linf = v_linf + 1.

          CLEAR v_valor.

          IF itab_zycit036-origem NE 'PED'.

            CLEAR itab_zycit036-netpr.

          ENDIF.

          IF itab_zycit036-vlreal GT 0         AND

            NOT itab_zycit036-waers_real IS INITIAL.

            PERFORM busca_fatores CHANGING itab_zycit036-waers_real.

            READ TABLE itab_zycit443 WITH KEY

                                        nrseq = itab_zycit036-nrseq

                                        ebeln = itab_zycit036-ebeln

                                        ebelp = itab_zycit036-ebelp.

            IF v_linf NE v_tot_linf OR

                itab_zycit036-origem NE 'NF'.

              IF itab_zycit036-origem = 'NF'.

                IF t001-land1 = 'BR'.

                  v_valor = itab_zycit443-vlfre.

                ELSE.

                  v_valor = itab_zycit036-vlreal.

                ENDIF.

                v_valor = itab_zycit443-vlfre.

              ELSE.

                v_valor = itab_zycit036-vlreal.

              ENDIF.

              IF itab_zycit036-origem = 'NF'.

                PERFORM retorna_decimais USING itab_zycit443-waersreal

                                          CHANGING v_valor.

              ELSE.

                PERFORM retorna_decimais USING itab_zycit036-waers_real

                                            CHANGING v_valor.

              ENDIF.

              v_val_tot = v_val_tot + v_valor.

            ELSE.

             v_valor = ( /pws/zycit442-vlfre * /pws/zycit442-ukursfre )

                                                   - v_val_tot .

            ENDIF.

            IF v_itemcongela NE 'X'.

              IF NOT /pws/zycit442-ukursfre IS INITIAL.

                IF itab_zycit036-origem = 'NF'.

                  itab_zycit036-vlmov     = v_valor .

                ELSE.

                  IF  itab_zycit036-waers_real NE /pws/zycbt007-waersb.

                    READ TABLE itab_zycit006 WITH KEY

                                       nrseq = itab_zycit036-nrseqori.

                    IF sy-subrc EQ 0 AND itab_zycit006-frpagto EQ 'P'.

                      itab_zycit036-vlmov     = v_valor *

                                              /pws/zycit442-ukursfre .

                    ELSE.

                      READ TABLE itab_bkpf WITH KEY

                                        bukrs = itab_zycit006-bukrs

                                        belnr = itab_zycit006-belnr_p

                                  gjahr = itab_zycit006-dt_belnrp(04).

                      itab_zycit036-vlmov = itab_zycit036-vlreal *

                                            itab_bkpf-kursf.

                    ENDIF.

                  ELSE.

                    itab_zycit036-vlmov     = v_valor.

                  ENDIF.

                ENDIF.

              ELSEIF itab_zycit036-origem NE 'FAT'.

                PERFORM converter_moeda

                            USING v_valor

                                  itab_zycit036-waers_real

                                 /pws/zycbt007-waersb

                            CHANGING itab_zycit036-vlmov.

              ELSE.

                READ TABLE itab_zycit006 WITH KEY

                                    nrseq = itab_zycit036-nrseqori.

                IF sy-subrc EQ 0 AND itab_zycit006-frpagto EQ 'P'.

                  itab_zycit036-vlmov     = v_valor .

                ELSE.

                  READ TABLE itab_bkpf WITH KEY

                                    bukrs = itab_zycit006-bukrs

                                    belnr = itab_zycit006-belnr_p

                                gjahr = itab_zycit006-dt_belnrp(04).

                  itab_zycit036-vlmov = itab_zycit036-vlreal *

                                        itab_bkpf-kursf.

                ENDIF.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                     CHANGING itab_zycit036-vlmov.

            ELSE.

              READ TABLE itab_zycit036_plan WITH KEY

                                         nrseq  = itab_zycit036-nrseq

                                         ebeln  = itab_zycit036-ebeln

                                         ebelp  = itab_zycit036-ebelp

                                        codigo = itab_zycit036-codigo.

              IF sy-subrc = 0.

                IF itab_zycit036-vlmov = 0 AND

                   itab_zycit036_plan-netpr GT 0 AND NOT

                   itab_zycit036_plan-waers IS INITIAL

                   AND v_itemcongela NE 'X'.

                  v_valor = itab_zycit036_plan-netpr.

                  IF NOT /pws/zycit442-ukursfob IS INITIAL.

                    itab_zycit036-vlmov     = v_valor *

                                             /pws/zycit442-ukursfob .

                    itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                  ELSE.

                    READ TABLE itab_zycit443 WITH KEY

                                          nrseq = itab_zycit036-nrseq

                                          ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                    IF NOT itab_zycit443-dttaxbem IS INITIAL.

                      itab_zycit036-vlmov     = v_valor *

                                              itab_zycit443-dttaxbem.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ELSE.

                      PERFORM converter_moeda USING

                                         itab_zycit036-netpr

                                       itab_zycit036-waers

                                        /pws/zycbt007-waersb

                              CHANGING itab_zycit036-vlmov.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ENDIF.

                ELSEIF itab_zycit036-origem = 'FAT'

                AND itab_zycit036-waers_mov IS INITIAL.

                  itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                ENDIF.

              ELSEIF sy-subrc NE 0 AND itab_zycit036-origem = 'FAT'

              AND itab_zycit036-waers_mov IS INITIAL.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ELSEIF sy-subrc NE 0 AND itab_zycit036-origem = 'PC'

              AND itab_zycit036-waers_mov IS INITIAL.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ENDIF.

              IF itab_zycit036-origem NE 'EST'.

                IF v_itemcongela = 'X' AND

                  ( itab_zycit036-origem EQ 'NF' OR

                   itab_zycit036-origem EQ 'FAT' ) AND

                   NOT /pws/zycit442-ukursfre IS INITIAL.

                  IF ( t001-land1 EQ 'CL' OR

                     t001-land1 EQ 'AR' ) OR

                     itab_zycit036-origem EQ 'FAT'.

                    READ TABLE itab_zycit006 WITH KEY

                                       nrseq = itab_zycit036-nrseqori.

                    IF sy-subrc EQ 0 AND itab_zycit006-frpagto EQ 'P'.

                      v_valor     = v_valor *

                                              /pws/zycit442-ukursfre .

                    ELSE.

                      READ TABLE itab_bkpf WITH KEY

                                        bukrs = itab_zycit006-bukrs

                                        belnr = itab_zycit006-belnr_p

                                  gjahr = itab_zycit006-dt_belnrp(04).

                      IF itab_bkpf-waers NE 'BRL'.

                        v_valor = itab_zycit036-vlreal *

                                              itab_bkpf-kursf.

                      ELSE.

                        v_valor = itab_zycit036-vlreal.

                      ENDIF.

                    ENDIF.

                  ENDIF.

                PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                                       CHANGING v_valor.

                ENDIF.

                IF NOT /pws/zycit442-ukursfre IS INITIAL AND

                 ( itab_zycit036-origem EQ 'NF'

                  OR itab_zycit036-origem EQ 'FAT' ).

                 IF itab_zycit036-waers_real <> itab_zycit036-waers_mov

                                              AND v_itemcongela NE 'X'.

                    v_valor = v_valor * /pws/zycit442-ukursfre.

                  ENDIF.

                  itab_zycit036-vldif = v_valor

                               - itab_zycit036-vlmov.

                  itab_zycit036-waers_dif = /pws/zycbt007-waersb.

                ELSE.

                 IF itab_zycit036-waers_real <> itab_zycit036-waers_mov

                                           AND itab_zycit036-vlmov <> 0.

                    v_valor = v_valor / /pws/zycit442-ukursfre.

                  ENDIF.

                  itab_zycit036-vldif = v_valor - itab_zycit036-vlmov.

                  itab_zycit036-waers_dif = /pws/zycbt007-waersb.

                ENDIF.

              ENDIF.

            ENDIF.

          ELSEIF itab_zycit036-netpr GT 0              AND

            NOT itab_zycit036-waers IS INITIAL.

            IF v_itemcongela NE 'X'.

              v_valor = itab_zycit036-netpr.

              IF NOT /pws/zycit442-ukursfre IS INITIAL.

                IF  itab_zycit036-waers NE /pws/zycbt007-waersb.

                  itab_zycit036-vlmov     = v_valor *

                    /pws/zycit442-ukursfre .

                ELSE.

                  itab_zycit036-vlmov     = v_valor .

                ENDIF.

              ELSE.

           PERFORM converter_moeda USING itab_zycit036-netpr

                                         itab_zycit036-waers

                                           /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

                PERFORM trata_decimais USING    itab_zycit036-waers

                                       CHANGING itab_zycit036-vlmov.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ENDIF.

            itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

            itab_zycit036-waers_dif = /pws/zycbt007-waersb.

          ENDIF.

          IF itab_zycit036-vlmov IS INITIAL.

            CLEAR itab_zycit036-waers_mov.

          ELSEIF itab_zycit036-vldif IS INITIAL.

            CLEAR itab_zycit036-waers_dif.

          ENDIF.

          IF itab_zycit036-origem = 'NF'.

            v_acum_fre = v_acum_fre + itab_zycit036-vlmov.

          ENDIF.

          MODIFY itab_zycit036 INDEX v_index.

        WHEN 'SEGURO'.

          v_lins = v_lins + 1.

          IF

            itab_zycit036-vlreal GT 0         AND

            NOT itab_zycit036-waers_real IS INITIAL.

          READ TABLE itab_zycit443 WITH KEY nrseq = itab_zycit036-nrseq

                                            ebeln = itab_zycit036-ebeln

                                            ebelp = itab_zycit036-ebelp.

            IF v_lins NE v_tot_lins.

              IF itab_zycit036-origem = 'NF'.

                IF t001-land1 = 'BR'.

                  v_valor = itab_zycit443-vlseg.

                ELSE.

                  v_valor = itab_zycit036-vlreal.

                ENDIF.

              ELSE.

                v_valor = itab_zycit036-vlreal.

              ENDIF.

              v_val_tots = v_val_tots + v_valor.

              MOVE v_valor TO v_val.

            ELSE.

                                          .

           if not v_val_tots is initial and itab_zycit036-origem = 'NF'.

              v_val = ( /pws/zycit442-vlseg * /pws/zycit442-ukursseg ) .

              perform retorna_decimais using /pws/zycit442-waersseg

                                             changing v_val.

               v_val = v_val - v_val_tots.

              else.

                if itab_zycit036-origem = 'NF'.

                  if t001-land1 = 'BR'.

                    v_valor = itab_zycit443-vlseg.

                  else.

                    v_valor = itab_zycit036-vlreal.

                  endif.

                  if v_tot_lins = 1 .

                    v_val = ( /pws/zycit442-vlseg      *

                              /pws/zycit442-ukursseg ) .

                  else.

                    v_val =  ( /pws/zycit442-vlseg      *

                             /pws/zycit442-ukursseg ) - v_valor .

                  endif.

                else.

                  v_valor = itab_zycit036-vlreal.

                  v_val   = itab_zycit036-vlreal.

                endif.

              endif.

            ENDIF.

            IF t001-land1 EQ 'BR'.

              IF itab_zycit036-origem = 'NF'.

                PERFORM retorna_decimais USING itab_zycit036-waers_real

                                            CHANGING v_val.

              ELSE.

                PERFORM retorna_decimais USING itab_zycit036-waers_real

                                            CHANGING v_val.

              ENDIF.

              MOVE v_val TO v_valor.

            ENDIF.

            IF v_itemcongela NE 'X'.

              IF NOT /pws/zycit442-ukursseg IS INITIAL.

                IF itab_zycit036-origem = 'NF'.

                  IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

                    v_valor = v_valor * /pws/zycit442-ukursseg .

                  ENDIF.

                  itab_zycit036-vlmov     = v_valor .

                ELSE.

                  IF  itab_zycit036-waers_real NE /pws/zycbt007-waersb.

                    CLEAR itab_zycit140.

                    READ TABLE itab_zycit140 WITH KEY

                                        codigo = itab_zycit036-codigo

                                        origem = itab_zycit036-origem.

                    IF itab_zycit140-custo NE 'X'.

                      itab_zycit036-vlmov     = v_valor .

                    ELSE.

                      READ TABLE itab_zycit006 WITH KEY

                                       nrseq = itab_zycit036-nrseqori.

                      .

                      IF sy-subrc EQ 0.

                        READ TABLE itab_bkpf WITH KEY

                                      belnr = itab_zycit006-belnr_p.

                        IF sy-subrc EQ 0.

                        itab_zycit036-vlmov = v_valor * itab_bkpf-kursf.

                        ENDIF.

                      ENDIF.

                    ENDIF.

                  ELSE.

                    CLEAR itab_zycit140.

                    READ TABLE itab_zycit140 WITH KEY

                                        codigo = itab_zycit036-codigo

                                        origem = itab_zycit036-origem.

                    IF itab_zycit140-custo NE 'X'.

                      itab_zycit036-vlmov     = v_valor .

                    ELSE.

                      READ TABLE itab_zycit006 WITH KEY

                                         nrfat = itab_zycit036-codigo

                                       nrseq = itab_zycit036-nrseqori.

                      .

                      IF sy-subrc EQ 0.

                        READ TABLE itab_bkpf WITH KEY

                                      belnr = itab_zycit006-belnr_p.

                        IF sy-subrc EQ 0.

                        itab_zycit036-vlmov = v_valor * itab_bkpf-kursf.

                        ENDIF.

                      ENDIF.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ELSE.

            PERFORM converter_moeda USING v_valor

                                      itab_zycit036-waers_real

                                       /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                     CHANGING itab_zycit036-vlmov.

              CLEAR: itab_zycit036-vldif, itab_zycit036-waers_dif.

            ELSE.

              READ TABLE itab_zycit036_plan WITH KEY

                                       nrseq  = itab_zycit036-nrseq

                                       ebeln  = itab_zycit036-ebeln

                                       ebelp  = itab_zycit036-ebelp

                                       codigo = itab_zycit036-codigo.

              IF sy-subrc = 0.

                IF itab_zycit036-vlmov = 0 AND

                   itab_zycit036_plan-netpr GT 0 AND NOT

                   itab_zycit036_plan-waers IS INITIAL

                   AND v_itemcongela NE 'X'.

                  v_valor = itab_zycit036_plan-netpr.

                  IF NOT /pws/zycit442-ukursfob IS INITIAL.

                    itab_zycit036-vlmov     = v_valor *

                                             /pws/zycit442-ukursfob .

                    itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                  ELSE.

                    READ TABLE itab_zycit443 WITH KEY

                                          nrseq = itab_zycit036-nrseq

                                          ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                    IF NOT itab_zycit443-dttaxbem IS INITIAL.

                      itab_zycit036-vlmov     = v_valor *

                                              itab_zycit443-dttaxbem.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ELSE.

                      PERFORM converter_moeda USING

                                      itab_zycit036-netpr

                                       itab_zycit036-waers

                                      /pws/zycbt007-waersb

                              CHANGING itab_zycit036-vlmov.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

              IF itab_zycit036-origem NE 'EST'.

                IF v_itemcongela = 'X' AND

                   itab_zycit036-origem EQ 'NF' OR

                   itab_zycit036-origem EQ 'FAT' AND

                   NOT /pws/zycit442-ukursseg IS INITIAL.

                  v_valor = v_valor * /pws/zycit442-ukursseg.

                PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                                       CHANGING v_valor.

                ENDIF.

                IF NOT /pws/zycit442-ukursseg IS INITIAL AND

                   ( itab_zycit036-origem EQ 'NF'

                   OR itab_zycit036-origem EQ 'FAT' ).

                  itab_zycit036-vldif = v_valor

                                   - itab_zycit036-vlmov.

                  itab_zycit036-waers_dif = /pws/zycbt007-waersb.

                ELSE.

                  IF itab_zycit036-waers_real NE /pws/zycbt007-waersb.

                    v_valor = v_valor / /pws/zycit442-ukursseg.

                  ENDIF.

                  itab_zycit036-vldif = v_valor - itab_zycit036-vlmov.

                  itab_zycit036-waers_dif = /pws/zycbt007-waersb.

                ENDIF.

              ENDIF.

            ENDIF.

          ELSEIF itab_zycit036-netpr GT 0              AND

            NOT itab_zycit036-waers IS INITIAL.

            IF v_itemcongela NE 'X'.

              v_valor = itab_zycit036-netpr.

              IF NOT /pws/zycit442-ukursseg IS INITIAL.

                IF  itab_zycit036-waers NE /pws/zycbt007-waersb.

                 itab_zycit036-vlmov = v_valor * /pws/zycit442-ukursseg

                                           .

                ELSE.

                  itab_zycit036-vlmov     = v_valor .

                ENDIF.

              ELSE.

             PERFORM converter_moeda USING itab_zycit036-netpr

                                         itab_zycit036-waers

                                           /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

                PERFORM trata_decimais USING    itab_zycit036-waers

                                       CHANGING itab_zycit036-vlmov.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ENDIF.

            itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

            itab_zycit036-waers_dif = /pws/zycbt007-waersb.

          ENDIF.

          IF itab_zycit036-vlmov IS INITIAL.

            CLEAR itab_zycit036-waers_mov.

          ELSEIF itab_zycit036-vldif IS INITIAL.

            CLEAR itab_zycit036-waers_dif.

          ENDIF.

          IF itab_zycit036-origem = 'NF'.

            v_acum_seg = v_acum_seg + itab_zycit036-vlmov.

          ENDIF.

          MODIFY itab_zycit036 INDEX v_index.

        WHEN 'II' OR 'IPI' OR 'ICMS' .

          IF itab_zycit036-vlreal GT 0         AND

            NOT itab_zycit036-waers_real IS INITIAL.

            IF v_itemcongela NE 'X'.

              itab_zycit036-vlmov     = itab_zycit036-vlreal .

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ELSE.

              READ TABLE itab_zycit036_plan WITH KEY

                                       nrseq  = itab_zycit036-nrseq

                                       ebeln  = itab_zycit036-ebeln

                                       ebelp  = itab_zycit036-ebelp

                                       codigo = itab_zycit036-codigo.

              IF sy-subrc = 0.

                IF itab_zycit036-vlmov = 0 AND

                   itab_zycit036_plan-netpr GT 0 AND NOT

                   itab_zycit036_plan-waers IS INITIAL

                   AND v_itemcongela NE 'X'.

                  v_valor = itab_zycit036_plan-netpr.

                  IF NOT /pws/zycit442-ukursfob IS INITIAL.

                    itab_zycit036-vlmov     = v_valor *

                                             /pws/zycit442-ukursfob .

                    itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                  ELSE.

                    READ TABLE itab_zycit443 WITH KEY

                                          nrseq = itab_zycit036-nrseq

                                          ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                    IF NOT itab_zycit443-dttaxbem IS INITIAL.

                      itab_zycit036-vlmov     = v_valor *

                                              itab_zycit443-dttaxbem.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ELSE.

                      PERFORM converter_moeda USING

                                     itab_zycit036-netpr

                                     itab_zycit036-waers

                                     /pws/zycbt007-waersb

                              CHANGING itab_zycit036-vlmov.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

            IF itab_zycit036-origem NE 'EST'.

              itab_zycit036-vldif = itab_zycit036-vlreal -

                                    itab_zycit036-vlmov.

              itab_zycit036-waers_dif = /pws/zycbt007-waersb.

            ENDIF.

          ELSEIF itab_zycit036-netpr GT 0   AND

            NOT itab_zycit036-waers IS INITIAL.

            IF v_itemcongela NE 'X'.

           PERFORM converter_moeda USING itab_zycit036-netpr

                                         itab_zycit036-waers

                                           /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

              PERFORM trata_decimais USING    itab_zycit036-waers

                                     CHANGING itab_zycit036-vlmov.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ENDIF.

            itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

            itab_zycit036-waers_dif = /pws/zycbt007-waersb.

          ENDIF.

          IF itab_zycit036-vlmov IS INITIAL.

            CLEAR itab_zycit036-waers_mov.

          ELSEIF itab_zycit036-vldif IS INITIAL.

            CLEAR itab_zycit036-waers_dif.

          ENDIF.

          MODIFY itab_zycit036 INDEX v_index.

        WHEN OTHERS .

          IF t001-land1 EQ 'BR'.

            IF itab_zycit036-vlreal GT 0         AND

              NOT itab_zycit036-waers_real IS INITIAL.

              CLEAR v_real_brl.

          PERFORM converter_moeda USING itab_zycit036-vlreal

                                        itab_zycit036-waers_real

                                           /pws/zycbt007-waersb

                                                    CHANGING v_real_brl.

              PERFORM trata_decimais USING    itab_zycit036-waers_real

                                       CHANGING v_real_brl.

              IF v_itemcongela NE 'X'.

                itab_zycit036-vlmov     = v_real_brl.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ELSE.

                READ TABLE itab_zycit036_plan WITH KEY

                                         nrseq  = itab_zycit036-nrseq

                                         ebeln  = itab_zycit036-ebeln

                                         ebelp  = itab_zycit036-ebelp

                                        codigo = itab_zycit036-codigo.

                IF sy-subrc = 0.

                  IF itab_zycit036-vlmov = 0 AND NOT

                     itab_zycit036_plan-netpr = 0 AND NOT

                     itab_zycit036_plan-waers IS INITIAL AND

                     v_itemcongela NE 'X'.

                    v_valor = itab_zycit036_plan-netpr.

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

                      IF NOT /pws/zycit442-ukursfob IS INITIAL.

                        itab_zycit036-vlmov     = v_valor *

                                              /pws/zycit442-ukursfob .

                        itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                      ELSE.

                        READ TABLE itab_zycit443 WITH KEY

                                          nrseq = itab_zycit036-nrseq

                                          ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                        IF NOT itab_zycit443-dttaxbem IS INITIAL.

                          itab_zycit036-vlmov     = v_valor *

                                               itab_zycit443-dttaxbem.

                         itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                        ENDIF.

                      ENDIF.

                    ELSE.

                      PERFORM converter_moeda USING

                                        itab_zycit036-netpr

                                        itab_zycit036-waers

                                      /pws/zycbt007-waersb

                              CHANGING itab_zycit036-vlmov.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

              IF itab_zycit036-origem NE 'EST'.

                itab_zycit036-vldif = v_real_brl - itab_zycit036-vlmov.

                itab_zycit036-waers_dif = /pws/zycbt007-waersb.

              ENDIF.

            ELSEIF itab_zycit036-netpr GT 0   AND

              NOT itab_zycit036-waers IS INITIAL.

              IF v_itemcongela NE 'X'.

           PERFORM converter_moeda USING itab_zycit036-netpr

                                         itab_zycit036-waers

                                            /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

                PERFORM trata_decimais USING    itab_zycit036-waers

                                       CHANGING itab_zycit036-vlmov.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ENDIF.

              itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

              itab_zycit036-waers_dif = /pws/zycbt007-waersb.

            ENDIF.

          ELSE.

            IF itab_zycit036-vlreal GT 0         AND

              NOT itab_zycit036-waers_real IS INITIAL.

              CLEAR v_real_brl.

              PERFORM: taxa_converte USING 'USD'

                                           /pws/zycit442-dttax

                                     CHANGING v_usd.

              IF NOT v_usd IS INITIAL AND itab_zycit036-waers_real

              NE /pws/zycbt007-waersb.

                v_real_brl = itab_zycit036-vlreal * v_usd.

                PERFORM trata_decimais USING    /pws/zycbt007-waersb

                                       CHANGING v_real_brl.

              ELSE.

                v_real_brl = itab_zycit036-vlreal.

              ENDIF.

              IF v_itemcongela NE 'X'.

                itab_zycit036-vlmov     = v_real_brl.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ELSE.

                READ TABLE itab_zycit036_plan WITH KEY

                                         nrseq  = itab_zycit036-nrseq

                                         ebeln  = itab_zycit036-ebeln

                                         ebelp  = itab_zycit036-ebelp

                                        codigo = itab_zycit036-codigo.

                IF sy-subrc = 0.

                  IF itab_zycit036-vlmov = 0 AND NOT

                     itab_zycit036_plan-netpr = 0 AND NOT

                     itab_zycit036_plan-waers IS INITIAL AND

                     v_itemcongela NE 'X'.

                    v_valor = itab_zycit036_plan-netpr.

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

                      IF NOT /pws/zycit442-ukursfob IS INITIAL.

                        itab_zycit036-vlmov     = v_valor *

                                              /pws/zycit442-ukursfob .

                        itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                      ELSE.

                        READ TABLE itab_zycit443 WITH KEY

                                          nrseq = itab_zycit036-nrseq

                                          ebeln = itab_zycit036-ebeln

                                          ebelp = itab_zycit036-ebelp.

                        IF NOT itab_zycit443-dttaxbem IS INITIAL.

                          itab_zycit036-vlmov     = v_valor *

                                               itab_zycit443-dttaxbem.

                         itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                        ENDIF.

                      ENDIF.

                    ELSE.

                      PERFORM: taxa_converte USING 'USD'

                                   /pws/zycit442-dttax

                             CHANGING v_usd.

                      IF NOT v_usd IS INITIAL.

                      itab_zycit036-vlmov = itab_zycit036-vlmov * v_usd.

                        itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                           CHANGING itab_zycit036-vlmov.

                      ENDIF.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

              IF itab_zycit036-origem NE 'EST'.

                itab_zycit036-vldif = v_real_brl - itab_zycit036-vlmov.

                itab_zycit036-waers_dif = /pws/zycbt007-waersb.

              ENDIF.

            ELSEIF itab_zycit036-netpr GT 0   AND

            NOT itab_zycit036-waers IS INITIAL.

              IF v_itemcongela NE 'X'.

           PERFORM converter_moeda USING itab_zycit036-netpr

                                         itab_zycit036-waers

                                            /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

                PERFORM trata_decimais USING    itab_zycit036-waers

                                       CHANGING itab_zycit036-vlmov.

                itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              ENDIF.

              itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

              itab_zycit036-waers_dif = /pws/zycbt007-waersb.

            ENDIF.

          ENDIF.

          IF itab_zycit036-vlmov IS INITIAL.

            CLEAR itab_zycit036-waers_mov.

          ELSEIF itab_zycit036-vldif IS INITIAL.

            CLEAR itab_zycit036-waers_dif.

          ENDIF.

          MODIFY itab_zycit036 INDEX v_index.

      ENDCASE.

     READ  TABLE itab_zycit036_auxl WITH KEY

     nrseq = itab_zycit036-nrseq

     ebeln = itab_zycit036-ebeln

     ebelp = itab_zycit036-ebelp

     codigo = itab_zycit036-codigo

                 origem = 'PED'.

      IF sy-subrc = 0.

        IF itab_zycit036_auxl-vlmov GT 0 AND

           itab_zycit036-vlmov EQ 0.

          MOVE itab_zycit036_auxl-vlmov TO itab_zycit036-vlmov.

          MOVE itab_zycit036_auxl-waers_mov TO itab_zycit036-waers_mov.

       itab_zycit036-vldif = itab_zycit036-vlreal - itab_zycit036-vlmov.

          itab_zycit036-waers_dif = itab_zycit036-waers_mov.

          CLEAR itab_zycit036_auxl-vlmov.

          CLEAR itab_zycit036_auxl-waers_mov.

          MODIFY itab_zycit036_auxl INDEX sy-tabix.

          MODIFY itab_zycit036 INDEX v_index.

        ENDIF.

      ENDIF.

    MODIFY itab_zycit036 INDEX v_index.

  ENDLOOP.

  DATA nrbl LIKE /pws/zycit442-nrbl.

  IF /pws/zycit000-fretepres NE 'X'.

    SELECT SINGLE nrbl ukursfre waersfre vlseg ukursseg waersseg

        FROM /pws/zycit442

        INTO (nrbl,v_ukursfre,v_waersf,v_vlseg,v_ukursseg,v_waerss)

           WHERE nrseqda = pa_nrseq.

    SELECT SINGLE waersfre vlfre FROM /pws/zycit093 INTO

 (v_waersf,v_vlfre)

       WHERE nrseqce = nrbl.

    IF v_waerss = 'JPY'.

      PERFORM retorna_decimais USING    v_waerss

                             CHANGING v_vlseg.

    ELSE.

      PERFORM trata_decimais USING    v_waerss

                             CHANGING v_vlseg.

    ENDIF.

    IF v_waersf = 'JPY'.

      PERFORM retorna_decimais USING    v_waersf

                             CHANGING v_vlfre.

    ELSE.

      PERFORM trata_decimais USING    v_waersf

                             CHANGING v_vlfre.

    ENDIF.

    v_result  = ( v_ukursseg * v_vlseg ).

    v_resultf = ( v_ukursfre * v_vlfre ).

    IF v_itemcongela NE 'X'.

      IF v_result <> v_acum_seg.

        v_result = ( v_ukursseg * v_vlseg ) - v_acum_seg.

        READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit036-nrseq

                                               codigo = 'SEGURO'

                                               origem = 'NF'.

        IF sy-subrc = 0.

          itab_zycit036-vlmov = itab_zycit036-vlmov + ( v_result ).

          MODIFY itab_zycit036 INDEX sy-tabix.

          v_result = 0.

        ENDIF.

      ENDIF.

      v_result = ( v_ukursfre * v_vlfre ).

      IF v_result <> v_acum_fre.

        v_result = ( v_ukursfre * v_vlfre ) - v_acum_fre.

        READ TABLE itab_zycit036 WITH KEY nrseq  = itab_zycit036-nrseq

                                               codigo = 'FRETEI'

                                               origem = 'NF'.

        IF sy-subrc = 0.

          itab_zycit036-vlmov = itab_zycit036-vlmov + ( v_result ).

          MODIFY itab_zycit036 INDEX sy-tabix.

          v_result = 0.

        ENDIF.

      ENDIF.

    ELSE.

      DATA: acum_fre LIKE /pws/zycit036-vlmov,

            acum_seg LIKE /pws/zycit036-vlmov.

      LOOP AT itab_zycit036 WHERE ( codigo = 'SEGURO'

                            OR codigo = 'FRETEI' )

                            AND origem = 'NF'.

        IF itab_zycit036-codigo = 'SEGURO'.

          acum_seg = acum_seg + itab_zycit036-vlmov.

        ELSE.

          acum_fre = acum_fre + itab_zycit036-vlmov.

        ENDIF.

      ENDLOOP.

      IF v_result = acum_seg.

        LOOP AT itab_zycit036 WHERE codigo = 'SEGURO' AND

                                    origem = 'NF'.

          IF itab_zycit036-vldif <> 0.

            itab_zycit036-vldif = 0.

            MODIFY itab_zycit036 INDEX sy-tabix.

          ENDIF.

        ENDLOOP.

      ENDIF.

      IF v_resultf = acum_fre.

        LOOP AT itab_zycit036 WHERE codigo = 'FRETEI' AND

                                    origem = 'NF'.

          IF itab_zycit036-vldif <> 0.

            itab_zycit036-vldif = 0.

            MODIFY itab_zycit036 INDEX sy-tabix.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

  IF /pws/zycie001-dtencer NE '00000000'.

    LOOP AT itab_zycit036 WHERE origem = 'PED'.

      LOOP AT itab_zycit036_auxl WHERE nrseq = itab_zycit036-nrseq

                                   AND ebeln = itab_zycit036-ebeln

                                   AND ebelp = itab_zycit036-ebelp

                                  AND codigo = itab_zycit036-codigo

                                   AND origem NE 'PED'.

      ENDLOOP.

      IF sy-subrc = 0.

   READ  TABLE itab_zycit036_auxl WITH KEY  nrseq = itab_zycit036-nrseq

                                            ebeln = itab_zycit036-ebeln

                                            ebelp = itab_zycit036-ebelp

                                          codigo = itab_zycit036-codigo

                                                         origem = 'PED'.

        IF sy-subrc = 0.

          IF itab_zycit036-vlmov IS INITIAL AND

             itab_zycit036_auxl-vlmov IS INITIAL.

          ELSE.

            MOVE itab_zycit036_auxl TO itab_zycit036.

            MODIFY itab_zycit036.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

  LOOP AT itab_zycit036 WHERE codigo = 'SEGURO' AND

                              origem = 'NF'.

    CLEAR itab_zycit036-vldif.

    MODIFY itab_zycit036.

  ENDLOOP.

  PERFORM exit_movimentado(/pws/sapmzyci010) TABLES itab_zycit036

                           CHANGING v_rub.

  IF v_importou EQ 'S'.

    indx-aedat = sy-datum.

    indx-usera = sy-uname.

    EXPORT itab_zycit036[] TO MEMORY ID 'I006A'.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI001

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 254

 

Texto: (39 caracteres)

"No permitido seleccionar DAs distintas."

 

Comprimento máximo: 40

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 255

 

Texto: (36 caracteres)

"No permitido seleccionar DA acabada."

 

Comprimento máximo: 39

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 256

 

Texto: (39 caracteres)

"Favor informar cantidad a nacionalizar."

 

Comprimento máximo: 41

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 257

 

Texto: (31 caracteres)

"Saldo escaso para nacionalizar."

 

Comprimento máximo: 39

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 258

 

Texto: (46 caracteres)

"Cantidad a nacionalizar excede cantd por lote."

 

Comprimento máximo: 46

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 259

 

Texto: (51 caracteres)

"No fueran encontrados itens para criterio selección"

 

Comprimento máximo: 53

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 260

 

Texto: (37 caracteres)

"No permitido gravar el esto embarque."

 

Comprimento máximo: 75

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 261

 

Texto: (37 caracteres)

"Existen itens con cant embarque zero."

 

Comprimento máximo: 37

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 262

 

Texto: (38 caracteres)

"Proveedor del Pedido no es extranjero."

 

Comprimento máximo: 40

 

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

Incluído símbolo de texto:

 

Idioma: ES

 

Símbolo: 263

 

Texto: (27 caracteres)

"Datos de la orden incorrect"

 

Comprimento máximo: 27

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): PA_BUK

 

Texto: (16 caracteres)

"Embarque"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_ADICA

 

Texto: (17 caracteres)

"Adiciones"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_BELN

 

Texto: (14 caracteres)

"Pedido"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_BELP

 

Texto: (12 caracteres)

"ìtem"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_DTDE

 

Texto: (24 caracteres)

"Fecha Desembaraz"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_FILIA

 

Texto: (19 caracteres)

"Subsidiaria"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_ITADI

 

Texto: (24 caracteres)

"Iten da Adicción"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_LIFN

 

Texto: (17 caracteres)

"Proveedor"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_MATN

 

Texto: (16 caracteres)

"Material"

 

Referência ao Dictionary: NÃO

 

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

Modificado texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): SO_MATRI

 

Texto: (15 caracteres)

"Empresa"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_MATRI

 

Texto: (14 caracteres)

"Matriz"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_NRDA

 

Texto: (17 caracteres)

"Número DA"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_NRSEQ

 

Texto: (21 caracteres)

"Secuencial DA"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: ES

 

Variável (SELECT-OPTION / PARAMETER): SO_NUMDA

 

Texto: (17 caracteres)

"Número DA"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT003

 

 

*Os seguintes campos foram inseridos:

 

 

MATNR            MATNR                         CHAR    18

TPNF             /PWS/ZYCIL108 /PWS/ZYCIT018   CHAR     2

SERVICO          XFELD                         CHAR     1

QTD_ITEND        BSTMG                         QUAN    13

AGRUPAMENTO      /PWS/ZYCIL613 /PWS/ZYCIT395   CHAR     3

DT_TRANS         /PWS/ZYGLL972                 DATS     8

DT_RECEB         /PWS/ZYCIL567                 DATS     8

NTGEWD           NTGEW_15                      QUAN    15

DTREMESSA        /PWS/ZYCIL581                 DATS     8

DTPROVENT        /PWS/ZYCIL582                 DATS     8

DTALOCPROD       /PWS/ZYCIL583                 DATS     8

NRPEDFORN        /PWS/ZYCIL599                 CHAR    10

CONTATOFORN      /PWS/ZYCIL612                 CHAR    15

NRREGPROD        /PWS/ZYCIL615                 CHAR    13

DTREGPROD        /PWS/ZYCIL616                 DATS     8

FUMIGACAO        /PWS/ZYCIL617                 CHAR     1

DTRECANALISE     /PWS/ZYCIL618                 DATS     8

*>>Inicio Inclusão

NRDI             /PWS/ZYCIL299                 CHAR    11

*>>Fim    Inclusão

NRSEQDA          /PWS/ZYCIL831                 CHAR    10

ITSEQDA          /PWS/ZYCIL836                 NUMC     5

ADICAO           /PWS/ZYCIL267                 NUMC     3

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI070F01

 

...

              UPDATE /pws/zycit078 SET   nrdi    = /pws/zycie442-nrdi

                                    nrseqdi = /pws/zycie442-nrseqda

                                    dtregdi = /pws/zycie442-dtreg

                                    adicao  = itab_zycit443_t-adicao

                              WHERE nrseqli = itab_zycit078_t-nrseqli

                                AND tpli    = 'N'.

            ENDLOOP.

          ENDIF.

        ENDIF.

      ENDIF.

*PWS280450 - Início

    ENDIF.

*PWS280450 - Fim

  ENDIF.

 

*>>Inicio Exclusão: FORM SAVE_DATA

* Contabilizando a Fatura

  IF NOT /pws/zycie442-dtreg IS INITIAL AND

     NOT /pws/zycie442-nrdi IS INITIAL.

    PERFORM salva_fatura.

  ENDIF.

 

*>>Fim    Exclusão

 

* Fim do ajuste

  IF NOT /pws/zycie442-nrdi  IS INITIAL OR

     NOT /pws/zycie442-dtreg IS INITIAL.

    PERFORM atualiza_status.

  ENDIF.

  DELETE itab_zycit442 WHERE nrseqda = /pws/zycie442-nrseqda.

  APPEND /pws/zycie442 TO itab_zycit442.

  SORT itab_zycit442 BY nrseqda.

...

 

...

           itab_zycit453[] TO itab_zycit453a[],

           itab_zycit454[] TO itab_zycit454a[],

           itab_zycit200[] TO itab_zycit200a[],

           itab_zycit049di2[] TO itab_zycit049di[],

           itab_it[]       TO itab_ita[],

           /pws/zycie442   TO wa_zycit442.

 

 

  PERFORM save_especificacao.

 

*>>Inicio Inclusão: FORM SAVE_DATA

if /PWS/ZYCIE442-CODREG  eq '04'.

*>>Fim    Inclusão

  PERFORM reclassificacao_ia.

*>>Inicio Inclusão: FORM SAVE_DATA

endif.

*>>Fim    Inclusão

 

ENDFORM.                    " save_data

...