Nëse Menaxheri i Ndërmarrjes nuk është i disponueshëm për të krijuar një Rifresko Punën e Stokut,
mund të arrish të njëjtën gjë me komandat T-SQL.
Kodi i punës më poshtë do të bëjë një rifreskim të plotë të stokut. Mund të heqësh hapat
që nuk janë të nevojshëm.
Redakto të mëposhtmet për t'i përshtatur konfigurimit tënd.
- EmriServerit - ndrysho këtë në emrin e serverit dhe instancën
këtu ku po funksionon baza jote e të dhënave.
- EmriDB - ndrysho këtë në emrin e bazës së të dhënave ku dëshiron të
rifreskosh stokun.
Zëvendëso të gjitha rastet e të dyjave me konfigurimin tënd.
fillo transaksionin
deklaro
@JobID binary(16),
@ReturnCode int
vendos nocount on
zgjedh @ReturnCode = 0
-- krijo kokën e punës
ekzekuto @ReturnCode = msdb.dbo.sp_add_job @job_id = @JobID output,
@job_name = N'Rifresko stokun - çdo ditë', @enabled = 1,
@description = N'',
@category_name = N'[Të Pa Kategorizuara (Lokale)]',
@notify_level_eventlog = 2, @delete_level= 0
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- hapi 1 - rifresko numrat serialë
ekzekuto @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 1, @step_name = N'Rifresko numrat serialë',
@command = N'ekzekuto dl_PA_ObrProm_StetjeSerialNo '''', null, null
ekzekuto dl_PA_ObrProm_StatusSerialNo ''''', @database_name = N'EmriDB',
@server = N'', @database_user_name = N'', @subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- hapi 2 - ripërllogarit çmimet
ekzekuto @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 2, @step_name = N'Ripërllogarit çmimet',
@command = N'ekzekuto dl_PA_ObrProm_CalcCen '''', null, null, ''''
ekzekuto dl_PA_ObrProm_CalcLastCen '''', null, null, ''''
ekzekuto dl_PA_ObrProm_PreracunNabCenZbirno ''''',
@database_name = N'EmriDB', @server = N'',
@database_user_name = N'',@subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- hapi 3 - rifresko stokun
ekzekuto @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 3, @step_name = N'Rifresko stokun',
@command = N'ekzekuto dl_PA_ObrProm_ObnovitevZaloge ''''',
@database_name = N'EmriDB', @server = N'',
@database_user_name = N'', @subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 3, @on_fail_step_id = 0, @on_fail_action = 2
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- hapi 4 - rifresko kokat e dokumenteve
ekzekuto @ReturnCode = msdb.dbo.sp_add_jobstep @job_id = @JobID,
@step_id = 4, @step_name = N'Rifresko kokat e dokumenteve',
@command = N'ekzekuto dl_PA_ObrProm_PreracunBlagajna null, null
ekzekuto dl_PA_ObrProm_PreracunDenar null, null
ekzekuto dl_PA_ObrProm_PreracunNaroc null, null
ekzekuto dl_PA_ObrProm_PreracunNarocOdprem '''', null, null
ekzekuto dl_PA_ObrProm_PreracunPromet null, null, ''F''',
@database_name = N'EmriDB', @server = N'',
@database_user_name = N'', @subsystem = N'TSQL',
@cmdexec_success_code = 0, @flags = 0, @retry_attempts = 0,
@retry_interval = 1, @output_file_name = N'', @on_success_step_id = 0,
@on_success_action = 1, @on_fail_step_id = 0, @on_fail_action = 2
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- shkruaj hapat fillestar në punë
ekzekuto @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- vendos orarin
ekzekuto @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id = @JobID,
@name = N'Ekzekutimi i përditshëm në 01.00', @enabled = 1,
@freq_type = 4, @active_start_date = 20020103,
@active_start_time = 10000, @freq_interval = 1,
@freq_subday_type = 1, @freq_subday_interval = 0,
@freq_relative_interval = 0, @freq_recurrence_factor = 1,
@active_end_date = 99991231, @active_end_time = 235959
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
-- initialize punën
ekzekuto @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID,
@server_name = N'EmriServerit', @automatic_post = 0
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
zgjedh @JobID
nëse (@@ERROR <> 0 OSE @ReturnCode <> 0)
shko QuitWithRollback
komito transaksionin
shko EndSave
QuitWithRollback:
NËSE (@@TRANCOUNT > 0) rrokullis transaksionin
EndSave:
Shënimet e njëjta vlejnë për këtë punë si për
punën e krijuar duke përdorur Menaxherin e Ndërmarrjes.