CE PLUS - Nota 005413

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 07/12/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 10:57:03

Descrição da Nota: CRIAÇÃO DA FUNCIONALIDADE EMBARQUE COM FORNECIMENTO

Sintoma

Não é possível criar um Embarque a partir de um Fornecimento que não possua vínculo a uma Ordem de

Venda.

 

 

Solução

Implementação de ajustes no Embarque e em funcionalidades relacionadas para que o Embarque possa ser

gerado para cenários onde a Ordem de Venda não é preenchida.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ADAPTAÇÃO DO PROGRAMA DADOS ADICIONAIS PARA EMBARQUE POR FORNECIMENTO

ATUALIZAÇÃO DE STATUS DOS ITENS PARA EMBARQUE COM PEDIDO DE COMPRA

HISTÓRICO DE EXPORTAÇÃO PARA EMBARQUE DE FORNECIMENTO

ATUALIZAÇÃO DOS DADOS NO EMBARQUE POR PEDIDO DE COMPRA

PAÍS DE DESTINO INDEFINIDO EM EMBARQUE POR PEDIDO DE COMPRA

ATUALIZAR FORNECIMENTOS APÓS FORNECER ITENS SEM REMESSAS

COMISSÃO DE AGENTE PARA EMBARQUE COM PEDIDO DE COMPRA

ALTERAÇÃO DA DESCRIÇÃO DA ABA DE ITENS NO EMBARQUE

EXIBIR NÚMERO DE PEDIDO DE COMPRA E ITEM NAS INCONSISTÊNCIA DO EMBARQUE

AJUSTE DOS VALORES DOS CAMPOS VALOR CONDIÇÃO E LOCAL DE EMBARQUE DA RE

EMBARQUE NÃO É ATUALIZADO COM INFORMAÇÕES QUANDO HÁ PARTIÇÃO DE REMESSA

ERRO NO VALOR DO ADIANTAMENTO NA /PWS/ZYCET017 QUANDO HÁ DEVOLUÇÃO.

VINCULAÇÃO DO REGISTRO DE VENDA PELO NÚMERO DO EMBARQUE.

SELEÇÃO DE DOCUMENTO DE VENDAS QUANDO EMBARQUE POR PEDIDO DE COMPRA

NOMEAÇÃO / VINCULAÇÃO POR FORNECIMENTO

ALTERAÇÃO DA RE PARA ATENDER CENÁRIOS DE EMBARQUES SEM ORDEM DE VENDA

SELEÇÃO DE ITENS DO EMBARQUE NA DECLARAÇÃO SIMPLIFICADA DE EXPORTAÇÃO

ATUALIZAÇÃO DO EMBARQUE APÓS ESTORNO DE FATURA DE PEDIDO DE COMPRA

Informações Complementares

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

Nota Número 05413 Data: 07/12/2007 Hora: 14:45:49

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

 

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

Nota Número              : 05413

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00024

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

Referência às notas relacionadas:

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

 

03370  - 00001 - 6.0    - 00026  - EMBARQUE NÃO É ATUALIZADO COM INFORMAÇÕES QUANDO HÁ PARTIÇÃO DE R

03952  - 00002 - 7.0    - 00001  - ERRO NO VALOR DO ADIANTAMENTO NA /PWS/ZYCET017 QUANDO HÁ DEVOLUÇÃ

04387  - 00003 - 7.0    - 00002  - ATUALIZAÇÃO DE STATUS DOS ITENS PARA EMBARQUE COM PEDIDO DE COMPR

04408  - 00004 - 7.0    - 00002  - ATUALIZAÇÃO DOS DADOS NO EMBARQUE POR PEDIDO DE COMPRA

04447  - 00005 - 7.0    - 00002  - SELEÇÃO DE DOCUMENTO DE VENDAS QUANDO EMBARQUE POR PEDIDO DE COMP

04530  - 00006 - 7.0    - 00002  - SELEÇÃO DE ITENS DO EMBARQUE NA DECLARAÇÃO SIMPLIFICADA DE EXPORT

04606  - 00007 - 7.0    - 00002  - PAÍS DE DESTINO INDEFINIDO EM EMBARQUE POR PEDIDO DE COMPRA

04613  - 00008 - 7.0    - 00002  - COMISSÃO DE AGENTE PARA EMBARQUE COM PEDIDO DE COMPRA

04615  - 00009 - 7.0    - 00002  - ATUALIZAÇÃO DO EMBARQUE APÓS ESTORNO DE FATURA DE PEDIDO DE COMPR

04621  - 00010 - 7.0    - 00002  - ALTERAÇÃO DA DESCRIÇÃO DA ABA DE ITENS NO EMBARQUE

04762  - 00011 - 7.0    - 00003  - ERRO NO BATCH INPUT DA F-43 NA COMISSÃO DE AGENTE QUANDO HÁ DEVOL

04776  - 00012 - 7.0    - 00003  - EXIBIR NÚMERO DE PEDIDO DE COMPRA E ITEM NAS INCONSISTÊNCIA DO EM

04827  - 00013 - 7.0    - 00003  - ATUALIZAR FORNECIMENTOS APÓS FORNECER ITENS SEM REMESSAS

04912  - 00014 - 7.0    - 00003  - AJUSTE DOS VALORES DOS CAMPOS VALOR CONDIÇÃO E LOCAL DE EMBARQUE

05079  - 00015 - 7.0    - 00003  - ALTERAÇÃO DA RE PARA ATENDER CENÁRIOS DE EMBARQUES SEM ORDEM DE V

05227  - 00016 - 7.0    - 00003  - VINCULAÇÃO DO REGISTRO DE VENDA PELO NÚMERO DO EMBARQUE.

05297  - 00017 - 7.0    - 00003  - NOMEAÇÃO / VINCULAÇÃO POR FORNECIMENTO

05310  - 00018 - 7.0    - 00003  - ADAPTAÇÃO DO PROGRAMA DADOS ADICIONAIS PARA EMBARQUE POR FORNECIM

05331  - 00019 - 7.0    - 00003  - HISTÓRICO DE EXPORTAÇÃO PARA EMBARQUE DE FORNECIMENTO

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

CRIAÇÃO DA FUNCIONALIDADE EMBARQUE COM FORNECIMENTO

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

Palavras Chave:

EMBARQUE, FUNCIONALIDADE, FORNECIMENTO, ORDEM DE VENDA

 

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

Objetos da nota:

DOMD /PWS/ZYCED357

DYNP /PWS/SAPMZYCE016                        0100

REPS /PWS/MZYCE003F01

REPS /PWS/MZYCE003F02

REPS /PWS/MZYCE003TOP

REPS /PWS/MZYCE003X01

REPS /PWS/MZYCE006F01

REPS /PWS/MZYCE006TOP

REPS /PWS/MZYCE041F01

REPS /PWS/MZYCE041TOP

REPS /PWS/MZYCE104F01

REPT /PWS/SAPMZYCE003

TABD /PWS/ZYCEE315

 

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

Modificações efetuadas em DOMD /PWS/ZYCED357

 

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

Domínio modificado: /PWS/ZYCED357

-Valores individuais

Incluído valor fixo "F"

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

"Embarque com Fornecimento"

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCE016                        0100

 

MODIFICAR CAMPO: TEXTO02

ALTERAR TEXTO:

DE: "ORDEM DE VENDA"

PARA: "DOCUMENTO".

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

Modificações efetuadas em REPS /PWS/MZYCE003F01

 

...

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = 'E'

                    msgv1 = text-502

                    msgv2 = /pws/zycee001-nrseq

                    txtnr = 221

                    zeile = 'OV_SEL_003'.

        ENDIF.

      ENDIF.

    ENDIF.

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

  ELSE.

* << Fim da exclusão

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

  ELSEIF /pws/zycee001-tipo_emb <> 'F'.

* << Fim da inclusão

    IF itab_ped[] IS INITIAL.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCEM'

                msgty = 'E'

                msgv1 = text-501

                msgv2 = /pws/zycee001-nrseq

                txtnr = 221

                zeile = 'OV_SEL_001'.

    ENDIF.

...

 

...

             gsber

             vkgrp

             kostl

             prctr

             kcmeng

             kcbrgew

             kcntgew

             uecha

             kcgewei

             shkzg

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

             empst

             j_1btaxlw2

* << Fim da inclusão

             FROM lips

             APPENDING TABLE itab_lips

             FOR ALL ENTRIES IN itab_likp

             WHERE vbeln = itab_likp-vbeln.

      IF sy-subrc NE 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCEM'

                  msgty = 'E'

                  msgv1 = text-504

...

 

...

      APPEND LINES OF itab_vbfa_aux TO itab_vbfa_2.

    ENDLOOP.

    LOOP AT itab_vbfa_2.

      MOVE-CORRESPONDING itab_vbfa_2 TO itab_vbfa.

      APPEND itab_vbfa.

    ENDLOOP.

    SELECT vbeln

           fkart

           waerk

           vkorg

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

           vtweg

* << Fim da inclusão

           knumv

           fkdat

           inco1

           kurrf

           zterm

           ktgrd

           land1

           bukrs

           kunrg

           kunag

...

 

...

      PERFORM atualiza_faturamentos.

      IF /pws/zycee001-emb_consig EQ 'C'.

        v_checa_auart = 'X'.

      ENDIF.

      PERFORM progress_indicator USING 18 36

                                 'Efetuando Refresh do Embarque'(m01).

      PERFORM atualiza_outras_ordens USING v_checa_auart.

      IF /pws/zycee001-tipo_emb EQ 'V'.

        DELETE itab_zycet002 WHERE vbeln_va IS initial.

      ENDIF.

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

      IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

      DELETE itab_zycet002 WHERE aupos IS initial AND

                                 ebelp IS initial.

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

      ENDIF.

* << Fim da inclusão

      PERFORM progress_indicator USING 19 36

                                 'Efetuando Refresh do Embarque'(m01).

      PERFORM verifica_particao_lote.

    ENDIF.

    DESCRIBE TABLE itab_zycet002 LINES v_linhas_dep.

...

 

...

                                            devolucao

                                            complemento

                                            vlme

                                            ntgew_r

                                            brgew_r

                                            fkimg_r

                                            st_vd

                 WHERE vbeln_vf = itab_vbrk-sfakn AND

                       posnr    = <fs_002>-posnr.

          itab_zycet002-st_vd       = 'ES'.

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

          itab_zycet002-estornado   = 'X'.

* << Fim da exclusão

          CLEAR: itab_zycet002-saida,

                 itab_zycet002-devolucao,

                 itab_zycet002-complemento,

                 itab_zycet002-vlme,

                 itab_zycet002-ntgew_r,

                 itab_zycet002-brgew_r,

                 itab_zycet002-fkimg_r.

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

          MODIFY itab_zycet002 TRANSPORTING estornado

* << Fim da exclusão

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

          MODIFY itab_zycet002 TRANSPORTING

* << Fim da inclusão

                                            saida

                                            devolucao

                                            complemento

                                            vlme

                                            ntgew_r

                                            brgew_r

                                            fkimg_r

                                            st_vd

                 WHERE vbeln_vf = itab_vbrk-vbeln AND

                       posnr    = <fs_002>-posnr.

...

 

...

  LOOP AT itab_zycet002.

    CLEAR: itab_zycet002-vlfob,

           itab_zycet002-vlfrete,

           itab_zycet002-vlseguro,

           itab_zycet002-vlod,

           itab_zycet002-vldesconto,

           itab_zycet002-vlacrescimo,

           itab_zycet002-vlagente.

    CLEAR: itab_pricing,

           v_knumv.

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

    IF /pws/zycee001-tipo_emb EQ 'F'.

      v_tipo_ov = 'F'.

    ELSE.

* << Fim da inclusão

    v_tipo_ov = 'C'.

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

    ENDIF.

* << Fim da inclusão

    IF NOT itab_zycet002-auart IS INITIAL.

      READ TABLE itab_zycet020

                   WITH KEY auart = itab_zycet002-auart

                            bukrs = itab_zycet002-bukrs.

      IF sy-subrc NE 0.

        READ TABLE itab_zycet020

...

 

...

                           BINARY SEARCH.

      CHECK sy-subrc EQ 0.

      READ TABLE itab_ekpo WITH KEY ebeln = itab_zycet002-ebeln

                                    ebelp = itab_zycet002-ebelp

                           BINARY SEARCH.

      CHECK sy-subrc EQ 0.

      v_kwmeng = itab_ekpo-menge.

      v_matnr  = itab_ekpo-matnr.

      v_vrkme  = itab_ekpo-meins.

      v_tipo_ov = 'V'.

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

    ELSE.

* << Fim da exclusão

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

    ELSEIF ( v_tipo_ov EQ 'F' AND

             NOT itab_zycet002-vbeln_va IS INITIAL ) OR

             v_tipo_ov EQ 'C'.

* << Fim da inclusão

      READ TABLE itab_vbak WITH KEY vbeln = itab_zycet002-vbeln_va

                           BINARY SEARCH.

      CHECK sy-subrc EQ 0.

      READ TABLE itab_vbap WITH KEY vbeln = itab_zycet002-vbeln_va

                                    posnr = itab_zycet002-aupos

                           BINARY SEARCH.

      CHECK sy-subrc EQ 0.

      v_kwmeng = itab_vbap-kwmeng.

      v_matnr  = itab_vbap-matnr.

      v_vrkme  = itab_vbap-vrkme.

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

    ELSE.

      READ TABLE itab_lips WITH KEY vbeln = itab_zycet002-vbeln_vl

                                    posnr = itab_zycet002-posnl

                           BINARY SEARCH.

      CHECK sy-subrc EQ 0.

      v_kwmeng = itab_lips-lfimg.

      v_matnr  = itab_lips-matnr.

      v_vrkme  = itab_lips-vrkme.

* << Fim da inclusão

    ENDIF.

    v_lfimg = itab_zycet002-fkimg.

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

    IF NOT v_vrkme IS INITIAL AND

           v_vrkme NE itab_zycet002-vrkme.

* << Fim da inclusão

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

    IF v_vrkme NE itab_zycet002-vrkme.

* << Fim da exclusão

      PERFORM converte_um USING v_lfimg

...

 

...

                                  v_vrkme

                                  v_matnr

                         CHANGING v_lfimg.

      ENDIF.

    ENDIF.

    IF itab_zycet002-vbeln_vf IS INITIAL.

      IF v_tipo_ov EQ 'V'.

        v_knumv = itab_ekko-knumv.

        v_vbeln = itab_ekko-ebeln.

        v_posnr = itab_zycet002-ebelp.

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

      ELSEIF v_tipo_ov EQ 'F'.

        READ TABLE itab_likp WITH KEY vbeln = itab_zycet002-vbeln_vl

                             BINARY SEARCH.

        CHECK sy-subrc EQ 0.

        v_knumv = itab_likp-knumv.

        v_vbeln = itab_likp-vbeln.

        v_posnr = itab_zycet002-posnl.

* << Fim da inclusão

      ELSE.

        v_knumv = itab_vbak-knumv.

        v_vbeln = itab_vbak-vbeln.

        v_posnr = itab_zycet002-aupos.

      ENDIF.

    ELSE.

      READ TABLE itab_vbrk WITH KEY vbeln = itab_zycet002-vbeln_vf

                           BINARY SEARCH.

      CHECK sy-subrc EQ 0.

      READ TABLE itab_vbrp WITH KEY vbeln = itab_zycet002-vbeln_vf

...

 

...

                     CHANGING v_base

                              v_taxac.

  wa_valores-preco_base = v_base.

ENDFORM.

