cancel
Showing results for 
Search instead for 
Did you mean: 

Deadline getting expired with adding 5+ Hours instead of calculated hours in SAP workflow

Former Member
0 Kudos

Hi,

We are using an expression as Ref.date and time to calculate the latest End and have a problem while calculating latest end date and time.

We compared all the customer settings in both  development and quality system and found everything is fine. Even we checked the WF-BATCH user also but found the same.

Please help me to fix this as this is a very high priority issue to me.

Note: When we executed the function module which is calculating the date and time for the latest end in standalone we are seeing the correct date and time what we are seeing in the development system, but at run time when workflow triggers the method and assign the values to the expressions for the latest end it is throwing some other date and time (difference of exactly 5 hours). Our system time zone is in UTC.

When our code calculates, it produces the right value. But in Quality system in workflow, the resulted value gets added with 5 hours and workitem triggers based on that. But, in Dev system, this 5 hours is not getting added and the workitem triggers at the right time.

Please let me know if anybody are not clear with the issue.

Thanks,

Prabu

Accepted Solutions (0)

Answers (4)

Answers (4)

Jocelyn_Dart
Product and Topic Expert
Product and Topic Expert
0 Kudos

Any chance the workflow step that is running END_TIME_DETERMINE is running under a different user to WF-BATCH?

Former Member
0 Kudos

Hi All,

Thanks for your response.

We found that user time zone maintained in Su01d for the user (WF-BATCH) is different.

In DEV, user time zone was maintained as empty and system time zone was 'UTC'.

In QUALITY, user time zone was maintained as 'EST' and system time zone was 'UTC'.

In PRD, user time zone was maintained as 'UTC' and system time zone was 'UTC'.

So, we have asked the basis team to maintain the quality as same as PROD.

Now, the mail triggers at the right time.

Thanks for all of your support.

Regards,

Prabu

former_member185167
Active Contributor
0 Kudos

That is exactly what Karri suggested in the second response to your question.

Please mark his answer as Correct.

Jocelyn_Dart
Product and Topic Expert
Product and Topic Expert
0 Kudos

If it's a blanket +5 hours it's much more likely to be a modification or override of some kind - +5 hours is way too specific. Anything standard is going to resolve to standard calendar time in UTC as a worst case scenario.

Are you able to test END_TIME_DETERMINE e.g. through transaction SE37 in Quality? That might work out if the problem is in the code or higher up. If it's happening even in END_TIME_DETERMINE I'd suggest you debug and see if there's a modification enhancement (it might be an implicit one) causing the problem.

Have you checked the workflow log and container in Quality to see if the +5 hours is happening on the original calculation or being overridden later - e.g. maybe it's getting clobbered by some "test" batch job.

Checking the default timezone on WF-BATCH is a good idea though... if that's different in Quality than Development that could be a problem. Also check your own user id that you are using for the inbox and to look at the workflow logs... just in case there's a user formatting conversion happening at runtime to convert from system time to that user's timezone.

And check that the system timezone is the same in both systems.

All I can think of for now... let us know how you go.

Former Member
0 Kudos

Hi Jocelyn,

That FM is working fine. I tested separately in quality. In the workflow only, the issues raises that too in dev, it is working fine. In quality, it is adding 5 hours.

Also, already i have checked that default time zone in both quality and dev. Both are same.

I have checked the timezone of my user id as well.

Am in EST and system time zone is in UTC. So, we are trying to pass UTC manually (through custom). Will update once we move the changes to quality.

Thanks,

Prabu

former_member185167
Active Contributor
0 Kudos

Hello,

As you no doubt know, EST is 5 hours behind UTC so there is a timezone setting there somewhere that needs to be found and fixed.

regards

Rick

Former Member
0 Kudos

yes Rick,

I understand your point and we also conculded the same. But, basis team is saying that the system settings are same in both development and quality. We are not facing this issue in Dev, only in quality. So, no clue in this.

Thanks,

Prabu

former_member185167
Active Contributor
0 Kudos

Hello,

if I understand correctly, when you run fm END_TIME_DETERMINE from SE37 in your Q system then it calculates the time correctly. But when workflow uses it, it adds 5 hours.

How are you using END_TIME_DETERMINE in workflow? Is it being called in a method? Could you show the code?

regards

Rick Bakker

Former Member
0 Kudos

Could it have something to do with time zones? You mentioned the system time zone, but what about the user WF-BATCH (or some other users which might be executing the function when executed in workflow) time zone in the quality system? 

Could you use some other function or even code it by yourself? (What if you just code some simple hard coded version (without using the function) and test with that? Does it work then? Just trying to narrow down the reason (is the problem in the function or is it something more general in the system).


Just throwing out some ideas...


Regards,

Karri

Jocelyn_Dart
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Prabu, Which function module? END_TIME_DETERMINE?  Any chance there's a dodgy factory calendar gumming up the works? You might need to check the configuration of the factory calendar as well.

Perhaps 2015 doesn't exist yet in that factory calendar?

Other than that I'd be hunting for custom modifications that are bypassing the code... some squirly developers idea of how to test deadlines the dodgy way perhaps?

Just a thought

Jocelyn

Former Member
0 Kudos

Hi Jocelyn,

Yes, the same FM..for me the factory calendar works perfectly. The FM returns the right value. I can see the right date and time after my custom code in the workitem. After then, workflow adds that 5 hours with the time. Which happens only in Quality.

In development system, the same logic works perfectly.

Do you have any suggestion?.

Thanks,

Prabu