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.
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.
...