Compactar extensão .ldf, ou arquivo de log do SQL Server 2008


Como exemplo teremos o nome do banco como "data"

USE data

ALTER DATABASE data SET SINGLE_USER;

DBCC SHRINKFILE('data_log', 100);

ALTER DATABASE data SET MULTI_USER;
Exemplo de customização para alteração de Estoque Minimo/Maximo no cadastro de Produtos (SB1->)


#include "rwmake.ch"
#include "protheus.ch"
#include "topconn.ch"

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Chama função mBrowse para visualização ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
User function F_PROD02()

Local cAlias := "SB1"

Private cCadastro := "Estoque Minimo/Maximo do Produto"
Private cTexto := ""
Private aRotina :={}

AADD(aRotina,{"Pesquisar" ,"AxPesqui" ,0,1})
AADD(aRotina,{"Alterar Data" ,"U_AlteraEst" ,0,2})

dbSelectArea(cAlias)
dbSetOrder(1)
dbSetFilter({||SUBSTR((SB1->B1_GRUPO),1,1) <> '0' .AND. ;
SUBSTR((SB1->B1_GRUPO),1,1) <> '5' .AND. ;
SUBSTR((SB1->B1_GRUPO),1,1) <> '6' .AND. ;
SUBSTR((SB1->B1_GRUPO),1,1) <> '7' .AND. ;
SUBSTR((SB1->B1_GRUPO),1,1) <> '8'},;
"SUBSTR((SB1->B1_GRUPO),1,1) <> '0' .AND. " +;
"SUBSTR((SB1->B1_GRUPO),1,1) <> '5'.AND. " +;
"SUBSTR((SB1->B1_GRUPO),1,1) <> '6'.AND. " +;
"SUBSTR((SB1->B1_GRUPO),1,1) <> '7'.AND. " +;
"SUBSTR((SB1->B1_GRUPO),1,1) <> '8'")
dbGoBottom()
mBrowse(6,1,22,75,cAlias,,,,,2,aCores)

Return Nil

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Altera Estoque Minimo/Maximo do produto ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
User Function AlteraEst()

Private nMinimo := SB1->B1_ESTSEG
Private nMaximo := SB1->B1_EMAX

@ 116,001 To 250,415 Dialog oDlgMinMax Title "Estoque Minimo/Maximo do Produto"
@ 05,10 say " Est.Minimo " of OdlgMinMax Pixel
@ 12,10 Get nMinimo PICTURE PESQPICT("SB1","B1_ESTSEG") of OdlgMinMax Pixel
@ 25,10 say " Est.Maximo " of OdlgMinMax Pixel
@ 32,10 Get nMaximo PICTURE PESQPICT("SB1","B1_EMAX") of OdlgMinMax Pixel

@ 050,125 Button "Salvar" Size 35,14 Action (Grava(),Close(oDlgMinMax)) of OdlgMinMax Pixel
@ 050,165 Button "Fechar" Size 35,14 Action Close(oDlgMinMax) of OdlgMinMax Pixel
Activate Dialog oDlgMinMax

Return()

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Salva campo Estoque Minimo/Maximo do Produto ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Static Function Grava()

RecLock("SB1",.F.)
SB1->B1_ESTSEG := nMinimo
SB1->B1_EMAX := nMaximo
MsUnlock()
Close(oDlgMinMax)

Return()
Para imprimir o nome da cidade e UF do cadastro da empresa segue exemplo abaixo:

oPrint:Say(nLin,1120,ALLTRIM(SM0->M0_CIDENT)+"-"+SM0->M0_ESTENT+","+STRZERO(DAY(DDATABASE),2)+" de "+MESEXTENSO(DDATABASE)+" de "+StrZero(YEAR(DDATABASE),4))
Máscara para formatação de campos:

Máscara para CEP
TRANSFORM(POSICIONE("SA1",1,xFilial("SA1")+TRA->AB3_CODCLI+TRA->AB3_LOJA,"A1_CEP"),"@R 99999-999")

Máscara para CNPJ
TRANSFORM(POSICIONE("SA1",1,xFilial("SA1")+TRA->AB3_CODCLI+TRA->AB3_LOJA,"A1_CGC"),"@R 99.999.999/9999-99")

Máscara para TELEFONE
TRANSFORM(POSICIONE("SA1",1,xFilial("SA1")+TRA->AB3_CODCLI+TRA->AB3_LOJA,"A1_DDD+A1_TEL"),"@R (99)9999-9999")
ERP Microsiga Protheus
O ADVPL (Advanced Protheus Language) é uma linguagem de programação desenvolvida pela Microsiga e que contém todas as instruções e funções necessárias ao desenvolvimento de um sistema, independente de sua complexidade.

O PROTHEUS, por outro lado, é uma plataforma tecnológica que engloba um Servidor de Aplicação, um Dicionário de Dados e as Interfaces para conexão com o usuário. É o Protheus que executa o código ADVPL e o devido acesso à base da dados.