Share Package On Server Job Folder Scalars

A Share Package On Server job folder contains a set of scalars that store information about the job. Share Package On Server folder scalars have both create and read access. Therefore, an application can create a Share Package On Server job folder.

A Share Package On Server job folder has the following scalars:

Job ID
String. Read-only access. Unique identifier for the job. The SMS system assigns the job a unique eight-character Job ID based on the site code (first three characters) and five characters (last five characters).
Job type
String. Read-only access. The type of job. For the F_SRVINSTALLJOB folder, the Job type is always "microsoft\SMS\server_script".
Job comment
String. Modify access. Text that describes the job. This text is viewed only by administrators of the SMS system. You can use this field to save comments about the job for yourself or other SMS administrators. You may want to include the package name, job target, or other information that helps you identify the job. Maximum length is 255 characters.
Activate time
Time. Create access. The time when you want SMS to activate the job.

The time specifies the date and time after which the Scheduler activates the job and begins sending the job to the target sites. Note that the Scheduler uses the SQL Server time to evaluate the activation time. Also note that this time is written directly to the site database, that is, no time zone conversion is done.

Left icon
String. Read-only access. A string that sets the left icon for the job in the Jobs window of the SMS Administrator.
Center icon
String. Read-only access. A string that sets the middle icon for the job in the Jobs window of the SMS Administrator.
Right icon
String. Read-only access. A string that sets the right icon for the job in the Jobs window of the SMS Administrator.
Priority
Integer. Modify access. Priority setting that you want the job to have relative to other jobs when being sent to target sites.

The priority setting is used to ensure that higher priority jobs are sent before lower priority jobs. A High priority tells the Scheduler to send the job to a target site before any other jobs with a lower priority.

For example, if a Sender is sending a Medium or Low priority job and the Sender detects a High priority job in one of its outboxes, the Sender will suspend the sending of the lower priority job and send the High priority job first. After the High priority job has completed, the Sender will resume sending the lower priority job that was suspended.

In addition, an outbox can be set to process all jobs, only higher priority jobs, or no jobs at specified days and times.

High has priority over Medium and Low; Medium has priority over Low.

JOBPRI_HIGH
High
JOBPRI_MEDIUM
Medium
JOBPRI_LOW
Low
Repeat mode
Integer. Modify access. Interval at which the job is repeated.

The intervals range from Daily (every 24 hours after the Activate time) to Monthly. The interval is based on the SMS system time. A repeated job generates a new job each time that interval elapses.

JOBRPT_NEVER
Never. Perform the job once.
JOBRPT_DAILY
Daily. Repeat every 24 hours after the Activate time.
JOBRPT_WEEKLY
Weekly. Repeat every 7 days after the Activate time.
JOBRPT_BIWEEKLY
Biweekly. Repeat every 14 days after the Activate time.
JOBRPT_MONTHLY
Monthly. Repeat every month.
Cancel mode
Integer. Modify access. When Cancel mode is set to JOBCANCEL_CANCEL, the SMS system attempts to cancel the job. Any other values for this scalar have no effect.
JOBCANCEL_DONT_CANCEL
Do not cancel the job.
JOBCANCEL_CANCEL
Cancel the job.
Package ID
String. Modify access. The package identifier for the package used for the job. The package identifier is an eight-character identifier that the SMS system assigns to a package. Note that the first three characters are the site code for the site where the package was created.

Caution If your application is creating a Share Package On Server job, your application must ensure that this scalar is set to a valid package identifier. Your application can get the package identifier through the package's folder in a populated package container.

In addition, the Package ID must be a package identifier for a package that has Sharing properties defined. For the set of scalars required for this type of package, see Creating a Package for Share Package On Server Jobs.

