- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi community,
Is there a way to obtain by code all tables of each flow in a SAS Enterprise Guide project?
For obtaining all fields of each table in a library I used:
PROC CONTENTS NOPRINT DATA=MYLIBRARY._ALL_
OUT=WORK.METADATA_MYLIBRARY;
RUN;
I need to obtain all table dependencies for each flow.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Short answer... no, there is not.
That said, EG project (.egp) files are zipped archives, which contain project.xml files that define the items in the EG project and their relationships. Not a recommended, supported, nor easy approach as you would be getting into the "guts" (implementation details), but technically possible to identify the tables used in each flow in a project from the .egp file.
Casey
Register today and join us virtually on June 16!
sasglobalforum.com | #SASGF
View now: on-demand content for SAS users
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
@CaseySmith Thanks for your answer.
What we need to accomplish is a way to know when a table fails which are the dependent tables that are affected.
We have many flows in different epg projects, but if one table fails, how could you easily know which are the flows that you need to run again once you fix this table?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I suspect here that any potential cure may be worse than the disease. What is the problem with running the project again from the start if you have run errors? At least that way you will get complete and clean logs to verify your processing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi @SASKiwi ,
We have different layers, if the extraction of a table fails then we need to run 3 or 4 projects to get everything updated. It could be nice if it would be possible to know only the flows that are affected to re-run again.
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Running your processes in batch mode via a scheduler would give you a greater level of control. You can arrange so that if a "project" fails then following steps don't run. You can also use the SAS option SYNTAXCHECK to immediately stop processing any more data once an error occurs. In batch mode you get a full log all processes and it is very easy to locate errors (with simple text searches) and then to fix them.
Of course the down side is you would have to export your projects to SAS code to run in batch mode.