- XBTM7 ; IHS/ADC/GTH - TECH MANUAL : ROUTINES ; [ 02/07/97 3:02 PM ]
- ;;3.0;IHS/VA UTILITIES;;FEB 07, 1997
- ;
- NEW A
- F A=1:1 S X=$P($T(PR+A),";;",2) Q:X="###" D PR(X) Q:$D(DUOUT)
- Q:$D(DUOUT)
- D ^DIWW
- KILL ^TMP("XBTM-RTN",$J)
- NEW A,B
- S DIWF="WN"
- D PR("Routines & sub-routines in namespace :"),PR(" "),PR(" ")
- Q:$D(DUOUT)
- S %=$$RSEL^ZIBRSEL("XB*","^TMP(""XB"",$J,")
- S %=$$RSEL^ZIBRSEL("ZIB*","^TMP(""XB"",$J,")
- S %=""
- F S %=$O(^TMP("XB",$J,%)) Q:%="" Q:$D(DUOUT) D
- . D PR($E("|_|"_%_"|_| "_$P($T(+1^@%)," ",2,99),1,(DIWR-DIWL+7)))
- . Q:$D(DUOUT)
- . S B=$T(+1^@%)
- . I B["; GENERATED FROM "!(B["; DRIVER FOR")!(B["; COMPILED XREF") S ^TMP("XBTM-RTN",$J,"C",%)=B
- . F A=3:1 S B=$T(+A^@%) Q:B=""!('($E(B,1,2)=" ;")) D PR(" "_$E(B,1,(DIWR-DIWL-2))) Q:$D(DUOUT)
- . Q:$D(DUOUT)
- . F A=3:1 S B=$T(+A^@%) Q:B="" I '($E(B)=" ") D PR(" "_$E(B,1,(DIWR-DIWL-2))) I B[";EP"!(B["ENTRY POINT") S ^TMP("XBTM-RTN",$J,%,$P(B," "))=$P(B," ",2,999) Q:$D(DUOUT)
- . Q:$D(DUOUT)
- . D PR(" ")
- .Q
- ;
- D PR("|TOP|"),PR(" "),PR("Documented entry points:"),PR(" ")
- Q:$D(DUOUT)
- S (A,B)=""
- F S A=$O(^TMP("XBTM-RTN",$J,A)) Q:A=""!(A="C") Q:$D(DUOUT) F S B=$O(^TMP("XBTM-RTN",$J,A,B)) Q:B="" D PR($E(B_U_A_" : "_^(B),1,(DIWR-DIWL))) Q:$D(DUOUT)
- Q:$D(DUOUT)
- ;
- D PR(" "),PR(" "),PR("Compiled/Generated routines:"),PR(" ")
- Q:$D(DUOUT)
- S A=""
- F S A=$O(^TMP("XBTM-RTN",$J,"C",A)) Q:A="" D PR($E(^(A),1,(DIWR-DIWL))) Q:$D(DUOUT)
- Q:$D(DUOUT)
- ;
- KILL ^TMP("XBTM-RTN",$J)
- S DIWF="W"
- Q
- ;
- PR(X) NEW %,A,B D PR^XBTM(X) Q
- ;;These are the routine descriptions, which are usually contained
- ;;in the commented lines prior to the first label or executable
- ;;line.
- ;;|SETTAB("C")||TAB|
- ;;Each line label is also listed. The internally documented
- ;;entry points (" ;EP") are listed.
- ;;|SETTAB("C")||TAB|
- ;;|SETTAB("C")||TAB|
- ;;###
- XBTM7 ; IHS/ADC/GTH - TECH MANUAL : ROUTINES ; [ 02/07/97 3:02 PM ]
- +1 ;;3.0;IHS/VA UTILITIES;;FEB 07, 1997
- +2 ;
- +3 NEW A
- +4 FOR A=1:1
- SET X=$PIECE($TEXT(PR+A),";;",2)
- IF X="###"
- QUIT
- DO PR(X)
- IF $DATA(DUOUT)
- QUIT
- +5 IF $DATA(DUOUT)
- QUIT
- +6 DO ^DIWW
- +7 KILL ^TMP("XBTM-RTN",$JOB)
- +8 NEW A,B
- +9 SET DIWF="WN"
- +10 DO PR("Routines & sub-routines in namespace :")
- DO PR(" ")
- DO PR(" ")
- +11 IF $DATA(DUOUT)
- QUIT
- +12 SET %=$$RSEL^ZIBRSEL("XB*","^TMP(""XB"",$J,")
- +13 SET %=$$RSEL^ZIBRSEL("ZIB*","^TMP(""XB"",$J,")
- +14 SET %=""
- +15 FOR
- SET %=$ORDER(^TMP("XB",$JOB,%))
- IF %=""
- QUIT
- IF $DATA(DUOUT)
- QUIT
- Begin DoDot:1
- +16 DO PR($EXTRACT("|_|"_%_"|_| "_$PIECE($TEXT(+1^@%)," ",2,99),1,(DIWR-DIWL+7)))
- +17 IF $DATA(DUOUT)
- QUIT
- +18 SET B=$TEXT(+1^@%)
- +19 IF B["; GENERATED FROM "!(B["; DRIVER FOR")!(B["; COMPILED XREF")
- SET ^TMP("XBTM-RTN",$JOB,"C",%)=B
- +20 FOR A=3:1
- SET B=$TEXT(+A^@%)
- IF B=""!('($EXTRACT(B,1,2)=" ;"))
- QUIT
- DO PR(" "_$EXTRACT(B,1,(DIWR-DIWL-2)))
- IF $DATA(DUOUT)
- QUIT
- +21 IF $DATA(DUOUT)
- QUIT
- +22 FOR A=3:1
- SET B=$TEXT(+A^@%)
- IF B=""
- QUIT
- IF '($EXTRACT(B)=" ")
- DO PR(" "_$EXTRACT(B,1,(DIWR-DIWL-2)))
- IF B[";EP"!(B["ENTRY POINT")
- SET ^TMP("XBTM-RTN",$JOB,%,$PIECE(B," "))=$PIECE(B," ",2,999)
- IF $DATA(DUOUT)
- QUIT
- +23 IF $DATA(DUOUT)
- QUIT
- +24 DO PR(" ")
- +25 QUIT
- End DoDot:1
- +26 ;
- +27 DO PR("|TOP|")
- DO PR(" ")
- DO PR("Documented entry points:")
- DO PR(" ")
- +28 IF $DATA(DUOUT)
- QUIT
- +29 SET (A,B)=""
- +30 FOR
- SET A=$ORDER(^TMP("XBTM-RTN",$JOB,A))
- IF A=""!(A="C")
- QUIT
- IF $DATA(DUOUT)
- QUIT
- FOR
- SET B=$ORDER(^TMP("XBTM-RTN",$JOB,A,B))
- IF B=""
- QUIT
- DO PR($EXTRACT(B_U_A_" : "_^(B),1,(DIWR-DIWL)))
- IF $DATA(DUOUT)
- QUIT
- +31 IF $DATA(DUOUT)
- QUIT
- +32 ;
- +33 DO PR(" ")
- DO PR(" ")
- DO PR("Compiled/Generated routines:")
- DO PR(" ")
- +34 IF $DATA(DUOUT)
- QUIT
- +35 SET A=""
- +36 FOR
- SET A=$ORDER(^TMP("XBTM-RTN",$JOB,"C",A))
- IF A=""
- QUIT
- DO PR($EXTRACT(^(A),1,(DIWR-DIWL)))
- IF $DATA(DUOUT)
- QUIT
- +37 IF $DATA(DUOUT)
- QUIT
- +38 ;
- +39 KILL ^TMP("XBTM-RTN",$JOB)
- +40 SET DIWF="W"
- +41 QUIT
- +42 ;
- PR(X) NEW %,A,B
- DO PR^XBTM(X)
- QUIT
- +1 ;;These are the routine descriptions, which are usually contained
- +2 ;;in the commented lines prior to the first label or executable
- +3 ;;line.
- +4 ;;|SETTAB("C")||TAB|
- +5 ;;Each line label is also listed. The internally documented
- +6 ;;entry points (" ;EP") are listed.
- +7 ;;|SETTAB("C")||TAB|
- +8 ;;|SETTAB("C")||TAB|
- +9 ;;###