XUXTADASK1 ;ESL/JAC/CM - UTL Reusable prompting subroutines #1 ; 06/26/2020@9:30
Source file <XUXTADASK1.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| 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) |
| Name | Field # of Occurrence |
|---|---|
| ^DIR | FMDIR |
| CENTER^XUXTADPRT1 | CENTER |
| Name | Line Occurrences |
|---|---|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Routine Call |
|
| >> | 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 |