94
TM ® Diccionario de Datos SAP ABAP Básico ABAP

a20 Diccionario_Leido y Practicado.ppt

  • Upload
    hjc1175

  • View
    234

  • Download
    4

Embed Size (px)

DESCRIPTION

Estructura diccionario de datos ABAP

Citation preview

TMDiccionario de Datos SAP ABAPBsico ABAP 2004 SofOS c.aProhibida su reproduccin sin autorizacinObjetivos Dar conocer el Diccionario de Datos (DD) de SAP2Diccionario de DatosQu es el Diccionario de DatosEl Diccionario ABAP es el centro donde se describen y manejan todas las definiciones de datos usadas en el sistema. El Diccionario ABAP est completamente integrado en el Workbench abap. El resto de componentes del WorkBench ABAP tienen acceso a las definiciones almacenadas en el Diccionario ABAP.El Diccionario ABAP soporta la definicin de tipos definidos por el usuario (elementos de datos, estructuras y tipos de tablas).Tambin se puede definir la estructura de objetos de la base de datos (tablas, ndices y vistas). Estos objetos pueden ser creados automticamente en la base de datos con esta definicin. El Diccionario ABAP tambin proporciona herramientas para la correccin de campos de pantalla, por ejemplo para asignar a un campo una ayuda de entrada (tecla de ayuda F4). Los objetos ms importante en el Diccionario ABAP son tablas, vistas, tipos (elementos de datos, estructuras, tipos de tablas), dominios, ayuda para bsquedas y objetos de bloqueo.Para acceder al diccionario, lo haremos con la transaccin SE11 o mediante el men: HERRAMIENTAS > WORKBENCH ABAP > DICCIONARY ABAP. Datos maestros: son datos que no semodifican muy a menudo. Por ejemplo: datos de materiales, cuentas, bancos, clientes, etc. Datos de movimientos: son datos muy voltiles y con gran volumen degeneracin. Por ejemplo: datos de facturas, pedidos, etc. Datos del sistema o de control: son datos que tienen que ver con la configuracin del sistema.Diccionario de DatosLos datos en el sistema SAPCmo acceder al Diccionario de Datos?Diccionario de DatosEldiccionariodedatospermite laadministracindetodaslasdefinicionesde datos usadas en el sistema R/3. Se accede a l a travs de la transaccin SE11 tal como vemos a continuacin:Aqu,podemos crear,modificaryvisualizartablasbasededatos, Vistas, Estructuras,Elementosdedatos, Gruposdetipos,Dominios,Ayudaspara bsqueda y Objetos de bloqueo.Diccionario de Datos Vamos a crear la tabla ZTABLA_USUARIOS Para esto in!resamos el nombre de la n"e#a tabla a la derec$a del te%to &Database table& ' (resionamos el bot)nA*"+, #eremos la si!"iente (antalla Cmocrearunatablabasededatos,unelementode datos y un dominio?-om(letamoslaShortDescription &Descri(ci)nbre#e&delan"e#atablaconel te%to&Tablade"s"arios&.nlasola(a DeliveryandMaintenance&.ntre!a' act"ali/aci)n&com(letamoslaDeli#er' -lass &-lase de entre!a&con &A&*"e si!ni0ica*"elatablaesdea(licaci)n'*"e tienedatosmaestros'demo#imientos .%istenotraso(ciones*"e(odremos#ersi (resionamos el bot)nque aparece al posicionarelcursorenelcuadrode texto.En DataBrowser/Table View Mant. elegiremoslaopcin "Display/MaintenanceAllowed" esto significaquesepodractualizarel contenidodelatablamediantela transaccin !M"#.Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Enlasolapa"Campos"vamosaingresarloscampos quevaatenernuestratabla. Estos van a ser: DNI, NOMBRE_APE, ESTADO_USU y el MANDANTE que no debe faltar en ninguna tabla.Todas las tablas base de datos que creemos deben tener el mandante como primer campo de la tabla. Este debe ser parte de la clave.Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Acadacampodelatablaselepuedeasignaruntipo instalado seleccionando la lnea del campo y presionando el botn ,como podraserCHAR de30posicionesocrearun elemento de datosparacadacampo.Ennuestratabla,crearemos loselementosdedatosZ_DNI,Z_NOMBRE_APEy Z_ESTADO_USU. Tambinesposibleutilizarelementosde datos que ya existen en el sistema, como es el caso del MANDT. Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Paracrearelelemento de datos Z_DNI haremosdobleclicksobreelelemento,el sistema nos ofrecer guardar la tabla, diremos que s y le asignaremos como paquete objeto local. Luego nos aparecer la siguiente ventana de dialogo:Presionaremos la opcin "Yes" y nos aparecer la siguiente pantalla:Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Presionaremos la opcin "Yes" y nos aparecer la siguiente pantalla:Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?EnlaDescripcinbrevecompletaremosunadescripcindelcontenidodelcampo. Luego podemos elegir entre crear un dominio para este campo, utilizar un tipo instalado opredefinedtype yaexistenteenelsistemaoutilizaruntipo referenciaoReference type.Enestecasoutilizaremosuntipo instaladoyleasignaremoseltipodedatos NUMC de 8 posiciones.DOMINIO,describe los atributos tcnicos de un campo, tales como el tipo de datos o la cantidaddeposicionesdelcampo.Undominiodefineprincipalmenteunmbitode valores que describe los valores de datos vlidos para los campos que hacen referencia al dominio. .Undominioeselobjetoquedefinelascaractersticastcnicasdeunatributo. Mediante el dominio se definen el tipo de datos, longitud, valores posibles, propiedades de salida (Por pantalla, impresin)Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Diferentes campos tcnica y profesionalmente similares pueden resumirse mediante un dominio.Loscamposquehaganreferenciaalmismodominiosemodificarn simultneamente al modificarse el dominio. Con ello queda garantizada la consistencia de estos campos. LuegoiremosalasolapaFieldLabeloDenom.campoyactualizaremoslos denominadoresdecampoquesonlosttulosconlosqueseverelcampocuandose visualice en una transaccin o reporte.Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?En este caso los denominadores de campo son todos iguales pero la idea es dar una descripcin ms detallada del breve a la cabecera. Por ltimo activaremos el elemento de datos mediante el botn y nos aparecer una nueva ventana de dilogo donde confirmaremos la activacin seleccionando el elemento a activar y presionando el botnPara el campo NOMBRE_APE crearemos el elemento de datos Z_NOMBRE_APE tal como hicimos con Z_DNI.Para el campo ESTADO_USU, crearemos el elemento de datos Z_ESTADO_USU tal como hicimos con Z_DNI y tambin crearemos el dominio ZZ_ESTADO_USU para asociarle el ambito de valores: A=Activo, I=Inactivo y N=Anulado.Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Elobjetivodecrearundominioesasociarleunmbitode valores, sino es preferible utilizar un tipo instalado.Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Si hacemos doble click sobre ZZ_ESTADO_USU el sistema nos preguntar en una ventana de dilogo si deseamos crear el dominio. Contestaremos que si y veremos la siguiente pantalla:Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?Completamos la Descripcin breve del dominio con "Estado del usuario". El tipo de datosserCHARde1posicin.LuegoenlasolapaValueRangeombitode valores completaremos el mbito de los valores del dominio.Porltimoactivamoseldominio ZZ_ESTADO_USU,luegoactivamosel elemento de datosZ_ESTADO_USUy finalmente lo que nos queda antes de activar latablaZTABLA_USUARIOSes configurarlasopcionestcnicasdelatabla presionando el botn Diccionario de DatosCmocrearunatablabasededatos,unelementode datos y un dominio?AqucompletaremoslaClasededatoscon"APPL0"queeslacorrespondientea "Datosmaestros,tablastransparentes"ylaCateg.tamaocon"3"queeselvalor correspondiente a una tabla de 110.000 a 460.000 registros de datos.Finalmenteactivamoslatabla ZTABLA_USUARIOSy felicitacionesacabamosdecrear nuestra primera tabla Z.Diccionario de DatosCreacindeunasuperficiedeactualizacinparauna tablaUnavezquecreamoslatablaZTABLA_USUARIOSvamosacrearleuna superficie de actualizacin para poder ingresarle registros. Para esto vamos a ingresar a la transaccin SE11 con el nombre de la tabla y vamos a ir a la siguiente opcin del men:Aqu veremos la siguiente pantalla en donde completaremos los campos:Authorization group: con &NC& que significa que no estamos asociando la superficie a ningn grupo en particular.Function group: aqu pondremos el mismo nombre de la tabla. Este tema lo veremos en detalle en la unidad Funciones y Subrutinas.Maintenance type: seleccionaremos un nivel o sea one step.Diccionario de DatosCreacindeunasuperficiedeactualizacinparauna tablaLuego presionaremos el botn y el sistema nos ofrecer nmeros de imgenes.Presionaremoselbotnyse completarconnmeros, elcampodela pantalla"Overviewscreen".Finalmente presionamos el botny guardamos los cambios como "Objeto local". Diccionario de DatosCreacindeunasuperficiedeactualizacinparauna tablaAhoravamosaprobardeingresarregistrosen latablaZTABLA_USUARIOS, para ello vamos a ir a la transaccin SM30, escribiendo el nombre de nuestra tabla y presionamos el botn Aqu, presionamos el botny comenzamos a cargar registros en nuestra tabla. Diccionario de DatosCreacindeunasuperficiedeactualizacinparauna tabla$l finalizar la carga presionamos el botn . Diccionario de DatosVisualizacin de los registros de una tabla. Para visualizar los datos que acabamos de crear vamos a utilizar la transaccin SE16. All vamos a escribir el nombre de nuestra tabla y presionamos enter.Inmediatamentedespus,veremoslasiguientepantallaendondepodremos filtrarlosdatosamostrarporcualquieradeloscamposquecomponen nuestratabla.Tambinpodremossaberlacantidadderegistrosdenuestra tabla con el botnAqupresionamosF8 yvisualizaremosel contenidodelatablaZTABLA_USUARIOS tal como vemos:Diccionario de DatosCreacin de una estructura. Vamos a crear una estructura, para ello accedemos a la transaccin SE11, en Tipo de datos colocamos el nombre de nuestra estructura que ser ZUSUARIOS y presionamos el botn Create. Luego aparecer en la pantalla la siguiente ventana de dilogo, seleccionamos la opcin Structure y presionamos el botn continuar de la tlde verde.Diccionario de DatosCreacin de una estructura. Luego ingresamos la Descripcin breve que ser "Estructura de usuarios" y los campos que tendr la estructura, que en este caso sern los mismos de la tabla ZTABLA_USUARIOS como vemos a continuacin:Finalmente activamos.Diccionario de DatosCreacin de una estructura. Una ayuda de bsqueda es un objeto Abap que sirve para definir posibles valores de seleccin.Supongamos que tenemos un reporte Abap con la siguiente pantalla de seleccin:YqueremosquealpresionarF4sobre elcampodeentradadelapantallase muestrenlosnombreyapellidos delos usuarios. Paraesto,tenemos quecrear laayuda de busqueda Z_AYUDA_USUARIOSen latransaccinSE11. IngresamoselnombreZ_AYUDA_USUARIOSola derechadeltextoSearchhelp,presionamoselbotnCreateyveremosla siguiente ventana de dilogo:Diccionario de DatosCreacin de una estructura. Aqu seleccionaremos la opcin "Elementary search help" y completamos la pantalla con los siguientes datos:Diccionario de DatosCreacin de una estructura. Elmtododeseleccin serelnombre delatablade dondeseobtienenlosdatos.Los campos NOMBRE_APE, DNI y ESTADO_USU son los que se mostrarn por pantalla al utilizar la ayuda y el campo NOMBRE_APE en particular ser el que se exporte a la pantalladelreporteporesotienetildadalacolumnaEXP.Parafinalizaractivamosla ayuda.Antes de crear una nuevaayuda de bsqueda es conveniente chequear en el diccionario de datos si no existe una que cumpla con mis requisitos.Luego, modificaremos la declaracin del parmetro de la pantalla de seleccin de nuestro reporte con la sentencia MATCHCODE OBJECT seguida del nombre de la ayuda de bsqueda que acabamos de crear.Vemos que al ejecutar el reporte aparece el iconoa la derecha del campo Usuario. Finalmente, si lo presionamos veremos el siguiente listado de opciones de seleccin: Diccionario de DatosQu son las Tablas internas?. Si queremos guardar una coleccin de registros de datos de la misma estructura en memoria, sin necesidad de acceder continuamente a las bases de datos y poder realizar diversas operaciones con este conjunto de informacin, entonces utilizaremos tablas internas.TABLAINTERNA.Esunobjetodedatosquepermiteguardarenmemoria grandescantidadesderegistrosdedatosconlamismaestructura.La cantidad de registros mxima esta relacionada con los lmites especificados en la instalacin del sistema.El uso tpico que se le da a una tabla interna es: Para almacenar temporalmente los datos de las bases de datos para un procesamiento futuro. Para estructurar y formatear datos que se mostrarn como salida del programa. Para formatear datos para ser utilizados por otros servicios.Diccionario de DatosCmo se declara una Tabla interna?. La sintaxis para su declaracin es la siguiente:De esta manera definiremos una tabla interna con n lneas en memoria ms una lnea de cabeceraoarea de trabajo.Lacantidaddelneasquese especificanenOCCURSno limitan el tamao de la tabla sino la cantidad de registros que se guardarn en memoria simultaneamente. Por lo general, en el parmetro OCCURS se especifica la cantidad 0 lo que permite trabajar con tablas de gran cantidad de registros.Diccionario de DatosCmo se declara una Tabla interna?. En el prximo ejemplo declaramos la tabla interna TI_PROVEEDORES.Otra forma de declarar la misma tabla sera:Diccionario de DatosCmo se declara una Tabla interna?. En el prximo ejemplo declaramos la tabla interna TI_PROVEEDORES.Otra forma de declarar la misma tabla sera:Diccionario de DatosLlenado de una tabla interna. Para llenar con datos una tabla interna utilizamos:APPENDTO:seaadeunregistroalatabla internaenla ltimaposicinconlosvaloresquetengamosenelarea de trabajo.Veamosun ejemplo:Llenamos la tabla interna con el contenido de una base de datos. Esto lo haremos con la sentencia SELECT que veremos en detalle en la prxima leccin. Diccionario de DatosOrdenamiento de una tabla interna. Para ordenar una tabla interna utilizamos la sentencia SORT.En el ejemplo anterior ordenamos la tabla TI_PROVEEDORES de forma descendente porDNIlocualinvertirelordenenelquefueroncargadosoriginalmentelos registros. Para ordenar de menor a mayor hay que utilizar la clasula ASCENDING.Procesamiento de una tabla internaPara recorrer una tabla interna y procesar registro a registro utilizaremos la sentencia LOOP-ENDLOOP.Sinoexisteningnregistroquecumplalacondicinespecificadaenlaclusula WHERE, el SY-SUBRC ser distinto de cero..Diccionario de DatosLectura de una tabla interna. Paraleerunregistroconcretodeunatabla internasinnecesidadderecorrerla utilizamos la sentencia READ TABLE..Siseencuentraelregistrobuscado,elSY-SUBRCsercero,casocontrario,ser distinto de cero. Si se desea leer los datos que se encuentran en una posicin particular de la tabla se utilizar la clasula INDEX tal como vemos en el siguiente ejemplo.ElagregadodelaClasulaBINARYSEARCHenlasentenciaREADTABLEhace quelabsquedaseaampliamentemseficiente.Paramsinformacinsobrela sentencia presionar F1..Diccionario de DatosModificando una tabla interna. Para modificar el contenido de un registro de una tabla interna utilizamos la sentencia MODIFY. En el siguiente ejemplo modificamos el campo DNI correspondiente al primer registro de la tabla interna..Para insertar un registro en una posin determinada de una tabla interna utilizamos la sentencia INSERT. En el siguiente ejemplo insertamos un registro en la posicin 2.SielregistroqueseintentamodificarconMODIFYnoexiste,secrearunnuevo registro en la tabla.Diccionario de DatosModificando una tabla interna. Para insertar un registro en una posicin determinada de una tabla interna utilizamos la sentencia INSERT. En el siguiente ejemplo insertamos un registro en la posicin 2.Para borrar el contenido de un registro de una tabla interna utilizamos la sentencia DELETE. En el siguiente ejemplo borramos el registro de la tabla interna de proveedores con DNI igual a 20857492.Diccionario de DatosModificando una tabla interna. Para borrar todo el contenido de una tabla interna utilizamos la sentencia REFRESH. En el siguiente ejemplo inicializamos la tabla interna TI_PROVEEDORES.Para saber cuantos registros tiene una tabla interna utilizamos la sentencia DESCRIBE TABLE. En el siguiente ejemplo declaramos V_LINEAS que es la variable que va a contener la cantidad de filas de la tabla interna TI_PROVEEDORES luego de ejecutar la sentencia DESCRIBE TABLE.Diccionario de DatosLa sentencia SELECT. Existen en Abap un conjunto de sentencias que se utilizan para acceder a las bases de datos. La principal sentencia es SELECT, cuya sintaxis es la siguiente:Diccionario de DatosLa sentencia SELECT. Si quisiramos obtener todos los registros de la tabla ZTABLA_USUARIOS usaramos el siguiente cdigo:DondeTI_USUARIOSesunatabla internadelmismotipodelatabla ZTABLA_USUARIOS.Elasteriscoindicaqueseobtendrntodosloscamposdela tabla. La clusula INTO TABLE se utiliza cuando el resultado de la consulta se guarda en una tabla interna. Evitar el uso del * cuando solo se requiera obtener algunos campos de la tabla origen.Es recomendable hacer CLEAR y REFRESH de la tabla interna antes de realizar la seleccin.En la sentencia anterior, en caso de existir registros en la tabla ZTABLA_USUARIOS, estos pisarn el contenido de la tabla interna TI_USUARIOS. Podra ocurrir que queramos conservar el contenido de la tabla interna TI_USUARIOS luego de reiteradas selecciones. En este caso tendramos que usar la clusula APPENDING TABLE en lugar de INTO TABLE.Diccionario de DatosLa sentencia SELECT. SiquisiramosobtenerdetodosloscamposdelatablaZTABLA_USUARIOSel campoDNIdeberamoscrearunatablaauxiliarsolo con el campoDNIparaalojarel resultado de la consulta.Si quisiramos obtener la primera ocurrencia de la tabla ZTABLA_USUARIOS donde se cumpla determinada condicin debemos usar la clasula SINGLE como vemos a continuacin:Siempre despus de un SELECT se debe preguntar por el SY-SUBRC para saber como proseguir.El resultado de esta consulta ser guardado en la estructura WA_USUARIOS que es del mismo tipo que la tabla ZTABLA_USUARIOS. Diccionario de DatosLa sentencia SELECT. Siquisiramoshacerlamismaconsultaanteriorperonecesitamosobtenersoloel campoDNIentoncesyanoseranecesarialaestructuraWA_USUARIOS sinoque guardaramoselresultadoenlavariableV_DNItalcomo vemosenelsiguiente ejemplo:Siquisieramosobtenerdeunatablalosregistrosquecumplanunacondicinpero queremos guardarlos en una tabla interna que no tiene la misma estructura que la tabla, entoncestenemosqueusarlaclasula INTO CORRESPONDING FIELDS OF TABLE. Enelejemploanterior,latabla internaTI_USUARIOS2 estcompuestaporlos campos NOMBRE_APE y ESTADO_USU. Diccionario de DatosLa sentencia SELECT. Supongamos que tenemos un reporte que tiene la pantalla de seleccin:DondeNombreyApellidoes elparameterP_NOMAPE yEstadoUsuario esel select-optionsS_ESTADO. Siquisiramoshacerunaseleccinalatabla ZTABLA_USUARIOS en base a lo que los usuarios ingresan por pantalla haramos lo siguiente:La clusula IN se utiliza para los select-options en las condiciones de un select.Diccionario de DatosLa sentencia SELECT. Ahora,siquisiramosobtenerelusuarioactivoconDNImsaltotendramosque usar la clusula MAX de la siguiente forma: Siquisiramossaberlacantidaddeusuariosconestado= "activo",debemosusarla clusula COUNT de la siguiente manera:Diccionario de DatosLa sentencia SELECT. Si quisiramos obtener de una tabla todos los registros que existan en una tabla interna cargada con datos, entonces debemos utilizar la sentencia FOR ALL ENTRIES IN que nos permite especificar condiciones en tiempo de ejecucin. Veamos un ejemplo:Siquisiramosobtener todoslosregistrosquecumplanconunpatrnde texto en algunodesuscampos,debemosutilizarlasentenciaLIKEcomovemosenel siguiente ejemplo:Diccionario de DatosLa sentencia INSERT. LasentenciaINSERTpermiteintroducirnuevosregistrosaunabasededatos. Por ejemplo,siquisiramosintroducir unnuevoregistroenla tabla ZTABLA_USUARIOS haramos lo siguiente:SiempredespusdeunINSERTsedebepreguntarporelSY-SUBRC.Siescero,el registro se inserto correctamente, caso contrario, se produjo un error y el registro no se inserto.Diccionario de DatosLa sentencia INSERT. Si quisiramos introducir todos los registros de una tabla interna haramos lo siguiente:Siexistealgnregistroenla basededatos conigualclavequeunregistroenlatabla interna se producir un error de ejecucin en el programa. Diccionario de DatosLa sentencia UPDATE. La sentencia UPDATE permite actualizar el contenido de uno o varios registros de una tabla base de datos. Por ejemplo, si quisiramos actualizar un registro de una tabla base de datos haramos lo siguiente:Siempredespusdeun UPDATEsedebepreguntarporelSY-SUBRC.Siescero,el registrose actualizocorrectamente,casocontrario,seprodujounerrory elregistrono se actualizo.Diccionario de DatosLa sentencia UPDATE. Si quisiramos actualizar los registros de la tabla ZTABLA_USUARIOS que cumplan determinada condicin, haramos lo siguiente:Si quisiramos actualizar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haramos lo siguiente:Diccionario de DatosLa sentencia MODIFY. LasentenciaMODIFYpermite modificarelcontenidodeunoovariosregistrosde una tabla base de datos. Por ejemplo, si quisiramos modificar un registro de una tabla base de datos haramos lo siguiente:Siempredespusdeun MODIFYsedebepreguntarporelSY-SUBRC.Siescero,el registrose modificocorrectamente,casocontrario,seprodujounerroryelregistro no se modifico.Diccionario de DatosLa sentencia MODIFY. Si quisiramos modificar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haramos lo siguiente:Si el registro que se intenta modificar, no existe en la tabla, este se crea.Diccionario de DatosLa sentencia DELETE. LasentenciaDELETEpermite borrarelcontenidodeunoovariosregistrosde una tabla basededatos. Porejemplo,siquisiramos borrarunregistrodeunatabla base de datos haramos lo siguiente:Siempredespusdeun DELETEsedebepreguntarporelSY-SUBRC.Siescero,el registro se borro correctamente, caso contrario, se produjo un error y el registro no se borro.La cantidad de registros borrados se guarda en SY-DBCNT.Diccionario de DatosLa sentencia DELETE. Siquisiramos borrarlosregistrosdelatablaZTABLA_USUARIOSquecumplan determinada condicin, haramos lo siguiente:Si quisiramos borrar todos los registros de la tabla ZTABLA_USUARIOS a partir del contenido de una tabla interna haramos lo siguiente:Diccionario de DatosActualizacin y recuperacin de una base de datos. Para finalizar una unidad de procesamiento lgico LUW de base de datos se utiliza un COMMITWORK, que realizaunupdatefsicoenlabasededatos, haciendo irrevocable cualquier modificacin en la base de datos. Si deseamos deshacer todas las operaciones realizadas sobre la base de datos desde el ltimo COMMIT WORK, realizaremos un ROLLBACK WORK. Veamos un ejemplo al insertar registros en la base de datos ZTABLA_USUARIOS:Es conveniente, despus de un INSERT, MODIFY, UPDATE o DELETE realizar un COMMIT WORK y ROLLBACK WORK.TMDiccionario de Datos SAP ABAPDiccionario de DatosDominios - Creacin / Modificacin / Visualizacin.. Enelmendiccionario,introducimoselnombredelDominiodedatosquevamosa crear, en nuestro caso ZMESESXX, seleccionamos la opcin Dominios. Pulsamos el botndeCrear(Elprocedimientoessimilarparavisualizary modificar),tambinpodemosaccederaestasopcionesatravsdelmen Objeto Dict . Llegaremos a la siguiente pantalla: Diccionario de DatosDominios - Creacin / Modificacin / Visualizacin.. En la pestaa Definicin: Descripcinbreve:Descripcindeldominioacrear,hadeseruntextoexplicativo del dominio. En nuestro caso escribiremos Meses de Ao.Tipo de datos: Seleccionaremos uno de los tipos existentes eligiendo el que mejor se adaptealascaractersticasdelobjetoqueestamosdefiniendo.Ennuestrocaso seleccionaremos CHARLostiposdedatosexistentessepuedenvisualizar(F4)nosmostrarlasiguiente ventana: Longitud: Se corresponder al tamao deseado. En nuestro caso pondremos 10.Diccionario de DatosDominios - Creacin / Modificacin / Visualizacin.. En la pestaa Definicin:LoselementosdelmarcoAtributosdesalida,varandependiendodeltipo datosseleccionadoasporejemploparaeltipoCHARtendremoslaopcin de minsculas y para un tipo CURR tendremos la opcin del signoLongitud de salida: Representa la longitud en la que se va a representar el valor a la horadeimprimirseenuninforme,visualizarseenunapantalla,etc.(Dejamosen valores propuestos 10)Rutina de conversin: Es una referencia a los procedimientos de conversin entre el formato interno del dato y su representacin externa. (En blanco)FlagdeMinsculas: Sepermitelautilizacindeletrasminsculas(No marcado).Diccionario de DatosDominios - Creacin / Modificacin / Visualizacin.. En la pestaa de mbito Val: Representa el rango de datos vlidos que puede tomar dicho atributo (El sistema realiza comprobacionesautomticasverificandoqueelvalorintroducidoporpantallaest dentrodelosvaloresvlidos).Paradefinirestosvalores(nosiempreesnecesario)hay dos posibilidades:- Que estos valores estn almacenados en una tabla, en cuyo caso introduciremos aqu el nombre de la tabla.-Obienfijarlosvaloresdirectamente,bienvaloresindividuales,bienrangoso intervalos de valoresDiccionario de DatosDominios - Creacin / Modificacin / Visualizacin.. Comovemos,podemosintroducirvaloresfijosjuntoconsudescripcinas comointroducirintervalosdevaloresintroduciendoellmiteinferiory superior. Unavezcompletadostodosloscamposdeseadosgrabamoseldominio mediante la opcin grabar(F11).Cuando grabemos por primera vez (no as en las modificaciones) nos preguntar por la clase de desarrollo a la que pertenece el objeto. La clase de desarrollo sirve para agrupar objetos pertenecientesaunamismaaplicacinydeestamanerapodertransportarlosobjetos. Utilizaremos la clase de desarrollo $TMP que es la correspondiente a los objetos locales y pulsamos el botn de grabar o bien pulsamos que asignar directamente la clase desarrollotemporal(Estoesextensibleatodoslosobjetosposibles,dominios,elementos de datos , tablas , programas ) .Unavezgrabadoeldominio,verificamosquenocontieneerroresparaellopulsamosel botn de verificar(Ctrl. + F2), posteriormente ser necesario activarlo para poder ser utilizado pulsaremos el botn de (Ctrl. + F3). (Es necesario activar los objetos que se creanyaquehastaquenosonactivadosnopodrnserutilizadosenotrosobjetos).La modificacin de un dominio, se hace de manera similar.Diccionario de DatosDominios - Creacin / Modificacin / Visualizacin.. Practica - Crearemos los siguientes dominios:Dominio Ti(oLon! Descri(ci)nZ1-LI.22 -3AR 45 16mero de clienteZ1O7B22 -3AR 85 1ombre clienteZAP.LL22 -3AR89 A(ellidosZ1:A-T22 -3AR 45 16mero de 0act"raZ:.-3A22 DATS ; :ec$a ZI7P1T22 -URR 4< Im(orte Diccionario de DatosElementos de datos. Sieldominiorepresentalapartetcnicadeunatributo,elelementodedatos representa la parte funcional del atributo, es decir, su descripcin semntica. Creacin / Modificacin / Visualizacin.En el men diccionario: Seleccionamos la opcin Tipo de Datos, introducimos el nombre del Elemento de datos que vamos a crear, (en nuestro caso ZMESFAXX). Pulsamos la opcin de Crear. Seleccionamos la opcin Elem. Datos, llegaremos a la siguiente pantalla:Diccionario de DatosElementos de datos. Sieldominiorepresentalapartetcnicadeunatributo,elelementodedatos representa la parte funcional del atributo, es decir, su descripcin semntica. Creacin / Modificacin / Visualizacin.Descripcin breve: Introduciremos una descripcin representativa del objeto. (Mes de la factura).En la pestaa Definicin: Opcin Tipo elemental: Dominio:Dominioalquehacereferenciael elemento de datos. (ZMESESXX). TipoInstalado:Tipodedatosylongitudconel mismosignificadoqueelquesedefineenlos dominios. IDparmetro:Permitereferenciaraun parmetrodememoriaSAP.Sertilpara mostrarvalorespordefectoenpantallas,yaque este campo se completar con el valor que tenga elparmetrodememoriaSAPalmostrarla pantalla.(Ennuestrocasolodejamosen blanco.)Diccionario de DatosElementos de datos. En la pestaa Denom. CampoEstos campos corresponden a la descripcin del objeto, estos, son los textos que se mostrarn en los diferentes lugares donde se hagan referencia al campo que utilicen el elemento de datos , por ejemplo en cabeceras de informes al visualizar contenidos de tablas, en pantallas El campo longitud representa el espacio en el que se va a escribir el texto.(En nuestro caso:Mes Fac., Mes de factura, Mes de la factura.En el campo longitud pondremos los valores propuestos: 10, 15, 20).Una vez completado, grabamos(F11), verificamos Ctrl. + F2) y activamos (Ctrl. + F3).Diccionario de DatosElementos de datos. Practica Crearemos los siguientes elementos de datos :.lem Datos Dominio Descri(ci)nZ1-LI.22 Z1-LI.22 16mero de clienteZ1O7B22 Z1O7B22 1ombre clienteZAP.L422 ZAP.LL22 Primer A(ellidoZAP.L822 ZAP.LL22 Se!"ndo A(ellidoZ1:A-T22 Z1:A-T22 16mero de 0act"raZ:.-3A22 Z:.-3A22 :ec$a 0act"raZI7P1T22 ZI7P1T22 Im(orte netoDiccionario de DatosTablas. Una tabla representa un conjunto de atributos de una entidad. Esta formada por campos que se corresponden con cada uno de los atributos. Cada uno de ellos har referencia a un elemento de datos.Creacin / Modificacin / Visualizacin En el men diccionario Introducimos el nombre de la tabla que vamos a crear, en nuestro caso ZCLIENXX, seleccionamos la opcin Tablas y pulsamos la opcin de Crear.Descripcin breve: Descripcin significativa de la tabla. (Maestro de clientes)Diccionario de DatosTablas. Pestaa Atributos: Clase de entrega:Indica quin es el responsable del mantenimiento de la tabla, si es una tabla de parametrizacin, (Pondremos de tipo A (Aplicacin)). PermitidaActualizacintabla:Habilita/Deshabilitalaposibilidaddequeel contenidodelatablapuedasermodificadoenlatransaccindevisualizacindel contenidodelatabla.(Sinosemarcanosepodrnmodificarlosregistrosdela tabla por esta transaccin). (Marcamos con una X)Pestaa Campos: Nombre campo: Nombre del campo. Clave: Indica si el campo forma parte de la clave primaria de la tabla. Un campo o conjunto de campos son clave en una tabla si determinan de forma unvoca un nico registro de dicha tabla. Toda tabla tiene que tener clave primaria. Tipo de datos: Nombre del elemento de datos que describe al campo. (*) Tipo y longitud: Tipo de dato y longitud. (*) TabladeVerificac.:Enesttablaaparecerun*cuandoelelementodedatos introducido,hagareferenciaaundominioquetengaunatabladevalores permitidos, o bien cuando se asocie una clave externa (Visto ms adelante). Descripcin breve: Descripcin del campo. (*)Diccionario de DatosTablas. (*) Podemos crear campos en la tabla que no necesariamente han de estar vinculados a unelementodedatos,sinoquedirectamentelepodemosasignaruntipo,longitudy descripcin.Medianteelbotndeestamanerasehabilitanpara entradaestoscampos.Paravolveraintroducirtiposdedatospulsaremosnuevamente esta opcin. (Aunque existe esta posibilidad, no es muy recomendable).Pestaa Campos moneda/cantidad: TabRefyCpoRef.:Solamentelostiposdedatosdeimporte(CURR)ycantidad (QUAN),necesitanserreferenciadosaotroscamposdeldiccionario.Paraelloses obligatoriocompletarestosvalores(tabla+campo).Estoscamposdereferencia deberndeserdeltipoMoneda(CUKY)paraimportesyUnidad(UNIT)para cantidadesDeestaforma,cuandosevisualicendatos(enpantallas,pantallasde seleccin) sern formateados con el valor que contenga el campo al que han sido referenciados.Diccionario de DatosTablas. Nota:ElcampoMANDT,mandante,seaadecomounatributoenlastablasdeesta forma, se pueden tener varias colecciones de datos distintas segn el mandante. En las selecciones,actualizacionesdelatablaestecampoestrasparenteyaquetendr siempre el valor indicado al iniciar la sesin en el sistema. (No es obligatorio definir el mandante en todas las tablas aunque si es lo ms habitual). Aadimos a la tabla los campos:Campo Cl. Elem. Datos Tipo LongDescripcinMA!DT 2 7A1DT MandanteB"#$S 2 BU=RS Sociedad!CL%E 2 Z1-LI.22 !& de identi'icacin cliente!(MB$ Z1O7B22 !om)re clienteAPEL* ZAP.L422 Primer apellidoAPEL+ ZAP.L822 Seg,ndo apellido-!AC% DATS . -echa de nacimientoDiccionario de DatosTablas. Una vez completados todos los campos, grabamos la tabla (F11). Posteriormente ser necesario completar las definiciones tcnicas de la tabla para ello seleccionaremos la opcin de men Pasar a Opciones tcnicaso el botnAparecer la siguiente pantalla , donde hay que completar los campos: ClaseDatos:Conlaclasededatossedefine de forma lgica el mbito fsico en la base de datosenelquesegrabarlatabla.Estelugar fsico donde se ubicar la tabla se determinar enfuncindeltipodeutilizacindelatabla, esdecir,predominiodeactualizaciones consultas.Porejemplounatablacondatos maestrossufrirpocasactualizacionesy muchasconsultas(Paranuestroejemplo seleccionaremos APPL0) Categoratamao:Determinaelnmero aproximadoderegistrosquevaaalbergarla tabla. (Seleccionamos tamao 3)Una vez completados, pulsamos el botn verificar(Ctrl. + F2) y grabamos botn(F11). Volveremos a la pantalla inicial con el botn (F3) verificamos (Ctrl. + F2) y activamos la tabla (Ctrl. + F3). Diccionario de Datosndices. Un ndice es la ordenacin de los registros de una tabla, por uno o varios de los campos quelacomponenPortantoladefinicindeunndiceconsistenenlaenumeracinde los campos que lo componen.Pulsamos la opcin de men Pasar a ndices o el botnPara crear un ndice a una tabla, en la pantalla:Diccionario de Datosndices. Si no hay ningn ndice creado para la tabla aparecer la siguiente ventana:Al pulsar la opcin Si aparecer la ventana donde nos pide un identificador para el ndice. (Pondremos Z01).Pulsa Continuar.Diccionario de Datosndices. Descripcin breve: Descripcin del ndice. (ndice por fecha de nacimiento.)ndicenico/nonico:Simarcamoslaopcinndicenicoharemosqueelndicesea nico,esdecirquenosepodrnrepetirentradasigualesenlatablaparaloscamposque formen el ndice. En nuestro ejemplo si marcamos el ndice como nico no se podrn insertar en la tabla dos clientes que nacieran el mismo da. (Marcamos el ndice como no nico).Campos: Campos que forman el ndice. Pondremos el nombre de los campos o bien podemos seleccionarlosmediante el botn . (En nuestro caso seleccionaremos los campos MANDT y FNACI).Acontinuacinaparecelapantalladondeseintroducenloscamposqueformanen ndice.Diccionario de Datosndices. Para modificar el ndice pulsaremos el botn nos mostrar una ventana con los ndices existentes :Cuando se han completado los datos grabamos(F11), verificamos(Ctrl. + F2) y activamos (Ctrl. + F3).Podremos seleccionar uno de los existentes para modificarlo o crear uno nuevo Engenerallosndicespermitenacelerarlasoperacionesdeconsulta,peroen contraposicinralentizanlasactualizacionesyaquecadaactualizacindealgunode los registros de la tabla ha de actualizar el/los ndices de la misma. Por tanto a la hora de crear ndices hay que valorar bien su utilidad y repercusiones. Todatablaestordenadaporloscamposclave,luegohayunndiceimplcitopor estoscampos,ynotendrsentidodefinirunndiceconlostodosloscamposclave. (EnelejemploseraabsurdodefinirunndiceconloscampoMANDT,BUKRSy NCLIE). Diccionario de Datosndices. Visualizar / Modificar Contenido de tabla.Unavezquelatablaestdefinida,podemosalmacenarinformacinparaellodentro delapantalladedefinicindelatablaseleccionamoslaopcindemenUtilidades ContenidotablaRegistrarentradasaparecerunapantallaenlaqueintroducir cada uno de los registros:Introducimos los datos y pulsamos(F11).Para visualizar los registros de la tabla seleccionaremos la opcin de men UtilidadesContenido tabla Visualizar.Apareceraunapantalladeseleccindelatabladondesepodrnindicar los criterios de bsqueda.Diccionario de Datosndices. Visualizar / Modificar Contenido de tabla.Pulsandovisualizaremos el contenido de la tabla en forma de listado.Diccionario de Datosndices. Visualizar / Modificar Contenido de tabla.Desdeestapantallapodremos,crearnuevasentradasyvisualizar, modificary borrar (Entrada en Tabla Borrar ) las existentes.Existenotrasformasdellegaralavisualizacindelcontenidodeunatablasinpasar por la transaccin del diccionario de datos. Con la transaccin SE16, indicaremos el nombre de la tabla y llegaremos directamente a la pantalla de seleccin de datos de la tabla.ConlatransaccinSM30(slosihemosgeneradolasvistasdedilogode actualizacin de la tabla).Diccionario de DatosVistas / Dilogo de actualizacin.. Un dilogo de actualizacin de una tabla es un conjunto de programas cuya utilidad es el mantenimiento del contenido de la tabla. Cuando creamos el dilogo sobre una tabla, se generan estos programas de forma automtica.Aunque no es estrictamente necesario crear este dilogo para mantener las tablas si es muy aconsejable para aquellas tablas que el usuario mantiene ya que de esta forma se puede controlar de manera sencilla la seguridad de la tabla. (Esta opcin es muy utilizada en las tablas de parametrizacin, por ejemplo).Para generar el dilogo, la tabla ha de estar activada. Una vez activada seleccionamos la opcin de men Utilidades Generador Actualiz.Tab. llegaremos a la siguiente pantallaDiccionario de DatosVistas / Dilogo de actualizacin.. Para generar el dilogo, la tabla ha de estar activada. Una vez activada seleccionamos la opcin de men Utilidades Generador Actualiz.Tab. llegaremos a la siguiente pantallaDiccionario de DatosVistas / Dilogo de actualizacin.. Grupodeautorizaciones:Medianteestecampo,sepuedecontrolarlaseguridad sobreelmantenimientodelatabla,esdecir,limitarlosusuariosquepuedan modificar el contenido de la tabla. Solamente podrn realizar modificaciones aquellos usuariosquetenganautorizacinsobreelgrupodeautorizacionesindicado.Si deseamosnocontrolarlaautorizacinpondremosenestecampoelvalorpordefecto &NC&. (En nuestro caso pondremos este valor). Grupodefunciones:Esnecesarioindicarungrupodefuncionesenelquese incluirn las funciones, dynpros y dems objetos del dilogo de actualizacin. Aunque podemosindicaraqucualquiergrupodefuncionesyaexistente,esconveniente indicar uno nuevo o bien un grupo que contenga una funcionalidad similar, el dilogo de actualizacin de otra tabla, por ejemplo. (En nuestro caso pondremos ZGXX). Tipodeactualizacin:Marcarunoodosnivelesharquesegenerenunaodos pantallas de mantenimiento. Si marcamos un nivel solamente se generar una pantalla (imagen resumen) que muestra el contenido de todos los registros de la pantalla, si dos nivelesademsdelapantallaanterior(imagenresumen)segeneraunasegunda (imagensencilla)coneldetalledecadaunodelosregistros.(Seleccionamosdos niveles).Diccionario de DatosVistas / Dilogo de actualizacin.. Imgenes actualizacin: Representan el nmero de dynpro que se asignar a cada una delasdospantallasquesegeneran.Podemosindicardosnmerosdedynproqueno existanengrupodefuncioneselegidoaunqueexisteunautilidadparaqueelsistema elija de manera automtica estos valores para ello pulsamos el botn nos llevar a la siguiente ventana Conlaprimeraopcinnospropondrunosnmerosnoexistentes.Las otras opciones permiten visualizar los n todava libres y los ya asignados. Al seleccionar la primera opcin volveremos a la pantalla anterior, donde sehabrninformadoloscamposdelaimagenresumenysencilla. Pulsamos el botn crear(Si el grupo de funciones indicado no esta creado,nospedirunaclasededesarrollopondremosseleccionaremos objeto local). Grabamos(F11) y retornamos a la pantalla anterior

