Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 10/02/2010 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:46:16
Descrição da Nota: CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB
Sintoma
Incluída função para converter as unides de medida;
Unificação das mensagens de erro da explosão da listatécnica.
Solução
Incluída função para converter as unides de medida;
Unificação das mensagens de erro da explosão da listatécnica.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09813 Data: 10/02/2010 Hora: 10:55:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09813
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00008
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07394 - 00001 - 7.0 - 00007 - PERTIMIR UTILIZAÇÃO DE ATO CONCESSÓRIO GENÉRICO E COMUM AO MESMO
07726 - 00002 - 7.0 - 00007 - CÓDIGO DE ENQUADRAMENTO (EXPORTAÇÃO)
07779 - 00003 - 7.0 - 00008 - CENTROS ASSOCIADOS AO ATO CONCESSÓRIO
08558 - 00004 - 7.0 - 00010 - FUNÇÃO DE CONVERSÃO UNIDADES PARA A UNIDADE NCM OU BASICA DO MATE
09167 - 00005 - 8.0 - 00001 - DESENVOLVIMENTO DA LISTA TÉCNICA COMPLEMENTAR.
09689 - 00006 - 8.0 - 00002 - DESENVOLVIMENTO DO DRAFT DO ATO CONCESSÓRIO.
----------------------------------------------------------------------------------------------------
CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB
----------------------------------------------------------------------------------------------------
Palavras Chave:
DRAWBACK FUNÇÃO CONVERSÃO DE UNIDADES DE MEDIDA ESTATÍSTICA UMB
MENSAGENS DA EXPLOSÃO DA LISTA TÉCNICA
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI040 0203
FUNC /PWS/COVERT_UN_MATERIAL
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI040O01
REPS /PWS/MZYCI040X01
REPS /PWS/MZYCI063F01
REPS /PWS/MZYCI063X01
REPS /PWS/MZYCI064F03
REPS /PWS/MZYCI064X01
REPS /PWS/MZYCI068F01
REPS /PWS/MZYCI068X01
REPS /PWS/ZYCIR106
REPS /PWS/ZYCIR254
REPS /PWS/ZYCIR254F01
REPS /PWS/ZYCIR254X01
REPS /PWS/ZYCIR325F01
REPS /PWS/ZYCIR325X01
REPT /PWS/SAPLZYCIGF6
REPT /PWS/SAPMZYCI068
REPT /PWS/ZYCIR254
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/COVERT_UN_MATERIAL
*Parametros de Importação:
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
Nome parâmetro Atrib.tipo Tipo referência Valor proposto Opcional Transfer.valor
CONV TYPE CSDATA-XFELD 'X'
*>> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
CONV TYPE CSDATA-XFELD ' '
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/COVERT_UN_MATERIAL
...
v_um_rez TYPE i,
v_um_ren TYPE i,
v_um_rez2 TYPE i,
v_um_ren2 TYPE i,
v_um_rez1 TYPE marm-umrez,
v_um_ren1 TYPE marm-umren,
v_j_1bnbm TYPE /pws/zycit247-j_1bnbm,
v_umncm TYPE /pws/zyglt204-msehi .
DATA: v_conv1 TYPE /pws/zycit245-qtd_ncm,
v_conv2 TYPE /pws/zycit245-qtd_ncm.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF conv EQ 'X'.
IF ncm IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
DATA: e_subrc VALUE '0'.
CLEAR itab_zyglt100.
REFRESH itab_zyglt100.
PERFORM verifica_exit TABLES itab_zyglt100
USING 'D'
'/PWS/COVERT_UN_MATERIAL'
'CVTO001'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'CVTO001' BINARY SEARCH.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
IF sy-subrc EQ 0.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa)
USING matnr
meins
qtde
conv
land
ncm
CHANGING qtds
un_s
IF FOUND.
ENDIF.
IF e_subrc EQ '8'.
EXIT.
ENDIF.
ENDIF.
IF conv IS INITIAL AND NOT matnr IS INITIAL.
IF ncm IS INITIAL AND meins_p IS INITIAL.
* << Fim da inclusão
CLEAR v_cod_umncm.
SELECT SINGLE a~steuc INTO v_j_1bnbm
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ matnr
AND a~steuc NE space
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
AND b~land1 EQ land. "#EC CI_BUFFJOIN
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
AND b~land1 EQ land. "#EC CI_BUFFJOIN
* << Fim da inclusão
ELSE.
v_j_1bnbm = ncm.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF v_j_1bnbm IS INITIAL.
RAISE ncm_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF v_j_1bnbm IS INITIAL AND meins_p IS INITIAL.
MESSAGE e015(/pws/zycim) WITH text-048 matnr
RAISING ncm_not_found.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF sy-subrc EQ 0 AND meins_p IS INITIAL.
* << Fim da inclusão
SELECT SINGLE /pws/zum
FROM t604f INTO v_cod_umncm
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
WHERE steuc = v_j_1bnbm. "#EC CI_GENBUFF
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
WHERE steuc = v_j_1bnbm
AND land1 = land . "#EC CI_GENBUFF
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF NOT v_cod_umncm IS INITIAL.
SELECT SINGLE msehi "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF NOT v_cod_umncm IS INITIAL OR NOT meins_p IS INITIAL.
IF meins_p IS INITIAL.
SELECT SINGLE msehi "#EC CI_NOFIELD
* << Fim da inclusão
FROM /pws/zyglt204 INTO v_umncm
WHERE zum = v_cod_umncm.
IF v_umncm IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE un_ncm_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-049
RAISING un_ncm_not_found.
ENDIF.
ELSE.
v_umncm = meins_p.
* << Fim da inclusão
ENDIF.
v_conv1 = 1.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'
EXPORTING
input = v_conv1
no_type_check = 'X'
round_sign = 'X'
unit_in = meins
unit_out = v_umncm
IMPORTING
...
...
unit_out_not_found = 9
OTHERS = 10.
IF sy-subrc = 0.
CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.
qtds = ( qtde / v_um_ren ) * v_um_rez.
ENDCATCH.
IF sy-subrc EQ 0.
un_s = v_umncm.
EXIT.
ELSE.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE overflow.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-050 RAISING overflow.
* << Fim da inclusão
ENDIF.
ELSEIF matnr IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE conversion_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-051
RAISING conversion_not_found.
* << Fim da inclusão
ENDIF.
ELSE.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE un_ncm_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-046 text-047 v_j_1bnbm
RAISING un_ncm_not_found.
* << Fim da inclusão
ENDIF.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF meins_p IS INITIAL.
* << Fim da inclusão
SELECT SINGLE meins FROM mara INTO v_meinsb
WHERE matnr EQ matnr.
IF sy-subrc NE 0.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE material_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-051 RAISING material_not_found.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
ELSE.
v_meinsb = meins_p.
ENDIF.
* << Fim da inclusão
IF v_meinsb NE meins.
v_conv1 = 1.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'
EXPORTING
...
...
units_missing = 7
unit_in_not_found = 8
unit_out_not_found = 9
OTHERS = 10.
IF sy-subrc <> 0.
SELECT SINGLE umrez umren
FROM marm INTO (v_um_rez1, v_um_ren1)
WHERE matnr = matnr
AND meinh = meins.
IF sy-subrc NE 0.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE conversion_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-044 meins text-045 matnr
RAISING conversion_not_found.
* << Fim da inclusão
ELSE.
v_um_rez = v_um_rez1.
v_um_ren = v_um_ren1.
ENDIF.
ENDIF.
IF v_um_rez IS INITIAL
OR v_um_ren IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE conversion_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-051
RAISING conversion_not_found.
* << Fim da inclusão
ENDIF.
ELSE.
v_um_ren = 1.
v_um_rez = 1.
ENDIF.
IF v_meinsb NE v_umncm AND
NOT v_umncm IS INITIAL.
v_conv1 = 1.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'
EXPORTING
...
...
units_missing = 7
unit_in_not_found = 8
unit_out_not_found = 9
OTHERS = 10.
IF sy-subrc <> 0.
SELECT SINGLE umrez umren
FROM marm INTO (v_um_rez1, v_um_ren1)
WHERE matnr = matnr
AND meinh = v_umncm.
IF sy-subrc NE 0.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE conversion_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-044 v_umncm text-045 matnr
RAISING conversion_not_found.
* << Fim da inclusão
ELSE.
v_um_rez2 = v_um_rez1.
v_um_ren2 = v_um_ren1.
ENDIF.
ENDIF.
IF v_um_rez IS INITIAL
OR v_um_ren IS INITIAL.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE conversion_not_found.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-051
RAISING conversion_not_found.
* << Fim da inclusão
ENDIF.
ELSE.
v_um_ren2 = 1.
v_um_rez2 = 1.
ENDIF.
CATCH SYSTEM-EXCEPTIONS arithmetic_errors = 5.
qtds = qtde *
( ( v_um_rez / v_um_ren ) * ( v_um_ren2 / v_um_rez2 ) ).
ENDCATCH.
IF sy-subrc NE 5.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF conv EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
IF conv IS INITIAL.
* << Fim da inclusão
un_s = v_umncm.
ELSE.
un_s = v_meinsb.
ENDIF.
EXIT.
ELSE.
* >> Início da exclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
RAISE overflow.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/COVERT_UN_MATERIAL
MESSAGE e015(/pws/zycim) WITH text-050 RAISING overflow.
ENDIF.
CLEAR itab_zyglt100.
REFRESH itab_zyglt100.
PERFORM verifica_exit TABLES itab_zyglt100
USING 'D'
'/PWS/COVERT_UN_MATERIAL'
'CVTO002'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'CVTO002' BINARY SEARCH.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
IF sy-subrc EQ 0.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa)
USING matnr
meins
qtde
conv
land
ncm
CHANGING qtds
un_s
IF FOUND.
ENDIF.
IF e_subrc EQ '8'.
EXIT.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
ENDLOOP.
IF v_null2 EQ 'S'.
MESSAGE w015 WITH text-072 text-073.
EXIT.
ENDIF.
ENDIF.
SELECT SINGLE ltopc FROM /pws/zycit321 INTO v_agrup.
IF v_agrup IS INITIAL.
PERFORM verifica_componentes2.
PERFORM lista_tecnica.
* >> Início da inclusão: FORM TRATA_TAB_IMP2
IF NOT it_log_erro[] IS INITIAL.
CALL SCREEN '0222' STARTING AT 3 4.
CLEAR it_log_erro. REFRESH it_log_erro.
ENDIF.
* << Fim da inclusão
ELSE.
PERFORM verifica_componentes_agrup.
ENDIF.
ENDIF.
pressed_tab_2a = ok_code2.
dynpronr2a = '0202'.
pressed_tab_3a = 'FS_COMPI2'.
dynpronr3a = '0203'.
tc_cimp2-top_line = 1.
tc_realizi-top_line = 1.
...
...
CLEAR it_materiais. REFRESH it_materiais.
it_materiais-matnr = p_matnr.
it_materiais-werks = p_werks.
it_materiais-stlan = p_stlan.
it_materiais-stlnr = p_stlnr.
it_materiais-stlal = p_stlal.
it_materiais-capid = p_capid.
APPEND it_materiais.
EXPORT it_materiais TO MEMORY ID idmemory1.
SUBMIT (v_trans) AND RETURN. "#EC CI_SUBMIT
* >> Início da inclusão: FORM EXPLODE_LISTA
IMPORT i_log FROM MEMORY ID 'idmemory3'.
* << Fim da inclusão
IMPORT i_final FROM MEMORY ID idmemory2.
IF sy-subrc NE 0 OR i_final[] IS INITIAL.
ENDIF.
* >> Início da inclusão: FORM EXPLODE_LISTA
IF NOT i_log[] IS INITIAL.
LOOP AT i_log.
MOVE i_log-msg TO it_log_erro.
COLLECT it_log_erro.
ENDLOOP.
ENDIF.
FREE MEMORY ID 'idmemory3'.
* << Fim da inclusão
ENDFORM.
FORM preenche_importados.
LOOP AT i_final.
CLEAR itab_zycit245.
MOVE: /pws/zycie244-nrseqd TO itab_zycit245-nrseqd ,
i_final-insumo TO itab_zycit245-codcomp ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040X01
...
vltot_brl LIKE /pws/zycie246-vltot,
v_tcode2 LIKE sy-tcode .
DATA: v_icorealiz TYPE icons-text .
DATA: v_txtfrete(20) TYPE c .
DATA: v_txtseguro(20) TYPE c .
DATA v_ordena(132) TYPE c.
DATA v_exec TYPE c.
DATA fs_mexp2(20) TYPE c.
DATA: v_statusv TYPE c.
DATA: v_seq LIKE /pws/zycie244-nrseqd.
* >> Início da inclusão:
DATA: BEGIN OF i_log OCCURS 0.
DATA: msg(200) TYPE c,
END OF i_log.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI063F01
...
MODIFY itab_compi_final TRANSPORTING txcofins
WHERE txcofins EQ space.
itab_compn_final-txcofins = itab_zycit407-aliquotas.
MODIFY itab_compn_final TRANSPORTING txcofins
WHERE txcofins EQ space.
ENDIF.
v_verificp = 'S'.
DESCRIBE TABLE itab_exp LINES v_verifiit.
MESSAGE s015 WITH text-023.
PERFORM atualiza_impostos.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES
IF NOT it_log_erro[] IS INITIAL.
CALL SCREEN '0222' STARTING AT 3 4.
CLEAR it_log_erro. REFRESH it_log_erro.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM atualiza_valores_comps.
it_cpi[] = itab_compi_final[].
LOOP AT itab_exp.
IF NOT itab_exp-qtd_aditiv IS INITIAL.
v_qtdmat = itab_exp-qtd_aditiv.
ELSE.
v_qtdmat = itab_exp-qtd_iten.
ENDIF.
LOOP AT itab_compn_final.
...
...
CLEAR it_materiais. REFRESH it_materiais.
it_materiais-matnr = p_matnr.
it_materiais-werks = p_werks.
it_materiais-stlan = p_stlan.
it_materiais-stlnr = p_stlnr.
it_materiais-stlal = p_stlal.
it_materiais-capid = p_capid.
APPEND it_materiais.
EXPORT it_materiais TO MEMORY ID idmemory1.
SUBMIT (v_trans) AND RETURN. "#EC CI_SUBMIT
* >> Início da inclusão: FORM EXPLODE_LISTA
IMPORT i_log FROM MEMORY ID 'idmemory3'.
* << Fim da inclusão
IMPORT i_final FROM MEMORY ID idmemory2.
IF sy-subrc NE 0 OR i_final[] IS INITIAL.
ENDIF.
* >> Início da inclusão: FORM EXPLODE_LISTA
IF NOT i_log[] IS INITIAL.
LOOP AT i_log.
MOVE i_log-msg TO it_log_erro.
COLLECT it_log_erro.
ENDLOOP.
ENDIF.
FREE MEMORY ID 'idmemory3'.
* << Fim da inclusão
ENDFORM.
FORM confirm_expl_bom CHANGING p_flag.
DATA: v_cfm(1) TYPE c,
v_pergunta(128).
CONCATENATE text-260 text-261 INTO v_pergunta.
CALL FUNCTION 'POPUP_TO_CONFIRM'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI063X01
...
capid LIKE tc04-capid.
DATA: END OF it_materiais.
DATA: BEGIN OF i_final OCCURS 0,
insumo LIKE mara-matnr,
produto LIKE stpox-idnrk,
centro LIKE stpox-werks,
ncm LIKE marc-steuc,
qtunit TYPE /pws/zycit245-qtd_iten,
meins LIKE stpox-meins.
DATA: END OF i_final.
* >> Início da inclusão:
DATA: BEGIN OF i_log OCCURS 0.
DATA: msg(200) TYPE c,
END OF i_log.
* << Fim da inclusão
DATA: BEGIN OF itab_zycit475 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit475.
DATA: END OF itab_zycit475.
DATA: itab_zycit407 LIKE /pws/zycit407 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
DATA: e_subrc VALUE '0'.
DATA: toolbar_container1 TYPE REF TO cl_gui_custom_container,
toolbar_container3 TYPE REF TO cl_gui_custom_container,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI064F03
...
ENDIF.
ELSE.
IF /pws/zycie258-tipo EQ 'C' OR
/pws/zycie258-tipo EQ 'N'.
PERFORM seleciona_di3_l.
PERFORM seleciona_di_l.
ELSE.
PERFORM seleciona_nf_l.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM VERIFICA_COMPONENTES3
IF NOT it_log_erro3[] IS INITIAL.
CALL SCREEN '0313' STARTING AT 3 4.
CLEAR it_log_erro3. REFRESH it_log_erro3.
ENDIF.
* << Fim da inclusão
MESSAGE s015 WITH text-023.
ENDFORM.
FORM check_fields_screen_0309.
LOOP AT SCREEN.
IF v_tcode3 EQ '/PWS/ZYCI040_L'.
IF screen-group4 EQ 'BTN'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
...
...
CLEAR it_materiais. REFRESH it_materiais.
it_materiais-matnr = p_matnr.
it_materiais-werks = p_werks.
it_materiais-stlan = p_stlan.
it_materiais-stlnr = p_stlnr.
it_materiais-stlal = p_stlal.
it_materiais-capid = p_capid.
APPEND it_materiais.
EXPORT it_materiais TO MEMORY ID idmemory1.
SUBMIT (v_trans) AND RETURN. "#EC CI_SUBMIT
* >> Início da inclusão: FORM EXPLODE_LISTA
IMPORT i_log FROM MEMORY ID 'idmemory3'.
* << Fim da inclusão
IMPORT i_final FROM MEMORY ID idmemory2.
IF sy-subrc NE 0 OR i_final[] IS INITIAL.
ENDIF.
* >> Início da inclusão: FORM EXPLODE_LISTA
IF NOT i_log[] IS INITIAL.
LOOP AT i_log.
MOVE i_log-msg TO it_log_erro3.
COLLECT it_log_erro3.
ENDLOOP.
ENDIF.
FREE MEMORY ID 'idmemory3'.
* << Fim da inclusão
ENDFORM.
FORM seleciona_nf3.
REFRESH: itab_j_1bnflin,
itab_j_1bnfdoc,
itab_insumo_nf,
itab_sel_doc ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI064X01
...
DATA : vbelv LIKE vbfa-vbelv ,
vbeln LIKE vbfa-vbeln ,
posnn LIKE vbfa-posnn ,
posnv LIKE vbfa-posnv ,
vbtyp_v LIKE vbfa-vbtyp_v,
vbtyp_n LIKE vbfa-vbtyp_n.
DATA : END OF itab_vbfa .
DATA: BEGIN OF itab_zycet078 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet078.
DATA: END OF itab_zycet078.
* >> Início da inclusão:
DATA: BEGIN OF i_log OCCURS 0.
DATA: msg(200) TYPE c,
END OF i_log.
* << Fim da inclusão
DATA: END OF COMMON PART.
SELECTION-SCREEN BEGIN OF SCREEN 0312 AS WINDOW TITLE text-098.
SELECT-OPTIONS p_matnr FOR mara-matnr.
PARAMETERS: p_dtexp1 LIKE /pws/zycee116-dtincl,
p_dtexp2 LIKE /pws/zycee116-dtincl.
SELECTION-SCREEN END OF SCREEN 0312.
SELECTION-SCREEN BEGIN OF SCREEN 0326 AS WINDOW TITLE text-098.
SELECT-OPTIONS: s_prodt FOR /pws/zycie495-codigo OBLIGATORY,
s_data FOR sy-datum.
SELECTION-SCREEN END OF SCREEN 0326.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI068F01
...
v_um_ren TYPE i,
v_um_rez2 TYPE i,
v_um_ren2 TYPE i,
v_um_rez1 LIKE marm-umrez,
v_um_ren1 LIKE marm-umren,
v_j_1bnbm LIKE /pws/zycit247-j_1bnbm,
v_umncm LIKE /pws/zyglt204-msehi ,
v_qtd_ncm LIKE /pws/zycit247-qtd_ncm.
DATA: v_conv1 TYPE /pws/zycit245-qtd_ncm,
v_conv2 TYPE /pws/zycit245-qtd_ncm.
* >> Início da inclusão: FORM CONVERTE_UM_NCM
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI040'
'VIN006'.
e_subrc = 0.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'VIN006' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa)
USING p_matnr
CHANGING e_subrc
p_meins
p_werks
p_qtd
IF FOUND .
IF e_subrc EQ '8'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
CLEAR: v_um_rez, v_um_ren, v_codpais, v_cod_umncm, v_umncm,
v_um_rez2, v_um_ren2.
IF p_werks IS INITIAL.
CLEAR p_qtd.
EXIT.
ENDIF.
CLEAR v_cod_umncm.
SELECT SINGLE steuc FROM marc INTO v_j_1bnbm
WHERE matnr EQ p_matnr
AND werks EQ p_werks.
...
...
ENDFORM.
FORM vic_ped.
REFRESH: itab_zycit376.
CLEAR: /pws/zycie376, v_qtd_tot, v_vlfob.
itab_zycit376[] = itab_zycit376_t[].
DELETE itab_zycit376 WHERE marc NE 'X'.
LOOP AT itab_zycit376.
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit376-ebeln
ebelp = itab_zycit376-ebelp.
itab_zycit376-qtd_apro = itab_zycit376-qtd_iten.
* >> Início da exclusão: FORM VIC_PED
PERFORM converte_um_ncm USING itab_zycit376-matnr
CHANGING itab_zycit376-meins
itab_ekpo-werks
itab_zycit376-qtd_apro.
* << Fim da exclusão
* >> Início da inclusão: FORM VIC_PED
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = itab_zycit376-matnr
meins = itab_zycit376-meins
qtde = itab_zycit376-qtd_apro
land = t001-land1
IMPORTING
qtds = itab_zycit376-qtd_apro
un_s = itab_zycit376-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* << Fim da inclusão
IF itab_zycit376-qtd_iten IS INITIAL OR
itab_zycit376-qtd_apro IS INITIAL.
DELETE itab_zycit376.
CONTINUE.
ENDIF.
IF s_apr IS INITIAL.
/pws/zycie376 = itab_zycit376.
ENDIF.
MODIFY itab_zycit376.
v_qtd_tot = v_qtd_tot + itab_zycit376-qtd_apro.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR106
...
v_centro LIKE marc-werks ,
v_stlal LIKE stpox-stlal ,
dtval LIKE sy-datum ,
tipo LIKE mara-mtart ,
unidade LIKE mara-meins ,
p_centro LIKE marc-werks ,
pnivel(1) TYPE c ,
so_data LIKE sy-datum ,
idmemory1 LIKE indx-srtfd VALUE 'ITMAT',
idmemory2 LIKE indx-srtfd VALUE 'ITINS'.
* >> Início da inclusão:
DATA: BEGIN OF i_log OCCURS 0.
DATA: msg(200) TYPE c,
END OF i_log.
* << Fim da inclusão
START-OF-SELECTION.
SELECT SINGLE * FROM /pws/zycit321 INTO wa_zycit321.
IF sy-subrc NE 0.
FREE MEMORY ID idmemory2.
ELSE.
IMPORT it_materiais FROM MEMORY ID idmemory1.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit322 INTO TABLE itab_zycit322."#EC CI_NOWHERE
SELECT matnr mtart meins INTO TABLE i_mara FROM mara
FOR ALL ENTRIES IN it_materiais
...
...
PERFORM f_lista_tecnica USING i_mara-matnr
v_centro
i_mara-mtart
dtval
tipo
unidade
pnivel.
ENDLOOP.
PERFORM lista_complem.
EXPORT i_final TO MEMORY ID idmemory2.
* >> Início da inclusão:
EXPORT i_log TO MEMORY ID 'idmemory3'.
* << Fim da inclusão
FREE MEMORY ID idmemory1.
ELSE.
FREE MEMORY ID idmemory2.
ENDIF.
ENDIF.
FORM f_lista_tecnica USING v_item v_centro v_mtart
v_dtval v_tipo v_meins v_prim_nivel.
DATA: BEGIN OF itab_t415s OCCURS 0.
DATA: stlst TYPE t415s-stlst.
DATA: END OF itab_t415s.
...
...
i_final-meins = i_mat-meins.
IF NOT itab_zycit322[] IS INITIAL.
READ TABLE itab_zycit322 WITH KEY matnr = i_final-insumo.
IF sy-subrc EQ 0.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON"#EC CI_BUFFJOIN
a~werks EQ b~werks )
WHERE a~matnr EQ i_final-produto
AND a~steuc NE space
AND b~land1 EQ t001w-land1.
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON "#EC CI_BUFFJOIN
a~werks EQ b~werks )
WHERE a~matnr EQ i_final-produto
AND a~steuc NE space
AND b~land1 EQ t001w-land1.
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF NOT i_mat-meins IS INITIAL.
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM converte_unidades USING v_selpool-matnr
v_selpool-bmein
i_mat-meins
CHANGING v_selpool-bmeng.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = v_selpool-matnr
meins = v_selpool-bmein
meins_p = i_mat-meins
qtde = v_selpool-bmeng
conv = ' '
land = t001w-land1
IMPORTING
qtds = v_selpool-bmeng
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
* << Fim da inclusão
ENDIF.
ENDIF.
* >> Início da inclusão: FORM F_LISTA_TECNICA
ENDIF.
* << Fim da inclusão
DELETE i_stb WHERE menge < 0.
LOOP AT i_stb.
v_erro = 'N'.
v_qtdeaux2 = v_qtdeaux * i_stb-menge.
PERFORM f_acessa_lista USING
...
...
i_final-meins = i_stb-meins.
IF NOT itab_zycit322[] IS INITIAL.
READ TABLE itab_zycit322 WITH KEY matnr = i_final-insumo.
IF sy-subrc EQ 0.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ i_final-produto
AND a~steuc NE space
AND b~land1 EQ t001w-land1. "#EC CI_BUFFJOIN
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ i_final-produto
AND a~steuc NE space
AND b~land1 EQ t001w-land1. "#EC CI_BUFFJOIN
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDIF.
IF v_prim_nivel = 'N'.
i_mat-matnr = i_stb-idnrk.
i_mat-werks = i_stb-werks.
i_mat-mtart = i_stb-mtart.
i_mat-qtde = v_quant.
i_mat-meins = i_stb-meins.
...
...
i_final-meins = i_stb-meins.
IF NOT itab_zycit322[] IS INITIAL.
READ TABLE itab_zycit322 WITH KEY matnr = i_final-insumo.
IF sy-subrc EQ 0.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ i_final-produto
AND a~steuc NE space
AND b~land1 EQ t001w-land1. "#EC CI_BUFFJOIN
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ i_final-produto
AND a~steuc NE space
AND b~land1 EQ t001w-land1. "#EC CI_BUFFJOIN
* >> Início da exclusão: FORM F_LISTA_TECNICA
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM F_LISTA_TECNICA
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
...
...
CLEAR: i_final.
SELECT SINGLE a~steuc INTO i_final-ncm
FROM ( marc AS a INNER JOIN t001w AS b ON "#EC CI_BUFFJOIN
a~werks EQ b~werks )
WHERE a~matnr EQ it_materiais-matnr
AND a~steuc NE space
AND b~land1 EQ t001w-land1.
READ TABLE i_mara WITH KEY matnr = it_materiais-matnr.
READ TABLE itab_zycit502 WITH KEY matnr = it_materiais-matnr
werks = it_materiais-werks.
* >> Início da exclusão: FORM LISTA_COMPLEM
PERFORM converte_unidades USING itab_zycit502-matnr
itab_zycit502-meinsc
i_mara-meins
CHANGING itab_zycit502-qtd_cab.
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_COMPLEM
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = itab_zycit502-matnr
meins = itab_zycit502-meinsc
meins_p = i_mara-meins
qtde = itab_zycit502-qtd_cab
land = t001w-land1
IMPORTING
qtds = itab_zycit502-qtd_cab
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6
.
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
itab_zycit502-meinsc = i_mara-meins.
MODIFY itab_zycit502 TRANSPORTING meinsc qtd_cab
WHERE matnr EQ it_materiais-matnr
AND werks EQ it_materiais-werks.
LOOP AT itab_zycit502 WHERE matnr EQ it_materiais-matnr
AND werks EQ it_materiais-werks.
i_final-qtunit = itab_zycit502-qtd / itab_zycit502-qtd_cab.
i_final-meins = itab_zycit502-meins.
i_final-insumo = itab_zycit502-insumo.
i_final-produto = itab_zycit502-matnr.
i_final-centro = itab_zycit502-werks.
* >> Início da exclusão: FORM LISTA_COMPLEM
PERFORM carrega_umncm_real USING i_final-insumo
CHANGING i_final-meins
i_final-qtunit.
* << Fim da exclusão
* >> Início da inclusão: FORM LISTA_COMPLEM
CALL FUNCTION '/PWS/COVERT_UN_MATERIAL'
EXPORTING
matnr = i_final-insumo
meins = i_final-meins
qtde = i_final-qtunit
conv = ' '
land = t001w-land1
IMPORTING
qtds = i_final-qtunit
un_s = i_final-meins
EXCEPTIONS
conversion_not_found = 1
ncm_not_found = 2
overflow = 3
un_ncm_not_found = 4
material_not_found = 5
OTHERS = 6 .
IF sy-subrc <> 0.
CONCATENATE sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO
i_log-msg SEPARATED BY space.
COLLECT i_log.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF NOT i_final-qtunit IS INITIAL.
COLLECT i_final.
ENDIF.
ENDLOOP.
ENDLOOP.
SORT i_final BY produto insumo.
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR254F01
...
CLEAR it_materiais. REFRESH it_materiais.
it_materiais-matnr = p_matnr.
it_materiais-werks = p_werks.
it_materiais-stlan = p_stlan.
it_materiais-stlnr = p_stlnr.
it_materiais-stlal = p_stlal.
it_materiais-capid = p_capid.
APPEND it_materiais.
EXPORT it_materiais TO MEMORY ID idmemory1.
SUBMIT (v_trans) AND RETURN. "#EC CI_SUBMIT
* >> Início da inclusão: FORM GET_BOM_OF_MATERIALS
IMPORT i_log FROM MEMORY ID 'idmemory3'.
* << Fim da inclusão
IMPORT i_final FROM MEMORY ID idmemory2.
IF sy-subrc NE 0 OR i_final[] IS INITIAL.
p_erro = 'S'.
ELSE.
SELECT * FROM /pws/zycit327 INTO TABLE itab_zycit327
FOR ALL ENTRIES IN i_final
WHERE produto EQ i_final-produto
AND centro EQ i_final-centro.
LOOP AT i_final.
READ TABLE itab_zycit327 WITH KEY produto = i_final-produto
...
...
centro = itab_zycit327-centro
qtunit = itab_zycit327-usagem.
IF sy-subrc NE 0.
CLEAR v_datum.
v_datum = sy-datum - 1.
MOVE: v_datum TO itab_zycit327-data_ate.
MODIFY /pws/zycit327 FROM itab_zycit327.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM GET_BOM_OF_MATERIALS
IF NOT i_log[] IS INITIAL.
LOOP AT i_log.
MOVE i_log-msg TO it_log_erro.
COLLECT it_log_erro.
ENDLOOP.
ENDIF.
FREE MEMORY ID 'idmemory3'.
* << Fim da inclusão
FREE MEMORY ID idmemory2.
ENDFORM.
FORM appropriate_current_record.
DATA: v_apmat(1) TYPE c ,
v_diasv TYPE /pws/zycit321-dia_ant ,
v_qtdaprop LIKE /pws/zycet002-fkimg ,
v_qtdbase LIKE itab_stko-bmeng,
v_error(1) TYPE c .
v_apmat = 'N'.
CLEAR: it_zycet001, v_pct_com.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR254X01
...
INCLUDE STRUCTURE stpox.
DATA: mngko2 LIKE /pws/zycie240d-mngko.
DATA: END OF it_stpox.
DATA: BEGIN OF it_zycit247f OCCURS 0.
INCLUDE STRUCTURE /pws/zycit247.
DATA: END OF it_zycit247f.
DATA: BEGIN OF it_buttons OCCURS 0.
DATA: bname(35) TYPE c.
DATA: END OF it_buttons.
DATA: BEGIN OF it_log_erro OCCURS 0.
* >> Início da exclusão:
DATA: ltext(135) TYPE c.
* << Fim da exclusão
* >> Início da inclusão:
DATA: ltext(200) TYPE c.
* << Fim da inclusão
DATA: END OF it_log_erro.
DATA : BEGIN OF itab_zycee085 OCCURS 10.
INCLUDE STRUCTURE /pws/zycee085.
DATA : END OF itab_zycee085.
DATA : BEGIN OF itab_saida OCCURS 10.
INCLUDE STRUCTURE /pws/zycee085.
DATA : END OF itab_saida.
DATA: BEGIN OF it_materiais OCCURS 0,
matnr LIKE mara-matnr,
werks LIKE marc-werks,
...
...
meins LIKE stpox-meins.
DATA: END OF i_final.
DATA: BEGIN OF itab_lista OCCURS 0,
matnr LIKE mara-matnr,
ncm LIKE marc-steuc,
usagem TYPE /pws/zycit245-qtd_iten,
qtd LIKE /pws/zycit282-qtd_mimp,
meins LIKE stpox-meins,
perc(10) .
DATA: END OF itab_lista.
* >> Início da inclusão:
DATA: BEGIN OF i_log OCCURS 0.
DATA: msg(200) TYPE c,
END OF i_log.
* << Fim da inclusão
DATA: itab_lista_aux LIKE itab_lista OCCURS 0 WITH HEADER LINE.
DATA: itab_lista_f LIKE itab_lista OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit439 LIKE /pws/zycit439 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit282_aux TYPE /pws/zycit282 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF itab_zycit243 OCCURS 10.
INCLUDE STRUCTURE /pws/zycit243.
DATA : END OF itab_zycit243.
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR325F01
...
CLEAR it_materiais. REFRESH it_materiais.
it_materiais-matnr = p_matnr.
it_materiais-werks = p_werks.
it_materiais-stlan = p_stlan.
it_materiais-stlnr = p_stlnr.
it_materiais-stlal = p_stlal.
it_materiais-capid = p_capid.
APPEND it_materiais.
EXPORT it_materiais TO MEMORY ID idmemory1.
SUBMIT (v_trans) AND RETURN. "#EC CI_SUBMIT
* >> Início da inclusão: FORM GET_BOM_OF_MATERIALS
IMPORT i_log FROM MEMORY ID 'idmemory3'.
* << Fim da inclusão
IMPORT i_final FROM MEMORY ID idmemory2.
IF sy-subrc NE 0 OR i_final[] IS INITIAL.
p_erro = 'S'.
ELSE.
SELECT * FROM /pws/zycit327 INTO TABLE itab_zycit327
FOR ALL ENTRIES IN i_final
WHERE produto EQ i_final-produto
AND centro EQ i_final-centro.
LOOP AT i_final.
READ TABLE itab_zycit327 WITH KEY produto = i_final-produto
...
...
READ TABLE i_final WITH KEY produto = itab_zycit327-produto
insumo = itab_zycit327-insumo
centro = itab_zycit327-centro
qtunit = itab_zycit327-usagem.
IF sy-subrc NE 0.
CLEAR v_datum.
v_datum = sy-datum - 1.
MOVE: v_datum TO itab_zycit327-data_ate.
MODIFY /pws/zycit327 FROM itab_zycit327.
ENDIF.
* >> Início da inclusão: FORM GET_BOM_OF_MATERIALS
ENDLOOP.
ENDIF.
IF NOT i_log[] IS INITIAL.
LOOP AT i_log.
MOVE i_log-msg TO itab_logs.
COLLECT itab_logs.
* << Fim da inclusão
ENDLOOP.
ENDIF.
FREE MEMORY ID idmemory2.
ENDFORM.
FORM collect_materials TABLES it_stpox STRUCTURE it_stpox
it_stpox2 STRUCTURE it_stpox2
it_matcat STRUCTURE it_matcat.
DATA: v_qtd LIKE it_stpox-mngko.
SORT it_stpox BY ttidx ASCENDING.
SORT it_matcat BY index ASCENDING.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR325X01
...
DATA: bname(35) TYPE c.
DATA: END OF it_buttons.
DATA: BEGIN OF itab_zycit282_des OCCURS 0.
INCLUDE STRUCTURE /pws/zycit282.
DATA: END OF itab_zycit282_des.
DATA: BEGIN OF itab_imp_tela OCCURS 0.
INCLUDE STRUCTURE /pws/zycit282.
DATA: descr LIKE stpox-ojtxp.
DATA: END OF itab_imp_tela.
DATA: BEGIN OF itab_logs OCCURS 0.
* >> Início da exclusão:
DATA: erro(135) TYPE c.
* << Fim da exclusão
* >> Início da inclusão:
DATA: erro(200) TYPE c.
* << Fim da inclusão
DATA: END OF itab_logs.
DATA: BEGIN OF itab_lista OCCURS 0.
DATA: matnr LIKE stpox-idnrk,
descr LIKE stpox-ojtxp,
menge TYPE /pws/zycit245-qtd_iten,
qtd_tot LIKE stpox-mngko,
aprtot .
DATA: END OF itab_lista.
DATA : BEGIN OF itab_vbfa OCCURS 0 .
DATA : vbelv LIKE vbfa-vbelv ,
...
...
DATA: BEGIN OF itab_zycit327 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit327.
DATA: END OF itab_zycit327.
DATA: BEGIN OF itab_lista_aux OCCURS 0,
matnr LIKE mara-matnr,
ncm LIKE marc-steuc,
qtd LIKE /pws/zycit282-qtd_mimp,
meins LIKE stpox-meins,
perc(10) .
DATA: END OF itab_lista_aux.
* >> Início da inclusão:
DATA: BEGIN OF i_log OCCURS 0.
DATA: msg(200) TYPE c,
END OF i_log.
* << Fim da inclusão
DATA: v_erro ,
okcode LIKE sy-ucomm ,
v_indic1 LIKE icon-id ,
v_indic2 LIKE icon-id ,
v_descr LIKE vbrp-arktx ,
v_qtde_for LIKE lips-lfimg ,
v_dias TYPE i ,
v_campo(35) TYPE c ,
v_valor(35) TYPE c ,
v_saldo_di LIKE lips-lfimg ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPLZYCIGF6
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 044
Texto: (4 caracteres)
"Unit"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 044
Texto: (7 caracteres)
"Unidade"
Comprimento máximo: 20
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 045
Texto: (40 caracteres)
"Parameter is not defined to the material"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 045
Texto: (38 caracteres)
"não está parametrizado para o material"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 046
Texto: (41 caracteres)
"Estatistic mesuare unit is not configured"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 046
Texto: (38 caracteres)
"Unidade de medida estatística não esta"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 047
Texto: (11 caracteres)
"for the NCM"
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 047
Texto: (24 caracteres)
"parametrizada para o NCM"
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 048
Texto: (43 caracteres)
"NCM's parameter not defined to the material"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 048
Texto: (44 caracteres)
"Código NCM não parametrizado para o material"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 049
Texto: (41 caracteres)
"Estatistic mesuare unit is not configured"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 049
Texto: (48 caracteres)
"Unidade de medida estatística não parametrizada."
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 050
Texto: (18 caracteres)
"Quantity too long."
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 050
Texto: (33 caracteres)
"Quantidade demasiadamente grande."
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 051
Texto: (28 caracteres)
"Conversion factor not found."
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 051
Texto: (40 caracteres)
"Coeficiente de conversão não encontrado."
Comprimento máximo: 50
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCIR254
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 081
Texto: (39 caracteres)
"Errors occurred during the execution of"
Comprimento máximo: 60
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 081
Texto: (37 caracteres)
"Ocorreram erros durante a execução da"
Comprimento máximo: 60
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 082
Texto: (40 caracteres)
"appropriation. Check the log processing."
Comprimento máximo: 60
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 082
Texto: (44 caracteres)
"apropriação. Verificar log de processamento."
Comprimento máximo: 60