gestão de movimentação de material permanente

Download Gestão de Movimentação de Material Permanente

If you can't read please download the document

Upload: brasantos

Post on 11-Dec-2015

227 views

Category:

Documents


7 download

DESCRIPTION

gasdgsdgsdgsdg

TRANSCRIPT

*&---------------------------------------------------------------------**& NOME DO PROGRAMA : ZFI_GESTAO_MOV_MATERIAL_PERM **& TTULO DO PROGRAMA : Gesto de movimentao de material permanente **& PROGRAMADOR : Politec - LKP (5) - JRWIN **& DATA : 29/08/2012 **& LTIMA ATUALIZAO : 29/08/2012 **& DESCRIO : Gerar formulrio de requisio via portal e ** : acionar transao de alterao de bens para ** : atender a gesto de movimentao de material ** : permanente. **&---------------------------------------------------------------------**& LISTA DE MODIFICAES: **& DATA AUTOR REQUEST DESCRIO **& 29/08/2012 JRWIN ERDK902071 CODIFICAO INICIAL **&---------------------------------------------------------------------*REPORT zfi_gestao_mov_material_perm.*----------------------------------------------------------------------** CONTROLS*----------------------------------------------------------------------*CONTROLS tabstrip900 TYPE TABSTRIP.*----------------------------------------------------------------------** TABELAS*----------------------------------------------------------------------*TABLES: "anla, "Segmento do registro mestre do imobilizado anlz, "Atribuies de imobilizado com data valor" anlu, "Reg.mestre imobilizado: campo de usurio t084a, "Informaes do reincio na transferncia de dados antigos "zfitaprov_mov, "Tabela de aprovadores de wf de movimentao de material zfi_t_req_mat_hd, "Header - Requisio de Material Permanente "zfi_t_req_mat_it, "Itens - Requisio de Material Permanente zfi_t_req_tra_it, "Itens - Transferncia de Responsabilidade "zfi_t_req_mov_it, "Itens - Movimentao de Material Permanente "zfi_t_com_ext_it, "Itens - Comunicao de Extravio de Bem - Dados do arquivo "zfi_t_rec_locl_d, "Localizao destino para recolhimento de bens zfi_e_req_mat. "Controle de execuo*----------------------------------------------------------------------** TYPE-POOLS*----------------------------------------------------------------------*TYPE-POOLS: abap.*----------------------------------------------------------------------** Constante*----------------------------------------------------------------------*CONSTANTS: c_0001 TYPE p0105-usrty VALUE '0001', c_exm TYPE dokar VALUE 'EXM', c_exec TYPE sy-ucomm VALUE 'EXEC', "c_remedy TYPE sy-ucomm VALUE 'REMEDY', c_impr TYPE sy-ucomm VALUE 'BT_IMPR', c_save TYPE sy-ucomm VALUE 'SAVE', c_carrusr TYPE sy-ucomm VALUE 'CARRUSR', c_proc TYPE sy-ucomm VALUE 'PROC', c_sim TYPE c VALUE '1', "c_nao TYPE c VALUE '2', c_? TYPE c VALUE '?', c_action TYPE sy-ucomm VALUE 'ACTION', c_dmsproc TYPE sy-ucomm VALUE 'DMSPROC', c_nidesc TYPE sy-ucomm VALUE 'NIDESC', c_em_cri TYPE char02 VALUE 'CR', "Em Criao c_agua_envio TYPE char02 VALUE 'WT', "Aguardando Envio "c_wf_env TYPE char02 VALUE 'SD', "WF Enviado "c_canc TYPE char02 VALUE 'CA', "Cancelado "c_lib_sup TYPE char02 VALUE 'CA', "L1 Liberado Superior Hierrquico "c_lib TYPE char02 VALUE 'L2', "Liberado COMAT "c_reprov TYPE char02 VALUE 'RP', "Reprovado/Rejeitado "c_1 TYPE sy-index VALUE '1', "c_ni(10) TYPE c VALUE 'Bem sem NI', "#EC NOTEXT c_false(01) TYPE c VALUE '', "c_true(01) TYPE c VALUE 'X', c_x(01) TYPE c VALUE 'X', c_watype_pd(02) TYPE c VALUE 'PD', c_watype_sl(02) TYPE c VALUE 'SL', c_watype_ad(02) TYPE c VALUE 'AD', c_criar TYPE zzdeaction VALUE 'CRI', c_exibir TYPE zzdeaction VALUE 'EXI', c_atualizar TYPE zzdeaction VALUE 'ATU', c_g01 TYPE screen-group1 VALUE 'G01', c_g02 TYPE screen-group1 VALUE 'G02', c_g03 TYPE screen-group1 VALUE 'G03', c_b01 TYPE screen-group1 VALUE 'B01', c_field_qtde TYPE lvc_fname VALUE 'QTDE', c_field_pernr_d TYPE lvc_fname VALUE 'PERNR_D_NOM', c_zprev_entrega TYPE lvc_fname VALUE 'ZPREV_ENTREGA', "c_field_sem_ni TYPE lvc_fname VALUE 'SEM_NI', c_num TYPE char11 VALUE '0123456789 ', c_error TYPE c VALUE 'E', c_sucesso TYPE c VALUE 'S', c_trans_emp TYPE c VALUE 'T', "Transferncia a outro empregado c_desass TYPE c VALUE 'D', "Desassociar c_r TYPE zeid_requisicao VALUE 'R', " R - Requisio de Material c_m TYPE zeid_requisicao VALUE 'M', " M - Requisio de Movimentao de Material c_e TYPE zeid_requisicao VALUE 'E', " E Comunicao de Extravio de Material c_t TYPE zeid_requisicao VALUE 'T', " T Transferncia de Responsabilidade c_b TYPE zeid_requisicao VALUE 'B'. " B Recolhimento de bens*&---------------------------------------------------------------------**& Tipos para tabelas internas*&---------------------------------------------------------------------*TYPES: BEGIN OF y_solicita, zenamsol TYPE zaqmel-zenamsol, "Solicitante zpernrsol TYPE zaqmel-zpernrsol, "Matricula zdsccargo TYPE zaqmel-zdsccargo, "Cargo zdscfuncao TYPE zaqmel-zdscfuncao, "Funo zdlotacao TYPE zaqmel-zdlotacao, "Lotao* zdtenvio(10) TYPE c, "Data zdtenvio TYPE zaqmel-zdtenvio, "Data zextenssol TYPE zaqmel-zextenssol, "Ramal zpredio(15) TYPE c, "Predio zandar(10) TYPE c, "Andar zsala(10) TYPE c, "Sala END OF y_solicita.TYPES: BEGIN OF y_fcode, fcode TYPE sy-ucomm, END OF y_fcode.TYPES: BEGIN OF y_loc_entrega, zdlotacao TYPE zaqmel-zdlotacao, "Lotao Area/Departamento zpredio(15) TYPE c, "Predio zandar(10) TYPE c, "Andar zsala(10) TYPE c, "Sala/Estao zenamsol TYPE zaqmel-zenamsol, "Nome para Contato zextenssol TYPE zaqmel-zextenssol, "Ramal remedyid TYPE zzderemedyid, "ID no Remedy END OF y_loc_entrega.TYPES: BEGIN OF y_req_mat, znummov TYPE zznummov, "Numero solicitao zitemmov TYPE zzitemmov, "Item da solicitao nome TYPE zfi_t_bem_req-nome, "Especificao nidesc TYPE char01, "NI Desconhecido invent TYPE invnr_anla, "N. Inventrio bukrs TYPE bukrs, "Empresa anln1 TYPE anln1, "N principal do imobilizado anln2 TYPE anln2, "Subn do imobilizado sernr TYPE am_sernr, "Nmero de srie zdlotacao TYPE zaqmel-zdlotacao, "Lotao Area/Departamento chvzpredio_o TYPE zepredio, "Predio Original zpredio_o TYPE zepredio, "Predio Original chvzandar_o TYPE zeandar, "Andar Original zandar_o TYPE zeandar, "Andar Original chvzsala_o TYPE zesala, "Sala/Estao Original zsala_o TYPE zesala, "Sala/Estao Original chvpredio TYPE ccihe_waid, "Chave interna do prdio zpredio TYPE zepredio, "Predio chvandar TYPE ccihe_waid, "Chave interna do andar zandar TYPE zeandar, "Andar chvsala TYPE ccihe_waid, "Chave interna da sala zsala TYPE zesala, "Sala/Estao motivo TYPE zfi_t_req_mat_it-motivo, "Motivo qtde TYPE zfi_t_bem_req-quantidade, "Quantidade pernr_o TYPE zzdepernr_o, "Responsvel Origem pernr_o_nom TYPE zeenamsol, "Nome Responsvel Origem pernr_d TYPE zzdepernr_d, "Responsvel Destino pernr_d_nom TYPE zeenamsol, "nome Responsvel Destino zprev_entrega TYPE zprev_entrega, "previsao de entrega* Inicio Alterao Eduardo Santiago - 12/03/2013 matnr TYPE anlu-zmatnr, maktx TYPE makt-maktx,* Fim Alterao Eduardo Santiago - 12/03/2013 END OF y_req_mat, y_t_req_mat TYPE STANDARD TABLE OF y_req_mat.TYPES: BEGIN OF y_bens_req, nome TYPE zfi_t_bem_req-nome, num_inventario TYPE zfi_t_bem_req-num_inventario, qtde TYPE zfi_t_bem_req-quantidade, END OF y_bens_req.TYPES: BEGIN OF y_texto, nrseq TYPE zsde_texto-nrseq, tdline TYPE tline-tdline, END OF y_texto.TYPES: BEGIN OF y_cabec, nrseq TYPE zsde_texto-nrseq, END OF y_cabec.TYPES: BEGIN OF y_req_mov, nrseq TYPE zsde_texto-nrseq, invent(07) TYPE c, " N. Inventrio box(01) TYPE c, " BOX para marcar 'X' sem_ni(10) TYPE c, " Campo para marcar Sem Inventario nome TYPE zfi_t_bem_req-nome, " Nome padronizado zpredio_o(15) TYPE c, "Predio zandar_o(10) TYPE c, "Andar zsala_o(10) TYPE c, "Sala/Estao zpredio(15) TYPE c, "Predio zandar(10) TYPE c, "Andar zsala(10) TYPE c, "Sala/Estao END OF y_req_mov.TYPES: BEGIN OF y_tel_cels, pernr_o TYPE zfi_t_req_tra_it-pernr_o, pernr_o_nom TYPE char40, pernr_d TYPE zfi_t_req_tra_it-pernr_d, pernr_d_nom TYPE char40, END OF y_tel_cels.TYPES: BEGIN OF y_anlz, bukrs TYPE anlz-bukrs, anln1 TYPE anlz-anln1, anln2 TYPE anlz-anln2, bdatu TYPE anlz-bdatu, adatu TYPE anlz-adatu, pernr TYPE anlz-pernr, END OF y_anlz, BEGIN OF y_anla, bukrs TYPE anla-bukrs, anln1 TYPE anla-anln1, anln2 TYPE anla-anln2, anlkl TYPE anla-anlkl, invnr TYPE anla-invnr, txt50 TYPE anla-txt50, sernr TYPE am_sernr, END OF y_anla,* Tabela para FORMS y_t_anla TYPE STANDARD TABLE OF y_anla, BEGIN OF y_anlu, bukrs TYPE anlu-bukrs, anln1 TYPE anlu-anln1, anln2 TYPE anlu-anln2, zpredio TYPE anlu-zpredio, zandar TYPE anlu-zandar, zsala TYPE anlu-zsala, matnr TYPE anlu-zmatnr, END OF y_anlu.TYPES: BEGIN OF y_extravio, nrseq TYPE zsde_texto-nrseq, invent(07) TYPE c, " N. Inventrio box(01) TYPE c, " BOX para marcar 'X' sem_ni(10) TYPE c, " Campo para marcar Sem Inventario nome TYPE zfi_t_bem_req-nome, " Nome padronizado area TYPE zaqmel-zdlotacao, " Area zpredio(15) TYPE c, "Predio zandar(10) TYPE c, "Andar zsala(10) TYPE c, "Sala/Estao marc(01) TYPE c, "Marcar X END OF y_extravio.TYPES: BEGIN OF y_invnr, invnr TYPE lines, END OF y_invnr.* Cabealho das solicitaesTYPES: BEGIN OF y_req_mat_hd. INCLUDE STRUCTURE zfi_t_req_mat_hd.TYPES: END OF y_req_mat_hd.* Requisio de material permanenteTYPES: BEGIN OF y_req_mat_it. INCLUDE STRUCTURE zfi_t_req_mat_it.TYPES: END OF y_req_mat_it, y_t_req_mat_it TYPE STANDARD TABLE OF y_req_mat_it, y_st_req_mat_it TYPE SORTED TABLE OF y_req_mat_it WITH UNIQUE KEY znummov zitemmov.* Transferncia de responsabilidadeTYPES: BEGIN OF y_req_tra_it. INCLUDE STRUCTURE zfi_t_req_tra_it.TYPES: END OF y_req_tra_it, y_t_req_tra_it TYPE STANDARD TABLE OF y_req_tra_it, y_st_req_tra_it TYPE SORTED TABLE OF y_req_tra_it WITH UNIQUE KEY znummov zitemmov.TYPES: BEGIN OF y_rec_locl_d. INCLUDE STRUCTURE zfi_t_rec_locl_d.TYPES: END OF y_rec_locl_d, y_t_rec_locl_d TYPE SORTED TABLE OF y_rec_locl_d WITH UNIQUE KEY zpredio_o anlkl.TYPES: BEGIN OF y_req_mov_it. INCLUDE STRUCTURE zfi_t_req_mov_it.TYPES: END OF y_req_mov_it.TYPES: BEGIN OF y_fi_com_ext_it. INCLUDE STRUCTURE zfi_t_com_ext_it.TYPES: END OF y_fi_com_ext_it, y_t_fi_com_ext_it TYPE STANDARD TABLE OF y_fi_com_ext_it.TYPES: BEGIN OF y_com_ext_it. INCLUDE STRUCTURE zfi_t_com_ext_it.TYPES: path_file TYPE string.TYPES: END OF y_com_ext_it, y_t_com_ext_it TYPE STANDARD TABLE OF y_com_ext_it.************************************************************************* Sub Telas**********************************************************************DATA: sub_t001 TYPE sydynnr.DATA: sub_0700 TYPE sydynnr VALUE 0700.DATA: sub_0800 TYPE sydynnr VALUE 0800.DATA: sub_tela TYPE sydynnr VALUE '9000'."DATA: sub_tela2 TYPE sydynnr VALUE '9100'.DATA: sub_9200 TYPE sydynnr VALUE '9200'.SELECTION-SCREEN BEGIN OF SCREEN 9000 AS SUBSCREEN.SELECT-OPTIONS: s_invnr FOR t084a-invnr MODIF ID g02.SELECTION-SCREEN END OF SCREEN 9000.SELECTION-SCREEN BEGIN OF SCREEN 9100 AS SUBSCREEN.PARAMETERS: p_file TYPE rlgrap-filename MODIF ID g02.SELECTION-SCREEN END OF SCREEN 9100.SELECTION-SCREEN BEGIN OF SCREEN 9200 AS SUBSCREEN.SELECT-OPTIONS: s_pernr FOR anlz-pernr VISIBLE LENGTH 25 MODIF ID g02.SELECT-OPTIONS: s_invnro FOR t084a-invnr MODIF ID g02.SELECTION-SCREEN END OF SCREEN 9200.************************************************************************* Tabelas internas*********************************************************************** Variavel local para ajuda na busca dos dados de localizao atualDATA: tl_req_tra_it_0400 TYPE TABLE OF y_req_tra_it.DATA: "t_solicita TYPE STANDARD TABLE OF y_solicita,* t_loc_entrega TYPE STANDARD TABLE OF y_loc_entrega, t_req_mat TYPE STANDARD TABLE OF y_req_mat,* t_bens_req TYPE STANDARD TABLE OF y_bens_req,* t_texto TYPE STANDARD TABLE OF y_texto,* t_cabec TYPE STANDARD TABLE OF y_cabec, t_excl_func TYPE ui_functions,* t_req_mov TYPE STANDARD TABLE OF y_req_mov,* t_extravio TYPE STANDARD TABLE OF y_extravio,* t_invnr TYPE STANDARD TABLE OF y_invnr,* t_fields TYPE STANDARD TABLE OF dfies, wa_solicita TYPE y_solicita, wa_loc_entrega TYPE y_loc_entrega, wa_req_mat TYPE y_req_mat,* wa_bens_req TYPE y_bens_req,* wa_texto TYPE y_texto,* wa_extravio TYPE y_extravio,* wa_cabec TYPE y_cabec,* wa_req_mov TYPE y_req_mov, wa_zaqmel TYPE zaqmel,* wa_invnr TYPE y_invnr,* wa_options TYPE ssfcompop,* wa_control TYPE ssfctrlop,* Celulares* wa_tel_cel TYPE y_tel_cels,* Cabealho wa_req_mat_hd TYPE y_req_mat_hd,* Itens t_req_mat_it TYPE SORTED TABLE OF y_req_mat_it WITH UNIQUE KEY znummov zitemmov, t_req_mat_it_del TYPE TABLE OF y_req_mat_it,* Itens Transferncia de responsabilidades t_req_tra_it TYPE SORTED TABLE OF y_req_tra_it WITH UNIQUE KEY znummov zitemmov, t_req_tra_it_del TYPE TABLE OF y_req_tra_it,* Arquivos para comunicao de extravio t_fi_req_ext_it TYPE y_t_fi_com_ext_it, "Tabela para atualizao BD t_fi_req_ext_it_del TYPE TABLE OF y_fi_com_ext_it,"Tabela para eliminao de itens do BD wa_fi_req_ext_it TYPE y_fi_com_ext_it, "Controle de tela t_req_ext_it TYPE TABLE OF y_com_ext_it, "Controle de tela wa_req_ext TYPE y_com_ext_it,* Tabela com local destino de recolhimento de bens t_rec_locl_d TYPE y_t_rec_locl_d, wa_rec_locl_d TYPE y_rec_locl_d,* wa_req_mat_it TYPE y_req_mat_it, wa_req_tra_it TYPE y_req_tra_it, wa_req_ext_it TYPE y_com_ext_it.DATA: t_fcode TYPE TABLE OF y_fcode.DATA: t_anlz TYPE STANDARD TABLE OF y_anlz, t_anla TYPE STANDARD TABLE OF y_anla, t_anlu TYPE STANDARD TABLE OF y_anlu, wa_anla TYPE y_anla, wa_anlu TYPE y_anlu, wa_anlz TYPE y_anlz.DATA: vg_init TYPE c VALUE space, vg_okcode TYPE sy-ucomm,* vg_mov_mat TYPE c,* vg_ati_svd TYPE c, vg_desass_b TYPE c, "Desassociar bem vg_transf_emp_b TYPE c, "Transferencia empregado bem vg_contato TYPE y_solicita-zenamsol, vg_ramal TYPE zaqmel-zextenssol, "#EC NEEDED vg_usrid TYPE p0105-usrid, vg_nome TYPE zfi_t_bem_req-nome, vg_pernr TYPE persno, vg_result(100) TYPE c, vg_tabix TYPE sy-tabix, vg_mod_act TYPE c LENGTH 1, vg_zid_requisicao TYPE zeid_requisicao, vg_startwf TYPE c, vg_atualiza TYPE c LENGTH 1, vg_out TYPE c LENGTH 1, vg_imprime TYPE c.DATA: vg_anexos TYPE NUM05_KK.************************************DATA: vg_dt_envio TYPE zaqmel-zdtenvio.***********************************TYPES: BEGIN OF y_text_table, line(132) TYPE c, END OF y_text_table.*DATA: wa_text_table TYPE y_text_table,* wa_texto_objt TYPE tline.*&---------------------------------------------------------------------**& Tabelas Internas **&---------------------------------------------------------------------*DATA: t_text_table TYPE STANDARD TABLE OF y_text_table, t_texto_objt TYPE STANDARD TABLE OF tline.*&---------------------------------------------------------------------**& Estruturas **&---------------------------------------------------------------------***-->> Incio JCN - 01.04.2013*DATA: vg_e_draw TYPE draw.**-->> Fim JCN - 01.04.2013*DATA: wa_addinf TYPE rcgaddinf ,* wa_watype TYPE ccihs_wahiot-watype VALUE IS INITIAL,* wa_wka_sel TYPE ccihs_wasel VALUE IS INITIAL ,* wa_waspid TYPE cciht_wah-waid .*&---------------------------------------------------------------------** Objetos*&---------------------------------------------------------------------*DATA: ob_texto_objt TYPE REF TO cl_gui_textedit, ob_cont_texto_objt TYPE REF TO cl_gui_custom_container.*DATA: t_toolbar TYPE STANDARD TABLE OF stb_button.*DATA: wat_toolbar TYPE stb_button.DATA: wa_text_objt_upd TYPE i. "#EC NEEDEDCLASS lcl_event_handler DEFINITION DEFERRED.*CLASS lcl_eventos_grid DEFINITION DEFERRED.*DATA wa_event_handler TYPE REF TO lcl_eventos_grid.DATA gw_event_handler1 TYPE REF TO lcl_event_handler.DATA gw_event_handler1_1100 TYPE REF TO lcl_event_handler.*-----------------------------------------------------------------------* Objetos - ALV*-----------------------------------------------------------------------DATA: ob_container TYPE REF TO cl_gui_custom_container, ob_alv TYPE REF TO cl_gui_alv_grid.DATA: ob_container_1100 TYPE REF TO cl_gui_custom_container, ob_alv_1100 TYPE REF TO cl_gui_alv_grid.* ob_event_receiver TYPE REF TO lcl_eventos_grid.*-----------------------------------------------------------------------* RANGES*-----------------------------------------------------------------------DATA: rg_bens_ti TYPE RANGE OF anla-anlkl.*********************************************************************** INICIO CLASSES***********************************************************************----------------------------------------------------------------------** CLASS lcl_event_handler DEFINITION*----------------------------------------------------------------------***----------------------------------------------------------------------*CLASS lcl_event_handler DEFINITION . "#EC * PUBLIC SECTION. METHODS :* handle_double_click* FOR EVENT double_click OF cl_gui_alv_grid* IMPORTING e_row e_column, handle_onf4 FOR EVENT onf4 OF cl_gui_alv_grid IMPORTING es_row_no e_fieldname. PRIVATE SECTION.ENDCLASS. " lcl_alv_grid DEFINITION*----------------------------------------------------------------------** CLASS lcl_event_handler IMPLEMENTATION*----------------------------------------------------------------------** Executa as funes de help para os campos indicados. Lembrando que* quando utilizamos o form refresh_alv este methodo no executa e o* search help no funciona.*----------------------------------------------------------------------*CLASS lcl_event_handler IMPLEMENTATION .* METHOD handle_double_click .* PERFORM handle_double_click USING e_row e_column .* ENDMETHOD . "handle_double_click METHOD handle_onf4.* Exibir Ajuda de pesquisa apenas se for Criao CHECK zfi_e_req_mat-action NE c_exibir.* Inicializa e carrega linha que esta sendo processada no alv CLEAR vg_tabix. MOVE es_row_no-row_id TO vg_tabix.* Chama form para atualizao via ajuda de pesquisa de dados da tela PERFORM f4_help USING vg_tabix e_fieldname CHANGING vg_nome.* Atualiza ALV e ajuste largura das colunas PERFORM refresh_alv.* ENDMETHOD. "handle_onf4ENDCLASS. "lcl_event_handler IMPLEMENTATION*********************************************************************** FIM CLASSES**********************************************************************DATA: t_fieldcat TYPE lvc_t_fcat, wa_fieldcat TYPE lvc_s_fcat.DATA: wa_layout TYPE lvc_s_layo,* wa_sortcat TYPE lvc_s_sort OCCURS 0, wa_variant TYPE disvariant. "#EC NEEDED*&---------------------------------------------------------------------**& Tela de Seleo*&---------------------------------------------------------------------*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.SELECTION-SCREEN SKIP. "Salta uma linha na tela* Requisio de Material PermanenteSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 1(50) text-t01 FOR FIELD p_req.PARAMETERS: p_req RADIOBUTTON GROUP a.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN SKIP. "Salta uma linha na tela* Requisio de Movimentao de Material PermanenteSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 1(50) text-t02 FOR FIELD p_mov.PARAMETERS: p_mov RADIOBUTTON GROUP a.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN SKIP. "Salta uma linha na tela* Requisio de Transferncia de ResponsabilidadeSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 1(50) text-t04 FOR FIELD p_tre.PARAMETERS: p_tre RADIOBUTTON GROUP a.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN SKIP. "Salta uma linha na tela* Requisio de Recolhimento de Material PermanenteSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 1(50) text-t05 FOR FIELD p_recb.PARAMETERS: p_recb RADIOBUTTON GROUP a.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN SKIP. "Salta uma linha na tela* Comunicao de Extravio de Material PermanenteSELECTION-SCREEN BEGIN OF LINE.SELECTION-SCREEN COMMENT 1(50) text-t03 FOR FIELD p_com.PARAMETERS: p_com RADIOBUTTON GROUP a.SELECTION-SCREEN END OF LINE.SELECTION-SCREEN SKIP. "Salta uma linha na telaSELECTION-SCREEN END OF BLOCK b1.INITIALIZATION.* Deixa a opo criar como default zfi_e_req_mat-action = c_criar.* Status em criao wa_req_mat_hd-zstsolic = c_em_cri.* Carrega descrio do status PERFORM busca_descri_status.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file. CALL FUNCTION 'KD_GET_FILENAME_ON_F4' EXPORTING field_name = 'p_file' CHANGING file_name = p_file EXCEPTIONS mask_too_long = 1 OTHERS = 2. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.**AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_invnr-low.**** CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'** EXPORTING** retfield = 'INVNR'** dynpprog = sy-repid** dynpnr = sy-dynnr** dynprofield = 'S_INVNR-LOW'*** value_org = c_s** TABLES** value_tab = t_invnr** field_tab = t_fields** EXCEPTIONS** parameter_error = 1** no_values_found = 2** OTHERS = 3.******AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_invnr-high.**** CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'** EXPORTING** retfield = 'INVNR'** dynpprog = sy-repid** dynpnr = sy-dynnr** dynprofield = 'S_INVNR-HIGH'*** value_org = c_s** TABLES** value_tab = t_invnr** field_tab = t_fields** EXCEPTIONS** parameter_error = 1** no_values_found = 2** OTHERS = 3.*** PERFORM busca_match_low.***** PERFORM busca_match_high.AT SELECTION-SCREEN OUTPUT.* Controla edio/exibio dos campos da tela dependendo da ao indicada PERFORM controla_campos_telas.*---------------------------------------------------------------------** DEFINE ADD_FIELDCAT*---------------------------------------------------------------------** Apenas insere os parametros passados na tabela interna* Para que esta possa ser repassada para a funo e montar os* campos*----------------------------------------------------------------------* DEFINE add_fieldcat_grid.* Processamento clear wa_fieldcat. wa_fieldcat-ref_table = c_false. wa_fieldcat-f4availabl = &1. wa_fieldcat-fieldname = &2. wa_fieldcat-no_zero = &3. wa_fieldcat-inttype = &4. wa_fieldcat-reptext = &5. wa_fieldcat-outputlen = &6. wa_fieldcat-just = &7.* wa_fieldcat-no_zero = &8.* wa_fieldcat-col_opt = &8. wa_fieldcat-checkbox = &8. wa_fieldcat-edit = &9.* wa_fieldcat-ref_field = &10.* wa_fieldcat-ref_table = &11. append wa_fieldcat to t_fieldcat. END-OF-DEFINITION.*---------------------------------------------------------------------** Apenas insere os parametros passados na tabela interna* Para que esta possa ser repassada para a funo e montar os* campos*----------------------------------------------------------------------* DEFINE add_fieldcat_gridx. clear wa_fieldcat. wa_fieldcat-ref_table = c_false. wa_fieldcat-f4availabl = &1. wa_fieldcat-fieldname = &2. wa_fieldcat-no_zero = &3. wa_fieldcat-inttype = &4. wa_fieldcat-reptext = &5. wa_fieldcat-outputlen = &6. wa_fieldcat-just = &7. wa_fieldcat-checkbox = &8. wa_fieldcat-edit = &9. END-OF-DEFINITION. DEFINE formatar_pernr.* call function 'CONVERSION_EXIT_ALPHA_INPUT' exporting input = &1 importing output = &1.* END-OF-DEFINITION. DEFINE add_char_val.* Inicializa tabela de caracteristica free: wa_char_val, it_char_val.* Data do item documental move: '017' to wa_char_val-classtype, 'EXTRAVIO_MATERIAL' to wa_char_val-classname, 'DATA_ITEM_DOCUMENTAL' to wa_char_val-charname, &5 to wa_char_val-deletevalue.* Formatando data write: &1 to wa_char_val-charvalue. append: wa_char_val to it_char_val. clear: wa_char_val.* Nmero do Inventrio move: '017' to wa_char_val-classtype, 'EXTRAVIO_MATERIAL' to wa_char_val-classname, 'NUMERO_INVENTARIO' to wa_char_val-charname, &2 to wa_char_val-charvalue, &5 to wa_char_val-deletevalue. append: wa_char_val to it_char_val. clear: wa_char_val.* Descrio do bem move: '017' to wa_char_val-classtype, 'EXTRAVIO_MATERIAL' to wa_char_val-classname, 'DESCRICAO_BEM' to wa_char_val-charname, &3 to wa_char_val-charvalue, &5 to wa_char_val-deletevalue. append: wa_char_val to it_char_val. clear: wa_char_val.* Matrcula do Funcionrio move: '017' to wa_char_val-classtype, 'EXTRAVIO_MATERIAL' to wa_char_val-classname, 'MATRICULA_EMPREGADO' to wa_char_val-charname, &4 to wa_char_val-charvalue, &5 to wa_char_val-deletevalue. append: wa_char_val to it_char_val. clear: wa_char_val.* END-OF-DEFINITION.*&---------------------------------------------------------------------**& Processamento*&---------------------------------------------------------------------*START-OF-SELECTION.* Verifica se usurio est associado a um numero pessoal CLEAR vg_out. PERFORM verifica_num_pessoal_user. IF vg_out IS INITIAL. IF p_req EQ abap_true.* Requisio de Material Permanente " AUTHORITY-CHECK OBJECT 'ZOBJGMMP' " ID 'ZDDE_GMMP' FIELD '01'. " IF sy-subrc ne 0. " message e000(zfi) with 'Sem autorizao para executar a funcionalidade'. " ENDIF. CALL SCREEN '100'. ELSEIF p_mov EQ abap_true.* Requisio de Movimentao de Material Permanente* AUTHORITY-CHECK OBJECT 'ZOBJGMMP'* ID 'ZDDE_GMMP' FIELD '02'.*** IF sy-subrc ne 0.* message e000(zfi) with 'Sem autorizao para executar a funcionalidade'.* ENDIF.* Carrega dados para consistencia de bens de TI PERFORM carrega_range_ti.* Chama tela para movimentao de material permanente CALL SCREEN '900'. ELSEIF p_com EQ abap_true.* Comunicao de Extravio de Bem* AUTHORITY-CHECK OBJECT 'ZOBJGMMP'* ID 'ZDDE_GMMP' FIELD '03'.*** IF sy-subrc ne 0.* message e000(zfi) with 'Sem autorizao para executar a funcionalidade'.* ENDIF. CALL SCREEN '300'. ELSEIF p_tre EQ abap_true.* Transferncia de Responsabilidade* AUTHORITY-CHECK OBJECT 'ZOBJGMMP'* ID 'ZDDE_GMMP' FIELD '04'.*** IF sy-subrc ne 0.* message e000(zfi) with 'Sem autorizao para executar a funcionalidade'.* ENDIF. CALL SCREEN '400'.* Recolhimento de Bens ELSEIF p_recb EQ abap_true.* Recolhimento de bens* Carrega dados para consistencia de bens de TI* AUTHORITY-CHECK OBJECT 'ZOBJGMMP'* ID 'ZDDE_GMMP' FIELD '05'.*** IF sy-subrc ne 0.* message e000(zfi) with 'Sem autorizao para executar a funcionalidade'.* ENDIF. PERFORM carrega_range_ti.* Chama tela de recolhimento de bens CALL SCREEN '500'. ENDIF. ENDIF.END-OF-SELECTION. INCLUDE zfi_gestao_mov_material_pero01. INCLUDE zfi_gestao_mov_material_peri01. INCLUDE zfi_gestao_mov_material_perf01. INCLUDE zfi_gestao_mov_material_pert01.*&---------------------------------------------------------------------**& Form BUSCA_RESPONSAVEL_ATUAL*&---------------------------------------------------------------------** text*----------------------------------------------------------------------** --> p1 text*