Resolving Issues Related to Scheduling with Platform Suite for SAS

Check Error Messages in Platform Flow Manager

Platform Flow Manager enables you to view status and other information about the jobs that have been scheduled on Platform scheduling servers. To view error messages in Platform Flow Manager, follow these steps:
  1. Open Platform Flow Manager on the scheduling server. On Windows systems, click Startthen selectAll Programsthen selectPlatform Process Managerthen selectFlow Manager.
  2. Log on as the scheduling user. You might need to include a domain name or machine name with the user ID.
  3. On the left pane of Flow Manager, expand the folder for the scheduling user. If you selected Run Now when you scheduled the report, the job will be in a folder called adhoc. In the folder, look for the most recently scheduled flow. If the job failed, its name might include (Exit).
  4. Double-click on the flow name (for example, 1(Done)). An icon for each job in the flow will appear in the right pane. A red icon indicates that errors occurred, and a blue icon indicates that the job was successful.
  5. Right-click the icon in the right pane, and select View History.
Note: You can also examine the contents of logs in the LSF directory.

Resolving Windows-specific Issues Related to Scheduling with Platform Suite for SAS

To properly install Platform Suite for SAS on Windows systems, you must supply a valid user ID and password to run and administer the services. The user ID that is used to run the installation program must have Act as part of the operating system privileges. The user ID that you specify to run the services must have Log on as a batch job privileges. Issues can occur if this user does not have the required privileges, if the user's password has expired, or if the wrong domain name is provided.
One simple way to test the domain, user, and password is to do the following:
  1. Bring up a DOS command prompt or select Startthen selectRun.
  2. Enter the runas command using the following syntax to bring up a new DOS prompt running under the other user ID:
    >runas /user:DOMAIN\userid cmd
  3. Enter the password. If the user ID authenticates successfully, a new DOS command prompt appears.
From the new DOS command prompt, you can run the various scheduled commands that are failing. If the commands succeed when they are entered at the prompt, this indicates that there are some issues with the scheduling setup. If the commands fail, then additional information might appear in the DOS command window to help you determine the problem.
In a multi-user environment, in which more than one user is submitting and running flows, the appropriate permission settings must be in place on certain folders. The Platform scheduling server folders should already have the correct permissions set for the scheduler service and administrator accounts and should need no further changes. Make sure that the following files installed by LSF have the following permissions (LSF_TOP corresponds to the LSF installation directory, such as C:\lsf_7.0):
Permissions for Files Installed by LSF
Folder
User Group
Permissions
LSF_TOP\work
LSF service accounts
Full control (All)(All)
LSF_TOP\work
LSF administrators
Full control (All)(All)
LSF_TOP\work
Everyone
Special access (R)(R)
LSF_TOP\logs
LSF service accounts
Full control (All)(All)
LSF_TOP\logs
LSF administrators
Full control (All)(All)
LSF_TOP\logs
Everyone
Special access (R)(R)
LSF_TOP\conf\lsfuser.passwd
Job scheduler service accounts
Special access (R)(R)
Make sure that the files installed by Platform scheduling servers have the following permissions (JS_TOP corresponds to the Platform Process Manager installation directory):
Permissions for Files Installed by the Platform Scheduling Server
Folder
User Group
Permissions
JS_TOP\work
LSF service accounts
Full control (All)(All)
JS_TOP\work
JS administrators
Full control (All)(All)
JS_TOP\work
Everyone
Special access (R)(R)
JS_TOP\log
JS service accounts
Full control (All)(All)
JS_TOP\log
JS administrators
Full control (All)(All)
JS_TOP\log
Everyone
Special access (R)(R)

Resolving AIX Issues Related to Scheduling with Platform Suite for SAS

The AIX environment is unique in that you can configure your kernel to be in either 32-bit mode or 64-bit mode. Your 64-bit applications will run with either configuration.
Platform Suite for SAS requires that the kernel be in 64-bit mode for its 64-bit applications. Therefore, your kernel must be configured in 64-bit mode to use Platform scheduling servers and Platform LSF. To determine whether your kernel is in 64-bit mode, use the lsconf command. Here is an example of the command output that appears if your kernel is in 32-bit mode:
$ lsconf -k    
Kernel Type: 32-bit
To switch between the 32–bit and 64–bit kernels, an administrator must follow these steps:
  1. Modify the /usr/lib/boot/unix directory and the /unix directory to be a symbolic link to the library for the desired kernel.
  2. Run the bosboot command to write a new system boot image.
  3. Reboot the system.

Resolving SAS Exit Behavior When Using Platform Suite for SAS and SAS Data Integration Studio

During the installation process, the SAS Deployment Wizard creates a script called sasbatch in the following path:
SAS-config-dir\Lev1\SASApp\BatchServer
As a default, jobs that are deployed from SAS Data Integration Studio are run using this script.
If you are not using this script, then the Platform scheduling server will report your SAS jobs as completing with a status of Exit instead of Done. This situation occurs because Platform scheduling servers treat any nonzero exit code as Exit instead of Done.
To resolve this issue, you can use the sasbatch script that was created by the SAS Deployment Wizard. If you are using a different script, you can modify the script to prevent the error in the following ways.
To use a job starter on Windows installations, modify your script as follows:
rem This program is just used as a wrapper script to invoke the sas.bat 
rem at the Application level 
rem It is here in case there is common processing that you want to add 
rem when sas is invoked specific to running this script. 
rem 
rem Variables Used: 
rem 
rem $APPSERVER_DIR$=D:\SAS\config\Lev1\SASMain 

cd /D D:\SAS\config\Lev1\SASMain 

if not {%username%}=={} (
call sas.bat %*% 
)else( 
call sas.bat -sasuser work %*% 
) 
set rc=%ERRORLEVEL% 
if %rc%==1 goto makenormalexit 
exit /b %rc%
:makenormalexit 
exit /b 0 

For UNIX installation you can edit the script as follows: 
# Comment out exec line to allow the return code to be captured
# eval exec $cmd

# Add this code to capture exit=1 (SAS warning) and make it exit=0
eval $cmd
rc=$?
if [ $rc -eq 1 ]; then
  exit 0
else
  exit $rc
fi
For UNIX installations, edit the script as follows:
# Comment out exec line to allow the return code to be captured
# eval exec $cmd

# Add this code to capture exit=1 (SAS warning) and make it exit=0
eval $cmd
rc=$?
if [ $rc -eq 1 ]; then
  exit 0
else
  exit $rc
fi