Ir al final de los metadatos
Ir al inicio de los metadatos

Estás viendo una versión antigua de esta página. Ve a la versión actual.

Comparar con el actual View Version History

Versión 1 Actual »

Para crear una clase de extracción deberá crearse una clase que herede de la clase /EDGE/CL_EXTRACTOR_PORTAL_C o /EDGE/CL_EXTRACTOR_PORTAL_P.

  • Clase /EDGE/CL_EXTRACTOR_PORTAL_P. Esta clase se definirá para extractores padres, es decir extractores que deberán tener en cuenta otros extractores hijos. Por ejemplo, en el portal de proveedores podemos decir que el extractor de proveedores será padre ya que las condiciones que se establezcan en este deberán tenerse en cuenta para extraer las facturas, materiales, datos bancarios, etc… de esta manera solamente enviaremos datos de los proveedores relevantes para el portal.

Las relaciones con las tablas de los extractores hijos se definen en el método GET_FROM_SELECT, se puede usar de ejemplo el de la clase /EDGE/CL_SP_EXTRACTOR_SUPPL.

  • Clase /EDGE/CL_EXTRACTOR_PORTAL_C. Esta clase se definirá para extractores hijos, es decir, extractores que obtendrán los registros de una tabla y podrán tener en cuenta las condiciones de selección de un extractor padre para hacer una selección conjunta. Un ejemplo de extractor hijo serían los materiales, para obtener los materiales de los proveedores relevantes del portal deberán consultarse que condiciones deben cumplir los proveedores que se envían para mediante la tabla EINA filtrar los materiales por el proveedor.

Las clases extractoras también se encargan de realizar el mapeo de datos al XML que se envía al portal. Existen dos métodos para realizar este proceso:

  • Método MAPPING_GET_DATA_FROM_DB. En este método se hace la recuperación de los datos de BBDD necesarios a partir de los registros obtenidos de la tabla extractora. Los registros de la tabla extractora vendrán en el parámetro de entrada IT_RECORDS de tipo STANDARD TABLE, deberá asignarse a un field-symbol tipificado del tipo de tabla que corresponda para facilitar su manipulación. En el parámetro CT_DB_RECORDS deberemos de informar los registros recuperados de las tablas, el método ADD_TAB_TO_DB_RECORDS de la clase /EDGE/CL_SP_UTILITIES nos será de utilidad para informar dicha tabla, por ejemplo, si hemos recuperado en una tabla interna con tipo de línea LFBK registros de la tabla LFBK haremos esta llamada para informar en CT_DB_RECORDS una línea que contendrán el nombre LFBK en el campo TABNAME y en RECORDS tendremos el contenido de la tabla interna:

  • Método MAPPING_SET_DATA_TO_XML. En este método ser realizará el mapeo de campos a la estructura que luego será transformada a XML. Se recibe el parámetro IT_DB_RECORDS con todos los datos de las tablas recuperadas en el método MAPPING_GET_DATA_FROM_DB además de los registros recuperados de la tabla extractora. Este método devolverá un tipo DATA en el parámetro ER_STR_XML que será la estructura a la que luego se le aplicará la transformación a XML configurada en el extractor.

  • Sin etiquetas