INTRODUCCIÓN
1.1. TRANSACCIONES PRINCIPALES 1.3. Objetos parciales DEL EDITOR Abap/4 |
1.1. TRANSACCIONES PRINCIPALES:
El Abap/4 es el lenguaje de programación de SAP R/3. Se llega al editor por menú con: Herramientas – Workbench Abap 4. Con esto se llega a las transacciones principales del conjunto de herramientas (“workbench”) del Abap/4:
- Object Browser: Se utiliza para localizar y ver los objetos creados por el usuario, datos, programas, ... Se ven en forma arbórea. Permite editar los objetos, visualizarlos, crearlos, ejecutarlos, moverlos, buscarlos, ... Hay que activar todos los objetos creados antes de usarlos.
- Diccionario de Datos (D.D.): Sirve para crear los tipos y objetos de datos de SAP, estructuras, bases de datos, ... cada uno identificado con su nombre. Con la transacción SE11 se visualizan los objetos de Diccionario de Datos. Para entrar por menú: Herramientas – Workbench Abap 4 – Dictionary (F6), o bien la transacción SE11.
- Editor Abap/4:
- Para codificar los programas. Éstos se pueden visualizar de distintas formas (se eligen en el menú de Opciones). Conviene que el nombre de los objetos nuevos que se creen empiece por Y o por Z, para que así una nueva versión de SAP los respete y no sean machacados.
- Para modificar un programa conservando el original, haciendo una copia del mismo. Los programas fuente pueden bajarse a fichero de texto y luego recuperarlos con Utilidades – Upload / Download. Con CTRL+Y se puede marcar un rectángulo de la pantalla, y copiarlo.
- Todo objeto debe tener asignada una clase de desarrollo (son agrupaciones de objetos), para poder luego transportarlo a la máquina de producción (con la que trabaja el usuario), desde la máquina de desarrollo (la del programador).
- Al crear objetos no locales también hay que ‘guardarlos’ en una orden de transporte, donde se graban. Las órdenes se pueden crear, liberar, bloquear, ... Los objetos locales (de la clase local $TMP) NO se pueden transportar.
- Jerarquía: Los objetos pertenecen a una orden de corrección o tarea, y esta a su vez a una orden de transporte.
- Se pueden crear (y borrar) nuevos modos de pantalla (hasta un máximo de 6 simultáneos. Los modos son nuevas ventanas de Windows), con la opción de menú Sistema – crear modo.
- Para crear nuevas líneas en el editor hay que crearlas partiéndolas (con el botón Partir o F7), en donde se desea insertar; o bien poniendo In como nº de línea, con n el nº líneas a insertar.
- Desde una palabra de un programa, desde el editor de Abap/4, se puede navegar a cualquier otro sitio haciendo doble clic.
- Menú Painter:Sirve para diseñar menús, con sus teclas de función, botones, iconos, y funciones estándar (save, exit, back, cancel, print, find, ...).
- Biblioteca de funciones: Para testar funciones, editarlas, ... Las funciones tienen código fuente Abap, parámetros de entrada, parámetros de salida (que pueden ser tablas también). Ejemplos de funciones: cuadros de diálogo (‘popups’), rh_get_date_dayname (devuelve el día de la semana de una fecha dada), ...
- Screen Painter:Sirve para diseñar pantallas y formularios. Hay marcos, botones, iconos, ... Es de tipo visual. El número de dynpro (un dynpro es cada pantalla de un programa, que puede tener varias) identifica el número de pantalla. Para ver el diseño de la pantalla (‘layout’), pulsar el botón Full Screen.
- Modelo: Botón que se usa para escribir esqueletos de sentencias, y así no tener que teclearla completamente. Los parámetros que tenga opcionales aparecen como comentarios.
1.2. Otras transacciones:
- Data Browser: Para ver el contenido de una tabla (por ejemplo, la tabla de mensajes T100). Para llegar por menú: Herramientas – Workbench Abap/4 – Resumen – Data Browser, o bien con la transacción SE16.
- Actualización de tablas: Para editar y tratar tablas (las que sean modificables).Para llegar por menú: Sistema – Servicios – Actualizar tabla, o bien las transacciones SM30 y SM31(ambas son similares).
- Al grabar la tabla, dar orden de transporte. No es necesario indicar la orden de corrección o tarea (como cualquier otro objeto de SAP).
- Tablas de customizing: Son tablas parametrizables. Así SAP tiene más flexibilidad.
- Actualizar una vista: Una vista es una forma de visualizar ciertos campos de una tabla o varias relacionadas, sólo los que interesen. Una tabla puede tener varias vistas asociadas.
- Sistema Info: Informe para ver todos los objetos SAP (tablas, elementos de datos, ...) de un tipo (char, fecha, numérico, ...). Para llegar por menú: Herramientas – Workbench Abap/4 – Resumen – Sistema Info.
- Menús de Ámbito: Para crear un menú de ámbito para el usuario, con iconos, botones, teclas de función, ... Para llegar por menú: Herramientas – Workbench Abap/4 – Desarrollo – Más herramientas – Menú de ámbito.
- Códigos de transacción: Para crear transacciones nuevas, usando otras ya existentes (como una macro) o totalmente nuevas. Para llegar por menú: Herramientas – Workbench Abap/4 – Desarrollo – Más herramientas – Transacciones.
- Bases de datos lógicas:Transacción para crear, ver, ... bases de datos lógicas. Para llegar por menú: Herramientas – Workbench Abap/4 – Desarrollo – Entorno de programación – Bases de datos lógicas.
- Textos breves y explicativos: Sirve para traducir mensajes (se debe indicar el idioma). Ruta de acceso por menú: Herramientas – Workbench Abap/4 – Utilidades – Traducción – Textos breves y explicativos.
- Documentación R/3: Para documentar objetos de SAP R/3. Para llegar por menú, ir a la opción: Herramientas – Workbench Abap/4 – Utilidades – Documentación.
- Editor Split Screen: Parte la pantalla en dos. Su utilidad principal es comparar el código fuente de dos programas (buscar diferencias, ...). Para llegar por menú: Herramientas – Workbench Abap/4 – Desarrollo – Entorno de programación – Editor Split Screen.
- Módulos de diálogo: Son similares a los módulos de funciones. Tienen parámetros de entrada, de salida, y de entrada / salida. Para cuadros de diálogo. Para llegar por menú: Herramientas – Workbench Abap/4 – Desarrollo – Entorno de programación – Módulos de diálogo.
- Mensajes de usuario: Los mensajes son objetos SAP. Para mostrar un mensaje (desde un programa) basta con indicar laclase de mensaje, su tipo y su número.
- La clase de mensaje es una tabla donde se crean y almacenan agrupados todos los mensajes de esa clase. Es el ID, como ZH, por ejemplo. Las clases de mensajes no estándar deben empezar por Z, y su nombre sólo tiene 2 caracteres. Hay varias clases estándar, como HB. Tabla de mensajes del sistema: T100.
- El tipo de mensaje (se especifica al lanzar el mensaje, no es un atributo propio del mismo). Hay 5 tipos de mensajes: E (Error). El programa se queda bloqueado; hay que salir con /N en la línea de transacciones. W (Warning). Tras leer el mensaje, si era en el listado básico, se termina el report; si era en el listado secundario, va al listado primario.I (Informativo). Tras leerse el mensaje, sigue el programa. S (Success): Muestra el mensaje en la siguiente pantalla a la actual. A (Abort). Se muestra el mensaje y su número, y tras leerlo acaba el programa.
- El número del mensaje es su identificador dentro de la clase de mensaje. Los mensajes se almacenan aparte del código fuente del programa (en su clase de mensajes), para reutilizarlos. Para visualizar por pantalla los mensajes, la ruta por menú es: Herramientas – Workbench Abap/4 – Desarrollo – Entorno de programación – Mensajes (o bien: transacción SE91).
- Se pueden “parametrizar”: para ello se escribe dentro del texto del mensaje el carácter & (hasta 4 veces como máximo: se permiten 4 parámetros máximo). Al mostrarlo en pantalla, con MESSAGE … WITH pueden darse valores actuales a los & formales: se sustituyen en orden.
Ejemplos:
REPORT name MESSAGE-ID clase_mensaje. "Clase por defecto en ese report. *T: tipo mensaje, num: mensaje nºnum de la clase definida en la sentencia REPORT. "F1 … F4 son los 4 parámetros posibles. MESSAGE_ID id_clase TYPE T NUMBER num [ WITH F1 … F4]. *Abreviatura de la sintaxis anterior MESSAGE Tnum [ WITH F1 … F4 ]. *Mensaje nº 200, de Error, con un parám MESSAGE E200 WITH sy-uname.
- MESSAGE-ID 'HB'TYPE 'E' NUMBER '200'. "Abreviado: MESSAGE E200(HB).
- Sistema de corrección y transporte: Árbol de órdenes de corrección y transporte. Por menú: Herramientas – Workbench Abap/4 – Resumen – Workbench Organizer. (SE09).
Jerarquía de aplicación: Árbol de los objetos SAP o de la aplicación del cliente. Con doble clic en algún nivel de la jerarquía, se muestran los objetos (programas, datos, ...) asociados a esa rama. Para llegar por menú: Herramientas – Workbench Abap/4 – Resumen – Jerarquía de aplicación - SAP / Cliente (según corresponda).
1.3. Objetos parcialesDEL EDITOR Abap/4:
- Texto fuente:Programa fuente Abap/4.
- Atributos: Información asociada al programa:
- Creador y Fecha.
- Título (campoObligatorio).
- Tipo de programa:1 para ejecutables (on-line); I para includes (un INCLUDE es un código Abap que se llama desde otros programas, para reutilizarlo. Por sí solo no es ejecutable. Ejemplo: un include para guardar los datos globales, que luego es llamado por el programa principal); M para module pool’s (se llama a través de una transacción. Es como un formulario; no es ejecutable). CampoObligatorio.
- Status del programa:P para los estándar SAP, K para cliente, S para programas del sistema, T para test.
- Aplicación: Limita el módulo de SAP en el que puede ejecutarse el programa. Un asterisco indica que el programa sirve para todos los módulos.CampoObligatorio.
- Grupo de autorizaciones: Clave para proteger el programa frente a otros usuarios.
- Checkboxs adicionales en la pantalla de atributos:
- Mayúsculas / Minúsculas: Fuerza la escritura del texto todo en mayúsculas o no.
- Bloqueo del editor: Si está marcado, otro usuario no podrá modificar el programa.
- Ejecución con variante: Fuerza la ejecución del programa con cierta variante
- Cálculo en coma fija.
- Documentación: Información asociada al objeto creado. Se generan campos tipo ‘script’ que se rellenan con lo que corresponda. Ejemplo: &DESCRIPTION&,&PRECONDITION&(parámetros de entrada), &OUTPUT& (salida del sistema), &EXAMPLE& (ejemplos). Hay que entrar por modificar.
- Elementos de texto: Para los distintas etiquetas de texto que puede incluir un programa.
- Título y cabeceras (de los informes). Para crear una cabecera de un listado. Por menú, desde el editor Abap/4: Pasar a – Elementos de texto – Título y cabeceras.
- Símbolos de texto: Para poder reutilizar constantes de texto, se crea un símbolo para cada una. Al usarlo, se escribe en el programa el código del símbolo, ej. ‘001’, y luego aparece en pantalla el texto asociado a ese código. Ejemplo: WRITE TEXT-001. Escribe en pantalla el texto asociado al símbolo 001. Se guardan todos en la tabla TEXT (hay una tabla TEXT por programa en ejecución.), que se accede por programa como cualquier otra tabla: nametable – namefield. En el programa no se deben poner textos literales, sino elementos (símbolos) de texto, para mayor reutilización. Para crearlos, por menú: Pasar a – Elementos de texto – Símbolos de texto. Escribir su número y texto.
- Textos de selección: Nombres de los campos de entrada de la pantalla de selección, para mayor legibilidad del usuario. Por menú, desde el editor Abap/4: Pasar a – Elementos de texto – Textos de selección.
- Variantes: Almacena valores de determinados campos de la pantalla de selección para forzar la ejecución del programa con dichos valores. Un programa puede ejecutarse solo o con alguna variante grabada. Para grabar una variante, pulsar el botón de ejecutar (F8), rellenar los campos con los valores deseados para la variante, y pulsar Pasar a – grabar como variante. Dar un nombre y texto explicativo a la variante. Puede hacerse con esto que algunos campos de la pantalla de selección estén ocultos, sean de sólo lectura, ...
1.4. COMANDOS DEL EDITOR:
- Hay 3 tipos principales de comandos: de cabecera, de línea y del menú de opciones.
- Comandos de cabecera: Se escriben en la barra de comandos del editor (para ello éste debe estar en modo comando).
- Scroll de pantalla: A(TTACH) n (posiciona el cursor en la línea especificada), T(OP) ó – (va a la primera página del programa), B(OTTON) ó ++ (va a la última página del programa), + (página siguiente, como AvPag), - (Página anterior, como RePag).
- Búsqueda: FIND c (busca la primera ocurrencia de la cadena c, a partir del cursor), N(EXT) (busca la siguiente ocurrencia), PRE(VIOUS), R(EPLACE) c1 c2 (reemplaza c1 por c2), F(ETCH) prog (abre en el editor el programa especificado).
- Almacenamiento del programa: S(AVE) (almacena el programa en memoria temporal intermedia), RES(TORE) (trae el programa de memoria intermedia), RES(TORE) AKTIV, U(PDATE) (graba el programa, como F11), SAVEAS prog (graba el programa con un nuevo nombre), PC(DOWN) (download de programa a fichero local).
- Inserción de datos: I (inserta una línea al final del programa), I(NSERT) n (inserta n líneas), IC patrón (inserta el patrón especificado), IC FUNCTION función (inserta el patrón para la función dada), IC SELECT tabla (inserta un SELECT para esa tabla).
- Otros comandos: CH(ECK) (chequea sintaxis del programa actual, como CTRL+F2), PCF(ETCH) (upload de un programa), (H)ELP palabra (muestra ayuda asociada a esa palabra), PP (PRETTY PRINTER, para hacer el programa más legible), PRINT (imprime el listado), RENUM(BER) (numera las líneas de 10 en 10), SHOW nombre (para ver ese objeto), SHOW FUNCTION función, BACK (como F3).
- Comandos del menú de opciones: Se accede a ellos pulsando el botón derecho del ratón en la pantalla del editor. Algunos comandos son los mismos que los de línea. Todos ellos tienen además una tecla de función asociada. La línea “target” del comando será aquella en la que esté el cursor. Ejemplos: Ayuda (F1. Se puede obtener ayuda sobre cualquier campo pulsando F1 con el cursor sobre él. Para obtener más información, pulsar el botón Datos Técnicos. También hay manuales on-line), duplicar (F5), concatenar (F6), partir (F7), ejecutar (F8), grabar (F11), download (MAYS+F8), verificar (CTRL+F2), generar (CTRL+F3), ...
- Comandos de línea: Son los más usados. Se escriben en la zona reservada para los números de línea de las instrucciones de los programas.
- Inserciónde nuevas líneas: S (partir), I (inserta una línea), In (inserta n líneas).
- Borrado de líneas: J (concatenar), D (borra esa línea), DD...DD (borra el bloque).
- Copiado de líneas: C (copia esa línea), CC...CC (copia el bloque), A (inserta “After” la línea o líneas copiadas o movidas),B (como A, pero “Before”).
- Movimiento de líneas: M (mueve la línea), MM...MM (mueve el bloque).
- Repetición de líneas: R(repite esa línea), Rn (repite n líneas), RR...RR (repite el bloque).
- Copiado de líneas al portapapeles del editor. Hay un portapapeles por usuario (esto permite copiar fácilmente texto entre dos modos del editor, si se ha entrado con el mismo usuario, incluso entre diferentes ordenadores) y por cada uno de estos comandos (todos funcionan igual): XX...XX (copia el bloque al portapapeles), X (pega el bloque copiado); YY...YY, Y; WW...WW, W; ZZ...ZZ, Z.
- Otros comandos: CLEAR, RESET (desmarca un bloque, o resetea un comando anterior a medio ejecutar), PR...PR (imprime el bloque), N (inserta un párrafo de comentario), * (scroll de pantalla), > (navegar a un include), < (volver de la navegación a un include), U (sólo para includes), O, T+, B-, O,SH...SH.
Otros comandos: Son las mismas funcionalidades que los comandos principales.
- Botones de la barra de menú:Botón Visualizar / Modificar (intercambia entre ambos modos de edición), botón Verificar sintaxis (como CTRL+F2), botón Referencias de utilización (para conocer todos los lugares donde es utilizado el objeto dado), botón Insertar línea, botón Marcar, botón Deshacer, botón Ejecutar programa (como F8), opción de menú de Generar programa (como CTRL + F3. Un programa u otro objeto debe estar generado y activo antes de poder utilizarse), etc.
- Teclas de función:F1 (help), F2 (mouse), F5 (duplicar línea), F6 (concatenar dos líneas del editor), F7 (partir una línea del editor), F8 (ejecutar programa), F9, F11 (grabar), F12 (abandonar el editor), F13 (imprimir. MAYS+F1. Las teclas de función de F13 a F24 se “pulsan” con ayuda del botón MAYS), F14(MAYS+F2), ..., F24(MAYS +F12).
- Opciones de menú:Con la opción de menú Pasar a ... se puede ir a los objetos parciales asociados a un programa, como sus atributos, elementos de texto, ...). Con Utilidades – Upload / Download – Download puede bajarse a fichero de texto local un código fuente de un programa abap/4. Luego puede recuperarse si se desea con Utilidades – Upload / Download – Upload. Con Opciones – modo editor, puede elegirse el modo del editor, uno de estos 3: modo comando (el más habitual), modo PC connumeración de líneas (como el EDIT de MS-DOS, sin los comandos I de insertar línea, ...), modo PC sin numeración de líneas (análogo). También puede elegirse escribir en mayúsculas o en minúsculas todo. Hay otras opciones como verificar, generar, ejecutar, visualizar advertencias, ...
1.5. Elementos y componentes del lenguaje:
- Palabras clave: Cada sentencia empieza por palabra clave (siempre es la 1ª palabra de la sentencia) y acaba en punto. Son de 3 tipos:
- Declarativas: Definen tipos de datos, objetos de datos (constantes y variables. Las constantes alfanuméricas van entre comillas simples), tablas internas, ... Ej.: DATA (para variables locales y tablas internas) TABLES nametable (para tablas del Diccionario de Datos), TYPES (para definir tipos de datos).
- De evento: Definen bloques de proceso que se procesan al activarse cierto evento, como TOP-OF-PAGE (se dispara al generarse cada nueva página de un listado) Controlan el flujo externo. Los programas Abap están dirigidos a eventos, no son secuenciales.
- De control: Unas controlan el flujo interno de programa (como IF,CASE), otras son operacionales (procesan datos, como MOVE, ADD).
- Campos de una tabla: (interna o del Diccionario de Datos). Se acceden escribiendo nombre_tabla – nombre_campo. Ejemplo: SY-SUBRC (en este caso es la tabla del sistema SYST, que se escribe siempre abreviada como SY, con el campo que indica el código de retorno de un programa, función, sentencia, ... Esta tabla contiene otros campos como la fecha actual, hora actual, nombre de usuario, ... Sólo contiene datos en ejecución).
- Comentarios: Los comentarios de línea completa se hacen poniendo un asterisco en la primera columna, y los de línea partida con una comilla doble, hasta EOL (fin de la línea).
- Escritura de un programa: Pueden escribirse varias sentencias en una línea (acabadas en punto y separadas por algún blanco), o una sentencia ocupando varias líneas. Se pueden crear cadenas de sentencias, concatenando varias similares, así: palabra_clave : parte_1, parte_2, ... , parte_n . Se escribe la palabra clave de la sentencia, seguidamente dos puntos, y luego separadas por comas las distintas “subsentencias”. Ejemplo: WRITE: ‘texto1’, ‘texto2’. En lugar de WRITE ‘texto1’. WRITE ‘texto2’.
- Desbloqueo de objetos: Un programa, tabla, dato, … puede quedar bloqueado a consecuencia de una caída del sistema mientras se estaba tratando dicho objeto. Para desbloquearlo, ir por menú a: Herramientas – Gestión – Monitor – Entradas de bloqueo. Dar el nombre del usuario afectado y pulsar el botón de Lista. Borrar (icono de la papelera) la entrada de bloqueo deseada (o bien todas, desde la entrada de menú Borrar – Borrar todas).
1.6. OBJETOS DEL DICCIONARIO DE DATOS:
- El Diccionario de Datos sirve para crear tipos y objetos de datos en SAP, estructuras y bases de datos globales (accesibles desde todos los programas), cada uno identificado con su nombre. Para entrar en el D.D , por menú: Herramientas – Workbench Abap 4 – Dictionary (tecla de función F6), o bien la transacción SE11.
- Los objetos más importantes del Diccionario de Datos (D.D.) son las tablas (no confundir con las tablas internas de los programas). Las tablas del Diccionario se pueden crear, editar, borrar, ... Otros objetos son: estructuras (son como tablas pero sin entradas, no pueden contener datos), vistas, elementos de datos, dominios, objetos matchcode, objetos de bloqueo, ...
- Vistas:Agrupaciones de ciertos campos de tablas, conectados por el mismo objeto, para ver sólo esos. Es útil para ver en una sola “pasada” el contenido de varias tablas relacionadas entre sí.
- Elementos de datos: Sirven para crear campos de tablas. Indican qué “sentido” tiene ese campo. No hace falta crearlos. Se asocian a un dominio, que indica el tipo de dato, valores posibles, … Ejemplo: mandt, para el campo del mandante; también existen elementos de datos predefinidos para monedas, fechas, idiomas, cantidades, … Como todo objeto SAP, antes de poder usarlos hay que activarlos (icono redondo rojo y blanco), para tenerlos disponibles.
- Dominios: Indican el formato de los campos de las tablas. Un campo está asociado a un elemento de datos, y éste a un dominio. Se puede dar valores fijos a un dominio, con Pasar a … – Valores fijos, o bien se le puede dar rangos de valores.
- Objetos de bloqueo: Para evitar conflictos de acceso a una tabla por varios usuarios a la vez. Se usan para hacer zonas de exclusión mutua, semáforos, ...
- Objetos matchcode: No se suelen crear, en cambio sí se crean nuevos conceptos de búsqueda (ID’s: Buscar por nombre, por fechas, por NIF, ...): se crean dándoles un número, descripción, … Éstos sirven para buscar objetos asociados a un campo. Hay muchos ID’s predefinidos. Se pueden definir además restricciones de búsqueda.
- Estructuras: Son similares a tablas, pero no pueden contener datos o entradas., son sólo campos.
- Tablas: Son los objetos más importantes del Diccionario de Datos.
- Tipos de tablas: Las tipo A son de aplicación, las C y G son de Customizing (son para parametrización), las L para datos temporales o de prueba, y las S y W son del sistema.
- Datos definidos en cada campo: En cada campo de una tabla está definido un elemento de datos, el tipo del campo, su longitud, opcionalmente una tabla de verificación (para chequear que el valor del campo está incluido dentro de los posibles definidos en esta tabla), descripción del campo, mandante (simula varias máquinas lógicas, pero puede ser una única máquina física, o varias. Pero los datos de una tabla dependen y están sólo dentro de un mandante. Por eso este dato es obligatorio en todas las tablas).
- Opciones técnicas de una tabla:clase de datos (se suelen usar APPL0 y APPL1), categoría tam. (tamaño esperado de la tabla, en nº entradas), grabar la tabla en MI (memoria intermedia).
- Actualización de tablas: Hay un flag que permite actualizar la tabla si está marcado. Se puede entrar por menú por: Entorno – generar actualización de tabla. Con esta opción se pueden usar las transacciones SM30 o SM31 para actualizarlas (no se podría hacer si no tuviera permiso de actualización y no estuvieran generadas las vistas necesarias para hacerlo). El campo mandanteno es actualizable. Si se añaden campos a una tabla hay que volver a generar las vistas y grupo de funciones para que se tengan en cuenta los cambios.
- Creación de una tabla: Basta pulsar el botón crear e introducir cliente, sociedad, descripción breve (campo obligatorio), nombre (debe empezar por Z), ... El resto de características de la tabla dependerán del elemento de datos (de entre los ya predefinidos, como mandt para el mandante. El elemento de datos debe ajustarse al tipo de datos que necesitemos para un campo dado). En el campo de tabla de verificación el asterisco indica que verifique si se mete dato válido. ‘Clv’ en un campo indica que es clave (pueden ser varios. Dos entradas en una tabla nunca pueden tener igual todos los campos clave). Al grabar la tabla meterla en una clase de desarrollo, como si fuera un programa. Y antes de usarla hay que dar primero las opciones técnicas (clase de datos APPL1 y tamaño 0, por ejemplo) y luego activarla (pulsar el icono circular rojo y blanco). Para permitir actualizaciones, hay que ir por menú a Entorno – generar actualización de tablas. El tipo de actualización puede ser a un nivel, si es que cabe; si no, a 2 niveles. Finalmente pulsar el botón de Proponer imágenes y dar un grupo de funciones (como el ZT01), que tendrá su propia clase de desarrollo. Con esto, haciendo SM31 se pueden meter valores en la tabla (aunque no chequeará si son datos válidossi no está activada la verificación. Para esto, ir por menú a Pasar a … – Claves externas – Propuesta de verificación, una vez por cada campo a verificar).