123 lines
2.1 KiB
Plaintext
123 lines
2.1 KiB
Plaintext
COMPILE FUNCTION obj_SHELL(Method,Parms)
|
|
|
|
/*
|
|
Methods for SHELL table
|
|
|
|
07/09/2015 JCH - Initial Coding
|
|
|
|
Properties:
|
|
|
|
Methods:
|
|
|
|
Create() ;* Creates new record in SHELL file
|
|
Find() ;* Collector Window or Popup to select or find SHELL record keys
|
|
|
|
|
|
|
|
*/
|
|
|
|
* Subroutine Declaration *
|
|
|
|
DECLARE SUBROUTINE Set_Status, Msg, obj_Tables, ErrMsg, Btree.Extract
|
|
|
|
|
|
* Function Declarations *
|
|
|
|
DECLARE FUNCTION Get_Status, Msg, Utility, obj_Tables, Dialog_Box
|
|
|
|
|
|
* File Inserts *
|
|
|
|
$INSERT MSG_EQUATES
|
|
|
|
|
|
* Ad Hoc equates *
|
|
|
|
EQU CRLF$ TO \0D0A\
|
|
|
|
|
|
* Setup for ErrMsg error handling routine *
|
|
|
|
ErrTitle = 'Error in Stored Procedure "obj_SHELL"'
|
|
ErrorMsg = ''
|
|
|
|
|
|
* Checking for missing method
|
|
|
|
IF NOT(ASSIGNED(Method)) THEN ErrorMsg = 'Unassigned parameter "Method" passed to subroutine'
|
|
IF NOT(ASSIGNED(Parms)) THEN Parms = ''
|
|
|
|
IF ErrorMsg NE '' THEN
|
|
Set_Status(-1,ErrTitle:@SVM:ErrorMsg) ;* Push error onto STATUS stack and bail out
|
|
RETURN ''
|
|
END
|
|
|
|
Result = ''
|
|
|
|
|
|
* Object Dispatcher *
|
|
|
|
BEGIN CASE
|
|
CASE Method = 'Create' ; GOSUB Create
|
|
CASE Method = 'Find' ; GOSUB Find
|
|
|
|
CASE 1
|
|
ErrorMsg = 'Unknown Method ':QUOTE(Method):' passed to routine.'
|
|
|
|
END CASE
|
|
|
|
IF ErrorMsg NE '' THEN
|
|
Set_Status(-1,ErrTitle:@SVM:ErrorMsg) ;* Push error onto STATUS stack and bail out
|
|
RETURN ''
|
|
END
|
|
|
|
RETURN Result
|
|
|
|
|
|
* * * * * * *
|
|
Create:
|
|
* * * * * * *
|
|
|
|
Var1 = Parms[1,@RM]
|
|
Var2 = Parms[COL2()+1,@RM]
|
|
Var3 = Parms[COL2()+1,@RM]
|
|
Var4 = Parms[COL2()+1,@RM]
|
|
|
|
|
|
* Build the record here *
|
|
|
|
|
|
* Sample call to obj_Tables to write a new or updated record *
|
|
|
|
/*
|
|
OtParms = 'COC':@RM:ShipNo:@RM:@RM:ShipRec
|
|
obj_Tables('WriteRec',OtParms)
|
|
|
|
IF Get_Status(errCode) THEN
|
|
obj_Tables('UnlockRec',OtParms)
|
|
END
|
|
|
|
*/
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
Find:
|
|
* * * * * * *
|
|
|
|
* Routine to do look up of one or more keys to the SHELL file
|
|
|
|
ShipKeys = Dialog_Box( 'COC_QUERY', @WINDOW, '' ) ;* Interface with user to get selection parameters, perform select and return keys
|
|
|
|
CONVERT @FM TO @VM IN ShipKeys
|
|
|
|
Result = ShipKeys
|
|
|
|
|
|
RETURN
|
|
|
|
|
|
|