¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Guía para utilizar LDB en informes y solucionar errores de nodos en zgldb

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

Quiero intentar un informe donde pueda usar LDB. Así que intenté lo siguiente.

Informe zgldb.

Nodos: pap.

Cuando simplemente lo compilo, dice 'PAP no es un nodo de la base de datos lógica _S'..

¿Qué significa esto? ¿Cómo usar LDB en un informe?

Gracias

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

4 Respuestas

0
Cargando...

Hola Gopi,

Ingresando al marco de contenido

Estructura de las bases de datos lógicas Localice el documento en la estructura de la biblioteca SAP

Una base de datos lógica se compone de tres componentes (ver ilustración para más detalles). Ellos son:

  • Estructura

La estructura define la vista de datos de la base de datos lógica. Determina la estructura de los otros componentes y el comportamiento de la base de datos lógica en tiempo de ejecución. El orden en que los datos están disponibles para el usuario depende de la estructura jerárquica de la base de datos lógica en cuestión.

  • Selecciones

Las selecciones definen una pantalla de selección, que forma la interfaz de usuario de los programas ejecutables que utilizan la base de datos lógica. Su diseño suele estar determinado por la estructura. Puede adaptar las selecciones a sus propios requisitos y también agregar nuevas. Cuando vincula una base de datos lógica a un programa ejecutable, las selecciones de la base de datos lógica se convierten en parte de la pantalla de selección estándar del programa (número de pantalla 1000). Si llama a una base de datos lógica utilizando el módulo de función LDB_PROCESS, las selecciones se completan utilizando parámetros de interfaz.

  • Programa de base de datos

El programa de base de datos contiene las declaraciones ABAP utilizadas para leer los datos y pasarlos al usuario de la base de datos lógica. La estructura del programa de base de datos es una colección de subrutinas especiales. Está determinada por la estructura y las selecciones. Puede adaptar el programa de base de datos a sus propios requisitos y también ampliarlo.

Otros componentes como documentación, textos específicos de idiomas y pantallas de selección definidas por el usuario amplían aún más las funciones.

Estructura

La estructura de una base de datos lógica se basa generalmente en las relaciones de clave externa entre tablas jerárquicas en el Sistema R/3. Las bases de datos lógicas tienen una estructura en forma de árbol, que se puede definir de la siguiente manera:

· Hay un único nodo en el nivel más alto. Este se conoce como el nodo raíz.

· Cada nodo puede tener una o varias ramas.

· Cada nodo se deriva de otro nodo.

Los nodos deben ser estructuras definidas en el Diccionario ABAP o tipos de datos de un grupo de tipos. Normalmente, estas son las estructuras de tablas de base de datos que la base de datos lógica lee y pasa al usuario para una evaluación adicional. Sin embargo, también es posible, y a veces útil, utilizar estructuras del Diccionario ABAP sin una base de datos subyacente. Por razones técnicas, el número máximo de nodos permitidos en la estructura de una base de datos lógica es 300.

Cualquier programa ABAP ejecutable que tenga una base de datos lógica vinculada a él puede contener una instrucción GET para cada nodo de la estructura. Cuando ejecuta el programa, los bloques de eventos correspondientes se procesan en la secuencia prescrita por la estructura jerárquica de la base de datos lógica. Si un programa no contiene una instrucción GET para cada nodo de una base de datos lógica, el procesamiento pasa por todos los nodos que se encuentran en el camino desde la raíz hasta los nodos especificados por las instrucciones GET.

Si llama a una base de datos lógica utilizando el módulo de función LDB_PROCESS, la profundidad a la que el sistema lee está controlada por un parámetro de interfaz.

Ejemplo

Suponga que LFA1 es el nodo raíz, LFBK y LFB1 son ramas de LFA1, y LFC1 es una rama de LFB1.

Este gráfico se explica en el texto adjunto

Si el programa ejecutable contiene instrucciones GET para todos los nodos, los eventos GET se ejecutan en el orden LFA1, LFBK, LFB1, LFC1. Si el programa solo contiene una única instrucción GET para LFB1, el procesamiento solo pasa por LFA1 y LFB1.

Selecciones

Las selecciones en una base de datos lógica se definen utilizando las declaraciones normales para definir pantallas de selección, es decir, PARÁMETROS, SELECT-OPTIONS; y SELECTION-SCREEN. En una base de datos lógica, también puede utilizar las adiciones VALUE-REQUEST y HELP-REQUEST para definir entradas específicas y ayuda de valores. Define la pantalla de selección en un programa de inclusión especial conocido como la inclusión de selección.

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

Estimado Gopi,

Bases de Datos Lógicas

Las bases de datos lógicas son programas ABAP especiales que recuperan datos y los ponen a disposición de los programas de aplicación. El uso más común de las bases de datos lógicas sigue siendo leer datos de tablas de base de datos vinculándolas a programas ABAP ejecutables.

Sin embargo, desde la versión 4.5A, también ha sido posible llamar a bases de datos lógicas utilizando el módulo de función LDB_PROCESS. Esto le permite llamar a varias bases de datos lógicas desde cualquier programa ABAP, anidadas de cualquier manera. También es posible llamar a una base de datos lógica más de una vez en un programa, si se ha programado para permitirlo. Esto es particularmente útil para programas de tipo 1.

Las bases de datos lógicas contienen declaraciones Open SQL que leen datos de la base de datos. Por lo tanto, no es necesario utilizar SQL en sus propios programas. La base de datos lógica lee el programa, los almacena en el programa si es necesario y luego los pasa línea por línea al programa de aplicación o al módulo de función LDB_PROCESS utilizando un área de trabajo de interfaz.

Bases de Datos Lógicas - Vistas de Datos

