Programing Trabajo con estructuras y tablas internas Definición de estructuras con tipos globales Definición de estructuras con tipos locales Acceder a componentes de estructura Copia de componentes de estructura con el mismo nombre Estructuras en modo debugging Ejercicio 6: Obtener datos de un cliente
1. Crear el grupo de funciones ZFG##_CLIENTES.
2. Dentro del grupo de funciones anterior, crear el FM ZFM_LEER_CLIENTE## 3. Definir un parámetro import para el código de cliente, ejm I_KUNNR TYPE KUNNR 4. Definir un parámetro export que sea una estructura para los datos del cliente, ejm ES_KNA1 TYPE KNA1 5. Usar la siguiente sentencia OpenSQL: SELECT SINGLE * INTO ES_KNA1 FROM KNA1 WHERE KUNNR = I_KUNNR. 6. Crear un programa report ZAB##_DATOS_CLIENTE con un parámetro de entrada P_KUNNR. 7. Invocar al FM ZFM_LEER_CLIENTE## y mostrar los resultados como una lista ABAP. Usar como cliente 1032 Tablas internas: opciones de uso Atributos de tablas internas Atributos y uso de los tipos de tabla Definición de tablas internas con tipos globales Definición de tablas internas con tipos locales Definición independiente de tablas internas Posibles definiciones de tablas internas Acceso a registros individuales (resumen) Procesamiento de sets de registros (resumen) Ejemplo de sintaxis: insertar una fila Ejemplo de sintaxis: salida de una tabla interna fila por fila Ejemplo de sintaxis: lectura por índice Ejemplo de sintaxis: lectura por clave Ejemplo de sintaxis: clasificar y borrar contenido Analizar tablas en modo debugging Comparación: tablas internas con y sin líneas de cabecera EJERCICIO 2: Obtener el listado de todos los clientes de la sociedad 1000 1. Construir un módulo de funciones ZFM_LEER_CLIENTES_SOC## dentro del grupo de funciones ZFG##CLIENTES. 2. En el FM ZFM_LEER_CLIENTES_SOC## definir un parámetro import para el código de la sociedad ejm I_BUKRS TYPE BUKRS. 3. En el FM ZFM_LEER_CLIENTES_SOC## definir un parámetro export para devolver una tabla interna, cuyo tipo de línea sea como la tabla KNB1. Utilizar la referencia de utilización para encontrar un tipo tabla adecuado 4. Usar la siguiente instrucción Open SQL para la codificación: SELECT * INTO TABLE ET_KNB1 FROM KNB1 WHERE BUKRS = I_BUKRS 5. Crear un programa report ZAB##_REPORTE_CLIENTES_SOC con un parámetro de entrada P_BUKRS. 6. Invocar al FM ZFM_LEER_CLIENTES_SOC## y mostrar los resultados en un reporte lista. Usar un LOOP para recorrer la tabla interna de resultados ABAP Open SQL Operadores en las condiciones WHERE Operadores en las condiciones WHERE Comparación de campos de tabla Sets de línea individual y multilínea Lista de objetos de datos en lugar de la estructura individual APPENDING en lugar de INTO Suplemento PACKAGE SIZE OPEN CURSOR ... FETCH ... CLOSE CURSOR Variantes del suplemento ORDER BY Suplemento ORDER BY Sentencia SELECT DISTINCT Las funciones de agregado que admite ABAP Open SQL Sentencia SELECT con expresiones agregadas Suplemento GROUP BY Suplemento HAVING Sentencias SELECT anidadas Ejemplo – INNER JOIN o OUTER JOIN Subselects y Subqueries Ejercicio 3: Obtener los documentos contables de una sociedad, por ejercicio y periodo (mes) 1. Cree el programa ZAB##_OPENSQL1 2. Agregar 4 parámetros de la siguiente forma: tables: BKPF. parameters pbukrs type bkpf-bukrs. select-options s_belnr for bkpf-belnr. parameters: pgjahr type bkpf-gjahr, pmonat type bkpf-monat. 3. Incluir lectura de la tabla BKPF (cabecera doc. contable) con los parámetros bukrs, belnr, gjahr, monat. Almacenar los resultados en una tabla interna T_BKPF. 4. Leer la tabla BSEG (posición doc contable) utilizando una instrucion SELECT… FOR ALL ENTRIES. Utilizar la tabla interna T_BKPF como comparación. Almacenar los resultados en una tabla interna T_BSEG. 5. Mostrar los resultados en pantalla, agrupando los datos por cabecera (campos BKPF: BUKRS, BELNR, GJAHR, MONAT, BUDAT, WAERS, XBLNR) y posición (campos BSEG: BUZEI, KOART, HKONT,