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

description

gasdgsdgsdgsdg

Transcript of Gestão de Movimentação de Material Permanente

*&---------------------------------------------------------------------**& 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*