Manual de Usuario de Informes EDM
Manual de Usuario de Informes EDM
Descripción general
Ali Rezazadeh
2004-05-19 Sección de Informes Personalizados Actualizada Centrales Abiertas
2
Salida de EDM
Informes
OpenWells
23-09-2003 Asim Israr Revisión y Formateo de Documentos
Informes de Salida
Agujeros Abiertos
2003-09-15 Shuja Nawaz Revisión de documentos.
Output Reports
OpenWells
2002-10-18 Joel Romero Creación de documentos.
Informes de Salida
3
Contenido
FLUJO DE TRABAJO..............................................................................................................................10
COMPONENTES DE UN INFORME..............................................................................................14
RINFORMARCCONFIGURACIÓNFISLAS..............................................................................................15
Generated Data..................................................................................................................20
Resultado de salida................................................................................................................21
Filtros de configuración...........................................................................................................23
USING THE TOOLKTI................................................................................................................33
General Notes.....................................................................................................................33
Agregar un nuevo informe de salida............................................................................................33
Creando un nuevo archivo de configuración de informe35
Actualizando un archivo de informe........................................................................................................35
4
Acerca de la Utilidad de Reporte EDM
Generador de Informes
EDM Report Builder es el motor de informes subyacente. Se instala como un recurso compartido
XML
componente del EDM. Su diseño se basa en los siguientes principios:
El proceso de ver un informe a través del Administrador de Informes tiene cinco pasos generales:
Figura 1.2
6
Administrador de Archivos
The file manager provides access to the database in order to download files
cuando OpenWells comienza. Todos los archivos de informes se han almacenado en la base de datos en
BLOB o un formato similar (dependiendo del proveedor de la base de datos). Tras cada
solicitud para acceder a un archivo, el archivo se buscaría en el disco local, si el archivo
si se encontró, su marca de tiempo se compararía con la marca de tiempo del archivo en
la base de datos. Si la marca de tiempo del archivo de la base de datos es más reciente, el disco local
el archivo se actualizaría desde la base de datos. Si el archivo no se encuentra en la unidad local, éste
se descargará de la base de datos. Se crearán todos los directorios adecuados
en consecuencia, para que una ruta de archivo en el disco local sea similar a la base de datos
ruta.
Por favor, consulte la Figura 13 para una vista visual de la funcionalidad del Administrador de Archivos.
Nota: Debe reiniciar OpenWells después de agregar archivos a través de la Utilidad de Administración de EDM
para habilitar el administrador de archivos para actualizar los archivos en su estructura de directorios.
Gerente de Informes
El Administrador de Informes EDM muestra una vista previa del informe de salida y permite el
user to perform several operations including Print, Export to file (.PDF, .XLS,
.DOC, .RTF), Zoom y vista previa de múltiples informes
7
Diagrama que muestra la funcionalidad del Administrador de Archivos:
No Sí
¿Es archivo?
Foun
¿d?
No Sí
Es
Último
¿Archivo?
Cargar archivo desde la base de datos EDM y Cargar archivo desde el archivo local
guardar en el sistema de archivos local. sistema en gerente de informes
Fin
EDM
Figura 1.3
8
Figura 1.4
9
Flujo de Trabajo
Los archivos XML en la base de datos son principalmente archivos de configuración que definen específicos
ajustes para un informe. Los archivos de Crystal Report contienen el diseño del informe que se debe
producido.
Los datos de entrada para un informe se definen en el archivo de configuración, los datos en bruto serían
generado utilizando las relaciones definidas en la sección <data_generation> del
archivo de configuración.
El Gestor de Informes EDM es una aplicación que toma como entrada la carpeta raíz para
los archivos de informe de salida de los cuales se derivará la ubicación del archivo del esquema para
la base de datos EDM (EDM.XSD) y el archivo de Crystal Report desarrollado (.RPT). En
además, también toma como entradas el archivo de configuración del informe y los datos XML
produced, and from these inputs, displays a preview of the output report.
Informe de EDM
Gerente
Figura 2.1
10
Generación de datos optimizada
OpenWells se basa en Report Builder para generar los datos XML en bruto para un informe.
Cada informe tiene un archivo XML de configuración que define los datos que DS debe crear.
Esto se ve como,
..
<data_source>
<data_generation>
<DM_REPORTE_DIARIO>
<DM_AFErel="parent">
<DM_AFE_COST/>
<DM_AFE_EVENT_LINK/>
<DM_AFE_SUPP/>
</DM_AFE>
<CD_WELLrel="parent">
<CD_SITErel="parent">
<CD_PROJECTrel="parent">
<CD_POLICYrel="parent"/>
</CD_PROYECTO>
</CD_SITE>
</CD_BIEN>
<DM_EVENTrel="padre"/>
<CD_RIGrel="parent"/>
</DM_INFORME_DIARIO>
</data_generation>
</fuente_de_datos>
11
Relaciones Parentales
La siguiente tabla define las relaciones parentales implementadas. Todas las relaciones parentales
have been defined and hard coded in Data Services layer. Adding a new parent
la relación es un proceso relativamente sencillo. Estos vínculos pueden aumentar si
required by reports.
<database>
12
<tabla nombre="CD_PROYECTO">
<column name=”project_id” />
<column name=”policy_id” />
<column name=”project_name />
…
</table>
<tabla nombre="CD_POLICY">
<column name=”policy_id” />
<column name=”custerm_name” />
…
</tabla>
…
</base de datos>
Solo se enumeran las tablas con sus nombres de campo que están en el informe en este XML
estructura. Las aplicaciones pueden luego optimizar o reducir los datos a lo que es
utilizado en el informe.
Este archivo de esquema es en sí mismo un archivo XML que describe las tablas y campos utilizados en
el XML que se está cargando. Ejemplo de archivo de esquema,
13
Además de ser más rápido, un archivo de esquema filtrado tiene un problema inevitable.
El XML del informe también debe ser filtrado para coincidir con el archivo de esquema. Todas las tablas
y los campos son opcionales, pero agregar más tablas o campos causará Informe
El gerente lanzará una excepción "No se pudo encontrar la tabla". Esto significa que si hay
algunos datos en el archivo XML que no corresponden al esquema la “Tabla
No se pudo encontrar la tabla. La única solución a este problema es
asegurar que los datos XML cumplan con el esquema.
Con esto en mente, volveremos a la optimización de datos del informe de OpenWells. Informe
El constructor recibió una lista de tablas utilizadas y sus campos del Gestor de Informes.
This list is in XML format which includes all of the tables used in the report and
campos específicos en cada tabla. Los datos XML producidos por el Generador de Informes son por lo tanto
optimizados de acuerdo con la lista de tablas y campos utilizados en el informe.
Informe
Gerente
Filtrar
mesas adicionales
Mesas + Datos Configuración
y campos
Todos los campos Services Mesas
y producir
Informe XML
EDM
Figura 2.2
Componentes de un Informe
La definición de un informe comienza con el archivo de configuración que describe el
elaboración del informe.
14
debe existir un archivo de configuración y para cada informe y cada
El archivo de configuración solo puede corresponder a un informe.
<applications> Define las aplicaciones que están permitidas para usar el informe. EDM es un multi-
base de datos de aplicación. Se puede permitir que más de una aplicación use una
informe dado (por ejemplo, OpenWells y Compass podrían utilizar el mismo informe.)
<SuppressinIWF> Esta etiqueta es utilizada por iWellFile para mostrar u ocultar este informe a los usuarios de iWellFile.
<SuppressinIWF>NO</SuppressinIWF>. Esto mostrará el informe al usuario de iWellFile como
<settings> Define un conjunto de datos XML que se copia directamente a los datos XML generados
por el Generador de Informes. El Generador de Informes produce los datos XML necesarios para el
informe. La sección <settings> del archivo de configuración se copia directamente en el
XML data without any alternation. Some of the XML tags are also used as
directrices para cargar los archivos del informe.
<archivo_esquema> Define el nombre del archivo del esquema. El archivo del esquema debe estar ubicado en el
directorio 'OutputReports/common'.
<report_file> La etiqueta XML del archivo de informe define los archivos secundarios que se necesitan en
produciendo este informe. La ubicación del directorio es el mismo directorio que
archivo de configuración. Por ejemplo, pueden ser necesarios algunos archivos de imagen para el
informe.
<archivo_común> La etiqueta XML del archivo común define los archivos secundarios que se necesitan para
define este informe. Sin embargo, su ruta de directorio está en el directorio común
(“ReportesSalida/comun”)
<main_report> Define el nombre del archivo del informe principal. El informe principal se refiere al principal de Crystal
Archivo de informe. El informe principal debe estar ubicado en el mismo directorio que
se descubrió un archivo de configuración.
<report_label> La etiqueta XML de informe se utiliza para definir las etiquetas y el texto constante que
se utilizan en el informe. La razón principal para usar <report_label> es evitar duro
codificando cualquier texto que pueda cambiarse para admitir un idioma diferente. Para
instancia:
<report_labels section="report name"section_label="Daily Cost Report" />
<opciones> La etiqueta de opción se puede usar para obtener la opinión del usuario para mostrar u ocultar secciones sobre eso.
Comentarios en el informe. Las últimas opciones seleccionadas por el usuario se guardan en el registro.
para cada informe y cada usuario en particular, y se mostrará la próxima vez que el
se ejecuta el mismo informe.
15
Text box can be shown to get the user feed back. box.
El cuadro combinado también se puede mostrar para obtener opciones específicas del usuario.
Las opciones pueden ser mostradas al usuario en función del nivel de seguridad si se utilizan en el
configuration file.
La etiqueta de muestra puede ser como sigue,
<options>
<option type="edit" id="WaterMark" prompt="Water mark:"
tooltip="Enter the water mark text. Leave blank for no water
mark."/>
<option type="combobox" id="WaterMarkOrientation">
prompt="Water mark text orientation:"
default_value="Horizontal" tooltip="Water mark text angle.">
<value>Horizontal</value>
<value>Vertical</value>
</opción>
<option type="edit" id="WaterMarkSize" prompt="Water Mark
Text Size:" default_value="44" tooltip="Enter the watermark
text size in points."/>
<option type="checkbox" id="PageHeader" prompt="Incluir página
Header" default_value="1"/>
<option type="checkbox" id="WellInfo" prompt="Incluir pozo
Information" default_value="1"/>
<option type="checkbox" id="OperationSummary" prompt="Incluir
Operation Summary" default_value="1"/>
<option type="checkbox" id="HoleSections" prompt="Incluir
Hole Sections" default_value="1" security_level=”5”/>
</opciones>
The following dialog will be shown to the user.
16
el nivel de seguridad es opcional, si está presente entonces la aplicación mostrará la opción al
usuario (en el Diálogo) cuyo nivel de seguridad es igual o mayor que el mencionado en
etiqueta. De lo contrario, se mostrarán todas las opciones.
<clave_gen> Se generará una tabla con un número variable de registros por medio de esta etiqueta. i.g
<gen_key>100</gen_key>
La aplicación generará una tabla DT_STATIC_KEY en el XML generado
con 100 registros en él. Como los arreglos en Crystal Reports no pueden contener más
entonces 1000 registros, por lo que el usuario puede establecer menos de 1000.
<filtro_de_display Esta etiqueta se utiliza para mostrar el informe en el menú de Vista Previa de Impresión si cumple con el
17
condición mencionada. Por ejemplo, si queremos que el informe sea visible solo para el evento DRL
código entonces lo codificamos como
<menus> Esta etiqueta define el comportamiento del menú para el informe. La sección <menu>
contiene los siguientes parámetros:
<display_text> Define el texto que se muestra en el menú de informes de salida de tu aplicación EDM
(es decir, OpenWells). Este parámetro proporciona la flexibilidad para
internacionalización o proporcionar nombres personalizados para los informes.
<mnemonic> Un acceso directo para activar el informe desde tu aplicación EDM (es decir, OpenWells).
18
<report_name>DailyCost</report_name>
<class>com.lgc.dws.EDM.reportbuilder.ReportBuilder</class>
<display_text>Daily Cost Report</display_text>
<mnemonic>C</mnemonic>
<enabled>TRUE</enabled>
<visible>TRUE</visible>
</menú>
<data_source> Esta sección define la fuente de datos XML para este informe.
Nota: Solo uno de los siguientes elementos XML puede estar presente en esta sección.
Este parámetro permite que Report Builder genere los datos XML necesarios para
produciendo este informe. Por ejemplo, un código de generación de datos puede verse como el
siguiente:
<data_source>
<data_generation>
<DM_REPORTE_DIARIO>
<DM_AFE rel="parent">
<DM_AFE_COST/>
</DM_AFE>
<CD_WELL rel="parent">
<CD_SITE rel="parent">
<CD_PROJECT rel="parent">
<CD_POLICY rel="padre"/>
</CD_PROYECTO>
</CD_SITE>
</CD_WELL>
</DM_REPORT_JOURNAL>
</data_generation>
<picklists>
<DM_PK_COST_LIST/>
</listas_de_selección>
</fuente_de_datos>
En este código de ejemplo, el host es DM_REPORT_JOURNAL, por lo tanto, los datos
la generación comienza desde un DM_REPORT_JOURNAL.
Los archivos de configuración también admiten una capacidad de 'filtrado', algo similar
a la cláusula 'WHERE' utilizada en una declaración 'Select' de SQL. Un detallado
La descripción de los filtros se da al final de esta sección (Configuración
Filtros)
<input_file> Este parámetro significa que los datos ya se han producido en un archivo. El nombre del archivo
tiene que pasar como un argumento al Generador de Informes. Este argumento es parte de
La API y su definición están fuera del alcance de este documento.
<data_source>
<input_file/>
</fuente_de_datos>
19
El nombre del archivo que contiene los datos XML no es estático y, por lo tanto, no se puede
incluido en el archivo de configuración. El nombre del archivo se pasa en su lugar como un
argumento para el Generador de Informes en tiempo de ejecución.
<input_string> Este parámetro define los datos presentes como una cadena en el argumento pasado a
el Generador de Informes. Este argumento es parte de la API y su definición está fuera de
el alcance de este documento.
<data_source>
<input_string/>
</fuente_datos>
Datos generados
Los datos generados contienen cuatro secciones.
1. <data> Sección: Los datos XML que produce Report Builder. Los datos
que se produce sigue de cerca el formato que se define en el
<sección_de_generación_de_datos> del archivo de configuración. Por ejemplo, el
se muestra el siguiente XML y la salida resultante. Nota: Debido al gran tamaño de
se han producido datos, solo se ha mostrado una porción del archivo de datos.
<data_source>
<data_generation>
<DM_INFORME_DIARIO>
<DM_AFErel="parent">
<DM_AFE_COST/>
<DM_AFE_EVENT_LINK/>
<DM_AFE_SUPP/>
</DM_AFE>
<CD_WELLrel="parent">
<CD_SITErel="parent">
<CD_PROJECTrel="parent">
<CD_POLICYrel="parent"/>
</CD_PROYECTO>
</CD_SITE>
</CD_BIEN>
<DM_EVENTrel="parent"/>
<CD_RIGrel="parent"/>
</DM_REPORT_JOURNAL>
</generación_de_datos>
</fuente_de_datos>
20
Salida resultante
<?xml version="1.0" encoding="UTF-8"?>
<report>
…
<de_la_app>
<left_logo>C:\Documents y Configuraciones\ARezazadeh\Mis Documentos\Mis
Pictures\HalliburtonLogo.jpg</left_logo>
<right_logo>C:\Documentos y Configuraciones\ARezazadeh\Mis Documentos\Mi
Imágenes\HalliburtonLogo.jpg</right_logo>
<report_shading>true</report_shading>
</desde_aplicación>
<metadata>
<md_CD_PROJECTproject_name_L="Project"/>
<md_CD_RIGrig_name_L="Rig Name"/>
<md_CD_SITEsite_name_L="Site"/>
<md_CD_WELLactive_datum_desc_L="Active Datum"spud_date_L="Spud Date"
well_common_name_L="Common Well Name"well_uwi_L="UWI"/>
<md_DM_AFEafe_desc_L="Description"afe_no_L="AFE No"currency_code_L="Currency"
currency_exch_rate_DP="3"currency_exch_rate_L="Exchange Rate"
currency_exch_rate_MID="153"currency_exch_rate_PRC="0.0010"
department_L="Department Name"estimated_days_DP="2"estimated_days_L="Est
Days"estimated_days_MID="218"estimated_days_PRC="0.01"estimator_L="Estimator"
project_name_L="Project Desc"remarks_L="Comments"/>
<md_DM_AFE_COSTafe_amount_DP="2"afe_amount_L="Cost Est Base Curr"
afe_amount_MID="48"afe_amount_PRC="0.01"cost_class_L="Class"
cost_code_L="Code"cost_description_L="Description"cost_subcode_L="Subcode"
cost_supp_DP="2"cost_supp_L="Other Cost"cost_supp_MID="48"
cost_supp_PRC="0.01"/>
<md_DM_AFE_SUPPafe_supp_no_L="Supplemental AFE No"approved_by_L="Approved
By"cum_supp_cost_DP="2"cum_supp_cost_L="Supplemental AFE Total"
cum_supp_cost_MID="48"cum_supp_cost_PRC="0.01"date_approved_L="Date
Approved"date_supplement_L="Supplement Date"pool_L="Pool"
remarks_L="Comments"/>
<md_DM_EVENTdate_ops_end_L="End Date"date_ops_start_L="Start Date"
event_type_L="Event"/>
<md_DM_REPORT_JOURNALdate_report_L="Report Date"report_no_L="Report No"/>
</metadata>
<data>
<DM_REPORT_JOURNALdate_report="1998-09-17T00:00:00"report_no="1"/>
<DM_AFEafe_id="OdmSIYO0fs"afe_desc="NEW EXPLORATORY WELL"afe_no="Z7083677"
currency_code="US"currency_exch_rate="0"estimated_days="12"estimator="Duplantis,
John"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="160860"cost_class="TANC"
cost_code="491"cost_description="Tubing 1"cost_subcode="0010"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="8620"cost_class="TANC"
cost_code="491"cost_description="Tubing 2"cost_subcode="0020"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="132000"cost_class="TANC"
cost_code="495"cost_description="XMAS Tree"cost_subcode="0010"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="15000"cost_class="TANC"
cost_code="495"cost_description="Miscellaneous"cost_subcode="0020"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="68020"cost_class="TANC"
cost_code="497"cost_description="Packers, seals"cost_subcode="0010"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="11820"cost_class="TANC"
cost_code="497"cost_description="Nipples"cost_subcode="0030"/>
<DM_AFE_COSTafe_id="OdmSIYO0fs"afe_amount="2400"cost_class="TANC"
cost_code="497"cost_description="Pup Joints"cost_subcode="0060"/>
<DM_AFE_EVENT_LINKafe_no="Z7083677"/>
<CD_WELLactive_datum_desc="Rotary Table @2.0ft (H&P 79)"spud_date="1998-10-
03T05:00:00"well_common_name="Landmark #2"well_uwi="N61.7066W 8753.18' FROM
MONUMENTO USC&GS 'TECHE' SEC45 T15S
<CD_SITEsite_name="Landmark #2"/>
<CD_PROJECTproject_name="PATTERSON"/>
<CD_POLICYcustomer_name="Landmark Graphics Corporation"/>
<DM_EVENTevent_type="ORIG COMPLETION"/>
<report_labelssection="report_name"section_label="Cost Estimate Report"/>
21
<report_labelssection="rig_name_label"section_label="Rig Name/No."/>
<report_labelssection="site_name_label"section_label="Site"/>
<report_labelssection="project_name_label"section_label="Project"/>
<report_labelssection="well_name_label"section_label="Well"/>
<report_labelssection="code_total_label"section_label="Total for Code"/>
<report_labelssection="class_total_label"section_label="Total for Class"/>
<report_labelssection="estimate_total_label"section_label="Total Estimate"/>
</data>
</informe>
2. Las etiquetas XML <report_labels> contienen las etiquetas necesarias en el informe. Una de las
los requisitos para la mayoría de los informes es la internacionalización. Con el fin de cambiar
el lenguaje del informe, no debe haber etiquetas codificadas en el
report. However there is a need to display a text in the report, which can not
ser codificado. La etiqueta XML <report_labels> se utiliza para definir las etiquetas para el
informe.
<md_DM_PUMP_OPefficiency_DP="2"efficiency_L="Efficiency"efficiency_MID="154"
efficiency_PRC="0.01"flowrate_DP="1"flowrate_L="Output"flowrate_MID="75"
flowrate_PRC="0.1"flowrate_UL="gpm"liner_id_DP="3"liner_id_L="Liner Size"
liner_id_MID="124"liner_id_PRC="0.0010"liner_id_UL="in"md_op_DP="1"md_op_MID="122"
md_op_PRC="0.1"md_op_UL="ft"press_DP="1"press_L="Pressure"press_MID="185"
press_PRC="0.1"press_UL="psi"spm_DP="2"spm_L="SPM"spm_MID="114"
spm_PRC="0.01"spm_UL="spm"/>
Filtros de configuración
Un desarrollador de informes puede agregar filtros en el archivo de configuración para limitar la cantidad de datos XML.
producido. Esto ayuda a limitar la cantidad de filtrado que se debe hacer en Crystal Reports,
así haciendo que la generación de informes sea más rápida.
22
Actualmente se admiten tres tipos de filtros:
filtro
2. filtro_2
rango_de_filtros
4. parámetro_filtro
Sintaxis:
<Tabla_Anfitriónfilter="Reference_Table.Reference_Field=Host_Field"/>
Supported Operators:
=, <, >, <=, >=, !=, %=, >=+, <=+, >=-, <=-
Version History:
o 2003.11 and later versions
o 2003.16.1 y versiones posteriores para los operadores %=, >=+, <=+, >=-, <=-
If for example in a Daily Operations report we need to generate data for only the surveys
que se ingresaron en el diario actual, se agregarán las siguientes líneas en la configuración
file:
<DM_DIARIO>
<CD_POZO> rel="parent">
<CD_ESTACIÓN_DE_ENCUESTAfilter="DM_DAILY.date_report=survey_date"/>
</CD_WELLBORE>
</DM_DAILY>
Elfiltrola cláusula se puede usar con campos de fecha, numéricos o de cadena; y también admite<,
<=, >, >=, >=+, >=-, <=+, <=- y!= a los operadores con campos de fecha.
El>=+, >=-, <=+, <=- los operadores son una nueva adición disponible en 2003.16.1.x y
versiones posteriores. Estos operadores se pueden usar para sumar/restar un número de días de
fechas. Continuando con el ejemplo de CD_SURVEY_STATION, si en un informe de Operaciones Diarias
23
necesitamos generar datos para todas las encuestas que se ingresaron antes o en la fecha actual,
se agregarán las siguientes líneas en el archivo de configuración:
<DM_DAILY>
<CD_WELLBORE rel="parent">
<ESTACIÓN_DE_ENCUESTA_CDfilter="DM_DAILY.date_report>=survey_date"/>
</CD_POZO>
</DM_DIARIO>
Ahora esto plantea un nuevo problema si una empresa está utilizando un horario de informes de 06:00 am a 06:00 am
y está utilizando el estándar de informes: Día 1, hh:mm - Día 2, hh:mm, Usando la fecha del informe de
Día 2. Los datos para CD_SURVEY_STATION ingresados en el Día 2 no se incluirán en el informe.
ya que los datos de esa fecha serán filtrados por nuestra cláusula de filtro en el archivo de configuración.
Ahora podemos usar el>=+ operador para generar datos de CD_SURVEY_STATION introducidos en
El día 2 también. Esto se puede lograr haciendo los siguientes cambios en la cláusula de filtrado:
<DM_DIARIO>
<CD_POZO> rel="padre">
<ESTACIÓN_DE_ENCUESTA_CDfilter="DM_DAILY.date_report>=+1survey_date"/>
</CD_WELLBORE>
</DM_DAILY>
Si generamos el informe de operaciones diarias para el 22/02/2006, todos los registros de CD_SURVEY_STATION para el
El pozo actual se generará donde la fecha_de_encuesta <= 23/02/2006. Si hubiéramos usado
>=+2 en lugar de >=+1 entonces todos los registros de CD_SURVEY_STATION para el pozo actual
se habría generado donde thesurvey_date <= 24/02/2006.
24
2. Usando el "filtro_2” clause in the configuration file:
Sintaxis:
<Tabla_Host>filter_2="Reference_Table.Reference_Field=Host_Field"/>
Operadores soportados:
=, <, >, <=, >=, !=, %=, >=+, <=+, >=-, <=-
Este filtro opera exactamente como elfiltrocláusula explicada en la sección anterior. Usando
elfiltro_2la cláusula con filtro será equivalente a un operador "Y" utilizado en SQL
declaraciones.
Si, por ejemplo, en un informe de operaciones diarias necesitamos generar datos para todas las encuestas que
se ingresaron antes o en la fecha actual, se agregarán las siguientes líneas en el
archivo de configuración:
<DM_DAILY>
<CD_POZO> rel="padre">
<CD_SURVEY_STATIONfilter="DM_DAILY.date_report>=survey_date"/>
</CD_WELLBORE>
</DM_DAILY>
Ahora, si queremos agregar otra condición para que solo se produzcan encuestas para el evento actual.
en lugar de todos los eventos de un pozo, podemos usar la cláusula filter_2
<DM_DAILY>
<CD_WELLBORE rel="parent">
<CD_SURVEY_STATIONfilter="DM_DAILY.date_report>=survey_date"
filter_2="DM_EVENT.date_ops_start<=survey_date"/>
</CD_WELLBORE>
</DM_DAILY>
25
3. Usando el "rango_filtrocláusula en el archivo de configuración:
Sintaxis:
<Host_Tablefilter_range="date_field=Host_Field"/>
Operadores Admitidos:
=
Tipos de datos soportados:
Fecha
Version History:
o 2003.16.0 y versiones posteriores
o 2003.16.1 y versiones posteriores para la tabla parameter_item para usar valores de parámetros en
informes de salida
If the objective of the report is to take a date range from the user then the filter_range
se puede usar. Un ejemplo de su uso se puede ver en el Resumen de Gestión Multipozo
informe. Aquí el objetivo es generar datos de DM_REPORT_JOURNAL para un rango de fechas
especificado por el usuario.
<DM_EVENT>
<DM_INFORME_DIARIO filter_range="date_field=date_report"/>
</DM_EVENT>
Aquí
DM_REPORT_JOURNAL= Host table name
date_report= Host field name for which the range is taken from the user
La configuración anterior hará que OpenWells muestre un cuadro de diálogo cuando esto
se selecciona el informe para su generación. El cuadro de diálogo toma dos fechas (Inicio y Fin)
dates) from the user and then OpenWells generates XML data for only those records
de DM_REPORT_JOURNAL donde su date_report cae dentro del rango de fechas dado
por el usuario.
El usuario también puede agregar filter_caption y filter_label al final de esta cláusula para
cambiar la leyenda y la etiqueta predeterminadas en el cuadro de diálogo del rango de fechas, por ejemplo:
<DM_INFORME_DIARIO filter_range="date_field=date_report"
filter_caption Informe Resumido de Gestión de Pozos Múltiples
26
Uso de valor de parámetro en informes de salida:
El rango de fechas seleccionado se utiliza para filtrar los registros devueltos por OpenWells para un
informe de salida. El rango de fechas seleccionado también está escrito en los datos xml generados para el
informe bajo una tabla personalizada llamadaelemento_parámetro.Esto permite al desarrollador de informes
usa los valores de parámetro en el informe. El desarrollador del informe solo tiene que agregar el
artículo_de_parámetrotabla en el informe. Un ejemplo de lo que incluirá el xml generado
para un parámetro:
27
5. Usando el "parámetro_de_filtrocláusula en el archivo de configuración:
Sintaxis:
<Host_Tablefilter_parameter="text_field=Host_Field"/>
o
<Host_Tablefilter_parameter="numeric_field=Host_Field"/>
o
<Host_Tablefilter_parameter="date_field=Host_Field"
filter_value=”{today}”/>
Operadores soportados:
=, <, >, <=, >=, !=, %=
Version History:
o 2003.16.0 y versiones posteriores
o2003.16.1 y versiones posteriores para Valores Múltiples, Valores Predefinidos, %=
Operador, soporte de lista desplegable y tabla parameter_item para usar valores de parámetro en
informes de salida
o 2003.21.1/2003.22 y versiones posteriores para Listas de Selección Personalizadas
oR5000.1 Soporte para {hoy}, +X{hoy}, -X{hoy} variables en filter_value
atributo (donde X es un entero)
<CD_POZO>
<DM_PROD_EQUIP_FAIL filter_parameter="text_field=failure_type">
</CD_WELLBORE >
Aquí
DM_PROD_EQUIP_FAIL= Host table name
failure_type= Host field name for which the range is taken from the user
La configuración anterior hará que OpenWells muestre un cuadro de diálogo cuando esto
se selecciona el informe para su generación. El cuadro de diálogo toma un solo valor del usuario
y luego OpenWells generará datos XML solo para esos registros de
DM_PROD_EQUIP_FAIL donde su failure_type coincide con el valor dado por el
usuario.
28
Esta cláusula de filtro puede aceptar tres tipos de valores: numéricos, de texto o de fecha. El campo
el tipo debe especificarse dentro de la cláusula de filtro astext_fieldornumeric_fieldordate_field.
<CD_BIEN>
<DM_DAILY filter_parameter="date_field=date_report"
filter_value=”{today}” >
</CD_BIEN>
<CD_BIEN>
<DM_DAILY filter_parameter="date_field=date_report"
filter_value=”+1{today}” >
</CD_BIEN>
Múltiples Valores
El filtro también tiene la capacidad de tomar múltiples valores (separados por ";"), por ejemplo, en Error por
Informe de Tipo de Falla si el usuario ingresa "Fuga en el Tubo;Casing", el informe mostrará todos los registros
donde el tipo de falla es 'Fuga de tubería' o 'Casing'. Esta funcionalidad no es compatible con
date_field opción.
%= Operator
This filter also supports '%=' operator that will return all records where the string entered by
el usuario es parte del valor, por ejemplo, si el usuario ingresa 'Producción' para el campo assembly_name de
CD_PERFORATE, todos los registros donde el nombre del ensamblaje incluya 'Producción' serán
producido; por ejemplo, Liner de Producción, Casing de Producción, etc.
Valores Predefinidos
El filtro también tiene la capacidad de tomar el valor deseado directamente del archivo de configuración en su lugar.
de hacer aparecer un cuadro de diálogo. Por ejemplo, si un desarrollador quiere crear un informe que liste
29
pozos donde el estado de la zona de pozo es 'Abierto - Produciendo' y 'Abierto - No Produciendo'. Ellos
puede usar el siguiente filtro en el archivo de configuración:
El usuario también puede agregar filter_caption y filter_label al final de esta cláusula para
cambiar el título y la etiqueta predeterminados en el cuadro de diálogo, por ejemplo:
<DM_PROD_EQUIP_FAILfilter_parameter = "text_field%=failure_type"
filter_value ="Casing;Tubing"filter_caption="Selection of Failure Type"
filter_label="Failure Type">
30
Listas de selección
El filtro también tiene la capacidad de utilizar listas de selección definidas en OpenWells. Esto permitirá que el
el usuario debe seleccionar el valor deseado de una lista desplegable en lugar de escribirlo en el cuadro de diálogo emergente
caja. Por ejemplo, si un desarrollador quiere crear un informe de Fallas por Tipo de Falla y quiere
el usuario debe seleccionar el Tipo de Fallo de una lista de tipos de fallo definidos en un menú desplegable, luego
picklist="YES"se debe agregar el parámetro en el archivo de configuración:
<DM_PROD_EQUIP_FAILfilter_parameter = "text_field=failure_type"
filter_caption="Selection of Failure Type"filter_label="Failure Type"
picklist="YES"/>
El rango de fechas seleccionado se utiliza para filtrar los registros devueltos por OpenWells para un
output report. The selected date range is also written in the xml data generated for the
informe bajo una tabla personalizada llamadaítem_parámetro.Esto permite al desarrollador de informes que
utilice los valores de los parámetros en el informe. El desarrollador del informe solo tiene que agregar el
elemento_de_parametrotabla en el informe. Un ejemplo de lo que incluirá el xml generado
para un parámetro:
31
Listas de selección múltiple
Si el desarrollador quiere permitir que el usuario seleccione múltiples tipos de fallos en lugar de solo uno, entonces
esto se puede lograr añadiendo un parámetro adicional, es decir,multiselect="YES".
<DM_PROD_EQUIP_FAILfilter_parameter = "text_field=failure_type"
filter_caption="Selection of Failure Type"filter_label="Failure Type"
picklist="YES"multiselect="YES"/>
La lista de selección solo se puede utilizar para campos que tienen listas de selección definidas en ellos.
example the above example will only work if there is a picklist defined for
DM_PROD_EQUIP_FAIL. failure_type.
<DM_PROD_EQUIP_FAILfilter_parameter = "text_field=failure_type"
filter_caption="Selection of Failure Type"filter_label="Failure Type"
filter_value "Revestimiento; Tubo" picklist="YES"multiselect="YES"/>
32
Usando el Kit de Herramientas
Notas Generales
1. La aplicación EDM para la cual se crea el informe debe ser utilizada para probar cualquier
nuevo informe añadido utilizando la Utilidad de Administración EDM.
2. Cuando se realizan cambios en los archivos de Configuración del Informe (.XML) y/o
Los archivos Crystal (.RPT) deben ser actualizados en la base de datos utilizando EDM
Utilidad de administración y verificado usando su aplicación EDM (es decir, OpenWells).
base de datos.
a. Selecciona la carpeta Personalizada y sigue la ruta del menú Nuevo > Salida
Carpeta de informes para crear una carpeta de tipo de informe. Los tipos de informe
organizar dónde aparecerá el informe de salida en la aplicación. Para
ejemplo, un informe de salida que debe estar disponible para el nodo del Sitio en
el Explorador de Pozos OpenWells se crearía dentro de un nodo llamado
Sitio
33
Los informes de salida para Compass se pueden agrupar en las siguientes carpetas.
Figura 3.1
34
b. Seleccione el tipo de informe creado y siga la ruta del menú Nuevo > Salida
Informe.
c. Aparece el Asistente para Crear Reporte de Salida. Ingresa el nombre del nuevo
Informe de salida e ingrese la ruta donde se almacenan los archivos del informe de salida
o haga clic en Examinar para navegar a la ubicación de los archivos del informe de salida.
d. Haga clic en Siguiente.
e. Todos los archivos en la carpeta seleccionada están incluidos.
f. Haga clic en Finalizar.
g. La Utilidad de Administración de EDM muestra un mensaje informándole que la Salida
El informe se ha creado sin errores.
3. Reinicia tu aplicación EDM (es decir, OpenWells) para que los nuevos archivos sean
cargado.
4. Ejecuta el informe recién añadido desde tu aplicación EDM (es decir, OpenWells).
3. Restart your EDM application (i.e. OpenWells) and examine your changes.
35
Técnicas de desarrollo para Crystal Reports
El objetivo de esta sección es presentar la forma más fácil de crear informes de Crystal.
3. Ingrese los tres argumentos; estos argumentos especificarían los archivos y rutas
que son necesarios para generar el informe.
a. La raíz del informe (opción -r) especifica la ruta a la raíz de los informes.
Por ejemplo, el camino podría ser
C:\Dev\CDDM\Común\Informes\InformesDeSalida
b. Ruta del archivo de configuración del informe (opción -c). Es una ruta relativa desde el final de
Informa a la raíz del archivo de configuración que define este informe. Por ejemplo,
InformesDeSalida\Hito\DDR\CostoDiario\ConfiguraciónCostoDiarioDePozosAbiertos
".xml" es una ruta válida
36
c. El archivo de datos (opción -d) es una ruta completa al archivo de datos que debe ser
producido en C:\Documents and Settings\NOMBRE_DE_USUARIO\Local
Directorio Configuraciones emp.
Figura 4.1
Por ejemplo, en el Informe de Costos Diarios de OpenWells proporcionado por Landmark Graphics
this method has been used.
37
El siguiente código XML utilizado en el archivo de configuración de Daily Cost usa el sobre
eliminando la generación de datos XML para un objeto de negocio específico. El genérico
Se ha utilizado la generación de datos XML, sin embargo, para una de las tablas EDM la
Los datos XML serán diferentes a la generación de informes genéricos.
<data_source>
<data_generation>
<DM_INFORME_DIARIO
class="com.lgc.dws.common.reportbuilder.DailyCostXMLDataGenerator">
<DM_DAILY/>
<CD_BIENrel="padre">
<CD_SITErel="parent">
<CD_PROJECTrel="parent">
<CD_POLICYrel="parent"/>
</PROYECTO_CD>
</CD_SITE>
</CD_BIEN>
<DM_EVENTrel="padre"/>
<CD_WELLBORErel="padre"/>
<CD_RIGrel="parent"/>
</DM_REPORTE_DIARIO>
</generación_de_datos>
</fuente_de_datos>
<data_generation_class>com.lgc.dws.common.reportbuilder.DailyDrillingXMLDataGenerator</data_gene
ration_class>
</fuente_datos>
38
Usar este método requiere implementar la generación de XML en la clase de Java. Para
el ejemplo anterior define una clase Java que se utilizará para producir el XML
datos para el informe.
5. En esta etapa, Eclipse está utilizando la JRE predeterminada. Debe cambiarse a la JRE estándar.
utilizado para OpenWells. En el momento de escribir este documento se utiliza Java j2sdk1.4.1_02.
Suponiendo que el JDK ha sido instalado en su sistema, debe utilizarse el JDK apropiado.
para compilar el informe personalizado. Seleccione Proyecto/Propiedades/Agregar Biblioteca la siguiente
se mostrará un diálogo. Seleccione “JRE System Library” y luego presione Siguiente.
39
6. En el diálogo 'Agregar Biblioteca', hay un menú desplegable para seleccionar el JRE adecuado. Si el
El JRE que intentas usar no está disponible en el menú desplegable, tiene que ser agregado por
presionando el botón NUEVO.
7. Seleccione el directorio de nivel superior de la ruta JRE instalada y introduzca el nombre JRE correcto
similar a la imagen ilustrada y presiona OK.
40
8. Selecciona Proyecto/Propiedades; asegúrate de que solo se haya seleccionado el JRE correcto. Si hay
más de un JRE definido, elimina el JRE predeterminado. El diálogo debería verse como el
siguiente:
41
El archivo Java del informe personalizado será una extensión de los archivos fuente EDM existentes.
En consecuencia, los archivos Jar adecuados para EDM también deben ser definidos para el compilador. Seleccionar
Proyecto/Propiedades/Agregar Jars Externos… y selecciona los siguientes archivos Jar:
a. C:\Landmark\EDT\Archivos Comunes\Servicios de Datos\Common.Jar
b. C:\Landmark\EDT\Archivos Comunes\Servicios de Datos\JDataServices.jar
c. C:\Landmark\EDT\Archivos Comunes\Servicios de Datos\xerces.jar
d. C:\Landmark\EDT\Common Files\xalan.jar
Nota 1: la ruta C:\Landmark\EDT\Common Files\ puede variar según su
instalación.
42
10. En esta etapa, todos los ajustes necesarios están listos para crear y compilar el informe personalizado.
Seleccione Archivo/Nuevo/Clase y complete la nueva clase de Java como ilustra la imagen siguiente:
43
11. Select Project/Rebuild All and compile the project. The main IDE should look like the
imagen siguiente:
44
12. En esta etapa, el proyecto debería compilarse con éxito. El siguiente paso es actualizar.
commonext.jar. The jar file commonext.jar is an extension Jar file designed to hold the
informes personalizados archivos Java (o .class). Para actualizar commonext.jar, seleccione
Archivo/Exportar… y elige la opción "Archivo JAR" en el diálogo de Exportación. Diálogo de "Exportación JAR"
debe mostrarse y para el archivo Jar ingrese C:\Landmark\EDT\Common
Archivos\ext\commonext.jar.
45
Nota: el camino puede variar según tu instalación. Es fundamental tener esta ruta.
ingresado correctamente. De lo contrario, en tiempo de ejecución, Report Builder no podrá encontrar el archivo jar
y el informe personalizado correcto. Este archivo JAR se ha añadido a los archivos por lotes en
C:\Landmark\EDT\OpenWells\Carpeta Bin.
13. El archivo jar que contiene las clases java personalizadas para sobrescribir los datos xml estándar
la generación completa o para un solo nodo se puede adjuntar directamente con el rpt y xml
utilizar la Utilidad de Administración EDM en lugar de empaquetar en commonext.jar y colocar
bajo la carpeta C:\Landmark\EDT\Archivos Comunes\ext\. Nombra el jar de tu elección y
mencione bajo la etiqueta de configuración en el archivo de configuración del informe e.g.
<extension_jar>CustomReport.jar</extension_jar>
14. Asegúrese de que los archivos de informes personalizados se hayan añadido, utilizando la Utilidad de Administración como se describió.
en la sección Componentes de un Informe
15. El informe debe estar listo para usar ahora.
46
47
Incluir BHA y esquemas de pozo en Crystal Reports
Los informes de salida de OpenWells pueden mostrar esquemas de BHA y de pozo. La capacidad de incluir BHA
los esquemas están disponibles desde 2003.14. El informe de resumen BHA predeterminado, un informe a nivel de evento,
shipped with OpenWells is an example of one such report. The ability to include Wellbore
el esquema está disponible en versiones 2003.22 y posteriores.
Esquemas BHA
El siguiente proceso define los pasos requeridos para incluir el(los) esquema(s) BHA en una salida
informe.
1. Crea un nuevo archivo XML de configuración para el informe e incluye todas las tablas que son
requerido para el informe.
<DM_BHA_RUNschematic_plot="true"/>
Por ejemplo, el Informe Resumido de BHA tiene esta línea bajo CD_WELL. De hecho, lo mejor
La forma de crear un nuevo archivo de configuración para los esquemas de BHA es copiar el resumen de BHA.
Archivo de configuración del informe y modifíquelo para cumplir con los nuevos requisitos de informes.
3. Crea un nuevo informe en Crystal Reports y añade todas las tablas que es probable que se utilicen en el
informe utilizando la opción 'Experto en Bases de Datos'
4. Agregue las siguientes dos tablas al informe utilizando el "Experto en bases de datos":
a. DM_BHA_RUN
b. DIAGRAMA_ESQUEMÁTICO
48
6. Ve al explorador de campos y expande elDIAGRAMA_ESQUEMÁTICOtabla para revelar todo lo disponible
campos de esta tabla.
49
9. Agrega el informe a OpenWells utilizando la utilidad de administración de EDM.
Consejos diversos
O
<DM_BHA_RUNschematic_plot="true"orientation="horizontal" />
50
Esquemas de pozo
El siguiente proceso define los pasos necesarios para incluir esquemas de pozo en una salida
informe.
1. Crea un nuevo archivo XML de configuración para el informe e incluye todas las tablas que están
requerido para el informe.
<CD_POZOschematic_plot="true"/>
3. Crea un nuevo informe en Crystal Reports y agrega todas las tablas que probablemente se usen en el
informe utilizando la opción "Experto en bases de datos"
4. Añade las siguientes dos tablas al informe utilizando el 'Experto en Bases de Datos':
c. CD_POZO
d. DIAGRAMA_ESQUEMÁTICO
51
7. Arrastra y suelta el campo BLOBPLOT_ESQUEMÁTICO.plotcampo en el informe y colócalo
en el lugar apropiado del informe dependiendo del lugar donde desee verlo
el esquema.
52
Consejos Varios
<CD_POZOschematic_plot="true"orientation="vertical" />
O
<CD_BOCIOschematic_plot="true"orientation="horizontal" />
53
Integración de gráficos de compás y perfil.
Gráficas de Brújula
El siguiente proceso define los pasos requeridos para incluir gráficos de Compass en un resultado.
informe.
11. Crea un nuevo archivo XML de configuración para el informe e incluye todas las tablas que están
requerido para el informe.
<CD_WELLBORE compass_plot="true"compass_template="3d.wpc"quality="300"/>
13. Crea un nuevo informe en Crystal Reports y añade todas las tablas que probablemente se vayan a usar en el
informe utilizando la opción "Experto en Base de Datos"
GRÁFICO_DE_COMPÁS
54
15. Ve al explorador de campos y expande elCOMPASS_PLOT tabla para revelar todos los campos disponibles
de esta tabla.
16. Inserte la imagen de mapa de bits como objeto OLE en el informe. Haga clic derecho en el objeto OLE y
selecciona “Formato de Gráfico” del menú desplegable. Luego ve a la pestaña Imagen y haz clic en
Función de ubicación gráfica. Arrastre y suelte el COMPASS_PLOT.plot en el editor de fórmulas
ventana.
55
56
17. Enlace todas las demás tablas utilizadas en el informe.
57
Consejos Varios
El usuario puede colocar las plantillas de su propia elección en la carpeta instalada de EDM
..\Archivos Comunes\Plantillas\Brújula.
La calidad predeterminada de la trama es de 300, el usuario también puede configurarla en 900.
Desmarca la propiedad "Puede crecer" del objeto OLE. Esto se puede hacer haciendo clic derecho
haciendo clic en el objeto OLE y seleccionando "Formato gráfico" del menú desplegable
menú. El tamaño de la imagen se puede controlar ajustando el tamaño del OLE
Objeto en Crystal Reports.
58
Gráficos de Perfil
El siguiente proceso define los pasos requeridos para incluir gráficos de Compás en una salida
informe.
20. Create a new Configuration XML file for the report and include all tables that are
requerido para el informe.
<CD_POZOwall_plot="true"wallplot_template="wellheadSummary.ppc" />
22. Create a new report in Crystal Reports and add all tables that are likely to be used In the
informe utilizando la opción 'Experto en Base de Datos'
WALL_PLOT
59
24. Go to the field explorer and expand the COMPASS_PLOT table to reveal all available fields
de esta tabla.
25. Inserte la imagen de mapa de bits como objeto OLE en el informe. Haga clic derecho en el objeto OLE y
selecciona 'Formato de gráfico' del menú desplegable. Luego ve a la pestaña de Imagen y haz clic en
Graphic Location function. Drag and Drop the COMPASS_PLOT.plot in the formula edit
ventana.
60
61
26. Vincular todas las demás tablas utilizadas en el informe.
62
Consejos Varios
El usuario puede colocar las plantillas de su propia elección en la carpeta instalada de EDM.
..\Archivos Comunes\Plantillas\Compás.
i.Desmarque la propiedad "Puede crecer" del Objeto OLE. Esto se puede hacer haciendo clic derecho en
haciendo clic en el objeto OLE y seleccionando “Formato de gráfico” del menú desplegable
menú. El tamaño de la imagen se puede controlar ajustando el tamaño del OLE
Objeto en Crystal Reports.
tanto los gráficos de brújula como los gráficos de perfil también se pueden mostrar en un solo informe
<POZO_DE_CDwall_plot="true"wallplot_template="wellheadSummary.ppc"
compass_plot="true"compass_template="3d.wpc"quality="300"/>
63