CE PLUS - Nota 000846

Módulo: DRAWBACK

Funcionalidade: Composição

Data/Hora da Publicação: 09/02/2006 00:00:00

Data/Hora Última Alteração: 17/02/2011 13:32:11

Descrição da Nota: CONVERSÃO DAS UNIDADES DE EXPORTAÇÃO E A SELEÇÃO DAS DI'S DA COMPOSIÇÃO.

Sintoma

O programa de composição não esta selecionando as DI¿s existentes para

a composição e esta exibindo a unidade de medida errada para os itens

de exportação.

 

 

Solução

Ajustar a verificação dos centros de importação e a conversão das

unidades de exportação.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

PARAMETRO TAMANHO NCM E TRATAMENTO DE LISTA P/ AGRUPAMENTO NA COMPOSIÇÃO

AJUSTES NA COMPOSIÇÃO DE ISENÇÃO.

Informações Complementares

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

Nota Número 00846 Data: 09/02/2006 Hora: 11:34:54

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

 

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

Nota Número              : 00846

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00100

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

Referência às notas relacionadas:

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

 

00220  - 00001 - 6.0    - 00021  - AJUSTES NA COMPOSIÇÃO DE ISENÇÃO.

00653  - 00002 - 6.0    - 00022  - PARAMETRO TAMANHO NCM E TRATAMENTO DE LISTA P/ AGRUPAMENTO NA COM

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

CONVERSÃO DAS UNIDADES DE EXPORTAÇÃO E A SELEÇÃO DAS DI'S DA COMPOSIÇÃO.

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

Palavras Chave:

CONVERSÃO - UNIDADE - DI - SELEÇÃO - COMPOSIÇAO

/PWS/SAPMZYCI064

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

Objetos da nota:

REPS /PWS/MZYCI064F02

REPS /PWS/MZYCI064F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI064F02

 

...

  DATA: v_cod_umncm   LIKE /pws/zyglt204-zum ,

        v_codpais     LIKE /pws/zycev604-land1  ,

        v_meinsb      LIKE marm-meinh,

        v_um_rez      LIKE marm-umrez,

        v_um_ren      LIKE marm-umren,

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

        v_um_rez2      LIKE marm-umrez,

        v_um_ren2      LIKE marm-umren,

* << Fim da inclusão

        v_j_1bnbm     LIKE /pws/zycit247-j_1bnbm,

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

        v_umncm       LIKE /pws/zycit247-um_ncm   ,

* << Fim da exclusão

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

        v_umncm       LIKE /pws/zyglt204-zum    ,

* << Fim da inclusão

        v_qtd_ncm     LIKE /pws/zycit247-qtd_ncm.

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

  CLEAR: v_um_rez, v_um_ren, v_codpais, v_cod_umncm, v_umncm.

* << Fim da exclusão

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

  CLEAR: v_um_rez, v_um_ren, v_codpais, v_cod_umncm, v_umncm,

         v_um_rez2, v_um_ren2.

* << Fim da inclusão

  IF p_werks IS INITIAL.

    CLEAR p_qtd.

    EXIT.

  ENDIF.

  SELECT SINGLE meins FROM mara INTO v_meinsb

...

 

...

    ENDIF.

    IF v_um_rez IS INITIAL

      OR v_um_ren IS INITIAL.

      EXIT.

    ENDIF.

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

    p_qtd = ( p_qtd / v_um_ren ) * v_um_rez.

    CLEAR: v_um_rez, v_um_ren.

* << Fim da exclusão

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

  ELSE.

    v_um_ren = 1.

    v_um_rez = 1.

* << Fim da inclusão

  ENDIF.

  CLEAR v_cod_umncm.

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

  SELECT SINGLE steuc FROM marc INTO v_j_1bnbm

      WHERE matnr EQ p_matnr

        AND werks EQ p_werks.

* << Fim da exclusão

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

  SELECT SINGLE a~steuc INTO v_j_1bnbm

         FROM ( marc AS a INNER JOIN t001w AS b ON

                a~werks EQ b~werks )

         WHERE a~matnr EQ p_matnr

           AND a~steuc NE space

           AND b~land1 EQ t001-land1.

* << Fim da inclusão

  IF sy-subrc EQ 0.

    SELECT SINGLE land1 /pws/zum

             FROM t604f INTO (v_codpais, v_cod_umncm)

             WHERE steuc = v_j_1bnbm.

  ENDIF.

...

 

...

      CLEAR p_qtd.

      EXIT.

    ENDIF.

    IF v_meinsb NE v_umncm.

      SELECT SINGLE umrez umren

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

               FROM marm INTO (v_um_rez, v_um_ren)

* << Fim da exclusão

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

               FROM marm INTO (v_um_rez2, v_um_ren2)

* << Fim da inclusão

               WHERE matnr = p_matnr

               AND   meinh = v_umncm.

      IF sy-subrc NE 0.

        MESSAGE i015 WITH text-237 v_umncm text-238 p_matnr.

        CLEAR p_qtd.

...

 

...

      ENDIF.

      IF v_um_rez IS INITIAL

        OR v_um_ren IS INITIAL.

        EXIT.

      ENDIF.

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

      p_qtd = ( p_qtd / v_um_rez ) * v_um_ren.

* << Fim da exclusão

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

    ELSE.

      v_um_ren2 = 1.

      v_um_rez2 = 1.

* << Fim da inclusão

    ENDIF.

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

    p_qtd = p_qtd *

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

* << Fim da inclusão

    p_meins = v_umncm.

  ELSE.

    IF v_j_1bnbm IS INITIAL.

      MESSAGE i015 WITH text-255 p_matnr.

    ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI064F03

 

...

ENDFORM.

FORM move_dados_iniciais3.

  IF /pws/zycit321 IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit321.

  ENDIF.

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

  IF t001 IS INITIAL.

    SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie258-bukrs.

  ENDIF.

* << Fim da inclusão

  IF v_tcode3 IS INITIAL.

    MOVE sy-tcode TO v_tcode3.

  ENDIF.

  IF v_tcode3 EQ '/PWS/ZYCI040_I' OR v_tcode3 EQ '/PWS/ZYCI040_G'.

    MOVE '1' TO v_status3.

...

 

...

                PERFORM converte_unidades

                      USING itab_det_exp_final-codmat

                            itab_det_exp_final-meins

                            itab_zycit421-meins

                   CHANGING itab_det_exp_final-qtd_iten.

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

                itab_det_exp_final-meins = itab_zycit421-meins.

* << Fim da inclusão

              ELSE.

               PERFORM converte_um_base USING itab_det_exp_final-codmat

                                      CHANGING itab_det_exp_final-meins

                                            itab_det_exp_final-qtd_iten.

                IF itab_det_exp_final-qtd_iten IS INITIAL.

...

 

...

                                           itab_det_exp_final-vlcomis.

              itab_det_exp_final-waersfob = 'USD'.

              SELECT SINGLE steuc

                  FROM marc INTO itab_det_exp_final-j_1bnbm

                  WHERE matnr EQ itab_det_exp_final-codmat.

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

              PERFORM umncm_composicao USING

                                           itab_det_exp_final-codmat

                                           itab_det_exp_final-j_1bnbm

                                           itab_det_exp_final-qtd_iten

                                           itab_det_exp_final-meins

                                       CHANGING

                                           itab_det_exp_final-qtd_ncm

                                           itab_det_exp_final-meins_ncm.

* << Fim da exclusão

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

              itab_det_exp_final-qtd_ncm = itab_det_exp_final-qtd_iten.

              itab_det_exp_final-meins_ncm = itab_det_exp_final-meins.

              PERFORM converte_um_ncm USING itab_det_exp_final-codmat

                    CHANGING itab_det_exp_final-meins_ncm

                             itab_det_exp_final-werks

                             itab_det_exp_final-qtd_ncm.

* << Fim da inclusão

              IF itab_det_exp_final-qtd_ncm IS INITIAL.

                EXIT.

              ENDIF.

              APPEND itab_det_exp_final.

            ELSE.

...

 

...

            itab_zycit085-dtuserc <= v_dtfim.

      SELECT SINGLE * FROM /pws/zycbt007

        WHERE bukrs EQ itab_zycit085-bukrs.

      CLEAR itab_zycit001.

      READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit100-nrseq.

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

      IF sy-subrc EQ 0.

        CLEAR itab_zycit003.

        READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit100-nrseq

                                          ebeln = itab_zycit100-ebeln

                                          ebelp = itab_zycit100-ebelp.

* << Fim da inclusão

      IF sy-subrc EQ 0.

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

        READ TABLE itab_zycit434 WITH KEY werks = itab_zycit001-werks.

* << Fim da exclusão

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

          READ TABLE itab_zycit434 WITH KEY

                                   werks = itab_zycit003-werks.

        ENDIF.

* << Fim da inclusão

        IF sy-subrc NE 0.

          CONTINUE.

        ENDIF.

      ELSE.

        CONTINUE.

      ENDIF.

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

      CLEAR itab_zycit003.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit100-nrseq

                                        ebeln = itab_zycit100-ebeln

                                        ebelp = itab_zycit100-ebelp.

* << Fim da exclusão

      v_vlreali = itab_zycit003-qtd_iten.

      READ TABLE itab_mess_un WITH KEY meins =

                                         itab_zycit003-meins

                                matnr = itab_zycit003-matnr.

      IF sy-subrc EQ 0.

...