UNPKG

navidev-abap-gw-api

Version:

API para la extracción de datos de servicios SAP GW

131 lines 4.79 kB
import { ServiceBindingInfo } from "navidev-adt-api"; import { Entities, Entity, MetadataInfoOptions, ResultMetadataContent } from "./metadataTypes"; import MetadataApp from "./metadataApp"; import { AdtConnection } from "../adtConnection/adtConnection"; export default class MetadataV4App extends MetadataApp { private entitiesWithSemantics; constructor(connectionController: AdtConnection, serviceBindingInfo: ServiceBindingInfo, options?: MetadataInfoOptions); /** * Obtiene el contenido del metadata. En los V4 hay como 2 metadatas el especifico y el general. * El específico contiene la información de las entidades propias de la aplicación y el general contiene * las entidades de SAP, como la moneda, unidad de medida, etc. * @param serviceBindingInfo */ getMetadataInfo(): Promise<ResultMetadataContent>; /** * Proceso el el metadata especifico del servicio * @param bodyParsed */ processMetadataEspecific(bodyParsed: any): Promise<void>; /** * Procesado del metadata general. El metadata general contiene entidades que mete SAP por defecto, como PDF y otras historias, * pero me interesa las entidades asociadas cuando tengo campos con valores semanticos (moneda o unidades de medida). * @param bodyParsed */ processMetadataCommon(bodyParsed: any): void; protected extractEntityCommon(bodyParsed: any, entityName: string): Entity | undefined; protected extractEntities(bodyParsed: any): Promise<Entities>; /** * Extrae las anotaciones del vocabulario de la entidad. El vocabulario son las anotaciones fiori de los campos. * @param entityInfo * @param annotations */ protected extractEntityAnnotationVocab(entityInfo: Entity, annotations: any): void; /** * Procesa la anotación de lineItem * @param values * @param entityInfo */ private processLineItemAnnotation; /** * Procesa la anotación de identification * @param values * @param entityInfo */ private processIdentificationAnnotation; /** * Extrae lo que se puede hacer con la entidad: crear, borrar, modificar. Esto se encuentra * en la anotación del container. El nombre suele ser: "SAP__self.Container/<entidad>". El "SAP__self" sale * del alias que tiene el servicio. * @param entityInfo * @param annotations */ private extratEntityRestrictions; /** * Extrae los campos de la entityType * @param entityType * @returns */ private extractEntityTypeFields; /** * Rellena el campo con la información de la ayuda para búsqueda. * @param rowAnnotation * @param field * @param entityInfo * @param entities */ private fillFieldWithValuesList; /** * Añade que entidad tiene un campo semantico. Campo semantico son campos de moneda, unidad de medida, etc. * @param entityName * @param semantic */ private addEntityWithSemantics; /** * Obtiene el alias del namespace del metadata necesario para búsquedas internas * @param bodyParsed * @returns */ private extractNamespaceAlias; /** * Rellena en la entidad donde hay un campo semantic cual es la entidad de SAP para obtener los valores. Además, de informar * dicha entidad en las entidades leidas del metadata especifico del servicio * @param entitySemantic * @param entityTypeName * @param semantic */ private fillEntitySemantic; /** * Enlaza el campo de la entidad que se esta procesando con la entidad de la ayuda para búsqueda * @param field * @param entityInfo * @param bodyParsed Cuerpo del metadata de la ayuda para búsqueda */ private linkFieldEntityWithEntityValueList; /** * Procesa los parámetros de la ayuda para búsqueda donde están los campos que la formarán y * los campos de entrada y salida. * @param field * @param valueListParameters */ private processParametersValueHelp; /** * Rellena la estructura de info de la entidad en base al cuerpo del metadata * @param rowEntity * @param nameSpace * @returns */ private fillExtractInfo; /** * Rellena la info básico de un campo * @param rowProperty * @param keyFields * @returns */ private fillFieldInfo; /** * Extrae los campos de las entidades comunes * @param entityType * @param entityInfo * @param annotations * @returns */ private extractFieldsEntityCommon; /** * Convierte un string en un TextArrangementTypes * @param value * @returns */ private convertTextArrangementType; } //# sourceMappingURL=metadataV4App.d.ts.map