400 y RPT-0143. El detalle nombra el punto que debes corregir, por ejemplo query 'saldos_cosif'. Consulta la lista de errores.
Ejemplo
Este mapeo llena dos conjuntos de CADOC 4010. La consulta
saldos_cosif suma los asientos aprobados de cada route_code creados antes del fin del período del parámetro dataBase. Un crédito suma su amount. Un débito lo resta. El mapeo de referencia publicado para este documento también filtra por el activo BRL, por los asientos que movieron un saldo y por las filas que no están borradas. También corta el fin del período con el calendario de días hábiles.
Cómo lee Reporter el documento
- El documento debe ser YAML. Un documento vacío se rechaza. El nivel superior debe ser un objeto de claves y valores.
- Cada bloque acepta las claves de su tabla en esta página. Un bloque con cualquier otra clave se rechaza. El rechazo enumera las claves que el bloque acepta.
- Una clave conocida sin valor cuenta como no escrita.
- Un texto obligatorio no puede estar vacío.
- Reporter lee un valor como el texto que escribes.
7y"7"son el mismo valor. - Reporter acepta anclas y alias de YAML. Rechaza la clave de combinación
<<. - Dos consultas no pueden tener el mismo nombre. Dos conjuntos no pueden tener el mismo nombre. Dos campos de un conjunto no pueden tener el mismo nombre.
- Estos nombres deben coincidir con una consulta del mapeo: el
fromde una consulta, laquerydelfromde un conjunto, laqueryde un join y laqueryde un campo de un conjunto. Una consulta puede declararse después del conjunto o de la consulta que se refiere a ella.
Claves de nivel superior
Consultas
Una consulta lee filas de tus datos. Los conjuntos y otras consultas se refieren a una consulta por su nombre.
Una consulta se rechaza cuando:
- no tiene
dataSourcenifrom; - tiene
fromy tambiéndataSourceotable; - tiene
dataSourcey no tienetable; - su
fromnombra la propia consulta, nombra una consulta que el mapeo no declara o cierra un anillo con otras consultas.
Filtros
Una fila permanece cuando pasa cada condición defilters. Las condiciones sobre la misma columna se aplican todas.
Una condición es una prueba o una combinación:
Una condición necesita
field y operator, o anyOf o allOf. Se aceptan estos operadores:
Para excluir filas por prefijo, usa
notStartsWith. Este filtro descarta las filas cuyo route_code empieza con 7 o 8:
- tiene una clave distinta de
field,operator,values,anyOfyallOf; - tiene
fieldy tambiénanyOfoallOf; - no tiene
fieldnianyOfniallOf; - tiene
fieldy no tieneoperator; - su
operatorno está en la tabla. El rechazo enumera los operadores aceptados; - tiene
isNullonotNullcon valores o con un parámetro; - tiene
betweencon un parámetro, o con una cantidad de valores distinta de dos; - tiene cualquier otro operador sin valor y sin parámetro.
filters sobre una columna se rechazan cuando usan el mismo operador. También se rechazan cuando una de ellas es isNull o notNull. Dos operadores distintos sobre una columna se combinan, y así escribes un período: gte para su inicio y lt para su fin. Una generación rechaza between junto a gte o lte.
Valores leídos de un parámetro
Un parámetro es un valor que envías en la solicitud de generación. Un elemento devalues que es un objeto lee un parámetro:
Sin
at, la condición compara con el valor del parámetro como lo trae la solicitud. Con at, el parámetro nombra un período: AAAA-MM para un mes, AAAA-MM-DD para un día. Los bordes siguen la zona horaria del informe. start es el primer instante dentro del período. end es el primer instante después de él. Compara start con gte y end con lt. Así, ningún instante cae en dos períodos ni en ninguno.
Con calendar: business, un período termina justo después de su último día hábil. Empieza justo después del último día hábil del período anterior.
Esta consulta lee el mes del parámetro, hasta el fin de su período:
valuesenumera dos parámetros, o enumera un texto junto a un parámetro;- el objeto del parámetro tiene una clave distinta de
parameter,at,ofycalendar, o no tieneparameter; atno esstartniend;ofno esday,monthniyear;calendarno esbusiness;- tiene
ofocalendary no tieneat; - tiene
at: startcon un operador distinto degte, oat: endcon un operador distinto delt.
of más corto que el período del parámetro, por ejemplo of: day en un mes.
Joins
Un join trae una tabla junto a las filas de la consulta. Cada elemento dejoin tiene estas claves:
Con
left, cada fila de la consulta permanece, y las columnas traídas quedan vacías donde ninguna fila empareja. Con inner, las filas sin par salen. Una fila con varios pares se vuelve varias filas.
Un join se rechaza cuando:
- no nombra
tableniquery, o nombra las dos; - no tiene
match, omatchno tiene ningún par; - escribe
onen lugar dematch. Escribematch; - tiene una clave distinta de
table,query,match,columnsytype; - trae una tabla y no tiene
columns, ocolumnsno tiene ningún par; - trae una consulta y tiene
columns; - dos joins de la consulta traen el mismo nombre, o un join trae un nombre que también empareja en
match; typeno esleftniinner.
Columnas calculadas
compute agrega una columna a cada fila. Los pasos siguientes la leen como una columna de la tabla: filtros, agrupación y sumas.
Un
case tiene estas claves:
Una respuesta es un objeto con exactamente una clave:
Con
otherwise: refuse, una fila cuyo valor when no enumera hace que la generación se rechace.
Una columna calculada se rechaza cuando:
computetiene dos elementos con el mismoas;- un elemento tiene una clave distinta de
asycase, o no tieneasocase; - el
casetiene una clave distinta decolumn,whenyotherwise; columnuotherwisefaltan, owhenfalta o está vacío;otherwisees un texto distinto derefuse;ases también un nombre que un join trae o que un derive nombra, o elcaselee otra columna calculada;- una respuesta no tiene exactamente una entre
column,negateyconstant, o su valor está vacío.
Agrupación y medidas
aggregate reduce las filas a una fila por cada grupo.
Una medida tiene estas claves. Las tres son obligatorias:
Una consulta que agrupa devuelve las columnas de
groupBy y una columna por cada medida. Un campo que lee otra columna se rechaza cuando guardas. Una generación se rechaza cuando una fila no tiene valor en una columna de groupBy.
aggregate se rechaza cuando tiene una clave distinta de groupBy y measures, o cuando measures falta o está vacío. Una medida se rechaza cuando tiene una clave distinta de as, fn y of, o cuando le falta una de ellas. Una generación rechaza dos medidas con el mismo as.
Columnas que una consulta devuelve
select nombra las columnas que una consulta devuelve. Sin él, la consulta devuelve cada columna y los campos eligen. Con él, un campo que lee otra columna se rechaza cuando guardas.
select se rechaza cuando la consulta también tiene aggregate, cuando está vacío, o cuando nombra una columna dos veces o nombra una columna vacía.
Listas dentro de documentos
expand nombra una lista dentro de cada documento, como una ruta con puntos de los campos de la tabla. Cada elemento de la lista se vuelve una fila. La consulta lee los campos del elemento bajo la ruta de la lista.
En una fuente de datos PostgreSQL, la respuesta del guardado enumera expand en unexecuted, y una generación se rechaza.
expand se rechaza cuando la ruta está vacía, empieza o termina con punto, tiene dos puntos seguidos, o tiene un espacio o un $. También se rechaza en una consulta que tiene from.
Construcciones que una generación rechaza
Reporter lee y almacena estas construcciones. La respuesta del guardado las enumera enunsupported. Una generación de un mapeo que contiene una de ellas se rechaza.
Conjuntos
Cada clave de
datasets es el nombre de un conjunto que el contrato declara. Su valor tiene estas claves:
Un conjunto abierto tiene una fila por cada fila de su consulta. Reporter ordena las filas por los campos clave del conjunto, como texto en orden de bytes. Sin
from, el conjunto no tiene filas de consulta. Si el contrato declara el conjunto como una fila, sus constantes y parámetros llenan esa fila. Cuando el contrato declara una jerarquía para el código del conjunto, Reporter también agrega una fila por cada código ancestro, con la suma de las filas que están debajo. Devuelve el valor registrado en cada código. No devuelvas un valor de padre que ya incluye a sus hijos, porque Reporter suma los hijos a él.
Las filas de un conjunto que el catálogo publica son las filas publicadas, una por cada una. El mapeo da sus valores:
- Las consultas del conjunto leen solo las filas cuya columna de
rowKeycontiene un código publicado. Cuando el contrato declara una jerarquía para el código, leen las filas cuyo código está bajo un código publicado. Reporter deja fuera una fila con otro código y no la rechaza. En un elemento dealso, Reporter no deja fuera una fila con otro código: rechaza la generación. - Una fila de resultado llena la fila publicada de su código. Cuando el contrato declara una jerarquía, también llena cada fila publicada por encima de ese código. Esa fila publicada lee la suma de las medidas de las filas de resultado de su código y de los códigos debajo de él.
- Con una jerarquía, devuelve el valor registrado en cada código. No devuelvas un valor de padre que ya incluye a sus hijos, porque Reporter suma los hijos a él.
- Una fila publicada sin fila de resultado lee
0en una medida que una consulta llena. Sus otras columnas de consulta quedan sin valor. Un campo obligatorio que lee una de ellas hace que la generación se rechace. - Dos filas de resultado con el mismo código hacen que la generación se rechace.
- Una generación en la que ninguna fila de resultado coincide con una fila publicada se rechaza.
- su
fromno es un objeto con la clavequery; - tiene una clave distinta de
from,rowKey,parentMatch,fieldsyalso; rowKeyoparentMatchno tiene ningún par;- no tiene
fields, ofieldsestá vacío; - su
fromnombra una consulta que el mapeo no declara.
Campos
Un campo dice de dónde viene su valor. Escribe un origen, o escribebyRowClass.
Cada origen necesita una cosa:
Un campo del contrato que el mapeo no nombra queda en blanco, y la respuesta lo enumera como una brecha. Reporter rechaza aprobar un borrador mientras un campo obligatorio esté en blanco.
Un origen de campo se rechaza cuando:
fromfalta, o no es uno de los cinco orígenes;- nombra una
queryy su origen no esquery; - el origen es
queryorowSety no haycolumn; - el origen es
constanty no hayvalue; - el origen es
parametery no hayparameter; - el origen es
manualy no hayvaluenipendingReason; - el campo tiene una clave distinta de las claves de la tabla anterior;
- la
queryque nombra no está declarada por el mapeo.
Orígenes que dependen de la fila
byRowClass sirve para un conjunto cuyas filas publica el catálogo. Cada caso tiene when y las claves de un origen. El primer caso cuyo when coincide con la fila publicada da el valor. Una fila que ningún caso atiende no recibe valor de este campo. La generación se rechaza cuando el contrato exige el campo.
when tiene dos claves obligatorias: rowSet, la columna de la fila publicada, y equals, el valor que debe tener.
Este campo lee un saldo para una clase de fila y un total mensual para la otra. Cada clase lee su propia consulta:
byRowClass se rechaza cuando el campo también tiene un from propio. Un caso se rechaza cuando no tiene when, cuando when tiene una clave distinta de rowSet y equals, cuando rowSet o equals falta, o cuando tiene una clave distinta de when y de las claves de un origen.
Consolidación
also agrega orígenes a un conjunto. Cada elemento mapea el mismo conjunto sobre otra consulta, por ejemplo otra base de datos de la institución de la presentación. Reporter no limita la consulta de un elemento a la institución de la presentación. Los filtros de esa consulta deben elegir las filas de la institución de la presentación. El contrato del documento dice cómo Reporter une las filas de los orígenes, y cuáles conjuntos aceptan also.
Un elemento tiene las claves from, rowKey y fields. No tiene parentMatch ni also. Su from es obligatorio. Su fields usa las claves de los campos de un conjunto. Un elemento sin fields, o con fields vacío, no mapea nada, y cada campo que no mapea es una brecha.
Reporter rechaza un elemento cuyo from también es el from del conjunto o de otro elemento. Rechaza un elemento que lee una consulta que el mapeo de cualquier conjunto lee. También rechaza un elemento que mapea un campo que el mapeo propio del conjunto no mapea. Da a cada elemento sus propias consultas.
Sobrescrituras manuales y declaraciones
Reporter revisa estas claves cuando guardas el mapeo, y las almacena con él. Cada elemento de
manualOverrides tiene estas claves:
Un elemento se rechaza cuando tiene una clave distinta de estas tres, o cuando
field o value está vacío.
generatable, incompleteReason y incompleteFields guardan tu declaración sobre el documento:
generatabledebe sertrueofalse.generatable: falsese rechaza cuandoincompleteReasonfalta.incompleteFieldsse rechaza cuando enumera un campo ygeneratableno esfalse.
Revisiones contra el contrato
Después de leer el documento, Reporter lo compara con el contrato de la versión fijada. El guardado se rechaza cuando:

