Habilitar la visualización de versiones de datos de usuario en la interfaz de usuario

Para habilitar la versión de distintas versiones de datos de usuario en la interfaz de usuario, debe actualizar el archivo de plantilla de consulta para que puedan crearse versiones de las consultas SQL para recuperar la información de las distintas versiones.

Antes de empezar

  • Asegúrese de que las tablas personalizadas ya se han añadido al esquema de versiones.
  • Revise el tema siguiente para obtener más información sobre las consultas de versiones SQL: Mostrar detalles de versión.

Procedimiento

  1. Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
  2. Actualice el archivo de plantilla de consulta personalizado.
    Para ver la información sobre la versión, debe actualizar el archivo de plantilla de consulta. El archivo de plantilla de consulta define las consultas SQL que recuperan datos del servidor.

    Cuando se visualizan versiones, algunos de los datos deben recuperarse del esquema de versiones y otros datos deben recuperarse del esquema base. Debe determinar si debe escribir consultas específicas de la versión. Para obtener más información sobre las plantillas de consultas SQL de versiones, consulte Mostrar detalles de versión.

    A continuación se muestra un ejemplo de un archivo de plantilla de consulta personalizado que recupera distintas versiones los datos de WARRANTY utilizando la generación de SQL de versión.
    BEGIN_ASSOCIATION_SQL_STATEMENT
    name=MyCompanyWarrantygetCatalogEntryDetailsByParentCatalogGroupId
    base_table=CATENTRY
    additional_entity_objects=true
    param=versionable
    sql=
    SELECT
    CATENTRY.$COLS:CATENTRY$,
    CATENTDESC.$COLS:CATENTDESC$,
    XWARRANTY.$COLS:XWARRANTY$,
    XCAREINSTRUCTION.$COLS:XCAREINSTRUCTION$
    FROM
    CATENTRY
    LEFT OUTER JOIN XWARRANTY ON (CATENTRY.CATENTRY_ID = XWARRANTY.CATENTRY_ID)
    LEFT OUTER JOIN CATENTDESC ON (CATENTDESC.CATENTRY_ID = CATENTRY.CATENTRY_ID AND CATENTDESC.LANGUAGE_ID in ($CONTROL:LANGUAGES$))
    LEFT OUTER JOIN XCAREINSTRUCTION ON (CATENTRY.CATENTRY_ID = XCAREINSTRUCTION.CATENTRY_ID AND XCAREINSTRUCTION.LANGUAGE_ID in ($CONTROL:LANGUAGES$))
    WHERE
    CATENTRY.CATENTRY_ID IN ($ENTITY_PKS$) AND
    CATENTRY.MARKFORDELETE = 0
    END_ASSOCIATION_SQL_STATEMENT
    
    BEGIN_PROFILE
    name=MyCompany_All
    extends = IBM_Admin_Details
    BEGIN_ENTITY
    associated_sql_statement=MyCompanyWarrantygetCatalogEntryDetailsByParentCatalogGroupId
    END_ENTITY
    END_PROFILE
    
    BEGIN_PROFILE
    name=MyCompany_Admin_Minimal
    extends = IBM_Admin_Minimal
    BEGIN_ENTITY
    associated_sql_statement=MyCompanyWarrantygetCatalogEntryDetailsByParentCatalogGroupId
    END_ENTITY
    END_PROFILE
    Para mejorar el rendimiento cuando se recuperan versiones de entradas de catálogo, se define el nuevo perfil de acceso IBM_Admin_Minimal para recuperar un subconjunto de consultas SQL devueltas por el perfil de acceso IBM_Admin_Details.
  3. Actualice el archivo get-data-config.xml que se encuentra en el directorio LOBTools > WebContent > WEB-INF > config > com.ibm.commerce.serviceModule para registrar el servicio de versiones para los nuevos perfiles de acceso.
    A continuación se muestra un fragmento de código de ejemplo del creador de expresiones getCatalogEntryDetailsByIDs (datos de garantía) añadido en el código wcf:get-data-config:
    <expression-builder>
    	<name>getCatalogEntryDetailsByIDs</name>
    	<data-type-name>CatalogEntry</data-type-name>
    	<param>
    		<name>accessProfile</name>
    		<value>MyCompany_All</value>
    	</param>
    </expression-builder>
    
    <expression-builder>
    	<name>getVersionedCatalogEntryDetailsByIDs</name>
    	<data-type-name>CatalogEntry</data-type-name>
    	<param>
    		<name>accessProfile</name>
    		<value>MyCompany_Admin_Minimal</value>
    	</param>
    </expression-builder>
    
  4. Actualice el registro de mandatos para el perfil de acceso personalizado para registrar la implementación del mandato para insertar más versiones.
    Al visualizar objetos de versión, el Centro de gestión debe tener información sobre la versión, como el ID de versión. Para recuperar e incluir esta información en el nombre, debe registrar un mandato "InsertMore".
    A continuación se muestra la sentencia SQL de ejemplo para registrar el perfil de acceso personalizado MyCompany_All para el ejemplo Warranty precedente:
    insert into cmdreg (storeent_id, interfacename, classname, target) values 
    (0, 'com.ibm.commerce.catalog.facade.server.commands.InsertMoreCatalogEntryDataCmd+MyCompany_All.10', 
    'com.ibm.commerce.foundation.server.version.command.InsertMoreNounVersionMetaDataCmdImpl', 'Local');
    

    InsertMoreNounVersionMetaDataCmdImpl busca la información de la versión para el nombre CatalogEntry y añade dicha información a la respuesta.