Job status
Integer. Indicates the overall status of the job across all target sites. There are six overall job states:
JOBSTAT_PENDING
Pending. Indicates that the job has not started and that the Scheduler is waiting to activate the job. When a job has this overall status, you can delete the job and prevent it from ever starting.
JOBSTAT_ACTIVE
Active. Indicates that the Scheduler has started the job and that SMS is currently carrying out the job without errors. The job may be complete or may still be in progress at the target sites or computers.
JOBSTAT_ACTIVE_FAILED
Retrying. Indicates that the job has failed at some target sites or target computers; however, SMS continues to attempt to complete the job at those sites or computers. The job may be complete or may still be in progress at other target sites or computers.
JOBSTAT_COMPLETE
Complete. Indicates that the job successfully completed its tasks at all target computers at all target sites. When a job has this overall status, you can delete the job because the system does no further processing on the job.

For Share Package On Server jobs, the overall status becomes Complete when the package has been successfully distributed to all specified distribution servers.

JOBSTAT_CANCELLED
Canceled. Indicates that the job was successfully canceled at all target sites. When a job has this overall status, you can delete the job because the system does no further processing on the job.
JOBSTAT_FAILED
Failed. Indicates that the job has failed at some or all target sites or target computers and that SMS has stopped trying to complete the job. The job may have completed successfully at some target sites or computers. You can note the job identifier and check the event log to determine why the job failed.
Sending status
Integer. Read-only access. Indicates the status for sending the job's package and instructions to all target sites:
None
Indicates that a Sender has not processed the job's send request (the Scheduler has not yet created a *.SRQ file).
JOBSTAT_PENDING
Indicates that the send requests for the job have been placed in Sender outboxes but that the Senders have not started to send the job package and instructions to the target sites. The Senders may not have detected the send requests for the job yet.
JOBSTAT_ACTIVE
Indicates that one or more Senders are in the process of sending the job package and instructions to the target sites (without errors), but have not completed.
JOBSTAT_ACTIVE_FAILED
Indicates that at least one Sender has failed at an attempt to send the job to a target site; however, the Senders continue to attempt to send the job to the sites. You can note the job identifier and check the event log to determine why the job failed.
JOBSTAT_COMPLETE
Indicates that the Senders successfully sent the job package and instructions to all target sites.
JOBSTAT_CANCELLED
Indicates that the job was successfully canceled before it was sent to the target sites.
JOBSTAT_FAILED
Indicates that one or more Senders have failed to send the job to one or more target sites and that they have stopped trying to send the job to those sites.
Working status
Integer. Read-only access. Indicates the job's progress at all target sites:
JOBSTAT_PENDING
Indicates that no target site has received the job package and instructions yet.
JOBSTAT_ACTIVE
Indicates that the one or more target sites have received the package and are in the process of carrying out the job at those sites (without errors), but have not completed.
JOBSTAT_ACTIVE_FAILED
Indicates that the job has failed at one or more target computers at the target sites; however, the site components continue to attempt to complete the job at the target computers.
JOBSTAT_COMPLETE
Indicates that the job successfully completed at all target computers at all target sites.
JOBSTAT_CANCELLED
Indicates that the job was successfully canceled at all computers at all target sites.
JOBSTAT_FAILED
Indicates that the job has failed at some or all target computers at one or more target sites and that the site components have stopped trying to complete the job. The job may have completed successfully at some target computers. You can note the job identifier and check the event log to determine why the job failed.
Cancel status
Integer. Read-only access. Indicates how SMS has progressed in canceling the job:
None
Indicates that the job has not been canceled.
JOBSTAT_PENDING
Indicates that the target sites have not received the instructions to cancel the job yet.
JOBSTAT_ACTIVE
Indicates that one or more target sites have received the cancel instructions and are in the process of canceling the job at those sites (without errors), but have not completed the cancellation.
JOBSTAT_ACTIVE_FAILED
Indicates that the system has failed to cancel the job at some target computers at one or more target sites; however, the site components continue to attempt to cancel the job at those target computers.
JOBSTAT_COMPLETE
Indicates that the job was successfully canceled at all target computers at all target sites.
JOBSTAT_FAILED
Indicates that the system has failed to cancel the job at some target computers at one or more target sites and that the site components have stopped trying to cancel the job. The job may have completed successfully at some target computers. You can note the job identifier and check the event log to determine why the job failed.
Limit to sites
Integer. Modify access. Option that narrows down the job target to a site or site group.
JOBTGT_NOSITELIMIT
Specifies that the job target should be the current site and all sites beneath the current site.
JOBTGT_SITEGROUP
Enables your application to narrow down the job target to the sites in a site group.

