Pubblicità
Pubblicità
North American Response Centers HP 3000 APPLICATION NOTE #31 Calling the CREATEPROCESS Intrinsic Sample Programs Ly HEWLETT July 1, 1987 P PACKARD Document P/N 5958-5824R2727 HP Computer Museum www.hpmuseum.net For research and education purposes only. HP 3000 APPLICATION NOTES are published by the North American Response Centers twice a month and distributed with the Software Status Bulletin. These notes address topics, where the volume of calls received at the Centers indicates a need for addition to or consolidation of information available through HP support services. You may obtain previous notes (single copies only, please) by returning the attached Reader Comment Sheet listing their numbers. Note # Published Topic 4 4/15/86 HP 3000 Printer Configuration Guide - Revised 5 5/01/86 MPE System Logfile Record Formats 6 5/15/86 HP 3000 Stack Operation 7 6/01/86 COBOL 11/3000 Programs: Tracing Illegal Data 8 6/15/86 KSAM Topics: COBOL's Index 1/0; File Data Integrity 9 7/01/86 Port Failures, Terminal Hangs, TERMDSM 10 7/15/86 Serial Printers - Configuration, Cabling, Muxes 11 8/01/86 System Configuration or System Table Related Errors 12 8/15/86 Pascal/ 3000 - Using Dynamic Variables 13 9/01/86 Terminal Types for HP 3000 HPIB Computers - Revised 14 9/15/86 Laser Printers - A Software and Hardware Overview 15 10/01/86 FORTRAN Language Considerations - A Guide to Common Problems 16 10/15/86 IMAGE: Updating to TurboIM AGE 8 Improving Data Base Loads 17 11/01/86 Optimizing VPLUS Utilization 18 11/15/86 The Case of the Suspect Track for 792X Disc Drives 19 12/01/86 Stack Overflows: Causes 8 Cures for COBOL II Programs 20 1/01/87 Output Spooling 21 1/15/87 COBOLII and MPE Intrinsics 22 2/15/87 Asynchronous Modems 23 3/01/87 VFC Files 24 3/15/87 Private Volumes | 25 4/01/87 TurboIM AGE: Transaction Logging 26 4/15/87 HP 2680A, 2688A Error Trailers 27 5/01/87 HPTrend: An Installation and Problem Solving Guide 28 5/15/87 The Startup State Configurator 29 6/01/87 A Programmer's Guide to VPLUS/ 3000 30 6/15/87 Disc Cache NOTICE The information contained in this document is subject to change without notice. HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance or use of this material. This document contains proprietary information which is protected copyright. All rights are reserved. Permission to copy all or part of this document 1s granted provided that the copies are not made or distributed for direct commercial advantage; that this copyright notice, and the title of the publication and its date appear; and that notice is given that copying 1s by permission of Hewlett-Packard Company. To copy otherwise, or to republish, requires prior written consent of Hewlett-Packard Company. Copyright O 1987 by HEWLETT-PACKARD COMPANY CALLING THE CREATEPROCESS INTRINSIC With the introduction of the CREATEPROCESS intrinsic in MPE V/E it became possible to create and activate a son process that uses a $STDLIST and $STDIN different from those used by the father process. However, in order to use this capability 1t is necessary to assign a "pointer to a byte array" to an element of a logical array. This task is easy in SPL, which provides convenient syntax for indirect addressing, in COBOLII which provides a "LOC." pseudo- intrinsic, and in Pascal, which provides a BADDRESS function that returns a pointer to a byte array. But suppose you have none of these languages on your system and you need to use this feature with FORTRAN/3000, FORTRAN/77, BUSINESS BASIC, TRANSACT or some language acquired from an independent software house? This note supplies a description of the necessary underlying principles and examples, written and tested at the Response Center, of code for doing this on every language in which it is possible on the HP3000. You will note the omission of RPG, which cannot call intrinsics and BASIC/3000 which cannot call any external that expects a parameter to be passed by value (which includes all OPTION VARIABLE externals; they expect a bit map to be passed by value). POINTERS ARE ADDRESSES A future application note will discuss the topic of addressing and parameter passing in further detail This note will address only the material necessary for an understanding of calling the CREATEPROCESS intrinsic. What 1s a pointer to a byte array? It is simply a 16 bit number that tells how many BYTES to count from the DB register to the first BYTE of storage allocated for a byte array. This 1s also known as the "byte address" of the byte array. The HP3000 uses word addresses as well as byte addresses. Word addresses,too, are 16 bit numbers and they tell how many WORDS to count from DB to the first WORD of storage of the object in question. SOME PRINCIPLES OF PARAMETER PASSING There are two methods of parameter passing that are important in discussing how to obtain a pointer to a byte array; passing by value and passing by reference. Passing a parameter by value means that a copy of the data is received by the called subprogram. Passing by reference means that the called subprogram receives the byte address or word address at which the data are actually stored. When calling MPE intrinsics a programmer usually need not be concerned with the details of how a parameter is passed as long as the intrinsics are declared in the program as system intrinsics. If they are declared as system intrinsics, the compiler (for most languages) will open SPLINTR.PUB.SYS to find out how the parameters are to be passed and then generate a calling sequence that passes them as expected. If the intrinsic 1s OPTION VARIABLE 1t will also generate the bit map to be passed by value that is required by these intrinsics. All of this is transparent to the programmer. There are two cases where it is necessary to explicitly control how the parameters are passed to an MPE intrinsic. First is if you need to "fool" the intrinsic in order to achieve some special result. (In this case don’t declare 1t as dn intrinsic and use the language specific syntax to force the method of passing.) Second is if you are using TRANSACT. TRANCOMP will not automatically generate the correct parameter passing methods for MPE intrinsics, even 1f the intrinsics are declared by DEFINE(INTRINSIC) in the program. HOW TO GET A POINTER TO A BYTE ARRAY In those languages which do not provide a function to return a byte address or an explicit method of indirection ın addressing, you must use the principles sketched above and seek a way get a byte address into a 16 bit word. If you can do this, you can assign the contents of this word to an element of the array required by CREATEPROCESS. The ASCII and BINARY intrinsics provide you with the necessary tools to do this. The ASCII intrinsic expects to receive three parameters: WORD, a 16 bit word passed by value; BASE, a 16 bit word passed by value; STRING, a 16 bit word containing a byte address. The intent 1s to take the WORD parameter as a number which 1s to be converted into an ASCII numeric representation. The BASE parameter represents the base (octal, decimal etc.) in which the ASCII representation 1s to appear. The STRING parameter points to a storage location where the ASCII string will be returned. The BINARY intrinsic has two parameters: STRING, a 16 bit word containing a byte address; LENGTH, a 16 bit word containing a byte address. The intent 1s the reverse of the ASCII intrinsic. A numeric ASCII string, stored at the byte address contained in STRING, and of length LENGTH is to be converted to 1ts corresponding binary value. Both of these intrinsics are functions, and return a result to a specified variable of the calling routine. Now comes the need to "fool" the ASCII intrinsic in order to achieve a special result. You have a program in which you have declared a byte array. You have initialized this array to contain the name of a file to be used as $STDIN for the son process to be created, being careful to terminate the file name with a carriage return as required. You need to assign a pointer to this byte array to an element of the array to pass to CREATEPROCESS. You can do this as follows: 1. DO NOT DECLARE THE ASCII INTRINSIC AS A SYSTEM INTRINSIC! Instead, declare it as a short integer external function written in SPL. 2. Call the ASCII intrinsic using the declared name of the byte array. Note that the byte array needs a pointer as its first parameter. 3. Use the BINARY intrinsic (it is O.K. to declare it as a system intrinsic) to convert the string returned by the ASCII intrinsic into a binary number. This number 1s then assigned into an element of the array to be passed to CREATEPROCESS. Since you have not declared the ASCII intrinsic as a SYSTEM intrinsic, the compiler will use the default method of parameter passing (ie, pass by reference). In the first parameter, the ASCII intrinsic expects to receive a word by value. The word it actually received was passed by reference, but it has no way of knowing this. It simply assumes it contains a number to be converted and converts it into an ASCII string. The BASE parameter must be passed by value. The method of doing this is language specific and can be found in the appropriate language reference manual. It 1s also illustrated in the languages for which it is applicable in the following code examples. 0 USING THE EXAMPLE PROGRAMS The rest of this note consists of: 1. a sample $STDIN file which contains instructions for TDP. PUB.SYS or EDITOR/ 3000 2. a sample TEXTFILE for TDP or EDITOR 3. sample programs which can be entered in an editor, compiled, prepped with PH capability and run Sample $STDIN File TEXT TEXTFILE LIST ALL Museum EXIT Computer Sample TEXTFILE for TDP.PUB.SYS O This 1s a test to verify the call of the CREATEPROCESS intrinsic with $STDIN redirected to another file. 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 180 200 210 220 230 240 250 260 270 280 290 300 310 320 330 SAMPLE PROGRAM FOR BUSINESS BASIC OPTION BASE 1 INTRINSIC Createprocess,Binary EXTERNAL SPL SHORT INTEGER Ascii(Fname$, SHORT INTEGER VALUE Base, ST$) REM REM REM For process handling applications Business BASIC provides the REM SYSTEMRUN statement which eliminates the need to write REM this code. It is included in this application note in order REM to document a method of getting a pointer to a byte REM array in case it should be needed for some other kind REM of application. REM REM SHORT INTEGER Error,Pin,Itemnums(10),Items(10),Length DIM Progname$[36],St$[10] Progname$="TDP.PUB.SYS " Stdin$="STDIN " REM REM This filename must terminate with a carriage return (CHR$(13)). REM Stdin$[8]=CHR$ (13) Items(1)=1 Itemnums (1 )=3 Items(2)=3 Itemnums (2)=10 Itemnums (3)=8 Itemnums (4) =0 Base=10 Length=FNCALL(Ascii(Stdin$, Base,St$)) Items (3)=FNCALL (Binary (St$,Length)) CALL Createprocess (Error ,Pin, Progname$, Itemnums (*), Items (*)) IF Error<>0 THEN PRINT Error END 001000 001000 001100 001200 001300 001400 001500 001600 001700 001800 001900 002000 002100 002200 002300 002400 002500 002600 002900 003000 003300 003400 003700 003800 004100 004200 004300 004400 004500 004600 004700 SAMPLE PROGRAM FOR COBOLII IDENTIFICATION DIVISION. IDENTIFICATION DIVISION. PROGRAM-ID. COBOL-EXAMPLE. AUTHOR. RESPONSE CENTER. REMARKS. This program is calls the CREATEPROCESS intrinsic with $STDIN redirected. DATA DIVISION. WORKING-STORAGE SECTION. 01 CPERR PIC S9(4) COMP. 01 PIN PIC S9(4) COMP. 01 PROGNAME PIC X(36) VALUE "TDP.PUB.SYS ". 01 STDIN. 05 NAME PIC X(8) VALUE "STDIN . 05 CR PIC S9(4) COMP VALUE 3328. 01 ITEMNUMS. 05 ITEMNUM OCCURS 4 TIMES PIC S9(4) COMP. 01 ITEMS. 05 ITEM OCCURS 3 TIMES PIC S9(4) COMP. PROCEDURE DIVISION. C-P. MOVE 3 TO ITEMNUM(1). MOVE 1 TO ITEM(1). MOVE 10 TO ITEMNUM(2). MOVE 3 TO ITEM(2). MOVE 8 TO ITEMNUM(3). CALL INTRINSIC ".LOC." USING @STDIN GIVING ITEM(3). MOVE O TO ITEMNUM(4). CALL INTRINSIC "CREATEPROCESS" USING CPERR, PIN, PROGNAME, ITEMNUMS, ITEMS. IF CPERR NOT EQUAL TO O THEN DISPLAY CPERR. STOP RUN. SAMPLE PROGRAM FOR FORTRAN/3000 $CONTROL USLINIT O 10 20 100 PROGRAM FTN3000 SYSTEM INTRINSIC CREATEPROCESS CHARACTER*36 PROGNAME, FILENAME INTEGER ERROR, PIN, ITEMNUMS(12) LOGICAL ITEMS(12), SUSP, LOC PROGNAME = “TDP.PUB.SYS ° FILENAME = “STDIN * THIS FILENAME MUST TERMINATE WITH A CARRIAGE RETURN FILENAME[7:1] = %15C ITEMNUMS(1) = 3 ITEMS(1) = %1L ITEMNUMS(2) = 10 ITEMS (2)=%3L ITEMNUMS (3) =8 ITEMS (3)=LOC (FILENAME) ITEMNUMS (4)=0 CALL CREATEPROCESS (ERROR, PIN, PROGNAME, ITEMNUMS, ITEMS) IF (.CC.) 10,20,10 CONTINUE WRITE(6,100) ERROR CONTINUE STOP FORMAT(* CREATEPROCESS FAILURE - ERROR NUMBER: ’,I3) END LOGICAL FUNCTION LOC(FILENAME) SYSTEM INTRINSIC BINARY INTEGER ASCII ,LENGTH CHARACTER#6 STR CHARACTER#36 FILENAME LENGTH=ASCII(FILENAME,\10\,STR) LOC=BINARY (STR,LENGTH) RETURN END SAMPLE PROGRAM FOR FORTRAN 77 $STANDARD LEVEL SYSTEM $USLINIT $SHORT PROGRAM FTN77 IMPLICIT NONE SYSTEM INTRINSIC CREATEPROCESS CHARACTER PROGNAME#36,STDIN#36 INTEGER#2 ERROR,PIN,ITEMNUMS(10),ITEMS(10),LOC STDIN = "STDIN ’ PROGNAME = “TDP.PUB.SYS ’ C С. THIS FILE NAME MUST TERMINATE WITH A CARRIAGE RETURN, C WHICH IS ASCII CHARACTER 13 (DECIMAL). C STDIN(7:7) = CHAR(13) ITEMNUMS(1) = 3 ITEMS(1) = 1 ITEMNUMS(2) = 10 ITEMS(2) = 3 ITEMNUMS(3) = 8 ITEMS(3) = LOC(STDIN) ITEMNUMS(4) = 0 CALL CREATEPROCESS (ERROR, PIN, PROGNAME , ITEMNUMS , ITEMS ) IF (ERROR .NE. 0) THEN WRITE(6,100) ERROR ENDIF STOP 100 FORMAT (” CREATEPROCESS ERROR NUMBER =",13) END C C $SHORT INTEGER*2 FUNCTION LOC(NAME) $ALIAS ASCII SPL (%REF, %VAL, %REF) IMPLICIT NONE SYSTEM INTRINSIC BINARY CHARACTER*36 NAME CHARACTER*6 STRING INTEGER*2 LENGTH, ASCII LENGTH = ASCII (NAME, 10,STRING) LOC = BINARY(STRING, LENGTH) RETURN END SAMPLE PROGRAM FOR PASCAL $STANDARD LEVEL “HP3000°$ $USLINIT$ PROGRAM PASCAL (INPUT ,OUTPUT) ; TYPE SMALL = -32768..32767; SMALARAY = ARRAY [1..5] OF SMALL; BYTES = PACKED ARRAY[1..36] OF CHAR; INUMS = RECORD FLAGS: SMALL; SUSP: SMALL; STDIN:SMALL; END; FIRST PARAMETER OF INTRINSIC } SECOND PARAMETER } THIRD PARAMETER } FOURTH PARAMETER } FIFTH PARAMETER ) VAR ERROR, PIN: SMALL; PROGNAME: BYTES; ITEMNUMS: SMALARAY; ITEMS: INUMS; STDIN: BYTES; > Pa PP PP pe, PROCEDURE CREATEPROCESS; INTRINSIC; BEGIN STDIN := “STDIN “; STDIN[7] := CHR(13); PROGNAME := ’TDP.PUB.SYS ”; ITEMNUMS[1] := 3; ITEMNUMS[2] := 10; ITEMNUMS [3] := 8; ITEMNUMS [4] := O; ITEMS.FLAGS := 1; ITEMS.SUSP := 3; ITEMS.STDIN := BADDRESS(STDIN) ; CREATEPROCESS (ERROR, PIN, PROGNAME , ITEMNUMS , ITEMS) ; END. SAMPLE PROGRAM FOR SPL $CONTROL USLINIT BEGIN INTEGER ERROR; INTEGER PIN; BYTE ARRAY PROGNAME(0:15) := “TDP.PUB.SYS "; INTEGER ARRAY ITEMNUMS(0:8); ARRAY ITEMS(0:8); BYTE ARRAY INPUTFILE(0:8) := "STDIN "; BYTE ARRAY ERRNUM(0:8); ARRAY LBUF (#)=ERRNUM(0) ; INTRINSIC CREATEPROCESS,ASCII,PRINT; INPUTFILE(6) := %15; ITEMS(0) := 1; ITEMNUMS(O) := 3; ITEMS(1) := 3; ITEMNUMS(1) := 10; ITEMS(2) := @INPUTFILE; ITEMNUMS (2) := 8; ITEMNUMS(3) := 0; CREATEPROCESS (ERROR, PIN, PROGNAME, ITEMNUMS, ITEMS); IF ERROR <> O THEN BEGIN ASCII (ERROR, 10,ERRNUM) ; PRINT(LBUF,-8,%40); END; END. SAMPLE PROGRAM FOR TRANSACT SYSTEM TRNSCT; DEFINE(ITEM) PROGNAME X (36) : STDIN x (8): CCTL I(4)=STDIN(8): ERROR I(4): PIN I(4): ITEMNUMS 41(4): ITEMNUM I(4)=ITEMNUMS (1): ITEMS 41(4): ITEM I(4)=ITEMS(1): STRING x (6) : BASE I(4): LENGTH I(4): MAP 1(4); LIST PROGNAME: STDIN: ERROR: PIN: ITEMNUMS: ITEMS: STRING: BASE: LENGTH: MAP; MOVE (PROGNAME) = "TDP.PUB.SYS "; MOVE (STDIN) = "STDIN "; LET (CCTL) = 13%#256; LET OFFSET(ITEMNUM) = 0; LET OFFSET(ITEM) = 0; LET (ITEMNUM) = 3; LET (ITEM) = 1; LET OFFSET(ITEMNUM) = 2; LET OFFSET(ITEM) = 2; LET (ITEMNUM) = 10; LET (ITEM) = 3; LET OFFSET(ITEMNUM) = 4; LET OFFSET(ITEM) = 4; LET (ITEMNUM) = 8; LET (BASE) = 10; PROC ASCII( %(STDIN), #(BASE) , %(STRING), &(LENGTH) ); PROC BINARY ( %(STRING), #(LENGTH), &(ITEM) ); LET OFFSET(ITEMNUM) = 6; LET (ITEMNUM) = 0; 10 << Note that in TRANSACT you can DEFINE(INTRINSIC) CREATEPROCESS, but this does not have the effect of opening the SPLINTR file at compile time and generating the calling sequences in accordance with the declarations in it for you, as it will in the other languages. You must explicitly pass the parameters as the external procedure expects to receive them, including commas for parameters omitted (two for double word parameters passed by value if omitted). In the case of OPTION VARIABLE externals such as CREATREPROCESS this also means that you must pass a bit map by value. See Chapter 7 of the SPL Reference Manual for detailed discussion of this matter. >> LET (MAP) = 31; PROC CREATEPROCESS( (ERROR), (PIN), %(PROGNAME), (ITEMNUMS), (ITEMS), #(MAP) ); IF (ERROR) = O THEN GO TO STOP ELSE DISPLAY "CREATEPROCESS ERROR NUMBER = ":ERROR STOP: EXIT; END; 11 READER COMMENT SHEET North American Response Centers HP 3000 Application Note #31. Calling the CREATEPROCESS Intrinsic RC Questions & Answers (July 1, 1987) We welcome your evaluation of this Application Note and attached RC Questions & Answers Sheet. Your comments and suggestions help us to improve our publications. Please explain your answers under Comments, below, and use additional pages 1f necessary. AppNote RC Q&A Is this publication applicable to your site? [ ] Yes [ ] No [ ] Yes [ ] No Are the concepts and wording easy to understand? [ ] Yes [ ] No [ ] Yes [ ] No Would you like to see additional Notes on this subject? [ ] Yes [ ] No [ ] Yes [ ] No Back Orders/Comments/Suggestions for future Application Notes: This form requires no postage stamp if mailed in the U.S. For locations outside the U.S., your local HP representative will ensure that your comments are forwarded. Name Company Address FOLD FoLb NO NO. POSTACE | NECESSARY IF MAILED IN THE UNITED STATES EE BUSINESS REPLY MAIL —[—— FIRST CLASS PERMIT NO. 1710, SANTA CLARA, CA E CN | ЕЕ + POSTAGE WILL BE PAID BY ADDRESSEE PE | la Application Note / RC Q € A Comments E Hewlett-Packard Western Response Center E 3300 Scott Boulevard Santa Clara, CA 95054 FOLD FOLD 3 Document P N 5958 - 5824R2727 July 1, 1987 В НЕ к pe Response Center Questions & Answers A. HP 3000 Quest tons Commonly Received by the North American Response Centers . lam receiving the error :DUPLICATE KEY VALUE (FSERR 171) on my KSAM file, but neither my program nor FCOPY always finds the duplicate entry. Why? A KSAM file consists of two files The data resides in the datafile. Indexes into the datafile reside in the keyfile. The keyfile contains a balanced tree for every key. Both files must be maintained ‘Whenever a record is inserted or deleted. If the datafile is updated: but the keyfile is not, then a key entry will exist without a corresponding —.datafile entry. A power failure or system failure during a record deletion can cause FSERR 171. If your program or FCOPY attempts to re-enter the deleted record, then you will get a duplicate key value error (FSERR 171). FSERR 171 can be corrected using FCOPY as follows: | :FCOPY FROM= (old data) ;TO=(new data, new key); KEY=0; NEW This will rebuild a new datafile and keyfile according to the old file specifications. The incomplete record will be erased in both the datafile and keyfile. от am getting an 1/0 error [30,9x] COBERR 664 in my COBOL program on a DISPLAY statement. What is the problem? ; o | - COBERR 664 means an I/O error has occurred. ‘The error information resides in the file COBCAT.PUB.SYS. When DISPLAY encounters an error, it does not display the file system error number. | The most common problem that results in COBERR 664-is that the program displays a variable larger than $STDLIST can accommodate. For example, $STDLIST may be directed to a disc file built with a record width of 80 characters. If a variable with 200 characters is encountered, you will receive |. COBERR 664. , I am getting a COBOL. run time error "651 READ SERVICE NOT GRANTED" "on an ACCEPT statement. What is the. problem? This error occurs in batch jobs when the specified number of characters mt y up in the receiving field can not be read. To-avoid this error use an ACCEPT FREE statement or shorten the receiving field length. AEE ВЕ - Q. I often get confused when going through the SYSDUMP dialog. Is there documentation available which lists all SYSDUMP dialog questions? - MOTre... A. Yes, the System Operation and Resource Management Reference Manual (Part No. 32033-90005) contains a chapter on "Configuring Your System" which lists the complete SYSDUMP dialogue. In addition, you can use the following table as a. SYSDUMP QUICK REFERENCE GUIDE. When using SYSDUMP to make configuration changes, first reply "Y" to the prompt ANY CHANGES?. Use the guide as follows: Respond "Y" to the boldface question preceeding the specific change you want to make. Next, press unit] the specific question is displayed. Answer “Y” to that question and enter the appropriate changes: ‘cs? DISC ALLOCATION CHGS? SYSDUMP LOADER SEGMENT TABLE? MAX DIRECTORY SIZE? QUICK REFERENCE UCOP REQUEST QUEUE? UST VOLUME TABLE? GUIDE TIMER REQUEST QUEUE? DELETE VOLUME? BREAKPOINT TABLE? ADD VOLUME? | I/O CONFIGURATION CHGS? MAX # USER LOGGING PROCS? - VIRTUAL MEMORY CHGS? LIST 1/0 DEVICES? MAX # USERS/LOGGING PROC? MAX % OF SPOOLFILE LIST CS DEVICES? a KILOSECTORS? UST DEVICE DEFAULTS? MISC CONFIGURATION CHGS? # OF SECTORS PER HIGHEST DRT? | LIST GLOBAL RINS? SPOOLFILE EXTENT? LOGICAL DEVICE #? DELETE GLOBAL RINS? | MAX # OPEN SPOOLFILES? - # OF RINS? SCHEDULING CHANGES? TERMINAL TYPE CHANGES? # OF GLOBAL RINS? SEGMENT LIMIT CHANGES? CLASS CHANGES? # OF SECONDS TO LOGON? MAX# CONCURRENT PRGMS? ADD'L DRIVER CHANGES? MAX # OF CONCURRENT MAX CODE SEG SIZE? RUNNING SESSIONS? MAX# SEGMENTS/PROCESS? SYSTEM TABLE CHANGES? ' MAX # OF CONCURRENT MAX STACK SIZE? CST? RUNNING JOBS? MAX EXTRA DATA SEG SIZE? EXTENDED CST? DEFAULT JOB CPU TIME LIMIT? MAX# EXTRA DATASEG/PROC DST? MESSAGE CATALOG CHANGES? STD STACK SIZE? PCB? SOFTDUMP COMMAND CHGS? /O QUEUE? В SYSTEM PROGRAM CHGS? DISC REQUEST QUEUE? LOGGING CHANGES? PROGRAM,REPLACEMT FILE? TERMINAL BUFFERS/PORT? LIST LOGGING STATUS? SYSTEM BUFFERS? STATUS CHANGES? SYSTEM SL CHANGES? SWAP TABLE? LOG FILE RECORD SIZE LIST LIBRARY? PRIMARY MESSAGE TABLE? (SECTORS)? DELETE SEGMENT? ; SECONDARY MESSAGE TBL? LOG FILE SIZE (RECORDS)? REPLACE SEGMENT? | SPECIAL REQUEST TABLE? о ADD SEGMENT? ">
/
Scarica
Solo un promemoria. Puoi visualizzare il documento qui. Ma soprattutto, la nostra IA l''ha già letto. Può spiegare cose complesse in termini semplici, rispondere alle tue domande in qualsiasi lingua e aiutarti a navigare rapidamente anche nei documenti più lunghi o complicati.
Pubblicità