Módulo: DRAWBACK
Funcionalidade: Apropriação
Data/Hora da Publicação: 02/03/2006 00:00:00
Data/Hora Última Alteração: 17/02/2011 13:00:22
Descrição da Nota: TOLERANCIA DE DIAS ENTRE VENCIMENTO DO ATO E EMBARQUE DE EXPORTAÇÃO
Sintoma
O programa de aproprição não verifica a data de vencimento do ato
concessório e a data de previsão de embarque do embarque de exportação.
Solução
Criar parametro na tabela /pws/zycit321 referente a tolerância de dias
entre o vencimento do ato e a data de previsão de embarque, e ajustar os
programas de apropriação para efetuar este tratamento.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00968 Data: 02/03/2006 Hora: 08:41:18
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00968
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00022
Agrupamento : 00102
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00948 - 00001 - 6.0 - 00022 - PARAMETRO UF DE ENTRADA
----------------------------------------------------------------------------------------------------
TOLERANCIA DE DIAS ENTRE VENCIMENTO DO ATO E EMBARQUE DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
TOLERANCIA - DIAS - VENCIMENTO - ATO - APROPRIAÇÃO
/PWS/ZYCIR070 - /PWS/ZYCIR115 - /PWS/ZYCIR217
----------------------------------------------------------------------------------------------------
Objetos da nota:
DTEL /PWS/ZYCIL835
REPS /PWS/ZYCIR070
REPS /PWS/ZYCIR070F01
REPS /PWS/ZYCIR115
REPS /PWS/ZYCIR115F01
REPS /PWS/ZYCIR217
REPS /PWS/ZYCIR217F01
REPT /PWS/ZYCIR070
REPT /PWS/ZYCIR115
REPT /PWS/ZYCIR217
TABD /PWS/ZYCIT321
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DTEL /PWS/ZYCIL835
Criar:
Elemento de dados: /PWS/ZYCIL835
Descrição breve: GL - n° dias de tolerancia para vencimento
Dominio: DEC4
Ctg.dados: DEC
Comprimento: 4
Textos:
Comprim Denominador de campo
Breve 10 n° ant/ven
Médio 17 n° dias Ant/Venc.
longa 37 n° dias de tolerancia para ven
Título 37 n° dias de tolerancia para ven
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR070
...
DATA: BEGIN OF it_zycet002 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
DATA: qtdbx LIKE /pws/zycet002-fkimg,
mexp(1) TYPE c .
DATA: END OF it_zycet002.
* >> Início da inclusão:
DATA: BEGIN OF it_zycet001 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet001.
DATA: END OF it_zycet001.
* << Fim da inclusão
DATA: BEGIN OF itab_zycit246 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit246.
DATA: END OF itab_zycit246.
DATA: BEGIN OF it_zycet002_grp OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR070F01
...
PERFORM appropriate_current_record.
ENDLOOP.
ENDIF.
ELSE.
IF NOT it_zycet002[] IS INITIAL.
* >> Início da exclusão: FORM RUN_APPROPRIATION_EXPORTATION
CLEAR it_zycit281. REFRESH it_zycit281.
* << Fim da exclusão
* >> Início da inclusão: FORM RUN_APPROPRIATION_EXPORTATION
CLEAR it_zycet001. REFRESH it_zycet001.
SELECT * FROM /pws/zycet001 INTO TABLE it_zycet001
FOR ALL ENTRIES IN it_zycet002
WHERE nrseq EQ it_zycet002-nrseq.
CLEAR it_zycit281.
REFRESH it_zycit281.
* << Fim da inclusão
SELECT * FROM /pws/zycit281 INTO TABLE it_zycit281
FOR ALL ENTRIES IN it_zycet002
WHERE matnr EQ it_zycet002-matnr.
CLEAR it_zycit247. REFRESH it_zycit247.
SELECT * FROM /pws/zycit247 INTO TABLE it_zycit247
...
...
ENDIF.
FREE MEMORY ID idmemory2.
ENDFORM.
FORM appropriate_current_record.
DATA: v_apmat(1) TYPE c ,
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
v_diasv TYPE /pws/zycit321-dia_ant ,
* << Fim da inclusão
v_qtdaprop LIKE /pws/zycet002-fkimg ,
v_qtdbase LIKE itab_stko-bmeng,
v_error(1) TYPE c .
v_apmat = 'N'.
SORT it_zycit247 BY nrseqd.
...
...
IF v_error EQ 'S'.
CONTINUE.
ENDIF.
ENDLOOP.
ELSE.
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
CLEAR: it_zycet001.
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.
* << Fim da inclusão
LOOP AT it_zycit247 WHERE codmat EQ it_zycet002-matnr
AND esgotado EQ ' '
AND werks EQ it_zycet002-werks.
READ TABLE itab_stko WITH KEY stlnr = it_zycit247-stlnr
stlal = it_zycit247-stlal.
...
...
CLEAR it_zycit244.
READ TABLE it_zycit244 WITH KEY nrseqd = it_zycit247-nrseqd.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
IF it_zycit244-vcto_vg IS INITIAL.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-031 it_zycit244-nrseqd text-076
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
CONTINUE.
ENDIF.
v_diasv = it_zycit244-vcto_vg - it_zycet001-dtprev.
IF v_diasv < /pws/zycit321-dia_ant.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF v_qtdaprop >= it_zycet002-fkimg.
EXIT.
ENDIF.
v_apmat = 'S'.
v_error = 'N'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR115
...
DATA: BEGIN OF it_zycet002 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
DATA: qtdbx LIKE /pws/zycet002-fkimg,
mexp(1) TYPE c .
DATA: END OF it_zycet002.
* >> Início da inclusão:
DATA: BEGIN OF it_zycet001 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet001.
DATA: END OF it_zycet001.
* << Fim da inclusão
DATA: BEGIN OF it_zycet002_desa OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
DATA: qtdapr LIKE /pws/zycit283-qtd_apr,
mexp(1) TYPE c.
DATA: END OF it_zycet002_desa.
...
...
v_linha TYPE i ,
c_pct_dec TYPE p DECIMALS 2 ,
v_pos TYPE i ,
v_perc(10) ,
v_idx LIKE sy-tabix ,
* >> Início da inclusão:
v_diasv TYPE /pws/zycit321-dia_ant ,
* << Fim da inclusão
v_indic1 LIKE icon-id ,
v_indic2 LIKE icon-id ,
v_amarrado LIKE icon-id ,
v_indicatu LIKE sy-tabix ,
v_saldo_mat TYPE p DECIMALS 3 ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR115F01
...
SORT it_zycit279 BY nrseq ebeln ebelp docnum matnr.
SORT it_zycit279_f BY nrseq ebeln ebelp docnum matnr.
it_zycit245_f2[] = it_zycit245_f[].
it_zycit247_f2[] = it_zycit247_f[].
it_zycit279_f2[] = it_zycit279_f[].
* >> Início da inclusão: FORM RUN_APPROPRIATION_EXPORTATION
IF NOT it_zycet002[] IS INITIAL.
CLEAR it_zycet001. REFRESH it_zycet001.
SELECT * FROM /pws/zycet001 INTO TABLE it_zycet001
FOR ALL ENTRIES IN it_zycet002
WHERE nrseq EQ it_zycet002-nrseq.
ENDIF.
* << 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.
READ TABLE it_zycit281 WITH KEY matnr = it_zycet002-matnr
...
...
v_apmat = 'N'.
v_qtdmat = it_zycet002-fkimg.
v_quebra = 1.
v_exapr = 'N'.
REFRESH itab_fornec.
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
CLEAR: it_zycet001.
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.
* << Fim da inclusão
LOOP AT it_zycit245_g .
CLEAR it_zycit244_g.
v_qtdmat = it_zycet002-fkimg.
READ TABLE it_zycit244_g WITH KEY nrseqd = it_zycit245_g-nrseqd.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
IF it_zycit244_g-vcto_vg IS INITIAL.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-031 it_zycit244_g-nrseqd text-076
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
CONTINUE.
ENDIF.
v_diasv = it_zycit244_g-vcto_vg - it_zycet001-dtprev.
IF v_diasv < /pws/zycit321-dia_ant.
CONTINUE.
ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit243
WHERE nrseqd EQ it_zycit245_g-nrseqd
AND werks EQ it_zycet002-werks.
IF sy-subrc NE 0 AND it_zycit244_g-werks NE it_zycet002-werks.
CONTINUE.
...
...
CLEAR it_zycit244_f.
READ TABLE it_zycit244_f WITH KEY nrseqd = it_zycit245_f-nrseqd.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
IF it_zycit244_f-vcto_vg IS INITIAL.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-031 it_zycit244_f-nrseqd text-076
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
CONTINUE.
ENDIF.
v_diasv = it_zycit244_f-vcto_vg - it_zycet001-dtprev.
IF v_diasv < /pws/zycit321-dia_ant.
CONTINUE.
ENDIF.
* << Fim da inclusão
READ TABLE itab_fornec WITH KEY lifnr = it_zycit244_f-lifnr.
IF sy-subrc EQ 0 .
IF itab_fornec-nrseqd NE it_zycit244_f-nrseqd.
CONTINUE.
ENDIF.
...
...
LOOP AT it_zycit245_f WHERE j_1bnbm EQ it_apropriar_fmi-ncm.
CLEAR it_zycit244_f.
READ TABLE it_zycit244_f WITH KEY
nrseqd = it_zycit245_f-nrseqd.
IF sy-subrc NE 0.
* >> Início da inclusão: FORM APPROPRIATE_TG
CONTINUE.
ENDIF.
IF it_zycit244_f-vcto_vg IS INITIAL.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-031 it_zycit244_f-nrseqd text-076
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
* << Fim da inclusão
CONTINUE.
ENDIF.
* >> Início da inclusão: FORM APPROPRIATE_TG
v_diasv = it_zycit244_f-vcto_vg - it_zycet001-dtprev.
IF v_diasv < /pws/zycit321-dia_ant.
CONTINUE.
ENDIF.
* << Fim da inclusão
READ TABLE itab_fornec WITH KEY lifnr = it_zycit244_f-lifnr.
IF sy-subrc EQ 0 .
IF itab_fornec-nrseqd NE it_zycit244_f-nrseqd.
CONTINUE.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR217
...
DATA: BEGIN OF it_zycet002 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
DATA: qtdbx LIKE /pws/zycet002-fkimg,
mexp(1) TYPE c .
DATA: END OF it_zycet002.
* >> Início da inclusão:
DATA: BEGIN OF it_zycet001 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet001.
DATA: END OF it_zycet001.
* << Fim da inclusão
DATA: BEGIN OF it_zycet002_grp OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
DATA: qtdbx LIKE /pws/zycet002-fkimg,
mexp(1) TYPE c ,
grp LIKE mvke-mvgr1 .
...
...
v_indicatu LIKE sy-tabix ,
v_dtnf LIKE sy-datum ,
v_dias TYPE i ,
v_dtforn LIKE sy-datum ,
v_mdias ,
* >> Início da inclusão:
v_conv ,
* << Fim da inclusão
v_exapr ,
v_aprov(1) TYPE c VALUE 'N' ,
v_index TYPE sy-tabix ,
v_errolog(135) TYPE c ,
v_qtdbx LIKE /pws/zycet002-fkimg ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR217F01
...
IF /pws/zycit321-ltopc NE '1'.
MESSAGE e015 WITH text-035.
LEAVE PROGRAM.
ENDIF.
IF NOT it_zycet002[] IS INITIAL.
* >> Início da inclusão: FORM RUN_APPROPRIATION_EXPORTATION
CLEAR it_zycet001. REFRESH it_zycet001.
SELECT * FROM /pws/zycet001 INTO TABLE it_zycet001
FOR ALL ENTRIES IN it_zycet002
WHERE nrseq EQ it_zycet002-nrseq.
* << Fim da inclusão
CLEAR it_agrup. REFRESH it_agrup.
SELECT * FROM mvke INTO TABLE it_agrup
FOR ALL ENTRIES IN it_zycet002
WHERE matnr EQ it_zycet002-matnr
AND vkorg EQ it_zycet002-vkorg_auft
...
...
ENDIF.
FREE MEMORY ID idmemory2.
ENDFORM.
FORM appropriate_current_record.
DATA: v_apmat(1) TYPE c ,
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
v_diasv TYPE /pws/zycit321-dia_ant,
* << Fim da inclusão
v_qtdaprop LIKE /pws/zycet002-fkimg ,
v_qtdbase LIKE itab_stko-bmeng,
v_error(1) TYPE c .
v_apmat = 'N'.
CLEAR: v_conv.
IF v_tptrans EQ 'N'.
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
CLEAR: it_zycet001.
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.
* << Fim da inclusão
LOOP AT it_zycit247 WHERE agrup EQ it_zycet002_grp-grp
AND j_1bnbm EQ it_zycet002_grp-steuc
AND esgotado EQ ' '.
CLEAR it_zycit244.
READ TABLE it_zycit244 WITH KEY nrseqd = it_zycit247-nrseqd.
* >> Início da exclusão: FORM APPROPRIATE_CURRENT_RECORD
IF v_qtdaprop >= it_zycet002-fkimg.
* << Fim da exclusão
* >> Início da inclusão: FORM APPROPRIATE_CURRENT_RECORD
IF it_zycit244-vcto_vg IS INITIAL.
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-031 it_zycit244-nrseqd text-076
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
CONTINUE.
ENDIF.
v_diasv = it_zycit244-vcto_vg - it_zycet001-dtprev.
IF v_diasv < /pws/zycit321-dia_ant.
CONTINUE.
ENDIF.
IF v_qtdaprop >= it_zycet002-fkimg .
* << Fim da inclusão
EXIT.
ENDIF.
CLEAR it_zycit422. REFRESH it_zycit422.
SELECT * FROM /pws/zycit422 INTO TABLE it_zycit422
WHERE agrup EQ it_zycet002_grp-grp
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCIR070
Criar os textos:
075 Embarque
076 não possui a data de vencimento vingente preenchida.
077 não possui data de previsão de embarque.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCIR115
Criar os textos:
075 Embarque
076 não possui a data de vencimento vingente preenchida.
077 não possui data de previsão de embarque.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCIR217
Criar os textos:
075 Embarque
076 não possui a data de vencimento vingente preenchida.
077 não possui data de previsão de embarque.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT321
Nome campo |Chv |Elem.dados |Tab.verif. |N |CtDt |Comp. |Grupo
...
UFENT | |/PWS/ZYCIL834 |T005S | |CHAR | 3 |
* >> Início da inclusão:
DIA_ANT | |/PWS/ZYCIL835 | | |DEC | 4 |
* >> Fim da inclusão: