Skip to main content

How to run SAS program in BATCH mode?

If you are a SAS Admin and want to test some admin related feature in SAS code like strace, symbolgen fullstimer then you can do it directly from batch. Generally, SAS developers use tools like SAS Enterprise Guide or SAS DI studio to make changes to their program. Changing in client application is a tedious task. You need first make modification and then re-deploy it. The whole process will take atleast an hour.

In batch mode, in OS like *nix, Linux you can use the following command.

/sas/config/Lev1/SASApp/BatchServer/sasbatch.sh -log /sas/qat/Lev1/SASApp/BatchServer/Logs/job_for_batch_#Y.#m.#d_#H.#M.#s.log -batch -noterminal -logparm "rollover=session"  -sysin /home/timothy/sales.sas

Command and its purpose:
/sas/config/Lev1/SASApp/BatchServer/sasbatch.sh - This will invoke the batch server. The location of the batchserver changes as per your environment. However everything after config will be same in all environment.

-log /sas/qat/Lev1/SASApp/BatchServer/Logs/job_for_batch_#Y.#m.#d_#H.#M.#s.log - The dash log option specifies the location where you need to write the log for current job. It can be any location where you have read/write access.

-batch -noterminal -logparm - These are default parameters used to run a batch job.

 -sysin /home/timothy/sales.sas - It is the location of your SAS program following sysin option.

Comments

Popular posts from this blog

Starting Gemfire in SAS

Gemfire is available in both Compute and Mid. The default port is 41415. If you have many gemfire, you may have port numbers incremented by 1, for example: 41416. Gemfire is located under Web. <SASCONFIG>/Web/gemfire. To Start: <SASCONFIG>/Web/gemfire/instances/ins_41415/gemfire-locator.sh start To check Status: <SASCONFIG>/Web/gemfire/instances/ins_41415/gemfire-locator.sh status To stop: <SASCONFIG>/Web/gemfire/instances/ins_41415/gemfire-locator.sh stop If it doesn;t start check port number is occupied by any other process. lsof -i tcp:41415 If you only have one instance then 41415 will be default. If you have Lev2 then it will be 41416

SAS 9.4 server startup order

In Linux / Unix OS we normally use sas.servers to start the services. The script in the background follows an order to start the services. It is important to follow the order to run the services correctly. In this post we can see what is the order to start / stop and to generate the sas.servers script. It is not really required to memorize the order because SAS provide an utility to create the sas.servers script automatically which will start / stop the service in order. Starting order SAS Metadata server Olap server SAS object spawner SAS / SHARE server SAS / connect spawner SAP table server SAP remote services SAS deployment tester server Stopping will be the same in reverse. How to create sas.server script? We can create sas.server script by using generate_boot_script.sh. if you have made any changes to your environment like adding a new server or spawner we can use the script to generate new sas.server. You can use the script even if you have removed the spanner o...

SAS - CLI error trying to establish connection

Issue: User asked me to make a database connectivity to SQL Server. They provided following details SQL server hostname and ip address Database/DSN name Username Password I made entry in ODBC.ini file. You know, SQL Server entries were made in ODBC.ini and Oracle entries were made in TNS.ora file. Everything went fine, took back up of odbc.ini, made entry and saved the file. So to test this connection I ran the libname statement in SAS Enterprise Guide 6.1. It throwed following error. Error Message: My DB team showed that they are able to login   14 GOPTIONS ACCESSIBLE; 15 LIBNAME test ODBC DATASRC=SGE_DS SCHEMA=VST USER=sales PASSWORD=XXXXXXXXX; ERROR: CLI error trying to establish connection: [SAS/ACCESS to SQL Server][ODBC SQL Server Legacy Driver][SQL Server]Login failed for user 'sales'. Solution: First I suspected that Login failed for user 'sales' meant the password provided by DB team was wrong. They responded that they were able to login wi...