FORM move_dados_sap_para_itens.

  DATA: v_index   TYPE sy-tabix,

        v_lfimg   TYPE lips-lfimg,

        v_tipo_ov TYPE c,

        v_kwmeng  TYPE vbap-kwmeng,

        v_posnr   TYPE vbap-posnr,

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

        v_ebelp   TYPE ekpo-ebelp.

* << Fim da exclusão

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

        v_ebelp   TYPE ekpo-ebelp,

        v_tipodoc TYPE /pws/zycet020-tipodoc,

        v_bukrs   TYPE vbrk-bukrs.

* << Fim da inclusão

  DATA: BEGIN OF itab_saldo_ov OCCURS 0,

          vbeln   TYPE vbap-vbeln,

          posnr   TYPE vbap-posnr,

          kwmeng  TYPE vbap-kwmeng,

          tipo_ov TYPE c,

        END OF itab_saldo_ov.

  DATA: BEGIN OF itab_saldo_emb OCCURS 0,

          nrseq    TYPE /pws/zycet002-nrseq,

          vbeln_va TYPE /pws/zycet002-vbeln_va,

          aupos    TYPE /pws/zycet002-aupos,

...

 

...

      ENDIF.

      IF ( itab_zycet020-tipodoc NE 'DR' AND

           itab_zycet020-tipodoc NE 'OD' AND

           itab_zycet020-tipodoc NE 'OC' ).

        v_tipo_ov = 'V'.

      ENDIF.

    ENDIF.

    IF ( NOT itab_zycet002-vbeln_va IS INITIAL AND

         NOT itab_zycet002-aupos    IS INITIAL ) OR

       ( NOT itab_zycet002-ebeln    IS INITIAL AND

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

         NOT itab_zycet002-ebelp    IS INITIAL ).

* << Fim da exclusão

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

         NOT itab_zycet002-ebelp    IS INITIAL ) OR

          /pws/zycee001-tipo_emb EQ 'F'.

* << Fim da inclusão

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

      IF v_tipo_ov EQ 'V'.

* << Fim da exclusão

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

      IF v_tipo_ov EQ 'V' AND /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

        READ TABLE itab_ekko WITH KEY ebeln = itab_zycet002-ebeln

                             BINARY SEARCH.

        IF sy-subrc NE 0.

          PERFORM seleciona_dados_sap USING 'X'.

          READ TABLE itab_ekko WITH KEY ebeln = itab_zycet002-ebeln

                               BINARY SEARCH.

          IF sy-subrc NE 0.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '06'

...

 

...

        READ TABLE itab_ekpv WITH KEY ebeln = itab_zycet002-ebeln

                                      ebelp = itab_zycet002-ebelp.

        IF sy-subrc NE 0.

          READ TABLE itab_ekpv WITH KEY ebeln = itab_zycet002-ebeln.

        ENDIF.

        IF sy-subrc EQ 0.

          MOVE: itab_ekpv-kunnr TO itab_zycet002-kunag,

                itab_ekpv-vkorg TO itab_zycet002-vkorg,

                itab_ekpv-vtweg TO itab_zycet002-vtweg.

        ENDIF.

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

      ELSE.

* << Fim da exclusão

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

      ELSEIF ( /pws/zycee001-tipo_emb EQ 'F' AND

                NOT itab_zycet002-vbeln_va IS INITIAL ) OR

             ( /pws/zycee001-tipo_emb NE 'F' ).

* << Fim da inclusão

        READ TABLE itab_vbak WITH KEY vbeln = itab_zycet002-vbeln_va

                              BINARY SEARCH.

        IF sy-subrc NE 0.

          PERFORM seleciona_dados_sap USING 'X'.

          READ TABLE itab_vbak WITH KEY vbeln = itab_zycet002-vbeln_va

                                   BINARY SEARCH.

          IF sy-subrc NE 0.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = 'V1'

...

 

...

          READ TABLE itab_likp WITH KEY vbeln = itab_zycet002-vbeln_vl

                                   BINARY SEARCH.

          IF sy-subrc NE 0.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = 'VL'

                      msgty = 'W'

                      msgv1 = itab_zycet002-vbeln_vl

                      txtnr = 302

                      zeile = 'REM_NOT_FOUND'.

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

            IF NOT itab_zycet002-vbeln_va IS INITIAL.

* << Fim da inclusão

            v_flag = 'X'.

            itab_fluxo-nrseq    = /pws/zycee001-nrseq.

            itab_fluxo-vbeln_va = itab_zycet002-vbeln_va.

            itab_fluxo-aupos    = itab_zycet002-aupos.

            COLLECT itab_fluxo.

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

            ENDIF.

* << Fim da inclusão

            CLEAR: itab_zycet002-vbeln_vl,

                   itab_zycet002-posnl,

...

 

...

                                           posnr = itab_zycet002-posnl

                                   BINARY SEARCH.

          IF sy-subrc NE 0.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = 'VL'

                      msgty = 'W'

                      msgv1 = itab_zycet002-vbeln_vl

                      txtnr = 302

                      zeile = 'REM_NOT_FOUND'.

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

            IF NOT itab_zycet002-vbeln_va IS INITIAL.

* << Fim da inclusão

            v_flag = 'X'.

            itab_fluxo-nrseq    = /pws/zycee001-nrseq.

            itab_fluxo-vbeln_va = itab_zycet002-vbeln_va.

            itab_fluxo-aupos    = itab_zycet002-aupos.

            COLLECT itab_fluxo.

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

            ENDIF.

* << Fim da inclusão

            CLEAR: itab_zycet002-vbeln_vl,

                   itab_zycet002-posnl,

...

 

...

                  itab_lips-brgew   TO itab_zycet002-brgew,

                  itab_lips-ntgew   TO itab_zycet002-ntgew.

          ENDIF.

          READ TABLE itab_vttp WITH KEY vbeln = itab_zycet002-vbeln_vl.

          IF sy-subrc EQ 0.

            itab_zycet002-tknum = itab_vttp-tknum.

          ENDIF.

        ENDDO.

        IF v_index IS INITIAL.

          CONTINUE.

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

        ENDIF.

      ENDIF.

      IF NOT itab_zycet002-vbeln_vl IS INITIAL AND

             itab_zycet002-vbeln_vf IS INITIAL AND

             itab_zycet002-bukrs    IS INITIAL.

        READ TABLE itab_likp WITH KEY vbeln = itab_zycet002-vbeln_vl

                             BINARY SEARCH.

        IF sy-subrc EQ 0 AND NOT itab_likp-vkorg IS INITIAL.

          SELECT SINGLE bukrs

                  FROM tvko

                  INTO v_bukrs

                  WHERE vkorg = itab_likp-vkorg.

          IF NOT v_bukrs IS INITIAL.

            MOVE v_bukrs TO itab_zycet002-bukrs.

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      IF NOT itab_zycet002-vbeln_vf IS INITIAL.

        DO 1 TIMES.

          READ TABLE itab_vbrk WITH KEY vbeln = itab_zycet002-vbeln_vf

                                   BINARY SEARCH.

          IF sy-subrc NE 0.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = 'VF'

...

 

...

                itab_vbrk-fkdat TO itab_zycet002-fkdat,

                itab_vbrk-inco1 TO itab_zycet002-inco1,

                itab_vbrk-kurrf TO itab_zycet002-kurrf,

                itab_vbrk-zterm TO itab_zycet002-zterm,

                itab_vbrk-ktgrd TO itab_zycet002-ktgrd,

                itab_vbrk-land1 TO itab_zycet002-land1,

                itab_vbrk-bukrs TO itab_zycet002-bukrs,

                itab_vbrk-kunag TO itab_zycet002-kunag,

                itab_vbrk-kunrg TO itab_zycet002-kunrg,

                itab_vbrk-vkorg TO itab_zycet002-vkorg,

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

                itab_vbrk-vtweg TO itab_zycet002-vtweg,

* << Fim da inclusão

                itab_vbrk-fksto TO itab_zycet002-fksto,

                itab_vbrk-xblnr TO itab_zycet002-xblnr.

          IF itab_vbrp-fkimg <> '0'       AND

             itab_vbrp-ntgew IS INITIAL   AND

             itab_zycet002-posnl LT 900000.

           READ TABLE itab_lips WITH KEY vbeln = itab_zycet002-vbeln_vl

                                            posnr = itab_zycet002-posnl

                                                            xchpf = 'X'

                                                          BINARY SEARCH.

            IF sy-subrc IS INITIAL.

...

 

...

                      itab_lips-kcbrgew TO itab_zycet002-brgew.

            ENDIF.

          ELSE.

            MOVE:  itab_vbrp-brgew TO itab_zycet002-brgew,

                   itab_vbrp-ntgew TO itab_zycet002-ntgew.

          ENDIF.

          MOVE: itab_vbrp-ktgrm TO itab_zycet002-ktgrm,

                itab_vbrp-shkzg TO itab_zycet002-shkzg,

                itab_vbrp-fkimg TO itab_zycet002-fkimg,

                itab_vbrp-vrkme TO itab_zycet002-vrkme,

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

                itab_vbrp-kokrs TO itab_zycet002-kokrs,

                itab_vbrp-spara TO itab_zycet002-spara,

* << Fim da inclusão

                itab_vbrp-gsber TO itab_zycet002-gsber.

          MOVE: itab_vbrp-vtweg_auft TO itab_zycet002-vtweg_auft,

                itab_vbrp-vkorg_auft TO itab_zycet002-vkorg_auft.

          READ TABLE itab_j_1bnflin

                WITH KEY refkey = itab_zycet002-vbeln_vf

                         reftyp = 'BI'.

          IF sy-subrc EQ 0.

            READ TABLE itab_j_1bnfdoc

                  WITH KEY docnum = itab_j_1bnflin-docnum.

            IF sy-subrc EQ 0.

...

 

...

                msgv1 = itab_zycet002-matnr

                msgv2 = itab_zycet002-werks

                msgv3 = itab_zycet002-vbeln_va

                msgv4 = itab_zycet002-aupos

                txtnr = 224

                zeile = 'MAT_ITM_SEL'.

    ELSE.

      MOVE itab_marc-steuc TO itab_zycet002-steuc.

    ENDIF.

    MODIFY itab_zycet002 INDEX v_index.

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

  ENDLOOP.

  IF /pws/zycee001-tipo_emb EQ 'F'.

    LOOP AT itab_zycet002 WHERE NOT vbeln_va IS initial.

      v_index = sy-tabix.

      READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart

                                     bukrs = itab_zycet002-bukrs.

      IF sy-subrc IS INITIAL.

        v_tipodoc = itab_zycet020-tipodoc.

      ELSE.

        READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart

                                      bukrs = space.

        IF sy-subrc IS INITIAL.

          v_tipodoc = itab_zycet020-tipodoc.

        ELSE.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = 'E'

                    msgv1 = itab_zycet002-auart

                    msgv2 = itab_zycet002-bukrs

                    msgv3 = itab_zycet002-vbeln_va

                    txtnr = 222

                    zeile = 'TP_OV_001'.

        ENDIF.

      ENDIF.

      IF NOT v_tipodoc IS INITIAL.

        IF ( v_tipodoc NE 'OC' AND

             v_tipodoc NE 'OD' AND

             v_tipodoc NE 'DR' ).

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = 'E'

                    msgv1 = itab_zycet002-vbeln_va

                    msgv2 = text-630

                    txtnr = 081

                    zeile = 'TP_OV_001'.

          DELETE itab_zycet002 INDEX v_index.

        ENDIF.

      ENDIF.

* << Fim da inclusão

  ENDLOOP.

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

  ENDIF.

  CLEAR v_index.

* << Fim da inclusão

  SORT itab_zycet002 BY vbeln_va

                        aupos

                        vbeln_vl

                        posnl

                        vbeln_vf

...

 

...

  CHECK NOT /pws/zycee001-inco1 IS INITIAL.

  READ TABLE itab_tinct WITH KEY spras = /pws/zycee001-spras

                                 inco1 = /pws/zycee001-inco1.

  IF sy-subrc EQ 0.

    /pws/zycee001-condicao = itab_tinct-bezei.

  ENDIF.

ENDFORM.

FORM cabecalho_porto_pais.

  DATA: itab_tline TYPE TABLE OF tline WITH HEADER LINE,

        wa_thead   TYPE thead.

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

  DATA: v_kunnr    TYPE vbpa-kunnr.

* << Fim da inclusão

  DO 1 TIMES.

    CHECK NOT itab_zycet002-vbeln_va IS INITIAL.

    READ TABLE itab_zycet041 WITH KEY pgmna  = c_nome_prog

                                      codint = '001'.

    IF sy-subrc EQ 0.

      wa_thead-tdobject   = 'VBBK'.

      wa_thead-tdname     = itab_zycet002-vbeln_va.

      wa_thead-tdid       = itab_zycet041-tdid.

      wa_thead-tdspras    = sy-langu.

      wa_thead-tdlinesize = 070.

...

 

...

                OTHERS                  = 8.

      IF sy-subrc EQ 0.

        READ TABLE itab_tline INDEX 1.

        /pws/zycee001-portemb = itab_tline-tdline.

      ENDIF.

    ENDIF.

  ENDDO.

  DO 1 TIMES.

    IF /pws/zycee001-portdest IS INITIAL.

      READ TABLE itab_vbkd WITH KEY vbeln = itab_zycet002-vbeln_va.

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

      IF sy-subrc IS INITIAL.

        MOVE itab_vbkd-empst TO: /pws/zycee001-portdest,

                                 itab_zycet002-portdest.

      ELSE.

        READ TABLE itab_lips WITH KEY vbeln = itab_zycet002-vbeln_vl.

* << Fim da inclusão

      CHECK sy-subrc EQ 0.

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

      MOVE itab_vbkd-empst TO: /pws/zycee001-portdest,

* << Fim da exclusão

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

        MOVE itab_lips-empst TO: /pws/zycee001-portdest,

* << Fim da inclusão

                               itab_zycet002-portdest.

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

      ENDIF.

* << Fim da inclusão

      MODIFY itab_zycet002

              TRANSPORTING portdest

              WHERE nrseq = /pws/zycee001-nrseq.

    ENDIF.

  ENDDO.

  IF /pws/zycee001-paisdest IS INITIAL.

    READ TABLE itab_zycet002 INDEX 1.

    CHECK sy-subrc EQ 0.

    READ TABLE itab_zycet076 WITH KEY codigo_ce = 'CO'.

    READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_va

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

                                  parvw = itab_zycet076-codigo_r3.

    IF sy-subrc EQ 0.

      v_kunnr = itab_vbpa-kunnr.

    ELSEIF NOT itab_zycet002-vbeln_vl IS INITIAL.

      READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_vl

                                  parvw = itab_zycet076-codigo_r3.

      IF sy-subrc EQ 0.

        v_kunnr = itab_vbpa-kunnr.

      ELSEIF NOT itab_zycet002-vbeln_vf IS INITIAL.

        READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_vf

* << Fim da inclusão

                                  parvw = itab_zycet076-codigo_r3.

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

        IF sy-subrc EQ 0.

          v_kunnr = itab_vbpa-kunnr.

        ENDIF.

      ENDIF.

* << Fim da inclusão

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

    IF sy-subrc NE 0.

      READ TABLE itab_vbpa

        WITH KEY vbeln = itab_zycet002-vbeln_vl

                 parvw = itab_zycet076-codigo_r3

        TRANSPORTING kunnr.

* << Fim da exclusão

    ENDIF.

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

    IF NOT v_kunnr IS INITIAL.

