3 weeks ago
Hi team,
I'm working on a SAP CPI iFlow that creates production orders in SAP S4H, using the Production Order (Version 2) API.
I started by testing the connection between CPI and SAP, so I only have a Content Modifier with the payload and a Request Reply to connect to the OData adapter.
The payload is as follows:
<?xml version="1.0" encoding="UTF-8"?>
<A_ProductionOrder_2>
<A_ProductionOrder_2Type>
<ManufacturingOrderType>ZP01</ManufacturingOrderType>
<Material>SG002</Material>
<ProductionPlant>3516</ProductionPlant>
<MRPController>001</MRPController>
<MfgOrderPlannedStartDate>2024-09-15T00:00:00</MfgOrderPlannedStartDate>
<MfgOrderPlannedStartTime>00:00:00</MfgOrderPlannedStartTime>
<MfgOrderPlannedEndDate>2024-09-16T00:00:00</MfgOrderPlannedEndDate>
<MfgOrderPlannedEndTime>00:00:00</MfgOrderPlannedEndTime>
<ProductionUnit>PC</ProductionUnit>
<TotalQuantity>10</TotalQuantity>
</A_ProductionOrder_2Type>
</A_ProductionOrder_2>
With this payload, I'm successfully creating production orders, so it doesn't seem like the payload is incorrect. However, CPI is always returning the following error:
com.sap.gateway.core.ip.processor.exception.ODataProcessingException: com.sap.gateway.core.ip.processor.exception.ODataProcessingException: Exception occurred in converting [class java.util.GregorianCalendar] with value [java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=false,zone=sun.util.calendar.ZoneInfo[id="Etc/UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=?,MONTH=?,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=?,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=?,HOUR=?,HOUR_OF_DAY=24,MINUTE=0,SECOND=0,MILLISECOND=?,ZONE_OFFSET=?,DST_OFFSET=?]] to String., cause: java.lang.IllegalArgumentException: HOUR_OF_DAY
I believe the issue is related to two tags in the Request Reply response: MfgOrderPlannedEndTime and MfgOrderScheduledEndTime, with the value PT24H00M00S. It seems that java.util.GregorianCalendar only accepts hours in the range of 0-23, but according to SAP documentation, the hour 24:00 is allowed (which seems incorrect to me).
I'm struggling to find a solution for this issue, as it seems to be a very basic error.
Thanks in advance for your help.
Here
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, I think you need to read Help Portal SAP Documentation: https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/a6f0333202384ba2b48a841a4a6deb1b/d979183f4d01446d89e....
In particular, you have to specify BasicSchedulingType and maybe you have to put fields in the correct order (I'm not sure about that).
I've solved by calling the API via HTTP, pay attention to CSRF validation and etag header.
This guide helped me a lot: https://community.sap.com/t5/technology-q-a/csrf-token-validation-failed/qaq-p/12524895
User | Count |
---|---|
67 | |
10 | |
10 | |
10 | |
10 | |
8 | |
8 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.