¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Guia para usar LDB em relatórios e corrigir erros de nós no zgldb

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Quero tentar um relatório onde possa usar LDB. Então, tentei o seguinte.

Relatório zgldb.

Nós: pap.

Quando simplesmente compilo, diz 'PAP não é um nó do banco de dados lógico _S'..

O que isso significa? Como usar LDB em um relatório?

Obrigado

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Gopi,

Ao entrar no contexto do conteúdo

Estrutura das bases de dados lógicas. Localize o documento na estrutura da biblioteca SAP

Uma base de dados lógica é composta por três componentes (ver ilustração para mais detalhes). Eles são:

  • Estrutura

A estrutura define a visualização dos dados da base de dados lógica. Determina a estrutura dos outros componentes e o comportamento da base de dados lógica em tempo de execução. A ordem em que os dados estão disponíveis para o usuário depende da estrutura hierárquica da base de dados lógica em questão.

  • Seleções

As seleções definem uma tela de seleção, que forma a interface do usuário dos programas executáveis que utilizam a base de dados lógica. Seu design geralmente é determinado pela estrutura. Você pode adaptar as seleções aos seus próprios requisitos e também adicionar novas. Ao vincular uma base de dados lógica a um programa executável, as seleções da base de dados lógica se tornam parte da tela de seleção padrão do programa (número de tela 1000). Se você chamar uma base de dados lógica usando o módulo de função LDB_PROCESS, as seleções são preenchidas usando parâmetros de interface.

  • Programa de base de dados

O programa de base de dados contém as declarações ABAP usadas para ler os dados e passá-los ao usuário da base de dados lógica. A estrutura do programa de base de dados é uma coleção de sub-rotinas especiais. É determinada pela estrutura e pelas seleções. Você pode adaptar o programa de base de dados aos seus próprios requisitos e também expandi-lo.

Outros componentes como documentação, textos específicos de idiomas e telas de seleção definidas pelo usuário ampliam ainda mais as funções.

Estrutura

A estrutura de uma base de dados lógica é geralmente baseada nas relações de chave externa entre tabelas hierárquicas no Sistema R/3. As bases de dados lógicas têm uma estrutura em forma de árvore, que pode ser definida da seguinte maneira:

∑ Existe um único nó no nível mais alto. Este é conhecido como o nó raiz.

∑ Cada nó pode ter um ou vários ramos.

∑ Cada nó deriva de outro nó.

Os nós devem ser estruturas definidas no Dicionário ABAP ou tipos de dados de um grupo de tipos. Normalmente, essas são as estruturas de tabelas de base de dados que a base de dados lógica lê e passa ao usuário para uma avaliação adicional. No entanto, também é possível, e às vezes útil, usar estruturas do Dicionário ABAP sem uma base de dados subjacente. Por razões técnicas, o número máximo de nós permitidos na estrutura de uma base de dados lógica é 300.

Qualquer programa ABAP executável que tenha uma base de dados lógica vinculada a ele pode conter uma instrução GET para cada nó da estrutura. Ao executar o programa, os blocos de eventos correspondentes são processados na sequência prescrita pela estrutura hierárquica da base de dados lógica. Se um programa não contém uma instrução GET para cada nó de uma base de dados lógica, o processamento passa por todos os nós encontrados no caminho desde a raiz até os nós especificados pelas instruções GET.

Se você chamar uma base de dados lógica usando o módulo de função LDB_PROCESS, a profundidade em que o sistema lê é controlada por um parâmetro de interface.

Exemplo

Suponha que LFA1 seja o nó raiz, LFBK e LFB1 sejam ramos de LFA1, e LFC1 seja um ramo de LFB1.

Este gráfico é explicado no texto anexo

Se o programa executável contém instruções GET para todos os nós, os eventos GET são executados na ordem LFA1, LFBK, LFB1, LFC1. Se o programa contém apenas uma instrução GET para LFB1, o processamento passa apenas por LFA1 e LFB1.

Seleções

As seleções em uma base de dados lógica são definidas usando as declarações normais para definir telas de seleção, ou seja, PARÂMETROS, SELECT-OPTIONS; e SELECTION-SCREEN. Em uma base de dados lógica, você também pode usar as adições VALUE-REQUEST e HELP-REQUEST para definir entradas específicas e ajuda de valores. Você define a tela de seleção em um programa de inclusão especial conhecido como inclusão de seleção.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Caro Gopi,

Bases de Dados Lógicas

As bases de dados lógicas são programas ABAP especiais que recuperam dados e os disponibilizam para os programas de aplicação. O uso mais comum das bases de dados lógicas continua sendo a leitura de dados de tabelas de banco de dados vinculando-as a programas ABAP executáveis.

No entanto, desde a versão 4.5A, também tem sido possível chamar bases de dados lógicas utilizando o módulo de função LDB_PROCESS. Isso permite chamar várias bases de dados lógicas de qualquer maneira de qualquer programa ABAP, aninhadas. Também é possível chamar uma base de dados lógica mais de uma vez em um programa, se programado para permitir. Isso é particularmente útil para programas do tipo 1.

As bases de dados lógicas contêm declarações Open SQL que leem dados do banco de dados. Portanto, não é necessário usar SQL em seus próprios programas. A base de dados lógica lê o programa, armazena-os no programa se necessário e então os passa linha por linha para o programa de aplicação ou para o módulo de função LDB_PROCESS usando uma área de trabalho de interface.

Bases de Dados Lógicas - Vistas de Dados

