G'day Dan,
At 12:35 21/04/02 -0400, you wrote:
> I am thinking of asking for an enhancement, but wondered If anyone else
> would like this.
>When codelocking an app file, after it is done, you are still presented
>the codelock menu. This would be good if you were hoping to continue
>multiple files, but this is never the case for me. I would prefer to
>have that menu close after codelocking. Does anyone do multiple files on
>a regular basis?
Here's some working code that I use.
I have included the blocks called from the menu option as they
contain code that may be of assistance.
One block extracts the preferred word processor and saves the
existing file for version logging.
One block sets the date and time settings to those stored in the
SiteValues table.
Another logs the app file out in the AppFiles table so two developers
cannot be modifying it at the same time.
The last deletes the apx file and codelocks the app file.
IF vPgmrPick1 = 'Edit app file...' THEN
RUN EditAPP IN AAAAAAAA.APX
IF vQuit = 'Y' THEN
GOTO LEndAAAA
ENDIF
CONNECT &vDBNameSave
RUN ConectDT IN GlobBlok.apx
UPDATE AppFiles SET +
CheckedOutTo = NULL, +
NextVersionNo = (NextVersionNo + 1) +
WHERE AppFile = .vFilePrefix
IF vFilePrefix = 'AAAAAAAA' THEN
GOTO LEndAAAA
ENDIF
SET VAR vCodeLock TEXT = 'Yes'
EDIT USING DB_AppFile +
WHERE AppFile = .vFilePrefix +
AT 227,105,573,495 +
CAPTION 'Edited File'
IF vCodeLock = 'No' THEN
GOTO LEndAAAA
ENDIF
RUN App2Apx IN AAAAAAAA.APX
SET MESSAGES .SAVE_MESSAGES_AA
SET ERROR MESSAGES .SAVE_ERROR_AA
ENDIF
$COMMAND
EditAPP
-- To speedily call up application files in word processor
-- and save files for version logging
-- Called by:
-- AAAAAAAA in AAAAAAAA.apx
-- Created by Tom Grimshaw 02-12-1997
-- Modification history
-- 02-12-1997
-- 23-05-1998 Alter set command variable to use word processor
-- specified in SiteValues table as first option
-- 26-08-1998 Added disconect and connect after discovering sections
-- of cmd files in db
-- 06-08-2000 tlg Added saving of version to history dir and testing
-- for file already checked out
-- 15-08-2000 tlg Removed history dir as buggy on laptop
-- 30-03-2002 tlg Altered to call GetUsrVl for word processor path
--
SET VAR vQuit TEXT = 'Y'
SET VAR vDBNameSave = (CVAL('DATABASE'))
CLEAR VAR vFilePrefix
CHOOSE vFilePrefix +
FROM #VALUES +
FOR AppFile +
FROM AppFiles +
ORDER BY AppFile +
AT 7,45 +
TITLE 'App Files' +
CAPTION 'Programmer Module' +
LINES 20
IF vFilePrefix = '[Esc]' THEN
RETURN
ENDIF
SET VAR vAvailable INTEGER = NULL
SELECT CheckedOutTo INTO +
vAvailable IND vi1 +
FROM AppFiles +
WHERE AppFile = .vFilePrefix
IF vAvailable > 0 THEN
SELECT (Salutatn & Surname) INTO +
vOtherPgmr IND vi1 +
FROM VW_Personnel +
WHERE PersNumb = .vAvailable
SET VAR vMsg TEXT = ('File currently checked out to ' + .vOtherPgmr)
PAUSE 1 USING .vMsg AT CENTER CENTER
CLEAR VAR vOtherPgmr,vMsg,vAvailable,vFilePrefix
RETURN
ENDIF
*(
CLEAR VAR vPgmr
DIA 'Enter your personnel number:' vPgmr =3 vEndKey 1
)
SET VAR vPgmr INTEGER = 2
*(
IF vPgmr IS NULL OR vEndKey = '[Esc]' THEN
CLEAR VAR vPgmr,vAvailable
RETURN
ENDIF
)
UPDATE AppFiles SET +
CheckedOutTo = .vPgmr +
WHERE AppFile = .vFilePrefix
SELECT NextVersionNo INTO +
vNxtVrsnNo IND vi1 +
FROM AppFiles +
WHERE AppFile = .vFilePrefix
IF vNxtVrsnNo < 10 THEN
SET VAR vNxtVrsnTxt TEXT = ('00' + (CTXT(.vNxtVrsnNo)))
ELSE
IF vNxtVrsnNo < 100 THEN
SET VAR vNxtVrsnTxt TEXT = ('0' + (CTXT(.vNxtVrsnNo)))
ELSE
SET VAR vNxtVrsnTxt TEXT = (CTXT(.vNxtVrsnNo))
ENDIF
ENDIF
SET VAR vAppFile TEXT = (.vFilePrefix + '.app')
SET VAR vAppFileSave TEXT = (.vFilePrefix + '.' + .vNxtVrsnTxt)
SET VAR vCmd TEXT = ('COPY ' + .vAppFile + ' ' + .vAppFileSave)
&vCmd
SET VAR vUVSVID INT = 62
RUN GetUsrVl IN PrefSetg.apx
SET VAR vCmd TEXT = ('ZIP' & .vUserValue & .vAppFile)
DISCONNECT
&vCmd
IF SQLCODE <> 0 THEN
SET VAR vCmd TEXT = ('ZIP D:\notetab\notepro.exe' & .vAppFile)
&vCmd
IF SQLCODE <> 0 THEN
SET VAR vCmd TEXT = ('ZIP Write.exe' & .vAppFile)
&vCmd
ENDIF
ENDIF
SET VAR vQuit TEXT = 'N'
RETURN
$COMMAND
ConectDT
-- Resets date, time and special character settings after db connection
-- Called by:
-- DBConect in DBConect.apx
-- DBConect in Security.apx
-- EditAPP in AAAAAAAA.apx
-- Created by Tom Grimshaw 03-07-1999
-- Modification history
-- 30-09-2000 tlg Added currency symbol
-- 08-05-2001 tlg Changed to SET QUOTES='
--
SET QUOTES='
SET BLANK=' '
SET VAR vQuotes TEXT = ''''
SELECT COUNT(*) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 160
IF vCount = 0 THEN
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
VarName,ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) VALUES +
(160,'Date display format','DD-MM-YYYY','Date display format',-0-,-0-,+
'TEXT',2,7,345)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 160
SET VAR vCmd TEXT = ('SET DATE FORMAT' & .vSiteValue)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(*) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 161
IF vCount = 0 THEN
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
VarName,ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) VALUES +
(161,'Date display sequence','DDMMYY','Date display sequence',-0-,-0-,+
'TEXT',2,7,346)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 161
SET VAR vCmd TEXT = ('SET DATE SEQUENCE' & .vSiteValue)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(*) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 162
IF vCount = 0 THEN
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
VarName,ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) VALUES +
(162,'Century Setting','20','Century setting',-0-,-0-,'TEXT',2,7,347)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 162
SET VAR vCmd TEXT = ('SET DATE CENTURY' & .vSiteValue)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(*) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 163
IF vCount = 0 THEN
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
VarName,ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) VALUES +
(163,'Year Setting','50','Year setting',-0-,-0-,'TEXT',2,7,348)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 163
SET VAR vCmd TEXT = ('SET DATE YEAR' & .vSiteValue)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(*) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 164
IF vCount = 0 THEN
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
VarName,ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) VALUES +
(164,'Time display format','HH:MM','Time display format',-0-,-0-,'TEXT',+
2,7,349)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 164
SET VAR vCmd TEXT = ('SET TIME FORMAT' & .vSiteValue)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(*) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 165
IF vCount = 0 THEN
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
VarName,ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) VALUES +
(165,'Time Display Sequence','HHMM','Time display sequence',-0-,-0-,+
'TEXT',2,7,382)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 165
SET VAR vCmd TEXT = ('SET TIME SEQUENCE' & .vSiteValue)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(SVID) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 193
IF vCount = 0 THEN
SELECT COUNT(EventID) INTO +
vCount INDICATOR vi1 +
FROM DBAdminEvents +
WHERE EventID = 63
IF vCount = 0 THEN
INSERT INTO DBAdminEvents (EventID,EventDesc,SecurityLevelRank) +
VALUES (63,'Accessed function - Alter spec char - MANY',7)
ENDIF
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) +
VALUES (193,'MANY','%','Database setting for MANY',1,'TEXT',0,7,63)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 193
SET VAR vCmd TEXT = ('SET MANY=' + .vQuotes + .vSiteValue + .vQuotes)
&vCmd
CLEAR VAR vSiteValue
SELECT (COUNT(SVID)) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 194
IF vCount = 0 THEN
SELECT COUNT(EventID) INTO +
vCount INDICATOR vi1 +
FROM DBAdminEvents +
WHERE EventID = 64
IF vCount = 0 THEN
INSERT INTO DBAdminEvents (EventID,EventDesc,SecurityLevelRank) +
VALUES (64,'Accessed function - Alter spec char - SINGLE',7)
ENDIF
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) +
VALUES (194,'SINGLE','_','Database setting for SINGLE',1,'TEXT',0,7,64)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 194
SET VAR vCmd TEXT = ('SET SINGLE=' + .vQuotes + .vSiteValue + .vQuotes)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(SVID) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 195
IF vCount = 0 THEN
SELECT COUNT(EventID) INTO +
vCount INDICATOR vi1 +
FROM DBAdminEvents +
WHERE EventID = 65
IF vCount = 0 THEN
INSERT INTO DBAdminEvents (EventID,EventDesc,SecurityLevelRank) +
VALUES (65,'Accessed function - Alter spec char - PLUS',7)
ENDIF
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) +
VALUES (195,'PLUS','+','Database setting for PLUS',1,'TEXT',0,7,65)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 195
SET VAR vCmd TEXT = ('SET PLUS=' + .vQuotes + .vSiteValue + .vQuotes)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(SVID) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 196
IF vCount = 0 THEN
SELECT COUNT(EventID) INTO +
vCount INDICATOR vi1 +
FROM DBAdminEvents +
WHERE EventID = 66
IF vCount = 0 THEN
INSERT INTO DBAdminEvents (EventID,EventDesc,SecurityLevelRank) +
VALUES (66,'Accessed function - Alter spec char - SEMI',7)
ENDIF
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) +
VALUES (196,'SEMI',';','Database setting for SEMI',1,'TEXT',0,7,66)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 196
SET VAR vCmd TEXT = ('SET SEMI=' + .vQuotes + .vSiteValue + .vQuotes)
&vCmd
CLEAR VAR vSiteValue
SELECT (COUNT(*)) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 208
IF vCount = 0 THEN
SELECT (COUNT(*)) INTO +
vCount INDICATOR vi1 +
FROM DBAdminEvents +
WHERE EventID = 69
IF vCount = 0 THEN
INSERT INTO DBAdminEvents (EventID,EventDesc,SecurityLevelRank) +
VALUES (69,'Accessed function - Alter spec char - CURRENCY',7)
ENDIF
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) +
VALUES (208,'CURRENCY','$','Database setting for CURRENCY symbol',1,+
'TEXT',0,7,69)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 208
SET VAR vCmd TEXT = ('SET CURRENCY ' + .vQuotes + .vSiteValue + .vQuotes)
&vCmd
CLEAR VAR vSiteValue
SELECT COUNT(SVID) INTO +
vCount INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 197
IF vCount = 0 THEN
SELECT COUNT(EventID) INTO +
vCount INDICATOR vi1 +
FROM DBAdminEvents +
WHERE EventID = 67
IF vCount = 0 THEN
INSERT INTO DBAdminEvents (EventID,EventDesc,SecurityLevelRank) +
VALUES (67,'Accessed function - Alter spec char - DELIMIT',7)
ENDIF
INSERT +
INTO SiteValues (SVID,ParameterName,ParameterValue,ParameterDesc,+
ModuleID,DataType,SecLevelView,SecLevelEdit,EventID) +
VALUES (197,'DELIMIT',',','Database setting for DELIMIT',1,'TEXT',0,7,67)
ENDIF
SELECT ParameterValue INTO +
vSiteValue INDICATOR vi1 +
FROM SiteValues +
WHERE SVID = 197
SET VAR vCmd TEXT = ('SET DELIMIT=' + .vQuotes + .vSiteValue + .vQuotes)
&vCmd
CLEAR VAR vSiteValue
RUN SetNull IN GlobBlok.apx
CLEAR VAR vSiteValue1,vCmd
RETURN
$COMMAND
App2Apx
-- To speedily Codelock files after being amended in word processor
-- Created by Tom Grimshaw 02-12-1997
-- Last modified 02-12-1997
SET VAR SAVE_MESSAGES_AA = (CVAL('MESSAGES'))
SET VAR SAVE_ERROR_AA = (CVAL('ERROR'))
SET MESSAGES OFF
SET VAR vApxFile TEXT = (.vFilePrefix + '.apx')
SET VAR vCmd1 TEXT = ('ERASE' & .vApxFile)
&vCmd1
SET VAR vCmd2 TEXT = ('COD 5' & .vAppFile & .vApxFile)
&vCmd2
UPDATE AppFiles SET +
LastModDate = ((.#DATE)), +
LastModTime = .#TIME +
WHERE AppFile = .vFilePrefix
RETURN
Warmest regards,
Tom Grimshaw
coy: Just For You Software
tel: 612 9552 3311
fax: 612 9566 2164
mobile: 0414 675 903
post: PO Box 470 Glebe NSW 2037 Australia
street: 3/66 Wentworth Park Rd Glebe NSW 2037
email: [EMAIL PROTECTED]
web: www.just4usoftware.com.au
the most needed product in the world can be found at
www.thewaytohappiness.org
This email and any files transmitted with it are confidential to the
intended recipient and may be privileged. If you have received this email
inadvertently or you are not the intended recipient, you may not
disseminate, distribute, copy or in any way rely on it. Further, you should
notify the sender immediately and delete the email from your computer.
Whilst we have taken precautions to alert us to the presence of computer
viruses, we cannot guarantee that this email and any files transmitted with
it are free from such viruses.
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/