Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Label References |  Local Variables  | All
Print Page as PDF
Routine: XUXTADASK1

Package: Kernel

Routine: XUXTADASK1


Information

XUXTADASK1 ;ESL/JAC/CM - UTL Reusable prompting subroutines #1 ; 06/26/2020@9:30

Source Information

Source file <XUXTADASK1.m>

Call Graph

Call Graph

Call Graph Total: 2

Package Total Call Graph
Kernel 1 CENTER^XUXTADPRT1  
VA FileMan 1 ^DIR  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 1

Package Total Caller Graph
Kernel 1 XUXTADSSE  

Entry Points

Name Comments DBIA/ICR reference
CENTER(AXUXTADTEXT,AXUXTADLF,AXUXTADRM,AXUXTADRVIDEO)
FMDIR
ASKLIST(XUXTADOUTPUT,XUXTADINPUT,XUXTADMAXNUM,XUXTADDEF) ; Prompt the user to 'Select NUMBER(S): '.
; The XUXTADOUTPUT and INPUT parameters must be passed by reference and are
; limited to local un-subscripted arrays. Each of the local array variable
; names must be prefixed in the actual parameter list of the calling routine's
; DO command with a period. See the example provided below which was provided
; as a reference.
ASKNUM(XUXTADMAXNUM,XUXTADDEF,XUXTADPROMPT,XUXTADLINFED) ; Extrinsic to prompt from 1 to XUXTADMAXNUM
; Input:
; XUXTADMAXNUM Optional - Maximum number of input choices
; XUXTADDEF Optional - Default response (if user hits <Enter> key)
; XUXTADPROMPT Optional - Input prompt text, for example:
; "How many days? 90//" ; when XUXTADDEF = 90
; XUXTADLINFED Optional - Number of linefeeds before prompting user
; (defaults to 1, if not passed)
; Output:
; User's response (Usually an integer, could be '^' or null)
; Note: The calling routine should check for '^' response.
ASKNUM1 ; Return to this label upon receiving an incorrect response
ASKPKG(XUXTADPROMPT) ; Prompt for 2-7 character Package NAMESPACE
; Input:
; XUXTADPROMPT Optional - Text for input prompt - for example: "Enter NAMESPACE: "
; Output:
; XUXTADPKG Chosen namespace (2 to 7 characters)
; XUXTADQUIT 0 - If a successful package namespace was entered.
; 1 - If prompt times out; user enters an '^' or the user simply hits
; <Enter> without answering.
ASKPKG1 ; Return to this label upon receiving an incorrect response
ASKYESNO(XUXTADPROMPT,XUXTADDEF) ; Extrinsic, prompt for YES, NO response
; Input:
; XUXTADPROMPT Optional - Text of prompt....input to DIR("A")
; XUXTADDEF Optional - Default response..input to DIR("B")
; will be "NO" if not passed on input
; Output: Y (for YES), N (for NO), or '^"
; Intended use:
; This API call was developed as a standardized wrapper call
; to the FM DIR utility when a YES or NO response is required.
; Note: The calling routine will be responsible for checking for a
; '^' response as shown in the example calls below.
ERRMSG1 ; Package NAMESPACE requirements were NOT met.
ERRMSG2 ; <CAPS LOCK> key if not on.
GETKEYWD(XUXTADMINLEN,XUXTADMAXLEN) ; Prompt for KEYWORD
; Input:
; XUXTADMINLEN Required - Minimum length of KEYWORD specification
; XUXTADMAXLEN Required - Maximum length of KEYWORD specification
; XUXTADKEYWRD Required - externally defined, returned to caller.
; Output:
; XUXTADKEYWRD Keyword to be used later for screening output records
; (or user's response which could be null or "^")
; XUXTADQUIT 0 - Keyword successfully chosen
; 1 - User entered '^' or no keyword was chosen
GETKEY1 ; Return to this label upon receiving an incorrect response
GETSORT(XUXTADRTN,XUXTADINPUT,XUXTADDEF) ; Get sorting criteria (generic subroutine call)
; Input:
; XUXTADRTN..... ; Required - Name of calling routine, typically $T(+0)
; XUXTADINPUT(n)=Sorting_Option - Required
; Where XUXTADINPUT represents the name of the input array, and n is a
; consecutive integer from 1 to the (n)umber of sorting options presented
; The input array name is passed by reference and any local array
; name can be used, although passing '.XUXTADSORT' is preferred
; which then allows the calling routine to utilize the user
; selected sorting option to be referenced as XUXTADSORT(XUXTADSORT).
; This also minimizes the number of variables that would have to
; be NEWed by the calling routine.
; XUXTADDEF Optional - Default integer response to prompt.
; Defaults to 1 if not passed
; If XUXTADDEF is passed and XUXTADINPUT(XUXTADDEF) exists, then XUXTADDEF
; becomes the default integer response allowing the
; developer to always override other previous default responses.
; Output:
; XUXTADSORT Integer representing user's sorting choice
; XUXTADQUIT Set to 1 if the user up-arrows out, otherwise 0.
USRLIMIT(XUXTADRTN) ; Include (active users, inactive users, or both active and inactive users)
; Output:
; XUXTADULIMIT 1 for both active & inactive users
; 2 for active users
; 3 for inactive users
; XUXTADQUIT 0 - for successful selection at prompt
; 1 - if user enters an '^' to exit at prompt
; Input:
; XUXTADRTN Required - Name of calling routine; usually $T(+0)

External References

Name Field # of Occurrence
^DIR FMDIR
CENTER^XUXTADPRT1 CENTER

Interaction Calls

Name Line Occurrences
Function Call: WRITE
  • Prompt: !
  • Line Location: ASKNUM+18
Function Call: WRITE
  • Prompt: XUXTADPROMPT
  • Line Location: ASKNUM1+1
Function Call: WRITE
  • Prompt: XUXTADDEF_"// "
  • Line Location: ASKNUM1+1
Function Call: READ
  • Variable: XUXTADRESPONSE
  • Timeout: DTIME
  • Line Location: ASKNUM1+2
Function Call: WRITE
  • Prompt: $C(7)," Enter a number from 1 to "_$FN(XUXTADMAXNUM,",")_" or '^' to exit."
  • Line Location: ASKNUM1+9
Function Call: WRITE
  • Prompt: !
  • Line Location: ASKNUM1+10
Function Call: WRITE
  • Prompt: $C(7)," Enter a positive integer (1, 2, etc.); or '^' to exit."
  • Line Location: ASKNUM1+11
Function Call: WRITE
  • Prompt: !
  • Line Location: ASKNUM1+12
Function Call: WRITE
  • Prompt: !!,XUXTADPROMPT
  • Line Location: ASKPKG1+7
Function Call: READ
  • Variable: XUXTADPKG
  • Timeout: DTIME
  • Line Location: ASKPKG1+9
Function Call: WRITE
  • Prompt: " ??"
  • Line Location: ERRMSG1+1
Function Call: WRITE
  • Prompt: !!?6,"Enter the first 2 to 7 characters of the Package NAMESPACE, or"
  • Line Location: ERRMSG1+2
Function Call: WRITE
  • Prompt: !?6,"enter an '^' to exit."
  • Line Location: ERRMSG1+3
Function Call: WRITE
  • Prompt: !!?6,"The first character must be an alphabetic or % character, followed by"
  • Line Location: ERRMSG1+4
Function Call: WRITE
  • Prompt: !?6,"any alphanumeric combination, however, all alphabetic characters"
  • Line Location: ERRMSG1+5
Function Call: WRITE
  • Prompt: !?6,"must be in uppercase with no lowercase characters allowed."
  • Line Location: ERRMSG1+6
Function Call: WRITE
  • Prompt: !
  • Line Location: GETKEYWD+12
Function Call: WRITE
  • Prompt: !,"Select a KEYWORD (from "_XUXTADMINLEN_" to "_XUXTADMAXLEN_" characters): "
  • Line Location: GETKEY1+2
Function Call: READ
  • Variable: XUXTADKEYWRD
  • Timeout: DTIME
  • Line Location: GETKEY1+5
Function Call: WRITE
  • Prompt: " ??"
  • Line Location: GETKEY1+8
Function Call: WRITE
  • Prompt: !!,"Sort by"
  • Line Location: GETSORT+29
Function Call: WRITE
  • Prompt: !?XUXTADPOS,$J(XUXTADCNT,2),") ",XUXTADINPUT(XUXTADCNT)
  • Line Location: GETSORT+32
Function Call: WRITE
  • Prompt: !!,"Include"
  • Line Location: USRLIMIT+14
Function Call: WRITE
  • Prompt: !?4,"1) Both active and inactive users"
  • Line Location: USRLIMIT+15
Function Call: WRITE
  • Prompt: !?4,"2) Only active users"
  • Line Location: USRLIMIT+16
Function Call: WRITE
  • Prompt: !?4,"3) Only inactive users"
  • Line Location: USRLIMIT+17
Routine Call
  • DIR
  • Line Location:
    • FMDIR

Label References

Name Line Occurrences
$$ASKNUM GETSORT+35, USRLIMIT+19
ASKNUM1 ASKNUM1+6
ASKPKG1 ASKPKG1+24
CENTER ERRMSG2+1, GETKEY1+14
ERRMSG1 ASKPKG1+24
ERRMSG2 ASKPKG1+24
FMDIR ASKLIST+41, ASKYESNO+21
GETKEY1 GETKEY1+8, GETKEY1+9

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
% ASKLIST+32~, ASKYESNO+12~
AXUXTADLF CENTER~
AXUXTADRM CENTER~
AXUXTADRVIDEO CENTER~
AXUXTADTEXT CENTER~
DA ASKLIST+32~, ASKYESNO+12~
DIR ASKLIST+32~, ASKYESNO+12~
DIR("?" ASKYESNO+17*
DIR("A" ASKLIST+39*, ASKYESNO+18*
DIR("B" ASKLIST+40*, ASKYESNO+19*
DIR(0 ASKLIST+38*, ASKYESNO+18*
DIRUT ASKLIST+32~, ASKYESNO+12~
DTIME ASKNUM1+2, ASKPKG1+9, GETKEY1+5
DTOUT ASKLIST+32~, ASKYESNO+12~
DUOUT ASKLIST+32~, ASKYESNO+12~
I ASKLIST+32~, ASKYESNO+12~
IOM ERRMSG2+1, GETKEY1+14
U ASKLIST+53
X ASKLIST+32~, ASKLIST+43, ASKLIST+45, ASKYESNO+12~
XUXTADASCII ASKPKG+8~, ASKPKG1+17*, ASKPKG1+18
XUXTADCNT ASKNUM+12~, ASKNUM+18*, GETSORT+21~, GETSORT+30*, GETSORT+31, GETSORT+32, GETSORT+33*, GETSORT+35
XUXTADCODE ASKLIST+32~, ASKLIST+53*, ASKLIST+54
XUXTADDEF ASKLIST~, ASKLIST+40, ASKNUM~, ASKNUM+14*, ASKNUM1+1, ASKNUM1+2, ASKNUM1+4, ASKYESNO~, ASKYESNO+14*, ASKYESNO+19
, GETSORT~, GETSORT+25*, GETSORT+26*, GETSORT+35, USRLIMIT+10~, USRLIMIT+12*, USRLIMIT+19
XUXTADINPUT ASKLIST~, GETSORT~, GETSORT+38*
XUXTADINPUT( ASKLIST+53, GETSORT+25, GETSORT+30, GETSORT+32
>> XUXTADKEYWRD GETKEY1+5*, GETKEY1+6, GETKEY1+7, GETKEY1+8, GETKEY1+9, GETKEY1+11
XUXTADLINFED ASKNUM~, ASKNUM+17*, ASKNUM+18
XUXTADMAXLEN GETKEYWD~, GETKEY1+2, GETKEY1+8
XUXTADMAXNUM ASKLIST~, ASKLIST+38, ASKLIST+44, ASKNUM~, ASKNUM+13*, ASKNUM+16, ASKNUM1+6, ASKNUM1+7, ASKNUM1+8, ASKNUM1+9
XUXTADMINLEN GETKEYWD~, GETKEY1+2, GETKEY1+8
XUXTADMSG GETKEY1+12~, GETKEY1+13*, GETKEY1+14
XUXTADNUM ASKLIST+32~, ASKLIST+51*, ASKLIST+52*, ASKLIST+53
XUXTADOUTPUT ASKLIST~, ASKLIST+34!, ASKLIST+43*
XUXTADOUTPUT( ASKLIST+54*
XUXTADOUTPUT("" ASKLIST+55
XUXTADOUTPUT("CNT" ASKLIST+44*
XUXTADPCE ASKLIST+32~, ASKLIST+52*
>> XUXTADPKG ASKPKG1+9*, ASKPKG1+14, ASKPKG1+15, ASKPKG1+17, ASKPKG1+18, ASKPKG1+21, ERRMSG1+1
XUXTADPOS ASKPKG+8~, ASKPKG1+14*, ASKPKG1+15, ASKPKG1+17, ASKPKG1+18, GETKEYWD+11~, GETKEY1+9*, GETKEY1+11, GETSORT+21~, GETSORT+31*
, GETSORT+32
XUXTADPROMPT ASKNUM~, ASKNUM+15*, ASKNUM+16*, ASKNUM1+1, ASKPKG~, ASKPKG1+2*, ASKPKG1+7, ASKYESNO~, ASKYESNO+13*, ASKYESNO+18
>> XUXTADQUIT ASKLIST+35*, ASKLIST+45*, ASKLIST+55*, ASKPKG1+1*, ASKPKG1+9*, ASKPKG1+14, ASKPKG1+16*, ASKPKG1+19*, ASKPKG1+22*, ASKPKG1+24
GETKEY1+3*, GETKEY1+6*, GETKEY1+7*, GETKEY1+9, GETKEY1+15*, GETSORT+27*, GETSORT+36*, USRLIMIT+20*, USRLIMIT+22*
XUXTADRESPONSE ASKNUM+12~, ASKNUM1+2*, ASKNUM1+3*, ASKNUM1+4*, ASKNUM1+5, ASKNUM1+6, ASKNUM1+13, GETSORT+21~, GETSORT+35*, GETSORT+36
, GETSORT+38, GETSORT+39
XUXTADRTN GETSORT~, USRLIMIT~
>> XUXTADSORT GETSORT+39*
>> XUXTADULIMIT USRLIMIT+19*, USRLIMIT+20
XUXTADVALUE ASKLIST+32~, ASKLIST+53*, ASKLIST+54
Y ASKLIST+32~, ASKLIST+52, ASKYESNO+12~, ASKYESNO+22, ASKYESNO+23, ASKYESNO+24
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  Interaction Calls |  Label References |  Local Variables  | All