0% encontró este documento útil (0 votos)
14 vistas6 páginas

Programa Alv Crud Con Ia Cici

El documento proporciona un esqueleto de código ABAP para convertir un programa ALV CRUD en un programa Dynpro con Table Control compatible con ABAP 6.5. Incluye la estructura básica, operaciones CRUD y mensajes de confirmación, así como pasos detallados para implementar el código y crear la pantalla Dynpro. Se mencionan consideraciones adicionales como validaciones, manejo de errores, autorizaciones y optimización del rendimiento.

Cargado por

viceawork06
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas6 páginas

Programa Alv Crud Con Ia Cici

El documento proporciona un esqueleto de código ABAP para convertir un programa ALV CRUD en un programa Dynpro con Table Control compatible con ABAP 6.5. Incluye la estructura básica, operaciones CRUD y mensajes de confirmación, así como pasos detallados para implementar el código y crear la pantalla Dynpro. Se mencionan consideraciones adicionales como validaciones, manejo de errores, autorizaciones y optimización del rendimiento.

Cargado por

viceawork06
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

EN SAP Convertir el siguienet programa ABAP ALV CRUD, en un

programa ABAP Dympro con table control que sea compatible con
ABAP 6.5, el programa debe ser completo y funcional, se debe incluir
mensajes de cada operación, crear, actualizar y borrar
Comprendo tu solicitud. Convertir un programa ABAP ALV CRUD
(Crear, Leer, Actualizar, Borrar) a un programa Dynpro con Table
Control compatible con ABAP 6.5 implica una reestructuración
significativa del código. Dado que ABAP 6.5 es una versión antigua,
las funcionalidades modernas como ALV no están disponibles de la
misma manera que en versiones más recientes.

Dada la complejidad de la tarea, te proporcionaré un esqueleto de


código ABAP que puedes adaptar. Este código incluye la estructura
básica de un Dynpro con Table Control, junto con las operaciones
CRUD y mensajes de confirmación.

abap
REPORT Z_DYMPRO_CRUD.

"*** Estructuras y Tipos ***"


TYPES:
BEGIN OF ty_data,
carrid TYPE spfli-carrid, " ID de la aerolínea
connid TYPE spfli-connid, " ID de la conexión
fldate TYPE spfli-fldate, " Fecha del vuelo
END OF ty_data.

"*** Tablas Internas ***"


DATA:
gt_data TYPE TABLE OF ty_data, " Tabla interna para los datos
gs_data TYPE ty_data. " Estructura de trabajo para los datos

"*** Variables de Dynpro ***"


DATA:
gv_lines TYPE i VALUE 10. " Número de líneas visibles en el Table
Control

"*** Declaración de la Table Control ***"


CONTROLS:
table_control TYPE TABLEVIEW USING SCREEN 100.

"*** Selección de la Base de Datos ***"


SELECT-OPTIONS:
s_carrid FOR gs_data-carrid. " Selección por ID de la aerolínea

"*** Evento de Inicialización ***"


INITIALIZATION.
gv_lines = 10. " Establecer el número inicial de líneas visibles

"*** Evento de Selección de Inicio ***"


START-OF-SELECTION.
PERFORM get_data. " Obtener los datos iniciales

"*** Evento de Fin de Selección ***"


END-OF-SELECTION.
CALL SCREEN 100. " Mostrar la pantalla Dynpro

"&--------------------------------------------------------------------
-*"
"*& Form get_data
"*&-------------------------------------------------------------------
--*"
"* Obtiene los datos de la base de datos
"---------------------------------------------------------------------
-*"
FORM get_data.

SELECT carrid connid fldate


FROM spfli
INTO TABLE gt_data
WHERE carrid IN s_carrid.

DESCRIBE TABLE gt_data LINES gv_lines. " Establecer el número de


líneas

ENDFORM.

"&--------------------------------------------------------------------
-*"
"*& Module STATUS_0100 OUTPUT
"*&-------------------------------------------------------------------
--*"
"* PBO para la pantalla 100
"---------------------------------------------------------------------
-*"
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STANDARD'. " Establecer la GUI Status
SET TITLEBAR 'TITULO'. " Establecer la barra de título
ENDMODULE.

"&--------------------------------------------------------------------
-*"
"*& Module USER_COMMAND_0100 INPUT
"*&-------------------------------------------------------------------
--*"
"* PAI para la pantalla 100
"---------------------------------------------------------------------
-*"
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'CREATE'.
PERFORM create_record.
WHEN 'UPDATE'.
PERFORM update_record.
WHEN 'DELETE'.
PERFORM delete_record.
WHEN 'REFRESH'.
PERFORM get_data.
ENDCASE.
ENDMODULE.

