Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
CREATE PROCEDURE "pears"."WPKMaintainSetSwitchValue"( /* Application Maintained Function / Procedure - DO NOT EDIT*/ IN "SwitchID" CHAR(20),IN "SwitchLocation" CHAR(20),IN "SwitchSource" CHAR(1),IN "SwitchValue" long VARCHAR ) BEGIN DECLARE "param" CHAR(100); DECLARE "x" long VARCHAR; DECLARE "i" SMALLINT; DECLARE "tp" CHAR(1); DECLARE "oldvalue" long VARCHAR; DECLARE "wname" CHAR(100); IF "switchsource" NOT IN( 'L','P' ) THEN -- Only Literal and Params maintained in this way RETURN END IF; SELECT "WPKMaintainGetSwitchValue"("switchid","switchlocation","switchsource") INTO "oldvalue"; SET "switchlocation" = "trim"("switchlocation"); IF "switchlocation" = 'Global' OR "switchlocation" = '' THEN SET "switchlocation" = NULL END IF; IF "switchlocation" IS NOT NULL THEN DELETE FROM "wpkglobalswitchsetting" WHERE "wpkglobalswitchid" = "switchid" AND "location" = "switchlocation"; IF "switchvalue" IS NOT NULL THEN INSERT INTO "wpkglobalswitchsetting"( "wpkglobalswitchid","location","value" ) VALUES( "switchid","switchlocation","switchvalue" ) END IF ELSE IF "switchsource" = 'L' THEN DELETE FROM "wpkglobalswitchsetting" WHERE "wpkglobalswitchid" = "switchid" AND "location" = 'Global'; IF "switchvalue" IS NOT NULL THEN INSERT INTO "wpkglobalswitchsetting"( "wpkglobalswitchid","location","value" ) VALUES( "switchid",'Global',"switchvalue" ) END IF ELSE SELECT "value","datatype" INTO "x","tp" FROM "wpkglobalswitch" WHERE "wpkglobalswitchid" = "switchid"; SET "i" = "charindex"(';',"x"); IF "i" > 0 THEN SET "param" = "left"("x","i"-1) ELSE SET "param" = "x" END IF; IF "tp" = 'B' THEN IF "ucase"("left"("trim"("switchvalue"),1)) IN( '1','Y','T' ) THEN SET "switchvalue" = '1' ELSE SET "switchvalue" = '0' END IF END IF; EXECUTE IMMEDIATE WITH batch off "string"('update params set ',"param",'=switchvalue') END IF END IF; CALL "WPKTrackChange"('S','*'); SELECT "name" INTO "wname" FROM "wpkglobalswitch" WHERE "wpkglobalswitchid" = "switchid"; CALL "AuditLog"('SETTINGS',"switchid","wname","oldvalue","switchvalue") END GO COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."WPKMaintainSetSwitchValue" IS {CREATE PROCEDURE WPKMaintainSetSwitchValue /* Application Maintained Function / Procedure - DO NOT EDIT*/ (IN SwitchID CHAR(20),IN SwitchLocation CHAR(20),IN SwitchSource CHAR(1),IN SwitchValue long VARCHAR) BEGIN DECLARE param CHAR(100); DECLARE x long VARCHAR; DECLARE i SMALLINT; DECLARE tp CHAR(1); DECLARE oldvalue long VARCHAR; DECLARE wname CHAR(100); IF switchsource NOT IN('L','P') THEN -- Only Literal and Params maintained in this way RETURN END IF; SELECT WPKMaintainGetSwitchValue(switchid,switchlocation,switchsource) INTO oldvalue; SET switchlocation=TRIM(switchlocation); IF switchlocation = 'Global' OR switchlocation = '' THEN SET switchlocation=NULL END IF; IF switchlocation IS NOT NULL THEN DELETE FROM wpkglobalswitchsetting WHERE wpkglobalswitchid = switchid AND location = switchlocation; IF switchvalue IS NOT NULL THEN INSERT INTO wpkglobalswitchsetting(wpkglobalswitchid,location,VALUE) VALUES(switchid,switchlocation,switchvalue) END IF ELSE IF switchsource = 'L' THEN DELETE FROM wpkglobalswitchsetting WHERE wpkglobalswitchid = switchid AND location = 'Global'; IF switchvalue IS NOT NULL THEN INSERT INTO wpkglobalswitchsetting(wpkglobalswitchid,location,VALUE) VALUES(switchid,'Global',switchvalue) END IF ELSE SELECT VALUE,datatype INTO x,tp FROM wpkglobalswitch WHERE wpkglobalswitchid = switchid; SET i=charindex(';',x); IF i > 0 THEN SET param="left"(x,i-1) ELSE SET param=x END IF; IF tp = 'B' THEN IF ucase("left"(TRIM(switchvalue),1)) IN('1','Y','T') THEN SET switchvalue='1' ELSE SET switchvalue='0' END IF END IF; EXECUTE IMMEDIATE WITH BATCH OFF string('update params set ',param,'=switchvalue') END IF END IF; CALL WPKTrackChange('S','*'); SELECT name INTO wname FROM wpkglobalswitch WHERE wpkglobalswitchid = switchid; CALL AuditLog('SETTINGS', switchid,wname, oldvalue, switchvalue); END }