CE PLUS - Nota 007777

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 15/12/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:28:53

Descrição da Nota: PREENCHE UNIDADE NCM PARA UTILIZAÇÃO NA DI. SALDO NEGATIVO

Sintoma

Esta levando para o campo unidade estatistica a mesma unidade do pedido. Permite vincular com saldo

negativo.

 

 

Solução

Ajustada rotina de conversão para preencher a unidade estatistica antes da conversão. Verificar

saldo negativo.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE PARA NÃO TRAZER PARA O EMBARQUE PEDIDOS SEM SALDO

AJUSTE PARA PREENCHER CORRETAMENTE A UNIDADE ESTATISTICA

Informações Complementares

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

Nota Número 07777 Data: 15/12/2008 Hora: 10:20:48

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

 

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

Nota Número              : 07777

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00008

Agrupamento              : 00077

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

Referência às notas relacionadas:

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

 

03458  - 00001 - 7.0    - 00001  - AJUSTE PARA PREENCHER CORRETAMENTE A UNIDADE ESTATISTICA

06621  - 00002 - 7.0    - 00005  - AJUSTE PARA NÃO TRAZER PARA O EMBARQUE PEDIDOS SEM SALDO

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

PREENCHE UNIDADE NCM PARA UTILIZAÇÃO NA DI. SALDO NEGATIVO

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

Palavras Chave:

UNIDADE - NCM - DI - EMBARQUE

/PWS/SAPMZYCI001

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

Objetos da nota:

REPS /PWS/MZYCI001F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

 

FORM carrega_zycbe003.

  READ TABLE it_ekpo_aux WITH KEY ebeln = itab_zycit003-ebeln

                                  ebelp = itab_zycit003-ebelp.

  IF NOT it_ekpo_aux IS INITIAL.

    MOVE it_ekpo_aux-idnlf TO ekpo-idnlf.

  ELSE.

    MOVE itab_zycit003-idnlf TO ekpo-idnlf.

  ENDIF.

  MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.

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

  v_qtd_item = itab_zycit003-qtd_iten.

* << Fim da inclusão

  CLEAR /pws/zycit078.

  IF NOT itab_zycit003-nrseqli IS INITIAL AND

         itab_zycit003-nrli    IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit078

          WHERE nrseqli EQ itab_zycit003-nrseqli.

    IF sy-subrc EQ 0.

      IF NOT /pws/zycit078-nrli IS INITIAL.

        /pws/zycie003-nrli = /pws/zycit078-nrli.

      ENDIF.

    ENDIF.

...

 

...

 

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

  DATA v_pedido(16) TYPE c.

* << Fim da inclusão

...

 

...

          MOVE: itab_zycit013-slqtde TO itab_zycit003-slqtde.

        ENDIF.

        IF ( sy-tcode EQ '/PWS/ZYCI001_C' OR

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

               itab_zycit013-slqtde < 0.

          MESSAGE i015 WITH

                            text-472 itab_zycit003-ebeln

                            text-473 itab_zycit003-ebelp.

        ENDIF.

        IF itab_zycit013-slqtde <= 0.

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

          CONCATENATE itab_zycit013-ebeln '/' itab_zycit013-ebelp

                                                        INTO v_pedido.

          MESSAGE i013 WITH text-046 v_pedido text-487.

* << Fim da inclusão

          CONTINUE.

        ENDIF.

        MOVE: itab_zycit013-slqtde TO itab_zycit003-slqtde,

              itab_itens-menge     TO itab_zycit003-menge,

              itab_itens-uebto     TO itab_zycit003-uebto,

              itab_itens-uebtk     TO itab_zycit003-uebtk.

        MOVE itab_itens-menge     TO itab_zycit003-menge.

      ELSE.

        MOVE: itab_itens-menge     TO itab_zycit003-slqtde,

              itab_itens-menge     TO itab_zycit003-menge.

...

 

...

 

FORM qtd_est.

  CHECK sy-tcode EQ '/PWS/ZYCI001_C'

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

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

  IF itab_zycit003-qtdeumest IS INITIAL.

* << Fim da exclusão

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

  IF itab_zycit003-qtdeumest IS INITIAL OR

   v_qtd_item NE /pws/zycie003-qtd_iten.

* << Fim da inclusão

    IF t001-land1 IS INITIAL.

      SELECT SINGLE *

      FROM t001

      WHERE bukrs = /pws/zycie001-bukrs.

    ENDIF.

    IF NOT itab_zycit003-matnr IS INITIAL .

      MOVE: itab_zycit003-qtd_iten TO itab_zycit003-qtdeumest,

            itab_zycit003-meins    TO itab_zycit003-meinsest.

      PERFORM converte_um_ncm USING itab_zycit003-matnr

                           CHANGING itab_zycit003-meinsest

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

  ENDIF.

  IF NOT v_cod_umncm IS INITIAL.

    SELECT SINGLE msehi

             FROM /pws/zyglt204 INTO (v_umncm)

             WHERE zum = v_cod_umncm.

    IF sy-subrc NE 0.

      MESSAGE i015 WITH text-436 text-437 v_j_1bnbm.

      CLEAR p_qtd.

      EXIT.

    ENDIF.

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

    p_meins = v_umncm.

* << Fim da inclusão

    v_conv1 = 1.

    CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'

         EXPORTING

              input                = v_conv1

              no_type_check        = 'X'

              round_sign           = 'X'

              unit_in              = p_meins

              unit_out             = v_umncm

         IMPORTING

              denominator          = v_um_ren

...

 

...

              division_by_zero     = 2

              input_invalid        = 3

              output_invalid       = 4

              overflow             = 5

              type_invalid         = 6

              units_missing        = 7

              unit_in_not_found    = 8

              unit_out_not_found   = 9

              OTHERS               = 10.

    IF sy-subrc = 0.

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

      CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.

* << Fim da inclusão

      p_qtd = ( p_qtd / v_um_ren ) * v_um_rez.

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

      ENDCATCH.

      IF sy-subrc = 5.

        MESSAGE w039 WITH text-486.

        CLEAR p_qtd.

      ENDIF.

* << Fim da inclusão

      p_meins = v_umncm.

      EXIT.

...

 

...

        ENDIF.

      ENDIF.

      IF v_um_rez IS INITIAL

        OR v_um_ren IS INITIAL.

        EXIT.

      ENDIF.

    ELSE.

      v_um_ren2 = 1.

      v_um_rez2 = 1.

    ENDIF.

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

    CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.

* << Fim da inclusão

    p_qtd = p_qtd *

      ( ( v_um_rez / v_um_ren ) * ( v_um_ren2 / v_um_rez2 ) ).

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

    ENDCATCH.

    IF sy-subrc = 5.

      MESSAGE w039 WITH text-486.

      CLEAR p_qtd.

    ENDIF.

* << Fim da inclusão

    p_meins = v_umncm.

...

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

 

* >> Início da inclusão:

DATA v_qtd_item LIKE /pws/zycit003-qtd_iten.

* << Fim da inclusão

DATA: END OF COMMON PART a.