"&--------------------------------------------------------------------
-*"
"*& Form CREATE_RECORD
"&--------------------------------------------------------------------
-*"
"* Crea un nuevo registro
"---------------------------------------------------------------------
-*"
FORM create_record.
"*** Añadir una nueva línea a la tabla interna ***"
APPEND INITIAL LINE TO gt_data.
DESCRIBE TABLE gt_data LINES gv_lines.
MESSAGE 'Registro creado' TYPE 'I'. " Mostrar mensaje informativo
ENDFORM.

"&--------------------------------------------------------------------
-*"
"*& Form UPDATE_RECORD
"&--------------------------------------------------------------------
-*"
"* Actualiza un registro existente
"---------------------------------------------------------------------
-*"
FORM update_record.
"*** Modificar la tabla interna ***"
MODIFY gt_data INDEX table_control-current_line FROM gs_data.
MESSAGE 'Registro actualizado' TYPE 'I'. " Mostrar mensaje
informativo
ENDFORM.

"&--------------------------------------------------------------------
-*"
"*& Form DELETE_RECORD
"&--------------------------------------------------------------------
-*"
"* Borra un registro existente
"---------------------------------------------------------------------
-*"
FORM delete_record.
"*** Borrar la línea seleccionada de la tabla interna ***"
DELETE gt_data INDEX table_control-current_line.
DESCRIBE TABLE gt_data LINES gv_lines.
MESSAGE 'Registro borrado' TYPE 'I'. " Mostrar mensaje informativo
ENDFORM.

Pasos para implementar este código:

1. Crear el programa ABAP:


o Abre la transacción SE38 en SAP.
o Ingresa un nombre para el programa (ej. Z_DYMPRO_CRUD).

o Crea el programa como un "Executable Program".

o Copia y pega el código ABAP proporcionado en el editor.


2. Crear la pantalla Dynpro:
o En la transacción SE38, en el mismo programa, ve a
"Screens" y crea una nueva pantalla (ej. 100).
o En el Layout de la pantalla, inserta un "Table Control".
Define el nombre del Table Control (ej. TABLE_CONTROL).
o Define las propiedades del Table Control:
o Control: TABLE_CONTROL
o Lines: GV_LINES
o With Header Line: (Marcar)
o En la sección "Fields", añade los campos de la
estructura ty_data (carrid, connid, fldate).
o Añade botones a la pantalla para las funciones CRUD
(Crear, Actualizar, Borrar, Refrescar). Asigna códigos OK a
estos botones (ej. CREATE, UPDATE, DELETE, REFRESH).
3. Asignar el código PBO y PAI:

o En la pantalla Dynpro, en la sección "Flow Logic",


asegúrate de tener los siguientes módulos:

abap
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.

PROCESS AFTER INPUT.


MODULE USER_COMMAND_0100.

4. Crear la GUI Status:


o Abre la transacción SE41.
o Crea una nueva GUI Status (ej. STANDARD).
o Añade botones a la GUI Status que correspondan a las
funciones CRUD (Crear, Actualizar, Borrar, Refrescar).
Asigna códigos de función a estos botones
(ej. CREATE, UPDATE, DELETE, REFRESH).
o Activa la GUI Status.
5. Crear la barra de título:
o Abre la transacción SE41.
o Crea una nueva barra de título (ej. TITULO).

o Añade un texto descriptivo a la barra de título.

o Activa la barra de título.


6. Activar y probar:

o Activa todos los objetos (programa ABAP, pantalla


Dynpro, GUI Status, barra de título).
o Ejecuta el programa y prueba las funciones CRUD en la
pantalla Dynpro.

Consideraciones adicionales:

 Validaciones: Añade validaciones para asegurar que los datos


ingresados sean correctos (ej. verificar que los campos
obligatorios estén llenos).
 Manejo de errores: Implementa un manejo de errores robusto
para capturar cualquier excepción que pueda ocurrir durante
las operaciones CRUD.
 Autorizaciones: Considera la implementación de controles de
autorización para asegurar que solo los usuarios autorizados
puedan realizar ciertas operaciones.
 Rendimiento: Optimiza las consultas a la base de datos para
asegurar un buen rendimiento, especialmente si la
tabla SPFLI contiene una gran cantidad de datos.

Este es un esqueleto básico, y necesitarás adaptarlo a tus


necesidades específicas. Dada la complejidad y los detalles
involucrados, es posible que necesites ajustar el código y la
configuración según tu entorno SAP 6.5.

También podría gustarte