Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 26/11/2009 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:44:23
Descrição da Nota: IMPLEMENTAÇÃO DE ATO CONCESSÓRIO GENÉRICO POR AGRUPAMENTO
Sintoma
Ajustes para tratamento de ato concessório Generico com lista técnica por agrupamento.
Solução
Ajustes para tratamento de ato concessório Generico com lista técnica por agrupamento.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09460 Data: 26/11/2009 Hora: 13:59:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09460
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08034 - 00001 - 7.0 - 00008 - APROPRIAÇÃO MULTIPLA / PARCIAL
08060 - 00002 - 7.0 - 00008 - ATO CENCESÓRIO INTERMEDIARIO EXPORTADOR COM LISTA POR AGRUPAMENTO
08858 - 00003 - 7.0 - 00010 - CRIAÇÃO DE ATO CONCESSÓRIO GENÉRICO ATRAVÉS DE UM FORECAST.
----------------------------------------------------------------------------------------------------
IMPLEMENTAÇÃO DE ATO CONCESSÓRIO GENÉRICO POR AGRUPAMENTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040O01
REPS /PWS/ZYCIR254F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
IF v_tcode2 EQ '/PWS/ZYCI040_E'.
IF wa_cols2-screen-group1 NE 'NEX'.
wa_cols2-screen-input = v_status2.
MODIFY tc_mexp2-cols FROM wa_cols2.
ENDIF.
ELSE.
IF /pws/zycie244-modalidade EQ 'S'.
IF /pws/zycie244-nrforecast IS INITIAL.
IF wa_cols2-screen-group1 NE 'NEX'.
wa_cols2-screen-input = v_status2.
* >> Início da exclusão: FORM CHECK_FIELD_0206
IF /pws/zycie244-tipo EQ 'G' OR
( /pws/zycie244-tipo EQ 'F' AND v_agrup IS INITIAL ) OR
/pws/zycit321-c_comum EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0206
IF ( /pws/zycie244-tipo EQ 'G' OR
/pws/zycie244-tipo EQ 'F' OR
/pws/zycit321-c_comum EQ 'X' ) AND
v_agrup IS INITIAL.
* << Fim da inclusão
IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.
wa_cols2-screen-input = 0.
ELSEIF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR_T'.
wa_cols2-screen-input = 1.
ELSEIF wa_cols2-screen-name EQ 'V_DESCR_0206'.
wa_cols2-screen-input = 1.
ENDIF.
ELSE.
IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.
wa_cols2-screen-input = 1.
...
...
wa_cols2-screen-input = 0.
ELSEIF wa_cols2-screen-name EQ 'V_DESCR_0206'.
wa_cols2-screen-input = 0.
ENDIF.
ENDIF.
MODIFY tc_mexp2-cols FROM wa_cols2.
ENDIF.
ELSE.
IF wa_cols2-screen-group1 NE 'NEX'.
wa_cols2-screen-input = 1.
* >> Início da exclusão: FORM CHECK_FIELD_0206
IF /pws/zycie244-tipo EQ 'G' OR /pws/zycie244-tipo EQ 'F' OR
/pws/zycit321-c_comum EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0206
IF ( /pws/zycie244-tipo EQ 'G' OR
/pws/zycie244-tipo EQ 'F' OR
/pws/zycit321-c_comum EQ 'X' ) AND
v_agrup IS INITIAL.
* << Fim da inclusão
IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.
wa_cols2-screen-input = 0.
ELSEIF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR_T'.
wa_cols2-screen-input = 1.
ELSEIF wa_cols2-screen-name EQ 'V_DESCR_0206'.
wa_cols2-screen-input = 1.
ENDIF.
ELSE.
IF wa_cols2-screen-name EQ '/PWS/ZYCIE247-NETPR'.
wa_cols2-screen-input = 1.
...
...
v_flag(1) TYPE c .
DATA: BEGIN OF itab_zycit245_collect OCCURS 0,
nrseqd LIKE /pws/zycit245-nrseqd,
codcomp LIKE /pws/zycit245-codcomp ,
meins LIKE /pws/zycit245-meins,
werks LIKE /pws/zycit245-werks,
proced LIKE /pws/zycit245-proced ,
qtd_iten LIKE /pws/zycit245-qtd_iten ,
qtd_tot LIKE /pws/zycit245-qtd_tot,
END OF itab_zycit245_collect.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
CHECK /pws/zycie244-tipo NE 'G'.
* << Fim da inclusão
CLEAR v_nritem.
CHECK v_tcode2 NE '/PWS/ZYCI040_E'.
DESCRIBE TABLE itab_zycit247 LINES v_ilinhas.
DESCRIBE TABLE itab_zycit427 LINES v_ilinhas3.
IF v_verificp2 EQ 'S' AND
v_verificp2_merc EQ 'S'.
EXIT.
ENDIF.
IF ( v_verificp2 EQ 'N' AND v_verifiit2 EQ v_ilinhas ) OR
( v_verificp2_merc EQ 'N' AND v_verifiit3 EQ v_ilinhas3 ).
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
itab_zycit247-sdomat_e = itab_zycit239-qtd_aditiv.
ENDIF.
itab_zycit247-qtd_ncm = itab_zycit247-qtd_iten.
itab_zycit247-um_ncm = itab_zycit247-meins .
IF /pws/zycit321-ltopc IS INITIAL.
PERFORM converte_um_ncm USING itab_zycit247-codmat
CHANGING itab_zycit247-um_ncm
itab_zycit247-werks
itab_zycit247-qtd_ncm.
ENDIF.
* >> Início da exclusão: MODULE TRATA_FORECAST
IF /pws/zycit321-c_comum EQ 'X' OR /pws/zycie244-tipo EQ 'G'.
* << Fim da exclusão
* >> Início da inclusão: MODULE TRATA_FORECAST
IF ( /pws/zycit321-c_comum EQ 'X' OR
/pws/zycie244-tipo EQ 'G' ) AND
/pws/zycit321-ltopc IS INITIAL .
* << Fim da inclusão
READ TABLE itab_zycit247_aux
WITH KEY j_1bnbm = itab_zycit247-j_1bnbm.
IF sy-subrc EQ 0.
itab_zycit247-nritem = itab_zycit247_aux-nritem.
ENDIF.
itab_zycit247-qtd_iten = itab_zycit247-qtd_ncm .
itab_zycit247-meins = itab_zycit247-um_ncm .
CLEAR: itab_zycit247-codmat, itab_zycit247-stlal,
itab_zycit247-stlan, itab_zycit247-stlnr,
itab_zycit247-tolling.
...
...
INTO TABLE itab_matnr
WHERE matnr EQ /pws/zycie247-codmat.
IF sy-dbcnt > 1.
v_centro = 'X'.
ENDIF.
ENDIF.
IF NOT v_centro IS INITIAL
AND /pws/zycie247-werks IS INITIAL.
MESSAGE w015 WITH text-258 /pws/zycie247-codmat text-256 text-257.
ENDIF.
* >> Início da exclusão: MODULE INSERT_LINE_COMPROV_ME
IF /pws/zycie244-tipo EQ 'G' OR
* << Fim da exclusão
* >> Início da inclusão: MODULE INSERT_LINE_COMPROV_ME
IF ( /pws/zycie244-tipo EQ 'G' OR
* << Fim da inclusão
( /pws/zycie244-tipo EQ 'F' AND v_agrup IS INITIAL ) OR
* >> Início da exclusão: MODULE INSERT_LINE_COMPROV_ME
/pws/zycit321-c_comum EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: MODULE INSERT_LINE_COMPROV_ME
/pws/zycit321-c_comum EQ 'X' ) AND v_agrup IS INITIAL.
* << Fim da inclusão
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
PERFORM fill_itab_zycit247_inter.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040O01
...
ENDIF.
ELSE.
IF screen-name EQ '/PWS/ZYCIE247-J_1BNBM'.
READ TABLE itab_zycit247 INDEX tc_mexp2-current_line.
IF sy-subrc EQ 0 AND NOT /pws/zycie247-j_1bnbm IS INITIAL.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: MODULE TRATA_SCREEN_0206
IF screen-name EQ '/PWS/ZYCIT422-STLAL' AND
NOT /pws/zycit422-stlal IS INITIAL.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE247-AGRUP' AND
NOT /pws/zycie247-agrup IS INITIAL.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ '/PWS/ZYCIT422-WERKS' AND
NOT /pws/zycit422-werks IS INITIAL.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
* << Fim da inclusão
IF screen-name EQ '/PWS/ZYCIE247-PCTCOMIS'.
IF /pws/zycie244-modalidade EQ 'S' AND /pws/zycie244-nrforecast IS
INITIAL.
READ TABLE itab_zycit247 INDEX tc_mexp2-current_line.
IF sy-subrc EQ 0.
IF /pws/zycie244-status <> 'A'.
IF itab_zycit247-vl_comis IS INITIAL.
screen-input = v_status2.
MODIFY SCREEN.
ELSE.
...
...
/pws/zycit321-c_comum NE 'X'.
SELECT maktx UP TO 1 ROWS FROM makt INTO v_descr_0206
WHERE matnr = /pws/zycie247-codmat
AND spras = sy-langu.
ENDSELECT.
ELSE.
IF v_descr_0206 IS INITIAL AND NOT /pws/zycie247-j_1bnbm IS INITIAL.
SELECT text1 UP TO 1 ROWS FROM t604n INTO v_descr_0206
WHERE spras = sy-langu
AND land1 = 'BR'
* >> Início da exclusão: MODULE TRATA_SCREEN_0206
AND steuc = /pws/zycie247-j_1bnbm. "#EC CI_SGLSELECT
* << Fim da exclusão
* >> Início da inclusão: MODULE TRATA_SCREEN_0206
AND steuc = /pws/zycie247-j_1bnbm. "#EC CI_SGLSELECT
* << Fim da inclusão
ENDSELECT.
ENDIF.
ENDIF.
IF NOT /pws/zycie247-agrup IS INITIAL.
SELECT SINGLE descr
FROM /pws/zycit419
INTO v_descr_0206
WHERE agrup EQ /pws/zycie247-agrup.
ENDIF.
IF /pws/zycit247-maktx IS INITIAL AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR254F01
...
CLEAR: v_errolog, it_log_erro.
CONCATENATE text-016 it_zycet002-matnr
INTO v_errolog SEPARATED BY space.
MOVE v_errolog TO it_log_erro.
APPEND it_log_erro.
ENDIF.
REFRESH itab_lista_f.
itab_lista_f[] = itab_lista[].
v_apmat = 'S'.
v_error = 'N'.
* >> Início da exclusão: FORM APROP_CURRENTY_REC_AGRUP
IF it_zycit244-tipo NE 'G'.
* << Fim da exclusão
PERFORM appropriate_tng CHANGING v_qtdaprop v_qtdbase v_error.
v_pct_com = v_qtdaprop / it_zycet002-fkimg .
* >> Início da exclusão: FORM APROP_CURRENTY_REC_AGRUP
ENDIF.
* << Fim da exclusão
IF v_error EQ 'S'.
CONTINUE.
ENDIF.
ENDLOOP.
REFRESH: itab_lista.
...