navidev-abap-gw-api
Version:
API para la extracción de datos de servicios SAP GW
131 lines • 4.79 kB
TypeScript
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