Add tailor-made function to system function and create menu
2013-04-01 18:16
260 查看
if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#table') and type='U')
DROP TABLE #table
CREATE TABLE #table
(
[RECNUM] [decimal](28, 0) IDENTITY(1, 1) NOT NULL ,
ModuleCode NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
FunctionCode NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
FuncDescription NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Process_Code NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Menu_Type NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Menu_Code NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
)
INSERT INTO #table(ModuleCode, FunctionCode , FuncDescription,Process_Code,Menu_Type,Menu_Code)
SELECT 'PRSF', 'PRSFRT' , 'Matrial Reservation Transfer','M6_ENT','ENTRY','100'
UNION ALL
SELECT 'PRSF', 'PRSFRC' ,'Routing Process Completion','M6_ENT','ENTRY','110'
UNION ALL
SELECT 'PRPE', 'PRPEMJ' ,'Mass ECN','M4_ENT','ENTRY','60'
UNION ALL
SELECT 'PRPM', 'PRPMMJ' ,'Mass ECN','M4_ENT','ENTRY','70'
UNION ALL
SELECT 'SAMF', 'SAMFRP' ,'Routing Process','MAST01','MAST','110'
UNION ALL
SELECT 'SAMF', 'SAMFRP' ,'Bom Routing Process Settings','MAST01','MAST','120'
UNION ALL
SELECT 'SAMF', 'SAMFCL' ,'Collection Master','MAST01','MAST','130'
UNION ALL
SELECT 'SAMF', 'SAMFSY' ,'Style Master','MAST01','MAST','140'
UNION ALL
SELECT 'SAMF','SAMFCO' ,'Color Master','MAST01','MAST','150'
UNION ALL
SELECT 'PRPM', 'PRMJU' , 'Job BOM Update','M4_ENT','ENTRY','80'
DECLARE @SeriesCode nvarchar(30)
DECLARE @ModuleCode nvarchar(30)
DECLARE @FunctionCode nvarchar(30)
DECLARE @FunctionDesc nvarchar(30)
DECLARE @RECNUM INT
DECLARE @Process_Code nvarchar(30)
DECLARE @Menu_Type nvarchar(30)
DECLARE @Menu_Code nvarchar(30)
DECLARE @LastLineNo INT
SET @SeriesCode=''
DECLARE function_cursor CURSOR FOR SELECT RECNUM FROM #table
OPEN function_cursor
FETCH NEXT FROM function_cursor INTO @RECNUM
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @ModuleCode=ModuleCode,@FunctionCode=FunctionCode, @FunctionDesc=FuncDescription,@Process_Code=Process_Code,
@Menu_Type=Menu_Type,@Menu_Code=Menu_Code FROM #table WHERE RECNUM=@RECNUM
-- Check for Function
if not exists ( select * from [ADFUNC] where Module_Code = @ModuleCode and Function_Code = @FunctionCode)
begin
Update [ADMODU] Set [Last_Line_No] = [Last_Line_No] + 1
Where [Module_Code] = @ModuleCode
Select @LastLineNo = Last_Line_No from ADMODU Where Module_Code = @ModuleCode
if @LastLineNo is not null
BEGIN
Insert [ADFUNC]
([Module_Code], [Function_No], [Function_Code], [Description],
[Suspended], [Series_Option], [Series_Code],
[Created_Date], [Created_By], [Revised_Date], [Revised_By],
[OWNER_BRANCH],[SOURCE_BRANCH],[Icon])
Values
(@ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc, N'N', N'Y', @SeriesCode,
GetDate(), 'MIS', GetDate(), 'MIS', N'', N'','16')
-- coding for EMPower
--if '%SYS%'='EMP' or '%SYS%'='EMPT' begin
Insert [ADAUTD]
([User_Group], [Module_Code], [Function_No], [Function_Code], [Description],
[Suspended], [Allow_Read], [Allow_Create], [Allow_Update], [Allow_Delete], [Allow_Print],
[Allow_Post], [Allow_All_Tran])
Values
('SYSADM', @ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc,
'N' ,'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y')
Insert [ADMNUD]
([User_Group], [Process_Code], [Function_Code], [Description], [Menu_Type], [Menu_Code],
[Response_Type], [Suspended])
Values
('SYSADM', @Process_Code, @FunctionCode, @FunctionDesc, @Menu_Type, @Menu_Code,
'STDFUNC', 'N')
--end
-- coding for EPN
--else if '%SYS%'='EPN' begin
-- Insert [ADAUTD]
-- ([User_Group], [Module_Code], [Function_No], [Function_Code], [Description],
-- [Suspended], [Allow_Read], [Allow_Create], [Allow_Update], [Allow_Delete], [Allow_Print],
-- [Allow_Post], [Allow_All_Tran])
-- Values
-- ('EPN', @ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc,
-- 'N' ,'Y', 'Y', 'Y', 'Y', 'Y',
-- 'Y', 'Y')
-- Insert [ADMNUD]
-- ([User_Group], [Process_Code], [Function_Code], [Description], [Menu_Type], [Menu_Code],
-- [Response_Type], [Suspended])
-- Values
-- ('EPN', @Process_Code, @FunctionCode, @FunctionDesc, @Menu_Type, @Menu_Code,
-- 'STDFUNC', 'N')
--end
END
end
FETCH NEXT FROM function_cursor INTO @RECNUM
END
CLOSE function_cursor;
DEALLOCATE function_cursor;
DROP TABLE #table
DROP TABLE #table
CREATE TABLE #table
(
[RECNUM] [decimal](28, 0) IDENTITY(1, 1) NOT NULL ,
ModuleCode NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
FunctionCode NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
FuncDescription NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Process_Code NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Menu_Type NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
Menu_Code NVARCHAR(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
)
INSERT INTO #table(ModuleCode, FunctionCode , FuncDescription,Process_Code,Menu_Type,Menu_Code)
SELECT 'PRSF', 'PRSFRT' , 'Matrial Reservation Transfer','M6_ENT','ENTRY','100'
UNION ALL
SELECT 'PRSF', 'PRSFRC' ,'Routing Process Completion','M6_ENT','ENTRY','110'
UNION ALL
SELECT 'PRPE', 'PRPEMJ' ,'Mass ECN','M4_ENT','ENTRY','60'
UNION ALL
SELECT 'PRPM', 'PRPMMJ' ,'Mass ECN','M4_ENT','ENTRY','70'
UNION ALL
SELECT 'SAMF', 'SAMFRP' ,'Routing Process','MAST01','MAST','110'
UNION ALL
SELECT 'SAMF', 'SAMFRP' ,'Bom Routing Process Settings','MAST01','MAST','120'
UNION ALL
SELECT 'SAMF', 'SAMFCL' ,'Collection Master','MAST01','MAST','130'
UNION ALL
SELECT 'SAMF', 'SAMFSY' ,'Style Master','MAST01','MAST','140'
UNION ALL
SELECT 'SAMF','SAMFCO' ,'Color Master','MAST01','MAST','150'
UNION ALL
SELECT 'PRPM', 'PRMJU' , 'Job BOM Update','M4_ENT','ENTRY','80'
DECLARE @SeriesCode nvarchar(30)
DECLARE @ModuleCode nvarchar(30)
DECLARE @FunctionCode nvarchar(30)
DECLARE @FunctionDesc nvarchar(30)
DECLARE @RECNUM INT
DECLARE @Process_Code nvarchar(30)
DECLARE @Menu_Type nvarchar(30)
DECLARE @Menu_Code nvarchar(30)
DECLARE @LastLineNo INT
SET @SeriesCode=''
DECLARE function_cursor CURSOR FOR SELECT RECNUM FROM #table
OPEN function_cursor
FETCH NEXT FROM function_cursor INTO @RECNUM
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @ModuleCode=ModuleCode,@FunctionCode=FunctionCode, @FunctionDesc=FuncDescription,@Process_Code=Process_Code,
@Menu_Type=Menu_Type,@Menu_Code=Menu_Code FROM #table WHERE RECNUM=@RECNUM
-- Check for Function
if not exists ( select * from [ADFUNC] where Module_Code = @ModuleCode and Function_Code = @FunctionCode)
begin
Update [ADMODU] Set [Last_Line_No] = [Last_Line_No] + 1
Where [Module_Code] = @ModuleCode
Select @LastLineNo = Last_Line_No from ADMODU Where Module_Code = @ModuleCode
if @LastLineNo is not null
BEGIN
Insert [ADFUNC]
([Module_Code], [Function_No], [Function_Code], [Description],
[Suspended], [Series_Option], [Series_Code],
[Created_Date], [Created_By], [Revised_Date], [Revised_By],
[OWNER_BRANCH],[SOURCE_BRANCH],[Icon])
Values
(@ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc, N'N', N'Y', @SeriesCode,
GetDate(), 'MIS', GetDate(), 'MIS', N'', N'','16')
-- coding for EMPower
--if '%SYS%'='EMP' or '%SYS%'='EMPT' begin
Insert [ADAUTD]
([User_Group], [Module_Code], [Function_No], [Function_Code], [Description],
[Suspended], [Allow_Read], [Allow_Create], [Allow_Update], [Allow_Delete], [Allow_Print],
[Allow_Post], [Allow_All_Tran])
Values
('SYSADM', @ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc,
'N' ,'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y')
Insert [ADMNUD]
([User_Group], [Process_Code], [Function_Code], [Description], [Menu_Type], [Menu_Code],
[Response_Type], [Suspended])
Values
('SYSADM', @Process_Code, @FunctionCode, @FunctionDesc, @Menu_Type, @Menu_Code,
'STDFUNC', 'N')
--end
-- coding for EPN
--else if '%SYS%'='EPN' begin
-- Insert [ADAUTD]
-- ([User_Group], [Module_Code], [Function_No], [Function_Code], [Description],
-- [Suspended], [Allow_Read], [Allow_Create], [Allow_Update], [Allow_Delete], [Allow_Print],
-- [Allow_Post], [Allow_All_Tran])
-- Values
-- ('EPN', @ModuleCode, @LastLineNo, @FunctionCode, @FunctionDesc,
-- 'N' ,'Y', 'Y', 'Y', 'Y', 'Y',
-- 'Y', 'Y')
-- Insert [ADMNUD]
-- ([User_Group], [Process_Code], [Function_Code], [Description], [Menu_Type], [Menu_Code],
-- [Response_Type], [Suspended])
-- Values
-- ('EPN', @Process_Code, @FunctionCode, @FunctionDesc, @Menu_Type, @Menu_Code,
-- 'STDFUNC', 'N')
--end
END
end
FETCH NEXT FROM function_cursor INTO @RECNUM
END
CLOSE function_cursor;
DEALLOCATE function_cursor;
DROP TABLE #table
相关文章推荐
- Examples to create your Conferencing System in .NET, C# VOIP & Video Conferencing Systems using H.323 and TAPI 3
- Home not found. Define system property "openfireHome" or create and add the openfire_init.xml file to the classpath
- Delphi Open Tools API - How to create and add new menu item
- How to create your own custom 404 error page and handle redirect in SharePoint 2007 (MOSS)?
- QT编译出错解决 libQtCore.so: undefined reference to `QInotifyFileSystemWatcherEngine::create()'
- Call to undefined function socket_create();解决办法!
- How to create your own custom 404 error page and handle redirect in SharePoint
- 解决Unable to create logfile system tables. User perhaps lacks permissions or resources to create tables
- How to Install and Configure Bind 9 (DNS Server) on Ubuntu / Debian System
- ImageMagick, a software suite to create, edit, and compose bitmap images.
- How to get browser name, version and operating system detail in selenium 2(Web driver)
- How to enable USB selective suspend and system wake in the UMDF driver for a USB device
- mysql create function error and solution.
- System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list
- to create table if table do not exist -- to backup and restore table in oracle
- How to Create a High Availability Setup with Pacemaker, Corosync and Floating IPs on CentOS 7
- How To Create A Socket Based iPhone App and Server
- Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings.
- 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
- ArcSDE “Unable to create logfile system tables. User perhaps lacks permission or resources to create tables” 问题解决方案