When using this option, your application must also set the Site limit name scalar to specify the site group to use.

JOBTGT_SITE
Enables your application to narrow down the job target to a specific site.

When using this option, your application must also set the Site limit name scalar to specify the site to use.

Include subsites
Integer. Modify access. Option that specifies how a job is propagated to the subsites of the sites that you specified in the Site limit name scalar. This scalar applies only if the Limit to sites scalar is set to JOBTGT_SITEGROUP or JOBTGT_SITE.
JOBTGT_NOSUBSITES
Specifies that only the sites specified in the Site limit name scalar are used.
JOBTGT_INCLUDESUBSITES
Enables your application to specify that the job target includes the subsites of the sites that you specified in the Site limit name scalar.
Site limit name
String. Modify access. The name of the site or site group to which to limit the job target. This scalar applies only if the Limit to sites scalar is set to JOBTGT_SITEGROUP or JOBTGT_SITE.

If Limit to sites is set to JOBTGT_SITE, the Site limit name scalar specifies the name of the site to which to limit the job target.

If Limit to sites is set to JOBTGT_SITEGROUP, the Site limit name scalar specifies the name of the site group to which to limit the job target.

If the Include subsites scalar is set to JOBTGT_INCLUDESUBSITES, the job target is limited to the specified site or site group and its subsites.

Caution When creating a job, your application must ensure that this scalar is set to a valid site or site group name. Your application can get the site name through the site's site folder in a populated site container. Your application can get the site group name through the site group's site group folder in a populated site group container.

Send phase
Integer. Modify access. Method used to specify whether to send the package to target sites if those sites already have the package. There are two methods. You can select only one method.
SHAREJOB_SEND_IF_NOT_SENT
Specifies that the package will be sent to the target sites only if SMS has not already sent the package to those sites.
SHAREJOB_SEND_ALWAYS
Specifies that the package will be sent to all target sites, even if those sites already have received the package. This selection causes the package to be recompressed (if it was previously sent). If you make a change to the package's source directory, you should set this flag.
Distribute phase
Integer. Modify access. Method used to specify the distribution servers where the compressed package (Sharing version) is decompressed. The package directory will be shared from these servers using the share name and access permissions set for the package. There are two methods for specifying the distribution servers. Your application can select one, both, or no method.
SHAREJOB_DIST_EXISTING
Specifies that SMS overwrites the package source directory on the distribution servers where the package source directory already exists. The SMS system maintains a list of the locations where packages have been distributed.
SHAREJOB_DIST_SPECIFIED
Specifies that SMS places the package source directory on the distribution servers specified by the machine group set in the Distribution servers scalar. If the machine group does not contain a server for a target site, the package source directory is placed on the servers in the Default Servers group at that target site.
Distribution servers
String. Modify access. The name of the machine group that contains the distribution servers on which to install the package.

When the Distribute phase scalar is set to SHAREJOB_DIST_SPECIFIED, this machine group specifies the distribution servers for the job. If the machine group does not contain a server for a target site, the package source directory is placed on the servers in the Default Servers group at that target site.

To specify the Default Servers group, your application must set the Distribute phase scalar to SHAREJOB_DIST_SPECIFIED, and set the Distribution servers scalar to NULL. Default Servers is a special machine group created at each site (Default Servers are maintained using the Site Properties dialog box in the SMS Administrator). If default servers are used as distribution servers at a target site, the SMS Scheduler (at the site where the job is created) builds the list of target distribution servers for the target sites. Note that the list of default servers is read from the site database of the site where the job was created. This means that the default servers on the list are the default servers that were last reported to the site where the job was created.

Caution When creating a job, your application must ensure that this scalar is set to a valid machine group name or set to NULL (NULL specifies the Default Servers group). Your application can get the machine group name through the machine group's folder in a populated machine group container.