CE PLUS - Nota 001450

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

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

Data/Hora Última Alteração: 20/06/2011 12:27:15

Descrição da Nota: INTERFACE PW.CE X PW.RECOF - CARGA DE EMBARQUE DE NACIONALIZAÇÃO.

Sintoma

Contém muitos ajustes, então entrará no agrupamento.

 

 

Solução

Contém muitos ajustes, então entrará no agrupamento.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

DESENVOLVIMENTO ENTREPOSTO ADUANEIRO

AJUSTES NA DA

Informações Complementares

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

Nota Número 01450 Data: 29/05/2006 Hora: 10:43:44

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

 

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

Nota Número              : 01450

Categoria                : Erro de Programa

Prioridade               : Média

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  - 00001 - 6.0    - 00023  - DESENVOLVIMENTO ENTREPOSTO ADUANEIRO

01383  - 00002 - 6.0    - 00023  - AJUSTES NA DA

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

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

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

Palavras Chave:

RECOF X PWCE - CARGA - EMBARQUE - NACIONALIZAÇÃO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI001                        0003

DYNP /PWS/SAPMZYCI001                        0111

PROG /PWS/MZYCI001F03

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F02

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001I01

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001TOP

REPS /PWS/MZYCI001X01

REPS /PWS/MZYCI016F01

REPS /PWS/SAPMZYCI001

REPT /PWS/SAPMZYCI001

TABD /PWS/ZYCIE003

TABD /PWS/ZYCIT003

TABD /PWS/ZYCIT443

 

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

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

 

 

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

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

 

 

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

Modificações efetuadas em PROG /PWS/MZYCI001F03

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

FORM find_nrseqc.

  DATA:

    v_nrseqc   LIKE /pws/zycit001-nrseq,

    v_count(7) TYPE n,

    v_ano(4).

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

  CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.

* << Fim da exclusão

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

  CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.

* << Fim da inclusão

  SELECT MAX( nrseq ) INTO (v_nrseqc) FROM /pws/zycit001

                                       WHERE nrseq LIKE v_ano.

  v_count = v_nrseqc+0(7) + 1.

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

  CONCATENATE v_count+0(7) 'I' sy-datum+2(2) INTO /pws/zycie001-nrseq.

* << Fim da exclusão

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

  CONCATENATE v_count+0(7) 'I' sy-datlo+2(2) INTO /pws/zycie001-nrseq.

* << Fim da inclusão

ENDFORM.

FORM carrega_zycbe003.

  READ TABLE it_ekpo_aux WITH KEY ebeln = itab_zycit003-ebeln

                                  ebelp = itab_zycit003-ebelp.

  IF NOT it_ekpo_aux IS INITIAL.

...

 

...

    ENDLOOP.

  ENDIF.

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

         nrseq = /pws/zycie001-nrseq.

  IF sy-subrc NE 0.

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

    /pws/zycie001-dtuserc   = sy-datum.

* << Fim da exclusão

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

    /pws/zycie001-dtuserc   = sy-datlo.

* << Fim da inclusão

    /pws/zycie001-usernamec = sy-uname.

    /pws/zycie001-status_e = 'A'.

  ELSE.

    IF v_tcode EQ '/PWS/ZYCI001_A' .

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

      /pws/zycie001-dtusera   = sy-datum.

* << Fim da exclusão

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

      /pws/zycie001-dtusera   = sy-datlo.

* << Fim da inclusão

      /pws/zycie001-usernamea = sy-uname.

    ENDIF.

  ENDIF.

  IF sy-tcode EQ '/PWS/ZYCI001_C' AND v_salvo NE 'X'.

    /pws/zycie001-status_e = 'A'.

...

 

...

  IF /pws/zycie001-status NE wa_zycit001-status.

    CLEAR it_zycit255. REFRESH it_zycit255.

    MOVE: sy-mandt           TO it_zycit255-mandt,

          /pws/zycie001-nrseq     TO it_zycit255-nrseq,

          /pws/zycie001-status    TO it_zycit255-status,

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

          sy-datum           TO it_zycit255-data,

