home *** CD-ROM | disk | FTP | other *** search
- /*H* RDBMISC.KEX 01-30-93 10:19*/
- Arg dborigin dbsession
- Parse Arg . parms
- Signal On Error; Signal On Failure; Signal On Halt
- Signal On Novalue; Signal On Notready; Signal ON Syntax
- Parse Value 'COMMAND SET!COMMAND X!COMMAND EXT' With dbcs'!'dbxx'!'dbce
- Parse Value 'COMMAND!COMMAND SOS' With dbc'!'dbso
- dbce '/FN/OPSYS'
- dbme='rdbMISC'
- dbsys=opsys.1
- if dbsys='OS/2' then dbsys='OS2' /*O*/
- Parse Value 0 With dbtrc dbtrap dbtrapp dbmsg
- If dborigin='?' Then Return tell(dbme)
- Parse Value 'command set!command extract' With dbcs'!'dbce
- Parse Value 'command!command sos' With dbc'!'dbso
- dbmsg=''
- if dborigin='' Then do;
-
-
- end
- Select
- When dborigin='/EXIT' Then parse value db3chkexit(parms) with dbtrc dbtrap
- When dborigin='/DROP' Then parse value db3drop(parms) with dbtrc dbtrap
- When dborigin='/EXPAND' Then parse value db41expand(parms) with dbtrc dbtrap
- When dborigin='/SWITCH' Then parse value db3setsw(parms) with dbtrc dbtrap
- When dborigin='/ABORT' Then parse value db3abort(parms) with dbtrc dbtrap
- Otherwise Return tell(dbme)
- End
- If dbmsg<>'' Then 'EMSG' dbmsg
- if dbtrc=-7 then return -7 dbtrap
- /*Exit*/ Return dbtrc dbtrap;
-
- DB3CHKEXIT:
- Arg dbpath dbdfile'!'dbinvoke'!' dblabel dbw1 .
- Do Until (rc<>0)+(dblabel)>0
- dbce '/FN/FT/FM'
- If right(fmode.1,1)=':' Then dbs='.'
- Else dbs=''
- dbfile=dbpath''strip(fname.1)''dbs''strip(ftype.1)
-
- If dbfile=dbpath''dbdfile Then
- Parse Value 1 dbmsg rdbmsg(320 dbw1 'this file:' dbpath''dbfile) with,
- dblabel dbmsg
- Else do; signal off error; dbw1; end
- End
-
- Return 0; DB3DROP:
- Arg . dbws'!'dbwatch
- Do While dbws<>''
- Parse Var dbws dbw dbws
- dbi=wordpos(dbw,dbwatch)
- If dbi>0 Then dbwatch=delword(dbwatch,dbi,1)
- End
- Return dbwatch'!'rdbmsg(335 dbwatch)
-
- DB41EXPAND: PROCEDURE
- Parse Arg . dbw dbws
- dbtemp=''
- Do While dbw<>''
- If pos('-',dbw)>0 Then Do
- Parse Value dbw With db1 '-' db2
- If (db1<=db2)+(datatype('0'db1,'w'))>0 Then Nop
- Else Do;dbinvalid=dbinvalid dbw;db2=0; End
- Do dby=db1 To db2;dbtemp=dbtemp dby; End
- End
- Else dbtemp=dbtemp dbw
- Parse Var dbws dbw dbws
- End
-
- Return DBTEMP;
-
- db3ABORT:
- parse value rdbtask('* P 4') with dbtrc dbtrap
- if dbtrc=-7 then return -7 dbtrap
- dialog.2=dbtrap
- if dialog.2 ='CANCEL' then do
- 'EMSG' rdbmsg(222)
- return 0; end
- else do
- call lineout dbsession
- 'EMSG' rdbmsg(220)
- return 1; end
-
- ERROR: return db9trap(sigl 80e) sourceline(sigl)
- FAILURE: return db9trap(sigl 80f) sourceline(sigl)
- HALT: return db9trap(sigl 80h)
- NOTREADY: return db9trap(sigl 80r) sourceline(sigl)
- NOVALUE: return db9trap(sigl 80v)
- SYNTAX: return db9trap(sigl 80e) errortext(rc)'~'sourceline(sigl)
- db9TRAP:
- if dbtrc=-7 then dbtrapp=dbtrap
- parse arg dbsigl dbtcode dbtrest
- dbtrap = 0 dbme dbsigl dbtcode dbmsg rdbmsg(dbtcode dbme dbsigl) dbtrest
- dbtrc=-7
- return -7 dbtrapp dbtrap
-