Uma base de dados lógica fornece uma visualização específica das tabelas do banco de dados no sistema R/3. Se a estrutura dos dados que deseja ler corresponde a uma visualização disponível através de uma base de dados lógica, sempre vale a pena usar bases de dados lógicas.

Existem duas maneiras de usar uma base de dados lógica: vinculando-a a um programa executável, ou usando o módulo de função LDB_PROCESS em qualquer programa ABAP.

Ao vincular uma base de dados lógica a um programa executável, o usuário pode inserir valores na tela de seleção, e os dados lidos pela base de dados lógica são retornados ao programa usando áreas de trabalho de interface. Se você chamar a base de dados lógica usando um módulo de função, a tela de seleção não é exibida. O programa que chama não precisa fornecer áreas de trabalho de interface. Em vez disso, ele usa sub-rotinas especiais chamadas de rotinas de retorno de chamada, que são chamadas pelo módulo de função e preenchidas com os dados necessários.

Vinculação de uma Base de Dados Lógica a um Programa Executável

Ao vincular um programa executável a uma base de dados lógica inserindo o nome da base de dados lógica nos atributos do programa, os subprogramas do programa de base de dados lógica e os blocos de eventos do programa executável formam um programa modularizado para ler e processar dados. Os blocos de processamento individuais são chamados em uma sequência predefinida pelo ambiente de tempo de execução (consulte o diagrama na seção Bases de Dados Lógicas e Contextos). A sequência de tempo de execução é controlada pela estrutura, seleções e declarações PUT na base de dados lógica, e pelas declarações GET no programa executável.

Tela de Seleção

Se você especificar uma base de dados lógica nos atributos de um programa executável, isso afeta a tela de seleção padrão do programa. Ela contém tanto os campos de seleção da base de dados lógica quanto os do programa em si. Você pode especificar quais das seleções da base de dados lógica são relevantes para o seu programa, e portanto devem aparecer na tela, declarando áreas de trabalho de interface para os nós relevantes.

Comportamento em Tempo de Execução

A lista a seguir mostra a sequência em que o ambiente de tempo de execução ABAP chama os subprogramas da base de dados lógica e os blocos de eventos no programa executável. O ambiente de tempo de execução executa uma série de processadores (processador de tela de seleção, processador de relatórios). O código ABAP listado abaixo mostra os blocos de processamento que pertencem às etapas individuais.

Inicialização antes que a tela de seleção seja processada.

Sub-rotina:

FORM INIT

Esta sub-rotina é chamada uma única vez antes que a tela de seleção seja exibida pela primeira vez.

Bloco de evento:

INITIALIZATION.

Este evento ocorre uma única vez antes que a tela de seleção seja exibida pela primeira vez.

PBO da Inicialização da tela de seleção antes de cada ocasião em que a tela de seleção é exibida (por exemplo, para fornecer valores padrão para campos-chave).

Sub-rotina:

FORM PBO.

Esta sub-rotina é chamada cada vez que a tela de seleção é enviada (antes de ser exibida).

Bloco de evento:

AT SELECTION-SCREEN OUTPUT.

Este evento é chamado cada vez que a tela de seleção é enviada (antes de ser exibida).

A tela de seleção é exibida no servidor de apresentação e o usuário pode inserir dados nos campos de entrada.

... (Continua o texto)
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

LDB do SAP (Bases de Dados Lógicas) fornecem interfaces de acesso a dados personalizadas e diversos procedimentos para recuperar conjuntos de dados complexos do R/3.

Alguns dados importantes sobre as Bases de Dados Lógicas (LDB):

As LDB são sempre configuradas automaticamente para um desempenho ótimo e contêm funções adicionais como verificações de autorização e ajudas de pesquisa.

Os relatórios que utilizam LDB têm uma relação 1:1, ou seja, um relatório pode utilizar apenas uma LDB.

Uma LDB tem uma relação 1:n com os relatórios, o que significa que uma LDB pode ter vários relatórios utilizando sua funcionalidade.

As LDB utilizam declarações Open SQL para leituras diretas de dados e recuperação da aplicação de banco de dados subjacente (Oracle, Informix, Sybase, etc.).

As LDB simplificam e 'encapsulam' a recuperação de dados.

Os detalhes técnicos de uma LDB (ou seja, cláusulas WHERE dentro das declarações SELECT) não precisam ser especificados pelos desenvolvedores.

Atualizações, alterações, etc., em uma LDB são imediatamente propagadas para todos os relatórios que utilizam essa LDB.

A estrutura de dados de uma LDB é sempre hierárquica. Muitas tabelas dentro do Sistema R/3 estão interligadas por chaves estrangeiras. Algumas dessas dependências formam estruturas hierárquicas em forma de árvore. Relações pai-filho entre tabelas são comuns.

As LDB leem dados de tabelas de banco de dados que fazem parte dessas estruturas.

Os relatórios executados através de LDB não são processados sequencialmente. O fluxo de processamento é controlado e determinado pela estrutura hierárquica inerente.

Em relação às relações de estrutura hierárquica utilizadas pelas LDB:

As relações pai-filho geralmente são definidas através dos campos chave.

As estruturas sempre representam uma visão lógica das tabelas de banco de dados relacionadas.

As LDB podem ser projetadas usando o Explorador de Objetos do ABAP Workbench, definindo a estrutura, critérios de seleção relevantes e rotinas de acesso ao banco de dados.

A criação de LDB pode ser considerada semelhante ao desenvolvimento de Funções: processos específicos de recuperação de dados que retornam um conjunto de dados definido.

A partir da versão 4.0b, as LDB podem ter nomes com mais de três caracteres.

Saudações,

Maha

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?