(F3).Paraintroducirentradasyvisualizarelcontenidodelatablaseguiremoslosmismos pasosqueenelapartadoanterior.(Veremoscomolaspantallashancambiadoyaque ahora se vern las pantallas de dilogo generadas).Diccionario de DatosVistas / Dilogo de actualizacin.. Imgenes actualizacin: Representan el nmero de dynpro que se asignar a cada una delasdospantallasquesegeneran.Podemosindicardosnmerosdedynproqueno existanengrupodefuncioneselegidoaunqueexisteunautilidadparaqueelsistema elija de manera automtica estos valores para ello pulsamos el botn nos llevar a la siguiente ventana Conlaprimeraopcinnospropondrunosnmerosnoexistentes.Las otras opciones permiten visualizar los n todava libres y los ya asignados. Al seleccionar la primera opcin volveremos a la pantalla anterior, donde sehabrninformadoloscamposdelaimagenresumenysencilla. Pulsamos el botn crear(Si el grupo de funciones indicado no esta creado,nospedirunaclasededesarrollopondremosseleccionaremos objeto local). Grabamos(F11) y retornamos a la pantalla anterior

(F3).Paraintroducirentradasyvisualizarelcontenidodelatablaseguiremoslosmismos pasosqueenelapartadoanterior.(Veremoscomolaspantallashancambiadoyaque ahora se vern las pantallas de dilogo generadas).Diccionario de DatosClaves Externas.. Un campo de una tabla tiene asociada una clave externa cuando los valores posibles que puede tomar el campo en dicha tabla, han de estar en otra tabla/s que llamaremos tabla maestra.Vamos a crear la siguiente tabla teniendo en cuenta las indicaciones que se detallan a continuacin para los campos NCLIE e IMPNT Nombre tabla: ZFACTUXX:-am(o -l .lem Datos Ti(o Lon!Descri(ci)n7A1DT 2 7A1DT 7andanteBU=RS 2 BU=RS Sociedad1:A-T 2 Z1:A-T 22 1> de 0act"ra1-LI. Z1-LI. 22 16mero de cliente:.-3A Z:.-3A22 :ec$a de la 0act"ra7.S:A Z7.S:A22 7es de la 0act"raI7P1T ZI7P1T22 Im(orte neto de la 0act"ra7O1.D ?A.RS -la#e de monedaDiccionario de DatosClaves Externas.. En esta tabla el campo NCLIE tendr unos valores limitados a los existentes en la tabla maestrodeclientes.(Nodeberamostenerfacturasdeclientesquenoexisten)Para asociarestaclaveexterna,situadossobreestecamposeleccionamoslaopcindemen Pasar a Claves Externas o botn nos aparecer la ventana:Descripcin Breve: Descripcin de la clave externa. (Pondremos Maestro de clientes).Tabla de verificacin: Tabla maestra que contiene el campo con los valores vlidos (Pondremos ZCLIENXX).Diccionario de DatosClaves Externas.. Una vez indicada la tabla, nos aparecer la ventana:Seleccionamos la opcin Si y no la pantalla se completar con los campos claves de la tabla introducida :Diccionario de DatosClaves Externas.. Cardinalidad:Lacardinalidadentredostablas,representaelgradodelarelacinentre las mismas, es decir, cuantas ocurrencias de una tabla estn relacionadas con una entrada delaotra.Porejemploenlarelacinentremadresehijoslacardinalidadser1aNya queunamadrepuedetenerceromshijosperounhijotendrunaysolamenteuna madre.Portantointroduciremosaqulosvaloresoportunosenfuncindelarelacin entrelastablas.(Ennuestrocasoseleccionaremos1:CNyaqueunaunclientepuede tener varias facturas, pero una factura nicamente puede pertenecer a un cliente).Una vez introducidos lo valores oportunos verificamos(Ctrl. + F2) validamos Podemosvercomoseindicaelvalordelatablaenlacolumnadetablade verificacin.EnestatablatenemosuncampoIMPNTqueesdetipoimporte(CURR)portantoes necesarioreferenciarlo.ParaellopodemosseleccionarlapestaaCamposmoneda/ Cantidad) e informar directamente los campo TabRef y CpoRef. o bien situados sobre el campohacemosDoble-Click(F2)aparecerlaventanadondetambinpodemosindicar estos datos:Tab. Referencia: Nombre de la tabla. (Pondremos ZFACTUXX).Cpo. Referencia: Campo de la tabla indicada. (Pondremos Moned)..De esta manera hemos referenciado el importe IMPNT a la moneda MONEDDiccionario de DatosEstructuras. Unaestructuraessimilaraunatablaencuantoasudefinicinperoconladiferencia queunaestructuranopuedealbergarregistros.Unaestructuraessimplementela definicin de una entidad. Paracrearunaestructura,desdelapantalladediccionario,seleccionamoslaopcin Tipodedatosponemoselnombredelaestructuraacrear(Ennuestrocaso ZDATPERXX) y pulsamos crear, seleccionamos la opcin Estructura. Llegaremos a la pantalla:Donde introduciremos los campos y su definicin, bien a travs del campo elemento de datos o bien introduciendo el tipo, longitud y descripcin (Del mismo modo que en la creacindetablas).(Introduciremos,loscamposNombr,Apel1,Apel2,consus respectivoselementosdedatosZNOMBRXX,ZAPELLXX.Eneltextopondremos Datos personales).Diccionario de DatosVistas. Unavistaesunaparticularizacindeunaovariastablasenlaquesepueden seleccionar uno o varios de los campos de las tabla/s. Por ejemplo podemos realizar unavistaparaseleccionarnicamentealgunoscamposdeunatablapero principalmenteutilizaremosvistasparaobtenerdatos detablasrelacionadas.Bajouna vistapodemosunirdosomstablasypoderverlainterseccinentredichastablas como si se tratar de una nica tabla.Cuandosetratade unavistademsde unatabla,es necesariodefinirlascondiciones porlasqueseunenlastablas,esdecir,loscamposdeinterseccindelastablas.Las vistasnocontienendatossinoquelosdatosseobtienenentiempodeejecucinal realizar consultas sobre ellas. Diccionario de DatosVistas. Porejemplo:Siquisiramosvertodaslasfacturasdeuncliente(Nombreyprimer apellido),deberemosrealizarunainterseccinentrelatabladeclientesylatablade facturas para obtener una vista con los campos:Facturas/ Cliente.-am(oDescri(ci)n1:A-T 1> de 0act"ra1-LI. 1> de cliente1O7BR 1ombre clienteAP.L4 Primer a(ellidoI7P1T Im(orte 1eto7O1.DA 7onedaDiccionario de DatosVistas. Crear/Modificar/VisualizarEn la pantalla principal del diccionario de datos ponemos el nombre de la vista a Crear (ZFACLIXX)seleccionamosVistasypulsamoselbotncrear.Seleccionaremosel tipo Vista de base de datos. Llegaremos a la pantalla:Diccionario de DatosVistas. Crear/Modificar/VisualizarTablas: Seleccionaremos las tablas de las que se desee obtener informacin. (En nuestro caso la tablas ZCLIENXX y ZFACTUXX). Condiciones Join: Definen los campos por los que se realiza la interseccin entre las tablasseleccionadas.Paraindicarlasrelacionespodemosutilizarelbotnoescribir directamente las relacionesEn nuestro caso: ZCLIENXX-MANDT = ZFACTUXX-MNADT ZCLIENXXBUKRS = ZFACTUXX-BUKRS)ZCLIENXXCLIEN = ZFACTUXX-CLIEN CamposVista:Seseleccionanloscamposdeseados.Podemosrenombrarelcampo enlavistaserelquepongamosenCamposVista.(Pordefectoserelnombre originaldelcamposeleccionado).(EnnuestrocasoNFACT,NCLIE,IMPNTy MONEDA de la tabla ZFACTUXX y NOMBR y APEL1 de la tabla ZCLIENXX). Parafacilitarlaseleccindecamposdeunatabla,situadossobrelatablapulsamosel botndondemarcaremosloscamposdeseados,unavezseleccionados aparecern automticamente en la pantalla.Una vez completada la vista grabamosF11), verificamos (Ctrl. + F2) y activamosCtrl. + F3). ParaverelcontenidodelavistaseleccionamoselmenUtilidadesContenido.Aparecerla pantalla de seleccin de la vista de la misma forma que en la visualizacin de los datos de una tabla.Diccionario de DatosMatchcode. (Ayudas para bsqueda). Un matchcode es un instrumento de bsqueda de registros almacenados en el sistema. Permite en pantallas de seleccin filtrar la informacin existente por determinados criterios para facilitar la bsqueda. Por ejemplo no sabemos el DNI de una persona pero si su nombre, mediante este, podremos obtener el DNI.Crear/modificar/Visualizar:En la pantalla principal del diccionario seleccionamos la opcin Matchcode (Ayudas de bsqueda) introducimos el nombre del matchcode a crear, (ZCXX), y pulsamos el botn de crear, seleccionamos el tipo para ayuda elemental, llegaremos a la pantalla:Diccionario de DatosMatchcode. (Ayudas para bsqueda). Descripcin breve: Descripcin del matchcode (Podremos Bsqueda de clientes).Mtododeseleccin:Nombredetablaovistadeldiccionariodedatosdedondese obtendrn los datos a mostrar en la ayuda. (Pondremos ZCLIENXX). Parm.Ayuda busq: Formado por cada uno de los campos que se utilizarn para la bsqueda. IMP:FlagdeparmetroEXPORT,estecamposeutilizarcomocampoenelque informar valores de condicin para la bsqueda de registros. EXP:FlagdeparmetroIMPORT,estecamposeutilizarcomoparmetrode salida, es decir, se volcar el valor del registro seleccionado sobre el campo. P.I:Posicindelcampoparalistadeaciertos,indicalaposicinqueocuparel campo en la ventana de ayuda donde se mostrarn los registros seleccionados. (Si se indica 0 o Blanco, significar que el campo no se muestra en la lista de aciertos). PoS: Posicin del campo para la pantalla de condiciones de la seleccin. V.s: Valor no modificable en la seleccin. Valor Propuesta: Valor de propuesta para la seleccin.(Seleccionaremos el campo NCLIE, NOMBR y APEL1 como campos de la bsqueda , seleccionaremos el NOMBR y APEL1 como campos para condicin y NCLIE como parmetro EXPORT) .A continuacin grabamos(F11), verificamos (Ctrl. + F2) y activamos(Ctrl. + F3). Diccionario de DatosObjetos de bloqueo.. Sirven para controlar la concurrencia de procesos sobre un mismo objeto, siempre estn asociadosatablasdeldiccionario.Unobjetodebloqueoesunsemforosobreuna tabla.Cuando se define un objeto de bloqueo se generan automticamente dos funciones que controlan dicho semforo:- ENQUEUE_Nombre: Controla la peticin de bloqueo sobre el objeto.- DEQUEUE_Nombre: Controla la liberacin del bloqueo sobre el objeto.Los argumentos con los que se defina el objeto de bloqueo permitirn que se controle la totalidad de registros de la tabla, un conjunto de ellos un nico registro. Bsicamente el funcionamiento es el siguiente:Necesitamos que dos procesos no compartan un objeto de forma concurrente, por ejemplo quedosusuariosnoaccedanalamismatransaccinsimultneamente,loqueharemos ser programar un objeto de bloqueo, y al inicio de la transaccin podremos la llamada a lafuncinENQUEUE_XXXXsielrecursoestayasiendoutilizado(encontramos semfororojo),nopodremosbloquearloypodremosobrarenconsecuencia,mostrando un mensaje y terminar , mostrar una opcin de reintento Si se puede bloquear el objeto sersealquenohayotroprocesoutilizndolo(semforoverde)portantoelproceso puedecontinuar(pondrelsemforoenrojoparaotrosprocesos),antesdeterminarel proceso se deber llamar a la funcin DEQUEUE_XXXX para liberar el objeto que se ha bloqueado (debe poner el semforo en verde para que otros procesos puedan utilizarlo.Diccionario de DatosObjetos de bloqueo.. Paracrearobjetosdebloqueo,enlapantallaprincipaldeldiccionariodedatos, seleccionamoslaopcinObjetodebloqueo(Ennuestrocaso,vamosacrearun objeto de bloqueo para la tabla ZCLIENXX, escribiremos EZCLIENXX). Tras pulsar la opcin de crear, nos aparecer la pantalla:Descripcin breve: Descripcin del objeto de bloqueo. (Bloqueo maestro clientes)En la pestaa Tablas.Nombre: Nombre de la tabla (ZCLIENXX en nuestro caso).Modo de Bloqueo: Modo en el que se realiza el bloqueo, lectura, escritura, (E)En la pestaa Parm.bloqueo.Parm.bloqueo: Corresponden a los parmetros del argumento de bloqueo.(Dejamos los valores por defecto) Una vez completados todos los campos, grabamos(F11)., verificamos (Ctrl. + F2) y activamos(Ctrl + F3).