En un post anterior mostraba un detalle de tablas de diccionario estndar en SAP.
Hoy toca hablar de los pasos que hay que seguir si queremos guardar informacin en la base de datos de SAP. Sea cual sea el tipo de base de datos que utilice nuestro ERP (racle! S"#! $a%&'() la forma en que podemos crear tablas en el diccionario de SAP es el mismo. Pero tambi*n hablar* de cmo crear otro ob+eto del diccionario! las estructuras de datos ya que los pasos a reali,ar son muy similares. Definiciones Estructuras- es un con+unto de definiciones de campos almacenado en el diccionario de SAP. .na estructura nunca podr /llenarse0 con ning1n registro de informacin asociada en la base de datos. Su uso se sit1a solamente dentro de la programacin A'AP. Tabla tranparente- al igual que una estructura! una tabla transparente tambi*n corresponde a un con+unto definido de campos estructurados almacenada en el diccionario de SAP. #a diferencia es que una tabla transparente puede ser /llenada0 con informacin. &e hecho! una tabla en general es la unidad m2nima necesario para introducir informacin en nuestra base de datos. E%isten otros tipos de tablas como cluster o pool. Sin embargo! no tratar* de ellas en este art2culo. Pod*is encontrar ms informacin acerca de este tipo de tablas en el siguiente lin3. Elementos comunes a la creacin de tablas transparentes y estructuras Pre4io a crear una tabla o estructura hay que definir los campos que contendrn *stas. 5ada campo de una tabla o estructura ha de tener una descripcin y una definicin del tipo de informacin que contendr. En SAP esto se consigue mediante dos ob+etos del diccionario llamados dominio y elemento de datos. Dominio - el dominio se define como el rango de 4alores que puede tener un campo. Es decir! el tama6o m%imo que puede tener un campo (desde 7 caracteres o n1meros hasta lo que se nos ocurra) y el tipo de informacin que podr albergar (caracteres! n1meros enteros! n1meros decimales! etc.). Por e+emplo! creemos aqu2 el dominio para el campo 8cdigo9. Herramientas / Workbench ABAP / Desarrollo / SE11 Dictionary ABAP / Dominio o $arcamos la opcin 8dominio9! lo llamaremos 8:&;5&<=9. Presionamos 85rear9. o &amos una descripcin al dominio. o Escogemos un tipo de datos. En este caso slo aceptar datos num*ricos as2 que 4oy a marcar la opcin 8>.$59 que es un tipo de datos que slo acepta n1meros enteros. As2 e4itaremos que el usuario se pueda equi4ocar y entre letras en el campo. SAP 4alidar que el tipo de informacin es num*rica y no de+ar grabar si no lo es. o Aceptaremos hasta ???? contactos. Por lo tanto! la cantidad de posiciones ser de @. o #a longitud de salidad tambi*n ser de @. Es decir! lo que 4eremos en la tabla ser lo mismo que entremos en el registro. o En la pesta6a 8Ambito 4al9 podemos definir los 4alores fi+os que puede tomar el campo. En este caso! lo de+amos 4ac2o. Pero si por e+emplo el campo slo pudiese tomar dos 4alores como 84erdadero9 o 8falso9! entonces lo podr2amos indicar aqu2 y SAP al entrar la informacin luego en la tabla no nos de+ar2a entrar ning1n otro 4alor que no fuese 4erdadero o falso. >o es nuestro caso. o =rabamos. &amos una orden de transporte. Acti4amos. Elemento de datos - el elemento de datos contiene la suma del dominio y la descripcin del campo. Herramientas / Workbench ABAP / Desarrollo / SE11 Dictionary ABAP / Tipo datos / Elem datos o $arcamos la opcin 8tipo de datos9. Escribimos el codigo del elemento de datos. Pulsamos 8crear9. o >os muestra un desplegable con tres opciones. Seleccionamos la opcin 8elemento de datos9. o &e nue4o damos una descripcin y escribimos el dominio que hemos creado anteriormente. tra opcin es utili,ar el botn 8tipo instalado9. 5on esta opcin no utili,ar2amos ning1n elemento de datos! sino que asignamos el tipo de datos y su longitud directamente en el elemento de datos. >o es nuestro caso. o En la pesta6a de 8denominacin de campo9 escribimos cuatro descripciones adicionales. Sern las que aparecern en el encabe,ado de la tabla seg1n el tama6o del campo. o =rabamos! guardamos y acti4amos. Tabla transparente .na 4e, creados dominios y elementos de datos podemos empe,ar a crear nuestra tabla que ser4ir de contenedor de informacin dentro de la base de datos SAP. Herramientas / Workbench ABAP / Desarrollo / SE11 Dictionary ABAP / Tabla base de datos Al presionar el boton 85rear9 nos pedir una decripcin y un tipo de clase de entrega. >uestra tabla almacenar informacin as2 que la definimos como 8A9 (tabla de aplicacin). Aambi*n permitiremos que se puedan a6adir registros directamente as2 que marcaremos la opcin 8B Cisuali,acinDactuali,acin permitida9. A6adimos los nombres de cada campo. A cada campo asignamos su elemento de datos si lo tenemos. o En el caso del cdigo tenemos el elemento 8:E;5&<=9 y se lo asignamos. o En el caso del nombre no lo tenemos! pero 4amos a utili,ar alguno de los que e%isten en SAP de forma estndar. 'uscamos a tra4*s del matchcode un elemento de datos estandar de tipo carcter y tama6o @7
o En el caso de direccin y tel*fono no utili,aremos ning1n elemento de datos. Asignaremos el tipo de datos! longitud y descripcin directamente en la tabla. Para eso pulsamos el botn 8Aipo instalados9 y escribimos la informacin directamente. &etermino cules son los campos cla4e! es decir! aquellos que determinarn un registro como 1nico en la tabla. En esta tabla esos campos son el campo 8mandante9 y el campo 8cdigo9. Esto significa que el cdigo de cada contacto es un24oco y no pueden aparecer dos registros con el mismo cdigo dentro de la base de datos. El campo mandante es necesario siempre en todas las tablas transparentes para indicar que la informacin contenida en una tabla transparente ser diferente seg1n el mandante en el cual nos encontremos. Para eso marco la columna 85l49 de estos campos. Actuali,amos las opciones t*cnicas- en Pasar a / !pciones t"cnicas indicamos la clase de datos que informaremos a nuestra tabla. En el e+emplo! los datos que incluir sern informacin de datos maestros (APP#7). El tama6o ser el m2mo posible (7 E de 7 a FF77)! seguro que no incluir* ms registros. El resto de informacin de esta pantalla la mantengo tal cual. Actuali,amos la categor2a de ampliacin- si en el futuro queremos ampliar la estructura de la tabla debemos decidir cmo la 4amos a ampliar. En el e+emplo! seleccionamos 8ampliable de cualquier manera9. #a propia ayuda de la opcin nos puede guiar sobre cmo hacer esto. $en1 Detalles / #ate$or%a de ampliaci&n. =rabamos y acti4amos. Estructura 'sicamente lo que debemos hacer es e%actamente lo mismo que hacemos al crear una tabla transparente. Sin embargo! el camino del men1 ser diferente. Herramientas / Workbench ABAP / Desarrollo / SE11 Dictionary ABAP / Tipo datos / Estructura &irectamente debemos a6adir los campos con su tipolog2a (columna tipo componente) sin asignar ning1n tipo de clase de entrega. >o es necesario a6adir el campo 8mandante9. Aadir informacin a una tabla transparente Para dotar de contenido una tabla podemos utili,ar di4ersas alternati4as directas si hemos marcado la opcin de 8broGser de datosDactual.4ista de tabla9 de la pesta6a 8Entrega y actuali,acin9 como 8B9 A tra4*s del e%plorador de datos de tablas. Herramientas / Workbench ABAP / 'esumen / SE1( Bro)ser de datos / Tabla / 'e$istrar entradas A tra4*s del broGser de 4isuali,acin general de tabla- mediante la transaccin SEHI> o 'otn e+ecutar. o 'otn a6adir l2neas. o 'otn grabar. 5reando una 4ista de tablas y utili,ar esta 4ista para a6adir registros. En otro art2culo comentar* con ms detalle cmo utili,ar esta interesante opcin. Herramientas / Workbench ABAP / Desarrollo / SE11 Dictionary ABAP / *tilidades / +enerador actuali,tablas Aambi*n podemos utili,ar cdigo A'AP. .tili,ando sentencias de S"# como *PDATE! -!D./0 o .1SE'Tdentro de nuestro programa podemos ir a6adiendo registros a la tabla que hayamos creado. En este caso no es necesario haber marcado la opcin de 8broGser de datosDactual.4ista de tabla9 de la pesta6a 8Entrega y actuali,acin9 como 8B9. Visualizar la informacin almacenada en una tabla transparente &e nue4o hay dos opciones- A tra4*s del e%plorador de datos de tablas. Herramientas / Workbench ABAP / 'esumen / SE1( Bro)ser de datos A tra4*s del nue4o broGser de 4isuali,acin en la transaccin SEHI>.