* << Fim da inclusão

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

    IF NOT itab_vbpa-kunnr IS INITIAL.

      READ TABLE itab_kna1 WITH KEY kunnr = itab_vbpa-kunnr.

* << Fim da exclusão

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

      READ TABLE itab_kna1 WITH KEY kunnr = v_kunnr.

* << Fim da inclusão

      IF sy-subrc NE 0.

        PERFORM seleciona_novos_clientes.

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

        READ TABLE itab_kna1 WITH KEY kunnr = itab_vbpa-kunnr.

* << Fim da exclusão

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

        READ TABLE itab_kna1 WITH KEY kunnr = v_kunnr.

* << Fim da inclusão

      ENDIF.

      /pws/zycee001-paisdest = itab_kna1-land1.

...

 

...

                                                      spras = sy-langu.

      IF sy-subrc EQ 0.

        wa_valores-parvw_final = itab_tpart-vtext.

      ENDIF.

    ENDIF.

  ENDDO.

  READ TABLE itab_zycet002 INDEX 1.

  CHECK sy-subrc EQ 0.

  IF /pws/zycee001-codrecmer IS INITIAL.

    READ TABLE itab_zycet076 WITH KEY codigo_ce = 'MR'.

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

    IF /pws/zycee001-tipo_emb EQ 'F'.

      READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_vl

                                    parvw = itab_zycet076-codigo_r3.

      IF NOT sy-subrc IS INITIAL.

        IF NOT itab_zycet002-vbeln_vf IS INITIAL.

          READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_vf

                                        parvw = itab_zycet076-codigo_r3.

        ENDIF.

      ENDIF.

    ELSE.

* << Fim da inclusão

    READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_va

                                  parvw = itab_zycet076-codigo_r3.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      /pws/zycee001-codrecmer = itab_vbpa-kunnr.

    ENDIF.

  ENDIF.

  IF     /pws/zycee001-descrecmer IS INITIAL AND

...

 

...

    IF sy-subrc NE 0.

      PERFORM seleciona_novos_clientes.

      READ TABLE itab_kna1 WITH KEY kunnr = /pws/zycee001-codrecmer.

    ENDIF.

    /pws/zycee001-descrecmer = itab_kna1-name1.

  ENDIF.

  READ TABLE itab_zycet002 INDEX 1.

  CHECK sy-subrc EQ 0.

  IF /pws/zycee001-codrecfat IS INITIAL.

    READ TABLE itab_zycet076 WITH KEY codigo_ce = 'RF'.

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

    IF /pws/zycee001-tipo_emb EQ 'F'.

      READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_vl

                                    parvw = itab_zycet076-codigo_r3.

      IF NOT sy-subrc IS INITIAL.

        IF NOT itab_zycet002-vbeln_vf IS INITIAL.

          READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_vf

                                        parvw = itab_zycet076-codigo_r3.

        ENDIF.

      ENDIF.

    ELSE.

* << Fim da inclusão

    READ TABLE itab_vbpa WITH KEY vbeln = itab_zycet002-vbeln_va

                                  parvw = itab_zycet076-codigo_r3.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      /pws/zycee001-codrecfat = itab_vbpa-kunnr.

    ENDIF.

  ENDIF.

  IF     /pws/zycee001-descrecfat IS INITIAL AND

...

 

...

  CLEAR /pws/zycee001-gewei.

  LOOP AT itab_zycet002.

    CHECK itab_zycet002-estorno   IS INITIAL AND

          itab_zycet002-estornado IS INITIAL.

    IF /pws/zycee001-gewei IS INITIAL.

      READ TABLE itab_zycet037 WITH KEY bukrs = /pws/zycee001-bukrs.

      IF sy-subrc EQ 0.

        /pws/zycee001-gewei = itab_zycet037-gewei.

      ENDIF.

      IF /pws/zycee001-gewei IS INITIAL.

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

        IF /pws/zycee001-tipo_emb EQ 'F'.

          READ TABLE itab_lips WITH KEY vbeln = itab_zycet002-vbeln_vl

                                        posnr = itab_zycet002-posnl

                               BINARY SEARCH.

          IF sy-subrc EQ 0.

            /pws/zycee001-gewei = itab_lips-vrkme.

          ENDIF.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_vbap WITH KEY vbeln = itab_zycet002-vbeln_va

                                      posnr = itab_zycet002-aupos

                             BINARY SEARCH.

        IF sy-subrc EQ 0.

          /pws/zycee001-gewei = itab_vbap-vrkme.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

...

 

...

  APPEND wa_status_cab TO itab_status_cab.

ENDFORM.

FORM monta_tabela_status_ite.

  CLEAR wa_status_ite.

  REFRESH itab_status_ite.

  LOOP AT itab_zycet002 WHERE saida   = 'X' OR

                              servico = 'X'.

    CLEAR: wa_status_ite.

    MOVE: itab_zycet002-vbeln_va TO wa_status_ite-vbeln_va,

          itab_zycet002-aupos    TO wa_status_ite-aupos,

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

          itab_zycet002-vbeln_vl TO wa_status_ite-vbeln_vl,

          itab_zycet002-posnl    TO wa_status_ite-posnl,

* << Fim da inclusão

          itab_zycet002-ebeln    TO wa_status_ite-ebeln,

          itab_zycet002-ebelp    TO wa_status_ite-ebelp.

    CLEAR: itab_vbuk,

           itab_vbup.

    IF NOT itab_zycet002-vbeln_va IS INITIAL.

      READ TABLE itab_vbuk WITH KEY vbeln = itab_zycet002-vbeln_va

                           BINARY SEARCH.

      READ TABLE itab_vbup WITH KEY vbeln = itab_zycet002-vbeln_va

                                    posnr = itab_zycet002-aupos

                           BINARY SEARCH.

...

 

...

      wa_status_ite-rvend = 'C'.

    ELSE.

      wa_status_ite-rvend = ' '.

    ENDIF.

    APPEND wa_status_ite TO itab_status_ite.

  ENDLOOP.

  SORT itab_status_ite.

  DELETE ADJACENT DUPLICATES

         FROM itab_status_ite

         COMPARING vbeln_va aupos

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

                   vbeln_vl posnl

* << Fim da inclusão

                   ebeln    ebelp.

ENDFORM.

FORM atualiza_ordens_e_remessas.

  DATA: wa_zycet002   LIKE itab_zycet002,

        v_vbeln_va    TYPE /pws/zycet002-vbeln_va,

        v_vbeln_vl    TYPE /pws/zycet002-vbeln_vl,

        v_posnr_va    TYPE /pws/zycet002-aupos,

        v_posnr_vl    TYPE /pws/zycet002-posnl,

        v_ebelp       TYPE ekpo-ebelp,

        v_kwmeng      TYPE ekpo-menge,

...

 

...

      ENDLOOP.

      DELETE itab_zycet002.

      CONTINUE.

    ENDIF.

    IF NOT v_vbeln_vl IS INITIAL AND

           v_posnr_vl IS INITIAL.

      LOOP AT itab_vbfa ASSIGNING <fs_vbfa>

                        WHERE vbeln   EQ itab_zycet002-vbeln_vl AND

                              posnn   NE space                  AND

                              vbtyp_n CA 'JT7'.

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

        IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

        READ TABLE itab_vbak WITH KEY vbeln = <fs_vbfa>-vbelv

                             BINARY SEARCH.

        IF sy-subrc EQ 0.

          v_tipo_ov = 'C'.

        ELSE.

          READ TABLE itab_ekpo WITH KEY ebeln = <fs_vbfa>-vbelv.

          IF sy-subrc EQ 0.

            v_tipo_ov = 'V'.

          ENDIF.

        ENDIF.

        IF sy-subrc NE 0.

          CONTINUE.

        ENDIF.

        CHECK v_vbeln_va IS INITIAL.

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

        ENDIF.

* << Fim da inclusão

        wa_zycet002 = itab_zycet002.

        IF v_tipo_ov EQ 'V'.

          wa_zycet002-ebeln = <fs_vbfa>-vbelv.

          wa_zycet002-ebelp = <fs_vbfa>-posnv.

        ELSE.

          IF /pws/zycee001-tipo_emb EQ 'A'.

            IF <fs_vbfa>-vbtyp_v NE 'I'.

              CALL FUNCTION 'MESSAGE_STORE'

                   EXPORTING

                        arbgb = '/PWS/ZYCEM'

...

 

...

    CLEAR v_exclui.

    v_vbeln = itab_zycet002-vbeln_vf.

    v_posnr = itab_zycet002-posnr.

    LOOP AT itab_vbfa ASSIGNING <fs_vbfa>

                      WHERE vbelv EQ v_vbeln AND

                            posnv EQ v_posnr.

      IF <fs_vbfa>-vbtyp_n CA 'NS6'.

        READ TABLE itab_vbrk WITH KEY vbeln = <fs_vbfa>-vbeln

                             BINARY SEARCH.

        CHECK sy-subrc EQ 0.

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

        IF <fs_vbfa>-vbtyp_n CA 'N6'.

          READ TABLE itab_zycet002 WITH KEY vbeln_vf = <fs_vbfa>-vbeln

                                            posnr    = <fs_vbfa>-posnn

                                   TRANSPORTING NO FIELDS.

          CHECK sy-subrc NE 0.

        ENDIF.

* << Fim da exclusão

        CLEAR wa_zycet002.

        IF /pws/zycee001-tipo_emb CA 'DV'.

          wa_zycet002-ebeln = itab_zycet002-ebeln.

          wa_zycet002-ebelp = itab_zycet002-ebelp.

        ENDIF.

        wa_zycet002-vbeln_va = itab_zycet002-vbeln_va.

        wa_zycet002-aupos    = itab_zycet002-aupos.

        wa_zycet002-vbeln_vl = itab_zycet002-vbeln_vl.

        wa_zycet002-posnl    = itab_zycet002-posnl.

        APPEND wa_zycet002 TO itab_zycet002.

...

 

...

        v_vbeln     TYPE vbfa-vbeln,

        v_posnr     TYPE vbfa-posnn,

        v_nao_achou TYPE c,

        v_tipo_ov   TYPE c,

        v_elimina_fornecimento(1) TYPE c.

  FIELD-SYMBOLS: <fs_vbfa> LIKE itab_vbfa.

  IF itab_zycet037 IS INITIAL.

    READ TABLE itab_zycet037 WITH KEY bukrs = /pws/zycee001-bukrs.

  ENDIF.

  LOOP AT itab_zycet002 WHERE vbeln_vf IS initial.

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

    IF /pws/zycee001-tipo_emb EQ 'F' AND

       itab_zycet002-vbeln_va IS INITIAL.

      CHECK NOT itab_zycet002-vbeln_vl IS INITIAL AND

            NOT itab_zycet002-posnl    IS INITIAL.

    ELSE.

* << Fim da inclusão

    CHECK ( NOT itab_zycet002-vbeln_va IS INITIAL AND

            NOT itab_zycet002-aupos    IS INITIAL ) OR

          ( NOT itab_zycet002-ebeln    IS INITIAL AND

            NOT itab_zycet002-ebelp    IS INITIAL ).

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

    ENDIF.

* << Fim da inclusão

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

    CLEAR itab_vbak.

* << Fim da exclusão

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

    CLEAR: itab_vbak,

           itab_zycet020.

* << Fim da inclusão

    READ TABLE itab_vbak WITH KEY vbeln = itab_zycet002-vbeln_va

                         BINARY SEARCH.

    IF NOT itab_vbak-auart IS INITIAL.

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

      CLEAR itab_zycet020.

* << Fim da exclusão

      READ TABLE itab_zycet020 WITH KEY auart = itab_vbak-auart

                                        bukrs = itab_vbak-bukrs_vf.

      IF sy-subrc NE 0.

        READ TABLE itab_zycet020 WITH KEY auart = itab_vbak-auart

...

 

...

    LOOP AT itab_vbfa ASSIGNING <fs_vbfa>

                      WHERE vbelv EQ v_vbeln AND

                            posnv EQ v_posnr.

      READ TABLE itab_vbrk WITH KEY vbeln = <fs_vbfa>-vbeln

                           BINARY SEARCH.

      IF sy-subrc NE 0.

        CONTINUE.

      ENDIF.

      CLEAR v_nao_achou.

      READ TABLE itab_zycet023 WITH KEY fkart   = itab_vbrk-fkart

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

                                        bukrs   = itab_vbrk-bukrs

* << Fim da inclusão

                                        estorno = 'X'.

      IF sy-subrc        NE 0 AND

         itab_vbrk-fksto NE 'X'.

        IF v_elimina_fornecimento CA ' -'.

          v_elimina_fornecimento = 'X'.

        ELSE.

          v_elimina_fornecimento = ' '.

        ENDIF.

      ENDIF.

      READ TABLE itab_zycet002 WITH KEY vbeln_vf = <fs_vbfa>-vbeln

...

 

...

        v_exclui TYPE c,

        v_cabec  TYPE c.

  DATA: BEGIN OF itab_ordens OCCURS 0,

          vbeln_va TYPE /pws/zycet002-vbeln_va,

          aupos    TYPE /pws/zycet002-aupos,

        END OF itab_ordens.

  DATA: BEGIN OF itab_pedidos OCCURS 0,

          ebeln TYPE /pws/zycet002-ebeln,

          ebelp TYPE /pws/zycet002-ebelp,

        END OF itab_pedidos.

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

  DATA: BEGIN OF itab_fornec OCCURS 0,

          vbeln_vl TYPE /pws/zycet002-vbeln_vl,

          posnl    TYPE /pws/zycet002-posnl,

        END OF itab_fornec.

* << Fim da inclusão

  DATA: BEGIN OF itab_zycet002_existe OCCURS 0,

          nrseq    TYPE /pws/zycet002-nrseq,

          vbeln_va TYPE /pws/zycet002-vbeln_va,

          vbeln_vf TYPE /pws/zycet002-vbeln_vf,

          posnr    TYPE /pws/zycet002-posnr,

          vbeln_vl TYPE /pws/zycet002-vbeln_vl,

          posnl    TYPE /pws/zycet002-posnl,

          aupos    TYPE /pws/zycet002-aupos,

          ebeln    TYPE /pws/zycet002-ebeln,

          ebelp    TYPE /pws/zycet002-ebelp,

...

 

...

           vbeln_vl

           posnl

           aupos

           ebeln

           ebelp

           FROM /pws/zycet002

           APPENDING TABLE itab_zycet002_existe

           FOR ALL ENTRIES IN itab_pedidos

           WHERE ebeln = itab_pedidos-ebeln AND

                 ebelp = itab_pedidos-ebelp.            "#EC CI_NOFIRST

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

    DELETE itab_zycet002_existe WHERE nrseq EQ /pws/zycee001-nrseq.

  ENDIF.

  IF /pws/zycee001-tipo_emb EQ 'F'.

    LOOP AT itab_zycet002 WHERE vbeln_va EQ space.

      MOVE: itab_zycet002-vbeln_vl TO itab_fornec-vbeln_vl,

            itab_zycet002-posnl    TO itab_fornec-posnl.

      COLLECT itab_fornec.

    ENDLOOP.

    IF NOT itab_fornec[] IS INITIAL.

      SELECT nrseq

             vbeln_va

             vbeln_vf

             posnr

             vbeln_vl

             posnl

             aupos

             ebeln

             ebelp

             FROM /pws/zycet002

             INTO TABLE itab_zycet002_existe

             FOR ALL ENTRIES IN itab_fornec

             WHERE vbeln_vl = itab_fornec-vbeln_vl AND

                   posnl    = itab_fornec-posnl.

