SELECT
FEBEP~BELNR
PAGO~ZBUKR
PAGO~UBNKS
PAGO~UBNKL
PAGO~ZBNKS
PAGO~ZBNKL
PAGO~ZBNKN
PAGO~ZIBAN
PAGO~RWBTR
PAGO~WAERS
PAGO~ZNME1
PAGO~BKREF
PAGO~ZSTRA
PAGO~ZPSTL
PAGO~ZORT1
PAGO~ZLAND
* PAGO~AUGBL
PAGO~ZBUKR
INTO corresponding FIELDS OF TABLE ST_REGUH
FROM BSEG
INNER JOIN febep
ON febep~BELNR = BSEG~BELNR
INNER JOIN REGUH AS PAGO
ON BSEG~ZUONR = PAGO~VBLNR AND PAGO~ZBUKR = p_bukrs
INNER JOIN T001
ON T001~BUKRS = PAGO~ZBUKR UP TO 1 ROWS
WHERE febep~kukey = r_kukey AND
febep~esnum = r_esnum AND
BSEG~BUKRS = p_bukrs AND
BSEG~BUZEI = 1.
Tips de desarrollo SQL SERVER, ASP.NET, C#, MVVM, WCF, WPF, XAMARIN, AZURE etc
jueves, 23 de noviembre de 2017
viernes, 17 de noviembre de 2017
Stored Procedure SQL SERVER numero de registros por tabla y tamaño
En el siguiente sp se obtienen todas las tablas de la base de datos y datos como el numero de registos y peso de cada tabla.
create PROCEDURE [dbo].[GetAllTableSizes]
AS
/*
Obtains spaced used data for ALL user
tables in the database
*/
DECLARE
@TableName VARCHAR(100) --For storing values in the cursor
--Cursor
to get the name of all user tables from the sysobjects listing
DECLARE
tableCursor CURSOR
FOR
select schemas.name+'.'+tables.name as name from sys.tables
inner join sys.schemas on tables.schema_id =schemas.schema_id
FOR READ ONLY
--A
procedure level temp table to store the results
CREATE TABLE #TempTable
(
tableName varchar(100),
numberofRows varchar(100),
reservedSize varchar(50),
dataSize varchar(50),
indexSize varchar(50),
unusedSize varchar(50)
)
--Open
the cursor
OPEN
tableCursor
--Get the
first table name from the cursor
FETCH NEXT FROM tableCursor
INTO @TableName
--Loop
until the cursor was not able to fetch
WHILE (@@Fetch_Status >= 0)
BEGIN
--Dump the
results of the sp_spaceused query to the temp table
INSERT #TempTable
EXEC sp_spaceused @TableName
--Get the next
table name
FETCH NEXT FROM tableCursor
INTO @TableName
END
--Get rid
of the cursor
CLOSE
tableCursor
DEALLOCATE
tableCursor
--Select
all records so we can use the reults
SELECT *
FROM
#TempTable order by
2
--Final
cleanup!
DROP TABLE #TempTable
jueves, 9 de noviembre de 2017
Agregar validación de lista a celda de excel desde lista de SQL ADDIN VSTO
Validation.Add Method (Excel) add-in VSTO
Agregar lista de validación a Excel desde base de datos
Agrega validación de
datos al rango especificado
string Clientes = string.Empty;//"[Seleccione un Cliente...]";
ClienteIncortemList
oClienteIncortemList = new
ClienteIncortemList();//obteto tipo lista de clientes
ConfigurationOperation.GetClienteIncortemByAll(oClienteIncortemList);//metodo que trae a clientes de base de datos
foreach (ClienteIncortem oClienteIncortem in oClienteIncortemList.lstClienteIncortem) //itera la lista para formar una cadena separada por comas
{
Clientes += Clientes == string.Empty ? "" : ",";
Clientes +=
oClienteIncortem.cvCliente + " - " + oClienteIncortem.nbCliente.Replace(',', ' ');
}
wrksh.get_Range("B11:B11",
System.Type.Missing).Validation.Add(XlDVType.xlValidateList,
System.Type.Missing, XlFormatConditionOperator.xlBetween, Clientes,
System.Type.Missing); // VALDACION DE
LISTA
domingo, 5 de noviembre de 2017
Función SQL para determinar fecha con Días festivos y Domingos
La función recibe una fecha inicial, y un numero de días los cuales se les va sumar a la fecha inicial, para calcular los días festivos se ocupa una tabla configuration.diasfestivos, si les es de utilidad la tabla comenten para que les pase el script
CREATE FUNCTION dbo.[CalcularFechaConDiasFestivosYDomingos]
(
@Fecha datetime,
@noDias int
)
RETURNS datetime
as
begin
declare
@resFecha datetime
declare
@FeFin datetime
declare
@result int
declare
@DiasFeriados int
declare
@noDomingos int
declare
@Correcto int
--set
@ini = '2016-09-01'
--set
@fin = '2016-09-30'
set
@FeFin =DATEADD(DAY,@noDias,@Fecha)
set
@noDomingos =( Select (datediff(day,@Fecha,@FeFin)-DATEPART(dw,@FeFin)+8)/7)
--select
* from configuration.diasfestivos
set
@DiasFeriados =( select
COUNT(1) FROM configuration.diasfestivos WHERE
fedia >= @Fecha AND
fedia <= @FeFin)
set
@Correcto =0
set
@result = @noDomingos+@DiasFeriados
set
@resFecha = dateadd(DAY,@result,@FeFin)
/*WHILE
(@varfecha<>(@FechaFinal + 1)) */
WHILE (@Correcto =0)
BEGIN
IF (DATEPART(dw,@resFecha) IN (1))
BEGIN
SET
@resFecha =DATEADD(dd,1,@resFecha)
SET
@Correcto =0
END
ELSE
begin
IF (select COUNT(1) FROM configuration.diasfestivos WHERE
fedia = @resFecha)=1
BEGIN
SET @resFecha =DATEADD(dd,1,@resFecha)
SET @Correcto =0
END
ELSE
BEGIN
SET @Correcto =1
END
end
END
return
@resFecha
end
---------------------------------
Script para creación de tabla días festivos.
CREATE SCHEMA [Configuration]
GO
/****** Object: Table [Configuration].[DiasFestivos] Script Date: 21/05/2018 04:29:30 p. m.
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [Configuration].[DiasFestivos](
[idDiaFestivo]
[int] IDENTITY(1,1) NOT NULL,
[dsDiaFestivo]
[nvarchar](100) NULL,
[feDia]
[datetime] NULL,
[esActivo]
[bit] NULL,
CONSTRAINT [PK_DIASFESTIVOS] PRIMARY KEY CLUSTERED
(
[idDiaFestivo]
ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [Configuration].[DiasFestivos] ADD DEFAULT ((0)) FOR [esActivo]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Dias Festivos ' , @level0type=N'SCHEMA',@level0name=N'Configuration', @level1type=N'TABLE',@level1name=N'DiasFestivos'
GO
martes, 31 de octubre de 2017
Desarrollar Aplicaciones IOS sin emulador de MAC con XAMARIN LIVE PLAYER
Desde los inicios de XAMARIN siempre ha sido una limitante
el poder desarrollar aplicaciones IOS por el uso de una MAC para poder utilizar
el emulador, la solución viene ahora con Xamarin Live Player incluida VS2017 en
versiones posteriores a la 15.4.1
Pasos para activar Xamarin Live Player
Verificar versión de Visual Studio 2017.
Dentro de Visual Studio Ayuda > Acerca de Visual Studio
En caso de no tener la versión mínima requerida sera necesario actualizar VS ejecutando el Visual Studio Installer.
Habilitar Xamarin Live Player
Dentro de VS menu Herramientas > Opciones... >Xamarin > Otro
Activamos Habilitar Xamarin Live Player
Instalacion de Xamarin Live Player en nuestro dispositivo IOS
Entramos a AppStore, en mi caso utilizare mi dispositivo iphone 6s con ios 11.0.3, buscamos Xamarin Live Player
Conectar Dispositivo con VS
Regresamos a VS en la opción del Menú Herramientas > Xamarin Live Player > Administrar Dispositivos...
Aparecerá un código QR con el que podremos emparejar nuestro dispositivo siempre y cuando estén en red.
Abrimos la app en nuestro dispositivo, seleccionamos Pair to Visual Studio
leemos el código QR
Después de emparejar el dispositivo los aparecerá la opción de correr aplicación en dispositivo, aparecerá nuestro dispositivo para seleccionar, nuestra aplicación correrá en nuestro dispositivo.
lunes, 30 de octubre de 2017
Convertir código de Adsense y Google analytics para blogger
Para agregar scripts a tu blog ya sea de Adsense o de google
analytics se deben seguir los siguientes pasos.
Ingresar a blogger, seleccionar Tema y dar click en Editar
HTML.
Si pegamos tal cual nos da el código Adsense o de google analytics y guardamos nos
mandara un error, para evitar esto accesamos a esta página para convertir el código
https://www.bloggertipstricks.com/html-encoder-tool
Posteriormente regresamos a blogger en editar html de código,
buscamos la etiqueta <head> y pegamos el código copiado, para finalizar
guardamos el tema y listo
miércoles, 25 de octubre de 2017
Función para Limpiar caracteres especiales SQL SERVER
CREATE FUNCTION [dbo].[LimpiarCaracteresEspeciales](@cadena varchar(max))
RETURNS varchar(max)
BEGIN
DECLARE
@pos int,
@patron varchar(max);
Set
@patron = '%['+'!''"'+Char(150)+Char(10)+char(13)+Char(9)+Char(34)+char(38)+char(60)+char(62)+char(160)
+char(161)+char(162)+char(163)+char(164)+char(165)+char(166)+char(167)+char(168)+char(169)
+char(170)+char(171)+char(172)+char(173)+char(174)+char(175)+char(176)+char(177)+char(178)
+char(179)+char(180)+char(181)+char(182)+char(183)+char(184)+char(185)+char(186)+char(187)
+char(188)+char(189)+char(190)+char(191)+char(192)+char(193)+char(194)+char(195)+char(196)
+char(197)+char(198)+char(199)+char(200)+char(201)+char(202)+char(203)+char(204)+char(205)
+char(206)+char(207)+char(208)+char(209)+char(210)+char(211)+char(212)+char(213)+char(214)
+char(215)+char(216)+char(217)+char(218)+char(219)+char(220)+char(221)+char(222)+char(223)
+char(224)+char(225)+char(226)+char(227)+char(228)+char(229)+char(230)+char(231)+char(232)
+char(233)+char(234)+char(235)+char(236)+char(237)+char(238)+char(239)+char(240)+char(241)
+char(242)+char(243)+char(244)+char(245)+char(246)+char(247)+char(248)+char(249)+char(250)
+char(251)+char(252)+char(253)+char(254)+char(255)+'.]%';
SET @Pos = PATINDEX(@patron,@cadena)
WHILE
@Pos > 0 BEGIN
SET
@cadena = STUFF(@cadena, @pos,1,'')
SET
@Pos = PATINDEX(@patron, @cadena)
END
RETURN
@cadena
END;
Suscribirse a:
Entradas (Atom)