P. 1
abap

abap

|Views: 238|Likes:
Published by mrpaixao

More info:

Published by: mrpaixao on Sep 28, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

02/17/2015

pdf

text

original

TAPM50 Workload Analysis

Workshop A9 Técnicas de Webreporting Avanzado
Philipp Nell Gerente BI, Realtech España
© 2005 REALTECH

Copyright

Copyright 2005 Realtech España. Reservados todos los derechos. Prohibida la distribución, reproducción o traducción de este manual o de parte del mismo, sea cual sea el fin y la forma, sin la autorización expresa por escrito de Realtech España. La información contenida en este manual puede modificarse o complementarse sin previo aviso. Reservados todos los derechos.

© 2005 REALTECH

Resumen del curso

Este workshop quiere introducir al asistente en las técnicas de
La utilización de comandos para la manipulación de objetos de webreporting de SAP BW La utilización de técnologías de web para personalizar el UI de informes basados en Webreporting

Adicionalmente se presentan las nuevas funcionalidades de Bex Web de la version NW 2004s. Al final de la introducción teórica se realizarán practicas para profundizar lo presentado.

© 2005 REALTECH

podrá: Explicar los conceptos tecnológicos del Webreporting de SAP BW. Utilizar otras tecnologías ‘Web’ para mejorar la funcionalidad del Webreporting. © 2005 REALTECH . Ampliar la funcionalidad estándar del Webreporting.Objetivos del curso Una vez terminado este curso.

