【问题标题】:Subtract 2 minutes from order date in Control-M在 Control-M 中从订单日期减去 2 分钟
【发布时间】:2021-08-13 11:39:56
【问题描述】:

在 Control-M 中,我有一个在批处理间隔结束后 2 分钟安排的作业,例如2021 年 8 月 13 日 00:02(当地时间)。

我需要从服务器中提取格式为“YYDDMMHHMM.zip”的文件,例如“HHMM”可能是 2350(10 分钟频率);该作业的订购时间是 23:52。

如何从订单日期/时间中减去 2 分钟?如果系统在本地时区运行,那么如何另外用 UTC 时间表示该结果?也就是说,服务器上的文件以 UTC 时间标记。

【问题讨论】:

  • 您的请求与解决方案相关联。我建议您根据生产中的实际挑战重新设计新设计。首先,考虑一下,如果批量生产有任何延迟或提前,您的系统将需要人工干预,因为执行是由文件名中的日期和时间决定的。

标签: control-m bmc


【解决方案1】:

Control-M 中的日期参数不包括分钟或秒,%%$DATE 将解析 yyyymmdd 值。

如果您想要昨天的日期(即在新一天处理后的 1 分钟,您想要之前的 ODAT 值),请使用 CALCDATE 工具减去(或添加)“x”天。

如果你真的想要分钟加/减,那么最好在 Unix 系统级别完成。

Control-M 只是从本地系统时间中获取时间/日期。

【讨论】:

  • 我更新了问题,为问题添加了更多背景信息。
【解决方案2】:

您可以使用“%%CALLCDATE %%TIME -120”,但它会根据 control-m/server 时间计算。

【讨论】:

  • 表达式不符合要求,因为 %%CALCDATE 函数对特定日期添加或减去天数。发送的 TIME 参数将被 %%CALCDATE 解释为日期而不是时间。
猜你喜欢
  • 1970-01-01
  • 2015-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-23
  • 2016-12-08
  • 2012-07-26
相关资源
最近更新 更多