CE PLUS - Nota 009853

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 22/02/2010 00:00:00

Data/Hora Última Alteração: 20/04/2011 10:40:12

Descrição da Nota: IMPLEMENTAÇÃO DA ABERTURA DOS CAMPOS DA NVE NO DETALHE DO ITEM DI

Sintoma

Implementação da Abertura dos campos da NVE no detalhe do item

 

 

Solução

Implementação da Abertura dos campos da NVE no detalhe do item

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ABERTURA DOS CAMPOS DE NVE PARA EDIÇÃO NO DETALHE DO ITEM DO EMBARQUE

Informações Complementares

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

Nota Número 09853 Data: 22/02/2010 Hora: 10:18:06

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

 

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

Nota Número              : 09853

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00010

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

Referência às notas relacionadas:

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

 

09804  - 00001 - 8.0    - 00002  - ABERTURA DOS CAMPOS DE NVE PARA EDIÇÃO NO DETALHE DO ITEM DO EMBA

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

IMPLEMENTAÇÃO DA ABERTURA DOS CAMPOS DA NVE NO DETALHE DO ITEM DI

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

Palavras Chave:

DI - ABERTURA - CAMPOS - NVE - DETALHE - ITEM

 

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

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

 

FORM adic_list.

  DATA itab_zycit503_aux LIKE itab_zycit503 OCCURS 0 WITH HEADER LINE.

  DATA v_nve .

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

  DATA v_quebra_nve.

  DATA v_cont_nve TYPE i.

  DATA v_cont_nve_2 TYPE i.

* << Fim da inclusão

  CLEAR:   it_adi[], /pws/zycie100a, itab_itb.

  REFRESH: it_adi[].

  CLEAR:   itab_it_aux[].

  REFRESH: itab_it_aux[].

  MOVE itab_it[] TO itab_it_aux[].

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

  SORT itab_zycit503 BY ebeln ebelp j_1bnbm atributo_nve especif_nve.

  LOOP AT itab_it_aux.

   clear itab_it_aux-quebra_nve.

   loop at itab_zycit503 where ebeln = itab_it_aux-ebeln and

                               ebelp = itab_it_aux-ebelp.

      concatenate itab_zycit503-atributo_nve itab_zycit503-especif_nve

        itab_it_aux-quebra_nve  into itab_it_aux-quebra_nve.

    endloop.

    modify itab_it_aux.

  endloop.

* << Fim da inclusão

  PERFORM data_sort.

  IF itab_zycit001-flag_adicao EQ 'X'.

    v_adic = 0.

  ELSE.

    v_adic = 1.

  ENDIF.

  CLEAR: v_tabix, v_cont.

  SORT itab_zycit503 BY j_1bnbm atributo_nve especif_nve.

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

  MOVE itab_zycit503[] TO itab_zycit503_aux[].

* << Fim da exclusão

  CLEAR v_nve .

  LOOP AT itab_it_aux.

    IF sy-tabix = 1.

      MOVE-CORRESPONDING itab_it_aux TO itab_itb.

    ENDIF.

    v_tabix = v_tabix + 1.

    CLEAR v_flag_quebra.

    v_cont = v_cont + 1.

    IF itab_it_aux-j_1bnbm           NE itab_itb-j_1bnbm     .

      PERFORM adic_next.

...

 

...

      PERFORM adic_next.

    ELSEIF itab_it_aux-meinsantid    NE itab_itb-meinsantid  .

      PERFORM adic_next.

    ELSEIF itab_it_aux-codcambial    NE itab_itb-codcambial  .

      PERFORM adic_next.

    ELSEIF itab_it_aux-inco_item     NE itab_itb-inco_item   .

      PERFORM adic_next.

    ELSEIF itab_it_aux-paisfab       NE itab_itb-paisfab     .

      PERFORM adic_next.

    ELSEIF itab_it_aux-tp_certif     NE itab_itb-tp_certif   .

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

      PERFORM adic_next.

    ELSEIF itab_zycit001-flag_adicao EQ 'X'.

      PERFORM adic_next.

    ELSEIF v_flag_quebra IS INITIAL AND v_cont > 80.

* << Fim da inclusão

      PERFORM adic_next.

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

    elseIF itab_it_aux-quebra_nve          NE itab_itb-quebra_nve.

      PERFORM adic_next.

* << Fim da inclusão

    ELSE.

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

      IF itab_zycit001-flag_adicao EQ 'X'.

        PERFORM adic_next.

      ENDIF.

    ENDIF.

* << Fim da exclusão

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI023'

                                'DI013'.

    CLEAR itab_zyglt100 .

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

    IF sy-subrc EQ 0.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND.

      ENDIF.

    ENDIF.

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

    IF v_flag_quebra IS INITIAL AND v_cont > 80.

      PERFORM adic_next.

* << Fim da exclusão

    ENDIF.

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

    IF itab_zycit503_aux[] IS INITIAL.

* << Fim da inclusão

    LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq

                          AND   ebeln = itab_it_aux-ebeln

                          AND   ebelp = itab_it_aux-ebelp.

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

      IF v_nve = ' '.

