Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: AURSRCH3

AURSRCH3.m

Go to the documentation of this file.
  1. AURSRCH3 ; SEARCH OUTPUT TRANSFORM FOR ROUTINES [ 04/06/88 8:39 AM ]
  1. ; PREVIOUSLY NAMED AUSOUT
  1. ;
  1. W !!,"This routine searches a file for OUTPUT TRANSFORMS that call routines.",!
  1. S U="^"
  1. S DIC="^DIC(",DIC(0)="AEMQ" D ^DIC
  1. I Y<0 D EOJ Q
  1. S AUSOUT("FILE")=+Y
  1. K ^UTILITY("AURSRCH",$J)
  1. S AUSOUT("MASTER")=""
  1. EN ; ENTRY POINT FOR CALLING ROUTINES
  1. S AUSOUT("LAST FILE")=""
  1. D SBTRACE
  1. D:$D(AUSOUT("MASTER")) LIST
  1. D EOJ
  1. Q
  1. SBTRACE ; CHECK ALL SUB-FILES
  1. K AUSOUTFL S AUSOUT("CNT")=1,AUSOUTFL(AUSOUT("CNT"))=AUSOUT("FILE")
  1. F AUSOUT("L")=0:0 S AUSOUT("LCTL")=$O(AUSOUTFL("")) Q:AUSOUT("LCTL")="" S AUSOUT("FILE")=AUSOUTFL(AUSOUT("LCTL")) D SBTRACE2 S AUSOUT("LCTL")=$O(AUSOUTFL("")) D FILE K AUSOUTFL(AUSOUT("LCTL"))
  1. Q
  1. SBTRACE2 ;
  1. S AUSOUT("LCTL")=0 F AUSOUT("L")=0:0 S AUSOUT("LCTL")=$O(^DD(AUSOUT("FILE"),"SB",AUSOUT("LCTL"))) Q:AUSOUT("LCTL")="" S AUSOUT("CNT")=AUSOUT("CNT")+1,AUSOUTFL(AUSOUT("CNT"))=AUSOUT("LCTL")
  1. Q
  1. ;
  1. FILE ; CHECK ONE FILE OR SUB-FILE
  1. S AUSOUT("FIELD")=0
  1. F AUSOUT("L")=0:0 S AUSOUT("FIELD")=$O(^DD(AUSOUT("FILE"),AUSOUT("FIELD"))) Q:AUSOUT("FIELD")'=+AUSOUT("FIELD") D FIELD
  1. Q
  1. ;
  1. FIELD ; CHECK FIELD'S INPUT TRANSFORM
  1. Q:'$D(^DD(AUSOUT("FILE"),AUSOUT("FIELD"),2))
  1. S X=^(2)
  1. Q:X'[U
  1. S AURSRCH("FOUND")=0,AUSOUT("COUNT")=$L(X,U)
  1. F AUSOUT("I")=AUSOUT("COUNT"):-1:2 S Y=$P(X,U,AUSOUT("I")) D ^AURSRCH1
  1. D:AURSRCH("FOUND") WRITE
  1. Q
  1. ;
  1. WRITE ;
  1. I $D(AURSRCH("NO DETAIL")) W "." Q
  1. I AUSOUT("FILE")'=AUSOUT("LAST FILE") S AUSOUT("LAST FILE")=AUSOUT("FILE") W !
  1. W !,AUSOUT("FILE"),",",AUSOUT("FIELD"),?20,$E(X,1,59)
  1. F AUSOUT("L")=0:0 S X=$E(X,60,999) Q:X="" W !,?20,$E(X,1,59)
  1. Q
  1. ;
  1. LIST ; LIST ROUTINE NAMES
  1. Q:'$D(^UTILITY("AURSRCH",$J))
  1. W !!,"Sorted list of routines found:",!
  1. S X="" F AUSOUT("L")=0:0 S X=$O(^UTILITY("AURSRCH",$J,X)) Q:X="" W !,"^",X
  1. K ^UTILITY("AURSRCH",$J)
  1. W !
  1. Q
  1. ;
  1. EOJ ;
  1. K DIC
  1. K X,X0,X1,X2,Y,YY
  1. K:$D(AUSOUT("MASTER")) AURSRCH
  1. K AUSOUT,AUSOUTFL
  1. Q