Avalados por :

Como converter string em inteiro no SAP CPI usando Groovy - Solução e Exemplo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 26 Vistas
0
Cargando...

Olá a todos,

Tenho um requisito para converter o tipo de dados de string para tipo de dados inteiro se o campo contiver um número inteiro, caso contrário, se o campo contiver um valor de string, passá-lo como está.

Por exemplo, tenho a carga útil

Para o campo "PurReqnSSPCatalogForEdit" tenho um valor inteiro. Preciso convertê-lo de string para inteiro.

Escrevi o seguinte script groovy para isso

import com.sap.gateway.ip.core.customdev.util.Message;

import java.util.HashMap;

import groovy.json.*

def Message processData(Message message) {

//Corpo

def jsonOP = message.getBody(String.class);

jsonOP=jsonOP.toString()

def json_to_str="{\"Element\":["+jsonOP+"]}"

def jsonSlurper = new JsonSlurper();

def list = jsonSlurper.parseText(json_to_str);

list.Element.each{

it.EmployeeForEdit.toString()

it.BusinessObjectTypeForEdit.toString()

it.PurReqnSSPCatalogForEdit=Integer.parseInt(it.get("PurReqnSSPCatalogForEdit").toString());

}

def jsonlist = JsonOutput.toJson(list);

def jsonObject = jsonSlurper.parseText(jsonlist);

def removerootnode = JsonOutput.toJson(jsonObject["Element"]);

def removebraket = removerootnode.replace("[","");

def removeendbraket = removebraket.replace("]","");

message.setBody(removeendbraket);

return message;

}

Mas se o campo "PurReqnSSPCatalogForEdit" tiver um valor de string, analise-o como está. Qual é a condição que devo adicionar ao script groovy acima para conseguir isso? Por favor, forneça uma solução para isso

Obrigada,

Vineetha.

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

2 Respuestas

0
Cargando...

Olá Vineetha,

Modifique o código abaixo de acordo com suas necessidades.

try{

if (val.isInteger() == true)

{

def modifedVal = val.toInteger()

}

}

catch(Exception ex) {

}

Aqui val é o nome do campo.

Saudações,

Priyanka

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

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?