* << Fim da exclusão

        MOVE-CORRESPONDING itab_zycit503 TO itab_zycit503_aux.

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

        v_nve = 'X'.

* << Fim da exclusão

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

        APPEND itab_zycit503_aux.

      ENDLOOP.

    ENDIF.

    CLEAR v_quebra_nve.

    CLEAR v_cont_nve.

    CLEAR v_cont_nve_2.

    LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq

                          AND   ebeln = itab_it_aux-ebeln

                          AND   ebelp = itab_it_aux-ebelp.

      v_cont_nve = v_cont_nve + 1.

    ENDLOOP.

    DESCRIBE TABLE itab_zycit503_aux LINES v_cont_nve_2.

    IF v_cont_nve NE v_cont_nve_2.

      v_quebra_nve = 'X'.

      IF v_flag_quebra IS INITIAL.

        PERFORM adic_next.

      ENDIF.

* << Fim da inclusão

      ENDIF.

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

      IF ( itab_zycit503_aux-ebeln  NE itab_zycit503-ebeln OR

           itab_zycit503_aux-ebelp   NE itab_zycit503-ebelp ) AND

          itab_zycit503_aux-j_1bnbm EQ itab_zycit503-j_1bnbm.

        IF ( itab_zycit503_aux-atributo_nve EQ

             itab_zycit503-atributo_nve AND

             itab_zycit503_aux-especif_nve NE

             itab_zycit503-especif_nve ) .

* << Fim da exclusão

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

    LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq

                          AND   ebeln = itab_it_aux-ebeln

                          AND   ebelp = itab_it_aux-ebelp.

      READ TABLE itab_zycit503_aux WITH KEY

                   atributo_nve = itab_zycit503-atributo_nve

                   especif_nve = itab_zycit503-especif_nve.

      IF sy-subrc NE 0.

        IF v_quebra_nve NE 'X'.

          IF v_flag_quebra IS INITIAL.

* << Fim da inclusão

          PERFORM adic_next.

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

          ENDIF.

          v_quebra_nve = 'X'.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      READ TABLE itab_zycit118

      WITH KEY steuc = itab_zycit503-j_1bnbm

               nivel = itab_zycit503-nivel_nve

               atributo = itab_zycit503-atributo_nve

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

               especificacao = itab_zycit503-especif_nve

* << Fim da inclusão

               adicao   = v_adic.

      IF sy-subrc NE 0.

        CLEAR: itab_zycit118.

        itab_zycit118-nrseqdi       = /pws/zycie085-nrseqdi     .

        itab_zycit118-adicao        = v_adic        .

        itab_zycit118-steuc         = itab_zycit503-j_1bnbm     .

        itab_zycit118-nivel         = itab_zycit503-nivel_nve   .

        itab_zycit118-atributo      = itab_zycit503-atributo_nve.

        itab_zycit118-especificacao = itab_zycit503-especif_nve .

        APPEND itab_zycit118.

      ENDIF.

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

    ENDLOOP.

    CLEAR itab_zycit503_aux.

    REFRESH itab_zycit503_aux.

    LOOP AT itab_zycit503 WHERE nrseq = itab_it_aux-nrseq

                       AND   ebeln = itab_it_aux-ebeln

                       AND   ebelp = itab_it_aux-ebelp.

      MOVE-CORRESPONDING itab_zycit503 TO itab_zycit503_aux.

      APPEND itab_zycit503_aux.

* << Fim da inclusão

    ENDLOOP.

    itab_it-adicao = itab_it_aux-adicao = v_adic.

    MODIFY itab_it TRANSPORTING adicao

           WHERE ebeln EQ itab_it_aux-ebeln

           AND   ebelp EQ itab_it_aux-ebelp.

    MODIFY itab_it_aux INDEX v_tabix TRANSPORTING adicao.

    it_adi-adicao = v_adic.

    it_adi-nrseqdi       = /pws/zycie085-nrseqdi.

    it_adi-nrseq         = itab_it_aux-nrseq    .

    it_adi-ebeln         = itab_it_aux-ebeln    .

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

       zterm         meinsest    pproc         nrseqli        aplicacao

       condmerc      inco1       codmat        cacl           codfunleg

       acordo        acordorate  reduzida      percreduz      notatipi

    reduzidaipi   unit_valor  unit_meins    unit_reccapac  unit_rectipo

       waersbem      dttaxbem    antidrate     extarif_al     tipo_al

       orgemiss_al   numero_al   anoemiss_al   ii_extarif     ii_tipo

       ii_orgemiss   ii_numero   ii_anoemiss   ipi_extarif    ipi_tipo

       ipi_orgemiss  ipi_numero  ipi_anoemiss  ad_extarif     ad_tipo

       ad_orgemiss   ad_numero   ad_anoemiss   aladi          tribipi

       advalicms     vlantid     meinsantid    qtdeantid

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

       inco_item atributo_nve.

* << Fim da exclusão

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

       inco_item atributo_nve quebra_nve.

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

 

* >> Início da inclusão:

        quebra_nve   type char200,

* << Fim da inclusão

end of itab_it.

...