本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EventBridge 使用适用于 SAP 的 SDK 的调度器示例 ABAP
以下代码示例向您展示了如何使用带 EventBridge 调度程序的 SAP ABAP AWS SDK 来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 CreateSchedule。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Constants for time calculations DATA lv_start_date TYPE /aws1/scdstartdate. DATA lv_end_date TYPE /aws1/scdenddate. DATA lv_start_timestamp TYPE timestamp. DATA lv_end_timestamp TYPE timestamp. DATA lv_hours_to_run TYPE i VALUE 1. " Get current timestamp GET TIME STAMP FIELD lv_start_timestamp. " Add 1 hour to the current timestamp using CL_ABAP_TSTMP lv_end_timestamp = cl_abap_tstmp=>add( tstmp = lv_start_timestamp secs = lv_hours_to_run * 3600 ). " Convert timestamps to decimal format for AWS API lv_start_date = lv_start_timestamp. lv_end_date = lv_end_timestamp. " Prepare flexible time window configuration DATA lo_flexible_time_window TYPE REF TO /aws1/cl_scdflexibletimewindow. IF iv_use_flexible_time_win = abap_true. " iv_use_flexible_time_win = ABAP_TRUE " Example: Set MaximumWindowInMinutes to 10 for flexible window lo_flexible_time_window = NEW /aws1/cl_scdflexibletimewindow( iv_mode = 'FLEXIBLE' iv_maximumwindowinminutes = 10 ). ELSE. lo_flexible_time_window = NEW /aws1/cl_scdflexibletimewindow( iv_mode = 'OFF' ). ENDIF. " Prepare target configuration " Example iv_target_arn = 'arn:aws:sqs:us-east-1:123456789012:my-queue' " Example iv_role_arn = 'arn:aws:iam::123456789012:role/SchedulerRole' " Example iv_input = '{"message": "Hello from EventBridge Scheduler"}' DATA(lo_target) = NEW /aws1/cl_scdtarget( iv_arn = iv_target_arn iv_rolearn = iv_role_arn iv_input = iv_input ). " Set action after completion if needed DATA lv_action_after_completion TYPE /aws1/scdactionaftercompletion. IF iv_delete_after_completion = abap_true. " iv_delete_after_completion = ABAP_TRUE lv_action_after_completion = 'DELETE'. ELSE. lv_action_after_completion = 'NONE'. ENDIF. " Create the schedule " Example iv_name = 'my-schedule' " Example iv_schedule_expression = 'rate(15 minutes)' " Example iv_schedule_group_name = 'my-schedule-group' DATA(lo_result) = lo_scd->createschedule( iv_name = iv_name iv_scheduleexpression = iv_schedule_expression iv_groupname = iv_schedule_group_name io_target = lo_target io_flexibletimewindow = lo_flexible_time_window iv_startdate = lv_start_date iv_enddate = lv_end_date iv_actionaftercompletion = lv_action_after_completion ). ov_schedule_arn = lo_result->get_schedulearn( ). MESSAGE 'Schedule created successfully.' TYPE 'I'. CATCH /aws1/cx_scdconflictexception INTO DATA(lo_conflict_ex). DATA(lv_error) = |Conflict creating schedule: { lo_conflict_ex->if_message~get_text( ) }|. MESSAGE lv_error TYPE 'I'. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_ex). DATA(lv_generic_error) = |Error creating schedule: { lo_generic_ex->if_message~get_text( ) }|. MESSAGE lv_generic_error TYPE 'I'. ENDTRY.-
有关 API 的详细信息,请参阅适用CreateSchedule于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 CreateScheduleGroup。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Example iv_name = 'my-schedule-group' DATA(lo_result) = lo_scd->createschedulegroup( iv_name = iv_name ). ov_schedule_group_arn = lo_result->get_schedulegrouparn( ). MESSAGE 'Schedule group created successfully.' TYPE 'I'. CATCH /aws1/cx_scdconflictexception INTO DATA(lo_conflict_ex). DATA(lv_error) = |Conflict creating schedule group: { lo_conflict_ex->if_message~get_text( ) }|. MESSAGE lv_error TYPE 'I'. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_ex). DATA(lv_generic_error) = |Error creating schedule group: { lo_generic_ex->if_message~get_text( ) }|. MESSAGE lv_generic_error TYPE 'I'. ENDTRY.-
有关 API 的详细信息,请参阅适用CreateScheduleGroup于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DeleteSchedule。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Example iv_name = 'my-schedule' " Example iv_schedule_group_name = 'my-schedule-group' lo_scd->deleteschedule( iv_name = iv_name iv_groupname = iv_schedule_group_name ). MESSAGE 'Schedule deleted successfully.' TYPE 'I'. CATCH /aws1/cx_scdresourcenotfoundex INTO DATA(lo_not_found_ex). DATA(lv_error) = |Schedule not found: { lo_not_found_ex->if_message~get_text( ) }|. MESSAGE lv_error TYPE 'I'. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_ex). DATA(lv_generic_error) = |Error deleting schedule: { lo_generic_ex->if_message~get_text( ) }|. MESSAGE lv_generic_error TYPE 'I'. ENDTRY.-
有关 API 的详细信息,请参阅适用DeleteSchedule于 S AP 的AWS SDK ABAP API 参考。
-
以下代码示例演示了如何使用 DeleteScheduleGroup。
- 适用于 SAP ABAP 的 SDK
-
注意
还有更多相关信息 GitHub。在 AWS 代码示例存储库
中查找完整示例,了解如何进行设置和运行。 TRY. " Example iv_name = 'my-schedule-group' lo_scd->deleteschedulegroup( iv_name = iv_name ). MESSAGE 'Schedule group deleted successfully.' TYPE 'I'. CATCH /aws1/cx_scdresourcenotfoundex INTO DATA(lo_not_found_ex). DATA(lv_error) = |Schedule group not found: { lo_not_found_ex->if_message~get_text( ) }|. MESSAGE lv_error TYPE 'I'. CATCH /aws1/cx_rt_generic INTO DATA(lo_generic_ex). DATA(lv_generic_error) = |Error deleting schedule group: { lo_generic_ex->if_message~get_text( ) }|. MESSAGE lv_generic_error TYPE 'I'. ENDTRY.-
有关 API 的详细信息,请参阅适用DeleteScheduleGroup于 S AP 的AWS SDK ABAP API 参考。
-