Módulo: DRAWBACK
Funcionalidade: Apropriação
Data/Hora da Publicação: 26/08/2008 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:29:41
Descrição da Nota: AJUSTADO NA ORDENAÇÃO DOS ATOS CONCESSÓRIOS PARA REALIZAR A APROPRIAÇÃO
Sintoma
O programa está pegando um ato concessório com DI nova quando deveria buscar o ato com as DI¿s
antigas
Solução
Realizado ajuste no programa para ordenar a tabela de interna de materiais exportados de acordo com
a de DI¿s.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07200 Data: 26/08/2008 Hora: 14:49:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07200
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00062
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07146 - 00001 - 7.0 - 00006 - AJUSTES PARA TRATAR COMPRAS NO MERCADO INTERNO
----------------------------------------------------------------------------------------------------
AJUSTADO NA ORDENAÇÃO DOS ATOS CONCESSÓRIOS PARA REALIZAR A APROPRIAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR254F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR254F01
...
SELECT * FROM stko INTO TABLE itab_stko
FOR ALL ENTRIES IN it_zycit247
WHERE stlty EQ 'M'
AND stlnr EQ it_zycit247-stlnr
AND stlal EQ it_zycit247-stlal.
ENDIF.
PERFORM sort_records_zycit247.
PERFORM lock_record_receb.
PERFORM lock_record_ato.
SORT it_zycit279 BY dtdi nrseq+8(2) nrseq(8) ebeln ebelp matnr.
* >> Início da inclusão: FORM RUN_APPROPRIATION_EXPORTATION
PERFORM ordena_atos.
* << Fim da inclusão
LOOP AT it_zycet002.
IF t001-bukrs NE it_zycet002-bukrs.
SELECT SINGLE * FROM t001 WHERE bukrs EQ it_zycet002-bukrs.
ENDIF.
IF /pws/zycit321-ltopc EQ '1'.
READ TABLE it_zycet002_grp WITH KEY
nrseq = it_zycet002-nrseq
vbeln_va = it_zycet002-vbeln_va
aupos = it_zycet002-aupos
vbeln_vf = it_zycet002-vbeln_vf
...
...
ENDIF.
FREE MEMORY ID idmemory2.
ENDFORM.
FORM appropriate_current_record.
DATA: v_apmat(1) TYPE c ,
v_diasv TYPE /pws/zycit321-dia_ant ,
v_qtdaprop LIKE /pws/zycet002-fkimg ,
v_qtdbase LIKE itab_stko-bmeng,
v_error(1) TYPE c .
v_apmat = 'N'.
* >> Início da exclusão: FORM APPROPRIATE_CURRENT_RECORD
SORT it_zycit247 BY nrseqd.
* << Fim da exclusão
CLEAR: it_zycet001, v_pct_com.
READ TABLE it_zycet001 WITH KEY nrseq = it_zycet002-nrseq.
IF it_zycet001-dtprev IS INITIAL.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-075 it_zycet002-nrseq text-077
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
EXIT.
ENDIF.
...
...
IF v_apmat = 'N'.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-021 it_zycet002-matnr
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
ENDIF.
MOVE v_qtdaprop TO it_zycet002-qtdbx.
MODIFY it_zycet002.
ENDFORM.
* >> Início da inclusão:
FORM ordena_atos.
DATA: itab_279_temp LIKE it_zycit279 OCCURS 0 WITH HEADER LINE,
itab_247_temp LIKE it_zycit247 OCCURS 0 WITH HEADER LINE.
itab_279_temp[] = it_zycit279[].
DO.
READ TABLE itab_279_temp INDEX 1.
if sy-subrc ne 0.
exit.
endif.
DELETE itab_279_temp WHERE nrseqd EQ itab_279_temp-nrseqd.
LOOP AT it_zycit247 where nrseqd eq itab_279_temp-nrseqd.
APPEND it_zycit247 TO itab_247_temp.
ENDLOOP.
ENDDO.
it_zycit247[] = itab_247_temp[].
ENDFORM.
* << Fim da inclusão