terça-feira, 22 de junho de 2010

Cursos férias da USP

Sites que disponibilizam cursos de férias bem mais acessíveis ao público.

http://www.ime.usp.br/~imejr/cursos.php
-Inglês, Espanhol, C# e ASP.NET

http://www.fflch.usp.br/sce/
- Línguas entre outros

quarta-feira, 9 de junho de 2010

Localizando um caracter dentro de uma string

Um modo fácil de encontrar um caracter dentro de uma string é executar a validação abaixo:


cDate := '05-2010'
If '/' $ cDate
  Alert('Falso')
Else If '-' $ cDate
  Alert('Verdadeiro')
EndIf

segunda-feira, 7 de junho de 2010

Utilizando condições no Oracle e Mysql

Oracle 9i, Oracle 10g, Oracle 11g

No oracle não utilizamos a condicional "IF", no lugar deste devemos utilizar:

CASE [ expression ]
    WHEN condition_1 THEN result_1
    WHEN condition_2 THEN result_2
    ...
    WHEN condition_n THEN result_n
    ELSE result
END

Vamos aos exemplos

    SELECT CASE F4_INCSOL
           WHEN 'S' THEN SUM(d1.D1_ICMSRET)
           ELSE 0
           END
      FROM SD1060 d1
INNER JOIN SF4
        ON f4.F4_CODIGO = d1.D1_TES (cont)...

ou

    SELECT CASE
           WHEN F4_INCSOL = 'S' THEN SUM(d1.D1_ICMSRET)
           ELSE 0
           END
      FROM SD1060 d1
INNER JOIN SF4
        ON f4.F4_CODIGO = d1.D1_TES (cont)...


Já no MYSQL poderíamos exemplicar da seguinte maneira


    SELECT IF(F4_INCSOL = 'S', SUM(d1.D1_ICMSRET), 0)
      FROM SD1060 d1
INNER JOIN SF4
        ON f4.F4_CODIGO = d1.D1_TES (cont)...

quinta-feira, 13 de maio de 2010

Importação de tabelas Excel para DBF

Em mais uma postagem sobre dicas "vivendo e aprendendo ADVPL" hoje falarei sobre importação de tabelas em Excel para DBF
Recursos utilizados:- Protheus 10
- Microsoft Office Excel 2003

Vamos iniciar montando uma tabela qualquer em excel para podermos importa-la para DBF.

Selecione os itens que deseja importar, porém se vc esqueceu de selecionar e importar inteiro o DBF conterá todas as linhas em branco que tiver no Excel e isso te complicará no indexamento do arquivo.
Ao final do post farei explicarei sobre como apagar os registros em branco.

Salvando a planilha excel no formato .dbf
Utilize o Salva Como do Excel 2003 e na opção "Salvar como tipo:" selecione a opção:
DBF 4(dBASE IV)(*.dbf)









Salve o arquivo direto na estrutura de pastas do Protheus. Sugiro salvar na pasta data para que possamos abri-lo pelo APSDU.


A primeira mensagem se refere a não termos removido as abas 2 e 3 do excel, se as mesmas foram removidas só a segunda mensagem aparece, para este caso basta selecionar OK e depois Sim.

Observação pertinente a qual não foi aplicada aqui para gerar justamente esse erro.
Vejam que na próxima imagem no campo Cidade Porto Alegr e Florianopol estão incorretos pois na importação o tamanho do campo foi criado inferior a necessidade.
Para resolver isto basta abrir a celula no excel no tamanho que vc deseja que o campo tenha. Exemplo: Para um campo de 30 caracteres extenda a célula em largura para:
Largura: 30,00 (215 pixels) .

Criando o índice via APSDU para este novo arquivo:
Índice / Criar / Chave (selecione o construtor de chaves de índice) adicionar a chave desejada e Confirmar

Obs.: O Índice pode ser criado também via código.

Segue um exemplo de código para leitura tanto em .dbf quanto .cdx ou até mesmo em TopConnect

Conforme comentado anteriormente se por acaso for importado a planilha do excel completa e aparecer n linhas em branco, basta apagarmos via APSDU nas opções Utilitário / Delete / Para (construtor de expressão) / Selecione um campo qualquer e insira na expressão como por exemplo:
CLUBE Igual a ' '
Os campos vázios ficaram assinalados em cinza como deletados, depois vá em Utilitário / Pack ou Ctrl + P e clique em Sim.
Todos os campos deletados serão removidos.

Obs.: A diferença entre o Pack e o Zap é que o Pack remove todos os campos deletados e o Zap remove todos os campos.

Espero ter ajudado com este post, abraços a todos.