CE PLUS - Nota 013386

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

Data/Hora da Publicação: 14/11/2013 15:53:55

Data/Hora Última Alteração: 14/11/2013 15:53:55

Descrição da Nota: AO TRANSMITIR LI NÃO LEVAVA QUANTIDADE ESTATISTICA

Sintoma

Ao transmitir LI não levava quantidade estatistica

 

 

Solução

Ajustar para recalcular a quantidade estatistica caso não esteja preenchido ao salvar.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO AO VINCULAR EMBARQUE A LI.

CALCULO DA QUANTIDADE ESTATISTICA

LI NÃO RECALCULA QTDE UM ESTATÍSTICA SE ALTERAR A QUANTIDADE

NECESSÁRIO DESENVOLVIMENTO ESPECÍFICO

AJUSTE NA LI PARA EXIBIR A QTDE. UM. ESTAT CORRETAMENTE

LI - QUANTIDADE UM ESTATÍSTICA

O PROGRAMA NÃO ESTÁ SOMANDO AS QUANTIDADES NA UM ESTATISTICA

CALCULO QUANTIDADE ESTATÍSTICA LI DRAWBACK

UNIDADE DE MEDIDA ESTATISTICA (PEDIDOS COM CLASSIFICAÇÃO FISCAL)

O PROGRAMA DA LI ESTÁ SEMPRE RECALCULANDO A QUANTIDADE ESTATISTICA .

QUNATIDADE NA UNIDADE DE MEDIDA ESTATISTICA NO DETALHE DO ITEN DA LI

AO INCLUIR E EXCLUIR NOVAMENTE ITENS NÃO RECALCULA UM ESTATISTICA.AO IN

AO MUDAR A QTDE DOS ITENS DA LI NÃO ESTÁ RECALCULANDO A QTDE ESTATISTICA

ERRO AO FAZER PRÉ CRÍTICA NA PLI E VINCULAÇÃO NO EMBARQUE

Informações Complementares

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

Nota Número 13386 Data: 06/11/2013 Hora: 14:50:21

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

 

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

Nota Número              : 13386

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00166

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

Referência às notas relacionadas:

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

 

03452  - 00001 - 7.0    - 00001  - O PROGRAMA DA LI ESTÁ SEMPRE RECALCULANDO A QUANTIDADE ESTATISTIC

03820  - 00002 - 7.0    - 00001  - LI - QUANTIDADE UM ESTATÍSTICA

03896  - 00003 - 7.0    - 00001  - AJUSTE NA LI PARA EXIBIR A QTDE. UM. ESTAT CORRETAMENTE

04686  - 00004 - 7.0    - 00003  - QUNATIDADE NA UNIDADE DE MEDIDA ESTATISTICA NO DETALHE DO ITEN DA

06213  - 00005 - 7.0    - 00005  - O PROGRAMA NÃO ESTÁ SOMANDO AS QUANTIDADES NA UM ESTATISTICA

07015  - 00006 - 7.0    - 00006  - UNIDADE DE MEDIDA ESTATISTICA (PEDIDOS COM CLASSIFICAÇÃO FISCAL)

07831  - 00007 - 7.0    - 00008  - CALCULO DA QUANTIDADE ESTATISTICA

09495  - 00008 - 8.0    - 00002  - LI NÃO RECALCULA QTDE UM ESTATÍSTICA SE ALTERAR A QUANTIDADE

12068  - 00009 - 8.0    - 00011  - AO INCLUIR E EXCLUIR  NOVAMENTE ITENS NÃO RECALCULA UM ESTATISTIC

12186  - 00010 - 8.0    - 00011  - ERRO AO FAZER PRÉ CRÍTICA NA PLI E VINCULAÇÃO NO EMBARQUE

12190  - 00011 - 8.0    - 00011  - ERRO AO VINCULAR EMBARQUE A LI.

12436  - 00012 - 9.0    - 00001  - CALCULO QUANTIDADE ESTATÍSTICA LI DRAWBACK

12489  - 00013 - 9.0    - 00001  - AO MUDAR A QTDE DOS ITENS DA LI NÃO ESTÁ RECALCULANDO A QTDE ESTA

12778  - 00014 - 9.0    - 00003  - NECESSÁRIO DESENVOLVIMENTO ESPECÍFICO

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

AO TRANSMITIR LI NÃO LEVAVA QUANTIDADE ESTATISTICA

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

Palavras Chave:

LI - QTDEST - QUANTIDADE ESTATISTICA - TRANSMISSÃO

 

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

Objetos da nota:

REPS /PWS/MZYCI020O01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020F01

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

 

    CLEAR wa_zycie078d1.

    wa_zycie078d1 = /pws/zycie078.

    /pws/zycie078 = wa_zycit078_aux2.

    CLEAR /pws/zycie078-nrseqd.

    PERFORM save_drawback.

    CLEAR /pws/zycie078.

    /pws/zycie078 = wa_zycie078d1.

  ENDIF.

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

  IF /pws/zycie078-qtdest IS INITIAL.

    PERFORM trata_qtdest.

  ENDIF.

