¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Cómo Recopilar Mensajes Individuales en un Lote en SAP Data Intelligence

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 30 Vistas
0
Cargando...
{
		"file": {
			"connection": {
				"configurationType": "Connection Management",
				"connectionID": "/"
			},
			"isDir": false,
			"modTime": "2021-07-08T20:59:17Z",
			"path": "/JW/fire/000000.mp4",
			"size": 26082659
		},
		"fileEvent": "alreadyExists",
		"message.batchIndex": 10,
		"message.batchParent": {
			"message.batchCount": "null",
			"message.batchIndex": 0,
			"message.batchSize": 1,
			"message.batchSizeUnit": "null",
			"message.lastBatch": true
		},
		"message.batchSize": 1,
		"message.lastBatch": true
	}
	

El anterior es el resultado del operador LIST en SAP Data Intelligence. Pero esto se presenta como un mensaje individual (file.message). ¿Cómo puedo recopilar todos los mensajes en un lote? es decir,

Tal vez recopilando todos los nombres de archivo en una lista de Python.

es decir = [00000.mp4, 000001.mp4, ... 0000010.mp4]

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

2 Respuestas

0
Cargando...

Gracias Andy, primero por contarme sobre el operador "From File", hace la vida más fácil en algunos casos 🙂

También necesitaba enviar solo una vez, cuando el lote estuviera completamente terminado. Y encontré mi solución en otra de tus respuestas en el foro.

registros=[]
def on_input(msg):
   
    global registros
    registros.append(msg.attributes['file']['path'])
    if msg.attributes['message.lastBatch']:
        api.send("out", registros)

api.set_port_callback("in", on_input)

Así que muchas gracias

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

Hola Rajarshi,

Puedes usar el operador " From File " para extraer el atributo de ruta de un mensaje de archivo. En el operador downstream de python3, por ejemplo, puedes obtener el atributo de ruta recuperando el cuerpo de la siguiente manera:

registros = []
def on_input(msg):
    global registros
    registros.append(msg.body)

O, si no deseas utilizar el operador "From File", puedes recuperar directamente la ruta del mensaje del archivo de entrada de la siguiente manera:

 registros = [] def on_input(msg):    global registros    registros.append(msg.attributes["file"]["path"])

Saludos,

/Andy

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

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?