Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

PROBLEM WITH SASHELP.VMACRO

Status
Not open for further replies.

6656

Programmer
Nov 5, 2002
104
US
Hi,
In SAS interactive mode, all observations are exist in the sashelp.vmacro system view before submit my codes. However after submitted the codes without delete action, the observations of the sashelp.vmacro were gone. I tried the options 'source mprint mlogic' and it doesn't bring the obs back. This happened in bath mode as well. What action or options can cause the empty of sashelp.vmacro system view?

Thanks,
Mike
 
Can you post an example of what you are trying to do?



Michael

 
Before submitting our code, we checked the sashelp.vmacro or dictionary.macros, which had all automatic and global vars.
(e.g: proc sql; select * from dictionary.macros; quit;)

In our program, the code uses dictionary.macros to veryfy the existence of a macrovar. Some reasons the it didn't get a expect value ( there is the macro var exist for sure) and then program job produced an error message and issued ABORT statement.

When we went back to re-check dictionary.macros or sashelp.vmacro with the same code above example, I got nothing, even .tables .columns..... Our job submit under the interactive mode.
Thanks,
 
when I run the proc sql statement above before I coded any macros I get this
The SAS System 16:51 Thursday, May 29, 2003 1

Offset
into
Macro Macro
Scope Macro Variable Name Variable Macro Variable Value
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
GLOBAL SQLOBS 0 0
GLOBAL SQLOOPS 0 0
GLOBAL SQLXOBS 0 0
GLOBAL SQLRC 0 0
AUTOMATIC AFDSID 0 0
AUTOMATIC AFDSNAME 0
AUTOMATIC AFLIB 0
AUTOMATIC AFSTR1 0
AUTOMATIC AFSTR2 0
AUTOMATIC FSPBDV 0
AUTOMATIC SYSBUFFR 0
AUTOMATIC SYSCC 0 0
AUTOMATIC SYSCHARWIDTH 0 1
AUTOMATIC SYSCMD 0
AUTOMATIC SYSDATE 0 29MAY03
AUTOMATIC SYSDATE9 0 29MAY2003
AUTOMATIC SYSDAY 0 Thursday
AUTOMATIC SYSDEVIC 0
AUTOMATIC SYSDMG 0 0
AUTOMATIC SYSDSN 0 _NULL_
AUTOMATIC SYSENV 0 FORE
AUTOMATIC SYSERR 0 0
AUTOMATIC SYSFILRC 0 0
AUTOMATIC SYSINDEX 0 0
AUTOMATIC SYSINFO 0 0
AUTOMATIC SYSJOBID 0 3560
AUTOMATIC SYSLAST 0 _NULL_
AUTOMATIC SYSLCKRC 0 0
AUTOMATIC SYSLIBRC 0 0
AUTOMATIC SYSMACRONAME 0
AUTOMATIC SYSMAXLONG 0 2147483647
AUTOMATIC SYSMENV 0
AUTOMATIC SYSMSG 0
AUTOMATIC SYSPARM 0
AUTOMATIC SYSPBUFF 0
AUTOMATIC SYSPROCESSID 0 41D4698C8566B8524010000000000000
AUTOMATIC SYSPROCESSNAME 0 DMS Process
AUTOMATIC SYSPROCNAME 0 SQL
AUTOMATIC SYSRC 0 0
AUTOMATIC SYSSCP 0 WIN
AUTOMATIC SYSSCPL 0 WIN_PRO
AUTOMATIC SYSSITE 0 0011236015
AUTOMATIC SYSSTARTID 0
AUTOMATIC SYSSTARTNAME 0
AUTOMATIC SYSTIME 0 16:51
AUTOMATIC SYSUSERID 0 N433M4
AUTOMATIC SYSVER 0 8.2
AUTOMATIC SYSVLONG 0 8.02.02M0P012301







Michael

 
and when I code a macro like
%let client = kellog; and then rerun the proc sql statement you have I get this


Offset
into
Macro Macro
Scope Macro Variable Name Variable Macro Variable Value
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ
GLOBAL SQLOBS 0 0
GLOBAL SQLOOPS 0 0
GLOBAL CLIENT 0 kellog
GLOBAL SQLXOBS 0 0
GLOBAL SQLRC 0 0
AUTOMATIC AFDSID 0 0
AUTOMATIC AFDSNAME 0
AUTOMATIC AFLIB 0
AUTOMATIC AFSTR1 0
AUTOMATIC AFSTR2 0
AUTOMATIC FSPBDV 0
.....I deleled the rest to save space



Michael

 
Thanks Michael,
The problem occured after submission of a complex job, which contains many macro calls. What reasons, such options ... might cause nothing output from Dictionary.macro, .tables .... ?

I have no problem with my other job programs.
 
The reason found: In the program job, some logic set option obs=0 at certain conditions. That is why we couldn't get anything from dictionary.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top