sábado, 20 de julho de 2013

SQL SERVER – Pegar o ultimo dia e o primeiro da data atual



Outro dia estava criando uma procedure no sql server 2005 onde eu tinha que pegar o primeiro dia do mês corrente e o ultimo dia do Mês corrente, então usei o seguinte algoritmo.

-- Declarando as variaveis
declare @DiaCorrido int
declare @FimDoMes datetime
declare @InicioDoMes datetime

--Descobrindo quantos dias já foi percorrido
set @DiaCorrido = DATEPART(day,getdate())

-- Pegando o primeiro dia do mês corrente
set @InicioDoMes = DateAdd(day,(- @DiaCorrido) + 1 ,getdate())

-- Pegando o ultimo dia do mês corrente
set @FimDoMes =  DATEADD(DAY,-1,DATEADD(MONTH,1,@InicioDoMes))

--Apresentando o resultado

select @InicioDoMes -- 01/06/2011
select @FimDoMes    -- 30/06/2011

Javascript - Aceitar apenas número inteiro


Javascript:

function soNumeroInteiro(oCampo, teclapres) {
    if (navigator.appName.indexOf('Internet Explorer') > 0) {
        nTecla = teclapres.keyCode;
    } else {
        nTecla = teclapres.which;
    }

    if ((nTecla < 48) || (nTecla > 57)) {
        teclapres.returnValue = false;
    }
}


C#

ed_QuantidadeDeArquivos.Attributes.Add("onKeyPress", "soNumeroInteiro(this,event)");



C# - Criando uma linha - DataTable

Objetivo : Criar um DataTable e Adicionar um Item.
Usado Para: Eu uso para Adicionar algum item em um Grid por Exemplo.

DataTable tbItens = new DataTable();//Instanciando um DataTable (Tabela)
tbItens.Columns.Add(“Produto”); //Adicionando Colunas
tbItens.Columns.Add(“Descricao”);
tbItens.Columns.Add(“Qtde”);

DataRow dr_Produto = new DataRow(); //Instanciando um DataRow(Linha)
dr_Produto = tbItens.NewRow();
dr_Produto["Produto"] = “XBox360?; //Adicionando Produto
dr_Produto["Descricao"] = XBox 360 Ultimate”;
dr_Produto["Qtde"] = 1;
tbItens.Rows.Add(dr_Produto); // Passando a Linha Criada para a Tabela

SAP – Carregar HEADER_DEADLINES-TIMETYPE

Problema: Ao preencher o campo HEADER_DEADLINES-TIMETYPE da BAPI_INB_DELIVERY_SAVEREPLICA não estava salvando.

Solução: Acessar a transação SE16 tabela TTSEGTIME e pegar a descrição correta.
TIMETYPE = 'WS DELIVERY LIKP'
OR
TIMETYPE = 'WSHDRLFDAT'

Tabela SE16: TTSEGTIME
BAPI_INB_DELIVERY_SAVEREPLICA-HEADER_DEADLINES

SAP – Concatenar Variavel e Loop

DATA LS_RET type BAPIRET2.

DATA: PEDIDO(10) TYPE C.
DATA: ITEM(6) TYPE C.
DATA: QTY(20) TYPE C.
DATA: UOM(3) TYPE C.
DATA: UOMISO(3) TYPE C.
DATA: LINHA(255) TYPE C.

LOOP AT PXKOMDLGN.

PEDIDO = PXKOMDLGN-LFIMG.
ITEM = PXKOMDLGN-LGMNG.
QTY = PXKOMDLGN-LFIMG_FLO.
UOM = PXKOMDLGN-LGMNG_FLO.
UOMISO = PXKOMDLGN-UMVKZ.

CONCATENATE '[' PEDIDO ']'
'[' ITEM ']'
'[' QTY ']'
'[' UOM ']'
'[' UOMISO ']'
INTO LINHA SEPARATED BY SPACE.

LS_RET-MESSAGE = LINHA.

APPEND LS_RET TO PRETURN.

Oracle – Alterar Session

Alterar Session da aba atual – PLSQL

– Session Settings
ALTER SESSION SET NLS_LANGUAGE = AMERICAN ;
ALTER SESSION SET NLS_DATE_FORMAT = ‘YYYY-MM-DD-HH24.MI.SS’;
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ‘.,’;

Oracle – Declare

SET SERVEROUTPUT ON;
DECLARE

iCOUNT NUMBER;

CURSOR CR_PO IS
SELECT D.IDENTIFICADOR, D.ITEM, SUBSTR(AT.CONTENT,0,10) DataF14
FROM TB_DADOS D
INNER JOIN ADDITIONAL_TEXT AT ON SUBSTR(AT.OBJECT_KEY,1,10) = D.DOCID AND SUBSTR(AT.OBJECT_KEY,12,6) = D.ITEM
WHERE AT.TEXT_ID = ‘F14 ‘ AND AT.LANGUAGE = ‘PT ‘;

BEGIN
iCOUNT := 0;

FOR LINHA IN CR_PO LOOP
BEGIN
UPDATE TB_DADOS SET FIELD1 = LINHA.DataF14 WHERE DOCID = LINHA.DOCID AND ITEM = LINHA.ITEM;

iCOUNT := iCOUNT + 1;

EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line(TO_CHAR(SQLCODE) || ‘ – ‘ || LINHA.DOCID);
RETURN;
END;

END LOOP;
END;
/

SQL Server – Comandos Básicos



Segue abaixo alguns comandos básicos, vou colocando os comandos de acordo com o tempo.

Adicionar uma nova coluna.

ALTER TABLE tbContasAPagar ADD IgnorePrice Bit NULL DEFAULT 0

SAP – Regras de Nomeclatura

SY – É uma estrutura
wa – variavel
v_ – variavel
pt_ – tabela
t_ – tabela
ti – tabela interna

C# – Desabilitar o botão ao clicar

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
pbtNext.Attributes.Add(“onclick”, ” this.disabled = true; ” + ClientScript.GetPostBackEventReference(pbtNext, null) + “;”);
}
}

SAP – Habilitar nome técnico da transação

Habilitar o código da transação no menu do SAP.
Menu Principal >> Suplementos >> Opções >> Exibir Nomes Técnicos