* << Fim da inclusão

    DELETE itab_zycet002_existe WHERE nrseq EQ /pws/zycee001-nrseq.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

  LOOP AT itab_zycet002.

    READ TABLE itab_zycet002_existe

          WITH KEY vbeln_va = itab_zycet002-vbeln_va

                   aupos    = itab_zycet002-aupos

                   vbeln_vl = itab_zycet002-vbeln_vl

                   posnl    = itab_zycet002-posnl

                   ebeln    = itab_zycet002-ebeln

                   ebelp    = itab_zycet002-ebelp.

    IF sy-subrc EQ 0.

      IF itab_zycet002-vbeln_va IS INITIAL.

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

        IF /pws/zycee001-tipo_emb EQ 'F'.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = v_msgtp

                    msgv1 = itab_zycet002-vbeln_vl

                    msgv2 = itab_zycet002-posnl

                    msgv3 = itab_zycet002_existe-nrseq

                    txtnr = 242

                    zeile = 'NRSEQ_ERR'.

        ELSE.

* << Fim da inclusão

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCEM'

                  msgty = v_msgtp

                  msgv1 = itab_zycet002-ebeln

                  msgv2 = itab_zycet002-ebelp

                  msgv3 = itab_zycet002_existe-nrseq

                  txtnr = 242

                  zeile = 'NRSEQ_ERR'.

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

        ENDIF.

* << Fim da inclusão

      ELSE.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCEM'

                  msgty = v_msgtp

                  msgv1 = itab_zycet002-vbeln_va

                  msgv2 = itab_zycet002-aupos

                  msgv3 = itab_zycet002_existe-nrseq

                  txtnr = 242

                  zeile = 'NRSEQ_ERR'.

...

 

...

                        aupos

                        ebeln

                        ebelp

                        vbeln_vl

                        posnl

                        vbeln_vf

                        posnr    DESCENDING.

  IF itab_zycet037-tpverifparc CA 'CI'.

    LOOP AT itab_zycet002.

      IF itab_zycet002-vbeln_vf IS INITIAL.

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

        IF /pws/zycee001-tipo_emb EQ 'F'.

          v_vbeln = itab_zycet002-vbeln_vl.

          v_posnr = itab_zycet002-posnl.

        ELSE.

* << Fim da inclusão

        v_vbeln = itab_zycet002-vbeln_va.

        v_posnr = itab_zycet002-aupos.

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

        ENDIF.

* << Fim da inclusão

      ELSE.

        v_vbeln = itab_zycet002-vbeln_vf.

        v_posnr = itab_zycet002-posnr.

      ENDIF.

      CHECK NOT v_vbeln IS INITIAL.

      IF itab_zycet037-tpverifparc EQ 'C'.

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

        CLEAR v_posnr.

      ENDIF.

* << Fim da exclusão

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

        READ TABLE itab_vbpa WITH KEY vbeln = v_vbeln

                                      posnr = '000000'

                                      parvw = v_parvw.

      ELSE.

* << Fim da inclusão

      READ TABLE itab_vbpa WITH KEY vbeln = v_vbeln

                                    posnr = v_posnr

                                    parvw = v_parvw.

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

      ENDIF.

* << Fim da inclusão

      CHECK sy-subrc EQ 0.

      CHECK NOT itab_vbpa-kunnr IS INITIAL.

      IF v_kunnr IS INITIAL.

        v_kunnr = itab_vbpa-kunnr.

      ENDIF.

      IF itab_vbpa-kunnr NE v_kunnr.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCEM'

                  msgty = v_msgtp

                  msgv1 = text-557

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

                  msgv2 = itab_zycet002-vbeln_va

                  msgv3 = itab_zycet002-aupos

* << Fim da exclusão

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

                  msgv2 = v_vbeln

                  msgv3 = v_posnr

* << Fim da inclusão

                  txtnr = 241

                  zeile = 'PARVW_ERR'.

        IF p_excluir EQ 'X'.

          DELETE itab_zycet002.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

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

  CLEAR v_kunnr.

* << Fim da exclusão

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

  CLEAR: v_kunnr,

         v_vbeln,

         v_posnr.

* << Fim da inclusão

  LOOP AT itab_zycet002.

    IF /pws/zycee001-tipo_emb EQ 'D'.

      v_vbeln = itab_zycet002-ebeln.

      v_posnr = itab_zycet002-ebelp.

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

    ELSEIF /pws/zycee001-tipo_emb EQ 'F' .

      v_vbeln = itab_zycet002-vbeln_vl.

      v_posnr = itab_zycet002-posnl.

* << Fim da inclusão

    ELSE.

...

 

...

         lifnr

         bupla

         FROM bseg

         APPENDING TABLE itab_bseg

         FOR ALL ENTRIES IN itab_bkpf

         WHERE bukrs = itab_bkpf-bukrs AND

               belnr = itab_bkpf-belnr AND

               gjahr = itab_bkpf-gjahr.

ENDFORM.

FORM seleciona_novos_itens.

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

  TYPES: BEGIN OF ts_lips,

          vbeln_vl TYPE lips-vbeln,

          posnl    TYPE lips-posnr,

          vtweg    TYPE lips-vtweg,

        END OF ts_lips.

  DATA: itab_lips TYPE TABLE OF ts_lips,

        wa_lips   TYPE ts_lips.

* << Fim da inclusão

  DATA: wa_vbco6 TYPE vbco6.

  DATA: BEGIN OF itab_002 OCCURS 0,

          vbeln_va TYPE /pws/zycet002-vbeln_va,

          aupos    TYPE /pws/zycet002-aupos,

          vbeln_vl TYPE /pws/zycet002-vbeln_vl,

          posnl    TYPE /pws/zycet002-posnl,

          vbeln_vf TYPE /pws/zycet002-vbeln_vf,

          posnr    TYPE /pws/zycet002-posnr,

        END OF itab_002.

  DATA: BEGIN OF itab_vbfa_2 OCCURS 0.

...

 

...

  DATA: END OF itab_vbfa_2.

  DATA: itab_vbfa_aux LIKE itab_vbfa_2 OCCURS 0 WITH HEADER LINE.

  DATA: BEGIN OF itab_vbak_2 OCCURS 0,

          vbeln TYPE vbak-vbeln,

          auart TYPE vbak-auart,

          vkorg TYPE vbak-vkorg,

          vtweg TYPE vbak-vtweg,

        END OF itab_vbak_2.

  DATA: BEGIN OF itab_likp_2 OCCURS 0,

          vbeln TYPE likp-vbeln,

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

          vkorg TYPE likp-vkorg,

          inco1 TYPE likp-inco1,

* << Fim da inclusão

          kunag TYPE likp-kunag,

        END OF itab_likp_2.

  DATA: BEGIN OF itab_vbrk_2 OCCURS 0,

          vbeln TYPE vbrk-vbeln,

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

          zterm TYPE vbrk-zterm,

* << Fim da inclusão

        END OF itab_vbrk_2.

  DATA: BEGIN OF itab_vttk_2 OCCURS 0,

          tknum TYPE vttk-tknum,

...

 

...

          posnr TYPE vbkd-posnr,

          inco1 TYPE vbkd-inco1,

          zterm TYPE vbkd-zterm,

          bstkd TYPE vbkd-bstkd,

        END OF itab_vbkd_2.

  DATA: v_rodou TYPE c.

  DATA: v_repid TYPE sy-repid,

        g_variant TYPE disvariant.

  DATA: afield TYPE kkblo_fieldcat.

  DATA: i_fieldcat TYPE kkblo_t_fieldcat.

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

  DATA: v_colpos(02)   TYPE n.

* << Fim da inclusão

  REFRESH itab_alv_selecao.

  IF s_tknum[]  IS INITIAL AND

     s_vbelnf[] IS INITIAL AND

     s_vbelnl[] IS INITIAL AND

     s_vbelnv[] IS INITIAL.

    IF NOT s_bstkd[] IS INITIAL OR

       NOT s_zterm[] IS INITIAL OR

       NOT s_inco1[] IS INITIAL OR

       NOT s_vtweg[] IS INITIAL OR

       NOT s_vkorg[] IS INITIAL OR

       NOT s_auart[] IS INITIAL OR

       NOT s_kunag[] IS INITIAL.

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

      IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

      IF NOT s_bstkd[] IS INITIAL OR

         NOT s_zterm[] IS INITIAL OR

         NOT s_inco1[] IS INITIAL.

        SELECT vbeln

               posnr

               inco1

               zterm

               bstkd

               FROM vbkd

               INTO TABLE itab_vbkd_2

               WHERE inco1 IN s_inco1 AND

                     zterm IN s_zterm AND

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

                     bstkd IN s_bstkd.                  "#EC CI_NOFIELD

* << Fim da exclusão

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

                      bstkd IN s_bstkd.                 "#EC CI_NOFIELD

* << Fim da inclusão

      ENDIF.

      IF NOT s_vtweg[] IS INITIAL OR

         NOT s_vkorg[] IS INITIAL OR

         NOT s_auart[] IS INITIAL.

        SELECT vbeln

               auart

               vkorg

               vtweg

               FROM vbak

               INTO TABLE itab_vbak_2

               WHERE auart IN s_auart AND

                     vkorg IN s_vkorg AND

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

                     vtweg IN s_vtweg.                  "#EC CI_NOFIELD

* << Fim da exclusão

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

                      vtweg IN s_vtweg.                 "#EC CI_NOFIELD

* << Fim da inclusão

      ENDIF.

      IF NOT s_kunag[] IS INITIAL.

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

          SELECT vbeln

                 vkorg

                 inco1

                 kunag

                 FROM likp

                 INTO TABLE itab_likp_2

                WHERE kunag IN s_kunag.                 "#EC CI_NOFIELD

        ENDIF.

      ELSE.

        IF  NOT s_inco1[] IS INITIAL OR

            NOT s_vkorg[] IS INITIAL OR

            NOT s_kunag[] IS INITIAL.

          SELECT vbeln

                 vkorg

                 inco1

                 kunag

                 FROM likp

                 INTO TABLE itab_likp_2

                 WHERE kunag IN s_kunag AND

                       inco1 IN s_inco1 AND

                       vkorg IN s_vkorg.

        ENDIF.

        IF NOT s_zterm[] IS INITIAL.

          SELECT vbeln

                 zterm

                 FROM vbrk

                 INTO TABLE itab_vbrk_2

                 WHERE zterm IN s_zterm.

        ENDIF.

        IF NOT s_vtweg[] IS INITIAL.

          SELECT vbeln

                 posnr

                 vtweg

                 FROM lips

                 INTO TABLE itab_lips

                 WHERE vtweg IN s_vtweg.

          IF sy-subrc EQ 0.

* << Fim da inclusão

        SELECT vbeln

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

                   vkorg

                   inco1

* << Fim da inclusão

               kunag

               FROM likp

               INTO TABLE itab_likp_2

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

               WHERE kunag IN s_kunag.                  "#EC CI_NOFIELD

* << Fim da exclusão

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

                   FOR ALL ENTRIES IN itab_lips

                   WHERE vbeln EQ itab_lips-vbeln_vl AND

                         kunag IN s_kunag            AND

                         inco1 IN s_inco1            AND

                         vkorg IN s_vkorg.

* << Fim da inclusão

      ENDIF.

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

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ELSE.

      MESSAGE s017.

      EXIT.

    ENDIF.

  ENDIF.

...

 

...

                belegtyp      = '8'

           TABLES

                vbfa_tab      = itab_vbfa_aux

           EXCEPTIONS

                no_vbfa       = 1

                no_vbuk_found = 2.

      CHECK sy-subrc EQ 0.

      APPEND LINES OF itab_vbfa_aux TO itab_vbfa_2.

    ENDLOOP.

    IF NOT s_vbelnf[] IS INITIAL.

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

      SELECT vbeln

* << Fim da exclusão

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

      SELECT vbeln zterm

* << Fim da inclusão

             FROM vbrk

             INTO TABLE itab_vbrk_2

             WHERE vbeln IN s_vbelnf.

    ENDIF.

    LOOP AT itab_vbrk_2.

      REFRESH itab_vbfa_aux.

      MOVE itab_vbrk_2-vbeln TO wa_vbco6-vbeln.

      CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'

           EXPORTING

                comwa         = wa_vbco6

...

 

...

               auart

               vkorg

               vtweg

               FROM vbak

               APPENDING TABLE itab_vbak_2

               WHERE vbeln = itab_vbfa_2-vbeln.

      ELSEIF itab_vbfa_2-vbtyp_n CA 'JT7'.

        READ TABLE itab_likp_2 WITH KEY vbeln = itab_vbfa_2-vbeln.

        CHECK sy-subrc NE 0.

        SELECT vbeln

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

               vkorg

               inco1

* << Fim da inclusão

               kunag

               FROM likp

               APPENDING TABLE itab_likp_2

               WHERE vbeln = itab_vbfa_2-vbeln.

      ENDIF.

    ENDLOOP.

    IF NOT s_vbelnv[] IS INITIAL.

      SELECT vbeln

             auart

             vkorg

...

 

...

                vbfa_tab      = itab_vbfa_aux

           EXCEPTIONS

                no_vbfa       = 1

                no_vbuk_found = 2.

      CHECK sy-subrc EQ 0.

      APPEND LINES OF itab_vbfa_aux TO itab_vbfa_2.

    ENDLOOP.

    IF NOT s_vbelnl[] IS INITIAL.

      SELECT vbeln

             kunag

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

             vkorg

* << Fim da inclusão

             FROM likp

             INTO TABLE itab_likp_2

             WHERE vbeln IN s_vbelnl.

    ENDIF.

    LOOP AT itab_likp_2.

      REFRESH itab_vbfa_aux.

      MOVE itab_likp_2-vbeln TO wa_vbco6-vbeln.

      CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'

           EXPORTING

                comwa         = wa_vbco6

...

 

...

                no_vbfa       = 1

                no_vbuk_found = 2.

      CHECK sy-subrc EQ 0.

      APPEND LINES OF itab_vbfa_aux TO itab_vbfa_2.

    ENDLOOP.

    SORT itab_vbfa_2 BY vbelv posnv vbeln posnn vbtyp_n.

    DELETE ADJACENT DUPLICATES FROM itab_vbfa_2

           COMPARING vbelv posnv vbeln posnn vbtyp_n.

    LOOP AT itab_vbfa_2.

      IF itab_vbfa_2-vbtyp_n EQ 'C'.

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

        IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

        READ TABLE itab_vbak_2 WITH KEY vbeln = itab_vbfa_2-vbeln.

        CHECK sy-subrc NE 0.

        SELECT vbeln

               auart

               vkorg

               vtweg

               FROM vbak

               APPENDING TABLE itab_vbak_2

               WHERE vbeln = itab_vbfa_2-vbeln.

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

        ENDIF.

* << Fim da inclusão

      ELSEIF itab_vbfa_2-vbtyp_n CA 'JT7'.

        READ TABLE itab_likp_2 WITH KEY vbeln = itab_vbfa_2-vbeln.

        CHECK sy-subrc NE 0.

        SELECT vbeln

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

               vkorg

               inco1

* << Fim da inclusão

               kunag

               FROM likp

               APPENDING TABLE itab_likp_2

               WHERE vbeln = itab_vbfa_2-vbeln.

      ELSEIF itab_vbfa_2-vbtyp_n CA 'MNOPSU56'.

        READ TABLE itab_vbrk_2 WITH KEY vbeln = itab_vbfa_2-vbeln.

        CHECK sy-subrc NE 0.

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

        SELECT vbeln

* << Fim da exclusão

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

        SELECT vbeln zterm

