Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 02/08/2013 09:32:29
Data/Hora Última Alteração: 02/08/2013 09:32:29
Descrição da Nota: VINCULAÇÃO DE DRAWBACK ISENÇÃO
Sintoma
Ao tentar vincular um ato concessório o programa de LI está exibindo saldo de valor e quantidade
incorreto para os atos de isenção.
Solução
Ajustado programa para desconsiderar o parametro de controle por NCM quando o ato concessório for de
Isenção.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13130 Data: 22/07/2013 Hora: 09:22:13
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13130
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00005
Agrupamento : 00159
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
09619 - 00001 - 8.0 - 00002 - IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO
12946 - 00002 - 9.0 - 00004 - PERMITIR VINCULÇÃO DE ITENS DA LI AO ATO CONCESSÓRIO
----------------------------------------------------------------------------------------------------
VINCULAÇÃO DE DRAWBACK ISENÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
LI - QUANTIDADE - VALOR - INCORRETO - PARAMETRO - CONTROLE - NCM
/PWS/SAPMZYCI020 - DRAWBACK - ISENÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI020F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
MODIFY itab_zycit079.
/pws/zycie079-qtd_iten = /pws/zycie078-qtdest .
/pws/zycit245-netpr_t = /pws/zycit245-netpr_t +
itab_zycit079-netpr.
/pws/zycit245-waers = /pws/zycbt007-waersa.
/pws/zycie079-meins = itab_zycit079-meins.
ENDLOOP.
LOOP AT it_zycit245.
CLEAR: itab_atos.
READ TABLE it_zycit244 WITH KEY nrseqd = it_zycit245-nrseqd.
* >> Início da exclusão: FORM VINCULAR_ATOC
IF /pws/zycit321-c_comum NE 'X' AND
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
IF ( /pws/zycit321-c_comum NE 'X' OR
it_zycit244-modalidade EQ 'I' ) AND
* << Fim da inclusão
it_zycit244-tipo NA 'GD'.
IF it_zycit245-codcomp IS INITIAL.
CONTINUE.
ENDIF.
IF it_zycit245-grupo EQ space.
READ TABLE itab_zycit433 WITH KEY matnr = it_zycit245-codcomp.
IF sy-subrc EQ 0.
it_zycit245-grupo = itab_zycit433-grupo.
MODIFY it_zycit245 TRANSPORTING grupo
WHERE codcomp EQ it_zycit245-codcomp.
...
...
IF it_zycit245-grupo NE space.
LOOP AT itab_zycit433 WHERE grupo EQ it_zycit245-grupo.
DELETE it_zycit245 WHERE
codcomp EQ itab_zycit433-matnr.
ENDLOOP.
ENDIF.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM VINCULAR_ATOC
IF /pws/zycit321-c_comum EQ 'X' AND
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
IF ( /pws/zycit321-c_comum NE 'X' OR
it_zycit244-modalidade EQ 'I' ) AND
* << Fim da inclusão
it_zycit244-tipo NA 'GD' AND
it_zycit245-j_1bnbm NE /pws/zycie078-steuc1.
DELETE it_zycit245.
CONTINUE.
ENDIF.
itab_atos-nrseqd = it_zycit245-nrseqd .
itab_atos-identify = it_zycit244-identify .
itab_atos-nritem = it_zycit245-nritem .
itab_atos-nratoc = it_zycit244-nratoc .
itab_atos-matnr = it_zycit245-codcomp .
...
...
IF itab_atos-qtd_tot < 0.
CLEAR: itab_atos-qtd_tot.
ENDIF.
IF itab_atos-vlfob < 0.
CLEAR: itab_atos-vlfob.
ENDIF.
APPEND itab_atos.
ENDLOOP.
LOOP AT itab_atos.
CLEAR: it_zycit245.
* >> Início da exclusão: FORM VINCULAR_ATOC
IF /pws/zycit321-c_comum NE 'X' AND
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
IF ( /pws/zycit321-c_comum NE 'X' OR
itab_atos-modalidade EQ 'I' ) AND
* << Fim da inclusão
itab_atos-tipo NA 'GD'.
IF itab_atos-grupo NE space.
LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.
v_dele = 'X'.
LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.
READ TABLE itab_zycit079 WITH KEY ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
it_zycit245-qtd_ncm = it_zycit245-qtd_ncm +
itab_zycit079-qtd_iten.
it_zycit245-netpr_t = it_zycit245-netpr_t +
...
...
DELETE itab_atos2.
CONTINUE.
WHEN 2.
MESSAGE a015 WITH text-153.
.
ENDCASE.
IF itab_atos2-status EQ 'E'.
PERFORM call_icon USING text-451
text-453
CHANGING itab_atos2-icon.
* >> Início da exclusão: FORM VINCULAR_ATOC
ELSEIF /pws/zycit321-c_comum NE 'X' AND
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULAR_ATOC
ELSEIF ( /pws/zycit321-c_comum NE 'X' OR
itab_atos2-modalidade EQ 'I' ) AND
* << Fim da inclusão
itab_atos2-tipo NA 'GD'.
LOOP AT it_ekpo.
READ TABLE itab_atos WITH KEY
nrseqd = itab_atos2-nrseqd
matnr = it_ekpo-matnr.
IF sy-subrc NE 0.
v_dele = 'X'.
CLEAR itab_zycit433.
READ TABLE itab_zycit433 WITH KEY matnr = it_ekpo-matnr.
IF sy-subrc EQ 0.
...
...
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 100.
WHEN 'VINCULA'.
READ TABLE itab_atos2 WITH KEY marc = 'X'.
IF sy-subrc NE 0 OR itab_atos2-status EQ 'E'.
MESSAGE i015 WITH text-457.
EXIT.
ENDIF.
READ TABLE it_zycit244 WITH KEY nrseqd = itab_atos2-nrseqd.
* >> Início da exclusão: FORM USER_COMMAND_0810
IF /pws/zycit321-c_comum NE 'X' AND
* << Fim da exclusão
* >> Início da inclusão: FORM USER_COMMAND_0810
IF ( /pws/zycit321-c_comum NE 'X' OR
itab_atos2-modalidade EQ 'I' ) AND
* << Fim da inclusão
itab_atos2-tipo NA 'GD'.
LOOP AT itab_atos WHERE nrseqd EQ itab_atos2-nrseqd.
IF itab_atos-grupo NE space.
LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.
LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
...
...
LOOP AT it_zycit079 WHERE item_drawback EQ space.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
v_vl_temp = it_zycit079-qtd_iten * it_zycit079-netpr.
PERFORM converter_moeda USING v_vl_temp
it_zycit079-waers
/pws/zycbt007-waersa
it_ekpo-aedat
CHANGING v_vl_temp2 .
CLEAR it_zycit245.
* >> Início da exclusão: FORM VINC_P
IF /pws/zycit321-c_comum NE 'X' AND
* << Fim da exclusão
* >> Início da inclusão: FORM VINC_P
IF ( /pws/zycit321-c_comum NE 'X' OR
it_zycit244-modalidade EQ 'I' ) AND
* << Fim da inclusão
it_zycit244-tipo NA 'GD'.
READ TABLE itab_zycit433 WITH KEY matnr = it_zycit079-matnr.
IF sy-subrc EQ 0.
v_grupo = itab_zycit433-grupo.
LOOP AT itab_zycit433 WHERE grupo EQ v_grupo.
READ TABLE it_zycit245 WITH KEY
codcomp = itab_zycit433-matnr
j_1bnbm = /pws/zycie078-steuc1.
IF sy-subrc EQ 0.
v_saldo = it_zycit245-qtd_ncm - it_zycit245-vinculado.
...