tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 1
Sumario:
Este artigo demonstrar uma introduo de Orientao a Objetos para demonstrar a classe CL_GUI_FRONTEND_SERVICES. Est classe responsvel por todos os servios que envolvem o FrontEnd com o sistema operacional, servios que dizer recursos disponveis no sistema operacional tais como: Criar, Deletar, Copiar, Verificar a Existncia, de Arquivos ou Diretrios, Coletar informaes de verses de arquivos do programas, acessar informaes de Redes como IP, HostName, Verso do sistema operacional (Plataforma do SO (WINDOWS, LINUX)), Exultar programas externos do SAP, tais como comandos do SO. Ser apresentado os principais mtodos desta classe, demonstrando o que cada mtodos faz e como utiliz-los.
Sobre o Autor:
Uderson Luis Fermino, formado em Cincias da Computao pela Faculdade de Pesquisa e Ensino IPEP, atua no mercado a 2 anos como desenvolvedor Java nas plataformas: (J2SE, J2EE e J2ME), com participao em grandes projetos envolvendo estas tecnologias. consultor ABAP com experincias em REPORT, ALV (GRID, LIST, BLOCK, OO, TREE, HIERARQUICK), IDOC, ALE, ONLINE, SAPSCRIPT, SMARTFORM, NETWEAVER (JCO, BSP, WebDynpro).
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 2
O que Orientao a Objeto? Orientaes a objeto ou para ser mais precisam, programao orientada a objeto, um mtodo de resoluo de problemas no qual a soluo do software reflete objetos do mundo real, todos os elementos de software so baseados em objetos do mundo real. Uma introduo compreensiva a orientao a objeto como um todo iria muito alm dos limites da introduo aos objetos ABAP. Esta documentao introduz uma seleo de termos que so usados universalmente na orientao a objeto e tambm ocorre em objetos ABAP. Em sesses subseqentes, continua-se a discutir em mais detalhes como esses termos so usados em objetos ABAP Objetos Um objeto seo de cdigo fonte que contm dados e fornece servios. Os dados formam os atributos do objeto. Os servios so conhecidos como mtodos (tambm conhecido como operaes ou funes). Tipicamente, mtodos operam em dados privados (os atributos, ou estado do objeto), que apenas visvel para os mtodos do objeto. Logo os atributos de um objeto no podem ser modificados diretamente pelo usurio, mas apenas pelos mtodos do objeto. Isso garante a consistncia interna do objeto, estes dados so do tipo privados do objeto, podemos ter atributos pblicos, que so alterados os seus estados sem utilizao de mtodos e atributos do tipo protegidos somente podem ser alterados pelo objeto. Classes As classes so o corpo do objeto. Uma classe uma INSTANCIA de um objeto que carregado em memria para fazer a manipulao dos atributos e mtodos pertencente ao objeto que a classe instanciada Referncias a Objetos Em um programa, voc identifica e enderea objetos usando referncias nicas a objetos. Referncia a objetos permite que acesse os atributos e mtodos de um objeto. Em programao orientada a objeto, objetos geralmente tm as seguintes propriedades: Encapsulamento Objetos restringem a visibilidade de seus recursos (atributos e mtodos) aos outros usurios. Todo objeto tem uma interface, que determina como os outros objetos podem interagirem com ele. A implementao do objeto encapsulada, isso , invisvel for a do prprio objeto. Polimorfismo CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 3
Mtodos idnticos (mesmo nome) se comportam diferentemente em diferentes classes. Orientao orientada a objeto contm construes chamada interfaces. Elas permitem que enderece mtodos com mesmo nome em diferentes objetos. Apesar de a forma de endereamento sempre a mesma, a implementao do mtodo especfica a uma particular classe.
Herana Voc pode usar uma classe existente para derivar uma classe nova. Classes derivadas herdam os dados e mtodos da superclasse. No entanto, eles podem substituir mtodos existentes est tcnica chamada de sobre carga de mtodo, ou re-escrita de mtodo, e tambm adicionar novos. Herana pode ser analogicamente comparada com a Herana Familiar. Usos de Orientao a Objeto Abaixo esto algumas vantagens da programao orientada a objeto: Sistemas de software complexos se tornam mais fceis de serem compreendidos, j que a estrutura orientada a objeto fornece uma representao muito mais prxima da realidade do que as outras tcnicas de programao. Em um sistema orientado a objeto bem desenvolvido, possvel implementar mudanas a nvel de classe, sem ter que realizar alteraes em outros pontos do sistema. Isto reduz a quantidade total de manuteno requerida. Atravs do polimorfismo e herana, a programao orientada a objeto permite que reutilize componentes individuais. Em um sistema orientado a objeto, a quantidade de trabalho de manuteno e reviso envolvido reduzida, j que muitos problemas podem ser detectados e corrigidos em fase de projeto. Para atingir estes objetivos requer: Linguagens de programao orientada a objetos Tcnicas de programao orientadas a objeto no necessariamente dependem em linguagens de programao orientada a objeto. No entanto, a eficincia da programao orientada a objeto depende diretamente de como as tcnicas de programao orientada a objetos so implementadas no sistema kernel. Ferramentas de orientao a objeto CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 4
Ferramentas de orientao a objeto permitem que se criem programas orientados a objetos em linguagem orientada a objetos. Eles permitem que se modele e guarde objetos e relaes entre eles. Modelamento orientado a objeto O modelamento orientado a objeto de um sistema de software o mais importante, mais demorado, e o requerimento mais difcil para alcanar acima dos objetivos. Design orientado a objeto envolve mais do que apenas programao orientada a objeto, e fornece vantagens lgicas que so independentes da verdadeira implementao.
Em ABAP/4 possvel cria objetos de diversa maneiras, ser aprenstado duas formas:
Declarao de referencia do OBJETO,mais o comando CREATE OBJECT Usando o MODELO do Editor.
Referencia : declarado um objeto especificando o tipo que o objeto ter, est declarao feita atravs do comando TYPE REF TO.
SINTAXE:
DATA nome_do_objeto TYPE REF TO nome_da_classe_de_referencia.
Ex.:
DATA OBJSERVICE TYPE REF TO CL_GUI_FRONTEND_SERVICES.
Declarao de um objeto de nome OBJSERVICE que faz referencia para a classe CL_GUI_FRONTEND_SERVICES.
Para criar o objeto, usa-se o comando CREATE OBJECT. Porem no existe criao de objeto em OO, mais instancia de objetos, para melhorar o termos, alocao de dados em memria referente aquele objeto.
SINTAXE:
CREATE OBJECT nome_do_objeto_referenciado.
Exemplo
CREATE OBJECT OBJSERVICE
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 5
Quando um objeto instanciado em ABAP/4, usa-se o comando ->, conhecido de indicador de atributos ou mtodos.
Exemplos.:
Usar o mtodo GET_TEMP_DIRECTORY, do objeto OBJSERVICE.
Quando o mtodo, ou atributo da classe usada STATIC (STATICO), no necessrio utilizar o comando CREATE OBJECT, pois os mtodos j residem em memria, podendo ser utilizados a qualquer momento.
Para utilizar um mtodo ou atributo static de uma classe usa-se o comando =>, ser apresentado alguns mtodos da classe CL_GUI_FRONTEND_SERVICES, todos os mtodos aqui apresentados so static, onde usaremos o comando => para chamar os mtodos ou atributos desta classe.
Observao.: so implemente mtodos estticos, quando houver uma extrema necessidade, pois lembrando que quando os mtodos ou atributos so estticos ele ficar alocados em memrias, durante a fida do programa, no caso do da classe CL_GUI_FRONTEND_SERVICES, durante o tempo de vida do SAPGUI-FRONTEND.
A segunda forma apresentada aqui ser a instanciar objetos com ajuda do editor MODELO.
1 Declarar o objeto conforme j explicado.
DATA OBJSERVICE TYPE REF TO CL_GUI_FRONTEND_SERVICES.
2 No Editor ABAP (neste artigo foi usado a verso), clique em MODELO.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 6
2 Marcar a opo Modelo /para objetos ABAP.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 7
3 Marcar a opo Criar Objeto
INSTNCIA = Nome do objeto declarado CLASSE = Nome da classe que o objeto faz referencia.
O cdigo que ser gerado:
CREATE OBJECT OBJSERVICE * EXCEPTIONS * NOT_SUPPORTED_BY_GUI = 1 * CNTL_ERROR = 2 * others = 3 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 8
4 Chamar mtodo do objeto instanciado.
INSTNCIA = Nome do objeto instanciado
CLASSE/INTERFACE = Nome da classe ou interface que o objeto faz referencia.
MTODO = Nome do mtodo a ser chamado.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 9
Observao: Como os mtodos desta classe so estticos conforme j explicado, no necessrio realizar estes passo, somente preciso informar a classe e o mtodo a ser chamado, conforme a figura:
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 10
A classe CL_GUI_FRONTEND_SERVICES,
Os mtodos que sero descritos abaixo, podem ser utilizados sem instanciar a classe, pois estes mtodos so do tipo STATIC, onde todos os tipos de dados declarados como static quando o objeto declarado podem ser utilizados a qualquer momento, pois estes ficam na memria esperando serem utilizados.
Segue a lista dos mtodos e suas logo abaixo da lista ser descrito como utilizar cada mtodo.
Mtodo que retorna a verso de um determinado arquivo deve-se passar o endereo e o nome do arquivo, e no argumento CHANGING uma varivel do tipo STRING que ser conter o valor da verso do arquivo especificado.
FILENAME = Nome do arquivo a ser consultado VERSION = Varivel do tipo string que recebe a verso do arquivo consultado
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 12
GET _IP_ADDRESS
Mtodo para pegar o IP (Internet Protocol) da Maquina que est rodando o FRONTEND, este mtodo retorna um IP no formato STRING, devendo ser passado uma varivel do tipo STRING para o mtodo, que conter o valor de retorno do mtodo, contendo o endereo IP.
DATA: IP TYPE STRING. CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_IP_ADDRESS RECEIVING IP_ADDRESS = IP EXCEPTIONS CNTL_ERROR = 1 ERROR_NO_GUI = 2 NOT_SUPPORTED_BY_GUI = 3 OTHERS = 4.
WRITE: / IP.
IP_ADDRESS = retorna uma varivel do tipo String contendo IP da maquina que o FrontEnd Roda.
Este mtodo traz somente o ip da maquina que est rodando o FRONTEND, pode acontecer que precisamos saber o IP de uma determinada maquina da rede, por exemplo o servidor, como temos a varivel de sistema SY-HOST que armazena em memria o nome HOST do servidor SAP, queremos descobri o IP do servidor, para este tipo de problema podemos utilizar a funo RFC_HOST_TO_IP, que recebe um nome de uma determinada maquina na rede (HOST) e retorna o IP da mesma. Os argumentos devem ser de entrada e sada devem ser variveis do tipo de C do tamanho Maximo de 100 caracteres. Usando est funo podemos descobri qualquer IP da rede.
DATA IP(100) TYPE C.
CALL FUNCTION 'RFC_HOST_TO_IP' EXPORTING RFCHOST = 'treinamento03' IMPORTING RFCIP = IP EXCEPTIONS HOST_TO_IP_CONVERSION_ERROR = 1 OTHERS = 2.
WRITE: IP.
RFCHOST = Recebe como entrada o HOSTNAME do tipo C de 100. RFCIP = Retorna o IP relativo ao HOSTNAME, o retorno do tipo C de 100.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 13
GET_COMPUTER_NAME
Mtodo para capturar o nome (HOST) da maquina, deve-se passa como argumento de alterao uma varivel do tipo STRING que conter o nome da maquina que est rodando o FRONTEND.
COMPUTER_NAME = Retorna o HOSTNAME da maquina que est rodando o FRONTEND, sendo uma varivel do tipo STRING.
Idntico ao mtodo GET_IP_ADDRESS, este mtodo somente retorna o endereo host da maquina que est rodando o FRONTEND, caso seja necessrio captura o endereo nome (HOST) de uma maquina da rede este mtodo no ser capaz, para consegui esta opo possvel utilizar a funo RFC_IP_TO_HOST, que recebe como argumento um endereo de internet (IP/ INTERNET PROTOCOL) e retorna uma varivel do tipo C de tamanho Maximo de 100 caracteres, contendo o nome da maquina (HOST) relativo a um determinado IP.
RFCIP = Recebe uma varivel do tipo c de 100, contendo IP.
RFCHOST = Retorna uma varivel do tipo c de 100, contendo o HOSTNAME relativo ao IP de entrada.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 14
FILE_DELETE
Mtodo para apagar um determinado arquivo, deve-se passar o endereo (caminho) e o nome do arquivo a ser deletado (apagado/excludo), uma varivel do tipo I que no argumento RC que ir retornar um numero informando a deleo.
FILENAME = Recebe uma Varivel do tipo string contendo o nome do arquivo, concatenado do caminho.
RC = Varivel do tipo I, que indicar com 1 quando a ao do mtodo foi realizada com sucesso e 0 insucesso.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 15
FILE_GET_SIZE
Mtodo para capturar o tamanho de um determinado arquivo, deve-se passar endereo e o nome do arquivo e uma varivel do tipo I que recebera a informao do tamanho do arquivo especificado.
FILENAME = Recebe uma Varivel do tipo string contendo o nome do arquivo, concatenado do caminho.
FILE_SIZE = Recebe uma varivel do tipo I que ser carregada pelo mtodo como tamanho do arquivo especificado.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 16
FILE_EXIST
Mtodo para verificar se um determinado arquivo existe ou no este mtodo recebe como parmetro um endereo e nome de um determinado arquivo, e retorna um char de 1 contendo o valor X caso existe e um SPACE caso no exita o arquivo.
FILE = Recebe uma Varivel do tipo string contendo o nome do arquivo, concatenado do caminho.
RESULT = Retorna uma 1 caso existe e 0 quando o arquivo no existir, est varivel do tipo I.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 17
FILE_COPY
Mtodo, responsvel, por copiar um arquivo de um determinado local para outro local, por exemplo, copiar um arquivo que est no diretrio C:\temp para o diretrio C:\temp2. Este mtodo recebe como argumento um endereo de origem e o nome do arquivo a ser copiado e um endereo de destino e o nome que o arquivo ter a quando ser copiado.
SOURCE = Recebe o caminho e o nome do arquivo a ser copiado, deve ser uma varivel do tipo string.
DESTINATION = Recebe o caminho e o nome que o arquivo ter quando ser copiado para este destino, o nome do arquivo no necessita ser o mesmo do SOUCE (ORIGEM).
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 18
DIRECTORY_CREATE
Mtodo, responsvel pela criao de um determinado diretrio no Sistema Operacional, este mtodo independe do sistema operacional que o FRONTEND est rodando, ele se ajusta a criar o diretrio de acordo cada Sistema operacional (Lembrando que os comandos de criao de diretrios mudam de SO para SO), este mtodo recebe como argumento o endereo juntamente do nome do diretrio a ser criado e retorna um argumento do tipo I que retorna um numero 0, para criao e -1 para erro de criao.
DIRECTORY = Recebe o caminho do diretrio a ser criado, lembrando que um diretrio somente um diretrio se ele for criado diretamente na RAIZ, por exemplo, a RAIZ do SO Windows uma letra ALFABETICA, geralmente C: para a primeira partio do disco rgido e assim prossegue para as demais parties ou drives, com exceo ao drive de disquete que se inicia na RAIZ A:. Para SO LINUX, UNIX, e outro que seguem o padro UNIX a RAIZ iniciada pela letra / independente da partio, somente mudando para os drives externos. Com estes este conceito em mente, quando criando um diretrio que no esteja em uma RAIZ mais sim dentro de um diretrio, este chamado de subdiretrio. O tipo de dados de entrada uma varivel do tipo string
RC = Retorna uma varivel do tipo I contendo informao sobre a criao do Diretrio ou Subdiretrio.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 19
DIRECTORY_EXIST
Mtodo, responsvel pela verificao de existncia de um determinado diretrio ou subdiretorio, recebendo como argumento o endereo do diretrio a ser pesquisado e retornado uma varivel do tipo C, de tamanho 1 contendo o valor X, para a existncia do diretrio e SPACE para a no existncia.
DIRECTORY = Recebe o caminho e o nome do diretrio a ser verificado, sendo uma varivel do tipo string.
RESULT = Retorna uma varivel do tipo c de 1 contendo a informao da verificao.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 20
DIRECTORY_DELETE
Mtodo responsvel pela deleo/excluso de um determinado diretrio, este mtodo recebe como argumento um endereo de um determinado diretrio e retorna uma varivel do tipo c de tamanho 1, contendo X para deleo efetuada com sucesso e SPACE como deleo no efetuada.
DIRECTORY = Recebe o caminho e o nome do diretrio a ser excludo, sendo uma varivel do tipo string.
RC = Retorna uma varivel do tipo I contendo informao sobre a excluso do Diretrio ou Subdiretrio.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 21
Mtodo responsvel pela verificao do Sistema operacional que est rodando o FRONTEND, este mtodo retorna uma varivel do tipo I, contendo um determinado numero que o sistema SAP, tem embutido contendo uma tabela para este numero, onde cada numero esta associado a uma plataforma, para descobrir o numero relativo a plataforma a classe CL_GUI_FRONTEND_SERVICES, contem atributos do tipo constantes (valores pr-definido) contendo o tipo de plataforma, caso queiramos retornar o nome d plataforma basta verificar qual valor contido nestas constante relativo ao valor retornado pelo mtodo.
PLATFORM = Retorna uma varivel do tipo I, contendo um numero relativo ao SO.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 22
Para verificar qual o numero relativo que o SAP armazena basta usar qualquer tipo de condio mltipla para verificar qual constante que o SAP armazena o numero relativo do SO.
Ex.:
CASE PLATAFORMA. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_WINDOWS95. NOME_PLATF = 'WN32_95'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_WINDOWS98. NOME_PLATF = 'WN32_98'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_NT351. NOME_PLATF = 'WN32'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_NT40. NOME_PLATF = 'WN32'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_NT50. NOME_PLATF = 'WN32'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_MAC. NOME_PLATF = 'MC'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_OS2. NOME_PLATF = 'PM'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_LINUX. NOME_PLATF = 'MF'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_HPUX. NOME_PLATF = 'MF'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_TRU64. NOME_PLATF = 'MF'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_AIX. NOME_PLATF = 'MF'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_SOLARIS. NOME_PLATF = 'MF'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_MACOSX. NOME_PLATF = 'MF'. WHEN 14. "PLATFORM_WINDOWSXP NOME_PLATF = 'WN32'. WHEN CL_GUI_FRONTEND_SERVICES=>PLATFORM_UNKNOWN. NOME_PLATF = '??'. WHEN OTHERS. NOME_PLATF = '??'. ENDCASE.
WRITE NOME_PLATF .
CL_GUI_FRONTEND_SERVICES=>PLATFORM_XXXX = Onde XXX e equivale ao valor numrico de cada constante.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 23
GET_USER_NAME
Mtodo responsvel, pelo retorno de usurio logado no sistema, recebe como argumento uma varivel do tipo STRING.
Quando for executado uma determinada aplicao que exige parmetros de entrada, como no caso um prompt de comando, usa-se o parmetro APPLICANTION passando para este parmetro o nome do aplicativo a ser chamado, e para o parmetro PARAMETER passa os(s) parmetros necessrios para executar o aplicativo.
Observe que no exemplo chamado o prompt de comando DOS, passando o comando ping, quando o aplicativo prompt for aberto ele executar o comando ping.
Caso seja necessrio apenas abri o aplicativo pode se usar os parmetros: DOCUMENT ou APPLICATION.
Exemplo: abri um documento do WORD ou um bloco de Nota.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 25
Para abri um endereo da internete basta passar a URL( Uniform Resorce Location ) para o parmetro DOCUMENT. Exe.: www.flino.com.br
FILE_OPEN_DIALOG
Mtodo responsvel pela procura de arquivo, este mtodo apenas faz a procura de arquivo especificado, para coletar um determinado arquivo necessrio usar o mtodo GUI_UPLOAD. A grande vantagem de usar este mtodo que ele permite selecionar mais de um arquivo e fazer com que o usurio especifique o caminho correto do arquivo. Este mtodo apenas serve para coletar o caminho correto de um determinado arquivo, aps o caminho estar coletado, possvel fazer diversas operaes como, por exemplo, apagar copiar salvar em memria, etc....
DEFAULT_EXTENSION = Extenso que dever iniciar como padro, apenas iniciar como padro, mais pode ser alterada a extenso.
DEFAULT_FILENAME = Nome do arquivo a ser procurado, que iniciar como padro, podendo ser alterado.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 26
FILE_FILTER = Extenso que dever ser coletada, de arquivos, neste caso somente arquivos com a extenso especificada, poder ser coletado.
MULTISELECTION = Permite a seleo de mltiplos arquivos, onde X equivale mltipla escolha, onde se inicia est opo com SPACE.
Todos os tipos de dados de entrada so do tipo string.
FILE_TABLE = Retorna uma estrutura do tipo FILE_TABLE, contendo o(s) nome(s) do(s) arquivo(s) selecionado(s).
Exemplo:
Criaremos um Selection-Screen, com bloco e frame, que conter um select- options, que armazena o(s) endereo(s) do diretrio(s) ou arquivo(s).
Este select-options, quando for acionado pelo evento AT SELECTION- SCREEN ON VALUE-REQUEST FOR ir chamar o mtodo, e coletar mltiplos endereos de arquivos.
SELECTION-SCREEN BEGIN OF BLOCK M WITH FRAME. SELECT-OPTIONS SO_FPATH FOR RLGRAP-FILENAME. SELECTION-SCREEN END OF BLOCK M.
LOOP AT IT_TAB INTO SO_FPATH-LOW. SO_FPATH-SIGN = 'I'. SO_FPATH-OPTION = 'EQ'. APPEND SO_FPATH. ENDLOOP.
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 27
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 28
DIRECTORY_BROWSE
Mtodo responsvel pela coleta de um endereo de um determinado diretrio equivalente ao mtodo FILE_OPEN_DIALOG. Com este mtodo pode-se pesquisar em modo grfico a seleo de determinados diretrios. So passados trs parmetros para este mtodo os trs parmetros que so passados so do tipo STRING uma o titulo da janela (WINDOW_TITLE) o outro o endereo da pasta inicial que dever ser feito a busca (INITIAL_FOLDER) e o outro o endereo da pasta pesquisada (PICKEDFOLDER) este ultimo parmetro um retorno do mtodo CHANGING ().
DATA: PICKEDFOLDER TYPE STRING. DATA: INITIALFOLDER TYPE STRING.
INITIAL_FOLDER = Pasta Inicial, diretrio que dever iniciar para a pesquisa, lembre-se que iniciar diretamente no diretrio, especifico um boa engenharia de software, pois facilita o tempo do usurio.
SELECTED_FOLDER = Varivel contendo o caminho do arquivo pesquisado.
Todos os dados de entradas e sadas so do tipo string. CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 29
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 30
GUI_UPLOAD
Mtodo, responsavel pela captura de dados de um determinado arquivo, que est armazenado em algum local do SO. Este metodo equivalente a funo GUI_UPLOAD, pois dentro do metodo acionado a propria funo.
FILENAME = Caminho e nome do arquivo a ser coletado, este paramentro pode ser preenchido, antes deste mtodo, utilizando os mtodos:
DIRECTORY_BROWSE FILE_OPEN_DIALOG
CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 31
FILETYPE = Tipo do arquivo a ser coletado.
ASC = Arquivo do tipo tabela ascii (caracter). DAT = Arquivo do tipo genetico (word(doc),excel(xls), etc. ) BIN = Arquivo do tipo binario, os dados viram em formato binario, geralmente usados para trabalhar no formato X (Hexadecimal).
HAS_FIELD_SEPARATOR = Coloca um delimitador co final de cada linha do arquivo, est delimitador um arquivo (#).
X retira o delimitador SPACE insere o delimitador
Por default o metodo insere o SPACE, que fir com o delimitador.
Todos os tipos de entradas de dados so do tipo STRING.
FILELENGTH = Retorna o Tamanho do arquivo, o tipo da variavel que recebe o tamanho do arquivo do tipo I.
DATA_TAB = Retorana os dados do arquivo no formato de tabela, existe N formas de criar a tabela que rceber os dados, aqui neste artigos ser apresentado apenas uma form, ficando a disposio da pesquisa, por conta do leitor.
1 Declara-se um tipo:
TYPES: TY_CLINE(1024) TYPE C.
2 Declara-se uma estrutura:
DATA: ST_DATATABC TYPE STANDARD TABLE OF TY_CLINE.
Quando o mtodo retorna a tabela, basta utilizar qualque comando de iterao do ABAP/4 para catpurar os dados.Um dos jeitos de captura usando iterao utilizando um LOOP AT INTO.
Exe.:
Declara
DATA ST_TABLINE TYPE TY_CLINE.
LOOP AT st_datatabc INTO st_tabline .
WRITE: / lf_tabline.
ENDLOOP. CL_GUI_FRONTEND_SERVICES UDERSON LUIS FERMINO
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 32
GUI_DOWNLOAD
Mtodos responsveis em criar um determinado arquivo com dados para um diretrio, inverso do mtodo gui_upload, que carrega um arquivo, este mtodo, recebe uma tabela contendo dados e cria um arquivo, no caminho especificado pelo programador, o arquivo que este mtodo pode criar pode ser de qualquer tipo, igualmente ao mtodo gui_upload, onde BIN representa qualquer tipo de dados, possvel (XML, ASC, DOC, XLS).
tudo posso naquele que me fortalece (Filipenses 4:13). Pgina 33
BIN_FILE =
FILENAME = Caminho do arquivo a ser salvo, mais o nome que o arquivo ter.
FILETYPE = Tipo do arquivo a ser salvo (BIN (para todos os tipo), DAT, ASC).
CONFIR_OVERWRITER = Este paramentro define uma confirmao quando o arquivo que ser criado j existir, ela informar o usuario se deseja realmente sobre-escrever o arquivo.
X = Define a confirmao SPACE = No pede confirmao, sobre-escreve o arquivo sempre, por default, est a opo que a funo carrega.
Como vsta na lista logo no inicio deste tutorial, a classe CL_GUI_FRONTEND_SERVICES, possui difersos mtodos e atributos, porem aqui neste artigo somente foi descritos os mais usuais, e que provavelmente usaremos nos dia-dia de programaa ABAP/4.