Una base de datos lógica proporciona una vista particular de las tablas de la base de datos en el sistema R/3. Si la estructura de los datos que desea leer corresponde a una vista disponible a través de una base de datos lógica, siempre vale la pena utilizar bases de datos lógicas.

Hay dos formas de utilizar una base de datos lógica: ya sea vinculándola con un programa ejecutable, o utilizando el módulo de función LDB_PROCESS en cualquier programa ABAP.

Al vincular una base de datos lógica a un programa ejecutable, el usuario puede ingresar valores en la pantalla de selección, y los datos leídos por la base de datos lógica se devuelven al programa utilizando las áreas de trabajo de interfaz. Si llama a la base de datos lógica utilizando un módulo de función, la pantalla de selección no se muestra. El programa que llama no tiene que proporcionar áreas de trabajo de interfaz. En su lugar, utiliza subrutinas especiales llamadas rutinas de devolución de llamada, que son llamadas por el módulo de función y se llenan con los datos requeridos.

Vinculación de una Base de Datos Lógica a un Programa Ejecutable

Cuando vincula un programa ejecutable a una base de datos lógica ingresando el nombre de la base de datos lógica en los atributos del programa, los subprogramas del programa de base de datos lógica y los bloques de eventos del programa ejecutable forman un programa modularizado para leer y procesar datos. Los bloques de procesamiento individuales se llaman en una secuencia predefinida por el entorno de tiempo de ejecución (consulte el diagrama en la sección Bases de Datos Lógicas y Contextos). La secuencia de tiempo de ejecución está controlada por la estructura, selecciones y declaraciones PUT en la base de datos lógica, y por las declaraciones GET en el programa ejecutable.

Pantalla de Selección

Si especifica una base de datos lógica en los atributos de un programa ejecutable, esto afecta a la pantalla de selección estándar del programa. Contiene tanto los campos de selección de la base de datos lógica como los del programa en sí. Puede especificar cuáles de las selecciones de la base de datos lógica son relevantes para su programa, y por lo tanto deben aparecer en la pantalla, declarando áreas de trabajo de interfaz para los nodos relevantes.

Comportamiento en Tiempo de Ejecución

La siguiente lista muestra la secuencia en la que el entorno de tiempo de ejecución ABAP llama a los subprogramas de la base de datos lógica y los bloques de eventos en el programa ejecutable. El entorno de tiempo de ejecución ejecuta una serie de procesadores (procesador de pantalla de selección, procesador de informes). El código ABAP enumerado a continuación muestra los bloques de procesamiento que pertenecen a los pasos individuales.

Inicialización antes de que se procese la pantalla de selección.

Subrutina:

FORM INIT

Esta subrutina se llama una sola vez antes de que se muestre la pantalla de selección por primera vez.

Bloque de evento:

INITIALIZATION.

Este evento ocurre una sola vez antes de que se muestre la pantalla de selección por primera vez.

PBO de la Inicialización de la pantalla de selección antes de cada ocasión en la que se muestra la pantalla de selección (por ejemplo, para proporcionar valores predeterminados para campos clave).

Subrutina:

FORM PBO.

Esta subrutina se llama cada vez que se envía la pantalla de selección (antes de que se muestre).

Bloque de evento:

AT SELECTION-SCREEN OUTPUT.

Este evento se llama cada vez que se envía la pantalla de selección (antes de que se muestre).

La pantalla de selección se muestra en el servidor de presentación y el usuario puede ingresar datos en los campos de entrada.

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

LDB de SAP (Bases de Datos Lógicas) proporcionan interfaces de acceso a datos personalizados y diversos procedimientos para recuperar conjuntos de datos complejos de R/3.

Algunos datos destacados sobre las Bases de Datos Lógicas (LDB):

Las LDB siempre se configuran automáticamente para un rendimiento óptimo y contienen funciones adicionales como verificaciones de autorización y ayudas de búsqueda.

Los informes que utilizan LDB tienen una relación 1:1, es decir, un informe puede utilizar solo una LDB.

Una LDB tiene una relación 1:n con los informes, lo que significa que una LDB puede tener varios informes utilizando su funcionalidad.

Las LDB utilizan declaraciones Open SQL para lecturas directas de datos y recuperación de la aplicación de base de datos subyacente (Oracle, Informix, Sybase, etc.).

Las LDB simplifican y 'encapsulan' la recuperación de datos.

Los detalles técnicos de una LDB (es decir, cláusulas WHERE dentro de las declaraciones SELECT) no requieren especificación por parte de los desarrolladores.

Las actualizaciones, cambios, etc., en una LDB se promocionan inmediatamente a todos los informes que utilizan esa LDB.

La estructura de datos de una LDB siempre es jerárquica. Muchas tablas dentro del Sistema R/3 están vinculadas entre sí mediante claves foráneas. Algunas de estas dependencias forman estructuras jerárquicas tipo árbol. Las relaciones padre-hijo entre tablas son la norma.

Las LDB leen datos de tablas de base de datos que forman parte de estas estructuras.

Los informes ejecutados a través de LDB no se procesan de forma secuencial. El flujo de procesamiento se controla y determina a través de la estructura jerárquica inherente.

Respecto a las relaciones de estructura jerárquica utilizadas por las LDB:

Las relaciones padre-hijo suelen definirse a través de los campos clave.

Las estructuras siempre representan una vista lógica de las tablas de base de datos relacionadas.

Las LDB pueden diseñarse utilizando el Explorador de Objetos de ABAP Workbench, definiendo la estructura, criterios de selección relevantes y rutinas de acceso a la base de datos.

La creación de LDB se puede considerar similar al desarrollo de Funciones: procesos específicos de recuperación de datos que devuelven un conjunto de datos definido.

A partir de la versión 4.0b, las LDB pueden tener nombres de más de tres caracteres.

Saludos,

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?