Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 04/12/2006 00:00:00
Data/Hora Última Alteração: 17/02/2011 14:40:54
Descrição da Nota: CONTROLE DE ATO INTERMEDIARIO-IMPORTADOR POR NCM E MULTIPLAS AREAS NEGÓC
Sintoma
Implementação do controle por ncm para atos do tipo intermediario-importador.
Implementação de multiplas aras de negócio.
Solução
Implementação do controle por ncm para atos do tipo intermediario-importador.
Implementação de multiplas aras de negócio.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02575 Data: 04/12/2006 Hora: 09:24:34
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02575
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00142
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01359 - 00001 - 6.0 - 00023 - PASTA RESUMO PARA ATO CONCESSÓRIO COMUM POR NCM
02561 - 00002 - 6.0 - 00025 - AJUSTE NO FORECAST PARA COMTEMPLAR TAB. DE AREA DE NEGOCIO X CENT
----------------------------------------------------------------------------------------------------
CONTROLE DE ATO INTERMEDIARIO-IMPORTADOR POR NCM E MULTIPLAS AREAS NEGÓC
----------------------------------------------------------------------------------------------------
Palavras Chave:
ATO - CONCESSÓRIO - INTERMEDIARIO - IMPORTADOR - CONTROLE - NCM
/PWS/SAPMZYCI040 - MULTIPLAS - AREAS - NEGÓCIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI040 0201
DYNP /PWS/SAPMZYCI040 0225
DYNP /PWS/SAPMZYCI040 0226
DYNP /PWS/SAPMZYCI040 0246
DYNP /PWS/SAPMZYCI040 0247
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040F03
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040O01
REPS /PWS/MZYCI040TOP2
REPS /PWS/MZYCI040TOP3
REPT /PWS/SAPMZYCI040
TABD /PWS/ZYCIE427
TABD /PWS/ZYCIT244
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0201
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
* >> Início da inclusão
BTN201_02
Push 7 25 4 3 1 CHAR Off
AREA
C/ícone
* >> Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0225
PROCESS BEFORE OUTPUT.
* >> Início da inclusão
MODULE set_screen2.
* >> Fim da inclusão
loop at itab_zycit427 with control tc_merc
cursor tc_merc-current_line.
module: preenche_estrutura_0225.
* trata_screen_0203 .
endloop.
*
PROCESS AFTER INPUT.
loop at itab_zycit427 .
chain.
field: /pws/zycie427-matnr ,
* >> Início da inclusão
/pws/zycie427-ncm ,
* >> fim da inclusão
/pws/zycie427-stlan ,
/pws/zycie427-meins ,
/pws/zycie427-qtd_iten,
/pws/zycie427-stlal ,
/pws/zycie427-STLNR ,
/pws/zycie427-werks
module alter_linha_0225 on chain-request.
endchain.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0226
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
+ TS_COMP_MEC
TbStr 1 1 114 114 20
* >> Início da inclusão
- FS_RESUMERC
Push 1 3 6 6 1 CHAR
FS_RESUMERC
Elem.em TabStripControl
* >> Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0246
Criada tela:
Descrição breve SS - Resumo mercado interno(Intermediario Importador)
Idioma original P
Tipo tela Tela include (subtela)
Tela seguin 0246
Manter dados Desativado
Fonte equidistante Desativado
Compressão tmp.exec. Ativado
Tela-modelo Desativado
Manter posição de rola Desativado
Posição cursor
Grp.telas
Linhas/colunas Ocupds 2 / 90
Atual. 27 /122
Campos:
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
/PWS/ZYCIE427-ITEM
Texto 1 1 5 5 1 CHAR X F
/PWS/ZYCIE427-ITEM
I/O 1 8 3 3 1 NUMC X Off
BUZ
Alinh.à dir.
/PWS/ZYCIE427-NCM
Texto 1 13 11 11 1 CHAR X F
Chave externa
/PWS/ZYCIE427-NCM
I/O 1 26 16 16 1 CHAR X Off
Chave externa, Botão EntrsPoss.stand.
/PWS/ZYCIE427-DESCR
Texto 1 45 10 10 1 CHAR X F
/PWS/ZYCIE427-DESCR
I/O 1 56 40 35 1 CHAR X Off
PossRol
/PWS/ZYCIE427-QTD_ITEN
Texto 2 1 11 11 1 CHAR X F
/PWS/ZYCIE427-QTD_ITEN
I/O 2 13 33 20 1 QUAN X X Off
Alinh.à dir.
/PWS/ZYCIE427-MEINS
Texto 2 34 3 3 1 CHAR X F
/PWS/ZYCIE427-MEINS
I/O 2 39 3 3 1 UNIT X Off
Saída de conversão=CUNIT
/PWS/ZYCIE427-VLFOB_T
Texto 2 45 10 10 1 CHAR X F
/PWS/ZYCIE427-VLFOB_T
I/O 2 56 31 22 1 CURR X X Off
Alinh.à dir.
Código da moeda=/PWS/ZYCIE427-WAERS
/PWS/ZYCIE427-WAERS
Texto 2 79 6 6 1 CHAR X F
/PWS/ZYCIE427-WAERS
I/O 2 86 5 5 1 CUKY X Off
+ TC_RESMERCI
Tabel 3 1 90 90 24
Seleção linha=Simples, Seleção coluna=Simples
TabEntr., Com título, Configurável, RedimVertic., RedimHoriz., LSep.horiz., LnhSep.vert.
- /PWS/ZYCIE432-MATNR
Texto 1 1 15 18 1 CHAR X 2
Chave externa, Título de coluna TC
- ITAB_ZYCIT432_R-DESC
Texto 1 2 9 30 1 CHAR
Título de coluna TC
- /PWS/ZYCIE432-QTD_APRO
Texto 1 3 16 20 1 CHAR X F
Título de coluna TC
- /PWS/ZYCIE432-VL_ITNF
Texto 1 4 9 20 1 CHAR X F
Título de coluna TC
- /PWS/ZYCIE432-MATNR
I/O 1 1 18 18 1 CHAR X Off
MAT
Chave externa, Botão EntrsPoss.stand., Elem.TC
Saída de conversão=MATN1
- ITAB_ZYCIT432_R-DESC
I/O 1 2 40 30 1 CHAR Off
PossRol, Elem.TC
- /PWS/ZYCIE432-QTD_APRO
I/O 1 3 33 20 1 QUAN X Off
Alinh.à dir., Elem.TC
- /PWS/ZYCIE432-VL_ITNF
I/O 1 4 21 20 1 CURR X Off
Alinh.à dir., Elem.TC
Código da moeda=J_1BNFDOC-WAERK
Lógica de Processamento:
PROCESS BEFORE OUTPUT.
LOOP AT itab_zycit432_r WITH CONTROL tc_resmerci
CURSOR tc_resmerci-current_line.
MODULE: preenche_res_432.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycit432_r.
MODULE: preenche_it_res_427.
ENDLOOP.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0247
Tela criada:
Descrição breve Multiplas areas de negócio
Idioma original P
Tipo tela Tela diálogo modal
Tela seguin 0247
Manter dados Desativado
Fonte equidistante Desativado
Compressão tmp.exec. Ativado
Tela-modelo Desativado
Manter posição de rola Desativado
Posição cursor
Grp.telas
Linhas/colunas Ocupds 21 / 19
Atual. 27 /120
Campos:
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
+ TC_AREAS_N
Tabel 1 1 19 19 21
Seleção linha=Simples, Seleção coluna=Simples
TabEntr., Com título, Configurável, LSep.horiz., LnhSep.vert.
- /PWS/ZYCIE244-CODAGRUP
Texto 1 1 15 15 1 CHAR X F
Chave externa, Título de coluna TC
- /PWS/ZYCIE244-CODAGRUP
I/O 1 1 3 15 1 CHAR X Ent Off
Chave externa, Botão EntrsPoss.stand., Elem.TC
OK_CODE2
OK
Lógica de Processamento:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0247.
LOOP AT itab_zycit250 WITH CONTROL tc_areas_n
CURSOR tc_areas_n-current_line.
MODULE: preenche_areas.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycit250.
CHAIN.
FIELD: /pws/zycie244-codagrup MODULE altera_area ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP .
MODULE user_command_0247.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
v_valor = ( /pws/zycie244-t_vimp / /pws/zycie244-t_vexp ) * 100.
v_tcambial = v_valor.
SHIFT v_tcambial LEFT DELETING LEADING space.
CONCATENATE v_tcambial '%' INTO v_tcambial.
REPLACE '.' WITH ',' INTO v_tcambial.
IF v_valor > 60.
MESSAGE w015 WITH text-192.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CHECK_FIELD_0201
IF itab_zycit250[] IS INITIAL.
btn201_02 = '@1F@'.
ELSE.
btn201_02 = '@1E@'.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM execute_button_btn2.
MOVE /pws/zycie244-werks TO v_werks2.
CALL SCREEN '0208' STARTING AT 33 5.
READ TABLE itab_centros2 INDEX 1.
IF sy-subrc EQ 0 AND v_werks2 IS INITIAL.
MOVE itab_centros2-werks TO /pws/zycie244-werks.
ELSE.
MOVE v_werks2 TO /pws/zycie244-werks.
ENDIF.
...
...
ENDIF.
ENDCASE.
ENDLOOP.
IF /pws/zycie244-tipo EQ 'N'.
LOOP AT tc_mexp2-cols INTO wa_cols2.
CASE wa_cols2-screen-name.
WHEN '/PWS/ZYCIE247-CODMAT'.
wa_cols2-invisible = 1.
MODIFY tc_mexp2-cols FROM wa_cols2.
WHEN '/PWS/ZYCIE247-MAT_INT'.
* >> Início da inclusão: FORM CHECK_FIELD_0206
IF /pws/zycit321-c_comum = 'X'.
wa_cols2-invisible = 1.
ELSE.
* << Fim da inclusão
wa_cols2-invisible = 0.
* >> Início da inclusão: FORM CHECK_FIELD_0206
ENDIF.
* << Fim da inclusão
MODIFY tc_mexp2-cols FROM wa_cols2.
WHEN '/PWS/ZYCIE247-WERKS'.
wa_cols2-invisible = 1.
MODIFY tc_mexp2-cols FROM wa_cols2.
WHEN '/PWS/ZYCIE247-STLNR'.
wa_cols2-invisible = 1.
...
...
dynpronr4a = '0207'.
ELSE.
IF v_marcados4 > 1.
MESSAGE s015 WITH text-016.
EXIT.
ENDIF.
REFRESH itab_zycit371_aux.
READ TABLE itab_zycit247 WITH KEY markme = 'X'.
IF sy-subrc EQ 0.
REFRESH itab_zycit371_aux.
* >> Início da inclusão: FORM TRATA_TAB_REALIZ2
IF /pws/zycit321-c_comum NE 'X'.
* << Fim da inclusão
LOOP AT itab_zycit371 WHERE codigo EQ itab_zycit247-mat_int.
* >> Início da inclusão: FORM TRATA_TAB_REALIZ2
itab_zycit371_aux = itab_zycit371.
APPEND itab_zycit371_aux.
ENDLOOP.
ELSE.
LOOP AT itab_zycit371 WHERE ncm EQ itab_zycit247-j_1bnbm.
* << Fim da inclusão
itab_zycit371_aux = itab_zycit371.
APPEND itab_zycit371_aux.
ENDLOOP.
* >> Início da inclusão: FORM TRATA_TAB_REALIZ2
ENDIF.
* << Fim da inclusão
ENDIF.
MOVE: sy-tabix TO v_indicatu3.
MOVE: itab_zycit247-nritem TO /pws/zycie247c-nritem ,
itab_zycit247-nritem TO e_nritem ,
itab_zycit247-nritem TO e_nritem2 ,
itab_zycit247-codmat TO /pws/zycie247c-codmat ,
itab_zycit247-j_1bnbm TO /pws/zycie247c-j_1bnbm ,
itab_zycit247-werks TO /pws/zycie247c-werks ,
itab_zycit247-meins TO /pws/zycie247c-meins ,
itab_zycit247-um_ncm TO /pws/zycie247c-um_ncm ,
...
...
IF v_tcode2 EQ '/PWS/ZYCI040_A'.
DELETE FROM /pws/zycit427 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit245 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit246 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit247 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit248 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit243 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit277 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit457 WHERE nrseqd = /pws/zycie244-nrseqd.
DELETE FROM /pws/zycit470 WHERE nrseqd = /pws/zycie244-nrseqd.
* >> Início da inclusão: FORM TRATA_BUTTON_SAVE2
DELETE FROM /pws/zycit250 WHERE nrseqd = /pws/zycie244-nrseqd.
* << Fim da inclusão
COMMIT WORK.
ENDIF.
PERFORM move_drawback_type2.
LOOP AT itab_zycit279_ap.
READ TABLE itab_zycit246_final WITH KEY
ebeln = itab_zycit279_ap-ebeln
ebelp = itab_zycit279_ap-ebelp
lote = itab_zycit279_ap-lote.
IF sy-subrc EQ 0.
/pws/zycie279-matnr = itab_zycit279_ap-matnr.
...
...
ENDLOOP.
MODIFY /pws/zycit244 FROM /pws/zycie244.
MODIFY /pws/zycit427 FROM TABLE itab_zycit427.
MODIFY /pws/zycit245 FROM TABLE itab_zycit245.
MODIFY /pws/zycit246 FROM TABLE itab_zycit246_final.
MODIFY /pws/zycit247 FROM TABLE itab_zycit247.
MODIFY /pws/zycit248 FROM TABLE itab_zycit248_final.
MODIFY /pws/zycit243 FROM TABLE itab_centros2.
MODIFY /pws/zycit457 FROM TABLE itab_zycit457.
MODIFY /pws/zycit470 FROM TABLE itab_zycit470_s.
* >> Início da inclusão: FORM TRATA_BUTTON_SAVE2
MODIFY /pws/zycit250 FROM TABLE itab_zycit250.
* << Fim da inclusão
IF NOT itab_zycit279_ap[] IS INITIAL.
PERFORM salva_apont.
ENDIF.
IF v_aditivo > 0.
/pws/zycie244-aditivo = v_aditivo.
ENDIF.
IF v_tcode2 EQ '/PWS/ZYCI040_A'.
DELETE FROM /pws/zycit279 WHERE nrseqd = /pws/zycie244-nrseqd.
ENDIF.
MODIFY /pws/zycit279 FROM TABLE itab_zycit279_ap.
...
...
AND itmnum EQ itab_zycit432-itmnum.
itab_zycit432-qtd_compv = itab_zycit432-qtd_compv +
itab_zycit373-qtd_iten.
ENDLOOP.
MODIFY itab_zycit432.
ENDLOOP.
ENDIF.
SELECT * FROM /pws/zycit371
INTO TABLE itab_zycit371
WHERE nratoc EQ /pws/zycie244-nratoc.
* >> Início da inclusão: FORM TRATA_BUTTON_ENTE2
REFRESH itab_zycit250. CLEAR itab_zycit250.
SELECT * FROM /pws/zycit250 INTO TABLE itab_zycit250
WHERE nrseqd EQ /pws/zycie244-nrseqd.
* << Fim da inclusão
SELECT * FROM /pws/zycit470 INTO TABLE itab_zycit470_s
WHERE nrseqd EQ /pws/zycie244-nrseqd.
SELECT * FROM /pws/zycit427 INTO TABLE itab_zycit427
WHERE nrseqd EQ /pws/zycie244-nrseqd.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
WHERE nrseqd EQ /pws/zycie244-nrseqd
AND proced EQ '1'.
SELECT * FROM /pws/zycit246 INTO TABLE itab_zycit246_final
WHERE nrseqd EQ /pws/zycie244-nrseqd.
SELECT * FROM /pws/zycit247 INTO TABLE itab_zycit247
...
...
IF /pws/zycie244-modalidade EQ 'I' OR
/pws/zycie244-tipo EQ 'F'.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
WHEN 'FS_RESIMP'.
IF /pws/zycie244-modalidade EQ 'I'.
screen-invisible = 1.
MODIFY SCREEN.
ELSEIF /pws/zycie244-modalidade NE 'I' AND
* >> Início da exclusão: FORM CHECK_FIELD_0202
( /pws/zycie244-tipo NE 'G' AND /pws/zycie244-tipo NE 'F'
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0202
( /pws/zycie244-tipo NE 'G' AND
/pws/zycie244-tipo NE 'F'
* << Fim da inclusão
).
screen-invisible = 1.
IF /pws/zycit321-c_comum EQ 'X' AND
* >> Início da exclusão: FORM CHECK_FIELD_0202
/pws/zycie244-tipo EQ 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0202
( /pws/zycie244-tipo EQ 'C' OR
/pws/zycie244-tipo EQ 'N' ).
* << Fim da inclusão
screen-invisible = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
WHEN 'FS_DICOMP'.
IF /pws/zycie244-modalidade EQ 'S'.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDCASE.
...
...
ENDIF.
WHEN 'FS_RESMAT'.
IF /pws/zycie244-modalidade EQ 'I'.
screen-invisible = 1.
MODIFY SCREEN.
ELSEIF /pws/zycie244-modalidade NE 'I' AND
( /pws/zycie244-tipo NE 'G' AND /pws/zycie244-tipo NE 'F'
).
screen-invisible = 1.
IF /pws/zycit321-c_comum EQ 'X' AND
* >> Início da exclusão: FORM CHECK_FIELD_0205
/pws/zycie244-tipo EQ 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0205
/pws/zycie244-tipo EQ 'C' OR
/pws/zycie244-tipo EQ 'N'.
* << Fim da inclusão
screen-invisible = 0.
ENDIF.
MODIFY SCREEN.
ENDIF.
WHEN 'FS_RECOMP2'.
IF /pws/zycie244-modalidade EQ 'S'.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDCASE.
...
...
INTO itab_zycit247-j_1bnbm
WHERE matnr EQ itab_zycit247-codmat
AND werks EQ itab_zycit247-werks.
ENDSELECT.
MODIFY itab_zycit247.
ENDIF.
ENDLOOP.
PERFORM apura_totais_0206.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM BUSCA_DADOS_COMPOSICAO
SELECT * FROM /pws/zycit250 appending TABLE itab_zycit250
WHERE nrseqd EQ /pws/zycie244-nrcompos.
itab_zycit250-nrseqd = /pws/zycie244-nrseqd.
MODIFY itab_zycit250 TRANSPORTING nrseqd
WHERE nrseqd NE /pws/zycie244-nrseqd.
SORT itab_zycit250 BY codagrup.
DELETE ADJACENT DUPLICATES FROM itab_zycit250 COMPARING codagrup.
* << Fim da inclusão
PERFORM carrega_di_composta2.
PERFORM carrega_re_composta2.
ENDFORM.
FORM trata_tab_impdi2.
DATA: v_marcados5 TYPE i VALUE 0.
LOOP AT itab_res_dicomp WHERE marc_rdc = 'X'.
v_marcados5 = v_marcados5 + 1.
ENDLOOP.
IF v_marcados5 > 1.
MESSAGE s015 WITH text-016.
...
...
CALL SCREEN '0221' STARTING AT 33 5.
DESCRIBE TABLE itab_vencto2 LINES v_ilinhas.
READ TABLE itab_vencto2 INDEX v_ilinhas.
IF sy-subrc EQ 0.
MOVE itab_vencto2-vencto TO /pws/zycie244-vcto_vg.
ELSE.
CLEAR /pws/zycie244-vcto_vg.
ENDIF.
ENDFORM.
FORM trata_tab_imp2.
* >> Início da exclusão: FORM TRATA_TAB_IMP2
IF /pws/zycie244-modalidade EQ 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_TAB_IMP2
IF /pws/zycie244-modalidade EQ 'S' AND
/pws/zycit321-c_comum IS INITIAL.
* << Fim da inclusão
v_null2 = 'N'.
IF /pws/zycie244-tipo EQ 'N'.
LOOP AT itab_zycit427.
IF itab_zycit427-qtd_iten IS INITIAL.
v_null2 = 'S'.
ELSEIF itab_zycit427-vlfob IS INITIAL.
v_null2 = 'S'.
ENDIF.
ENDLOOP.
IF v_null2 EQ 'S'.
...
...
MOVE: itab_zycit248-matnr TO itab_zycit248_res-matnr ,
itab_zycit248-qtd_iten TO itab_zycit248_res-qtd_iten,
itab_zycit248-vlfob TO itab_zycit248_res-vlfob .
COLLECT itab_zycit248_res.
ENDLOOP.
LOOP AT itab_zycit248_res.
READ TABLE itab_zycit248 WITH KEY matnr = itab_zycit248_res-matnr.
IF sy-subrc EQ 0.
MOVE: itab_zycit248-waersfob TO itab_zycit248_res-waersfob,
itab_zycit248-meins TO itab_zycit248_res-meins .
* >> Início da inclusão: FORM TRATA_TAB_RESMAT2
MODIFY itab_zycit248_res.
ENDIF.
ENDLOOP.
IF /pws/zycit321-c_comum EQ 'X'.
LOOP AT itab_zycit371 WHERE ncm EQ /pws/zycie247c-j_1bnbm.
MOVE: itab_zycit371-codigo TO itab_zycit248_res-matnr ,
itab_zycit371-qtd_iten TO itab_zycit248_res-qtd_iten,
itab_zycit371-vlfob TO itab_zycit248_res-vlfob .
COLLECT itab_zycit248_res.
ENDLOOP.
LOOP AT itab_zycit248_res.
READ TABLE itab_zycit371 WITH KEY codigo = itab_zycit248_res-matnr.
IF sy-subrc EQ 0.
MOVE itab_zycit371-um_qtd TO itab_zycit248_res-meins .
* << Fim da inclusão
MODIFY itab_zycit248_res.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM TRATA_TAB_RESMAT2
ENDIF.
* << Fim da inclusão
SORT itab_zycit248_res BY matnr ASCENDING.
pressed_tab_4a = ok_code2.
dynpronr4a = '0223'.
ENDFORM.
...
...
taxa_nao_encontrada = 6
i_montante_nao_encontrado = 7.
p_paravlme = v_paravlme.
ENDIF.
ENDFORM.
FORM fill_itab_zycit247_inter.
DATA: v_um_rez TYPE i,
v_um_ren TYPE i,
v_conv1 TYPE /pws/zycit245-qtd_ncm,
v_conv2 TYPE /pws/zycit245-qtd_ncm.
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF /pws/zycit321-c_comum = 'X'.
CHECK NOT /pws/zycie247-j_1bnbm IS INITIAL.
SELECT SINGLE * FROM /pws/zycit368
WHERE steuc EQ /pws/zycie247-j_1bnbm
AND kunnr EQ /pws/zycie244-kunnr.
ELSE.
* << Fim da inclusão
CHECK NOT /pws/zycie247-mat_int IS INITIAL.
SELECT SINGLE * FROM /pws/zycit368
WHERE nrseq EQ /pws/zycie247-mat_int
AND kunnr EQ /pws/zycie244-kunnr.
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
ENDIF.
* << Fim da inclusão
IF sy-subrc EQ '0'.
READ TABLE itab_zycit247 INDEX tc_mexp2-current_line.
IF sy-subrc NE 0.
...
...
EXIT.
ENDIF.
itab_zycit247-nrseqd = /pws/zycie244-nrseqd .
PERFORM select_exp_max_item_number2 CHANGING v_nritem.
itab_zycit247-nritem = v_nritem .
itab_zycit247-mat_int = /pws/zycie247-mat_int .
itab_zycit247-meins = /pws/zycit368-meins .
itab_zycit247-qtd_iten = /pws/zycie247-qtd_iten.
itab_zycit247-waers = /pws/zycie247-waers .
itab_zycit247-netpr = /pws/zycie247-netpr .
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
itab_zycit247-netpr_t = /pws/zycie247-netpr_t .
* << Fim da inclusão
itab_zycit247-vl_frete = /pws/zycie247-vl_frete.
itab_zycit247-pctcomis = /pws/zycie247-pctcomis.
itab_zycit247-vl_comis = /pws/zycie247-vl_comis.
itab_zycit247-gewei = /pws/zycie247-gewei .
itab_zycit247-brgew = /pws/zycie247-brgew .
itab_zycit247-ntgew = /pws/zycie247-ntgew .
itab_zycit247-j_1bnbm = /pws/zycit368-steuc .
itab_zycit247-markme = markme .
PERFORM busca_um_ncm USING itab_zycit247-j_1bnbm
CHANGING itab_zycit247-um_ncm.
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF /pws/zycit321-c_comum = 'X'.
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF itab_zycit247-meins = 'TO' AND
itab_zycit247-gewei = 'KG'.
itab_zycit247-netpr_t =
( itab_zycit247-netpr * itab_zycit247-qtd_iten *
1000 ).
ELSEIF itab_zycit247-meins = 'KG' AND
itab_zycit247-gewei = 'TO'.
itab_zycit247-netpr_t =
( itab_zycit247-netpr * itab_zycit247-qtd_iten /
1000 ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF NOT itab_zycit247-netpr_t IS INITIAL AND
NOT itab_zycit247-qtd_iten IS INITIAL.
itab_zycit247-netpr =
itab_zycit247-netpr_t / itab_zycit247-qtd_iten.
ENDIF.
* << Fim da inclusão
ELSE.
itab_zycit247-netpr_t =
* >> Início da exclusão: FORM FILL_ITAB_ZYCIT247_INTER
( itab_zycit247-netpr * itab_zycit247-qtd_iten ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
itab_zycit247-netpr * itab_zycit247-qtd_iten.
* << Fim da inclusão
ENDIF.
itab_zycit247-vl_frete_t =
...
...
ELSE.
itab_zycit247-qtd_ncm = /pws/zycie247-qtd_ncm.
ENDIF.
ENDIF.
APPEND itab_zycit247.
itab_zycit247_aux[] = itab_zycit247[].
v_verificp2 = 'N'.
ELSE.
itab_zycit247 = /pws/zycie247.
itab_zycit247-markme = markme.
* >> Início da exclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF itab_zycit247-meins = 'TO' AND
itab_zycit247-gewei = 'KG'.
itab_zycit247-netpr_t =
( itab_zycit247-netpr * itab_zycit247-qtd_iten *
1000 ).
ELSEIF itab_zycit247-meins = 'KG' AND
itab_zycit247-gewei = 'TO'.
itab_zycit247-netpr_t =
( itab_zycit247-netpr * itab_zycit247-qtd_iten /
1000 ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF /pws/zycit321-c_comum = 'X'.
IF NOT itab_zycit247-netpr_t IS INITIAL AND
NOT itab_zycit247-qtd_iten IS INITIAL.
itab_zycit247-netpr =
itab_zycit247-netpr_t / itab_zycit247-qtd_iten.
ENDIF.
* << Fim da inclusão
ELSE.
itab_zycit247-netpr_t =
* >> Início da exclusão: FORM FILL_ITAB_ZYCIT247_INTER
( itab_zycit247-netpr * itab_zycit247-qtd_iten ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
itab_zycit247-netpr * itab_zycit247-qtd_iten.
* << Fim da inclusão
ENDIF.
itab_zycit247-vl_frete_t =
...
...
itab_zycit247-qtd_ncm =
( itab_zycit247-qtd_iten / v_um_ren ) * v_um_rez.
ELSE.
itab_zycit247-qtd_ncm = /pws/zycie247-qtd_ncm.
ENDIF.
ENDIF.
MODIFY itab_zycit247 INDEX tc_mexp2-current_line.
v_verificp2 = 'N'.
ENDIF.
ELSE.
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
IF /pws/zycit321-c_comum = 'X'.
MESSAGE w061 WITH text-168 /pws/zycie247-j_1bnbm text-211
/pws/zycie244-kunnr.
ELSE.
* << Fim da inclusão
MESSAGE w061 WITH text-009 /pws/zycie247-mat_int text-211
/pws/zycie244-kunnr.
* >> Início da inclusão: FORM FILL_ITAB_ZYCIT247_INTER
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM verifica_alteracoes.
DATA: itab_zycit245_vf LIKE itab_zycit245 OCCURS 0 WITH HEADER LINE,
itab_zycit247_vf LIKE itab_zycit247 OCCURS 0 WITH HEADER LINE,
...
...
ENDIF.
ENDLOOP.
MODIFY /pws/zycit279 FROM TABLE itab_zycit279_ap.
IF NOT itab_zycit245_s[] IS INITIAL.
MODIFY /pws/zycit245 FROM TABLE itab_zycit245_s.
ENDIF.
ENDIF.
ENDFORM.
FORM preench_itab_zycit432_tl.
REFRESH itab_zycit432_tl.
* >> Início da inclusão: FORM PREENCH_ITAB_ZYCIT432_TL
IF /pws/zycit321-c_comum NE 'X'.
* << Fim da inclusão
LOOP AT itab_zycit432 WHERE matnr EQ itab_zycit427-matnr.
* >> Início da inclusão: FORM PREENCH_ITAB_ZYCIT432_TL
itab_zycit432_tl = itab_zycit432.
APPEND itab_zycit432_tl.
ENDLOOP.
ELSE.
LOOP AT itab_zycit432 WHERE ncm EQ space.
SELECT SINGLE steuc FROM marc
INTO itab_zycit432-ncm
WHERE matnr EQ itab_zycit432-matnr
AND steuc NE space.
MODIFY itab_zycit432 TRANSPORTING ncm
WHERE matnr EQ itab_zycit432-matnr.
ENDLOOP.
LOOP AT itab_zycit432 WHERE ncm EQ itab_zycit427-ncm.
* << Fim da inclusão
itab_zycit432_tl = itab_zycit432.
APPEND itab_zycit432_tl.
ENDLOOP.
* >> Início da inclusão: FORM PREENCH_ITAB_ZYCIT432_TL
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM explode_lista USING p_matnr
p_capid
p_werks
...
...
LOOP AT itab_zycit279_ap.
MOVE-CORRESPONDING itab_zycit279_ap TO itab_zycit246_final.
MOVE: itab_zycit279_ap-um_base TO itab_zycit246_final-meins.
itab_zycit246_final-um_ncm = itab_zycit279_ap-meins.
itab_zycit246_final-qtd_nacion = itab_zycit279_ap-slqtde -
itab_zycit279_ap-qtd_transf.
itab_zycit246_final-qtd_ncm = itab_zycit279_ap-menge.
itab_zycit246_final-qtd_compv = itab_zycit279_ap-menge -
itab_zycit279_ap-slqtde.
IF /pws/zycie244-tipo EQ 'F' OR
* >> Início da exclusão: FORM MOVE_REALIZ
( /pws/zycie244-tipo EQ 'C' AND
* << Fim da exclusão
* >> Início da inclusão: FORM MOVE_REALIZ
( ( /pws/zycie244-tipo EQ 'C' OR
/pws/zycie244-tipo EQ 'N' ) AND
* << Fim da inclusão
/pws/zycit321-c_comum EQ 'X' ).
READ TABLE itab_zycit245 WITH KEY
j_1bnbm = itab_zycit279_ap-j_1bnbm.
itab_zycit246_final-nritem = itab_zycit245-nritem.
ELSEIF /pws/zycie244-tipo EQ 'G'.
itab_zycit246_final-nritem = '00001'.
ELSE.
IF /pws/zycit321-it_ge EQ 'X' AND
/pws/zycie244-modalidade EQ 'I'.
CLEAR:itab_zycit433a.
...
...
itab_zycit247-vl_scamb = itab_zycit247-vl_scamb +
( ( itab_zycit247-qtd_iten * itab_lista-usagem )
* ( itab_zycit245-vl_scamb / itab_zycit245-qtd_tot ) ).
ENDIF.
ENDLOOP.
MODIFY itab_zycit247.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM check_field_0225.
LOOP AT tc_merc-cols INTO wa_cols2.
CASE wa_cols2-screen-name.
WHEN '/PWS/ZYCIE427-MATNR'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-invisible = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-WERKS'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-invisible = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-NCM'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-screen-input = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-QTD_NCM'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-screen-input = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-STLAN'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-invisible = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-STLAL'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-invisible = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-STLNR'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-invisible = 1.
ENDIF.
WHEN '/PWS/ZYCIE427-USAGEM'.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-invisible = 1.
ENDIF.
ENDCASE.
MODIFY tc_merc-cols FROM wa_cols2.
ENDLOOP.
ENDFORM.
FORM execute_button_area.
v_area = /pws/zycie244-codagrup.
CALL SCREEN '0247' STARTING AT 33 5.
READ TABLE itab_zycit250 INDEX 1.
IF sy-subrc EQ 0 AND v_area IS INITIAL.
MOVE itab_zycit250-codagrup TO /pws/zycie244-codagrup.
ELSE.
MOVE v_area TO /pws/zycie244-codagrup.
ENDIF.
DELETE itab_zycit250 WHERE codagrup = /pws/zycie244-codagrup.
SET CURSOR FIELD /pws/zycie244-codagrup.
CLEAR v_area.
SORT itab_centros2 BY werks.
DELETE ADJACENT DUPLICATES FROM itab_centros2 COMPARING werks.
IF /pws/zycie244-werks IS INITIAL AND
NOT itab_centros2[] IS INITIAL.
READ TABLE itab_centros2 INDEX 1.
/pws/zycie244-werks = itab_centros2-werks.
ENDIF.
DELETE itab_centros2 WHERE werks EQ /pws/zycie244-werks.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F03
...
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM trata_tab_imp2_merc.
DATA: itab_zycit369 LIKE /pws/zycit369 OCCURS 0 WITH HEADER LINE,
v_flag.
* >> Início da inclusão: FORM TRATA_TAB_IMP2_MERC
IF NOT itab_zycit247[] IS INITIAL AND
* << Fim da inclusão
* >> Início da exclusão: FORM TRATA_TAB_IMP2_MERC
IF NOT itab_zycit247[] IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_TAB_IMP2_MERC
/pws/zycit321-c_comum IS INITIAL.
* << Fim da inclusão
v_null2 = 'N'.
LOOP AT itab_zycit247.
IF itab_zycit247-qtd_iten IS INITIAL.
v_null2 = 'S'.
ELSEIF itab_zycit247-netpr IS INITIAL.
v_null2 = 'S'.
ENDIF.
ENDLOOP.
IF v_null2 EQ 'S'.
MESSAGE w015 WITH text-072 text-073.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
PERFORM trata_button_trans2.
ELSE.
MESSAGE i015 WITH text-293 text-294.
ENDIF.
WHEN 'SAVE'.
PERFORM trata_button_save2 CHANGING v_erro2.
WHEN 'EXCL'.
PERFORM trata_button_excl2.
WHEN 'BTN2'.
PERFORM execute_button_btn2.
* >> Início da inclusão: MODULE USER_COMMAND_0200
WHEN 'AREA'.
PERFORM execute_button_area.
* << Fim da inclusão
WHEN 'BTN3'.
PERFORM trata_button_btn3.
WHEN 'CEN_EI'.
PERFORM centros_ei.
WHEN 'SITUAC'.
PERFORM trata_button_situac2.
WHEN 'ENCER'.
IF /pws/zycit321-siscotrans IS INITIAL OR
/pws/zycie244-modalidade EQ 'I' OR
/pws/zycie244-tipo EQ 'F'.
...
...
ENDIF.
CLEAR itab_centros2. REFRESH itab_centros2.
SELECT * FROM /pws/zycit243 INTO TABLE itab_centros2
WHERE nrseqd EQ /pws/zycie244-nrforecast.
IF sy-subrc EQ 0.
LOOP AT itab_centros2.
itab_centros2-nrseqd = /pws/zycie244-nrseqd.
MODIFY itab_centros2.
ENDLOOP.
ENDIF.
* >> Início da inclusão: MODULE TRATA_FORECAST
SELECT * FROM /pws/zycit250 APPENDING TABLE itab_zycit250
WHERE nrseqd EQ /pws/zycie244-nrforecast.
itab_zycit250-nrseqd = /pws/zycie244-nrseqd.
MODIFY itab_zycit250 TRANSPORTING nrseqd
WHERE nrseqd NE /pws/zycie244-nrseqd.
SORT itab_zycit250 BY codagrup.
DELETE ADJACENT DUPLICATES FROM itab_zycit250 COMPARING codagrup.
* << Fim da inclusão
MOVE: wa_zycit2382-modalidade TO /pws/zycie244-modalidade,
wa_zycit2382-tipo TO /pws/zycie244-tipo ,
wa_zycit2382-tipoemp TO /pws/zycie244-tipoemp ,
wa_zycit2382-oper_ind TO /pws/zycie244-oper_ind ,
wa_zycit2382-bukrs TO /pws/zycie244-bukrs ,
wa_zycit2382-werks TO /pws/zycie244-werks ,
wa_zycit2382-ekorg TO /pws/zycie244-ekorg ,
wa_zycit2382-importacao TO /pws/zycie244-importacao,
wa_zycit2382-variacaocb TO /pws/zycie244-variacaocb,
wa_zycit2382-codagrup TO /pws/zycie244-codagrup.
...
...
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.
IF /pws/zycie244-tipo EQ 'G' OR /pws/zycie244-tipo EQ 'F' OR
/pws/zycit321-c_comum EQ 'X'.
* >> Início da inclusão: MODULE INSERT_LINE_COMPROV_ME
IF /pws/zycie244-tipo EQ 'N'.
PERFORM fill_itab_zycit247_inter.
ELSE.
* << Fim da inclusão
PERFORM fill_itab_zycit247_tg2.
* >> Início da inclusão: MODULE INSERT_LINE_COMPROV_ME
ENDIF.
* << Fim da inclusão
ELSE.
IF v_agrup IS INITIAL.
IF /pws/zycie244-tipo EQ 'N'.
PERFORM fill_itab_zycit247_inter.
ELSE.
PERFORM fill_itab_zycit247_ng2.
...
...
/pws/zycie244-stcd1.
ENDIF.
SELECT SINGLE name1 stcd1 FROM kna1
INTO (/pws/zycie244-name1, /pws/zycie244-stcd1)
WHERE kunnr EQ /pws/zycie244-kunnr.
ENDIF.
ENDMODULE.
MODULE preenche_estrutura_0225 INPUT.
itab_zycit427 = /pws/zycie427.
itab_zycit427-mark = mark.
* >> Início da exclusão: MODULE PREENCHE_ESTRUTURA_0225
CHECK NOT /pws/zycie427-matnr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: MODULE PREENCHE_ESTRUTURA_0225
CHECK NOT /pws/zycie427-matnr IS INITIAL OR
NOT /pws/zycie427-ncm IS INITIAL .
* << Fim da inclusão
itab_zycit427-item = tc_merc-current_line * 10 .
MODIFY itab_zycit427 INDEX tc_merc-current_line.
IF sy-subrc NE '0'.
APPEND itab_zycit427.
itab_zycit427-item = sy-tabix * 10 .
MODIFY itab_zycit427 INDEX sy-tabix.
ENDIF.
ENDMODULE.
MODULE alter_linha_0225 INPUT.
DATA wa_zycit281_temp LIKE /pws/zycit281.
* >> Início da exclusão: MODULE ALTER_LINHA_0225
IF NOT /pws/zycie427-matnr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTER_LINHA_0225
DATA: v_conv1 TYPE /pws/zycit245-qtd_ncm,
v_conv2 TYPE /pws/zycit245-qtd_ncm.
IF NOT /pws/zycie427-matnr IS INITIAL OR
( NOT /pws/zycie427-ncm IS INITIAL AND
/pws/zycit321-c_comum = 'X' ).
IF /pws/zycit321-c_comum NE 'X'.
* << Fim da inclusão
CLEAR wa_zycit281_temp.
CLEAR v_centro.
SELECT matnr FROM /pws/zycit281
INTO TABLE itab_matnr
WHERE matnr EQ /pws/zycie427-matnr.
IF sy-dbcnt > 1 AND /pws/zycie427-werks IS INITIAL.
v_centro = 'X'.
ENDIF.
IF /pws/zycie427-werks IS INITIAL.
SELECT SINGLE * FROM /pws/zycit281 INTO wa_zycit281_temp
...
...
MESSAGE w061 WITH text-009 /pws/zycie427-matnr
text-010 text-011 .
DELETE itab_zycit427 INDEX tc_merc-current_line.
CLEAR /pws/zycie427.
EXIT.
ENDIF.
ENDIF.
v_verificp2_merc = 'N'.
ELSE.
CLEAR /pws/zycie427.
* >> Início da inclusão: MODULE ALTER_LINHA_0225
ENDIF.
ELSE.
SELECT SINGLE text1 FROM t604n INTO /pws/zycie427-descr
WHERE spras = sy-langu
AND land1 = 'BR'
AND steuc = /pws/zycie427-ncm.
PERFORM busca_um_ncm USING /pws/zycie427-ncm
CHANGING /pws/zycie427-umncm.
IF /pws/zycie427-meins EQ /pws/zycie427-umncm .
/pws/zycie427-qtd_ncm = /pws/zycie427-qtd_iten .
ELSE.
v_conv1 = 1.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'
EXPORTING
input = v_conv1
no_type_check = 'X'
round_sign = 'X'
unit_in = /pws/zycie427-meins
unit_out = /pws/zycie427-umncm
IMPORTING
denominator = v_um_ren
numerator = v_um_rez
output = v_conv2
EXCEPTIONS
conversion_not_found = 1
division_by_zero = 2
input_invalid = 3
output_invalid = 4
overflow = 5
type_invalid = 6
units_missing = 7
unit_in_not_found = 8
unit_out_not_found = 9
OTHERS = 10.
IF sy-subrc = 0.
/pws/zycie427-qtd_ncm =
( /pws/zycie427-qtd_iten / v_um_ren ) * v_um_rez.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDMODULE.
MODULE user_command_0225 INPUT.
CASE ok_code2.
WHEN 'MALL'.
itab_zycit427-mark = 'X'.
MODIFY itab_zycit427 TRANSPORTING mark
WHERE mark NE 'X'.
WHEN 'DALL'.
...
...
IF sy-subrc EQ '0'.
v_verificp2_merc ='N'.
ENDIF.
ENDCASE.
ENDMODULE.
MODULE user_command_0226 INPUT.
CASE ok_code2.
WHEN 'FS_COMPO3'.
pressed_tab_8a = ok_code2.
dynpronr8a = '0225'.
* >> Início da inclusão: MODULE USER_COMMAND_0226
WHEN 'FS_RESUMERC'.
READ TABLE itab_zycit427 WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
/pws/zycie427 = itab_zycit427.
v_saldo227 = /pws/zycie427-qtd_iten - v_qtd_tot227.
v_vlsaldo227 = /pws/zycie427-vlfob_t - v_vltot227.
pressed_tab_8a = ok_code2.
dynpronr8a = '0246'.
PERFORM preench_itab_zycit432_tl.
ENDIF.
REFRESH: itab_zycit432_r.
LOOP AT itab_zycit432_tl.
itab_zycit432_r-matnr = itab_zycit432_tl-matnr.
itab_zycit432_r-qtd_apro = itab_zycit432_tl-qtd_apro.
itab_zycit432_r-vl_itnf = itab_zycit432_tl-vl_itnf.
COLLECT itab_zycit432_r.
ENDLOOP.
LOOP AT itab_zycit432_r.
SELECT SINGLE maktx FROM makt INTO itab_zycit432_r-desc
WHERE matnr EQ itab_zycit432_r-matnr
AND spras EQ sy-langu.
MODIFY itab_zycit432_r.
ENDLOOP.
SORT itab_zycit432_r BY matnr.
pressed_tab_8a = ok_code2.
dynpronr8a = '0246'.
DESCRIBE TABLE itab_zycit432_r LINES v_linha.
tc_resmerci-lines = v_linha.
* << Fim da inclusão
WHEN 'FS_REALI3'.
READ TABLE itab_zycit427 WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
/pws/zycie427 = itab_zycit427.
v_saldo227 = /pws/zycie427-qtd_iten - v_qtd_tot227.
v_vlsaldo227 = /pws/zycie427-vlfob_t - v_vltot227.
pressed_tab_8a = ok_code2.
dynpronr8a = '0227'.
PERFORM preench_itab_zycit432_tl.
ENDIF.
...
...
field_not_in_ddic = 1
more_then_one_selectfield = 2
no_selectfield = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
MOVE value TO /pws/zycie470-lote.
ENDMODULE.
* >> Início da inclusão:
MODULE preenche_it_res_432 INPUT.
ENDMODULE.
MODULE altera_area INPUT.
READ TABLE itab_zycit250 INDEX tc_areas_n-current_line.
IF sy-subrc EQ 0.
IF /pws/zycie244-codagrup NE itab_zycit250-codagrup.
READ TABLE itab_zycit250 WITH KEY
codagrup = /pws/zycie244-codagrup.
IF /pws/zycie244-codagrup EQ v_area OR
sy-subrc EQ 0.
MESSAGE i015 WITH text-316.
EXIT.
ENDIF.
ENDIF.
itab_zycit250-codagrup = /pws/zycie244-codagrup.
SELECT werks FROM /pws/zycit475
APPENDING CORRESPONDING FIELDS OF TABLE itab_centros2
WHERE codagrup EQ /pws/zycie244-codagrup.
MODIFY itab_zycit250 INDEX tc_areas_n-current_line.
ELSE.
READ TABLE itab_zycit250 WITH KEY
codagrup = /pws/zycie244-codagrup.
IF /pws/zycie244-codagrup EQ v_area OR
sy-subrc EQ 0.
MESSAGE i015 WITH text-316.
EXIT.
ENDIF.
SELECT werks FROM /pws/zycit475
APPENDING CORRESPONDING FIELDS OF TABLE itab_centros2
WHERE codagrup EQ /pws/zycie244-codagrup.
itab_zycit250-nrseqd = /pws/zycie244-nrseqd.
itab_zycit250-codagrup = /pws/zycie244-codagrup.
APPEND itab_zycit250.
ENDIF.
itab_centros2-nrseqd = /pws/zycie244-nrseqd.
MODIFY itab_centros2 TRANSPORTING nrseqd
WHERE nrseqd EQ space.
ENDMODULE.
MODULE user_command_0247 INPUT.
CASE ok_code2.
WHEN 'CANCE' OR 'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
CLEAR ok_code2.
ENDMODULE.
MODULE altera_areac INPUT.
IF NOT /pws/zycie244-codagrup IS INITIAL.
SELECT werks FROM /pws/zycit475
APPENDING CORRESPONDING FIELDS OF TABLE itab_centros2
WHERE codagrup EQ /pws/zycie244-codagrup.
itab_centros2-nrseqd = /pws/zycie244-nrseqd.
MODIFY itab_centros2 TRANSPORTING nrseqd
WHERE nrseqd EQ space.
ENDIF.
IF /pws/zycie244-werks IS INITIAL AND
NOT itab_centros2[] IS INITIAL.
READ TABLE itab_centros2 INDEX 1.
/pws/zycie244-werks = itab_centros2-werks.
ENDIF.
DELETE itab_zycit250 WHERE codagrup = /pws/zycie244-codagrup.
DELETE itab_centros2 WHERE werks = /pws/zycie244-werks.
ENDMODULE.
MODULE preenche_it_res_427 INPUT.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040O01
...
wa_cols2-screen-input = v_status2.
MODIFY tc_venctos2-cols FROM wa_cols2.
ENDIF.
ENDLOOP.
WHEN '0223'.
DESCRIBE TABLE itab_zycit248_res LINES v_ilinhas2.
tc_resexp-lines = v_ilinhas2.
WHEN '0224'.
DESCRIBE TABLE itab_zycit246_res LINES v_ilinhas2.
tc_resimp-lines = v_ilinhas2.
* >> Início da inclusão: MODULE SET_SCREEN2
WHEN '0225'.
PERFORM check_field_0225.
* << Fim da inclusão
ENDCASE.
CASE /pws/zycie244-tipo.
WHEN 'F'.
txt_245_meins = text-283.
txt_245_qtd_tot = text-285.
txt_206_meins = text-283.
txt_206_qtd_iten = text-285.
WHEN OTHERS.
txt_245_meins = text-282.
txt_245_qtd_tot = text-284.
...
...
AND steuc = /pws/zycie247c-j_1bnbm.
ENDSELECT.
ENDIF.
ENDMODULE.
MODULE trata_screen_0223 OUTPUT.
CLEAR v_descr_0223.
SELECT maktx UP TO 1 ROWS FROM makt INTO v_descr_0223
WHERE matnr = /pws/zycie248c-matnr
AND spras = sy-langu.
ENDSELECT.
* >> Início da inclusão: MODULE TRATA_SCREEN_0223
IF /pws/zycit321-c_comum EQ 'X' AND
/pws/zycie244-tipo EQ 'N'.
SELECT SINGLE descr FROM /pws/zycit368 INTO v_descr_0223
WHERE nrseq = /pws/zycie248c-matnr.
ENDIF.
* << Fim da inclusão
ENDMODULE.
MODULE preenche_screen_0223 OUTPUT.
/pws/zycie248c-matnr = itab_zycit248_res-matnr .
/pws/zycie248c-meins = itab_zycit248_res-meins .
/pws/zycie248c-qtd_iten = itab_zycit248_res-qtd_iten.
/pws/zycie248c-waersfob = itab_zycit248_res-waersfob.
/pws/zycie248c-vlfob = itab_zycit248_res-vlfob .
ENDMODULE.
MODULE preenche_screen_0224 OUTPUT.
/pws/zycie246d-matnr = itab_zycit246_res-matnr .
...
...
screen-invisible = 1.
screen-active = 0.
MODIFY SCREEN.
ELSE.
screen-invisible = 0.
MODIFY SCREEN.
ENDIF.
ENDCASE.
ENDLOOP.
ENDMODULE.
* >> Início da inclusão:
MODULE preenche_res_432 OUTPUT.
/pws/zycie432 = itab_zycit432_r.
ENDMODULE.
MODULE preenche_areas OUTPUT.
/pws/zycie244-codagrup = itab_zycit250-codagrup.
ENDMODULE.
MODULE status_0247 OUTPUT.
SET PF-STATUS 'ST0208'.
DELETE itab_zycit250 WHERE codagrup EQ space.
DESCRIBE TABLE itab_zycit250 LINES tc_areas_n-lines.
tc_areas_n-lines = tc_areas_n-lines + 10.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040TOP2
...
tc_centros2 TYPE TABLEVIEW USING SCREEN '0208',
tc_nacion TYPE TABLEVIEW USING SCREEN '0210',
tc_resdi2 TYPE TABLEVIEW USING SCREEN '0215',
tc_detdi2 TYPE TABLEVIEW USING SCREEN '0216',
tc_resre2 TYPE TABLEVIEW USING SCREEN '0218',
tc_detre2 TYPE TABLEVIEW USING SCREEN '0219',
tc_venctos2 TYPE TABLEVIEW USING SCREEN '0221',
tc_log2 TYPE TABLEVIEW USING SCREEN '0222',
tc_resexp TYPE TABLEVIEW USING SCREEN '0223',
tc_resimp TYPE TABLEVIEW USING SCREEN '0224',
* >> Início da inclusão:
tc_resmerci TYPE TABLEVIEW USING SCREEN '0246',
* << Fim da inclusão
tc_merc TYPE TABLEVIEW USING SCREEN '0225',
tc_real_merc TYPE TABLEVIEW USING SCREEN '0227',
tc_int_exp TYPE TABLEVIEW USING SCREEN '0228',
TC_CENTRO_EI type tableview using screen '0243',
tc_res_apo TYPE TABLEVIEW USING SCREEN '0237',
tc_perda TYPE TABLEVIEW USING SCREEN '0238',
tc_transf TYPE TABLEVIEW USING SCREEN '0239',
tc_inf_exp TYPE TABLEVIEW USING SCREEN '0241',
tc_inf_imp TYPE TABLEVIEW USING SCREEN '0242',
tc_lanc TYPE TABLEVIEW USING SCREEN '0244',
* >> Início da inclusão:
tc_areas_n TYPE TABLEVIEW USING SCREEN '0247',
* << Fim da inclusão
tc_setlt TYPE TABLEVIEW USING SCREEN '0400'.
DATA: ok_code2 LIKE sy-ucomm ,
v_tcode2 LIKE sy-tcode ,
v_tcode2_aux ,
v_ico2 TYPE icons-text ,
v_icoicms TYPE icons-text ,
v_icone2 TYPE iconname ,
v_icoreal1 LIKE icon-id ,
v_werks2 LIKE /pws/zycie244-werks ,
v_status2(1) TYPE c VALUE '1' ,
...
...
ebeln LIKE /pws/zycit003-ebeln,
ebelp LIKE /pws/zycit003-ebelp,
fator LIKE /pws/zycit245-qtd_iten.
DATA: END OF itab_di_p.
DATA: BEGIN OF itab_zycit433 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit433.
DATA: END OF itab_zycit433.
DATA: BEGIN OF itab_centro_ei OCCURS 0.
data werks type /pws/zycie244-werks.
DATA: END OF itab_centro_ei.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit432_r OCCURS 0.
INCLUDE STRUCTURE /pws/zycit432.
data: desc type makt-maktx .
DATA: END OF itab_zycit432_r.
DATA: BEGIN OF itab_zycit250 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit250.
DATA: END OF itab_zycit250.
data: BTN201_02 type icon-id,
v_area type /pws/zycit250-codagrup.
* << Fim da inclusão
DATA: toolbar_container2 TYPE REF TO cl_gui_custom_container,
tool_container2 TYPE scrfname VALUE 'BTN2' ,
myevent_tab2 TYPE cntl_simple_events ,
myevent2 TYPE cntl_simple_event ,
btn2 TYPE REF TO cl_gui_toolbar ,
v_exec_bt.
CLASS lcl_my_event_handler2 DEFINITION.
PUBLIC SECTION.
METHODS on_function_selected
FOR EVENT function_selected OF cl_gui_toolbar
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040TOP3
...
DATA : END OF itab_zycit371.
DATA : BEGIN OF itab_zycit372 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit372.
DATA : END OF itab_zycit372.
DATA : BEGIN OF itab_zycit373 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit373.
DATA : END OF itab_zycit373.
DATA: itab_zycit432_aux LIKE /pws/zycit432 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab_zycit432 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit432.
* >> Início da exclusão:
DATA: status(1) TYPE c.
* << Fim da exclusão
* >> Início da inclusão:
DATA: status(1) TYPE c,
ncm type /pws/zycit427-ncm.
* << Fim da inclusão
DATA : END OF itab_zycit432.
DATA: itab_zycit432_tl LIKE itab_zycit432 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab_zycit247_lt OCCURS 0.
INCLUDE STRUCTURE /pws/zycit247.
DATA: flag.
DATA : END OF itab_zycit247_lt.
DATA : BEGIN OF itab_zycit245_lt OCCURS 0.
INCLUDE STRUCTURE /pws/zycit245.
DATA : END OF itab_zycit245_lt.
DATA : BEGIN OF itab_zycit246_lt OCCURS 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI040
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 316
Texto: (4 caracteres)
"Area"
Comprimento máximo: 4
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 317
Texto: (13 caracteres)
"já informada!"
Comprimento máximo: 13