¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Estrutura de Paralelismo de Processos: Ferramenta para Simplificar a Implementação de Processos de Trabalho

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 0 Vistas
0
Cargando...
O objetivo desta publicação é compartilhar uma ferramenta, bem, não apenas uma ferramenta, um framework... Gosto do termo framework, soa um pouco geek :grin: .

Este framework estará sempre em desenvolvimento... então sinta-se à vontade para dar sua opinião.

Para manter as coisas simples, vou postar o código-fonte do framework e alguns exemplos de uso. Mas antes, vamos aprofundar em algumas perguntas sobre o quê, por que e como.

O quê?

Este é um framework que permite aos usuários ter a capacidade de utilizar o paralelismo de processos de trabalho sem a carga de gerenciar todos os detalhes técnicos de implementação.

Por que?

  1. Porque é um tema que realmente me interessa;

  2. Não sei... porque quero.


Como?

Estou descrevendo a forma simples de utilizar o framework nos seguintes pontos:


  1. As tarefas que você está tentando processar são independentes e não estão relacionadas entre si;

  2. Você deve definir um Módulo de Função Habilitado para acesso remoto (isso é extremamente importante... aposto que alguém vai ignorar essa particularidade :razz: ), que será sua forma de processar uma entrada;

  3. Reúna os dados a serem processados

    1. Exemplo 1: selecione pernr na tabela it_employee de pa0000 onde o nome seja como '%peanuts%'

    2. it_employee precisa ter todos os dados necessários para processar uma unidade de processo (neste caso, um funcionário)

    3. Se você precisar de múltiplos dados, por exemplo, dados de outra tabela ou de sete mil e trinta e cinco tabelas

      1. Crie um tipo de dados que conterá todos os dados por unidade de processo.





  4. Instancie o framework fornecendo:

    1. Nome do Módulo de Função

    2. Tabela interna que contém os dados a serem processados



  5. Execute o método run


Tudo isso é só conversa, mas... fale comigo em código!

Se você é como eu, provavelmente está pulando toda a introdução e chegou a este ponto... ou não, de qualquer forma, aqui está um exemplo simples:

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

" Recupera alguns dados de exemplo

data: it_t005 type table of t005.

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

try .

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

" Constrói a instância

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

).

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

" Executa o processamento

l_pp_ref->run( ).

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

" Mostra os 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.

Onde?

Neste momento específico, estou compartilhando esta ferramenta usando o formato saplink... se você não sabe o que é saplink, por favor, siga 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?