* << Fim da exclusão

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

          sy-datlo           TO it_zycit255-data,

* << Fim da inclusão

          sy-uzeit           TO it_zycit255-hora,

          sy-uname           TO it_zycit255-usuario.

    APPEND it_zycit255.

    INSERT INTO /pws/zycit255 VALUES it_zycit255.

  ENDIF.

...

 

...

  MODIFY itab_zycit125_aux TRANSPORTING nrseq

                       WHERE nrseq = v_nrseq_ant.

  IF ( v_tcode            EQ '/PWS/ZYCI001_C' ) AND

     ( /pws/zycie001-dtuserc   IS INITIAL     ) AND

     ( /pws/zycie001-usernamec IS INITIAL     ).

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

    MOVE: sy-datum TO /pws/zycie001-dtuserc  ,

* << Fim da exclusão

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

    MOVE: sy-datlo TO /pws/zycie001-dtuserc  ,

* << Fim da inclusão

          sy-uname TO /pws/zycie001-usernamec.

  ENDIF.

ENDFORM.

FORM verifica_itens.

  DATA:

...

 

...

                    CHANGING v_nrseq_emp.

  DATA: v_ano_emp LIKE /pws/zycie001-nrseq,

        v_count(6)  TYPE n,

        v_tam       TYPE i,

        v_tam_2     TYPE i.

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

    CONCATENATE p_range '%' 'I' sy-datlo+2(2) INTO v_ano_emp.

* << Fim da inclusão

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

  CONCATENATE p_range '%' 'I' sy-datum+2(2) INTO v_ano_emp.

* << Fim da exclusão

  SELECT MAX( nrseq ) INTO (v_nrseq_emp)

      FROM /pws/zycit001

      WHERE nrseq LIKE v_ano_emp.

  v_tam = strlen( p_range ).

  v_tam_2 = ( 7 - v_tam ).

  v_count(v_tam_2) = v_nrseq_emp+v_tam(v_tam_2) + 1.

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

  CONCATENATE p_range v_count(v_tam_2) 'I' sy-datum+2(2)

* << Fim da exclusão

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

  CONCATENATE p_range v_count(v_tam_2) 'I' sy-datlo+2(2)

* << Fim da inclusão

              INTO v_nrseq_emp.

ENDFORM.

FORM vinculacao_li.

  DATA: v_qtdumest LIKE /pws/zycit003-qtdeumest.

  PERFORM grava_tabelas.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F02

 

...

       EXPORTING

            i_montante                 = 1

            i_demoeda                  = p_waers_real

            i_paramoeda                = /pws/zycbt007-waersa

            i_ctmoeda                  = 'M'

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

            i_dtbase                   = sy-datum

* << Fim da exclusão

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

            i_dtbase                   = sy-datlo

* << Fim da inclusão

       IMPORTING

            e_txc                      = p_taxa

       EXCEPTIONS

            i_demoeda_nao_encontrado   = 1

            i_paramoeda_nao_encontrado = 2

...

 

...

     temp_tabix  LIKE sy-tabix      .

  DATA:BEGIN OF it_temp_03 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit003.

  DATA:END OF it_temp_03.

  v_nrseq_ant = /pws/zycie001-nrseq.

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

  CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.

* << Fim da exclusão

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

    CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.

* << Fim da inclusão

  SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycit001

                                     WHERE nrseq LIKE v_ano.

  v_count = v_nrseq+0(7) + 1.

  /pws/zycie001-nrseq = v_nrseq.

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

  CONCATENATE v_count 'I' sy-datum+2(2) INTO /pws/zycie001-nrseq.

* << Fim da exclusão

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

  CONCATENATE v_count 'I' sy-datlo+2(2) INTO /pws/zycie001-nrseq.

* << Fim da inclusão

  itab_zycit125_aux-nrseq = /pws/zycie001-nrseq.

  MODIFY itab_zycit125_aux TRANSPORTING nrseq

                       WHERE nrseq = v_nrseq_ant.

  itab_zycit125-nrseq = /pws/zycie001-nrseq.

  MODIFY itab_zycit125 TRANSPORTING nrseq

