Paso 2: Crear un archivo de definición de aplicación para los artefactos de SAP
Tiempo de finalización: 15 minutos
Objetivo: La característica Business Data Catalog de Microsoft SharePoint Server expone e incorpora datos de aplicaciones de línea de negocio (LOB) en portales. Para incorporar estos datos en el sitio del portal, debe crear un archivo de definición de aplicación que Microsoft Office SharePoint Server pueda consumir.
La herramienta Editor de definiciones de Business Data Catalog, disponible con el SDK de Microsoft Office SharePoint Server 2007, le permite crear un archivo de definición de aplicación para business Data Catalog. Esta herramienta genera automáticamente un archivo XML para el archivo de definición, por lo que no es necesario crear manualmente el archivo en un editor XML.
El propósito de la aplicación de Microsoft Office SharePoint Server que está creando es:
Busque un cliente en el sistema SAP basado en un nombre de cliente.
Seleccione un cliente de la lista de clientes capturados y recupere los detalles del cliente.
Seleccione un cliente de la lista de clientes capturados y recupere los pedidos de ventas para el cliente.
Para cada uno de estos requisitos, debe completar un conjunto de tareas en la herramienta Editor de definiciones de Business Data Catalog. En este tema se proporcionan instrucciones sobre cómo realizar estas tareas.
Requisitos previos
Debe tener instalado el Editor de definiciones de Business Data Catalog como parte del SDK de Microsoft Office SharePoint Server 2007.
Publique el servicio WCF como se describe en Paso 1: Publicar los artefactos de SAP como un servicio WCF.
Creación de un archivo de definición de aplicación
En este tema se proporcionan instrucciones paso a paso para crear un archivo de definición de aplicación para el servicio WCF.
Conectarse al servicio LOB de WCF y crear entidades
Debe conectarse al servicio WCF para extraer el lenguaje de descripción de servicios web (WSDL) para el servicio. En el WSDL, el Editor de definiciones de Business Data Catalog extrae los métodos. Estos métodos se pueden usar para crear entidades. En este ejemplo, se crean dos entidades, una para el cliente y los pedidos de ventas.
Para conectarse al servicio WCF y crear entidades
Inicie el Editor de definiciones de Business Data Catalog. En el menú Inicio, haga clic en Microsoft Business Data Catalog Editor de definiciones.
En la barra de herramientas, haga clic en Agregar sistema LOB.
En la ventana Agregar sistema LOB, haga clic en Conectar con el servicio web.
En el cuadro DIRECCIÓN URL , escriba la dirección URL del servicio WCF. La dirección URL debe tener el formato siguiente:
https://<computer_name>/Customer_Order/Rfc.svc?wsdl
donde Rfc.svc es el archivo creado para el contrato rfc.
La dirección URL está disponible al probar si el servicio WCF se publica correctamente, como se describe en el tema Paso 1: Publicar los artefactos de SAP como un servicio WCF.
Haga clic en Conectar.
Para ver las operaciones seleccionadas en el Asistente para desarrollo de servicios de adaptador de WCF, haga clic en la pestaña Agregar método web . Verá los métodos siguientes:
SD_RFC_CUSTOMER_GET
BAPI_SALESORDER_GETLIST
Arrastre los métodos a la superficie de diseño. Asegúrese de arrastrar ambas operaciones a las distintas entidades.
Haga clic en OK.
En el cuadro de diálogo Escriba el nombre del sistema LOB , escriba un nombre en el cuadro Nombre del sistema LOB . En este ejemplo, llámalo Customer_Order y, a continuación, haz clic en Aceptar.
En el Editor de definiciones de Business Data Catalog, las dos entidades se muestran como Entity0 y Entity1. Asigne a estas entidades nombres descriptivos. Cambie el nombre de la entidad de SD_RFC_CUSTOMER_GET a Customer y cambie el nombre de la entidad de BAPI_SALESORDER_GETLIST a SalesOrder. Realice los pasos siguientes para cambiar el nombre de las entidades:
Expanda el nodo Customer_Order y, a continuación, expanda el nodo Entidades .
Seleccione el nodo Entity0 .
En el panel Propiedades, escriba Customer en el cuadro Nombre .
Seleccione el nodo Entity1 .
En el panel Propiedades, escriba SalesOrder en el cuadro Nombre .
Especificar encabezados de nombre de usuario y contraseña para los métodos
Al crear un servicio WCF para las RFC seleccionadas en el sistema SAP, especificó los encabezados de nombre de usuario y contraseña como parte de la configuración del comportamiento del punto de conexión. Consulte Paso 1: Publicar los artefactos de SAP como un servicio WCF. Debe especificar los mismos valores para las propiedades del método.
Para especificar los encabezados de nombre de usuario y contraseña
Agregue los encabezados de nombre de usuario y contraseña para el método SD_RFC_CUSTOMER_GET.
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, expanda el nodo Métodos .
Haga clic en el nodo SD_RFC_CUSTOMER_GET y, en el panel Propiedades, haga clic en el botón de puntos suspensivos (...) en el cuadro Propiedades .
En la ventana Editor de colecciones PropertyView, haga clic en Agregar y, en el panel Propiedad, escriba HttpHeaderUserName para el cuadro Nombre . Del mismo modo, escriba MyUserHeader para el cuadro PropertyValue . Seleccione System.String en el cuadro Tipo .
En la ventana Editor de colecciones PropertyView, haga clic en Agregar y, en el panel Propiedad, escriba HttpHeaderPassword para el cuadro Nombre . Del mismo modo, escriba MyPassHeader para el cuadro PropertyValue . Seleccione System.String en el cuadro Tipo .
Haga clic en OK.
Agregue los encabezados de nombre de usuario y contraseña para el método BAPI_SALESORDER_GETLIST.
En el panel Objetos de metadatos, expanda el nodo SalesOrder y, a continuación, expanda el nodo Métodos .
Haga clic en el nodo BAPI_SALESORDER_GETLIST y, en el panel Propiedades, haga clic en el botón de puntos suspensivos (...) en el cuadro Propiedades .
En la ventana Editor de colecciones PropertyView, haga clic en Agregar y, en el panel Propiedad, escriba HttpHeaderUserName para el cuadro Nombre . Del mismo modo, escriba MyUserHeader para el cuadro PropertyValue . Seleccione System.String en el cuadro Tipo .
En la ventana Editor de colecciones PropertyView, haga clic en Agregar y, en el panel Propiedad, escriba HttpHeaderPassword para el cuadro Nombre . Del mismo modo, escriba MyPassHeader para el cuadro PropertyValue . Seleccione System.String en el cuadro Tipo .
Haga clic en OK.
Configuración de Sign-On única para conectarse al sistema SAP
Una vez que haya terminado de realizar todos los procedimientos de este tema, habrá creado un archivo de definición de aplicación que se puede importar en una aplicación de SharePoint. Desde la aplicación, se invocan los métodos de SAP para recuperar los datos pertinentes del sistema SAP. Para habilitarlo, debe crear una asignación entre un usuario en el sistema SAP y el usuario de la aplicación de SharePoint. Esta asignación se crea en la consola de Administración central de SharePoint después de importar el archivo de definición de aplicación.
Sin embargo, para crear la asignación, debe establecer una propiedad SecondarySsoApplicationId en el Editor de definiciones de Business Data Catalog.
Para establecer la propiedad SecondarySsoApplicationId
En el panel Objetos de metadatos, expanda el nodo Customer_Order y, a continuación, expanda el nodo Instancias .
Haga clic en Customer_Order_Instance y, en el panel Propiedades, haga clic en el botón de puntos suspensivos (...) en el cuadro Propiedades .
En la ventana Editor de colecciones PropertyView, haga clic en Agregar y, en el panel Propiedad, escriba SecondarySsoApplicationId para el cuadro Nombre . Del mismo modo, escriba SAPSSO para el cuadro PropertyValue . Seleccione System.String en el cuadro Tipo .
Haga clic en OK.
Requisito 1: Buscar clientes basados en el nombre del cliente
Para crear un archivo de definición de aplicación que se pueda usar para buscar clientes en función del nombre del cliente, debe realizar el siguiente conjunto de tareas.
En el método SD_RFC_CUSTOMER_GET, cree un filtro y asígnelo al parámetro que almacena el nombre del cliente.
Cree una instancia de método Finder para el método SD_RFC_CUSTOMER_GET. Un método Finder recupera una lista de registros basados en un filtro.
Para crear un filtro y asignarlo al parámetro de nombre del cliente
Cree un filtro.
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, expanda el nodo Métodos .
Expanda el método SD_RFC_CUSTOMER_GET, haga clic con el botón derecho en Filtros y, a continuación, haga clic en Agregar filtro.
En el panel Propiedades, escriba CustomerName en el cuadro Nombre .
En la propiedad FilterType , seleccione WildcardFilter.
Asigne el filtro al parámetro NAME1 en el método SD_RFC_CUSTOMER_GET.
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, expanda el nodo Métodos .
Expanda el método SD_RFC_CUSTOMER_GET y, a continuación, expanda el nodo Parámetros .
Expanda el nodo NAME1 y haga clic en el segundo nodo NAME1 . El parámetro NAME1 contiene el nombre del cliente.
En el panel Propiedades, seleccione CustomerName en la lista FilterDescriptor .
Para crear una instancia de método Finder para el método SD_RFC_CUSTOMER_GET
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, expanda el nodo Métodos .
Expanda el nodo SD_RFC_CUSTOMER_GET , haga clic con el botón derecho en Instancias y, a continuación, haga clic en Agregar instancia de método para abrir la ventana Crear instancia de método.
En la ventana Crear instancia de método, haga clic en Finder para Tipo de instancia de método. Seleccione CUSTOMER_T para Tipo de valor devueltoDescriptor.
Haga clic en OK.
En el panel Propiedades, escriba GetCustomerByName_Instance en el cuadro Nombre .
Requisito 2: Recuperar detalles de un cliente específico de la lista de clientes
Para crear un archivo de definición de aplicación que se pueda usar para buscar clientes en función del nombre del cliente, debe realizar el siguiente conjunto de tareas.
En el método SD_RFC_CUSTOMER_GET, cree un identificador y asígnelo al parámetro que almacena el número de cliente.
Cree una instancia de método Finder específico para el método SD_RFC_CUSTOMER_GET. Un método Finder específico busca un registro específico basado en un identificador.
Para crear un identificador y asignarlo al parámetro de número de cliente
Cree un identificador para la entidad Customer .
En el panel Objetos de metadatos, expanda el nodo Cliente .
Haga clic con el botón derecho en el nodo Identificadores y seleccione Agregar identificador.
En el panel Propiedades, escriba CustomerID en el cuadro Nombre .
Seleccione System.String en el cuadro Tipo .
Asigne el identificador al parámetro de clave para el método SD_RFC_CUSTOMER_GET.
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, expanda el nodo Métodos .
Expanda el método SD_RFC_CUSTOMER_GET y, a continuación, expanda el nodo Parámetros .
Expanda el parámetro KUNNR y, a continuación, haga clic en el segundo nodo KUNNR .
En el panel Propiedades, seleccione CustomerID[Customer] en la lista Identificador .
Configure una asociación entre los parámetros de entrada y devolución.
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, expanda el nodo Métodos .
Expanda el método SD_RFC_CUSTOMER_GET y, a continuación, expanda el nodo Parámetros .
Expanda el nodo CUSTOMER_T , el segundo nodo CUSTOMER_T , el nodo Elemento y, a continuación, haga clic en el nodo KUNNR .
En el panel Propiedades, seleccione CustomerID[Customer] en la lista Identificador .
Para crear una instancia de método Finder específico para el método SD_RFC_CUSTOMER_GET
En el panel Objetos de metadatos, expanda el nodo Customer y, a continuación, el nodo Métodos .
Expanda el nodo SD_RFC_CUSTOMER_GET , haga clic con el botón derecho en Instancias y, a continuación, seleccione Agregar instancia de método para abrir la ventana Crear instancia de método.
En la ventana Create Method Instance (Crear instancia de método), seleccione Specific Finder for Method Instance Type (Buscador específico para Tipo de instancia de método). Del mismo modo, seleccione CUSTOMER_T para Return TypeDescriptor.
Haga clic en OK.
En el panel Propiedades, escriba GetCustomerByNumber_Instance para el cuadro Nombre .
Requisito 3: Recuperar los detalles del pedido de ventas para un cliente específico de la lista de clientes
Para crear un archivo de definición de aplicación que se pueda usar para recuperar los detalles del pedido de ventas de un cliente específico, debe realizar el siguiente conjunto de tareas.
Configure una asociación entre las entidades Customer y SalesOrder .
Cree un método Association para el método BAPI_SALESORDER_GETLIST.
Para crear una asociación entre las entidades Customer y SalesOrder
En el panel Objetos de metadatos, expanda el nodo SalesOrder y, a continuación, expanda el nodo Métodos .
Expanda el método BAPI_SALESORDER_GETLIST y, a continuación, expanda el nodo Parámetros .
Expanda el nodo CUSTOMER_NUMBER y, a continuación, haga clic en el segundo nodo CUSTOMER_NUMBER .
En el panel Propiedades, seleccione CustomerID[Customer] en la lista Identificador .
Para crear una instancia de método Association para el método BAPI_SALESORDER_GETLIST
En el panel Objetos de metadatos, expanda el nodo SalesOrder y, a continuación, expanda el nodo Métodos .
Expanda el nodo BAPI_SALESORDER_GETLIST , haga clic con el botón derecho en Instancias y, a continuación, seleccione Agregar instancia de método para abrir la ventana Crear instancia de método.
de asociación
En la ventana Crear instancia de método, seleccione Asociación para tipo de instancia de método.
En la lista Entidades de origen, seleccione Cliente.
En la lista Return TypeDescriptor , seleccione SALES_ORDERS..
de asociación
Haga clic en OK.
En el panel Propiedades, escriba SalesOrderForCustomer_Instance para el cuadro Nombre .
Quitar parámetros del tipo System.Nullable
Al crear la instancia del método Association para el método BAPI_SALESORDER_GETLIST, seleccionó el tipo de valor devuelto como SALES_ORDERS. Si expande el parámetro SALES_ORDER, observará que algunos parámetros son de tipo System.Nullable. Para ver el tipo de parámetro, seleccione el parámetro en el Editor de definiciones de Business Data Catalog y examine el valor de la propiedad TypeName.
Para estos parámetros, el Editor de definiciones de Business Data Catalog crea otro parámetro con el mismo nombre, pero con un sufijo "Especificado". Por ejemplo, examine los parámetros ITM_NUMBER y ITM_NUMBERSpecified. Microsoft Office SharePoint Server no admite parámetros System.Nullable. Por lo tanto, cuando se prueban los registros que contienen el tipo de parámetro System.Nullable, se produce una excepción. Por lo tanto, debe quitar los parámetros (con y sin el sufijo "Especificado" y tener el mismo nombre) del Editor de definiciones de Business Data Catalog
Para quitar los parámetros del tipo System.Nullable
En el panel Objetos de metadatos, expanda el nodo SalesOrder y, a continuación, expanda el nodo Métodos .
Expanda el nodo BAPI_SALESORDER_GETLIST y, a continuación, expanda el nodo Parámetros .
Expanda SALES_ORDERS, expanda el segundo SALES_ORDERS y, a continuación, expanda Elemento.
Haga clic con el botón derecho en el parámetro que contiene el sufijo "Especificado" en el nombre y, a continuación, seleccione Eliminar.
Haga clic con el botón derecho en el parámetro que tiene el mismo nombre que el parámetro que eliminó, sin el sufijo y, a continuación, seleccione Eliminar. Normalmente, este parámetro es justo antes del parámetro que tiene el sufijo "Especificado".
Establecer parámetros predeterminados
El BAPI_SALESORDER_GETLIST toma dos parámetros. Uno de estos parámetros, TRANSACTION_GROUP, es el parámetro predeterminado. Por lo tanto, debe establecer el valor predeterminado para este parámetro.
Para establecer el valor predeterminado de TRANSACTION_GROUP
En el panel Objetos de metadatos, expanda el nodo SalesOrder y, a continuación, expanda el nodo Métodos .
Expanda el nodo BAPI_SALESORDER_GETLIST y, a continuación, expanda el nodo Instancias .
Seleccione la instancia del método SalesOrderForCustomer_Instance y, en el panel Propiedades, haga clic en el botón de puntos suspensivos (...) en el cuadro DefaultValues .
En la ventana Editar, expanda TRANSACTION_GROUP nodo y, para el cuadro TRANSACTION_GROUP , especifique el valor predeterminado 0.
Haga clic en Cerrar.
Exportar la definición de aplicación a un archivo
Ahora ha creado una definición de aplicación que contiene los metadatos de la instancia del sistema SAP. Debe exportar esta definición a un archivo XML, que se puede importar en Microsoft Office SharePoint Server.
Para exportar la definición de aplicación a un archivo
En el panel Objetos de metadatos, haga clic con el botón derecho en el nodo Customer_Order y, a continuación, haga clic en Exportar.
Guarde el archivo como Customer_Order.xml.
Pasos siguientes
Ahora debe crear una aplicación de SharePoint para recuperar datos de un sistema SAP. Vea Paso 3: Crear una aplicación de SharePoint para recuperar datos de SAP para obtener instrucciones.
Consulte también
Tutorial 1: Presentación de datos de un sistema de SAP en un sitio de SharePoint