* << Fim da inclusão

               FROM vbrk

               APPENDING TABLE itab_vbrk_2

               WHERE vbeln = itab_vbfa_2-vbeln.

      ELSEIF itab_vbfa_2-vbtyp_n EQ '8'.

        READ TABLE itab_vttk_2 WITH KEY tknum = itab_vbfa_2-vbeln.

        CHECK sy-subrc NE 0.

        SELECT tknum

               FROM vttk

               APPENDING TABLE itab_vttk_2

               WHERE tknum = itab_vbfa_2-vbeln.

...

 

...

    ENDLOOP.

    IF v_rodou IS INITIAL.

      v_rodou = 'X'.

      REFRESH itab_vbfa_2.

    ENDIF.

  ENDDO.

  IF itab_vbfa_2[] IS INITIAL.

    MESSAGE s008.

    EXIT.

  ENDIF.

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

  LOOP AT itab_vbfa_2 WHERE vbtyp_n EQ 'C'.

* << Fim da exclusão

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

  LOOP AT itab_vbfa_2 WHERE vbtyp_n CA 'JT7'.

* << Fim da inclusão

    CHECK NOT itab_vbfa_2-posnn IS INITIAL.

    CLEAR itab_alv_selecao.

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

    itab_alv_selecao-vbeln_va = itab_vbfa_2-vbeln.

    itab_alv_selecao-aupos    = itab_vbfa_2-posnn.

* << Fim da exclusão

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

    itab_alv_selecao-vbeln_vl = itab_vbfa_2-vbeln.

    itab_alv_selecao-posnl    = itab_vbfa_2-posnn.

* << Fim da inclusão

    APPEND itab_alv_selecao.

  ENDLOOP.

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

  SORT itab_alv_selecao  BY vbeln_va aupos.

* << Fim da exclusão

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

  SORT itab_alv_selecao  BY vbeln_va aupos vbeln_vl posnl.

* << Fim da inclusão

  DELETE ADJACENT DUPLICATES FROM itab_alv_selecao

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

                             COMPARING vbeln_va aupos.

* << Fim da exclusão

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

                             COMPARING vbeln_va aupos vbeln_vl posnl.

* << Fim da inclusão

  IF itab_alv_selecao[] IS INITIAL.

    MESSAGE s008.

    EXIT.

  ENDIF.

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

  LOOP AT itab_alv_selecao WHERE vbeln_vl IS initial.

* << Fim da exclusão

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

  LOOP AT itab_alv_selecao WHERE vbeln_va IS initial.

* << Fim da inclusão

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

    LOOP AT itab_vbfa_2 WHERE vbelv   = itab_alv_selecao-vbeln_va AND

                              posnv   = itab_alv_selecao-aupos    AND

* << Fim da exclusão

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

    LOOP AT itab_vbfa_2 WHERE vbeln   = itab_alv_selecao-vbeln_vl AND

                              posnn   = itab_alv_selecao-posnl    AND

* << Fim da inclusão

                              vbtyp_n CA 'JT7'.

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

      CHECK NOT itab_vbfa_2-posnn IS INITIAL.

* << Fim da exclusão

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

      CHECK NOT itab_vbfa_2-posnv IS INITIAL.

* << Fim da inclusão

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

      itab_alv_selecao-vbeln_vl = itab_vbfa_2-vbeln.

      itab_alv_selecao-posnl    = itab_vbfa_2-posnn.

      APPEND itab_alv_selecao.

* << Fim da exclusão

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

      itab_alv_selecao-vbeln_va = itab_vbfa_2-vbelv.

      itab_alv_selecao-aupos    = itab_vbfa_2-posnv.

      MODIFY itab_alv_selecao TRANSPORTING vbeln_va aupos.

* << Fim da inclusão

    ENDLOOP.

  ENDLOOP.

  DELETE itab_alv_selecao WHERE vbeln_vl IS initial.

  IF itab_alv_selecao[] IS INITIAL.

    MESSAGE s008.

    EXIT.

  ENDIF.

  SORT itab_alv_selecao  BY vbeln_va aupos vbeln_vl posnl.

  DELETE ADJACENT DUPLICATES FROM itab_alv_selecao

                             COMPARING vbeln_va aupos vbeln_vl posnl.

...

 

...

    CHECK sy-subrc EQ 0.

    itab_alv_selecao-tknum = itab_vbfa_2-vbeln.

    MODIFY itab_alv_selecao.

  ENDLOOP.

  REFRESH: itab_vbfa_2,

           itab_vbfa_aux,

           itab_vbak_2,

           itab_likp_2,

           itab_vbrk_2,

           itab_vbkd_2,

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

           itab_vttk_2.

* << Fim da exclusão

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

           itab_vttk_2,

           itab_lips.

* << Fim da inclusão

  IF itab_alv_selecao[] IS INITIAL.

    MESSAGE s008.

    EXIT.

  ENDIF.

  SELECT vbeln

         auart

         vkorg

         vtweg

         FROM vbak

         INTO TABLE itab_vbak_2

...

 

...

  SELECT vbeln

         posnr

         inco1

         zterm

         bstkd

         FROM vbkd

         INTO TABLE itab_vbkd_2

         FOR ALL ENTRIES IN itab_vbak_2

         WHERE vbeln EQ itab_vbak_2-vbeln.

  SELECT vbeln

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

         vkorg

         inco1

* << Fim da inclusão

         kunag

         FROM likp

         APPENDING TABLE itab_likp_2

         FOR ALL ENTRIES IN itab_alv_selecao

         WHERE vbeln EQ itab_alv_selecao-vbeln_vl.

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

  SELECT vbeln

         zterm

         FROM vbrk

         APPENDING TABLE itab_vbrk_2

         FOR ALL ENTRIES IN itab_alv_selecao

         WHERE vbeln EQ itab_alv_selecao-vbeln_vf.

* << Fim da inclusão

  LOOP AT itab_alv_selecao.

    READ TABLE itab_vbak_2 WITH KEY vbeln = itab_alv_selecao-vbeln_va.

    IF sy-subrc EQ 0.

      itab_alv_selecao-auart = itab_vbak_2-auart.

      itab_alv_selecao-vkorg = itab_vbak_2-vkorg.

      itab_alv_selecao-vtweg = itab_vbak_2-vtweg.

    ELSE.

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

      IF NOT itab_alv_selecao-vbeln_va IS INITIAL.

* << Fim da inclusão

      DELETE itab_alv_selecao.

      CONTINUE.

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

      ELSEIF /pws/zycee001-tipo_emb EQ 'F'.

        READ TABLE itab_likp_2 WITH KEY

                               vbeln = itab_alv_selecao-vbeln_vl.

        IF sy-subrc EQ 0.

          itab_alv_selecao-vkorg = itab_likp_2-vkorg.

          itab_alv_selecao-inco1 = itab_likp_2-inco1.

          SELECT vbeln posnr vtweg

                 FROM lips

                 INTO TABLE itab_lips

                 WHERE  vbeln = itab_likp_2-vbeln.

          IF sy-subrc EQ 0.

            CLEAR wa_lips.

            READ TABLE itab_lips INTO wa_lips INDEX 1.

            itab_alv_selecao-vtweg = wa_lips-vtweg.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    READ TABLE itab_vbkd_2 WITH KEY vbeln = itab_alv_selecao-vbeln_va.

    IF sy-subrc EQ 0.

      itab_alv_selecao-inco1 = itab_vbkd_2-inco1.

      itab_alv_selecao-zterm = itab_vbkd_2-zterm.

      itab_alv_selecao-bstkd = itab_vbkd_2-bstkd.

    ELSE.

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

      IF NOT itab_alv_selecao-vbeln_va IS INITIAL.

* << Fim da inclusão

      DELETE itab_alv_selecao.

      CONTINUE.

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

      ELSEIF /pws/zycee001-tipo_emb EQ 'F'.

        READ TABLE itab_vbrk_2 WITH KEY

                               vbeln = itab_alv_selecao-vbeln_vf.

        IF sy-subrc EQ 0.

          itab_alv_selecao-zterm = itab_vbrk_2-zterm.

* << Fim da inclusão

    ENDIF.

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

      ENDIF.

    ENDIF.

* << Fim da inclusão

    READ TABLE itab_likp_2 WITH KEY vbeln = itab_alv_selecao-vbeln_vl.

    IF sy-subrc EQ 0.

      itab_alv_selecao-kunag = itab_likp_2-kunag.

    ELSE.

      DELETE itab_alv_selecao.

      CONTINUE.

    ENDIF.

    MODIFY itab_alv_selecao.

  ENDLOOP.

  REFRESH: itab_vbfa_2,

           itab_vbfa_aux,

           itab_vbak_2,

           itab_likp_2,

           itab_vbrk_2,

           itab_vbkd_2.

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

  IF /pws/zycee001-tipo_emb EQ 'F'.

    DELETE itab_alv_selecao WHERE NOT vbeln_va IS initial.

  ELSE.

    DELETE itab_alv_selecao WHERE vbeln_va IS initial.

    DELETE itab_alv_selecao WHERE NOT auart  IN s_auart.

    DELETE itab_alv_selecao WHERE NOT bstkd  IN s_bstkd.

  ENDIF.

* << Fim da inclusão

  DELETE itab_alv_selecao WHERE NOT vbeln_va IN s_vbelnv.

  DELETE itab_alv_selecao WHERE NOT vbeln_vl IN s_vbelnl.

  DELETE itab_alv_selecao WHERE NOT vbeln_vf IN s_vbelnf.

  DELETE itab_alv_selecao WHERE NOT tknum    IN s_tknum.

  DELETE itab_alv_selecao WHERE NOT inco1    IN s_inco1.

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

  DELETE itab_alv_selecao WHERE NOT auart    IN s_auart.

* << Fim da exclusão

  DELETE itab_alv_selecao WHERE NOT zterm    IN s_zterm.

  DELETE itab_alv_selecao WHERE NOT kunag    IN s_kunag.

  DELETE itab_alv_selecao WHERE NOT vkorg    IN s_vkorg.

  DELETE itab_alv_selecao WHERE NOT vtweg    IN s_vtweg.

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

  DELETE itab_alv_selecao WHERE NOT bstkd    IN s_bstkd.

* << Fim da exclusão

  SORT itab_alv_selecao.

  IF itab_alv_selecao[] IS INITIAL.

    MESSAGE s008.

    EXIT.

  ENDIF.

  SELECT vbeln_va

         aupos

         vbeln_vl

         posnl

         vbeln_vf

...

 

...

                 aupos    = itab_002-aupos    AND

                 vbeln_vl = itab_002-vbeln_vl AND

                 posnl    = itab_002-posnl    AND

                 vbeln_vf = itab_002-vbeln_vf AND

                 posnr    = itab_002-posnr.

  ENDLOOP.

  IF itab_alv_selecao[] IS INITIAL.

    MESSAGE s008.

    EXIT.

  ENDIF.

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

  CLEAR: g_variant,

         v_colpos.

* << Fim da inclusão

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

  CLEAR g_variant.

* << Fim da exclusão

  g_variant-report = sy-repid.

  g_variant-username = sy-uname.

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

  v_colpos = 1.

  IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 1.

* << Fim da exclusão

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

    afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'VBELN_VA'.

  afield-ref_fieldname = 'VBELN'.

  afield-ref_tabname = 'VBAP'.

  afield-key = 'X'.

  afield-outputlen = 10.

  afield-seltext_l = text-t02.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 2.

* << Fim da exclusão

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

    afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'AUPOS'.

  afield-ref_fieldname = 'POSNR'.

  afield-ref_tabname = 'VBAP'.

  afield-key = 'X'.

  afield-outputlen = 10.

  afield-seltext_l = text-t03.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

    v_colpos = v_colpos + 1.

  ENDIF.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 3.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'VBELN_VL'.

  afield-ref_fieldname = 'VBELN'.

  afield-ref_tabname = 'LIPS'.

  afield-key = 'X'.

  afield-outputlen = 10.

  afield-seltext_l = text-t04.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 4.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'POSNL'.

  afield-ref_fieldname = 'POSNR'.

  afield-ref_tabname = 'LIPS'.

  afield-key = 'X'.

  afield-outputlen = 10.

  afield-seltext_l = text-t05.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 5.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'VBELN_VF'.

  afield-ref_fieldname = 'VBELN'.

  afield-ref_tabname = 'VBRP'.

  afield-key = 'X'.

  afield-outputlen = 10.

  afield-seltext_l = text-t06.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 6.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'POSNR'.

  afield-ref_fieldname = 'POSNR'.

  afield-ref_tabname = 'VBRP'.

  afield-key = 'X'.

  afield-outputlen = 10.

  afield-seltext_l = text-t07.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 7.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'TKNUM'.

  afield-ref_fieldname = 'TKNUM'.

  afield-ref_tabname = 'VTTK'.

  afield-key = ' '.

  afield-outputlen = 10.

  afield-seltext_l = text-t08.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

  IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 8.

* << Fim da exclusão

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

    afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'AUART'.

  afield-ref_fieldname = 'AUART'.

  afield-ref_tabname = 'VBAK'.

  afield-key = ' '.

  afield-outputlen = 5.

  afield-seltext_l = text-t09.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

    v_colpos = v_colpos + 1.

  ENDIF.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 9.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'VKORG'.

  afield-ref_fieldname = 'VKORG'.

  afield-ref_tabname = 'VBAK'.

  afield-key = ' '.

  afield-outputlen = 5.

  afield-seltext_l = text-t10.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 10.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'VTWEG'.

  afield-ref_fieldname = 'VTWEG'.

  afield-ref_tabname = 'VBAK'.

  afield-key = ' '.

  afield-outputlen = 5.

  afield-seltext_l = text-t11.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 11.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'INCO1'.

  afield-ref_fieldname = 'INCO1'.

  afield-ref_tabname = 'VBKD'.

  afield-key = ' '.

  afield-outputlen = 5.

  afield-seltext_l = text-t12.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 12.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'ZTERM'.

  afield-ref_fieldname = 'ZTERM'.

  afield-ref_tabname = 'VBKD'.

  afield-key = ' '.

  afield-outputlen = 5.

  afield-seltext_l = text-t13.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

  v_colpos = v_colpos + 1.

  IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 13.

* << Fim da exclusão

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

    afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'BSTKD'.

  afield-ref_fieldname = 'BSTKD'.

  afield-ref_tabname = 'VBKD'.

  afield-key = ' '.

  afield-outputlen = 15.

  afield-seltext_l = text-t14.

  afield-seltext_m = afield-seltext_l.

  afield-seltext_s = afield-seltext_l.

  afield-reptext_ddic = afield-seltext_l.

  APPEND afield TO i_fieldcat.

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

    v_colpos = v_colpos + 1.

  ENDIF.

* << Fim da inclusão

  CLEAR afield.

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

  afield-col_pos = 14.

* << Fim da exclusão

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

  afield-col_pos = v_colpos.

* << Fim da inclusão

  afield-fieldname = 'KUNAG'.

  afield-ref_fieldname = 'KUNAG'.

  afield-ref_tabname = 'LIKP'.

...

 

...

              SUBTRACT <fs_002>-vlfrete_r FROM <fs_002>-vlme_r.

            ENDIF.

          WHEN 'SEG'.

            CHECK itab_zycet065-seguro = 'X'.

            IF /pws/zycee001-tpcalc = '1'.

              SUBTRACT <fs_002>-vlseguro_r FROM <fs_002>-vlme_r.

            ENDIF.

        ENDCASE.

      ENDLOOP.

    ELSE.

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

      CHECK <fs_002>-estornado IS INITIAL.

