# dbr.apps.dba **dbr.apps.dba.dkl** API para administrar consultas y sus categorías. ### Apoyo [Definición de tabla](/es/devkron/Sitios-y-aplicaciones-Web-con-DKL/uielements.md). [Consultas](/es/productos/v12/tools/querymanager/readme.md). ## setquerycat Agrega o actualiza una categoría de consulta(dba_query_cat). ``` dbr.apps.dba.setquerycat::&db,id,title ``` ##### Parámetros * `db` - Referencia a una conexión de bases de datos. * `id` - Identificador de la categoría de consulta. * `title` - Título de la categoría. ##### Valor de retorno Clave primaria de la fila agregada o actualizada. ##### Excepciones - Excepciones de bases de datos. ##### Ejemplo ``` #include "dkli.dkh" #! module "dbr.apps.dba.test" { #include "functions.dkh" #include "serialize.dkh" #include "dbr.dkh" #include "dbr.apps.dba.dkl" ref db = dbr.open("mydb@myappgroup") cat_sys_pk = dbr.apps.dba.setquerycat(db,"cat_001","Categoría de prueba") } ``` ## delquerycat Elimina una categoría de consulta por su identificador(id). ``` dbr.apps.dba.delquerycat::&db,id ``` ##### Parámetros * `db` - Referencia a una conexión de bases de datos. * `id` - Identificador de la categoría de consulta. ##### Valor de retorno Ninguno (0) ##### Excepciones - Excepciones de bases de datos. - Excepciones del interprete Devkron. ##### Ejemplo ``` #include "dkli.dkh" #! module "dbr.apps.dba.test" { #include "functions.dkh" #include "serialize.dkh" #include "dbr.dkh" #include "dbr.apps.dba.dkl" ref db = dbr.open("mydb@myappgroup") do dbr.apps.dba.delquerycat(db,"cat_001") } ``` ## existquerycat Verifica si existe una categoría de consulta con base a los siguientes campos (sys_pk, sys_guid, id). ``` dbr.apps.dba.existquerycat::&db,id ``` ##### Parámetros * `db` - Referencia a una conexión de bases de datos. * `id` - Identificador de la categoría de consulta. ##### Valor de retorno true/false, true si existe la categoría. ##### Excepciones - Excepciones de bases de datos. ##### Ejemplo ``` #include "dkli.dkh" #! module "dbr.apps.dba.test" { #include "functions.dkh" #include "serialize.dkh" #include "dbr.dkh" #include "dbr.apps.dba.dkl" ref db = dbr.open("mydb@myappgroup") if dbr.apps.dba.existquerycat(db,"cat_001") { // categoría existe. // code } else { // No existe la categoría //code } } ``` ## setquery Agrega o actualiza una consulta por su identificador(id). Tabla = dba_query ``` dbr.apps.dba.setquery::&db,&data ``` ##### Parámetros * `db` - Referencia a una conexión de bases de datos. * `data` - Es un objeto que contiene datos de la consulta. ``` new data { @"actid":"id de acción y privilegio de la consulta" @"id":"Identificador para la consulta" @"title":"Titulo de consulta" @"parameters":"(objeto) Parámetros de consulta, controles y sus definiciones." @"properties":"(objeto) Propiedades o datos extras." @"qry":"Consulta SQL, para el detalle de la tabla." @"design":"(objeto) Propiedades de desiño de la tabla." @"cat":"Categoría al que pertenece la consulta." @"app":"Aplicación a la que pertenece." @"det":"Tipo de elemento de dato." } ``` ##### Valor de retorno Ninguno (0) ##### Excepciones - Excepciones de bases de datos. - Excepciones del intérprete Devkron. ##### Ejemplo ``` #include "dkli.dkh" #! module "dbr.apps.dba.test" { #include "functions.dkh" #include "serialize.dkh" #include "dbr.dkh" #include "dbr.apps.dba.dkl" ref db = dbr.open("mydb@myappgroup") new controles { member @"caja" { @"default": "", // valor default del control @"id": "caja", @"name": "caja", @"caption": "Caja:", @"control": "Select", // tipo de control @"required": false, @"readonly": false, @"disabled": false, member @"wrp_attr": // atributos extras para el contenedor del control { "class": "col-lg-4" } member @"source": // Recursos necesarios para formar el control { @"first_value": "*", // texto de la primera opción @"first_text": "Todos(*)", // valor de la primera opción. @"type": "query", // list, query @"query": "Select sys_pk,concat(codigo,' ',descripcion) caja from caja order by codigo,descripcion;", @"keyfield": "sys_pk", @"showfield": "caja" } } } new properties { "layout":"view" // view o document } // crear el diseño de la tabla new design { @"show_summary": false, @"summary_group": false, @"group_by": "", @"id": "table_corte", member @"attributes": { @"class": "table" }, member @"rows_attributes": { @"header": {}, @"begin_group": {}, @"detail": {}, @"summary_group": {}, @"summary": {} }, member @"columns": { member @"folio": { @"caption": "Folio", @"format": "", @"summary": "none", member @"attributes": {// atributos adicionales específicamente para la columna}, member @"anchor": { @"href": "/!/dbext/query/pos.vp41/?corte=@folio" }, @"visible": true }, member @"cajero": { @"caption": "Cajero", @"format": "", @"summary": "none", member @"attributes": {// atributos adicionales específicamente para la columna}, member @"anchor": {}, @"visible": true }, "cerrado": { @"caption": "Cerrado", @"format": "", @"summary": "none", member @"attributes": { @"class": "text-center" }, member "anchor": {}, @"visible": true } } } new data { @"actid":"ACT_001" @"id":"sql_001" @"title":"Prueba 1" @"parameters*":controles @"properties*":properties @"qry":"Consulta SQL, para el detalle de la tabla." @"design*":design @"cat":"cat_001" @"app":"dbext.query" @"det":"DET_001" } do dbr.apps.dba.existquerycat(db,data) } ``` ## delquery Elimina una consulta de la base de datos por su identificador(id). ``` dbr.apps.dba.delquery::&db,id ``` ##### Parámetros * `db` - Referencia a una conexión de bases de datos. * `id` - Identificador de la consulta que será eliminado. ##### Valor de retorno Ninguno (0) ##### Excepciones - Excepciones de bases de datos. - Excepciones del intérprete Devkron. ##### Ejemplo ``` #include "dkli.dkh" #! module "dbr.apps.dba.test" { #include "functions.dkh" #include "serialize.dkh" #include "dbr.dkh" #include "dbr.apps.dba.dkl" ref db = dbr.open("mydb@myappgroup") do dbr.apps.dba.delquery(db,"cat_001") } ``` ## existquery Verifica si existe una consulta por su identificador(id) ``` dbr.apps.dba.existquery::&db,id ``` ##### Parámetros * `db` - Referencia a una conexión de bases de datos. * `id` - Identificador de la consulta que verificado. ##### Valor de retorno true/false, true si la consulta existe de lo contrario false. ##### Excepciones - Excepciones de bases de datos. ##### Ejemplo ``` #include "dkli.dkh" #! module "dbr.apps.dba.test" { #include "functions.dkh" #include "serialize.dkh" #include "dbr.dkh" #include "dbr.apps.dba.dkl" ref db = dbr.open("mydb@myappgroup") if dbr.apps.dba.existquery(db,"cat_001") { // existe la consulta cat_001 // code } else { // no existe la consulta cat_001 //code } } ```