* << Fim da inclusão

  PERFORM save_drawback.

  CLEAR: v_ncm.

  READ TABLE it_zycit079 INDEX 1.

  IF sy-subrc EQ 0.

    READ TABLE itab_itens_aux WITH KEY ebelp = it_zycit079-ebelp

                                       ebeln = it_zycit079-ebeln.

    v_ncm = itab_itens_aux-j_1bnbm.

  ENDIF.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

 

* >> Início da inclusão:

form trata_qtdest.

  IF NOT it_zycit079[] IS INITIAL.

    CLEAR:  it_ekpo.

    IF it_ekpo[] IS INITIAL.

      REFRESH: it_ekpo.

      SELECT * FROM ekpo INTO TABLE it_ekpo

        FOR ALL ENTRIES IN it_zycit079

        WHERE ebeln EQ it_zycit079-ebeln

          AND ebelp EQ it_zycit079-ebelp.

    ENDIF.

    CLEAR: v_qtdest, v_qtdtot, v_peso.

    IF /pws/zycie078-tpli    EQ 'N'    AND

       /pws/zycie078-flagpli EQ ' '    AND

       sy-ucomm              NE 'DLIT' AND

       v_alt                 EQ 'X'.

      CLEAR: /pws/zycie078-qtdest, v_alt.

    ENDIF.

    LOOP AT it_zycit079.

      READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln

                                  ebelp = it_zycit079-ebelp.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM ekpo INTO it_ekpo

            WHERE ebeln EQ it_zycit079-ebeln

              AND ebelp EQ it_zycit079-ebelp.

        IF sy-subrc EQ 0.

          APPEND it_ekpo.

        ELSE.

          CONTINUE.

        ENDIF.

      ENDIF.

      v_peso = v_peso + it_zycit079-ntgew.

      v_qtdtot = v_qtdtot + it_zycit079-qtd_iten.

      IF NOT it_ekpo-matnr IS INITIAL.

        PERFORM converte_um_ncm USING it_ekpo-matnr

                             CHANGING it_zycit079-meins

                                      it_zycit079-qtd_iten.

      ENDIF.

      v_qtdest = v_qtdest +

                 it_zycit079-qtd_iten.

    ENDLOOP.

    PERFORM verifica_exit USING 'D'

                               '/PWS/SAPMZYCI020'

                               'LI006'.

    e_subrc = 0.

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY zexit = 'LI006'  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.

    IF e_subrc EQ 0.

      IF /pws/zycie078-qtdest IS INITIAL OR

      ( /pws/zycie078-qtdest <> v_qtdest AND v_novo_item IS INITIAL ).

        IF /pws/zycie078-qtdest IS INITIAL.

          /pws/zycie078-qtdest = v_qtdest.

        ELSE.

          IF NOT itab_itens[] IS INITIAL.

            IF v_novo_item EQ 'X'.

              IF NOT it_zycit079-qtd_iten IS INITIAL.

                /pws/zycie078-qtdest = /pws/zycie078-qtdest +

                                       it_zycit079-qtd_iten.

                DELETE itab_itens WHERE ebeln EQ it_zycit079-ebeln

                                  AND   ebelp EQ it_zycit079-ebelp.

                CLEAR v_novo_item.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSEIF  /pws/zycie078-qtdest <> v_qtdest AND

              NOT v_novo_item IS INITIAL.

        /pws/zycie078-qtdest = v_qtdest.

        CLEAR v_novo_item.

      ENDIF.

    ENDIF.

    LOOP AT it_079_del.

      READ TABLE it_ekpo WITH KEY ebeln = it_079_del-ebeln

                                  ebelp = it_079_del-ebelp.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM ekpo INTO it_ekpo

            WHERE ebeln EQ it_079_del-ebeln

              AND ebelp EQ it_079_del-ebelp.

        IF sy-subrc EQ 0.

          APPEND it_ekpo.

        ELSE.

          CONTINUE.

        ENDIF.

      ENDIF.

      IF NOT it_ekpo-matnr IS INITIAL.

        PERFORM converte_um_ncm USING it_ekpo-matnr

                             CHANGING it_079_del-meins

                                      it_079_del-qtd_iten.

      ENDIF.

      IF /pws/zycie078-qtdest GE it_079_del-qtd_iten.

        /pws/zycie078-qtdest = /pws/zycie078-qtdest -

                               it_079_del-qtd_iten.

      ENDIF.

      DELETE it_079_del WHERE ebeln EQ it_079_del-ebeln

                        AND   ebelp EQ it_079_del-ebelp.

    ENDLOOP.

  ELSE.

    CLEAR /pws/zycie078-qtdest.

  ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

  ELSE.

    CLEAR: v_descr25.

    IF NOT /pws/zycie078-j_1bbranch IS INITIAL.

      SELECT SINGLE name

             FROM j_1bbranch

             INTO (v_descr25)

             WHERE bukrs = /pws/zycie078-bukrs

               AND branch = /pws/zycie078-j_1bbranch.

    ENDIF.

  ENDIF.

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

  IF NOT it_zycit079[] IS INITIAL.

    CLEAR:  it_ekpo.

