1 / 75

Natural & NSC Admin.

Natural & NSC Admin. FNAT. FSEC. FUSER. Logging. Backups. Monitoring. Securing. SYSPARM. Customizing. Parm sets. Overview. NSC. Online Driver. BP. NTPRM. Shared Nucleus. N. SYSPARM. SYSPARM. Batch Driver. System FIles. Batch Nucleus. BP. The system files.

kaylee
Télécharger la présentation

Natural & NSC Admin.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Natural & NSC Admin. FNAT FSEC FUSER Logging Backups Monitoring Securing SYSPARM Customizing

  2. Parm sets Overview NSC Online Driver BP NTPRM Shared Nucleus N SYSPARM SYSPARM Batch Driver System FIles Batch Nucleus BP

  3. The system files The basic, required system files. These can be the same physical file, but is not recommended. FNAT = Software AG modules. Fuser = Customer application modules. FNAT FUSER Optional system files for Nat-Security, Predict, etc. FSEC FDIC Scratch Pad Most commonly kept on ADABAS, but can be various file types, depending on your platform Operating System and database choice.

  4. The system files SYSUPD NE414I4 Text Src Loaded SYSTEM INTSEC Program Cat Loaded SYSLIBS NSCUS Subprogram Cat Replaced SYSSEC NSCUS Subprogram Cat Replaced SYSSEC NSCLOGUT Program Cat Replaced SYSLIB LOGONUS Program Cat Replaced SYSTEM NSCC0002 Subprogram Cat Replaced INPL Look at the output of the INPL. You may see “secret” libraries and features. Do you know what SYSUPD is? Did you know SYSTEM is on both FUSER and FNAT?

  5. The system files Do you know the difference between these INPL methods? //NATINPL EXEC NAT414BA,PARM=‘STACK=INPL” vs //CMSYNIN DD * INPL INPL (continued) The first one does not need an existing Natural FNAT, because INPL is a nucleus component. The second must start a Natural session, which requires at least a basic Natural FNAT loaded.

  6. System Files Experimental Development & QA Production New version ; FNAT (shared) FNAT (Shared) FSEC FSEC 1 FSEC 2 FSEC FUSER Example Configuration FUSER FNAT FNAT FNAT Single FNAT; possible 3009 issues & upgrade steps is difficult. Also 1 SYSPARM for all environments. FNAT (non NSC) Multiple FNAT; Allows flexibility, but is tough keeping profiles, patches & various products in sync.

  7. The Natural nucleus The Nucleus contains the basic logic components needed for a Natural session. It can be customized to the needs of the customer’s session(s) . For example, it can include or exclude the editors. Some typical components are: NATADA; interface to ADABAS NATEDT & NATEDIT; Natural editor & SAG editor NAT3270; Screen I/O handler NATPARM; default session parameters NATRPC; Remote Procedure Calls NATWTO; Write to Operator NATARI2; Arithmetic handler NATWKFO; Workfile handler

  8. The Natural nucleus The Drivers contain the basic logic components needed for the environment-specific requests, like program management, and memory management. For example, some typical CICS components (within NCISTART) are: NCIPARM; Contains names of threads & control blocks, and 3270 options. CMABEND; abend handler. NCIPCRQ; Program Control; LINK, XCTL, LOAD, etc. non-Natural programs. NCISCRQ; Storage Requests; GETMAIN, FREEMAIN, etc. CMSUBM; submit jobs to batch processing The Drivers You have the source to the driver modules. You may customize them if needed. I prefer using the RDC exits for site specific requirements.

  9. The Natural nucleus TP-Specific Drivers Shared Nucleus Modules. Optional parms What does Natural look like? (Configurations; Option 1) Batch Drivers Optional Parms Small driver modules share a common “base” nucleus module. Can be loaded into shared memory, or individually into each address space (batch job or TP monitor).

  10. The Natural nucleus Batch Drivers + Base Nucleus TP-Specific Drivers + Base Nucleus Optional parms Optional Parms What does Natural look like? (Configurations; Option 2) Optional, Specific Nuclei for special requirements; e.g. servers. Here you can see each nucleus is bigger, and each contains all components necessary to run Natural, rather than sharing a common “base” nucleus.

  11. Nucleus Could be from shared memory outside of TP monitor The Natural nucleus TP Monitor User sessions Natural Nucleus What does Natural look like? (The sessions within) Natural UCB (SCPCB) TP Natural Driver Threads

  12. Nucleus Could be from shared memory outside of TP monitor The Natural nucleus Has unique *USER standard Batch job User session Natural Nucleus What does Natural look like? (The sessions within) Thread Batch Natural Driver

  13. Nucleus Could be from shared memory outside of TP monitor The Natural nucleus Has many *USER values Batch Server User session User session Natural Nucleus What does Natural look like? (The sessions within) User session Separate TCBs Each a Single session Batch Natural Driver User session User session

  14. The Natural nucleus Z/OS TP monitor, or Batch address space Non Nat Lang. Env. Nat Language Environment Non Nat

  15. The Natural nucleus LE370=ON Or, setup LE environment via CALL from Natural program Compile RENT/REUS, remove NCAL Link/bind with LEASM parm & LE Maclib in SYSLIB. SCEELKED in SYSLIB of final link DELETE=ON/OFF… what impact does this have? Main module or sub-module… what impact does this have? PARM=‘POSIX(ON),TRAP(OFF)/natparms’ SET CONTROL ‘P=L’ or ‘P=LS’ CLER transaction in CICS Language Environment

  16. The Natural nucleus CLER WTRM WTRMCICS Language Environment Region Level Runtime Options Type in your Choices. Runtime option Choice Possible choices. TRAP ==> ON ON, OFF RPTOPTS ==> OFF ON, OFF RPTSTG ==> OFF ON, OFF ALL31 ==> ON ON, OFF CBLPSHPOP ==> ON ON, OFF TERMTHDACT ==> TRACE QUIET,MSG,TRACE,DUMP,UAONLY,UATRACE,UADUMP,UAIMM When finished, press ENTER. PF1=Help 3=Quit 5=Current Settings 9=Error List Language Environment

  17. The Natural nucleus You can also directly invoke LE services from Natural: (Courtesy of SAG support in Denver) DEFINE DATALOCAL1 DSARPL2 SEED (B4)2 RANDNUM (B4)2 DSAFDBK (B12) /* LE FEEDBACK CODE2 REDEFINE DSAFDBK3 DSASVCD (I2) /* SEVERITY CODE3 DSAMSGNO (I2) /* MESSAGE NUMBER3 DSACSC (A1)3 DSAFACID (A3) /* LE FACILITY ID1 DSALEMSG (A8) /* LE MESSAGE1 REDEFINE DSALEMSG2 MSGPFX (A3) /* MESSAGE PREFIX2 MSGNBR (N4) /* MESSAGE NUMBER2 MSGSFX (A1) /* MESSAGE SUFFIX1 MSGSVTY (A5) INIT ‹''IWESC''› /* SEVERITY MNEMONICS1 REDEFINE MSGSVTY2 MSGSVCD (A1/5)1 I (P3)END-DEFINE* ALL ''CEERANC0'' SEED RANDNUM DSAFDBKIF DSAFDBK NE H''00''DOMSGPFX := DSAFACIDMSGNBR := DSAMSGNOMSGSFX := MSGSVCD (DSASVCD)DOENDWRITE NOTITLE *PROGRAM 4X DSAFDBK 2X DSALEMSG 2X SEED RANDNUM*END Language Environment

  18. The Natural nucleus You can pass LE run-time options by providing the region-specific run-time options load module CEEROPT in your STEPLIB concatenation. In addition, the LE library routine retention initialization routine CEELRRIN must be present on the PREINIT list of your region JCL. The following is a sample definition of a CEEROPT load module that allows the execution of AMODE(24) subprograms: CEEROPT CSECT CEEROPT AMODE ANY CEEROPT RMODE ANY CEEXOPT ALL31=((OFF),OVR), X STACK=((128K,128K,BELOW,KEEP,512K,128K),OVR) END CEEROPT Language Environment This is how I turned TRAP(OFF) for our CICS regions.

  19. The Natural nucleus Linking components to the Nucleus (CEERN0, LPARINFO, etc.). C/C++, COBOL, etc. (L.E. languages) NATPARM CSTATIC subparameter L.E. considerations (RENT, NCAL, etc). Assembler 370 NATPARM CSTATIC subparameter Natural (via ULDOBJ in lib SYSMISC) NATCONFIG NTSTAT parameter defines it. Still accessed via PERFORM*, CALLNAT, etc. Extending functionality

  20. The Natural nucleus Roll Server (optional) CICS Driver & Nucleus Swap pool Threads CICS; additional components NEP SCB For Coupling LPARS Too. Threads are where each user session executes. The thread may “swap” to alternate memory when inactive, then later “roll” out. The SCB keeps track of sessions. The NEP is the error recovery program for CICS sessions.

  21. Buffer Pools 3). Global; defined as backup 2 [BPPROP] 2). Local (default) defined as backup 1 Natural Drivers & Nucli Natural BP 1). Global (optional) defined as default. Editor BP (optional) Sort BP (optional) MON BP (optional) A Global BP may be shared by all Natural (batch + online). You may define other BPs (up to 9 *) as “backups”. What are the [dis]advantages of a local BP over a local one? Do you know the purpose of each of the special BPs (edit, sort and MON)?

  22. Buffer Pools 3). Global; defined as backup 2 2). Local (default) defined as backup 1 [BPPROP] Natural BP 1). Global (optional) defined as default. At startup, if the first BP cannot be located it will use the next definition. With multiple GBP, you may automatically propagate (BPPROP) the delete/refresh commands. A Natural session may specify which BP it wishes to use with the BPNAME parameter ( local = blank). Limiting a BPs use (e.g. for servers only) means shorter search chains, and they may be maintained without impact to other unrelated applications. Larger BPs tend to load once and keep the modules; but this may be accomplished with RESIDENT lists, if you know the module’s usage is high.

  23. Buffer Pools USR0340P USR0340N Natural Buffer Pool Interface 0340 USR0341P USR0341N Natural Buffer Pool Interface 0341 USR4340P USR4340N Natural Buffer Pool Interface 4340 • There are several Natural API programs in library SYSEXT to help you. • You may force a deletion of modules that have been previously marked for deletion and which have been unused for 30 minutes. (garbage collection). • You may list the contents of the BP, or just get counts, or issue delete requests, or mark/unmark objects for residency. • You may get the general (overall) BP statistics.

  24. Session Parameters Nucleus: NATPARM module + any optional SYS= specified. Startup program may pass session parameters. E.G. CICS: Current Trans-ID , 4 bytes Address of dynamic parm string, 4 bytes Length of parm string, 4 bytes Natural transaction ID, 4 bytes Backend Program, 8 bytes SYSPARMs * (from FNAT) Natural Security Parameters (within library) Globals (within library) Format (within programs) Order of precedence

  25. Session Parameters 1). Defined through online screens instead of assembling NTPRM. 2). Stored on FNAT. (and yet may contain an FNAT= parameter) Key field is LO(A9). Contains left parenthesis + profile name. Parameter string is LK(A80). 3). A profile may reference another profile (Careful; don’t do Recursion). 4). Profile types: Auto=*INIT-USER Terminal=Terminal-ID, Program=*INIT-PROGRAM any other name is valid also. 5) Is loaded after sessions starts, but before LOGONEXn. SYSPARM

  26. Natural & NSC Admin. My front-end program takes the following values as keys for SYSPARM profiles and combines them into a single parameter for the session. The Environment (Development/QA/Production) The CICS transaction ID for the target Natural session. The Name of the destination Natural library. The name of the user (their individual profile) If authorized, dynamic parameters for the user. This allows optimal buffer usage by having very specific values, depending on the user’s needs and location. Session Parms

  27. Natural & NSC Admin. SYSPARM does not keep track of maintenance to parms. It would be nice to know who changed the parms and when, and also to have a comment area to describe what changed and why. Since the parameters are stored on FNAT, you may write your own programs to provide such additional information . I also wrote a program called PARMSCAN that allows me to scan all SYSPARM profiles for a string, so I can find all the places that may be in need of maintenance. Starting with Natural 4, you may place comments into the parameter text. Use /* to start a comment. Use */ to terminate it. SYSPARM

  28. Natural & NSC Admin. 14:48:22 ***** NATURAL SYSPARM UTILITY ***** 10/05/2006 > RPC=(SERVER=ON,SRVNODE='134.123.4.56:1971:TCP',SRVNAME=CICS,AUTO=ON, < > SRVUSER=STARGATE,TRANSP=(ACI,TCP),MAXBUFF=280,TRACE=0,RPCSIZE=296, < > ACIVERS=6,NTASKS=1),RCA=(BROKER),RCALIAS=(BROKER,NATETB23),ETID='''',MAI < > NPR=10,PRINT=((10),AM=ESS,DEST=EXRPCICS,FORMS=TRAC),WORK=((10),AM=CICS,D < > EST=EXRPCICS,DISP=(NEW,KEEP),OPEN=ACC),ADAMODE=0,UDB=35, < > WORK=((1),AM=CICS,DEST=DARSEX01,DISP=(NEW,KEEP),OPEN=ACC), < > WORK=((2),AM=CICS,DEST=DARWEX01,DISP=(NEW,KEEP),OPEN=ACC), < > /* Original version of NT2X. Saved here as backup */ < SYSPARM

  29. Monitoring/Logging Remote Data Collectors (Natural & Assembler language exits). Database calls, Page I/O, Errors, Prog. Load/Start/stop, CALLs 3rd party vendor (SYSVIEW) RDCSIZE session Parameter SYSTP Threads, Swap pools, Roll servers, User sessions. SYSMON (online and batch) Terminals or programs.

  30. Monitoring/Logging R D C Database Natural Reports RDC EXITS Modules (load, start & stop) User Exits Errors RDC Buffer Log

  31. 12:20:03 ***** NATURAL SYSTP UTILITY ***** 2006-10-03 User DMDSAC - Main Menu - TID T004 Code Function E Environment-Dependent Functions M Natural Monitoring (SYSMON) F Natural Print/Work Files (SYSFILE) S Natural Swap Information B Buffer Usage Statistics (BUS) R Natural Subsystems and Roll Server Information T Natural Thread Usage Statistics ? Help . Exit Code .. Monitoring/Logging

  32. Monitoring/Logging The NATURAL Monitor also can be used within Batch applications. The administration is realized by corresponding callnats and programs, which must be activated by user written programs : Activate NATURAL Monitor : SMNACT01 Deactivate NATURAL Monitor : SMNDEA01 To print the statistics the program SMPBAT01 has to be called. You will find examples within the library SYSTP SMPEXACT - usage of callnat and returncodes for activation SMPEXDEA - usage of callnat and returncodes for deactivation SMPEXPRI - usage of starting printout for statistical data SYSMON Set MONSIZE for monitoring buffer.

  33. Monitoring/Logging The NATURAL Monitor is currently activated Code Function D Deactivate Monitor T Display Monitor Terminal Statistics P Display Monitor Program Statistics ? Help . Exit Code .. _ Name of LTERM or Program ..: ________ Name of Library ...........: ________ SYSMON

  34. Monitoring/Logging LPFEXPRI: What is this thing? DEFINE DATA LOCAL 1 PVALA (A24/20) 1 REDEFINE PVALA 2 PVALB (B24/20) 1 CO (P2) END-DEFINE COMPRESS '/STA L' H'2786' INTO PVALA(1) COMPRESS '/STA P' H'2786' INTO PVALA(10) COMPRESS '/FS ,R' H'2786' INTO PVALA(17) CALLNAT 'LPFSUP01' PVALA(*) INPUT 'USER-DEFINED-KEYS LOADED' END SYSMON

  35. Monitoring/Logging SMPEXPRI: Name Library NAT- ADA- Ext- Mean- Input/Output User Sys time time time time No KB Acc Acc ---------------------------------------------------------------------------- SMMMEN01 SYSTP 0 0 0 0.0 2 3 2 0 S2MRAHM1 SYSTP 0 0 0 0.0 0 0 0 0 S2SCOM01 SYSTP 0 0 0 0.0 0 0 0 0 SMPMEN01 SYSTP 0 0 0 0.0 1 0 1 6 STPMNU1P SYSTP 0 0 0 0.0 1 0 5 6 STPMMM1M SYSTP 0 0 0 0.0 2 3 2 0 SYSMAP0M SYSTP 0 0 0 0.0 0 0 0 0 MENU SYSTP 0 0 0 0.0 0 0 1 3 STPGDA SYSTP 0 0 0 0.0 0 0 0 0 SYSTP SYSTP 0 0 0 0.0 0 0 3 5 SYSSUBSU SYSTP 0 0 0 0.0 0 0 1 3 NSCA0003 SYSTP 0 0 0 0.0 0 0 1 4 NSCC0002 SYSTP 0 0 0 0.0 0 0 5 4 SECUA SYSTP 0 0 0 0.0 0 0 12 0 NAT00029 SYSTP 0 0 0 0.0 0 0 0 0 S2SCENT1 SYSTP 0 0 0 0.0 0 0 0 0 SMPEXPRI SYSTP 0 0 0 0.0 0 0 1 2 SMPBAT01 SYSTP 0 0 0 0.0 0 0 0 4 SYSMON

  36. Configuring Application library *STEPLIB (?) Library design Alternate DB & FNR (Test, Cert, QA, Prod) NSC steplib chain Alternate DB & FNR (Test, Cert, QA, Prod) SYSTEM

  37. Exits NATSREX2; When Natural passes a record to SORT. NATSREX3; When Natural retrieves a record from SORT. Example source (assembler) is delivered with Natural. Once they are linked as part of the nucleus, they are automatically activated. ~~~ The NTSORT macro in the NATPARM module. WRKSIZE=10,STORAGE=MAIN,EXT=OFF,EXTNAME=sort,EXTEOJ=OFF ~~~ system function SORTKEY(character-string) to convert "incorrectly sorted" characters (or combinations of characters) into other characters (or combinations of characters) that are "correctly sorted” alphabetically by the sort program or database system. Sort

  38. Exits/APIs Example programs List NSC errs PGMXRIER PGMXRUSE PGMXR007 List obj. alpha PGMXR001 Xref info PGMXR002 PGMXR003 PGMXR004 PGMXR005 Logon records PGMXR006 PGMXR008 PGMXR009 PGMXR010 PGMXR011 PGMXR012 PGMXR013 Trans obj id/name PGMXR014 PGMXR016 Find orphan libs PGMXR015 Pswd maint PGM----P PGM---SP PGM---P Use cmds? PGM---CS PGMDA-C Ck. Linked? PGM---L Ck. Obj? PGMCHCK Disp prof PGMDA PGMDA-P PGMDA-S PGMDU Spl. Lnk PGMDAU PGMDAUC PGMDAUP PGMDAUS NSC known PGMDEF File maint PGMFI001 Lib maint PGMLI001 PGMLI002 PGMLI003 PGMLI004 PGMLI005 Mailbox maint: PGMMA001 PGMMA002 Ext. obj. maint PGMOB001 PGMOB002 User def maint PGMUS001 PGMUS002 PGMUS003 PGMUS004 User/lib/util maint PGMUT001 Natural Security

  39. Files: NSCFIEX1 Libraries: NSCLIEX1 Ext. Objects: NSCOBEX1 NSCOBEX2 Users: NSCUSEX1 Exits Example Exit: EXIT EXITMAP NSC logon map: LOGONM1 NSC mailbox: MAILEX MAILEX1 MAILMAP1 MAILMAP2 At LOGON: LOGONEX1 LOGONEX2 LOGONEX3 LOGONEX4 LOGONM1 RPC logons: LOGON001 CALLNAT 'NAT00029' CALLNAT 'NSCUTX0P' CALLNAT 'NAT00030' Utility Library Info _ ________ ________ _______________________ _ NATUNLD <others> Some functions allowed _ SYSDDM <others> Some functions allowed _ SYSMAIN <others> Some functions allowed _ SYSOBJH <others> Some functions allowed _ SYSTRANS EXXCIS All functions allowed _ <others> All functions allowed Natural Security Nat. PROFILE: APROFILE NSC extentions: CUSTOM1 CUSTOM2 CUSTOM3 CUSTOM4 CUSTOM5 Exmpl ERROR-TA ERROR MAP-ERR0 MAP-ERR1

  40. Exits 13:40:42 *** NATURAL SECURITY *** 2006-10-12 - Application Interfaces - FSEC (25,177) Co Example Subprogram Function __ ________ __________ ________________________________________________________ __ PGM----P NSC----P Verify and change password __ PGM---L NSC---L Check if LOGON to a library is allowed __ PGM---P NSC---P Verify password __ PGM---SP NSC---SP Check NSC password __ PGMCHCK NSCCHCK Check if access to external objects is allowed __ PGMDA NSCDA Display library profile __ PGMDA-C NSCDA-C Display command and editor restrictions of a library __ PGMDA-P NSCDA-P Display security profile of a library __ PGMDA-S NSCDA-S Display statement restrictions of a library __ PGMDAU NSCDAU Display special link profile __ PGMDAUC NSCDAUC Display command and editor restrictions of special link __ PGMDAUP NSCDAUP Display security profile of a special link __ PGMDAUS NSCDAUS Display statement restrictions of a special link __ PGMDEF NSCDEF Check if an object is defined to Natural Security __ PGMDU NSCDU Display security profile of a user Natural Security

  41. Utilities Driving Utilities from batch jobs: SYSADA SYSUNLD/SYSOBJH SYSBPM SYSMAIN SYSERR SYSPARM SYSSEC SYSTP SYSUPD

  42. Some have command interfaces, so it is easier. SYSOBJH Utilities SYSOBJH:14:24:54 ***** Natural Object Handler ***** 10/10/200 User DMDSAC - Main Menu - Select the desired function: +----------------------- Command Line -----------------------+ onment ! ! ! The command line can be used to enter internal commands or ! ! external (Natural) commands. ! ! ! ! External commands have to be preceded by '//'. ! ! Any external command stops the Object Handler utility. ! ! ! ! To invoke the commands menu, enter the command 'COMMAND'. ! ! ! ! ! Ma +------------------------------------------------------------+ _ Advanced user Command ===> ?

  43. SYSOBJH: Utilities 14:27:30 ***** Natural Object Handler ***** User DMDSAC - Commands - Select a command group: _ GO Navigation commands _ SET Internal settings _ SHOW Display commands _ Others Different Object Handler commands _ HELP Object Handler help information Command ===>

  44. SYSOBJH: Utilities 14:28:07 ***** Natural Object Handler ***** 10/10/200 User DMDSAC - GO Commands - Current command: GO Select a GO command: _ HOME Go to the main menu _ UNLOAD Go to the unload function _ LOAD Go to the load function _ SCAN Go to the scan function _ RESTART Go to the restart load function _ ADMIN Go to the administration functions _ VIEW Go to the view function _ FIND Go to the find function Command ===>

  45. SYSOBJH. The “Wizard” will help you build the command(s). Utilities 14:30:14 ***** Natural Object Handler ***** 10/10/2006 User DMDSAC - Unload Wizard - The following command will be processed. To change the settings, press PF7 (Back). To confirm the settings and to execute the command, press ENTER or PF8 (Next). UNLOAD * LIB XDMD OBJTYPE NE FMNUM 1 TONUM 9999 WHERE REPORT TRANSFER Please press PF7 (Back) or ENTER/PF8 (Next). Command ===>

  46. Feeding data to Batch Utilities: Option 1: By Forms mode (%F) Utilities Logon accepted to library XDMD. *CF* %F NEXT TSTINPUT #A #B DATA ITS AN A BE B Page 1 A= ITS AN A B= BE B Program TSTINPUT: RESET #A (A10) #B (A5) INPUT #A / #B WRITE 'A=' #A / 'B=' #B END Data must match the “form” exactly, line by line, field by field. Use commas and new lines to compensate for form fields. (ugh).

  47. Feeding data to Batch Utilities: Option 2 By keyword (variable name) Utilities Logon accepted to library XDMD. *CF* %D NEXT TSTINPUT #A #B DATA #B=BE B,#A=ITS AN A Page 1 A= ITS AN A B= BE B Program TSTINPUT: RESET #A (A10) #B (A5) INPUT #A / #B WRITE 'A=' #A / 'B=' #B END Okay, but what variables did Software AG use in the utility modules? How do I know what to put for the keywords?

  48. Feeding data to Batch Utilities: By keyword (Header name) Utilities RESET #A (A10) #B (A5) INPUT ‘A’ #A / ‘B’ #B WRITE 'A=' #A / 'B=' #B END Logon accepted to library XDMD. *CF* %D NEXT TSTINPUT #A #B DATA B=BE B,A=ITS AN A Page 1 A= ITS AN A B= BE B Okay, but what if the headers are: Name . . . . Street . . . .

  49. Feeding data to Batch Utilities: By keyword (Header name, cont.) Utilities Logon accepted to library XDMD. *CF* %D NEXT TSTINPUT #A #B DATA B=BE B,A=ITS AN A Page 1 A= ITS AN A B= BE B RESET #A (A10) #B (A5) INPUT ‘A …’ #A / ‘B …’ #B WRITE 'A=' #A / 'B=' #B END Natural ignores the special characters after the field title and uses the unique value to the left of the variale.

  50. Still having trouble feeding in data? Try using recordings. Utilities %B=lib-name Sets destination library for recording to be saved. %Brecording-name Sets name of member for saved recording. Do your activity. %B Deactivates recording mode (and saves recording). Then in batch job just do %Arecording-name For example, See next slide. Beware the %B=library-name does not check for valid libraries and will record into any name you type. With NSC, you cannot delete the recording (via SYSMAIN, or Natural commands) unless the library exists.

More Related