...

 

...

    ENDIF.

  ENDLOOP.

  MOVE itab_zycit003[] TO itab_zycit003_aux[] .

  MOVE itab_zycit003[] TO itab_zycit003_aux2[].

  MESSAGE s015 WITH text-180.

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

  MOVE: sy-datum TO /pws/zycie001-dtuserc  ,

* << Fim da exclusão

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

  MOVE: sy-datlo TO /pws/zycie001-dtuserc  ,

* << Fim da inclusão

        sy-uname TO /pws/zycie001-usernamec,

        space    TO /pws/zycie001-dtusera,

        space    TO /pws/zycie001-usernamea.

  v_status_s = 1.

ENDFORM.

...

 

...

                                                     INTO TABLE itab_li

                                       FOR ALL ENTRIES IN itab_zycit003

                   WHERE /pws/zycit079~ebeln EQ itab_zycit003-ebeln AND

                         /pws/zycit079~ebelp EQ itab_zycit003-ebelp AND

                                       /pws/zycit079~nrseq EQ space AND

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

                                 /pws/zycit078~dtvencto >= sy-datum AND

* << Fim da exclusão

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

                                 /pws/zycit078~dtvencto >= sy-datlo AND

* << Fim da inclusão

                                          /pws/zycit078~status EQ 'VAL'.

  ENDIF.

  IF NOT itab_li[] IS INITIAL.

    LOOP AT itab_li.

      SELECT SINGLE * FROM /pws/zycit079

...

 

...

  ENDIF.

ENDFORM.

FORM selecao_legislacao.

  IF itab_zycit354[] IS INITIAL.

    DATA: v_data(10) TYPE c,

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

         v_datum(10) TYPE c,

* << Fim da exclusão

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

         v_datlo(10) TYPE c,

* << Fim da inclusão

         v_grava     TYPE c.

    CLEAR : dd07t.

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

    CONCATENATE sy-datum+6(2) sy-datum+4(2) sy-datum(4) INTO v_datum.

* << Fim da exclusão

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

    CONCATENATE sy-datlo+6(2) sy-datlo+4(2) sy-datlo(4) INTO v_datum.

* << Fim da inclusão

    IF NOT itab_zycit003[] IS INITIAL.

      SELECT steuc /pws/obrigli FROM t604f

      INTO TABLE itab_t604f

      FOR ALL ENTRIES IN itab_zycit003

      WHERE land1 EQ t001-land1

...

 

...

      v_exit = 'S'.

      EXIT.

    ENDIF.

    v_criar = 'S'.

    CLEAR: /pws/zycie356.

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

    CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.

* << Fim da exclusão

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

        CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.

* << Fim da inclusão

    SELECT MAX( nrseqint )

           INTO (v_nrseqc) FROM /pws/zycit356

           WHERE nrseqint LIKE v_ano.

    v_count = v_nrseqc+0(7) + 1.

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

    CONCATENATE v_count+0(7) 'I' sy-datum+2(2)

* << Fim da exclusão

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

    CONCATENATE v_count+0(7) 'I' sy-datlo+2(2)

* << Fim da inclusão

                INTO /pws/zycie356-nrseqint.

    itab_zycit356-nrseqint  = /pws/zycie356-nrseqint.

    MOVE: /pws/zycie003-nrseq     TO /pws/zycie356-nrseq    ,

          /pws/zycie003-ebeln     TO /pws/zycie356-ebeln    ,

          /pws/zycie003-ebelp     TO /pws/zycie356-ebelp    ,

          /pws/zycie003-waers     TO /pws/zycie356-waers    .

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

    /pws/zycie356-dtuserc   = sy-datum.

* << Fim da exclusão

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

    /pws/zycie356-dtuserc   = sy-datlo.

* << Fim da inclusão

    /pws/zycie356-usernamec = sy-uname.

  ENDIF.

ENDFORM.

FORM observ_dados_legais.

  CLEAR:   itab_tline4.

