Overview do ITS André John de Souza WebRFC - Conceitos Basicos • É uma função normal em ABAP que utiliza tecnologia RFC para comunicar com o servidor de ITS. • WebRFC’s podem retornar ao browser texto/html ou objetos MIME. • Esta tecnologia é muito poderosa quando você considerar que ela disponibiliza uma forma de incorporar toda a funcionalidade do ABAP para a Web. WebRFC - Interface • Apesar do nome esta função não é marcado com o parâmetro “RFC Suportado”. • Toda função WebRFC tem uma interface padrão, composta pôr 6 objetos: • RETURN_CODE - Utilizado para especificar se serviço do AGate deve permanecer conectado. • CONTENT_TYPE - Especifica o tipo de objeto de retorno MIME ou HTML • CONTENT_LENGTH - Quando buscamos um objeto MIME seu tamanho deve ser especificado • QUERY_STRING - Todos os parâmetros da URL são colocadas nesta tabela interna. • HTML - Conteúdo de retorno da função em texto ou HTML. • MIME - Conteúdo de retorno da função MIME (dados binários). • Modelo: WWW_MODEL_MODULE WebRFC - Exemplo • Código de Exemplo de Função function z_www_ola_mundo. refresh html. content_type = ‘text/html’. html = ‘<title>Ola Mundo<br></title><body>’ append html. html = ‘<p>Oi gente!</p>’. append html. html = ‘<p>Segue parametros passados pelo ITS:</p>’. append html. html = ‘<p>PARAMETRO : VALOR<br>’. append html. loop at query_string. concatenate query_string-name ‘ : ‘ query_string-value ‘<br>’ into html append html. endloop. html = ‘</p>’. append html. endfunction. WebRFC - Chamando Nossa Função • Para chamar uma função é necessário fazer a seguinte chamada no browser: – http://servidor_ITS/scripts/wgate/webrfc/_!?_FUNCTION=nome_da_função&par1=val1&par2... • Servidor_ITS - Endereço do Servidor ITS • nome_da_função - Nome da função no SAP, pôr exemplo Z_MINHA_FUNC • par1 - nome de parâmetro da função no SAP. • val1 - valor do parâmetro. WebRFC - Objetos MIME • MIME - Multipart Internet Multimedia Extensions; figuras, sons, filmes, etc... (basicamente objetos não texto) • Existem varias funções já prontas para a Web, elas começam com WWW_* » exemplo : www_get_mime_object • Todos os objetos MIME de Web da SAP são guardados na tabela wwwdata. • Colocando um objeto MIME na wwwdata ficamos menos expostos a mudanças de diretórios. • Para carregar um novo objeto MIME utilize a transação SMW0. WebRFC - Transação SMW0 1 2 4 3 P 5 1. Ao entrar na transação SMW0, escolher opção 2 (dados binários) 2. É necessário atribuir ao objeto uma classe (ex. $TMP) 3. Esta tela demonstra todos os objetos MIME criadas para uma classe de desenvolvimento 4. Antes de criar (de carregar) um objeto MIME precisamos atribuir o editor do objeto. 5. Clicar neste ícone para carregar o objeto WebRFC - Transação SMW0 6 7 9 8 6. Apontar o caminho do objeto no micro local & transferir. 7. Se o caminho não for conhecido podemos utilizar F4 para “explorar” no micro local ou na rede. 8. Ao carregar o objeto temos de informar a classe de desenvolvimento. 9. Se voltarmos ao repositório de objetos veremos que nossa entrada foi adicionada. WebReporting - Funções • É composto por duas WebRFC’s; – WWW_GET_SELSCREEN: Esta função chama a tela de seleção de um relatório. • Parâmetro(s); – _REPORT - nome do relatório a ser executado. – _TEMPLATE - Modelo de tela de seleção. • Exemplo; http://safira3/scripts/wgate/webrfc/_!?_FUNCTION=WWW_GET_SELSCREEN&_REP ORT=ZFIR160A&_TEMPLATE=Z_TESTE • Dica; Esta função em geral falha ao carregar a tela de seleção, no relatório em ABAP, para cada parâmetro, coloque um valor default ‘?’. WebReporting - Funções – WWW_GET_REPORT: Esta função “executa” o relatório. • Parâmetro(s); – _REPORT - nome do relatório a ser executado. – _VARIANT - nome de variante. – _TEMPLATE - Modelo de tela de seleção & Parâmetros do relatório com o seguinte padrão: » Select-Options: sel<tipo>_<nome>-low & sel<tipo>_<nome>-high » Parâmetros: par<tipo>_<nome> » Checkbox & Radiobutton: cboc_<nome> & radc_<nome> • Exemplo; http://safira3/scripts/wgate/webrfc/_!?_FUNCTION=WWW_GET_REPORT&_REPORT =ZFIR160A&PARC_USER=100275&PARC_SENHA=jkl&_TEMPLATE=Z_TESTE WebReporting - Autorização • Para colocar um relatório do SAP na Web basta autoriza-lo! Utilizando o relatório RSCSAUTH. 3 2 1 Gravar Atribuir grupo de autorizações Selecionar o relatório a ser liberado para a Web WebReporting • Após a atribuição de grupo de autorização o relatório já pode ser chamado pelo browser: http://nome_servidor/scripts/wgate/webrfc/_?!_function=www_get_selscreen&_report=nome_relatório WebReporting - Templates • Templates permitem customizar a cara do WebReport • Utiliza HTML padrão + algumas “tags” especiais (chamadas placeholders). • As templates residem na wwwdata & são carregadas do mesmo modo que objetos MIME (via transação SMW0). Exemplo: <html><head><title><!reportname!></title></head> <body bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="20%"> </td> <td><a href="http://www.telemar.com.br" target="_top"> <img src="http://www.telerj.com.br/images/top_logo.gif" width="160" height="43" border="0"> </a></td><td><div align="right"> <img src="http://www.telerj.com.br/images/1top_new.gif" width="457" height="43" border="0" usemap="#mapa"> </div></td> </td><td width="20%"> </td><td> </tr></table> <form action="<!action!>" method="post"> <!selection_screen!> </form></body></html> WebReporting - Templates • “Placeholders” para tela de seleção: !title! Titulo do documento HTML !heading! Título da pagina !reportname! Nome do relatório !action! URL para WWW_GET_REPORT !selection_screen! Conteudo da tela de Seleção !reset! Texto traduzido para botão de reset !submit! Texto traduzido para botão submit • “Placeholders” para relatório: !title! Titulo do documento HTML !listname! Nome da lista ou relatório !listbody! Conteudo da lista WebTransactions • Uma WebTransaction é composta por 3 itens – Uma transação R/3 habilitada para Web • • • • Uma transação simplificada Utiliza BAPI’s Existem varios cenários já prontos SAP@ Web Studio – Arquivo de serviço (service file) – Template em HTMLBusiness . • Estrutura semelhante ao C • Instruções iniciam com & terminam com ` (backtick) Vantagens & Desvantagens Tecnologia WebReporting WebRFC WebTransaction Vantagens - Solução é tecnicamente fácil de implementar - Utiliza um mínimo de recursos do servidor - Templates permite facilmente padronizar relatórios - Não há necessidade de conhecimentos fora do ABAP - Permite soluções altamente customizadas - Permite muito mais que relatórios (com passagem de parâmetros) - Já existem varias soluções WWW_* desenvolvidas no SAP [é relativamente fácil portar outras funções para Web] - Permite portar um aplicativo, complexo, para a Web facilmente - Altamente customizavel, configuravel & multilíngue Desvantagens - Compatível com browsers 4.0 em diante - Pouca flexibilidade para customizar - Requer conhecimentos alem de ABAP - Utiliza muito mais recursos do servidor - Requer conhecimento de linguagens de programação proprietária (HTML business) & outros