The figure below shows a visualized version of how AIF runtime configuration group works.
You can create multiple runtime configuration groups for a namespace to differentiate between the processing logic of an interface.
Checkbox 'Runtime Cfg Active':
You can add new messages to the run of an inactive configuration group. Once the number defined in Messages Per Run is reached, the status of the run switches to "Ready" and the system creates a new run for further messages. To manually trigger the runs in status "Ready", use the report /AIF/PERS_RUN_EXECUTE. You can also schedule this report as a background job. Find more information about this in SAP Note 2215829 - AIF Runtime: Trigger open runs for non-active runtime configuration group.
If this checkbox is checked, the runtime configuration group will be activated, and AIF will not wait to reach the number of maximum messages to be reached. In case the runtime configuration group is ACTIVE, the Messages per Run and Messages per Package are treated as a maximum value. Background jobs will be triggered with less messages transferred to AIF. ( up to this value )
If both 'Run scheduled' and 'Schedule packages' options are checked, AIF will create multiple background jobs.
If there are 5.000 messages transferred to AIF in one session, AIF will group all 5.000 messages into 1 RUN job. The run job when executed will create 5 package jobs with 1.000 messages per each background job, resulting in 6 background jobs altogether. If the number of messages transferred to AIF is 5.001, AIF will create 2 RUN jobs, and 5 package jobs with 1.000 messages, and 1 package job with 1 message. In case the number of background work processes on an application server is low, the batch job scheduler will not be able to assign a work process for the AIF job.
Number of background jobs scheduled by AIF = (Number of incoming messages / Messages per Run) + (Number of incoming messages / Messages per Run) × (Messages per Run / Messages per Package )Based on the above example figures with 50.000 incoming messages: 50.000 / 5.000 + 50.000/5.000 × 5.000/1.000 = 60 background jobs
Reducing the number of background jobs created by AIF:
- Increase the number of messages per run, and per package. The higher the number of messages in a background job, the longer it stays in a work process, however altogether less work processes will be occupied by AIF jobs.
- Use Exec. target — Job server groups to limit the work processes used by AIF to let other applications run.
- Disable Schedule packages checkbox — All the messages in a RUN will be processed synchronously in a RUN job.
- The Scheduled Packages indicator defines if the packets should be executed asynchronously or synchronously in a job. If the indicator is set the packet will be executed asynchronously. If they are executed asynchronously the packets will be scheduled in additional second jobs. Otherwise, the packets will be executed in the same job as the run.
- Job server group:
Exec. target — Server group
2600373 - XML Runtime: Support assign server group in Runtime Configuration Group
Restarting of messages in /AIF/ERR , /AIF/IFMON , and /AIF/XML_RESTART transactions:
The above listed transactions offer the solution to restart messages which ran into error or stuck in processing status due to various reasons (application dump, batch job being cancelled).
AIF uses the default runtime configuration group of 100 message per run, and 20 messages per package. To override this behaviour a restricted runtime configuration group under the same namespace where you operate has to be defined with the ID ' 400 ' .
Configure the runtime configuration group 400 based on the number of generally restarted messages.
If an interface has
2207854 - AIF Runtime: Trigger runs for non-active runtime configuration group
2578106 - Usage Restriction for Runtime Configuration Groups 400 to 499
What to do when too many background wps are occupied by AIF jobs
Automatic reprocessing configuration