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/

Reply via email to