Avalados por :

Como devolver o payload quando a data não é o primeiro dia do mês

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...
>

Olá Experts,

Eu escrevi um script groovy para verificar se a newDate na carga é o primeiro dia do mês ou não, para definir um corpo XML. Estou enfrentando problemas quando a newDate não é o primeiro dia do mês.

Eu quero a mesma carga se a newDate na carga não for igual ao primeiro dia do mês. Eu removi a condição else, mas o Iflow falha. Por favor, sugira como devo retornar a carga na condição else. (P.S: Sou muito novo na programação)

Por favor, sugira, pois estou ficando sem tempo e cometendo alguns erros bobos.

import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import groovy.xml.MarkupBuilder
import java.time.LocalDate
import java.time.format.DateTimeFormatter


def Message processData(Message message) {
    
    Reader reader = message.getBody(Reader)
    map = message.getProperties();
    value = map.get("lastWeekNew");
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'00:00:00.000");
    Date newDate = sdf.parse(value);
    def result = newDate - 1;


    Calendar cal = Calendar.getInstance();
    cal.setTime(newDate);
    cal.set(Calendar.DAY_OF_MONTH, 1);
    Date firstDayOfMonth = cal.getTime();
    
   // Definir analisador XML e construtor
    def body = new XmlSlurper().parse(reader)
    def writer = new StringWriter()
    def builder = new    
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

°O Groovy abaixo funcionou corretamente!

import com.sap.gateway.ip.core.customdev.util.Message;
        import java.util.HashMap;
        import java.text.SimpleDateFormat;
        import java.util.Date;
        import java.util.Calendar;
        import java.util.GregorianCalendar;
        import groovy.xml.MarkupBuilder
        import java.time.LocalDate
        import java.time.format.DateTimeFormatter
        def Message processData(Message message) {
            Reader reader = message.getBody(Reader)
            map = message.getProperties();
            value = map.get("lastWeekNew");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'00:00:00.000");
            Date newDate = sdf.parse(value);
            def result = newDate - 1;
            Calendar cal = Calendar.getInstance();
            cal.setTime(newDate);
            cal.set(Calendar.DAY_OF_MONTH, 1);
            Date firstDayOfMonth = cal.getTime();
            // Define XML parser and builder
            def body = new XmlSlurper().parse(reader)
            def writer = new StringWriter()
            def builder = new MarkupBuilder(writer)
            def payload = message.getBody(String);
            // Define target payload mapping
            
        
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?