Rotina de lancamento de debito

15/05/2009

ola pessoal   Boa noite   Estou precisando criar uma rotina para lancamento de debito de todos os motoqueiros em um unico click abaixo segue o link da video que eu fiz     http://www.4shared.com/file/105471806/e7db961a/lancadebitoMotoqueiro.html       CREATE PROCEDURE DBO.PROC_LANCA_DEBITO (@PIntMatricula INT,@PBitCredito BIT, @PDecMovimento DECIMAL(12,2), @PSntTipoMovimento SMALLINT, @PIndUsuario INT ) AS BEGIN SET NOCOUNT ON; INSERT INTO [dbo].[tb_MOTOQUEIRO_MOVIMENTO] (Nr_Matricula,Fl_Credito,Vl_Movimento,Id_Tipo_Movimento,Cd_Usuario) VALUES (@PIntMatricula,@PBitCredito,@PDecMovimento,@PSntTipoMovimento,@PIndUsuario ) SELECT @@IDENTITY AS ID_MOVIMENTO_MOTOQUEIRO END SELECT * FROM TB_TIPO_movimento Uso essa procedure no sqlserver porem eu preciso pegar todos os motoqueiros que tem os cadastros ativos e lancar esse debito para todos de uma so vez   segunda questao preciso criar uma outra rotina para que no dia 1 ou seja primeiro dia de cada mes o rotina seja disparada pelo sistema , sei que devo dar use na unit dateutils mais como fazer o procedimento para ser disparado sozinho ?          
Carlos Faria

Carlos Faria

Curtidas 0

Respostas

Rodrigo Mourão

Rodrigo Mourão

15/05/2009

Carlos estarei trabalhando na primeira dúvida !!!   Cada dúvida deve ser aberta em um chamado. Para a segunda dúvida peço que abra um novo chamado !!!   Abs !!!   Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Carlos Faria

Carlos Faria

15/05/2009

Ola Rodrigo aqui é so uma duvida amigo , somente quero inserir um debito no valor de x para todos os motoqueiros que obedecam a condiçao y  ou mandei a video errada
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

15/05/2009

Carlos temo duas opcoes :   1) Criar uma procedure no banco onde voce passe o valor e ela gere débito para todos.   2) Usar essa Rotina ai mesmo e fazer um loop no delphi chamando ele para cada motoqueiro que voce tem.   Qual das duas irá atender melhor você ??   Abs !!!   Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Carlos Faria

Carlos Faria

15/05/2009

Acho que a do banco ficaria melhor , na verdade era so fazer uma subqueri no campo nr-matricula do motoqueiro problema e que nao estou conseguindo faze-la
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

15/05/2009

Ok vou criar um exemplo que cursor e postar aqui !!!

ABs !!!
GOSTEI 0
Carlos Faria

Carlos Faria

15/05/2009

ola Rodrigo como vc e o wesley sabem eu nunca tennho preça em fechar os chamados mais acho que agora precisamos fechar os meus urgentemente meu contrato se inspira amanha e depois de estar inspirado nem te responder eu consigo mais , pelo menos foi assim no primeiro contrato que eu fiz de 10 chamados
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

15/05/2009

Carlos eu reconheco a minha demora em responder o chamado. Pode ficar tranquilo que os seus chamados que estao comigo aberto, mesmo que seu contrato expire eu irei solicitar a Adm da DevMedia que postem a resposta para você e explicarei o ocorrido.

Eu estou tendo problemas na minha MV que gravo as videos e rodo os exemplos. MAs irei dar prioridade aos seus chamados hoje mesmo !!

Abs !!!

  Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Carlos Faria

Carlos Faria

15/05/2009

Sendo assim tudo bem pode ficar tranquilo ai
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

15/05/2009

Olá Carlos !!

Segue abaixo o script de uma procedure que pede todos os parametros que sua procedure pede menos o ID do motoqueiro. Como você quer lançar o valor para todos os motoqueiros então eu criei um cursor que vai varrer a tabela de motoqueiros e para cada um lancer os valores que você informar nos parametros.

CREATE PROCEDURE DBO.PROC_LANCA_DEBITO_TODOS(
@PBitCredito BIT,
@PDecMovimento DECIMAL(12,2),
@PSntTipoMovimento SMALLINT,
@PIndUsuario INT
) AS
DECLARE CURMOTOQUEIRO
CURSOR FOR
  SELECT MATRICULA FROM MOTOQUEIRO

DECLARE @IntMatricula INT
BEGIN TRANSACTION

 OPEN CURMOTOQUEIRO
 FETCH NEXT FROM CURMOTOQUEIRO INTO @IntMatricula
 WHILE @@FETCH_STATUS = 0
 BEGIN
  INSERT INTO tb_MOTOQUEIRO_MOVIMENTO (Nr_Matricula,Fl_Credito,Vl_Movimento,Id_Tipo_Movimento,Cd_Usuario)
                               VALUES (@IntMatricula,@PBitCredito,@PDecMovimento,@PSntTipoMovimento,@PIndUsuario )
  FETCH NEXT FROM CURMOTOQUEIRO INTO @IntMatricula
 END
CLOSE CURMOTOQUEIRO
DEALLOCATE CURMOTOQUEIRO

COMMIT TRANSACTION

Atente para a linha que esta em vermelho. Se voce nao quiser que seja inserido para todos os motoqueiros basta mudar esse select e colocar sua Clausula Where. Por Exemplo  Select Matricula From Motoqueiro where nome Like 'A%'

Isso iria fazer lancamento para todos os motoqueiros que comecem com a letra A.


Espero ter ajudado.

Abs,

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi
GOSTEI 0
Carlos Faria

Carlos Faria

15/05/2009

Ola rodrigo   estou analizando meslhor esse codigo aqui e vamos fechar essa chamado ja ,ja me parece ser show de bola     se eu abrir um outro chamado pedindo essa rotina pelo delphi tem como vc pegar ja que esta mais a par da situação e da rotina   e tambem um outro chamado sobre como fazer isso ai rodar no primeiro dia de cada mes a 0 hora
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

15/05/2009

Ok Carlos !!

Quando abrir o chamado peça a Adm que mando o mesmo para mim, diga que eu solicitei !!!

Abs.

Atenciosamente,
Rodrigo Carreiro Mourão
Borland Instructor Certified
Coordenador da Consultoria em Delphi


 


GOSTEI 0
Carlos Faria

Carlos Faria

15/05/2009

Rodrigo     Show de bola , pode fechar o chamado   Muito boa a rotina    
GOSTEI 0
POSTAR