The following illustrates the sample online program as output from the DML precompiler.
00001 *RETRIEVAL 00002 *DMLIST 00003 *NO-ACTIVITY-LOG 00004 R0 EQU 0 00005 R1 EQU 1 00006 R2 EQU 2 00007 R3 EQU 3 00008 R4 EQU 4 00009 R5 EQU 5 00010 R6 EQU 6 00011 R7 EQU 7 00012 R8 EQU 8 00013 R9 EQU 9 00014 R10 EQU 10 00015 R11 EQU 11 00016 R12 EQU 12 00017 R13 EQU 13 00018 R14 EQU 14 00019 R15 EQU 15 00020 SPACE 1 00021 * ENTER FROM NEXT HIGHER LEVEL 00022 SPACE 1 00023 PRINT GEN ASSEMBLER PRINT OPTIONS 00024 SYBPG2 CSECT 00025 LR R12,R15 ESTABLISHES REGISTER 12 AS THE 00026 USING SYBPG2,R12 BASE REGISTER 00027 USING STORAGE,R10 ESTABLISH ADDRESSABILITY OF DSECT 00028 B PROCESS BRANCH TO FIND INVOKING TASKCODE 00029 EJECT 00030 @INVOKE MODE=IDMSDC,MAP=SYBMAP 00032 * OPERATING MODE: IDMS DC/MAPPING 00033 EJECT 00034 SPACE 1 00035 RETURN DS 0H 00036 #FREESTG STGID='SYB4' FREE THE STORAGE ACQUIRED EARLIER 00037 #RETURN RETURN TO HIGHER LEVEL 00038 SPACE 1 00039 RETURNXT DS 0H 00040 #RETURN NXTTASK=SYBTSK03 PASS CONTROL BACK TO ITSELF 00041 SPACE 1 00042 * MAINLINE PROGRAM 00043 SPACE 1 00044 PROCESS DS 0H 00045 #GETSTG TYPE=(USER,LONG,KEEP),PLIST=*,LEN=STORLGTH, * 00046 STGID='SYB4',COND=(ALL),ERROR=ERRORTN,ADDR=(R10), * 00047 INIT=X'40' 00048 * ACQUIRE VARIABLE STORAGE 00049 SPACE 1 00050 #MAPBIND MRB=SYBMAP BIND MAP AND RECORDS 00057 #MAPBIND MRB=SYBMAP,RECNAME=SYBREC - 00061 SPACE 1 00062 ACCEPTSK #ACCEPT TYPE=TASKCODE,FIELD=TASKCODE 00063 * ACCEPT TASK CODE TO INVOKE TASK 00064 CLC TASKCODE,SYBTSK2 FIRST TIME CALLED ? 00065 BNE RECCUR YES - OUTPUT FIRST SCREEN 00066 * NO - INPUT DATA FROM SCREEN 00067 FIRSTIME DS 0H 00068 MVC SYBDEPID,=C'0000' PRIME DATA FIELD 00069 SPACE 00070 #MREQ OUT,MRB=SYBMAP,OPTNS=(NEWPAGE),ERROR=ERRORTN, * 00071 COND=(ALL) 00072 * MAP OUT PROMPT 00073 SPACE 00074 B RETURNXT EXIT & WAIT FOR OPERATOR RESPONSE 00075 SPACE 2 00076 RECCUR DS 0H 00077 #MREQ IN,MRB=SYBMAP,ERROR=ERRORTN,COND=(ALL) 00078 * MAP IN TERMINAL INPUT 00079 SPACE 1 00080 #MAPINQ MRB=SYBMAP,AID=AIDBYTE 00082 * MOVE MAP DATA TO PROG VARIABLE STG 00083 CLI AIDBYTE,CLEAR DID THE OPERATOR REQUEST FINISH? 00084 BE RETURN YES - EXIT PGM, BACK TO IDMS DC 00085 SPACE 00086 #MREQ OUT,MRB=SYBMAP,ERROR=ERRORTN, * 00087 COND=(ALL) 00088 * MAP OUT DATA 00089 SPACE 00090 B RETURNXT EXIT & WAIT FOR OPERATOR RESPONSE 00091 * NO - MAPOUT, WAIT ON OPERATOR 00092 ERRORTN DS 0H HERE FOR NONZERO RETURN CODE 00093 #SNAP AREA=(SYBMAP,SYBMAPLN) 00094 B RETURN EXIT 00095 CLEAR EQU X'6D' CLEAR AIDBYTE VALUE 00096 SYBTSK2 DC CL8'SYBTSK2 ' DC TASK INVOKING VALUE (EXTERNAL) 00097 SYBTSK03 DC CL8'SYBTSK03' DC TASK INVOKING VALUE (INTERNAL) 00098 LTORG 00099 #BALI 00100 SPACE 2 00101 ******************************************************************** 00102 STORAGE DSECT STORAGE DSECT DMLA 00103 @COPY IDMS,MAP-CONTROL=SYBMAP 00104 #MRB MAPNAME=SYBMAP,FIELDS=0001,RECORDS=0001 00105 SYBMAPLN EQU *-SYBMAP LENGTH OF #MRB FOR SNAP 00106 SPACE 1 DMLA 00107 @COPY IDMS,MAP-RECORDS 00108 DS 0D 00109 SYBREC DS 0CL4 00110 SYBDEPID DS CL4 00111 **************************************** - 00112 SPACE 1 00113 SYSPLIST DS 20F MAP OUT PARAMETER LIST AREA 00114 TASKCODE DS CL8 TASK CODE WHICH INVOKED PROGRAM 00115 AIDBYTE DS X ATTENTION IDENTIFIER BYTE 00116 DS 3X RESERVED 00117 STORLGTH EQU *-STORAGE TOTAL LENGTH OF STORAGE NEEDED 00118 SPACE 1 00119 END SYBPG2
|
Copyright © 2014 CA.
All rights reserved.
|
|