* << Fim da exclusão

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

  PERFORM trata_qtdest.

* << Fim da inclusão

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

    IF it_ekpo[] IS INITIAL.

      REFRESH: it_ekpo.

      SELECT * FROM ekpo INTO TABLE it_ekpo

        FOR ALL ENTRIES IN it_zycit079

        WHERE ebeln EQ it_zycit079-ebeln

          AND ebelp EQ it_zycit079-ebelp.

    ENDIF.

    CLEAR: v_qtdest, v_qtdtot, v_peso.

    IF /pws/zycie078-tpli    EQ 'N'    AND

       /pws/zycie078-flagpli EQ ' '    AND

       sy-ucomm              NE 'DLIT' AND

       v_alt                 EQ 'X'.

      CLEAR: /pws/zycie078-qtdest, v_alt.

    ENDIF.

    LOOP AT it_zycit079.

      READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln

                                  ebelp = it_zycit079-ebelp.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM ekpo INTO it_ekpo

            WHERE ebeln EQ it_zycit079-ebeln

              AND ebelp EQ it_zycit079-ebelp.

        IF sy-subrc EQ 0.

          APPEND it_ekpo.

        ELSE.

          CONTINUE.

        ENDIF.

      ENDIF.

      v_peso = v_peso + it_zycit079-ntgew.

      v_qtdtot = v_qtdtot + it_zycit079-qtd_iten.

      IF NOT it_ekpo-matnr IS INITIAL.

        PERFORM converte_um_ncm USING it_ekpo-matnr

                             CHANGING it_zycit079-meins

                                      it_zycit079-qtd_iten.

      ENDIF.

      v_qtdest = v_qtdest +

                 it_zycit079-qtd_iten.

    ENDLOOP.

    PERFORM verifica_exit USING 'D'

                               '/PWS/SAPMZYCI020'

                               'LI006'.

    e_subrc = 0.

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY zexit = 'LI006'  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.

    IF e_subrc EQ 0.

      IF /pws/zycie078-qtdest IS INITIAL OR

      ( /pws/zycie078-qtdest <> v_qtdest AND v_novo_item IS INITIAL ).

        IF /pws/zycie078-qtdest IS INITIAL.

          /pws/zycie078-qtdest = v_qtdest.

        ELSE.

          IF NOT itab_itens[] IS INITIAL.

            IF v_novo_item EQ 'X'.

              IF NOT it_zycit079-qtd_iten IS INITIAL.

                /pws/zycie078-qtdest = /pws/zycie078-qtdest +

                                       it_zycit079-qtd_iten.

                DELETE itab_itens WHERE ebeln EQ it_zycit079-ebeln

                                  AND   ebelp EQ it_zycit079-ebelp.

                CLEAR v_novo_item.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSEIF  /pws/zycie078-qtdest <> v_qtdest AND

              NOT v_novo_item IS INITIAL.

        /pws/zycie078-qtdest = v_qtdest.

        CLEAR v_novo_item.

      ENDIF.

    ENDIF.

    LOOP AT it_079_del.

      READ TABLE it_ekpo WITH KEY ebeln = it_079_del-ebeln

                                  ebelp = it_079_del-ebelp.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM ekpo INTO it_ekpo

            WHERE ebeln EQ it_079_del-ebeln

              AND ebelp EQ it_079_del-ebelp.

        IF sy-subrc EQ 0.

          APPEND it_ekpo.

        ELSE.

          CONTINUE.

        ENDIF.

      ENDIF.

      IF NOT it_ekpo-matnr IS INITIAL.

        PERFORM converte_um_ncm USING it_ekpo-matnr

                             CHANGING it_079_del-meins

                                      it_079_del-qtd_iten.

      ENDIF.

      IF /pws/zycie078-qtdest GE it_079_del-qtd_iten.

        /pws/zycie078-qtdest = /pws/zycie078-qtdest -

                               it_079_del-qtd_iten.

      ENDIF.

      DELETE it_079_del WHERE ebeln EQ it_079_del-ebeln

                        AND   ebelp EQ it_079_del-ebelp.

    ENDLOOP.

  ELSE.

    CLEAR /pws/zycie078-qtdest.

  ENDIF.

* << Fim da exclusão

ENDMODULE.

...