* << Fim da exclusão

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

      CHECK <fs_002>-estornado IS INITIAL AND

            <fs_002>-estorno   IS INITIAL .

* << Fim da inclusão

      READ TABLE itab_zycet023 WITH KEY fkart = <fs_002>-fkart

                                        bukrs = <fs_002>-bukrs.

      IF sy-subrc NE 0.

        READ TABLE itab_zycet023 WITH KEY fkart = <fs_002>-fkart

                                          bukrs = space.

      ENDIF.

      CHECK sy-subrc IS INITIAL.

      CASE itab_zycet023-tipodoc.

        WHEN 'OV' OR

             'CO' OR

...

 

...

        ENDLOOP.

    ENDCASE.

  ENDLOOP.

ENDFORM.

FORM salva_emb_nacional.

  IF /pws/zycee001-loc_emb = 'E'.

    IF /pws/zycee001-tipo_emb = 'A' OR

       /pws/zycee001-tipo_emb = 'D' OR

       /pws/zycee001-tipo_emb = 'S' OR

       /pws/zycee001-tipo_emb = 'V' OR

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

       /pws/zycee001-tipo_emb = 'C'.

* << Fim da exclusão

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

       /pws/zycee001-tipo_emb = 'C' OR

       /pws/zycee001-tipo_emb = 'F'.

* << Fim da inclusão

      CALL SCREEN '0004' STARTING AT 2 1.

    ENDIF.

  ENDIF.

ENDFORM.

FORM busca_viatrans

     USING

       p_navio    TYPE /pws/zycet042-navio

     CHANGING

       p_viatrans TYPE /pws/zycet042-viatrans.

  STATICS: BEGIN OF wa_zycet042,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE003F02

 

...

              WHEN 'I'.

                /pws/zycee001-tipo_emb = 'T'.

                /pws/zycee001-tipo_emb_temp = 'I'.

                v_texto1 = 'Temporário'(l08).

                v_texto2 = '(Industrialização)'(l10).

              WHEN 'T'.

                v_texto1 = 'Temporário'(l08).

                IF /pws/zycee001-tipo_emb_temp EQ 'I'.

                  v_texto2 = '(Industrialização)'(l10).

                ENDIF.

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

              WHEN 'F'.

                v_texto1 = 'com Fornecimento'(l15).

* << Fim da inclusão

            ENDCASE.

            IF /pws/zycee001-loc_emb EQ 'E'.

              v_texto3 = '(Exterior)'(l01).

            ELSE.

              v_texto3 = '(Nacional)'(l02).

            ENDIF.

          ELSE.

            v_title = '0010_HDR'.

            IF /pws/zycee001-envia_c EQ 'X'.

              v_texto1 = '(enviado para'(l11).

...

 

...

  IF sy-tcode EQ c_transacao_a.

    wa_controle-edicao = 'X'.

  ELSE.

    wa_controle-edicao = ' '.

  ENDIF.

ENDFORM.

FORM valores_iniciais_0002.

  DATA: v_nome     TYPE vrm_id,

        v_lista    TYPE vrm_values,

        wa_valores LIKE LINE OF v_lista.

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

  CONSTANTS: c_permitido(6) TYPE c VALUE 'SDVTCA'.

* << Fim da exclusão

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

  CONSTANTS: c_permitido(7) TYPE c VALUE 'FSDVTCA'.

* << Fim da inclusão

  IF /pws/zycee001 IS INITIAL.

    PERFORM limpa_tabelas_internas.

    READ TABLE itab_zycet312 INDEX 1.

    IF sy-subrc EQ 0.

      MOVE:

        itab_zycet312-loc_emb     TO /pws/zycee001-loc_emb,

        itab_zycet312-tp_emb      TO /pws/zycee001-tipo_emb,

        itab_zycet312-emb_consig  TO /pws/zycee001-emb_consig,

        itab_zycet312-tp_emb_temp TO /pws/zycee001-tipo_emb_temp,

        itab_zycet312-tpcalc      TO /pws/zycee001-tpcalc.

...

 

...

    CHECK itab_zycet317-tp_emb CA c_permitido.

    wa_valores-key  = itab_zycet317-tp_emb.

    PERFORM busca_descricao_dominio USING '/PWS/ZYCET317-TP_EMB'

                                          itab_zycet317-tp_emb

                                 CHANGING wa_valores-text.

    IF wa_filtro-lcemb EQ 'E'.

      IF itab_zycet317-tp_emb EQ 'A' OR

         itab_zycet317-tp_emb EQ 'D' OR

         itab_zycet317-tp_emb EQ 'S' OR

         itab_zycet317-tp_emb EQ 'V' OR

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

         itab_zycet317-tp_emb EQ 'C'.

* << Fim da exclusão

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

         itab_zycet317-tp_emb EQ 'C' OR

         itab_zycet317-tp_emb EQ 'F'.

* << Fim da inclusão

        APPEND wa_valores TO v_lista.

      ENDIF.

    ELSEIF wa_filtro-lcemb NE 'E'.

      APPEND wa_valores TO v_lista.

    ENDIF.

  ENDLOOP.

  IF sy-subrc NE 0.

    LOOP AT itab_zycet317 WHERE uname EQ space AND

                               tp_emb NE space.

      CHECK itab_zycet317-tp_emb CA c_permitido.

      wa_valores-key  = itab_zycet317-tp_emb.

      PERFORM busca_descricao_dominio USING '/PWS/ZYCET317-TP_EMB'

                                            itab_zycet317-tp_emb

                                   CHANGING wa_valores-text.

      IF wa_filtro-lcemb EQ 'E'.

        IF itab_zycet317-tp_emb EQ 'A' OR

           itab_zycet317-tp_emb EQ 'D' OR

           itab_zycet317-tp_emb EQ 'S' OR

           itab_zycet317-tp_emb EQ 'V' OR

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

           itab_zycet317-tp_emb EQ 'C'.

* << Fim da exclusão

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

           itab_zycet317-tp_emb EQ 'C' OR

           itab_zycet317-tp_emb EQ 'F'.

* << Fim da inclusão

          APPEND wa_valores TO v_lista.

        ENDIF.

      ELSEIF wa_filtro-lcemb NE 'E'.

        APPEND wa_valores TO v_lista.

      ENDIF.

    ENDLOOP.

  ENDIF.

  wa_filtro-tpemb = /pws/zycee001-tipo_emb.

  DESCRIBE TABLE v_lista LINES wa_numero_filtro-tpemb.

  IF wa_numero_filtro-tpemb EQ 0.

...

 

...

                                dynnr   = sy-dynnr.

    ENDIF.

    v_linhas = v_linhas + sy-srows - 3.

    tc_itens-lines = v_linhas.

  ELSEIF itab_tbcontrol-group4 EQ 'R'.

    DELETE itab_zycet002_tc WHERE complemento = 'X' OR

                                  devolucao   = 'X' OR

                                  servico     = 'X' OR

                                  estorno     = 'X' OR

                                  estornado   = 'X'.

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

    IF /pws/zycee001-tipo_emb EQ 'F'.

      DELETE itab_zycet002_tc WHERE NOT vbeln_vl IS initial.

    ELSE.

* << Fim da inclusão

    DELETE itab_zycet002_tc WHERE NOT vbeln_vl IS initial AND

                                  NOT vbeln_va IS initial.

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

    ENDIF.

* << Fim da inclusão

    IF /pws/zycee001-tipo_emb NE 'V'.

      DELETE itab_zycet002_tc WHERE NOT ebeln IS initial.

    ENDIF.

    DESCRIBE TABLE itab_zycet002_tc LINES v_linhas.

    tc_itens-lines = v_linhas.

...

 

...

      wa_screen-invisible = '1'.

      wa_screen-required  = '0'.

      wa_screen-active    = '0'.

    ELSE.

      wa_screen-output    = '1'.

      wa_screen-invisible = '0'.

      wa_screen-active    = '1'.

    ENDIF.

  ENDIF.

  IF wa_screen-group3 EQ '017'.

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

    IF /pws/zycee001-tipo_emb EQ 'D' AND

       wa_controle-nivel_item NE 'REM'.

* << Fim da exclusão

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

    IF ( /pws/zycee001-tipo_emb EQ 'D'     AND

         wa_controle-nivel_item NE 'REM' ) OR

       ( /pws/zycee001-tipo_emb EQ 'F' AND

         wa_controle-nivel_item EQ 'SAI' ).

* << Fim da inclusão

      wa_screen-input     = '0'.

      wa_screen-output    = '0'.

      wa_screen-invisible = '1'.

      wa_screen-required  = '0'.

      wa_screen-active    = '0'.

    ELSE.

      wa_screen-output    = '1'.

      wa_screen-invisible = '0'.

      wa_screen-active    = '1'.

      IF /pws/zycee001-tipo_emb EQ 'V'.

...

 

...

    IF screen-group2 CA '1' AND

       v_itens LE 1.

      screen-input = '0'.

    ENDIF.

    IF screen-group2 CA '2' AND

       v_itens EQ 0.

      screen-input = '0'.

    ENDIF.

    IF screen-group2 CA '3' AND

       /pws/zycee001-tipo_emb CA 'PDV'.

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

      screen-input = '0'.

    ENDIF.

    IF screen-group2 CA 'F' AND

       screen-name   EQ 'BOT_COMPL' AND

       /pws/zycee001-tipo_emb EQ 'F'.

* << Fim da inclusão

      screen-input = '0'.

    ENDIF.

    MODIFY SCREEN.

  ENDLOOP.

  CHECK sy-dynnr EQ '0102'.

  LOOP AT tc_itens-cols INTO wa_cols.

    IF wa_cols-screen-group4 NE space AND

       ( wa_cols-screen-group4 CA v_nivel OR

         wa_cols-screen-group4 EQ 'OCU' ).

      wa_cols-screen-input     = '0'.

...

 

...

  itab_fieldcat_cab-scrtext_l = itab_fieldcat_cab-reptext.

  itab_fieldcat_cab-scrtext_m = itab_fieldcat_cab-reptext.

  itab_fieldcat_cab-scrtext_s = itab_fieldcat_cab-reptext.

  itab_fieldcat_cab-no_out    = 'X'.

  itab_fieldcat_cab-tech      = 'X'.

  itab_fieldcat_cab-outputlen = 1.

  itab_fieldcat_cab-just      = 'C'.

  APPEND itab_fieldcat_cab.

ENDFORM.

FORM preenche_fieldcat_ite.

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

  DATA: v_colpos(02) TYPE n.

* << Fim da inclusão

  REFRESH itab_fieldcat_ite.

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

  v_colpos = 1.

* << Fim da inclusão

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

  IF /pws/zycee001-tipo_emb NE 'D'.

* << Fim da exclusão

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

  IF /pws/zycee001-tipo_emb NE 'D' AND

     /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

    CLEAR itab_fieldcat_ite.

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

    itab_fieldcat_ite-col_pos   = 1.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

    itab_fieldcat_ite-fieldname = 'VBELN_VA'.

    itab_fieldcat_ite-tabname   = '/PWS/ZYCET002'.

    itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

    itab_fieldcat_ite-dd_outlen = 10.

    itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-no_out    = ' '.

    itab_fieldcat_ite-key       = 'X'.

    itab_fieldcat_ite-outputlen = 10.

    itab_fieldcat_ite-lzero     = 'X'.

    itab_fieldcat_ite-just      = 'L'.

    APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

    CLEAR itab_fieldcat_ite.

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

    itab_fieldcat_ite-col_pos   = 2.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

    itab_fieldcat_ite-fieldname = 'AUPOS'.

    itab_fieldcat_ite-tabname   = '/PWS/ZYCET002'.

    itab_fieldcat_ite-datatype  = 'NUMC'.

...

 

...

    itab_fieldcat_ite-dd_outlen = 10.

    itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-no_out    = ' '.

    itab_fieldcat_ite-key       = 'X'.

    itab_fieldcat_ite-outputlen = 6.

    itab_fieldcat_ite-lzero     = 'X'.

    itab_fieldcat_ite-just      = 'R'.

    APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

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

  ELSE.

* << Fim da exclusão

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

  ELSEIF /pws/zycee001-tipo_emb EQ 'D'.

* << Fim da inclusão

    CLEAR itab_fieldcat_ite.

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

    itab_fieldcat_ite-col_pos   = 1.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

    itab_fieldcat_ite-fieldname = 'EBELN'.

    itab_fieldcat_ite-tabname   = '/PWS/ZYCET002'.

    itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

    itab_fieldcat_ite-dd_outlen = 10.

    itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-no_out    = ' '.

    itab_fieldcat_ite-key       = 'X'.

    itab_fieldcat_ite-outputlen = 16.

    itab_fieldcat_ite-lzero     = 'X'.

    itab_fieldcat_ite-just      = 'L'.

    APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

    CLEAR itab_fieldcat_ite.

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

    itab_fieldcat_ite-col_pos   = 2.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

    itab_fieldcat_ite-fieldname = 'EBELP'.

    itab_fieldcat_ite-tabname   = '/PWS/ZYCET002'.

    itab_fieldcat_ite-datatype  = 'NUMC'.

...

 

...

    itab_fieldcat_ite-dd_outlen = 10.

    itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-no_out    = ' '.

    itab_fieldcat_ite-key       = 'X'.

    itab_fieldcat_ite-outputlen = 12.

    itab_fieldcat_ite-lzero     = 'X'.

    itab_fieldcat_ite-just      = 'R'.

    APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

  ENDIF.

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

  CLEAR itab_fieldcat_ite.

  itab_fieldcat_ite-col_pos   = v_colpos.

  itab_fieldcat_ite-fieldname = 'VBELN_VL'.

  itab_fieldcat_ite-tabname   = '/PWS/ZYCET002'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

  itab_fieldcat_ite-inttype   = 'C'.

  itab_fieldcat_ite-intlen    = 14.

  itab_fieldcat_ite-reptext   = 'Fornecimento'(t04).

  itab_fieldcat_ite-ref_table = '/PWS/ZYCEE315'.

  itab_fieldcat_ite-dd_outlen = 14.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = 'X'.

  itab_fieldcat_ite-outputlen = 14.

  itab_fieldcat_ite-lzero     = 'X'.

  itab_fieldcat_ite-just      = 'L'.

  APPEND itab_fieldcat_ite.

  v_colpos = v_colpos + 1.

  CLEAR itab_fieldcat_ite.

  itab_fieldcat_ite-col_pos   = v_colpos.

  itab_fieldcat_ite-fieldname = 'POSNL'.

  itab_fieldcat_ite-tabname   = '/PWS/ZYCET002'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

  itab_fieldcat_ite-inttype   = 'C'.

  itab_fieldcat_ite-intlen    = 6.

  itab_fieldcat_ite-reptext   = 'Item do Forn.'(t05).

  itab_fieldcat_ite-ref_table = '/PWS/ZYCEE315'.

  itab_fieldcat_ite-dd_outlen = 12.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = 'X'.

  itab_fieldcat_ite-outputlen = 6.

  itab_fieldcat_ite-lzero     = 'X'.

  itab_fieldcat_ite-just      = 'L'.

  APPEND itab_fieldcat_ite.

  v_colpos = v_colpos + 1.

  IF /pws/zycee001-tipo_emb NE 'F'.

