BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Rsadiq
Calcite | Level 5

Hello

 

I'm not sure what this error means,

 

 %macro step0 ;
53         data sasdata.dialerfiles;
54         set /*dialer.mcp_manual_20170124*/
55         dialer2.qual_not_on_dialer_20170222_new  ;
56         dialer2.march_dialer ;
57         run;
58         %mend step0;
59         %step0;

 

NOTE: Line generated by the invoked macro "STEP0".
59          data sasdata.dialerfiles; set  dialer2.qual_not_on_dialer_20170222_new  ; dialer2.march_dialer ; run;
                                                                                      ____________________
                                                                                      557
ERROR: DATA STEP Component Object failure.  Aborted during the COMPILATION phase.
ERROR 557-185: Variable dialer2 is not an object.

1 ACCEPTED SOLUTION

Accepted Solutions
Kurt_Bremser
Super User

When posting log snippets, use the {i} icon/button to open a window that will preserve formatting.

 

You do have a semicolon between dialer2.qual_not_on_dialer_20170222_new and dialer2.march_dialer. Since the name.method notation is part of the hash object language (component objects), this explains the ERROR message.

View solution in original post

4 REPLIES 4
TheShark
Obsidian | Level 7

The character limit for dataset names (I believe) is 32. Try to shorten that up a little bit and let us know if it works then! It also seems to be complaining about dialer2 library not being valid? Maybe it's the long name throwing SAS off into a tizzy but you may need to look into that as well if it doesn't clear up after shortening. 

Astounding
PROC Star

You have an extra semicolon in the middle of the SET statement.  If you are reading multiple data sets on the SET statement, there should still be only one semicolon at the end.

Kurt_Bremser
Super User

When posting log snippets, use the {i} icon/button to open a window that will preserve formatting.

 

You do have a semicolon between dialer2.qual_not_on_dialer_20170222_new and dialer2.march_dialer. Since the name.method notation is part of the hash object language (component objects), this explains the ERROR message.

Kurt_Bremser
Super User

I also seriously doubt the necessity of a macro definition for what you are doing, since no dynamic code is created by the macro.

Also always test code for itself before wrapping into a macro definition. Makes debugging easier.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 9193 views
  • 2 likes
  • 4 in conversation