¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Marco de Paralelismo de Procesos: Herramienta para Simplificar la Implementación de Procesos de Trabajo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...
El propósito de esta publicación es compartir una herramienta, bueno, no solo una herramienta, un marco ... Me gusta el término marco, suena un poco geek :grin: .

Este marco siempre estará en desarrollo... así que siéntete libre de dar tu opinión.

Para mantener las cosas simples, publicaré el código fuente del marco y algunos ejemplos de uso. Pero antes, profundicemos en algunas preguntas de qué, por qué y cómo.

¿Qué?

Este es un marco que permite a los usuarios tener la capacidad de utilizar el paralelismo de procesos de trabajo sin la carga de gestionar todos los detalles técnicos de implementación.

¿Por qué?

  1. Porque es un tema que realmente me gusta;

  2. No sé... porque quiero.


¿Cómo?

Estoy describiendo la forma sencilla de utilizar el marco en los siguientes puntos:


  1. Las tareas que estás intentando procesar son independientes y no están relacionadas entre sí;

  2. Debes definir un Módulo de Función Habilitado para acceso remoto (esto es extremadamente importante... apuesto a que alguien va a pasar por alto esta particularidad :razz: ), que será tu forma de procesar una entrada;

  3. Reúne los datos a procesar

    1. Ejemplo 1: selecciona pernr en tabla it_employee de pa0000 donde el nombre sea como '%peanuts%'

    2. it_employee necesita tener todos los datos que necesitas para procesar una unidad de proceso (en este caso, un empleado)

    3. Si necesitas múltiples datos, por ejemplo, datos de otra tabla o de siete mil treinta y cinco tablas

      1. Crea un tipo de datos que contendrá todos los datos por unidad de proceso.





  4. Instancia el marco proporcionando:

    1. Nombre del Módulo de Función

    2. Tabla interna que contiene los datos a procesar



  5. Ejecuta el método run


¡Todo esto es pura palabrería pero... háblame en código!

Si eres como yo, probablemente estás saltándote toda la introducción y has llegado a este punto... o no, de todos modos, aquí tienes un ejemplo sencillo:

" **********************************************************************

" Recupera algunos datos de ejemplo

data: it_t005 type table of t005.

select * into table it_t005 up to 100 rows from t005.

try .

" **********************************************************************

" Construye la instancia

l_pp_ref = zcl_pp_factory=>build_instance( pit_raw_data = it_t005

p_rfc_name = 'Z_PP_UNIT_TESTS'

p_logon_group = sp_loggr

p_max_execution_time = sp_maxt

p_task_wait_time = sp_tswt

p_task_max_retries = sp_maxr

p_task_wait_no_resource = sp_tstn

p_log_level = sp_logl

).

" **********************************************************************

" Ejecuta el procesamiento

l_pp_ref->run( ).

" **********************************************************************

" Muestra los resultados

perform display_results using

l_pp_ref

changing

git_processed

git_unprocessed

git_error.

catch zcx_pp_exception into cx.

l_err = cx->if_message~get_text( ).

message l_err type 'S' DISPLAY LIKE 'E'.

endtry.

¿Dónde?

En este momento particular estoy compartiendo esta herramienta utilizando el formato saplink... si no sabes qué es saplink, por favor sigue este
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

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?