* << Fim da inclusão

  CLEAR itab_fieldcat_ite.

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

  itab_fieldcat_ite-col_pos   = 3.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

  itab_fieldcat_ite-fieldname = 'LFSTK'.

  itab_fieldcat_ite-tabname   = '1'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

  itab_fieldcat_ite-dd_outlen = 1.

  itab_fieldcat_ite-domname   = 'STATV'.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = ' '.

  itab_fieldcat_ite-outputlen = 11.

  itab_fieldcat_ite-just      = 'C'.

  APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR itab_fieldcat_ite.

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

  itab_fieldcat_ite-col_pos   = 4.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

  itab_fieldcat_ite-fieldname = 'LFSTA'.

  itab_fieldcat_ite-tabname   = '1'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

  itab_fieldcat_ite-dd_outlen = 1.

  itab_fieldcat_ite-domname   = 'STATV'.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = ' '.

  itab_fieldcat_ite-outputlen = 11.

  itab_fieldcat_ite-just      = 'C'.

  APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

  ENDIF.

* << Fim da inclusão

  CLEAR itab_fieldcat_ite.

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

  itab_fieldcat_ite-col_pos   = 5.

* << Fim da exclusão

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

  itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

  itab_fieldcat_ite-fieldname = 'FKSTK'.

  itab_fieldcat_ite-tabname   = '1'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

  itab_fieldcat_ite-dd_outlen = 1.

  itab_fieldcat_ite-domname   = 'STATV'.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = ' '.

  itab_fieldcat_ite-outputlen = 11.

  itab_fieldcat_ite-just      = 'C'.

  APPEND itab_fieldcat_ite.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR itab_fieldcat_ite.

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

  itab_fieldcat_ite-col_pos   = 6.

* << Fim da exclusão

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

  itab_fieldcat_ite-col_pos = v_colpos.

* << Fim da inclusão

  itab_fieldcat_ite-fieldname = 'FKSTA'.

  itab_fieldcat_ite-tabname   = '1'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

  itab_fieldcat_ite-dd_outlen = 1.

  itab_fieldcat_ite-domname   = 'STATV'.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = ' '.

  itab_fieldcat_ite-outputlen = 11.

  itab_fieldcat_ite-just      = 'C'.

  APPEND itab_fieldcat_ite.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  CLEAR itab_fieldcat_ite.

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

  itab_fieldcat_ite-col_pos   = 7.

* << Fim da exclusão

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

  itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

  itab_fieldcat_ite-fieldname = 'BUCHK'.

  itab_fieldcat_ite-tabname   = '1'.

  itab_fieldcat_ite-datatype  = 'CHAR'.

...

 

...

  itab_fieldcat_ite-dd_outlen = 1.

  itab_fieldcat_ite-domname   = 'STATV'.

  itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

  itab_fieldcat_ite-no_out    = ' '.

  itab_fieldcat_ite-key       = ' '.

  itab_fieldcat_ite-outputlen = 11.

  itab_fieldcat_ite-just      = 'C'.

  APPEND itab_fieldcat_ite.

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

  v_colpos = v_colpos + 1.

* << Fim da inclusão

  IF /pws/zycee001-tipo_emb NA 'AT'.

    CLEAR itab_fieldcat_ite.

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

    itab_fieldcat_ite-col_pos   = 8.

* << Fim da exclusão

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

    itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

    itab_fieldcat_ite-fieldname = 'RVEND'.

    itab_fieldcat_ite-tabname   = '1'.

...

 

...

    itab_fieldcat_ite-dd_outlen = 1.

    itab_fieldcat_ite-domname   = 'STATV'.

    itab_fieldcat_ite-scrtext_l = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_m = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-scrtext_s = itab_fieldcat_ite-reptext.

    itab_fieldcat_ite-no_out    = ' '.

    itab_fieldcat_ite-key       = ' '.

    itab_fieldcat_ite-outputlen = 11.

    itab_fieldcat_ite-just      = 'C'.

    APPEND itab_fieldcat_ite.

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

    v_colpos = v_colpos + 1.

* << Fim da inclusão

  ENDIF.

  CLEAR itab_fieldcat_ite.

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

  itab_fieldcat_ite-col_pos   = 9.

* << Fim da exclusão

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

  itab_fieldcat_ite-col_pos   = v_colpos.

* << Fim da inclusão

  itab_fieldcat_ite-fieldname = 'MARK'.

  itab_fieldcat_ite-tabname   = '1'.

...

 

...

            itab_zycet118-ntgew         TO itab_zycit248-ntgew,

            v_waersa                    TO itab_zycit248-waerscomis,

            itab_zycit247-nritem        TO itab_zycit248-nritem,

            itab_zycit247-codmat        TO itab_zycit248-codmat,

            itab_zycit282-meins_e       TO itab_zycit248-meins,

            itab_zycit282-qtd_mexp      TO itab_zycit248-qtd_iten,

            itab_zycit282-um_ncm        TO itab_zycit248-um_ncm,

            itab_zycit282-qtd_ncm       TO itab_zycit248-qtd_ncm,

            itab_zycit282-matnr_exp     TO itab_zycit248-matnr,

            itab_mvke-mvgr1             TO itab_zycit248-mvgr1,

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

            itab_vbap-j_1btaxlw2        TO itab_zycit248-taxlaw,

* << Fim da exclusão

            itab_j_1bnfdoc-nfnum        TO itab_zycit248-nfnum,

            itab_j_1bnfdoc-series       TO itab_zycit248-serie,

            itab_j_1bnfdoc-docdat       TO itab_zycit248-dtnf,

            itab_zycet002-werks         TO itab_zycit248-werks.

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

      IF /pws/zycee001-tipo_emb EQ 'F'.

        READ TABLE itab_lips INTO itab_lips

          WITH KEY vbeln = itab_zycet002-vbeln_vl

                   posnr = itab_zycet002-posnr

          BINARY SEARCH.

        MOVE itab_lips-j_1btaxlw2   TO itab_zycit248-taxlaw.

      ELSE.

        READ TABLE itab_vbap INTO itab_vbap

          WITH KEY vbeln = itab_zycet002-vbeln_va

                   posnr = itab_zycet002-aupos

          BINARY SEARCH.

        MOVE itab_vbap-j_1btaxlw2   TO itab_zycit248-taxlaw.

      ENDIF.

* << Fim da inclusão

      READ TABLE itab_lips WITH KEY vbeln = itab_zycet002-vbeln_vl

                                    posnr = itab_zycet002-posnr

                           BINARY SEARCH

                           TRANSPORTING charg.

      IF sy-subrc IS INITIAL AND

         NOT itab_lips-charg IS INITIAL.

        MOVE itab_lips-charg TO itab_zycit248-lote.

      ENDIF.

      itab_zycit248-vl_scamb = 0.

      LOOP AT itab_zycit282 WHERE nrseqexp = /pws/zycee001-nrseq

...

 

...

FORM okcode_msg_por_item.

  DATA: v_nrseqm        TYPE /pws/zycet002-nrseq,

        v_vbelnvam      TYPE /pws/zycet002-vbeln_va,

        v_posnrm        TYPE /pws/zycet002-posnr.

  READ TABLE itab_zycet002_tc WITH KEY mark = 'X'.

  IF sy-subrc NE 0.

    MESSAGE s323(v1).

    EXIT.

  ENDIF.

  v_nrseqm   = /pws/zycee001-nrseq.

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

  IF /pws/zycee001-tipo_emb EQ 'F'.

    v_vbelnvam = itab_zycet002_tc-vbeln_vl.

    v_posnrm   = itab_zycet002_tc-posnl.

  ELSE.

* << Fim da inclusão

  v_vbelnvam = itab_zycet002_tc-vbeln_va.

  v_posnrm   = itab_zycet002_tc-aupos.

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

  ENDIF.

* << Fim da inclusão

  EXPORT v_nrseqm    TO MEMORY ID '0811'.

  EXPORT v_vbelnvam  TO MEMORY ID '0812'.

  EXPORT v_posnrm    TO MEMORY ID '0813'.

  okcode = 'F_MITEM'.

  PERFORM trata_funcionalidades.

...

 

...

  DATA: v_index TYPE sy-tabix.

  READ TABLE itab_tabstrip WITH KEY level   = 'HDR'

                                    tabname = 'T/02'.

  CHECK sy-subrc EQ 0.

  v_index = sy-tabix.

  CASE /pws/zycee001-tipo_emb.

    WHEN 'V'.

      itab_tabstrip-descr = 'Pedidos de Compras/Ordens de Vendas'(c23).

    WHEN 'D'.

      itab_tabstrip-descr = 'Pedidos de Compras'(c22).

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

    WHEN 'F'.

      itab_tabstrip-descr = 'Fornecimentos'(c27).

* << Fim da inclusão

    WHEN OTHERS.

      itab_tabstrip-descr = 'Ordens de Vendas'(c02).

  ENDCASE.

  MODIFY itab_tabstrip INDEX v_index TRANSPORTING descr.

ENDFORM.

FORM on_ctmenu_emb_it USING pif_menu TYPE REF TO cl_ctmenu.

  DATA: itab_fcode TYPE ui_functions,

        v_itens    TYPE i.

  CALL METHOD pif_menu->load_gui_status

              EXPORTING program = c_nome_prog

...

 

...

  MODIFY /pws/zycet014a FROM /pws/zycee014a.

  COMMIT WORK.

   */pws/zycee014a  = /pws/zycee014a.

   */pws/zycee014   = /pws/zycee014.

ENDFORM.

FORM vincula_cartacred.

  DATA: BEGIN OF itab_zycbt096 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycbt096.

  DATA: END OF itab_zycbt096.

  DATA: v_msg_com(100) TYPE c.

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

  DATA: v_vbeln TYPE vbpa-vbeln,

        v_posnr TYPE vbpa-posnr.

* << Fim da inclusão

  CLEAR: /pws/zycbt093.

  IF NOT /pws/zycee014-nrseqcred IS INITIAL.

    SELECT SINGLE * FROM /pws/zycbt093

    WHERE nrseq = /pws/zycee014-nrseqcred.

    IF sy-subrc EQ 0 AND ( /pws/zycbt093-status_fin+0(1) EQ 'A' AND

                           /pws/zycbt093-status_log+0(1) EQ 'A' AND

                           /pws/zycbt093-status_com+0(1) EQ 'A' ).

      IF ( /pws/zycbt093-status_fin+1(1) EQ 'R' OR

           /pws/zycbt093-status_log+1(1) EQ 'R' OR

           /pws/zycbt093-status_com+1(1) EQ 'R' ).

        MESSAGE w016 WITH text-618 /pws/zycee014-nrseqcred text-615.

      ENDIF.

    ELSE.

      MESSAGE i016 WITH text-618 /pws/zycee014-nrseqcred text-616

                                                         text-617.

      CLEAR: /pws/zycee014-nrseqcred,

             /pws/zycee014-nrccred.

    ENDIF.

    IF NOT itab_zycet002[] IS INITIAL.

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

      IF /pws/zycee001-tipo_emb EQ 'F'.

        SELECT * FROM /pws/zycbt096 INTO TABLE itab_zycbt096

                   FOR ALL ENTRIES IN itab_zycet002

                   WHERE vbeln_va  = itab_zycet002-vbeln_vl

                   AND   posnr     = itab_zycet002-posnl

                   AND   ovfor     = 'F'.

      ELSE.

* << Fim da inclusão

      SELECT * FROM /pws/zycbt096 INTO TABLE itab_zycbt096

                 FOR ALL ENTRIES IN itab_zycet002

                 WHERE vbeln_va  = itab_zycet002-vbeln_va

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

                 AND   posnr     = itab_zycet002-aupos.

* << Fim da exclusão

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

                   AND   posnr     = itab_zycet002-aupos

                   AND   ovfor     = space.

      ENDIF.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        LOOP AT itab_zycet002.

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

          CLEAR: v_vbeln,

                 v_posnr.

          IF /pws/zycee001-tipo_emb EQ 'F'.

            v_vbeln = itab_zycet002-vbeln_vl.

            v_posnr = itab_zycet002-posnl.

          ELSE.

            v_vbeln = itab_zycet002-vbeln_va.

            v_posnr = itab_zycet002-aupos.

          ENDIF.

* << Fim da inclusão

          READ TABLE itab_zycbt096 WITH KEY

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

                                 vbeln_va =  itab_zycet002-vbeln_va

                                 posnr     = itab_zycet002-aupos.

* << Fim da exclusão

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

                                 vbeln_va =  v_vbeln

                                 posnr     = v_posnr.

* << Fim da inclusão

          IF sy-subrc NE 0.

            MESSAGE i016 WITH text-619

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

                         itab_zycet002-vbeln_va text-620.

* << Fim da exclusão

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

                         v_vbeln text-620.

* << Fim da inclusão

            CLEAR: /pws/zycee014-nrseqcred,

                   /pws/zycee014-nrccred.

          ELSEIF sy-subrc EQ 0 AND

                            itab_zycbt096-nrseq NE

                            /pws/zycee014-nrseqcred.

            MESSAGE i016 WITH text-619

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

                          itab_zycet002-vbeln_va text-620.

* << Fim da exclusão

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

                          v_vbeln text-620.

* << Fim da inclusão

            CLEAR: /pws/zycee014-nrseqcred,

                   /pws/zycee014-nrccred.

            EXIT.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ENDIF.

    IF NOT /pws/zycee014-nrseqcred IS INITIAL.

      MESSAGE i016 WITH text-614.

    ENDIF.

...

 

...

         WITH KEY saida = 'X'

         TRANSPORTING vbeln_va

                      vbeln_vl

                      vbeln_vf.

    IF sy-subrc = 0.

      READ TABLE p_t_vbpa[]

           INTO wa_vbpa

           WITH KEY vbeln = wa_zycet002-vbeln_va

                    parvw = wa_zycet076-codigo_r3

           TRANSPORTING lifnr.

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

      IF sy-subrc = 0.

* << Fim da exclusão

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

      IF sy-subrc = 0 AND NOT

         wa_vbpa-lifnr IS INITIAL.

* << Fim da inclusão

        p_zycet010-lifnr = wa_vbpa-lifnr.

      ELSE.

        READ TABLE p_t_vbpa[]

           INTO wa_vbpa

           WITH KEY vbeln = wa_zycet002-vbeln_vl

                    parvw = wa_zycet076-codigo_r3

           TRANSPORTING lifnr.

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

        IF sy-subrc = 0.

* << Fim da exclusão

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

        IF sy-subrc = 0 AND NOT

           wa_vbpa-lifnr IS INITIAL.

* << Fim da inclusão

          p_zycet010-lifnr = wa_vbpa-lifnr.

        ELSE.

          READ TABLE p_t_vbpa[]

            INTO wa_vbpa

            WITH KEY vbeln = wa_zycet002-vbeln_vf

                     parvw = wa_zycet076-codigo_r3

            TRANSPORTING lifnr.

          IF sy-subrc = 0.

            p_zycet010-lifnr = wa_vbpa-lifnr.

          ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE003TOP

 

...

    CALL FUNCTION 'FI_F4_ZTERM'

         EXPORTING

              i_koart = 'D'

              i_zterm = s_zterm-low

              i_xshow = 'X'

         IMPORTING

              e_zterm = s_zterm-low.

  ENDIF.

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.