etc) A quien va dirigido: SAP BI Consultants SAP BI Power Users SAP BI Design Specialists Duración: 3 Horas © 2005 REALTECH . HTTP.Antes de empezar Requisitos previos: BW 305 – Reporting & Analysis Conocimientos básicos de tecnologías Web (HTML. Javascript.

4 Cap. 3 Cap. 2 Cap. 1 Cap. 5 Arquitectura de BW y Webreporting Modelización de templates URLs de commando & Web-API Elementos de web reporting y Javascript Preview NW 2004s Practicas © 2005 REALTECH .Contenidos Resumen Cap.

Roadmap Arquitectura BW Web Modelización de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

Arquitectura SAP BW © 2005 REALTECH .

5 © 2005 REALTECH .Herramientas Bex 3.

Habilitar el acceso desde Web HowTo-Guide: ‘How to Enable SAP BW Web Functionality after a new SAP BW installation’ Disponible en http://service . La mayoría de los pasos a realizar se pueden acceder vía la TX ‘SPRO’ © 2005 REALTECH .com/bi -> How To Guides Incluye un paso-a-paso de las configuraciones necesarias a nivel de WAS y BW.sap.

40 TX ‘SICF’ – Parametrización de los servicios del WAS © 2005 REALTECH .Servicios del WAS 6.

Internet Graphics Server (IGS) Un servicio. no especifico de BW. para generar gráficos para su visualización en los Internet Browsers © 2005 REALTECH .

Flujo de datos al IGS y al cliente © 2005 REALTECH .

Roadmap Arquitectura BW Web Modelización de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

El proceso de publicación en Web BEx Analyzer BEx Web Application Designer Web Browser Herr. Diseño BEx Query Designer http Crear Queries OLAP Processor Data Base BW Web Service BW Charting Engine HTML Templates © 2005 REALTECH .

Comportamientos. Genera el marco de la pagina HTML del template. etc. Herramienta para parametrizar objetos de un template y el template mismo. DataProviders. © 2005 REALTECH .El Web Application Designer (WAD) La herramienta principal para el desarrollo de aplicaciones web de SAP BW. Genera los tags específicos del Webreporting. Apariencia. Carga y descarga de los templates web que forman la base de los informes y cuadros de mando basados en el web reporting.

Tres áreas de trabajo Componentes Template Preview Propiedades © 2005 REALTECH .

El proceso de diseño Drag & Drop © 2005 REALTECH .

Asignación de queries y vistas © 2005 REALTECH .

Un template en el WAD © 2005 REALTECH .

Un template en HTML plano © 2005 REALTECH .

El código en detalle Comienzo Pagina HTML El dataprovider Tag de parámetros de la plantilla Información de la cabecera de pagina Cuerpo HTML Tag de objeto ‘Table1’. © 2005 REALTECH .

Modelo de objetos (I)
Web Template
Controlador de la aplicación Propiedades Configuración de la pantalla de variables Configuración de la personalización Configuración del menú de contexto

Web Data Provider
Representa la fuente de datos para los web items Incluye las instrucciones para su inicialización Tiene propio nombre lógico Se puede manipular con comandos

Web Item Renderers
Basado en HTML, visualizando los datos entregados por el data provider asociado Incluye las instrucciones para su inicialización Se puede manipular con comandos Tiene propio nombre lógico

© 2005 REALTECH

Modelo de objetos (II)

© 2005 REALTECH

Manipulación del template fuera del WAD

Cualquier editor HTML es posible, incluido el ‘Notepad’ de Windows. Se utiliza el editor registrado como editor por defecto para editar HTML.

© 2005 REALTECH

Actualizar el template en el servidor © 2005 REALTECH .

<protocolo>://<servidor>:<puerto>/<path>/<documento o servicio><params> Hypertext Markup Language (HTML) HTML es la sintaxis básica para describir el diseño de una pagina web interpretada por un Internet Browser.Tecnologías básicas de Webreporting Protocolo HTTP y URLs El protocolo HTTP (Hypertext transfer protocoll) es la base de la comunicación entre el cliente (Internet Browser) y el servidor web. Javascript Un idioma de programación para añadir dinamismo a paginas web. © 2005 REALTECH . Cascading Style Sheets “Cascading Style Sheets” (CSS) es una tecnología para facilitar la gestión de estilos y apariencia de un sitio web. URL (Uniform Resource Locator): Identificador univoco de un recurso en Internet.

w3.dtd"> <html> <head> <title>El titulo del documento </title> </head> <body> </body> </html> Reference Guide: http://www.org/MarkUp/ © 2005 REALTECH .01 Transitional//EN" "http://www.org/TR/html4/loose.HTML Todos los documentos tienen una estructura base: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.w3.

Javascript Código ejemplar: <html> <head> <title>Test</title> <script type="text/javascript"> <!-function Quadrat() { var resultado= document.Entrada. Entrada.value + " es " + resultado).value. alert(“El cuadrado de " + document.value * document. } //--> </script> </head> <body> <form name="Form" action=""> <input type="text" name=“Entrada" size="3"> <input type="button" value=“Calcular cuadrado" onClick="Quadrat()"> </form> </body> </html> © 2005 REALTECH .Form.Formular.Formular. Entrada.

onClick()). Acceso a los elementos (tags) de una pagina web vía el DOM (Document Object Model).com/jsref/default. AfterLoad(). Existen Funciones (x = CalcularCuadrado(int a)).w3schools. Eventos (p. onSubmit().asp Syntax muy parecido a Java. © 2005 REALTECH .e.Javascript Reference: http://www. onLoad().

Actualizar el template en el servidor BW. Asignar queries y vistas a los componentes. Crear templates WEB. Manipular el fichero en un editor HTML. Incluir componentes en ellos. © 2005 REALTECH .Resumen Ahora puede: Configurar el acceso vía Web a informes de BW. Descargar el template a un fichero local.

Roadmap Arquitectura BW Web Modelización de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

. query views Filter. Drilldown .Web API Con la WEB API se pueden manipular los siguentes objetos Web Templates Object tags Command URLs Textos Web Items Tabla. Mapa . Data provider. Stylesheets Web API documentation © 2005 REALTECH .. Grafico. Sort...

© 2005 REALTECH . como p. Añadir un desglose al data provider. como p.e. Ejecutar una acción on el web template.e. Crear el bookmark para el estado actual del template. Ocultar y visualizar un web item.Ejecutando commandos Comandos se utilizan para: Cambiar el estado de un web item o de un data provider. Visualizar la entrada de variables.

.Ejecutando comandos Comandos se ejecutan vía: Enlaces HTML o formularios HTML utilizando el tag de <SAP_BW_URL [CMD]> Ejemplo para generar un bookmark <a href=“ <SAP_BW_URL cmd=‘BOOKMARK’>”>Bookmark</a> Durante el rendering de la pagina. BW sustituye este tag por la URL real: <a href="http://myServer:port/SAP/BW/BEx?pageno=1&request_no=8&cmd=bookmark"> Bookmark</a> Funciones de Javascript de SAP BW: SAPBWOpenURL(SAP_BW_URL_Get() + "&CMD=BOOKMARK").> © 2005 REALTECH . Parametrización de URL: http://myServer:port/SAP/BW/BEx?cmd=ldoc&template_id=myTemplate&filt er_iobjnm=0COUNTRY&filter_value=DE Un comando consiste en el nombre de comando y opcionalmente de pares de parametros: <SAP_BW_URL CMD=[CMD_NAME] Parameter1=“Value1“ Parameter2=“Value2“ ..

SHOW_PAGING_AREA_BOTTOM y SHOW_PAGING_AREA_TOP para tablas. Ejemplos: GENERATE_LINKS. Atributos especificos: Son atributos solamente relevante para un cierto tipo de web items: Ejemplos: SWITCHMATRIX para graficos y MODIFY_TABLE. Ejemplo para ocultar un web item con el nombre ABC: <a href=“<SAP_BW_URL ITEM=“ABC” HIDDEN=“X”>”>Ocultar item ABC</a> © 2005 REALTECH . HIDDEN. Los atributos pueden ser modificados con comandos. GENERATE_CAPTION y CAPTION.Manipulación de web items Web items are completamente descritos por sus atributos. El comando tiene que especificar el web item. Attributes of Web Items: Atributos generales: Común para todos los web items. Todos los atributos estan descritos en la documentación.

Que jerarquías. condiciones y excepciones estan asctivas. La documentación incluye mas que 30 comandos diferentes para la manipulación de vistas. El estado de desglose de una jerarquía. © 2005 REALTECH .Manipulación de vistas Vistas son data providers derivados de queries que representan un estado de navegación. Cualquier acción que se puede ejecutar via menu de contexto o navegacción se puede ejecutar vía un comando. Que filtros estan activos. El estado de una vista es complejo e incluye entre otra la siguiente información: Que caracteristicas y estructuras son visibles. El estado de cada uno de los atributos de presentación.

Ejemplos de comandos Filtrar Data Provider ABC por Alemania (Clave ‚DE‘): <SAP_BW_URL DATA_PROVIDER='ABC' FILTER_IOBJNM='0COUNTRY' FILTER_VALUE='DE'> Filtrar a todos los data providers por el mes actual (Variable 0CMONTH): <SAP_BW_URL DATA_PROVIDER='*' MULTI='X' FILTER_IOBJNM='0CALMONTH' FILTER_VALUE='0CMONTH' FILTER_VALUE_TYPE='VARIABLE_EXIT'> Drilldown por paises en el data provider ABC: <SAP_BW_URL DATA_PROVIDER='ABC' CMD='Expand' IOBJNM='0COUNTRY' AXIS='Y'> Drilldown por paises paises pero no por año en el data provider ABC: <SAP_BW_URL DATA_PROVIDER='ABC' CMD='SET_NAV_STATE' IOBJNM_1='0COUNTRY' AXIS_1='Y' IOBJNM_2='0CALYEAR' AXIS_2= ' '> © 2005 REALTECH .

Ejemplos de comandos Ordenar por nombre de clientes de forma ascendiente en el data provider ABC: <SAP_BW_URL DATA_PROVIDER='ABC' CMD='SORT' IOBJNM='0CUSTOMER' SORT_TYPE='T‘ SORT_DIRECTION='A'> Visualizar los datos de datos del data provider ABC en la moneda de la base de datos: <SAP_BW_URL DATA_PROVIDER='ABC' CMD='CURRENCY_CONVERSION ' CUR_CONV_TYPE ='0'> Visualizar centros de coste por su jerarquía en el data provider ABC: <SAP_BW_URL DATA_PROVIDER='ABC' CMD='Set_Hierarchy_State‘ IOBJNM='0COSTCENTER' ACTIVE='X'> © 2005 REALTECH .

© 2005 REALTECH .Secuencias de comandos Secuencias de comandos se utilizan para ejecutar un conjunto de acciones en un solo paso. Sintaxis: El primer comando se compone de forma normal. Se pueden ejecutar cualquier conjunto de comandos. Todos los siguientes se añaden con CMD_2=‘<comando string’>’. Javascript o parametros. se sustituyen ‘=‘ por ‘%3D’ y ‘&’ por ‘%26’. <SAP_BW_URL cmd=‘cmd1’ parameter1=‘value2’ cmd_1=‘cmd=cmd2&parameter2=value2…’ cmd_2=‘<cmd_string’> En URLs y Javascript. Se pueden utilizar en enlaces.

Secuencia de comandos – Ejemplos Drilldown por cliente y ordenarles por clave de forma ascendiente: <SAP_BW_URL CMD='EXPAND' DATA_PROVIDER='ABC' IOBJNM='0COUNTRY' AXIS='Y' CMD_1='CMD=SORT&DATA_PROVIDER=ABC& IOBJNM=0CUSTOMER&SORT_TYPE=K&SORT_DIRECTION=A'> En Javascript: SAPBWOpenURL(SAP_BW_URL_Get() + "CMD=EXPAND&DATA_PROVIDER=ABC&IOBJNM=0COUNTRY&AXIS=Y&CMD_1=CM D%3DSORT%26DATA_PROVIDER%3DABC%26IOBJNM %3D0CUSTOMER%26 SORT_TYPE%3DK%26SORT_DIRECTION%3DA"). Como URL: http://myServer:port/SAP/BW/BEx?cmd=ldoc &template_id=myTemplate &CMD_1=CMD%3DEXPAND%26DATA_PROVIDER%3DABC%26IOBJNM%3D0COUNT RY%26AXIS%3DY&CMD_2=CMD%3DSORT%26DATA_PROVIDER%3DABC%26IOBJN M%3D0CUSTOMER%26SORT_TYPE%3DK%26SORT_DIRECTION%3DA © 2005 REALTECH .

se utiliza el anexo BOOKMARK_DATA. Crear una URL de referencia que representa el estado completo de la aplicación Web: <SAP_BW_URL CMD='BOOKMARK'> Si se quiere guardar el contenido del informe (los datos en su estado actual). © 2005 REALTECH . Se representa una URL de bookmark en el campo de URL del browser. <SAP_BW_URL CMD='BOOKMARK' BOOKMARK_DATA='X'> Nota 647458 para casos especiales.Bookmarking Bookmarking en AP BW es crear una referencia a un estado de navegación que se puede guardar en el cliente (Browser).

Exportar datos Export a CSV (comma separated values): Se exporta a un fichero plano. <SAP_BW_URL DATA_PROVIDER='ABC' CMD='EXPORT' FORMAT='CSV'> Export a Excel 200x: Los datos se exportan a un documento XML soportado por Excel 200x. Se peude seguir navegando si el BexAnalyzer esta instalado. <SAP_BW_URL DATA_PROVIDER='ABC' CMD='EXPORT' FORMAT='XLS'> © 2005 REALTECH . Se incluye alguna información de formato. No se incluye ningun formato.

3. Crear un report ABAP con TX SE38. Crear elemento de texto. Utilizar el elemento de texto con el siguiente comando: <SAP_BW_TEXT PROGRAM=‘Z_BW353_TEXTS’ KEY=‘0001’> © 2005 REALTECH . Soporte a entornos de multi-idioma. Procedimiento: 1.Textos dinamicos (I) Utilización de elementos de texto en informes web BW ofrece la posibilidad de utilizar textos dinámicos determinados durante la ejecución. 2.

Textos dinamicos (II) © 2005 REALTECH .

Roadmap Arquitectura BW Web Modelización de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

Elementos adicionales de CSS © 2005 REALTECH .

Elementos adicionales (Botones) <body> <table><tr> <td class="SAPBEXBtnStd"> <A href=“ <SAP_BW_URL FILTER_IOBJNM='0D_COUNTRY' FILTER_VALUE='DE' DATA_PROVIDER='*' MULTI='X' CMD='REMOVE_FILTER' IOBJNM='0D_SALE_ORG'>“ >Germany</A> </td> </tr></table> </body> © 2005 REALTECH .

text-decoration: none. } De “/sap/bw/Mime/BEx/StyleSheets/BWReports. background-color: #C1D3E0. white-space: nowrap. border: 1px solid. font-weight: normal. font-size: x-small. font-family: arial.Ejemplo . height: 18px. padding: 0 2px 0 2px. border-color: #BAE3FE #3474B5 #3474B5 #BAE3FE. font-style:normal. sans-serif.css” © 2005 REALTECH . cursor: hand.SAPBEXBtnStd { text-align: center. color: #021C3B.

SAPBWOpenURL(URL) ejecuta la URL en la misma ventana. close) ejecuta la URL en la ventana desde donde se abrió la ventana actual y cierra esta si esta indicado.Funciones de Javascript SAP_BW_Get_Language() devuelve el idioma de logon. SAPBWOpenWindow(URL. SAPBWGetItemProp(itemName) devuelve un array de los atributos del web item: new array(itemName. …) © 2005 REALTECH . SAPBWSetOpenerUrl(URL. new Array(name1. windowName. value2). height) abre una nueva ventana con las dimensiones indicadas y ejecuta la URL. Funciones para ejecutar comandos: SAP_BW_URL_Get() devuelve la URL de la aplicación. new Array(name2. width.value1).

“”.Manipulación de menú de contexto El menú de contexto se puede modificar: La visibilidad de entradas se puede modificar en la propiedades del template.“MyJSHandler”.“”. Añadir nuevas entradas con Javascript o propiedades del template: SAPBWAddToMenu(label. e.“”. handlerFunction. p. g. © 2005 REALTECH .) Label: Texto de la entrada en el menú handlerFunction: la función Javascript que ejecuta el comando. etc. 'STRUCTURE_VALUE'.“”.. filter only on characteristic 0CUSTOMER visibility: 'X' for simple menu. 'CHARACTERISTIC'‚ 'CHARACTERISTIC_VALUE'‚'STRUCTURE'. handlerFunctionParameter: parametros para la función Cell type: Contexto de celdas en cual aparezca la entrada. 'DATA'..“”). or ' ' for no display at all position: At the 'BOTTOM' or 'TOP' of the menu data_provider: Only on cells filled by Data_provider item: Only on the specified item Example: Call the company help desk web page SAPBWAddToMenu(“Help Desk”.e. . filter: Filter on the cell type.“X”. ' '=todos los contextos.. 'E' for enhanced menu. “BOTTOM”.

e.. g.item.y){ // Call the help page SAPBWOpenWindow("http://…/it/help. filter..Manipulación del menú de contexto Define JavaScript handler function for the new menu entries: MyHandlerFunction(handlerFunctionParameter.filter. } </SCRIPT> © 2005 REALTECH .y) handlerFunctionParameter: Value set in SAPBWAddToMenu for the handler cell_type: Cell type of the current context filter: Context of the cell.. e..cell_type.x. '0COUNTRY‚ .600... 'CHARACTERISTIC' parameter1: Context of the cell.data_provider.. X: Data column coordinate (needed for RRI – Report-To-Report Interface) Y: Data row coordinate (needed for RRI) Example: Handler function for the Help Desk menu entry <SCRIPT language=“JavaScript“> function myJSHandler(p. g.x."Help"..400). cell_type.htm".p2.p1.

Ejemplo Antes Despues © 2005 REALTECH .

Ejemplo © 2005 REALTECH .

Roadmap Arquitectura BW Web Modelización de templates Componentes de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

© 2005 REALTECH .

Business Explorer Suite Enterprise Portal Business Explorer Suite (BEx) Information Broadcasting BEx Web BI Pattern Web Analyzer Web Application Designer BI Consumer Services Report Designer MS Excel Add-in BEx Analyzer 3rd Party BI SAP BI Info Provider BEx Query Designer © 2005 REALTECH .

Diseño de aplicaciones web BEx Web Application Designer en NW04s Nuevas posibiliades para la modelización reducen la necesidad de scripts y pogramación © 2005 REALTECH .

Botones) Ayuda para desarrolladores que utilizan el Web API. Integración simplificada de elementos nativos de HTML Desarrollo de aplicaciones que incluyen funcionalidad de BPS. Componentes reutilizables se guardan ahora en roles y favoritos. mapa calor y analísis de milestones Soporte total de entornos Unicode © 2005 REALTECH . Nuevos elementos de BI y de layout (Pestañas.e. Botones. etc).Nuevas funcionalidades Nuevas posibilidades Creación de aplicaciones basado en eventos Model-driven BI application building Wizards para comandos y componentes de visualización (p. Nuevos graficos: GANTT.

Web Application Designer: Command Wizard (1) Command Wizard: Utilización del Web API de forma sencilla e intuitiva Menos javascript necesario © 2005 REALTECH .

Web Application Designer: Command Wizard (2) El wizard ofrece ayuda en la busqueda de los comandos relevantes para la acción que se quiere implantar. © 2005 REALTECH .

Web Application Designer: Command Wizard (3) Parametrizar el comando para finalizar la ‘programación’. © 2005 REALTECH .

Añadir Borrar Grupo de botones ejemplar Iniciar Command Wizard © 2005 REALTECH .Grupo de Botones Button Group Visualiza un grupo de botones en cual a cada uno se puede asignar un comando especifico.

Tab1 Tab2 Item/Container/Container Layout © 2005 REALTECH . Si se quiere presentar mas que una componente.Item ‘Pestañas’ Tab Pages Item Cada pagina esta exactamente asignada a un web item. se utiliza la componente ‘Container’.

dentro de una pagina incluido en pestañas.e.Web Item Container Container Colección de web items o propio código HTML P. Insert your HTML code into the Container © 2005 REALTECH .

Continuar teclando reduce la lista de comandos disponibles. © 2005 REALTECH .Web Application Designer: Editor (1) Nuevas funcionalidades del Editor Verificación de plantillas en local para una sintaxis correcta “Intellisense” syntax (autorelleno de comandos) Teclar ‘<bi:’ abre un popup con todos los comandos disponibles.

Web Application Designer: Editor (2) Nuevo formato basado en XML Navegación directa a los componentes via dropdown box cuando el desarrollador se encuentra en el modo ‘XHTML’. Direct navigation to web items via a dropdown box when in XHTML editor mode Resulta en posicionar el cursor en el elemento y hacer su primera linea de codigo la primera linea en el editor. © 2005 REALTECH .

© 2005 REALTECH .. Mayor flexibilidad y control ofreciendo un acceso directo a los tags de HTML y CSS.Web Application Designer: Editor (3) Modo ‘Layout’ Simplificación en la creación de contenido HTML utilizando la opción ‘Insertar..’ en el menu de contexto.

o ratios para eliminarlos de la tabla Drag & Drop al area de filtración Drag & Drop en el bloque de navegación © 2005 REALTECH . Drag & Drop Drag & Drop de caracteristicas.Ad hoc Analysis con Drag & Drop Mayor posibilidades para filtrar =>ayuda a los usuarios trabajar de forma mas eficiente.

Conversión a PDF © 2005 REALTECH .BEx Web Printing Impresión de informes directamente a PDF Cualquier salida de web reporting se puede imprimir directamente a PDF Integrado con Adobe Document Service Solamente se requiere el Adobe Acrobat Reader Opciones de impresión se pueden mantener de forma global o local.

BEx Web Printing Impresion de informes Web a PDF Ajustar al ancho de la pagina Repetir cabeceras Ajustar a una sola pagina Margenes de pagina Alienación y format Cabeceras y pies de pagina adicionales Impresión en fondo con el Broadcaster © 2005 REALTECH .

Roadmap Arquitectura BW Web Modelización de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

Bibliografía Documentación Online SAP Developer Network Service Marketplace © 2005 REALTECH .

Roadmap Arquitectura BW Web Modelización de templates URLs de commando & Web-API Elementos y Javascript Preview BI NW2004s Practicas © 2005 REALTECH .

com © 2005 REALTECH .Muchas gracias ! Email: philipp.nell@realtech.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->