Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 04/04/2008 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:21:07
Descrição da Nota: ATO CONCESSÓRIO INTERMEDIARIO-IMPORTAÇÃO POR AGRUPAMENTO
Sintoma
Ajustes no Ato concessório para contemplar intermediario-importação com lista por agrupamento.
Solução
Nova funcionalidade no ato concessório intermediario importação (Lista técnica por agrupamento).
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06320 Data: 04/04/2008 Hora: 11:31:18
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06320
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00041
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02575 - 00001 - 6.0 - 00025 - CONTROLE DE ATO INTERMEDIARIO-IMPORTADOR POR NCM E MULTIPLAS AREA
04487 - 00002 - 7.0 - 00002 - AJUSTE PARA TRATAR A QUANTIDADE BASE DA LISTA TÉCNICA POR AGRUPAM
05370 - 00003 - 7.0 - 00003 - PERFORMANCE VINCULAÇÃO DE COMPOSIÇÃO AO ATO CONCESSÓRIO
06281 - 00004 - 7.0 - 00005 - TRATATIVA PARA LISTA TÉCNICA POR AGRUPAMENTO.
----------------------------------------------------------------------------------------------------
ATO CONCESSÓRIO INTERMEDIARIO-IMPORTAÇÃO POR AGRUPAMENTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ATO - CONCESSÓRIO - INTERMEDIARIO-IMPORTAÇÃO - AGRUPAMENTO - SUSPENÇÃO
/PWS/SAPMZYCI040 - ISENÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI040 0225
DYNP /PWS/SAPMZYCI040 0227
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040F03
REPS /PWS/MZYCI040I01
REPS /PWS/MZYCI040O01
TABD /PWS/ZYCIE247
TABD /PWS/ZYCIE427
TABD /PWS/ZYCIE432
TABD /PWS/ZYCIT427
TABD /PWS/ZYCIT432
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0225
INCLUIR CAMPO TEXTO "/PWS/ZYCIE427-AGRUP" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 3
Linha 1
Coluna 4
Formato CHAR
Grupo 2 GRP
Linhas mínimas 3
Texto ___
INCLUIR TEXTO "/PWS/ZYCIE427-AGRUP" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 4
Formato CHAR
Texto Agrupamento
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-DESCR" em tbl.contr./tabstr.
Coluna 6
MODIFICAR TEXTO "/PWS/ZYCIE427-DESCR" em tbl.contr./tabstr.
Coluna 6
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-ITEM" em tbl.contr./tabstr.
Comprimento Visível 5
Formato CHAR
Linhas mínimas 5
Texto _____
MODIFICAR TEXTO "/PWS/ZYCIE427-ITEM" em tbl.contr./tabstr.
Texto char05
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-MATNR" em tbl.contr./tabstr.
Grupo 2 MAT
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-MEINS" em tbl.contr./tabstr.
Coluna 12
MODIFICAR TEXTO "/PWS/ZYCIE427-MEINS" em tbl.contr./tabstr.
Coluna 12
INCLUIR CAMPO TEXTO "/PWS/ZYCIE427-MVGR1" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 3
Linha 1
Coluna 3
Formato CHAR
Grupo 2 GRP
Linhas mínimas 3
Texto ___
INCLUIR TEXTO "/PWS/ZYCIE427-MVGR1" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 18
Linha 1
Coluna 3
Formato CHAR
Texto Grupo de Materiais
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-NCM" em tbl.contr./tabstr.
Coluna 5
Grupo 2 GRP
MODIFICAR TEXTO "/PWS/ZYCIE427-NCM" em tbl.contr./tabstr.
Coluna 5
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-QTD_ITEN" em tbl.contr./tabstr.
Coluna 13
Texto ___.___.___.___.___.___,_____V
MODIFICAR TEXTO "/PWS/ZYCIE427-QTD_ITEN" em tbl.contr./tabstr.
Coluna 13
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-QTD_NCM" em tbl.contr./tabstr.
Coluna 15
Texto ___.___.___.___.___.___,_____V
MODIFICAR TEXTO "/PWS/ZYCIE427-QTD_NCM" em tbl.contr./tabstr.
Coluna 15
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-STLAL" em tbl.contr./tabstr.
Coluna 9
MODIFICAR TEXTO "/PWS/ZYCIE427-STLAL" em tbl.contr./tabstr.
Coluna 9
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-STLAN" em tbl.contr./tabstr.
Coluna 7
Grupo 2 MAT
MODIFICAR TEXTO "/PWS/ZYCIE427-STLAN" em tbl.contr./tabstr.
Coluna 7
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-STLNR" em tbl.contr./tabstr.
Coluna 8
Grupo 2 MAT
MODIFICAR TEXTO "/PWS/ZYCIE427-STLNR" em tbl.contr./tabstr.
Coluna 8
Grupo 2 MAT
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-UMNCM" em tbl.contr./tabstr.
Coluna 14
MODIFICAR TEXTO "/PWS/ZYCIE427-UMNCM" em tbl.contr./tabstr.
Coluna 14
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-USAGEM" em tbl.contr./tabstr.
Coluna 11
Texto ___.___.___.___.___.___,_____V
MODIFICAR TEXTO "/PWS/ZYCIE427-USAGEM" em tbl.contr./tabstr.
Coluna 11
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-VLFOB" em tbl.contr./tabstr.
Coluna 17
MODIFICAR TEXTO "/PWS/ZYCIE427-VLFOB" em tbl.contr./tabstr.
Coluna 17
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-VLFOB_T" em tbl.contr./tabstr.
Coluna 18
MODIFICAR TEXTO "/PWS/ZYCIE427-VLFOB_T" em tbl.contr./tabstr.
Coluna 18
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-WAERS" em tbl.contr./tabstr.
Coluna 16
MODIFICAR TEXTO "/PWS/ZYCIE427-WAERS" em tbl.contr./tabstr.
Coluna 16
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-WERKS" em tbl.contr./tabstr.
Coluna 10
MODIFICAR TEXTO "/PWS/ZYCIE427-WERKS" em tbl.contr./tabstr.
Coluna 10
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0225
PROCESS BEFORE OUTPUT.
MODULE set_screen2.
loop at itab_zycit427 with control tc_merc
cursor tc_merc-current_line.
module: preenche_estrutura_0225.
endloop.
PROCESS AFTER INPUT.
loop at itab_zycit427 .
chain.
field: /pws/zycie427-matnr ,
* >> Início da inclusão:
/pws/zycie427-mvgr1,
/pws/zycie427-agrup,
* << Fim da inclusão
/pws/zycie427-ncm ,
/pws/zycie427-stlan ,
/pws/zycie427-meins ,
/pws/zycie427-qtd_iten,
* >> Início da exclusão:
/pws/zycie427-stlal ,
* << Fim da exclusão
* >> Início da inclusão:
/pws/zycie427-stlal ,
* << Fim da inclusão
/pws/zycie427-STLNR ,
/pws/zycie427-werks
module alter_linha_0225 on chain-request.
endchain.
module: preenche_estrutura_0225.
endloop.
MODULE USER_COMMAND_0225.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI040 0227
MODIFICAR CARACTERÍSTICAS DA SUB-TELA 0227
Altura atual (linhas) 18
INCLUIR CAMPO TEXTO "/PWS/ZYCIE427-AGRUP"
Comprimento Visível 3
Linha 3
Coluna 14
Formato CHAR
Grupo 2 GRP
Linhas mínimas 3
Texto ___
INCLUIR TEXTO "/PWS/ZYCIE427-AGRUP"
Comprimento Visível 11
Linha 3
Coluna 2
Formato CHAR
Grupo 2 GRP
Texto Agrupamento
Código função
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-DESCR"
Grupo 2 MAT
MODIFICAR TEXTO "/PWS/ZYCIE427-DESCR"
Grupo 2 MAT
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-ITEM"
Comprimento Visível 5
Coluna 14
Formato CHAR
Linhas mínimas 5
Texto _____
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-MATNR"
Grupo 2 MAT
MODIFICAR TEXTO "/PWS/ZYCIE427-MATNR"
Grupo 2 MAT
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-MEINS"
Linha 4
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-QTD_ITEN"
Linha 4
MODIFICAR TEXTO "/PWS/ZYCIE427-QTD_ITEN"
Linha 4
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-VLFOB_T"
Linha 4
MODIFICAR TEXTO "/PWS/ZYCIE427-VLFOB_T"
Linha 4
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE427-WAERS"
Linha 4
MODIFICAR FRAME "BOX227_01"
Linha 15
MODIFICAR FRAME "BOX227_02"
Linha 15
INCLUIR CAMPO TEXTO "ITAB_ZYCIT427-DESCR"
Comprimento Visível 40
Linha 3
Coluna 64
Formato CHAR
Grupo 2 GRP
Texto ________________________________________
INCLUIR TEXTO "ITAB_ZYCIT427-DESCR"
Comprimento Visível 9
Linha 3
Coluna 52
Formato CHAR
Grupo 2 GRP
Texto Descrição
Código função
MODIFICAR CONTROLE DE TABELA "TC_REAL_MERC"
Linha 5
MODIFICAR CAMPO TEXTO "V_QTD_TOT227"
Linha 16
MODIFICAR TEXTO "V_QTD_TOT227"
Linha 16
MODIFICAR TEXTO "V_SALDO"
Linha 16
MODIFICAR CAMPO TEXTO "V_SALDO227"
Linha 16
MODIFICAR TEXTO "V_VLSALDO"
Linha 17
MODIFICAR CAMPO TEXTO "V_VLSALDO227"
Linha 17
MODIFICAR CAMPO TEXTO "V_VLTOT227"
Linha 17
MODIFICAR TEXTO "V_VLTOT227"
Linha 17
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0227
PROCESS BEFORE OUTPUT.
* >> Início da exclusão:
module: totais_227.
* << Fim da exclusão
* >> Início da inclusão:
module: set_screen2 ,
totais_227.
* << Fim da inclusão
LOOP AT itab_zycit432_tl WITH CONTROL tc_real_merc.
MODULE: preenche_estrutura_0227.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycit432_tl.
MODULE preenche_itab_zycit373.
ENDLOOP.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'FS_ADITIVOS' AND v_tcode2 EQ '/PWS/ZYCI040_C'.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'FS_GRAPH' AND v_tcode2 EQ '/PWS/ZYCI040_C'.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
* >> Início da exclusão: FORM CHECK_FIELD_0200
IF screen-group2 EQ 'CLI' AND /pws/zycie244-tipo NE 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0200
IF screen-group2 EQ 'CLI' AND
( /pws/zycie244-tipo NE 'N' OR (
/pws/zycie244-tipo EQ 'N' AND
/pws/zycie244-modalidade EQ 'I' ) ).
* << Fim da inclusão
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM.
FORM check_field_0201.
LOOP AT SCREEN.
IF screen-group1 NE 'NEX'.
screen-input = v_status2.
MODIFY SCREEN.
...
...
ELSE.
IF /pws/zycie244-status = 'A'.
screen-input = 0.
screen-invisible = 0.
ELSE.
screen-input = 1.
screen-invisible = 0.
ENDIF.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM CHECK_FIELD_0201
IF screen-group2 EQ 'CLI' AND /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0201
IF screen-group2 EQ 'CLI' AND
/pws/zycie244-modalidade EQ 'S' AND
/pws/zycie244-tipo EQ 'N'.
* << Fim da inclusão
screen-invisible = '0'.
MODIFY SCREEN.
ELSEIF screen-group2 EQ 'CLI'.
screen-invisible = '1'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-invisible EQ '1'.
screen-active = '0'.
MODIFY SCREEN.
...
...
wa_cols2-invisible = 0.
IF /pws/zycit321-c_comum EQ 'X'.
wa_cols2-screen-input = 1.
ENDIF.
MODIFY tc_mexp2-cols FROM wa_cols2.
ENDIF.
ENDLOOP.
SELECT SINGLE *
FROM /pws/zycit321
INTO /pws/zycit321.
* >> Início da exclusão: FORM CHECK_FIELD_0206
IF /pws/zycit321-ltopc EQ 1.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0206
IF /pws/zycit321-ltopc EQ 1 AND
( /pws/zycie244-tipo NE 'N' OR
( /pws/zycie244-tipo EQ 'N' AND
/pws/zycie244-modalidade EQ 'I' ) ).
* << Fim da inclusão
v_agrup = 'X'.
ELSE.
CLEAR v_agrup.
ENDIF.
LOOP AT tc_mexp2-cols INTO wa_cols2.
CASE wa_cols2-screen-name.
WHEN '/PWS/ZYCIE247-AGRUP' OR
'/PWS/ZYCIT422-WERKS' OR
'/PWS/ZYCIT422-STLAL'.
IF v_agrup = 'X'.
...
...
WHEN 'V_PLT_0206'.
IF /pws/zycie244-tipo EQ 'G' OR /pws/zycie244-tipo EQ 'F'.
wa_cols2-invisible = 1.
MODIFY tc_mexp2-cols FROM wa_cols2.
ELSE.
wa_cols2-invisible = 0.
MODIFY tc_mexp2-cols FROM wa_cols2.
ENDIF.
ENDCASE.
ENDLOOP.
* >> Início da exclusão: FORM CHECK_FIELD_0206
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0206
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
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'.
IF /pws/zycit321-c_comum = 'X'.
wa_cols2-invisible = 1.
ELSE.
wa_cols2-invisible = 0.
...
...
IF wa_cols2-screen-name EQ '/PWS/ZYCIE246-QTD_COMPV'
AND v_tcode2_aux EQ 'X'.
IF /pws/zycie244-status EQ 'E'.
wa_cols2-screen-input = 0.
ELSE.
wa_cols2-screen-input = 0.
ENDIF.
MODIFY tc_realizi-cols FROM wa_cols2.
ENDIF.
IF wa_cols2-screen-name EQ 'INF_IMP'
* >> Início da exclusão: FORM CHECK_FIELD_0204
AND /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_FIELD_0204
AND /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
wa_cols2-invisible = 1.
MODIFY tc_realizi-cols FROM wa_cols2.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF ( /pws/zycie244-modalidade EQ 'I' ) AND
( screen-name EQ '/PWS/ZYCIE245C-NETPR' ).
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
...
...
itab_zycit247-werks TO /pws/zycie247c-werks ,
itab_zycit247-agrup TO /pws/zycie247-agrup ,
itab_zycit247-meins TO /pws/zycie247c-meins ,
itab_zycit247-qtd_iten TO /pws/zycie247c-qtd_iten ,
itab_zycit247-waers TO /pws/zycie247c-waers ,
itab_zycit247-waers TO /pws/zycie247c-waers_fre ,
itab_zycit247-waers TO /pws/zycie247c-waers_com ,
itab_zycit247-vl_frete_t TO /pws/zycie247c-vl_frete_t,
itab_zycit247-vl_comis_t TO /pws/zycie247c-vl_comis_t,
itab_zycit247-netpr_t TO /pws/zycie247c-netpr_t .
* >> Início da exclusão: FORM CHECK_BUTTON_FIRST_0207
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_BUTTON_FIRST_0207
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
ELSE.
CLEAR: itab_zycit248. REFRESH: itab_zycit248.
LOOP AT itab_zycit248_final.
IF /pws/zycie244-tipo EQ 'G'.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ELSE.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ENDIF.
MOVE-CORRESPONDING itab_zycit248_final TO itab_zycit248.
APPEND itab_zycit248.
...
...
itab_zycit247-werks TO /pws/zycie247c-werks ,
itab_zycit247-agrup TO /pws/zycie247-agrup ,
itab_zycit247-meins TO /pws/zycie247c-meins ,
itab_zycit247-qtd_iten TO /pws/zycie247c-qtd_iten ,
itab_zycit247-waers TO /pws/zycie247c-waers ,
itab_zycit247-waers TO /pws/zycie247c-waers_fre ,
itab_zycit247-waers TO /pws/zycie247c-waers_com ,
itab_zycit247-vl_frete_t TO /pws/zycie247c-vl_frete_t,
itab_zycit247-vl_comis_t TO /pws/zycie247c-vl_comis_t,
itab_zycit247-netpr_t TO /pws/zycie247c-netpr_t .
* >> Início da exclusão: FORM CHECK_BUTTON_PRIOR_0207
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_BUTTON_PRIOR_0207
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
ELSE.
CLEAR: itab_zycit248. REFRESH: itab_zycit248.
LOOP AT itab_zycit248_final.
IF /pws/zycie244-tipo EQ 'G'.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ELSE.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ENDIF.
MOVE-CORRESPONDING itab_zycit248_final TO itab_zycit248.
APPEND itab_zycit248.
...
...
itab_zycit247-werks TO /pws/zycie247c-werks ,
itab_zycit247-meins TO /pws/zycie247c-meins ,
itab_zycit247-agrup TO /pws/zycie247-agrup ,
itab_zycit247-qtd_iten TO /pws/zycie247c-qtd_iten ,
itab_zycit247-waers TO /pws/zycie247c-waers ,
itab_zycit247-waers TO /pws/zycie247c-waers_fre ,
itab_zycit247-waers TO /pws/zycie247c-waers_com ,
itab_zycit247-vl_frete_t TO /pws/zycie247c-vl_frete_t,
itab_zycit247-vl_comis_t TO /pws/zycie247c-vl_comis_t,
itab_zycit247-netpr_t TO /pws/zycie247c-netpr_t .
* >> Início da exclusão: FORM CHECK_BUTTON_NEXT_0207
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_BUTTON_NEXT_0207
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
ELSE.
CLEAR: itab_zycit248. REFRESH: itab_zycit248.
LOOP AT itab_zycit248_final.
IF /pws/zycie244-tipo EQ 'G'.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ELSE.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ENDIF.
MOVE-CORRESPONDING itab_zycit248_final TO itab_zycit248.
APPEND itab_zycit248.
...
...
itab_zycit247-werks TO /pws/zycie247c-werks ,
itab_zycit247-agrup TO /pws/zycie247-agrup ,
itab_zycit247-meins TO /pws/zycie247c-meins ,
itab_zycit247-qtd_iten TO /pws/zycie247c-qtd_iten ,
itab_zycit247-waers TO /pws/zycie247c-waers ,
itab_zycit247-waers TO /pws/zycie247c-waers_fre ,
itab_zycit247-waers TO /pws/zycie247c-waers_com ,
itab_zycit247-vl_frete_t TO /pws/zycie247c-vl_frete_t,
itab_zycit247-vl_comis_t TO /pws/zycie247c-vl_comis_t,
itab_zycit247-netpr_t TO /pws/zycie247c-netpr_t .
* >> Início da exclusão: FORM CHECK_BUTTON_LAST_0207
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CHECK_BUTTON_LAST_0207
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
ELSE.
CLEAR: itab_zycit248. REFRESH: itab_zycit248.
LOOP AT itab_zycit248_final.
IF /pws/zycie244-tipo EQ 'G'.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ELSE.
CHECK itab_zycit248_final-nritem EQ /pws/zycie247c-nritem.
ENDIF.
MOVE-CORRESPONDING itab_zycit248_final TO itab_zycit248.
APPEND itab_zycit248.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
FORM trata_tab_realiz2.
DATA: v_marcados4 TYPE i VALUE 0.
LOOP AT itab_zycit247 WHERE markme = 'X'.
v_marcados4 = v_marcados4 + 1.
ENDLOOP.
* >> Início da exclusão: FORM TRATA_TAB_REALIZ2
IF /pws/zycie244-tipo NE 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_TAB_REALIZ2
IF /pws/zycie244-tipo NE 'N' OR
( /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'I' ).
* << Fim da inclusão
IF v_marcados4 > 1.
MESSAGE s015 WITH text-016.
EXIT.
ENDIF.
READ TABLE itab_zycit247 WITH KEY markme = 'X'.
IF sy-subrc NE 0.
CLEAR: v_indicatu3.
MESSAGE s015 WITH text-053.
EXIT.
ENDIF.
...
...
ENDFORM.
FORM trata_button_atualiz2.
IF v_ex_enc IS INITIAL AND /pws/zycie244-fechado IS INITIAL.
v_altera_ap = 'S'.
REFRESH: itab_zycit279_ap.
PERFORM carrega_tabela279.
IF /pws/zycie244-tipo EQ 'G'.
ELSEIF /pws/zycie244-tipo EQ 'F'.
ELSE.
ENDIF.
* >> Início da exclusão: FORM TRATA_BUTTON_ATUALIZ2
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_BUTTON_ATUALIZ2
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
PERFORM busca_comprov_intermed.
ENDIF.
IF /pws/zycie244-tipo EQ 'G'.
ELSEIF /pws/zycie244-tipo EQ 'F'.
ELSE.
ENDIF.
PERFORM valor_real_scambio.
CLEAR: itab_zycit246. REFRESH: itab_zycit246.
LOOP AT itab_zycit246_final.
CHECK itab_zycit246_final-nritem EQ /pws/zycie245c-nritem
...
...
REFRESH: itab_zycet001 ,
itab_zycet002 ,
itab_zycet003 ,
itab_zycet116 ,
itab_zycet118 ,
itab_zycit282 ,
itab_j_1bnflin ,
itab_vbfa ,
itab_j_1bnfdoc ,
itab_zycit248_final.
* >> Início da exclusão: FORM BUSCA_EXPORTACOES
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_EXPORTACOES
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
REFRESH: itab_zycit371.
SELECT * FROM /pws/zycit371 INTO TABLE itab_zycit371
WHERE nratoc EQ /pws/zycie244-nratoc. "#EC CI_NOFIELD
ELSE.
SELECT * FROM /pws/zycit248 INTO TABLE itab_zycit248_final
WHERE nrseqd EQ /pws/zycie244-nrseqd
AND nrseq EQ space.
IF NOT itab_zycit248_final[] IS INITIAL.
SELECT vbelv vbeln posnn posnv vbtyp_v vbtyp_n
FROM vbfa INTO TABLE itab_vbfa
...
...
IF NOT itab_zycit247-pctcomis IS INITIAL.
itab_zycit247-vl_comis_t =
( ( itab_zycit247-netpr * itab_zycit247-pctcomis ) / 100 ) *
itab_zycit247-qtd_iten.
CLEAR itab_zycit247-vl_comis.
ELSE.
itab_zycit247-vl_comis_t =
itab_zycit247-vl_comis * itab_zycit247-qtd_iten.
ENDIF.
CLEAR: v_um_rez, v_um_ren.
* >> Início da exclusão: FORM APURA_TOTAIS_0206
CHECK /pws/zycie244-tipo NE 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM APURA_TOTAIS_0206
CHECK /pws/zycie244-tipo NE 'N' OR
( /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'I' ).
* << Fim da inclusão
IF /pws/zycie244-tipo NE 'G'.
LOOP AT tc_mexp2-cols INTO v_cols.
IF v_cols-screen-name = '/PWS/ZYCIE247-QTD_NCM'.
v_cols-screen-input = 0.
MODIFY tc_mexp2-cols FROM v_cols.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF NOT itab_zycit247-codmat IS INITIAL.
itab_zycit247-um_ncm = itab_zycit247-meins.
...
...
INTO v_mess SEPARATED BY space.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_fixo
text = v_mess.
CLEAR: v_count.
ENDIF.
MOVE: /pws/zycie244-nrseqd TO itab_zycit247-nrseqd ,
itab_zycit259-codmat TO itab_zycit247-codmat ,
itab_zycit259-werks TO itab_zycit247-werks ,
* >> Início da inclusão: FORM BUSCA_DADOS_COMPOSICAO
itab_zycit259-agrup TO itab_zycit247-agrup ,
* << Fim da inclusão
itab_zycit259-qtd_iten TO itab_zycit247-qtd_iten,
itab_zycit259-vlfob TO itab_zycit247-netpr_t,
itab_zycit259-vlcomis TO itab_zycit247-vl_comis_t,
itab_zycit259-vlfre TO itab_zycit247-vl_frete_t,
itab_zycit259-qtd_iten TO itab_zycit247-sdomat_e.
COLLECT itab_zycit247.
ENDLOOP.
CLEAR v_nritem_exp.
SORT itab_zycit247 BY codmat.
LOOP AT itab_zycit247.
...
...
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.
IF /pws/zycie244-modalidade EQ 'S' AND
/pws/zycit321-c_comum IS INITIAL.
v_null2 = 'N'.
* >> Início da exclusão: FORM TRATA_TAB_IMP2
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_TAB_IMP2
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
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'.
MESSAGE w015 WITH text-072 text-212.
EXIT.
...
...
tc_detdi2-top_line = 1.
ENDFORM.
FORM verifica_componentes2.
DATA: v_subrc LIKE sy-subrc ,
v_qtdbase LIKE itab_stko-bmeng,
v_flag(1) TYPE c ,
v_erro_conv ,
v_verificp2_temp .
DATA: itab_zycit245_rp LIKE itab_zycit245 OCCURS 0 WITH HEADER LINE.
CHECK /pws/zycie244-tipo NE 'G' AND /pws/zycie244-tipo NE 'F'.
* >> Início da exclusão: FORM VERIFICA_COMPONENTES2
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_COMPONENTES2
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
CHECK v_tcode2 NE '/PWS/ZYCI040_E'.
IF v_verificp2_merc EQ 'S'.
EXIT.
ENDIF.
v_verificp2_temp = v_verificp2.
v_verificp2 = v_verificp2_merc.
IF v_verificp2_merc EQ 'N'.
PERFORM confirm_expl_bom2 CHANGING v_flag.
v_verificp2_merc = v_verificp2.
v_verificp2 = v_verificp2_temp.
...
...
WHEN 'J'.
p_flag = 'S'.
WHEN 'N'.
PERFORM reapura_parcial.
p_flag = 'N'.
WHEN 'A'.
p_flag = 'N'.
ENDCASE.
CLEAR: v_exp_novo.
ELSE.
* >> Início da exclusão: FORM CONFIRM_EXPL_BOM2
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM CONFIRM_EXPL_BOM2
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
v_pergunta = text-213.
ELSE.
v_pergunta = text-157.
ENDIF.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
titlebar = text-039
text_question = v_pergunta
text_button_1 = text-041
text_button_2 = text-042
...
...
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.
CLEAR v_nritem.
CHECK v_tcode2 NE '/PWS/ZYCI040_E'.
DESCRIBE TABLE itab_zycit247 LINES v_ilinhas.
* >> Início da exclusão: FORM VERIFICA_COMPONENTES_AGRUP
IF v_verificp2 EQ 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
IF v_verificp2 EQ 'S' AND
v_verificp2_merc EQ 'S'.
* << Fim da inclusão
EXIT.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_COMPONENTES_AGRUP
IF v_verificp2 EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
IF v_verificp2 EQ 'N' OR
v_verificp2_merc EQ 'N'.
* << Fim da inclusão
PERFORM confirm_expl_bom2 CHANGING v_flag.
IF v_flag EQ 'N'.
v_verificp2 = 'S'.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
v_verificp2_merc = 'S'.
* << Fim da inclusão
EXIT.
ELSE.
REFRESH: itab_zycit245.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
ENDIF.
ENDIF.
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
LOOP AT itab_zycit427.
CLEAR /pws/zycit421.
SELECT SINGLE * FROM /pws/zycit421
WHERE agrup EQ itab_zycit427-agrup
AND werks EQ itab_zycit427-werks
AND stlal EQ itab_zycit427-stlal.
CLEAR t_zycit422. REFRESH t_zycit422.
SELECT * FROM /pws/zycit422
INTO TABLE t_zycit422
WHERE agrup EQ itab_zycit427-agrup
AND werks EQ itab_zycit427-werks
AND stlal EQ itab_zycit427-stlal
AND ( datuv <= sy-datum
AND datub >= sy-datum ).
IF sy-subrc EQ 0.
LOOP AT t_zycit422.
CLEAR itab_zycit245.
IF v_tcode2 EQ '/PWS/ZYCI040_A'.
READ TABLE itab_zycit245 WITH KEY codcomp = t_zycit422-idnrk
werks = t_zycit422-werks
nrseqd = /pws/zycie244-nrseqd.
ENDIF.
MOVE: /pws/zycie244-nrseqd TO itab_zycit245-nrseqd,
t_zycit422-idnrk TO itab_zycit245-codcomp,
t_zycit422-meins TO itab_zycit245-meins,
t_zycit422-werks TO itab_zycit245-werks,
'1' TO itab_zycit245-proced.
IF /pws/zycit421-base IS INITIAL.
/pws/zycit421-base = 1.
ENDIF.
t_zycit422-menge = t_zycit422-menge / /pws/zycit421-base.
itab_zycit245-qtd_iten = t_zycit422-menge.
itab_zycit245-qtd_tot =
( itab_zycit427-qtd_iten * t_zycit422-menge ).
MOVE-CORRESPONDING itab_zycit245 TO itab_zycit245_collect.
COLLECT itab_zycit245_collect.
ENDLOOP.
ENDIF.
REFRESH itab_zycit245.
LOOP AT itab_zycit245_collect.
CLEAR itab_zycit245.
MOVE-CORRESPONDING itab_zycit245_collect TO itab_zycit245.
APPEND itab_zycit245.
ENDLOOP.
IF NOT itab_zycit245[] IS INITIAL.
SELECT * FROM marc INTO TABLE itab_marc
FOR ALL ENTRIES IN itab_zycit245
WHERE matnr EQ itab_zycit245-codcomp.
CLEAR itab_mbew. REFRESH itab_mbew.
SELECT * FROM mbew INTO TABLE itab_mbew
FOR ALL ENTRIES IN itab_zycit245
WHERE matnr EQ itab_zycit245-codcomp
AND bwkey EQ itab_zycit245-werks.
ENDIF.
CLEAR itab_zycit245_aux. REFRESH itab_zycit245_aux.
LOOP AT itab_zycit245.
itab_zycit245_aux[] = itab_zycit245[].
IF NOT itab_zycit245-nritem IS INITIAL.
CONTINUE.
ENDIF.
SELECT SINGLE gewei brgew ntgew FROM mara
INTO (itab_zycit245-gewei,
itab_zycit245-brgew,itab_zycit245-ntgew)
WHERE matnr = itab_zycit245-codcomp.
SELECT SINGLE kaln1 FROM mbew INTO v_kaln1
WHERE matnr = itab_zycit245-codcomp
AND bwkey = itab_zycit245-werks.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM t001a INTO wat001a
WHERE bukrs EQ /pws/zycie244-bukrs.
CLEAR it_ckmlcr. REFRESH it_ckmlcr.
SELECT * FROM ckmlcr INTO TABLE it_ckmlcr
WHERE kalnr = v_kaln1
AND waers = wa_zycbt007-waersa.
SORT it_ckmlcr BY bdatj poper ASCENDING.
DESCRIBE TABLE it_ckmlcr LINES v_ilinhas.
READ TABLE it_ckmlcr INDEX v_ilinhas.
IF sy-subrc EQ 0.
itab_zycit245-netpr = it_ckmlcr-stprs / it_ckmlcr-peinh.
itab_zycit245-waers = wa_zycbt007-waersa.
ENDIF.
ENDIF.
READ TABLE itab_marc WITH KEY matnr = itab_zycit245-codcomp
werks = itab_zycit245-werks.
IF sy-subrc EQ 0.
MOVE itab_marc-steuc TO itab_zycit245-j_1bnbm.
ELSE.
LOOP AT itab_centros2.
READ TABLE itab_marc WITH KEY matnr = itab_zycit245-codcomp
werks = itab_centros2-werks.
IF sy-subrc EQ 0.
MOVE itab_marc-steuc TO itab_zycit245-j_1bnbm.
EXIT.
ENDIF.
ENDLOOP.
IF itab_zycit245-j_1bnbm IS INITIAL.
LOOP AT itab_marc WHERE matnr = itab_zycit245-codcomp
AND steuc NE space.
MOVE itab_marc-steuc TO itab_zycit245-j_1bnbm.
EXIT.
ENDLOOP.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
ENDIF.
itab_zycit245-netpr_t =
( itab_zycit245-netpr * itab_zycit245-qtd_tot ).
itab_zycit245-pctseg = v_segpct.
itab_zycit245-vl_seg_t =
( ( ( itab_zycit245-netpr + itab_zycit245-vl_frete )
* itab_zycit245-pctseg ) / 100 ) * itab_zycit245-qtd_tot.
IF itab_zycit245-nritem IS INITIAL.
PERFORM select_max_item_number2 CHANGING v_nritem.
itab_zycit245-nritem = v_nritem.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
SELECT SINGLE meins FROM mara INTO itab_zycit245-um_ncm
WHERE matnr EQ itab_zycit245-codcomp.
PERFORM converte_unidades USING itab_zycit245-codcomp
itab_zycit245-meins
itab_zycit245-um_ncm
CHANGING itab_zycit245-ntgew.
PERFORM converte_unidades USING itab_zycit245-codcomp
itab_zycit245-meins
itab_zycit245-um_ncm
CHANGING itab_zycit245-brgew.
itab_zycit245-um_ncm = itab_zycit245-meins.
itab_zycit245-qtd_ncm = itab_zycit245-qtd_tot.
PERFORM converte_um_ncm USING itab_zycit245-codcomp
CHANGING itab_zycit245-um_ncm
itab_zycit245-werks
itab_zycit245-qtd_ncm.
MODIFY itab_zycit245.
ENDLOOP.
ENDLOOP.
ELSE.
* << Fim da inclusão
LOOP AT itab_zycit247.
CLEAR /pws/zycit421.
SELECT SINGLE * FROM /pws/zycit421
WHERE agrup EQ itab_zycit247-agrup
AND werks EQ itab_zycit247-werks
AND stlal EQ itab_zycit247-stlal.
CLEAR t_zycit422. REFRESH t_zycit422.
SELECT * FROM /pws/zycit422
INTO TABLE t_zycit422
WHERE agrup EQ itab_zycit247-agrup
...
...
CHANGING itab_zycit245-brgew.
itab_zycit245-um_ncm = itab_zycit245-meins.
itab_zycit245-qtd_ncm = itab_zycit245-qtd_tot.
PERFORM converte_um_ncm USING itab_zycit245-codcomp
CHANGING itab_zycit245-um_ncm
itab_zycit245-werks
itab_zycit245-qtd_ncm.
MODIFY itab_zycit245.
ENDLOOP.
ENDLOOP.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
ENDIF.
* << Fim da inclusão
IF /pws/zycie244-tipo EQ 'G'.
PERFORM acumula_item_lista_tecnica_tg2.
ENDIF.
v_verificp2 = 'S'.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES_AGRUP
v_verificp2_merc = 'S'.
* << Fim da inclusão
DELETE ADJACENT DUPLICATES FROM itab_zycit247 COMPARING ALL FIELDS.
DESCRIBE TABLE itab_zycit247 LINES v_verifiit2.
MESSAGE s015 WITH text-023.
...
...
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.
IF /pws/zycit321-c_comum NE 'X'.
* >> Início da exclusão: FORM PREENCH_ITAB_ZYCIT432_TL
LOOP AT itab_zycit432 WHERE matnr EQ itab_zycit427-matnr.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCH_ITAB_ZYCIT432_TL
LOOP AT itab_zycit432 WHERE item EQ itab_zycit427-item.
* << Fim da inclusão
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
...
...
LOOP AT i_final.
CLEAR itab_zycit245.
MOVE: /pws/zycie244-nrseqd TO itab_zycit245-nrseqd ,
i_final-insumo TO itab_zycit245-codcomp ,
'1' TO itab_zycit245-proced .
itab_zycit245-meins = i_final-meins.
itab_zycit245-qtd_iten = i_final-qtunit.
PERFORM converte_um_base USING itab_zycit245-codcomp
CHANGING itab_zycit245-meins
itab_zycit245-qtd_iten.
* >> Início da exclusão: FORM PREENCHE_IMPORTADOS
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_IMPORTADOS
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
itab_zycit245-werks = itab_zycit427-werks.
itab_zycit245-qtd_tot =
( itab_zycit245-qtd_iten * itab_zycit427-qtd_iten ).
ELSE.
itab_zycit245-werks = itab_zycit247-werks.
itab_zycit245-qtd_tot =
( itab_zycit245-qtd_iten * itab_zycit247-qtd_iten ).
ENDIF.
COLLECT itab_zycit245.
ENDLOOP.
...
...
* ( itab_zycit245-vl_scamb / itab_zycit245-qtd_tot ) ).
ENDIF.
ENDLOOP.
MODIFY itab_zycit247.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
FORM check_field_0225.
LOOP AT tc_merc-cols INTO wa_cols2.
* >> Início da inclusão: FORM CHECK_FIELD_0225
IF /pws/zycit321-ltopc EQ '1'.
IF wa_cols2-screen-group2 EQ 'MAT'.
wa_cols2-invisible = 1.
ENDIF.
IF wa_cols2-screen-group2 EQ 'GRP'.
wa_cols2-invisible = 0.
wa_cols2-screen-input = 1.
ENDIF.
ELSE.
IF wa_cols2-screen-group2 EQ 'GRP'.
wa_cols2-invisible = 1.
wa_cols2-screen-active = 0.
ENDIF.
* << Fim da inclusão
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'.
...
...
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.
* >> Início da inclusão: FORM CHECK_FIELD_0225
ENDIF.
* << Fim da inclusão
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.
...
----------------------------------------------------------------------------------------------------
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
DATA: v_conv1 TYPE /pws/zycit245-qtd_ncm,
v_conv2 TYPE /pws/zycit245-qtd_ncm.
* << Fim da inclusão
IF NOT itab_zycit247[] IS INITIAL AND
/pws/zycit321-c_comum IS INITIAL.
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.
...
...
REFRESH itab_zycit369.
SELECT * FROM /pws/zycit369 INTO TABLE itab_zycit369
WHERE nrseq EQ itab_zycit247-mat_int
AND vigen_inicio <= sy-datum
AND vigen_fim >= sy-datum.
IF sy-subrc NE 0.
MESSAGE w015 WITH text-261 text-262 itab_zycit247-mat_int.
CONTINUE.
ENDIF.
LOOP AT itab_zycit369.
* >> Início da inclusão: FORM TRATA_TAB_IMP2_MERC
IF /pws/zycit321-ltopc EQ 1.
CLEAR: itab_zycit427.
itab_zycit427-usagem = itab_zycit369-menge.
itab_zycit427-qtd_iten = itab_zycit247-qtd_iten *
itab_zycit369-menge.
itab_zycit427-meins = itab_zycit369-meins.
itab_zycit427-stlal = itab_zycit369-stlal.
itab_zycit427-werks = itab_zycit369-werks.
itab_zycit427-agrup = itab_zycit369-agrup.
itab_zycit427-mvgr1 = itab_zycit369-mvgr1.
itab_zycit427-ncm = itab_zycit369-steuc.
SELECT SINGLE text1 FROM t604n INTO itab_zycit427-descr
WHERE spras = sy-langu
AND land1 = 'BR'
AND steuc = itab_zycit427-ncm.
PERFORM busca_um_ncm USING itab_zycit427-ncm
CHANGING itab_zycit427-umncm.
IF itab_zycit427-meins EQ itab_zycit427-umncm .
itab_zycit427-qtd_ncm = itab_zycit427-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 = itab_zycit427-meins
unit_out = itab_zycit427-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.
itab_zycit427-qtd_ncm =
( itab_zycit427-qtd_iten / v_um_ren ) * v_um_rez.
ENDIF.
ENDIF.
ELSE.
* << Fim da inclusão
CLEAR: itab_zycit427, v_centro.
SELECT matnr FROM /pws/zycit281
INTO TABLE itab_matnr
WHERE matnr EQ itab_zycit369-matnr.
IF sy-dbcnt > 1.
v_centro = 'X'.
ENDIF.
itab_zycit427-usagem = itab_zycit369-menge.
itab_zycit427-qtd_iten = itab_zycit247-qtd_iten *
itab_zycit369-menge.
...
...
CLEAR itab_zycit427-ncm.
SELECT SINGLE steuc FROM marc INTO itab_zycit427-ncm
WHERE matnr EQ itab_zycit427-matnr
AND werks EQ itab_zycit427-werks.
itab_zycit427-umncm = itab_zycit427-meins.
itab_zycit427-qtd_ncm = itab_zycit427-qtd_iten.
PERFORM converte_um_ncm USING itab_zycit427-matnr
CHANGING itab_zycit427-umncm
itab_zycit427-werks
itab_zycit427-qtd_ncm.
* >> Início da inclusão: FORM TRATA_TAB_IMP2_MERC
ENDIF.
* << Fim da inclusão
ENDIF.
COLLECT itab_zycit427.
ENDLOOP.
ENDLOOP.
LOOP AT itab_zycit427.
itab_zycit427-item = sy-tabix * 10.
MODIFY itab_zycit427 TRANSPORTING item.
ENDLOOP.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040I01
...
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 exclusão: MODULE INSERT_LINE_COMPROV_ME
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: MODULE INSERT_LINE_COMPROV_ME
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
PERFORM fill_itab_zycit247_inter.
ELSE.
PERFORM fill_itab_zycit247_tg2.
ENDIF.
ELSE.
IF v_agrup IS INITIAL.
* >> Início da exclusão: MODULE INSERT_LINE_COMPROV_ME
IF /pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: MODULE INSERT_LINE_COMPROV_ME
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
PERFORM fill_itab_zycit247_inter.
ELSE.
PERFORM fill_itab_zycit247_ng2.
ENDIF.
ELSE.
PERFORM fill_itab_zycit247_agrup.
ENDIF.
ENDIF.
ENDMODULE.
MODULE preenche_itab_zycit247 INPUT.
...
...
ENDCASE.
ENDMODULE.
MODULE altera_werks2 INPUT.
AUTHORITY-CHECK OBJECT 'C_PPBD'
ID 'AKTTYP' FIELD 'V'
ID 'WERKS' FIELD /pws/zycie244-werks.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-292 /pws/zycie244-werks.
CLEAR /pws/zycie244-werks.
ENDIF.
* >> Início da exclusão: MODULE ALTERA_WERKS2
IF /pws/zycie244-tipo EQ 'N' .
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTERA_WERKS2
IF /pws/zycie244-tipo EQ 'N' AND /pws/zycie244-modalidade EQ 'S'.
* << Fim da inclusão
LOOP AT itab_zycit427 WHERE werks NE /pws/zycie244-werks AND
werks NE space.
READ TABLE itab_centros2 WITH KEY werks = itab_zycit427-werks.
IF sy-subrc NE 0.
MESSAGE w061 WITH text-259 text-260.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT itab_zycit247.
READ TABLE itab_centros2 WITH KEY werks = itab_zycit247-werks.
...
...
IF sy-subrc NE 0.
CLEAR: /pws/zycie244-kunnr, /pws/zycie244-name1,
/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.
* >> Início da inclusão: MODULE PREENCHE_ESTRUTURA_0225
DATA: v_item TYPE i.
IF /pws/zycie427-item IS INITIAL.
SORT itab_zycit427 DESCENDING BY item.
CLEAR: itab_zycit427.
READ TABLE itab_zycit427 INDEX 1.
v_item = itab_zycit427-item.
ADD 10 TO v_item .
MOVE v_item TO /pws/zycie427-item.
SHIFT /pws/zycie427-item RIGHT DELETING TRAILING space.
OVERLAY /pws/zycie427-item WITH '00000'.
SORT itab_zycit427 BY item.
ENDIF.
* << Fim da inclusão
itab_zycit427 = /pws/zycie427.
itab_zycit427-mark = mark.
CHECK NOT /pws/zycie427-matnr IS INITIAL OR
NOT /pws/zycie427-ncm IS INITIAL .
* >> Início da exclusão: MODULE PREENCHE_ESTRUTURA_0225
itab_zycit427-item = tc_merc-current_line * 10 .
* << Fim da exclusão
MODIFY itab_zycit427 INDEX tc_merc-current_line.
IF sy-subrc NE '0'.
APPEND itab_zycit427.
* >> Início da exclusão: MODULE PREENCHE_ESTRUTURA_0225
itab_zycit427-item = sy-tabix * 10 .
MODIFY itab_zycit427 INDEX sy-tabix.
* << Fim da exclusão
ENDIF.
ENDMODULE.
MODULE alter_linha_0225 INPUT.
DATA wa_zycit281_temp LIKE /pws/zycit281.
DATA: v_conv1 TYPE /pws/zycit245-qtd_ncm,
v_conv2 TYPE /pws/zycit245-qtd_ncm.
* >> Início da inclusão: MODULE ALTER_LINHA_0225
IF /pws/zycit321-ltopc EQ '1'.
SELECT SINGLE * FROM /pws/zycit369
WHERE mvgr1 EQ /pws/zycie427-mvgr1
AND agrup EQ /pws/zycie427-agrup
AND steuc EQ /pws/zycie427-ncm
AND werks EQ /pws/zycie427-werks
AND stlal EQ /pws/zycie427-stlal. "#EC CI_NOFIRST
IF sy-subrc EQ 0.
/pws/zycie427-meins = /pws/zycit369-meins.
CLEAR : /pws/zycie427-umncm, /pws/zycie427-qtd_ncm.
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.
v_verificp2 = 'N'.
ELSE.
CLEAR: /pws/zycie427.
ENDIF.
ELSE.
* << Fim da inclusão
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'.
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.
...
...
MESSAGE i015 WITH text-232 /pws/zycie427-werks text-263.
DELETE itab_zycit427 INDEX tc_merc-current_line.
CLEAR /pws/zycie427.
EXIT.
ENDIF.
SELECT SINGLE * FROM /pws/zycit281 INTO wa_zycit281_temp
WHERE matnr EQ /pws/zycie427-matnr
AND werks EQ /pws/zycie427-werks.
ENDIF.
IF sy-subrc EQ 0.
* >> Início da exclusão: MODULE ALTER_LINHA_0225
SELECT SINGLE * FROM /pws/zycit369 "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: MODULE ALTER_LINHA_0225
SELECT SINGLE * FROM /pws/zycit369 "#EC CI_NOFIRST
* << Fim da inclusão
WHERE matnr EQ /pws/zycie427-matnr
AND kunnr EQ /pws/zycie244-kunnr.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-258 /pws/zycie427-matnr text-264
/pws/zycie244-kunnr.
CLEAR /pws/zycie427.
EXIT.
ENDIF.
ENDIF.
IF sy-subrc EQ 0.
...
...
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.
* >> Início da inclusão: MODULE ALTER_LINHA_0225
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDMODULE.
MODULE user_command_0225 INPUT.
CASE ok_code2.
WHEN 'MALL'.
itab_zycit427-mark = 'X'.
MODIFY itab_zycit427 TRANSPORTING mark
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040O01
...
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.
WHEN '0225'.
PERFORM check_field_0225.
* >> Início da inclusão: MODULE SET_SCREEN2
WHEN '0227'.
LOOP AT SCREEN.
IF /pws/zycit321-ltopc EQ '1'.
IF screen-group2 EQ 'MAT'.
screen-invisible = 1.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ELSE.
IF screen-group2 EQ 'GRP'.
screen-invisible = 1.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
* << 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.
...
...
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.
IF /pws/zycit321-c_comum EQ 'X' AND
* >> Início da exclusão: MODULE TRATA_SCREEN_0223
/pws/zycie244-tipo EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: MODULE TRATA_SCREEN_0223
/pws/zycie244-tipo EQ 'N' and /pws/zycie244-modalidade eq 'S'.
* << Fim da inclusão
SELECT SINGLE descr FROM /pws/zycit368 INTO v_descr_0223
WHERE nrseq = /pws/zycie248c-matnr.
ENDIF.
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 .
...
...
MOVE 'X' TO itab_forms-v_mark.
ENDIF.
DESCRIBE TABLE itab_forms LINES tc_forms-lines.
ENDMODULE.
MODULE preenche_estrutura_0225 OUTPUT.
DATA v_linhas TYPE i.
/pws/zycie427 = itab_zycit427.
mark = itab_zycit427-mark.
/pws/zycie427-nrseqd = /pws/zycie244-nrseqd.
/pws/zycie427-vlfob_t = /pws/zycie427-vlfob * /pws/zycie427-qtd_iten.
* >> Início da inclusão: MODULE PREENCHE_ESTRUTURA_0225
IF /pws/zycit321-ltopc EQ '1'.
LOOP AT SCREEN .
IF NOT /pws/zycie427-werks IS INITIAL AND
screen-group2 EQ 'GRP'.
screen-input = 0.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE427-QTD_NCM' AND
NOT /pws/zycie427-qtd_iten IS INITIAL AND
/pws/zycie427-qtd_ncm IS INITIAL AND
NOT /pws/zycie427-umncm IS INITIAL.
screen-input = 1.
screen-required = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
* << Fim da inclusão
IF NOT /pws/zycie427-matnr IS INITIAL.
SELECT SINGLE maktx FROM makt INTO /pws/zycie427-descr
WHERE matnr EQ /pws/zycie427-matnr.
LOOP AT SCREEN .
IF screen-name EQ '/PWS/ZYCIE427-MATNR'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE427-WERKS' .
IF NOT /pws/zycie427-werks IS INITIAL.
screen-input = 0.
MODIFY SCREEN.
ELSEIF NOT /pws/zycie427-matnr IS INITIAL.
screen-required = 1.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
* >> Início da inclusão: MODULE PREENCHE_ESTRUTURA_0225
ENDIF.
* << Fim da inclusão
ENDIF.
DESCRIBE TABLE itab_zycit427 LINES v_linhas.
tc_merc-lines = v_linhas + 10 .
ENDMODULE.
MODULE status_0226 OUTPUT.
ts_comp_mec-activetab = pressed_tab_8a.
ENDMODULE.
MODULE preenche_estrutura_0227 OUTPUT.
CLEAR v_sld_compv2.
MOVE:
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE247
Incluida tabela de verificação para o campo MAT_IMT
Tabela chave externa Cpo.chave externa Tab.verif. Nome de campo
/PWS/ZYCIE247 MANDT /PWS/ZYCIT368 MANDT
/PWS/ZYCIE247 MAT_INT /PWS/ZYCIT368 NRSEQ
/PWS/ZYCIE244 KUNNR /PWS/ZYCIT368 KUNNR
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE427
Nome campo Elem.dados Tab.verif. N CtDt Comp.
MANDT MANDT CLNT 3
NRSEQD /PWS/ZYCIL435 CHAR 10
MATNR MATNR CHAR 18
* >> Campo modificado :
*De.
ITEM BUZEI NUMC 3
*Para.
ITEM CHAR05 CHAR 5
* >> Início da inclusão:
AGRUP /PWS/ZYGLL1072 CHAR 3
MVGR1 MVGR1 CHAR 3
* << Fim da inclusão
DESCR MAKTX CHAR 40
STLAN /PWS/ZYCIL547 CHAR 1
STLNR STNUM CHAR 8
STLAL STALT CHAR 2
WERKS WERKS_D CHAR 4
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE432
Nome campo Elem.dados Tab.verif. N CtDt Comp.
...
VL_ITNF J_1BNETVAL CURR 15
FLAG XFELD CHAR 1
DTNF J_1BDOCDAT DATS 8
QTD_COMPV /PWS/ZYCIL473 QUAN 23
* >> Início da inclusão:
ITEM CHAR05 CHAR 5
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT427
Nome campo Chv Elem.dados Tab.verif. CtDt Comp.
MANDT X MANDT CLNT 3
NRSEQD X /PWS/ZYCIL435 CHAR 10
MATNR X MATNR CHAR 18
* >> Campo modificado :
*De.
ITEM X BUZEI NUMC 3
*Para.
ITEM X CHAR05 CHAR 5
* >> Início da inclusão:
AGRUP X /PWS/ZYGLL1072 CHAR 3
MVGR1 X MVGR1 CHAR 3
* << Fim da inclusão
DESCR MAKTX CHAR 40
STLAN /PWS/ZYCIL547 CHAR 1
STLNR STNUM CHAR 8
STLAL STALT CHAR 2
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT432
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp.
...
VL_ITNF J_1BNETVAL CURR 15
FLAG XFELD CHAR 1
DTNF J_1BDOCDAT DATS 8
QTD_COMPV /PWS/ZYCIL473 QUAN 23
* >> Início da inclusão:
ITEM CHAR05 CHAR 5
* << Fim da inclusão