* >> Início da inclusão:

    SEARCH screen-name FOR 'S_VBELNV'.

    IF sy-subrc EQ 0.

      IF NOT itab_zycet002[] IS INITIAL.

        IF /pws/zycee001-tipo_emb EQ 'F'.

          CLEAR s_vbelnv[].

          screen-input = '0'.

        ENDIF.

      ENDIF.

    ENDIF.

    SEARCH screen-name FOR 'S_AUART'.

    IF sy-subrc EQ 0.

      IF NOT itab_zycet002[] IS INITIAL.

        IF /pws/zycee001-tipo_emb EQ 'F'.

          CLEAR s_auart[].

          screen-input = '0'.

        ENDIF.

      ENDIF.

    ENDIF.

    SEARCH screen-name FOR 'S_BSTKD'.

    IF sy-subrc EQ 0.

      IF NOT itab_zycet002[] IS INITIAL.

        IF /pws/zycee001-tipo_emb EQ 'F'.

          CLEAR s_bstkd[].

          screen-input = '0'.

        ENDIF.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    SEARCH screen-name FOR 'S_INCO1'.

    IF sy-subrc EQ 0.

      IF NOT itab_zycet002[] IS INITIAL.

        IF itab_zycet037-alt_incoterm NE '1'.

          screen-input = '0'.

        ENDIF.

      ENDIF.

    ENDIF.

    SEARCH screen-name FOR 'S_ZTERM'.

    IF sy-subrc EQ 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE003X01

 

...

        gsber   TYPE lips-gsber,

        vkgrp   TYPE lips-vkgrp,

        kostl   TYPE lips-kostl,

        prctr   TYPE lips-prctr,

        kcmeng  TYPE lips-kcmeng,

        kcbrgew TYPE lips-kcbrgew,

        kcntgew TYPE lips-kcntgew,

        uecha   TYPE lips-uecha,

        kcgewei TYPE lips-kcgewei,

        shkzg   TYPE lips-shkzg,

* >> Início da inclusão:

        empst   TYPE lips-empst,

        j_1btaxlw2 TYPE lips-j_1btaxlw2,

* << Fim da inclusão

      END OF itab_lips.

DATA: BEGIN OF itab_vbrk OCCURS 0,

        vbeln  TYPE vbrk-vbeln,

        fkart  TYPE vbrk-fkart,

        waerk  TYPE vbrk-waerk,

        vkorg  TYPE vbrk-vkorg,

* >> Início da inclusão:

        vtweg  TYPE vbrk-vtweg,

* << Fim da inclusão

        knumv  TYPE vbrk-knumv,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE006F01

 

...

      MODIFY it_export_aux TRANSPORTING totadto.

      CLEAR v_totadto.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM soma_embarque.

  IF it_tab-codmod EQ 'X'.

    PERFORM select_tpdoc.

    LOOP AT it_zycet002.

      READ TABLE it_zycet020 WITH KEY auart = it_zycet002-auart.

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

      IF NOT it_zycet002-auart IS INITIAL.

* << Fim da inclusão

      IF ( it_zycet020-tipodoc NE 'OV' AND

           it_zycet020-tipodoc NE 'CO' AND

           it_zycet020-tipodoc NE 'VC' AND

           it_zycet020-tipodoc NE 'OS' ).

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

          CONTINUE.

        ENDIF.

      ELSEIF NOT it_zycet002-fkart IS INITIAL.

        READ TABLE it_zycet023 INTO wa_zycet023

                               WITH KEY fkart = it_zycet002-fkart

                                        bukrs = it_zycet002-bukrs.

        IF ( wa_zycet023-tipodoc NE 'OV' AND

             wa_zycet023-tipodoc NE 'CO' AND

             wa_zycet023-tipodoc NE 'VC' AND

             wa_zycet023-tipodoc NE 'OS' ).

* << Fim da inclusão

        CONTINUE.

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

      ELSE.

* << Fim da exclusão

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

        ENDIF.

      ENDIF.

* << Fim da inclusão

        MOVE: it_zycet002-nrseq   TO  it_export-nrseq,

              it_zycet002-gsber   TO  it_export-gsber,

              it_zycet002-vlme    TO  it_export-vlitem.

        COLLECT it_export INTO it_export_aux.

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

      ENDIF.

* << Fim da exclusão

    ENDLOOP.

    CLEAR it_export.

  ENDIF.

  PERFORM calcula_porcentagem.

ENDFORM.

FORM calcula_porcentagem.

  DATA: v_total  TYPE /pws/zycet008-vlme.

  CLEAR v_total.

  LOOP AT it_export_aux.

    v_total = v_total + it_export_aux-vlitem.

...

 

...

  it_zycbe033-cpochv = v_cpochv.

  it_zycbe033-tcode   = text-007.

  it_zycbe033-tabela  = text-008.

  APPEND it_zycbe033.

ENDFORM.

FORM select_tpdoc.

  SELECT * FROM /pws/zycet020

         INTO TABLE it_zycet020

         FOR ALL ENTRIES IN it_zycet002

         WHERE auart   = it_zycet002-auart

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

           AND bukrs   = it_zycet002-bukrs.

  SELECT * FROM /pws/zycet023

         INTO TABLE it_zycet023

         FOR ALL ENTRIES IN it_zycet002

         WHERE fkart   = it_zycet002-fkart

* << Fim da inclusão

           AND bukrs   = it_zycet002-bukrs.

ENDFORM.

FORM gera_relatorio.

  IF NOT it_total[] IS INITIAL.

    CLEAR it_total.

    PERFORM deleta_itab.

    REFRESH it_total.

  ENDIF.

ENDFORM.

FORM deleta_itab.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE006TOP

 

...

      mark,

      END OF it_tab.

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

DATA: BEGIN OF it_zycet045 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycet045.

DATA: END OF it_zycet045.

DATA: it_zycet020  LIKE /pws/zycet020 OCCURS 10 WITH HEADER LINE,

      it_zycet002  LIKE /pws/zycet002 OCCURS 10 WITH HEADER LINE.

* >> Início da inclusão:

DATA: it_zycet023  TYPE TABLE OF /pws/zycet023,

      wa_zycet023  TYPE /pws/zycet023.

* << Fim da inclusão

DATA: BEGIN OF it_export OCCURS 0,                        "#EC NEEDED )

        nrseq    LIKE  /pws/zycet002-nrseq,

        gsber    LIKE  /pws/zycet002-gsber,

        vlitem   LIKE  /pws/zycet002-vlme,

        porcent  TYPE p DECIMALS 8,

        totadto  LIKE  /pws/zycet002-vlme,

        belnr    LIKE  /pws/zycet002-belnr5,

      END OF it_export.

DATA: BEGIN OF it_export_aux OCCURS 0,

        nrseq   LIKE  /pws/zycet002-nrseq,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE041F01

 

...

    ENDIF.

  ENDIF.

  SELECT *

      INTO TABLE itab_zycet020

     FROM /pws/zycet020.                                "#EC CI_NOWHERE

ENDFORM.

FORM verifica_rv.

  DATA: v_line  LIKE sy-tabix.

  IF NOT itab_zycet002[] IS INITIAL.

    IF itab_zycet116-tpre IS INITIAL.

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

      SELECT b~nrseqrv a~nrrv b~vbeln_va b~posnr

* << Fim da exclusão

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

      SELECT b~nrseqrv b~nrseq a~nrrv

             b~vbeln_va b~aupos

             b~vbeln_vl b~posnl

             b~vbeln_vf b~posnr

* << Fim da inclusão

             FROM /pws/zycet112 AS a

             INNER JOIN /pws/zycet113 AS b

             ON a~nrseqrv = b~nrseqrv

             INTO TABLE itab_zycet113

             FOR ALL ENTRIES IN itab_zycet002

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

             WHERE b~vbeln_va = itab_zycet002-vbeln_va

               AND b~posnr    = itab_zycet002-aupos.   "#EC CI_BUFFJOIN

* << Fim da exclusão

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

             WHERE b~nrseq    = itab_zycet002-nrseq    AND

                   b~vbeln_va = itab_zycet002-vbeln_va AND

                   b~aupos    = itab_zycet002-aupos    AND

                   b~vbeln_vl = itab_zycet002-vbeln_vl AND

                   b~posnl    = itab_zycet002-posnl.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        SORT itab_zycet113 BY nrseqrv.

        LOOP AT itab_zycet113.

          ON CHANGE OF itab_zycet113-nrseqrv.

            MOVE : itab_zycet113-nrseqrv TO itab_rv-nrseqrv,

                   itab_zycet113-nrrv    TO itab_rv-nrrv.

            APPEND itab_rv.

          ENDON.

        ENDLOOP.

      ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE041TOP

 

...

         nrseq    LIKE /pws/zycet014-nrseq,

         import1  LIKE /pws/zycet014-import1,

         import2  LIKE /pws/zycet014-import2,

         import3  LIKE /pws/zycet014-import3,

       END   OF itab_zycet014.

DATA : BEGIN OF itab_zycet014a OCCURS 1,

         nrseq    LIKE /pws/zycet014a-nrseq,

         import15 LIKE /pws/zycet014a-import15,

       END   OF itab_zycet014a.

DATA: BEGIN OF itab_zycet113 OCCURS 10,

* >> Início da exclusão:

        nrseqrv     LIKE /pws/zycet113-nrseqrv ,

        nrrv        LIKE /pws/zycet112-nrrv    ,

        vbeln_va    LIKE /pws/zycet113-vbeln_va,

        posnr       LIKE /pws/zycet113-posnr   ,

* << Fim da exclusão

* >> Início da inclusão:

        nrseqrv  TYPE /pws/zycet113-nrseqrv,

        nrseq    TYPE /pws/zycet113-nrseq,

        nrrv     TYPE /pws/zycet112-nrrv,

        vbeln_va TYPE /pws/zycet113-vbeln_va,

        aupos    TYPE /pws/zycet113-aupos,

        vbeln_vl TYPE /pws/zycet113-vbeln_vl,

        posnl    TYPE /pws/zycet113-posnl,

        vbeln_vf TYPE /pws/zycet113-vbeln_vf,

        posnr    TYPE /pws/zycet113-posnr,

* << Fim da inclusão

      END OF itab_zycet113.

DATA: BEGIN OF itab_rv OCCURS 10,

        nrseqrv     LIKE /pws/zycet113-nrseqrv,

        nrrv        LIKE /pws/zycet112-nrrv   ,

        mark                                  ,

      END OF itab_rv.

DATA: BEGIN OF itab_zycet118_saldo OCCURS 10,

      vbeln_va  LIKE /pws/zycet118-vbeln_va,

      vbeln_vl  LIKE /pws/zycet118-vbeln_vf,

      posnl     LIKE /pws/zycet118-posnr,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE104F01

 

...

           vbeln_vf   TYPE /pws/zycet113-vbeln_vf,

           posnr      TYPE /pws/zycet113-posnr,

           ebeln      TYPE /pws/zycet113-ebeln,

           ebelp      TYPE /pws/zycet113-ebelp,

         END OF t_zycet113.

  DATA: wa_itens     LIKE LINE OF p_itens[],

        wa_t005      TYPE t005.

  DATA: v_qtd_to   TYPE ekpo-menge,

        v_vbeln    TYPE vbpa-vbeln,

        v_posnr    TYPE vbpa-posnr,

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

        v_tipo(10) TYPE c,

* << Fim da exclusão

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

        v_tipo(15) TYPE c,

* << Fim da inclusão

        v_index    TYPE sy-tabix,

        v_land1    TYPE t001-land1,

        v_steuc    TYPE /pws/zycet112-steuc.

  DATA: it_zycet113_existe TYPE TABLE OF t_zycet113,

        wa_zycet113_existe  LIKE LINE OF it_zycet113_existe.

  IF NOT p_itens[] IS INITIAL.

    SELECT nrseqrv

           nrseq

           vbeln_va

           aupos

           vbeln_vl

           posnl

           vbeln_vf

           posnr

           ebeln

           ebelp

           FROM /pws/zycet113

           INTO TABLE it_zycet113_existe

           FOR ALL ENTRIES IN p_itens[]

           WHERE vbeln_va = p_itens-vbeln_va AND

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

                 aupos    = p_itens-aupos.

* << Fim da exclusão

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

                 aupos    = p_itens-aupos    AND

                 vbeln_vl = p_itens-vbeln_vl AND

                 posnl    = p_itens-posnl    AND

                 ebeln    = p_itens-ebeln    AND

                 ebelp    = p_itens-ebelp.

* << Fim da inclusão

    DELETE it_zycet113_existe WHERE nrseqrv EQ /pws/zycee112-nrseqrv.

  ENDIF.

  CALL FUNCTION 'MESSAGES_INITIALIZE'.

  IF NOT it_zycet113_existe[] IS INITIAL.

    LOOP AT p_itens INTO wa_itens.

      v_index = sy-tabix.

      IF NOT wa_itens-vbeln_va IS INITIAL.

        v_vbeln = wa_itens-vbeln_va.

        v_posnr = wa_itens-aupos.

        v_tipo  = text-106.

...

 

...

                  arbgb = '/PWS/ZYCEM'

                  msgty = 'W'

                  msgv1 = v_tipo

                  msgv2 = v_vbeln

                  msgv3 = v_posnr

                  msgv4 = wa_zycet113_existe-nrseqrv

                  txtnr = 301

                  zeile = 'NRSEQ_ERR'.

        DELETE p_itens INDEX v_index.

      ELSE.

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

        IF ( NOT wa_itens-vbeln_va IS INITIAL OR

             NOT wa_itens-ebeln    IS INITIAL ).

* << Fim da inclusão

        READ TABLE it_zycet113_existe INTO wa_zycet113_existe

          WITH KEY vbeln_va = wa_itens-vbeln_va

                   aupos    = wa_itens-aupos

                   ebeln    = wa_itens-ebeln

                   ebelp    = wa_itens-ebelp.

        IF sy-subrc IS INITIAL.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCEM'

                    msgty = 'W'

                    msgv1 = v_tipo

                    msgv2 = v_vbeln

                    msgv3 = v_posnr

                    msgv4 = wa_zycet113_existe-nrseqrv

                    txtnr = 301

                    zeile = 'NRSEQ_ERR'.

          DELETE p_itens INDEX v_index.

        ENDIF.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDLOOP.

  ENDIF.

  PERFORM emite_mensagem.

  READ TABLE it_zycet112 INTO it_zycet112 INDEX 1.

  PERFORM verifica_pais

            USING

              it_zycet112-bukrs

              it_zycet112-werks

            CHANGING

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCE003

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 619

 

Texto: (9 caracteres)

"Documento"

 

Comprimento máximo: 9

 

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

Modificado símbolo de texto:

 

Idioma: PT

 

Símbolo: 620

 

Texto: (40 caracteres)

"não está cadastrado na tabela ZYCBT096 !"

 

Comprimento máximo: 40

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 630

 

Texto: (25 caracteres)

"Embarque de Fornecimento."

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: C27

 

Texto: (13 caracteres)

"Fornecimentos"

 

Comprimento máximo: 13

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: L15

 

Texto: (16 caracteres)

"com Fornecimento"

 

Comprimento máximo: 16

 

 

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

Modificações efetuadas em TABD /PWS/ZYCEE315

 

INCLUIR CAMPOS: VBELN_VL, POSNL CONFORME TABELA ABAIXO.

 

Campos

 

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

 

         VBELN_VA   VBELN_VA                   CHAR    10

         AUPOS      POSNR_VA                   NUMC     6

X        VBELN_VL   VBELN_VL                   CHAR    10

X        POSNL      POSNR_VL                   NUMC     6

         EBELN      EBELN                      CHAR    10

         EBELP      EBELP                      NUMC     5

         LFSTK      LFSTK                      CHAR     1

         FKSTK      FKSTK                      CHAR     1

         BUCHK      BUCHK                      CHAR     1

         LFSTA      LFSTA                      CHAR     1

         FKSTA      FKSTA                      CHAR     1

         RVEND      /PWS/ZYCEL230              CHAR     1

         MARK       DUMMY                      CHAR     1