Introdução Ao Sap Hana Desenvolvimento.docx

  • Uploaded by: lbonganha
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Introdução Ao Sap Hana Desenvolvimento.docx as PDF for free.

More details

  • Words: 262,114
  • Pages: 945
Introdução ao SAP HANA Desenvolvimento Os SAP HANA guias desenvolvedor apresentar vista de um desenvolvedor de SAP HANA®. Os SAP HANA guias desenvolvedor explicar não só como usar o SAP HANA ferramentas de desenvolvimento para criar modelos analíticos abrangentes, mas também como construir aplicativos com o SAP HANA interfaces programáticas 's e ambiente de desenvolvimento integrado. As informações contidas neste guia se concentra no desenvolvimento de código nativo que é executado dentro SAP HANA. DicaPara as últimas informações sobre a disponibilidade de recursos para SAP HANA extendida Application Services (SAP HANA XS) e ferramentas de desenvolvimento relacionados, consulte a nota SAP SAP Note 1779803. Este guia está organizado da seguinte forma:  Introdução e visão geral o SAP HANA arquitetura





o

Descreve os recursos básicos e arquitetura de SAP HANA SAP HANA desenvolvedor informação mapa

o

Informações de forma gráfica e textual que é projetado para ajudá-lo a navegar a biblioteca de informações atualmente disponíveis para SAP HANA desenvolvedores e encontrar a informação que você precisa rapidamente e facilmente. As informações fornecidas permite o acesso a partir de diferentes perspectivas, por exemplo: por SAP HANA guia, pelo cenário de desenvolvimento, ou por tarefa de desenvolvimento SAP HANA cenários de desenvolvimento

Descreve os principais cenários de desenvolvimento para que você pode usar SAP HANA para desenvolver aplicativos. A informação se concentra em cenários nativas de desenvolvimento, por exemplo, aplicativos baseados em SAP HANA serviços XS JavaScript e XS OData, mas também fornece uma visão geral do desenvolvimento da applactions não-nativos (por exemplo, usando JDBC, ODBC ou conexões ODBO para SAP HANA). Primeiros passos Uma coleção de tutoriais que são projetados para demonstrar como construir um simples SAP HANAbaseados em aplicação rápida e facilmente, incluindo como utilizar as SAP HANA ferramentas do estúdio e trabalhar com o SAP HANA repositório O processo de desenvolvimento A maioria dos capítulos restantes usar tarefas e tutoriais para explicar como desenvolver os SAP HANAobjetos de desenvolvimento que você pode incluir em seu SAP HANA aplicação. Se for o caso, você também pode encontrar informações de fundo que explica o contexto da informação de tarefa e de referência que forneça os detalhes que você precisa para se adaptar a informação baseada em tarefas para atender às necessidades de seu ambiente de aplicativos.

Alguns dos tutoriais neste guia referem-se aos modelos que estão incluídos no conteúdo demonstração fornecido com o SAP HANA unidade de Educação Interativa (BRILHO) entrega (DU). O BRILHO DU está disponível para download no Centro de download de software SAP. NotaO acesso ao Centro de download de software SAP está disponível apenas para os clientes SAP e requer credenciais de logon.

Público Este guia é destinado a pessoas que exercem as seguintes funções de desenvolvedor:  Desenvolvedores de banco de dados Muitas vezes, um especialista em negócios / analista de dados ou banco de dados, o desenvolvedor de banco de dados está em causa com a definição do modelo de dados e esquemas que será usado em SAP HANA, a especificação e definição de tabelas, visualizações, chaves primárias, índices, divisórias e outros aspectos do layout e inter-relacionamento dos dados no SAP HANA. O desenvolvedor de banco de dados também está preocupado com a concepção e definição de autorização e controle de acesso, através da especificação de privilégios, papéis e usuários.  Programadores de aplicativos O programador está preocupado com a construção SAP HANA aplicações, que pode assumir muitas formas, mas são projetados com base na arquitetura MVC. Os programadores desenvolver o código para as seguintes camadas componentes: o Visualizações



o

Correndo dentro de um navegador ou em um dispositivo móvel Controlador

o

Normalmente em execução no contexto de um servidor de aplicativos Modelo

Interagir de perto com o modelo de dados e executar consultas. Usando procedimentos ou bibliotecas incorporados, o modelo pode ser desenvolvido para ser executado dentro do SAP HANA mecanismo de dados. Desenvolvedores de interface do usuário do cliente Os de interface de usuário (UI) projetos para desenvolvedores cliente e cria aplicativos cliente que se ligam a lógica do negócio (do desenvolvedor de aplicativo) para controles, eventos e vistas na interface do usuário do aplicativo cliente. Desta forma, os dados expostos pelo desenvolvedor de banco de dados podem ser visualizados na interface do usuário do aplicativo cliente.

Informação relacionada SAP HANA Arquitetura Informação do desenvolvedor Mapa Cenários de Desenvolvedor

SAP HANA Arquitetura SAP HANA é uma plataforma de dados em memória que pode ser implantado no local ou sob demanda. Na sua essência, é um inovador sistema de gerenciamento de banco de dados relacional em memória. SAP HANA podem fazer pleno uso das capacidades do hardware atual para aumentar o desempenho do aplicativo, reduzir o custo de propriedade, e permitir novos cenários e aplicações que antes não eram possíveis. Com o SAPHANA, você pode construir aplicações que integram a lógica de controle de negócios ea camada de banco de dados com desempenho sem precedentes. Como um desenvolvedor, uma das questões-chave é como você pode minimizar os movimentos de dados. Quanto mais você pode fazer diretamente sobre os dados na memória ao lado das CPUs, melhor a aplicação irá executar. Esta é a chave para o desenvolvimento do SAP HANA plataforma de dados.

HANA SAP In-Memory Database SAP HANA é executado em CPUs multi-core com uma comunicação rápida entre os núcleos do processador, e contendo terabytes de memória principal. Com SAP HANA, todos os dados está disponível na memória principal, o que evita a penalização de disco I / O desempenho. Unidades de disco ou de estado sólido ainda são necessários para a persistência permanente em caso de uma falha de energia ou alguma outra catástrofe. Isso não prejudicar o desempenho, no entanto, porque as operações de backup necessários para o disco pode ocorrer de forma assíncrona como uma tarefa de fundo.

Colunas de Armazenamento de Dados Uma tabela de base de dados é conceptualmente uma estrutura de dados bidimensional organizados em linhas e colunas. A memória do computador, em contraste, está organizada como uma estrutura linear. Uma tabela pode ser representada na linha-coluna ordem ou de ordem. A organização orientada a linha armazena uma tabela como uma seqüência de registros. Por outro lado, no armazenamento da coluna as entradas de uma coluna são armazenados em locais de memória contíguas. HANA SAP suporta tanto, mas é particularmente otimizado para armazenamento coluna da ordem.

Armazenamento de dados colunar permite a compressão altamente eficiente. Se uma coluna é classificada, muitas vezes não são repetidas valores adjacentes. HANA SAP emprega métodos de compressão altamente eficientes, como a codificação de comprimento executar, codificação cluster e dicionário de codificação. Com codificação de dicionário, colunas são armazenados como seqüências de números inteiros codificados por bits.Isso significa que um cheque de igualdade pode ser executado em números inteiros; por exemplo, durante as verificações ou participar de operações. Isto é muito mais rápido do que comparar, por exemplo, valores de cadeia. Armazenamento colunar, em muitos casos, elimina a necessidade de estruturas de índice adicionais. O armazenamento de dados nas colunas é funcionalmente semelhante ao que tem um índice interno para cada coluna. A velocidade de digitalização coluna da loja in-memory coluna e os mecanismos de compressão especialmente compressão dicionário - permitir que as operações de leitura com um desempenho muito elevado.Em muitos casos, não é necessário ter índices adicionais. Eliminando índices adicionais reduz a complexidade e elimina o esforço de definição e manutenção de metadados.

Processamento Paralelo SAP HANA foi projetado para realizar seus cálculos básicos, tais como analítica junta, varreduras e agregações em paralelo. Muitas vezes, usa centenas de núcleos ao mesmo tempo, utilizando totalmente os recursos computacionais disponíveis de sistemas distribuídos. Com os dados colunar, operações em colunas individuais, tais como a procura ou agregações, pode ser implementado como loops de mais de uma matriz armazenada em locais de memória contíguas. Tal operação tem alta localidade espacial e eficiente pode ser executada no cache da CPU. Com o armazenamento orientada a linha, a mesma operação seria muito mais lento porque os dados da mesma coluna é distribuído entre a memória ea CPU é retardado por erros de cache.

Os dados compactados pode ser carregado no cache da CPU mais rápida. Isto é porque o factor limitante é o transporte de dados entre a memória cache e CPU, e assim o ganho de desempenho ultrapassa o tempo de processamento adicional necessário para a descompressão. Armazenamento baseado em coluna também permite a execução de operações em paralelo utilizando múltiplos núcleos de processador. Em uma loja de coluna, os dados já está verticalmente particionado. Isto significa que as operações em diferentes colunas podem ser facilmente processados em paralelo. Se várias colunas precisam de ser procurados ou agregados, cada uma dessas operações pode ser atribuído a um núcleo processador diferente.Além disso, as operações de uma coluna podem ser paralelizadas por compartimentação da coluna em várias secções que podem ser processadas por diferentes núcleos de processador.

Simplificar Aplicações Aplicações de negócio tradicionais costumam usar agregados materializadas para aumentar o desempenho. Estes agregados são calculados e armazenados quer depois de cada operação de escrita sobre os dados agregados, ou em horários programados. Leia operações de leitura dos agregados materializadas em vez de computação cada vez que eles são necessários.

Com uma velocidade de digitalização de vários gigabytes por milissegundo, SAP HANA torna possível calcular agregados de grandes quantidades de dados on-thefly com alta performance. Isso elimina a necessidade de agregados materializadas em muitos casos, simplificando modelos de dados, e, correspondentemente, a lógica do aplicativo. Além disso, com a agregação on-fly, os valores agregados são sempre up-to-date, ao contrário materializou agregados que só podem ser atualizados em horários programados.

SAP HANA Arquitetura de Banco de Dados A corrida SAP HANA sistema consiste em vários processos comunicantes (serviços). Veja a seguir os principaisSAP HANA serviços de banco de dados em um contexto de aplicação clássica.

Figura 1: Altas SAP HANA Banco de Dados Arquitetura

Tais aplicações de banco de dados tradicionais usam interfaces bem definidas (por exemplo, ODBC e JDBC) para se comunicar com o sistema de gerenciamento de banco de dados funcionando como uma fonte de dados, geralmente através de uma conexão de rede. Muitas vezes, em execução no contexto de um servidor de aplicativos, estas aplicações tradicionais usam Structured Query Language (SQL) para gerir e consultar os dados armazenados no banco de dados.

A principal SAP HANA componente de gerenciamento de banco de dados é conhecido como o servidor de indexação, que contém os armazenamentos de dados reais e os motores para o processamento dos dados. O servidor de indexação processa SQL de entrada ou de instruções MDX no contexto de sessões e transações autenticadas. O SAP HANA banco de dados tem sua própria linguagem de script nomeado SQLScript. SQLScript incorpora a lógica da aplicação intensiva de dados no banco de dados. Aplicações clássicas tendem a descarregar funcionalidade só é muito limitado no banco de dados usando SQL. Isso resulta em extensa cópia de dados de e para o banco de dados, e em programas que iteram lentamente ao longo de loops de dados enormes e são difíceis de otimizar e paralelizar. SQLScript é baseado em funções livres de efeitos colaterais que operam em tabelas usando consultas SQL para processamento conjunto, e é, portanto, paralelizável sobre vários processadores. Além SQLScript, SAP HANA apoia um quadro para a instalação de bibliotecas especializadas e funcionais otimizados, que estão fortemente integradas com diferentes motores de dados do servidor de indexação. Duas dessas bibliotecas funcionais são o SAP HANA Biblioteca Business Function (BFL) eo SAP HANA Predictive Analytics Library (PAL). BFL e PAL funções pode ser chamado diretamente de dentro SQLScript. SAP HANA também apoia o desenvolvimento de programas escritos na linguagem de R. SQL e SQLScript são implementados usando uma infra-estrutura comum de built-in funções do motor dados que têm acesso a várias definições de meta, como definições de tabelas relacionais, colunas, visualizações e índices, e definições de procedimentos SQLScript. Esses metadados são armazenados em um catálogo comum. A camada de persistência de banco de dados é responsável pela durabilidade e atomicidade de transações. Ele garante que o banco de dados pode ser restaurado para o estado empenhado mais recente após um reinício e que as transações são ou totalmente executados ou completamente desfeita. O servidor de indexação usa o servidor de pré-processamento para a análise de dados de texto e extrair as informações em que se baseiam os recursos de pesquisa de texto. O servidor de nomes detém a informação sobre a topologia da SAP HANA sistema. Em um sistema distribuído, o servidor de nomes sabe onde os componentes estão funcionando e quais dados estão localizados no qual o servidor.

Informação relacionada SAP HANA SQLScript Referência SAP HANA Biblioteca Business Function (BFL) Referencia SAP HANA Predictive Analysis Biblioteca (PAL) de referência SAP HANA Guia R Integração

SAP HANA Application Services Estendida Aplicações de banco de dados tradicionais usam interfaces como ODBC e JDBC com SQL para gerenciar e consultar seus dados. A seguir ilustra esses aplicativos usando o Model-View-Controller (MVC) arquitetura comum de desenvolvimento.

SAP HANA estende muito as tradicionais de banco de dados do servidor papel. HANA SAP funciona como uma plataforma abrangente para o desenvolvimento e execução de aplicações intensivas de dados nativas que são executados de forma eficiente em SAP HANA, aproveitando-se de sua arquitetura de memória e capacidades de execução paralela. Reestruturando sua aplicação, desta forma, não só você ganhar com o aumento do desempenho devido à integração com a fonte de dados, você pode efetivamente eliminar a sobrecarga da camada intermediária entre a interface de usuário (a vista) ea data- lógica de controlo intensivo, como mostrado na figura a seguir.

Em apoio a esse paradigma aplicativo integrado a dados, SAP HANA Extensão Serviços de Aplicativos fornece um conjunto abrangente de serviços incorporados que fornecem suporte end-to-end para aplicações baseadas na Web. Isso inclui um servidor web leve, suporte OData configurável, do lado do servidor execução JS e, é claro, acesso total a SQL e SQLScript. Estes SAP HANA Application Services estendido são fornecidas pelo SAP HANA servidor XS, que fornece serviços de aplicativos leves que estão totalmente integrados em SAP HANA. Ele permite que os clientes acessem o SAP HANA sistema via HTTP. Aplicações do controlador pode executar completamente nativamente no SAP HANA, sem a necessidade de um server.The aplicação externa adicional a seguir mostra o SAP HANAservidor XS como parte do SAP HANA sistema.

Os serviços de aplicação pode ser usada para expor o modelo de dados do banco de dados, com suas tabelas, exibições e procedimentos de banco de dados, para os clientes. Isso pode ser feito de uma forma declarativa utilizando serviços OData ou escrevendo código específico do aplicativo nativo que é executado no SAP HANAcontexto. Além disso, você pode usar o SAP HANA XS para construir aplicações HTML5 UI dinâmicas. Além de expor o modelo de dados, SAP HANA XS também hospeda serviços do sistema que fazem parte do SAP HANA sistema. O serviço de pesquisa é um exemplo de um tal sistema de aplicação. Sem os dados são armazenados no servidor SAP HANA XS si. Para ler tabelas ou exibições, para modificar dados ou executar procedimentos e cálculos de banco de dados SQLScript, ele se conecta ao servidor de indexação (ou servidores, no caso de um sistema distribuído). NotaPara as últimas informações sobre a disponibilidade de recursos para SAP HANA extendida Application Services (SAP HANA XS) e ferramentas de desenvolvimento relacionados, consulte a Nota SAP 1779803.

Informação relacionada Guia do desenvolvedor SAPUI5 para SAP HANA Ativando Pesquisa em SAP HANA

Aplicações SAP HANA-Based A possibilidade de executar código específico do aplicativo no SAP HANA levanta a questão: Que tipo de lógica deve ser executado onde? Claramente, os cálculos baseados em modelos de dados-intensiva e deve estar perto dos dados e, portanto, precisam de ser executados no servidor de indexação, por exemplo, utilizando SQLScript ou o código das bibliotecas funcionais especializados. O (view) a lógica de apresentação é executado no cliente - por exemplo, como um aplicativo HTML5 em um navegador da Web ou em um dispositivo móvel. Código específico do aplicativo nativo, apoiado pela SAP HANA Extensão Application Services, pode ser usado para fornecer uma camada fina entre os clientes de um lado, e os pontos de vista, tabelas e procedimentos no servidor de índice do outro lado. As aplicações típicas conter, por exemplo, controlar a lógica de fluxo com base em parâmetros de solicitação, pontos de vista e invocar procedimentos armazenados no servidor de indexação, e transformar os resultados para o formato esperado pelo cliente. A comunicação entre o SAP HANA servidor e índice de servidor XS é otimizado para alto desempenho. No entanto, o desempenho não é a única razão pela qual a SAP HANA servidor XS foi integrado no SAP HANA. Ela também leva a administração simplificada e uma melhor experiência de desenvolvimento. O SAP HANA servidor XS completa SAP HANA para torná-lo uma plataforma de desenvolvimento abrangente.Com o SAP HANA servidor XS, os desenvolvedores

podem escrever SAP HANA baseados em aplicações que cobrem todos os aspectos do lado do servidor, tais como tabelas e exibições do banco de dados, procedimentos de banco de dados, lógica de controle do lado do servidor, a integração com sistemas externos, e provisionamento de HTTP baseado em Serviços. A integração do SAP HANA servidor XS para o SAP HANA sistema também ajuda a reduzir o custo de propriedade, como todos os servidores estão instalados, operados e atualizados como um sistema.

Informação do desenvolvedor Mapa A estrada mapa desenvolvedor informação é projetado para ajudar os desenvolvedores a encontrar a informação que precisa na biblioteca de documentação do usuário e referência atualmente disponível para SAP HANA projetos de desenvolvimento. O ambiente de desenvolvimento para SAP HANA suporta uma ampla variedade de cenários de aplicação para o desenvolvimento. Por exemplo, os desenvolvedores de banco de dados precisa ser capaz de construir um modelo de persistência ou projetar um modelo analítico; desenvolvedores profissionais querem construir aplicações empresariais prontas; especialistas em negócios com um fundo de desenvolvimento pode gostar de construir um do lado do servidor simples, line-ofbusiness aplicativo; e desenvolvedores de aplicativos precisam ser capazes de projetar e construir uma interface de usuário do cliente (UI) que exibe os dados expostos pelo modelo de dados e lógica de negócios. É também essencial para configurar o ambiente de desenvolvimento de forma correcta e segura e garantir a gestão eficiente das várias fases do ciclo de vida de desenvolvimento.

Figura 1: SAP HANA Processo de Desenvolvimento de Aplicações

Com uma grande variedade de pessoas que necessitam para encontrar uma ampla gama de informações sobre tantas tarefas diferentes, tais como, às vezes não é fácil saber quais informações estão disponíveis ou onde procurar para encontrálo. Esta seção é projetado para ajudar você a navegar a paisagem documentação por olhar para as informações disponíveis para o SAP HANA desenvolvedor a partir das seguintes perspectivas:  Informações pelo guia do desenvolvedor  Informações pelo desenvolvedor tarefa  Informações pelo cenário desenvolvedor

Informação relacionada SAP HANA desenvolvedor Informações pelo Guia SAP HANA Informação do desenvolvedor pela Task

SAP HANA Informação do desenvolvedor por Cenário

SAP HANA desenvolvedor Informações pelo Guia A concepção e organização da SAP HANA biblioteca de documentação do desenvolvedor torna fácil de usar o nome de um guia para encontrar as informações relevantes. Por exemplo, o SAP HANA SQLScript Referência descreve como usar a extensão SQL SAP HANA SQLScript para definir um modelo de dados. O SAP HANA conjunto desenvolvedor informação inclui uma seleção de guias que descrevem o processo de desenvolvimento de aplicações completo, desde a definição de funções de usuários, privilégios e modelos de dados através da configuração do aplicativo para design de interface do usuário e testes; a informação disponível cobre fundo e conceitos, tutoriais baseados em tarefas, e material de referência detalhado. As tabelas a seguir ilustram que as guias estão disponíveis para o desenvolvedor que quer construir aplicações para SAP HANA, as informações que o guia contém, e que as tarefas típicas de alto nível o guia selecionada abrange:

Tabela 1: Principais SAP HANA Guias de Desenvolvedor SAP HANA Guia

Descrição

Tarefas típicas

Desenvolvedor Guia de Início Rápido

Contém uma seleção de tutoriais que ensinam os passos básicos Construir modelos de necessários para construir modelos de dados e os aplicativos nativos que persistência de dados são executados em SAP HANA XS. Faça procedimentos e funções definidas pelo usuário (UDF) Construir aplicações SAP HANA com XS JavaScript ou OData. Criar uma interface de usuário simples com SAPUI5

Guia do desenvolvedor

Descreve o processo completo de desenvolvimento de aplicações nativas Construir um modelo de no SAP HANA estendidos Application Services (SAP HANA XS). dados Construir a lógica da aplicação XS Construir clientes SAPUI5 Gerencie o ciclo de vida da aplicação

Guia de Modelagem

Explica como usar o SAP HANAmodelador para criar modelos de informação com base em dados que podem ser usados para fins

Criar atributos, pontos de vista analítico, e de cálculo

Tabela 1: Principais SAP HANA Guias de Desenvolvedor SAP HANA Guia

Descrição

Criar tabelas de decisão Importação / exportação de dados

analíticos.

Guia do desenvolvedor SAPUI5

Tarefas típicas

Descreve como desenvolver aplicativos SAPUI5 baseado Construir modelos de em SAP HANA, uma tecnologia de interface de usuário para a construção interface do usuário do e adaptação de aplicações cliente cliente Design Opinião de UI (botões / caixas) Visualizações UI vincular a dados Bind UI controla a serviços

O SAP HANA informações desenvolvedor set também inclui uma seleção de guias de referência que descrevem os vários idiomas que você usa para definir o modelo de dados subjacente (por exemplo, SQL, CDs ou HDBTable), bem como a lógica de negócios do aplicativo (por exemplo, XS JavaScript). As tabelas a seguir ilustram guias de referência que estão disponíveis para o desenvolvedor mais experiente que precisa de informações mais detalhadas sobre como construir componentes específicos.

Tabela 2: SAP HANA Guias de Referência de Idiomas SAP HANA Guia SQL exibições do sistema

Descrição

Descreve todos os tipos, predicados, operadores, expressões, funções, declarações e códigos de erro de dados SQL.

Tarefas típicas

Estado de consulta SAP HANA usando comandos SQL Alter serviços de configuração / inicialização do sistema * Gerenciar o armazenamento prolongado * Gerencie remotas fontes, subscrições, adaptadores, tarefas * Realizar análise de dados / mineração * Gerenciar fluxos de dados *

Tabela 2: SAP HANA Guias de Referência de Idiomas SAP HANA Guia SQLScript Referência

Descrição

Descreve como usar a extensão SQLSAP HANA SQLScript para incorporar a lógica da aplicação intensiva de dados em SAP HANA.

Tarefas típicas

Construir manuscritos de SQL Criar UDFs Construir procedimentos SQL

Protocolo de rede Command SQLScript

Descreve o SQL Command protocolo de rede que é usado por clientes SAP HANA para se comunicar com o SAPHANA.

Definir rotas para instruções SQL Configurar a autenticação SAML (...) Lidar com grandes objetos de dados Habilitar transações distribuídas

Referência Espacial (*)

XS JavaScript Referência

XS JavaScript API Reference

Descreve como armazenar, manipular e gerenciar dados espaciais, por exemplo, localizações geográficas, informações de roteamento, e forma de dados.

Armazenar e gerenciar dados espaciais

Descreve como usar XS JavaScript para construir nativas SAP HANAaplicações, explica os conceitos subjacentes, e enumera as várias APIs

Criar serviços XSJS

Acesso e manipular dados espaciais Calcular a distância entre geometrias Determinar a união / interseção de vários objetos

que estão disponíveis.

Criar bibliotecas XSJS Construir a lógica do aplicativo

Descreve as funções da API, métodos e classes fornecidas para utilização com o código JavaScript do lado do servidor rodando dentro (SAP HANA XS).

Use a API JavaScript XS Procurar por classes de API XSJS Localize métodos XSJS

XSUnit JavaScript API Reference

Descreve as funções da API, métodos e classificada fornecido com o framework Do lado do servidor de de teste XSUnit para automatizar os testes que você deseja executar paraSAP teste de código (XS) HANA aplicações XS. JavaScript Código de ensaio SQLScript

Tabela 2: SAP HANA Guias de Referência de Idiomas SAP HANA Guia

Descrição

Tarefas típicas

(procedimentos armazenados, views) Teste vista cálculo modelado XS DB Utilities Descreve a API que fornece acesso a uma biblioteca de utilitários de JavaScript, JavaScript que pode ser usado para ativar aplicativos JavaScript do lado do servidor para Referência API consumir modelos de dados que são definidas usando os Serviços de dados centrais ou chamar procedimentos armazenados como se fossem objetos JavaScript.

Chamar um procedimento armazenado Consultar uma entidade CDS Atualizar uma entidade CDS

SINA Pesquisa Descreve o SAP HANA simples acesso à informação (SINA) API, uma API Criar uma consulta de JavaScript JavaScript do lado do cliente para o desenvolvimento baseado no navegador de pesquisa Referência * busca UIs Criar uma consulta sugestão Criar uma consulta de barras ou linhachart Criar um gráfico de barras SAPUI5 Serviços de Dados Básicos (CDS) de referência

Explica como usar os serviços de dados centrais (CDS) para construir modelos de persistência de dados em tempo de design em SAP HANAApplication

HDBTable Referência de sintaxe

Explica como usar o hdbtable sintaxe para construir modelos de persistência

SAP HANA API REST

Descreve a API REST para SAP HANA,que permite acessar ferramentas de desenvolvimento para SAP HANAcomponentes da plataforma, tais como o

Services Estendida. O modelo de persistência de dados define os dados para expor em resposta a pedidos de clientes via HTTP, por exemplo, a partir de um aplicativo baseado em SAPUI5.

Criar CDs de Documentos Definir tabelas, tipos de tabelas e visualizações SQL Definir associações entre objetos de dados Importar dados em uma tabela

Definir esquemas e de dados em tempo de design em SAP HANA XS. O modelo de persistência de sequências dados é usado para definir os dados para expor em resposta a pedidos de Definir tabelas, clientes via HTTP, por exemplo, a partir de um aplicativo baseado em SAPUI5. visualizações SQL e tipos de tabela Importar dados em uma tabela Manter espaços de trabalho do repositório

Tabela 2: SAP HANA Guias de Referência de Idiomas SAP HANA Guia

Descrição

repositório utilizando chamadas baseados em REST.

Tarefas típicas

Manter projetos e arquivos Interagir com o SAP HANA repositório Objetos do catálogo do acesso

BFL Referência Descreve o SAP HANA Função Biblioteca Business (BFL), que contém funções Atribuir AFL usuário funções / privilégios financeiras pré-construídos. Criar o procedimento de mensagens publicitárias AFL Gerar e chamar um procedimento PAL Referência PAL Descreve o SAP HANA Predictive Analysis Library (PAL), que contém funções que podem ser chamadas de dentro do SAP HANA procedimentos SQLScript para executar algoritmos analíticos.

Atribuir AFL usuário funções / privilégios Criar o procedimento de mensagens publicitárias AFL Gerar e chamar um procedimento BFL Criar tabelas de entrada / saída

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA

opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

SAP HANA Informação do desenvolvedor pela Task A concepção e organização da SAP HANA biblioteca de documentação do desenvolvedor permite o fácil acesso à informação de acordo com a tarefa de desenvolvimento de particular a ser realizada, por exemplo, criar uma vista ou procedimento, ou a criação de um projeto de aplicativo. O SAP HANA desenvolvedor pode fazer uso de um grande número de guias que incluem informações que descrevem o processo de desenvolvimento de aplicativo completo. A figura a seguir mostra a informação que está disponível a partir da perspectiva das tarefas de desenvolvimento que devem ser realizadas em uma área de desenvolvimento particular, por exemplo, a criação do modelo de persistência; a criação de um serviço XSJS ou OData, ou gerenciar o ciclo de vida de desenvolvimento. Cada uma das tarefas descritas é apoiada por informação, abrangendo os conceitos subjacentes e material de referência detalhado. A figura também indica onde encontrar a informação com base na tarefa de desenvolvimento que você deseja executar. As tarefas são divididas de acordo com a área de desenvolvimento, por exemplo, o desenvolvimento de banco de dados, desenvolvimento de aplicativos, ou o design da interface do usuário.

Figura 1: Informações SAP HANA pela Task desenvolvedor

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que

pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

SAP HANA Informação do desenvolvedor por Cenário A concepção e organização da SAP HANA biblioteca de documentação do desenvolvedor permite acesso fácil às informações de acordo com o cenário de desenvolvimento subjacente, por exemplo, a gestão do ciclo de vida, ou o desenvolvimento de aplicativos. O SAP HANA desenvolvedor pode fazer uso de um grande número de guias que incluem informações que descrevem o processo de desenvolvimento de aplicativo completo a partir da perspectiva do cenário de desenvolvimento, por exemplo, o desenvolvimento de banco de dados, desenvolvimento de aplicativos, ou design de interface cliente e ensaios; a informação disponível cobre fundo e conceitos, tutoriais baseados em tarefas, e material de referência detalhado. A tabela a seguir indica onde encontrar informações com base no cenário de desenvolvimento que você escolher, por exemplo:  Desenvolvimento de banco de dados  Desenvolvimento de aplicações  UI Design Cliente O cenário específico que você selecionar pode basear-se na área de desenvolvimento subjacente estiver designado para, a escolha da linguagem de programação, os objetos de desenvolvimento necessárias, ou as ferramentas que você deseja usar:

Cenários de Desenvolvimento do Banco de Dados Um desenvolvedor de banco de dados usa uma variedade de idiomas para desenvolver um modelo de dados que podem ser expostos a um cliente interface do usuário, por exemplo, HTTP (com um serviço de aplicação) ou SQL (com uma interface do cliente, tais como ADBC ou JDBC). Em um cenário de banco de dados

para o desenvolvimento, os desenvolvedores geralmente usam linguagens como SQLScript, o .hdbtable família sintaxe (hdbview, hdbsequence, ...) ou Serviços de Dados Básicos (CDS) para definir o modelo de persistência de dados para que você adicionar a correspondente modelo analítico. Se você quiser desenvolver um modelo de dados que podem ser expostos a solicitações do cliente, use a tabela a seguir para ajudar a encontrar as informações que você precisa para completar as tarefas de desenvolvimento mais comuns. Usando os recursos disponíveis em componentes opcionais adicionais (*), você pode desenvolver aplicativos que executam as seguintes tarefas:  Gerenciar fluxos de dados, por exemplo, para filtrar, agregar ou enriquecer dados antes de serem comprometidos com o banco de dados  Realizar análises operacionais em tempo real sobre os dados  Melhorar, limpar e transformar dados a partir de fontes locais ou remotos para torná-lo mais preciso e útil  Analisar e processar informações geoespaciais  Analisar e os meus dois dados textuais estruturados e não estruturados e dados estruturados interligados

Tabela 1: Informações pelo cenário de banco de dados Desenvolvimento Linguagem de programação

Artefatos de desenvolvimento

Ferramentas

SAP HANA Information Origem

SQL

Eclipse (SAP HANA estúdio Elementos de banco de dados, serviços, políticas, prolongado de armazenamento / ) SAP HANA Web IDE índice, adaptadores e agentes, fontes remotas e assinaturas, busca, mineração de texto e análise, fluxos de dados (filtros agregadores e de enriquecimento), gerenciamento de informações corporativas, dados geo-espacial *

SQLScript

Tabelas, SQL vistas, procedimentos, UDFs funções de aplicação e de negócios ...

Eclipse (SAP HANA estúdio SQLScript Referência ) BFL Referência Referência PAL

SAP HANA DB (.hdb *sintaxe;

Tabelas, SQL vistas, procedimentos, índice de pesquisa (INA) ...

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) SAP HANA Web IDE SQLScript Referência

hdbtable, hdbview ...)

SQL exibições do sistema de referência e Texto Guia do desenvolvedor Análise * Texto Guia do desenvolvedor Mineração * Smart Data Transmissão Guia do desenvolvedor *

SAP HANA DB (CDS sintaxe) Entidades, tipos de dados, contextos, vistas Eclipse (SAP HANA estúdio Guia do desenvolvedor SQL, geo-espacial, ... * ) SAP HANA Web IDE Referência Espacial

Tabela 1: Informações pelo cenário de banco de dados Desenvolvimento Linguagem de programação

SAP HANA DB

Artefatos de desenvolvimento

Visualizações analíticas e de cálculo, tabelas de decisão, ...

Ferramentas

SAP HANA Information Origem

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) SAP HANA Web IDE Guia de Modelagem

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Cenários de Desenvolvimento de Aplicações Como um desenvolvedor de aplicativos, você pode usar uma variedade de idiomas para desenvolver aplicativos que expõem a SAP HANA modelo de dados para solicitações de clientes de UI. Em um cenário de desenvolvimento de aplicações, os desenvolvedores geralmente usam linguagens como JavaScript do lado do servidor (XSJS) ou um serviço OData para definir o modelo de negócios do aplicativo que expõe o modelo de dados construído pelo desenvolvedor de banco de dados. Você pode ligar para o serviço de aplicação a partir de uma interface do cliente, por exemplo, um navegador ou cliente UI. Se você quiser desenvolver um serviço de aplicativo que expõe um SAP HANA modelo de dados às solicitações do cliente, use a tabela a seguir para ajudar a encontrar as informações que você precisa para completar as tarefas de desenvolvimento mais comuns.

Tabela 2: Informações pelo cenário de desenvolvimento de aplicações Linguagem de programação

Artefatos de desenvolvimento

Ferramentas

Informações da fonte

SQLScript

SQLScript

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) SAP HANA Web IDE SQLScript Referência

XSJS (server-side JavaScript)

Serviços de JavaScript do lado do servidor, bibliotecas, API

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) SAP HANA Web IDE XS JavaScript Referência

OData

Serviços OData, opções de consulta, parâmetros

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) SAP HANA Web IDE OData Referência

UI Cenários de Desenvolvimento do Cliente Como um desenvolvedor de aplicativos do cliente, você pode usar uma variedade de linguagens para criar um cliente de interface de usuário (UI) que exibe os elementos de um permitida SAP HANA modelo de dados. Em um cenário de desenvolvimento de interface do usuário-cliente, os desenvolvedores geralmente usam linguagens como SAPUI5 (HTML5) ou JavaScript para definir o aplicativo cliente UI. O cliente liga UI controles de interface para ações que solicitam dados e exibi-lo no formato exigido. Se você quiser desenvolver um aplicativo cliente interface do usuário que pode ser usado para exibir um SAP HANA modelo de dados, use a tabela a seguir para ajudar a encontrar as informações que você precisa para completar as tarefas de desenvolvimento mais comuns.

Tabela 3: Informação por UI-Client Development Cenário Linguagem de programação

Artefatos de desenvolvimento

Ferramentas

Informações da fonte

SAPUI5

JS, UI5 Biblioteca, Vista, Controle, ...

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) Guia do desenvolvedor SAPUI5

JavaScript

Consultas de pesquisa, resultados, sugestões

Eclipse (SAP HANA estúdio Guia do desenvolvedor ) SINA Pesquisa JavaScript Referência *

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da

plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Cenários de Desenvolvedor A possibilidade de executar um código específico no SAP HANA aplicação cria várias possibilidades para o desenvolvimento de aplicações baseadas em SAP HANA, representando vários cenários de integração, e correspondentes processos de desenvolvimento. Os desenvolvedores de aplicativos podem escolher entre os seguintes cenários ao projetar e construir aplicações que acedem a um SAP HANA modelo de dados:  Desenvolvimento de aplicativos nativos As aplicações nativas são desenvolvidos e executados em SAP HANA, por exemplo, usando apenas SQLScript ou os serviços de aplicativos estendidos fornecidos pela SAP HANA plataforma XS (ou ambos)  Desenvolvimento de aplicativos não-nativo Aplicações não-nativas são desenvolvidos em um ambiente separado, externo (por exemplo, ABAP ou Java) e conectado ao SAP HANA por meio de um servidor de aplicativos externo e uma conexão de cliente: ADBC, JDBC, ODBC, ou ODBO. Estes cenários mais tradicionais usam apenas SQL e procedimentos SQLScript nativas.

Figura 1: Native e SAP HANA Non-Native Application Architecture

O diagrama a seguir mostra o âmbito das línguas e do ambiente que você usa nas várias fases do processo de desenvolvimento de aplicações que aproveitam o poder do SAP HANA. Por exemplo, se você estiver desenvolvendo nativas SAP HANA aplicativos que você pode usar CDS, HDBtable, ou SQLSscript para criar representações de tempo de design de objetos que compõem o seu modelo de persistência de dados; você pode usar server-side JavaScript (XSJS) ou serviços OData para construir a lógica de negócios do aplicativo; e você pode usar SAPUI5 para construir interfaces de usuário do cliente que estão vinculados aos serviços XSJS ou OData. Se você estiver desenvolvendo aplicativos SAP HANA não-nativos, você pode escolher entre qualquer um dos idiomas que podem se conectar por meio das interfaces de cliente que SAP HANA apoia, por exemplo, ABAP (via ADBC) ou Java (JDBC).

Figura 2: SAP HANA Aplicações e Desenvolvimento Idiomas

Desenvolvendo Aplicações SAP HANA Native Em SAP HANA, aplicativos nativos usam a tecnologia e os serviços prestados pela integrado SAP HANAplataforma XS. O termo "aplicativo nativo" refere-se a um cenário em que as aplicações são desenvolvidas no ambiente de tempo de design fornecido pela SAP HANA estendido serviços de aplicações (SAP HANA XS) e usar o integrado SAP HANA plataforma XS ilustrado no gráfico a seguir. NotaUm programa que consiste puramente de SQLScript também é considerado um nativo SAP HANA aplicação. A abordagem centrada em servidor para desenvolvimento de aplicativos nativos para SAP HANA prevista assume o seguinte cenário de alto nível:  Todos os artefatos de aplicativos são armazenados no repositório SAP HANA  Lógica processual do lado do servidor é definida no lado do servidor (XS) JavaScript ou SQLScript



Renderização UI ocorre completamente no cliente (navegador, aplicações móveis) Cada um dos níveis ilustrados no gráfico é manifesta em uma determinada tecnologia e idiomas dedicados:

Figura 1: SAP HANA Native Desenvolvimento de Aplicações SAP HANA com XS

 o o o o  o

Cálculo Lógica - tecnologia de processamento de dados: Dados: SQL / SQLScript, Serviços de Dados Básicos (CDS), DDL, HDBtable SQL / SQLScript Funções de cálculo de motor (CE_ *) Biblioteca de Função de Aplicação (AFL) Lógica de controle de fluxo com SAP HANA XS: OData

o

Modelos de validação de serviços OData podem ser escritas em XS JavaScript ou SQLScript Server-Side JavaScript (XSJS)

o

Solicitações HTTP são implementados diretamente em XS JavaScript XMLA

 o o

Cliente tecnologia UI / Front-end: HTML5 / SAPUI5 JavaScript do lado cliente

Os cenários de desenvolvimento para desenvolvimento de aplicativos nativos visam os seguintes públicos em sentido lato:

Tabela 1: Audiência Desenvolvimento alvo para aplicativos SAP HANA Native Público

Idioma

Ferramentas

Desenvolvedores de SQLScript, SAP HANA banco de dados CDS, hdb * SAP estúdio

Artefatos de desenvolvimento Tabelas de dados, exibições, procedimentos; funções definidas pelo usuário (UDF) e triggers; objetos analíticos; autorização de dados ...

Os desenvolvedores XS JavaScript,  de aplicativos: OData,  Profession SQLScript, ... al (XS JS)   Casual / negócio

SAP HANA estúdio IDE baseado na Web

Lógica, serviços de dados, lógica de cálculo de controle ...



SAP HANA estúdio IDE baseado na Web

Shell UI, navegação, temas (ver / sentir), controles, eventos, ...

UI desenvolvedores cliente /

SAPUI5, JavaScript, ...



Informação relacionada Cenários de Desenvolvimento do Banco de Dados Cenários de profissionais de desenvolvimento de aplicativos Cenários de Desenvolvimento UI Cliente do aplicativo

Cenários de Desenvolvimento do Banco de Dados O foco do desenvolvedor de banco de dados é principalmente sobre o modelo de dados subjacente que os serviços de aplicações expor aos clientes de UI. O desenvolvedor de banco de dados define os modelos e persistência de dados analíticos que são usados para expor dados em resposta a pedidos de clientes via HTTP. A tabela seguinte lista algumas das tarefas normalmente realizadas pelo desenvolvedor de banco de dados e indica onde encontrar a informação que é necessário para executar a tarefa.

Tabela 1: típicas tarefas de banco de dados de desenvolvimento Tarefa Criar tabelas, modos de exibição SQL, seqüências ...

Detalhes Código, sintaxe, ...

Informações da fonte SQLScript Referência Guia do desenvolvedor

Embalagem, ativação, execução, ... Guia do

Tabela 1: típicas tarefas de banco de dados de desenvolvimento Tarefa

Detalhes

Informações da fonte desenvolvedor

Criar atributo, analítica, pontos de vista de cálculo

Código, sintaxe, ...

SQLScript Referência

Embalagem, ativação, execução, ... Guia do desenvolvedor Exemplos de fundo Criar / Faça procedimentos SQLScript, UDFs, gatilhos ... Código, sintaxe, ...

Guia de Modelagem SQLScript Referência Guia do desenvolvedor

Embalagem, ativação, execução, ... Guia do desenvolvedor Criar / Usar funções de aplicação

Código, sintaxe, ...

SQLScript Referência BFL Referência (*) PAL Referência (*) Guia do desenvolvedor

Embalagem, ativação, execução, ... Guia do desenvolvedor

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software

correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Cenários de profissionais de desenvolvimento de aplicativos O foco principal do desenvolvedor de aplicativos profissional para criar aplicações. O desenvolvedor de aplicativos profissional cria aplicações do lado do servidor que definem a lógica de negócios necessária para atender pedidos de clientes, por exemplo, para os dados criados e expostos pelo desenvolvedor de banco de dados. A tabela seguinte lista algumas das tarefas normalmente executadas pelo desenvolvedor de aplicativos profissional e indica onde encontrar a informação que é necessário para executar a tarefa.

Tabela 1: Tarefas típicas de desenvolvimento de aplicações Tarefa

Detalhes

Criar um serviço XSJS: Contexto, exemplos, bibliotecas,  Extrair dados de SAP HANA depuração, implementação, ...  De resposta do aplicativo controle Código de função, a sintaxe ...  Vincular a um controle UI / evento

Criar um serviço de OData (por exemplo, para ligar um controlo UI / evento para tabelas de dados ou pontos de vista existentes

Informações da fonte Guia do desenvolvedor XS JavaScript Referência

Código SQL, sintaxe, ...

SQLScript Referência

UI controla, eventos ...

Guia do desenvolvedor SAPUI5

Contexto, a sintaxe serviço, exemplos, bibliotecas, depuração, implementação, ...

Guia do desenvolvedor

Opções de consulta, a sintaxe ...

OData Referência

UI controla, eventos ...

Guia do desenvolvedor SAPUI5

Cenários de Desenvolvimento UI Cliente do aplicativo Os desenvolvedores podem criar aplicativos cliente para exibir um SAP HANA modelo de dados expostos por SAP HANA serviços XS. Os de interface de usuário (UI) projetos de desenvolvimento e cria aplicativos cliente que se ligam a lógica de negócios para controles, eventos e vistas na interface do usuário do aplicativo cliente. O desenvolvedor de interface do usuário pode usar SAPUI5 (baseado em HTML5) ou do lado do cliente JavaScript para construir as aplicações cliente. Em um cenário de desenvolvimento do cliente UI, um desenvolvedor realiza (entre outros) as tarefas listadas na tabela a seguir, o que também indica onde encontrar as informações necessárias para executar a tarefa.

Tabela 1: Tarefas típicas de Desenvolvimento UI-cliente

Tarefa

Criar um aplicativo para exibir SAPUI5SAP HANA dados expostos por um serviço XSJS / OData

Detalhes

Informações da fonte

Guia do Contexto, o código de serviço / sintaxe, a embalagem, a ativação ... desenvolvedor UI controla, eventos ...

Construir a interface gráfica do usuário de um aplicativo Contexto, ferramentas ... SAPUI5 usando serviços de interface do usuário (widgets) UI controla, eventos ...

Guia do desenvolvedor SAPUI5 Guia do desenvolvedor Guia do desenvolvedor SAPUI5

Desenvolvendo Aplicações SAP HANA não-nativos Em SAP HANA, as aplicações não-nativos usam a tecnologia e os serviços prestados pela integrado SAP HANAplataforma XS; a execução em um servidor de aplicativo externo.

O termo "aplicativo não-nativo" refere-se a um cenário onde você desenvolver aplicativos em um ambiente fora doSAP HANA, por exemplo, SAP NetWeaver (ABAP ou Java). A lógica do aplicativo não-nativo é executado em um servidor de aplicativos externo que acessa o SAP HANA modelo de dados (por exemplo, tabelas e visualizações analíticas) por meio de uma interface de cliente padrão, como JDBC, ODBC, ou ODBO usando SQL e procedimentos SQLScript nativas. NotaTecnicamente, também é possível para aplicações de front-end não nativas para se conectar ao SAP HANAbanco de dados diretamente via SQL ou MDX, por exemplo, quando SAP HANA é usado como fonte de dados para Microsoft Excel. No entanto, não é recomendado o uso de uma tal abordagem para aplicativos de negócios SAP. A figura a seguir mostra como você usa as interfaces de cliente para ligar o seu não-nativo SAP HANA aplicativo para um SAP HANA modelo de dados.

Figura 1: SAP HANA não-nativa Application Architecture

Informação relacionada ABAP Cliente de Interface O cliente da interface JDBC ODBC Interface do cliente ODBO Cliente de Interface

ABAP Cliente de Interface Conectividade de banco de dados ABAP (ADBC) fornece os benefícios de uma conexão SQL nativo por meio deSQL EXEC. ADBC é basicamente uma série deCL_SQL * aulas, que simplificam e abstrair a SQL EXEC blocos. Você pode construir uma aplicação ABAP personalizado que é executado em um ambiente de aplicativo externo, mas conecta-se diretamente a um SAP HANA modelo de dados usando a interface ADBC cliente. Suporte para aplicações ABAP externas inclui ferramentas dedicadas baseados em Eclipse, pontos de vista externos (objetos ABAP Dictionary que podem ser acessados como um modo normal dicionário) e proxies para os procedimentos de banco de dados (objetos de dicionário ABAP que permitem mapear parâmetros de procedimento para os parâmetros ABAP em o proxy procedimento). NotaÉ possível fazer uso de objetos de persistência de dados nativas em sua aplicação ABAP, por exemplo, em tempo de design objetos de persistência de dados especificado usando a sintaxe dos Serviços de Dados Básicos (CDS). Para criar um aplicativo que acessa um ABAP SAP HANA modelo de dados, você precisa executar as seguintes etapas de alto nível 1. Escreva um aplicativo ABAP no seu próprio ambiente de desenvolvimento, por exemplo, utilizando o ABAP ferramentas de integração no Eclipse. 2. Conecte o ambiente de desenvolvimento ABAP para SAP HANA usando a interface ADBC; o ambiente ABAP pode ser:  Um servidor de aplicativos ABAP  Sua máquina de desenvolvimento 3. Execute o aplicativo ABAP se conectar a um SAP HANA modelo de dados.

Java Database Connectivity (JDBC) é uma interface de programação de aplicativo baseado em Java (API), que inclui um conjunto de funções que permitem que aplicações Java para acessar um modelo de dados em um banco de dados. O SAP HANA cliente inclui uma interface de JDBC dedicado. Você pode construir um aplicativo Java personalizado que é executado em um ambiente de aplicativo externo, mas conecta-se diretamente a um SAP HANA modelo de dados usando a interface JDBC cliente. Para construir um aplicativo Java que acessa um SAP HANA modelo de dados, você precisa executar as seguintes etapas de alto nível: 1. Escrever um aplicativo Java em seu próprio ambiente de desenvolvimento. 2. Conecte o ambiente de desenvolvimento Java para SAP HANA usando a interface do cliente JDBC; o ambiente Java pode ser:  Um servidor de aplicativos Java  Sua máquina de desenvolvimento 3. Execute o aplicativo Java para ligar a um SAP HANA modelo de dados.

Informação relacionada Conectar-se a SAP HANA via JDBC

ODBC Interface do cliente Open Database Connectivity (ODBC) é uma interface de programação de aplicativo padrão (API) que fornece um conjunto de funções que permitem que aplicativos para acessar um modelo de dados em um banco de dados. OSAP HANA cliente inclui uma interface ODBC dedicado. Você pode construir uma aplicação .NET personalizada (usando C ++, C #, Visual Basic e assim por diante) que é executado em um ambiente de aplicação externa, mas se conecta diretamente a um SAP HANA modelo de dados usando a interface ODBC cliente. Para construir uma aplicação .NET que acessa um SAP HANA modelo de dados, você precisa executar as seguintes etapas de alto nível: 1. Instale a interface ODBC cliente na máquina de desenvolvimento. 2. Escrever um aplicativo .NET em seu ambiente de desenvolvimento. 3. Ligue o aplicativo .NET para SAP HANA utilizando a interface ODBC. 4. Execute o aplicativo .NET para se conectar a um SAP HANA modelo de dados. NotaO SAP HANA provedor de dados para Microsoft ADO.NET é instalado como parte do SAP HANA instalação do cliente.

Informação relacionada Conectar-se a SAP HANA via ODBC

Banco de dados OLE para OLAP (ODBO) é uma interface de programação de aplicativo padrão (API) que permite que os clientes do Windows para trocar dados com um servidor OLAP. O SAP HANA cliente inclui um driver ODBO quais aplicativos podem usar para se conectar ao banco de dados e executar instruções MDX Você pode construir um aplicativo cliente baseado em Windows que é executado em um ambiente de aplicação externa, mas se conecta diretamente a um SAP HANA modelo de dados, por exemplo, para executar consultas com expressões multidimensionais (MDX) usando o nativo SAP HANA interface do MDX. Para criar um aplicativo MDX que acessa a SAP HANA modelo de dados, você precisa executar as seguintes etapas de alto nível: 1. Instale a interface ODBO cliente na máquina de desenvolvimento. 2. Escreva um aplicativo que usa expressões multidimensionais (MDX) em seu próprio ambiente de desenvolvimento. 3. Conecte o aplicativo para SAP HANA usando a interface ODBO. 4. Execute o aplicativo MDX baseado no Windows para se conectar a um SAP HANA modelo de dados.

Informação relacionada Conectar-se a SAP HANA via ODBO

SAP HANA provedor de dados para Microsoft ADO.NET SAP HANA inclui um provedor de dados que permite que os aplicativos usando Microsoft .NET para se conectar ao SAP HANA banco de dados. Você pode construir uma aplicação .NET personalizada (por exemplo, usando C ++, C # ou Visual Basic) que é executado em um ambiente de aplicação externa, mas se conecta diretamente a um SAP HANA modelo de dados usando o SAP HANA provedor de dados para Microsoft ADO.NET. O SAP HANA provedor de dados para Microsoft ADO.NET é instalado como parte do SAP HANA instalação do cliente. Para construir um aplicativo .NET que acessa um SAP HANA modelo de dados, você precisa executar as seguintes etapas de alto nível: 1. Instale o SAP HANA provedor de dados para Microsoft ADO.NET na máquina de desenvolvimento. 2. Escrever um aplicativo .NET em seu ambiente de desenvolvimento, por exemplo, usando o Visual Studio. 3. Ligue o aplicativo .NET para SAP HANA usando a interface do cliente incluído com o SAP HANA provedor de dados para Microsoft ADO.NET. 4. Execute o aplicativo .NET para se conectar a um SAP HANA modelo de dados. Você pode usar o SAP HANA provedor de dados para Microsoft ADO.NET para desenvolver aplicações Microsoft .NET com o Microsoft Visual Studio, incluindo tanto uma referência para o provedor de dados e uma linha em seu código-fonte referenciando as classes do provedor de dados.

Informação relacionada Conectar-se a HANA SAP via Microsoft .NET

Começando Para entender quais as ferramentas SAP HANA Extensão Application Services (SAP HANA XS) fornece para que você possa começar a desenvolver aplicativos nativos, você precisa executar através do processo de construção de uma pequena aplicação, por exemplo, sob a forma de um "Olá Mundo" aplicação . Como parte do processo de obtenção-iniciado, você passar pelas seguintes etapas:  Pré-requisitos Uma pequena lista das ferramentas e permissões necessárias para começar a trabalhar com os SAP HANAferramentas de desenvolvimento de aplicações.  Os espaços de trabalho e projetos SAP HANA projetos Se você estiver usando o SAP HANA estúdio, você deve criar um projeto compartilhado, que você usa para agrupar todos os seus artefatos relacionados ao aplicativo e sincronizar as alterações com o espaço de trabalho do repositório.

NotaSe você estiver usando o SAP HANA Development Workbench baseado na Web, você não precisa criar um projeto de um espaço de trabalho do repositório. 



Criando descritores de aplicação Cada nativo SAP HANA aplicativo requer arquivos de descritor. Os descritores de aplicação são os arquivos principais que você usa para descrever quadro de um aplicativo dentro do SAP HANA XS, por exemplo: para marcar o ponto de raiz a partir da qual o conteúdo pode ser servido, cujo conteúdo deve ser exposto, ou quem tem acesso ao conteúdo. Tutoriais A seleção de "Olá Mundo" tutoriais são usados para demonstrar o processo de desenvolvimento de aplicações em SAP HANA XS e mostrar-lhe como produzir uma simples aplicação rápida e fácil. Alguns dos tutoriais neste guia referem-se aos modelos que estão incluídos no conteúdo demonstração fornecido com oSAP HANA unidade de Educação Interativa (BRILHO) entrega (DU). O BRILHO DU está disponível para download no Centro de download de software SAP. NotaO acesso ao Centro de download de software SAP está disponível apenas para os clientes SAP e requer credenciais de logon.

Informação relacionada Pré-requisitos

Pré-requisitos Para começar a trabalhar com as ferramentas fornecidas para permitir o desenvolvimento de aplicações em SAP HANA extendida Application Services (SAP HANA XS), é necessário para garantir que os desenvolvedores têm as permissões de software e de acesso necessários. Antes de começar a desenvolver aplicações usando as características e ferramentas fornecidas pelo SAP HANAXS, tenha em mente os seguintes pré-requisitos. Os desenvolvedores que desejam criar aplicativos para rodar emSAP HANA XS precisa das seguintes ferramentas, contas e privilégios: Observeo seguinte só pode ser fornecida por alguém que tem as autorizações necessárias em SAP HANA, por exemplo, um SAP HANA administrador.   

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA ferramentas de desenvolvimento, por exemplo: SAP HANA estúdio ou o SAP HANA Development Workbench baseado na Web. NotaPara permitir o acesso ao SAP HANA repositório do SAP HANA estúdio, o privilégio EXECUTE é necessário para SYS.REPOSITORY_REST, o procedimento através do qual o banco de dados de API REST é encapsulado.



O acesso ao SAP HANA repositório

 

Acesso ao catálogo selecionados objetos de tempo de execução Alguns dos tutoriais neste guia referem-se aos modelos que estão incluídos no conteúdo demonstração fornecido com o SAP HANA unidade de Educação Interativa (BRILHO) entrega (DU). O BRILHO DU está disponível para download no Centro de download de software SAP. NotaO acesso ao Centro de download de software SAP está disponível apenas para os clientes SAP e requer credenciais de logon.

SAP HANA Estúdio O SAP HANA estúdio é um desenvolvimento e administração ferramenta baseada em Eclipse para trabalhar comSAP HANA. Você usa o SAP HANA estúdio para desenvolver aplicações nativas que podem tirar proveito dos benefícios proporcionados pelo SAP HANA serviços de aplicativos SAP HANA estendida (XS). Uma das características mais importantes do ambiente baseado no Eclipse é a perspectiva. SAP HANA oferece uma série de perspectivas dedicados que visam o desenvolvedor do aplicativo. Como um desenvolvedor de aplicativos, você costuma usar as seguintes perspectivas:  O SAP HANA Desenvolvimento perspectiva Fornece pontos de vista e opções de menu que lhe permitem executar todas as tarefas relacionadas com o desenvolvimento de aplicações em SAP HANA XS, por exemplo: para gerenciar projetos de desenvolvimento de aplicações, conteúdo de pacotes de aplicativos de visualização, e navegar na SAP HANA repositório. Você também pode definir seu modelo de persistência de dados aqui, usando artefatos de tempo de design para definir as tabelas, visões, seqüências e esquemas.  O Debug perspective Fornece pontos de vista e opções de menu que ajudam você a testar suas aplicações, por exemplo: Para ver o código fonte, monitorar ou modificar variáveis e definir pontos de quebra.  O Modeler perspectiva Fornece pontos de vista e opções de menu que lhe permitem definir o seu modelo analítico, por exemplo, atributo, analítica, e vistas de cálculo do SAP HANA dados.  A equipa Sincronizando perspectiva Fornece pontos de vista e opções de menu que lhe permitem sincronizar artefatos entre o seu sistema de arquivos local eo SAP HANA Repository.  O Console de Administração perspectiva Fornece pontos de vista que lhe permitem executar tarefas administrativas em instâncias SAP HANA.

O SAP HANA Development Perspective SAP HANA do estúdio SAP HANA Development Perspective inclui uma seleção de ferramentas de programação que os desenvolvedores podem usar para construir aplicações em SAP HANA. Você pode personalizar a perspectiva de incluir suas próprias ferramentas favoritas também. O SAP HANA perspectiva de desenvolvimento é onde você vai fazer a maior parte do seu trabalho de programação, por exemplo:  Criar e compartilhar projetos  Criar e modificar objetos de desenvolvimento  Gerenciando versões do objeto de desenvolvimento  Cometer desenvolvimento objetos para o SAP HANA repositório NotaPor padrão, salvar um arquivo compromete automaticamente a versão salva do arquivo para o repositório.  Ativando objetos de desenvolvimento no SAP HANA repositório O SAP HANA perspectiva de Desenvolvimento contém as seguintes áreas principais de trabalho:  Exploradores / Navegadores Vistas seleccionadas permitem que você navegue pelos seus artefatos de desenvolvimento: os objetos em sua estação de trabalho, e os objetos no repositório do SAP HANA sistema que você está trabalhando.  Editores Editores especializados permitem que você trabalhe com diferentes tipos de objetos de desenvolvimento, por exemplo, arquivos de aplicativo de configuração, arquivos de origem JavaScript, arquivos SQLScript.

O Repositórios Vista Você pode navegar e executar ações sobre o conteúdo do SAP HANA Repositório em um específico SAP HANAsistema. Os Repositórios visualizar exibe o conteúdo do repositório em um específico SAP HANA system.You pode navegar pela hierarquia de pacote e check-out arquivos de projeto da SAP HANA Repositório; os arquivos retirados são transferidas para a área de trabalho em seu sistema de arquivos local, onde você pode trabalhar em cima delas e modificá-los conforme necessário.

O Repositórios vista é uma lista de espaços de trabalho do repositório que você criou para o desenvolvimento de propósito, em vários SAP HANA sistemas. Geralmente, você cria um espaço de trabalho, vá para arquivos do repositório, e, em seguida, fazer a maior parte do seu trabalho de desenvolvimento no Project Explorer. No entanto, com versões mais recentes do SAP HANA, você pode usar os repositórios vista a executar ações diretamente sobre objetos de repositório em múltiplas áreas de trabalho, por exemplo: editar objetos, ativar objetos e gerenciar as versões do objeto - tudo sem a necessidade de configurar um projeto . O Repositórios vista também fornece acesso direto a ferramentas de gerenciamento de ciclo de vida.

O Project Explorer Vista O Project Explorer vista é o elemento mais utilizado do SAP HANA Desenvolvimento perspectiva; ele mostra os arquivos de desenvolvimento localizados no espaço de trabalho do repositório que você cria em sua estação de trabalho. Você usa o Project Explorer vista a criar e modificar arquivos de desenvolvimento. Usando menus sensíveis ao contexto, você também pode comprometer os arquivos de desenvolvimento para o SAP HANArepositório e ativálos. Tenha em mente que salvar um arquivo no projeto compartilhado compromete a versão salva do arquivo para o repositório automaticamente.

Dicaarquivos com nomes que começam com o ponto (.), Por exemplo, .xsapp,

às

vezes não são visíveis no Project Explorer. Para ativar a exibição de todos os arquivos no Project Explorer vista, utilize o Personalizar vista de personalização disponíveis opção e desmarque todas as caixas de seleção.

O Sistema Vista A Sistemas de vista é um dos elementos organizacionais básicos incluídos com o Desenvolvimentoperspectiva. Você pode usar a Sistemas de visualização para exibir o conteúdo do SAP HANA banco de dados que está hospedando o seu desenvolvimento de artefatos do projeto. A Sistemas de vista do SAP HANA banco de dados mostra os dois objetos ativados (objetos com uma instância de tempo de execução) eo tempo de design objetos que você criar, mas ainda não ativados.

A Sistemas de vista está dividida nas seguintes seções principais:  Segurança Contém os papéis e usuários definidos para este sistema.







Catálogo Contém os objetos de banco de dados que foram ativados, por exemplo, a partir de objetos em tempo de design ou a partir de instruções SQL DDL. Os objectos são divididos em esquemas, que é uma forma de organizar objectos da base de dados activadas. Provisioning Contém ferramentas de administrador para configurar o acesso de dados inteligente, provisionamento de dados e fontes de dados remotas Conteúdo Contém objetos de banco de dados em tempo de design, tanto aqueles que foram ativados e aqueles que não fossem ativados. Se você quiser ver outros objetos de desenvolvimento, use o Repositories vista. Para mais informações sobre o SAP HANA Repositórios Vista, consulte Guia do desenvolvedor SAP HANA.

Descritores de aplicativos SAP HANA XS Cada aplicativo que você deseja para desenvolver e implementar em SAP HANA aplicação alargada Services (SAP HANA XS) necessários chamados "descritor aplicação" arquivos. Os descritores de aplicação descrever quadro de um aplicativo dentro de SAP HANA XS. O quadro definido pela SAP HANA descritores de aplicação XS inclui o ponto de raiz na hierarquia de pacotes em que o conteúdo é para ser servido às solicitações do cliente. Ao definir a estrutura do aplicativo, você também tem que especificar se o aplicativo tem permissão para expor dados às solicitações do cliente, o que (se houver) método de autenticação é necessária para acessar o conteúdo do aplicativo, e (opcionalmente) e se são necessárias quaisquer privilégios para executar ações sobre os pacotes e conteúdo do pacote que são expostos.  A descrição do aplicativo O arquivo de núcleo que você usa para descrever quadro de uma aplicação SAP HANA dentro XS. O pacote que contém o arquivo de descrição do aplicativo se torna o caminho da raiz dos recursos expostos às solicitações do cliente por parte do aplicativo que você desenvolver.  O arquivo de acesso aplicação O arquivo de configuração que você usa para especificar quem ou o que está autorizado a acessar o conteúdo exposto por um SAP HANA pacote de aplicativos XS e qual o conteúdo que eles estão autorizados a ver. Por exemplo, você usar o arquivo de acesso de aplicativos para especificar o seguinte: o O conteúdo do aplicativo que podem ser expostos a pedidos de clientes o

O método de autenticação usado para habilitar o acesso ao pacote de conteúdo, por exemplo, com base form-, básico, ou mesmo nenhum.

SAP HANA Projetos Em SAP HANA, um grupos de projetos em conjunto todos os artefatos que precisa para uma parte específica do ambiente de desenvolvimento de aplicações. Antes de começar o fluxo de trabalho de desenvolvimento de aplicativo, você deve criar um projeto, que você usa para agrupar todos os seus artefatos relacionados ao aplicativo. No entanto, um projeto requer um espaço de trabalho do repositório, o que lhe permite sincronizar as alterações em arquivos locais com as mudanças no SAP HANA repositório. Você pode criar o espaço de trabalho antes ou durante a etapa de criação de projeto. Como parte do processo de criação de projeto, você executará as seguintes tarefas: 1. Adicionar um sistema de desenvolvimento 2. Criar um espaço de trabalho de desenvolvimento. O lugar onde você trabalha em objetos de desenvolvimento é chamado de repositório espaço de trabalho. A área de trabalho é o elo entre o SAP HANA repositório e seu sistema de arquivos local. Quando você vá para um pacote a partir do repositório, o SAP HANA copia o conteúdo da hierarquia pacote para o seu espaço de trabalho. Para garantir que as alterações feitas arquivos relacionados ao projeto de são visíveis para outros membros da equipe, você deve comprometer os artefatos de volta para o repositório e ativá-los. NotaPor padrão, salvando o arquivo compromete automaticamente a versão salva do arquivo para o repositório. 3.

Criar um projeto Você usa o projeto para coletar todos os seus artefatos relacionados ao aplicativo em um lugar conveniente.Projetos compartilhados permitem que várias pessoas para trabalhar nos mesmos arquivos ao mesmo tempo. NotaArquivos de check-out do repositório não é fechado; conflitos resultantes de alterações simultâneas para o mesmo arquivo deve ser resolvido manualmente, usando os Mesclar ferramentas fornecidas no sensível ao contexto Equipe menu.

4.

Compartilhe um projeto Partilha de um projecto estabelece um vínculo entre os arquivos específicos do projeto em seu espaço de trabalho de desenvolvimento eo SAP HANA repositório. Um projeto compartilhado garante que as alterações que você faz arquivos relacionados ao projeto em seu espaço de trabalho para desenvolvimento estão sincronizados com o SAP HANA repositório e, como resultado, visível para outros membros da equipe.Projetos compartilhados estão disponíveis para importação por outros membros da equipe de desenvolvimento de aplicações.

Tutoriais Tutoriais são uma boa maneira de entender rapidamente o que é necessário para escrever um aplicativo nativo simples para SAP HANA XS. Nesta seção, você pode usar os seguintes tutoriais para ajudar você a entender os passos básicos que você precisa executar no desenvolvimento nativo SAP HANA aplicações XS:  Olá OData Um aplicativo simples que permite que você teste a SAP HANA interface de OData expondo uma coleção OData para análise e visualização em um aplicativo cliente.  Olá Mundo em server-side JavaScript (XSJS) Um simples pedido por escrito em JavaScript do lado do servidor que exibe as palavras "Olá Mundo" em um navegador da Web juntamente com uma corda extraído de uma mesa no SAP HANA banco de dados. ObservaçãoO namespace SAP no SAP HANA repositório é restrito. Coloque os novos pacotes e artefatos de aplicativos que você cria durante os tutoriais em seu próprio namespace, por exemplo, com.acme, ou usam osystem.local área para testes.

Informação relacionada Tutorial: Use o SAP HANA OData interface Tutorial: My First SAP HANA Aplicação

Tutorial: My First SAP HANA Aplicação Este tópico descreve as etapas necessárias para desenvolver um aplicativo simples que roda nativamente emSAP HANA.

Contexto Este tutorial mostra como usar o SAP HANA estúdio para desenvolver um funcional SAP HANA aplicação.Embora seja simples, o tutorial demonstra o processo de desenvolvimento que você pode aplicar a todos os tipos de cenários de aplicação para o desenvolvimento. O tutorial mostra como criar um simples SAP HANA aplicação. O aplicativo usa o código JavaScript do lado do servidor para recuperar dados do SAP HANA, executando instruções SQL no SAP HANA banco de dados. Os dados recuperados são exibidos em um navegador da Web. Durante o tutorial, você usa ferramentas fornecidas noSAP HANA estúdio para realizar as seguintes tarefas: 



Conectar-se a um SAP HANA sistema Adicionar (e conecte-se) um SAP HANA sistema, que hospeda o repositório onde objetos de desenvolvimento são armazenados Criar um espaço de trabalho do repositório







Criar um espaço de trabalho de desenvolvimento que permite sincronizar os artefatos de desenvolvimento em seu sistema de arquivos local com o repositório hospedado no SAP HANA sistema que você conectar. Criar e compartilhar um projeto Adicione um projeto que você pode usar para prender os artefatos aplicativo de desenvolvimento em uma localização central conveniente. Compartilhando o projeto torna o conteúdo do novo projeto disponível para outros membros da equipe de desenvolvimento de aplicações, ligando o projeto local para o SAP HANA repositório. Desta forma, você pode gerenciar as versões do objeto e sincronizar alterações para objetos de desenvolvimento. Escreva o código JavaScript do lado do servidor Use o código JavaScript para extrair dados do SAP HANA banco de dados em resposta a uma solicitação do cliente; o código incluirá SQLScript para realizar a extracção de dados. Dados de exibição Exibir dados extraídos do SAP HANA banco de dados em um navegador da Web.

Informação relacionada Tutorial: Adicionar um Sistema SAP HANA Tutorial: Adicionar um Espaço de Trabalho do Repositório Tutorial: Adicionar um projeto de aplicativo Tutorial: Faça Server-Side JavaScript Tutorial: recuperar dados de SAP HANA

Tutorial: Adicionar um Sistema SAP HANA Artefatos de desenvolvimento de aplicações são armazenadas e gerenciadas no SAP HANA repositório. Para se conectar a um SAP HANA repositório, você deve adicionar o sistema SAP HANA estúdio.

Pré-requisitos   

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA estúdio NotaPara permitir o acesso ao SAP HANA repositório do SAP HANA estúdio, o privilégio EXECUTE é necessário para SYS.REPOSITORY_REST, o procedimento através do qual o banco de dados de API REST é encapsulado.



O acesso ao SAP HANA Repository

Contexto Você deve adicionar uma conexão com o SAP HANA sistema que hospeda o repositório que armazena os artefatos de desenvolvimento de aplicativo que você estará trabalhando com.

Procedimento 1. 2. 3.

Abrir SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Na Sistemas de vista, clique em [+] Adicionar ... Sistema e escolha Adicionar System ....

4.

Digite os detalhes do SAP HANA sistema nos seguintes campos: Nome do Host: O nome do servidor que hospeda o SAP HANA instância de banco de dados, por exemplo,dev.host.acme.com



Se você está adicionando um banco de dados inquilino em um sistema multibanco de dados, você pode especificar o nome de domínio totalmente qualificado (FQDN) do sistema que hospeda o banco de dados inquilino ou o nome do host virtual para o banco de dados do inquilino. Cada banco de dados inquilino requer um nome de host virtual para que o SAP Web interno do sistema Dispatcher pode encaminhar solicitações HTTP para o servidor XS do banco de dados correto.

Dica

 

Se você não digitar o nome do host virtual para o banco de dados do inquilino aqui, você deve especificá-lo explicitamente como o host do servidor XS nas propriedades do sistema. Você pode fazer isso depois que você terminar de adicionar o sistema. Na Sistemas de exibição, clique com o botão direito do sistema cujas propriedades você deseja modificar e escolha PropriedadesPropriedades XS). Número Instância SAP HANA número de instância no servidor, por exemplo, 00 Descrição Um nome de exibição para o sistema que você está adicionando. Quando você começar a trabalhar com um monte de sistemas, você terá que rotular e

reconhecer os sistemas no SAP HANA estúdio.Digite Sistema de Desenvolvimento. 5.

6. 7.

Selecione Avançar. Digite um nome de usuário e senha para a conexão, e selecione Concluir.

Resultados Depois de adicionar o sistema, você vai ver o sistema em Sistemas de vista.

Tutorial: Adicionar um Espaço de Trabalho do Repositório O lugar onde você trabalha em objetos de desenvolvimento é chamado de um espaço de trabalho do repositório. A área de trabalho é o elo entre o SAP HANA repositório e seu sistema de arquivos local.

Pré-requisitos    

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA estúdio O acesso ao SAP HANA Repository

Contexto Depois de adicionar o SAP HANA sistema que hospeda o repositório que armazena seus arquivos de aplicação de desenvolvimento, você deve especificar um espaço de trabalho do repositório, que é o local em seu sistema de arquivos onde você salvar e trabalhar sobre os arquivos de desenvolvimento. Para criar um espaço de trabalho do repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4. 





Abrir SAP HANA estúdio. No SAP HANA Desenvolvimento perspectiva, abra a Repositórios de vista. No Repositórios vista, escolha Arquivo New Repository Workspace. Você deve fornecer as seguintes informações: SAP HANA sistema O nome do SAP HANA sistema que hospeda o repositório que você deseja sincronizar o seu espaço de trabalho com; escolher o mesmo sistema que você acabou de adicionar para este tutorial. Workspace Nome Se um espaço de trabalho do repositório padrão existe, desmarque a área de trabalho padrão opção e insira um nome de espaço de trabalho; o nome do espaço de trabalho pode ser qualquer coisa que você gosta, por exemplo, DevWS. Uma pasta com o nome que você digita é criado abaixo do Espaço de Trabalho de raiz. Raiz espaço de trabalho

O Espaço de Trabalho de raiz é uma pasta que contém o espaço de trabalho que você criar nesta etapa. O Espaço de Trabalho de raiz pode estar em qualquer lugar no sistema de arquivos local. Para este tutorial, crie uma pasta em C: \ SAPHANAworkspaces e fazer deste o Workspace Root.

5. 6.

Clique em Concluir. Nos Repositórios ver, você vê o seu espaço de trabalho, o que permite que você navegue o repositório do sistema ligada a esta área de trabalho. Os pacotes do repositório são exibidas como pastas.

Ao mesmo tempo, uma pasta será adicionado ao seu sistema de arquivos para armazenar todos os seus arquivos de desenvolvimento.

7.

Retirar um espaço de trabalho do repositório.

Se for necessário remover um espaço de trabalho, você pode escolher entre várias opções de exclusão; a opção que você escolher determina o que é removido, de onde (sistema de arquivos local ou repositório remoto), e que, se alguma coisa, é mantido.    

Abra o SAP HANA Desenvolvimento perspectiva. Escolha o Repositories vista e expanda o nó repositório que contém o espaço de trabalho que você deseja remover. Direito do mouse no espaço de trabalho que você deseja remover. Escolha o modo de área de trabalho-exclusão. Os seguintes modos se aplicam quando você excluir um espaço de trabalho no SAP HANA estúdio:

Tabela 1: Modos de exclusão Workspace Modo Eliminação Workspace

Descrição

Excluir

Remover espaço de trabalho; apagar todos os arquivos locais relacionados com o espaço de trabalho; excluir alterações relacionadas aos dados remoto (repositório).

Retire do cliente (manter as alterações remotas)

Remover espaço de trabalho do sistema do cliente local; apagar todos os arquivos relacionados com o espaço de trabalho local; reter as alterações aos dados remoto (repositório).

Desconecte local a partir remoto (manter as alterações)

Mantenha a área de trabalho, mas remover a etiqueta espaço de trabalho a partir da lista de espaços de trabalho exibidos na Repositóriosvista. A conexão com o espaço de trabalho desconectado pode ser restabelecida a qualquer momento com a opção de importação locais do repositório Workspaces.

Tutorial: Adicionar um projeto de aplicativo Você usar o projeto para coletar todos os artefatos de desenvolvimento relativos a uma parte específica de uma aplicação em um lugar conveniente.

Pré-requisitos    

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA estúdio O acesso a um SAP HANA Repository espaço de trabalho

Contexto Depois de configurar um ambiente de desenvolvimento para os escolhidos SAP HANA sistema, você pode adicionar um projeto para conter todo o desenvolvimento objetos que você deseja criar, como parte do processo de desenvolvimento de aplicações. Há uma variedade de tipos de projeto para diferentes tipos de objetos de desenvolvimento. Geralmente, um tipo de projeto assegura que apenas as bibliotecas necessárias são importados para que você possa trabalhar com objetos de desenvolvimento que são específicos para um tipo de projeto. Neste tutorial, você cria um projeto XS.

Procedimento 1. 2. 3.

Abrir SAP HANA estúdio. A partir do arquivo menu SAP HANA estúdio, escolha Novo Projeto. No Novo projeto diálogo, em SAP HANA Desenvolvimento de Aplicativos, selecione XS Projeto e escolha Avançar. 4. Insira os seguintes detalhes sobre o novo projeto:  Nome do Projeto Digite: mycompany.com.testing





Uma vez que um nome de projeto deve ser exclusivo dentro do mesmo espaço de trabalho Eclipse, uma boa convenção é usar o nome do pacote totalmente qualificado como o nome do projeto. Local do Projeto Você pode manter isso como o padrão SAP HANA estúdio (Repositório) espaço de trabalho. Para salvar o projeto em um local alternativo do padrão recomendado, você deve primeiro desativar a opção de projeto Partilhar no repositório SAP. Você pode compartilhar o novo projeto manualmente mais tarde. Partilha de um projecto permite a sincronização contínua com o SAP HANA repositório. Conjuntos de trabalho (opcional) Um conjunto de trabalho é um conceito similar aos favoritos em um navegador da Web, que contêm os objetos que trabalham em mais frequência.

5.

6.

Escolha Concluir.

Resultados O Project Explorer vista no SAP HANA Desenvolvimento perspectiva mostra o novo projeto. O sistema de informação em suportes [X4D (D007) ...] à direita do nome do nó do projeto na Project Explorer vista indica que o projeto foi compartilhado; projetos compartilhados são regularmente sincronizado com o repositório hospedado noSAP HANA sistema que você está conectado.

NotaSe você desativou a opção projeto Partilhar no repositório SAP quando você criou o projeto, você deve compartilhar o novo projeto manualmente.

Informação relacionada Tutorial: Compartilhar um projeto de aplicativo

Tutorial: Compartilhar um projeto de aplicativo Partilha de um projecto estabelece um vínculo entre os arquivos específicos do projeto em seu espaço de trabalho e desenvolvimento do repositório hospedado pela SAP HANA sistema que você está conectado.

Pré-requisitos     

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA estúdio O acesso a um SAP HANA Repository espaço de trabalho Uma existente SAP HANA projeto

Contexto Partilha de um projecto associa o projeto com seu espaço de trabalho do repositório e sincroniza o projeto com o repositório hospedado no SAP HANA sistema que você está conectado. Por padrão, um projeto é automaticamente compartilhada ao mesmo tempo como ele é criado; a opção de desativar a operação de auto-share está disponível no assistente de criação de projeto.

Notamanualmente a partilha de um projeto é necessário apenas se você tiver desativado a opção projeto Partilhar no repositório SAP quando você criou o projeto ou escolheu explicitamente unshare o projeto depois que você criou. Se você precisa compartilhar manualmente um projeto, execute os seguintes passos:

Procedimento 1.

Comece SAP HANA estúdio e abrir o SAP HANA Desenvolvimento perspectiva.

2.

No Project Explorer exibição, clique direito do mouse no projeto que você deseja compartilhar e escolhaEquipe Share Project no menu pop-up sensível ao contexto para exibir o Share Project diálogo.

Desde que você só tem um espaço de trabalho, o assistente seleciona automaticamente para você. Se você tiver mais do que um espaço de trabalho, você deve escolher o espaço de trabalho para hospedar o projeto compartilhado. O diálogo também mostra a localização do projeto atual (a localização atual de seu projeto, na área de trabalho do repositório), ea localização do projeto Nova (onde o projeto será copiado para que possa ser associada ao espaço de trabalho do repositório). Além disso, como pasta Add projeto como subpackage está marcada, subpackages será criado com base no nome do seu projeto. 3. Escolha Concluir. O projeto compartilhado é exibido no Project Explorer vista associado à sua área de trabalho.

O .project arquivo é mostrado com um 4.

asterisco, o que indica que o arquivo

foi alterado mas ainda tem que estar comprometido com o repositório. Clique com o .project arquivo e selecione Equipe Commit a partir do menu pop-up sensível ao contexto para adicionar seu projeto e seus arquivos para o repositório. O .project arquivo agora é exibido com um ícone de diamante, indicando que a versão mais recente do arquivo em sua estação de trabalho tem sido comprometida com o SAP HANA repositório.

Além disso, o Repositories vista mostra que uma nova hierarquia de pacotes foi criado com base no nome do seu projeto, mycompany.myorg.testing.

Tutorial: Faça Server-Side JavaScript SAP HANA estendidos Application Services (SAP HANA XS) suporta programação de aplicativo do lado do servidor em JavaScript. Nesta etapa, adicionar um código JavaScript simples que gera uma página que exibe as palavras Olá, mundo!.

Pré-requisitos    

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA estúdio O acesso a um projeto compartilhado no SAP HANA repositório onde você pode criar os artefatos necessários para este tutorial.

Contexto Como parte deste do lado do servidor tutorial JavaScript, você cria os seguintes arquivos:  MyFirstSourceFile.xsjs 

Este contém o código JavaScript do lado do servidor. .xsapp



Isto marca o ponto de raiz na hierarquia pacote do aplicativo a partir do qual o conteúdo pode ser exposto via HTTP. Você ainda precisa expor explicitamente o conteúdo e atribuir controles de acesso. .xsaccess

Expor o seu conteúdo, o que significa que pode ser acessado via HTTP, e atribuir os controles de acesso, por exemplo, para gerenciar quem pode acessar o conteúdo e como. DicaSe você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente e permite a edição direta do arquivo no editor apropriado.

Procedimento 1. 2. 3.

Abrir SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. No Project Explorer vista, botão direito do mouse seu projeto XS, e escolha Novo Outro no menu pop-up sensível ao contexto. 4. No uma Select Assistente de diálogo, escolha SAP HANA Application Development Arquivo XSJavaScript. 5. No Novo arquivo JavaScript XS diálogo, digite MyFirstSourceFile.xsjs em nome do arquivo caixa de texto.

DicaSe você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação do arquivo adiciona a extensão de arquivo exigida automaticamente e permite a edição direta do arquivo no editor apropriado. Você também pode selecionar um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 6. 7.

Escolha Concluir. No MyFirstSourceFile.xsjs arquivo, digite o seguinte código e salve o arquivo: NotaPor padrão, salvando o arquivo compromete automaticamente a versão salva do arquivo para o repositório. $ .response.contentType = "text / html"; $ .response.setBody ("Olá, World!"); O código de exemplo mostra como usar o SAP HANA XS JavaScript API respostaopor-se a escrever HTML. Ao digitar $. você tem acesso a objetos

da API. 8. Verifique se os arquivos de descritor de aplicação estão presentes no pacote raiz do seu novo aplicativo XS JavaScript. Os descritores de aplicação (.xsapp e .xsaccess) são de preenchimento obrigatório e descrever o quadro em que um SAP HANA aplicação XS é executado. O .xsapp arquivo indica o ponto de raiz na hierarquia de pacotes em que o conteúdo é para ser servido às solicitações do cliente; o.xsaccess arquivo define quem tem acesso ao conteúdo exposto e como.

NotaPor padrão, o Assistente de criação de projeto cria os descritores de aplicação automaticamente. Se eles não estiverem presentes, você vai ver uma mensagem de erro 404 no navegador da Web quando você chamar o serviço XS JavaScript.

Se você precisa criar os descritores do aplicativo manualmente, execute os seguintes passos: 1. Adicionar um arquivo em branco chamado .xsapp (nenhum nome, apenas uma extensão de arquivo) para o pacote raiz do seu aplicativo XS JavaScript. Para adicionar um .xsapp arquivo, clique direito do mouse no projeto ao qual você deseja adicionar o novo arquivo, selecione Novo Outro SAP HANA Application Development XS Aplicação Arquivo Descritor a partir do menu pop-up sensível ao contexto e escolha Avançar.

DicaSe você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária automaticamente. 2.

Adicionar um arquivo chamado .xsaccess (nenhum nome, apenas uma extensão de arquivo) para o pacote raiz do seu aplicativo XS JavaScript, e copie o seguinte código para o novo .xsaccessarquivo: Para adicionar um .xsaccess manualmente, clique direito do mouse no projeto ao qual você deseja adicionar o arquivo, selecione Novo Outro SAP HANA Application Development XS Arquivo de acesso às aplicações a partir do menu pop-up sensível ao contexto e escolha Avançar.

DicaSe você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente, fornece um modelo de trabalho, e, se for caso disso, permite a edição direta do arquivo. { "exposta": true, "Autenticação": [ {"Método": "Form"} ], "prevent_xsrf": true } Este código expõe o conteúdo do aplicativo via HTTP, especifica logon baseado em formulário, como o método de autenticação padrão para o correspondente SAP HANA aplicação, e ajuda a proteger o seu aplicativo de cross-site request forgery-ataques (XSRF). DicaVocê define o método de autenticação de utilizador para um SAP HANA aplicativo na configuração de tempo de execução do aplicativo, por exemplo, usando o SAP HANA XS Administration Tool.Para os fins deste tutorial, você não precisa de alterar a configuração de tempo de execução. 9.

Ative os novos arquivos no SAP HANA repositório. Ativação de um arquivo torna o arquivo disponível para outros membros do projeto. Botão direito do mouse os novos arquivos (ou a pasta / pacote que contém os arquivos) e selecione Equipe Ativar a partir do menu pop-up sensível ao contexto.

A operação ativar publica seu trabalho e cria os correspondentes objetos do catálogo; agora você pode testá-lo.

Resultados Para acessar o aplicativo JavaScript, abra um navegador da Web e digite o seguinte URL, substituindo<myServer> com o nome do servidor que hospeda o SAP HANA exemplo, e quando necessário, o caminho para o servidor-side JavaScript arquivo de origem: http: // <myServer>: 8000 / mycompany / MyOrg / testing / MyFirstSourceFile.xsjs NotaPara o acesso HTTP padrão, o número da porta é 80 <SAPHANA_ID>, Onde <SAPHANA_ID> é de dois dígitos que representam o seu SAP HANA número de instância. Por exemplo, se o SAP HANA instância é 00, então o número da porta para usar é8000. Se tudo funcionar como esperado, você deve ver o seguinte resultado:

Depois de fazer login com o seu SAP HANA nome de usuário e senha, a página a seguir devem ser exibidas:

Tutorial: recuperar dados de SAP HANA A etapa final da exibição de dados tutorial é extrair dados do banco de dados e exibi-lo em um navegador da Web.

Pré-requisitos    

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso ao SAP HANA estúdio O acesso ao projeto compartilhado no SAP HANA Repositório que contém os artefatos usados neste tutorial.

Contexto Para extrair dados do banco de dados, usamos o nosso código JavaScript para abrir uma conexão com o banco de dados e, em seguida, preparar e executar uma instrução SQL. Os resultados são adicionados à resposta que é exibido no navegador da Web. Você usar a seguinte instrução SQL para extrair dados do banco de dados: SELECT * FROM MANEQUIM A instrução SQL retorna uma linha com um campo chamado MANEQUIM, cujo valor é X.

Procedimento 1. 2. 3.

Abrir SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Na visualização Project Explorer, localizado no lado do servidor de arquivos JavaScriptMyFirstSourceFile.xsjs e abri-lo no editor de JavaScript embutido. 4. Em MyFirstSourceFile.xsjs, substitua o código existente com o código no exemplo a seguir. 5. $ .response.contentType = "text / html"; 6. saída var = "Olá, mundo!"; 7. 8. var conn = $ .db.getConnection (); 9. var pstmt = conn.prepareStatement ("SELECT * FROM MANEQUIM"); 10. rs = var pstmt.executeQuery (); 11. 12. if (! rs.next ()) { 13. $ .response.setBody ("Falha ao recuperar dados");

14. 15. 16.

$ .response.status = $ .net.http.INTERNAL_SERVER_ERROR; } outro { output = saída + "Esta é a resposta do meu SQL:" + rs.getString (1); 17. } 18. rs.Close (); 19. pstmt.close (); 20. conn.close (); 21. $ .response.setBody (saída); 22. Salve o arquivo MyFirstSourceFile.xsjs.

Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o Repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível. 23.

Ativar o arquivo MyFirstSourceFile.xsjs clicando com o botão direito no arquivo e escolha EquipeActivate.

Resultados No navegador, atualize a página. Se tudo funcionar como esperado, você deverá ver a seguinte página:

Tutorial: Use o SAP HANA OData interface O pacote que colocou em conjunto para testar o SAP HANA interface de OData inclui todos os artefatos que você precisa usar SAP HANA estendidos Application Services (SAP HANA XS) para expor uma coleção OData para análise e visualização por aplicativos cliente.

Pré-requisitos Uma vez que os artefatos necessários para obter uma simples aplicação OData em funcionamento são armazenadas no repositório, é assumido que você já realizou as seguintes tarefas:

  

Criar um espaço de trabalho de desenvolvimento no SAP HANA repositório Criar um projeto no espaço de trabalho Compartilhe o novo projeto

Contexto Para criar um aplicativo simples OData, execute os seguintes passos: DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos noSAP HANA Repository, o assistente de criação de arquivo acrescenta a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do arquivo no editor apropriado.

Procedimento 1.

Criar um pacote de raiz para o aplicativo OData, por exemplo, helloodata e salvar e ativá-lo no repositório. 1. Clique no conteúdo diretório com o botão alternativo do mouse e escolha New Package. 2. Insira as informações necessárias para o pacote na caixa de diálogo e escolha OK. ObservaçãoO namespace seiva é restrito. Coloque o novo pacote no seu próprio namespace, que você pode criar ao lado da seiva namespace.

2.

Criar um esquema, por exemplo, HELLO_ODATA.hdbschema. O esquema é necessário para a tabela que contém os dados a serem expostas pelo seu serviço Odata-definição. O esquema é definido em um arquivo simples com o arquivo de extensão .hdbschema que você salva no repositório e que você deve ativar.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo acrescenta a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do arquivo no editor apropriado. Digite o seguinte código no HELLO_ODATA.hdbschema arquivo: schema_name = "HELLO_ODATA"; 3.

Crie a tabela de banco de dados que contém os dados a ser exposto por sua definição de serviço OData, por exemplo, otable.hdbtable. No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo arquivo de definição de serviço OData e escolher New Outros SAP HANA Database Development Tabela de banco de dados no menu pop-up sensível ao contexto.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de

criação de arquivo acrescenta a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do arquivo no editor apropriado. Digite o seguinte código no otable.hdbtable arquivo:

NotaSe o editor sublinha as palavras-chaveanulável e Valor

padrão em

vermelho, você pode ignorar isso. table.schemaName = "HELLO_ODATA"; table.tableType = columnstore; table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 12; escala = 3;}]; table.primaryKey.pkcolumns = ["Col1", "Col2"]; 4.

Conceder privilégios SELECT para o proprietário do novo esquema. Após a ativação no repositório, o objeto de esquema só é visível no catálogo para o usuário _SYS_REPO.Para permitir que outros usuários, por exemplo, o proprietário do esquema, para ver o esquema recém-criado no SAP HANA do estúdio Modeler perspectiva, você deve conceder ao usuário o privilégio SELECT necessário. 1.

No SAP HANA estúdio Sistemas de vista, clique com o SAP HANA sistema que hospeda o repositório onde o esquema foi ativado e escolher SQL Console no menu pop-up sensível ao contexto. 2. No Console SQL, execute a instrução ilustrado no exemplo a seguir, onde <SCHEMANAME> é o nome do esquema recém-ativado, e <nome de usuário> é o ID do usuário do banco de dados do proprietário do esquema: chamar _SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT ('selecionar', '<SCHEMANAME>', '<nomedousuário>'); 5.

Criar um descritor do aplicativo para o seu novo aplicativo OData na raiz do seu pacote ODatahelloodata. A descrição do aplicativo (.xsapp) é o arquivo de núcleo que você usa para definir a disponibilidade de um aplicativo dentro do SAP HANA aplicação. O .xsapp arquivo define o ponto na estrutura de aplicativo de pacote a partir do qual conteúdo será servido para os clientes solicitantes.

NotaO processo de requerimento-descritor não tem nenhum conteúdo e nenhum nome; ele só tem a extensão.xsapp. As extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo acrescenta a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do arquivo no editor apropriado.

1.

No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo descritor do aplicativo e escolha Nova Outro SAP HANA Application Development Arquivo Descritor XS aplicativo no menu popup sensível ao contexto. 2. Salvar e ativar o arquivo de aplicativo de descritor no repositório. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível. 6.

Criar um arquivo de acesso do aplicativo para seu novo aplicativo OData e colocá-lo na raiz do seu pacote OData helloodata. O arquivo de acesso aplicativo permite que você especifique quem ou o que está autorizado a acessar o conteúdo exposto pelo aplicativo.

NotaO arquivo de acesso aplicação não tem nome; ele só tem a extensão .xsaccess. As extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo acrescenta a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do arquivo no editor apropriado. 1.

No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo descritor do aplicativo e escolha Nova Outro SAP HANA Application Development Arquivo de Acesso XS aplicativo no menu popup sensível ao contexto. 2. Digite o seguinte conteúdo no .xsaccess arquivo para o seu novo aplicativo OData: 3. { 4. "exposta": true, 5. "prevent_xsrf": true }

NotaÉ altamente recomendável para usar sempre a prevent_xsrf palavrachave para ajudar a proteger seu aplicativo contra ataques que usam crosssite request forgery.

6.

Salvar e ativar o arquivo de acesso aplicação no repositório. 7. Crie um arquivo de definição de serviço OData e colocá-lo na raiz do seu pacote OData helloodata. O arquivo de definição de serviço OData tem a extensão de arquivo .xsodata, por exemplo,hello.xsodata e deve estar localizado no pacote raiz do aplicativo OData:

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo acrescenta a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do arquivo no editor apropriado.

1.

No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo descritor do aplicativo e escolha Nova Outro SAP HANA Application Development Arquivo XS OData no menu pop-up sensível ao contexto. 2. Digite o seguinte conteúdo no hello.xsodata arquivo de definição de serviço OData: 3. serviço { 4. "helloodata otable ::"; } 5.

Salvar e ativar o arquivo de definição de serviço OData no repositório. 8. Teste o novo serviço OData. Abra um navegador e digite a seguinte URL.

NotaSe você estiver usando o Internet Explorer, pressione F12 e definir o modo de compatibilidade = IE10 emodo de documento = Standards. http: // : 80 /helloodata/hello.xsodata/otable

DicaVocê também pode executar o serviço diretamente do Project Explorer vista onde você ativou; botão direito do mouse o objeto na visualização Project Explorer e escolheu Executar como ... no menu pop-up sensível ao contexto.

Configurando o Aplicativo Em SAP HANA estendidos Application Services (SAP HANA XS), os artefatos de tempo de design que compõem sua aplicação são armazenados no repositório como arquivos em um sistema de arquivos. Primeiro você escolher uma pasta raiz para as suas actividades de desenvolvimento de aplicações, e dentro desta pasta que você criar subpastas adicionais para organizar as aplicações e o conteúdo do aplicativo de acordo com suas próprias necessidades. NotaPara as últimas informações sobre a disponibilidade de recursos para SAP HANA extendida Application Services (SAP HANA XS) e ferramentas de desenvolvimento relacionados, consulte 1779803. Como parte do processo de desenvolvimento de aplicações, você normalmente precisa executar as tarefas descritas na lista a seguir. Cada uma das tarefas de forma mais detalhada está descrita em sua própria seção:

Tabela 1: Etapas para instalação de aplicativos Pass o 1

Açao

Notas

Verifique funções Antes de começar a desenvolver aplicações usando as características e ferramentas fornecidas pelo SAP HANAXS, os desenvolvedores que desejam e permissões criar aplicativos para rodar em SAP HANA XS precisam ser concedido o acesso a ferramentas de desenvolvimento, o SAP HANAsistemas, contas de banco de dados, e assim por diante. Configurar unidades de prestação de

Para criar e gerenciar as unidades de prestação, por exemplo, usando o SAP Application Lifecycle ManagementHANA, você deve definir a identidade do

Configurar um SAP HANA projeto

Em SAP HANA, projetos permitem que você agrupar todos os artefatos que

4

Manter pacotes do repositório

Para executar as tarefas de alto nível que normalmente ocorrem durante o processo de manutenção de pacotes do repositório, você precisa estar familiarizado com os conceitos de pacotes e hierarquias de pacote, que você usa para gerenciar os artefatos em seus aplicativos.

5

Manter descritores de aplicação

O quadro definido pelos descritores de aplicação inclui o ponto de raiz na hierarquia de pacotes em que o conteúdo é para ser servido às solicitações do cliente; ele também define se o aplicativo tem permissão para expor dados às solicitações do cliente e que tipo de acesso aos dados é permitido.

6

Manter a segurança do aplicativo

Como parte do processo de desenvolvimento de aplicações, você deve decidir como conceder acesso aos aplicativos que você desenvolve.Por exemplo, você deve especificar quais (se houver) método de autenticação é usado para conceder acesso ao conteúdo exposto por um aplicativo, e qual o conteúdo é visível.

2

3

fornecedor com quem as unidades de prestação estão associados. Para evitar conflitos com as aplicações da SAP ou outros provedores, recomendamos que você use o nome DNS de sua empresa como o nome da sua pasta de aplicativos de desenvolvimento de raiz, por exemplo,com.acme.

precisa para uma parte específica do ambiente de desenvolvimento de aplicações. Para criar um projeto, você deve primeiro criar um espaço de trabalho do repositório, uma estrutura de diretório para armazenar arquivos em seu PC.

Informação relacionada Funções e permissões A manutenção de unidades de prestação de Usando SAP HANA Projetos Manutenção de Pacotes de repositório Criando os descritores de aplicação

Configure a segurança de aplicativos

Funções e permissões Para habilitar aplicativos de desenvolvedores para começar a construir aplicações nativas que tiram proveito doSAP HANA estendidos Application Services (SAP HANA XS), a SAP HANA administrador deve garantir que os desenvolvedores tenham acesso às ferramentas e objetos que eles precisam para executar as tarefas exigidas durante o processo de desenvolvimento de aplicações. Antes de começar a desenvolver aplicações usando as características e ferramentas fornecidas pelo SAP HANAXS, tenha em mente os seguintes pré-requisitos. Os desenvolvedores que desejam criar aplicativos para rodar emSAP HANA XS precisa das seguintes ferramentas, contas e privilégios: NotaOs seguintes privilégios só pode ser concedido por alguém que tem as autorizações necessárias em SAPHANA, por exemplo, um SAP HANA administrador.   

O acesso a um corredor SAP HANA sistema de desenvolvimento (com SAP HANA XS) Uma conta de usuário válida no SAP HANA banco de dados em que o sistema O acesso a ferramentas de desenvolvimento, por exemplo, fornecida em: o SAP HANA estúdio o SAP HANA baseado na Web Development Workbench

 

O acesso ao SAP HANA repositório Acesso ao catálogo selecionados objetos de tempo de execução ObservaçãoPara fornecer acesso ao repositório para desenvolvedores de aplicativos, você pode usar um papel pré-definido ou crie o seu próprio papel personalizado ao qual atribui os privilégios que os desenvolvedores de aplicativos precisam para executar as tarefas diárias associadas com o processo de desenvolvimento de aplicações.

Para fornecer acesso ao repositório do SAP HANA estúdio, o privilégio EXECUTE é necessário para SYS.REPOSITORY_REST, o procedimento através do banco de dados com a API REST é encapsulado. Para habilitar a ativação e dados de visualização de pontos de vista de informação, o usuário _SYS_REPO técnica também requer o privilégio SELECT em todas as tabelas de origem esquemas onde residem. Em SAP HANA, você pode usar funções para atribuir um ou mais privilégios para um usuário de acordo com a área em que o usuário trabalha; o papel define os privilégios que o usuário é concedido. Por exemplo, um papel permite atribuir privilégios de SQL, privilégios analíticas, privilégios de sistema, privilégios de pacotes, e assim por diante. Para criar e manter artefatos no SAP HANA repositório, você pode atribuir usuários aplicação para o desenvolvimento das seguintes funções:  Um dos seguintes: o MODELAGEM O papel MODELAGEM predefinida atribui privilégios de SQL de grande alcance, por exemplo, em _SYS_BI e _SYS_BIC. Ele também atribui o _SYS_BI_CP_ALL privilégio analítico, e alguns privilégios de sistema. Se essas

o

permissões são mais do que sua equipe de desenvolvimento requer, você pode criar seu próprio papel com um conjunto de privilégios concebidos para satisfazer as necessidades da equipe de desenvolvimento de aplicações. Papel de desenvolvimento personalizado

Um usuário com a autorização apropriada pode criar um papel de desenvolvimento personalizado especialmente para desenvolvedores de aplicativos. O novo papel deve especificar apenas os privilégios de um aplicativo de desenvolvedor precisa para executar as tarefas diárias associadas com o desenvolvimento de aplicações, por exemplo: manutenção de pacotes no repositório, executar instruções SQL, exibindo previews de dados para pontos de vista, e assim por diante.  PÚBLICO Este é um papel que é atribuído a todos os usuários por padrão. Antes de começar a usar o SAP HANA Development Workbench baseado na Web, o SAP HANA administrador deve configurar uma conta de usuário para você no banco de dados e atribuir as funções de desenvolvedor necessários para a nova conta de usuário. DicaOs papéis sap.hana.xs.ide.roles :: desenvolvedor concede os privilégios necessários para utilizar todas as ferramentas incluídas no Desenvolvimento Workbench baseado na Web SAP HANA. No entanto, para permitir que um desenvolvedor usar os recursos de depuração do IDE baseado em browser, o administrador também deve atribuir a função sap.hana.xs.debugger :: Debugger. Além disso, a secção depurador com o parâmetroactivado e o valor verdadeiro deve ser adicionado ao ficheiro xsengine.ini arquivo, por exemplo, na SAP HANA estúdio Administração perspectiva.

Informação relacionada Criar um Design-Time Papel Atribuir Privilégios repositório de pacotes SAP HANA com base na Web Development Workbench

A manutenção de unidades de prestação de Uma unidade de entrega (DU) é um conjunto de pacotes que estão a ser transportados juntos. Você atribui todos os pacotes pertencentes ao seu aplicativo para o mesmo DU para garantir que eles são transportados de forma consistente junto dentro de sua estrutura de sistemas. Cada DU tem uma identidade única.

Pré-requisitos Para manter as unidades de prestação com o SAP HANA Application Lifecycle Management, você deve garantir os seguintes pré-requisitos sejam atendidos:   

Você tem acesso a um SAP HANA sistema. Você foi designado a SAP HANA sap.hana.xs.lm.roles :: Administrador função do usuário. A identificação do fornecedor (namespace repositório) já está definido.

Contexto A identidade de uma unidade de entrega é constituído por duas partes: um nome do fornecedor e um nome de entrega-unidade. O ID combinado garante que as unidades de prestação de diferentes fornecedores são fáceis de distinguir e segue um padrão que usa SAP para todos os tipos de componentes de software. Para criar e gerenciar as unidades de prestação primeiro você precisa para manter a identidade do fornecedor, com quem as unidades de prestação estão associados, e em cujo namespace os pacotes que compõem a unidade de entrega são armazenados. Como parte do processo de manutenção ID do fornecedor, você deve executar as seguintes tarefas:

Procedimento 1.

Compreender unidades de prestação. Você deve estar familiarizado com as convenções existentes para nomes entrega unidades e compreender as fases do ciclo de vida da entrega de unidades.

2.

Manter detalhes da identificação do fornecedor associado com uma unidade de entrega. Unidades de prestação estão localizados no namespace associado com o vendedor que os cria e gerencia o ciclo de vida de entrega a unidade.

3.

Criar uma unidade de entrega. Criar um transportável "container" para manter os pacotes do repositório na aplicação.

4.

Atribuir pacotes para uma unidade de entrega. Adicionar a uma unidade de entrega dos pacotes do repositório que compõem sua aplicação.

5.

Exportar uma unidade de entrega. Você pode exportar o conteúdo de uma unidade de entrega do SAP HANA repositório para um arquivo compactado, o que você pode fazer o download de um sistema de arquivos do cliente.

6.

Importar uma unidade de entrega.

Você pode importar o conteúdo de uma unidade de entrega para o SAP HANA Repository, por exemplo, a partir de um arquivo compactado, o que você faz o upload de um sistema de arquivos do cliente.

Informação relacionada SAP HANA Gestão Application Lifecycle Manter a entrega-Unit Vendor ID Criar uma Unidade de Entrega Exportar uma Unidade de Entrega Importar uma Unidade de Entrega

Manter a entrega-Unit Vendor ID Em SAP HANA, a identificação do fornecedor é usada principalmente para definir a identidade da empresa que desenvolve um componente de software que planeja enviar para uso com o SAP HANA, por exemplo, "sap.com".Para criar uma unidade de entrega, é um pré-requisito para manter uma ID do fornecedor em seu sistema.

Pré-requisitos Para definir a identificação do fornecedor, você deve garantir os seguintes prérequisitos sejam atendidos:  

Você tem acesso a um SAP HANA sistema. Você foi designado a SAP HANA XS sap.hana.xs.lm.roles :: Administrador função do usuário.

Contexto Antes de criar a sua própria unidade de primeira entrega, você deve definir a identidade do fornecedor na configuração do sistema de desenvolvimento. Para manter os detalhes da entrega unidade ID do fornecedor, execute os seguintes passos:

Procedimento 1.

Comece o SAP HANA Application Lifecycle Management. O SAP HANA Application Lifecycle Management está disponível no SAP HANA servidor Web XS no seguinte URL: http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / xs / lm

ObservaçãoPara iniciar o SAP HANA Application Lifecycle Management, você deve usar as credenciais de logon do usuário de um banco de dados existente, que tem a função de usuário apropriada atribuído. 2. 3.

Escolha o AJUSTES guia. Manter detalhes do ID do fornecedor. No DEFINIÇÕES guia, execute os seguintes passos: 1. 2.

Escolha alteração de fornecedor. No Vendor Set de diálogo, digite o nome do novo fornecedor, por exemplo, mycompany.com.

3.

Escolha OK para salvar as alterações. O novo ID do fornecedor aparece no Vendor caixa.

NotaO ID do fornecedor é obrigado a criar uma unidade de entrega.

Informação relacionada SAP HANA Gestão Application Lifecycle

Criar uma Unidade de Entrega A unidade de entrega (DU) é um grupo de pacotes transportáveis que contêm objetos utilizados para a entrega de conteúdo. Você pode usar o SAP HANA Application Lifecycle Management para criar um DU para o seu conteúdo do aplicativo ou a sua componente de software.

Pré-requisitos Para criar uma unidade de entrega com o SAP HANA Application Lifecycle Management, você deve garantir os seguintes pré-requisitos sejam atendidos:  

Você tem acesso a um SAP HANA sistema. Você foi concedido o SAP HANA sap.hana.xs.lm.roles :: Administrador função do usuário.



O ID do fornecedor é definido para o DU; a identificação do fornecedor define o namespace do repositório em que o novo DU reside.

Contexto Você usa um DU para transportar os objetos de tempo de design que são armazenados no SAP HANA repositório entre dois sistemas, por exemplo, de um sistema de desenvolvimento de um sistema de consolidação. Para criar uma nova unidade de entrega usando o SAP HANA Application Lifecycle Management, execute os seguintes passos.

Procedimento 1.

Abrir HANA SAP Application Lifecycle Management. HANA SAP Application Lifecycle Management está disponível no SAP HANA servidor Web XS no seguinte URL: http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / xs / lm

2. 3. 4.

Escolha o PRODUCTS guia. Escolha a unidades de prestação de guia. Escolha Criar. A nova unidade de entrega caixa de diálogo aparece.

5.

Digite os detalhes para o novo DU. Ao entrar em detalhes, observe os seguintes pontos: 





Nome O campo é obrigatório e você deve seguir as convenções de nomeação rigorosos, por exemplo, usar letras maiúsculas. Fornecedor Este campo é obrigatório. No entanto, você não pode entrar aqui um fornecedor; a caixa é preenchida pelo valor que você insere na definição do fornecedor no DEFINIÇÕES guia. Versão Os números de versão deve assumir a forma "# # #..", Por exemplo, 1.0.5, onde: o o o

1 = o número da versão DU 0 = a versão do pacote de apoio (se necessário) 5 = a versão do patch (se necessário)

NotaOs números inseridos aqui se referem ao componente de aplicação que você está desenvolvendo;os números não se referem ao nível de patch ou service pack implantado no SAP HANA servidor.

6.

Escolha Criar. A nova unidade de entrega é adicionada ao SAP HANA repositório no espaço de nomes especificado pelo ID do fornecedor e o caminho do aplicativo.

7.

Verifique a barra de status na parte inferior da janela do navegador para mensagens de erro. Escolha a relação da mensagem para exibir o texto da mensagem.

Resultados Você criou uma unidade de entrega.

Informação relacionada SAP HANA Gestão Application Lifecycle SAP HANA Gestão Application Lifecycle Configurando SAP HANA Mudança de gravação SAP HANA Mudança de gravação

Convenções de nomeação do SAP HANA Unidade de Entrega A unidade de distribuição (DU) é o veículo que SAP HANA Application Lifecycle Management usa para transportar componentes de software da SAP (ou um parceiro) a um cliente. O DU também é o recipiente que você usa para transportar o conteúdo do aplicativo em sua paisagem sistema. Em SAP HANA, o nome de um DU devem aderir às convenções e diretrizes. Se você criar uma unidade de entrega, o nome da nova unidade de entrega devem aderir às seguintes convenções  Um nome entrega-unidade deve conter apenas letras maiúsculas (AZ), números (0-9) e sublinhados (_).  O nome deve começar com uma letra.  O comprimento máximo de um nome de entrega-unidade não deve exceder 30 caracteres NotaAs convenções de nomenclatura para pacotes de uma unidade de entrega diferem das convenções de nomenclatura que se aplicam à própria unidade de entrega. Por exemplo, o comprimento máximo de um nome de pacote não é restrito a 30 caracteres; No entanto, deve ser menos do que 190 caracteres (incluindo a hierarquia de espaço para nome).

Usando SAP HANA Projetos Projetos agrupar todos os artefatos que precisa para uma parte específica do ambiente de desenvolvimento de aplicações.

Contexto Antes de começar o fluxo de trabalho de desenvolvimento de aplicativo, você deve criar um projeto, que você usa para agrupar todos os seus artefatos relacionados ao aplicativo. No entanto, um projeto requer um espaço de trabalho do repositório, o que lhe permite sincronizar as alterações em arquivos locais com as mudanças no repositório. Você pode criar o espaço de trabalho antes ou durante a etapa de criação de projeto. Como parte do processo de criação de projeto, você executará as seguintes tarefas:

Procedimento 1.

Criar um espaço de trabalho de desenvolvimento. A área de trabalho é o elo entre o SAP HANA repositório e seu sistema de arquivos local, onde você trabalha em objetos relacionados ao projeto.

2.

Criar um projeto. Crie um novo projeto para uma aplicação ou pacote particular; você pode usar o projeto para recolher em um lugar conveniente todos os seus artefatos relacionados ao aplicativo.

3.

Compartilhe um projeto. Partilha de um projecto permite garantir que as alterações feitas arquivos relacionados ao projeto de são visíveis para outros membros da equipe e aplicações. Projetos compartilhados estão disponíveis para importação por outros membros da equipe de desenvolvimento de aplicações.

NotaArquivos de check-out do repositório não é fechado; conflitos resultantes de alterações simultâneas para o mesmo arquivo deve ser resolvido manualmente, usando os Mesclar ferramentas fornecidas no sensível ao contexto Equipe menu. 4.

Importar um projeto. Importar um projeto (e seus artefatos associados), que foi compartilhada por outro membro da equipe de desenvolvimento de aplicações.

Informação relacionada Manter um Espaço de Trabalho do Repositório Criar um projeto para SAP HANA XS Compartilhar um SAP HANA Projeto XS Importar um SAP HANA Projeto XS

Manter um Espaço de Trabalho do Repositório Um espaço de trabalho é um diretório local que você mapear para todos (ou parte) de uma hierarquia pacote noSAP HANA repositório. Quando você vá para um pacote a partir do repositório, o SAP HANA copia o conteúdo da hierarquia pacote para o seu espaço de trabalho, onde você pode trabalhar nos arquivos.

Contexto Antes que você possa começar a trabalhar no desenvolvimento do aplicativo, você precisa configurar um espaço de trabalho, onde você armazena cópias check-out de arquivos de código-fonte do seu aplicativo. Para garantir que apenas o proprietário dos dados pode acessar os dados armazenados em um espaço de trabalho, uma área de trabalho devem ser criados no diretório home do proprietário. Além disso, é recomendado que os usuários criptografar os dados em seus discos rígidos utilizando uma ferramenta de criptografia. Para criar um novo espaço de trabalho no SAP HANA estúdio, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Abra o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Escolha o Repositories vista. Escolha Criar Espaço de Trabalho ... O ... Criar Workspace botão está localizado no canto superior direito da Repositórios vista.

5.

Especifique os detalhes do espaço de trabalho. No Criar Novo Repositório Workspace diálogo, digite as informações a seguir e escolha Finish: 1. Especifique o SAP HANA sistema, para o qual você deseja criar um novo espaço de trabalho. 2. Digite um nome de espaço de trabalho, por exemplo, o nome do SAP HANA sistema onde o repositório está localizado. Para evitar o risco de confusão, recomenda-se associar um espaço de trabalho com um repositório. 3. Especifique onde o diretório raiz espaço de trabalho deve estar localizado em seu sistema de arquivos local, por exemplo: C: \ Users \ username \ espaços de trabalho O novo espaço de trabalho é exibido no Repositórios vista.

NotaEmbora os pacotes e objetos no repositório escolhido são visíveis no Repositórios vista, você não pode abrir ou trabalhar sobre os objetos

aqui. Para trabalhar em objetos, você deve criar um projeto e usar oProject Explorer vista. O Repositórios vista exibe o status de um espaço de trabalho como segue:

Tabela 1: UI Ícone

6.

Explicação

Ícone amarelo do banco

Um espaço de trabalho inativa existe no repositório SAP HANA

Ícone amarelo do banco com uma marca de verificação azul

Um espaço de trabalho inativa foi importado para o sistema de arquivos local (e os conteúdos check-out a partir do repositório SAP HANA)

Retirar um espaço de trabalho do repositório. Se for necessário remover um espaço de trabalho, você pode escolher entre várias opções de exclusão; a opção que você escolher determina o que é removido, de onde (sistema de arquivos local ou repositório remoto), e que, se alguma coisa, é mantido. 1. 2.

Abra o SAP HANA Desenvolvimento perspectiva. Escolha o Repositories vista e expanda o nó repositório que contém o espaço de trabalho que você deseja remover. 3. Direito do mouse no espaço de trabalho que você deseja remover. 4. Escolha o modo de área de trabalho-exclusão. Os seguintes modos se aplicam quando você excluir um espaço de trabalho no SAP HANA estúdio:

Tabela 2: Modos de exclusão Workspace Modo Eliminação Workspace

Descrição

Excluir

Remover espaço de trabalho; apagar todos os arquivos locais relacionados com o espaço de trabalho; excluir alterações relacionadas aos dados remoto (repositório).

Retire do cliente (manter as alterações remotas)

Remover espaço de trabalho do sistema do cliente local; apagar todos os arquivos relacionados com o espaço de trabalho local; reter as alterações aos dados remoto (repositório).

Desconecte local a partir remoto (manter as alterações)

Mantenha a área de trabalho, mas remover a etiqueta espaço de trabalho a partir da lista de espaços de trabalho exibidos na Repositóriosvista. A conexão com o espaço de trabalho desconectado pode ser restabelecida a qualquer momento com a opção de importação locais do repositório Workspaces.

SAP HANA Repository Workspaces O lugar onde você trabalha em objetos relacionados ao projeto é chamado de repositório espaço de trabalho. Um espaço de trabalho é um ambiente que mapeia um diretório local para todos (ou parte) de uma hierarquia pacote noSAP HANA repositório. Em SAP HANA estúdio, as ferramentas de repositório que você possa navegar pela hierarquia de objetos de tempo de design armazenados no repositório. No entanto, quando você verificar um pacote para fora do repositório, o SAP HANA copia o conteúdo da hierarquia pacote para o seu espaço de trabalho, onde você pode trabalhar nos arquivos em seu sistema de arquivos local. NotaAntes de criar um espaço de trabalho você deve manter as informações de conexão no SAP HANA armazenamento de usuário de banco de dados. Para iniciar o trabalho de desenvolvimento com o SAP HANA estúdio, por exemplo, para a verificação do conteúdo de um pacote, você deve criar um repositório de espaço de trabalho. A área de trabalho contém uma pasta com sistema de metadados e pastas para o pacote de conteúdo do repositório. As pastas de sistema de arquivos e suas subpastas refletir a hierarquia de pacotes do repositório; o cliente repositório garante que as alterações são sincronizadas. No estúdio SAP HANA, os Repositórios visualizar exibe o status de um espaço de trabalho como segue:  Ícone amarelo do banco Um espaço de trabalho inativa existe no repositório SAP HANA  Ícone amarelo do banco com uma marca de verificação azul Um espaço de trabalho inativa foi importado para o sistema de arquivos local (e os conteúdos check-out a partir do repositório SAP HANA)

Criar um projeto para SAP HANA XS Antes de começar o fluxo de trabalho de desenvolvimento de aplicativo, você deve criar um projeto, que você usa para agrupar todos os seus artefatos relacionados ao aplicativo.

Contexto Projetos agrupar todos os artefatos que você precisa para uma parte específica do seu ambiente de desenvolvimento de aplicações. Um projeto básico contém pastas e arquivos. Projetos mais avançados são utilizados para construções, gerenciamento de versão, compartilhamento e organização e manutenção dos recursos.

Para criar um novo projeto no estúdio SAP HANA, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Abra o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Escolha o Project Explorer vista. Escolha Arquivo New Project ... ou clique direito do mouse no espaço em branco no Project Explorerjanela e escolha New> Project ... no menu pop-up. O tipo de projeto que você criar determina os detalhes que você tem para oferecer no New Project wizard que aparece. Escolha SAP HANA Application Development XS Projeto. 1. 













Insira os seguintes detalhes sobre o novo projeto XS: Projeto compartilhado Esta é a configuração padrão. Partilha de um projecto permite a sincronização contínua entre a área de trabalho do sistema local de arquivo eo SAP HANA repositório. Se você optar por não compartilhar o projeto neste ponto, você pode compartilhar o novo projeto manualmente mais tarde. Nome do Projeto Digite um nome de projeto que descreve o que o projeto é de cerca de, por exemplo:XS_JavaScript ou XS_SAPUI5. Uma vez que um nome de projeto deve ser exclusivo dentro do mesmo espaço de trabalho Eclipse, recomenda-se usar o nome do pacote totalmente qualificado como o nome do projeto. Local do Projeto Você pode salvar o projeto no local padrão, que é o SAP HANA estúdio (Repositório) espaço de trabalho. Para salvar o projeto em um local alternativo a partir do padrão recomendado, primeiro desativar a opção de projeto Partilhar no repositório SAP. Você pode compartilhar o novo projeto manualmente mais tarde. Partilha de um projecto permite a sincronização contínua com o SAP HANA repositório. Conjuntos de trabalho Um conjunto de trabalho é um conceito similar aos favoritos em um navegador da Web, que contêm os objetos que trabalham em mais frequência. Espaço de trabalho do repositório e pacote Para um projeto compartilhado, você pode definir o local do projeto, selecionando uma área de trabalho e repositório de pacotes. Objetos comuns Para um projeto compartilhado, você pode incluir alguns objetos comumente utilizados em seu projeto. Algumas delas irá lhe fornecer um modelo básico para começar. Objetos de acesso

Para um projeto compartilhado, os objetos de acesso são verificados por padrão. No entanto, se qualquer um .xsaccess arquivo ou um .xsapp arquivo já existe na pasta que você escolheu para criar o novo projeto, a opção correspondente é automaticamente desmarcada e acinzentada. 2. Clique em Concluir para criar o novo projeto. Todos os objetos incluídos são ativados automaticamente quando o projeto é criado. O novo projeto é exibido no Project Explorer vista.

Nota 1.

Se houver um erro durante a activação de um dos objectos do projecto, nenhum dos objectos serão automaticamente activado. Você pode corrigir manualmente o erro e, em seguida, ativar manualmente os objetos. 2. O conteúdo do projecto dependem do tipo de projeto que você criar. Por exemplo, um projeto geral está vazio imediatamente após a criação; um projeto de JavaScript contém todos os arquivos de recursos associados a um projeto JavaScript, tais como bibliotecas e artefatos construir-ambiente.

Compartilhar um SAP HANA Projeto XS Antes que você possa começar a trabalhar em arquivos associados a um novo projeto, você deve compartilhar o projeto; partilha de um projecto permite rastrear e sincronizar as alterações locais com o repositório.

Contexto Quando você compartilhar um projeto, você configura uma conexão com o SAP HANA repositório associado a uma instância especial HANA SAP. Compartilhando o projeto permite que você para garantir que as alterações feitas arquivos relacionados ao projeto de são visíveis para outros membros da equipe e aplicações. Outros desenvolvedores podem importar um projeto compartilhado e trabalhar nos mesmos arquivos.

NotaUse o Project Explorer vista no SAP HANA estúdio para verificar se um projeto é compartilhado. Além do nome do projeto, um projeto compartilhado exibe o SAP HANA ID do sistema do repositório onde os artefatos compartilhados estão localizados, um SAP HANA nome de usuário, eo caminho para o pacote repositório para que o projeto compartilhado é atribuído, por exemplo. "XSJS_myproject [SID (dbusername, 'sap.hana.xs.app1')]. Para compartilhar um projeto no SAP HANA estúdio, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Abra o estúdio SAP HANA Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Compartilhar o projeto. Botão direito do mouse o projeto que você deseja compartilhar e escolha Equipe Share Project ... no menu pop-up.

5.

Selecione o repositório tipo. O Share Project diálogo exibe uma lista de todos os tipos de repositório disponíveis; escolher SAP HANA Repository e escolha Avançar.

6.

Selecione o espaço de trabalho do repositório onde o projeto deve ser localizado. 7. Especifique o pacote que você deseja associar o projeto compartilhado com. O Share Project diálogo exibe o local sugerido para o projeto compartilhado no local New Project área da tela. O local padrão é o nome do espaço de trabalho com o nome do projeto que você deseja compartilhar.Escolha Browse ... para localizar o pacote que você deseja associar o projeto compartilhado com. O pacote selecionado é exibida no caminho do pacote caixa de texto.

NotaA pasta do projeto Manter opção anexa o nome do projeto que você está compartilhando com o nome do espaço de trabalho em que você está compartilhando o projeto e cria um novo pacote com o nome do projeto compartilhado sob o local do espaço de trabalho apresentado. Utilize esta opção apenas se você quiser criar vários projetos para um pacote selecionado, por exemplo, se estiver a criar um projecto de raiz em seu pacote de aplicativos de raiz. 8. 9.

Clique em Concluir para concluir o processo de compartilhamento de projeto. Adicionar novos arquivos conforme necessário Neste ponto, você pode começar a adicionar arquivos específicos do projeto para o projeto compartilhado.Esses artefatos podem ser objecto de autorização para o repositório, onde residem objetos como inativos até que eles são ativados, por exemplo, utilizando a equipe Ativar opção nos menus disponíveis sensíveis ao contexto no Project Explorer vista.

ObservaçãoO Project Explorer vista decora os ícones de arquivo para indicar o estado atual dos arquivos do repositório, por exemplo: local (ainda não confirmada), comprometida (inativo) e ativa (disponível para uso por outros). 10.

Faça o projeto disponíveis para importação, por exemplo, para que outros possam se juntar a ele e fazer alterações ao conteúdo do projecto. O procedimento de partilha de projeto cria alguns artefatos (por exemplo, o .project arquivo) que deve estar comprometido com o repositório e ativado para que outros membros da equipe podem importar o projeto mais facilmente em seu espaço de trabalho. O .project arquivo é usado em várias caixas de diálogo para preencher a lista de projetos disponíveis.

NotaUse os repositórios ver a projetos de importação (e conteúdo do projeto check-out).

Informação relacionada Importar um SAP HANA Projeto XS

Importar um SAP HANA Projeto XS Antes de começar o fluxo de trabalho de desenvolvimento de aplicativo, você deve criar um novo projeto e compartilhá-lo (com o repositório), ou importar um projeto compartilhado a partir do repositório em seu espaço de trabalho. Importando um Projeto permite rastrear e sincronizar as alterações locais com os colegas de trabalho sobre os objetos no projeto importado.

Contexto Para importar um projeto existente a partir do repositório em sua área de trabalho, execute os seguintes passos.

Procedimento 1. 2. 3. 4.

Abra o SAP HANA estúdio Abra o SAP HANA Desenvolvimento perspectiva. Escolha o Repositories vista. Direito do mouse no pacote onde o projeto que deseja importar está localizado e escolher Checkout e importar projetos ... no menu pop-up. Os projectos podem ser atribuídos a um pacote, em qualquer nível da hierarquia de pacote. Se você sabe onde está localizado o projeto, navegue até o pacote primeiro antes de escolher o ... Caixa e importar projetos opção. Isto reduz a quantidade de arquivos para o checkout e fazer o download para o seu sistema de arquivos local.

NotaA existência de um .project arquivo em um pacote identifica o pacote como sendo associado com um projeto. O SAP HANA estúdio verifica o conteúdo do pacote selecionado e exibe todos os projetos que encontra naProjetos da área da tela. 5.

Selecione os projetos para importar. Se vários projetos estão disponíveis para importação, selecionar os projetos que você deseja importar.

6.

Escolha Concluir para importar os projetos selecionados. Você pode adicionar o projeto importado para seus conjuntos de trabalho.

NotaUm conjunto de trabalho é um conceito similar aos favoritos em um navegador da Web, que contêm os objetos que trabalham em mais frequência.

Manutenção de Pacotes de repositório Todo o conteúdo fornecido como parte do aplicativo que você desenvolver para SAP HANA é armazenado em pacotes no SAP HANA repositório. Os pacotes são organizados em uma hierarquia que você define para ajudar a tornar o processo de manter os pacotes transparente e lógica.

Contexto Para executar as tarefas de alto nível que normalmente ocorrem durante o processo de manutenção de pacotes do repositório, você precisa estar familiarizado com os conceitos de pacotes e hierarquias de pacote. Pacotes permitem agrupar os artefatos que você criar e manter para suas aplicações. Você também deve estar ciente dos privilégios dos desenvolvedores de aplicativos exigem acessar (e executar operações em) os pacotes. NotaVocê também pode criar e excluir pacotes no Project Explorer, por exemplo, criar ou excluir pastas em projetos compartilhados e comprometendo e ativar essas mudanças. No entanto, para manter as propriedades do pacote avançadas (por exemplo, os privilégios, componente, o mantenedor do pacote e assim por diante), você deve usar a Modelagem perspectiva no SAP HANA estúdio. Como parte do processo de manutenção de seus pacotes de aplicativos, você normalmente realizar as seguintes tarefas:

Procedimento 1.

Definir a hierarquia pacote A hierarquia pacote é essencial para facilitar a manutenção, bem como a configuração de acesso a pacotes e os privilégios que são necessários para executar ações sobre os pacotes.

2.

Definir privilégios de pacote Você pode definir as autorizações de pacotes para um usuário específico ou para um papel. Autorizações que são atribuídas a um pacote de repositório são implicitamente atribuído a todas as sub-pacotes também.

3.

Criar um pacote Os pacotes são necessários para agrupar artefatos logicamente distintas juntos em um único local objeto que é fácil de transportar.

Informação relacionada Criando um pacote Definir a hierarquia de pacotes Definindo Privilégios do Pacote

Definir a hierarquia Package Repository Pacotes pertencentes a uma unidade de entrega de aplicativos, desenvolvimento (DU) devem ser organizados em uma estrutura hierárquica clara sob um único pacote raiz representando o fornecedor, por exemplo, com.acme.

Contexto A hierarquia pacote para um novo projeto pode incluir sub-pacotes, por exemplo, para isolar o modelo de dados da lógica de negócios. Embora não existam interfaces de pacote para reforçar a visibilidade de objetos em pacotes, essa separação de camadas lógicas de desenvolvimento ainda é uma prática recomendada.

NotaVocê só pode atribuir um projeto por pacote; isso é importante para se lembrar se você tem uma mistura de objetos de tempo de design que precisam ser usado em vários projetos, por exemplo: server-side JavaScript (XSJS), SAPUI5, e um projeto geral (para os procedimentos). O seguinte exemplo simples mostra uma estrutura de embalagem contendo cursos para o uso de uma nova aplicação:

com \ acme \ hana \ app1 \ docs \ tutoriais 

Hierarquia pacote

Cada fornecedor usa um namespace dedicado, por exemplo, com.acme.

NotaNão utilize o namespace SAP para construir a sua hierarquia de aplicação. O namespace seiva é reservado para uso pela SAP; pacotes criados no seiva namespace são substituídas por atualizações do sistema. 

Tipo de pacote Alguns pacotes contêm conteúdo; outros pacotes contêm somente outros (sub) pacotes. Os pacotes também podem conter os dois objetos e (sub) pacotes.  Convenções de nomenclatura do pacote Existem recomendações e restrições em matéria de nomes de pacotes. Para configurar uma hierarquia de pacotes no repositório SAP HANA, execute os seguintes passos:

Procedimento 1.

Criar um novo pacote de raiz. Abra o SAP HANA Desenvolvimento perspectiva, escolha a Sistemas de vista, e execute os seguintes passos: 1.

Selecione o SAP HANA sistema onde você deseja criar um novo pacote e expandir o conteúdo do nó para exibir a hierarquia de espaço para nome para o conteúdo do pacote. 2. Escolha Novo> Pacote. 2. Manter os detalhes do pacote. No Criar pacote de diálogo, execute os seguintes passos: 1.

Digite o nome do pacote (obrigatório). Diretrizes e convenções se aplicam ao pacote nomes.

2. 3.

Digite uma descrição do pacote (opcional). Especifique a unidade de entrega que o pacote é atribuído a. Você pode adicionar pacotes adicionais a uma unidade de entrega em um ponto posterior no tempo, também.

4. 5.

Especifique um idioma para o conteúdo do pacote. Atribuir a responsabilidade do pacote a um usuário específico (opcional). Por padrão, o usuário responsável por um novo pacote é o usuário do banco de dados conectado aoSAP HANA repositório no atual SAP HANA sessão de estúdio.

6.

Manter detalhes tradução. Se você pretende ter o conteúdo traduzido, você precisa manter os detalhes de tradução; este é coberto em outro tópico.

7. 3.

Escolha OK para salvar as alterações e criar o novo pacote. Crie um novo subpacote.

Na Sistemas de vista do SAP HANA Desenvolvimento perspectiva, execute os seguintes passos: 1.

Direito do mouse no pacote ao qual você deseja adicionar um novo subpacote. 2. No menu pop-up, escolha Novo> Pacote ... 4. Manter os detalhes subpackage. No Criar pacote de diálogo, execute os seguintes passos: 1.

2. 3.

Digite o nome do subpackage (obrigatório). Diretrizes e convenções se aplicam ao pacote nomes. Digite uma descrição para o novo subpacote (opcional). Especifique a unidade de entrega que a sub-embalagem é atribuído a. Você pode adicionar pacotes adicionais a uma unidade de entrega em um ponto posterior no tempo, também.

4. 5.

Especifique um idioma para o conteúdo subpackage. Atribuir a responsabilidade do subpackage a um usuário específico (opcional). Por padrão, o usuário responsável por um novo pacote é o usuário do banco de dados conectado aoSAP HANA repositório no atual SAP HANA sessão de estúdio.

6.

Manter detalhes tradução. Se você pretende ter o conteúdo traduzido, você precisa manter os detalhes de tradução; este é coberto em outro tópico.

7.

Escolha OK para salvar as alterações e criar o novo subpackage.

Informação relacionada Convenções de nomeação do SAP HANA Unidade de Entrega

Hierarquia Package Repository Uma hierarquia de pacotes pode incluir sub-pacotes, como por exemplo, para isolar o modelo de dados a partir da lógica de negócios. Você pode criar uma hierarquia de pacotes, por exemplo, através do estabelecimento de uma relação tipo pai-filho entre pacotes. A atribuição de pacotes para as unidades de prestação é independente da hierarquia de pacotes;pacotes de uma relação pai-filho pode pertencer a diferentes unidades de entrega. A SAP recomenda que você atribui a uma unidade de entrega específica todos os pacotes que fazem parte de um projeto específico ou área do projeto. A hierarquia pacote para um novo projeto inclui tipicamente sub-pacotes, por exemplo, para isolar o modelo de dados da lógica de negócios. Embora não existam interfaces de pacote para reforçar a visibilidade de objetos em pacotes, essa

separação de camadas lógicas de desenvolvimento ainda é uma prática recomendada.

NotaVocê só pode atribuir um projeto por pacote; isso é importante para se lembrar se você tem uma mistura de objetos de tempo de design que precisam ser usado em vários projetos, por exemplo: server-side JavaScript (XSJS), SAPUI5, e um projeto geral (para os procedimentos). O seguinte exemplo simples mostra uma estrutura de embalagem contendo cursos para o uso de uma nova aplicação: seiva \ hana \ app1 \ código povo docs \ tutoriais manuais Socorro Todo o conteúdo entregue pela SAP deve estar em um sub-pacote do "SAP". Parceiros e clientes deve escolher o seu próprio pacote de raiz para refletir seu próprio nome (por exemplo, o nome de domínio associado com a empresa) e não devem criar pacotes ou objetos no âmbito do pacote estrutural root "seiva". Esta regra garante que cliente- ou conteúdo criado pelo parceiro não vai ser substituído por uma atualização SAP ou patch. NotaSAP reserva-se o direito de entregar, sem alterações de notificação em pacotes e modelos abaixo do pacote estrutural root "seiva". Não existem mecanismos do sistema pela aplicação da hierarquia de pacotes. O pacote estrutural root "seiva" não está protegida automaticamente. No entanto, por padrão, você não pode alterar o conteúdo dos pacotes que não eram originários do sistema. Além disso, um conceito de autorização existe, o que lhe permite controlar quem pode mudar o que dentro de pacotes.

Pacotes de repositório SAP HANA e Namespaces Em SAP HANA, uma embalagem normalmente consiste de um conjunto de objectos de depósito, que podem ser transportados entre os sistemas. Vários pacotes podem ser combinados em uma unidade de entrega (DU).

Um SAP HANA pacote especifica um namespace em que existem os objetos de repositório. Cada objeto repositório é atribuído a um pacote, e cada embalagem deve ser atribuído a uma unidade de entrega específica. No repositório, cada objeto é identificado exclusivamente por uma combinação das seguintes informações:  Nome do pacote  Nome do objecto  Tipo de objeto NotaVários objetos do mesmo tipo podem ter o mesmo nome do objeto se eles pertencem a diferentes pacotes. Antes de iniciar o processo de desenvolvimento de embalagens, considere os seguintes pontos importantes:  Hierarquia pacote Cada fornecedor usa um namespace dedicado, ea hierarquia pacote que você criar permite que você armazene os vários elementos de um pedido em uma ordem lógica que é fácil de navegar.  Tipo de pacote Os pacotes podem ser estruturais ou não-estruturais; alguns pacotes contêm conteúdo; outros pacotes contêm somente outros (sub) pacotes.  Convenções de nomenclatura do pacote Existem recomendações e restrições em matéria de nomes de pacotes, por exemplo, o tamanho máximo da nome e quais caracteres não deve ser utilizado.

Convenções de nomeação do pacote As seguintes regras aplicam-se a empacotar nomes:  Caracteres permitidos Baixa / letras maiúsculas de caso (AA-ZZ), dígitos (0-9), hífens (-) (.), Sublinhados (_), e os pontos são permitidos em nomes de pacotes. Pontos em um nome de pacote definem uma hierarquia lógica. Por exemplo, "ABC" especifica um pacote de "a" que contém sub-pacote de "b", que por sua vez contém sub-pacote de "C".  Caracteres proibidos Um nome do pacote não devem começar com um ponto ou um hífen (.) (-) E não pode conter dois ou mais pontos consecutivos (..).  Pacote comprimento nome O nome da hierarquia namespace do pacote completo (por exemplo, "aa.bb.cc.zz" incluindo pontos) não deve ser mais do que 190 caracteres. Além disso, a ativação de objeto, o comprimento máximo de um gerado permitido catálogo nome (que inclui o caminho do pacote, os pontos que separam, eo nome base objeto) é limitada a 127 caracteres. o hdbtable hdbview, hdbsequence, hdbstructure, objectos

o

hdbprocedure sap.test.hana.db :: myObject Objetos CDS sap.test.hana.db :: myContext.myEntity

Atribuir Privilégios repositório de pacotes No SAP HANA repositório, você pode definir as autorizações de pacotes para um usuário específico ou para um papel.

Pré-requisitos Os seguintes pré-requisitos são assumidos para atribuir privilégios de pacotes:  Acesso de administrador para o repositório SAP HANA  Permissão para modificar os privilégios de usuário (por exemplo, para conceder privilégios a outros usuários SAP HANA)

Contexto Autorizações que são atribuídas a um pacote de repositório são implicitamente atribuído a todas as sub-pacotes também. Você também pode especificar se as autorizações de usuário atribuídas podem ser repassados a outros usuários. Para definir autorizações para os pacotes do repositório do usuário (ou função), execute os seguintes passos:

Procedimento 1.

Abra os Sistemas de ver no SAP HANA do estúdio SAP HANA Desenvolvimento perspectiva. 2. Na Sistemas de vista, expanda a Segurança Funções / Usuários nó para o sistema que hospeda o repositório que contém os pacotes que você deseja conceder acesso. Você também pode definir as funções através de arquivos de origem; funções definidas desta maneira pode ser atribuído a uma unidade de entrega e transportados para outros sistemas. 3.

Clique duas vezes o usuário (ou papel) a quem você deseja atribuir autorizações. 4. Abra o Privilégios Package ficha de registro. 5. Escolha [+] para adicionar um ou mais pacotes. Pressione e segure a tecla Ctrl para selecionar vários pacotes.

6.

No Select repositório de pacotes de diálogo, utilizar a totalidade ou parte do nome do pacote para localizar o pacote repositório que você deseja autorizar o acesso a. 7. Selecione um ou mais pacotes do repositório que você deseja autorizar o acesso a; os pacotes selecionados são exibidos na Privilégios Package guia. 8. Selecione os pacotes para o qual pretende autorizar o acesso e, nos Privilégios para guia, verifique os privilégios necessários, por exemplo:  REPO.READ Leia o acesso ao pacote selecionado e objetos de tempo de design (tanto nativas e importadas)  REPO.EDIT_NATIVE_OBJECTS Autorização para modificar objetos de tempo de design em embalagens originárias do sistema o usuário está trabalhando em

Informação relacionada Opções pacote Privilege Privilégios de pacotes

Opções pacote Privilege Pacote privilégios autorizar ações em pacotes individuais no repositório SAP HANA. No contexto das autorizações de pacotes do repositório, há uma distinção entre pacotes nativos e pacotes importados.

Nota Para poder executar operações em todos os pacotes no repositório SAP HANA, o usuário deve ter privilégios no pacote raiz .REPO_PACKAGE_ROOT.

Privilégios para pacotes de repositórios nativos Um pacote de repositório nativo é criado no atual sistema SAP HANA e deverá ser editada no sistema atual. Para executar tarefas de desenvolvimento de aplicações sobre nativas pacotes no repositório SAP HANA, os desenvolvedores geralmente precisam os privilégios listados na tabela a seguir:

Tabela 1: Privilege pacote

Descrição

REPO.READ

Leia o acesso ao pacote selecionado e objetos de tempo de design (tanto nativas e importadas)

REPO.EDIT_NATIVE_OBJECTS

Autorização para modificar objetos de tempo de design em embalagens originárias do sistema o usuário está trabalhando em

REPO.ACTIVATE_NATIVE_OBJECTS

Autorização para ativar / reativar objetos de tempo de design em embalagens originárias do sistema o usuário está trabalhando em

REPO.MAINTAIN_NATIVE_PACKAGES Autorização para atualizar ou excluir pacotes nativos, ou criar sub-

Tabela 1: Privilege pacote

Descrição pacotes de pacotes provenientes do sistema em que o usuário está trabalhando

Privilégios para pacotes de repositórios importados Um pacote de repositório importado é criado em um sistema SAP HANA remoto e importados para o sistema atual.Para executar tarefas de desenvolvimento de aplicações na importados pacotes no repositório SAP HANA, os desenvolvedores precisam os privilégios listados na tabela a seguir: NotaNão é recomendado para trabalhar em pacotes importados. Pacotes importados só deve ser modificado em casos excepcionais, por exemplo, para realizar reparos de emergência.

Tabela 2: Privilege pacote

Descrição

REPO.READ

Leia o acesso ao pacote selecionado e objetos de tempo de design (tanto nativas e importadas)

REPO.EDIT_IMPORTED_OBJECTS

Autorização para modificar objetos de tempo de design em embalagens originárias de um sistema que não seja aquele em que o usuário está trabalhando atualmente

REPO.ACTIVATE_IMPORTED_OBJECTS

Autorização para ativar (ou reativar) objetos de tempo de design em embalagens originárias de um sistema que não seja aquele em que o usuário está trabalhando atualmente

REPO.MAINTAIN_IMPORTED_PACKAGE S

Autorização para atualizar ou excluir pacotes, ou criar sub-pacotes de pacotes, que se originou em um sistema diferente daquele em que o usuário está trabalhando atualmente

Informação relacionada Privilégios de pacotes

Criar um pacote Repository Em SAP HANA, um pacote contém uma seleção de objetos de repositório. Você montar uma coleção de pacotes em uma unidade de entrega, que pode ser usado para transportar os objetos de repositório entre SAP HANAsistemas.

Contexto Você pode usar pacotes do repositório para gerenciar os vários elementos do seu projeto de desenvolvimento de aplicações no SAP HANA repositório. Para criar um pacote, execute os seguintes passos:

Procedimento 1. 2.

No SAP HANA estúdio, inicie o SAP HANA Desenvolvimento perspectiva. Na Sistemas de vista, selecione o SAP HANA sistema onde você deseja criar um novo pacote e expandir oconteúdo do nó para exibir a hierarquia de espaço para nome para o conteúdo do pacote. 3. Direito do mouse no pacote em que você deseja adicionar um novo pacote e escolha New Package ... no menu pop-up sensível ao contexto. SAP HANA estúdio exibe o novo pacote de diálogo. 4.

Manter os detalhes do pacote. No Novo Pacote de diálogo, digite as informações nos seguintes campos: 1.

Digite um nome para o novo pacote. O pacote nome é obrigatório. Adicionar o novo nome para o final do caminho do pacote completo, por exemplo, acme.com.package1.

2.

Preencha a outras informações opcionais conforme necessário: Use a Unidade de entrega lista suspensa para atribuir o novo pacote para a unidade de entrega. Escolha Tradução, se você pretende ter o conteúdo do pacote localizada. Você deve manter os detalhes de tradução.

5.

Criar o novo pacote. No Novo Pacote de diálogo, clique em OK para criar um novo pacote no local especificado.

6.

Ative o novo pacote. Na Sistemas de vista, clique com o botão direito no novo pacote e escolher Ativar a partir do menu pop-up sensível ao contexto.

Tipos de Embalagens de repositório SAP HANA permite o uso de vários tipos de pacote, que são destinadas para uso em cenários específicos. HANA SAP Application Services fornecer ou permitir o seguinte pacote de tipos:  Estrutural Pacote contém apenas sub-pacotes; ele não pode conter objetos de repositório.



Não Estrutural O pacote contém ambos os objetos de repositório e subpacotes. Os seguintes pacotes são entregues por padrão com o repositório:  seiva Pacote transportável reservado para conteúdo entregue pela SAP. Parceiros e clientes não devem usar aseiva pacote; eles devem criar e utilizar o seu próprio pacote de raiz para evitar conflitos com software entregues pela SAP, por exemplo, quando as atualizações SAP ou substitui a seiva estrutura do pacote 

durante um processo de atualização ou patch. locais do sistema



Pacotes não-transportáveis, estruturais (e subpacotes). Conteúdo deste pacote (e quaisquer subpacotes) é considerada sistema local e não podem ser transportados. Isto é semelhante ao conceito de desenvolvimento da classe $ tmp em SAP NetWeaver ABAP. local.generated-sistema



Pacotes não-transportáveis, estruturais para o conteúdo gerado, ou seja; conteúdo não criado pela interação manual de usuário sistema de local.private Pacote não-transportáveis, estrutural reservada para objetos que pertencem a usuários individuais, por exemplo, -sistema local.private.<User_name>. Para evitar problemas de compatibilidade com a funcionalidade de futuro, não use o sistema de local.private pacote ou qualquer um dos seus sub-pacotes.

Excluir um Pacote Repository Em SAP HANA desenvolvimento, pacotes de repositórios são usados para gerenciar vários elementos do seu projeto de desenvolvimento de aplicações. Às vezes você precisa excluir um pacote que contém objetos de repositório de outros desenvolvedores.

Pré-requisitos Para executar esta tarefa, o utilizador tem de ser atribuído a REPO.WORK_IN_FOREIGN_WORKSPACE privilégio de sistema.

Contexto Você usa pacotes do repositório para gerenciar os vários elementos do seu projeto de desenvolvimento de aplicações no SAP HANA repositório. Para excluir um pacote, execute os seguintes passos:

Procedimento 1. 2. 3.

No SAP HANA estúdio, inicie o SAP HANA Desenvolvimento perspectiva. Abra a Repositórios de vista e localizar o pacote que você deseja excluir. Excluir o pacote. 1. Clique no botão alternativo do mouse no pacote que você deseja excluir e escolha Excluir. 2. Quando solicitado, escolha OK. Uma caixa de mensagem aparece indicando que você está excluindo um pacote com objetos ativos e inativos. 3. Escolha OK para excluir o pacote. Escolha Cancelar para interromper a exclusão do pacote e objetos.

Informação relacionada Privilégios de Sistema (referência)

Criando os descritores de aplicação Os descritores de aplicação descrever o quadro em que um aplicativo SAP HANA XS é executado. O quadro definido pelos descritores de aplicação inclui o ponto de raiz na hierarquia de pacotes em que o conteúdo é para ser servido às solicitações do cliente, e quem tem acesso ao conteúdo.

Pré-requisitos 

Você deve estar familiarizado com o conceito do arquivo de descrição do aplicativo (.xsapp), o arquivo de acesso de aplicativo (.xsaccess) e, se necessário, o arquivo de aplicativos de privilégios(.xsprivileges).

Contexto Quando você desenvolver e implantar aplicativos no contexto do SAP HANA Application Services estendida (SAP HANA XS), você deve definir os descritores de aplicação. Manter os descritores de aplicação envolve as seguintes tarefas:

Procedimento 1.

Criar um arquivo de aplicativo-descritor.

O pacote que contém o arquivo de descrição do aplicativo se torna o caminho da raiz dos recursos expostos às solicitações do cliente por parte do aplicativo que você desenvolver. 2.

Criar um arquivo de acesso do aplicativo. O arquivo de acesso aplicativo permite que você especifique quem ou o que está autorizado a acessar o conteúdo exposto por um SAP HANA pacote de aplicativos XS e qual o conteúdo que eles estão autorizados a ver. Você pode usar palavraschave no arquivo de acesso pedido de estabelecimento de regras de autenticação, defina os níveis de pacote de privilégios (por exemplo, executar ou ADMIN, especificar o nível de segurança de conexão (por exemplo, SSL / HTTPS), e permitir (ou impedir) a criação de etiquetas entidade (GATE). Você também pode definir regras de reescrita para URLs expostos por um aplicativo, por exemplo, para ocultar detalhes internos de caminhos de URL de usuários externos, clientes e motores de busca.

3.

Crie um arquivo de aplicativos de privilégios. (Opcional) O arquivo de aplicativos de privilégios permite que você defina os privilégios de autorização necessários para o acesso a um SAP HANA aplicação XS, por exemplo, para iniciar o aplicativo (executar) ou para executar ações administrativas em um aplicativo (ADMIN). Os privilégios aqui definidos são ativados para um aplicativo específico no arquivo de acesso do aplicativo. Estes privilégios pode ser verificada por um aplicativo em tempo de execução. Privilégios definidas aplicam-se ao pacote, onde o ficheiro de privilégios está localizada, bem como quaisquer pacotes na parte inferior da hierarquia de pacote, a menos que um ficheiro de privilégios adicional está presente, por exemplo, de uma sub-embalagem.

Informação relacionada Criar um descritor de aplicativo Criar um arquivo de acesso aplicação Crie um arquivo de aplicativos de privilégios

Criar um descritor de arquivo Aplicação Cada aplicativo que você deseja para desenvolver e implementar em SAP HANA Application Services estendida (SAP HANA XS) deve ter um arquivo de aplicativo-descritor. A descrição do aplicativo é o arquivo de núcleo que você usa para descrever quadro de um aplicativo dentro de SAP HANA XS.

Pré-requisitos  

Um espaço de trabalho do repositório com um projeto compartilhado Um pacote de raiz para o aplicativo, por exemplo, MyAppPackage

ObservaçãoO namespace seiva é restrito. Coloque o novo pacote no seu próprio namespace, por exemplo,com.acme, que você pode criar ao lado da seiva namespace.

Contexto A descrição do aplicativo é o arquivo de núcleo que você usa para indicar a disponibilidade de um aplicativo dentro de SAP HANA XS. A descrição do aplicativo marca o ponto na hierarquia de pacotes em que o conteúdo de um aplicativo está disponível para os clientes. O arquivo do aplicativo-descritor não tem conteúdo e sem nome; ele só tem a extensão de arquivo .xsapp. O pacote que contém o arquivo do aplicativo-descritor torna-se o caminho da raiz dos recursos expostos pelo aplicativo que você desenvolver. NotaPara compatibilidade com versões anteriores, o conteúdo é permitido no .xsapp arquivo, mas ignorado. Para criar uma descrição do aplicativo para o seu novo aplicativo, execute os seguintes passos.

Procedimento 1. 2.

No SAP HANA estúdio, abrir o SAP HANA Desenvolvimento perspectiva. No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo (.xsapparquivo).

3. 4.

No menu pop-up sensível ao contexto, escolha Novo Outro .... No uma Select Assistente de diálogo, escolha SAP HANA Application Development XS Aplicação Arquivo Descritor 5. Digite ou selecione a pasta pai. Note que o nome de arquivo padrão para o descritor do aplicativo XS é.xsapp e não pode ser alterado. 6.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo a começar. 7. Escolha Concluir. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação do arquivo adiciona a extensão de arquivo necessária .xsapp automaticamente.

Dica Os arquivos com nomes que começam com o ponto (.), Por exemplo, .xsapp, às vezes não são visíveis no Project Explorer. Para ativar a exibição de todos os arquivos no Project Explorervista, utilize o Personalizar vista de personalização disponíveis opção e desmarque todas as caixas de seleção.

8.

Guardar e activar as suas alterações e aditamentos. 1. No SAP HANA Desenvolvimento perspectiva, abrir o Project Explorer vista e clique com o botão direito do mouse no novo (.xsapp pacote). 2.

No menu pop-up sensível ao contexto, escolha Equipe Activate.

O SAP HANA descritor XS Aplicação Cada aplicativo que você deseja para desenvolver e implementar em SAP HANA Application Services estendida (SAP HANA XS) deve ter um arquivo de descrição do aplicativo. A descrição do aplicativo é o arquivo de núcleo que você usa para descrever quadro de um aplicativo dentro de SAP HANA XS. O pacote que contém o arquivo de descrição do aplicativo se torna o caminho da raiz dos recursos expostos às solicitações do cliente por parte do aplicativo que você desenvolver. NotaO processo de requerimento-descritor não tem nome e nenhum conteúdo; ele só tem a extensão de arquivo"xsapp", por exemplo,.xsapp. Para compatibilidade com versões anteriores, o conteúdo é permitido no.xsapp arquivo, mas ignorado. A raiz do aplicativo é determinado pelo pacote contendo o .xsapp arquivo. Por exemplo, se o pacotesap.testcontém o arquivo .xsapp, O aplicativo estará disponível sob a URL http: // : <porta> /sap.test/. O conteúdo do aplicativo está disponível para solicitações de usuários. CuidadoCertifique-se de que a pasta que contém o .xsapp arquivo descritor do aplicativo também contém um.xsaccess arquivo, que controla o acesso ao aplicativo. O conteúdo do pacote onde os .xsapp reside arquivo (e todas as subpastas) são expostos a solicitações de usuários e, como resultado, potencialmente acessível por atacantes. Você pode proteger esse conteúdo com as configurações de autenticação apropriadas no-acesso do aplicativo correspondente (.xsaccess arquivo), que reside no mesmo pacote. Tenha em mente que ao expor o conteúdo da Web, você corre o risco de vazamento de informações; a informação vazada pode ser usado nas seguintes maneiras:  Diretamente Arquivos de dados como .csv arquivos usados para a carga inicial do banco de dados pode conter informação confidencial.  Indiretamente Descritores de arquivos pode dar detalhes sobre a codificação interna da aplicação e arquivos que contêm os nomes dos desenvolvedores são úteis; eles podem ser usados por um intruso em combinação com técnicas de engenharia social. Para ajudar a proteger a sua aplicação a partir de questões relacionadas à segurança, coloque a descrição do aplicativo (.xsapp) o mais profundamente possível na hierarquia do pacote. Além disso, incluir apenas a página do índice neste pacote; todos os outros dados de aplicativos deve ser colocado em subpastas que são protegidos com arquivos de acesso aplicação individuais.

DicaMantenha a hierarquia pacote de aplicativos limpo. Não coloque no mesmo pacote como o .xsapp arquivo (ou sub-pacote) todo o conteúdo desnecessário, por exemplo, os arquivos que não são necessários para a aplicação trabalhar.

Informação relacionada O processo de candidatura-Access

Permitir o acesso a SAP HANA pacotes de aplicativos XS O arquivo de acesso aplicativo permite que você especifique quem ou o que está autorizado a acessar o conteúdo exposto pelo pacote de aplicativos e conteúdo que eles estão autorizados a ver.

Pré-requisitos  

Um espaço de trabalho do repositório com um projeto compartilhado Um pacote de raiz para o aplicativo, por exemplo, MyAppPackage

ObservaçãoO namespace seiva é restrito. Coloque o novo pacote no seu próprio namespace, por exemplo,com.acme, que você pode criar ao lado da seiva namespace. 

Um arquivo de descrição do aplicativo (.xsapp) para o aplicativo selecionado

Contexto O arquivo de acesso aplicativo é um arquivo JSON compatível com o sufixo de arquivo .xsaccess. Você pode usar um conjunto de palavras-chave no arquivo de acesso aplicação .xsaccess para especificar se a autenticação é necessária para permitir o acesso ao pacote de conteúdo, que dados são expostos, e se reescrever as regras estão em vigor para esconder URLs destino e de origem, por exemplo, dos usuários e motores de busca.Você também pode especificar o que, eventualmente, é necessário nível de autorização para o pacote e se o SSL é obrigatória para as conexões do cliente. NotaO arquivo de acesso aplicação não tem um nome antes do ponto (.); ele só tem o sufixo .xsaccess. Para criar o arquivo de acesso de aplicativo, execute os seguintes passos:

Procedimento 1.

Crie um arquivo chamado .xsaccess e colocá-lo no pacote raiz do aplicativo para o qual você deseja habilitar o acesso. A base .xsaccess arquivo deve, no mínimo, conter um conjunto de chaves, por exemplo, {}. Note que o.xsaccess arquivo usa pares de valores-chave para definir as regras de acesso; se um par de valor-chave obrigatória não está definido, o valor padrão é assumido. 1.

No SAP HANA estúdio, abrir o SAP HANA Desenvolvimento perspectiva. 2. No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo(.xsaccess arquivo). 3. 4.

No menu pop-up sensível ao contexto, escolha Novo Outro .... No uma Select Assistente de diálogo, escolha SAP HANA Application Development Arquivo de Acesso XS Aplicação 5. DicaSe você estiver usando o SAP HANA Studio para criar artefatos no SAP HANA Repository, o assistente de criação do arquivo adiciona a extensão de arquivo necessária .xsaccessautomaticamente e permite a edição direta do arquivo. Digite ou selecione a pasta onde o pai .xsaccess arquivo deve ser localizado.

NotaO nome padrão para o arquivo de acesso do aplicativo principal é .xsaccess e não pode ser alterado. 6.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 7. Escolha Concluir. 2. Habilitar o acesso aos dados de aplicação. Você usa a expor palavra-chave para habilitar ou desabilitar o acesso a conteúdo em um nível pacote ou sub-embalagem. { "exposta": true, "prevent_xsrf": true }

NotaÉ altamente recomendável para usar sempre aprevent_xsrf palavrachave para ajudar a proteger seu aplicativo contra ataques que usam cross-site request forgery vetor. 3.

Definir o método de autenticação do aplicativo. Para garantir que o logon baseado em formulário funciona quando você ativá-lo usando o SAP HANA XS Administration Tool, a autenticação de palavra-chave é necessária no .xsaccess ficheiro, também, e deve ser definido como o valor "Formato", Tal como ilustrado no exemplo seguinte. { "Autenticação": {"método": "Form"} }

NotaUse o SAP HANA XS ferramenta de administração para configurar aplicativos para usar métodos de autenticação adicionais, por exemplo, básico, bilhetes de logon, ou Single Sign On (SSO) provedores, tais como SAML2 e X509. Você também deve ativar a autenticação baseada em formulário caixa de seleção, se você quiser que seu aplicativo (ou aplicações) para usar logon baseado em formulário como método de autenticação. Quaisquer outras palavras-chave na seção de autenticação do .xsacessarquivo são ignorados. 4.

Especificar os privilégios de aplicativos, se necessário. (Opcional) Use a palavra-chave de autorização no .xsaccess arquivo para especificar qual nível de autorização é exigida por um usuário para o acesso a um pacote de aplicativo específico. A autorização palavra-chave requer uma entrada correspondente na .xsprivileges arquivo, por exemplo, executar privilégios básicos ou administrador de privilégios administrativos no pacote especificado. { "autorização": ["sap.xse.test :: Execute", "sap.xse.test :: Admin" ] }

5.

Salve o .xsaccess arquivo no pacote com o qual você deseja associar as regras que você definiu. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

6.

Ative o .xsaccess arquivo para o repositório. No Project Explorer exibição, clique o botão direito no objeto que você deseja ativar e selecione Team> Ativar no menu pop-up sensível ao contexto.

Informação relacionada Criar um descritor de arquivo Aplicação Aplicativo do Access Opções de palavra-chave FILE O arquivo application-Privilégios

O processo de candidatura-Access SAP HANA XS permite que você defina o acesso a cada pacote de aplicativos individuais que você quer desenvolver e implantar.

O arquivo de acesso aplicativo permite que você especifique quem ou o que está autorizado a acessar o conteúdo exposto por um SAP HANA pacote de aplicativos XS e qual o conteúdo que eles estão autorizados a ver. Por exemplo, você usar o arquivo de acesso de aplicativos para especificar se a autenticação deve ser usado para verificar o acesso ao pacote de conteúdo e se reescrever as regras estão em vigor que ocultar ou expor destino e de origem URLs. O arquivo de acesso aplicação não tem um nome; ele só tem a extensão de arquivo .xsaccess. O conteúdo do.xsaccess arquivo é formatado de acordo com regras JSON e as configurações especificadas em um.xsaccess arquivo se aplicam não apenas ao pacote do .xsaccessarquivo pertence, mas também quaisquer subpacotes inferior na hierarquia pacote. Múltiplo.xsaccessarquivos são permitidos, mas apenas em diferentes níveis na hierarquia do pacote. Você não pode colocar dois .xsaccess arquivos no mesmo pacote.

NotaAs configurações especificadas em um.xsaccessarquivo em um subpacote têm precedência sobre quaisquer configurações especificadas em um .xsaccessarquivar nível superior da hierarquia pacote; as configurações subpackage também são herdadas por todos os pacotes mais abaixo na hierarquia pacote.Todas as configurações não modificado pelo.xsaccess no subpackage permanecem inalteradas, isto é: como definido no pacote pai ou, se for caso disso, as configurações padrão. Usando múltiplos .xsaccessarquivos permite especificar diferentes regras de acesso ao aplicativo para subpackages individuais na hierarquia do pacote. Seguindo a regra de herança, quaisquer aplicações abaixo o pacote de aplicativos que contêm as configurações de acesso modificados herdar as novas configurações, modificados. O exemplo a seguir mostra a composição e estrutura da SAP HANA acesso aplicação XS (.xsaccess arquivo), que inclui uma lista de pares de valores-chave que especificam como o serviço de aplicação responde às solicitações do cliente. Por exemplo, neste arquivo,"exposta": true indica que os dados estão disponíveis para pedidos de clientes; "FORCE_SSL": true especifica que os pedidos de HTTP padrão não são permitidos pelo navegador da Web. NotaAlguns elementos também pode ser especificado na configuração de tempo de execução do aplicativo, por exemplo, usando o SAP HANA XS Administration Tool. Por exemplo, você pode configurar aplicativos de recusar conexões HTTP inseguras, permitir o uso de e-tags, ou ativar métodos de autenticação adicionais, tais como Single Sign On (SSO) prestadores SAML2 e X509.

Exemplo A-Access Aplicação (.xsaccess) Arquivo { "exposta": true, // Expor dados via http "Autenticação": { "método": "Form" },

"autorização": // Privilégios para acesso do aplicativo [ "sap.xse.test :: Execute", "sap.xse.test :: Admin" ], "rewrite_rules": regras // URL reescrevendo [{ "fonte": "/ entradas / (\\ d +) / (\\ d +) / (\\ d +) /", "alvo": "/logic/entries.xsjs?year=$1&month=$2&day=$3" }], "mime_mapping": // Mapa file-sufixo para o tipo de MIME [{ "extensão": "jpg", "mimetype": "image / jpeg" }], "FORCE_SSL": true, // Aceitar apenas solicitações HTTPS "enable_etags": true, // permitir a geração de etags "prevent_xsrf": true, // pedido Prevent cross-site falsificação "anonymous_connection": "sap.hana.sqlcon :: AnonConn", objeto //.xssqlcc "default_connection": "sap.hana.sqlcon :: sqlcc", objeto //.xssqlcc "coros": // Permitir solicitações de navegador de origem cruzada { "habilitado": false }, "default_file": "homepage.html", // configuração de acesso padrão Override "cache_control": "no-cache, no interior da loja", // Gerencie cacheWeb de conteúdo estático "headers": // X-Frame Opções de campo de cabeçalho HTTP Ativar { "habilitado": true, "customHeaders": [{ "nome": "X-Frame-Options", "valor": "SAMEORIGIN" }] } }

Informação relacionada Aplicativo do Access Opções de palavra-chave FILE Configure a segurança de aplicativos Guia de Segurança SAP HANA

Aplicativo do Access Opções de palavra-chave FILE O acesso de aplicativo (.xsaccess arquivo) permite que você especifique se deve ou não expor o conteúdo do pacote, que método de autenticação é usado para conceder acesso, e qual o conteúdo é visível.

Exemplo O acesso de aplicativos (.xsaccess) Arquivo

NotaEste exemplo do .xsaccess arquivo é não um modelo de trabalho; ela é usada para ilustrar a sintaxe para todas as opções possíveis. { "Exposta": false, "Autenticação": { "método": "Form" }, "Autorização": [ "sap.xse.test :: Execute", "sap.xse.test :: Admin" ], "Anonymous_connection": ":: sap.hana.sqlcon AnonConn", "Default_connection": ":: sap.hana.sqlcon sqlcc", "Cache_control": "no-store", "Coros": { "habilitado": false }, "Default_file": "index_1.html", "Enable_etags": falsos, "FORCE_SSL": true, "Mime_mapping": [ { "extensão": "jpg", "mimetype": "image / jpeg" } ], "Prevent_xsrf": true, "Rewrite_rules": [{ "fonte" : "...", "alvo" : "..." }]

"Cabeçalhos": { "habilitado": true, "customHeaders": [{"name": "X-Frame-Options", "valor": ""}] } }

exposto { "exposta": false, } O expostopalavra-chave permite que você definir se o conteúdo de um pacote (e seus subpacotes), deve ser disponibilizado por HTTP às solicitações do cliente. Os valores são booleano verdadeiro ou falso. Se nenhum valor for definido para expor, a configuração padrão (false) se aplica. DicaSó expor conteúdo que é absolutamente necessária para permitir que o aplicativo seja executado. Considere se é necessário expor dados via HTTP / S. Não expor dados via HTTP permite que você mantenha seus arquivos acessíveis a outros programas, mas impedir o acesso direto aos dados via URL. Uma vez que o aplicativo index.html página deve permanecer normalmente acessível, considere armazenar o index.htmlarquivo separadamente com um dedicado .xsaccess arquivo que permite o acesso ("Exposta": true). Você pode manter todos os outros conteúdos ocultos, por exemplo, no pacote separado ao qual o acesso é negado ("Exposta": false). Pacotes sem um dedicado .xsaccess arquivo herdar as definições de acesso aplicação definidas na pasta pai.Se um .xsaccess arquivo existe, mas oexposto palavra-chave não está definida, a configuração padrão falsoaplica-se.

anonymous_connection { "anonymous_connection": ":: sap.hana.sqlcon AnonConn", } O anonymous_connectionpalavra-chave permite que você defina o nome do .xssqlcc arquivo que será usado para acesso SQL quando são fornecidos sem credenciais do usuário. SAP HANA XS permite que você defina a configuração de conexões SQL individuais. Cada configuração de conexão tem um nome exclusivo, por exemplo,Registro, AnonConn, ou AdminConn, que é gerado a partir do nome do arquivo de configuração de conexão correspondente (Registration.xssqlcc, AnonConn.xssqlcc, ou AdminConn.xssq lcc) na ativação no repositório . Se nenhum valor for definido, a configuração padrão é "null". DicaNão é recomendado para permitir acesso anônimo.

Se for necessário para fornecer acesso anônimo para um aplicativo, criar seu aplicativo de tal forma que todos os arquivos que requerem acesso anônimo são colocados juntos no mesmo pacote, que você pode, em seguida, proteger com as permissões definidas em um dedicado .xsaccess arquivo. Lembre-se que o comportamento da conexão anônima depende dos detalhes especificados no arquivo de configuração correspondente SQL(.xssqlcc).

default_connection { "default_connection": ":: sap.hana.sqlcon sqlcc", } Se o default_connectionestá situado no .xsaccess arquivo, a configuração de conexão SQL especificada (por exemplo, definido no sqlcc) é usado para todas as execuções SQL neste pacote, se o usuário solicitante é autenticado no SAP HANA ou não. A diferença entre odefault_connection e a anonymous_connectioné que a configuração de conexão do SQL anônimo é usado apenas se o usuário solicitante não está autenticado.Como qualquer outra propriedade do xsaccess arquivo, odefault_connectioné herdada para baixo na hierarquia pacote, por exemplo, a partir do pacote de sub-embalagem. O default_connectiontambém pode ser substituído, por exemplo, localizar um xsaccess arquivo com um diferentedefault_connection em um ou mais sub-embalagens.

DicaSe o usuário solicitante é autenticado, o nome de usuário estará disponível na conexão como oAPPLICATIONUSER variável de sessão. As credenciais a serem usadas para uma execução SQL são determinados de acordo com a seguinte ordem de prioridade: 1. A configuração da conexão SQL (SQLCC) especificado no $ .db.getConnection (sqlcc); isto aplica-se apenas em XS JavaScript (não OData, por exemplo) 2. O valor especificado em default_connection (se estiver definido) 3. Um usuário autenticado 4. A valorizados especificado em anonymous_connection (se estiver definido) O default_connectionse destina ao uso com peças anônimas da aplicação que requerem os mesmosprivilégios para todos os usuários. Se a parte anónima de um aplicativo é projetado para comportar de acordo com os privilégios concedidos aos usuários autenticados, oanonymous_connectiondeve ser usado. Isto é particularmente importante se os privilégios analíticos estão envolvidos, por exemplo, para restringir a quantidade de linhas de retorno (não acesso geral para a tabela). Na maioria dos casos, o default_connection deve ser usado.

autenticação {

"Autenticação": { "método": "Form" }, }

O autenticaçãopalavra-chave é necessária no .xsaccess arquivo e deve ser definido com o valor "forma", por exemplo"método": "Form",para garantir que as obras de logon com base em formulários quando você ativá-lo usando o SAP HANA XS Administration Tool.

NotaUse o SAP HANA XS ferramenta de administração para configurar aplicativos para usar métodos de autenticação adicionais, por exemplo, básico, bilhetes de logon, ou Single Sign On (SSO) provedores, tais como SAML2 e X509. Você também deve ativar a autenticação baseada em formulário caixa de seleção, se você quiser que seu aplicativo (ou aplicações) para usar logon baseado em formulário como método de autenticação. Quaisquer outras palavras-chave na seção de autenticação do .xsacess arquivo são ignorados. 

Autenticação baseada em formulário Redirecionar a solicitação de logon a um formulário para preencher, por exemplo, uma página da Web. Para assegurar que, durante o processo de autenticação, a senha é transmitida de forma encriptada, é altamente recomendável para ativar o SSL / HTTPS para todas as conexões de aplicativos para o motor XS, por exemplo, usando o FORCE_SSLpalavra-chave. Se você definir o FORCE_SSL opção, você deve garantir que o Dispatcher Web SAP está configurado para aceitar e gerir pedidos de HTTPS. Autenticação baseada em formulário requer a libxsauthenticator biblioteca, que deve ser não só disponível, mas também ser especificada na lista de aplicativos confiáveis na xsengine contêiner de aplicativos. A lista de aplicativos é exibida no SAP HANA do estúdio Console de Administração perspectiva no seguinte local: Administração Configuração guia xsengine.ini application_container application_list.Se ele não for exibido, pergunte ao administrador do SAP HANA para adicioná-lo. NotaSe você precisar solucionar problemas com o logon baseado em formulário, você pode configurar a geração de informações de rastreamento útil no XSENGINE seção do componente de rastreamento banco de dados usando a seguinte entrada: xsa: sap.hana.xs.formlogin.

autorização { "autorização": [ "sap.xse.test :: Execute", "sap.xse.test :: Admin" ], } O autorizaçãopalavra-chave no .xsaccess arquivo permite que você especifique qual o nível de autorização é necessária para o acesso a um pacote de aplicativo específico, por exemplo, executar ou de administraçãosobre o pacote sap.xse.text.

NotaOs níveis de autorização que você pode escolher são definidos no .xsprivileges arquivo para o pacote, por exemplo, "executar" para privilégios básicos, ou "admin" para privilégios administrativos no pacote especificado. Se você não definir quaisquer requisitos de autorização, qualquer usuário pode iniciar o aplicativo. Se você usar o autorizaçãopalavra-chave no .xsaccess arquivo, por exemplo, para exigir "executar"privilégios para um pacote de aplicativo específico, você deve criar um .xsprivileges arquivo para o mesmo pacote de aplicativos (ou um pacote pai nível superior da hierarquia, na qual você define o " executar "nível de privilégio declarada no .xsaccess arquivo. Configurações de autorização são herdadas para baixo na hierarquia pacote de um pacote para um sub-pacote. No entanto, você pode especificar diferentes níveis de autorização para diferentes sub-embalagens; esta nova configuração é então herdado por quaisquer subpacotes mais abaixo na hierarquia. Para desabilitar a autorização de um sub-pacote (por exemplo, para evitar a herança de autorizações do pacote pai), você pode criar um (sub) específicos do pacote .xsaccess arquivo com oautorização palavra-chave para definir explicitamente nulo, Conforme ilustrado no exemplo seguinte. { "autorização": null } Tenha em mente que o "Autorização": nulldefinição não se aplica somente ao pacote no qual o.xsaccess com onulo configuração está localizada, mas também para quaisquer subpacotes mais abaixo na hierarquia de pacotes. Você pode reativar a autorização nos níveis de sub-pacote, criando uma nova .xsaccessarquivo.

cache_control { "cache_control": "no-store", } O cache_controlpalavra-chave permite que você substitua o cabeçalho de controle de cache de conteúdos Web servido pela SAP HANA servidor Web XS. O chamado de controle de cache de directivas (por exemplo,público, privado, no interior da loja) Permitem-lhe controlar o comportamento dos caches do navegador da Web e proxy, por exemplo, se deve ou não armazenar uma página, como armazená-la, ou onde.Para mais informações sobre os valores que você pode usar para definir cache_control, Consulte o padrão HTTP para directivas de controle de cache. Se nenhum valor paracode_controlestá situado no .xsaccessarquivo, a configuração padrão é "null". DicaPor razões de segurança, recomenda-se a definir o cache_controlpalavrachave para "no-cache, no interior da loja". No entanto, se nada for armazenada em cache ou armazenados, há um impacto evidente no desempenho do aplicativo.

Se o desempenho do aplicativo permite que, a no-cache, no interior da loja configuração é aconselhável devido às seguintes razões: 

A partir de uma perspectiva do cliente: Se uma aplicação está a lidar com dados sensíveis, é má prática para armazenar em cache os dados no navegador local pois isso poderia levar à divulgação não intencional de informações. Do ponto de vista do servidor: Permitindo uma aplicação para dados de cache pode abrir o aplicativo para atacar. Por exemplo, se os atacantes construir uma página maliciosa e hospedálo em um servidor proxy entre o servidor eo cliente solicitante, seria possível roubar dados do cliente ou impedir o acesso ao aplicativo completamente. Uma vez que o risco de tal ataque é pequena, você pode querer considerar permitir o armazenamento em cache, desde que não afecte negativamente o desempenho.



Cors { "coros": { "habilitado": false }, } O Corspalavra-chave permite que você forneça suporte para pedidos de origem cruzada, por exemplo, permitindo a modificação do cabeçalho do pedido. Compartilhamento de recursos origem Cross (CORS) permite que as páginas da Web de outros domínios para fazer solicitações HTTP para o seu domínio de aplicação, onde normalmente esses pedidos seriam automaticamente recusado pela política de segurança do navegador da Web. Se o suporte CORS está desativado ("habilitado": false), Aplicam-se as seguintes definições no servidor Web:  O servidor não responde a quaisquer pedidos de comprovação CORS  O servidor não adicionar cabeçalhos de resposta CORS a quaisquer solicitações CORS  O servidor se recusa a executar o recurso especificado no pedido Para ativar o suporte para CORS, defina o Cors a palavra-chave {"Habilitado": true}, O que resulta no seguinte padrão Corsconfiguração: {"coros": {"Ativado": true, "allowMethods": ["GET", "POST", "Cabeça", "Opções"], "allowOrigin": ["*"], "maxAge": "3600 "}} A tabela a seguir descreve as opções que são suportadas com o Cors palavrachave: {"coros": {"habilitado": true, "allowMethods": "allowOrigin": , "MaxAge": <max_age>, "allowHeaders": , "exposeHeaders": <EXPOSED_HEADERS>}}

Tabela 1: Configurações padrão para CORS Opções CORS Opção

Descrição

ALLOWED_METHODS Um único método permitido ou uma lista separada por vírgula de métodos que são permitidos pelo servidor, por exemplo, "GET", "POST". E se allowMethods é definida, mas nenhum método é especificado, o padrão "GET", "POST", "Cabeça","OPÇÕES"(todos) se aplica. Note-se que a correspondência é sensível a maiúsculas. ALLOWED_ORIGIN

Um nome de host único ou uma lista de nomes de host que são permitidos pelo servidor, por exemplo, separados por vírgulas: www.sap.com ou * .sap.com. E seallowOrigin é definido mas nenhum host for especificado, o padrão "*"(todos) se aplica. Note-se que a correspondência é sensível a maiúsculas.

ALLOW_HEADERS

Um único cabeçalho ou uma lista separada por vírgulas de solicitação cabeçalhos que são permitidos pelo servidor. E seallowHeaders é definido mas nenhum cabeçalho é especificado como permitido, nenhum valor padrão é fornecido.

Max_age

Um único valor que especifica quanto tempo um pedido de comprovação deve ser armazenada em cache para. E se maxAge é definida, mas nenhum valor for especificado, o tempo padrão de "3600" (segundos) se aplica.

EXPOSE_HEADERS

Um único cabeçalho ou uma lista separada por vírgula de resposta cabeçalhos que estão autorizados a ser exposto. E seexposeHeaders é definida mas nenhuma cabeçalho de resposta é especificado para a exposição, nenhum valor padrão é fornecido.

Alternativamente, você pode isolar a parte do aplicativo onde CORS deve ser permitido, por exemplo, em um sub-pacote específico. Ao adicionar um dedicado .xsaccess arquivo para este subpackage relacionados com CORS, você pode definir oCors opção no dedicado .xsaccess apresentar a verdade.

default_file { "default_file": "new_index.html", } O default_file palavra-chave permite que você substitua a configuração padrão para acesso ao aplicativo(index.html) quando o pacote é acessado sem fornecer um arquivo na URI. Se você usar o default_file mas não especificar um valor, a configuração padrão "index.html" é assumido. DicaÉ uma boa prática para especificar um nome de arquivo padrão manualmente. Alterar o padrão deindex.html para outra coisa pode ajudar a tornar sua aplicação menos vulnerável a ferramentas de hacker automatizadas.

rewrite_rules { "rewrite_rules":

[{ "fonte": "...", "alvo": "..." }], } O rewrite_rulespalavra-chave permite que você ocultar os detalhes de caminhos de URL internos de usuários externos, clientes e motores de busca. Quaisquer regras especificadas afetam a aplicação local onde os.xsaccess reside arquivo (e qualquer subpackage, assumindo as sub-embalagens não têm os seus próprios.xsaccess arquivos); não é possível definir regras de reescrita globais. Regras de reescrita de URL são especificadas como um par origem-destino onde a fonte é escrito em JavaScript o regex sintaxe eo alvo é uma cadeia simples, onde as referências a grupos encontrados podem ser inseridos usando $ groupnumber.

DicaNão é recomendado a contar com regras de reescrita para fazer uma aplicação segura. No exemplo a seguir, a regra ilustrado esconde a nome do arquivo parâmetro e, como resultado, torna mais difícil adivinhar que o parâmetro fornecido depois / go /vai ser utilizado como valor de nome de ficheiro. Note-se que ainda é necessário para validar a entrada recebida { "rewrite_rules": [{ "fonte": "/ go / (\\ d +) /", "alvo": "/logic/users.xsjs?filename=$1" }], }

mime_mapping { "mime_mapping": [ { "extensão": "jpg", "mimetype": "image / jpeg" } ], } O mime_mappingpalavra-chave permite que você defina como mapear certos sufixos de arquivo para tipos de MIME necessários. Por exemplo, você pode mapear os arquivos com a .jpg extensão de arquivo para o tipo de MIMEimage / jpeg. Esta lista que você define com a mime_mappingpalavra-chave substitui qualquer mapeamento padrão definido pelo servidor; o navegador da Web usa as informações para decidir como processar os tipos de arquivos relacionados.

CuidadoCertifique-se de que você não instruir o navegador para executar arquivos que não são destinadas a serem executadas, por exemplo, através de mapeamento .jpg arquivos de imagem com o tipo MIMEapplication / javascript. Os mapeamentos MIME padrão permanecem válidas para quaisquer valores que não definem com omime_mappingpalavra-chave. Considere dificultar os mapeamentos explícitos aos tipos de arquivos onde o comportamento padrão não funciona como esperado ou quando não exista valor padrão, por exemplo, para tipos de arquivos específicos para a sua aplicação.

FORCE_SSL { "FORCE_SSL": false, } O FORCE_SSLpalavra-chave permite que você recusar os pedidos do navegador da Web que não usam HTTP seguro (SSL / HTTPS) para conexões de cliente. Se nenhum valor for definido para FORCE_SSL, A configuração padrão (falso) Se aplica e as conexões não-seguras (HTTP) são permitidos. DicaPara garantir que, durante o processo de autenticação, as senhas são transmitidas em formato criptografado, é altamente recomendável para ativar o SSL / HTTPS para todas as conexões de aplicativos para o motor XS.Se você definir o FORCE_SSL opção, você deve garantir que o Dispatcher Web SAP está configurado para aceitar e gerir pedidos de HTTPS. Para obter mais informações, consulte o SAP HANA seção XS do SAP HANA Guia de Administração. Ativando oFORCE_SSLopção garante que seu aplicativo é acessível apenas por meio de uma conexão HTTPS. Se a sua aplicação tem de suportar HTTP padrão (sem SSL), certifique-se de que nenhum dado sensível está sendo enviados para ou a partir da aplicação. A desativação do FORCE_SSLopção permite que atacantes para ler o que é enviado através da rede. Embora seja possível usar a criptografia baseada em mensagens para dados sensíveis, permitindo HTTP, é muito melhor para trabalhar com HTTPS. CuidadoSe uma configuração de tempo de execução existe para a sua aplicação, a FORCE_SSL ajuste na configuração do tempo de execução substitui a FORCE_SSLno .xsaccess.

enable_etags { "enable_etags": verdadeiro, } Você pode permitir ou impedir a geração de tags de entidade (GATE) para conteúdo Web estático usando oenable_etagspalavra-chave. Se nenhum valor for definido, a configuração padrão (true) se aplica, em que etags caso são gerados. Etags são utilizados para melhorar o desempenho do cache, por exemplo, de modo que os mesmos dados não são reenviados a partir do servidor, se não tiverem ocorrido alterações desde a última vez que um pedido de dados a mesma foi feita.

Se etags estão habilitados, o navegador envia com cada solicitação HTTP o etag recuperado de sua página em cache. Se o etag a partir da página em cache corresponde ao etag a partir do servidor, as respostas do servidor com o código de status 304 (não modificado) e não enviar a página solicitada completa. Embora permitindo etags tem o efeito colateral positivo de ajudar a prevenir ataques de envenenamento de cache, não há nenhum risco de segurança direto associado a desativação etags do ponto de vista do desenvolvedor.

prevent_xsrf { "prevent_xsrf": true, } Você pode usar o prevent_xsrfpalavra-chave no .xsaccess arquivo para proteger os aplicativos de cross-site request forgery-ataques (XSRF). Ataques XSRF tentar enganar um usuário a clicar em um link específico, que mostra uma (geralmente bem conhecido) o site e executa algumas ações em nome do usuário, por exemplo, em um iframe escondido. Se o usuário final alvejado está conectado e navegar usando uma conta de administrador, o ataque XSRF pode comprometer todo o aplicativo Web. Não há nenhuma boa razão para que você defina explicitamente esta palavra-chave para falsa.

Nota Recomenda-se para permitir que o prevent_xsrfrecurso para todos os aplicativos que não são somente leitura. O prevent_xsrfpalavra-chave impede que os ataques XSRF por garantir que as verificações são realizadas para estabelecer que um token de segurança válido disponível para uma determinada sessão do navegador. A existência de um token de segurança válido determina se um aplicativo responde ao pedido do cliente para exibir o conteúdo; se nenhum token de segurança válido estiver disponível, um 403 Proibidomensagem é exibida. Um token de segurança é considerada válida se ele corresponde ao token que SAP HANA XS gera, no final, de volta para a sessão correspondente.

NotaA configuração padrão é falso, o que significa que não há prevenção automática de ataques XSRF. Se nenhum valor é atribuído ao prevent_xsrf palavrachave, a configuração padrão (false) se aplica. Definir o prevent_xsrf a palavra-chave verdadegarante a proteção XSRF apenas no lado do servidor. No lado do cliente, para incluir o token XSRF nos cabeçalhos HTTP, você deve primeiro buscar o token como parte de uma solicitação GET, como ilustrado no exemplo a seguir: xmlHttp.setRequestHeader ("X-CSRF-token", "Fetch"); Você pode usar o token XSRF buscada em solicitações POST subseqüentes, conforme ilustrado no seguinte exemplo de código: xmlHttp.setRequestHeader ("X-CSRF-token", xsrf_token);

cabeçalhos { "headers": { "habilitado": true, "customHeaders": [{"name": "X-Frame-Options", "valor": ""}] } } Ativar o suporte para o campo de cabeçalho HTTP X-Frame-Options, que permite que o servidor para instruir o navegador do cliente se deve ou não exibir o conteúdo transmitido em quadros que fazem parte de outras páginas da Web. Você também pode habilitar essa configuração no arquivo de configuração de runtime correspondente do aplicativo, por exemplo, usando o XS Administration Tool.

Cuidadoconfigurações de tempo de execução substituir quaisquer definições especificadas na configuração de tempo de design. pode ser um dos seguintes procedimentos:  NEGAR  SAMEORIGIN  PERMITA-FROM Você só pode especificar uma URL com o PERMITA-FROM opção, por exemplo: "valor": "Permitir-FROM http://www.site.com".

NotaPara permitir que um aplicativo para usar cabeçalhos personalizados, você deve ativar a seção de cabeçalhos.

Informação relacionada Considerações do lado do servidor JavaScript segurança O arquivo de configuração de conexão SQL

Aplicativo de acesso à URL regras de regravação Reescrever URLs permite ocultar detalhes internos de usuários externos, clientes e motores de busca URL de caminho. Você define regras de reescrita de URL no arquivo de acesso de aplicativo (.xsaccess) para cada aplicativo ou para uma hierarquia de aplicação (um pacote de aplicativos e seus subpacotes). As regras de reescrita definidas no .xsaccess arquivo aplicam-se apenas à aplicação local ao qual o.xsaccess arquivo pertence; não é possível definir regras globais para reescrever URLs. As regras são especificadas como um par origemdestino onde a fonte é escrito em JavaScript o regex sintaxe, eo alvo é uma cadeia

simples, onde as referências a grupos encontrados podem ser inseridos usando $ groupnumber. Os exemplos a seguir mostram como usar um conjunto simples de regras de reescrita para esconder URLs internos de clientes solicitantes e usuários. O primeiro exemplo ilustra a estrutura de pacote que existe no repositório para uma dada aplicação; a estrutura inclui o pacote base AppTest, o subpackages subpackage1 e subpackage2, e vários outros sub-embalagens: seiva --- AppTest | --- lógica | | --- Users.xsjs | | --- Posts.xsjs | --- mensagens | | --- 2011 ... | --- subpackage1 | | --- Image.jpg | --- subpackage2 | | --- Subsubpackage | | | --- Secret.txt | | --- Script.xsjs | --- subpackage3 | | --- Internal.file | --- usuários | | --- 123 ... |. --- xsapp |. --- xsaccess | --- index.html O arquivo de acesso aplicação para o pacote AppTest (e seus subpacotes) inclui as seguintes regras para reescrever URLs usados em pedidos de clientes: { "rewrite_rules": [ { "fonte": "/ usuários / (\\ d +) /", "alvo": "/logic/users.xsjs?id=$1" }, { "fonte": "/ posts / (\\ d +) / (\\ d +) / (\\ d +) /", "alvo": "/logic/posts.xsjs?year=$1&month=$2&day=$3" } ] } Supondo que temos as regras de estrutura e pacote de reconfiguração de URL ilustrados nos exemplos anteriores, os seguintes URLs válidos seriam expostos; URLs corajosas exigir autenticação: / sap / AppTest / /sap/apptest/index.html

/sap/apptest/logic/users.xsjs /sap/apptest/logic/posts.xsjs A reescrita dos seguintes URLs seria permitido: / sap / AppTest / utilizadores / 123 / ==> /sap/appTest/logic/users.xsjs?id=123 / sap / AppTest / posts / 2011/10/12 / ==> /sap/appTest/logic/posts.xsjs?year=2011&month=10&day=12

Criar um SAP HANA XS Privilégios do aplicativo de arquivos O (aplicativo de privilégios .xsprivileges arquivo) permite que você defina os níveis de autorização necessários para o acesso a um aplicativo, por exemplo, para iniciar o aplicativo ou executar ações administrativas em um aplicativo. Você pode atribuir os privilégios de aplicativos para os usuários individuais que necessitam deles.

Pré-requisitos  

Um espaço de trabalho do repositório com um projeto compartilhado Um pacote de raiz para o aplicativo, por exemplo, MyAppPackage

ObservaçãoO namespace seiva é restrito. Coloque o novo pacote no seu próprio namespace, por exemplo,com.acme, que você pode criar ao lado da seiva namespace.  

Um arquivo de descrição do aplicativo (.xsapp) para o aplicativo selecionado Um arquivo de acesso de aplicativo (.xsaccess) para o aplicativo selecionado

Contexto O .xsprivileges arquivo deve residir no mesmo pacote de aplicativos que você deseja definir os privilégios de acesso para.

NotaSe você usar o .xsprivileges arquivo para definir privilégios específicos do aplicativo, você também deve adicionar uma entrada correspondente para o mesmo aplicativo .xsaccess arquivo, por exemplo, utilizando aautorização de palavras-chave.

Procedimento 1.

Criar o (aplicativo de privilégios .xsprivileges arquivo) e colocá-lo no pacote de aplicativos cujos privilégios de acesso que pretende definir. O arquivo de aplicativos de privilégios não tem um nome; ele só tem a extensão de arquivo.xsprivileges. O conteúdo do .xsprivileges arquivo deve ser formatado de acordo com JavaScript Object Notation (JSON) regras.

NotaVários .xsprivileges arquivos são permitidos, mas apenas em diferentes níveis na hierarquia do pacote; você não pode colocar dois .xsprivileges arquivos no mesmo pacote de aplicativos. Os privilégios definidos em um .xsprivileges arquivo estão vinculados ao pacote ao qual o arquivo pertence e só pode ser aplicada a este pacote e seus subpacotes. 1.

No SAP HANA estúdio e abrir o SAP HANA Desenvolvimento perspectiva. 2. No Project Explorer vista, clique com o botão direito na pasta onde você quer criar o novo(.xsprivileges arquivo). 3. 4.

No menu pop-up sensível ao contexto, escolha Novo Outro .... No uma Select Assistente de diálogo, escolha SAP HANA Application Development XS Privilégios do aplicativo de arquivos 5. Digite ou selecione a pasta pai, onde o arquivo de aplicativos de privilégios é para ser localizado. 6. Digite um nome para o arquivo de aplicativos de privilégios. DicaSe você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação do arquivo adiciona a extensão de arquivo necessária .xsprivilegesautomaticamente e permite a edição direta do arquivo. 7.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 8. Escolha Concluir. 9. Ative o novo (.xsprivileges arquivo). 2.

Defina os privilégios de aplicativos necessários. No .xsprivileges arquivo, você define um privilégio para um pacote de aplicativo, especificando um nome de entrada com uma descrição opcional. Este nome de entrada é então automaticamente prefixados com o nome do pacote no qual o .xsprivileges arquivo está localizado para formar um nome único privilégio. Por exemplo, com.acme.myapp :: Execute permitiria executar privilégios no pacotecom.acme.myapp. O nome é privilégio exclusivo para a embalagem a que pertence e, como resultado, pode ser usado em múltiplas .xsprivileges arquivos em pacotes diferentes.

NotaO .xsprivileges arquivo lista os níveis de autorização definidos para um pacote de aplicativos. A entrada correspondente é necessário no arquivo de acesso ao mesmo aplicativo .xsaccess arquivo para definir qual nível de autorização é atribuído a qual pacote de aplicativos. { "privilégios":

[ {"Name": "Executar", "descrição": "privilégio execução Basic"}, {"Name": "Admin", "descrição": "privilégio Administration"} ] } 3.

Especifique quais privilégios são necessários para o acesso ao pacote de aplicativos ou aplicativo. Se você usar o .xsprivileges arquivo para definir privilégios específicos do aplicativo, você também deve adicionar uma entrada correspondente para o mesmo aplicativo .xsaccess arquivo, por exemplo, utilizando a autorização de palavras-chave. NotaOs .xsprivileges arquivo lista os níveis de autorização que estão disponíveis para o acesso a um pacote de aplicativos; o .xsaccess arquivo define qual nível de autorização é atribuído a qual pacote de aplicativos. 1.

Localize e abra o arquivo de acesso aplicação XS (.xsaccess) para o

aplicativo para o qual você deseja definir privilégios de aplicativos. 2. Especificar os privilégios necessários para o acesso ao pacote de aplicativos ou aplicativo. Use a autorização palavra-chave no .xsaccess arquivo para especificar qual nível de autorização é exigida por um usuário para o acesso a um pacote de aplicativo específico.

NotaSe você ativar a autorização de palavras-chave no .xsaccess arquivo, você deve adicionar uma entrada correspondente ao .xsprivileges arquivo também. { "exposta": true, "Autenticação": [ {"Método": "Form"} ], "autorização": [ "com.acme.myApp :: Execute", "com.acme.myApp :: Admin" ]} 4. Guardar e activar as suas alterações e aditamentos. A ativação dos privilégios do aplicativo cria os objetos correspondentes, que você pode usar para atribuir os privilégios especificados para um autor. 5.

Atribua o privilégio aplicativo para os usuários que necessitam dele. Depois da activação dos .xsprivileges objeto, o único usuário que, por padrão, tem os privilégios do aplicativo especificada na .xsprivileges arquivo é o

usuário _SYS_REPO. Para conceder o privilégio especificado (ou revogá-las a partir de) outros usuários, utilize o procedimento GRANT_APPLICATION_PRIVILEGE ou REVOKE_APPLICATION_PRIVILEGE no esquema _SYS_REPO. Para conceder a executarprivilégio aplicativo para um usuário, execute o seguinte comando no SAP HANAdo estúdio SQL Console: chamar "_SYS_REPO". "GRANT_APPLICATION_PRIVILEGE" ("com.acme.myApp :: Execute" ',' <nomedousuário> ') Para revogar o executarprivilégio aplicativo para um usuário, execute o seguinte comando no SAP HANAdo estúdio SQL Console: chamar "_SYS_REPO". "REVOKE_APPLICATION_PRIVILEGE" ("com.acme.myApp :: Execute" ',' <nomedousuário> ')

Informação relacionada Criar um descritor de arquivo Aplicação Permitir o acesso a SAP HANA pacotes de aplicativos XS

O arquivo application-Privilégios Em SAP HANA alargou a aplicação Services (SAP HANA XS), o aplicativo de privilégios (.xsprivileges)arquivo pode ser usado para criar ou definir os privilégios de autorização exigidas para o acesso a um SAP HANAaplicação XS, por exemplo, para iniciar a aplicação ou para executar ações administrativas em um aplicativo.Estes privilégios pode ser verificada por um aplicativo em tempo de execução. O arquivo de aplicativos de privilégios tem apenas a extensão do arquivo .xsprivileges; ele não tem um nome e é formatado de acordo com regras JSON. Várias .xsprivileges arquivos são permitidos, mas apenas em diferentes níveis na hierarquia do pacote; você não pode colocar dois .xsprivileges arquivos no mesmo pacote de aplicativos. Os privilégios de pacotes definidos em um .xsprivileges arquivo são ligadas ao pacote para o qual o .xsprivileges arquivo pertence e só pode ser utilizado neste pacote e seus subpacotes. Dentro do .xsprivileges arquivo, um privilégio é definido especificando um nome de entrada com uma descrição opcional. Este nome de entrada é então automaticamente prefixados com o nome do pacote para formar o nome do privilégio exclusivo, por exemplo, sap.hana :: Execute. Como um privilégio do aplicativo é criado durante a ativação de um .xsprivileges arquivo, o único usuário que tem o privilégio por padrão é o usuário _SYS_REPO. Para conceder ou revogar o privilégio para (ou de) outros usuários, você pode usar o procedimento GRANT_APPLICATION_PRIVILEGE ou REVOKE_APPLICATION_PRIVILEGE no esquema _SYS_REPO.

NotaOs .xsprivileges arquivo lista os níveis de autorização que estão disponíveis para o acesso a um pacote de aplicativos; o .xsaccess arquivo define qual nível de autorização é atribuído a qual pacote de aplicativos. No seguinte acima, se o arquivo de aplicativos de privilégios está localizado no pacote de aplicativossap.hana.xse, então os seguintes privilégios são criados:  sap.hana.xse :: Execute  sap.hana.xse :: Administrador Os privilégios definidos aplicam-se ao pacote onde o .xsprivileges arquivo está localizado, bem como todos os pacotes mais abaixo na hierarquia pacote, a menos que um adicional de .xsprivileges arquivo está presente, por exemplo, em um sub-pacote. Os privilégios não se aplicam aos pacotes que não estão no caminho do pacote especificado, por exemplo, sap.hana.app1.

Exemplo O SAP HANA XS aplicativo de Privilégios Arquivo O exemplo a seguir mostra a composição e estrutura de um arquivo de aplicativos de privilégios SAP HANA básica XS. { "privilégios": [ {"Name": "Executar", "descrição": "privilégio execução Basic"}, {"Name": "Admin", "descrição": "privilégio Administration"} ] } Se o .xsprivileges arquivo mostrado no exemplo acima está localizado no pacote sap.hana.xse, você pode atribuir oExecutarprivilégio para o pacote para um usuário em particular chamando oGRANT_APPLICATION_PRIVILEGE procedimento, conforme ilustrado no código a seguir: chamar "_SYS_REPO". "GRANT_APPLICATION_PRIVILEGE" ("sap.hana.xse :: Execute" ',' <usuário> ')

Manter a segurança de aplicativos Como parte do processo de desenvolvimento de aplicações, você deve decidir como fornecer acesso aos aplicativos que você desenvolve. Acesso aplicação inclui questões relacionadas com a segurança, tais como métodos de autenticação e protocolos de comunicação Além das características e funções que você pode ativar com palavras-chave no .xsaccess arquivo, SAP HANAExtensão Application Services (SAP HANA XS) fornece um dedicado SAP HANA ferramenta de administração XS que é projetado

para ajudá-lo a configurar e manter o mecanismo de autenticação usado para controlar o acesso aos aplicativos que você desenvolve. O SAP HANA XS Administration Tool permite que você configure os seguintes elementos de tempo de execução para um aplicativo:  Segurança Escolha o nível de segurança que pretende definir para fornecer acesso à aplicação. Por exemplo, você pode expor o aplicativo com / sem a necessidade de autenticação (público / privado) e forçar o aplicativo para aceitar somente solicitações que usam SSL / HTTPS.  Autenticação Selecione um tipo de autenticação para usar quando verificar as credenciais do usuário antes de autorizar o acesso a um aplicativo, por exemplo: autenticação baseada em formulário (com nome de usuário e senha), SAML (SSO com Security Assertion Markup Language), bilhetes de logon SAP ...

Informação relacionada Configure a segurança de aplicativos Segurança de Aplicações Autenticação Aplicação

Configure a segurança de aplicativos Para restringir o acesso aos aplicativos que você desenvolve, você deve configurar o aplicativo para trabalhar com determinados métodos de autenticação e protocolos de comunicação.

Pré-requisitos Para executar as etapas nesta tarefa, é necessário garantir que os seguintes prérequisitos sejam atendidos:  

Você tem acesso a um SAP HANA sistema Você tem os privilégios concedidos nas seguintes SAP HANA funções de usuário XS: o sap.hana.xs.admin.roles :: RuntimeConfAdministrator

Contexto Você deve especificar se deve ou não expor o conteúdo do aplicativo, o método de autenticação é usado para conceder acesso ao conteúdo exposto, e qual o conteúdo é visível.

Procedimento 1.

Comece o SAP HANA XS Administration Tool. A ferramenta está disponível no SAP HANA servidor Web XS no seguinte URL: http: //<WebServerHost>: 80 <SAPHANAinstance> / sap / hana / xs / admin /.

NotaNa configuração padrão, o URL redireciona a solicitação para uma tela de logon, o que exige as credenciais de um autenticado SAP HANA usuário de banco de dados para concluir o processo de logon.Para garantir o acesso a todos os recursos necessários, o usuário que fizer logon deve ter o SAP HANAXS papel sap.hana.xs.admin.roles :: RuntimeConfAdministrator. 2.

Selecione as opções de segurança seus aplicativos usam. Você pode configurar as seguintes opções de segurança relacionados ao aplicativo:

NotaAs configurações de segurança são automaticamente herdadas por aplicativos mais abaixo na hierarquia da aplicação. No entanto, você pode substituir as definições de segurança herdadas em qualquer nível de aplicação, modificando as configurações para uma determinada aplicação. Aplicações abaixo o aplicativo com as configurações de segurança modificados herdar as novas configurações, modificados. 1.

Use a (sem autenticação necessária) Public opção para especificar se os aplicativos exigem autenticação de usuário para começar.  Desativado Esta é a configuração padrão. Em deficientes modo, a autenticação baseada em formulário eautenticação básica opções são habilitadas automaticamente na autenticação área da tela.  Ativado Se você permitir que o público opção, nenhuma autenticação é necessária para iniciar um aplicativo; a autenticação de área da tela é escondida, e você não pode selecionar as opções de autenticação de método. 2. Use a Força SSL opção para especificar se as solicitações do cliente deve usar o HTTP seguro (HTTPS).  Desativado Esta é a configuração padrão. Com Força SSL desabilitado, o aplicativo retorna uma resposta a todas as solicitações (HTTP e HTTPS).  Ativado Se você habilitar a Força SSL opção, solicitações de navegadores que usam HTTP padrão são recusados.

NotaA ativação da Força SSL opção só garante que o aplicativo selecionado se recusa qualquer pedido que não utiliza HTTPS; não configurar o protocolo Secure Sockets Layer (SSL) para você. O SAP HANA administrador deve configurar o Dispatcher SAP Web para aceitar (e para a frente) solicitações HTTPS, além disso.

Informação relacionada SAP HANA XS Application Security Autenticação Aplicação Configure Autenticação SAP HANA XS Aplicação O processo de candidatura-Access Guia de Segurança SAP HANA

SAP HANA XS Application Security Você pode configurar algumas opções básicas de segurança para aumentar a segurança dos aplicativos que você desenvolve para SAP HANA. SAP HANA estendidos Application Services (SAP HANA XS) fornece uma ferramenta dedicada, o SAP HANA XS Administration Tool, que é projetado para ajudá-lo a configurar e manter alguns dos aspectos básicos de segurança de tempo de execução relativas aos aplicativos que você desenvolver. Por exemplo, você pode usar oSAP HANA XS ferramenta de administração para especificar se os aplicativos que você desenvolve estão publicamente disponíveis para qualquer um para começar, ou se as aplicações só pode ser iniciado por um usuário autenticado. Você pode usar o SAP HANA Ferramenta XS Administração para definir as seguintes opções relacionadas à segurança para o aplicativo que você desenvolver para SAP HANA XS:  Público (sem autenticação necessária) Use a Public opção para especificar se os aplicativos exigem autenticação de usuário para começar. Por padrão, o Public opção no aplicativo Segurança área da tela é desativado ea autenticação baseada em formulário e autenticação básica opções são habilitadas automaticamente na autenticação área da tela.No entanto, você pode desativar a autenticação baseada em formulário e básico e permitir que outros métodos de autenticação adicionais (por exemplo, bilhetes de logon SAP ou autenticação X509). NotaSe você ativar o Público opção no aplicativo Segurança área da tela, nenhuma autenticação é necessária para iniciar um aplicativo; a autenticação de área da tela é escondida, e você não pode selecionar as opções de autenticação de método. 

Força SSL A força SSL opção permite recusar os pedidos do navegador da Web que não usam HTTP seguro (SSL / HTTPS) para conexões de cliente. Se nenhum valor for definido paraFORCE_SSL, A configuração padrão (false) se aplica e as ligações não segura (HTTP) são permitidos.

Informação relacionada Autenticação SAP HANA XS Aplicação O processo de candidatura-Access

Autenticação Aplicação Configure Para restringir o acesso aos aplicativos que você desenvolve, você deve configurar o aplicativo para trabalhar com determinados métodos de autenticação e protocolos de comunicação.

Pré-requisitos Para executar as etapas nesta tarefa, é necessário garantir que os seguintes prérequisitos sejam atendidos:  

Você tem acesso a um SAP HANA sistema Você tem os privilégios concedidos nas seguintes SAP HANA funções de usuário XS: o sap.hana.xs.admin.roles :: RuntimeConfAdministrator

Contexto Antes de definir os métodos de autenticação de um aplicativo usa para conceder acesso ao conteúdo do aplicativo, você deve usar as ferramentas de segurança do aplicativo para definir se deve ou não expor o conteúdo do aplicativo e, em caso afirmativo, qual o conteúdo para expor. SAP HANA XS permite definir vários métodos de autenticação para verificar as credenciais dos usuários que solicitam acesso ao conteúdo exposto; vários métodos de autenticação são considerados de acordo com uma ordem específica de prioridade. Por exemplo, se o primeiro método de autenticação falhar, SAP HANA tenta autenticar o usuário com o próximo método de autenticação especificado. Para configurar o método de autenticação um aplicativo usa para verificar as credenciais do usuário, siga os seguintes passos:

Procedimento 1.

Comece o SAP HANA XS Administration Tool. A ferramenta está disponível no SAP HANA servidor Web XS no seguinte URL: http: //<WebServerHost>: 80 <SAPHANAinstance> / sap / hana / xs / admin /.

NotaNa configuração padrão, o URL redireciona a solicitação para uma tela de logon, o que exige as credenciais de um autenticado SAP HANA usuário de banco

de dados para concluir o processo de logon.Para garantir o acesso a todos os recursos necessários, o usuário que fizer logon deve ter o SAP HANAXS papel sap.hana.xs.admin.roles :: RuntimeConfAdministrator. 2.

Selecione as opções de segurança seus aplicativos usam. Se você já tiver definido o nível de segurança do aplicativo, você pode pular este passo com segurança.Você pode configurar as seguintes opções de segurança relacionados ao aplicativo:

NotaAs configurações de segurança são automaticamente herdadas por aplicativos mais abaixo na hierarquia da aplicação. No entanto, você pode substituir as definições de segurança herdadas em qualquer nível de aplicação, modificando as configurações para uma determinada aplicação. Aplicações abaixo o aplicativo com as configurações de segurança modificados herdar as novas configurações, modificados. 1.

Use a (sem autenticação necessária) Public opção para especificar se os aplicativos exigem autenticação de usuário para começar.  Desativado Esta é a configuração padrão. Em deficientes modo, a autenticação baseada em formulário eautenticação básica opções são habilitadas automaticamente na autenticação área da tela.  Ativado Se você permitir que o público opção, nenhuma autenticação é necessária para iniciar um aplicativo; a autenticação de área da tela é escondida, e você não pode selecionar as opções de autenticação de método. 2. Use a Força SSL opção para especificar se as solicitações do cliente deve usar o HTTP seguro (HTTPS).  Desativado Esta é a configuração padrão. Com Força SSL desabilitado, o aplicativo retorna uma resposta a todas as solicitações (HTTP e HTTPS).  Ativado Se você habilitar a Força SSL opção, solicitações de navegadores que usam HTTP padrão são recusados.

NotaA ativação da Força SSL opção só garante que o aplicativo selecionado se recusa qualquer pedido que não utiliza HTTPS; não configurar o protocolo Secure Sockets Layer (SSL) para você. O SAP HANA administrador deve configurar o Dispatcher SAP Web para aceitar (e para a frente) solicitações HTTPS, além disso. 3.

Selecione o método de autenticação suas aplicações deve usar. Definições de autenticação são automaticamente herdadas por aplicativos mais abaixo na hierarquia da aplicação. No entanto, você pode substituir as configurações de autenticação herdadas em qualquer nível de aplicação, modificando as configurações para uma determinada aplicação. Aplicações abaixo o aplicativo com as configurações de autenticação modificados herdar as novas configurações, modificados.

NotaAtivando uma opção de aplicação de segurança (por exemplo, SAML2 ou X509) só garante que o aplicativo selecionado usa o método de autenticação ativado quando necessário; não realizar qualquer operação de instalação para o próprio método de autenticação. O SAP HANA administrador deve manter a infra-estrutura de autenticação selecionado (SAML2, X509, ou bilhetes de logon SAP) em uma etapa adicional. Você pode escolher qualquer seleção dos seguintes métodos de autenticação relacionados ao aplicativo; se você permitir que vários métodos de autenticação para sua aplicação, aplica-se uma prioridade, dependendo se o logon aplicativo é interativo ou não interativo: 1. Ativar o SAML2 opção. O SAP HANA administrador já deve ter configurado a infra-estrutura de autenticação, por exemplo, para permitir a criação de afirmações SAML2 para permitir SSO em navegadores da Web. 2.

Habilite a Autenticação X509 opção O SAP HANA administrador já deve ter configurado a infra-estrutura de autenticação adequado, por exemplo, para permitir que os usuários sejam autenticados por certificados de cliente assinados por uma Autoridade de Certificação confiável (CA).

3.

Ativar o tíquete de logon SAP opção O SAP HANA administrador já deve ter configurado a infra-estrutura de autenticação adequado, por exemplo, para permitir que os usuários sejam ser autenticado por um bilhete de logon que é emitido quando o mesmo usuário fizer logon em um sistema SAP que está configurado para criar bilhetes de logon (por exemplo , o SAP Web Application Server ou Portal).

4.

Ative a autenticação baseada em formulário opção Se o Público opção de segurança é desactivado, a autenticação baseada em formulário opção é ativada por padrão.

5.

Ative a autenticação básica opção Se o Público opção de segurança está desativada, a autenticação básica opção é ativada por padrão.

Informação relacionada Autenticação Aplicação Configure SAP HANA XS Application Security Autenticação SAP HANA XS Aplicação O processo de candidatura-Access Guia de Segurança SAP HANA

Autenticação SAP HANA XS Aplicação O método de autenticação determina se ou não é necessária autenticação para aceder a uma aplicação, e, se necessário, devem ser utilizadas para métodos de autenticação. SAP HANA estendidos Application Services (SAP HANA XS) fornece uma ferramenta dedicada, o SAP HANA XS Administration Tool, que é projetado para ajudá-lo a configurar e manter o mecanismo de autenticação usado para controlar o acesso de tempo de execução para os aplicativos que você desenvolver. O método de autenticação que você selecionar para o acesso à sua aplicação depende de quais métodos de autenticação são suportados porSAP HANA e se ou não o administrador do sistema tiver configurado o método de autenticação no backend do sistema. Você pode usar o SAP HANA XS ferramenta de administração para configurar aplicativos em execução em SAP HANA XS a utilizar os seguintes mecanismos de autenticação:  SAML2 Escolha essa opção se você tiver configurado afirmações SAML2 para habilitar SSO em navegadores da Web. SAML2 é a versão 2 da Security Assertion Markup Language (SAML), que permite a autenticação baseada na Web, incluindo single sign-on entre domínios. NotaO utilizador que liga para o banco de dados através de um provedor de autenticação externa deve também ter uma base de dados de utilizador para o banco de dados conhecido. SAP HANA mapeia a identidade externa para a identidade do utilizador do banco de dados interno. 





SPNEGO Escolha essa opção se você quiser a SAP HANA aplicações XS usar mecanismo GSSAPI Negotiation Simples e protegido (SPNEGO) para autenticação por meio de Kerberos para (HTTP) acesso baseado na Web. Autenticação X509 Certificados de cliente X.509 para HTTP seguro (HTTPS) o acesso ao SAP HANA aplicações XS, os usuários podem ser autenticados por certificados de cliente assinado por uma autoridade de certificação confiável (CA), que podem ser armazenados no SAP HANA XS armazenamento de confiança. Tíquete de logon SAP Para o acesso HTTPS para SAP HANA aplicações XS, um usuário pode ser autenticado por um bilhete de logon que é emitido quando os mesmos usuário fizer logon em um sistema SAP que está configurado para criar bilhetes de logon (por exemplo, o SAP Web Application Server ou Portal) . Para configurar a relação de confiança entre o emitente do bilhete de logon SAP e SAP HANA, você deve especificar o caminho para o armazenamento de confiança bilhete de logon SAP, que contém a cadeia de confiança para o emissor do bilhete. Você pode usar o SapLogonTicketTrustStore palavra-chave noxsengine.ini arquivo. Os valores padrão são: $ SECUDIR / saplogon.pse ou $ HOME / .ssl /saplogon.pem.

NotaSAP HANA não XS não emitir bilhetes de logon SAP; ele só aceita-los. Uma vez que os bilhetes normalmente residem em um cookie, o emitente e SAP

HANA XS precisam estar no mesmo domínio para se certificar de que o seu navegador envia o cookie bilhete de logon SAP com cada chamada paraSAP HANA XS. 

Autenticação baseada em formulário Esta opção é usada se o logon interativo é desejado. Com autenticação baseada em formulário, a solicitação de logon é redirecionado para um formulário para preencher, por exemplo, exibido na página da Web. Aautenticação baseada em formulário opção é ativada por padrão se a Públicas opção é desativada no aplicativo Segurança área da tela. NotaVocê também deve ativar a autenticação baseada em formulário no .xsaccess arquivo, se você quiser que seu aplicativo (ou aplicações) para usar logon baseado em formulário como método de autenticação. Note-se que quaisquer outras palavras-chave na seção de autenticação do .xsacessarquivo são ignorados. Autenticação baseada em formulário requer a libxsauthenticator biblioteca, que deve ser não só disponível, mas também ser especificada na lista de aplicativos confiáveis na xsengine contêiner de aplicativos. A lista de aplicativos é exibida no SAP HANA do estúdio Console de Administração perspectiva no seguinte local: Administração Configuração guia xsengine.ini application_container application_list.Se ele não for exibido, pergunte ao administrador do SAP HANA para adicioná-lo. DicaSe você precisar solucionar problemas com a autenticação baseada em formulário, você pode configurar a geração de informações de rastreamento útil no XSENGINE seção do componente de rastreamento banco de dados usando a seguinte entrada: xsa: sap.hana.xs.formlogon.



Autenticação básica Logon com um nome de usuário de banco de dados reconhecidos e senha. Esta opção é usada se logon não interativo é desejado. A autenticação básica opção é ativada por padrão se a Públicas opção é desativada no aplicativo Segurança área da tela. A autenticação de configuração permite que você defina os métodos de autenticação para usar para solicitações do navegador, quer ao nível da aplicação ou pacotes individuais em um aplicativo. NotaO mecanismo de autenticação definido na raiz da hierarquia application / pacote é herdada por aplicações mais abaixo na hierarquia do aplicativo.

Por padrão, o Public opção no aplicativo Segurança área da tela é desativado ea autenticação baseada em formulário e autenticação básica opções são habilitadas automaticamente na autenticação área da tela. No entanto, você pode desativar a autenticação baseada em formulário e básico e permitir que outros métodos de autenticação adicionais (por exemplo, bilhetes de logon SAP ou autenticação X509). Se vários métodos de autenticação estão habilitados, SAP HANA XS impõe a seguinte ordem de prioridade:  Para início de sessão não-interativo: 1. Autenticação X509

2. 3. 4.

SPNEGO Tíquete de logon SAP Autenticação básica  Para início de sessão interactivo: 1. SAML 2. Autenticação baseada em formulário Se você permitir que o público opção no aplicativo Segurança área da tela, nenhuma autenticação é necessária para iniciar um aplicativo; a autenticação de área da tela é escondida, e você não pode selecionar as opções de autenticação de método.

Informação relacionada O processo de candidatura-Access Aplicativo do Access Opções de palavra-chave FILE

Manter Destino HTTP Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. A definição pode ser referenciado por um aplicativo.

Contexto Se você deseja configurar um SAP HANA aplicação XS para acessar dados em um servidor específico, que oferece um serviço específico, por exemplo, um serviço que está disponível apenas fora da sua rede, é recomendável configurar os parâmetros de conexão HTTP em um arquivo de destino HTTP que você armazene localmente como um artefato de tempo de design. Você pode usar um destino HTTP para chamar um recurso externo diretamente de um aplicativo de JavaScript do lado do servidor. Você também pode usar um destino HTTP ao configurar uma rota de transporte, por exemplo, para automatizar o processo de exportação de uma unidade de entrega de um sistema e importá-lo para outro. Para criar uma configuração de destino HTTP para um SAP HANAaplicação XS, você deve executar as seguintes etapas de alto nível.

Procedimento 1.

Criar um pacote para o SAP HANA aplicação XS que usará o destino HTTP que você definir. 2. Definir os detalhes do destino HTTP. Você define os detalhes de um destino HTTP em um arquivo de configuração e usando uma sintaxe específica. O arquivo de configuração que contém os detalhes do destino HTTP deve ter o arquivo de extensão .xshttpdest e estar localizado no mesmo pacote do aplicativo que usa-lo ou uma das subembalagens do aplicativo.

3.

Definir todas as extensões na configuração do destino HTTP. Você pode estender um destino HTTP configurado, por exemplo, fornecendo detalhes adicionais respeitantes servidores proxy e os detalhes de início de sessão. Os pormenores sobre as extensões para o destino HTTP deve ser especificado em um arquivo de configuração separado. Como o destino HTTP original que modifica a extensão, a extensão de configuração de arquivo deve ter a extensão de arquivo .xshttpdest e estar localizado no mesmo pacote do arquivo de configuração do destino HTTP se estende ea aplicação que o utiliza.

4.

Verifique a configuração do destino HTTP usando o SAP HANA XS Administration Tool. O SAP HANA XS Administration Tool está disponível no SAP HANA servidor Web XS no seguinte URL:http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / admin / cabina do piloto.

Notade acesso aos detalhes dos destinos HTTP no SAP HANA XS Ferramenta de Administração exige as credenciais de um usuário do banco autenticado e um dos seguintes SAP HANA papéis:  

HTTPDestViewer HTTPDestAdministrator

Informação relacionada Criar um Destino Configuração HTTP Estender uma configuração HTTP Destino Destino HTTP Sintaxe de Configuração

Tutorial: Criar um Destino HTTP Criar um destino HTTP definindo detalhes de conexão para serviços em execução em hosts específicos. A definição pode ser referenciado por um aplicativo.

Pré-requisitos Uma vez que os artefatos necessários para criar um destino HTTP simples são armazenados no repositório, é assumido que você já realizou as seguintes tarefas:     o o

Criar um espaço de trabalho de desenvolvimento no repositório SAP HANA Criar um projeto no espaço de trabalho Compartilhe o novo projeto Atribuído seu usuário as seguintes SAP HANA papéis: HTTPDestAdministrator RuntimeConfAdministrator

Contexto Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. A definição pode ser referenciado por um aplicativo. Você também pode fornecer mais (ou modificados) detalhes de conexão em arquivos adicionais chamados "extensões"; valores especificados nas extensões substituir valores especificados na configuração do destino HTTP inicial. NotaDestinos configurações HTTP são definidos em um arquivo de texto; você pode usar as ferramentas de edição fornecidas com o SAP HANA estúdio ou seu editor de texto favorito.

Procedimento 1.

Criar um pacote para o SAP HANA aplicação XS que usará o destino HTTP você define neste tutorial. Por exemplo, crie um pacote chamado testApp. Certifique-se de que você pode escrever para o esquema onde você cria o novo aplicativo. 1.

Comece o SAP HANA estúdio e abrir o SAP HANA Desenvolvimento perspectiva. 2. Na Sistemas de vista, clique com botão direito do mouse no nó na hierarquia de pacotes em que você deseja criar o novo pacote e, no menu pop-up que exibe, escolha Pacotes ... 3. No novo pacote de diálogo que é exibida, digite os detalhes do novo pacote (testApp) que você deseja adicionar e clique em OK. 2.

Definir os detalhes do destino HTTP. Você define os detalhes de um destino HTTP em um arquivo de configuração que exige uma sintaxe específica. O arquivo de configuração que contém os detalhes do destino HTTP deve ter a extensão de arquivo .xshttpdest. Se você estiver usando o SAP HANA Studio para criar artefatos no SAP HANA Repository, o assistente de criação do arquivo adiciona a extensão de arquivo necessária automaticamente e permite a edição direta do arquivo. AtençãoVocê deve colocar a configuração de destino HTTP eo aplicativo XSJS que usa-lo no mesmo pacote de aplicativos. Um aplicativo não pode fazer referência a uma configuração de destino HTTP que está localizado em outro pacote de aplicativos. 1. 2. 3. 4. 5. 6. 7. 8.

Criar um chamado arquivo de texto simples yahoo.xshttpdest e abra-o em um editor de texto. Digite o seguinte código no novo arquivo yahoo.xshttpdest. host = "download.finance.yahoo.com"; port = 80; description = "meu estoque verificador de preços"; useSSL = false; PATHPREFIX = "/d/quotes.csv?f=a"; authType = nenhum;

9. useProxy = false; 10. proxyHost = ""; 11. proxyPort = 0; timeout = 0; 12.

Salvar e ativar o arquivo. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

3.

Ver o destino HTTP ativado. Você pode usar o SAP HANA XS ferramenta de administração para verificar o conteúdo de uma configuração de destino HTTP.

NotaPara fazer alterações na configuração do HTTP de destino, você deve usar um editor de texto, salve as alterações e reativar o arquivo. 1.

Comece o SAP HANA XS Administration Tool. O SAP HANA XS Administration Tool está disponível no SAP HANA servidor Web XS no seguinte URL: http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / admin / cabina do piloto.

Dicade acesso aos detalhes dos destinos HTTP no SAP HANA XS Ferramenta de Administraçãoexige as credenciais de um usuário do banco autenticado e as permissões concedidas pelas seguintes SAP HANA papéis:  

RuntimeConfAdministrator HTTPDestAdministrator 2. No XS Artefato Administration guia, expanda os nós no aplicativo Objetos árvore para localizar o aplicativo testApp. 3. Escolha yahoo.xshttpdest para exibir detalhes do destino HTTP. Se você estiver usando a Web-based XS Administration Tool, você só pode fazer alterações limitadas à configuração do destino HTTP exibido, como segue:  Salvar Comprometa-se com o repositório de todas as modificações feitas na configuração de destino HTTP na sessão atual.  Editar Detalhes da exibição correspondente extensão para a configuração de destino seleccionado HTTP. Se nenhuma extensão existir, o Editar opção não está disponível.  Estender Permite criar uma extensão para o destino selecionado XS HTTP e associar a extensão ao outro pacote (novo ou existente).

NotaEsta opção só está disponível se o destino selecionado HTTP é fornecida como parte de uma unidade de entrega, por exemplo, como um modelo de destino.

Informação relacionada Tutorial: Estender um Destino HTTP A configuração HTTP Destino Destino HTTP Sintaxe de Configuração

A configuração HTTP Destino Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. A definição pode ser referenciado por um aplicativo. Você usa o arquivo de destino HTTP para definir não só os detalhes do host que você quiser um aplicativo de alcançar por meio de HTTP, mas também quaisquer outros detalhes que são necessários para estabelecer a conexão, por exemplo, as configurações de proxy. Se necessário, as configurações de proxy também pode ser definida em um, chamado "arquivo de extensão" separado. Tanto o arquivo de configuração que você usa para definir um destino HTTP eo arquivo utilizado para especificar quaisquer extensões para o destino HTTP são arquivos de texto que deve ter o sufixo .xshttpdest, por exemplo, myHTTPdestination.xshttpdestou myHTTPdestExtension.xshttpdest.

NotaPor motivos de segurança, a configuração de destino HTTP eo aplicativo XSJS

que o utiliza devem estar no mesmo pacote de aplicativos ou de um dos subpacotes do aplicativo. Um aplicativo não pode fazer referência a uma configuração de destino HTTP que está localizada em uma estrutura de pacote de aplicativo diferente. Você configura um destino HTTP em um arquivo de texto que contém os detalhes da conexão para o destino HTTP, usando uma sintaxe obrigatória que inclua uma lista de palavra-chave = valor pares, por exemplo,host = "download.finance.yahoo.com";. Depois de criar e salvar o destino HTTP, você deve ativá-lo no SAP HANA repositório. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível. O seguinte arquivo de configuração para o destino HTTP yahoo.xshttpdest ilustra como definir um destino HTTP que pode ser usado para acessar um serviço financeiro em execução em um host externo. host = "download.finance.yahoo.com"; port = 80; description = "meu estoque verificador de preços"; useSSL = false; PATHPREFIX = "/d/quotes.csv?f=a";

authType = nenhum; proxyType = nenhum; proxyHost = ""; proxyPort = 0; timeout = 0; Depois de ativar a configuração no SAP HANA repositório, você pode visualizar os detalhes do novo destino HTTP usando o SAP HANA XS Administration Tool. Notade acesso aos detalhes dos destinos HTTP no SAP HANA XS Ferramenta de Administração exige as credenciais de um usuário do banco autenticado e um dos seguintes SAP HANA papéis:  HTTPDestViewer  HTTPDestAdministrator Se você estiver usando a Web-based XS Administration Tool, você só pode fazer alterações limitadas à configuração do destino HTTP exibido, como segue:  Salve: Comprometa-se com o repositório de todas as modificações feitas na configuração de destino HTTP na sessão atual.  Editar: Detalhes da exibição correspondente extensão para a configuração de destino seleccionado HTTP. Se nenhuma extensão existir, o Editar opção não está disponível.  Estender: Permite criar uma extensão para o destino selecionado XS HTTP e associar a extensão ao outro pacote (novo ou existente). NotaEsta opção só está disponível se o destino selecionado HTTP é fornecida como parte de uma unidade de entrega, por exemplo, como um modelo de destino.

Informação relacionada Destino HTTP Sintaxe de Configuração Tutorial: Criar um Destino HTTP

Destino HTTP Sintaxe de Configuração Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. As regras de sintaxe para aplicar o conteúdo da configuração de destino HTTP são verificadas quando você ativar a configuração no repositório.

Exemplo O arquivo de configuração do .xshttpdest

O exemplo a seguir mostra todas as combinações possíveis de palavras-chave do SAP HANA-acesso do aplicativo XS (.xshttpdest) arquivo.

NotaNa forma mostrada abaixo, a .xshttpdest arquivo é não um modelo de trabalho; ela é usada para ilustrar a sintaxe para todas as opções possíveis. hospedeiro = "download.finance.yahoo.com"; port = 80; // Todas as seguintes palavras-chave são opcionais description = ""; useSSL = false; sslauth = cliente; sslHostCheck = true; PATHPREFIX = "/d/quotes.csv?f=a"; authType = none; samlProvider = ""; samlACS = "header"; samlAttributes = " "; samlNameId = [" email "]; proxyType = none; proxyHost =" "; // in-line comentários são permitidos proxyPort = 0; tempo limite = 0; remoteSID = "Q7E"; remoteClient = "007"; oAuthAppConfigPackage = "sap.hana.test"; oAuthAppConfig = "abapTest"; Quando você está definindo o destino HTTP, ter em mente as seguintes regras de sintaxe importantes:  Um ponto e vírgula (;) é necessário na extremidade de cada linha em HTTP a configuração de destino, incluindo a última linha no ficheiro.  Valores de cadeia deve ser envolto em aspas (""), por exemplo: host = "download.finance.yahoo.com";

NotaAs hospedeiras e portuárias palavras-chave são obrigatórios; todas as outras palavras-chave são opcionais.

hospedeiro host = "download.finance.yahoo.com"; O anfitrião palavra-chave é obrigatória: ele permite que você especifique o nome do host do destino HTTP prestação do serviço ou dados que você quer que seu SAP HANA aplicação XS acesso.

porto port = 80; O porta palavra-chave é obrigatória; ele permite que você especifique o número da porta para usar em conexões para o destino HTTP hospedando o serviço de dados ou você quer que seu SAP HANA aplicação XS acesso.

descrição description = "minha curta descrição da conexão HTTP"; A palavra-chave opcional descrição permite que você forneça uma breve descrição do destino HTTP que você deseja configurar. Se você não quiser fornecer uma descrição, incluem a descrição, mas deixe a entrada entre as aspas vazias, por exemplo, "".

useSSL useSSL = [true | false]; A palavra-chave opcional useSSL é do tipo booleano e permite que você especifique se as conexões de saída entre SAP HANA XS e do destino HTTP é protegido com o Secure Sockets Layer (SSL) protocolo (HTTPS).

NotaDefinir essa opção não configura o SSL; se você quiser usar o SSL para proteger as conexões para o destino configurado, você deve garantir que o SAP HANA já está configurado para permitir conexões de saída seguras usando SSL. E se useSSL = true, Você pode definir o tipo de autenticação com a palavrachave sslauth. Você também pode usar osslHostCheck para permitir o controlo que assegura que o certificado utilizado para a autenticação é válido (corresponde ao hospedeiro).

sslauth sslauth = [cliente | anonymous]; E se useSSL = true, Você pode usar a palavra-chave sslauth para definir o tipo de autenticação. São permitidos os seguintes valores:  cliente



(Configuração padrão). Você deve criar uma entrada de armazenamento de confiança no SAP HANA XS ferramenta de administração do gerenciador de confiança (ou usar um exisiting que é conhecido com a configuração de destino HTTP) e manter a relação de confiança com o servidor SSL, por exemplo, através da adição de um certificado para o armazenamento de confiança que é usado para o processo de autenticação. anônimo Uma chave built-in é usado para criptografia SSL; nenhuma loja TRUST é necessária .. Sem autenticação via SSL é possível.

sslHostCheck sslHostCheck = [true | false]; E se useSSL = true, Você pode usar a palavra-chave sslHostCheckpara permitir o controlo que assegura que o certificado utilizado para a autenticação é válido (corresponde ao hospedeiro). São permitidos os seguintes valores:  verdade (Configuração padrão). O certificado SSL sujeito deve coincidir com o nome do host. Por exemplo, certificado de servidor SSL se CN = server1.acme.com, Então o parâmetro host deve serserver1.acme.com. Se não houver correspondência, SSL termina.



falso Nenhuma verificação de acolhimento é realizada. Observe que, se o certificado do servidor SSL é CN =server1.acme.com, e você usar "localhost "Como um parâmetro de conexão (porque esse certificado é instalado em seu próprio servidor), então isso funciona comsslHostCheck desactivado (sslHostCheck = false).

PATHPREFIX PATHPREFIX = "";

A palavra-chave opcional PATHPREFIX permite que você especifique um elemento de texto para adicionar ao início do URL usado para conexões com o serviço especificado na configuração do destino HTTP. Por exemplo,PATHPREFIX = "/d/quotes.csv?f=a" insere o caminho especificado na URL chamado pela conexão.

authType authType = [nenhum | básico | AssertionTicket | SamlAssertion | SamlAssertionPropagation]; A palavra-chave opcional authTypepermite que você especifique o método de autenticação que deve ser utilizado para pedidos de ligação para o serviço localizado no destino HTTP especificado na configuração, por exemplo,"base", que exige que os usuários forneçam um nome de usuário e senha como credenciais de autenticação. Os valores permitidos para oauthTypesão "none", "base", e "AssertionTicket". Se nenhum tipo de autenticação for especificado, a configuração padrão "none" se aplica. O AssertionTicket opção é para uso com aplicativos XSJS que querem permitir o acesso a serviços HTTP rodando em servidores remotos usando SAP single sign-on (SSO) com bilhetes afirmação SAP. Se oAssertionTicket opção for ativada, um usuário com privilégios de administração em SAP HANA deve usar o parâmetrosaplogontickettruststore para especificar o local do armazenamento de confiança contendo os bilhetes afirmação. DicaO saplogontickettruststore parâmetro pode ser definido em [IndexServer | xsengine] ini autenticaçãosaplogontickettruststore. E se authType = AssertionTicket é definido você também precisa definir valores para as palavras-chaveremoteSID e remoteclient. Para authType = SamlAssertion;, Você também deve definir as subproperties samlProvider, samlACS,samlAttributesE samlNameId.

samlProvider

samlProvider = ""; Se você definir authType = SamlAssertion, Você também deve definir a subpropriedade samlProvider, Que permite que você especifique o EntityID do partido SAML remoto.

samlACS samlACS = "header";

Se você definir authType = SamlAssertion, Você também deve definir a subpropriedade samlACS, Que permite que você especifique a forma como asserções SAML ou respostas são enviadas. Os seguintes valores são suportados:  "" (string vazia)



Uma resposta SAML (incluindo a afirmação SAML) é enviada para o ponto final de destino como um parâmetro HTTP POST. / saml / ACS / sso



Se você fornecer um caminho de URL, a resposta SAML (incluindo o SAML Assertion) é enviado para o nó de extremidade especificado em uma conexão com a Web adicional para estabelecer o contexto de autenticação (sessão) .Quando a comunicação de saída está sendo estabelecida, existem duas conexões: primeiro para o ponto final especificado (por exemplo, / saml / asc / sso) E, em seguida, para o ponto final de destino serviço. cabeçalho



A resposta SAML (incluindo a afirmação SAML) é enviado na autorização cabeçalho HTTP com a seguinte sintaxe: Autorização: SAML2.0 & lt; base-64 saml-resposta & gt;. parâmetro: afirmação A SAML Assertion é enviado como um parâmetro POST. Este sabor é necessário para integrações Jam.

samlAttributes samlAttributes = "nome1 = <property> & name2 = <property>"; Se você definir authType = SamlAssertion, Você também deve definir a subpropriedade samlAttributes, Que permite que você especifique atributos adicionais para o SAML Assertion.

samlNameId samlNameId = ["email", "não especificado"]; Se você definir authType = SamlAssertion, Você também deve definir a subpropriedade samlNameId, O que lhe permite definir uma lista de mapeamentos de nomes de identificação. Os seguintes valores são suportados:  o email  não especificado Por exemplo, se você tem um e-mail mantido em SAP HANA auto Usuário Services (USS), a afirmação SAML contém o seu endereço de e-mail; se você não tiver um endereço de e-mail mantido em SAP HANA USS, o mapeamento é "não especificado".

proxyType

proxyType = nenhum; A palavra-chave opcional proxyType permite especificar se um servidor proxy deve ser usado para resolver o nome do host especificado no arquivo de configuração do destino HTTP, e em caso afirmativo, que tipo de proxy.Os seguintes valores são permitidos:  nenhum  http  meias

AtençãoproxyType substitui e estende a funcionalidade previamente fornecida com a palavra-chave useProxy. Para compatibilidade com versões anteriores, a useProxy ainda é permitido, mas não deve ser mais usado. Para definir o host proxy ea porta para conectar, use as palavraschave proxyHost e proxyPortrespectivamente. Se você quiser incluir a informação relacionada com a procuração em uma configuração separada (a chamada de extensão para a configuração de destino HTTP original), é necessário definirproxyType = nonena configuração de destino HTTP inicial. No ramal de destino HTTP que as referências e modifica o destino HTTP original, você pode alterar a configuração do proxy para proxyType = http. Você deve, então, fornecer o nome do host correspondente do servidor proxy e um número de porta para usar em conexões.

proxyHost proxyHost = ""; Se você usar a palavra-chave useProxy = truepara especificar que um servidor proxy deve ser usado para resolver o nome do host de destino especificado na configuração do destino HTTP, você deve usar as proxyHoste ProxyPort palavraschave para especificar o nome completo do host que fornece o serviço proxy (eo número da porta para usar para conexões). O nome do host proxy deve ser acondicionada entre aspas, como ilustrado no exemplo a seguir, proxyHost = "myproxy.hostname.com"

proxyPort

proxyPort = 8080; Se você usar a palavra-chave useProxy = truepara indicar que um servidor proxy deve ser usado para resolver o nome do host especificado na configuração do destino HTTP, você também deve usar o proxyPort palavra-chave (em combinação com proxyHost =) para especificar a porta na qual o servidor proxy aceita as conexões.

tempo esgotado timeout = -1; A palavra-chave opcional tempo limite permite que você especifique por quanto tempo (em milissegundos) um aplicativo tenta se conectar ao host remoto especificado na configuração do destino HTTP, por exemplo,timeout = 5000;(5 segundos). Por padrão, o intervalo de tempo limite é definido como -1, o que significa que não há limite para o tempo necessário para se conectar ao servidor especificado na configuração do destino HTTP. Na configuração padrão, o aplicativo continua tentando se conectar ao servidor de destino, quer até que o servidor responde, no entanto duração do processo, ou o tempo limite de solicitação de sessão subjacente (300 segundos) é atingido. A configuração padrão (-1) se destina a ajudar em situações em que o servidor de destino é lenta para responder, por exemplo, devido à alta carga.

remoteSID remoteSID = "Q7E"; A palavra-chave opcional remoteSIDpermite que você especifique o SID de um sistema remoto ABAP. Você usa esta palavra-chave em combinação com o remoteClientpalavra-chave, por exemplo, para permitir que um aplicativo para fazer logon em um sistema de ABAP que é configurado para fornecer bilhetes afirmação SAP. Se o serviço de aplicação XSJS requer acesso a serviços remotos, você pode criar um destino HTTP que define os detalhes de logon exigidas pelo sistema ABAP remota e especifica SSO com bilhetes afirmação SAP como o método de autenticação de logon. NotaNo XS Administration Tool, o valor especificado em um arquivo de configuração com o destino HTTPremoteSIDpalavra-chave é exibido no SID SAP campo na AUTHENTICATION seção de configuração de tempo de execução do aplicativo. A SAP SID opção só está disponível se você selecionar SAP Assertion Ticket como o tipo de autenticação na configuração do tempo de execução do aplicativo.

remoteClient remoteClient = "007"; A palavra-chave opcional remoteClientpermite que você especifique o número de cliente para usar ao fazer logon em um sistema remoto ABAP. Você usa esta palavra-chave em combinação com oremoteSIDpalavra-chave, por exemplo, para permitir que um aplicativo para logon para um sistema de ABAP que é configurado para fornecer bilhetes afirmação SAP. Se o serviço de aplicação XSJS requer acesso a serviços remotos, você pode criar um destino HTTP que define os detalhes de logon exigidas pelo sistema ABAP remota e especifica SSO com bilhetes afirmação SAP como o método de autenticação de logon. NotaNo XS Administration Tool, o valor especificado em um arquivo de configuração do destino HTTP com oremoteClient palavra-chave é exibido no cliente SAP campo na AUTHENTICATION seção de configuração de tempo de execução do aplicativo. O cliente SAP opção só está disponível se você selecionar SAP Assertion Ticket como o tipo de autenticação na configuração do tempo de execução do aplicativo.

oAuthAppConfigPackage oAuthAppConfigPackage = "sap.hana.test"; Use a palavra-chave opcional oAuthAppConfigPackage permite que você especifique o local do pacote que contém a configuração do aplicativo oAuth para ser usado por uma configuração de destino HTTP.

oAuthAppConfig oAuthAppConfig = "abapTest"; Use a palavra-chave opcional oAuthAppConfigpermite que você especifique o nome da configuração do aplicativo oAuth para ser usado por uma configuração de

destino HTTP. A configuração da aplicação OAuth é um arquivo que descreve os parâmetros OAuth específicos do aplicativo que são usadas para permitir o acesso a um recurso que funciona em um destino HTTP remoto. A configuração da aplicação OAuth é definido em um artefato de tempo de design com o sufixo obrigatório arquivo .xsoauthappconfig; o arquivo de configuração deve ser especificado usando o formato JSON.

modifica modifica pkg.path.testApp: yahoo.xshttpdest; A palavra-chave modifica só pode ser usado em um HTTP extensão de arquivo e permite que você faça referência a um destino existente HTTP (ou extensão) cujas configurações você deseja estender mais ou modificar. As configurações em um destino HTTP extensão substituir quaisquer configurações idênticas na configuração de destino HTTP inicial. A configuração de destino HTTP referenciado pelo modifica palavra-chave já deve existir. NotaO destino HTTP extensão não tem que ser amarrado a uma aplicação XSJS particular; ele pode ser localizado em qualquer embalagem ou sub-embalagem aplicação. Por esta razão, você deve incluir o caminho do pacote completo para o ramal de destino HTTP ao usar o modifica palavra-chave.

Informação relacionada A configuração HTTP Destino A extensão HTTP Destino

Tutorial: Estender um Destino HTTP Estender um destino HTTP definindo detalhes de conexão para serviços em execução em máquinas específicas, por exemplo, ao fornecer detalhes adicionais. A definição e os detalhes de extensão pode ser referenciado por um aplicativo.

Pré-requisitos Uma vez que os artefatos necessários para criar um ramal de destino HTTP são armazenados no repositório, é assumido que você já realizou as seguintes tarefas:     o o

Criar um espaço de trabalho de desenvolvimento no SAP HANA repositório Criar um projeto no espaço de trabalho Compartilhe o novo projeto Atribuído seu usuário as seguintes SAP HANA papéis: HTTPDestAdministrator RuntimeConfAdministrator

NotaEste tutorial mostra como modificar um destino HTTP, fornecendo detalhes de um servidor proxy que deve ser usado para resolver os nomes de host especificados os detalhes da conexão; você deve fornecer o nome de um servidor proxy de trabalho que está disponível em seu ambiente.

Contexto Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. A definição pode ser referenciado por um aplicativo. Você também pode fornecer mais (ou modificados) detalhes de conexão em arquivos adicionais chamados "extensões"; valores especificados nas extensões substituir valores especificados na configuração do destino HTTP inicial. Notaconfigurações Destinos HTTP e quaisquer extensões são definidos em um arquivo de texto simples; você pode usar as ferramentas de edição fornecidas com o SAP HANA estúdio ou seu editor de texto favorito para adicionar entradas ao arquivo de configuração.

Procedimento 1.

Criar um pacote para o SAP HANA aplicação XS que usará o destino HTTP (e extensão) você define neste tutorial. Por exemplo, crie um pacote chamado testApp. Certifique-se de que você pode escrever para o esquema onde você cria o novo aplicativo. 1.

Comece o SAP HANA estúdio e abrir o SAP HANA Desenvolvimento perspectiva. 2. Na Sistemas de vista, clique com botão direito do mouse no nó na hierarquia de pacotes em que você deseja criar o novo pacote e, no menu pop-up que exibe, escolha Pacotes ... 3. No novo pacote de diálogo que é exibida, digite os detalhes do novo pacote (testApp) que você deseja adicionar e clique em OK. 2.

Definir os detalhes do novo destino HTTP. Você define os detalhes de um destino HTTP em um arquivo de configuração que exige uma sintaxe específica. O arquivo de configuração que contém os detalhes do destino HTTP deve ter a extensão de arquivo .xshttpdest.

AtençãoVocê deve colocar a configuração de destino HTTP no pacote de aplicativos que usa-lo. Um aplicativo não pode fazer referência a uma configuração de destino HTTP que está localizado em outro pacote de aplicativos. 1.

Criar um chamado arquivo de texto simples yahoo.xshttpdest e

abra-o em um editor de texto. 2. Digite o seguinte código no novo arquivo yahoo.xshttpdest. 3. host = "download.finance.yahoo.com";

4. port = 80; 5. description = "meu estoque verificador de preços"; 6. useSSL = false; 7. PATHPREFIX = "/d/quotes.csv?f=a"; 8. authType = nenhum; 9. proxyType = nenhum; 10. proxyHost = ""; 11. proxyPort = 0; timeout = 0; 12.

Salvar e ativar o arquivo. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

3.

Ver o destino HTTP ativado. Você pode usar o SAP HANA XS ferramenta de administração para verificar o conteúdo de uma configuração de destino HTTP.

NotaPara fazer alterações na configuração do HTTP de destino, você deve usar um editor de texto, salve as alterações e reativar o arquivo. 1. 2.

Abra um navegador da Web. Comece o SAP HANA XS Administration Tool. O SAP HANA XS Administration Tool ferramenta está disponível no SAP HANA servidor Web XS no seguinte URL: http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / xs / admin /.

Notade acesso aos detalhes dos destinos HTTP no SAP HANA XS Ferramenta de Administraçãoexige as credenciais de um usuário do banco autenticado e as permissões concedidas pelas seguintes SAP HANA papéis:  

RuntimeConfAdministrator HTTPDestAdministrator 3. No XS Artefato Administration guia, expanda os nós no aplicativo Objetos árvore para localizar o aplicativo testApp. 4. Escolha yahoo.xshttpdest para exibir detalhes do destino HTTP. 4.

Definir os detalhes da extensão para o destino HTTP que você criou nas etapas anteriores. Como o próprio destino HTTP, você define uma extensão para um destino HTTP em um arquivo de configuração que exige uma sintaxe específica. O arquivo de configuração que contém os detalhes do destino HTTP deve ter o sufixo do arquivo .xshttpdest.

AtençãoVocê deve colocar a configuração de destino HTTP (e quaisquer extensões para a configuração) no pacote de aplicativos que usa-los. Um aplicativo não pode fazer referência a uma configuração de destino HTTP (ou uma extensão) que está localizado em outro pacote de aplicativos.

1. 2. 3. 4. 5.

Crie um arquivo de texto simples chamado yahooProxy.xshttpdest e abra-o em um editor de texto. Digite o seguinte código no novo arquivo yahooProxy.xshttpdest. modifica testApp: yahoo.xshttpdest; proxyType = http; proxyHost = "proxy.mycompany.com"; proxyPort = 8080;

NotaSubstitua o valor emproxyHost com o nome do host que fornece o serviço de proxy. 6.

Salvar e ativar o arquivo. 5. Ver e verificar os detalhes do destino HTTP ativado extensão yahooProxy.xshttpdest. Você pode usar o SAP HANA XS ferramenta de administração para verificar o conteúdo de uma configuração de destino HTTP ou uma extensão para a configuração.

NotaPara fazer alterações na configuração do HTTP Destino (ou qualquer extensão), você deve usar um editor de texto, salve as alterações e reativar o arquivo. 1. 2.

Abra um navegador da Web. Comece o SAP HANA XS Administration Tool. O SAP HANA XS Administration Tool ferramenta está disponível no SAP HANA servidor Web XS no seguinte URL: http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / admin / cabina do piloto.

NotaNa configuração padrão, o URL redireciona a solicitação para uma tela de logon, o que exige as credenciais de um autenticado SAP HANA usuário de banco de dados para concluir o processo de logon. 3.

No XS Artefato Administration guia, expanda os nós no aplicativo Objetos árvore para localizar o aplicativo testApp. 4. Escolha yahooProxy.xshttpdest para exibir detalhes do ramal de destino HTTP.

Informação relacionada Tutorial: Criar um Destino HTTP A configuração HTTP Destino Destino HTTP Sintaxe de Configuração

A extensão HTTP Destino Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. Uma extensão para um destino HTTP fornece informações adicionais ou modifica valores definidos na configuração original. Você pode usar uma ou mais de extensão para uma configuração de destino HTTP; as extensões incluem adições para as configurações originais ou modificações nos valores definidos na configuração original. Por exemplo, você poderia incluir configurações básicas em um destino HTTP e fornecer detalhes sobre as configurações de proxy necessárias em um separado, chamado de "extensão". Você define uma extensão para uma configuração de destino HTTP em um arquivo de texto que contém os detalhes das modificações que você deseja aplicar para os detalhes de conexão para o destino HTTP inicial. O ramal de destino HTTP utiliza uma sintaxe obrigatória que inclua uma lista de palavra-chave = valor pares, por exemplo,host = "download.finance.myhoo.com";. As mesmas regras de sintaxe se aplicam para a configuração do destino HTTP básica e todas as extensões. Ambos os arquivos também deve ter o sufixo de arquivo .xshttpdest, por exemplo, myHTTPdestination.xshttpdest oumyHTTPextension.xshttpdest .Após criar e salvar o ramal de destino HTTP, você deve ativá-lo no SAP HANA repositório. NotaO destino HTTP extensão não tem que ser amarrado a uma aplicação XSJS particular; ele pode ser localizado em qualquer embalagem ou sub-embalagem aplicação. Por esta razão, você deve incluir o caminho do pacote completo para o ramal de destino HTTP. O seguinte arquivo de configuração para o destino HTTP yahooProxy.xshttpdest ilustra como modificar as configurações de proxy especificadas no destino HTTP yahoo.xshttpdest, localizado no pacote de aplicativospkg.path.testApp. modifica pkg.path.testApp: yahoo.xshttpdest; proxyType = http; proxyHost = "proxy.host.name.com"; proxyPort = 8080;

NotaPara compatibilidade com versões anteriores, a palavrachaveuserProxyainda funciona; No entanto, foi substituída com a palavrachaveproxyType, O que leva os valores: [nenhum | http | meias]. Após a ativação, você pode visualizar os detalhes do novo ramal de destino HTTP usando o SAP HANA XS Administration ferramenta. Notade acesso aos detalhes dos destinos HTTP no SAP HANA XS Ferramenta de Administração exige as credenciais de um usuário do banco autenticado e um dos seguintes SAP HANA papéis:  HTTPDestViewer  HTTPDestAdministrator

Tutorial: Criar um pacote de configuração OAuth Criar os arquivos necessários para habilitar um serviço que usa OAuth para autorizar o acesso a um recurso que funciona em um destino HTTP remoto.

Pré-requisitos Uma vez que os artefatos necessários para criar um pacote de configuração XS OAuth são armazenados no SAP HANA repositório, presume-se que você tenha o seguinte:    o o  

Um espaço de trabalho de desenvolvimento no SAP HANA repositório Um projeto compartilhado no espaço de trabalho O acesso a ferramentas de desenvolvimento SAP HANA, por exemplo: SAP HANA estúdio SAP HANA Workbench baseado na Web Uma configuração de destino HTTP (.xshttpdest)

Seu SAP HANA usuário banco de dados tem as permissões concedidas pelas seguintes funções: o RuntimeConfAdministrator o HTTPDestAdministrator o oAuthAdmin

Contexto Um pacote de configuração de OAuth é uma coleção de arquivos de configuração que definem os detalhes de como um aplicativo usa OAuth para permitir logon a um recurso em execução em um destino HTTP remoto. Um destino HTTP define detalhes de conexão para serviços em execução em máquinas específicas cujos detalhes você deseja definir e distribuir. As regras adicionais de sintaxe são aplicáveis ao conteúdo da configuração do destino HTTP são verificadas quando você ativar a configuração no repositório. Uma configuração de OAuth requer os seguintes dependentes arquivos de configuração:  Configuração da aplicação OAuth ( .xsoauthappconfig)



Descreve a configuração dos parâmetros de aplicação OAuth incluindo o nome e localização do pacote a configuração do cliente associados e quaisquer escopos obrigatórias ou facultativas. Configuração do cliente OAuth ( .xsoauthclientconfig)



Descreve a configuração do cliente OAuth incluindo: a identificação do cliente, o tipo de autenticação do cliente, bem como o nome e pacote de localização do cliente associado sabor. Configuração sabor cliente OAuth ( .xsoauthclientflavor)

Descreve a configuração de OAuth sabor cliente usado pela configuração do cliente XS OAuth, incuding: as etapas do protocolo e os parâmetros a serem ajustados. Note-se que, normalmente, você não precisa alterar a configuração sabor cliente OAuth. DicaVocê se conectar a configuração OAuth para a configuração do destino HTTP na configuração de tempo de execução do destino HTTP. O acesso às ferramentas de configuração de tempo de execução requer as permissões incluídas em uma função de administrador.

Procedimento 1.

Criar uma configuração de aplicação OAuth. Você precisa criar a configuração de base para a sua aplicação OAuth em um arquivo de tempo de design com a obrigatoriedade de arquivos de extensão .xsoauthappconfig. A configuração da aplicação é armazenado no SAP HANA repositório e deve ser ativado para criar os objetos do catálogo correspondentes. 1. Crie o arquivo de tempo de design que contém a configuração da aplicação OAuth, por exemplo,oauthDriveApp.xsoauthappconfig 2. 3. 4. 5. 6.

Definir os detalhes da nova configuração da aplicação OAuth, como segue: { "ClientConfig": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac", "mandatoryScopes": ["OAUTH2_TEST_SCOPE1", "OAUTH2_TEST_SCOPE2"], "description": "TestApplication ABAP para OAuth" }

NotaNeste exemplo, a configuração do cliente OAuth está localizado no pacotesap.hana.xs.oAuth.lib.providerconfig.providermodel; você pode alterar o caminho para atender às suas próprias necessidades. 2.

Criar uma configuração de cliente OAuth (opcional). Você cria a configuração do cliente para a sua aplicação OAuth em um arquivo de tempo de design com a obrigatoriedade de arquivos de extensão .xsoauthclientconfig. Você pode usar uma configuração de cliente existente a partir do pacote sap.hana.xs.oAuth.lib.providerconfig.providermodel ou criar sua própria configuração do cliente. A configuração da aplicação é armazenado no SAP HANArepositório e deve ser ativado para criar os objetos do catálogo correspondentes. 1. Crie o arquivo de tempo de design que contém a configuração do cliente OAuth, por exemplo,ABAPv1.xsoauthclientconfig 2.

Definir os detalhes do novo cliente OAuth configuração, como se segue:

3. {

4.

"clientFlavor": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac", 5. "clientID": "", 6. "clientAuthType": "básico", 7. "authorizationEndpointURL": "/ sap / bc / sec / oauth2 / autorizar", 8. "tokenEndpointURL": "/ sap / bc / sec / oauth2 / simbólica", 9. "revocationEndpointURL": "/ sap / bc / sec / oauth2 / revogar", 10. "redirectUrl": "<External_XS_HOST>: <porta> /sap/hana/xs/oAuth/lib/runtime/tokenRequest.xsjs", 11. "fluxo": "authcode", 12. scopeReq "": "", maxScopes 13. "description": "OAuth Client for SAP ABAP Application Server Autorização Fluxo Código" } 3.

Crie o sabor cliente OAuth (opcional). O arquivo sabor cliente OAuth é um artefato de tempo de design que fornece detalhes sobre o protocolo OAuth para um aplicativo cliente que utiliza os serviços prestados por uma aplicação OAuth correspondente.As etapas de sabor cliente OAuth são definidos em um artefato de tempo de design com o sufixo obrigatório arquivo .xsoauthclientflavor; o arquivo de configuração deve ser especificado usando o formato JSON.

DicaVocê não tem que criar o sabor cliente OAuth do zero; SAP HANA fornece alguns exemplos de OAuth sabores cliente que você pode usar. Os exemplos de sabores cliente OAuth estão localizados no seguinte pacote: sap.hana.xs.oAuth.lib.providerconfig.providermodel. O exemplo a seguir mostra o formato desejado e sintaxe para o conteúdo do .xsoauthclientflavorartefato.

NotaO exemplo a seguir não está completa; destina-se apenas para fins ilustrativos. {"Parâmetros": [ {"FlavorStep": "1Aut", "paramLocation": "uri", "paramName": "client_id", "ParamValue": "client_id", "valuetype": "eval", "paramMandatory": "true"}, {"FlavorStep": "2Gra", "paramLocation": "cabeça", "paramName": "Autorização", "ParamValue": "a autenticação básica", "valuetype": "sec", "paramMandatory": "true"} , {"FlavorStep": "3Prc", "paramLocation": "cabeça", "paramName": "portador", "ParamValue": "access_token", "valuetype": "sec", "paramMandatory": "true"}, {"FlavorStep": "4Ref", "paramLocation": "cabeça", "paramName": "Autorização", "ParamValue": "a autenticação básica", "valuetype": "sec", "paramMandatory": "true"} ,

{"FlavorStep": "5Rev", "paramLocation": "para", "paramName": "simbólica", "ParamValue": "access_token", "valuetype": "sec", "paramMandatory": "true"}, ]} 4.

Ative todos os arquivos de configuração XS OAuth. Ativando os arquivos de configuração cria os objetos do catálogo correspondentes.

5.

Adicione a configuração OAuth para a configuração de tempo de execução da configuração do destino HTTP que o exija. O SAP HANA XS Administration Tool está disponível no SAP HANA servidor Web XS no seguinte URL:http: // <WebServerHost>: 80 <SAPHANAinstance> / sap / hana / admin / cabina do piloto.

Notade acesso aos detalhes dos destinos HTTP no SAP HANA XS Ferramenta de Administração exige as credenciais de um usuário do banco autenticado e um dos seguintes SAP HANA papéis: 1. 2. 3. 1. 2.

RuntimeConfAdministrator HTTPDestAdministrator oAuthAdmin Comece o XS Artefato Administration ferramenta. No objetos Aplicativo lista, localizar e escolher a configuração de destino HTTP que você deseja modificar. 3. Escolha o OAuth Detalhes guia. 4. Escolha Editar Procurar OAuth App Configs 5. Selecione uma configuração de aplicação OAuth na lista exibida. O nome da configuração do aplicativo que você escolher e o caminho absoluto para o pacote de onde ele está localizado são exibidos nos campos apropriados, por exemplo.  

OAuth App configuração do pacote: sap.hana.test Nome OAuth App Config: abapTest

NotaOs valores aqui apresentados devem também estar presentes na configuração destino HTTP para o qual a configuração OAuth aplica. Por exemplo, o destino HTTP correspondente à configuração de OAuth você estiver configurando nesta tarefa também deve conter entradas que descrevem o nome ea localização do pacote a configuração da aplicação OAuth de usar. oAuthAppConfigPackage = "sap.hana.test"; oAuthAppConfig = "abapTest"; 6.

Navegue até a configuração do cliente OAuth e definir o segredo do cliente.

7.

Escolha Salvar para atualizar a confguração tempo de execução para o destino HTTP.

Informação relacionada Tutorial: Criar um Destino HTTP

OAuth Sintaxe de Configuração de Aplicativos Sintaxe de configuração do cliente OAuth Sintaxe Flavor cliente OAuth

OAuth Sintaxe de Configuração de Aplicativos O formato ea sintaxe necessária em um artefato de tempo de design que descreve uma configuração de aplicação OAuth. A configuração da aplicação OAuth é um arquivo que descreve os parâmetros OAuth específicos do aplicativo que são usadas para permitir o acesso a um recurso que funciona em um destino HTTP remoto. A configuração da aplicação OAuth é definido em um artefato de tempo de design com o sufixo obrigatório arquivo.xsoauthappconfig; o arquivo de configuração deve ser especificado usando o formato JSON. ObserveO seguinte exemplo de código não é um exemplo de trabalho; ele é fornecido para fins de ilustração, somente. { "ClientConfig": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac", "Descrição": "aplicativo de teste ABAP para OAuth", "MandatoryScopes": ["OAUTH2_TEST_SCOPE1", "OAUTH2_TEST_SCOPE2"], "OptionalScopes": ["OAUTH2_TEST_SCOPE3", "OAUTH2_TEST_SCOPE4"], "Modifica": "sap.hana.test: abapTest" } Uma configuração de OAuth requer os seguintes dependentes arquivos de configuração:  Configuração da aplicação OAuth (.xsoauthappconfig)  Configuração do cliente OAuth (.xsoauthclientconfig)  OAuth configuração sabor cliente (.xsoauthclientflavor)

ClientConfig

Use o ClientConfigpalavra-chave para especificar o nome completo do associado xsoauthclientconfigartefato, usando o formato <path.to.package>: <XSOauthClientConfigObjectName>. "ClientConfig": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac",

NotaÉ obrigatório especificar o nome eo local do pacote que contém a configuração associada cliente OAuth.

descrição Use o descrição palavra-chave para fornecer uma curta descrição opcional do conteúdo da configuração de aplicação OAuth. "description": "aplicativo de teste ABAP para OAuth",

mandatoryScopes

Use o mandatoryScopes palavra-chave para especificar um ou mais (em uma matriz) de seqüências que descrevem as permissões obrigatórias solicitadas pelo cliente. "mandatoryScopes": ["OAUTH2_TEST_SCOPE1", "OAUTH2_TEST_SCOPE2"],

optionalScopes Use o optionalScopes palavra-chave para especificar um ou mais (de um array) de cordas que descrevem as permissões opcionais a serem usados pelo cliente. "optionalScopes": ["OAUTH2_TEST_SCOPE3", "OAUTH2_TEST_SCOPE4"],

modifica Use o modificapalavra-chave para indicar que a configuração do aplicativo XS OAuth atual (por exemplo,abapTest2.xsoauthappconfig baseia-se (e alarga) outra SAP HANA configuração do aplicativo XS OAuth (por exemplo, abapTest.xsoauthappconfig). Você deve especificar o nome completo do associado SAP HANA XS OAuth artefato de configuração do aplicativo (xsoauthappconfig), utilizando o formato<path.to.package>: . "modifica": "sap.hana.test: abapTest.xsoauthappconfig",

Informação relacionada

Sintaxe de configuração do cliente OAuth Sintaxe Flavor cliente OAuth Tutorial: Criar um pacote de configuração OAuth

Sintaxe de configuração do cliente OAuth O formato ea sintaxe necessária em um artefato de tempo de design que descreve a configuração do cliente OAuth. A configuração do cliente OAuth é um arquivo que descreve detalhes dos parâmetros do cliente para uma aplicação que utiliza os serviços fornecidos por um aplicativo OAuth correspondente que permite o acesso a um recurso em execução em um destino HTTP remoto. A configuração do cliente OAuth é definido em um artefato de tempo de design com o sufixo obrigatório arquivo .xsoauthclientconfig; o arquivo de configuração deve ser especificado usando o formato JSON. O exemplo de código a seguir mostra o conteúdo de uma configuração típica cliente OAuth.

ObserveO seguinte exemplo de código não é um exemplo de trabalho; ele é fornecido para fins de ilustração, somente. { "ClientFlavor": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac", "ClientID": "", "ClientAuthType": "básico", "AuthorizationEndpointURL": "/ sap / bc / sec / oauth2 / autorizar", "TokenEndpointURL": "/ sap / bc / sec / oauth2 / simbólica", "RevocationEndpointURL": "/ sap / bc / sec / oauth2 / revogar", "Fluxo": "authcode", "Descrição": "OAuth do cliente para servidor ABAP", "SamlIssuer": "", "RedirectUrl": ": <porta> /sap/hana/xs/oAuth/lib/runtime/tokenRequest.xsjs", "ScopeReq": "", maxScopes "Compartilhada": "true", "Modifica": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac" } Neste exemplo, a configuração do cliente OAuth está localizado no pacote com.acme.oAuth.lib; alterar o caminho especificado na clientFlavorpara atender às suas próprias necessidades. Você também terá que mudar o valor especificado paraclientID e redirectUrl.

DicaSAP HANA oferece algumas configurações do cliente OAuth exemplo que você pode usar; você pode encontrá-los no seguinte pacote: sap.hana.xs.oAuth.lib.providerconfig.providermodel

clientFlavor Use o clientFlavorpalavra-chave para especificar o nome completo do associado XS OAuth artefato configuração sabor cliente, por exemplo, ABAPv1.xsoauthclientfavor; você deve usar o formato<path.to.package>: (não é necessário qualquer extensão de arquivo). "clientFlavor": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac",

NotaÉ obrigatório especificar o nome eo local do pacote que contém o cliente OAuth associada sabor configuração.

clientID Use o clientIDpalavra-chave para definir uma sequência que especifica a ID do cliente, o qual é usado para identificar o cliente com o servidor. OclientID deve ser alterado para atender às suas necessidades.Tipicamente, oID do cliente é obtido por registrar com um provedor de serviço específico. "clientID": "",

NotaÉ obrigatório para definir oclientID.

clientAuthType Use o clientAuthType palavra-chave para definir um número que especifica o tipo de autenticação do cliente, por exemplo, "Cert" ou "Básico". "clientAuthType": "básico",

NotaÉ obrigatório para definir oclientAuthType.

São permitidos os seguintes valores:  básico (usuário e senha)  cert (autenticação por certificado de cliente)

authorizationEndpointURL Use o authorizationEndpointURLpalavra-chave para especificar uma cadeia de caracteres que define o ponto de extremidade de autorização. O endpoint autorização é o ponto final no servidor de autorização, quando o proprietário do recurso faz logon e autorização subsídios para a aplicação cliente. "authorizationEndpointURL": "/ sap / bc / sec / oauth2 / autorizar",

NotaÉ obrigatório para definir oauthorizationEndpointURL.

tokenEndpointURL Use o tokenEndpointURLpalavra-chave para especificar uma cadeia de caracteres que define o ponto de extremidade token. O ponto final do token é o ponto final no servidor de autorização, quando as trocas de aplicativos cliente o código de autorização, a identificação do cliente, eo segredo do cliente para um token de acesso. "tokenEndpointURL": "/ sap / bc / sec / oauth2 / simbólica",

NotaÉ obrigatório para definir otokenEndpointURL.

revocationEndpointURL Use o revocationEndpointURLpalavra-chave para especificar uma cadeia de caracteres que define o ponto de extremidade token. O ponto final do token é o ponto final no servidor de autorização, quando as trocas de aplicativos cliente o código de autorização, a identificação do cliente, eo segredo do cliente para um token de acesso. "revocationEndpointURL": "/ sap / bc / sec / oauth2 / revogar",

NotaÉ obrigatório definir um valor para arevocationEndpointURL.

fluxo Use o fluxo palavra-chave para especificar um número que define o fluxo de autorização utilizado durante a troca de autenticação, por exemplo, saml2Bearer ou Código de autenticação. "fluxo": "saml2Bearer",

NotaÉ obrigatório definir um valor parafluxo. São permitidos os seguintes valores:  saml2Bearer  Código de autenticação

descrição Use o opcional descrição palavra-chave para fornecer uma breve descrição da configuração do cliente OAuth. "description": "OAuth Client for SAP ABAP App Servidor - Autorização Fluxo Código"

samlIssuer Use o opcional samlIssuerpalavra-chave para especificar uma cadeia de caracteres que define o ID emitenteSAML. O ID emitente SAML descreve o emissor do token SAML. A extensão SAML portador permite a validação de tokens SAML como parte da concessão do token de acesso OAuth. NotaVocê definir este parâmetro somente se o parâmetrofluxo é definido como saml2Bearer, por exemplo,"fluxo": "saml2Bearer". "samlIssuer": "",

redirectUrl

Use o redirectUrlpalavra-chave para especificar uma cadeia de caracteres que define o ponto final deredirecionamento. O ponto final de redirecionamento é o ponto final no aplicativo cliente onde o proprietário do recurso é redirecionado para, depois de ter concedido autorização ao endpoint autorização. O redirectUrl deve ser alterado para atender às suas necessidades. "redirectUrl": ": <porta> /sap/hana/xs/oAuth/lib/runtime/tokenRequest.xsjs",

NotaSe"fluxo":

"authcode", É obrigatório definir um valor para a redirectUrl.

scopeReq Use o scopeReqpalavra-chave para especificar se o alcance máximo disponível a partir de todos os aplicativos usando esta configuração do cliente é sempre solicitado ou o escopo definido é especificado de forma iterativa. scopeReq "": "", maxScopes São permitidos os seguintes valores:  maxScopes  iterativeScopes

NotaAtualmente, apenasmaxScopes é implementado.

compartilhado Use o compartilhado palavra-chave para especificar um número que define se o se a configuração do cliente XS OAuth podem ser compartilhados entre aplicativos. "compartilhada": "false", São permitidos os seguintes valores:  verdade (compartilhado)  falso(Não compartilhada)

NotaAtualmente, apenasverdade é implementado.

modifica Use o modificapalavra-chave para indicar que a configuração atual do cliente XS OAuth, por exemplo,abap_ac1.xsoauthclientconfig, baseia-se (e alarga) outra SAP HANA configuração XS OAuth do cliente (por exemplo, abap_ac.xsoauthclientconfig). Você deve especificar o nome completo do artefato configuração do cliente OAuth associado ( .xsoauthclientconfig), utilizando o formato<path.to.package>: .xsoauthclientconfig. "modifica": "sap.hana.xs.oAuth.lib.providerconfig.providermodel: abap_ac.xsoauthclientconfig",

Informação relacionada

Sintaxe Flavor cliente OAuth OAuth Sintaxe de Configuração de Aplicativos Tutorial: Criar um pacote de configuração OAuth

Sintaxe Flavor cliente OAuth O formato ea sintaxe necessária em um artefato de tempo de design que descreve os sabores do cliente OAuth. O arquivo sabor cliente OAuth fornece detalhes sobre o protocolo OAuth para um aplicativo cliente que utiliza os serviços fornecidos por um aplicativo OAuth correspondente. As etapas de sabor cliente OAuth são definidos em um artefato de tempo de design com o sufixo obrigatório arquivo .xsoauthclientflavor; o arquivo de configuração deve ser especificado usando o formato JSON. NotaO exemplo a seguir de uma configuração sabor cliente OAuth é incompleta; destina-se apenas para fins ilustrativos. {"Parâmetros": [ {"FlavorStep": "1Aut", "paramLocation": "uri", "paramName": "client_id", "ParamValue": "client_id", "valuetype": "eval", "paramMandatory": "true"}, {"FlavorStep": "1Aut", "paramLocation": "uri", "paramName": "redirect_uri", "ParamValue": "redirect_uri", "valuetype": "eval", "paramMandatory": "true"}, {"FlavorStep": "1Aut", "paramLocation": "uri", "paramName": "escopo", "ParamValue": "escopo", "valuetype": "eval", "paramMandatory": "true"}, {"FlavorStep": "1Aut", "paramLocation": "uri", "paramName": "response_type", "ParamValue código": "", "valuetype": "litr", "paramMandatory": "true"}, {"FlavorStep": "1Aut", "paramLocation": "uri", "paramName": "Estado", "ParamValue": "Estado", "valuetype": "eval", "paramMandatory": "true"},

{"FlavorStep": "2Gra", "paramLocation": "cabeça", "paramName": "Autorização", "ParamValue": "a autenticação básica", "valuetype": "sec", "paramMandatory": "true"} , {"FlavorStep": "2Gra", "paramLocation": "cabeça", "paramName": "Content-Type", "ParamValue": "application / x-www-form-urlencoded", "valuetype": "litr" "paramMandatory": "true"}, {"FlavorStep": "2Gra", "paramLocation": "para", "paramName código": "", "ParamValue código": "", "valuetype": "eval", "paramMandatory": "true"}, {"FlavorStep": "2Gra", "paramLocation": "Para", "paramName": "grant_type", "ParamValue": "authorization_code", "VALUETYPE": "litr", "paramMandatory": "verdadeiro"}, {"FlavorStep": "2Gra", "paramLocation": "para", "paramName": "client_id", "ParamValue": "client_id", "valuetype": "eval", "paramMandatory": "true"}, {"FlavorStep": "2Gra", "paramLocation": "Para", "paramName": "redirect_uri", "ParamValue": "redirect_uri", "VALUETYPE": "Eval", "paramMandatory": "verdadeiro"}, {"FlavorStep": "3Prc", "paramLocation": "cabeça", "paramName": "portador", "ParamValue": "access_token", "valuetype": "sec", "paramMandatory": "true"}, {"FlavorStep": "4Ref", "paramLocation": "cabeça", "paramName": "Autorização", "ParamValue": "a autenticação básica", "valuetype": "sec", "paramMandatory": "true"} , {"FlavorStep": "4Ref", "paramLocation": "cabeça", "paramName": "Content-Type", "ParamValue": "application / x-www-form-urlencoded", "valuetype": "litr" "paramMandatory": "true"}, {"FlavorStep": "4Ref", "paramLocation": "Para", "paramName": "grant_type", "ParamValue": "refresh_token", "VALUETYPE": "litr", "paramMandatory": "verdadeiro"}, {"FlavorStep": "4Ref", "paramLocation": "Para", "paramName": "refresh_token", "ParamValue": "refresh_token", "VALUETYPE": "sec", "paramMandatory": "verdadeiro"}, {"FlavorStep": "5Rev", "paramLocation": "para", "paramName": "simbólica", "ParamValue": "access_token", "valuetype": "sec", "paramMandatory": "true"}, ]} Não é necessário para criar o seu próprio sabor cliente OAuth do zero; SAP HANA fornece alguns sabores cliente OAuth para uma seleção de cenários de servidor OAuth, que você pode usar sem modificação. DicaO exemplo sabores cliente OAuth estão localizados no pacotesap.hana.xs.oAuth.lib.providerconfig.providermodel. No entanto, você não precisa modificar o sabor artefato cliente OAuth para os seguintes cenários:  As modificações são necessárias (ou já foram feitas) para o API de um servidor OAuth disponível.



A conexão é necessária para um novo servidor OAuth não coberto pelos cenários incluídos nos SAP HANAmodelos de configuração.

parâmetros Use o parâmetros palavra-chave para definir uma lista de valores de parâmetros pares, por exemplo,"paramLocation": "uri" que suportam a especificação definida no arquivo de configuração do cliente OAuth .oxauthclientconfig.

flavorStep Use o flavorStep palavra-chave para especificar um passo no procedimento utilizado pelo cliente sabor, como ilustrado no exemplo que se segue "flavorStep": "saml", São permitidos os seguintes valores:  IAut  2Gra  3Prc  4Ref  5Rev  saml

paramLocation

Use o paramLocation palavra-chave para especificar a localização do parâmetro definido, como mostrado no exemplo a seguir: "paramLocation": "uri", São permitidos os seguintes valores:  uri 

Indicador de recursos Universal cabeça



No cabeçalho do pedido Pará No corpo do pedido

paramName Use o paramNamepalavra-chave para especificar o nome do parâmetro definido em "paramLocation", Como mostrado no exemplo a seguir: "paramName": "simbólica", O nome do parâmetro depende da configuração local de sua configuração do cliente.

ParamValue Use o ParamValuepalavra-chave para especificar um valor para o nome do parâmetro especificado no"paramName". "ParamValue": "access_token", O nome do parâmetro depende da configuração local de sua configuração do cliente.

valuetype Use o valuetypepalavra-chave para especificar o tipo de valor esperado pelo parâmetro definido em"ParamValue".

"valuetype": "sec", São permitidos os seguintes valores:  litr 

Valor literal eval



O valor é avaliada pelo tempo de execução do cliente OAuth sec O valor é avaliada pelo tempo de execução do cliente OAuth de forma segura

paramMandatory Use o paramMandatory palavra-chave para especificar se um parâmetro é necessário ou não. "paramMandatory": "true", São permitidos os seguintes valores:  verdade 

Requeridos falso Não requerido

Informação relacionada Sintaxe de configuração do cliente OAuth OAuth Sintaxe de Configuração de Aplicativos Tutorial: Criar um pacote de configuração OAuth

Manter artefatos de aplicativos Os blocos de construção de tempo de design de um SAP HANA aplicativos são chamados objetos (ou artefatos) de desenvolvimento, e muitos têm uma extensão de arquivo obrigatório, por exemplo, .hdbtable (definição da tabela de tempo de design), .hdbview (design-time SQL-view definição), ou .hdbrole (definição de função de tempo de design). Alguns dos objetos de desenvolvimento que você encontrar ao criar um aplicativo, como projetos e pacotes, são projetados para ajudá-lo a estruturar sua aplicação. Outros objetos, como esquemas, definições de tabela, ou visões analíticas e atribuem, ajudá-lo a organizar seus dados. Definições de tempo de design de procedimentos e código JavaScript do lado do servidor são os objetos principais de um SAP HANA aplicação; estes, também, têm extensões de arquivos obrigatórios, por exemplo, .hdbprocedure ou .xsjs. Outros tipos de objetos de desenvolvimento ajudá-lo a controlar o acesso a objetos de tempo de execução. Quando você ativa um artefato aplicação, a extensão de arquivo (por exemplo, .hdbdd, .xsjs, ouhdbprocedure, ...) é usado para determinar qual plug-in runtime para chamar durante o processo de ativação. O plug-in lê o artefato repositório selecionado para ativação (por exemplo, uma definição de tabela, um documento CDS completo, ou do lado do servidor código

JavaScript), interpreta a descrição do objeto no arquivo e cria o objeto de tempo de execução adequado no catálogo designado esquema. As extensões de arquivo associadas a artefatos de aplicativos são utilizados em outros contextos também. Por exemplo, em SAP HANA estúdio, um menu sensível ao contexto é exibida quando você clica em um artifiact com o botão alternado do mouse; as opções são apresentadas no menu é determinada, entre outras coisas, de acordo com a extensão do arquivo.

Informação relacionada Artefatos de aplicativos de tempo de design Ferramentas de desenvolvimento SAP HANA Baseada em estúdio

Artefatos de aplicativos de tempo de design Os blocos de construção de tempo de design de suas SAP HANA aplicações têm uma extensão de arquivo obrigatório, por exemplo, .hdbtable (design-time definição da tabela) ou .hdbview (design-time definição SQL-view). Em SAP HANA, artefatos de aplicativos tem uma extensão de arquivo obrigatório, que é usado para determinar as ferramentas de repositório necessárias para analisar o conteúdo do artefato de tempo de design na ativação. As tabelas a seguir listam os blocos de construção mais utilizados de um SAP HANA aplicação; as informações fornecidas mostra qualquer extensão de arquivo de preenchimento obrigatório e, se for caso disso, indica onde encontrar mais informações sobre o contexto no qual o objeto pode ser usado.

Tabela 1: em tempo de design do aplicativo Building Blocks Extensão de arquivo

Objeto

Descrição

.aflpmml

Procedimento

Um arquivo usado pelo modelador função aplicativo para armazenar detalhes de um procedimento definido usando funções do aplicativo no Predictive Analysis Biblioteca * (PAL) ou Biblioteca de Função de Negócios * (BFL). Utilizando o AFM também gera um .diagram e uma .aflmodel arquivo.

.analyticview

Visualização analítica

Um arquivo que contém uma definição de tempo de design de uma visão analítica; a vista pode ser referenciada em uma definição de serviço OData.

.attributeview

Atributo vista

Um arquivo que contém uma definição de tempo de design de vista para o atributo; a vista pode ser referenciada em

Tabela 1: em tempo de design do aplicativo Building Blocks Extensão de arquivo

Objeto

Descrição uma definição de serviço OData.

.calculationview

Vista cálculo

Um arquivo que contém uma definição de tempo de design de vista para o cálculo; a vista pode ser referenciada em uma definição de serviço OData.

.hdbdd

CDS documento

Um arquivo que contém uma definição de tempo de design de um-a persistência de dados objeto CDS-conformes (por exemplo, uma entidade ou um tipo de dados) usando a Linguagem de Definição de Dados (DDL).

.hdbprocedure

Procedimento

Substitui .procedure. A definição de tempo de design de uma função de banco de dados para a realização complexa e uso intensivo de dados lógica de negócios que não podem ser executadas com o padrão SQL.

.hdbrole

Função

Um arquivo que contém uma definição de tempo de design de um SAP HANA função de usuário.

.hdbscalarfunction

Função definida pelo usuário Scalar

Um arquivo que contém uma definição de tempo de design de aa escalar função definida pelo usuário (UDF), que é

.hdbschema

Esquema

A definição de tempo de design de um esquema de banco, que organiza objetos de banco de dados em grupos.

.hdbsequence

Seqüência

A definição de tempo de design de uma sequência de banco de dados, que é um conjunto de números únicos, por exemplo, para serem utilizados como chaves primárias para uma tabela específica.

.hdbstructure

Tipo de tabela

A definição de tempo de design de uma tabela de banco de dados digite usando o .hdbtable sintaxe. Usado para

uma função personalizada que pode ser chamado no SELECT e WHERE de uma instrução SQL.

definir os tipos de tabela reutilizáveis, por exemplo, para os parâmetros em procedimentos. .hdbsynonym

Sinônimo de banco de dados

A definição de tempo de design de um sinônimo de banco de dados usando o .hdbsynonym sintaxe.

.hdbtable

Mesa

A definição de tempo de design de uma tabela de banco de dados usando o .hdbtable sintaxe.

.hdbtablefunction

Table-função

Um arquivo que contém uma definição de tempo de design

Tabela 1: em tempo de design do aplicativo Building Blocks Extensão de arquivo

Objeto

Descrição

definida pelo usuário

de uma tabela de função definida pelo usuário (UDF),

.hdbtextbundle

Pacote de Recursos

Um arquivo de definição de interface do usuário textos traduzíveis para um aplicativo. Usado em aplicações UI5 SAP.

.hdbti

Tabela de definição de Importação

A configuração de mesa importação que especifica quais .csvarquivo é importado para qual tabela no SAP

.hdbview

Vista de SQL

A definição de tempo de design de vista do banco de dados, que é uma tabela virtual baseada em uma consulta SQL.

.procedure

Procedimento

A definição de tempo de design de uma função de banco de dados para a realização complexa e uso intensivo de dados lógica de negócios que não podem ser executadas com o padrão SQL.

.proceduretemplate

Modelo de procedimento

Um artefato de tempo de design que contém um script de base com espaços reservados predefinidos para objetos, como tabelas, exibições e colunas.

.project

Projeto

Um projeto Eclipse para o desenvolvimento de seu aplicativo ou parte de um aplicativo. O .project arquivo é

que é uma função personalizada que pode ser chamado na cláusula DE de uma instrução SQL.

HANA sistema.

um artefato de tempo de design que é armazenado no SAP HANA repositório. .searchruleset

Pesquisar conjunto Um arquivo que define um conjunto de regras para uso de regras * com pesquisas fuzzy. As regras ajudar a decidir o que é uma partida válida em uma pesquisa.

.xsaccess

Aplicação Arquivo de Acesso

Um arquivo de configuração específica do aplicativo que define permissões para um nativo SAP HANA aplicação, por exemplo, para gerenciar o acesso à aplicação e objetos que rodam no pacote.

.xsapp

Descrição do aplicativo

Um arquivo específico do aplicativo em um pacote repositório que define a pasta raiz de um nativo SAP HANA aplicação.Todos os arquivos que o pacote (e quaisquer subpacotes) estão disponíveis para ser chamado via URL.

Tabela 1: em tempo de design do aplicativo Building Blocks Extensão de arquivo

Objeto

Descrição

.xsappsite

Aplicação do Site

Um arquivo que define um local de aplicação

.xshttpdest

Configuração de destino HTTP

Um arquivo que define detalhes de conexões para um destino remoto por HTTP (ou HTTPS)

.xsjob

Programada trabalho XS

Um arquivo JSON-compliant usado para definir tarefas recorrentes que são executados em segundo plano (independente de qualquer processo de resposta / solicitação HTTP); um trabalho agendado qualquer um pode executar uma função JavaScript ou chamar um procedimento SQLScript.

.xsjs

Do lado do Um arquivo que contém o código JavaScript que podem servidor de código ser executados em SAP HANA Application Services JavaScript Extended e ser acessado via URL

.xsjslib

Do lado do Um arquivo que contém o código JavaScript que podem servidor biblioteca ser executados em SAP HANA Application Services JavaScript Estendida, mas não pode ser acessado via URL. O código pode ser importado para um .xsjs arquivo de código.

.xsoauthappconfig

Arquivo de configuração do aplicativo OAuth

Um arquivo que descreve detalhes de alto nível de um aplicativo que permite logon para um serviço executado em um destino HTTP remoto usando OAuth

.xsoauthclientconfig Arquivo de configuração do cliente OAuth

Um arquivo que contém informações detalhadas sobre um aplicativo cliente que usa OAuth como o mecanismo de autenticação para logon para um destino HTTP remoto

.xsoauthclientflavor OAuth arquivo sabor cliente

O arquivo sabores OAuth correspondente para a configuração do cliente OAuth

.xsodata

Um objeto de tempo de design que define um serviço OData que expõe SAP HANA dados a partir de um ponto

OData Descriptor

final especificado. .xsprivileges

Privilege aplicação Um arquivo que define um privilégio que pode ser atribuído a um SAP HANA aplicativo de serviços de aplicação alargado, por exemplo, o direito de iniciar ou administrar o aplicativo.

.xssecurestore

Aplicativo de armazenamento

O arquivo de tempo de design que cria um armazenamento seguro específico da aplicação; a loja é usado pelo aplicativo para armazenar dados de forma segura na forma

Tabela 1: em tempo de design do aplicativo Building Blocks Extensão de arquivo

Objeto

Descrição

seguro

nome-valor.

.xssqlcc

Configuração de conexão SQL

Um arquivo que permite a execução de instruções SQL a partir do lado do servidor dentro de JavaScript código com credenciais que são diferentes aos do usuário solicitante

.xswidget

Ferramenta

Um arquivo que define um autônomo SAP HANA pedido para efeitos de integração num local de aplicação

.xsxmla

XMLA Descriptor

Um objeto de tempo de design que define um serviço XMLA que expõe SAP HANA dados

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Tabela 2: aplicação adicional Building Blocks Objeto

Descrição

Extensão de arquivo

Pacote

Um contêiner no repositório de objetos de desenvolvimento. Pacotes são representadas por pastas.

Atributo, Analítica e Cálculo Vista

A vista criada com ferramentas de modelagem e projetado para modelar um caso de uso de negócios.

Decisão Tabela

Uma tabela usada para modelar regras de negócios, por exemplo, para gerenciar a validação de dados e qualidade.

Privilege Analytic

Um conjunto de regras que permite aos usuários assistir a um subconjunto de dados em uma tabela ou exibição.

Criado com o Sistemas devista.

Ferramentas de desenvolvimento SAP HANA Baseada em estúdio O SAP HANA Desenvolvimento perspectiva em SAP HANA estúdio oferece acesso sensível ao contexto para uma variedade de ferramentas de desenvolvimento úteis. Em SAP HANA do estúdio SAP HANA Desenvolvimento perspectiva, a visão que você está usando determina quais ferramentas estão disponíveis e as medidas que podem ser executadas nos objetos exibidos. Por exemplo, no Project Explorer vista, o desenvolvedor do aplicativo pode usar o botão alternativo do mouse para exibir um menu sensível ao contexto que fornece acesso a recursos do Repositório de ativação, ferramentas de configuração de depuração, e assim por diante.

Project Explorer Vista A tabela a seguir lista uma seleção das ferramentas e recursos usados com mais freqüência que estão disponíveis no menu sensível ao contexto para artefatos no Project Explorer vista do SAP HANA Desenvolvimentoperspectiva.

Tabela 1: SAP HANA opções de desenvolvimento XS Grupo de Opção de Menu menu Equipe

Cometer

Descrição

Copie a versão mais recente do artefato de tempo de design do sistema de arquivos local para o repositório. Note-se que todos os locais salvos mudança é imediatamente comprometida com a correspondente área de trabalho inativo do usuário no SAP HANARepository.

Tabela 1: SAP HANA opções de desenvolvimento XS Grupo de Opção de Menu menu

Descrição

Ativar

Use a definição de tempo de design correspondente no repositório para gerar um objeto de catálogo para o artefato inativo atualmente selecionado.

Ative Tudo ...

Gerar um objeto de catálogo com base na definição de tempo de design correspondente no repositório para todos os artefatos atualmente inativas em um espaço de trabalho particular; você pode optar por incluir / excluir artefatos individuais a partir da lista apresentada. Artefatos inativos são cópias locais de artefatos de repositório salvos no seu espaço de trabalho.

Debug como ...

Verifica

Simular uma operação activate (incluindo uma verificação de sintaxe)

Regenerar

Geração de força de um objeto de catálogo runtime sem iniciar o processo de ativação de tempo de design correspondente

Remover do cliente

Desfazer uma operação de check-out withough o risco de exclusão de conteúdo no SAP HANA Repository

Mostrar em

Exibir detalhes do artefato repositório selecionado naRepositories, Sincronizar, ou História vista.

Sincronizar

Sincronizar as alterações feitas para a versão de arquivo local com a versão do arquivo no repositório

Nome / ID

Depurar o código no artefato de tempo de design selecionado usando uma configuração de depuração existente.

Configuração de Depurar o código no artefato de tempo de design selecionado usando uma nova configuração de depuração que você definir agora, por exemplo: XS depuração ... JavaScript, SAP HANA procedimento armazenado ... Corra como...

HTML / XS Serviço / ...

Teste o artefato do repositório selecionado em um navegador da Web diretamente a partir da tela Projeto Explorere usar os serviços fornecidos pela actualmente ligado SAP HANA servidor;extensão de arquivo do artefato é usado para determinar como exibir o conteúdo.

Atualizar

Execute configuração ...

Execute o artefato Repository selecionado em um navegador da Web usando uma nova configuração de tempo de execução, por exemplo, para SAP HANA artefatos XS JavaScript, em um específico SAP HANA exemplo, e com credenciais de logon do usuário definidos.

Atualizar

Desencadeia um checkout recursiva de conteúdo Repository, sincroniza diferenças entre o espaço de trabalho do repositório eo sistema de arquivos local, que buscam a alterações do servidor

A tabela seguinte lista adicionais ferramentas e recursos que estão disponíveis no menu sensível ao contexto para artefatos no Repositórios vista do SAP HANA Desenvolvimento perspectiva.

Tabela 2: SAP HANA adicionais Opções de Desenvolvimento XS Ferramenta Teste inativo

Descrição Objetos de repositório de teste que ainda não foram ativados, por exemplo: XSJS, XSOData, XSJSlib, ....

NotaO SAP HANA servidor deve estar executando em developer_mode, e você deve definir um cookie do lado do cliente nomeadosapXsDevWorkspace para o nome de seu espaço de trabalho do repositório. Compare com a versão ativa

Exibe as diferenças entre duas versões do mesmo artefato repositório ou dois artefatos diferentes. Você pode selecionar e comparar vários artefatos (CRTL e clique no botão alternado do mouse). Você também pode comparar um artefato repositório indivíduo com a versão do artefato que está ativo atualmente no repositório ou uma versão da lista de revisão sobre a história do artefato.

Get Where-Used lista

Procure todas as referências ao artefato selecionado e exibir os resultados na Pesquisaview. A

Share Project

Ligue as pastas (cliente) de projetos locais com SAP HANA repositório e sincroniza o conteúdo entre cliente e servidor. Esta opção só está disponível com uma unsharedartefato de projeto.

Projeto Descompartilhar

Cancelar uma sincronização entre o sistema de arquivos local eo SAP HANA repositório;o Descompartilhar ação não exclui quaisquer arquivos, a menos que você habilitar especificamente a exclusão opção. O Descompartilhar opção só está disponível com um já compartilhada artefato de projeto.

Jogada

Movimentos selecionados SAP HANA artefatos ou um pacote inteiro dentro ou entre projetos na mesma área de trabalho do repositório. Todos os SAP HANA artefatos que fazem referência os artefatos

pesquisa inclui artefatos inativos (em seu espaço de trabalho Repository) e artefatos ativados no repositório. A Obter lista de utilizações opção está disponível tanto no Project Explorer e Repositórios de vista.

movidos são atualizados também. Você deve ativar manualmente todos os artefatos movidos e de referência. Você pode mover os seguintesSAP HANA artefatos:     Colar especial

Atributo Vista Ver Analítica Cálculo Vista Analytic Privelege

Clones um ou mais pacotes e todos os seus artefatos e copia-os para um pacote de destino. Ao copiar, esse recurso detecta se o alvo contém quaisquer outros artefatos de uma anterior Colar Especial operação. Se existirem quaisquer outros artefatos clonados, você pode atualizar as referências aos artefatos clonados existentes. Você deve ativar manualmente os artefatos clonados. Você pode colar os seguintes artefatos:  

Atributo Vista Ver Analítica

Tabela 2: SAP HANA adicionais Opções de Desenvolvimento XS Ferramenta

Descrição  

Cálculo Vista Analytic Privelege

Repositórios Vista A tabela seguinte lista as ferramentas e os recursos que estão disponíveis no menu sensível ao contexto para artefatos no mais frequentemente utilizados Repositórios vista do SAP HANA Desenvolvimento perspectiva. NotaOs itens exibidos na equipa menu de contexto são sensíveis ao contexto; as opções disponíveis no menu dependem do tipo de repositório de objectos seleccionados. Ferramenta / Funcionalidade

Descrição

Adicionar pacote

Esta opção só está disponível quando você seleciona outro pacote.

Ativar

Gerar um objeto de catálogo com base na definição de tempo de design correspondente no repositório para o artefato selecionado

Ative Tudo ...

Gerar um objeto de catálogo com base na definição de tempo de design correspondente no repositório para todos os artefatos atualmente inativos; você pode optar por incluir / excluir artefatos individuais a partir da lista apresentada. Artefatos inativos são cópias locais de artefatos de repositório salvos no seu espaço de trabalho.

Verifica

Simular uma operação activate (incluindo uma verificação de sintaxe)

Confira

Copie o conteúdo do pacote a partir do repositório para a pasta da área de trabalho local.Sincronizar o repositório com o espaço de trabalho local (atualização)

Criar Espaço de Trabalho do Repositório

Inicie o assistente de espaço de trabalho do repositório.

Unidade de gestão de Entrega

(Pacote apenas): Comece as ferramentas de gerenciamento de ciclo de vida e exibir detalhes da unidade de entrega correspondente (DU), se disponível.

Editar pacote

(Pacote apenas): Exibir e editar os detalhes do pacote selecionado, por exemplo: a unidade de entrega do pacote é atribuído a, o tipo de pacote, e que a pessoa responsável pela criação e manutenção do pacote.

Get Where-Used lista

Mostrar todas as referências ao artefato selecionado atualmente na Pesquisa view. A pesquisa inclui artefatos inativos (em seu espaço de trabalho Repository) e artefatos ativados no SAP HANA Repository. A Obter lista de utilizações opção está disponível tanto

Ferramenta / Funcionalidade

Descrição

no Project Explorer e Repositórios de vista. Aberto

Abra o arquivo selecionado no editor apropriado.

Gestão de produtos

(Pacote apenas): Comece as ferramentas de gerenciamento de ciclo de vida e exibir detalhes do produto correspondente, se disponível.

Remover do cliente

Remova o arquivo selecionado (s) do sistema de arquivos local; a versão do repositório permanece intocado.

Atualizar

Sincronizar o conteúdo do pacote repositório selecionado com o espaço de trabalho local(F5)

Reset to

Substitua o arquivo selecionado com a base de versão ou o atualmente ativo versão

Atenção Quando você escolhe base de versão, você restaurar a versão original do objeto que você está editando. Quando você escolhe ativa versão, a versão que você está editando se torna a nova versão ativa. Mostrar em vista da história

Mostrar a lista completa das revisões disponíveis para o item selecionado; os detalhes exibidos incluem o número da versão, a data de criação, e o proprietário do arquivo. Botão direito do mouse uma entrada na lista do histórico para exibir mais opções de menu, por exemplo, para comparar duas versões do arquivo.

Moves

Movimentos selecionados SAP HANA artefatos ou um pacote inteiro dentro ou entre projetos na mesma área de trabalho do repositório. Todos os SAP HANA artefatos que fazem referência os artefatos movidos são atualizados também. Você deve ativar manualmente todos os artefatos movidos e de referência. Você pode mover os seguintesSAP HANA artefatos:    

Colar especial

Atributo Vista Ver Analítica Cálculo Vista Analytic Privelege

Clones um ou mais pacotes e todos os seus artefatos e copia-os para um pacote de destino. Ao copiar, esse recurso detecta se o alvo contém quaisquer outros artefatos de uma anterior Colar Especial operação. Se existirem quaisquer outros artefatos clonados, você pode atualizar as referências aos artefatos clonados existentes. Você deve ativar manualmente os artefatos clonados. Você pode colar os seguintes artefatos:    

Atributo Vista Ver Analítica Cálculo Vista Analytic Privelege

Configurar o modelo de persistência O modelo de persistência define os esquemas, tabelas, seqüências e visualizações que especificam quais dados para tornar acessível para o consumo por aplicativos e como. Em SAP HANA estendidos Application Services (SAP HANA XS), o modelo de persistência é mapeado para o modelo de consumo que está exposta a aplicativos clientes e usuários, de modo que os dados possam ser analisados e apresentados de forma adequada na interface da aplicação cliente. SAP HANA XS permite que você crie esquema de banco de dados, tabelas, vistas, e as sequências como arquivos de tempo de projeto no repositório. Arquivos do repositório pode ser lido por aplicativos que você desenvolver. Ao implementar o modelo de persistência de dados, você pode usar um (CDS) sintaxe dos Serviços de Dados Básicos ou sintaxe HDBtable (ou ambos). "Sintaxe HDBtable" é um termo coletivo; que inclui o esquema de configuração diferente para cada um dos vários artefatos de dados em tempo de design, por exemplo: schema(.hdbschema), seqüência (.hdbsequence), mesa (.hdbtable) e visão (.hdbview). Todos os arquivos do repositório incluindo a sua definição da visão pode ser transportada (juntamente com tabelas, esquemas e sequências) para outros SAP HANA sistemas, por exemplo, em uma unidade de entrega. A unidade de entrega, é a forma SAP HANA fornece para permitir a montagem de todos os seus artefatos de repositório relacionados ao aplicativo juntos em um arquivo que pode ser facilmente exportado para outros sistemas. NotaVocê também pode configurar regras de provisionamento de dados e salválos como objetos de tempo de design para que possam ser incluídos na unidade de entrega que você transporte entre sistemas. As regras definidas para um cenário de provisionamento de dados permitem que você importar dados de valores separados por vírgulas (CSV) arquivos diretamente no SAP HANA tabelas usando o SAP HANA recurso de tabela de importação-XS. A configuração completa-importação de dados podem ser incluídos em uma unidade de entrega e transportados entre SAP HANA sistemas para reutilização. Como parte do processo de criação do modelo de persistência de base para SAP HANA XS, você cria os seguintes artefatos repositório:

Tabela 1: Dados Persistência Artefatos de sintaxe da linguagem e Sufixo Arquivo Artefato Tipo

CDS

HDBTable

Esquema

.hdbschema *

.hdbschema

Sinônimo

.hdbsynonym*

.hdbsynonym

Mesa

.hdbdd

.hdbtable

Tabela 1: Dados Persistência Artefatos de sintaxe da linguagem e Sufixo Arquivo Artefato Tipo

CDS

HDBTable

Tipo de Tabela

.hdbdd

.hdbstructure

Visão

.hdbdd

.hdbview

Associação

.hdbdd

-

Seqüência

.hdbsequence*

.hdbsequence

Tipos Estruturados

.hdbdd

-

Importação de dados

.hdbti

.hdbti

Nota(*) Para criar um esquema, um sinônimo, ou uma sequência, você deve usar o apropriado.hdbtableartefacto, por exemplo, .hdbschema, .hdbsynonymOu .hdbsequence. Você pode fazer referência a ambos os artefatos em um documento do CDS. Na ativação de um artefato de repositório, o sufixo de arquivo (por exemplo, .hdbdd ou .hdb [tabela | view])é usado para determinar qual plug-in runtime para chamar durante o processo de ativação. Quando você ativa um artefato de tempo de design no SAP HANA Repository, o plug-in correspondente ao arquivo sufixo do artefato lê o conteúdo de artefato repositório selecionado para ativação (por exemplo, uma mesa, uma visão ou um documento CDS completo que contém várias definições de artefato), interpreta as definições de artefato no arquivo e cria os objetos de tempo de execução adequadas correspondentes no catálogo.

Informação relacionada Persistência de Dados com CDS Persistência de Dados com HDBtable Dados Provisioning usando a Tabela de Importação

Criando o modelo de persistência em Serviços de Dados Básicos Serviços de dados centrais (CDS) é uma infra-estrutura que pode ser usada para definir e consumir modelos de dados semanticamente ricos em SAP HANA. O modelo descrito no CDS permite que você use o Data Definition Language para definir os artefatos que compõem o modelo de persistência de dados. Você pode salvar a definição do objeto de persistência de dados como um artefato CDS, ou seja; um objeto de tempo de design que você gerencia no SAP HANA repositório e ativar quando necessário. Usando uma linguagem de definição de dados (DDL), uma linguagem de consulta (QL), e uma linguagem de expressão (EL), o CDS permite operações de gravação, semântica de transação, e muito mais. Você pode usar a especificação CDS para criar um documento CDS que define os seguintes artefatos e elementos:  Entidades (tabelas)  Visualizações  Tipos de dados definidos pelo usuário (incluindo tipos estruturados)  Contextos  Associações  Anotações

Nota Para criar um esquema, um sinônimo, ou uma sequência, você deve usar o apropriado .hdbtable artefacto, por exemplo, .hdbschema, .hdbsynonymOu .hdbsequence. Você pode fazer referência a esses artefatos em um documento do CDS. CDS artefatos são definições de tempo de design que são usados para gerar os objetos de tempo de execução correspondentes, quando o documento CDS que contém as definições de artefato é ativado no SAP HANArepositório. Em CDS, os objetos podem ser referenciados usando o nome do artefato de tempo de design do repositório; em SQL, apenas o nome do objeto de catálogo pode ser usado. O documento CDS contendo as definições de tempo de design que você cria usando a sintaxe CDS-compliant deve ter o arquivo de extensão.hdbdd, por exemplo, MyCDSTable.hdbdd.

Informação relacionada Criar um documento de CDS Criar uma Entidade no CDS Criar um definido pelo usuário Structured Digite CDS Crie uma associação no CDS Criar uma exibição no CDS CDS Anotações

CDS Editores Estúdio SAP HANA fornece ferramentas de edição especialmente concebido para ajudá-lo a criar e modificar os documentos que definem os dados persistência objetos usando os Serviços de Dados Básicos (CDS). SAP HANA estúdio inclui editores dedicados que você pode usar para definir objetos-de persistência de dados em documentos CDS utilizando o DDL-compliant CDS sintaxe. HANA SAP estúdio reconhece a .hdbdd extensão de arquivo necessária para CDS definições de objetos e chama o repositório adequado plug-in para analisar o conteúdo definido no documento CDS. Se você clicar com o botão direito em um arquivo com o .hdbdd extensão no Project Explorer vista, SAP HANA estúdio fornece a seguinte escolha de editores do menu sensível ao contexto.  Editor de Texto CDS Exibir e editar código fonte DDL em um documento do CDS como texto com os elementos de sintaxe destaque para a digitalização visuais mais fácil. Botão direito do mouse CDS arquivo de origem: Abrir com SAP HANA DDL Fonte editor de arquivo

Informação relacionada Editor de Texto CDS

Editor de Texto CDS O editor de texto CDS exibe o código fonte de seus documentos CDS em um editor de texto dedicado. SAP HANA estúdio inclui um editor dedicado que você pode usar para definir objetos de persistência de dados usando os CDS sintaxe. HANA SAP estúdio reconhece a .hdbdd extensão de arquivo necessária para CDS objeto definições e chama o plugin repositório adequado. Se você clicar duas vezes um arquivo com o .hdbddextensão no Project Explorer vista, SAP HANA estúdio exibe automaticamente o arquivo selecionado no editor de CDS. O editor CDS fornece os seguintes recursos:  Destaques de sintaxe O editor CDS DDL suporta destaque de sintaxe, por exemplo, para palavraschave e os valores atribuídos (Schema: 'MySchema'). Você pode personalizar as cores e fontes usadas nas Preferências do Eclipse(Janela Preferências gerais Aparência cores e fontes CDS DDL).

NotaO CDS editor DDL insere automaticamente a palavra-chave obrigatória namespace em qualquer novo arquivo de origem DDL que você cria usando o Arquivo Fonte Nova DDL diálogo. Os seguintes valores são assumidos: o namespace = <nome do pacote repositório> 

Conclusão de palavras-chave O editor exibe uma lista de sugestões de DDL que poderiam ser usados para completar a palavra-chave que você começar a digitar. Você pode inserir qualquer uma das sugestões usando os ESPAÇO + TAB chaves.



Validade Código Você pode verificar a validade da sintaxe em seu arquivo de origem DDL antes de ativar as alterações noSAP HANA repositório. Direito do mouse no arquivo que contém a sintaxe para buscar e usar a EquipeVerificar opção no menu de contexto. NotaAtivação de um arquivo compromete automaticamente o arquivo primeiro.



Comentários Texto que aparece após uma barra dupla (//) Ou entre uma barra e um asterisco (/*...*/) É interpretada como um comentário e destaque no editor de CDS (por exemplo, // isto é um comentário).

DicaO Project Explorer vista associa o .hdbdd extensão de arquivo com o ícone DDL. Você pode usar este ícone para determinar quais arquivos contêm CDScompliant código DDL.

Criar um documento de CDS Um documento CDS é um arquivo de origem de tempo de design que inclui as definições dos objetos que você deseja criar no SAP HANA catálogo.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:   





Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado um projeto para os CDS artefatos de modo que os arquivos recém-criados podem ser comprometidos com (e sincronizados com) o repositório. Você deve ter criado um esquema para os objetos do catálogo do CDS criados quando o documento CDS é ativado no repositório, por exemplo, meu_esquema O proprietário do esquema devem ter privilégios SELECT no esquema para ser capaz de ver os objetos do catálogo gerados.

Contexto Documentos CDS são arquivos de origem de tempo de design que contêm código DDL que descreve um modelo de persistência de acordo com regras definidas em Serviços de Dados Core. Documentos CDS têm o sufixo arquivo .hdbdd. Ativando o documento CDS cria os objetos do catálogo correspondentes no esquema especificado. Para criar um documento CDS no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o documento CDS. Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o documento novas CDS e execute os seguintes passos: 1.

Botão direito do mouse na pasta onde você quer salvar o documento CDS e escolher New Outros ...Banco de Dados Desenvolvimento Source File DDL no menu pop-up sensível ao contexto. 2. Digite o nome do documento CDS no nome do arquivo caixa, por exemplo, MyModel.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente (por exemplo, MyModel.hdbdd) e, se for caso disso, permite a edição direta do novo arquivo no correspondente editor. 3.

Escolha Concluir para salvar as alterações e comprometer o novo documento CDS para o repositório. O assistente de criação de arquivo cria um documento de base CDS com os seguintes elementos: 

Namespace O nome do pacote de repositório no qual você criou o novo documento CDS, por exemplo,acme.com.hana.cds.data



Elemento de nível superior O nome do elemento de nível superior em um documento CDS deve corresponder ao nome do próprio documento CDS; este é o nome que você digitar ao utilizar o assistente de criação de arquivo para criar o novo documento CDS, por exemplo,MyModel, MyContextOu MyEntity.Neste

exemplo, o elemento de nível superior é uma contexto. namespace acme.com.hana.cds.data; MyModel contexto { }; 5.

Definir os detalhes dos artefatos CDS. Abra as CDS documento que você criou no passo anterior, por exemplo, MyModel.hdbdd, e adicione o código CDS-definição para o arquivo. O código descreve os CDS CDS artefatos que você deseja adicionar, por exemplo: definições de entidade, definições de tipo, ver as definições e assim por diante:

NotaOs seguintes exemplos de código são fornecidos apenas para fins ilustrativos. 1.

Adicionar um nome de esquema. O Schemaanotação define o nome do esquema para usar para armazenar os artefactos que são gerados quando o documento CDS é activado. O nome do esquema deve ser inserido antes de o elemento de nível superior no documento CDS; Neste exemplo, o contextoMyModel.

NotaSe o esquema que você especificar não existir, você não pode ativar o novo documento CDS. namespace acme.com.hana.cds.data; Schema: '' SAP_HANA_CDS MyModel contexto {

}; 2.

Adicionar tipos estruturados, se necessário. Use o tipopalavra-chave para definir um tipo de artefato em um documento do CDS. Neste exemplo, você adiciona os tipos definidos pelo usuário e tipos estruturados para a entrada de nível superior no documento CDS, o contexto MyModel. namespace acme.com.hana.cds.data; Schema: '' SAP_HANA_CDS MyModel contexto { escreva businessKey: String (10); Tipo sString: String (40); digite <[...]> <[...]> };

3.

Adicionar um novo contexto, se necessário. Contextos permitir-lhe grupo artefatos relacionados entre si. Um documento CDS só pode conter um contexto de nível superior, por exemplo,MyModel {};. Qualquer novo contexto deve ser aninhadadentro da entrada de nível superior no documento CDS, como ilustrado no exemplo a seguir. namespace acme.com.hana.cds.data; Schema: '' SAP_HANA_CDS MyModel contexto { escreva businessKey: String (10); Tipo sString: String (40); digite <[...]> MasterData contexto { <[...]> }; Vendas de contexto { <[...]> }; Compras contexto { <[...]> }; };

4.

Adicionar novas entidades. Você pode adicionar as entidades, quer para a entrada de nível superior no documento CDS; Neste exemplo, o contextoMyModel ou para qualquer outro

contexto, por exemplo, Dados mestre,VendasOu Compras. Neste exemplo, as novas entidades são tabelas baseadas em colunas naDados mestre contexto. namespace acme.com.hana.cds.data; Schema: '' SAP_HANA_CDS MyModel contexto { escreva businessKey: String (10); Tipo sString: String (40); digite <[...]> MasterData contexto { @ Catalog.tableType: #COLUMN Endereços entidade { AddressID chave: businessKey; Cidade: sString; CEP: businessKey; <[...]> }; @ Catalog.tableType: #COLUMN Entidade BusinessPartner { PartnerId chave: businessKey; PartnerRole: String (3); <[...]> }; }; Vendas de contexto { <[...]> }; Compras contexto { <[...]> }; }; 6.

Salve o documento CDS. NotaSalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório. Você não precisa se comprometer explicitamente novamente.

7.

Ativar as alterações no repositório. Localize e clique com o botão direito no novo documento CDS no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. NotaSe você não pode ativar o documento novas CDS, verifique se o 1.

esquema especificado já existe e de que não existem caracteres ilegais no espaço de nomes, por exemplo, o hífen (-).

8.

Assegurar o acesso ao esquema em que os novos objetos do catálogo do CDS são criados. Após a ativação no repositório, um objeto de esquema só é visível no catálogo para o usuário _SYS_REPO.Para permitir que outros usuários, por exemplo, o proprietário do esquema, para ver o esquema recém-criado e objetos que ele contém, você deve conceder ao usuário o privilégio SELECT necessário para o objeto do esquema.

NotaSe você já tem o apropriadoSELECIONAR privilégio para o esquema, você não precisa executar esta etapa. 1.

No SAP HANA estúdio Sistemas de vista, clique com o SAP HANA sistema que hospeda o repositório onde o esquema foi ativado e escolher SQL Console no menu pop-up sensível ao contexto. 2. No console do SQL, execute a instrução ilustrado no exemplo a seguir, onde <SCHEMANAME> é o nome do esquema recém-ativado, e <nome de usuário> é o ID do usuário do banco de dados do proprietário do esquema: chamar _SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT ('selecionar', '<SCHEMANAME>', '<nomedousuário>'); 9.

Verifique se um catálogo de objetos foi criado com sucesso para cada um dos artefatos definidos no documento CDS. Quando um documento CDS é ativada, o processo de ativação gera um objeto de catálogo correspondente quando apropriado, para os artefatos definidos no documento; a localização no catálogo é determinada pelo tipo de objecto gerado.

NotaNão gerados objetos do catálogo incluem: tipos escalares, tipos estruturados e anotações. 1.

No SAP HANA Desenvolvimento perspectiva, abra a Sistemas de vista. 2. Navegue até o local onde catálogo novo objeto foi criado, por exemplo: Catálogo Objeto Entidades Tipos

Localização <SID>

Catálogo

<meu_esquema>

Tabelas

<SID>

Catálogo

<meu_esquema>

Procedimentos

tabelas

3.

Abra uma pré-visualização de dados para o novo objeto. Direito do mouse no novo objeto e escolha Abrir visualização de dados no menu pop-up.

Informação relacionada CDS Anotações CDS Contextos

tipos de

CDS Convenções de nomenclatura

CDS Documentos Documentos CDS são arquivos de origem de tempo de design que contêm código DDL que descreve um modelo de persistência de acordo com regras definidas em Serviços de Dados Core. Documentos CDS têm o sufixo arquivo .hdbdd. Cada documento CDS deve conter os seguintes elementos básicos:  A declaração de espaço para nome O espaço de nome que você definir deve ser a primeira declaração no documento CDS e combinar com o caminho absoluto pacote para a localização do documento CDS no repositório. É possível anexar partes do espaço de nome entre aspas (""), por exemplo, para resolver o problema de caracteres ilegais em nome espaços. NotaSe você usar o assistente de criação de arquivo para criar um novo documento CDS, o espaço de nome é inserido automaticamente; o espaço de nome inserido reflete o local do repositório que você selecione para criar o novo documento CDS. 

A definição de esquema O esquema especificado é usado para armazenar os objetos de catálogo que estão definidos no documento CDS, por exemplo: entidades, tipos estruturados, e vistas. Os objectos são gerados no catálogo quando o documento CDS é activado na SAP HANA repositório.  CDS definições de artefato Os objetos que compõem o seu modelo de persistência, por exemplo: contextos, entidades, tipos estruturados e visualizações Cada documento CDS deve conter um artefato de nível superior, por exemplo: um contexto, um tipo, uma entidade, ou uma vista. O nome do artefato de nível superior no documento CDS deve corresponder ao nome do documento CDS arquivo, sem o sufixo. Por exemplo, se o artefacto de nível superior é denominado um contextoMyModel, O nome do documento CDS deve ser MyModel.hdbdd.

NotaPor activação de um ficheiro de repositório, o sufixo de arquivo, por exemplo, .hdbdd, é usado para determinar quais tempo de execução plugin para ligar durante o processo de activação. O plug-in lê o arquivo de repositório selecionado para ativação, neste caso, um documento CDS-compliant, analisa a descrição dos objetos no arquivo e cria os objetos de tempo de execução no catálogo. Se você quiser definir vários CDs artefatos dentro de um único documento CDS (por exemplo, vários tipos, tipos estruturados e entidades), o artefato de nível superior deve ser um contexto. Um documento CDS pode conter vários contextos e qualquer número e tipo de artefatos. Um contexto pode também conter sub-aninhados contextos, cada um dos quais pode também conter qualquer número e tipo de artefactos.

Quando um documento CDS é activado, o processo de activação gera um objecto de catálogo correspondente para cada um dos artefactos definidos no documento; a localização no catálogo é determinada pelo tipo de objecto gerado. A tabela a seguir mostra a localização do catálogo para objetos gerados pela ativação dos CDS artefatos comuns.

Tabela 1: Catálogo de localização de artefatos gerados CDSCDS Artefato

Catálogo Localização

Entidade

<SID>

Catálogo

<meu_esquema>

Tabelas

Visão

<SID>

Catálogo

<> meu_esquema

Visualizações

Tipo estruturado

<SID>

Catálogo

<meu_esquema>

Procedimentos

tipos de tabelas

O exemplo seguinte mostra a estrutura básica de um único documento CDS que reside no pacoteacme.com.hana.cds.data na SAP HANA repositório. o documento CDS define os seguintes artefatos CDS:  Tipos: o BusinessKey e SString  o  o 

Entidades: Endereços, Parceiros de negócios, CabeçalhoE Item Contextos: MyModel, Que contém os contextos aninhados: Dados mestre, VendasE Compras

Referências externas O usopalavra-chave permite que você consulte os artefatos definidos nos documentos CDs separados, por exemplo, MyModelB.hdbdd. Você também pode atribuir um alias para a referência, por exemplo,AS.



Anotações Anotações embutidas, por exemplo,Catalog,Schema, enokey, são elementos importantes da sintaxe CDS usada para definir objetos do catálogo do CDSconformes. Você pode definir suas próprias anotações personalizadas também. NotaO seguinte trecho de código é incompleta[...]; destina-se apenas para fins ilustrativos.

Exemplo namespace acme.com.hana.cds.data; usando acme.com.hana.cds.data :: MyModelB.MyContextB1 como ic; Schema: '' SAP_HANA_CDS MyModel contexto { escreva businessKey: String (10); Tipo sString: String (40);

digite <[...]> MasterData contexto { @ Catalog.tableType: #COLUMN Endereços entidade { AddressID chave: businessKey; Cidade: sString; CEP: businessKey; <[...]> }; @ Catalog.tableType: #COLUMN Entidade BusinessPartner { PartnerId chave: businessKey; PartnerRole: String (3); <[...]> }; }; Vendas de contexto { @ Catalog.tableType: #COLUMN Entidade cabeçalho { SalesOrderID chave: businessKey; <[...]> }; @ Catalog.tableType: #COLUMN MyAnnotation: "Foo" Entidade item { SalesOrderID chave: businessKey; SalesOrderItem chave: businessKey; <[...]> }; }; Compras contexto { <[...]> }; };

Informação relacionada CDS Namespaces CDS Anotações Artefatos externos no CDS

Artefatos externos no CDS Você pode definir um artefato em um documento CDS referindo-se a um artefato que é definida em outro documento CDS. A sintaxe CDS permite que você defina um artefato CDS em um documento baseando-o em um "externo" artefato - um artefato que é definido em um documento separado CDS. Cada artefato externa deve ser explicitamente declarado no documento de origem com o CDS uso palavra-chave, que especifica a localização do artefato externo, o seu nome, e se for o caso do seu contexto CDS. DicaAuso declarações deve ser localizado no cabeçalho dos documentos entre o CDS namespace declaração e no início do artefato de nível superior, por exemplo, o contexto. O artefato externo pode ser um único objeto (por exemplo, um tipo, uma entidade, ou uma vista) ou um contexto.Você também pode incluir um alias opcional nauso declaração, por exemplo, ContextA.ContextA1 como IC.O alias (ic) Pode, então, ser usado em subsequentes definições de tipo de documento na fonte de CDS. // Nome = Pack1 / Distribuída / ContextB.hdbdd namespace Pack1.Distributed; usando Pack1.Distributed :: ContextA.T1; usando Pack1.Distributed :: ContextA.ContextAI como ic; usando Pack1.Distributed :: ContextA.ContextAI.T3 como ict3; usando Pack1.Distributed :: ContextA.ContextAI.T3.a como um; // Erro, não é um artefato ContextB contexto { tipo T10 { A: T1; // Integer b: ic.T2; // String (20) C: ic.T3; // Estruturado d: tipo de ic.T3.b; // String (88) E: ict3; // Estruturado x: Pack1.Distributed :: ContextA.T1; // Erro, referência direta não permitidos }; ContextBI contexto { Tipo T1: String (7); // Esconde o T1 vindo do primeiro usando declaração escreva T2: T1; // String (7) }; };

O CDS documento ContextB.hdbdd mostrado acima usa artefatos externos (tipos de dadosT1 e T3) Que são definidas no "alvo" documento CDS ContextA.hdbdd mostrado abaixo. Doisuso declarações estão presentes no documento CDS ContextB.hdbdd; um sem alias e um com um alias explicitamente especificadas (ic). O primeiro uso declaração introduz o tipo escalar Pack1.Distributed :: ContextA.T1. O segundousodeclaração introduz o contexto Pack1.Distributed :: ContextA.ContextAI e torna-lo acessível através do alias explicitamente especificadas ic.

NotaSe nenhum alias explícito for especificado, a última parte do nome completo é assumido como o alias, por exemploT1.

O usopalavra-chave é a única maneira para se referir a um artefato externamente definido no CDS. No exemplo acima, o tipoxcausaria um erro de ativação; você não pode se referir a um CDS artefato definido externamente diretamente usando seu nome totalmente qualilfed em uma definição de artefato. // Nome = Pack1 / Distribuída / ContextA.hdbdd namespace Pack1.Distributed; ContextA contexto { digite T1: Integer; ContextAI contexto { Tipo T2: String (20); escreva T3 { um: Integer; b: String (88); }; }; };

NotaSe você usa um único ou vários documentos CDS com vista a definir seu modelo de persistência de dados, cada documento CDS deve conter apenas um de nível superior artefato, eo nome do artefato de nível superior deve corresponder ao nome do documento CDS. Por exemplo, se o artefato de nível superior em um documento CDS éContextA, Então os CDS documento em si deve ser nomeado ContextA.hdbdd.

CDS Convenções de nomenclatura Regras e restrições aplicam-se os nomes dos documentos CDS eo pacote no qual o documento CDS reside. As regras que se aplicam para nomear documentos CDS são as mesmas que as regras para nomear os pacotes em que o documento CDS está localizado. Ao especificar o nome de um pacote ou um documento do CDS (ou referenciar o nome de um objeto CDS existentes, por exemplo, dentro de um documento CDS), tenha em mente as seguintes regras:



Caracteres permitidos CDS objeto e nomes de pacotes podem incluir os seguintes caracteres: o Letras maiúscula ou minúscula (aA-zZ) eo caractere sublinhado (_) o Dígitos (0-9)



Caracteres proibidos As seguintes restrições aplicam-se os caracteres que você pode usar (e sua posição), em nome de um documento CDS ou um pacote: o Você não pode usar o hífen (-) ou o ponto no nome de um documento CDS (.). o

o

Você não pode usar um dígito (0-9) como o primeiro caractere do nome de um documento CDS ou um pacote, por exemplo, 2CDSobjectname.hdbdd ou acme.com.1package O analisador CDS não reconhece CDS documentar nomes ou nomes de pacotes que consistemexclusivamente de dígitos, por exemplo, 1234.hdbdd ou acme.com.999.

AtençãoEmbora seja possível utilizar aspas ("") para envolver um nome que inclui caracteres proibidos, como regra geral, recomenda-se seguir as convenções de nomenclatura para CDS documentos especificados aqui, a fim de evitar problemas durante a ativação no repositório .

Informação relacionada CDS Documentos CDS Namespaces

CDS Namespaces O namespace é o caminho para o pacote no SAP HANA Repositório que contém CDS artefatos, tais como entidades, contextos e pontos de vista. Em um documento do CDS, a primeira declaração deve declarar o namespace que contém os elementos CDS que o documento define, por exemplo: um contexto, um tipo, uma entidade, ou uma vista. O namespace deve corresponder ao nome do pacote onde os elementos CDS especificados no documento CDS estão localizados. Se o caminho do pacote fixado na declaração namespace ainda não existir no SAP HANA Repository, o processo de ativação para os elementos especificados no documento CDS falhar. É possível incluir entre aspas ("") partes individuais do identificador de espaço de nomes, por exemplo,.pack2 "Pack1". Cotações permitir o uso de caracteres que não são permitidos em identificadores CDS regulares; no CDS, um identificador entre aspas pode incluir todos os personagens, exceto o ponto e os dois pontos duplo ((.): :).Se você precisa usar uma palavra-chave reservada como um identificador, você deve colocá-lo entre aspas, por exemplo, "Entidade". No entanto, recomenda-se evitar o uso de palavras-chave reservadas como identificadores. NotaVocê também pode usar aspas ("") para envolver os nomes de artefatos (CDS entidades, visitas) e elementos (colunas ...).

O seguinte trecho de código se aplica a artefatos criados no repositório de pacotes / Pack1 / Pack2 / e mostra alguns exemplos de válidos declarações de namespace, incluindo espaços de nomes que usam aspas(""). NotaUm documento CDS não pode conter mais do que uma declaração de namespace. namespace Pack1.pack2; namespace "Pack1" .pack2; Pack1 namespace "Pack2."; namespace "Pack1" "Pack2."; O seguinte trecho de código se aplica a artefatos criados no repositório de pacotes / Pack1 / Pack2 / e mostra alguns exemplos de inválidos declarações de namespace. namespace pack1.pack2; // Ortografia errada namespace "Pack1.pack2"; // Uso incorreto de aspas namespace Pack1.pack2.MyDataModel; // CDS nome do arquivo não é permitido em namespace namespace Jack.Jill; // Pacote não existe Os exemplos de declarações de namespace no trecho de código acima são inválidas pelas seguintes razões:  pack1.pack2; pack1está escrito incorretamente; o elemento namespace exige um capital P para coincidir com o local correspondente no repositório, por exemplo, Pack1.  "Pack1.pack2";





Você não pode citar o caminho namespace inteiro; unicamente elementos individuais do caminho namespace podem ser citados, por exemplo, "Pack1" .pack2; ou Pack1 "Pack2.";. Pack1.pack2.MyDataModel; A declaração de namespace não deve incluir os nomes dos elementos especificados nos CDS documentar-se, por exemplo, MyDataModel. Jack.Jill; O caminho do pacote Jack.Jill; não existe no repositório.

CDS Contextos Você pode definir vários CDS-compliant entidades (tabelas) em um único arquivo, atribuindo-os a um contexto. O exemplo a seguir ilustra como atribuir duas entidades simples para um contexto usando o CDS-compliant.hdbdd sintaxe; você armazenar o arquivo de contextodefinição com um nome específico e o arquivo de extensão .hdbdd, por exemplo, MyContext.hdbdd.

NotaSe você estiver usando um documento CDS para definir um contexto CDS, o nome do documento CDS deve coincidir com o nome do contexto definido no documento CDS, por exemplo, com o "contexto"Palavra-chave.

No exemplo abaixo, você deve salvar a definição do contexto "Livros" nas CDS documentar Books.hdbdd.Além disso, o espaço de nome declarado em um documento CDS deve coincidir com o pacote repositório no qual o objeto do documento define está localizado. O exemplo de código a seguir ilustra como usar a sintaxe CDS para definir várias entidades de tempo de design em um contexto chamado Livros. namespace com.acme.myapp1; Schema: 'Meu_esquema' Livros contexto { @ Catalog.tableType: #COLUMN @ Catalog.index: [{name: "MYINDEX1 ', exclusivo: true, ordem: #DESC, elementNames: [' ISBN ']}] entidade Livro { AuthorID chave: String (10); booktitle chave: String (100); ISBN: Número inteiro não nulo; Publisher: String (100); }; @ Catalog.tableType: #COLUMN @ Catalog.index: [{name: "MYINDEX2 ', exclusivo: true, ordem: #DESC, elementNames: [' AuthorName ']}] Autor entidade { AuthorName chave: String (100); AuthorNationality chave: String (20); AuthorBirthday: String (100); AuthorAddress: String (100); }; }; Ativação do arquivo Books.hdbdd que contém as definições de contexto e de entidades cria o catálogo objetos"Livro" e "Autor". ObservaçãoO espaço de nomes especificado no início do arquivo, por exemplo,com.acme.myapp1corresponde à localização do ficheiro de definição de entidade (Books.hdbdd) na hierarquia do aplicativo de pacote.

Contextos aninhados O exemplo de código a seguir mostra como definir um contexto aninhados chamado InnerCtx no contexto paiMyContext. O exemplo também mostra a sintaxe necessária ao fazer uma referência a um tipo de dados definidos pelo usuário no contexto aninhada, por exemplo, (field6: tipo de InnerCtx.CtxType.b;). O tipo depalavra-chave só é necessário se fazer referência a um elemento em uma entidade ou um tipo estruturado; tipos em outro contexto pode ser referenciado diretamente, sem atipo depalavra-chave. A profundidade para a nidificação de CDS contextos é restrito pelos limites impostos sobre o comprimento do identificador de banco de dados para o nome do correspondente SAP HANA artefato banco de dados (por exemplo, tabela, visão ou tipo); esta está actualmente limitado a 126 caracteres (incluindo delimitadores).

NotaO contexto em si não tem um artefato correspondente no SAP HANA catálogo; o contexto influencia apenas os nomes de SAP HANA Catálogo dos artefatos que são geradas a partir dos artefatos definidos em um dado contexto CDS, por exemplo, uma mesa ou um tipo estruturado. namespace com.acme.myapp1; Schema: 'MySchema' MyContext contexto { // Contextos aninhados InnerCtx contexto { Entidade MyEntity { ... }; Escreva CtxType { um: Integer; b: String (59); }; }; escreva MyType1 { field1: Integer; field2: String (40); field3: Decimal (22,11); field4: Binary (11); };

escreva MyType2 { field1: String (50); field2: MyType1; }; escreva MyType3 { field1: UTCTimestamp; field2: MyType2; };

@ Catalog.index: [{name: "INDEXA ', ordem: #ASC, exclusivo: true, elementNames: ['campo1']}] entidade MyEntity1 {

id chave: Integer; field1: MyType3 não nulo; field2: String (24); field3: LocalDate; field4: tipo de field3; Field5: tipo de MyType1.field2; field6: tipo de InnerCtx.CtxType.b; // Refere-se ao contexto aninhada field7: InnerCtx.CtxType; // Mais referências de contexto }; };

Nome Normas de Resolução A seqüência de definições dentro de um bloco de código CDS (por exemplo, entidade ou contexto) Não importa para as regras de escopo; uma ligação de um tipo aritfact e nome é válida dentro dos limites do menor bloco de código que contém a definição, excepto em blocos de código interno onde uma ligação para o mesmo identificador permanece válida. Esta regra significa que a definição denameX em um bloco interno de código esconde quaisquer definições de nameX em blocos de código exteriores.

NotaUm identificador pode ser usado antes de sua definição sem a necessidade de declarações para a frente. contexto OuterCtx { escreva MyType1: Integer; escreva MyType2: LocalDate; contexto InnerCtx { escreva Use1: MyType1; // É uma String (20) escreva Use2: MyType2; // É um LocalDate escreva MyType1: String (20); }; escreva invalidUse: Use1; // Inválido: Use1 não é // Visível fora InnerCtx escreva validUse: InnerCtx.Use1; // Está bem }; Não existem dois artefactos (incluindo espaços para nome) pode ser definido, cujos nomes absoluto são o mesmo ou são diferentes apenas no caso (por exemplo, MyArtifact e myartifact), Mesmo se o seu tipo de artefato é diferente (entidade e vista). Ao procurar por artefatos, CDS não faz suposições que tipos de artefatos podem ser esperados em certas posições de origem; ele simplesmente procura o artefato com o nome fornecido e executa uma verificação final do tipo de artefato.

O exemplo a seguir demonstra como resolução de nomes trabalha com múltiplos contextos aninhados, contexto Dentro NAMEB, A definição local de NAMEA sombras a definição do contexto NAMEAno âmbito circundante. Isto significa que a definição do identificadorNAMEA é resolvido para Número inteiro, Que não tem um subcomponente T1. O resultado é um erro, eo compilador não continuar a busca de uma "melhor" definição deNAMEAno âmbito de uma (progenitor) contexto exterior. contexto OuterCtx { NAMEA contexto { digite T1: Integer; Tipo T2: String (20); }; NAMEB contexto { escreva NAMEA: Integer; Use digite: NameA.T1; // Inválido: NAMEA é um Integer escreva Use2: OuterCtx.NameA.T2; // Está bem }; };

Informação relacionada CDS tipos de dados definidos pelo usuário

CDS Anotações CDS suporta anotações embutidas, por exemplo,Catalog,Schema, enokey, que são elementos importantes dos documentos CDS utilizados para definir objetos do catálogo do CDS-conformes. No entanto, você pode definir suas próprias anotações personalizadas também.

Exemplo namespace mycompany.myapp1;Schema: 'meu_esquema' Livros contexto { Catalog .tableType: #COLUMNCatalog .index: [{Name: "MYINDEX1 ', exclusivo: true, ordem: #DESC, elementNames: [' ISBN ']}] entidade LIVRO { chave Autor: String (100); booktitle chave: String (100); ISBN: Número inteiro não nulo; Publisher: String (100); };

Catalog .tableType: #COLUMNnokey entidade MyKeylessEntity { element1: Integer; element2: UTCTimestamp; SearchIndex .text: {Enabled: true} element3: String (7); }; GenerateTableType: False Escreva MyType1 { field1: Integer; field2: Integer; field3: Integer; }; };

Visão geral A lista a seguir indica as anotações que você pode usar em um documento CDS:  Catalog  nokey  Schema  GenerateTableType  SearchIndex

Catalog OCatalog anotação suporta os seguintes parâmetros, cada um dos quais está descrito em pormenor numa secção especial abaixo: 

@ Catalog.index Especifique o tipo eo escopo de índice a ser criado para a entidade CDS, por exemplo: nome, ordem, único / não-exclusivo  @ Catalog.tableType Especifique o tipo de tabela para a entidade CDS, por exemplo, coluna, linha, global temporário. Você usa o @ Catalog.index anotação para definir um índice para uma entidade CDS. O @ Catalog.indexanotação usada no seguinte exemplo de código garante que um índice chamadoIndex1 é criado para a entidadeMyEntity1 juntamente com os campos de índice fint e futcshrt. A ordem para o índice é ascendente (#ASC) Eo índice é único. namespace com.acme.myapp1; @ Catalog.tableType: #COLUMN Schema: 'Meu_esquema' @ Catalog.index: [{name: "Index1 ', exclusivo: true, ordem: #ASC, elementNames: [' fint ',' futcshrt ']}] entidade MyEntity1 { fint chave: Integer; fstr: String (5000);

fstr15: String (51); fbin: Binary (4000); fbin15: Binary (51); fint32: Integer64; fdec53: Decimal (5,3); fdecf: DecimalFloat; fbinf: BinaryFloat; futcshrt: UtcDateTime não nulo; flstr: LargeString; flbin: LargeBinary; }; Você pode definir os seguintes valores para o @ Catalog.index anotação: 

elementNames: ['', '']



Os nomes dos campos a utilizar no índice; os elementos são especificados para a definição da entidade, por exemplo,elementNames: ['fint', 'futcshrt'] Nome: ''



Os nomes do índice a ser gerado para a entidade especificada, por exemplo, Nome: 'MyIndex' ordem Criar um índice de tabela classificada em ordem crescente ou decrescente. As palavras-chave de ordem#ASC e #DESCsó pode ser usado na BTREE índice (para a manutenção de dados ordenados) e pode ser especificado apenas uma vez para cada índice. o ordem: #ASC

o

Cria um índice para a entidade CDS e classifica os campos de índice em ascendente ordem lógica, por exemplo: 1, 2, 3 ... ordem: #DESC Cria um índice para a entidade CDS e classifica os campos de índice em decrescente ordem lógica, por exemplo: 3, 2, 1 ... único



Cria um índice exclusivo para a entidade CDS. Em um índice exclusivo, duas linhas de dados em uma tabela não pode ter valores de chaves idênticas. o original: true

o

Cria um índice exclusivo para a entidade CDS. A singularidade é verificado e, se necessário, aplicada a cada vez que uma tecla é então adicionado (ou alterado em) o índice. original: false

Cria um índice não-exclusivo para a entidade CDS. Um índice não exclusivo destina-se principalmente a melhorar o desempenho da consulta, por exemplo, através da manutenção de uma ordem de classificação para os valores de dados que são frequentemente consultados. Você usa o @ Catalog.tableType anotação para definir o tipo de entidade CDS você deseja criar. O @ Catalog.tableType anotação determina o mecanismo de armazenamento no qual a tabela subjacente é criado. namespace com.acme.myapp1; Schema: 'Meu_esquema'

MyContext1 contexto { @ Catalog.tableType: #COLUMN entidade MyEntity1 { chave ID: Integer; name: String (30); }; @ Catalog.tableType: #ROW entidade MyEntity2 { chave ID: Integer; name: String (30); }; @ Catalog.tableType: #GLOBAL_TEMPORARY entidade MyEntity3 { chave ID: Integer; name: String (30); }; }; Você pode definir os seguintes valores para o @ Catalog.tableType anotação:  #COLUMN



Criar uma tabela baseada em coluna. Se a maioria do acesso à tabela é através de um grande número de tuplas, com apenas alguns atributos selecionados, use o armazenamento baseado em COLUMN para o seu tipo de tabela. #FILA



Criar uma tabela com base em fileiras. Se a maioria do acesso à tabela envolve a seleção de alguns registros, com todos os atributos selecionados, use o armazenamento baseado em ROW para o seu tipo de tabela. #GLOBAL_TEMPORARY

Definir o escopo da tabela criada. Dados em um mundial tabela temporária é específico de sessões; apenas o proprietário sessão da tabela temporária global é permitido inserir / ler / truncar os dados. Uma tabela temporária global existe para a duração da sessão, e dados da tabela temporária global é descartado automaticamente quando a sessão é encerrada. A tabela temporária global só podem ser removidos quando a tabela não temos registos nele. NotaO SAP HANA banco de dados usa uma combinação de tipos de tabela para permitir o armazenamento e interpretação em ambas as formas linha e coluna. Se nenhum tipo de tabela é especificado na definição da entidade CDS, o valor padrão #COLUMN é aplicado para a tabela criada na activação da definição da entidade de tempo de design.

nokey Uma entidade geralmente tem um ou mais elementos essenciais, que são sinalizadas na definição da entidade CDS com a chave palavra-chave. Os elementos-chave tornar-se a chave primária da gerado SAP HANA mesa e são automaticamente marcada como "não nulo".

NotaEstruturado elementos pode ser parte da chave, também. Neste caso, todos os campos da tabela resultantes do achatamento deste campo estruturado são parte da chave primária. No entanto, também é possível definir uma entidade que não tem elementoschave. Se você quiser definir uma entidade sem uma chave, utilize onokey anotação. No seguinte exemplo de código, onokey anotação garante que a entidadeMyKeylessEntity definido no documento CDS cria uma tabela baseada em coluna onde nenhum elemento chave é definido. namespace com.acme.myapp1; Schema: 'Meu_esquema' @ Catalog.tableType: #COLUMN nokey entidade MyKeylessEntity { element1: Integer; element2: UTCTimestamp; element3: String (7); };

Schema O Schemaanotação só é permitido como uma definição de alto nível em um documento do CDS. No seguinte exemplo de códigoSchema garante que o esquema Meu_esquema é usado para conter a entidade MyEntity1, Uma tabela baseada em coluna. namespace com.acme.myapp1; Schema: 'Meu_esquema' @ Catalog.tableType: #COLUMN entidade MyEntity1 { chave ID: Integer; name: String (30); };

NotaSe o esquema especificado com a anotaçãoSchema já não existir, um erro de ativação é exibida eo processo de criação de entidade falhar. O nome do esquema devem aderir ao SAP HANA regras para identificadores de banco de dados. Além disso, o nome do esquema não deve começar com as letras SAP *; o namespace SAP * é reservado para esquemas usados por produtos e aplicações SAP.

GenerateTableType Para cada tipo estruturado definido em um documento do CDS, um SAP HANA tipo de tabela é gerado, cujo nome é construída concatenando os elementos do documento CDS que contém a definição do tipo estruturado e separar os elementos de um delimitador de ponto (.). Os novos tipos de tabela SAP HANA são gerados no esquema que está especificado no esquema de anotação do respectivo artefato de nível superior no documento CDS que contém os tipos estruturados.

Notatipos de tabela são gerados somente para diretos definições de estrutura; há tipos de tabelas são geradas paraderivados tipos que são baseadas em tipos estruturados. Se você quiser usar os tipos estruturados dentro de um documento CDS sem gerar tipos de tabela no catálogo, use a anotaçãoGenerateTableType: False.

SearchIndex

A anotação SearchIndex permite que você defina qual das colunas devem ser indexadas para capacidades de pesquisa, por exemplo, {enabled: true}. Para estender a definição de pesquisa do índice, você pode usar as propriedadestexto ou felpudo para especificar se o índice deve apoiar baseado em texto ou pesquisa difusa, como ilustrado no exemplo a seguir: entidade MyEntity100 { element1: Integer; @ SearchIndex.text: {enabled: true} element2: UTCTimestamp; @ SearchIndex.fuzzy: {enabled: true} element3: String (7); };

NotaPara obter mais informações sobre como configurar recursos de pesquisa e usando o recurso de pesquisa, consulte a HANA Guia Pesquisa desenvolvedor SAP.

Informação relacionada User-Defined CDS Anotações CDS Tipo Definição Estruturado SAP HANA Pesquisa Guia do desenvolvedor

User-Defined CDS Anotações Em CDS, você pode definir suas próprias anotações personalizadas. A built-in do núcleo anotações que SAP HANA oferece, por exemplo,Schema, CatalogOu nokey, Estão localizados no namespace sap.cds; o mesmo espaço é usado para armazenar todos os tipos de primitivas, por exemplo, sap.cds :: inteiro e sap.cds :: SMALLINT. No entanto, a sintaxe CDS também permite que você defina suas próprias anotações, que você pode usar para além das já existentes "core" anotações. As regras para a definição de uma anotação personalizado no CDS são maneira muito semelhante as regras que governam a definição de um tipo definido pelo usuário. Em CDS, uma anotação pode ser definido dentro de um contexto CDS ou como o artefato de nível superior único em um documento CDS. A anotação personalizado que define pode então ser atribuído a outros produtos manufacturados em um documento CDS, da mesma maneira como as anotações de núcleo, como ilustrado no exemplo seguinte:

@ Catalog.tableType: #ROW MyAnnotation: 'Foo' entidade MyEntity { chave Autor: String (100); booktitle chave: String (100); ISBN: Número inteiro não nulo; Publisher: String (100); } CDS suporta os seguintes tipos de anotações definidas pelo usuário:  Anotações escalares  Anotações estruturadas  Matrizes de Anotação

Escalares Anotações O exemplo a seguir mostra como definir uma anotação de escalar. MyAnnotation_1 anotação: integer; anotação MyAnnotation_2: String (20); Em definições de anotação, você pode usar tanto a enumeração tipo eo booleano tipo, como ilustrado no exemplo a seguir. color Tipo: String (10) enum {= vermelhas "podridão"; = verdes "grün '; = azuis "blau '; }; MyAnnotation_3 anotação: colorido; anotação MyAnnotation_4: Boolean;

Anotações estruturados O exemplo seguinte mostra como para definir uma anotação estruturado. MyAnnotation_5 anotação { um: Integer; b: String (20); c: Cor; d: Boolean; }; O exemplo a seguir mostra como ninho anotações em uma estrutura anotação anônimo. MyAnnotation_7 anotação { um: Integer 4; b: String (20) "HANA"; c: Cor #red; d: Boolean false; s { a1: Integer 4; b1: String (20) "HANA"; c1: Cor #red; d1: Boolean false; }; };

Anotações para Array O exemplo seguinte mostra como para definir uma anotação matriz semelhante. MyAnnotation_8 anotação: matriz de Integer; anotação MyAnnotation_9: array de String (12); MyAnnotation_10 anotação: matriz de {a: Integer; b: String (10); };

Exemplos de uso CDS Anotação Exemplos de referência do uso de CDS anotações definidas pelo usuário. Quando tiver definido uma anotação, a anotação definida pelo usuário pode ser usado para anotar outras definições. É possível usar os seguintes tipos de anotações definidas pelo usuário em um documento CDS:

Tabela 1: definidos pelo usuário CDS Anotações Tipo CDS Anotação

Descrição

Anotações escalares

Para uso com anotações inteiro ou uma string simples e enumeração ou booleanos tipos

Anotações estruturadas

Para uso onde você precisa criar uma estrutura simples anotação ou uma anotação ninho em uma estrutura anotação anônimo

Matrizes de Anotação

Para uso onde é necessário atribuir a mesma anotação várias vezes para o mesmo objeto.

Escalares Anotações Os exemplos a seguir mostram como usar uma anotação de escalar: @ MyAnnotation_1: 18 escreva MyType1: Integer; @ MyAnnotation_2: 'sol' @ MyAnnotation_1: 77 escreva MyType2: Integer; @ MyAnnotation_2: 'sol' @ MyAnnotation_2: 'lua' erro //: atribuir a mesma anotação duas vezes não é permitido. escreva MyType3: Integer;

NotaNão é permitido atribuir uma anotação para o mesmo objeto mais de uma vez. Se vários valores do mesmo tipo devem ser anotados a um único objeto, use uma anotação matriz-like. Para anotações que têm tipo de enumeração, o enum Os valores podem ser resolvidas seja por meio de seu nome completo, ou por meio da notação de atalho

(usando o hash (#) sinal. Não é permitida a utilização de um valor literal, mesmo que corresponda a uma literal do enum definição. @ MyAnnotation_3: #red escreva MyType4: Integer; @ MyAnnotation_3: Color.red escreva MyType5: Integer; @ MyAnnotation_3: 'podridão' // erro: não há literais permitido, símbolos usar ENUM escreva MyType6: Integer; Para anotações Booleanas, apenas os valores "verdade "Ou"falso"São permitidos, e uma notação de atalho está disponível para o valor"verdade", Tal como ilustrado nos exemplos que se seguem: @ MyAnnotation_4: true escreva MyType7: Integer; @ MyAnnotation_4 // mesmo atribuindo explicitamente o valor como "true" escreva MyType8: Integer; @ MyAnnotation_4: false escreva MyType9: Integer;

Anotações estruturados Anotações estruturados pode ser atribuído quer como uma unidade completa ou, em alternativa, um elemento de cada vez. O exemplo a seguir mostram como assigne um todo anotação estruturado: @ MyAnnotation_5: {a: 12, b: 'Jupiter', c: #blue, d: false} escreva MyType10: Integer; @ MyAnnotation_5: {c: #green} // nem todos os elementos precisam ser preenchidos escreva MyType11: Integer; O exemplo a seguir mostra como atribuir o mesmo elemento anotação estruturado por elemento. NotaNão é necessário atribuir um valor para cada elemento. @ MyAnnotation_5.a: 12 MyAnnotation_5.b @: 'Jupiter' @ MyAnnotation_5.c: #blue @ MyAnnotation_5.d: false escreva MyType12: Integer; @ MyAnnotation_5.c: #green escreva MyType13: Integer; @ MyAnnotation_5.c: #blue @ MyAnnotation_5.d // notação de atalho para booleano (true)

escreva MyType14: Integer; Não é permitido atribuir o mesmo elemento de anotação mais de uma vez; atribuir o mesmo elemento anotação mais do que uma vez em uma anotação strutcured provoca um erro de activação. @ MyAnnotation_5: {c: #green, c: #green} // erro, atribuir apenas uma vez cada elemento escreva MyType15: Integer; @ MyAnnotation_5.c: #green @ MyAnnotation_5.c: // erro #blue, atribuir apenas uma vez cada elemento escreva MyType16: Integer;

Anotações matrizes semelhantes

Embora não seja permitido designar os mesmos anotação várias vezes para o mesmo objecto, uma anotação matriz como permite obter o mesmo efeito, como ilustrado no exemplo seguinte: @ MyAnnotation_8: [1,3,5,7] escreva MyType30: Integer; @ MyAnnotation_9: ['Terra', 'Moon'] escreva MyType31: Integer; @ MyAnnotation_10: [{a: 52, b: 'Mercury'}, {a: 53, b: 'Venus'}] escreva MyType32: Integer;

CDS Comentário Tipos A sintaxe Serviços de Dados Básicos (CDS) permite inserir comentários em definições de objeto.

Exemplo Formatos de comentário no CDS Objeto Definições namespace com.acme.myapp1; Schema: '' Meu_esquema // CDS sintaxe para comentários / ** * Comentário de várias linhas, * For de estilo doxygen, * Comentários e anotações * / escreva Type1 { elemento FSTR: String (5000); // Comentário de fim de linha Flstr: LargeString; / * Embutido comentário * / Fbin: Binary (4000); elemento Flbin: LargeBinary;

Fint: Integer; elemento Fint64: Integer64; Ffixdec: Decimal (34, 34 / * outro comentário in-line * /); elemento FDeC: DecimalFloat; Fflt: BinaryFloat; // Completa linha de comentário elemento Flocdat: LocalDate; LocalDate temporariamente desligado // Linha completa comentar Floctim: LocalTime; elemento Futcdatim: UtcDateTime; Futctstmp: UTCTimestamp; };

Visão geral

Você pode usar a barra (/) E o asterisco (*) Caracteres para adicionar comentários e informações gerais para CDS opor-definição arquivos. São permitidos os seguintes tipos de comentário:  In-line comentário  End-of-line comentário  Completa-line comentário  Multi-linha de comentário

Em linha Comentários A in-line comentário permite inserir um comentário no meio de uma linha de código em um documento do CDS.Para indicar o início do comentário in-line, inserir um frente-slash (/), Seguido por um asterisco (*) Antes de o texto do comentário. Para sinalizar o fim do comentário in-line, insira um asterisco seguido de um personagem para frente-slash (* /) Depois de o texto do comentário, conforme ilustrado pelo exemplo seguinte :. elemento Flocdat: / * comentário de texto * / LocalDate;

End-of-Line Comentário

O comentário de fim-de-line permite que você inserir um comentário no final de uma linha de código em um documento do CDS. Para indicar o início de comentário de fim de linha, insira duas barras (//) Antes de o texto do comentário, conforme ilustrado pelo exemplo seguinte :. elemento Flocdat: LocalDate; // Texto Comentário

Linha completa Comentário

O comentário completo-line permite-lhe dizer o analisador para ignorar o conteúdo de uma linha inteira de código CDS. O comentário fora uma linha completa, insira duas barras invertidas (//) No início da linha, tal como ilustrado no exemplo seguinte: // Elemento Flocdat: LocalDate; O texto de comentário adicional

Multi-linha Comentários

O comentário multi-linha permite inserir texto de comentário que se estende por várias linhas de um documento CDS. Para indicar o início do comentário multi-linha,

insira um frente-slash (/), Seguido por um asterisco (*) No início do grupo de linhas que você deseja usar para um comentário prolongado (por exemplo, / *). Para sinalizar o fim do comentário multi-linha, insira um asterisco seguido de um personagem para frente-slash (* /). Cada linha entre o início eo fim do comentário multi-linha deve começar com um asterisco (*), Tal como ilustrado no exemplo seguinte: / * * Várias linhas, * De estilo doxygen * Comentários e anotações * /

Criar uma Entidade no CDS A entidade é o artefato central para a definição de persistência-modelo usando a sintaxe CDS. Você cria uma entidade de banco de dados como um arquivo de tempo de design no SAP HANA repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:     

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado um esquema para os objetos do catálogo do CDS, por exemplo, meu_esquema O proprietário do esquema devem ter privilégios SELECT no esquema para ser capaz de ver os objetos do catálogo gerados.

Contexto No SAP HANA banco de dados, como em outros bancos de dados relacionais, uma entidade CDS é uma tabela com um conjunto de elementos de dados que são organizados em colunas e linhas. SAP HANA Extensão Application Services (SAP HANA XS) permite que você use a sintaxe CDS para criar uma entidade de banco de dados como um arquivo de tempo de design no repositório. Ativando a entidade CDS cria a tabela correspondente no esquema especificado. Para criar um arquivo CDS entidade de definição no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o arquivo CDS entidade-definição. Navegue até a pasta em seu espaço de trabalho do projeto onde você deseja criar o novo arquivo CDS entidade-definição e execute os seguintes passos: 1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de definição de entidade e escolhaNovo Outro ... Banco de Dados Desenvolvimento Source File DDL no menu pop-up sensível ao contexto.

2.

Digite o nome do arquivo de definição de entidade no nome do arquivo caixa, por exemplo,MyEntity.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente (por exemplo, MyEntity.hdbdd) e, se for caso disso, permite a edição direta do novo arquivo no correspondente editor. 3.

Escolha Concluir para salvar as alterações e comprometer o novo arquivo de definição de entidade no repositório. 5. Definir a estrutura da entidade CDS. Se o novo arquivo entidade-definição não é exibido automaticamente pelo assistente de arquivo-criação, noProject Explorer visualizar clique duas vezes no arquivo de definição de entidade que você criou no passo anterior, por exemplo, MyEntity.hdbdd, e adicione o catalog- e código de entidade de definição para o arquivo:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. Se o esquema que você especificar não existir, você não pode ativar a nova entidade CDS. namespace acme.com.apps.myapp1; Schema: 'Meu_esquema' @ Catalog.tableType: #COLUMN @ Catalog.index: [{name: "MYINDEX1 ', exclusivo: true, ordem: #DESC, elementNames: [' ISBN ']}] entidade MyEntity { chave Autor: String (100); booktitle chave: String (100); ISBN: Número inteiro não nulo; Publisher: String (100); }; 6.

Salve o arquivo CDS entidade-definição. NotaSalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório. Você não precisa se comprometer explicitamente novamente.

7.

Ativar as alterações no repositório. 1. Localize e clique com o botão direito no novo arquivo CDS entidade de definição no Project Explorervista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. NotaSe você não pode ativar o artefato novas CDS, verifique se o esquema especificado já existe e de que não existem caracteres ilegais no espaço de nomes, por exemplo, o hífen (-).

8.

Assegurar o acesso ao esquema em que os novos objetos do catálogo do CDS são criados. Após a ativação no repositório, um objeto de esquema só é visível no catálogo para o usuário _SYS_REPO.Para permitir que outros usuários, por exemplo, o proprietário do esquema, para ver o esquema recém-criado e objetos que ele contém, você deve conceder ao usuário o privilégio SELECT necessário para o objeto esquema apropriado.

NotaSe você já tem o privilégio SELECT adequada, você não precisa executar esta etapa. 1.

No SAP HANA estúdio Sistemas de vista, clique com o SAP HANA sistema que hospeda o repositório onde o esquema foi ativado e escolher SQL Console no menu pop-up sensível ao contexto. 2. No console do SQL, execute a instrução ilustrado no exemplo a seguir, onde <SCHEMANAME> é o nome do esquema recém-ativado, e <nome de usuário> é o ID do usuário do banco de dados do proprietário do esquema: chamar _SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT ('selecionar', '<SCHEMANAME>', '<nomedousuário>'); 9.

Verifique se a nova entidade foi criada com sucesso. Entidades CDS são criados na Tabelas pasta no catálogo. 1.

No SAP HANA Desenvolvimento perspectiva, abra a Sistemas de vista. 2. Navegue até o local onde você criou catálogo da nova entidade. <SID> Catálogo <meu_esquema> Tabelas 3.

Abra uma pré-visualização de dados para a nova entidade MyEntity. Botão direito do mouse a nova entidade <package.path> :: MyEntity e escolha Abrir visualização de dados no menu pop-up.

DicaComo alternativa, para abrir a vista de tabela de definição dos SAP HANA ferramentas Catálogo, pressione F3 quando o CDS entidade está em foco no editor de CDS.

CDS Entidades No SAP HANA banco de dados, como em outros bancos de dados relacionais, uma entidade CDS é uma tabela com um conjunto de elementos de dados que são organizados usando colunas e linhas. Uma entidade CDS tem um determinado número de colunas, definido no momento da criação entidade, mas pode ter qualquer número de filas. Entidades de banco de dados também normalmente têm meta-dados associados a eles; os meta-dados podem incluir restrições sobre a entidade ou sobre os valores nas colunas específicas. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie uma entidade de banco de dados como um arquivo de tempo de design no repositório. Todos os ficheiros de depósito, incluindo a sua definição entidade pode ser transportado para outras SAP HANA sistemas, por exemplo, em uma unidade de entrega. Você pode definir a entidade que utiliza CDS-compliant DDL. NotaA unidade de entrega, é a forma SAP HANA fornece para permitir a montagem de todos os seus artefatos de repositório relacionados ao aplicativo juntos em um arquivo que pode ser facilmente exportado para outros sistemas. O código a seguir ilustra um exemplo de uma definição de entidade de tempo de design único usando CDS-compliant DDL. No exemplo abaixo, você deve salvar a definição da entidade "MyTable" no documento CDSMyTable.hdbdd. Além disso, o espaço de nome declarado em um documento CDS deve coincidir com o pacote repositório no qual o objeto do documento define está localizado. namespace com.acme.myapp1; Schema: 'Meu_esquema' @ Catalog.tableType: #COLUMN @ Catalog.index: [{name: "MYINDEX1 ', exclusivo: true, ordem: #DESC, elementNames: [' ISBN ']}] entidade MyTable { chave Autor: String (100); booktitle chave: String (100); ISBN: Número inteiro não nulo; Publisher: String (100); }; Se você quiser criar uma definição de entidade do banco de dados CDS-compliant como um arquivo de repositório, você deve criar a entidade como um arquivo simples e salve o arquivo contendo as dimensões entidade DDL com o sufixo .hdbdd, por exemplo, MyTable.hdbdd. O novo arquivo está localizado na hierarquia pacote que você estabelecer no SAP HANA repositório. O local do arquivo corresponde ao espaço de nomes especificado no início do arquivo, por exemplo, com.acme.myapp1 ou sap.hana.xs.app2. Você pode ativar o repositório de arquivos em qualquer ponto no tempo para criar o objeto de tempo de execução correspondente para a tabela definida. NotaPor activação de um ficheiro de repositório, o sufixo de arquivo, por exemplo, .hdbdd, é usado para determinar quais tempo de execução plugin para ligar durante o processo de activação. O plug-in lê o arquivo de

repositório selecionado para ativação, neste caso uma entidade CDS-compliant, analisa a descrição dos objetos no arquivo e cria os objetos de tempo de execução. Quando um documento CDS é activado, o processo de activação gera um objecto de catálogo correspondente para cada um dos artefactos definidos no documento; a localização no catálogo é determinada pelo tipo de objecto gerado. Por exemplo, a tabela de banco de dados correspondente para uma definição de entidade CDS é gerado no seguinte local catálogo: <SID> Catálogo <meu_esquema> Tabelas

Entidade Elemento Definição Você pode expandir a definição de um elemento entidade além do nome e tipo do elemento usando elementosmodificadores. Por exemplo, você pode especificar se um elemento entidade é a chave primária ou parte da chave primária. Os seguintes elementos modificadores de entidade estão disponíveis:  chave Define se o elemento especificado é a principal chave ou parte da chave primária para a entidade especificada. NotaEstruturado elementos pode ser parte da chave, também. Neste caso, todos os campos da tabela resultantes do achatamento deste campo estruturado são parte da chave primária. 



nulo Define se um elemento entidade pode (nulo) Ou não pode (não nulo) Tem o valor NULL. Se nem nulonem não nulo é especificado para o elemento, o valor padrão nulo aplica-se (excepto para o chaveelemento). default

Define o valor padrão para um elemento entidade no evento que nenhum valor é fornecido durante uma operação INSERT. A sintaxe para os literais é definido na especificação do tipo de dados primitivo. entidade MyEntity { MyKey chave: Integer; MyKey2 chave: null Integer; // Combinação ilegal MyKey3 chave: Integer padrão 2; // Combinação ilegal elem2: String (20) default "John Doe"; elem3: String (20) default "John Doe" null; elem4: default String "Jane Doe" não nulo; };

Dados Espaciais

Entidades CDS apoiar o uso de tipos de dados espaciais, tais como hana.ST_POINT ouhana.ST_GEOMETRYpara armazenar as coordenadas geoespaciais. Os dados espaciais são dados que descreve a posição, forma e orientação de objetos em um espaço definido; os dados são representados como geometrias bidimensionais em forma de pontos, linhas, cordas e polígonos.

Informação relacionada Entidade Elemento modificadores CDS Entidade opções de sintaxe

CDS tipos de dados primitivos

Entidade Elemento modificadores Elemento modificadores permitir-lhe expandir a definição de um elemento entidade além do nome e tipo do elemento. Por exemplo, você pode especificar se um elemento entidade é a chave primária ou parte da chave primária.

Exemplo entidade MyEntity {chave MyKey: Integer; elem2: String (20) padrão "John Doe"; elem3: String (20) default "John Doe" nulo; elem4: default String "Jane Doe" não nulo; };

chave MyKey chave: Integer; MyKey2 chave: null Integer; // Combinação ilegal MyKey3 chave: Integer padrão 2; Você pode expandir a definição de um elemento entidade além do nome e tipo do elemento usando elementosmodificadores. Por exemplo, você pode especificar se um elemento entidade é a chave primária ou parte da chave primária. Os seguintes elementos modificadores de entidade estão disponíveis:  chave Define se o elemento é a principal chave ou parte da chave primária para a entidade especificada. Vocênão pode usar ochave modificador nos seguintes casos: o Em combinação com um nulomodificador. O chave elemento é não nulo por padrão porque NULL não pode ser utilizado no chave elemento.

NotaEstruturado elementos pode ser parte da chave, também. Neste caso,

todos os campos da tabela resultantes do achatamento deste campo estruturado são parte da chave primária.

nulo elem3: String (20) default "John Doe" null; elem4: default String "Jane Doe" não nulo; nulo define se o elemento entidade pode (nulo) Ou não pode (não nulo) Tem o valor NULL. Se nem nulo nemnão nulo é especificado para o elemento, o valor padrão nulo aplica-se (excepto para o chaveElemento), o que significa que o elemento pode ter o valor NULL. Se você usar onulo modificador, observe os seguintes pontos: CuidadoAs palavras-chaveanulável e não anulávelnão são mais válidas; eles foram substituídos por SPS07 com as palavras-chave nulo e não nulo,

Respectivamente. As palavras-chave nulo e não nulo deve aparecer no final do elemento de definição entidade, por exemplo, field2: Integer null;. 

O não nulo modificador só podem ser adicionados se o seguinte é verdadeiro: o UMA padrão é também definida o não nulo dados já está na tabela



A menos que a tabela está vazia, ter em mente que ao adicionar um novo não nulo elemento para uma entidade existente, você deve declarar um

valor padrão porque já pode ser as linhas existentes que não aceitam NULL como um valor para o novo elemento.  nulo são permitidos elementos com valores padrão  Você não pode combinar o elemento chave com o elemento modificador nulo.  Os elementos utilizados para um índice único deve ter o não nulo propriedade. entidade WithNullAndNotNull { id chave: Integer; field1: Integer; field2: Integer null; // O mesmo que campo1, null é padrão field3: Integer não nulo; };

padrão

default Para cada elemento de escalar uma entidade, um valor por defeito pode ser especificado. O padrão identificador entidade define o valor padrão para o elemento no caso em que nenhum valor é fornecido durante uma operação INSERT. NotaA sintaxe para os literais é definido na especificação do tipo de dados primitivo. WithDefaults entidade { id chave: Integer; field1: default Integer -42; field2: Integer64 padrão 9223372036854775807; field3: Decimal (5, 3) padrão 12.345; field4: BinaryFloat padrão 123.456e-1; Field5: LocalDate padrão date'2013-04-29 '; field6: LocalTime time'17 padrão: 04: 03 '; field7: UtcDateTime timestamp'2013-05-01 padrão 01:02:03 '; Field8: UTCTimestamp timestamp'2013-05-01 padrão 01:02:03 '; field9: Binary (32) x'0102030405060708090a0b0c0d0e0 padrão [...] "; field10: String (10) default 'foo'; };

Se um elemento tem o modificador não nulo, O campo correspondente da tabela gerada tem a mesma propriedade. No exemplo a seguir, field1 e field2 são idênticos; nulo é o padrão. entidade WithNullAndNotNull { id chave: Integer; field1: Integer; field2: Integer null; // O mesmo que campo1, null é padrão field3: Integer não nulo; };

CDS Entidade opções de sintaxe A entidade é o artefato central para definição do modelo de persistência usando a sintaxe CDS. Na ativação noSAP HANA repositório, cada definição de entidade no CDS gera uma tabela de banco de dados.

Exemplo Nota Este exemplo não é um exemplo de trabalho; destina-se apenas para fins ilustrativos. Pack1 namespace "pack-idade2."; Schema: 'MySchema' MyContext contexto { entidade MyEntity1 { chave ID: Integer; name: String (80); }; Catalog: {TABLETYPE: #COLUMN, índice: [ {Name: "index1 ', ordem: #DESC, exclusivo: true, elementNames: [" field1 "," campo2']}, {Name: "index2 ', ordem: #ASC, campo1 ',' field7 ']} ] } entidade MyEntity2 { id chave: Integer; field1: Integer; field2: Integer; field7: Integer; };

exclusivo: false, elementNames: ['

} MySpatialContext contexto { entidade de endereços { id chave: Integer; street_number: Integer; street_name: String (100); zip: String (10); cidade: String (100); loc: hana.ST_POINT (4326); }; } MySeriesContext contexto { entidade MySeriesEntity { setId chave: Integer; t chave: UTCTimestamp; valor: decimal (10,4); série ( chave série (setId) período para a série (t) equidistante incremento pelo intervalo de 0,1 segundo equidistante piecewise ) }; }

Visão geral Definições de entidade se assemelham a definição de tipos estruturados, mas com as seguintes características adicionais:  Definição de chave  Definição de índice  Tipo de tabela de especificação  Os dados espaciais *  Série de Dados * Na ativação no SAP HANA repositório, cada definição de entidade no CDS gera uma tabela de banco de dados. O nome da tabela gerada é construída de acordo com as mesmas regras para tipos de tabela, por exemplo,Pack1.Pack2 :: MyModel.MyContext.MyTable.

NotaO nome do CDS é restrito pelos limites impostos sobre o comprimento do

identificador de banco de dados para o nome do correspondente SAP HANA artefato banco de dados (por exemplo, tabela, visão ou tipo); esta está actualmente limitado a 126 caracteres (incluindo delimitadores).

Definição Key Tipo MyStruc2 {

field1: Integer; field2: String (20); }; entidade MyEntity2 { id chave: Integer; name: String (80); str chave: MyStruc2; }; Normalmente, uma entidade deve ter uma chave; você usa a palavrachavechavepara marcar os respectivos elementos. Os elementos-chave tornar-se a chave primária da gerado SAP HANA mesa e são automaticamente marcada comonão nulo. Os elementos-chave também são utilizadas para associações gerenciados. Elementos estruturados pode ser parte da chave, também. Neste caso, todos os campos da tabela resultantes do achatamento deste elemento estruturado são parte da chave primária. NotaPara definir uma entidade sem uma chave, utilize onokey anotação

Definição Index Catalog: {TABLETYPE: #COLUMN, index: [ {Name: "index1 ', ordem: #DESC, exclusivo: true, elementNames: [" field1 "," campo2']}, {Name: "index2 ', ordem: #ASC, exclusivo: false, elementNames: [' campo1 ',' field7 ']} ] } Você usa o @ Catalog.index ou Catalog: {Índice: [...]}anotação para definir um índice para uma entidade CDS. Você pode definir os seguintes valores para o@ Catalog.index anotação: 



Nome: '' O nome do índice a ser gerado para a entidade especificada, por exemplo, Nome: 'MyIndex' ordem Criar um índice de tabela classificada em ordem crescente ou decrescente. As palavras-chave de ordem#ASC e #DESCsó pode ser usado na BTREE índice (para a manutenção de dados ordenados) e pode ser especificado apenas uma vez para cada índice. o ordem: #ASC

o



Cria um índice para a entidade CDS e classifica os campos de índice em ascendente ordem lógica, por exemplo: 1, 2, 3 ... ordem: #DESC Cria um índice para a entidade CDS e classifica os campos de índice em decrescente ordem lógica, por exemplo: 3, 2, 1 ... único

Cria um índice exclusivo para a entidade CDS. Em um índice exclusivo, duas linhas de dados em uma tabela não pode ter valores de chaves idênticas. o original: true

o



Cria um índice exclusivo para a entidade CDS. A singularidade é verificado e, se necessário, aplicada a cada vez que uma tecla é então adicionado (ou alterado em) o índice e, além disso, cada vez que uma fila é adicionado à tabela. original: false Cria um índice não-exclusivo para a entidade CDS. Um índice não exclusivo destina-se principalmente a melhorar o desempenho da consulta, por exemplo, através da manutenção de uma ordem de classificação para os valores de dados que são frequentemente consultados. elementNames: ['', '']

Os nomes dos campos a utilizar no índice; os elementos são especificados para a definição da entidade, por exemplo,elementNames: ['campo1', 'field2']

Tabela-Type Definition namespace com.acme.myapp1; Schema: 'Meu_esquema' MyContext1 contexto { @ Catalog.tableType: #COLUMN entidade MyEntity1 { chave ID: Integer; name: String (30); }; @ Catalog.tableType: #ROW entidade MyEntity2 { chave ID: Integer; name: String (30); }; @ Catalog.tableType: #GLOBAL_TEMPORARY entidade MyEntity3 { chave ID: Integer; name: String (30); }; @ Catalog.tableType: #TEMPORARY_GLOBAL_COLUMN entidade MyTempEntity { um: Integer; b: String (20); }; }; Você usa o @ Catalog.tableType ou Catalog: {TABLETYPE: # <TIPO>}anotação para definir o tipo de entidade CDS você deseja criar, por exemplo: Coluna ou com base em fileiras ou temporária global. O@ Catalog.tableTypeanotação determina o mecanismo de armazenamento no qual a tabela subjacente é criado.A seguinte tabela lista e explica os valores permitidos para a@ Catalog.tableType anotação:

Tabela 1: Table-Type opções de sintaxe Tabela-Type Opção

Descrição

#COLUMN

Criar uma tabela baseada em coluna. Se a maioria do acesso à tabela é através de um grande número de tuplas, com apenas alguns atributos selecionados, use o armazenamento baseado em COLUMN para o seu tipo de tabela.

#FILA

Criar uma tabela com base em fileiras. Se a maioria do acesso à tabela envolve a seleção de alguns registros, com todos os atributos selecionados, use o armazenamento baseado em ROW para o seu tipo de tabela.

#GLOBAL_TEMPORARY

Definir o escopo da tabela criada. Dados em um mundial tabela temporária é específico de sessões; apenas o proprietário sessão da tabela temporária global é permitido inserir / ler / truncar os dados. Uma tabela temporária global existe para a duração da sessão, e dados da tabela temporária global é descartado automaticamente quando a sessão é encerrada. Note-se que uma tabela temporária não pode ser alterado quando a tabela está em uso por uma sessão aberta, e uma tabela temporária global só pode ser descartado se a tabela não temos registos.

#TEMPORARY_GLOBAL_COLUMN Defina o escopo da coluna da tabela. Tabelas temporárias globais de coluna não podeter ou uma chave ou um índice.

NotaO SAP HANA banco de dados usa uma combinação de tipos de tabela para permitir o armazenamento e interpretação em ambas as formas linha e coluna. Se nenhum tipo de tabela é especificado na definição da entidade CDS, o valor padrão #COLUMN é aplicado para a tabela criada na activação da definição da entidade de tempo de design.

Tipos espaciais * O exemplo a seguir mostra como usar o tipo espacial ST_Pointem uma definição de entidade CDS. Na entidade exemploPessoa, Cada pessoa tem um endereço residencial e endereço comercial, cada um dos quais é acessível através das associações correspondentes. NaEndereço entidade, as coordenadas geo-espaciais para cada pessoa são armazenados no elemento loc usando o tipo espacial ST_Point(*).

Código de exemplo entidade Person { id chave: Integer; name: String (100); HomeAddress: Associação [1] para Endereço; officeAddress: Associação [1] para Endereço; }; entidade de endereços { id chave: Integer;

street_number: Integer; street_name: String (100); zip: String (10); cidade: String (100); loc: hana.ST_POINT (4326); };

Série de Dados * CDS permite que você crie uma tabela para armazenar dados de série através da definição de uma entidade que inclui um série () cláusula como uma opção de mesa e, em seguida, definir os paremeters e opções apropriadas.

Nota O período para a série deve ser único e não deve ser afectado por qualquer mudança na data e hora.

Código de exemplo entidade MySeriesEntity { setId chave: Integer; t chave: UTCTimestamp; valor: decimal (10,4); série ( chave série (setId) período para a série (t) incremento equidistante por intervalo de 0,1 segundo ) }; CDS também apoia a criação de uma tabela série chamada piecewise equidistantecodificado utilizando-Formula Timestamps (FET). Isso permite o suporte para dados que não são carregados em uma ordem que garante uma boa compactação. Não existe a priori sobre a data e hora de restrição que são armazenados, mas os dados deverá ser bem aproximada como seccionalmente linear com alguma instabilidade. As marcas de tempo não tem uma única inclinação / deslocamento em toda a tabela; em vez disso, eles podem mudar dentro e entre as séries na tabela.

Restrição O piecewise equidistanteespecificação só podem ser usadas em CDS; ele não pode ser usado para criar uma tabela com o comando SQL CREATE TABLE.

Código de exemplo entidade MySeriesEntity { setId chave: Integer; t chave: UTCTimestamp; valor: decimal (10,4); série ( chave série (setId) período para a série (t)

piecewise equidistante ) }; Quando uma tabela de série é definido como piecewise equidistante, As seguintes restrições se aplicam: 1. O períodoinclui uma coluna (instantânea); não há suporte para os períodos de intervalo. 2. Não há suporte para elementos em falta. Estes podem, logicamente, ser definido se o período inclui um intervalo de início e fim. Faltam elementos, em seguida, ocorrem quando temos linhas adjacentes, onde o fim do intervalo não ser igual ao início do intervalo. 3.

O tipo de coluna período deve ser mapeado para um dos seguintes tipos: ENCONTRO, SECONDDATEOuTIMESTAMP.

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Informação relacionada CDS Anotações CDS tipos de dados primitivos

Migrar uma Entidade de hdbtable de CDS (hdbdd) Migrar uma representação de tempo de design de uma tabela da .hdbtable sintaxe para o CDS-compliant.hdbdd sintaxe, mantendo a tabela de catálogo subjacente e seu conteúdo.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:      

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado um esquema para os objetos do catálogo do CDS, por exemplo, meu_esquema O proprietário do esquema devem ter privilégios SELECT no esquema para ser capaz de ver os objetos do catálogo gerados. Você deve ter uma definição de tempo de design do hdbtable entidade que deseja migrar para o CDS.

Contexto Neste procedimento, é substituir uma representação de tempo de design de uma tabela de banco de dados que foi definida utilizando o hdbtable sintaxe com um documento do CDS que descreve a mesma tabela (entidade) com o CDScompliant hdbdd sintaxe. Para migrar um hdbtable artefato para CDS, você deve excluir a versão inativa do hdbtable objeto e criar um novo hdbdd artefato com o mesmo nome e estrutura. Você deve definir a entidade CDS-alvo manualmente. O nome da entidade e os nomes dos elementos podem ser reutilizados a partir do hdbtable definição. O mesmo se aplica para os modfifiers elemento, por exemplo, NULL / NOT NULL, e os valores padrão. NotaEm CDS, não há nenhuma maneira de reproduzir a coluna Comentários definidos em um hdbtable artefato.Você pode usar comentários de código fonte, por exemplo,'/ * * /' ou '//'No entanto, os comentários não aparecem na tabela de catálogo após a ativação da nova CDS artefato.

Procedimento 1.

Use CDS sintaxe para criar uma cópia da tabela que você originalmente definido usando o hdbtablesintaxe.

NotaO documento novas CDS deve ter o mesmo nome que o

original hdbtable artefato, por exemplo,Employee.hdbdd e Employee.hdbtable. O código a seguir mostra uma tabela simples Employee.hdbtable que é definida utilizando a hdbtablesintaxe. Esta é a "fonte" mesa para a migração. Quando você ter recriado esta tabela em CDS usando o.hdbdd sintaxe, você pode excluir o artefato Employee.hdbtable. table.schemaName = "meu_esquema"; table.tableType = columnstore; table.columns = [ {name = "nome"; SQLTYPE = NVARCHAR; anulável = false; Comprimento = 20;}, {name = "sobrenome"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "doe";}, {name = "idade"; SQLTYPE = INTEGER; anulável = false;}, {name = "salário"; SQLTYPE = decimal; anulável = false; precisão = 7; escala = 2;} ]; O código a seguir mostra a mesma tabela simples recriado com o CDScompliant hdbdd sintaxe. O novo artefato de tempo de design é chamado Employee.hdbdd e é o "alvo" para a operação de migração. Note-se que todos os nomes de coluna permanecem os mesmos. namespace sap.cds.tutorial; Schema: 'Meu_esquema' @ Catalog.tableType: #COLUMN nokey entidade Employee { firstname: String (20) não nulo; sobrenome: String (20) default 'doe "; idade: Integer não nulo; salário: Decimal (7,2) não nulo; }; 2. Ative a fonte (hdbtable artefatos da operação de migração) e de destino (CDS). Para substituir o velho hdbtable artefato com o novo hdbdd (CDS) artefato, você deve ativar ambos os artefatos (o excluído hdbtable artefato eo novo documento novas CDS) juntos em uma única operação de ativação, por exemplo, executando a operação de ativação na pasta que contém os dois objectos. Se você não ativar artefatos juntos em uma única operação de ativação, os dados armazenados na tabela será perdido já que a tabela é excluída e recriada durante o processo de migração.

DicaEm SAP HANA estúdio, escolher a equipa Ative tudo ... opção para listar todos os objetos inativos e selecionar os objetos que deseja ativar. No SAP

HANA Workbench baseado na Web, a configuração padrão é Ativar em salvar, mas você pode alterar esse comportamento para só poupar. 3.

Verifique se a tabela está no catálogo no esquema especificado. Para garantir que a nova tabela CDS-definidos é idêntica à velha mesa (HDBtable-definido), verifique o conteúdo da tabela no catálogo.

Informação relacionada Diretrizes de migração: hdbtable ao CDS Entity SAP HANA para CDs de dados-Type Mapping

Diretrizes de migração: hdbtable ao CDS Entity Substituir uma já existente hdbtable definição com o documento CDS equivalente. É possível migrar o SAP HANA hdbtable definição para um Serviços de Dados Básicos (CDS) de entidade que tem igualmente nomeado de forma diferente, mas elementos digitado. Ao recriar o novo documento CDS, você não pode escolher um tipo de dados arbitrário; você deve seguir as orientações para mapeamentos de tipo de dados válidos no SAP HANA documentação conversão do tipo de dados SQL. Uma vez que o SAP HANA documentação SQL não abrange dados CDS tipos você deve mapear os nomes dos tipos de alvo em CDs tipos manualmente. NotaLembre-se que a maioria das conversões de tipo de dados dependem dos dados que está presente na tabela de catálogo no sistema de destino. Se você estiver planejando migrar SAP HANA (hdbtable) tabelas para entidades CDS, tenha em mente os seguintes pontos importantes:  Estrutura CDS documento A nova entidade (que substitui o antigo hdbtable definição) deve ser definido ao nível superior do novo documento CDS; ele não pode ser definido mais profundo no documento CDS, por exemplo, dentro de um contexto aninhados CDS. Se a tabela (entidade) não está definido como o elemento de nível superior no documento CDS, o nome do catálogo resultante da entidade (na ativação) não irá coincidir com o nome da tabela de tempo de execução que deve ser assumido pelo novo objeto CDS . A activação de um tal construção seria bemsucedido, mas isto iria resultar em dois objectos de catálogo: o Um novo (e vazio) tabela gerada a partir do antigo (suprimido) hdbtable definição o A nova entidade tabela gerada a partir do novo documento CDS. Esta nova tabela deve ser órfãos; que não pertencem (no nome) para qualquer objeto de tempo de design.

Se o elemento de nível superior da entidade CDS alvo não é uma entidade (por exemplo, um contexto ou um tipo), a activação do documento CDS cria o artefacto especificado (um contexto ou um tipo) e não toma mais de catálogo tabela definida pela fonte (hdbtable definição). 

Compatibilidade estrutural O novo documento CDS (definido no hdbdd artefato) deve estar estruturalmente compatíveis com a definição da tabela no antigo hdbtable artefato (ou seja, com o quadro de tempo de execução). o Os tipos de dados Todos os elementos da entidade novas CDS que têm chamado igualmente homólogos no antigohdbtable definição deve ser conversível em relação ao

o

seu tipo de dados. As regras de conversão implícitos descritos no SAP HANA documentação SQL aplicar. Elementos / Colunas Elementos / colunas que existem na tabela de tempo de execução, mas são não definidos na entidade CDS será descartado. Elementos / colunas que não existem na tabela de tempo de execução, mas são definidos na entidade CDS são adicionados à tabela de tempo de execução.

Informação relacionada SAP HANA para CDs de dados-Type Mapping Os dados SAP HANA SQL Conversão de tipo

SAP HANA para CDs de dados-Type Mapping Tabela de mapeamento para SAP HANA (hdbtable) e (CDS) tipos Serviços Core Data. Embora CDS define o seu próprio sistema de tipos de dados, a lista de tipos é aproximadamente equivalente aos tipos de dados disponíveis no SAP HANA (hdbtable); a diferença entre os tipos e CDs de dados SAP HANA tipos de dados é principalmente nos nomes de tipo. A tabela a seguir lista os SAP HANA (hdbtable) tipos de dados e indica o que o tipo equivalente está em CDS.

Tabela 1: Mapeamento SAP HANA e CDS Tipos SAP HANA Tipo (hdbtable)

CDS Tipo (hdbdd)

NVARCHAR

Corda

ShortText

Corda

NCLOB

LargeString

TEXTO

LargeString

Tabela 1: Mapeamento SAP HANA e CDS Tipos SAP HANA Tipo (hdbtable)

CDS Tipo (hdbdd)

VARBINARY

Binário

BLOB

LargeBinary

INTEIRO

Número inteiro

INT

Número inteiro

BIGINT

Integer64

DECIMAL (p, s)

Decimal (p, s)

DECIMAL

DecimalFloat

DUPLO

BinaryFloat

DayDate

LocalDate

ENCONTRO

LocalDate

SEGUNDA VEZ

Horário local

TEMPO

Horário local

SECONDDATE

UtcDateTime

LONGDATE

UTCTimestamp

TIMESTAMP

UTCTimestamp

Alphanum

hana.ALPHANUM

SMALLINT

hana.SMALLINT

TINYINT

hana.TINYINT

SMALLDECIMAL

hana.SMALLDECIMAL

REAIS

hana.REAL

VARCHAR

hana.VARCHAR

Tabela 1: Mapeamento SAP HANA e CDS Tipos SAP HANA Tipo (hdbtable)

CDS Tipo (hdbdd)

CLOB

hana.CLOB

BINÁRIO

hana.BINARY

ST_Point

hana.ST_POINT

ST_Geometry

hana.ST_GEOMETRY

Informação relacionada Migrar uma Entidade de hdbtable de CDS (hdbdd) CDS Entidade opções de sintaxe Os dados SAP HANA SQL Conversão de tipo

Criar um User-Defined Structured Digite CDS Um tipo estruturado é um tipo de dados que compreende uma lista de atributos, cada um dos quais tem o seu próprio tipo de dados. Você cria um tipo estruturado definido pelo usuário como um arquivo de tempo de design noSAP HANA repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:     

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado um esquema para os objetos do catálogo do CDS, por exemplo, meu_esquema O proprietário do esquema devem ter privilégios SELECT no esquema para ser capaz de ver os objetos do catálogo gerados.

Contexto SAP HANA estendidos Application Services (SAP HANA XS) permite que você use os CDS sintaxe para criar um tipo estruturado definido pelo usuário como um arquivo de tempo de design no repositório. Arquivos do repositório são transportáveis. Ativando o documento CDS cria os tipos correspondentes no esquema especificado. Para criar um documento CDS que define um ou mais tipos estruturados e salvar o documento no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Criar o arquivo de definição de CDS do tipo estruturado definido pelo usuário. Navegue até a pasta em seu espaço de trabalho do projeto onde você deseja criar o arquivo de definição do CDS para o novo tipo estruturado definido pelo usuário e execute os seguintes passos: 1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de definição para o tipo estruturado definido pelo usuário e escolha New Outros ... Banco de Dados Desenvolvimento Source File DDL no menu pop-up sensível ao contexto. 2. Digite o nome do tipo estruturado definido pelo usuário no nome do arquivo caixa, por exemplo,MyStructuredType.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente (por exemplo, MyCDSFile.hdbdd) e, se for caso disso, permite a edição direta do novo arquivo no correspondente editor. 3.

Escolha Concluir para salvar as alterações e comprometer o novo tipo estruturado definido pelo usuário no repositório. 5. Definir o tipo estruturado definido pelo usuário no CDS. Se o novo tipo estruturado definido pelo usuário não é exibido automaticamente pelo assistente de arquivo-criação, no Project Explorer visualizar clique duas vezes no tipo estruturado definido pelo usuário que você criou no passo anterior, por exemplo, MyStructuredType.hdbdd, e adicione o código de definição do tipo estruturado definido pelo usuário para o arquivo:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. Se o esquema que você especificar não existir, você não pode ativar o novo documento CDS e os tipos estruturados não são criadas. namespace Package1.Package2; Schema: 'Meu_esquema'

Tipo MyStructuredType { aNumber: Integer; SomeText: String (80); otherText: String80; }; 6.

Salve o arquivo de definição do tipo estruturado definido pelo usuário CDS. NotaSalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório. Você não precisa se comprometer explicitamente o arquivo novamente.

7.

Ativar as alterações no repositório. Localize e clique com o botão direito no novo arquivo de definição CDS no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. Se você não pode ativar o artefato novas CDS, verifique se o esquema especificado já existe e de que não existem caracteres ilegais no espaço de nomes, por exemplo, o hífen (-). 1.

8.

Na ativação, os tipos de dados aparecem na Sistemas de vista do SAP HANA Desenvolvimentoperspectiva sob <SID> Catálogo SchemaName Procedimentos Tipos de Tabela. 9. Assegurar o acesso ao esquema em que os novos objetos do catálogo do CDS são criados. Após a ativação no repositório, um objeto de esquema só é visível no catálogo para o usuário _SYS_REPO.Para permitir que outros usuários, por exemplo, o proprietário do esquema, para ver o esquema recém-criado e objetos que ele contém, você deve conceder ao usuário o privilégio SELECT necessário para o objeto do esquema.

NotaSe você já tem o apropriadoSELECIONAR privilégio, você não precisa executar esta etapa. 1.

No SAP HANA estúdio Sistemas de vista, clique com o SAP HANA sistema que hospeda o repositório onde o esquema foi ativado e escolher SQL Console no menu pop-up sensível ao contexto. 2. No console do SQL, execute a instrução ilustrado no exemplo a seguir, onde <SCHEMANAME> é o nome do esquema recém-ativado, e <nome de usuário> é o ID do usuário do banco de dados do proprietário do esquema: chamar _SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT ('selecionar', '<SCHEMANAME>', '<nomedousuário>');

CDS tipos de dados definidos pelo usuário Tipos de dados definidos pelo usuário de referência existentes tipos estruturados (por exemplo, definido pelo usuário) ou os tipos individuais (por exemplo, campo, tipo ou contexto) usado em uma outra definição do tipo de dados. Você pode usar o tipo de palavra-chave para definir um novo tipo de dados na sintaxe DDL CDS-compliant. Você pode definir o tipo de dados das seguintes maneiras:  Usando tipos estruturados autorizados (por exemplo, definido pelo usuário)  Fazendo referência a outro tipo de dados No exemplo a seguir, o elemento de definição field2: MyType1; especifica um novo elemento field2 que é baseado na especificação do tipo de dados definidos pelo utilizador MyType1.

NotaSe você estiver usando um documento CDS para definir um tipo de dados definido pelo usuário CDS-compliant único, o nome do documento CDS deve corresponder ao nome do tipo de dados de nível superior definidas no documento CDS, por exemplo, com o tipo palavra-chave. No exemplo a seguir, você deve salvar a definição do tipo de dados "MyType1" no documento CDSMyType1.hdbdd. Além disso, o espaço de nome declarado em um documento CDS deve coincidir com o pacote repositório no qual o objeto do documento define está localizado. namespace com.acme.myapp1; Schema: 'Meu_esquema' // tipos de dados estruturados definidos pelo usuário escreva MyType1 { field1: Integer; field2: String (40); field3: Decimal (22,11); field4: Binary (11); }; escreva MyType2 { field1: String (50); field2: MyType1; }; escreva MyType3 { field1: UTCTimestamp; field2: MyType2; }; O exemplo de código a seguir mostra como usar o tipo depalavra-chave para definir um elemento usando a definição especificada em outro campo de tipo de dados definidos pelo usuário. Por exemplo, field4: tipo de field3; indica que, tal como field3, field4 é um LocalDate tipo de dado.

namespace com.acme.myapp1; Schema: 'Meu_esquema' // Simples tipos de dados definidos pelo usuário entidade MyEntity1 { id chave: Integer; field1: MyType3; field2: String (24); field3: LocalDate; field4: tipo de field3; Field5: tipo de MyType1.field2; field6: tipo de InnerCtx.CtxType.b; // Referência contexto }; Você pode usar o tipo de palavra-chave das seguintes maneiras:  Definir um novo elemento (field4) Usando a definição especificada no outro elemento definido pelo usuáriofield3: field4: tipo de field3;  Definir um novo elemento Field5usando a definição especificada em um campo (field2) Que pertence a outro tipo de dados definido pelo usuário (MyType1): Field5: tipo de MyType1.field2;  Definir um novo elemento (field6) Utilizando um campo existente (b) Que pertence a um tipo de dados (CtxType) Em outro contexto (InnerCtx): field6: tipo de InnerCtx.CtxType.b; O exemplo de código a seguir mostra como definir contextos aninhados (MyContext.InnerCtx) E referem-se a tipos de dados definidos por um usuário no contexto especificado. namespace com.acme.myapp1; Schema: 'Meu_esquema' MyContext contexto { // Contextos aninhados InnerCtx contexto { Entidade MyEntity { ... }; Escreva CtxType { um: Integer; b: String (59); }; }; escreva MyType1 { field1: Integer;

field2: String (40); field3: Decimal (22,11); field4: Binary (11); };

escreva MyType2 { field1: String (50); field2: MyType1; }; escreva MyType3 { field1: UTCTimestamp; field2: MyType2; };

@ Catalog.index: [{name: "INDEXA ', ordem: #ASC, exclusivo: true, elementNames: ['campo1']}] entidade MyEntity1 { id chave: Integer; field1: MyType3 não nulo; field2: String (24); field3: LocalDate; field4: tipo de field3; Field5: tipo de MyType1.field2; field6: tipo de InnerCtx.CtxType.b; // Refere-se ao contexto aninhada field7: InnerCtx.CtxType; // Mais referências de contexto }; };

Restrições Resolução de nomes CDS não faz distinção entre CDS elementos e CDS tipos. Se você definir um elemento CDS com base em um tipo de dados CDS que tem o mesmo nome que o novo elemento CDS, CDS exibe uma mensagem de erro e a ativação dos CDS documento falhar. CuidadoEm um documento CDS, você não pode definir um elemento CDS utilizando um tipo CDS de mesmo nome;você deve especificar o contexto onde o tipo de destino é definida, por exemplo,MyContext.doobidoo. O exemplo a seguir define uma associação entre um elemento e uma base de dados CDS CDS tipo ambas as quais são nomeados doobidoo. O resultado é um erro ao resolver os nomes no documento CDS; CDS espera um tipo nomeado doobidoomas encontra um elemento entidade CDS com o mesmo nome que é não um tipo. MyContext contexto { escreva doobidoo: Integer;

entidade MyEntity { id chave: Integer; doobidoo: doobidoo; // Erro: tipo esperado; doobidoo não é um tipo }; }; O exemplo a seguir funciona, uma vez que a referência explícita ao contexto em que a definição de tipo encontra-(MyContext.doobidoo) Permite que os CDS para resolver o alvo definição. MyContext contexto { escreva doobidoo: Integer; entidade MyEntity { id chave: Integer; doobidoo: MyContext.doobidoo; // ESTÁ BEM }; };

NotaPara evitar confrontos de nomes entre artefatos que são tipos e aqueles que têm um tipo que lhes foi atribuído, certifique-se de manter os rigorosos convenções de nomenclatura. Por exemplo, usar um maiúscula primeira letra para MyEntity, Minha vista e MyType; utilizar uma primeira letra minúscula para elementosmyElement.

CDS Tipo Definição Estruturado Um tipo estruturado é um tipo de dados que compreende uma lista de atributos, cada um dos quais tem o seu próprio tipo de dados. Os atributos do tipo estruturado pode ser definido manualmente no tipo estruturado em si e reutilizados, quer por outro tipo estruturado ou uma entidade. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie um tipo estruturado como um arquivo de banco de dados em tempo de design no repositório. Todos os arquivos do repositório incluindo a sua definição de tipo estruturado pode ser transportado para outras SAP HANA sistemas, por exemplo, em uma unidade de entrega. Você pode definir o tipo estruturado utilizando CDScompliant DDL. NotaA unidade de entrega, é a forma SAP HANA fornece para permitir a montagem de todos os seus artefatos de repositório relacionados ao aplicativo juntos em um arquivo que pode ser facilmente exportado para outros sistemas. Quando um documento CDS é activado, o processo de activação gera um objecto de catálogo correspondente para cada um dos artefactos definidos no documento; a localização no catálogo é determinada pelo tipo de objecto gerado. Por exemplo, o

tipo de tabela correspondente para uma definição de tipo CDS é gerado no seguinte local catálogo: <SID> Catálogo <meu_esquema> Procedimentos tipos de tabelas

Tipos definidos pelo usuário estruturados Em um tipo definido pelo usuário estruturado, você pode definir os tipos de originais (um número no exemplo a seguir) ou referência tipos definidos em outros lugares na mesma definição de tipo ou de outro, definição de tipo separado (existenteMyString80). Se você definir vários tipos em um único documento CDS, cada definição de estrutura devem ser separados por um ponto e vírgula (;). namespace Package1.Package2; Schema: 'MySchema' Tipo MyStruct { aNumber: Integer; SomeText: String (80); otherText: MyString80; // Definida em um tipo separado };

NotaSe você estiver usando um documento CDS para especificar um único tipo de dados CDS-compliant, o nome do documento CDS (MyStruct.hdbdd) deve coincidir com o nome do tipo de dados de nível superior definidas no documento CDS, por exemplo, com o tipo de palavra-chave.

Tipos Estruturados aninhados Desde tipos definidos pelo usuário pode fazer uso de outros tipos definidos pelo usuário, você pode construir tipos estruturados aninhadas, como ilustrado no exemplo a seguir: Tipo MyNestedStruct { Nome: MyString80; aninhada: MyStruct; // Definida em um tipo separado }; Tipo MyDeepNestedStruct { texto: LargeString; aninhada: MyNestedStruct; }; Você também pode definir um tipo baseado em um tipo existente que já está definido em outro tipo estruturado definido pelo usuário, por exemplo, usando a tipo de chave, conforme ilustrado no exemplo seguinte: Tipo MyOtherInt: tipo de MyStruct.aNumber; // => Integer escreva MyOtherStruct: tipo de MyDeepNestedStruct.nested.nested; // => MyStruct

Tipos de Tabela gerados Para cada tipo estruturado, a SAP HANA tipo de tabela é gerado, cujo nome é construída concatenando os seguintes elementos do documento CDS que contém a definição do tipo estruturado e separar os elementos de um delimitador de ponto (.):  o espaço de nome (por exemplo, Pack1.Pack2)  os nomes de todos os artefatos que encerram o tipo (por exemplo, MyModel)  o nome do próprio tipo (por exemplo, MyNestedStruct) Tipo de criar "Pack1.Pack2 :: MyModel.MyNestedStruct" como a tabela ( Nome nvarchar (80), nested.aNumber inteiro, nested.someText nvarchar (80), nvarchar nested.otherText (80) ); As novas SAP HANA tipos de tabelas são geradas no esquema que está especificado no esquema de anotação do respectivo artefato de nível superior no documento CDS que contém os tipos estruturados. ObservaçãoPara exibir os objetos recém-criados, você deve ter o privilégio SELECT necessário para o objeto de esquema no qual os objetos são gerados. As colunas do tipo de mesa são construídos por achatamento os elementos do tipo. Elementos com tipos estruturados são mapeados para uma coluna por elemento aninhado, com os nomes das colunas construídas concatenando os nomes dos elementos e separando os nomes por pontos ".". DicaSe você quiser usar os tipos estruturados dentro de um documento CDS sem gerar tipos de tabela no catálogo, use a anotaçãoGenerateTableType: False. Tipos de tabelas são gerados somente para definições de estrutura diretos; no exemplo a seguir, isto incluiria:MyStruct, MyNestedStructE MyDeepNestedStruct. Não há tipos de tabelas são geradas paraderivados tipos que são baseadas em tipos estruturados; no exemplo a seguir, os tipos de derivados incluem:MYS, MyOtherInt, MyOtherStruct.

Exemplo Pack1 namespace "pack-idade2."; Schema: 'MySchema' MyModel contexto { escreva MyInteger: Integer; Tipo MyString80: String (80); Tipo MyDecimal: decimal (10,2); Tipo MyStruct { aNumber: Integer; SomeText: String (80); otherText: MyString80; // Definido acima no Exemplo

}; escreva MYS: MyStruct; Tipo MyOtherInt: tipo de MyStruct.aNumber; escreva MyOtherStruct: tipo de MyDeepNestedStruct.nested.nested; Tipo MyNestedStruct { Nome: MyString80; aninhadas: MYS; }; Tipo MyDeepNestedStruct { texto: LargeString; aninhada: MyNestedStruct; }; };

CDS Estruturado Tipos Um tipo estruturado é um tipo de dados que compreende uma lista de atributos, cada um dos quais tem o seu próprio tipo de dados. Os atributos do tipo estruturado pode ser definido manualmente no tipo estruturado em si e reutilizados, quer por outro tipo estruturado ou uma entidade.

Exemplo {Tipo MyOtherInt: tipo de MyStruct.aNumber; // => Integer escreva MyOtherStruct: tipo de MyDeepNestedStruct.nested.nested; // => MyStruct };

tipo Em um tipo definido pelo usuário estruturado, você pode definir os tipos de originais (um número no exemplo a seguir) ou referência tipos definidos em outros lugares na mesma definição de tipo ou de outro, definição de tipo separado, por exemplo existente, MyString80no seguinte trecho de código. Se você definir vários tipos em um único documento CDS, cada definição de estrutura devem ser separados por um ponto e vírgula (;). Tipo MyStruct { aNumber: Integer; aText: String (80); anotherText: MyString80; // Definida em um tipo separado };

tipo de Você pode definir um tipo baseado em um tipo existente que já está definido em outro tipo estruturado definido pelo usuário, por exemplo, usando a tipo de chave, conforme ilustrado no exemplo seguinte: Tipo MyNestedStruct { Tipo MyOtherInt: tipo de MyStruct.aNumber; // => Integer escreva MyOtherStruct: tipo de MyDeepNestedStruct.nested.nested; // => MyStruct };

Informação relacionada CDS tipos de dados primitivos

CDS tipos de dados primitivos No Data Definition Language (DDL), primitivos (ou núcleo) tipos de dados são os blocos de construção básicos que você usa para definir entidades ou tipos de estrutura com DDL. Quando você está especificando uma tabela de tempo de design (entidade) ou a definição de exibição usando a sintaxe CDS, você usa tipos de dados, tais como cordas, binário, ou Integer para especificar o tipo de conteúdo nas colunas entidade. CDS suporta a utilização dos seguintes tipos de dados primitivos:  Tipos de dados DDL  Native SAP HANA tipos de dados A tabela seguinte lista todos os atualmente suportados simples tipos de dados primitivos DDL. Informações adicionais fornecidas nesta tabela inclui a sintaxe SQL necessária, bem como o SQL equivalente e nomes EDM para os tipos listados.

Tabela 1: SAP HANA suportados DDL Tipos primitivos Nome

Descrição

SQL Sintaxe Literal

Nome SQL

Nome EDM

String (n)

De comprimento variável seqüência de caracteres Unicode com um comprimento máximo especificado de n = 1-1333 caracteres (5000 para objetos específicos SAP HANA).Padrão = comprimento máximo.Comprimento da corda (n) é obrigatório.

'texto com "quote"'

NVARCHAR

Corda

LargeString

Seqüência de comprimento variável de até 2 GB (sem comparação)

'texto com "quote"'

NCLOB

Corda

Binary (n)

Comprimento da corda byte variável com x'01Cafe ',

VARBINARY

Binário

Tabela 1: SAP HANA suportados DDL Tipos primitivos Nome

Descrição

SQL Sintaxe Literal

Nome SQL

Nome EDM

limite de comprimento definido pelo X'01Cafe' usuário de até 4000 bytes.Comprimento binário (n) é obrigatório. LargeBinary

Cadeia variável byte comprimento de até x'01Cafe ', 2 GB (sem comparação) X'01Cafe'

Número inteiro Padrão do contêiner respectivo inteiro assinado. Assinado 32 bit inteiros em complemento de 2, -2 ** 31 .. 2 ** 311. Padrão = NULL

13, -1.234.567

BLOB

Binário

INTEIRO

Int64

Integer64

64 bits assinado inteiro com um intervalo 13, -1.234.567 de valor de -2 ^ 63 a 2 ^ 63-1. Padrão = NULL.

BIGINT

Int64

Decimal (p, s)

Número decimal com precisão fixa (p) na 12.345, -9,876 faixa de 1 a 34 e escala (s) fixo na faixa de 0 a p. Os valores de precisão e escala são obrigatórios.

DECIMAL (p, s)

Decimal

DecimalFloat

Decimal número de ponto flutuante (IEEE 754-2008) com 34 dígitos mantissa; intervalo é de aproximadamente ± 1e-6143 através ± 9.99e + 6144

DECIMAL

Decimal

BinaryFloat

Número binário de ponto flutuante (IEEE 1,2, -3,4, 5.6e + 7 754), 8 bytes (cerca de 16 dígitos decimais de precisão);intervalo é de aproximadamente ± 2.2207e-308 através ± 1.7977e + 308

DUPLO

Duplo

LocalDate

Data local com valores variando de 0001-01-01 a 9999-12-31

date'1234-12-31 '

ENCONTRO

DateTimeOffset

Os valores de tempo (com precisão de segundos) e valores que variam de 0:00:00 através 24:00:00

time'23: 59: 59 ', time'12: 15'

Horário local

12.345, -9,876

Combina data e hora; com o fuso horário deve ser convertida para compensar TEMPO

Tempo Para duração / período de tempo (== xsd: duração). Use

Tabela 1: SAP HANA suportados DDL Tipos primitivos Nome

Descrição

SQL Sintaxe Literal

Nome SQL

Nome EDM

DateTimeOffset se houver uma data, também. UtcDateTime

Data e hora UTC (com segundos de timestamp'2011precisão) e valores que vão desde 0001- 12-31 23:59:59 ' 01-01 00:00:00 9999-12-31 23:59:59 através

UTCTimestamp Data e hora UTC (com uma precisão de

timestamp'2011-

SECONDDATE DateTimeOffset Valores que terminam com"Z" para UTC.Valores antes 1753-01-01T00: 00: 00 não são suportados;transmitido como NULL. TIMESTAMP

0,1 microssegundos) e os valores que 12-31 23: 59: vão desde 0001-01-01 00:00:00 a 9999- 59,7654321 ' 12-31 23: 59: 59,9999999, e um valor inicial especial

DateTimeOffset Com precisão ="7"

A tabela a seguir lista todos os nativos SAP HANA tipos de dados primtive que os CDs suportes. As informações fornecidas nesta tabela também inclui a sintaxe SQL necessário (se for o caso), bem como o SQL equivalente e nomes EDM para os tipos listados.

Tabela 2: Compatível SAP HANA Native Tipos de Dados Tipo de dado

Descrição

SQL Sintaxe Literal

Nome SQL

Nome EDM

Alphanum

De comprimento variável seqüência de caracteres com relação especial

-

ALPHANUMERIC -

SMALLINT

Assinado inteiro de 16 bits

-32768, 32767

SMALLINT

Int16

TINYINT

Não assinado inteiro de 8 bits

0, 255

TINYINT

Byte

REAIS

32-bit número binário ponto flutuante

-

REAIS

Solteira

SMALLDECIMA L

64-bit número decimal de ponto flutuante

-

SMALLDECIMAL Decimal

VARCHAR

De comprimento variável seqüência de caracteres ASCII com limite de comprimento definido pelo

-

VARCHAR

Corda

Tabela 2: Compatível SAP HANA Native Tipos de Dados Tipo de dado

Descrição

SQL Sintaxe Literal

Nome SQL

Nome EDM

usuário n CLOB

Grande de comprimento variável seqüência de caracteres ASCII, sem comparação

-

CLOB

Corda

BINÁRIO

Byte string de comprimento fixo n

-

BINÁRIO

Blob

ST_Point

0 geometria tridimensional que representa um único local

-

-

-

ST_Geometry

Supertype máxima da hierarquia tipo de geometria; IncluiST_Point

-

-

-

O exemplo a seguir mostra os nativos SAP HANA tipos de dados que os CDs suportes; o exemplo de código também ilustra a sintaxe obrigatória. NotaSuporte para os tipos de geo-espaciaisST_Point e ST_Geometryestá limitado: estes tipos só pode ser usado para a definição de elementos em tipos e entidades. Não é possível definir uma visão CDS que seleciona um elemento com base em um tipo de geo-espacial de uma entidade CDS. nokey SomeTypes entidade { A: hana.ALPHANUM (10); b: hana.SMALLINT; C: hana.TINYINT; d: hana.SMALLDECIMAL; E: hana.REAL; h: hana.VARCHAR (10); i: hana.CLOB; J: hana.BINARY (10); K: hana.ST_POINT; l: hana.ST_GEOMETRY; };

Crie uma associação no CDS Associações definir relações entre entidades. Você criar associações em uma definição de entidade CDS, que é um arquivo de tempo de design no SAP HANA repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:     

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado um esquema para os objetos do catálogo do CDS, por exemplo, meu_esquema O proprietário do esquema devem ter privilégios SELECT no esquema para ser capaz de ver os objetos do catálogo gerados.

Contexto SAP HANA estendidos Application Services (SAP HANA XS) permite que você use os CDS sintaxe para criar associações entre entidades. As associações são definidas como parte da definição da entidade, que são arquivos de tempo de design no repositório. Arquivos do repositório são transportáveis. Ativando a entidade CDS cria os objetos do catálogo correspondentes no esquema especificado. Para criar uma associação entre entidades CDS, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o arquivo CDS entidade-definição que irá conter as associações que você definir. Navegue até a pasta em seu espaço de trabalho do projeto onde você deseja criar o novo arquivo CDS entidade-definição e execute os seguintes passos: 1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de definição de entidade e escolhaNovo Outro ... Banco de Dados Desenvolvimento Source File DDL no menu pop-up sensível ao contexto.

2.

Digite o nome do arquivo de definição de entidade no nome do arquivo caixa, por exemplo,MyEntity1.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente (por exemplo, MyEntity1.hdbdd) e, se for caso disso, permite a edição direta do novo arquivo no correspondente editor. 3.

Escolha Concluir para salvar as alterações e comprometer o novo arquivo de definição de entidade no repositório.

5.

Definir as subjacentes CDS entidades e tipos estruturados. Se o novo arquivo entidade-definição não é exibido automaticamente pelo assistente de arquivo-criação, noProject Explorer visualizar clique duas vezes no arquivo de definição de entidade que você criou no passo anterior, por exemplo, MyEntity1.hdbdd, e adicionar o código para as definições de entidades e tipos estruturados para o arquivo:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. Se o esquema que você especificar não existir, você não pode ativar a nova entidade CDS. namespace com.acme.myapp1; Schema: 'Meu_esquema' MyEntity1 contexto { escreva StreetAddress { name: String (80); número: Integer; }; escreva CountryAddress { name: String (80); Código: String (3); }; entidade de endereços { id chave: Integer; rua: StreetAddress; Cep: Integer; cidade: String (80); país: CountryAddress; Tipo: String (10); // escritório em casa }; }; 6.

Definir um um-para-um associação entre entidades CDS. No mesmo arquivo entidade-definição que você editou na etapa anterior, por exemplo, MyEntity.hdbdd, adicione o código para a associação de umpara-um entre a entidadePessoa e a entidade Endereço:

NotaEste exemplo não especificar chaves de cardinalidade ou estrangeiras, de modo a cardinalidade é definido como o padrão 0..1 e chave primária da entidade de destino (o id do elemento) é usado como chave estrangeira. entidade Pessoa { id chave: Integer; address1: Associação de endereço; };

7.

Definir uma associação não gerenciado com cardinalidade um-paramuitos entre entidades CDS. No mesmo arquivo entidade-definição que você editou na etapa anterior, por exemplo, MyEntity.hdbdd, adicione o código para a associação de umpara-muitos entre a entidadeEndereço e a entidade Pessoa. O código deve ser algo como o exemplo a seguir: entidade Person { id chave: Integer; AddressID: Integer; ... }; entidade de endereços { id chave: Integer; habitantes: Associação [*] para Pessoa em inhabitants.addressId = id; ... };

8.

Salve o arquivo CDS-definição entidade que contém as novas associações. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

9.

Ativar as alterações no repositório. 1. Localize e clique com o botão direito no novo arquivo CDS entidade de definição no Project Explorervista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. NotaSe você não pode ativar o artefato novas CDS, verifique se o esquema especificado já existe e de que não existem caracteres ilegais no espaço de nomes, por exemplo, o hífen (-).

CDS Associações Associações definir relações entre entidades. Associações são especificados, adicionando um elemento a uma entidade de origem com uma associação tipoque aponta para uma entidade de destino, complementada por informações opcionais a definição de teclas de cardinalidade e qual usar. NotaCDS apoia ambas as associações gerenciados e não gerenciados. SAP HANA estendidos Application Services (SAP HANA XS) permite a utilização de associações de entidades ou CDS CDS visualizações. A sintaxe para simples associações em um documento CDS é ilustrado no seguinte exemplo: escreva StreetAddress {

name: String (80); número: Integer; }; escreva CountryAddress { name: String (80); Código: String (3); }; entidade de endereços { id chave: Integer; rua: StreetAddress; Cep: Integer; cidade: String (80); país: CountryAddress; Tipo: String (10); // escritório em casa }; entidade Pessoa { id chave: Integer; // Address1,2,3 são para-um address1: Associação de endereço; address2: Associação de Morada {id}; address3: Associação de Endereço [1] {zipCode, rua, country}; // Address4,5,6 são para-muitos associações address4: Association [0 .. *] para Endereço {zipCode}; address5: Associação [*] para Endereço {street.name}; address6: Associação [*] para Endereço {street.name AS streetname, country.name AS countryName}; };

Cardinality em Associações Ao usar uma associação para definir uma relação entre as entidades em um documento do CDS, você usa acardinalidade para especificar o tipo de relação, por exemplo, um-para-um (para um) ou um-para-muitos (a-n) ; a relação é com respeito tanto a origem eo destino da associação. A cardinalidade alvo é indicado sob a forma de [Min .. max], Onde max = *indica o infinito. Se nenhuma cardinalidade for especificado, definindo o padrão cardinalidade[0..1]é assumido. É possível especificar a cardinalidade máxima da fonte da associação sob a forma [Maxs, min .. max], Também, onde maxs = *indica o infinito.

DicaAs informações relativas a cardinalidade máxima é usado apenas como uma dica para otimizar a execução da junção resultante.

Os exemplos seguintes ilustram a forma de expressar cardinalidade em uma definição de associação: assoc1: Association [0..1] para segmentar; // Tem nenhuma instância ou um alvo assoc2: Associação para alvejar; // Como assoc1, usa o padrão [0..1] assoc3: Associação [1] para segmentar; // Como assoc1; o padrão para min é 0 assoc4: Association [1..1] para segmentar; // Associação tem uma instância de destino assoc5: Association [0 .. *] para segmentar; assoc6: Association [] para segmentar; // Como assoc4, [] é curto para [0 .. *] assoc7: Association [2..7] para segmentar; // Quaisquer números são possíveis; usuário fornece assoc8: Associação [1, 0 .. *] para segmentar; // Informações adicionais. sobre fonte cardinalidade

Entidades alvo em Associações

Você usa o parapalavra-chave num CDS ver definição para especificar a entidade alvo em associação, por exemplo, o nome de uma entidade definida num documento de CDS. Um nome de entidade qualificada é esperado que se refere a uma entidade existente. Uma especificação de entidade de destino é obrigatória; um valor padrão énão assumido se nenhuma entidade de destino for especificado em um relacionamento de associação. A entidade Endereço especificada como a entidade alvo de uma associação pode ser expresso em qualquer um dos modos ilustrados nos exemplos seguintes: address1: Associação de endereço; address2: Associação de Morada {id}; address3: Associação [1] a Morada {zipCode, rua, country};

Condições do filtro e Prefixo Notação

Quando se segue a associação (por exemplo, numa vista), é agora possível aplicar uma condição de filtro; o filtro é incorporada pelaLIGAR-condition da resultante JUNTE-SE. O exemplo a seguir mostra como obter uma lista de clientes e, em seguida, filtrar a lista de acordo com as encomendas que estão atualmente em "Abrir" para cada cliente. No exemplo, o filtro de infix é inserido, após as ordens de associação para obter apenas as ordens que satisfazem a condição [status = 'open'].

Código de exemplo

C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. id como orderId, }; A Associação encomendas é definida na definição da entidade ilustrado no seguinte exemplo de código:

Código de exemplo

entidade Customer { id chave: Integer; ordens: Associação [*] para SalesOrder em orders.cust_id = id; name: String (80); }; entidade SalesOrder { id chave: Integer; cust_id: Integer; cliente: Associação [1] ao Cliente no customer.id = cust_id; itens: Associação [*] ao Item em items.order_id = id; status: String (20); Data: LocalDate; }; entidade item { id chave: Integer; order_id: Integer; SalesOrder: Associação [1] para SalesOrder em salesOrder.id = order_id; descr: String (100); preço: Decimal (8,2); };

Dica Para mais informações sobre condições de filtro e prefixos em visualizações CDS, ver CDS Visualizações eCDS Veja opções de sintaxe.

Chaves estrangeiras em Associações Para gerenciados associações, a relação entre fonte e alvo entidade é definida pela especificação de um conjunto de elementos da entidade alvo que são usados como uma chave estrangeira. Se não há chaves estrangeiras são especificados de forma explícita, os elementos da chave primária da entidade designada alvo são usados.Elementos da entidade de destino que residem no interior subestruturas podem ser tratadas através do respectivo caminho. Se os elementos escolhidos não formam uma chave exclusiva da entidade de destino, a associação tem cardinalidade para-muitos. Os exemplos a seguir mostram como expressar chaves estrangeiras em uma associação. entidade Pessoa { id chave: Integer; // Address1,2,3 são para-um address1: Associação de endereço; address2: Associação de Morada {id}; address3: Associação [1] a Morada {zipCode, rua, country}; // Address4,5,6 são para-muitos associações address4: Association [0 .. *] para Endereço {zipCode}; address5: Associação [*] para Endereço {street.name}; address6: Associação [*] para Endereço {street.name AS streetname,

country.name AS countryName}; };  Endereço 1











Não há chaves estrangeiras são especificados: a chave primária da entidade visada (o elementoidentidade) É utilizada como chave estrangeira. Endereço 2 Explicitamente especifica a chave estrangeira (o elemento identidade); esta definição é semelhante aoEndereço 1. address3 Os elementos chave estrangeira para ser usado para a associação são explicitamente especificados, a saber: CEP e os elementos estruturados rua e país. address4 Usa somente CEPcomo a chave estrangeira. Desde CEP não é uma chave única para a entidade Endereço, Esta associação tem cardinalidade "para muitos". address5 Usa o subelemento nome de o elemento estruturado ruacomo uma chave estrangeira. Esta não é uma tecla única e, como resultado,address4tem cardinalidade "para muitos". address6 Usa o subelemento nome de ambos os elementos estruturados rua e paíscomo campos de chave estrangeira. Os nomes dos campos de chave externos deve ser único, então um apelido é necessária aqui.A chave estrangeira não é original, assimaddress6 é um "para-muitos" associação.

Você pode usar chaves estrangeiras das associações geridas na definição de outras associações. No exemplo a seguir, o aparecimento de associação cabeçana condição ON é permitido; o compilador reconhece que o campohead.id é realmente parte da entidade Item e, como resultado, pode ser obtido sem se segue a associação cabeça.

Código de exemplo

entidade cabeçalho { id chave: Integer; toItems: Associação [*] ao Item em items.head.id = id; }; entidade item { id chave: Integer; cabeça: Associação [1] para Header {id}; ... };

Restrições

Resolução de nomes CDS não faz distinção entre CDS associações e CDS entidades. Se você definir uma associação com uma entidade CDS CDS que tem o mesmo nome que a nova associação CDS, CDS exibe uma mensagem de erro e a ativação dos CDS documento falhar.

CuidadoEm um documento CDS, para definir uma associação com uma entidade CDS com o mesmo nome, você deve especificar o contexto em que a entidade alvo é definida, por exemplo,Mycontext.Address3. O código a seguir mostra alguns exemplos de associações com uma entidade CDS que tem o mesmo (ou similar) nome. Caso sensibilidade ("um", "A") é importante; em documentos CDS, endereço não é o mesmo queEndereço. No caso deEndereço 2, Onde o nome de associação eo nome da entidade são idênticos, o resultado é um erro; ao resolver os nomes dos elementos, CDS espera que uma entidade chamadaEndereço 2 mas encontra uma associação CDS com o mesmo nome em vez disso. MyContext.Address3 é permitida, desde que a entidade alvo pode ser resolvida devido ao caminho absoluto para a sua localização no documento CDS. MyContext contexto { entidade entidade entidade entidade

de endereços {...} Address1 {...} Endereço2 {...} address3 {...}

entidade Pessoa { id chave: Integer; Endereço: Associação de endereço; // OK: "endereço" ≠ "Endereço" address1: Associação para Address1; // OK: "address1" ≠ "Address1" Endereço2: Associação para Endereço2; // Erro: nome da associação = nome da entidade Address3: Associação para MyContext.Address3; // OK: caminho completo para address3 }; };

Exemplo Complex (One-to-Many) Associação O exemplo a seguir mostra uma associação mais complexo (para muitos) entre a entidade "Cabeçalho "Eaentidade"Item". @ Catalog.tableType: #COLUMN Entidade cabeçalho { PurchaseOrderID chave: businessKey; Itens: Associação [0 .. *] para item no Items.PurchaseOrderId = PurchaseOrderID; "Histórico": HistoryT; NoteID: businessKey null;

PartnerId: businessKey; Moeda: CurrencyT; GrossAmount: AmountT; NetAmount: AmountT; TaxAmount: AmountT; LifecycleStatus: StatusT; ApprovalStatus: StatusT; ConfirmStatus: StatusT; OrderingStatus: StatusT; InvoicingStatus: StatusT; }; @ Catalog.tableType: #COLUMN Entidade item { PurchaseOrderID chave: businessKey; PurchaseOrderItem chave: businessKey; ToHeader: Associação [1] para cabeçalho na ToHeader.PurchaseOrderId = PurchaseOrderID; ProductId: businessKey; NoteID: businessKey null; Moeda: CurrencyT; GrossAmount: AmountT; NetAmount: AmountT; TaxAmount: AmountT; Quantidade: QuantityT; QuantityUnit: Unitt; DeliveryDate: sdate; }; definir vista POView como SELECT de cabeçalho { Items.PurchaseOrderId como POID, Items.PurchaseOrderItem como poItem, PartnerId, Items.ProductId };

Informação relacionada CDS Visualizações CDs Ver opções de sintaxe CDS Associação opções de sintaxe

CDS Associação opções de sintaxe Associações definir relações entre entidades.

Exemplo Associações gerenciados Association [] para []

Exemplo Associações não gerenciados Association [] para

Visão geral

Associações são especificados, adicionando um elemento a uma entidade de origem com uma associação tipoque aponta para uma entidade de destino, complementada por informações opcionais a definição de teclas de cardinalidade e qual usar. NotaCDS apoia ambas as associações gerenciados e não gerenciados. SAP HANA estendidos Application Services (SAP HANA XS) permite a utilização de associações na definição de uma entidade ou de um CDS CDS visualizar. Ao definir uma associação, tenha em mente os seguintes pontos:  A relação entre a origem eo destino da associação, por exemplo, um-para-um, um-para-muitos, muitos-para-um  A entidade alvo da associação  As chaves estrangeiras para usar em uma associação de gestão, por exemplo, nomes de elementos na entidade de destino  Não gerenciados apenas associações; aLIGAR condição specifyies os elementos de os elementos e as entidades de origem e destino para usar em associação

Associação Cardinality Ao usar uma associação para definir uma relação entre entidades em vista CDS; você usar a cardinalidade para especificar o tipo de relação, por exemplo:  um-para-um (para um)  um-para-muitos (a-n) A relação é com respeito tanto a origem eo destino da associação. O exemplo de código a seguir ilustra a sintaxe necessária para definir a cardinalidade de uma associação em uma visão CDS: [[(Maxs | *),] // cardinalidade fonte [Min ..] (max | *) // cardinalidade alvo ] Na forma mais simples, apenas o alvo cardinalidade é indicado usando a sintaxe [Min .. max], Onde max = *indica o infinito. Note que[] é curto

para [0 .. *]. Se nenhuma cardinalidade for especificado, definindo o padrão cardinalidade[0..1] é assumido. É possível especificar a cardinalidade máxima da fonte da associação sob a forma[Maxs, min .. max], Onde maxs = * indica o infinito. Os exemplos seguintes ilustram a forma de expressar cardinalidade em uma definição de associação: assoc1: Association [0..1] para segmentar; assoc2: Associação para alvejar; assoc3: Associação [1] para segmentar; assoc4: Association [1..1] para segmentar; assoc5: Association [0 .. *] para segmentar; assoc6: Association [] para segmentar; assoc7: Association [2..7] para segmentar; assoc8: Associação [1, 0 .. *] para segmentar; A tabela seguinte descreve as várias expressões cardinalidade ilustrado no exemplo acima:

Tabela 1: Associação de sintaxe Cardinality Exemplos Assocatio Cardinalidade n assoc1

[0..1]

assoc2

Explicação

A associação não tem ou tem uma instância de destino A associação não tem ou tem uma instância de destino e usa o padrão [0..1]

assoc3

[1]

A associação não tem ou tem uma instância de destino; o padrão para min é 0

assoc4

[1..1]

A associação tem uma instância de destino

assoc5

[0 .. *]

A associação não tem nenhuma, uma, ou várias instâncias alvo

assoc6

[]

[] É curto para [0 .. *] (a associação não tem nenhuma, uma, ou várias instâncias de destino)

assoc7

[2..7]

Qualquer coisa entre 2 e 7 casos de destino

assoc8

[1, 0 .. *]

A associação não tem, uma, ou várias instâncias alvo e inclui informações adicionais sobre a cardinalidade fonte

Associação Alvo Você usa o parapalavra-chave num CDS ver definição para especificar a entidade alvo em associação, por exemplo, o nome de uma entidade definida num documento de CDS. Um nome de entidade qualificada é esperado que se refere a uma entidade existente. Uma especificação de entidade de destino é obrigatória; um valor padrão énão assumido se nenhuma entidade de destino for especificado em um relacionamento de associação. Association [] para []

A entidade alvo Endereço especificada como a entidade alvo de uma associação pode ser expressa como address1: Associação address2: Associação address3: Associação

ilustrado nos exemplos seguintes: de endereço; de Morada {id}; [1] a Morada {zipCode, rua, country};

Associação Chaves No modelo relacional, as associações são mapeadas para relações de chave externa. Para gerenciadosassociações, a relação entre fonte e alvo entidade é definida pela especificação de um conjunto de elementos da entidade alvo que são usados como uma chave estrangeira, tal como expresso noforwardLink elemento do seguinte exemplo de código: Association [] para [] O forwardLink elemento de associação pode ser expressa como se segue: = {} = [AS ] [, ] = <elementName> (. <elementName>) * Se não há chaves estrangeiras são especificados de forma explícita, os elementos da chave primária da entidade designada alvo são usados. Elementos de a entidade alvo que residem dentro subestruturas podem ser tratadas por meio do respectivo caminho. Se os elementos escolhidos não formam uma chave exclusiva da entidade de destino, a associação tem cardinalidade para-muitos. Os exemplos a seguir mostram como expressar chaves estrangeiras em uma associação. entidade Pessoa { id chave: Integer; // Address1,2,3 são para-um address1: Associação de endereço; address2: Associação de Morada {id}; address3: Associação [1] a Morada {zipCode, rua, country}; // Address4,5,6 são para-muitos associações address4: Association [0 .. *] para Endereço {zipCode}; address5: Associação [*] para Endereço {street.name}; address6: Associação [*] para Endereço {street.name AS streetname, country.name AS countryName}; };

Tabela 2: Associação de opções de sintaxe Associação

Chaves

Endereço 1 Endereço

Explicação Não há chaves estrangeiras são especificados: a chave primária da entidade visada (o elemento identidade) É utilizada como chave estrangeira.

{Id}

Explicitamente especifica a chave estrangeira (o elemento identidade); esta

Tabela 2: Associação de opções de sintaxe Associação

Chaves

Explicação definição é idêntico ao Endereço 1.

2 address3

{ZipCode, rua, country}

Os elementos chave estrangeira para ser usado para a associação são explicitamente especificados, a saber: CEP e os elementos estruturados rua epaís.

address4

{ CEP }

Usa somente CEPcomo a chave estrangeira. Desde CEP não é uma chave única para a entidade Endereço, Esta associação tem cardinalidade "para muitos".

address5

{ nome da rua }

Usa o subelemento nome de o elemento estruturado ruacomo uma chave estrangeira. Esta não é uma tecla única e, como resultado,address4tem cardinalidade "para muitos".

address6

{Street.name AS streetname, country.name AS countryName}

Usa o sub-elemento nome de ambos os elementos estruturados rua epaíscomo campos de chave estrangeira. Os nomes dos campos de chave externos deve ser único, então um apelido é necessária aqui. A chave estrangeira não é original, assimaddress6é um "para-muitos" associação.

Agora você pode usar chaves estrangeiras das associações geridas na definição de outras associações. No exemplo a seguir, o compilador reconhece que o campo toCountry.cid faz parte da chave estrangeira da associação toLocation e, como resultado, fisicamente presente na entidade Companhia.

Código de exemplo País entidade { C_ID chave: String (3); ... }; entidade Região { r_id chave: Integer; toCountry chave: Associação [1] para País {C_ID}; ... }; Empresa entidade { id chave: Integer; toLocation: Associação [1] a Região {r_id, toCountry.cid}; ... };

Associações não gerenciados Não gerenciados associações são baseados em elementos existentes da entidade de origem e de destino;nenhum campo são gerados. NaLIGARcondição, apenas

elementos da fonte ou a entidade de destino pode ser usado; não é possível a utilização de outras associações. OLIGAR condição pode conter qualquer tipo de expressão - todas as expressões suportadas em vista também pode ser utilizado na LIGAR condição de uma associação não gerenciado.

NotaOs nomes naLIGARcondição são resolvidos no âmbito da entidade de

origem; elementos da entidade alvo são acessados através da própria associação. No exemplo a seguir, a associação habitantes refere-se a elemento identidade da entidade de origemQuarto com o elemento OfficeID na entidade alvo Empregado. O elemento de destinoOfficeID é acessado através do nome da própria associação. entidade Employee { id chave: Integer; OfficeID: Integer; ... }; Quarto entidade { id chave: Integer; habitantes: Associação [*] para Employee em inhabitants.officeId = id; ... }; O exemplo a seguir define dois relacionados não gerenciados associações:  principal A associação não gerenciado principal usa uma cardinalidade [1] para criar uma relação entre o elemento parentId e o elemento alvo identidade. O elemento de destinoidentidade é acessado através do nome da própria associação. crianças A associação não gerenciado crianças cria uma relação entre o elemento identidade e o elemento alvoparentId. O elemento de destino parentId é acessado através do nome da própria associação. entidade coisa { id chave: Integer; parentId: Integer; parent: Associação [1] a coisa em parent.id = parentId; filhos: Associação [*] para Coisa em children.parentId = id; ... };



Criar uma exibição no CDS A vista é uma tabela virtual com base nos resultados dinâmicos retornados em resposta a uma instrução SQL.HANA SAP estendidos Application Services (SAP HANA XS) permite que você use CDS sintaxe para criar uma exibição de banco de dados como um arquivo de tempo de design no repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:     

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado um esquema para os objetos do catálogo do CDS, por exemplo, meu_esquema O proprietário do esquema devem ter privilégios SELECT no esquema para ser capaz de ver os objetos do catálogo gerados.

Contexto SAP HANA estendidos Application Services (SAP HANA XS) permite que você use os CDS sintaxe para criar uma visão de banco de dados como um arquivo de tempo de design no repositório. Arquivos do repositório são transportáveis. Ativando o CDS ver definição cria o objeto catálogo correspondente no esquema especificado. Para criar um arquivo CDS vista-definição no repositório, execute os seguintes passos: NotaOs seguintes exemplos de código são fornecidos apenas para fins ilustrativos.

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o arquivo CDS-definição que conterá o ponto de vista que você definir nas etapas seguintes. Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o novo arquivo CDS-definição e execute os seguintes passos: 1.

Botão direito do mouse na pasta onde você deseja salvar o arquivo de exibição de definição e escolhaNew Outros ... Banco de Dados Desenvolvimento Source File DDL no menu pop-up sensível ao contexto.

2.

Digite o nome do arquivo de exibição de definição do nome do arquivo caixa, por exemplo,MyEntity2.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo exigida automaticamente (por exemplo, MyEntity2.hdbdd) e, se for caso disso, permite a edição direta do novo arquivo no correspondente editor.

3.

Escolha Concluir para salvar as alterações e comprometer o novo arquivo de definição de CDS no repositório. 5. Definir as subjacentes CDS entidades e tipos estruturados. Se o novo arquivo entidade-definição não é exibido automaticamente pelo assistente de arquivo-criação, noProject Explorer visualizar clique duas vezes no arquivo de definição de entidade que você criou no passo anterior, por exemplo, MyEntity2.hdbdd, e adicionar o código para as definições de entidades e tipos estruturados para o arquivo. namespace com.acme.myapp1; Schema: 'Meu_esquema' MyEntity2 contexto { escreva StreetAddress { name: String (80); número: Integer; }; escreva CountryAddress { name: String (80); Código: String (3); }; @ Catalog.tableType: #COLUMN entidade de endereços { id chave: Integer; rua: StreetAddress; Cep: Integer; cidade: String (80); país: CountryAddress; Tipo: String (10); // escritório em casa }; }; 6.

Definir uma exibição como uma projeção de uma entidade CDS. No mesmo arquivo entidade-definição que você editou na etapa anterior, por exemplo, MyEntity2.hdbdd, adicione o código para a vistaAddressView abaixo da entidade Endereço no documento CDS.

NotaEm CDS, uma opinião é uma entidade sem sua própria persistência; que é definido como uma projecção de outras entidades. AddressView ver como selecionar a partir de Endereço { id, nome da rua, número da rua }; 7.

Salve o arquivo CDS-definição que contém a nova vista.

Observaçãoum arquivo em um projeto compartilhado Saving automaticamente compromete a versão salva do arquivo para o repositório; você não precisa se comprometer explicitamente o arquivo novamente. 8.

Ativar as alterações no repositório. 1. Localize e clique com o botão direito no novo arquivo CDS-definição no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. NotaSe você não pode ativar o artefato novas CDS, verifique se o esquema especificado já existe e de que não existem caracteres ilegais no espaço de nomes, por exemplo, o hífen (-).

9.

Assegurar o acesso ao esquema em que os novos objetos do catálogo do CDS são criados. Após a ativação no repositório, um objeto de esquema só é visível no catálogo para o usuário _SYS_REPO.Para permitir que outros usuários, por exemplo, o proprietário do esquema, para ver o esquema recém-criado e objetos que ele contém, você deve conceder ao usuário o privilégio SELECT necessário.

NotaSe você já tem o apropriado SELECIONAR privilégio, você não precisa executar esta etapa. 1.

No SAP HANA estúdio Sistemas de vista, clique com o SAP HANA sistema que hospeda o repositório onde o esquema foi ativado e escolher SQL Console no menu pop-up sensível ao contexto. 2. No console do SQL, execute a instrução ilustrado no exemplo a seguir, onde <SCHEMANAME> é o nome do esquema recém-ativado, e <nome de usuário> é o ID do usuário do banco de dados do proprietário do esquema: chamar _SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT ('selecionar', '<SCHEMANAME>', '<nomedousuário>'); 10.

Verifique se o novo modo de exibição foi criado com sucesso. Visualizações são criados no visualizações pasta no catálogo.

1.

No SAP HANA Desenvolvimento perspectiva, abra a Sistemas de vista. 2. Navegue até o local catálogo onde você criou o novo ponto de vista. <SID> Catálogo <> meu_esquema Visualizações 3.

Abra uma pré-visualização de dados para a nova vista AddressView. Botão direito do mouse a nova vista <package.path> :: MyEntity2.AddressView e escolhaAbrir visualização de dados no menu popup.

CDS Visualizações A vista é uma entidade que não é persistente; é definida como a projeção de outras entidades. SAP HANAestendidos Application Services (SAP HANA XS) permite que você crie um CDS ver como um arquivo de tempo de design no repositório. SAP HANA estendidos Application Services (SAP HANA XS) permite definir uma exibição em um documento CDS, o que você armazenar como arquivo de tempo de design no repositório. Arquivos do repositório pode ser lido por aplicativos que você desenvolver. Além disso, todos os ficheiros de depósito, incluindo a sua definição de exibição pode ser transportado para outras SAP HANA sistemas, por exemplo, em uma unidade de entrega. Se o seu aplicativo se refere a versão de tempo de design de vista a partir do repositório em vez da versão de tempo de execução no catálogo, por exemplo, usando o caminho explícito para o arquivo de repositório (com sufixo), todas as mudanças para a versão do repositório do arquivo são visíveis logo que eles estão comprometidos com o repositório. Não há necessidade de esperar para o repositório para ativar uma versão de tempo de execução do modo de exibição. Para definir uma vista transportável usar o CDS-compliant vista especificações, use o exemplo ilustrado no exemplo a seguir: VISTA AddressView AS SELECT a partir do endereço { ID, nome da rua, número da rua}; Quando um documento CDS é activado, o processo de activação gera um objecto de catálogo correspondente para cada um dos artefactos definidos no documento; a localização no catálogo é determinada pelo tipo de objecto gerado. Por exemplo, o objeto catálogo correspondente para um CDS ver definição é gerado no seguinte local: <SID> Catálogo <> meu_esquema Visualizações Visualizações definidos em um documento CDS pode fazer uso dos seguintes recursos do SQL:  Expressions  Uma variedade de funções  Agregados  Agrupar por  Tendo  Associações (incluindo filtros e prefixos)  Ordenar por  Caso  União

Expressões e funções CDS apoiar o uso de funções e expressões em uma exibição. Por exemplo, pode especificar um valor calculado como a soma dos valores múltiplos, como ilustrado no exemplo seguinte: VISTA MyView AS SELECT FROM UnknownEntity {

a + b AS theSum, };

NotaQuando as expressões são usadas em um elemento de vista, um alias deve ser especificado.

Agregados, Agrupar por e Tendo O exemplo a seguir mostra como usar agregados (contagem, soma) Em um CDS ver definição. Neste exemplo, a vista para é usado para coletar informações sobre o número de funcionários e salário por unidade organizacional para todos os funcionários admitidos a partir de 2011 até agora. VISTA MyView AS SELECT FROM Employee { OrgUnit, count (id) AS número de funcionários, sum (salário) AS totalSalary, max (salário) AS maxSalary } GROUP BY OrgUnit ONDE joinDate> date'2011-01-01 ';

NotaExpressões não são permitidas na cláusula GROUP BY.

Associações de Visualizações Em um CDS ver definição, as associações podem ser usados para coletar informações junto das entidades de destino especificados. Em SQL, as associações são mapeadas para junta. NotaNão é possível definir condições de filtro ao seguir associações. No contexto de um CDS ver definição, você pode usar associações nos seguintes locais:  A lista SELECT  A cláusula WHERE  A cláusula FROM  A cláusula GROUP BY  Com filtros  Com a notação de prefixo No exemplo a seguir de uma associação em uma lista SELECT, uma vista é usado para compilar uma lista de todos os trabalhadores; a lista inclui o nome do empregado, a capacidade do escritório do empregado, ea cor do tapete no escritório. A associação segue o escritório para um associação de entidadeEmpregado a entidadeQuarto para montar as informações sobre o escritório. NotaPara-n (muitos) associações não são suportados na cláusula WHERE. VISTA MyView AS SELECT FROM Employee { nomear última, office.capacity, office.carpetColor

}; O exemplo a seguir mostra como associações também podem ser usados na cláusula WHERE para restringir o conjunto de resultados retornado pela vista à informação localizado no alvo da associação. VISTA EmployeesInRoom_ABC_3_4 AS SELECT FROM Employee { nomear última } Onde office.building = 'ABC' E = 3 office.floor E office.number = 4; O exemplo a seguir mostra como usar uma associação na cláusula FROM para listar as placas de todos os carros da empresa. CompanyCarLicensePlates Ver como selecionar a partir de Employee.companyCar { placa de carro }; O exemplo a seguir mostra como usar uma associação na cláusula GROUP BY para compilar uma lista de todos os escritórios que são menos de 50% ocupados. VISTA V11 AS SELECT FROM Employee { Prédio comercial, office.floor, office.roomNumber, office.capacity, count (id) AS seatsTaken, count (id) / capacidade AS occupancyRate } GROUP BY office.building, office.floor, office.roomNumber, office.capacity, office.type TENDO office.type = 'office' e contar (id) / capacidade <0,5; Ao seguir uma associação em uma vista, agora é possível aplicar uma condição de filtro; o filtro é incorporada pelaLIGAR-condition da resultante JUNTE-SE. O exemplo a seguir mostra como obter uma lista de clientes e, em seguida, filtrar a lista de acordo com as encomendas que estão atualmente em "Abrir" para cada cliente. No exemplo, o filtro é inserido após a associaçãoencomendas; isso garante que a lista apresentada pela visão contém apenas os pedidos que satisfazem a condição [status = 'open'].

Código de exemplo

C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. id como orderId, };

Se um elemento adicional encontro está incluída no filtro, um correspondente (e separado) JUNTE-SEé criado.Associações com múltiplas separadas filtros nunca são combinadas, por isso, neste caso, duas associações são criadas.

Código de exemplo C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. id como orderId, ordens [status = 'open']. data como orderDate }; Para garantir que o compilador entende que só há uma associação (encomendas) Para resolver, mas com vários elementos (identidade e encontro), Use a notação de prefixo ilustrado no exemplo a seguir:

Código de exemplo C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. {id como orderId, data como orderDate } };

Dica Condições de filtro e prefixos podem ser aninhados. O exemplo seguinte mostra como usar as associações encomendas e itens em uma exibição que exibe uma lista de clientes com ordens de venda em aberto para itens com um preço maior do que 200.

Código de exemplo C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. {id como orderId, data como orderDate, items [price> 200]. {descr, preço } } };

Ordenar por

O ORDENAR POR operador permite listar os resultados de acordo com uma expressão ou função, por exemplosalário. Da mesma maneira como acontece com SQL simples, oASC e DESC operadores permitem que você especifique se a lista de resultados é classificada em ordem ascendente ou descendente, respectivamente. VISTA MyView AS SELECT FROM Employee { OrgUnit, salário

} ORDER BY DESC salário;

Caso Da mesma forma como na planície SQL, você pode usar o caso expressão em um CDS ver definição de introduzirIF-THEN-ELSE conditons sem a necessidade de utilizar procedimentos. entidade MyEntity { id chave: Integer; um: Integer; color: String (1); }; VISTA MyView AS SELECT FROM Employee { id, Cor CASE // definido no MyEntity QUANDO 'R' ENTÃO 'vermelho' WHEN 'G' ENTÃO 'verde' WHEN 'B' ENTÃO 'azul' MAIS 'black' Fim como cor, CASE Quando um <10, em seguida, "pequeno" QUANDO 10 <= A e A <100 THEN 'medium' Else 'grande' FIM AS tamanho };

União Permite que várias instruções select para ser combinados, mas retornam apenas um conjunto de resultados.UNIÃO seleciona todos os registros originais de todas as instruções select, removendo duplicatas encontradas a partir de diferentes instruções select. NotaUNIÃO tem a mesma função que UNION DISTINCT.

Dados Espaciais Os dados espaciais são dados que descreve a posição, forma e orientação de objetos em um espaço definido; os dados são representados como geometrias bidimensionais em forma de pontos, linhas, cordas e polígonos. Os exemplos a seguir mostra como usar a função espacialST_Distanceem uma visão CDS. A função espacial preenche os CDS visualizar informações (armazenados usando o tipo de dados espaciais ST_Point) Que indica a distância entre a residência e endereço de cada pessoa (distanceHomeToWork), Bem como a distância entre o endereço de origem, designada e o edifício SAP03 (distFromSAP03).

Código de exemplo GeoView1 ver como selecionar a partir de Person { nomear,

homeAddress.street_name || ',' || homeAddress.city como casa, officeAddress.street_name || ',' || officeAddress.city como escritório, round (homeAddress.loc.ST_Distance (officeAddress.loc, 'metro') / 1000, 1) como distanceHomeToWork, round (homeAddress.loc.ST_Distance (NOVO ST_Point (8,644072, 49,292910), 'metro') / 1000, 1) como distFromSAP03 };

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas

para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Informação relacionada CDS Associações CDs Ver opções de sintaxe

CDs Ver opções de sintaxe SAP HANA XS inclui uma, CDS-compliant sintaxe específica, o que você deve aderir ao usar um documento CDS para definir uma vista como um arquivo de tempo de design no repositório.

Exemplo VEJA AS MYVIEW1 SELECIONAR DE Employee { a + b AS theSum, }; VISTA MyView2 AS SELECT FROM Employee { Prédio comercial, office.floor, office.roomNumber, office.capacity, contar (id) AS seatsTaken ,, count (id) / capacidade como occupancyRate } GROUP BY office.building, office.floor, office.roomNumber, office.capacity, office.type ONDE onde office.building = 1 TENDO office.type = "escritório" E count (id) / capacidade <0,5; VISTA MyView3 AS SELECT FROM Employee { OrgUnit, salário } ORDER BY DESC salário; VISTA MyView4 AS SELECT FROM Employee { CASE Quando um <10, em seguida, "pequeno" QUANDO 10 <= A e A <100 THEN 'medium' Else 'grande' FIM AS tamanho }; VEJA AS MyView5 SELECT FROM E1 {a, b, c} UNIÃO SELECT FROM E2 {z, x, y}; ver MyView6 AS SELECT FROM cliente { nomear, ordens [status = 'open']. {id como orderId, data como orderDate, items [price> 200]. {descr,

preço } } }; MySpatialView1 ver como selecionar a partir de Person { nomear, homeAddress.street_name || ',' || homeAddress.city como casa, officeAddress.street_name || ',' || officeAddress.city como escritório, round (homeAddress.loc. ST_Distance (officeAddress.loc, 'metro') / 1000, 1) como distanceHomeToWork, round (homeAddress.loc.ST_Distance (NOVO ST_Point (8,644072, 49,292910), 'metro') / 1000, 1) como distFromSAP03 };

Expressões e funções Em um CDS ver definição você pode usar qualquer uma das funções e expressões listados no exemplo a seguir: VISTA MyView AS SELECT FROM Employee { a + b AS theSum, a - b AS thedifference, a * b AS Theproduct, a / b AS theQuotient, -a AS theUnaryMinus, c || d AS theConcatenation };

NotaQuando as expressões são usadas em um elemento de vista, um alias deve ser especificado, por exemplo,AS theSum.

Agregados Em uma definição de vista CDS, você pode usar os seguintes agregados:  AVG  COUNT  MIN  MAX  SUM  STDDEV  VAR O exemplo a seguir mostra como usar agregados e expressões para coletar informações sobre o número de funcionários e salário por unidade organizacional para todos os funcionários admitidos a partir de 2011 para agora. VISTA MyView AS SELECT FROM Employee { OrgUnit, count (id) AS número de funcionários,

sum (salário) AS totalSalary, max (salário) AS maxSalary } GROUP BY OrgUnit ONDE joinDate> date'2011-01-01 ';

NotaExpressões não são permitidas noGROUP

BY cláusula.

SELECIONAR No exemplo seguinte de uma associação numa SELECIONARlista, uma visão compila uma lista de todos os trabalhadores; a lista inclui o nome do empregado com a capacidade do escritório do empregado, ea cor do tapete no escritório. A associação segue o escritório para um associação de entidadeEmpregado a entidade Quartopara coletar as informações relevantes sobre o escritório. VISTA MyView AS SELECT FROM Employee { nomear última, office.capacity, office.carpetColor };

ONDE

O exemplo que se segue mostra como a sintaxe necessária no ONDECláusula utilizada em um CDS ver definição.Neste exemplo, aONDEcláusula é utilizado em uma associação para restringir o conjunto de resultados de acordo com informações localizadas no alvo da associação. Além disso filtragem do conjunto de resultados pode ser definida com o E modificador. VISTA EmployeesInRoom_ABC_3_4 AS SELECT FROM Employee { nomear última } Onde office.building = 'ABC' E = 3 office.floor E office.number = 4;

A PARTIR DA

O exemplo a seguir mostra o sytnax necessária ao utilizar a cláusula FROM em um CDS ver definição. Este exemplo mostra uma associação que lista as placas de todos os carros da empresa. CompanyCarLicensePlates Ver como selecionar a partir de Employee.companyCar { placa de carro }; Na A PARTIR DA cláusula, você pode utilizar os seguintes elementos:  

uma entidade ou uma exibição definida no arquivo de origem mesmas CDS um nativo SAP HANA tabela ou exibição que está disponível no esquema especificado na anotação do esquema (Schema CDS no documento correspondente)

Se um CDS visualizar referências um nativo SAP HANA tabela, os nomes de tabelas e colunas devem ser especificados usando seus eficaz SAP HANA nomes. criar a tabela foo ( Bar: Integer, "gloo": Integer ) Isto significa que, se uma tabela (foo) (Ou as suas colunasBarra e "Gloo"foram criadas sem utilizar aspas (""), os nomes correspondentes maiúsculas para a mesa ou colunas devem ser utilizados no documento CDS, como ilustrado no exemplo seguinte. VISTA MyViewOnNative como SELECT FROM FOO { BARRA, gloo };

GROUP BY O exemplo a seguir mostra a sintaxe necessária ao utilizar o GROUP BY cláusula de um CDS ver definição. Este exemplo mostra uma associação em uma exibição que compila uma lista de todos os escritórios que são menos de 50% ocupados. VISTA V11 AS SELECT FROM Employee { Prédio comercial, office.floor, office.roomNumber, office.capacity, count (id) como seatsTaken ,, count (id) / capacidade como occupancyRate } GROUP BY office.building, office.floor, office.roomNumber, office.capacity, office.type TENDO office.type = 'office' e contar (id) / capacidade <0,5;

TENDO O exemplo a seguir mostra a sintaxe necessária ao utilizar o TENDOcláusula de um CDS ver definição. Este exemplo mostra uma vista com uma associação que compila uma lista de todos os escritórios que são menos de 50% ocupados. VISTA V11 AS SELECT FROM Employee { Prédio comercial, office.floor, office.roomNumber, office.capacity, count (id) como seatsTaken ,, count (id) / capacidade como occupancyRate } GROUP BY office.building,

office.floor, office.roomNumber, office.capacity, office.type TENDO office.type = 'office' e contar (id) / capacidade <0,5;

ORDENAR POR O ORDENAR POR operador permite listar os resultados de acordo com uma expressão ou função, por exemplosalário. VISTA MyView AS SELECT FROM Employee { OrgUnit, salário } ORDER BY DESC salário; Da mesma maneira como acontece com SQL simples, o ASC e DESC operadores permitem que você classificar a ordem da lista da seguinte forma.  ASC 

Mostrar a conjunto de resultados no ascendente ordem DESC Mostrar a conjunto de resultados no descendente ordem

CASE Da mesma forma como na planície SQL, você pode usar o caso expressão em um CDS ver definição de introduzirIF-THEN-ELSE conditons sem a necessidade de utilizar procedimentos. entidade MyEntity { id chave: Integer; um: Integer; color: String (1); }; VISTA MyView AS SELECT FROM Employee { id, Cor CASE // definido no MyEntity QUANDO 'R' ENTÃO 'vermelho' WHEN 'G' ENTÃO 'verde' WHEN 'B' ENTÃO 'azul' MAIS 'black' Fim como cor, CASE Quando um <10, em seguida, "pequeno" QUANDO 10 <= A e A <100 THEN 'medium' Else 'grande' FIM AS tamanho }; No primeiro exemplo de utilização do CASE operador, cor é uma cadeia, que deve ser especificado no início doCASEdeclaração e fechou no final. No

segundo exemplo, "uma"É um número inteiro; você só precisa fechar oCASE afirmação (AS tamanho.

UNIÃO

Permite que várias instruções select para ser combinados, mas retornam apenas um conjunto de resultados.UNIÃOfunciona da mesma maneira como o SAP HANA comando SQL do mesmo nome; ele seleciona todos os registros originais de todas as instruções select, removendo duplicatas acharam de diferente assinatura selecione statements.The da exibição do resultado é igual à assinatura do primeiroSELECIONAR na união.

NotaVistaMyView5 tem elementos uma, bE c. entidade E1 { uma chave: Integer; b: String (20); C: LocalDate; }; entidade E2 { x-chave: string (20); y: LocalDate; z: Integer; }; VEJA AS MyView5 SELECT FROM E1 {a, b, c} UNIÃO SELECT FROM E2 {z, x, y};

Associações, filtros e Prefixos É possível aplicar uma condição de filtro durante a resolução de associações entre as entidades; o filtro é incorporada pelaLIGAR-condition da resultante JUNTE-SE. O exemplo a seguir mostra como obter uma lista de clientes e, em seguida, filtrar a lista de acordo com as encomendas que estão atualmente em "Abrir" para cada cliente. No exemplo, o filtro é inserido após a associaçãoencomendas; isso garante que a lista apresentada pela visão contém apenas os pedidos que satisfazem a condição [status = 'open'].

Código de exemplo C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. id como orderId, }; O exemplo seguinte mostra como usar a notação de prefixo para assegurar que o compilador compreende que existe apenas uma associação (encomendas) Para resolver, mas com vários elementos (identidade eencontro):

Código de exemplo

C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. {id como orderId, data como orderDate } };

Dica

Condições de filtro e prefixos podem ser aninhados. O exemplo seguinte mostra como usar as associações encomendas e itens em uma exibição que exibe uma lista de clientes com ordens de venda em aberto para itens com um preço maior do que 200.

Código de exemplo C1 ver como selecionar a partir Cliente { nomear, ordens [status = 'open']. {id como orderId, data como orderDate, items [price> 200]. {descr, preço } } }; A notação de prefixo, também pode ser utilizada sem filtros. O exemplo a seguir mostra como obter uma lista de todos os clientes com detalhes de suas ordens de venda. Neste exemplo, todos os usos da associaçãoencomendas são combinados de modo que há apenas uma JUNTE-SE para a mesa SalesOrder. Da mesma forma, ambos os usos da associaçãoitens são combinados, e existe apenas uma JUNTESE para a mesa Item.

Código de exemplo C1 ver como selecionar a partir Cliente { nomear, orders.id como orderId, orders.date como orderDate, orders.items.descr como itemDescr orders.items.price como itemPrice }; O exemplo acima pode ser expressa de forma mais elegante pela combinação das associações encomendas eitens usando a seguinte notação de prefixo:

Código de exemplo

C1 ver como selecionar a partir Cliente { nomear, ordens. {id como orderId, data como orderDate, itens. {Descr como itemDescr, preço como itemPrice

} } };

Funções espaciais A vista seguinte (SpatialView1) Exibe uma lista de todas as pessoas seleccionado a partir de a entidadePessoa e usa a função espacial ST_Distance(*) Para incluir informações como a distância entre a casa eo endereço de cada pessoa (distanceHomeToWork), Ea distância entre o seu endereço de casa e do edifício SAP03 (distFromSAP03). O valor para ambas as distâncias é medido em quilômetros, que é arredondado e exibido para um ponto decimal.

Código de exemplo SpatialView1 ver como selecionar a partir de Person { nomear, homeAddress.street_name || ',' || homeAddress.city como casa, officeAddress.street_name || ',' || officeAddress.city como escritório, round (homeAddress.loc.ST_Distance (officeAddress.loc, 'metro') / 1000, 1) como distanceHomeToWork, round (homeAddress.loc.ST_Distance (NOVO ST_Point (8,644072, 49,292910), 'metro') / 1000, 1) como distFromSAP03 };

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas

para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Tipos espaciais e funções CDS apóia o uso de Sistemas de Informação Geográfica (SIG) funções e tipos de elementos no CDS-compliant entidades e pontos de vista. Os dados espaciais são dados que descreve a posição, forma e orientação de objetos em um espaço definido; os dados são representados como geometrias bidimensionais em forma de pontos, linhas, cordas e polígonos. Os exemplos a seguir mostra como usar a função espacialST_Distanceem uma visão CDS. Os dados espaciais de base utilizados na exibição é definida em uma entidade CDS usando o tipoST_Point. O exemplo seguinte, a entidade CDS Endereço é usado para armazenar coordenadas geo-espaciais no elementoloc do tipo ST_Point:

Código de exemplo entidade Person { id chave: Integer; name: String (100); HomeAddress: Associação [1] para Endereço; officeAddress: Associação [1] para Endereço; }; entidade de endereços { id chave: Integer; street_number: Integer; street_name: String (100); zip: String (10); cidade: String (100); loc: hana.ST_POINT (4326); }; A vista seguinte (GeoView1) Exibe uma lista de todas as pessoas e usa a função espacial ST_Distance para incluir informações como a distância entre a casa eo endereço de cada pessoa (distanceHomeToWork), Ea distância entre o seu endereço de casa e do edifício SAP03 (distFromSAP03). O valor para ambas as distâncias é medido em quilômetros.

Código de exemplo GeoView1 ver como selecionar a partir de Person { nomear, homeAddress.street_name || ',' || homeAddress.city como casa, officeAddress.street_name || ',' || officeAddress.city como escritório, round (homeAddress.loc.ST_Distance (officeAddress.loc, 'metro') / 1000, 1) como distanceHomeToWork,

round (homeAddress.loc.ST_Distance (NOVO ST_Point (8,644072, 49,292910), 'metro') / 1000, 1) como distFromSAP03 };

Cuidado(*) o software de servidor SAP HANA e ferramentas podem ser usadas para vários cenários de plataforma SAP HANA e de opções, com base nas licenças SAP HANA disponíveis ea paisagem SAP HANA. Quais recursos e ferramentas estão disponíveis depende do tipo e versão dos sistemas de back-end das ferramentas de administração SAP HANA e desenvolvimento estão ligados a. Para mais informações, ver também a Nota SAP 2164095. Existem vários tipos de licenças disponíveis para SAP HANA. Dependendo do tipo de licença da instalação do SAP HANA, alguns dos recursos e ferramentas que são descritas na documentação da plataforma SAP HANA só podem ser acessadas através das opções SAP HANA, o que pode ser lançado de forma independente de um SAP HANA Suporte de plataforma Package Stack ( SPS). Embora vários recursos incluídos no SAP opções HANA são citados na documentação da plataforma SAP HANA, os clientes que só compraram a licença para a edição base da plataforma SAP HANA não têm o direito de usar os recursos incluídos em opções SAP HANA, porque esses recursos são não incluídas na licença da edição de base da plataforma SAP HANA. Para os clientes a quem estas restrições de licença aplicável, o uso de recursos incluídos no SAP HANA opções em um sistema de produção requer a aquisição da licença de software correspondente (s) da SAP. A documentação para os componentes SAP HANA opcionais está disponível no SAP Help Portal, em http://help.sap.com/hana_options. Para mais informações, ver também a Nota SAP 2091815 - SAP HANA Opções. Se você tiver perguntas adicionais sobre o que a sua licença particular fornece, ou quiser discutir recursos de licenciamento disponíveis em opções SAP HANA, entre em contato com seu representante de conta equipe de SAP.

Informação relacionada CDS tipos de dados primitivos CDS Entidade opções de sintaxe CDs Ver opções de sintaxe SAP HANA Spatial Reference *

Modificações CDS Artefatos As alterações à definição de um resultado artefato CDS em alterações para o objeto respectivo catálogo. As mudanças resultantes para o objeto de catálogo são feitos de acordo com regras rígidas. Reativando um documento CDS que contém alterações nos resultados artefatos originais em alterações para os objetos correspondentes no catálogo. Antes de fazer a mudança para a definição de tempo de design de um artefato CDS, é muito importante entender o que as consequências das alterações previstas serão nos objetos do catálogo gerados.  Remoção de um artefato de um documento CDS  Alterando a definição de um produto manufacturado num documento CDS

 

Modificando um objeto de catálogo gerado pelo CDS Transportar um DU que contém documentos CDS modificados

Remoção de um artefato de um documento CDS Se um artefato CDS-tempo de design (por exemplo, uma tabela ou uma vista) definida em uma versão antiga de um documento CDS não está mais presente na nova versão, o objeto de tempo de execução correspondente é retirado do catálogo.

NotaMudar o nome de um CDS resultados artefato na eliminação do artefato com o nome antigo (com todas as consequências correspondentes) ea criação de um novo artefato CDS com o novo nome.

Alterar a Definição de um artefato em um documento CDS Se um artefato CDS-tempo de design está presente em ambos o antigo ea nova versão de um documento CDS, é realizada uma verificação para estabelecer o que, eventualmente, tenha havido alterações. Isto aplica-se a alterações feitas quer directamente a um artefacto CDS ou indirectamente, por exemplo, como resultado de uma mudança para um artefato dependente. Se as alterações foram feitas para o documento CDS, as mudanças são implementadas nos objetos do catálogo correspondentes de acordo com as seguintes regras:  Visualizações Visualizações do SAP HANA catálogo são descartado e recriado de acordo com a nova especificação de tempo de design para o artefato no documento CDS.  Tipos de elementos A alteração do tipo de um elemento de acordo com as regras de conversão implícitos descritos no SAP HANA documentação SQL (SAP HANA SQL tipo de dados de conversão). Nota: Para algumas conversões de tipo a ativação só terá sucesso se os dados na tabela DB correspondente é válido para o tipo de destino (por exemplo, a conversão de String para Integer só terá êxito se a coluna da tabela DB correspondente contém apenas os números que correspondem a Integer Tipo)  Elemento modificador: Nulo/NÃO NULO Adicionar, remover ou mudar modificadores elemento "Nulo "E"não nulo"Para



fazer um elemento não anulável ot anulável, respectivamente, podem levar a problemas de ativação quando o artefato resultante; a activação só terá sucesso se os dados na tabela de banco de dados correspondente para a entidade CDS corresponde ao novo modificador. Por exemplo, você não pode fazer um elemento não anulável, se na coluna correspondente na tabela de banco de dados existem alguns valores nulos para os quais não existe um valor padrão definido. Elemento modificador: Valor padrão Se o modificador valor padrão é removido, este não tem efeito sobre os dados existentes na tabela de banco de dados correspondente, e nenhum valor padrão será usado para qualquer registro posteriormente inserido.Se o valor padrão for modificado ou recém-adicionado, a alteração será aplicável a todas as inserções subseqüentes na tabela de banco de dados correspondente. Além disso, se o



elemento não pode ser nulo (independentemente de se foi definido anteriormente, como tal ou dentro da mesma activação), os valores nulos existentes na tabela correspondente será substituído pelo novo valor padrão. Elemento modificador: Chave primária Você pode adicionar um elemento (ou removê-lo) a chave primária, adicionando ou removendo o "chave"Modificador.

NotaAdicionando o "chave"Modificador para um elemento também fará com que a coluna da tabela correspondentenão anulável. Se a coluna na tabela de banco de dados correspondente contémnulovalores e não há valor padrão definido para o elemento, a ativação do documento CDS modificado falhará. 



Coluna ou loja de linha (@ Catalog.tableType) É possível alterar o Catalog.tableType anotação que define o tipo de tabela, por exemplo, para transformar uma tabela do armazenamento de coluna (#COLUMN) Para a linha loja (#FILA), e vice versa. Tipos de índices (@ Catalog.index) IS é possível alterar o "Catalog.index"Anotação, enquanto o índice modificado é

válido para a entidade CDS correspondente. Para alterações em elementos individuais de uma entidade CDS, por exemplo, definições de coluna, a mesma lógica se aplica como por artefatos completos em um documento CDS.  Uma vez que os elementos de uma entidade CDS são identificados pelo seu nome, a alteração da ordem dos elementos na definição entidade não terá qualquer efeito; a ordem das colunas no objeto de tabela do catálogo gerado permanece inalterado.  Mudar o nome de um elemento em uma definição de entidade CDS não é reconhecida; os resultados da operação de renomeação na eliminação do elemento renomeado ea criação de um novo.  Se um novo elemento é adicionado a uma entidade CDS definição, a ordem das colunas na tabela gerada no catálogo após a mudança não pode ser garantida. NotaSe uma definição de entidade CDS existente é alterado, a ordem das colunas nas tabelas de banco de dados gerados podem ser diferente da ordem dos elementos correspondentes na definição da entidade CDS. No exemplo seguinte de um documento CDS simples, o contexto OuterCtx contém uma entidade CDS Entity1e o contexto aninhada InnerCtx, Que contém a definição entidade CDS Entity2. pacote namespace; Schema: 'Meu_esquema' contexto OuterCtx { entidade Entity1 { uma chave: Integer; b: String (20);

}; contexto InnerCtx { entidade Entity2 { x-chave: integer; y: String (10); z: LocalDate; }; }; }; Para entender o efeito das alterações feitas neste documento CDS simples no exemplo a seguir, é necessário para ver as alterações não só do ponto de vista do desenvolvedor, que faz as alterações, mas também o compilador que precisa interpretá-los. Do ponto de vista do desenvolvedor, a entidade CDS Entity1 foi transferido do contexto OuterCtx paraInnerCtx. Do ponto de vista do compilador, no entanto, a entidadepacote :: OuterCtx.Entity1desapareceu e, como resultado, será suprimida (e o correspondente tabela gerada com todo o seu conteúdo caiu), e uma nova entidade nomeada pacote :: OuterCtx.InnerCtx.Entity1 foi definido. pacote namespace; Schema: 'Meu_esquema' contexto OuterCtx { contexto InnerCtx { entidade Entity1 { uma chave: Integer; b: String (20); }; entidade Entity2 { x-chave: integer; q: String (10); z: LocalDate; }; }; }; Da mesma forma, mudar o nome do elemento y: String; para q: String; dentro Entity2 resulta na eliminação de coluna y e a criação de uma nova coluna qno catálogo objecto gerado. Como consequência, o conteúdo da colunay está perdido.

Modificando um objeto Catalog Gerado de CDS CDS não suporta modificações para catalogar objetos gerados a partir de documentos CDS. Você nunca deve modificar um SAP HANA catálogo de objetos (em particular uma mesa) que foi gerado a partir de um documento CDS. A próxima vez que você ativar o documento que contém os CDS CDS originais objeto de definição e os correspondentes objetos do catálogo são gerados, todas as modificações feitas no objeto catálogo são perdidos ou ativação pode até falhar devido a inconsistências.

Transportar um DU que Contém modificação CDS Documentos Se a definição de uma entidade CDS já tiver sido transportado para um outro sistema, não reforçam a activação de quaisquer alterações ilegais a essa entidade, por exemplo, por meio de uma eliminação intermédia. Restrições aplicáveis às modificações que podem ser feitas a uma entidade CDS se a entidade tiver sido ativado e um objeto de catálogo correspondente existe. Se as alterações em uma entidade CDS no sistema de origem produzem um erro durante a ativação do documento de CDS, por exemplo, porque você mudou um tipo de elemento em uma entidade de CDS Binário para LocalDate, Você poderia, teoricamente excluir a entidade inicial CDS e, em seguida, criar uma nova entidade CDS com o mesmo nome que a entidade original, mas com o tipo de dados alterado. No entanto, se esta mudança é transportado para outro sistema, onde a versão antiga da entidade já existe, a importação irá falhar, porque as informações que a entidade tenha sido excluído e recriado não estiver disponível no sistema de destino ou na unidade de entrega .

Informação relacionada SAP HANA para CDs de dados-Type Mapping Os dados SAP HANA SQL Conversão de tipo

Tutorial: Introdução ao CDS Você pode usar o Data Definition Language (DDL) para definir uma tabela, que também é referido como uma"entidade" no SAP HANA Serviços de Dados Básicos (CDS). O artefato acabado é salvo no repositório com a extensão (sufixo) .hdbdd, por exemplo, MyTable.hdbdd.

Pré-requisitos Esta tarefa descreve como criar um arquivo contendo uma entidade CDS (definição da tabela) utilizando DDL.Antes de iniciar esta tarefa, tenha atenção aos seguintes pré-requisitos:

   

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado uma definição de esquema MYSCHEMA.hdbschema.

Contexto O SAP HANA estúdio fornece um editor de DDL dedicado para ajudar a definir os artefatos relacionados a dados, por exemplo, entidades ou pontos de vista. Para criar uma tabela de banco de dados simples com o nome "MyTable", execute os seguintes passos: DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos noSAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente.

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o documento CDS que define a entidade que você deseja criar. Navegue até a pasta em seu espaço de trabalho do projeto onde você deseja criar o novo documento CDS (por exemplo, em um projeto já criado e compartilhado) e realizar as seguintes tarefas: 1.

Botão direito do mouse na pasta onde você quer criar o documento CDS e escolher New DDL Source File no menu pop-up sensível ao contexto.

NotaEsta opção de menu só está disponível a partir de projetos comuns; projetos que estão relacionadas com a SAP HANA repositório. 2.

Digite o nome da entidade no nome do arquivo caixa, por exemplo, MyFirstCDSSourceFile.

NotaA extensão do arquivo .hdbdd é adicionado automaticamente para o novo nome do arquivo DDL.O repositório usa a extensão do arquivo para fazer suposições sobre o conteúdo do repositório de artefatos, por exemplo, que .hdbdd arquivos contêm instruções DDL.

3.

Escolha Concluir para salvar o novo documento CDS vazias. NotaSe você estiver usando um documento CDS para definir uma única entidade CDS-conformes, o nome do documento CDS deve corresponder ao nome da entidade definida no documento CDS, por exemplo, com a entidade palavra-chave. No exemplo neste tutorial, você iria salvar a definição de entidade "LIVRO" no documento CDS BOOK.hdbdd.

5.

Definir a entidade tabela. Para editar o documento CDS, no Project Explorer visualizar clique duas vezes no arquivo que você criou na etapa anterior, por exemplo, BOOK.hdbdd, e adicionar o código de entidade de definição:

NotaO CDS editor DDL insere automaticamente as palavras-chave obrigatória namespace e contexto em qualquer novo arquivo de origem DDL que você cria usando o Arquivo Fonte Nova DDL diálogo. Os seguintes valores são assumidos: 1. namespace = 2. contexto = O espaço de nome declarado em um documento CDS deve coincidir com o pacote repositório no qual o objeto do documento define está localizado. Neste exemplo, o documento CDS BOOK.hdbdd que define o CDS entidade "LIVRO" deve residir no pacotemycompany.myapp1. namespace mycompany.myapp1; Schema: 'Meu_esquema'



@ Catalog.tableType: #COLUMN @ Catalog.index: [{name: "MYINDEX1 ', exclusivo: true, ordem: #DESC, elementNames: [' ISBN ']}] entidade LIVRO { chave Autor: String (100); booktitle chave: String (100); ISBN: Número inteiro não nulo; Publisher: String (100); }; Salve o documento CDS BOOK.hdbdd.

Notasalvar um arquivo em um projeto compartilhado compromete

automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível. 

Ative o novo documento CDS no repositório. 1. No Project Explorer vista, localize o artefato recémcriado BOOK.hdbdd. 2. Botão direito do mouse BOOK.hdbdd e escolha Team> Ativar no menu pop-up sensível ao contexto. O CDS / cheques editor DDL a sintaxe do código fonte do arquivo, destaca as linhas em que ocorre um erro, e fornece detalhes sobre o erro no Problemas vista.

    2.

A ativação cria a seguinte tabela no meu_esquema esquema, sendo que ambos são visíveis usando o SAP HANA estúdio: "Meu_esquema". "Mycompany.myapp1 :: LIVRO" A seguir sinônimo público também é criado, que pode ser referenciado usando a notação consulta CDS-compliant padrão: "mycompany.myapp1 :: LIVRO" Adicione uma entrada para a entidade LIVRO usando SQL.

INSERT INTO "mycompany.myapp1 :: LIVRO" VALUES ('Shakespeare', 'Hamlet', '1234567', 'Livros Incorporated'); 3. 4.

Guardar e activar as modificações para a entidade. Executar uma consulta simplesmente usando a notação consulta CDS-compliant padrão. SELECT COUNT (*) FROM "mycompany.myapp1 :: LIVRO" ONDE Autor = 'Shakespeare'

Informação relacionada Criar um esquema

Importar dados com CDS-Import Table A função de tabela-import é uma ferramenta de provisionamento de dados que permite importar dados de valores separados por vírgulas (CSV) em SAP HANA tabelas.

Pré-requisitos Antes de iniciar esta tarefa, certifique-se de que os seguintes pré-requisitos sejam atendidos:  Um SAP HANA instância de banco de dados está disponível.  O SAP HANA cliente de banco de dados está instalado e configurado.  Você tem uma conta de usuário do banco de dados criado com os papéis que contenham privilégios suficientes para executar ações no repositório, por exemplo, adicionar pacotes, adicionar objetos, e assim por diante.  O SAP HANA estúdio está instalado e conectado ao SAP HANA repositório.  Você tem um ambiente de desenvolvimento, incluindo um espaço de trabalho do repositório, a estrutura do pacote para seu aplicativo, e um projeto compartilhado para que você possa sincronizar as alterações aos arquivos de projeto no sistema de arquivos local com o repositório. NotaOs nomes usados na tarefa a seguir são apenas para fins ilustrativos; se necessário, substituir os nomes de esquemas, tabelas, arquivos, e assim por diante mostrado nos seguintes exemplos com seus próprios nomes.

Contexto Neste tutorial, você importar dados de um arquivo CSV para uma tabela gerada a partir de uma definição de tempo de design que usa a .hdbdd sintaxe, que está em conformidade com os Serviços de Dados Básicos (CDS) Especificações.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos noSAP HANA Repository, o assistente de criação de

arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente.

Procedimento 1.

Criar um pacote de raiz para o aplicativo mesa-importação. Em SAP HANA estúdio, abrir o SAP HANA Desenvolvimento perspectiva e execute os seguintes passos: 1.

Na hierarquia do pacote exibido na Sistemas de exibição, clique direito do mouse no pacote que você deseja criar o novo pacote para a sua configuração de mesa importação e escolha Novo> Pacote .... 2. Digite um nome para o seu pacote, por exemplo TiTest. Você deve criar o novo TiTest pacote no seu próprio namespace, por exemplo mycompany.tests.TiTest

Notaexistem convenções de nomeação para nomes de pacotes, por exemplo, um nome de pacote não devem começar com um ponto ou um hífen (.) (-) E não pode conter dois ou mais pontos consecutivos (..). Além disso, o nome não deve ser superior a 190 caracteres. 3. 2.

Escolha OK para criar o novo pacote. Criar um conjunto de arquivos mesa-importação. Para os fins deste tutorial, os seguintes arquivos devem ser criados no mesmo pacote, por exemplo, um pacote chamado TiTest. No entanto, o recurso de mesa-de importação também permite que você use arquivos distribuídos em diferentes embalagens DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente.

1.

O arquivo de configuração de mesa de importação, por exemplo, TiConfiguration.hdbti

Especifica o arquivo de origem que contém os valores de dados para importar e tabela de destino emSAP HANA para o qual os dados devem ser inseridos 2. Um arquivo CSV, por exemplo, myTiData.csv Contém os dados a serem importados para o SAP HANA mesa durante a operação de mesa-importação; valores na .csv arquivo podem ser separados por uma vírgula (,) ou um ponto e vírgula (;). 3. A tabela de destino. A tabela de destino pode ser uma tabela de tempo de execução no catálogo ou uma definição de tabela, por exemplo, uma tabela definida utilizando a .hdbtable sintaxe (TiTable.hdbtable) ou do CDScompliant .hdbdd sintaxe (TiTable.hdbdd).

NotaNeste tutorial, a tabela de destino para a operação de mesa importação é TiTable.hdbdd, uma tabela de tempo de design definido usando o CDS-compliant .hdbdd sintaxe. 4.

O esquema denominado AMT

Especifica o nome do esquema no qual a tabela de importação de destino reside Quando todos os arquivos necessários estão disponíveis, você pode importar dados de um arquivo de origem, como um arquivo CSV, na tabela de destino desejado. 



Se ele não existir, crie um esquema denominado AMT no catálogo; a AMT esquema é onde a tabela de destino para a operação de mesa importação reside. Crie ou abra o arquivo de tabela de definição para a tabela de importação de destino(inhabitants.hdbdd) e digite as seguintes linhas de texto; Este exemplo utiliza a .hdbdd sintaxe.

NotaNo CDS-compliant .hdbdd sintaxe, o namespace palavra-chave indica o caminho para o pacote contendo o arquivo da tabela de definição. namespace mycompany.tests.TiTest; Schema: 'AMT' @ Catalog.tableType: #COLUMN habitantes entidade { chave ID: Integer; sobrenome: String (30); name: String (30); cidade: String (30); }; 

      

Abra o arquivo CSV que contém os dados para importar, por exemplo, inhabitants.csv em um editor de texto e digite os valores mostrados no 0, 1, 2, 3, 4, 5, 6,

exemplo a seguir. Annan, Kwesi, Accra Essuman, Wiredu, Tema Tetteh, Kwame, Kumasi Nterful, Akye, Tarkwa Acheampong, Kojo, Tamale Assamoah, Adjoa, Takoradi Mensah, Afuá, Cape Coast

NotaÉ possível importar dados de várias .csv arquivos em uma única operação de mesa-importação. No entanto, cada .csv arquivo deve ser especificado em um bloco de código separado ({...} table =) No arquivo de configuração de mesa importação.  

Crie ou abra o arquivo de configuração de mesaimportação (inhabitants.hdbti) e digite as seguintes linhas de texto. import = [

       

{ tabela schema FILE = header

= "mycompany.tests.TiTest :: habitantes"; = "AMT"; "mycompany.tests.TiTest: inhabitants.csv"; = false;

} ]; Implantar a importação tabela. 1. Selecione o pacote que você criou na primeira etapa, por exemplo, mycompany.tests.TiTest. 2. Clique no botão alternativo do mouse e escolha Commit. 3. Clique no botão alternativo do mouse e escolha Ativar. Isso ativa todos os objetos de repositório. Os dados especificados no arquivo CSV inhabitants.csv é importado para o SAP HANA tabela habitantes usando a configuração-importação de dados definido noinhabitants.hdbti arquivo de configuração de mesa-importação.

2.

Verifique o conteúdo da tabela de tempo de execução habitantes no catálogo. Para garantir que a operação de importação concluída conforme esperado, utilize o SAP HANA estúdio para visualizar o conteúdo da tabela de tempo de execução habitantes no catálogo. Você precisa confirmar que os dados corretos foram importados para as colunas corretas. 1.

No SAP HANA Desenvolvimento perspectiva, abra a Sistemas de vista. 2. Navegue até o local catálogo onde os habitantes objeto reside, por exemplo: <SID> 3.

Catálogo

AMT

Tabelas

Abra uma pré-visualização de dados para o objeto atualizado. Botão direito do mouse o objeto atualizado e escolha Abrir visualização de dados no menu sensível ao contexto.

Dados Provisioning Usando a Tabela de Importação Você pode importar dados de valores separados por vírgulas (CSV) nos SAP HANA tabelas usando os SAP HANAextendida Application Services (SAP HANA XS) apresentam mesa-importação. Em SAP HANA XS, você cria um cenário de mesa importação através da criação de arquivos mais valores separados por vírgula (CSV) contendo o conteúdo que você deseja importar para o especificado um arquivo de configuração de mesa

importação e um ou SAP HANA tabela. O arquivo de importação e configuração liga a operação de importação para uma ou mais tabelas de destino. A definição da tabela (por exemplo, sob a forma de um .hdbdd ou .hdbtable arquivo) pode ser criada separadamente ou ser incluído na própria mesa cenário-importação. Para usar o SAP HANA recurso XS mesa-import para importar dados para um SAP HANA mesa, você precisa entender os seguintes conceitos mesa-de importação:  Tabela de configuração de importaçãoVocê define o modelo de mesa de importação em um arquivo de configuração que especifica os campos de dados para importar e as tabelas de destino para cada campo de dados.

NotaO arquivo da tabela-importação devem ter o .hdbti extensão, por exemplo, myTableImport.hdbti.

Dados CSV Restrições arquivo As seguintes restrições se aplicam ao arquivo CSV usado como uma fonte para a função table-importação emSAP HANA XS:  O número de colunas da tabela deve corresponder ao número de colunas CSV.  Não deve haver qualquer incompatibilidade entre os tipos de dados das colunas da tabela e os tipos de dados das colunas CSV.  Sobreposição de dados em arquivos de dados não é suportado.  A tabela de destino da importação não deve ser modificado (ou anexado a) fora da operação de importação de dados. Se a tabela é usada para armazenamento de dados de aplicativos, esses dados podem ser perdidos durante qualquer operação de re-importação ou atualizar os dados.

Informação relacionada Tabela-Import Configuração Sintaxe mesa-Import Configuração-File

Tabela-Import Configuração Você pode definir os elementos de uma operação de mesa de importação em um arquivo de tempo de design; a configuração inclui informações sobre dados de origem e tabela de destino em SAP HANA. SAP HANA estendidos Application Services (SAP HANA XS) permite que você execute operações de provisionamento de dados que você define em um arquivo de configuração em tempo de design. O arquivo de configuração é transportável, o que significa que você pode transferir o provisionamento de dados entre SAP HANA sistemas de forma rápida e fácil. A configuração de mesa importação permite que você especifique como os dados a partir de um valor de separados por vírgulas (.csv) arquivo é importado para uma tabela de destino em SAP HANA. A configuração especifica o arquivo de origem que

contém os valores de dados para importar e tabela de destino em SAP HANApara o qual os dados devem ser inseridos. Como outras opções, você pode especificar qual delimitador campo usar ao interpretar os dados na fonte de .csv arquivo e se as chaves devem ser usados para determinar quais colunas na tabela de destino para inserir os dados importados para. NotaSe você usar várias configurações de importação tabela para importar dados para uma única tabela de destino, o teclas de palavra-chave é obrigatória. Isso é para evitar problemas relacionados com a eliminação ou substituição acidental de dados existente. O exemplo a seguir de uma configuração de mesa-import mostra como definir uma simples operação de importação que insere dados dos arquivos de origem myData.csv e myData2.csv na tabela myTable no esquema mySchema. import = [ { table = "myTable"; schema = "mySchema"; FILE = "sap.ti2.demo: myData.csv"; header = false; delimField = ""; Chaves = ["group_type": "BW_CUBE"]; }, { table = "sap.ti2.demo :: myTable"; FILE = "sap.ti2.demo: myData2.csv"; header = false; delimField = ""; Chaves = ["group_type": "BW_CUBE"]; } ]; Na configuração de importação da tabela, você pode especificar a tabela de destino utilizando um dos seguintes métodos:  Sinônimo público ("Sap.ti2.demo :: myTable") Se você usar o sinônimo público para fazer referência a uma tabela de destino para a operação de importação, você deve usar a hdbtable ou cdstable palavrachave, por exemplo,hdbtable = "sap.ti2.demo myTable ::"; 

Nome do catálogo qualificado pelo esquema ("MySchema". "MyTable" Se você usar o nome do catálogo qualificado pelo esquema para fazer referência a uma tabela de destino para a operação de importação, você deve usar a tabela de palavras-chave em combinação com oesquema de palavra-chave, por exemplo, table = "myTable"; schema = "mySchema";

NotaTanto o esquema ea tabela de destino especificado na operação de mesa de importação já deve existir. Se qualquer tabela especificada ou o esquema não existir, SAP HANA XS exibe uma mensagem de erro durante a ativação do arquivo de configuração, por exemplo: Tabela tabela de destino de importação não pode ser encontrado. ou Esquema não pôde ser resolvido.

Você também pode usar um arquivo de configuração de mesa importação para importar dados de múltiplo. CSVarquivos de origem. No entanto, você deve especificar cada operação de importação em um novo bloco de código introduzido pelo [hdb | cds] tabela de palavras-chave, como ilustrado no exemplo acima. Por padrão, a operação de mesa importação assume que valores de dados na .csv arquivo de origem são separados por uma vírgula (,). No entanto, a operação de mesa de importação também pode interpretar arquivos contendo valores de dados separados por um ponto e vírgula (;). 

Vírgula (,) valores separados ,,, BW_CUBE ,, 40000000,2,40000000, todos



-E-vírgula (;) valores separados ;;; BW_CUBE ;; 40000000; 3; 40000000; tudo

NotaSe o activado .hdbti configuração usada para importar dados for posteriormente excluído, somente os dados que foi importado pelo suprimido .hdbti configuração é retirado da tabela de destino. Todos os outros dados, incluindo todos os dados importados por outros .hdbti configurações permanece na tabela. Se a entidade CDS-alvo não tem uma chave (anotado com nokey) Todos os dados que não faz parte do arquivo CSV é retirado da mesa durante cada activação mesa-importação. Você pode usar a palavra chave opcional chaves para especificar o intervalo de chave tirada da fonte .csvarquivo para importação para a tabela de destino. Se as chaves são especificados para uma importação em uma configuração de importação da tabela, múltiplas importações na mesma tabela de destino são verificados para colisões de dados em potencial. NotaA sintaxe do arquivo de configuração não suporta wildcards na definição da chave; o valor total de um valor de coluna selecionável tem de ser especificado.

Considerações sobre segurança Em SAP HANA XS, artefatos de tempo de design, tais como tabelas (.hdbtable ou .hdbdd) e configurações de mesa e importação (.hdbti) não são normalmente expostos a clientes via HTTP. No entanto, os artefatos de tempo de design que contêm valores separados por vírgulas (.csv) poderiam ser consideradas como potenciais artefatos para expor aos usuários através de HTTP. Por esta razão, é essencial para proteger estas expostas .csv artefatos, definindo os privilégios de aplicativos apropriados; os privilégios de aplicativos impede o vazamento de dados, por exemplo, ao negar o acesso aos dados por usuários, que normalmente não são autorizados a ver todos os registros nessas tabelas. DicaColoque todos os .csv arquivos usados para importar conteúdo para em mesas juntos em um único pacote e defina as (restritivas) permissões de acesso de aplicativo apropriadas para esse pacote, por exemplo, com um dedicado .xsaccess arquivo.

Informação relacionada Sintaxe mesa-Import Configuração-File

Sintaxe mesa-Import Configuração-File O arquivo de configuração de tempo de design usados para definir uma operação de mesa-importação requer o uso de uma sintaxe específica. A sintaxe compreende uma série de keyword = value pares. Se você usar a sintaxe de configuração de mesa-import para definir os detalhes da operação de mesa-import, você pode usar as palavras-chave ilustrado no seguinte exemplo de código. O arquivo de tempo de design resultante deve ter a .hdbti extensão do arquivo, por exemplo, myTableImportCfg.hdbti. import = [ { tabela = "myTable"; esquema = "mySchema"; arquivo = "sap.ti2.demo: myData.csv"; cabeçalho = false; useHeaderNames = false; delimField = ""; delimEnclosing = "\" "; distinguishEmptyFromNull = true ; teclas = ["group_type": "BW_CUBE", "group_type": "BW_DSO", "group_type": "BW_PSA"]; } ];

mesa

Na configuração de mesa importação, o mesa, cdstableE hdbtablepalavras-chave permitem que você especifique o nome da tabela de destino em que a operação de mesa de importação deve inserir dados. A tabela de destino que você especificar na configuração da tabela-importação pode ser uma tabela de tempo de execução no catálogo ou um design-time definição da tabela, por exemplo, uma tabela definida utilizando o .hdbtable ou o .hdbdd sintaxe (Serviços de Dados Core).

NotaA tabela de destino especificado na configuração da mesa-de importação já deve existir. Se a tabela especificada não existe, SAP HANA XS exibe uma mensagem de erro durante a ativação do arquivo de configuração, por exemplo: Tabela tabela de destino de importação não pode ser encontrado. Use a tabela de palavras-chave na configuração da mesa-import para especificar o nome da tabela de destino usando o nome qualificado para um catálogo de mesa. table = "target_table"; schema = "mySchema";

NotaVocê também deve especificar o nome do esquema no qual a tabela de catálogo de destino reside, por exemplo, usando o esquema de palavra-chave.

O hdbtable palavra-chave na configuração de mesa importação permite que você especifique o nome de uma tabela de destino usando o sinônimo público para um design-time tabela definida com o .hdbtable sintaxe. hdbtable = "sap.ti2.demo target_table ::"; O cdstable palavra-chave na configuração de mesa importação permite que você especifique o nome de uma tabela de destino usando o sinônimo público para um design-time tabela definida com o CDS-compliant .hdbddsintaxe. cdstable = "sap.ti2.demo target_table ::";

CuidadoNão há nenhuma verificação explícita se a tabela dirigida é criado usando o .hdbtable ou CDS-compliant.hdbdd sintaxe.

Se a tabela com o especificado cdstable ou hdbtablepalavra-chave não é definida com a sintaxe correspondente, SAP HANA apresenta um erro quando você tenta ativar o artefato, por exemplo,Combinação inválida de declarações da tabela encontrado, você só pode usar [cdstable | hdbtable | tabela] .

esquema O exemplo de código a seguir mostra a sintaxe necessária para especificar um esquema em uma configuração de mesa-importação. esquema = "TI2_TESTS";

NotaO esquema especificado no arquivo de configuração de mesa importação já deve existir. Se o esquema especificado em um arquivo de configuração de mesa importação não existir, SAP HANA XS exibe uma mensagem de erro durante a ativação do arquivo de configuração, por exemplo:  Esquema não pôde ser resolvido.  Se você importar para uma tabela de catálogo, forneça esquema. O esquema só é necessário se você usar o nome catálogo qualificado pelo esquema de uma tabela para fazer referência a tabela de destino para uma operação de importação, por exemplo, table = "myTable"; schema = "mySchema";. O esquema é não exigido se você usar um sinônimo público para fazer referência a uma mesa em uma configuração de mesa-importação, por exemplo,hdbtable = "sap.ti2.demo target_table ::";.

arquivo Use o arquivo de palavras-chave na configuração da mesa-import para especificar o arquivo de origem que contém os dados que a operação importações mesaimportação na tabela de destino. O arquivo de origem deve ser um .csv arquivo com os valores de dados separados por uma vírgula (,) ou um ponto e vírgula (;). A definição do arquivo deve também incluir o caminho pacote completo no SAP HANA repositório. FILE = "sap.ti2.demo: myData.csv";

cabeçalho Use o cabeçalhopalavra-chave na configuração de mesa importação para indicar se os dados constantes do especificado .csv arquivo inclui uma linha de

cabeçalho. Ocabeçalho palavra-chave é opcional e os valores possíveis são verdade ou falso. header = false;

useHeaderNames Use o useHeaderNamespalavra-chave na configuração de mesa importação para indicar se os dados contidos na primeira linha do especificado .csv arquivo deve ser interpretado. O useHeaderNamespalavra-chave é opcional;é utilizado em combinação com ocabeçalhopalavra-chave. OuseHeaderNames palavra-chave é boolean: valores possíveis são verdade ou falso.

NotaAuseHeaderNames palavra-chave só funciona se cabeçalho é também definida como "verdade". useHeaderNames = false; O processo table-importação considera a ordem das colunas; se a ordem de coluna especificado na .csv, o arquivo não coincidir com a ordem utilizada para as colunas na tabela de destino, ocorre um erro na ativação.

delimField

Use o delimFieldpalavra-chave na configuração da mesa-de importação para especificar qual personagem é usado para separar os valores nos dados a serem importados. Atualmente, a operação de mesa importação suporta tanto a vírgula (,) ou o ponto e vírgula (;). O exemplo a seguir mostra como especificar que os valores noarquivo .csv arquivo de origem são separados por um ponto e vírgula (;). delimField = "";

NotaPor padrão, a operação de mesa importação assume que valores de dados na .csv arquivo de origem são separados por uma vírgula (,). Se nenhum delimitador de campo é especificado no .hdbti arquivo de configuração de mesaimportação, a configuração padrão é assumido.

delimEnclosing Use o delimEnclosingpalavra-chave na configuração da mesa-import para especificar um único caractere que indica o início eo fim de um conjunto de caracteres deve ser interpretado como um único valor no .csv arquivo, por exemplo "Isso tudo é um, valor único". Este recurso permite que você inclua em valores de dados em um CSVarquivo mesmo o personagem definido como delimitador de campo (emdelimField), Por exemplo, uma vírgula (,) ou um ponto e vírgula (;). DicaSe o valor usado para separar os campos de dados da .csv arquivo (por exemplo, a vírgula (,)) também é usado dentro da dados próprios valores ("Isto, é, um, valor"), Você deve declarar e usar um caractere delimitador delimitador e usá-lo para incluir todos os valores de dados a serem importados. O exemplo seguinte mostra como usar o delimEnclosingpalavra-chave para especificar o aspas (") como o caractere de delimitação que indica o início eo final de um valor na .csv arquivo. Tudo fechado entre odelimEnclosingcaracteres

(neste exemplo, "") é interpretado pelo processo de importação como um, valor único. delimEnclosing = "\" ";

NotaDesde ohdbtisintaxe nos obriga a usar as aspas ("") para especificar o caractere de delimitação, eo caractere de delimitação neste exemplo é, em si, também um aspas ("), precisamos usar a barra invertida (\) para escapar da segunda citação ("). No exemplo a seguir de valores em um arquivo .csv arquivo, assumimos que delimEnclosing "\" "EdelimField = ",". Isto significa que os valores importados no .csv arquivo são colocados entre o caracter de aspas ("valor") E vários valores são separados pela vírgula ("value1", "valor 2"). Qualquer vírgulasdentro as aspas são interpretadas como uma vírgula e não como um delimitador de campo. "Valor 1, tem uma vírgula", "Valor 2 tem, dois, vírgula", "Valor3" Você pode usar outros personagens como o delimitador de inclusão, também, por exemplo, o hash (#). No exemplo a seguir, assumimos quedelimEnclosing = "#" e delimField = "";. Qualquer ponto e vírgula incluídosdentro os personagens de hash são interpretados como um ponto e vírgula e não como um delimitador de campo. #Value 1; tem um ponto e vírgula #; # 2 tem valor; dois; ponto e vírgula #; # Value3 #

distinguishEmptyFromNull

Use o distinguishEmptyFromNull chave em combinação com delimEnclosingpara garantir que o processo de mesa-importação interpreta corretamente qualquer vazio valor no .csv arquivo, que é fechado com o valor definido na delimEnclosingpalavra-chave, por exemplo, como um espaço emtpy. Isso garante que um espaço emtpy é importado "como está" na tabela de destino. Se o espaço vazio em interpretado incorretamente, ele é importado comoNULO. distinguishEmptyFromNull = true;

NotaA configuração padrão paradistinguishEmptyFromNull é falso. E se distinguishEmptyFromNull = false é utilizado em combinação com delimEnclosing, Em seguida, um valor vazio no CSV (com ou sem aspas "") é interpretado como NULL. "Valor1" ,, "", Value2 O processo de importação mesa-acrescentaria os valores mostrados no exemplo .csv acima na tabela de destino da seguinte forma: Value1 | NULL | NULL | Value2

chaves

Use a teclas de palavra-chave na configuração da mesa-import para especificar o intervalo de chave a ser considerado ao importar os dados do arquivo .csv arquivo de origem na tabela de destino. Chaves = ["group_type": "BW_CUBE", "group_type": "BW_DSO", "group_type": "BW_PSA"];

No exemplo acima, todas as linhas no .csv arquivo de origem onde o Group_type valor da coluna corresponde a um dos valores dados (BW_CUBE, BW_DSOOu BW_PSA) São importados para a tabela de destino especificado na configuração da mesa-importação. ;;; BW_CUBE ;; 40000000; 3; 40000000; escravo ;;; BW_DSO ;; 40000000; 3; 40000000; escravo ;;; BW_PSA ;; 2000000000; 1; 2000000000; escravo No exemplo a seguir, o Group_type coluna é especificada como vazio (""). Chaves = ["group_type": ""]; Todas as linhas no .csv arquivo de origem onde o Group_type coluna está vazia são importados para a tabela de destino especificado na configuração da mesaimportação. ;;;;; 40000000; 2; 40000000; tudo

Tabela-Import Mensagens de erro de configuração Durante o curso da ativação da configuração de mesa-importação e à própria operação de mesa importação, SAP HANA verifica a existência de erros e exibe as seguintes informações em uma breve mensagem.

Tabela 1: Table-Importação Mensagens de erro Número de mensagens 40200

40201

Mensagem de Texto

Combinação inválida de declarações da tabela encontrado, você só pode usar [cdstable | hdbtable | tabela]

Se você importar para uma tabela de catálogo, forneça esquema

Mensagem Motivo

1.

A tabela palavra-chave é especificado em uma configuração de mesa-importação que faz referência a uma tabela definida utilizando a.hdbtable (ou .hdbdd) sintaxe.

2.

O hdbtable palavra-chave é especificado em uma configuração de mesa-importação que faz referência a uma tabela definida utilizando outra sintaxe da tabela de definição, por exemplo, o.hdbdd sintaxe.

3.

O cdstable palavra-chave é especificado em uma configuração de mesa-importação que faz referência a uma tabela definida utilizando outra sintaxe da tabela de definição, por exemplo, o.hdbtable sintaxe.

1.

Você especificou uma tabela de destino com a tabela de palavras-chave, mas não especificou um esquema com oesquema de palavra-chave.

Tabela 1: Table-Importação Mensagens de erro Número de mensagens 40202

Mensagem de Texto

Schema não pôde ser resolvido

Mensagem Motivo

1.

2.

O esquema especificado com oesquema de palavra-chave não existe ou não pôde ser encontrado (nome errado). O sinônimo público para um.hdbtable ou .hdbdd definição (CDS) da tabela não pode ser resolvido para uma tabela de catálogo.

40203

Erro de resolução esquema

1.

2.

O esquema especificado com oesquema de palavra-chave não existe ou não pôde ser encontrado (nome errado). O banco de dados não foi possível concluir o processo de schema-resolução, por alguma razão talvez sem relação com a configuração de mesaimportação (.hdbti), por exemplo, um status de banco de dados inconsistentes.

40204

Tabela tabela de destino 1. de importação não pode ser encontrado

40210

Tabela erro de sintaxe de importação

1.

A tabela especificada com atabela de palavraschave não existe ou não pôde ser encontrado (nome errado ou o nome do esquema errado). O arquivo de configuração de mesaimportação (.hdbti)contém um ou mais erros de sintaxe.

40211

Verifica a tabela de restrição de importação falhou

1.

2.

A mesma chave é especificado em múltiplas configurações mesa-importação (.hdbtiarquivos), o que leva a sobreposições na faixa de dados para importar. Se as chaves são especificados para uma importação em uma configuração de mesaimportação, várias importações, na mesma tabela de destino são verificados para colisões de dados em potencial

Criando o modelo de persistência com HDBTable HDBTable é uma sintaxe da linguagem que pode ser usada para definir uma representação de tempo de design dos artefatos que compõem os modelos de dados persistentes no SAP HANA.

Em SAP HANA estendidos Application Services (SAP HANA XS), o modelo de persistência define o esquema, tabelas e vistas que especificam quais dados para tornar acessível e como. O modelo de persistência é mapeado para o modelo de consumo que é exposto a aplicações de cliente e utilizadores, de modo que os dados podem ser analisados e exibidos. SAP HANA XS permite que você crie esquema de banco de dados, tabelas, vistas, e as sequências como arquivos de tempo de projeto no repositório. Arquivos do repositório pode ser lido por aplicativos que você desenvolver. ObservaçãoTodos os arquivos do repositório incluindo a sua definição da visão pode ser transportada (juntamente com tabelas, esquemas e sequências) para outros SAP HANA sistemas, por exemplo, em uma unidade de entrega.A unidade de entrega, é a forma SAP HANA fornece para permitir a montagem de todos os seus artefatos de repositório relacionados ao aplicativo juntos em um arquivo que pode ser facilmente exportado para outros sistemas. Você também pode configurar regras de provisionamento de dados e salvá-los como objetos de tempo de design para que possam ser incluídos na unidade de entrega que você transportar entre sistemas. Como parte do processo de criação do modelo básico de persistência para SAP HANA XS, você executará as seguintes tarefas:

Tabela 1: Tarefa

Descrição

Criar um esquema

Definir um esquema de tempo de design e manter a definição do esquema do repositório; o esquema transportável tem o arquivo de extensão .hdbschema, por exemplo,MYSCHEMA.hdbschema.

Criar um sinônimo

Definir um sinônimo de tempo de design e manter a definição de sinônimo do repositório; o sinônimo transportável tem o arquivo de extensão .hdbsynonym, por exemplo,MySynonym.hdbsynonym.

Criar uma tabela

Definir uma tabela de tempo de design e manter a definição da tabela do repositório; a tabela transportáveis tem a extensão de arquivo .hdbtable, por exemplo, MYTABLE.hdbtable

Criar uma estrutura de tabela reutilizável

Definir a estrutura de um banco de dados tabela em um arquivo de tempo de design do repositório;você pode reutilizar a definição da tabela-estrutura para especificar a tabela tipo ao criar uma nova tabela.

Criar uma vista

Definir uma exibição de tempo de design e manter a definição da exibição do repositório; a vista transportável tem a extensão de arquivo .hdbview, por exemplo, MYVIEW.hdbview

Crie uma seqüência

Definir uma seqüência de tempo de design e manter a definição sequência do repositório; a sequência transportável tem a extensão de arquivo .hdbsequence, por exemplo,MYSEQUENCE.hdbsequence

Conteúdo da tabela de importação

Definir regras de provisionamento de dados que lhe permitem importar dados de valores separados por vírgulas (CSV) arquivos em SAP HANA tabelas usando o SAP HANA recurso de tabela de importação-XS; a configuração completa pode ser incluída em uma unidade de entrega, transportado entre SAP HANA sistemas.

NotaNa ativação de um arquivo de repositório, o sufixo do arquivo, por exemplo, .hdbview, .hdbschema, ou.hdbtable, é usado para determinar qual runtime plug-in para ligar durante o processo de ativação. O plug-in lê o arquivo de repositório selecionado para ativação, por exemplo, uma tabela, vê a descrição dos objetos no arquivo e cria o objeto de tempo de execução adequado.

Informação relacionada Criar Criar Criar Criar

um esquema uma tabela uma vista de SQL um Sinônimo

Criar um esquema Um esquema define o recipiente que contém objetos de banco de dados, tais como tabelas, exibições e procedimentos armazenados.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:   

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório.

Contexto Esta tarefa descreve como criar um arquivo que contém uma definição de esquema usando o hdbschema sintaxe.Os arquivos de definição de esquema são armazenados no SAP HANA repositório. NotaUm esquema gerado a partir de um.hdbschema artefato também pode ser utilizado no contexto dos serviços de dados núcleo (CDS). Para criar um arquivo de definição de esquema no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o arquivo de definição de esquema.

Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o novo arquivo de esquema de definição e executar as seguintes tarefas: 1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de esquema de definição e escolhaNovo> Esquema no menu pop-up sensível ao contexto. 2. Digite ou selecione a pasta pai. 3. Digite o nome do esquema no nome do arquivo campo. DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente. 4.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 5. Escolha Concluir para salvar o novo esquema no repositório. 5. Definir o nome do esquema. Para editar o arquivo de esquema, no Project Explorer visualizar clique duas vezes no arquivo de esquema que você criou no passo anterior, por exemplo, MYSCHEMA.hdbschema, e adicionar o código do esquema de definição para o arquivo:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. schema_name = "meu_esquema"; 6.

Salve o arquivo de esquema. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

7.

Ative o esquema. Localize e clique com o botão direito no novo arquivo de esquema no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. 8. Conceder privilégios SELECT para o proprietário do novo esquema. Após a ativação no repositório, o objeto de esquema só é visível no catálogo para o usuário _SYS_REPO.Para permitir que outros usuários, por exemplo, o proprietário do esquema, para ver o esquema recém-criado no SAP HANA do estúdio Modeler perspectiva, você deve conceder ao usuário o privilégio SELECT necessário. 1.

1.

No SAP HANA estúdio Sistemas de vista, clique com o SAP HANA sistema que hospeda o repositório onde o esquema foi ativado e escolher SQL Console no menu pop-up sensível ao contexto.

2.

No console do SQL, execute a instrução ilustrado no exemplo a seguir, onde <SCHEMANAME> é o nome do esquema recém-ativado, e <nome de usuário> é o ID do usuário do banco de dados do proprietário do esquema: chamar _SYS_REPO.GRANT_SCHEMA_PRIVILEGE_ON_ACTIVATED_CONTENT ('selecionar', '<SCHEMANAME>', '<nomedousuário>');

Informação relacionada Usando SAP HANA Projetos

Esquema Bancos de dados relacionais conter um catálogo que descreve os vários elementos do sistema. O catálogo divide o banco de dados em sub-bases de dados conhecidas como esquema. Um esquema de banco de dados permite que você logicamente agrupar objetos como tabelas, exibições e procedimentos armazenados. Sem um esquema definido, você não pode escrever para o catálogo. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie um banco de dados esquema como um arquivo de tempo de design transportável no repositório. Arquivos do repositório pode ser lido por aplicativos que você desenvolver. Se o seu aplicativo se refere ao repositório (design-time) versão de um esquema em vez da versão de tempo de execução no catálogo, por exemplo, usando o caminho explícito para o arquivo de repositório (com sufixo), todas as mudanças para a versão do repositório do arquivo são visíveis logo que eles estão comprometidos com o repositório. Não há necessidade de esperar para o repositório para ativar uma versão de tempo de execução do esquema. Se você quiser definir um esquema transportável usar os de tempo de design hdbschema especificações, use o esquema de configuração ilustrado no exemplo a seguir: corda schema_name O exemplo a seguir mostra o conteúdo de um arquivo de esquema de definição transportável válido por um esquema chamado meu_esquema: schema_name = "meu_esquema"; O esquema é armazenado no repositório com o nome do esquema meu_esquema como o nome do arquivo eo sufixo .hdbschema, por exemplo, MYSCHEMA.hdbschema.

NotaUm esquema gerado a partir de um.hdbschema artefato também pode ser utilizado no contexto dos serviços de dados núcleo (CDS).

Ativação Schema Se você deseja criar uma definição de esquema como um objeto de tempo de design, você deve criar o esquema como um arquivo simples. Você salvar o arquivo

que contém a definição de esquema com o sufixo .hdbschemano pacote apropriado para a sua aplicação no SAP HANA repositório. Você pode ativar os objetos em tempo de design em qualquer ponto no tempo. NotaNa ativação de um arquivo de repositório, o sufixo do arquivo, por exemplo, .hdbschema, é usado para determinar qual plug-in runtime para chamar durante o processo de ativação. O plug-in lê o arquivo de repositório selecionado para ativação, analisa a descrição dos objetos no arquivo e cria os objetos de tempo de execução. Se você ativar um objeto de esquema de definição em SAP HANA, as verificações do processo de ativação se um esquema com o mesmo nome já existe no SAP HANA repositório. Se um esquema com o nome especificado não existe, o repositório cria um esquema com o nome especificado e faz _SYS_REPO o proprietário do novo esquema.

NotaO esquema não pode ser eliminado mesmo se a exclusão de um objeto de esquema é ativado. Se você definir um esquema em SAP HANA XS, observe os seguintes pontos importantes sobre o nome do esquema:  Mapeamento de nome O nome do esquema deve ser idêntico ao nome do objeto de repositório correspondente.  Convenções de nomenclatura O nome do esquema devem aderir ao SAP HANA regras para identificadores de banco de dados. Além disso, o nome do esquema não deve começar com as letras SAP *; o namespace SAP * é reservado para esquemas usados por 

produtos e aplicações SAP. Uso do nome A Linguagem de definição de dados (DDL) prestado pelo repositório contém o nome do esquema como um identificador delimitado.

Criar uma tabela SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie uma tabela de banco de dados como um arquivo de tempo de design no repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:  

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto.

 

Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado uma definição de esquema MYSCHEMA.hdbschema

Contexto Esta tarefa descreve como criar um arquivo que contém uma definição de tabela usando o hdbtable sintaxe. Os arquivos de definição de tabelas são armazenados no SAP HANA repositório. Para criar um arquivo de tabela no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie o arquivo de definição de tabela. Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o novo arquivo da tabela e execute os seguintes passos: 1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de tabela e escolha Novo> Tabela de banco de dados no menu pop-up sensível ao contexto. 2. Digite ou selecione a pasta pai. 3. Digite o nome da tabela no nome do arquivo caixa. DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente. 4.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 5. Escolha Concluir para salvar o novo arquivo de definição de tabela. 5. Definir a mesa. Para editar a definição da tabela, no Project Explorer visualizar clique duas vezes no arquivo da tabela de definição que você criou no passo anterior, por exemplo, MYTABLE.hdbtable, e adicionar o código da tabela de definição para o arquivo:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. table.schemaName = "meu_esquema"; table.tableType = columnstore; table.columns = [

{name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 2; escala = 3;}]; table.indexes = [ {name = "MYINDEX1"; unique = true; indexColumns = ["Col2"];}, {name = "MYINDEX2"; unique = true; indexColumns = ["Col1", "Col4"];}]; table.primaryKey.pkcolumns = ["Col1", "Col2"]; 6.

Salve o arquivo de tabela de definição. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

7.

Ativar as alterações no repositório. 1. Localize e clique com o botão direito no novo arquivo mesa no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate.

Informação relacionada Usando SAP HANA Projetos Criar um esquema

Tabelas No SAP HANA banco de dados, como em outros bancos de dados relacionais, uma mesa é um conjunto de elementos de dados que são organizados usando colunas e linhas. Uma tabela de base de dados tem um número especificado de colunas, definido no momento da criação da tabela, mas pode ter qualquer número de filas.Tabelas de banco de dados também normalmente têm meta-dados associados a eles; o meta-dados podem incluir restrições sobre a mesa ou sobre os valores nas colunas específicas. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie uma tabela de banco de dados como um arquivo de tempo de design no repositório. Todos os arquivos do repositório incluindo a sua definição da tabela podem ser transportados para outras SAP HANA sistemas, por exemplo, em uma unidade de entrega.

NotaA unidade de entrega, é a forma SAP HANA fornece para permitir a montagem de todos os seus artefatos de repositório relacionados ao aplicativo juntos em um arquivo que pode ser facilmente exportado para outros sistemas. Se seu aplicativo está configurado para usar a versão de tempo de design de uma tabela de banco de dados no repositório em vez da versão de tempo de execução no catálogo, quaisquer alterações à versão do repositório da tabela são visíveis logo que eles estão comprometidos com o repositório. Não há necessidade de esperar para o repositório para ativar uma versão de tempo de execução da tabela. Se você quiser definir uma tabela transportável usar os de tempo de design .hdbtable especificações, use o esquema de configuração ilustrado no exemplo a seguir: struct TableDefinition { SchemaName corda; opcional bool temporária; opcional TABLETYPE TABLETYPE; pública bool opcional; opcional TableLoggingType loggingType; Lista <> ColumnDefinition colunas; opcionais lista <> IndexDefinition índices; opcional PrimaryKeyDefinition primaryKey; descrição opcional cadeia }; O código a seguir ilustra um exemplo simples de uma definição de tabela de tempo de design: table.schemaName = "meu_esquema"; table.tableType = columnstore; table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 2; escala = 3;}]; table.indexes = [ {name = "MYINDEX1"; unique = true; order = DSC; indexColumns = ["Col2"];}, {name = "MYINDEX2"; unique = true; order = DSC; indexColumns = ["Col1", "Col4"];}]; table.primaryKey.pkcolumns = ["Col1", "Col2"]; Se você quiser criar uma tabela de banco de dados como um arquivo de repositório, você deve criar a tabela como um arquivo simples e salve o arquivo contendo as dimensões da tabela com o sufixo .hdbtable, por exemplo,MYTABLE.hdbtable. O novo arquivo está localizado na hierarquia pacote que você estabelecer no SAP HANArepositório. Você pode ativar o repositório de arquivos em qualquer ponto no tempo.

NotaNa ativação de um arquivo de repositório, o sufixo do arquivo, por exemplo, .hdbtable, é usado para determinar qual plug-in runtime para chamar durante o processo de ativação. O plug-in lê o arquivo de repositório selecionado para ativação, neste caso, uma mesa, analisa a descrição dos objetos no arquivo e cria os objetos de tempo de execução.

Considerações sobre segurança É importante ter em mente que uma tabela definida incorretamente pode levar a problemas relacionados com a segurança. Se o conteúdo da tabela que você criar é usado para determinar o comportamento do aplicativo, por exemplo, se os dados são exibidos depende do conteúdo de uma determinada célula, qualquer modificação do conteúdo da tabela pode ajudar um atacante para obter privilégios elevados. Embora você possa usar as configurações de autorização para restringir a divulgação de informações, as questões de modificação de dados precisam ser manipulados como se segue:  Certifique-se de especificar o tipo de campo e definir um comprimento máximo para o campo  Evite o uso de tipos genéricos tais como VARCHAR ou BLOB.  Mantenha o comprimento do campo o mais curto possível; é muito mais difícil para injetar código em shell de uma cadeia que é 5 caracteres do que uma que um pode conter até 255 caracteres.

Informação relacionada Sintaxe de Configuração Tabela

intaxe de Configuração Tabela SAP HANA estendidos Application Services (SAP HANA XS) permite que você use o hdbtable sintaxe para criar uma tabela de banco de dados como um arquivo de tempo de design no repositório. O artefato de tempo de design que contém a definição da tabela devem aderir ao .hdbtable sintaxe especificado abaixo.

Definição de tabela

O código a seguir ilustra um exemplo simples de uma definição de tabela de tempo de design usando o.hdbtable sintaxe.

NotaPalavras-chave são case-sensitive, por exemplo, TABLETYPE e loggingType, eo esquema referenciado na definição da tabela, por exemplo, meu_esquema, já deve existir. table.schemaName = "meu_esquema"; table.temporary = true; table.tableType = columnstore; table.loggingType = NOLOGGING;

table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 2; escala = 3;}]; table.indexes = [ {name = "MYINDEX1"; unique = true; fim = DSC; indexColumns = ["Col2"];}, {name = "MYINDEX2"; unique = true; order = DSC; indexType = B_TREE; indexColumns = ["Col1", "Col4"];}]; table.primaryKey.pkcolumns = ["Col1", "Col2"];

Esquema de Configuração mesa-Definition

O exemplo a seguir mostra o esquema de configuração de tabelas definidas usando o .hdbtable sintaxe. Cada uma das entradas na tabela de configuração do esquema de definição é explicada em mais pormenor numa secção especial abaixo: struct TableDefinition { SchemaName corda; opcional bool temporária; opcional TABLETYPE TABLETYPE; pública bool opcional; opcional TableLoggingType loggingType; Lista <> ColumnDefinition colunas; opcionais lista <> IndexDefinition índices; opcional PrimaryKeyDefinition primaryKey; descrição opcional cadeia };

Nome do esquema Para usar o .hdbtable sintaxe para especificar o nome do esquema que contém a tabela que está sendo definido, use o-esquema de palavra-chave. Na definição da tabela, o-esquema de palavras-chave devem aderir à sintaxe mostrada no exemplo a seguir. table.schemaName = "meu_esquema";

Temporário Para usar o .hdbtable sintaxe para especificar que a tabela que você definir é temporário, use o booleantemporária palavra-chave. Como os dados em uma tabela temporária é específico da sessão, apenas o proprietário da sessão da tabela temporária é permitido inserir / READ / truncar os dados. Existem tabelas temporárias para a duração da sessão, e dados da tabela temporária local é descartado automaticamente quando a sessão é encerrada. Na definição da tabela, o temporário palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. table.temporary = true;

Tipo de Tabela Para especificar o tipo de tabela usando o .hdbtable sintaxe, use o TABLETYPE palavra-chave. Na definição da tabela, o TABLETYPE palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. table.tableType = [columnstore | ROWSTORE]; O esquema a seguir ilustra os parâmetros de configuração que podem ser especificadas com o TABLETYPEpalavra-chave:  Columnstore



Coluna orientada armazenamento, onde as entradas de uma coluna são armazenados em locais de memória contíguas. HANA SAP é particularmente otimizado para armazenamento coluna da ordem. ROWSTORE Orientada para a linha de armazenamento, onde os dados são armazenados numa tabela como uma sequência de registos

Tabela Tipo Logging Para habilitar o registro em uma definição de tabela usando o .hdbtable sintaxe, use o tableLoggingTypepalavra-chave. Na definição da tabela, o tableLoggingType palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. table.tableLoggingType = [LOGGING | NOLOGGING];

Tabela Coluna Definição

Para definir a estrutura da coluna e digite uma definição de tabela usando o .hdbtable sintaxe, use o colunaschave. Na definição da tabela, o colunas de palavras-chave devem aderir à sintaxe mostrada no exemplo a seguir. table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 2; escala = 3;}]; O esquema a seguir ilustra os parâmetros de configuração que podem ser especificadas com a colunas de palavras-chave: struct ColumnDefinition { string name; SqlDataType SQLTYPE; bool anulável opcional; opcional bool única; comprimento int32 opcional; escala int32 opcional; int32 precisão opcional; defaultValue cadeia opcional; comentário de cadeia opcional; };

Tipo de dados SQL Para definir o tipo de dados SQL para uma coluna em uma tabela usando o .hdbtable sintaxe, use oSQLTYPE palavra-chave. Na definição da tabela, o SQLTYPE palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, ... ]; O seguinte esquema de configuração ilustra os tipos de dados que podem ser especificados com o SQLTYPEpalavra-chave: enum SqlDataType { ENCONTRO; TEMPO; TIMESTAMP; SECONDDATE; INTEGER; TINYINT; SMALLINT; BIGINT; Real; DUPLO; FLOAT; SMALLDECIMAL; Decimal; VARCHAR; NVARCHAR; CHAR; NCHAR; CLOB; NCLOB; Alphanum; TEXTO; ShortText; BLOB; VARBINARY; };

Definição chave primária Para definir a chave primária para a tabela especificada usando o .hdbtable sintaxe, use os primaryKey epkcolumns palavras-chave. Na definição da tabela, os primaryKey e pkcolumns palavras-chave devem aderir à sintaxe mostrada no exemplo a seguir. table.primaryKey.pkcolumns = ["Col1", "Col2"]; O esquema a seguir ilustra os parâmetros de configuração que podem ser especificadas com o primaryKeypalavra-chave: struct PrimaryKeyDefinition { lista <string> pkcolumns; opcional IndexType indexType; };

Tabela Índice Definição Para definir o índice para a tabela especificada usando o .hdbtable sintaxe, use os índices de palavra-chave.Na definição da tabela, o índice de palavras-chave devem aderir à sintaxe mostrada no exemplo a seguir. table.indexes = [ {name = "MYINDEX1"; unique = true; order = DSC; indexColumns = ["Col2"];}, {name = "MYINDEX2"; unique = true; order = DSC; indexColumns = ["Col1", "Col4"];}]; Você também pode usar o parâmetro opcional indexType para definir o tipo de indicador, por exemplo, B_TREEou CPB_TREE, Tal como descrito no Índice Tabela Tipo.

Tabela Tipo Index Para definir o tipo de índice para a tabela especificada usando o .hdbtable sintaxe, use o indexType palavra-chave. Na definição da tabela, o indexType palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. indexType = [B_TREE | CPB_TREE]; B_TREEespecifica uma árvore de índice do tipo B +, que mantém dados classificados que executa a inserção, exclusão e busca de registros. CPB_TREE significa "Compressed Prefixo B_TREE" e especifica uma árvore de índice do tipo CEC +, que é baseado no PKB-árvore. CPB_TREE é um pequeno índice que usa uma "chaveparcial", ou seja; uma chave que é apenas uma parte de uma chave completa em nós de índice. NotaSe nem o B_TREE nem o CPB_TREE tipo é especificado no arquivo de tabela de definição, SAP HANAescolhe o tipo de índice apropriado com base no tipo de dados da coluna, como se segue: 



CPB_TREE Tipos de cadeias de caracteres, tipos string binárias, tipos de decimais, quando a restrição é uma chave composta ou uma restrição não-exclusivo B_TREE Todas as outras do que os tipos de dados da coluna especificados para CPB_TREE

Índice tabela Order Para definir o fim do índice da tabela usando o .hdbtable sintaxe, utilizar a ordem de palavras-chave. Insira ofim com o valor desejado (por examaple, ascendente ou descendente) na definição do tipo de índice; a ordem de palavraschave que deve aderir a sintaxe mostrada no exemplo seguinte. order = [ASC | DSC]; Você pode optar por filtrar o conteúdo do índice da tabela seja em ordem crescente (ASC) ou decrescente (DSC) ordem.

Esquema de configuração completa TabelaDefinition O exemplo a seguir mostra o esquema de configuração completa para tabelas definidas usando o .hdbtablesintaxe. enum TABLETYPE { Columnstore; ROWSTORE; }; enum TableLoggingType { LOGGING; NOLOGGING; }; enum IndexType { B_TREE; CPB_TREE; }; enum Order { ASC; DSC; }; enum SqlDataType {

ENCONTRO; TEMPO; TIMESTAMP; SECONDDATE; INTEGER; TINYINT; SMALLINT; BIGINT; Real; DUPLO; FLOAT; SMALLDECIMAL; Decimal; VARCHAR; NVARCHAR; CHAR; NCHAR; CLOB; NCLOB; Alphanum; TEXTO; ShortText; BLOB; VARBINARY; }; struct PrimaryKeyDefinition { lista <string> pkcolumns; opcional IndexType indexType; }; struct IndexDefinition { string name; bool única; ordem Ordem opcional; opcional IndexType indexType; lista <string> indexColumns; }; struct ColumnDefinition { string name; SqlDataType SQLTYPE; bool anulável opcional; opcional bool única; comprimento int32 opcional; escala int32 opcional; int32 precisão opcional; defaultValue cadeia opcional; comentário de cadeia opcional; }; struct TableDefinition { corda-esquema; opcional bool temporária; opcional TABLETYPE TABLETYPE; pública bool opcional; opcional TableLoggingType loggingType; Lista <> ColumnDefinition colunas; opcionais lista <> IndexDefinition índices; opcional PrimaryKeyDefinition primaryKey; descrição cadeia opcional; }; Mesa TableDefinition;

Informação relacionada Tabelas Criar uma tabela

Criar uma estrutura de tabela reutilizável SAP HANA estendidos Application Services (SAP HANA XS) permite definir a estrutura de um banco de dados tabela em um arquivo de tempo de design no repositório. Você pode reutilizar a definição da tabela-estrutura para especificar a tabela tipo ao criar uma nova tabela.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:    

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado uma definição de esquema MYSCHEMA.hdbschema

Contexto Esta tarefa descreve como criar um arquivo que contém uma definição de tabelaestrutura usando ohdbstructure sintaxe. Arquivos de definição de tabela-estrutura são armazenados no SAP HANA repositório com o .hdbstructure extensão do arquivo, por exemplo, TableStructure.hdbstructure. O caso de uso primário para uma representação de tempo de design de uma estrutura de tabela é a criação de definições de tipo reutilizáveis para interfaces de procedimento. Para criar um arquivo tabela-estrutura no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Crie uma pasta (pacote) para armazenar os arquivos de definição de tabelaestrutura. Navegue até a pasta (pacote) em seu espaço de trabalho do projeto em que deseja criar a nova pasta (pacote), e execute os seguintes passos: 1.

No Project Explorer exibição, clique direito na pasta onde você quer criar uma nova pasta chamadaEstruturas e escolha Nova Pasta no menu pop-up sensível ao contexto.

2.

Digite um nome para a nova pasta no nome da pasta caixa, por exemplo, estruturas. 3. Escolha Concluir para criar o novo Estruturas pasta. 5.

Crie o arquivo de definição de tabela-estrutura. Navegue até o Estruturas pasta (pacote) em seu espaço de trabalho do projeto e execute os seguintes passos: 1.

No Project Explorer exibição, clique com o botão direito as estruturas pasta que você criou na etapa anterior e

escolha Novo arquivo no menu pop-up sensível ao contexto. 2. Digite um nome para a nova estrutura da tabela no nome do arquivo caixa e adicione o.hdbstructure extensão do arquivo, por exemplo, TableStructure.hdbstructure.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente.

3.

Escolha Concluir para salvar o novo arquivo de definição de tabelaestrutura. 6. Definir a estrutura da tabela. Para editar o arquivo de definição de tabela-estrutura, no Project Explorer visualizar clique duas vezes no arquivo de tabela que você criou no passo anterior, por exemplo, TableStructure.hdbstructure, e adicionar o código de mesa-estrutura para o arquivo:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. table.schemaName = "meu_esquema"; table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 12; escala = 3;}]; table.primaryKey.pkcolumns = ["Col1", "Col2"]; 7.

Salve o arquivo de definição de tabela-estrutura.

Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível. 8.

Ativar as alterações no repositório.

Você pode ativar as alterações à estrutura da pasta e o conteúdo da pasta em uma só etapa. 1.

No Project Explorer vista, localize e clique com o botão direito do mouse na nova pasta(Estruturas) que contém a nova tabela-estrutura de arquivo de definição deTableStructure.hdbstructure.

2. No menu pop-up sensível ao contexto, escolha Equipe Activate. A ativação de uma definição tabela chamada TableStructure.hdbstructure no pacote Estruturascria um novo tipo de tabela em SAP HANA, da mesma forma como a seguinte instrução SQL: CREATE TABLE "MySchema". "MyTypeTable" como "MySchema". "Estruturas :: TableStructure" 9. Verifique se o novo objeto do tipo mesa Estruturas :: TableStructure é adicionado ao catálogo. Você pode encontrar o novo tipo de tabela nos Sistemas de visualizar sob Catalog meu_esquemaProcedimentos Tipos de Tabela. 1. No SAP HANA Desenvolvimento perspectiva, abra a Sistemas de vista. 2. Selecione o Sistema SAP HANA em que o novo está localizado e navegue até o seguinte nó: Catalogmeu_esquema Procedimentos tipos de tabelas 3. Direito do mouse na nova tabela-estrutura de objeto e escolha Abrir definição para exibir as especificações para a mesa-estrutura reutilizável no painel de detalhes. 4. Verifique se a entrada no Tipo de caixa é Tipo Mesa.

Informação relacionada Criar um esquema Criar uma tabela Tipos de mesa com hdbtabletype

Estruturas de Tabelas reutilizáveis A definição da tabela-estrutura é um modelo que você pode reutilizar como base para a criação de novas tabelas do mesmo tipo e estrutura. Você pode fazer referência a estrutura da tabela em uma instrução SQL (CREATE TABLE [...] como [...]) Ou um procedimento SQLScript. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie uma estrutura de tabela de banco de dados (ou tipo) como um arquivo de tempo de design no repositório. Todos os arquivos do repositório incluindo a sua definição da

tabela-estrutura podem ser transportados para outras SAP HANA sistemas, por exemplo, em uma unidade de entrega. O caso de uso primário para uma representação de tempo de design de uma estrutura de tabela é a criação de definições de tipo tabela reutilizáveis para interfaces de procedimento. No entanto, você também usar uma definição do tipo de mesa em fuctions definidos pelo usuário da tabela (UDF). Se você quiser definir uma representação de tempo de design de uma estrutura de tabela com os.hdbstructure especificações, use o esquema de configuração ilustrado no exemplo a seguir: struct TableDefinition { SchemaName corda; pública bool opcional; Lista <> ColumnDefinition colunas; opcional PrimaryKeyDefinition primaryKey; };

NotaA .hdbstructure sintaxe é um subconjunto da sintaxe utilizada no .hdbtable. Em uma tabela estrutura de definição, não é possível especificar o tipo de tabela (por exemplo, coluna / linha), definir o índice, ou habilitar o registro. O código a seguir ilustra um exemplo simples de uma definição de tabela-estrutura de tempo de design: table.schemaName = "meu_esquema"; table.columns = [ {name = "Col1"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comentar = "comentário fictício";}, {name = "Col2"; SQLTYPE = INTEGER; anulável = false;}, {name = "Col3"; SQLTYPE = NVARCHAR; anulável = true; Comprimento = 20; defaultValue = "defaultValue";}, {name = "Col4"; SQLTYPE = decimal; anulável = false; precisão = 2; escala = 3;}]; table.primaryKey.pkcolumns = ["Col1", "Col2"]; Se você deseja criar uma estrutura de tabela de banco de dados como um arquivo de repositório, você deve criar a estrutura da tabela como um arquivo simples e salvar o arquivo que contém a definição de estrutura com a.hdbstructure extensão do arquivo, por exemplo, TableStructure.hdbstructure. O novo arquivo está localizado na hierarquia pacote que você estabelecer no SAP HANA repositório. Você pode ativar o repositório de arquivos em qualquer ponto no tempo. NotaNa ativação de um arquivo de repositório, o sufixo de arquivo é usado para determinar qual o tempo de execução do plug-in para ligar durante o processo de ativação. O plug-in lê o arquivo de repositório selecionado para ativação, neste caso um elemento de estrutura da tabela com o arquivo de extensão .hdbstructure, analisa a descrição dos objetos no arquivo e cria os objetos de tempo de execução. Você pode usar o comando SQL CREATE TABLE para criar uma nova tabela com base na estrutura da tabela, por exemplo, com a Como operador, tal como ilustrado no exemplo seguinte:

CREATE TABLE "MySchema". "MyTypeTable" como "MySchema". "Estruturas :: TableStructure"

Informação relacionada Sintaxe de Configuração Tabela

Criar uma sequência Uma sequência de banco de dados gera uma lista de série de números únicos que você pode usar ao transformar e mover dados para entre sistemas.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:    

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado uma definição de esquema, por exemplo, MYSCHEMA.hdbschema

Contexto SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie uma seqüência de banco de dados como um arquivo de tempo de design no repositório. Esta tarefa descreve como criar um arquivo que contém uma definição de sequência utilizando o hdbsequence sintaxe.

NotaUm esquema gerado a partir de um.hdbsequence artefato também pode ser utilizado no contexto dos serviços de dados núcleo (CDS). Para criar um arquivo de sequência de definição no repositório, execute os seguintes passos:

Procedimento 1. 2. 3. 4.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista. Criar o arquivo de definição de seqüência. Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o novo arquivo de definição de seqüência e executar as seguintes tarefas:

1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de definição de seqüência e escolhaNovo> Definição de seqüência no menu popup sensível ao contexto. 2. Digite ou selecione a pasta pai. 3. Digite o nome da seqüência no nome do arquivo caixa. Em SAP HANA, arquivos de seqüência de definição exigem a extensão do arquivo .hdbsequence,por exemplo, MySequence.hdbsequence.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente. 4.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 5. Escolha Concluir para salvar a nova seqüência no repositório. 5. Defina as propriedades de seqüência. Para editar o arquivo seqüência, no Project Explorer visualizar clique duas vezes no arquivo de seqüência que você criou no passo anterior, por exemplo, MYSEQUENCE.hdbsequence, e adicionar o código de sequência para o arquivo: schema = "meu_esquema"; start_with = 10; maxvalue = 30; NOMAXVALUE = false; minvalue = 1; NOMINVALUE = true; ciclos = false; reset_by = "SELECT T1. \" Column2 \ "de \" meu_esquema \ ". \" com.acme.test.tables :: MY_TABLE1 \ "como T1 LEFT JOIN \" meu_esquema \ ". \" com.acme.test. mesas :: MY_TABLE2 \ "como T2 em T1 \". Column1 \ "= T2 \". Column1 \ ""; depends_on = ["com.acme.test.tables MY_TABLE1 ::", "com.acme.test.tables :: MY_TABLE2"]; 6.

Salve o arquivo de sequência de definição. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

7.

Ativar as alterações no repositório. Localize e clique com o botão direito no novo arquivo de seqüência no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. 1.

Informação relacionada Usando SAP HANA Projetos

A seqüência é um objeto de banco de dados que gera uma lista automaticamente incrementado de valores numéricos de acordo com as regras definidas na especificação sequência. A sequência de valores numéricos é gerado numa ordem crescente ou decrescente em um intervalo de incremento definido, e os números gerados por uma sequência pode ser usada por aplicações, por exemplo, para identificar as linhas e colunas de uma tabela. Sequências não estão associadas com tabelas; eles são usados por aplicativos, que podem usar CURRVAL em uma instrução SQL para obter o valor corrente gerada por uma seqüência e NEXTVAL para gerar o próximo valor na seqüência definida. Sequências de fornecer uma maneira fácil de gerar os valores originais que usam aplicações, por exemplo, para identificar uma linha de tabela ou um campo. Na especificação seqüência, você pode definir opções que controlam o ponto inicial e final da sequência, o tamanho do tamanho do incremento, ou o valor mínimo e máximo permitido. Você também pode especificar se a seqüência deve reciclar quando atinge o valor máximo especificado. A relação entre as sequências de tabelas e é controlado pela aplicação. Os aplicativos podem fazer referência a um objeto de seqüência e coordenar os valores através de várias linhas e tabelas. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie uma seqüência de banco de dados como um arquivo de tempo de design transportável no repositório. Arquivos do repositório pode ser lido por aplicativos que você desenvolver. É possível utilizar as sequências da base de dados para executar as seguintes operações:  Gerar original, os valores de chave primária, por exemplo, para identificar as linhas e colunas de uma mesa  Coordenar chaves em várias linhas ou tabelas O exemplo a seguir mostra o conteúdo de um arquivo de seqüência de definição válida para uma seqüência chamada MYSEQUENCE. Note-se que, neste exemplo, nenhum valor de incremento é definido, de modo que o valor padrão de 1 (Asc por 1) é assumida. Para definir uma sequência decrescente de 1, defina o increment_byvalor para -1. schema = "TEST_DUMMY"; start_with = 10; maxvalue = 30; NOMAXVALUE = false; minvalue = 1; NOMINVALUE = true; ciclos = false; reset_by = "SELECT T1. \" Column2 \ "de \" meu_esquema \ ". \" com.acme.test.tables :: MY_TABLE1 \ "como T1 LEFT JOIN \" meu_esquema \ ". \" com.acme.test. mesas :: MY_TABLE2 \ "como T2 em T1 \". Column1 \ "= T2 \". Column1 \ ""; depends_on = ["com.acme.test.tables MY_TABLE1 ::", "com.acme.test.tables :: MY_TABLE2"];

A definição de sequência são armazenados no repositório com o sufixo hdbsequence, por exemplo,MYSEQUENCE.hdbsequence.

NotaUm esquema gerado a partir de um.hdbsequence artefato também pode ser utilizado no contexto dos serviços de dados núcleo (CDS). Se você ativar um objeto de seqüência de definição em SAP HANA XS, as verificações do processo de ativação se uma sequência com o mesmo nome já existe no SAP HANA repositório. Se uma sequência com o nome especificado não existir, o repositório cria uma sequência com o nome especificado e faz _SYS_REPO o proprietário da nova sequência. Em uma sequência definida usando o .hdbsequence sintaxe, o reset_bypalavra-chave permite que você redefinir a seqüência usando uma consulta sobre qualquer ponto de vista, mesa ou mesmo função de tabela. No entanto, qualquer dependência deve ser declarado explicitamente, por exemplo, com adepende depalavra-chave.A tabela ou exibição de destino especificado nodepende depalavra-chave deve ser mencionado noSELECIONARconsulta que define a condição de reset. Se a tabela ou exibição especificada no dependência não existe, a ativação do objeto no repositório falhar. NotaNa ativação inicial da definição seqüência, nenhuma verificação é realizada para estabelecer a existência da exibição de destino (ou tabela) na dependência; essa verificação é feita apenas na reactivação da definição de sequência.

Considerações sobre segurança É importante ter em mente que uma sequências definidas incorretamente pode levar a problemas relacionados com a segurança. Por exemplo, se o processo de seqüenciamento torna-se corrompido, pode resultar em sobregravação de dados. Isso pode acontecer se o índice tem um valor máximo que rola-over, ou se uma condição de reposição definido é acionado inesperadamente. Um roll-over pode ser alcançado por um invasor forçar dados a serem inseridos inundando o sistema com pedidos. Substituições tabelas de log é uma prática conhecida para apagar os vestígios. Para evitar sobrescrever dados inesperada, use as seguintes configurações:  ciclos = false  Evite usar o reset_by característica

Sintaxe seqüência de Configuração SAP HANA estendidos Application Services (SAP HANA XS) permite que você use o hdbsequence sintaxe para criar uma seqüência de banco de dados como um arquivo de tempo de design no repositório. O artefato de tempo de design que contém a definição de sequência deve aderir ao .hdbsequence sintaxe especificado abaixo.

Definição Sequence O código a seguir ilustra um exemplo simples de uma definição seqüência de tempo de design usando o.hdbsequence sintaxe.

NotaPalavras-chave são case-sensitive, por exemplo, maxvalue e start_with, eo esquema referenciado na definição da tabela, por exemplo,Meu_esquema, Já deve existir. esquema = "meu_esquema"; start_with = 10; maxvalue = 30; NOMAXVALUE = false; minvalue = 1; NOMINVALUE = true; ciclos = false; reset_by ". \" = ". SELECIONE T1 \" Column2 \ "de \" meu_esquema \ com.acme.test.tables :: MY_TABLE1 \ "como T1 LEFT JOIN \" meu_esquema \ ". \" com.acme.test.tables :: MY_TABLE2 \ "como T2 em T1. \" Column1 \ "= T2. \ "Column1 \" "; depends_on = [" com.acme.test.tables :: MY_TABLE1 "," com.acme.test.tables :: MY_TABLE2 "];

Esquema de Configuração seqüência-Definition O exemplo a seguir mostra o esquema de configuração para sequências definidas usando o .hdbsequencesintaxe. Cada uma das entradas do esquema de configuração de definição de sequência é explicada em mais pormenor numa secção especial abaixo: esquema string; int32 increment_by (default = 1); int32 start_with (default = -1); maxvalue int32 opcional; NOMAXVALUE bool (default = false); minvalue int32 opcional; NOMINVALUE bool (default = false); ciclos bool opcionais; reset_by cadeia opcional; pública bool (default = false); depends_on_table cadeia opcional; depends_on_view cadeia opcional; lista opcional <string> depends_on;

Nome do esquema Para usar o .hdbsequence sintaxe para especificar o nome do esquema que contém a sequência que está sendo definido, use oesquema palavra-chave. Na definição de sequência, oesquema palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. schema = "meu_esquema";

Incremento Valor Para usar o .hdbsequence sintaxe para especificar que os incrementos de sequência de um valor definido, a utilizarincrement_by palavrachave. increment_byespecifica o montante pelo qual o valor seguinte seqüência é incrementado a partir do último valor atribuído. O incremento padrão é 1. Na

definição sequência, oincrement_by palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. increment_by = 2; Para gerar uma sequência decrescente, especificar um valor negativo. NotaUm erro será retornado se oincrement_by valor é 0.

Valor Inicial Para usar o .hdbsequence sintaxe para especificar a sequência que começa com um valor específico, o usocomeçar compalavra-chave. Se você não especificar um valor para ocomeçar com palavra-chave, o valor definido em minvalue é utilizado para as sequências ascendente, e o valor definido em maxvalueé utilizado para descer sequências. Na definição de sequência, ocomeçar com palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. start_with = 10;

Valor Máximo

Para usar o .hdbsequence sintaxe para especificar que a sequência pára numa específico máximo valor, por exemplo, 30, utilizar a palavra-chave opcionalmaxvalue. Na definição de sequência, o maxvalue palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. maxvalue = 30;

ObservaçãoO valor máximo (maxvalue) Que a seqüência pode gerar deve estar entre -4611686018427387903 e 4611686018427387902.

Sem Valor Máximo Para usar o .hdbsequence sintaxe para especificar que a seqüência não parar em qualquer específico máximovalor, use a palavra-chave boolean NOMAXVALUE. Quando oNOMAXVALUEpalavra-chave é utilizado, o valor máximo para uma ascendente sequência é 4611686018427387903 e o valor máximo para um descendentesequência é -1. Na definição de sequência, oNOMAXVALUE palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. NOMAXVALUE = true;

NotaNote que definir o padrão paraNOMAXVALUE é falso.

Valor mínimo Para usar o .hdbsequence sintaxe para especificar que a sequência pára numa específico mínimo de valor, por exemplo, 1, utilizar o minvaluepalavra-chave. Na definição de sequência, o minvalue palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. minvalue = 1;

NotaO valor mínimo (minvalue) Que a seqüência pode gerar deve estar entre -4611686018427387903 e 4611686018427387902.

Nenhum Valor Mínimo Para usar o .hdbsequence sintaxe para especificar que a seqüência não parar em qualquer específico mínimovalor, use a palavra-chave boolean NOMINVALUE. Quando oNOMINVALUEpalavra-chave é utilizado, o valor

mínimo para uma ascendente sequência é 1 e o valor mínimo para um descendente sequência é -4611686018427387903.Na definição de sequência, oNOMINVALUE palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. NOMINVALUE = true;

NotaNote que a configuração padrãoNOMINVALUE é falso.

Cycles Em uma sequência definida usando o .hdbsequence sintaxe, a palavra-chave opcional booleanciclospermite que você especifique se o número de seqüência será reiniciado depois que ele atinge o seu valor máximo ou mínimo. Por exemplo, a sequência reinicia comminvalue depois de ter atingido maxvalue (Ondeincrement_by é superior a zero (0)) ou reiniciado com maxvalue depois de ter atingido minvalue (Ondeincrement_byé menor que zero (0)). Na.hdbsequence definição, o ciclos palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. ciclos = false;

Redefinir por consulta Em uma sequência definida usando o .hdbsequence sintaxe, o reset_bypalavrachave permite que você redefinir a seqüência usando uma consulta sobre qualquer ponto de vista, mesa ou mesmo função de tabela. No entanto, qualquer dependência deve ser declarado explicitamente, por exemplo, com adepends_on_view oudepends_on_tablepalavra-chave. Se a tabela ou exibição especificada no dependência não existe, a ativação do objeto de seqüência no repositório falhar. Na .hdbsequence definição, o reset_by palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. reset_by = "SELECT \" Col2 \ "de \" meu_esquema \ acme.com.test.tables :: MY_TABLE \ "ONDE \" \ "Col2 = '12'" "\."; Durante a reinicialização do banco de dados, o sistema executa automaticamente o reset_by declaração eo valor da seqüência é reiniciada com o valor determinado a partir da reset_by subconsulta

NotaSereset_bynão é especificado, o valor é armazenado persistentemente sequência na base de dados.Durante o reinício do banco de dados, o próximo valor da seqüência é gerado a partir do valor seqüência salvo.

Depende de Em uma sequência definida usando o .hdbsequence sintaxe, a palavra-chave opcional depende de permite definir uma dependência a um ou mais específicas tabelas ou exibições, por exemplo quando se utiliza oreset_by opção para especificar a consulta para usar ao repor a sequência. Na .hdbsequence definição, odepende de palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. depends_on = [" :: <MY_TABLE_NAME1>" ", :: <MY_VIEW_NAME1>"];

NotaAdepende

de palavra-chave substitui e amplia as palavraschave depends_on_table edepends_on_view.

Por exemplo, para especificar várias tabelas e pontos de vista com o depende de palavra-chave, use uma lista separada por vírgulas entre colchetes []. depends_on = ["com.acme.test.tables MY_TABLE1 ::", "com.acme.test.tables MY_TABLE2 ::", "com.acme.test.views :: MY_VIEW1"]; A tabela ou exibição de destino especificado no depende depalavra-chave deve ser mencionado noSELECIONARconsulta que define a condição de reset. Na ativação inicial da definição seqüência, nenhuma verificação é realizada para estabelecer a existência da tabela ou visão de destino especificado na dependência;tal verificação só é feita durante a reativação da definição sequência. Se uma ou mais das tabelas de destino ou vistas especificadas na dependência não existe, a re-ativação do objeto de seqüência no repositório falhar.

Criar uma vista de SQL A vista é uma tabela virtual com base nos resultados dinâmicos retornados em resposta a uma instrução SQL.HANA SAP estendidos Application Services (SAP HANA XS) permite que você crie um banco de dados vista como um arquivo de tempo de design no repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:    

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório. Você deve ter criado uma definição de esquema, por exemplo, MYSCHEMA.hdbschema

Contexto Esta tarefa descreve como criar um arquivo que contém uma definição de exibição usando o SQLhdbviewsintaxe. Visualizar arquivos de definição de SQL são armazenados no SAP HANA repositório. Para criar um arquivo de definição de vista SQL no repositório, execute os seguintes passos:

Procedimento 1. 2. 3.

Comece o SAP HANA estúdio. Abra o SAP HANA Desenvolvimento perspectiva. Abra o Project Explorer vista.

4.

Crie o arquivo de definição de exibição. Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o novo arquivo de exibição de definição e executar as seguintes tarefas: 1.

Botão direito do mouse na pasta onde você deseja salvar o arquivo de exibição de definição e escolhaNovo no menu pop-up sensível ao contexto. 2. Digite o nome do arquivo de exibição de definição do nome do arquivo caixa, por exemplo,MYVIEW.hdbview.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente. 3.

Selecione um modelo a ser usado. Os modelos contêm código fonte de amostra para ajudá-lo. 4. Escolha Concluir para salvar o novo arquivo de exibição de definição no repositório. 5. Definir a vista. Se o novo arquivo de exibição de definição não é exibido automaticamente pelo assistente de arquivo-criação, no Project Explorer visualizar clique duas vezes no arquivo de exibição de definição que você criou no passo anterior, por exemplo, MYVIEW.hdbview, e adicione a definição de exibição código para o arquivo substituindo nomes de objetos e caminhos para atender às suas exigências .:

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração. schema = "meu_esquema"; consulta = "SELECT T1. \" Column2 \ "de \" meu_esquema \ ". \" acme.com.test.views :: MY_VIEW1 \ "AS T1 LEFT JOIN \" meu_esquema \ "\". acme.com.test. . "Como T2 em T1 \" vistas :: MY_VIEW2 \ Column1 \ "= T2 \". Column1 \ ""; depends_on = ["acme.com.test.views MY_VIEW1 ::", "acme.com.test.views :: MY_VIEW2"]; 6.

Salve o arquivo de exibição de definição SQL. Notasalvar um arquivo em um projeto compartilhado compromete automaticamente a versão salva do arquivo para o repositório, para cometer explicitamente um arquivo para o repositório, clique com o botão direito no arquivo (ou o projeto que contém o arquivo) e escolha Equipe Commit do context menu de contexto sensível.

7.

Ativar as alterações no repositório. Localize e clique com o botão direito no novo arquivo de vista de definição no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate. 1.

Informação relacionada Usando SAP HANA Projetos

SQL Visualizações Em SQL, uma opinião é uma tabela virtual com base nos resultados dinâmicos retornados em resposta a uma instrução SQL. Cada vez que um usuário consulta uma vista SQL, o banco de dados usa instrução SQL da vista para recriar os dados especificados na exibição SQL. Os dados mostrados numa vista de SQL pode ser extraída a partir de uma ou mais tabelas de base de dados. Uma visão SQL contém linhas e colunas, assim como uma tabela de banco de dados real; os campos em uma exibição SQL são campos de uma ou mais tabelas reais no banco de dados. Você pode adicionar funções SQL, por exemplo, onde ou instruções JOIN, para uma visão e apresentar os dados resultantes como se estivesse vindo de um, mesa única. SAP HANA estendidos Application Services (SAP HANA XS) permite que você crie um banco de dados vista como um arquivo de tempo de design no repositório. Arquivos do repositório pode ser lido por aplicativos que você desenvolver. Além disso, todos os ficheiros de depósito, incluindo a sua definição de exibição pode ser transportado para outras SAP HANA sistemas, por exemplo, em uma unidade de entrega. Se o seu aplicativo se refere a versão de tempo de design de vista a partir do repositório em vez da versão de tempo de execução no catálogo, por exemplo, usando o caminho explícito para o arquivo de repositório (com sufixo), todas as mudanças para a versão do repositório do arquivo são visíveis logo que eles estão comprometidos com o repositório. Não há necessidade de esperar para o repositório para ativar uma versão de tempo de execução do modo de exibição. O exemplo a seguir mostra o conteúdo de um arquivo transportável válido vistadefinição para uma exibição chamada MINHA VISTA: schema = "meu_esquema"; consulta = "SELECT T1. \" Column2 \ "de \" meu_esquema \ ". \" acme.com.test.views :: MY_VIEW1 \ "AS T1 LEFT JOIN \" meu_esquema \ "\". acme.com.test. . "Como T2 em T1 \" vistas :: MY_VIEW2 \ Column1 \ "= T2 \". Column1 \ ""; depends_on = ["acme.com.test.views MY_VIEW1 ::", "acme.com.test.views :: MY_VIEW2"]; Se você deseja criar uma definição vista como um objeto de tempo de design, você deve criar a vista como um arquivo simples e salvar o arquivo que contém a definição de exibição com o sufixo .hdbview, por exemplo,MYVIEW.hdbview no pacote apropriado no pacote hierarquia estabelecida para a sua aplicação no SAP HANArepositório. Você pode ativar o objeto de tempo de design em qualquer ponto no tempo. DicaNa ativação de um arquivo de repositório, o sufixo de arquivo (por exemplo, .hdbview) é usado para determinar qual plug-in runtime para

chamar durante o processo de ativação. O plug-in lê o arquivo de repositório selecionado para ativação, analisa a descrição dos objetos no arquivo e cria os objetos de tempo de execução. Em uma tela de SQL definida utilizando a .hdbview sintaxe, qualquer dependência para outra tabela ou exibição deve ser declarada explicitamente, por exemplo, com o depende depalavra-chave. A exibição de destino ou tabela especificada no depende depalavra-chave deve também ser mencionado noSELECIONARconsulta que define o modo de exibição SQL. Se uma ou mais das tabelas ou visualizações especificadas na dependência não existe, a activação do objecto no repositório de falha. NotaNa ativação inicial da exibição SQL, nenhuma verificação é realizada para estabelecer a existência da exibição de destino (ou tabela) nodepende dedependência; tal verificação só é feita sobre a reativação da exibição SQL.

Nomes de colunas em uma exibição Se você quiser atribuir nomes às colunas em uma exibição, use a consulta SQL no .hdbview arquivo. Neste exemplo de definição de exibição de tempo de design, os seguintes nomes são especificados para as colunas definidas na exibição:  idea_id  identity_id  ROLE_ID schema = "meu_esquema"; consulta = "SELECT role_join.idea_id AS idea_id, ident.member_id AS identity_id, role_join.role_id AS ROLE_ID DE \ "acme.com.odin.db.iam :: t_identity_group_member_transitive \" AS ident INNER JOIN \ "acme.com.odin.db.idea :: t_idea_identity_role \" AS role_join ON role_join.identity_id = ident.group_id UNION DISTINCT SELECIONE idea_id, identity_id, ROLE_ID DE \ "acme.com.odin.db.idea :: t_idea_identity_role \" COM somente leitura ";

SQL sintaxe de configuração Vista SAP HANA estendidos Application Services (SAP HANA XS) permite que você use o hdbview sintaxe para criar uma vista de SQL como um arquivo de tempo de design no repositório. O artefato de tempo de design que contém a definição de exibição SQL devem aderir ao .hdbview sintaxe especificado abaixo.

SQL Exibir a definição O código a seguir ilustra um exemplo simples de uma definição de tempo de design de vista para o SQL usando o.hdbview sintaxe.

NotaPalavras-chave são case-sensitive, por exemplo,esquema e pergunta, E o esquema mencionado na definição da tabela, por exemplo, Meu_esquema, Já deve existir. esquema = "meu_esquema"; pública = false consulta = "SELECT T1 \". Column2 \ acme.com.test.tables :: MY_TABLE1 \ "" \ ". . \ "acme.com.test.views :: "Column1 \" = T2 \ "Column1 \" ";.. depends_on =" acme.com.test.tables "acme.com.test.views MY_VIEW1 ::";

"de \" meu_esquema \ "AS T1 LEFT JOIN \" meu_esquema \ MY_VIEW1 \" como T2 em T1 \ :: MY_TABLE1 ",

Ver configuração SQL Schema O exemplo a seguir mostra o esquema de configuração para uma vista SQL que você define usando o .hdbviewsintaxe. Cada uma das entradas do esquema de configuração vista em definição é explicada em mais pormenor numa secção especial abaixo: esquema string; string de consulta; pública bool (default = true); lista opcional <string> depends_on_table; lista opcional <string> depends_on_view;

Nome do esquema Para usar o .hdbview sintaxe para especificar o nome do esquema que contém a visão de SQL que está sendo definido, use oesquema palavra-chave. Na definição de exibição SQL, oesquema palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. schema = "meu_esquema";

pergunta Para usar o .hdbview sintaxe para especificar a consulta que cria a exibição SQL que está sendo definido, use operguntapalavra-chave. Na definição de exibição SQL, opergunta palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. consulta = "SELECT * FROM \" <MY_SCHEMA_NAME> \ "\". :: <MY_TABLE_NAME> \ ""; Por exemplo: consulta = "SELECT * FROM \" meu_esquema \ com.test.tables :: 02_HDB_DEPARTMENT_VIEW \ "" "\.";

público

Para usar o .hdbview sintaxe para especificar se ou não o modo SQL que você está definindo está publicamente disponível, use a palavra-chave boolean público. Na definição de exibição SQL, opúblico palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir.

public = [false | true]; Por exemplo: pública = false

ObservaçãoO valor padrão para opúblico palavra-chave é verdade.

Depende de Em uma tela de SQL definida utilizando a .hdbview sintaxe, a palavra-chave opcional depende depermite definir uma dependência a um ou mais tabelas ou exibições. Na.hdbview definição, o depende de palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir. depends_on = [" :: <MY_TABLE_NAME1>" ", :: <MY_VIEW_NAME1>"];

NotaAdepende

de palavra-chave substitui e amplia as palavraschave depends_on_table edepends_on_view. Por exemplo, para especificar várias tabelas e pontos de vista com o depende de palavra-chave, use uma lista separada por vírgulas entre colchetes []. depends_on = ["acme.com.test.tables MY_TABLE1 ::", "acme.com.test.views :: MY_VIEW1"]; A tabela ou exibição de destino especificado no depende depalavra-chave deve ser mencionado noSELECIONARconsulta que define o modo de exibição SQL. Na ativação inicial da exibição SQL, nenhuma verificação é realizada para estabelecer a existência de tabelas de destino ou vistas especificadas na dependência; tal verificação só é feita durante a reativação da exibição SQL. Se uma ou mais das tabelas de destino ou vistas especificadas na dependência não existe, a re-ativação do objeto de exibição SQL no repositório falhar.

Criar um Sinônimo Serviços de aplicação alargado (SAP HANA XS) permite que você crie um sinônimo local banco de dados como um arquivo de tempo de design no repositório.

Pré-requisitos Para concluir esta tarefa com sucesso, observe os seguintes pré-requisitos:   

Você deve ter acesso a um SAP HANA sistema. Você já deve ter criado um espaço de trabalho de desenvolvimento e um projeto. (Estúdio SAP HANA apenas) Você deve ter compartilhado o projeto para que os arquivos recém-criados podem ser comprometidos com (e sincronizado com) o repositório.

Contexto Em SAP HANA, um sinônimo artefato de tempo de design tem o sufixo .hdbsynonym e define o objeto de destino, especificando um esquema de criação e um nome de objeto; sua ativação avalia mapeamento de esquema de um sistema para determinar o esquema físico em que se espera a tabela de destino, e cria um sinônimo local que aponta para esse objeto.

Restrição Um sinônimo de tempo de design não pode se referir a outro sinônimo, e você não pode definir vários sinônimos em um único artefato sinônimo de tempo de design. Além disso, o objeto de destino especificado em um sinônimo de tempo de design única deve existir no catálogo; não é possível utilizar .hdbsynonym para definir um sinónimo para um objecto que se origina a partir de catálogo um artefacto de tempo de design.

Procedimento 1.

Comece o SAP HANA estúdio. 1. Abra o SAP HANA Desenvolvimento perspectiva. 2. Abra o Project Explorer vista. 2. Criar o arquivo de definição de sinônimo. Navegue até a pasta em seu espaço de trabalho do projeto onde você quer criar o novo arquivo sinônimo-definição e execute os seguintes passos: Para gerar um sinónimo chamada "acme.com.app1 :: MySynonym1", Você deve criar um artefato sinônimo de tempo de design chamado MySynonym1.hdbsynonym no pacote repositórioacme.com.app1; a primeira linha do artefacto sinónimo de tempo de design deve ser especificada como ilustrado no exemplo seguinte.

Código de exemplo {"Acme.com.app1 :: MySynonym1": {...}} 1.

Botão direito do mouse na pasta onde você quer criar o arquivo sinônimo de definição e escolha NewGeral do arquivo no menu pop-up sensível ao contexto. 2. Digite o nome do novo arquivo sinônimo de definição no nome do arquivo caixa e adicionar a extensão apropriada, por exemplo, MySynonym1.hdbsynonym. 3.

Escolha Concluir para salvar o novo arquivo de definição de sinônimo. 3. Definir o sinônimo. Para editar a definição de sinônimo, no Project Explorer visualizar clique duas vezes no arquivo sinônimo de definição que você criou no passo anterior, por exemplo, MySynonym.hdbsynonym, e adicione o código sinônimo de definição para o novo arquivo, como ilustrado no seguinte exemplo.

ObserveO seguinte exemplo de código é fornecido apenas para fins de ilustração.

Código de exemplo {"Acme.com.app1 MySynonym1 ::": { "alvo" : { "esquema": "DEFAULT_SCHEMA", "objeto": "MY_ERP_TABLE_1" }, "esquema": "SCHEMA_2" } } 4.

Guardar e activar as alterações no repositório. 1. Localize e clique com o botão direito no novo arquivo sinônimo de definição no Project Explorer vista. 2. No menu pop-up sensível ao contexto, escolha Equipe Activate.

Informação relacionada Sinônimos Esquema

Sinônimos SAP HANA estendidos Application Services (SAP HANA XS) permite-lhe criar uma representação de tempo de design de um local, sinônimo de banco de dados. O sinônimo permite que você se referir a uma tabela (por exemplo, a partir de um ponto de vista) que só existe como um objeto de catálogo. Em SAP HANA XS, uma representação de tempo de design de um sinônimo local tem o sufixo .hdbsynonym que você pode armazenar no repositório SAP HANA. A sintaxe do artefato sinônimo de tempo de design requer que você defina o objeto de destino, especificando um esquema de criação e um nome de objeto. Você também precisa especificar o esquema no qual criar o novo sinônimo. Na ativação de um artefato sinônimo de tempo de design, o SAP HANA XS avalia mapeamento de esquema de um sistema para determinar o esquema físico em que se espera a tabela de destino, e cria um sinônimo local no esquema especificado que aponta para esse objeto.Você pode usar esse tipo de sinônimo se você precisa definir uma visão CDS que se refere a uma tabela que só existe no catálogo; ou seja, a tabela de catálogo não tem representação em tempo de design.

Restrição Um sinônimo não pode se referir a outro sinônimo, e você não pode definir vários sinônimos em um único artefato sinônimo de tempo de design. Além disso, o objeto de destino especificado em um sinônimo de tempo de design única deve existir no catálogo; não é possível definir um sinônimo definir em tempo para um objeto de catálogo que se origina a partir de um artefato de tempo de design.

No exemplo a seguir de um artefato sinônimo de tempo de design, a tabela MY_ERP_TABLE_1 reside no esquemaDEFAULT_SCHEMA. A activação do artefacto sinónimo de tempo de design ilustrado no exemplo geraria um sinónimo local ("acme.com.app1 :: MySynonym1") no esquema SCHEMA_2. Supondo que uma tabela de esquema de mapeamento que existe mapas DEFAULT_SCHEMA ao SAP_SCHEMA esquema, o sinônimo recém-gerado "SCHEMA_2". "Acme.com.app1 :: MySynonym1" aponta para o objeto de tempo de execução "SAP_SCHEMA". "MY_ERP_TABLE_1". Código de exemploMySynonym1.hdbsynonym {"Acme.com.app1 MySynonym1 ::": { "alvo" : { "esquema": "DEFAULT_SCHEMA", "objeto": "MY_ERP_TABLE_1" }, "esquema": "SCHEMA_2" } }

Dica Para gerar um sinónimo chamada "acme.com.app1 :: MySynonym1", Um artefato de tempo de design chamado MySynonym1.hdbsynonym deve existir no pacote repositório acme.com.app1; a primeira linha do artefacto sinónimo de tempo de design deve ser especificada como ilustrado no exemplo acima.

Informação relacionada Esquema Criar um Sinônimo

Sintaxe de Configuração Sinónimo A sintaxe específica é necessária para criar uma representação de tempo de design de um local, sinônimo de banco de dados SAP HANA em Serviços de Aplicativos Estendida.

Definição Sinónimo SAP HANA estendidos Application Services (SAP HANA XS) permite que você use o hdbsynonym sintaxe para criar um sinônimo de banco de dados como um arquivo de tempo de design no repositório. Na ativação, umalocais sinônimo é gerado no catálogo no esquema especificado. O artefato de tempo de design que contém a definição sinónimos devem aderir ao .hdbsynonym sintaxe especificado abaixo.

Nota

A ativação do artefato sinônimo de tempo de design ilustrado no exemplo a seguir gera um sinônimo local("acme.com.app1 :: MySynonym1") no SCHEMA_2 esquema.

Código de exemploMySynonym1.hdbsynonym {"Acme.com.app1 MySynonym1 ::": { "Alvo": { "Esquema": "DEFAULT_SCHEMA", "Objeto": "MY_ERP_TABLE_1" }, "Esquema": "SCHEMA_2" } }

Sinônimo Localização Na primeira linha do arquivo sinônimo-definição, você deve especificar o caminho do repositório absoluto para o pacote contendo o artefato sinônimo (eo nome do artefato sinônimo) em si usando a sintaxe ilustrado no exemplo a seguir.

Sintaxe Código {" :: <MySynonym1>": {...}} Por exemplo, para gerar um chamado sinónimos "acme.com.app1 :: MySynonym1", Você deve criar um artefato de tempo de design chamado MySynonym1.hdbsynonym no pacote repositório acme.com.app1; a primeira linha do artefacto sinónimo de tempo de design deve ser especificada como ilustrado no exemplo seguinte.

Código de exemplo {"Acme.com.app1 :: MySynonym1": {...}}

alvo

Para especificar o nome ea localização do objeto para o qual você está definindo um sinônimo, use o alvopalavra-chave juntamente com as palavraschave esquema e objeto. Na definição sinónimos, oalvo palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir.

Sintaxe Código "alvo" : { "esquema": "", "objeto": "" }, No contexto da alvo palavra-chave, são necessárias as seguintes palavras-chave:  esquema define o nome do esquema onde o objecto alvo (definida em objeto) está localizado.  objeto Especifica o nome do objecto para o qual o catálogo sinónimos aplica.

Restrição

O objeto de destino especificado em um sinônimo de tempo de design só deve existir no catálogo; não é possível definir um sinônimo de tempo de design para um objeto de catálogo que se origina a partir de um artefato de tempo de design.

esquema Para especificar o local catálogo da sinônimo gerado, use o esquema palavrachave. Na definição sinónimos, oesquema palavra-chave deve aderir à sintaxe mostrada no exemplo a seguir.

Sintaxe Código "esquema": "<Schema_location_of_generated_synonym>"

Informação relacionada Sinônimos Criar um Sinônimo

Importar dados com hdbtable TabelaImport A função de tabela-import é uma ferramenta de provisionamento de dados que permite importar dados de valores separados por vírgulas (CSV) em banco de dados SAP HANA tabelas.

Pré-requisitos Antes de iniciar esta tarefa, certifique-se de que os seguintes pré-requisitos sejam atendidos:  Um SAP HANA instância de banco de dados está disponível.  O SAP HANA cliente de banco de dados está instalado e configurado.  Você tem uma conta de usuário do banco de dados criado com os papéis que contenham privilégios suficientes para executar ações no repositório, por exemplo, adicionar pacotes, adicionar objetos, e assim por diante.  O SAP HANA estúdio está instalado e conectado ao SAP HANA repositório.  Você tem um ambiente de desenvolvimento, incluindo um espaço de trabalho do repositório, a estrutura do pacote para seu aplicativo, e um projeto compartilhado para que você possa sincronizar as alterações aos arquivos de projeto no sistema de arquivos local com o repositório.

Contexto Neste tutorial, você importar dados de um arquivo CSV para uma tabela gerada a partir de uma definição de tempo de design que usa a .hdbtable sintaxe. Os nomes usados na tarefa a seguir são apenas para fins ilustrativos;se necessário, substituir os nomes de esquemas, tabelas, arquivos, e assim por diante mostrado nos seguintes exemplos com seus próprios nomes. DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos noSAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente.

Procedimento 1.

Criar um pacote de raiz para o aplicativo mesa-importação. Em SAP HANA estúdio, abrir o SAP HANA Desenvolvimento perspectiva e execute os seguintes passos: 1.

Na hierarquia do pacote exibido na Sistemas de exibição, clique direito do mouse no pacote que você deseja criar o novo pacote para a sua configuração de mesa importação e escolha Novo> Pacote .... 2. Digite um nome para o seu pacote, por exemplo TiTest. Você deve criar o novo TiTest pacote no seu próprio namespace, por exemplo mycompany.tests.TiTest

Notaexistem convenções de nomeação para nomes de pacotes, por exemplo, um nome de pacote não devem começar com um ponto ou um hífen (.) (-) E não pode conter dois ou mais pontos consecutivos (..). Além disso, o nome não deve ser superior a 190 caracteres. 3.

Escolha OK para criar o novo pacote. 2. Criar um conjunto de arquivos mesa-importação. Os seguintes arquivos são necessários para um cenário de importação tabela. NotaPara os fins deste tutorial, os seguintes arquivos devem ser criados no mesmo pacote, por exemplo, um pacote chamado TiTest. No entanto, o recurso de mesa-de importação também permite que você use arquivos distribuídos em pacotes diferentes. 1.

O arquivo de configuração de mesa de importação, por exemplo, TiConfiguration.hdbti

Especifica o arquivo de origem que contém os valores de dados para importar e tabela de destino emSAP HANA para o qual os dados devem ser inseridos 2. Um arquivo CSV, por exemplo, myTiData.csv Contém os dados a serem importados para o SAP HANA mesa durante a operação de mesa-importação; valores na .csv arquivo podem ser separados por uma vírgula (,) ou um ponto e vírgula (;). 3. A tabela de destino.

A tabela de destino pode ser uma tabela de tempo de execução no catálogo ou uma definição de tabela, por exemplo, uma tabela definida utilizando a .hdbtable sintaxe (TiTable.hdbtable) ou do CDScompliant .hdbdd sintaxe (TiTable.hdbdd.

NotaNeste tutorial, a tabela de destino para a operação de mesa importação é TiTable.hdbtable, uma tabela de tempo de design definida utilizando a .hdbtable sintaxe. 4.

A definição do esquema, por exemplo, TISCHEMA.hdbschema

Especifica o nome do esquema no qual a tabela de importação, o alvo é criado Quando todos os arquivos necessários estão disponíveis, você pode importar dados de um arquivo de origem, como um arquivo CSV, na tabela de destino desejado. 

Usando qualquer editor de código, crie ou abra a definição de esquema (AMT.hdbschema arquivo) e digite o nome do esquema que deseja usar para conter a tabela de destino. schema_name = "AMT";



          

      

Crie ou abra o arquivo de definição de tabela para a tabela de importação de destino(inhabitants.hdbtable) e digite as seguintes linhas de texto; Este exemplo utiliza a .hdbtablesintaxe. table.schemaName = "AMT"; table.tableType = columnstore; table.columns = [ {name = "ID"; SQLTYPE = VARCHAR; anulável = false; Comprimento = 20; comment = "";}, {name = "sobrenome"; SQLTYPE = VARCHAR; anulável = true; Comprimento = 30; comment = "";}, {name = "name"; SQLTYPE = VARCHAR; anulável = true; Comprimento = 30; comment = "";}, {name = "cidade"; SQLTYPE = VARCHAR; anulável = true; Comprimento = 30; comment = "";} ]; table.primaryKey.pkcolumns = ["ID"]; Abra o arquivo CSV que contém os dados para importar, por exemplo, inhabitants.csv em um editor de texto e digite os valores mostrados no 0, 1, 2, 3, 4, 5, 6,

exemplo a seguir. Annan, Kwesi, Accra Essuman, Wiredu, Tema Tetteh, Kwame, Kumasi Nterful, Akye, Tarkwa Acheampong, Kojo, Tamale Assamoah, Adjoa, Takoradi Mensah, Afuá, Cape Coast

NotaÉ possível importar dados de várias .csv arquivos em uma única operação de mesa-importação. No entanto, cada .csv arquivo deve ser especificado em

um bloco de código separado ({...} table =) No arquivo de configuração de mesa importação. . 

Criar um arquivo de configuração de importação tabela. Para criar um arquivo de configuração de importação da tabela, execute os seguintes passos:

NotaVocê também pode abrir e usar um arquivo de configuração de mesa importação existente (por exemplo,inhabitants.hdbti). 1.

Botão direito do mouse na pasta em que deseja salvar o arquivo de tabela e escolha New> Table Importar configuração no menu pop-up sensível ao contexto. 2. Digite ou selecione a pasta pai, onde o arquivo de configuração de mesa importação residirá. 3. Usando o assistente, digite o nome da configuração de mesa importação no nome do arquivo campo, por exemplo, MyTableConfiguration. Isso cria o arquivo MyTableConfiguration.hdbti.

DicaAs extensões de arquivo são importantes. Se você estiver usando o SAP HANA estúdio para criar artefatos no SAP HANA Repository, o assistente de criação de arquivo adiciona a extensão de arquivo necessária e automaticamente, se for caso disso, permite a edição direta do novo arquivo no editor correspondente. 4.

Editar os detalhes da nova configuração de mesa de importação no novo (ou já existente) arquivo de configuração de mesa-importação. Digite as seguintes linhas de texto no arquivo de configuração de mesa importação. import = [ { tabela schema FILE = header

= "mycompany.tests.TiTest :: habitantes"; = "AMT"; "mycompany.tests.TiTest: inhabitants.csv"; = false;

} ]; 5.

Escolha Concluir para salvar a configuração de mesa importação. 2. Implantar a importação tabela. 1. Selecione o pacote que você criou na primeira etapa, por exemplo, mycompany.tests.TiTest. 2. Clique no botão alternativo do mouse e escolha Commit. 3. Clique no botão alternativo do mouse e escolha Ativar. Isso ativa todos os objetos de repositório. O resultado é que os dados especificados no arquivo CSVinhabitants.csv é importado para o SAP

HANA tabela habitantes usando a configuração-importação de dados definido no inhabitants.hdbti arquivo de configuração de mesa-importação. 3.

Verifique o conteúdo da tabela de tempo de execução habitantes no catálogo. Para garantir que a operação de importação concluída conforme esperado, utilize o SAP HANA estúdio para visualizar o conteúdo da tabela de tempo de execução habitantes no catálogo. Você precisa confirmar que os dados corretos foram importados para as colunas corretas. 1.

No SAP HANA Desenvolvimento perspectiva, abra a Sistemas de vista. 2. Navegue até o local catálogo onde os habitantes objeto reside, por exemplo: <SID> 3.

Catálogo

AMT

Tabelas

Abra uma pré-visualização de dados para o objeto atualizado. Botão direito do mouse o objeto atualizado e escolha Abrir visualização de dados no menu sensível ao contexto.

Dados Provisioning Usando a Tabela de Importação Você pode importar dados de valores separados por vírgulas (CSV) nos SAP HANA tabelas usando os SAP HANAextendida Application Services (SAP HANA XS) apresentam mesa-importação. Em SAP HANA XS, você cria um cenário de mesa importação através da criação de arquivos mais valores separados por vírgula (CSV) contendo o conteúdo que você deseja importar para o especificado um arquivo de configuração de mesa importação e um ou SAP HANA tabela. O arquivo de importação e configuração liga a operação de importação para uma ou mais tabelas de destino. A definição da tabela (por exemplo, sob a forma de um .hdbdd ou .hdbtable arquivo) pode ser criada separadamente ou ser incluído na própria mesa cenário-importação. Para usar o SAP HANA recurso XS mesa-import para importar dados para um SAP HANA mesa, você precisa entender os seguintes conceitos mesa-de importação:  Tabela de configuração de importaçãoVocê define o modelo de mesa de importação em um arquivo de configuração que especifica os campos de dados para importar e as tabelas de destino para cada campo de dados.

NotaO arquivo da tabela-importação devem ter o .hdbti extensão, por exemplo, myTableImport.hdbti.

Dados CSV Restrições arquivo As seguintes restrições se aplicam ao arquivo CSV usado como uma fonte para a função table-importação emSAP HANA XS:  O número de colunas da tabela deve corresponder ao número de colunas CSV.  Não deve haver qualquer incompatibilidade entre os tipos de dados das colunas da tabela e os tipos de dados das colunas CSV.  Sobreposição de dados em arquivos de dados não é suportado.  A tabela de destino da importação não deve ser modificado (ou anexado a) fora da operação de importação de dados. Se a tabela é usada para armazenamento de dados de aplicativos, esses dados podem ser perdidos durante qualquer operação de re-importação ou atualizar os dados.

Informação relacionada Tabela-Import Configuração Sintaxe mesa-Import Configuração-File

Tabela-Import Configuração Você pode definir os elementos de uma operação de mesa de importação em um arquivo de tempo de design; a configuração inclui informações sobre dados de origem e tabela de destino em SAP HANA. SAP HANA estendidos Application Services (SAP HANA XS) permite que você execute operações de provisionamento de dados que você define em um arquivo de configuração em tempo de design. O arquivo de configuração é transportável, o que significa que você pode transferir o provisionamento de dados entre SAP HANA sistemas de forma rápida e fácil. A configuração de mesa importação permite que você especifique como os dados a partir de um valor de separados por vírgulas (.csv) arquivo é importado para uma tabela de destino em SAP HANA. A configuração especifica o arquivo de origem que contém os valores de dados para importar e tabela de destino em SAP HANApara o qual os dados devem ser inseridos. Como outras opções, você pode especificar qual delimitador campo usar ao interpretar os dados na fonte de .csv arquivo e se as chaves devem ser usados para determinar quais colunas na tabela de destino para inserir os dados importados para. NotaSe você usar várias configurações de importação tabela para importar dados para uma única tabela de destino, o teclas de palavra-chave é obrigatória. Isso é para evitar problemas relacionados com a eliminação ou substituição acidental de dados existente.

O exemplo a seguir de uma configuração de mesa-import mostra como definir uma simples operação de importação que insere dados dos arquivos de origem myData.csv e myData2.csv na tabela myTable no esquema mySchema. import = [ { table = "myTable"; schema = "mySchema"; FILE = "sap.ti2.demo: myData.csv"; header = false; delimField = ""; Chaves = ["group_type": "BW_CUBE"]; }, { table = "sap.ti2.demo :: myTable"; FILE = "sap.ti2.demo: myData2.csv"; header = false; delimField = ""; Chaves = ["group_type": "BW_CUBE"]; } ]; Na configuração de importação da tabela, você pode especificar a tabela de destino utilizando um dos seguintes métodos:  Sinônimo público ("Sap.ti2.demo :: myTable") Se você usar o sinônimo público para fazer referência a uma tabela de destino para a operação de importação, você deve usar a hdbtable ou cdstable palavrachave, por exemplo,hdbtable = "sap.ti2.demo myTable ::"; 

Nome do catálogo qualificado pelo esquema ("MySchema". "MyTable" Se você usar o nome do catálogo qualificado pelo esquema para fazer referência a uma tabela de destino para a operação de importação, você deve usar a tabela de palavras-chave em combinação com oesquema de palavra-chave, por exemplo, table = "myTable"; schema = "mySchema";

NotaTanto o esquema ea tabela de destino especificado na operação de mesa de importação já deve existir. Se qualquer tabela especificada ou o esquema não existir, SAP HANA XS exibe uma mensagem de erro durante a ativação do arquivo de configuração, por exemplo: Tabela tabela de destino de importação não pode ser encontrado. ou Esquema não pôde ser resolvido. Você também pode usar um arquivo de configuração de mesa importação para importar dados de múltiplo. CSVarquivos de origem. No entanto, você deve especificar cada operação de importação em um novo bloco de código introduzido pelo [hdb | cds] tabela de palavras-chave, como ilustrado no exemplo acima. Por padrão, a operação de mesa importação assume que valores de dados na .csv arquivo de origem são separados por uma vírgula (,). No entanto, a operação de mesa de importação também pode interpretar arquivos contendo valores de dados separados por um ponto e vírgula (;). 

Vírgula (,) valores separados

,,, BW_CUBE ,, 40000000,2,40000000, todos 

-E-vírgula (;) valores separados ;;; BW_CUBE ;; 40000000; 3; 40000000; tudo

NotaSe o activado .hdbti configuração usada para importar dados for posteriormente excluído, somente os dados que foi importado pelo suprimido .hdbti configuração é retirado da tabela de destino. Todos os outros dados, incluindo todos os dados importados por outros .hdbti configurações permanece na tabela. Se a entidade CDS-alvo não tem uma chave (anotado com nokey) Todos os dados que não faz parte do arquivo CSV é retirado da mesa durante cada activação mesa-importação. Você pode usar a palavra chave opcional chaves para especificar o intervalo de chave tirada da fonte .csvarquivo para importação para a tabela de destino. Se as chaves são especificados para uma importação em uma configuração de importação da tabela, múltiplas importações na mesma tabela de destino são verificados para colisões de dados em potencial. NotaA sintaxe do arquivo de configuração não suporta wildcards na definição da chave; o valor total de um valor de coluna selecionável tem de ser especificado.

Considerações sobre segurança Em SAP HANA XS, artefatos de tempo de design, tais como tabelas (.hdbtable ou .hdbdd) e configurações de mesa e importação (.hdbti) não são normalmente expostos a clientes via HTTP. No entanto, os artefatos de tempo de design que contêm valores separados por vírgulas (.csv) poderiam ser consideradas como potenciais artefatos para expor aos usuários através de HTTP. Por esta razão, é essencial para proteger estas expostas .csv artefatos, definindo os privilégios de aplicativos apropriados; os privilégios de aplicativos impede o vazamento de dados, por exemplo, ao negar o acesso aos dados por usuários, que normalmente não são autorizados a ver todos os registros nessas tabelas. DicaColoque todos os .csv arquivos usados para importar conteúdo para em mesas juntos em um único pacote e defina as (restritivas) permissões de acesso de aplicativo apropriadas para esse pacote, por exemplo, com um dedicado .xsaccess arquivo.

Informação relacionada Sintaxe mesa-Import Configuração-File

Sintaxe mesa-Import Configuração-File O arquivo de configuração de tempo de design usados para definir uma operação de mesa-importação requer o uso de uma sintaxe específica. A sintaxe compreende uma série de keyword = value pares. Se você usar a sintaxe de configuração de mesa-import para definir os detalhes da operação de mesa-import, você pode usar as palavras-chave ilustrado no seguinte exemplo de código. O arquivo de tempo de design resultante deve ter a .hdbti extensão do arquivo, por exemplo, myTableImportCfg.hdbti. import = [ { tabela = "myTable"; esquema = "mySchema"; arquivo = "sap.ti2.demo: myData.csv"; cabeçalho = false; useHeaderNames = false; delimField = ""; delimEnclosing = "\" "; distinguishEmptyFromNull = true ; teclas = ["group_type": "BW_CUBE", "group_type": "BW_DSO", "group_type": "BW_PSA"]; } ];

mesa

Na configuração de mesa importação, o mesa, cdstableE hdbtablepalavras-chave permitem que você especifique o nome da tabela de destino em que a operação de mesa de importação deve inserir dados. A tabela de destino que você especificar na configuração da tabela-importação pode ser uma tabela de tempo de execução no catálogo ou um design-time definição da tabela, por exemplo, uma tabela definida utilizando o .hdbtable ou o .hdbdd sintaxe (Serviços de Dados Core).

NotaA tabela de destino especificado na configuração da mesa-de importação já deve existir. Se a tabela especificada não existe, SAP HANA XS exibe uma mensagem de erro durante a ativação do arquivo de configuração, por exemplo: Tabela tabela de destino de importação não pode ser encontrado. Use a tabela de palavras-chave na configuração da mesa-import para especificar o nome da tabela de destino usando o nome qualificado para um catálogo de mesa. table = "target_table"; schema = "mySchema";

NotaVocê também deve especificar o nome do esquema no qual a tabela de catálogo de destino reside, por exemplo, usando o esquema de palavra-chave. O hdbtable palavra-chave na configuração de mesa importação permite que você especifique o nome de uma tabela de destino usando o sinônimo público para um design-time tabela definida com o .hdbtable sintaxe.

hdbtable = "sap.ti2.demo target_table ::"; O cdstable palavra-chave na configuração de mesa importação permite que você especifique o nome de uma tabela de destino usando o sinônimo público para um design-time tabela definida com o CDS-compliant .hdbddsintaxe. cdstable = "sap.ti2.demo target_table ::";

CuidadoNão há nenhuma verificação explícita se a tabela dirigida é criado usando o .hdbtable ou CDS-compliant.hdbdd sintaxe. Se a tabela com o especificado cdstable ou hdbtablepalavra-chave não é definida com a sintaxe correspondente, SAP HANA apresenta um erro quando você tenta ativar o artefato, por exemplo,Combinação inválida de declarações da tabela encontrado, você só pode usar [cdstable | hdbtable | tabela] .

esquema

O exemplo de código a seguir mostra a sintaxe necessária para especificar um esquema em uma configuração de mesa-importação. esquema = "TI2_TESTS";

NotaO esquema especificado no arquivo de configuração de mesa importação já deve existir. Se o esquema especificado em um arquivo de configuração de mesa importação não existir, SAP HANA XS exibe uma mensagem de erro durante a ativação do arquivo de configuração, por exemplo:  Esquema não pôde ser resolvido.  Se você importar para uma tabela de catálogo, forneça esquema. O esquema só é necessário se você usar o nome catálogo qualificado pelo esquema de uma tabela para fazer referência a tabela de destino para uma operação de importação, por exemplo, table = "myTable"; schema = "mySchema";. O esquema é não exigido se você usar um sinônimo público para fazer referência a uma mesa em uma configuração de mesa-importação, por exemplo,hdbtable = "sap.ti2.demo target_table ::";.

arquivo

Use o arquivo de palavras-chave na configuração da mesa-import para especificar o arquivo de origem que contém os dados que a operação importações mesaimportação na tabela de destino. O arquivo de origem deve ser um .csv arquivo com os valores de dados separados por uma vírgula (,) ou um ponto e vírgula (;). A definição do arquivo deve também incluir o caminho pacote completo no SAP HANA repositório. FILE = "sap.ti2.demo: myData.csv";

cabeçalho

Use o cabeçalhopalavra-chave na configuração de mesa importação para indicar se os dados constantes do especificado .csv arquivo inclui uma linha de cabeçalho. Ocabeçalho palavra-chave é opcional e os valores possíveis são verdade ou falso. header = false;

useHeaderNames Use o useHeaderNamespalavra-chave na configuração de mesa importação para indicar se os dados contidos na primeira linha do especificado .csv arquivo deve ser interpretado. O useHeaderNamespalavra-chave é opcional;é utilizado em combinação com ocabeçalhopalavra-chave. OuseHeaderNames palavra-chave é boolean: valores possíveis são verdade ou falso.

NotaAuseHeaderNames palavra-chave só funciona

se cabeçalho é também definida como "verdade". useHeaderNames = false; O processo table-importação considera a ordem das colunas; se a ordem de coluna especificado na .csv, o arquivo não coincidir com a ordem utilizada para as colunas na tabela de destino, ocorre um erro na ativação.

delimField Use o delimFieldpalavra-chave na configuração da mesa-de importação para especificar qual personagem é usado para separar os valores nos dados a serem importados. Atualmente, a operação de mesa importação suporta tanto a vírgula (,) ou o ponto e vírgula (;). O exemplo a seguir mostra como especificar que os valores noarquivo .csv arquivo de origem são separados por um ponto e vírgula (;). delimField = "";

NotaPor padrão, a operação de mesa importação assume que valores de dados

na .csv arquivo de origem são separados por uma vírgula (,). Se nenhum delimitador de campo é especificado no .hdbti arquivo de configuração de mesaimportação, a configuração padrão é assumido.

delimEnclosing Use o delimEnclosingpalavra-chave na configuração da mesa-import para especificar um único caractere que indica o início eo fim de um conjunto de caracteres deve ser interpretado como um único valor no .csv arquivo, por exemplo "Isso tudo é um, valor único". Este recurso permite que você inclua em valores de dados em um CSVarquivo mesmo o personagem definido como delimitador de campo (emdelimField), Por exemplo, uma vírgula (,) ou um ponto e vírgula (;). DicaSe o valor usado para separar os campos de dados da .csv arquivo (por exemplo, a vírgula (,)) também é usado dentro da dados próprios valores ("Isto, é, um, valor"), Você deve declarar e usar um caractere delimitador delimitador e usá-lo para incluir todos os valores de dados a serem importados. O exemplo seguinte mostra como usar o delimEnclosingpalavra-chave para especificar o aspas (") como o caractere de delimitação que indica o início eo final de um valor na .csv arquivo. Tudo fechado entre odelimEnclosingcaracteres (neste exemplo, "") é interpretado pelo processo de importação como um, valor único. delimEnclosing = "\" ";

NotaDesde ohdbtisintaxe nos obriga a usar as aspas ("") para especificar o caractere de delimitação, eo caractere de delimitação neste exemplo é, em si, também um aspas ("), precisamos usar a barra invertida (\) para escapar da segunda citação ("). No exemplo a seguir de valores em um arquivo .csv arquivo, assumimos que delimEnclosing "\" "EdelimField = ",". Isto significa que os valores importados no .csv arquivo são colocados entre o caracter de aspas ("valor") E vários valores são separados pela vírgula ("value1", "valor 2"). Qualquer vírgulasdentro as aspas são interpretadas como uma vírgula e não como um delimitador de campo. "Valor 1, tem uma vírgula", "Valor 2 tem, dois, vírgula", "Valor3" Você pode usar outros personagens como o delimitador de inclusão, também, por exemplo, o hash (#). No exemplo a seguir, assumimos quedelimEnclosing = "#" e delimField = "";. Qualquer ponto e vírgula incluídosdentro os personagens de hash são interpretados como um ponto e vírgula e não como um delimitador de campo. #Value 1; tem um ponto e vírgula #; # 2 tem valor; dois; ponto e vírgula #; # Value3 #

distinguishEmptyFromNull Use o distinguishEmptyFromNull chave em combinação com delimEnclosingpara garantir que o processo de mesa-importação interpreta corretamente qualquer vazio valor no .csv arquivo, que é fechado com o valor definido na delimEnclosingpalavra-chave, por exemplo, como um espaço emtpy. Isso garante que um espaço emtpy é importado "como está" na tabela de destino. Se o espaço vazio em interpretado incorretamente, ele é importado comoNULO. distinguishEmptyFromNull = true;

NotaA configuração padrão paradistinguishEmptyFromNull é falso.

E se distinguishEmptyFromNull = false é utilizado em combinação com delimEnclosing, Em seguida, um valor vazio no CSV (com ou sem aspas "") é interpretado como NULL. "Valor1" ,, "", Value2 O processo de importação mesa-acrescentaria os valores mostrados no exemplo .csv acima na tabela de destino da seguinte forma: Value1 | NULL | NULL | Value2

chaves Use a teclas de palavra-chave na configuração da mesa-import para especificar o intervalo de chave a ser considerado ao importar os dados do arquivo .csv arquivo de origem na tabela de destino. Chaves = ["group_type": "BW_CUBE", "group_type": "BW_DSO", "group_type": "BW_PSA"]; No exemplo acima, todas as linhas no .csv arquivo de origem onde o Group_type valor da coluna corresponde a um dos valores dados

(BW_CUBE, BW_DSOOu BW_PSA) São importados para a tabela de destino especificado na configuração da mesa-importação. ;;; BW_CUBE ;; 40000000; 3; 40000000; escravo ;;; BW_DSO ;; 40000000; 3; 40000000; escravo ;;; BW_PSA ;; 2000000000; 1; 2000000000; escravo No exemplo a seguir, o Group_type coluna é especificada como vazio (""). Chaves = ["group_type": ""]; Todas as linhas no .csv arquivo de origem onde o Group_type coluna está vazia são importados para a tabela de destino especificado na configuração da mesaimportação. ;;;;; 40000000; 2; 40000000; tudo

Tabela-Import Mensagens de erro de configuração Durante o curso da ativação da configuração de mesa-importação e à própria operação de mesa importação, SAP HANA verifica a existência de erros e exibe as seguintes informações em uma breve mensagem.

Tabela 1: Table-Importação Mensagens de erro Número de mensagens 40200

Mensagem de Texto

Mensagem Motivo

Combinação inválida de 1. declarações da tabela encontrado, você só pode usar [cdstable | hdbtable | tabela] 2.

A tabela palavra-chave é especificado em uma configuração de mesa-importação que faz referência a uma tabela definida utilizando a.hdbtable (ou .hdbdd) sintaxe. O hdbtable palavra-chave é especificado em uma configuração de mesa-importação que faz referência a uma tabela definida utilizando outra sintaxe da tabela de definição, por exemplo, o.hdbdd sintaxe.

3.

O cdstable palavra-chave é especificado em uma configuração de mesa-importação que faz referência a uma tabela definida utilizando outra sintaxe da tabela de definição, por exemplo, o.hdbtable sintaxe.

40201

Se você importar para uma tabela de catálogo, forneça esquema

1.

Você especificou uma tabela de destino com a tabela de palavras-chave, mas não especificou um esquema com oesquema de palavra-chave.

40202

Schema não pôde ser

1.

O esquema especificado com oesquema

Tabela 1: Table-Importação Mensagens de erro Número de mensagens

Mensagem de Texto

Mensagem Motivo

resolvido 2.

de palavra-chave não existe ou não pôde ser encontrado (nome errado). O sinônimo público para um.hdbtable ou .hdbdd definição (CDS) da tabela não pode ser resolvido para uma tabela de catálogo.

40203

Erro de resolução esquema

1.

2.

O esquema especificado com oesquema de palavra-chave não existe ou não pôde ser encontrado (nome errado). O banco de dados não foi possível concluir o processo de schema-resolução, por alguma razão - talvez sem relação com a configuração de mesa-importação (.hdbti), por exemplo, um status de banco de dados inconsistentes.

40204

Tabela tabela de destino 1. de importação não pode ser encontrado

A tabela especificada com atabela de palavras-chave não existe ou não pôde ser encontrado (nome errado ou o nome do esquema errado).

40210

Tabela erro de sintaxe de importação

1.

O arquivo de configuração de mesaimportação (.hdbti)contém um ou mais erros de sintaxe.

40211

Verifica a tabela de restrição de importação falhou

1.

2.

A mesma chave é especificado em múltiplas configurações mesaimportação (.hdbtiarquivos), o que leva a sobreposições na faixa de dados para importar. Se as chaves são especificados para uma importação em uma configuração de mesaimportação, várias importações, na mesma tabela de destino são verificados para colisões de dados em potencial

Configuração do Modelo Analítico Modelagem refere-se a uma atividade de refino de dados ou de corte em tabelas de banco de dados através da criação de pontos de vista para descrever um cenário de

negócios. Os pontos de vista pode ser usado para a comunicação ea tomada de decisões. O processo de modelagem envolve a simulação de entidades, como cliente, produto e vendas, e relações entre eles. Estas entidades relacionadas podem ser utilizados em aplicações analíticas, tais como o SAP BusinessObjects Explorer e Microsoft Office. Em SAP HANA, essas opiniões são conhecidos como pontos de vista de informação. Visualizações da informação usam várias combinações de dados de conteúdo (ou seja, não-metadados) para modelar um caso de uso de negócios. Dados de conteúdo podem ser classificados da seguinte forma: 

Atributo: Os dados descritivos, tais como a identificação do cliente, cidade e país.  Medida: dados quantificáveis, tais como receita, quantidade vendida e contadores. Você pode modelar entidades em SAP HANA usando o Modeler perspectiva, que inclui ferramentas de modelagem de dados gráficos que permitem que você criar e editar modelos de dados (modelos de conteúdo) e procedimentos armazenados. Com essas ferramentas, você também pode criar privilégios analíticas que regem o acesso aos modelos e tabelas de decisão para modelar regras de negócios relacionados em um formato tabular para automação decisão. Você pode criar os seguintes tipos de pontos de vista de informação:   

Atributo Visualizações Analíticas Visualizações Cálculo Visualizações

Definir Preferências Modeler Inicie a tela de preferências modelador para visualizar e gerenciar as configurações padrão que o sistema deve usar cada vez que você efetuar logon no SAP HANA Modeler perspectiva.

Procedimento 1. 2. 3.

Escolha Janela Preferências SAP HANA Modeler. Escolha o tipo de preferências que você deseja especificar. Escolha Aplicar e OK. NotaEscolha Restaurar padrões para restaurar suas preferências anteriores.

Informação relacionada Preferências Modeler

Atalhos do teclado

Definir atalhos de teclado Você pode ativar atalhos de teclado para as acções de modelagem, tais como, ativar e validar. Os comandos suportados com os atalhos de teclado padrão são as seguintes: Comando

Obrigatório

Quando

Categoria

Ativar

Ctrl + Shift + A

Navegador

Modeler Chaves

Ativar

Ctrl + Shift + A

No Windows

Modeler Chaves

Adicionar Table / Modelo

Ctrl + Shift + =

No Windows

Modeler Chaves

Auto Organizar

Ctrl + L

No Windows

Modeler Chaves

Pré-visualização de dados

Ctlr + Shift + P

Navegador

Modeler Chaves

Pré-visualização de dados

Ctlr + Shift + P

No Windows

Modeler Chaves

Exibição XML

Alt + D

No Windows

Modeler Chaves

Encontrar

Ctrl + F

Navegador

Modeler Navigator

Ajustar à janela

Ctrl + 0

No Windows

Modeler Chaves

Mover Elemento no Painel de Saída (Direção: Baixo)

Ctrl +]

No Windows

Modeler Chaves

Mover Elemento no Painel de Saída (Direção: Up)

Ctrl + [

No Windows

Modeler Chaves

Aberto

Ctrl + O

Navegador

Modeler Chaves

Show View (Vista: História)

Alt + Shift + Q, R

No Windows

Visualizações

Show View (Vista: Registro de tarefas)

Alt + Shift + Q, G

No Windows

Visualizações

Show View (Vista: Where-Used lista)

Alt + Shift + Q, U

No Windows

Visualizações

Validar

Ctrl + Shift + V

No Windows

Modeler Chaves

Validar

Ctrl + Shift + V

Navegador

Modeler Chaves

Zoom (Tipo: In)

Ctrl + =

No Windows

Modeler Chaves

Zoom (Tipo: Out)

Ctrl + -

No Windows

Modeler Chaves

Zoom (Tipo: Reset)

Alt + Shift + 0

No Windows

Modeler Chaves

NotaPor padrão, todos os atalhos do conselho-chave modelador estão disponíveis no esquema padrão. Você não pode adicionar novos comandos, mas você pode personalizar os comandos da seguinte forma:   

Cópia de comando - para fornecer um atalho de teclado diferente para um comando existente. Desvincular Command - para limpar os atalhos de teclado com o comando e fornecer um novo atalho de teclado para um comando existente. Restaurar comando - para restaurar os atalhos de teclado padrão fornecidos pelo Modeler para um comando existente.

Atributos e Medidas Atributos e medidas fazem dados de conteúdo que você usa para modelagem de dados. Os atributos representam os dados descritivos, como a cidade eo país e as medidas de representar dados quantificáveis, tais como receitas e quantidade vendida.

Atributos Os atributos são os elementos de análise não-mensuráveis individuais. Atributos

Descrição

Exemplo

Atributos simples

Atributos simples são elementos analíticos não mensuráveis individuais que são derivados a partir da base de dados.

Por exemplo, PRODUCT_ID e PRODUCT_NAME são atributos de uma área de assunto PRODUTO.

Calculadas Atributos

Calculados atributos são derivados de um ou mais atributos ou constantes existentes.

Por exemplo, derivando o nome completo de um cliente (nome e sobrenome), atribuindo um valor constante para um atributo que pode ser usado para cálculos aritméticos.

Atributos locais

Atributos locais que você usa em uma visão analítica permitem que você personalize o comportamento de um atributo apenas para esse ponto de vista.

Por exemplo, se uma visão analítica ou uma visão de cálculo inclui uma visão atributo como uma fonte de dados subjacente, então o ponto de vista analítico herda o comportamento dos atributos da vista atributo.

Notaatributos locais transmitir os campos da tabela avilable no nó padrão de pontos de vista analítico.

Medidas As medidas são elementos analíticos mensuráveis. As medidas são derivadas das visualizações analíticas e de cálculo. Medidas

Descrição

Exemplo

Medidas simples

Uma medida simples é um elemento analítico mensurável que é derivado da base de dados.

Por exemplo, o lucro.

Medidas calculadas

Calculadas medidas são definidas com base em uma combinação de dados de cubos OLAP, operadores aritméticos, constantes e funções.

Por exemplo, você pode usar medidas calculadas para calcular as vendas totais de um produto em cinco regiões, ou para atribuir um valor constante para uma medida para um cálculo.

Medidas restritas

Colunas medidas restritas ou restritos são utilizados para filtrar valores de atributos com base nas regras definidas pelo usuário.

Por exemplo, você pode optar por restringir o valor para a coluna RECEITA apenas para REGIÃO = APJ, e YEAR = 2012.

Contadores

Contadores adicionar uma nova medida para a definição da visão de cálculo para contar as ocorrências distintas de um atributo.

Por exemplo, para contar quantas vezes o produto aparece.

Informação relacionada Trabalhando com atributos e Medidas

Primeiros Passos para ver Criação Você cria vistas para modelar várias fatias de os dados armazenados em um banco de dados SAP HANA. Em SAP HANA terminologia eles são conhecidos como Informações Views.

Contexto Visualizações da informação usam várias combinações de dados de conteúdo (ou seja, não-metadados) para modelar um caso de uso de negócios. Dados de conteúdo podem ser classificados da seguinte forma: Atributo - Representa os dados descritivos, como ID do cliente, cidade, país, e assim por diante. Medida - Representa os dados quantificáveis, tais como receita, quantidade vendida, contadores, e assim por diante.

Visualizações de informação são muitas vezes utilizados para casos de uso de análise, tais como cenários operacionais de data mart ou relatórios multidimensional sobre a receita, rentabilidade, e assim por diante. Existem três tipos de pontos de vista de informação: Opinião atributo, vista analítico, e ver cálculo. Todos os três tipos de pontos de vista de informação são vistas não materializadas. Isso cria agilidade através da rápida implementação de mudanças. Antes de começar a modelar seus dados como pontos de vista de informação, você execute as seguintes subtarefas:

Procedimento 1.

Criar um espaço de trabalho de desenvolvimento. A área de trabalho é o elo entre o SAP HANA repositório e seu sistema de arquivos local, onde você trabalha em objetos relacionados ao projeto.

2.

Criar um projeto. Crie um novo projeto para uma aplicação ou pacote particular; você pode usar o projeto para recolher em um lugar conveniente todos os seus artefatos relacionados ao aplicativo. Para vistas de informação, criar um projeto geral.

3.

Compartilhe um projeto. Partilha de um projecto permite garantir que as alterações feitas arquivos relacionados ao projeto de são visíveis para outros membros da equipe e aplicações. Projetos compartilhados estão disponíveis para importação por outros membros da equipe de desenvolvimento de aplicações.

4. 5.

Selecione um projeto e no menu de contexto, escolha Novo Outro .... No assistente de pop-up, selecione SAP HANA Modeler. 1. Selecione a visualização desejada Atributo Vista, Analytic Vista, Cálculo Vista ou PrivilegeAnalytic, conforme necessário. 2. Escolha Próximo. 1. No New Informação Ver diálogo, digite um nome e uma descrição. NotaSe o projeto for compartilhado, o pacote campo especifica o pacote que está associado com o projeto. 2.

No caso de um atributo de vista, escolha a oprion necessária no Subtipo como se segue: Cenário Criar uma vista com atributos da tabela.

Subetapas No Tipo Sub lista suspensa, escolha Padrão.

Cenário Criar uma vista com características de tempo.

Subetapas 1.

No Tipo Sub lista suspensa, escolha Tempo.

2.

Selecione o tipo de calendário

requerida como segue: 1. Se o tipo de calendário é Fiscal, selecione um esquema variante, e uma variante fiscal. 2. Se o tipo de calendário é gregoriano, selecione a granularidade dos dados. 3. Para usar o tempo atributo vista gerada pelo sistema, selecioneCriar Auto.

Nota O sistema cria uma visão atributo tempo com base nas tabelas de tempo default, e define as colunas / atributos adequados com base na granularidade. Além disso, cria os filtros necessários.

NotaAs tabelas utilizadas para o tempo de criação atributo com o tipo de calendário gregoriano são, M_TIME_DIMENSION, M_TIME_DIMENSION_ ANO, MÊS M_TIME_DIMENSION_, M_TIME_DIMENSION_WEEK e para o tipo de calendário Fiscal é M_FISCAL_CALENDAR. Se você quer fazer uma pré-visualização de dados para a vista atributo criado, você precisa gerar dados de tempo para as tabelas referidas em relação ao Quick Launch ficha de registro. Derivar uma vista de uma vista existente - neste caso, você não pode modificar a vista derivados que atua como uma referência para a vista atributo base.

3. 4.

4.

No Tipo Sub suspensa, escolha Derivado.

5.

Selecione a exibição atributo obrigatório.

NotaSe o projeto não é compartilhado, a auto-criação de vista atributo tempo e criação de derivados atributo vuew não é possível. Em caso de uma visão de cálculo, faça o seguinte: 1. Selecione o exigido subtipo conforme descrito abaixo: 1. Gráfica - para usar a modelagem gráfica apresenta para a criação de vista de cálculo 2. SQL Script - para escrever instruções SQL para ver o cálculo do roteiro 2. Se o subtipo é SQL Script, defina o caso sensível parâmetro para true ou false como você deseja a vista cálculo parâmetro de saída convenção de nomenclatura.

3.

Se o subtipo é gráfica, selecione Ativar relatório Multidimensional opção se você quiser fazer o ponto de vista disponível para fins de relatório. NotaSe você não habilitar o relatório multidimensional, você pode criar uma visão de cálculo, sem qualquer medida. Neste caso, ele funciona como um atributo de vista e não está disponível para relatar. Além disso, quando a propriedade estiver desativada, a entrada para o nó Semântica é vista através de projeção. Se a propriedade estiver habilitada, a entrada para o nó Semântica é vista através de agregação. Você também pode alterar o valor dessa propriedade no Propriedades do painel.

2.

Escolha Concluir. DicaPara obter mais informações sobre os projetos, espaços de trabalho do repositório e compartilhamento de projetos, consulte Usando SAP HANA Projetos.

6.

O editor abre vista. Com base na visão do Cenário painel do editor consistem nos seguintes nós:  No caso de uma vista atributo - dois nós, Fundação de dados e semântica. A Fundação de dadosnó representa as tabelas usadas para definir a estrutura da exibição de saída. A Semântica nó representa a estrutura do ponto de vista, isto é, a dimensão de saída. No Detalhes do painel, você define a relação entre as fontes de dados e elementos de saída.  No caso de uma visão analítica - três nós  Fundação de Dados - representa as tabelas usadas para definir a tabela de fatos do ponto de vista.  Junte-se a lógica - representa a relação entre os campos da tabela selecionados (tabela de fatos) e atribuir pontos de vista, isto é, utilizadas para criar o esquema em estrela.  A semântica - representa a estrutura do modo de exibição de saída. o Em caso de um cálculo gráfica view - Semântica nó com um

o

padrão de agregação ou Projeção nó, com base na seleção de Ativar Relatório Multi Dimensional checkbox. No caso de uma vista cálculo baseado Script - Semântica nó com o padrão SQL Script nó.

Criar Atributo Visualizações Você pode criar uma exibição que é usado para modelar dados de atributos descritivos usando atributos, que são dados que não contém medidas. Atribuem pontos de vista são usadas para definir associações entre tabelas e para selecionar um subconjunto ou todas as colunas e linhas da tabela.

Pré-requisitos Você importou tabelas do sistema SAP T009 e T009B tabelas do tipo Tempo para criar tempo atribuir pontos de vista.

Procedimento 1. 2. 3. 4. 5. 6. 7. 8.

Lançamento SAP HANA estúdio. Em SAP HANA Sistema de vista, expanda o nó de conteúdo. No navegador, selecione um pacote em que você deseja criar a nova vista de cálculo. No menu de contexto do pacote, selecione Novo Atributo Vista Fornecer o nome e descrição. No subtipo lista suspensa, selecione o tipo da vista atributo. Escolha Concluir. Adicionar fontes de dados. 1. Selecione o nó base de dados. 2. No menu de contexto, escolha Adicionar objectos. 3. Em encontrar fontes de dados de diálogo, digite o nome da fonte de dados e selecione-o na lista.

Nota 4.

Você não pode adicionar vistas de coluna para a Fundação de dados. Escolha OK. NotaVocê pode adicionar a mesma tabela novamente em Fundação de dados usando apelidos de tabela no editor.

9.

Definir colunas de saída. 1. Selecione o nó base de dados. 2. No Detalhes painel, selecione as colunas que você deseja adicionar à saída do nó da base de dados. 3. No menu de contexto, escolha Adicionar para a saída.

Nota Se você quiser adicionar todas as colunas da fonte de dados para a saída, no menu de contexto da origem de dados, escolha Adicionar Tudo para a saída. 10. Ocultar atributos de ferramentas de relatórios. Se você quer esconder os atributos formam as ferramentas de cliente ou ferramentas de relatórios quando você executar a exibição atributo, em seguida, 1. Selecione o Semântica nó. 2. Escolha o Colunas guia. 3. Selecione um atributo. 4. Selecione o Oculto checkbox. 11. Definir os atributos-chave. Você precisa definir pelo menos um atributo como um atributo de chave. Se o são mais do que um atributo chave, todos os atributos chave deve apontar para a mesma tabela, também referida como a mesa central, na base de dados.

1. 2. 3. 4. 5.

Selecione o Semântica nó. Escolha o Colunas guia. Selet um atributo. Selecione a chave caixa de seleção. No Atributos ficha de registro da coluna painel, selecione o atributo desejado e selecione o Tipo deAtributo Key. ObservaçãoPara gerado automaticamente tempo atribuir pontos de vista, os atributos e atributos-chave são automaticamente atribuídos.

12. 1.

Ative o modo de exibição do atributo. Se você está no SAP HANA Modeler perspectiva: o Salve e Ativar - para ativar o modo de exibição atual e

o

reimplantar os objetos afetados se uma versão ativa do objeto afetado existe. Caso contrário, só visão atual é ativado. Salvar e ativar todos - para ativar a visão atual, juntamente

com os objetos necessários e afectadas. NotaVocê também pode ativar o ponto de vista atual, selecionando o modo de exibição no SAP HANA Sistemas de vista e escolher Ativar no menu de contexto. A ativação desencadeia verificação de validação, tanto para o lado do cliente e as regras do lado do servidor. Se o objeto não atender a qualquer verificação de validação, a ativação objeto falhar. 2.

Se você está no Desenvolvimento SAP HANA perspectiva: No Project Explorer vista, selecione o objeto desejado. No menu de contexto, selecione Equipe Activate.

o o

NotaA ativação desencadeia a verificação de validação somente para as regras do lado do servidor. Portanto, se há algum erro no lado do cliente, eles são ignorados ea ativação objeto passa por se nenhum erro encontrado no lado do servidor. 

Atribuir Alterações 1. No Selecione Alterar diálogo, criar um novo ID ou selecione uma ID de alteração existente que você deseja usar para atribuir as alterações. 2. Escolha Concluir. Para obter mais informações sobre como atribuir mudanças, veja o capítulo SAP HANA Alterar Gravação do Guia do desenvolvedor SAP HANA.

2.

Escolha Concluir.

Resultados RestriçãoO comportamento do atributo pontos de vista com o novo editor é a seguinte: 

Considere que você adicionou um objeto para o editor e o objeto foi modifed depois ele foi adicionado.Em tais casos, recomenda-se a fechar e abrir o editor. A ajuda a reflectir as últimas alterações do objeto modificado no edior. Para mais informações, consulte a Nota SAP 1783668.

Próximos passos Depois de criar uma vista atributo, você pode executar determinadas tarefas adicionais para obter a saída desejada. A tabela abaixo lista as tarefas adicionais que você pode executar para enriquecer a visão atributo. Exigência

Tarefa a ser executada

Se você quiser filtrar a saída do nó base de dados.

Filtro de saída de dados Foundation Node.

Tabela 1: Trabalhando com atributos Exigência

Tarefa para executar

Se você quiser criar novas colunas de saída e calcular os seus valores no tempo de execução usando uma expressão.

Criar colunas calculadas

Se você quiser atribuir tipos de semânticas para fornecer mais significado aos atributos nas visualizações de atributos.

Atribuir Semântica

Se você deseja criar hierarquias de nível para organizar dados em ferramentas de relatórios.

Criar Nível Hierarquias

Se você deseja criar hierarquias pai-filho para organizar dados em ferramentas de relatórios.

Criar hierarquias pai-filho

Tabela 2: Trabalhando com Atributo Exibir propriedades Exigência

Tarefa para executar

Se você quer filtrar os dados vista ou usando um valor fixo ou cliente usando um cliente de sessão definido para o usuário.

Filtrar dados para clientes específicos

Se você quiser executar consultas viagem no tempo em vistas de atributos.

Ativar Informação vistas para Time Travel Queries

Se você quer invalidar ou remover dados do cache após intervalos de tempo específicos.

Invalidar conteúdo em cache

Se você quiser manter textos rótulo objeto em diferentes línguas.

Manter Objetos Modeler em vários idiomas

Se você não recomendamos o uso de uma visão atributo.

Informações deprecate Visualizações

Informação relacionada Atributo Tipos de Visualização

Criar colunas calculadas Atribuir Semântica Criar Nível Hierarquias Criar hierarquias pai-filho Informações deprecate Visualizações Filtrar dados para clientes específicos Ativar Informação vistas para Time Travel Queries Invalidar conteúdo em cache Manter rótulos de objetos Modeler em vários idiomas Referência Rápida: Informação Ver Propriedades Prévia Informação Ver Saída

Atributo Visualizações Atribuem pontos de vista são usadas para modelar uma entidade com base nas relações entre os dados de atributo contidos em várias tabelas de origem. Por exemplo, ID do cliente é o atributo de dados que descreve as medidas (isto é, que comprou um produto). No entanto, o ID do cliente tem muito mais profundidade a ele quando se juntou com outros dados atributo que descreve ainda o cliente (endereço do cliente, relacionamento com o cliente, o estatuto do cliente, hierarquia de clientes, e assim por diante). Você cria uma visão atributo para localizar os dados de atributo e definir as relações entre as várias tabelas para modelar como dados de atributos do cliente, por exemplo, será utilizado para atender às necessidades de negócios. Você pode modelar os seguintes elementos dentro de uma visão atributo:  

Colunas Colunas Calculadas NotaNo nó Semântica, você pode classificar as colunas como atributos e construir colunas calculadas de tipo de atributo.



Hierarquias NotaPara mais informações sobre os atributos e hierarquias mencionados acima, veja as seções Atributos e medidas, e hierarquias.

Você pode optar por ajusta ainda mais o comportamento dos atributos de uma vista atributo definindo as propriedades da seguinte forma: 

Filtros para restringir os valores que são selecionados ao usar o modo de exibição do atributo.  Os atributos podem ser definidos como escondida para que eles possam ser utilizados em processos, mas não são visíveis para os utilizadores finais.  Os atributos podem ser marcados como atributo chave que vai ser utilizado para identificar uma mesa central.  O Drill Down Ativado propriedade pode ser usada para indicar se um atributo está disponível para perfurar mais para baixo quando consumidos. Atributo vistas mais tarde pode ser associado a tabelas que contêm medidas no âmbito da definição de uma visão analítica ou uma visão de cálculo para criar esquema em estrela virtual sobre os dados SAP HANA.

Gerar dados Tempo Gerar dados de tempo em tabelas relacionadas com o tempo padrão presentes no esquema _SYS_BI e usar essas tabelas na vista de informação para adicionar uma dimensão de tempo.

Contexto Para cenários de negócios que exigem a modelagem dimensão de tempo, você gera os dados de tempo em tempo padrão mesas disponíveis no esquema _SYS_BI. Você pode selecionar o tipo de calendário e granularidade e gerar os dados de tempo para um período de tempo específico.

Procedimento 1. 2. 3. 4. 5. 6.

Lançamento SAP HANA estúdio. No Quick View painel, escolha Gerar dados Tempo. Selecione um sistema onde deseja executar esta operação. Escolha Próximo. No Tipo de Calendário lista suspensa, selecione um tipo de calendário. Nos de ano e ao ano de caixas de texto, digite o intervalo de tempo para o qual você deseja gerar dados de tempo em tabelas relacionadas ao tempo. 7. Se você tiver selecionado a gregoriano tipo de calendário, no Granularity lista suspensa, selecione a granularidade necessária.

Nota Para o nível de granularidade Week, você precisa especificar o primeiro dia da semana.

8.

Se você tiver selecionado o Fiscal tipo de calendário, 1. Na variante de esquema lista suspensa, selecione um esquema variante que contém tabelas com dados variantes.

Nota 2.

9.

Tabelas T009 e T009B conter dados variantes. Seleccionar a variante necessária. A variante especifica o número de períodos juntamente com as datas de início e término. Escolha Concluir.

Nota Para o gregoriano tipo de calendário, modelador gera dados de dimensão de tempo em M_TIME_DIMENSION_YEAR, M_TIME_DIMENSION_MONTH, M_TIME_DIMENSION_WEEK, M_TIME_DIMENSION mesas e para o Fiscal tipo de calendário, o modelador preenche os dados de dimensão de tempo geradas na tabela de M_FISCAL_CALENDAR. Estas tabelas estão presentes no esquema _SYS_BI.

Informação relacionada Tipos de calendário suportados para gerar dados Tempo Intervalo de tempo para gerar dados Tempo

Criar Analytic Visualizações Visualizações analíticas são usadas para modelar dados que inclui medidas. Por exemplo, fato tabela transacional que representa histórico de pedidos de vendas que incluem medidas para a quantidade, preço, e assim por diante.

Procedimento 1. 2. 3. 4. 5. 6.

7.

Lançamento SAP HANA estúdio. Em SAP HANA Sistema de vista, expanda o nó de conteúdo. No navegador, selecione um pacote em que você deseja criar a nova vista de cálculo. No menu de contexto do pacote, selecione Nova Analytic Vista. Fornecer o nome e descrição. Escolha Concluir. Modeler lança um novo editor vista analytiv com o nó de semântica, estrela juntar nó e as bases de dados. Adicionar fontes de dados. 1. Selecione a estrela juntar nó. 2. No menu de contexto, escolha Adicionar objectos.

3.

Em encontrar fontes de dados de diálogo, digite o nome da fonte de dados.

Nota Você só pode atribuir dimensões (views) como uma fonte de dados no nó de junção em estrela de visualizações analíticas. 4. Selecione a exibição atributo obrigatório da lista. 5. Escolha OK. 8. Definir a mesa central fato no nó base de dados. Continue a modelagem da visão analítica com uma estrutura de cubo, que inclui atributos e medidas. A entrada para a estrela juntar nó deve fornecer a tabela de fatos central. 1. Selecione o nó base de dados. 2. No menu de contexto, escolha Adicionar objectos. 3. Em encontrar fontes de dados de diálogo, digite o nome da fonte de dados e selecione-o na lista.

Nota Você não pode adicionar vistas de coluna para a Fundação de dados. 4. Escolha OK. NotaVocê pode adicionar a mesma tabela novamente em Fundação de dados usando apelidos de tabela no editor. 5.

Se houver mais de uma tabela no nó base de dados, especifique a tabela (tabela de fatos) central de onde o modelador deve derivar as medidas. Selec a fundação de dados nó e definir a propriedade,Entidade Central no propriedades painel. 9. Definir colunas de saída. 1. Selecione o nó base de dados ou de junção em estrela nó. 2. No Detalhes painel, selecione as colunas que você deseja adicionar à saída do nó. 3. No menu de contexto, escolha Adicionar para a saída.

Nota Se você quiser adicionar todas as colunas da fonte de dados para a saída, no menu de contexto da origem de dados, escolha Adicionar Tudo para a saída. 10. No Star Join nó, criar junta-se para juntar-se os pontos de vista de atributos com a tabela de fatos (esquema em estrela). Você também pode criar um temporal, junta-se entre os campos de data da tabela de fato para um intervalo (de e para) o campo de visão atributo.

Restrição Autojunções não são suportados. Ao criar junta-se, assegurar que a tabela não aparece duas vezes em qualquer caminho de se juntar. Um caminho de se juntar é o conjunto de junta que liga a tabela de fatos para outras mesas. Ao criar associações entre vista analítico e atribuem vista: 1. A mesma tabela não pode ser utilizada no trajecto de vista analítico juntar e vista atributo

2.  1. 2. 3. 4. 5.

A tabela da vista atributo que está ligada à tabela de fato não deve ter uma tabela de alias Definir atributos e medidas Selecione o Semântica nó. Escolha o Colunas guia. No local seção, selecione uma coluna de saída. No Tipo de lista suspensa, selecione uma medida ou atributo. Se você quiser esconder a medida de atributo na ferramenta de relatórios, selecione o Ocultocheckbox. NotaO Partilhada página da guia mostra os atributos dos pontos de vista de atributos que são usados na visão analítica.

2. o

Ative a visualização analítica: Se você está no SAP HANA Modeler perspectiva: Salve e Ativar - para ativar o modo de exibição atual e

o

reimplantar os objetos afetados se uma versão ativa do objeto afetado existe. Caso contrário, só visão atual é ativado. Salvar e ativar todos - para ativar a visão atual, juntamente

1.

com os objetos necessários e afectadas. NotaVocê também pode ativar o ponto de vista atual, selecionando o modo de exibição no SAP HANA Sistemas de vista e escolher Ativar no menu de contexto. A ativação desencadeia verificação de validação, tanto para o lado do cliente e as regras do lado do servidor. Se o objeto não atender a qualquer verificação de validação, a ativação objeto falhar. 2. o o

Se você está no Desenvolvimento SAP HANA perspectiva: No Project Explorer vista, selecione o objeto desejado. No menu de contexto, selecione Equipe Activate.

NotaA ativação desencadeia a verificação de validação somente para as regras do lado do servidor. Portanto, se há algum erro no lado do cliente, eles são ignorados ea ativação objeto passa por se nenhum erro encontrado no lado do servidor.

3.

NotaSe uma versão ativa dos objetos afetados existir, ativando a

visão atual reimplementa os objetos afetados. No SAP HANA Modeler perspectiva, mesmo que o objeto reafectação afetados falhar, a corrente de ativação vista pode passar. No entanto, no SAP HANA perspectiva de Desenvolvimento, se qualquer um dos objetos reafectação afetados falhar, a corrente de ativação vista também falha. 4. NotaEmbora a modelagem de uma visão analítica, se também tiver



aberto e editado uma visão atributo que é usado na vista analítico, em seguida, fechar e reabrir o editor de vista analítico para ver as alterações que você fez para a visualização de atributo. Para mais informações, consulte a Nota SAP 1783668. Atribuir Alterações 1. No Selecione Alterar diálogo, criar um novo ID ou selecione uma ID de alteração existente que você deseja usar para atribuir as alterações. 2. Escolha Concluir.

Para obter mais informações sobre como atribuir mudanças, veja o capítulo SAP HANA Alterar Gravação do Guia do desenvolvedor SAP HANA. 2.

Escolha Concluir.

Próximos passos Depois de criar uma visão analítica, você pode executar determinadas tarefas adicionais para obter a saída desejada. A tabela abaixo lista as tarefas adicionais que você pode executar para enriquecer a visão analítica.

Tabela 1: Trabalhando com Vista Nodes Exigência Se você quiser filtrar a saída do nó base de dados.

Tarefa a ser executada Filtro de saída de dados Foundation Node.

Tabela 2: Trabalhando com atributos e Medidas Exigência

Tarefa para executar

Se você deseja contar o contar o número de valores distintos para um conjunto de colunas de atributo.

Criar Contadores

Se você quiser criar novas colunas de saída e calcular os seus valores no tempo de execução usando uma expressão.

Criar colunas calculadas

Se você quiser restringir valores de medida com base nas restrições de atributos.

Criar Colunas Restritos

Se você quiser atribuir tipos de semânticas para fornecer mais significado para os atributos e Atribuir Semântica medidas em visualizações analíticas. Se você quiser parametrizar visualizações de atributos e executá-las com base nos valores usuários fornecem em tempo de execução da consulta.

Criar parâmetros de entrada

Se você quiser, por exemplo, filtrar os resultados com base nos valores que os usuários fornecem a atributos em tempo de execução.

Atribuir Variáveis

Se você quer medidas associadas com os códigos de moeda e realizar conversões de moeda.

Medidas Associar Moeda

Se você quiser associar medidas de unidade de medidas e realizar conversões de unidade.

Medidas Associar Unidade de Medida

Se você quer medidas grupo relacionado em uma pasta.

Grupo Medidas relacionadas.

Tabela 3: Trabalhando com Ananlytic Propriedades de Visualização Exigência Se você quer filtrar os dados vista ou usando um valor fixo ou cliente usando um cliente de sessão definido para o usuário.

Tarefa para executar Filtrar dados para clientes específicos

Se você quiser executar consultas viagens no tempo on visualizações Ativar Informação vistas para analíticas. Time Travel Queries Se você quer invalidar ou remover dados do cache após intervalos de Invalidar conteúdo em cache tempo específicos. Se você quiser manter textos rótulo objeto em diferentes línguas.

Manter Objetos Modeler em vários idiomas

Se você não recomendamos o uso de uma visão anlytic.

Informações deprecate Visualizações

Informação relacionada Criar Temporal Ingressa Prévia Informação Ver Saída Trabalhando com atributos e Medidas Trabalhando com Informações Propriedades de Visualização Referência Rápida: Informação Ver Propriedades

Analíticas Visualizações Visualizações analíticas são usadas para modelar dados que inclui medidas. Por exemplo, um data mart operacional representando histórico de pedidos de vendas que incluem medidas para a quantidade, preço, e assim por diante. A fundação de dados de uma visão analítica pode conter várias tabelas. No entanto, as medidas que forem selecionados para inclusão em uma visão analítica devem ser provenientes de apenas uma dessas tabelas (para requisitos de negócios que incluem medida provenientes de várias tabelas de origem, consulte Vista de cálculo).

Vista analítico pode ser simplesmente uma combinação de tabelas que contêm dados de atributos de dados e de medida. Por exemplo, um relatório que implique o seguinte: Opcionalmente, atribuir pontos de vista também podem ser incluídos na definição de vista analítico. Desta forma, você pode conseguir profundidade adicional de dados de atributos. O ponto de vista analítico herda as definições de todos os pontos de vista de atributos que estão incluídos na definição. Por exemplo: Você pode modelar os seguintes elementos dentro de uma visão analítica:  Colunas  Colunas Calculadas  Colunas restritos Lembre-seNo nó Semântica, você pode classificar colunas e colunas calculadas como atributos de tipo e medidas.Os atributos que você define em uma visão analítica são locais para essa vista. No entanto, os atributos vindos de visualizações de atributos em uma visão analítica são atributos compartilhados. Para mais informações sobre os atributos e medidas mencionadas acima, consulte Atributos de secção e Medidas.  

Variáveis Parâmetros de entrada NotaPara mais informações sobre as variáveis e parâmetros de entrada mencionados acima, consulte as secções Atribuindo Variáveis e Criação de parâmetros de entrada.

Você pode optar por ajusta ainda mais o comportamento dos atributos e medidas de uma visão analítica, definindo as propriedades da seguinte forma: 

Filtros para restringir os valores que são selecionados ao usar o ponto de vista analítico.  Os atributos podem ser definidos como Oculto de modo que eles são capazes de ser usados nos processos, mas não são visíveis para os utilizadores finais.  O Drill Down Ativado propriedade pode ser usada para indicar se um atributo está disponível para perfurar mais para baixo quando consumidos.  Tipo de agregação de medidas  Moeda e unidade de medida parâmetros (você pode definir o tipo de medida propriedade de uma medida, e também na coluna calculada de diálogo de criação, associar uma medida com a moeda e unidade de medida) DicaSe houver um conflito de nomes ou seja, mais de um elemento com o mesmo nome entre os atributos locais e compartilhadas, colunas calculadas, colunas restritos e as medidas de uma visão analítica, a ativação do modo de exibição não passar. Você pode resolver esse tipo de conflito usando os aliases. Aliases também devem ter nomes exclusivos. Você pode atribuir um alias para o elemento desejado na Coluna vista daSemântica nó editando seu nome em linha. Daqui em diante, o elemento é conhecido por seu pseudônimo.

Se duas ou mais colunas compartilhados têm um conflito de nomes, durante salvar os apelidos para as colunas de nomes conflitantes são propostos. Você pode optar por substituir os nomes propostos. No caso de modelos antigos, se você encontrar algum erro ao abrir o objeto devido a aliasing que foi causado devido a troca de nomes de colunas com os nomes de alias, use o Quick Fix. Para usar o Quick Fix,selecione a mensagem de erro que é, o problema nas Problemas visualizar e escolha Quick Fix no menu de contexto. Isso resolve o problema troca, atribuindo nomes certos para a coluna e alias. Você pode optar por ocultar os atributos e medidas que não são necessários para o consumo do cliente através da atribuição de valor verdadeiro para a propriedade Oculto no Propriedades painel, ou selecionando o ocultocaixa de seleção na coluna vista. Os atributos ou medidas marcados como ocultos não estão disponíveis para os parâmetros de entrada, variáveis, consumidores ou pontos de vista de nível superior que estão a construir em cima da visão analítica. Para modelos antigos (antes SPS06), se o atributo oculto já é utilizado, você pode reexibir o elemento ou remover as referências. Para uma visão analítica, você pode definir a propriedade MultiDimensional Relatórios de verdadeiro ou falso. Se o Relatório MultiDimensional propriedade da visão analítica é definida como false, a vista não estarão disponíveis para fins de relatórios multidimensionais. Se o valor é definido como verdadeiro, uma coluna adicionalAggregation está disponível para especificar o tipo de agregação de medidas. Você pode ativar otimização relacional para seu ponto de vista analítico, tais como, Optimize SQL empilhados por exemplo, converter SELECIONE, um SUM (X) FROM (SELECT * FROM AV) GROUP BY A para Selecione um, SUM (X) FROM AV GROUP BY A definindo a propriedade Permitir Optimization Relacional. A definição dessa propriedade seria eficaz apenas para visualizações analíticas que têm cálculos complexos, que a implantação de vista analítico gera vista cálculo catálogo no topo da exibição do catálogo OLAP gerado.

AtençãoNeste caso, se o sinalizador é definido contadores e SELECT COUNT pode produzir resultados errados

Criar Temporal Ingressa Temporal junta permitem associar os dados mestre com dados de transações (tabela de fatos) a partir dos valores de coluna temporais a partir dos dados da transação e tempo de validade dos dados mestre.

Procedimento 1. 2.

3.

4. 5. 6.

Abra a vista analítico no editor vista. Selecione o Star Join nó. O nó de junção em estrela deve conter os dados mestre como uma fonte de dados. A entrada para a estrela juntar nó (o nó base de dados) fornece a tabela de fatos central. Criar uma junção Criar uma junção, selecionando uma coluna de uma fonte de dados (tabela master), segurando o botão do mouse pressionado e arrastando a uma coluna na outra fonte de dados (tabela de fatos). Selecione a entrar. No menu de contexto, escolha Editar. Definir juntar propriedades. No Propriedades de seção, definir a união propriedades.

Nota Para temporais junta-se, você pode usar Inner ou Referencial juntar única tipos. 7. Definir coluna de temporal e condições temporais No propriedades temporais seção, forneça valores para criar temporais participar. 1. Na coluna Temporal lista suspensa, selecione uma coluna de tempo na vista analítico. 2. Nos da coluna e para a coluna listas suspensas especificar os valores de início e fim do tempo a partir da vista atributo para buscar os registros. 3. No Temporal Condição lista suspensa, selecione uma condição. 8. Escolha OK.

Informação relacionada Temporal Ingressa Condições temporais Exemplo: Temporal Ingressa

Criar gráficos de Cálculo Visualizações Criar vistas de cálculo gráficas usando um editor gráfico para descrever um cenário de negócios complexos com facilidade. Você pode criar visualizações gráficas de cálculo para incluir camadas de lógica de cálculo e com medidas a partir de múltiplas fontes de dados.

Contexto Criando visões gráficas de cálculo é útil em trazer dados em conjunto normalizado que geralmente são dispersas.Você pode combinar tabelas com operações múltiplas e visões analíticas, enquanto criando uma visão cálculo gráfica. NotaSe você deseja executar vistas de cálculo em um motor de SQL, consulte a Nota SAP 1857202

Procedimento 1. 2. 3.

Lançamento SAP HANA estúdio. Em SAP HANA Sistema de vista, expanda o nó de conteúdo. No navegador, selecione um pacote em que você deseja criar a nova vista de cálculo. 4. No menu de contexto do pacote, selecione Novo Cálculo Vista. 5. Fornecer o nome e descrição. 6. Selecione o tipo de vista cálculo. No Tipo de lista suspensa, selecione Gráfico. 7. 8.

Selecione um Categoria Dados tipo. Escolha Concluir. Modeler lança um novo editor vista cálculo gráfica com o nó semântica e agregação padrão ou nó de projeção, dependendo da categoria de dados da visão de cálculo. 9. Continue modelar a visão de cálculo gráfica, arrastando e derrubando a vista nós necessários a partir da paleta de ferramentas. 10. Adicionar fontes de dados. Se você quiser adicionar fontes de dados para o nó do ponto de vista, em seguida, 1. Selecione um nó de vista. 2. No menu de contexto, escolha Adicionar objectos. 3. Na Find diálogo, digite o nome da fonte de dados e selecione-o na lista. Você pode adicionar um ou mais fontes de dados, dependendo do nó de vista selecionado. 4. Escolha OK. 11. Definir colunas de saída. 1. Selecione um nó de vista. 2. No Detalhes painel, selecione as colunas que você deseja adicionar à saída do nó. 3. No menu de contexto, escolha Adicionar para a saída.

Nota

12.

Se você quiser adicionar todas as colunas da fonte de dados para a saída, no menu de contexto da origem de dados, escolha Adicionar Tudo para a saída. Definir atributos e medidas.

Se você estiver criando uma visão de cálculo com a categoria de dados, cubo, em seguida, para ativar com êxito a visualização de informações, você tem que especificar pelo menos uma coluna como uma medida. 1. Selecione o Semântica nó. 2. Escolha o Colunas guia. 3. No local seção, selecione uma coluna de saída. 4. No Tipo de lista suspensa, selecione Medida ou Atributo. Se o valor é definido como Cube, um adicional de Agregação de coluna está disponível para especificar o tipo de agregação de medidas.

Nota Se o nó padrão da visão de cálculo é a agregação, você sempre pode agregar as medidas, mesmo se nenhuma função de agregação é especificado no SQL. 1. Selecione o nó de agregação padrão. 2. Em Propriedades de guia, defina o valor da propriedade sempre resultados agregados paraVerdadeiro 5. Se você quiser esconder a medida de atributo na ferramenta de relatórios, selecione o Ocultocheckbox. 6. Se você quiser forçar a consulta para recuperar colunas de atributos selecionados do banco de dados, mesmo quando não solicitado na consulta, definir o sustento da bandeira propriedade paraverdadeiro para esses atributos. Isto significa que você está incluindo essas colunas para o grupo pela cláusula, mesmo se você não selecioná-los na consulta. Para definir o sustento da bandeira propriedade de atributos paraVerdadeiro, selecione um atributo na saída painel, e na Propriedades painel definir o sustento da bandeira propriedade para Verdadeiro. NotaSe você estiver usando qualquer atributo vista como uma fonte de dados para modelar a visão de cálculo, as compartilhados seção exibe os atributos dos pontos de vista de atributos que são usados na exibição de cálculo. 13. 1.

Ative o modo de exibição de cálculo. Se você está no SAP HANA Modeler perspectiva, o Salve e Ativar - para ativar o modo de exibição atual e

o

reimplantar os objetos afetados se uma versão ativa do objeto afetado existe. Caso contrário, somente a visão atual é ativado. Salvar e ativar todos - para ativar a visão atual, juntamente com os objetos necessários e afectadas.

NotaVocê também pode ativar o ponto de vista atual, selecionando o modo de exibição no SAP HANA Sistemas de vista e escolher Ativar no menu de contexto. A ativação desencadeia verificação de validação, tanto para o lado do cliente e as regras do lado do servidor. Se o objeto não atender a qualquer verificação de validação, a ativação objeto falhar. 2. o o

Se você está no SAP HANA Desenvolvimento perspectiva, No Project Explorer vista, selecione o objeto desejado. No menu de contexto, selecione Equipe Activate.

NotaA ativação somente aciona a verificação de validação para as regras do lado do servidor. Se houver algum erro no lado do cliente, eles são ignorados, ea ativação objeto passa por se nenhum erro for encontrado no lado do servidor. 14.

Nota

1. Para uma visão cálculo ativo, você pode visualizar os dados de um nó intermediário de saída. Isso ajuda a depurar cada nível de um cenários de cálculos complexos (tendo juntar-se, união, agregação, projeção, e nós de saída). Escolha a visualização de dados opção no menu de contexto de um nó. Quando você visualiza os dados de um intermediário agora, estúdio SAP HANA ativa o modelo de cálculo intermediário com o usuário atual em vez do _SYS_REPO usuário. Os dados que você visualiza para um nó é para a versão ativa da vista cálculo. Se nenhuma versão ativo para o objeto existe, então você precisa ativar o objeto em primeiro lugar. 2. Atribuir Alterações 1. No Selecione Alterar diálogo, criar um novo ID ou selecione uma ID de alteração existente que você deseja usar para atribuir as alterações. 2. Escolha Concluir. Para obter mais informações sobre como atribuir mudanças, veja o capítulo SAP HANA Alterar Gravação do Guia do desenvolvedor SAP HANA. 3.

Escolha Concluir.

Próximos passos Depois de criar uma vista de cálculo gráfica, você pode executar determinadas tarefas adicionais para obter a saída desejada. A tabela abaixo lista as tarefas adicionais que você pode executar para enriquecer a visão de cálculo.

Tabela 1: Trabalhando com Vista Nodes Exigência

Tarefa a ser executada

Se você deseja consultar os dados de duas fontes de dados e combinar os registros de ambas as fontes de dados com base em uma condição de junção ou para obter dados específicos de linguagem.

Criar Ingressa

Se você deseja consultar dados de tabelas de banco de dados que contém dados espaciais.

Criar Spatial Ingressa

Se você deseja validar e junta-se identificar se você tem mantido a integridade referencial. Validar Ingressa Se você quiser combinar os resultados de mais duas fontes de dados.

Criar Sindicatos

Tabela 1: Trabalhando com Vista Nodes Exigência

Tarefa a ser executada

Se você deseja consultar os dados de duas fontes de dados e combinar os registros de ambas as fontes de dados com base em uma condição de junção ou para obter dados específicos de linguagem.

Criar Ingressa

Se você deseja consultar dados de tabelas de banco de dados que contém dados espaciais.

Criar Spatial Ingressa

Se você deseja particionar os dados para um conjunto de colunas de partição, e executar uma ordem de operação SQL com os dados particionados.

Criar Ranking Nodes

Se você quiser filtrar a saída dos nós de projeção ou vista de agregação.

Filtro de saída da agregação ou de projeção da vista Nodes.

Tabela 2: Trabalhando com atributos e Medidas Exigência

Tarefa para executar

Se você deseja contar o contar o número de valores distintos para um conjunto de colunas Criar Contadores de atributo. Se você quiser criar novas colunas de saída e calcular os seus valores no tempo de execução usando uma expressão.

Criar colunas calculadas

Se você quiser restringir valores de medida com base nas restrições de atributos.

Criar Colunas Restritos

Se você quiser atribuir tipos de semânticas para fornecer mais significado para os atributos Atribuir Semântica e medidas em vista de cálculo. Se você quiser parametrizar vistas de cálculo e executá-las com base nos valores usuários Criar parâmetros de entrada fornecem em tempo de execução da consulta. Se você quiser, por exemplo, filtrar os resultados com base nos valores que os usuários fornecem a atributos em tempo de execução.

Atribuir Variáveis

Se você quer medidas associadas com os códigos de moeda e realizar conversões de moeda.

Medidas Associar Moeda

Se você quiser associar medidas de unidade de medidas e realizar conversões de unidade.

Medidas Associar Unidade de Medida

Se você deseja criar hierarquias de nível para organizar dados em ferramentas de relatórios.

Criar Nível Hierarquias

Tabela 1: Trabalhando com Vista Nodes Exigência

Tarefa a ser executada

Se você deseja consultar os dados de duas fontes de dados e combinar os registros de ambas as fontes de dados com base em uma condição de junção ou para obter dados específicos de linguagem.

Criar Ingressa

Se você deseja consultar dados de tabelas de banco de dados que contém dados espaciais.

Criar Spatial Ingressa

Se você deseja criar hierarquias pai-filho para organizar dados em ferramentas de relatórios.

Criar hierarquias pai-filho

Se você quer medidas grupo relacionado em uma pasta.

Grupo Medidas relacionadas.

Tabela 3: Trabalhando com Cálculo Exibir propriedades Exigência

Tarefa para executar

Se você quer filtrar os dados vista ou usando um valor fixo ou cliente usando um cliente de sessão definido para o usuário.

Filtrar dados para clientes específicos

Se você quiser executar consultas viagem no tempo em vistas de cálculo.

Ativar Informação vistas para Time Travel Queries

Se você quer invalidar ou remover dados do cache após intervalos de tempo específicos.

Invalidar conteúdo em cache

Se você quiser manter textos rótulo objeto em diferentes línguas.

Manter Objetos Modeler em vários idiomas

Se você não recomendamos o uso de uma visão de cálculo.

Informações deprecate Visualizações

Informação relacionada SAP HANA Guia do desenvolvedor Criar Gráfica Cálculo Visualizações Com Estrela junta Use Funções da tabela como uma fonte de dados Use Entidade CDS como uma fonte de dados Suportado Ver Nodes para modelagem gráfica de Cálculo Visualizações Banco de Dados de Suporte Containers multitenant para modelagem gráfica de Cálculo Visualizações

Categorias de dados com suporte para Informação Visualizações Trabalhando com Vista Nodes Prévia Informação Ver Saída Trabalhando com atributos e Medidas Trabalhando com Informações Propriedades de Visualização Referência Rápida: Informação Ver Propriedades

Cálculo Visualizações Uma vista de cálculo é usado para definir fatias mais avançados nos dados no banco de dados SAP HANA.Visualizações de cálculo pode ser simples e espelhar a funcionalidade encontrada em ambos os pontos de vista e atribuir pontos de vista analítico. No entanto, eles são tipicamente usados quando o caso de uso requer lógica avançado que não é coberto nos tipos anteriores de pontos de vista de informação. Por exemplo, vistas de cálculo pode ter camadas de lógica de cálculo, pode incluir medidas provenientes de várias tabelas de origem, pode incluir lógica SQL avançado, e assim por diante. A fundação de dados da vista cálculo pode incluir qualquer combinação de tabelas, exibições de coluna, atribuir pontos de vista e visões analíticas.Você pode criar associações, sindicatos, projeções e níveis de agregação sobre as fontes. Você pode modelar os seguintes elementos dentro de uma visão de cálculo:  Atributos  Medidas  Medidas calculadas  Contadores  Hierarquias (criado fora da exibição do atributo) NotaPara mais informações sobre os atributos, medidas, contadores e hierarquias mencionados acima, veja as seções Atributos e Medidas, e hierarquias.  

Variáveis Parâmetros de entrada NotaPara mais informações sobre as variáveis e parâmetros de entrada mencionados acima, consulte as secções AssigningVariables e criar parâmetros de entrada.

Visualizações de cálculo pode incluir medidas e ser usadas para comunicação multidimensional ou não pode conter medidas e usado para lista-tipo de

relatório. Visualizações de cálculo pode ser criado usando um editor gráfico ou usando um console SQL. Estas várias opções de proporcionar a máxima flexibilidade para os requisitos de negócio mais complexas e abrangentes.

Criar colunas calculadas Criar novas colunas de saída e calcular os seus valores no tempo de execução com base no resultado de uma expressão. Você pode usar outros valores de coluna, funções, parâmetros de entrada ou constantes na expressão.

Contexto Por exemplo, você pode criar um DISCOUNT coluna calculada utilizando a expressão if ("PRODUTO" = 'NOTEBOOK "," desconto "* 0,10," desconto "). Neste expressão de exemplo, você usa a função if (), o produto da coluna e operador * para obter valores para o desconto coluna calculada.

Procedimento 1. 2.

Abra a visualização gráfica cálculo exigido no editor vista. Selecione o nó de exibição no qual você deseja criar a coluna calculada.

3. 4. 5.

Na saída painel, escolha o ícone suspenso. Escolha a nova coluna calculada opção do menu. Na coluna calculada, digite um nome e uma descrição para a nova coluna calculada. 6. No Tipo de dados lista suspensa, selecione o tipo da coluna calculada de dados. 7. Digite comprimento e escala com base no tipo de dados que você selecionar. 8. Selecione um tipo de coluna. Você pode criar atributos calculados ou medidas calculadas usando atributos ou medidas respectivamente. 1. No Tipo de coluna lista suspensa, selecione um valor.

Nota Se você deseja criar uma medida calculada e permitir a agregação do lado do cliente para a medida calculada, selecione a agregação do lado do cliente Ativar caixa de seleção. Isto permite-lhe propor a agregação de que o cliente precisa para executar em medidas calculadas. 9. Se você quiser esconder a coluna calculada em ferramentas de relatórios, selecione o oculto caixa de seleção. 10. Escolha OK.

11. 1.

Fornecer uma expressão. No Editor de Expressão, digite uma expressão válida. Modeler calcula esta expressão em tempo de execução para obter valores de colunas calculadas. Por exemplo, se ("PRODUTO" = 'NOTEBOOK "," desconto "* 0,10," desconto "), que é equivalente a, se atributo do produto é igual a string' ABC ', então DESCONTO igual a DESCONTO multiplicado por 0,10 deve ser devolvido. Então usar o valor original do atributo de desconto.

Nota Você também pode criar uma expressão, arrastando e soltando a expressão elementos, operadores e funções a partir dos menus à editor de expressão. 2. Escolha Validar sintaxe para validar a sua expressão. 12. Atribuir semântica para a coluna calculada. 1. Escolha o Semântica guia. 2. No Tipo semântico lista suspensa, selecione um valor semântico.

Informação relacionada Usando funções em expressões Propriedades coluna calculada Exemplo: Medidas de Calculada Exemplo: Calculado Atributos

Parâmetros de entrada Mapa É possível mapear os parâmetros de entrada nas fontes de dados subjacentes (atribuir pontos de vista, opiniões e pontos de vista analítico de cálculo) da visão de cálculo para os parâmetros de cálculo vista. Você também pode mapear vários parâmetros de fonte de dados para um cálculo de parâmetros de entrada e vista realizar um mapeamento um-para-um dos parâmetros de fonte de dados para os parâmetros de cálculo vista.

Contexto NotaÉ possível mapear os parâmetros de entrada vista atributo para parâmetros de entrada vista cálculo apenas com o mesmo nome. O parâmetro de entrada vista cálculo fornece seleção de valor de tempo de execução para filtrar dados de atributo com base no filtro definido na exibição atributo. Por exemplo, você pode definir uma visão GEO atributo com conjunto de filtros na coluna País de tal forma

que, o valor do filtro é um parâmetro de entrada que tem sintaxe $$ $$ IP. Quando você usa essa visão atributo em uma visão de cálculo, você precisa definir uma mesma entrada nome do parâmetro IP e mapeá-lo com o parâmetro de vista atributo. Quando você executa pré-visualização de dados na visão de cálculo, a ajuda de tempo de execução para a entrada de parâmetro vista de cálculo é indicado. O valor selecionado para exibição cálculo parâmetro serve como entrada para o parâmetro de vista atributo para filtrar os dados.

Procedimento 1.

Para chamar a caixa de diálogo a partir da agregação padrão ou nó de projeção: 1. Selecione a agregação padrão ou nó de projeção. 2. Botão direito do mouse parâmetro de entrada na saída de vista. 3. No menu de contexto, escolha Gerenciar mapeamentos. 2. Para chamar a caixa de diálogo a partir da Semântica nó: 1. Selecione o Semântica nó. 2. 3.

Nas variáveis / parâmetros de entrada visualizar, escolha. Escolha fontes de dados ou Visualizações de valor ajuda NotaO sistema exibe a opção Visualizações de valor ajuda somente se sua visão cálculo consiste de pontos de vista externos como referências valor ajuda em variáveis e parâmetros de entrada. Se você escolher Visualizações valor para ajuda, você pode mapear os parâmetros / variável de pontos de vista externos para o valor de ajuda com os parâmetros / variáveis de uma visão de cálculo de qualquer nome.

3.

No Parâmetros de entrada Mapa de diálogo, mapear os parâmetros da fonte de dados de entrada (ou parâmetros de pontos de vista externos para valor ajuda) com os parâmetros de cálculo vista. NotaVocê pode escolher o Auto Map por Nome opção para criar automaticamente os parâmetros de entrada correspondentes à fonte e realizar um mapeamento 1: 1. Você também pode selecionar um parâmetro de entrada de origem e utilizar as seguintes opções do menu de contexto: 1.



Copie e Mapa 1: 1 - para criar o mesmo parâmetro de entrada para a vista de cálculo para a fonte, e criar um mapeamento 1: 1 entre eles. 2. Mapear por nome - para mapear o parâmetro de entrada de origem com a entrada de parâmetro vista cálculo com o mesmo nome. 3. Remover Mapeamento - para apagar o mapeamento entre o parâmetro de entrada fonte e vista para o cálculo. Selecione Criar constante para criar uma constante na visão de cálculo de destino. NotaVocê pode alterar o nome constante clicando duas vezes nele.

Criar Sindicatos Use os nós do sindicato em visualizações gráficas de cálculo para combinar os resultados de duas ou mais fontes de dados.

Contexto Um nó união combina várias fontes de dados, que podem ter várias colunas. Você pode gerenciar a saída de um nó de união mapeando as colunas de origem para as colunas de saída ou através da criação de uma coluna de saída de destino com valores constantes. Para uma coluna de origem que não tenha um mapeamento com qualquer uma das colunas de saída, você pode criar uma coluna de saída de destino e mapeá-lo para as colunas de origem não mapeados. Você também pode criar uma coluna de destino com valores constantes.

Procedimento 1. 2.

Abra a visualização gráfica cálculo exigido no editor vista. A partir de ferramentas do editor pallete, arraste e solte um nó de união para o editor. 3. Adicionar fontes de dados. 1. Selecione o nó união. 2. No menu de contexto, escolha Adicionar objectos. 3. Em encontrar fontes de dados de diálogo, digite o nome da fonte de dados e selecione-o na lista. 4. Escolha OK. 4. Definir colunas de saída. 1. No Detalhes painel, selecione as colunas que você deseja adicionar à saída do nó da união. 2. No menu de contexto, escolha Adicionar para a saída.

Nota Se você quiser adicionar todas as colunas da fonte de dados para a saída, no menu de contexto da origem de dados, escolha Adicionar Tudo para a saída. 5. Atribuir valor constante. Isso ajuda a identificar os dados subjacentes das colunas de origem com valores constantes na saída. Se você quiser atribuir um valor constante para qualquer uma das colunas de destino, em seguida, 1. No Alvo seção, selecione uma coluna de saída. 2. No menu de contexto, escolha Gerenciar mapeamentos.

3.

No Gerenciar mapeamentos de diálogo, defina a coluna de origem valor como em branco. 4. Na Valor Contant campo, digite um valor constante. 5. Escolha OK. 6. Criar uma coluna de saída constante. Se você quer criar uma nova coluna de saída e atribuir um valor constante para ele, então 1. 2.

No Alvo seção, escolha. No Criar Alvo de diálogo, fornecer o nome e tipo de dados para a nova coluna de saída. 3. Escolha OK.

Nota Por padrão, o valor da coluna de saída constante em null.

Informação relacionada Coluna constante Exemplo: Colunas Constantes Comportamento vazio União

Coluna constante Em uma visão de união, uma coluna constante é criado se não houver nenhum atributo de destino ou de saída para as quais não existem mapeamentos para os atributos de origem. O valor padrão para a coluna constante é NULL. NotaO atributo destino for mapeada para todas as fontes. Por exemplo, você tem duas tabelas com estruturas semelhantes, as vendas reais e planejadas de vendas, o que corresponde às vendas de produtos. Você deseja ver os dados combinados em uma única exibição, mas diferenciar entre os dados das duas tabelas para a comparação. Para fazer isso, você pode criar uma união vista entre as duas tabelas e tem uma coluna constante indicando valores constantes como A & P, como mostrado abaixo: As vendas reais Vendas

Produto

5000

A1

2000

B1

Vendas planejadas Vendas

Produto

3000

A1

6000

B1

O resultado desta consulta pode ser a seguinte: Actual Indicador Planned

Vendas

Produto

UMA

5000

A1

P

3000

A1

UMA

2000

B1

P

6000

B1

Junta-se dinâmico Depois de criar uma junção entre duas fontes de dados, você pode definir a propriedade participar como dinâmico.Se você definir uma junção como dinâmico, então Modeler dinamicamente define as colunas condição de associação com base nas colunas solicitadas pela consulta cliente. Dinâmica junta melhora a juntar-se processo de execução e ajuda a reduzir o número de registros que se juntam processo nó em tempo de execução.

Nota Você pode definir a dinâmica Participe propriedade somente se as duas fontes de dados são unidas em várias colunas. O comportamento dinâmico da junta depende da consulta de cliente. Isso significa que, você pode melhorar o processo de associação execução usando o dinâmico propriedade se juntar, se pelo menos um dos elementos se juntam é solicitado pela consulta cliente.

Junte-se estático Versus junta Dinâmico  



Em estática junta-se a condição de junção não muda independentemente da consulta de cliente. Se uma junção é definido como dinâmico, mas se a consulta não solicitar qualquer uma das colunas de associação, que resulta em um erro de consulta em tempo de execução. Este comportamento dinâmico de junção é diferente da junta estática. Dinâmica junta-se impõe a agregação antes de executar a juntar-se, mas para estático junta-se a agregação acontece após a junção. Isto significa que, se uma coluna de junção não for solicitada pelo cliente consulta, o seu valor é agregado primeiro e depois a condição de junção é executada com base colunas solicitadas na consulta cliente.

Saída do filtro de agregação ou de projeção da vista Nodes Aplique filtros em colunas na projeção ou os nós de vista de agregação (exceto a agregação padrão ou nó de projeção) para filtrar a saída desses nós.

Contexto Você aplicar filtros, por exemplo, para recuperar as vendas de um produto em que (receita> = 100 E = região Índia) OR (receita> = 50 = E região Alemanha). Você também pode definir filtros usando expressões aninhadas ou complexos. Filtros em colunas são equivalentes à cláusula HAVING do SQL. Em tempo de execução, o modelador executa os filtros após a realização de todas as operações que foram definidas na agregação ou projeção. Você também pode usar parâmetros de entrada para fornecer valores para filtros em tempo de execução.

Procedimento 1.

Aplicação de filtros em colunas de pontos de vista de cálculo. Se você quiser definir filtros em colunas de nós projeção ou vista de agregação em vistas de cálculo: 1. Abra a vista de cálculo no editor vista. 2. Selecione um nó vista projeção ou agregação. 3. No Detalhes painel, selecione uma coluna. 4. No menu de contexto, escolha Aplicar filtro. 5. No Aplicar filtro de diálogo, selecione um operador. 6. Na Valor campo, selecione um valor fixo ou um parâmetro de entrada do valor ajuda.

Nota No nó de vista selecionada, se você estiver usando outros pontos de vista da informação como fontes de dados (e não mesas), então você pode usar somente parâmetros de entrada para aplicar filtros em colunas. 7. Escolha OK. 2. Escolha OK.

Nota Para vistas de cálculo, você pode aplicar filtros em colunas ou nos níveis de nó usando expressões. Por exemplo, fósforo ("ABC", '* abc *'). Se você deseja criar filtros usando expressões, então:

1. 2. 3. 4.

Selecione o nó de agregação ou de projeção. Na saída painel, expanda Filtros. No menu de contexto de Expressão, escolha Abrir. Digite a expressão, selecionando os elementos necessários, operadores, os parâmetros de entrada e funções colunas calculadas. 5. Escolha OK.

Informação relacionada Operadores suportados para Filtros

Criar Cálculo Visualizações ScriptBased Criar vistas de cálculo baseada em script para descrever cenários de cálculo complexas por escrito instruções de script SQL. É uma alternativa viável para descrever cenários de negócios complexos, que você não pode alcançar através da criação de outros pontos de vista de informação (visualizações de Cálculo Atributo, analítica e gráfica).

Contexto Por exemplo, se você deseja criar visualizações de informação que exigem certas funções SQL (ou seja janela), ou funções preditivas (isto é, R-Lang), então você usar exibições de cálculo baseada em script. Conhecimento suficiente de scripts SQL, incluindo as características de comportamento e de otimização dos diferentes modelos de dados é um pré-requisito para a criação de vistas de cálculo baseada em script.

Procedimento 1. 2. 3.

Lançamento SAP HANA estúdio. Em SAP HANA Sistema de vista, expanda o nó de conteúdo. No navegador, selecione um pacote em que você deseja criar a nova vista de cálculo. 4. No menu de contexto do pacote, selecione Novo Cálculo Vista. 5. Fornecer o nome e descrição. 6. Selecione o tipo de vista cálculo. No Tipo de lista suspensa, selecione SQL Script.

7.

Definir Parâmetro Case Sensitive para Verdadeiro ou Falso baseado em como você requrie a convenção de nomenclatura para os parâmetros do cálculo vista de saída. 8. Escolha Concluir. 9. Escolha um esquema padrão 1. Selecione o Semântica nó. 2. Escolha o Exibir propriedades guia. 3. No esquema predefinido lista suspensa, selecione o esquema padrão. NotaSe você não selecionar um esquema padrão, enquanto scripting, então você precisa fornecer nomes totalmente qualificado dos objetos usados. 10. 11. 1. 2.

Escolha SQL Script nó na Semântica nó. Definir a estrutura de saída. No Ouput painel, escolha Criar alvo. Adicione os parâmetros de saída requeridos e especificar a sua extensão e tipo. 12. Se você quiser adicionar várias colunas que fazem parte de pontos de vista de informação ou tabelas de catálogo ou funções de tabela para a estrutura de pontos de vista de cálculos baseados em scripts, depois de saída existente: 1. Na saída painel, escolha Novo Adicionar Colunas Do. 2. Digite o nome do objeto que contém as colunas que você deseja adicionar à saída. 3. Selecione um ou mais objetos na lista suspensa. 4. Escolha Próximo. 5. Na Fonte painel, escolha as colunas que você deseja adicionar à saída. 6. Se você quiser adicionar colunas seletivos para a saída, em seguida, selecione as colunas e escolhaAdicionar. 7. Se você quiser adicionar todas as colunas de um objeto para a saída, em seguida, selecione o objeto e escolha Adicionar. Notapara todos os nomes de coluna duplicados no Alvo painel, o modelador exibirá um erro. Você não pode adicionar duas colunas com o mesmo nome de sua saída. Se você quiser manter tanto as colunas, em seguida, alterar o nome de colunas no Alvo painel antes de adicioná-los para a saída. 8.

Se você deseja substituir a estrutura de produção existente, selecione Substituir colunas de saída existentes na saída. 9. Escolha Concluir. NotaA ordem definida e tipos de dados de colunas e parâmetros devem corresponder com a ordem e tipos de dados das colunas e parâmetros na consulta de seleção, o que é atribuído ao var_out função de saída. 13.

Escreva as declarações SQL script para preencher as colunas de saída. Você pode arrastar pontos de vista de informação de painel do navegador para o editor SQL para obter uma instrução SQL equivalente que representa o nome do esquema utilizado para a visualização de informações. NotaPara obter informações sobre fornecimento de parâmetros de entrada em vistas de cálculo baseados em scripts, consulte a Nota SAP 2035113

14. 1.

Ative o modo de exibição de cálculo baseada em script. Se você está no SAP HANA Modeler perspectiva: o Salve e Ativar - para ativar o modo de exibição atual e

o

reimplantar os objetos afetados se uma versão ativa do objeto afetado existe. Caso contrário, somente a visão atual é ativado. Salvar e ativar todos - para ativar a visão atual, juntamente

com os objetos necessários e afectadas. NotaVocê também pode ativar o ponto de vista atual, selecionando o modo de exibição no SAP HANA Sistemas de vista e escolher Ativar no menu de contexto. A ativação desencadeia verificação de validação, tanto para o lado do cliente e as regras do lado do servidor. Se o objeto não atender a qualquer verificação de validação, a ativação objeto falhar. 2. o o

Se você está no Desenvolvimento SAP HANA perspectiva: No Project Explorer vista, selecione o objeto desejado. No menu de contexto, selecione Equipe Activate.

NotaA ativação somente aciona a verificação de validação para as regras do lado do servidor. Se houver algum erro no lado do cliente, eles são ignorados, ea ativação objeto passa por se nenhum erro for encontrado no lado do servidor.

3.



2.

Você pode encontrar os detalhes das funções disponíveis no assistente de conteúdo ou seja, pressionando Ctrl + Space no console SQL ao escrever procedimentos no SAP HANA SQLScript Referência Atribuir Alterações 1. No Selecione Alterar diálogo, criar um novo ID ou selecione uma ID de alteração existente que você deseja usar para atribuir as alterações. 2. Escolha Concluir. Para obter mais informações sobre como atribuir mudanças, veja o capítulo SAP HANA Alterar Gravação do Guia do desenvolvedor SAP HANA. Escolha Concluir.

Próximos passos Depois de criar uma vista de cálculo baseada em script, você pode executar determinadas tarefas adicionais para obter a saída desejada. A tabela abaixo lista as tarefas adicionais que você pode executar para enriquecer a visão de cálculo.

Tabela 1: Trabalhando com atributos e Medidas Exigência Se você quiser atribuir tipos de semânticas para fornecer mais significado para os atributos e medidas em vista de cálculo.

Tarefa para executar Atribuir Semântica

Se você quiser parametrizar vistas de cálculo e executá-las com base nos Criar parâmetros de entrada valores usuários fornecem em tempo de execução da consulta. Se você quiser, por exemplo, filtrar os resultados com base nos valores que os usuários fornecem a atributos em tempo de execução.

Atribuir Variáveis

Se você quer medidas associadas com os códigos de moeda e realizar conversões de moeda.

Medidas Associar Moeda

Se você quiser associar medidas de unidade de medidas e realizar

Medidas Associar Unidade de

conversões de unidade.

Medida

Se você deseja criar hierarquias de nível para organizar dados em ferramentas de relatórios.

Criar Nível Hierarquias

Se você deseja criar hierarquias pai-filho para organizar dados em ferramentas de relatórios.

Criar hierarquias pai-filho

Se você quer medidas grupo relacionado em uma pasta.

Grupo Medidas relacionadas.

Tabela 2: Trabalhando com Cálculo Exibir propriedades Exigência

Tarefa para executar

Se você quer filtrar os dados vista ou usando um valor fixo ou cliente usando um cliente de sessão definido para o usuário.

Filtrar dados para clientes específicos

Se você quiser executar consultas viagem do tempo em vistas de cálculo baseada em script.

Ativar Informação vistas para Time Travel Queries

Se você quer invalidar ou remover dados do cache após intervalos de tempo específicos.

Invalidar conteúdo em cache

Se você quiser manter textos rótulo objeto em diferentes línguas.

Manter Objetos Modeler em vários idiomas

Se você não recomendamos o uso de uma visão de cálculo baseada em script.

Informações deprecate Visualizações

Informação relacionada Use Script baseado em Visualizações de cálculo das funções de tabela Trabalhando com Vista Nodes Prévia Informação Ver Saída Trabalhando com atributos e Medidas Trabalhando com Informações Propriedades de Visualização Referência Rápida: Informação Ver Propriedades Categorias de dados com suporte para Informação Visualizações

Ativando Objects Você ativar objetos disponíveis em sua área de trabalho para expor os objetos para relatórios e análises. Com base em suas necessidades, você pode fazer o seguinte:   o o

Ative - Implanta os objetos inativos. Reimplante - Implanta os objetos ativos em um dos seguintes cenários: Se o objeto de tempo de execução for corrompido ou excluído, e você deseja criá-la novamente. Em caso de problemas de tempo de execução durante a ativação do

objeto e do status do objeto ainda está ativo. Os seguintes modos de ativação são suportados: 



Ative e ignorar as inconsistências em objetos afetados - Para ativar os objetos selecionados mesmo que isso resulte em objetos afetados inconsistentes. Por exemplo, se você optar por ativar um objeto A que é usada por B e C, e que provoca inconsistências em B e C, mas você pode optar por ir em frente com a ativação de A. Este é o modo de ativação padrão. Pare de activação em caso de inconsistências em objetos afetados - Para ativar os objetos selecionados somente se não há objetos afetados inconsistentes. NotaSe apenas um dos objetos selecionados falhar (ou durante a validação ou durante a activação), o trabalho de ativação completa falhar e nenhum dos objetos selecionados é ativada.

Dependendo de onde você chamar a ativação, reafectação ou cascata de ativação, o comportamento é o seguinte: Contexto

Ativar

Reimplante

Quick Launch página

Uma caixa de diálogo aparece com uma lista préselecionada de todos os seus objetos inativos.

Uma caixa de diálogo aparece com uma lista de objetos ativos em sua área de trabalho.

Uma caixa de diálogo aparece com uma lista préselecionada de todos os seus objetos inativos.

Uma caixa de diálogo aparece com uma lista de objetos ativos em sua área de trabalho.

Uma caixa de diálogo aparece com uma lista préselecionada de todos os seus objetos inativos.

Não aplicável

da guia Pacote menu de contexto

Conteúdo menu de contexto Editor





Se você selecionar Salvar eativar, atual objeto é ativado e os objetos afetados são redistribuídos se uma versão activa para os objetos afetados existe. Se você selecionar Salvar e ativar todos, uma caixa de diálogo aparece com uma lista pré-selecionada do objeto selecionado, juntamente com todos os objetos necessários e afectadas.

Menu de contexto Uma caixa de diálogo aparece com uma lista préde objeto selecionada do objeto selecionado, juntamente com todos os objetos necessários.

Não aplicável

Um trabalho de reafectação é enviado para o objeto selecionado.

Nota 

Se um objeto é o único objeto inativo no espaço de trabalho, a caixa de diálogo de ativação é ignorado eo trabalho de ativação é enviado.  Se um objeto está inativo e você quiser reverter para a versão ativa, a partir do menu do editor ou objeto de contexto, escolha Reverter para o Active.  No Activate de diálogo, você pode selecionar a validação Bypass caixa de seleção, a fim de ignorar a validação antes da ativação para melhorar o tempo de ativação. Por exemplo, se você tiver importado um número de objetos e quiser ativá-los sem gastar tempo em validação. NotaDurante a importação unidade de entrega, a ativação do lado do servidor completo é ativado, a ativação de objetos após a importação é feita. Neste caso, todos os objetos importados são ativados (mudou-se para a tabela ativa), mesmo se houver erros em objetos ativados ou afectadas. Mas os objetos para os quais os resultados de ativação em erro são considerados como objetos quebrados ou inconsistentes, o que significa que a representação de tempo de execução atual desses objetos não está em sincronia com a versão tempo de design ativa. Os objetos quebrados são mostrados no Navigator vista com um 'x' ao lado.

ObservaçãoO comportamento do trabalho de activação é a seguinte:  

O status (concluído, concluída com avisos, e concluída com erros) do trabalho de ativação indica se a ativação dos objetos é bem sucedida ou não. Em caso de falha que é quando o status for concluída com erros, o processo é revertido. Isso significa que, mesmo se não são objetos individuais ativadas



com sucesso, uma vez que o trabalho de ativação é rolada para trás, nenhum dos objetos são ativados. Quando você abre o registo do trabalho, a relação mostra apenas os objetos que são apresentados para a ativação. Ela não lista todos os objetos afetados. Eles estão listados apenas na secção detalhe.

Comportamento de ativação no editor vista A tabela a seguir descreve a disponibilidade eo comportamento de assumir e opções para um objeto do editor vista na ativar SAP HANA Modeler perspectiva.

Cenári o

Objet o

em Provedor de Equipe SAP HANA em vista Sistemas

SAP HANA vista Sistemas

Usuário: U1, Usuário: U2, Usuário: Assumir o Ativar Workspace: Workspace: U, controle Workspac WS1 WS2 e: "" (default / outro espaço de trabalho)

Descrição

Cenári o

1

Objet o

Obj1

em Provedor de Equipe SAP HANA em vista Sistemas Inativo

Inativo

Inativo

SAP HANA vista Sistemas

Não aplicável

Permitido

Descrição

Se um objeto tem várias versões inativas, ea versão objeto no Modeler também está inativo, por exemplo, através da importação unidade de entrega ou outro espaço de trabalho no Project Explorer, o usuário pode ativar o seu próprio objeto inativo.Após a activação, o objecto é o cenário 2 como na linha seguinte.

NotaSe o usuário logado e que o usuário a quem pertence o objeto são diferentes, a ativação não é permitida. Por exemplo, se o objeto está inativo no espaço de trabalho do usuário do sistema e MB usuário abre o objeto, o objeto é aberto no modo somente leitura, ea ativação não é permitida. 2

Obj1

Inativo

Inativo

Ativo

Não Não permitido permitido

Se um objeto tem várias versões inativas no Project Explorer ea versão objeto no Modeler está ativa, nem a ativação nem assumir opção for ativada.

3

Obj1

Inativo

Ativo

Ativo

Permitido Não permitido

Se um objeto tem versão inativa único no Project Explorer, ea versão objeto no Modeler está ativa, apenas a assumir opção for ativada.

Cenári o

Objet o

em Provedor de Equipe SAP HANA em vista Sistemas

SAP HANA vista Sistemas

Permitido

Descrição

4

Obj1

Inativo

Ativo

Inativo

Não aplicável

Se um objeto tem versões inativas no Project Explorer e Modeler, única opção de ativação está habilitada.

5

Obj1

Ativo

Inativo

Ativo

Permitido Não permitido

Se um objeto tem várias versões ativos, tais como, um no Project Explorer e um no Modeler, apenas a assumir opção for ativada.

6

Obj1

Ativo

Ativo

Inativo

Não aplicável

Permitido

Se um objeto tem única versão inativa, ea versão objeto no Modeler está inativo, apenas a opção de ativação está habilitada.

7

Obj1

Ativo

Inativo

Inativo

Não Permitido permitido

Se um objeto tem versão ativa única, ea versão objeto no Modeler está inativo, apenas a opção de ativação está habilitada.

8

Obj1

Ativo

Ativo

Ativo

Não aplicável

(Reimplantar) Se um objeto tem várias versões ativas, ea versão objeto no Modeler é activo, só assumir a ativação opção (redeploy) está habilitado.

Descrição Mapping Descrição mapeamento ajuda a associar um atributo com outro atributo, que descreve em detalhes. Por exemplo, ao relatar através de uma coluna de etiqueta, você pode associar REGION_ID com Region_Text. Para um atributo agora você pode manter o mapeamento descrição selecionando outro atributo a partir do mesmo modelo como Coluna Rótulo na Semântica nó. O resultado é atributo descrição visualizadas como a coluna de etiqueta na

visualização de dados. As colunas relacionadas aparecem lado a lado durante a visualização de dados. Você pode renomear um atributo de coluna como rótulo .Descrição mas não como