...

 

 

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

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

...

 

...

      MODIFY tc_ped-cols FROM wa_cols.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM selecionar_da.

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

   clear   itab_zycit467.

   refresh itab_zycit467.

* << Fim da inclusão

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

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

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

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

           /pws/zycit443~qtd_iten

...

 

...

      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

    LOOP AT itab_da.

      IF NOT itab_da-lote IS INITIAL.

        MOVE : itab_da-nrseqda     TO itab_zycit467-nrseqda  ,

               itab_da-lote        TO itab_zycit467-nrseqlote,

               /pws/zycie001-nrseq TO itab_zycit467-nrseq    ,

               itab_da-qtd_nac     TO itab_zycit467-qtd_nac  .

        APPEND itab_zycit467.

      ENDIF.

    ENDLOOP.

    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.

...

 

...

ENDFORM.

FORM trata_screen_0003.

  DESCRIBE TABLE itab_da LINES tc_selda-lines.

  LOOP AT tc_selda-cols INTO wa_cols.

    IF v_status_s = '0'.

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

      wa_cols-screen-input = '0'.

    ENDIF.

    CASE wa_cols-screen-name.

      WHEN 'ITAB_DA-QTD_NAC'.

        IF v_caller EQ 'SELECIONAR_RC'.

* << Fim da inclusão

      wa_cols-screen-input = '0'.

    ENDIF.

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

    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.

...

 

...

  FIELD-SYMBOLS:

    <fs_tabrc> TYPE STANDARD TABLE,

    <fs_hearc> TYPE ANY,

    <fs_fldrc> TYPE ANY.

  DATA:

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

    itab_zycit003_saldo LIKE itab_zycit003 OCCURS 0

      WITH HEADER LINE.

  DATA:

* << Fim da inclusão

    v_tipo TYPE REF TO data,

    v_reg  TYPE i,

    BEGIN OF itab_rc_aux OCCURS 100,

      cod_matriz      TYPE /pws/zycie442-bukrs,

      cod_filial      TYPE /pws/zycie442-j_1bbranch,

...

 

...

          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

 

...

          FROM lfa1

          WHERE lifnr EQ /pws/zycie001-lifnr.

        v_fornec = lfa1-name1.

      ENDIF.

      IF /pws/zycie001-dtinicio IS INITIAL.

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

        /pws/zycie001-dtinicio = sy-datum.

* << Fim da exclusão

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

        /pws/zycie001-dtinicio = sy-datlo.

* << Fim da inclusão

      ENDIF.

      CLEAR : /pws/zycit120.

      IF NOT /pws/zycie001-modalidade IS INITIAL.

        SELECT SINGLE descricao INTO /pws/zycit120-descricao

               FROM /pws/zycit120

...

 

 

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

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.

...

 

...

       itseqda   TYPE /pws/zycie455-itseqda  ,

       mark.

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,

* >> Início da exclusão:

      itab_da_aux2      LIKE itab_da OCCURS 0 WITH HEADER LINE.

* << Fim da exclusão

* >> Início da inclusão:

      itab_da_aux2      LIKE itab_da OCCURS 0 WITH HEADER LINE,

      itab_zycit467     like /pws/zycit467 occurs 0 with header line.

* << Fim da inclusão

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/MZYCI016F01

 

...

                          AND ( docnum   IS initial OR

                                docnum   = '9999999999'  OR

                                docnum = '8888888888' )

                          AND mark     = 'X'

                          AND processado = 'X'.

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

        READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

                        IF sy-subrc = 0.

                           MOVE itab_matuse_aux-matnr TO

                                itab_zycit042-matnr.

                        ENDIF.

* << Fim da inclusão

                        MODIFY /pws/zycit042 FROM itab_zycit042.

                     UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf

                                     WHERE nrseq  = itab_zycit042-nrseq

                                     AND   ebeln  = itab_zycit042-ebeln

                                     AND   ebelp  = itab_zycit042-ebelp.

...

 

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCI001

 

 

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

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/ZYCIE003

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT003

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT443