segunda-feira, 2 de novembro de 2015

Tarefa de Conexão do RF (MTF)



  Entre as tecnologias que mais geram praticidades nas operações estão o RF (MTF - Mobile Terminal Framework), baseado em programação JAVA, utilizando-se de uma conexão telnet/ SSh2 Daemon tornou-se parte integrante da ferramenta em meados de 2008 e 2009. Antigamente era usado o Pragma para fazer o gerenciamento do RF.

Devido a importância desse processo foi necessário um artigo próprio, devido ao grau de complexidade de criação da string que varia de acordo com a versão do WMS, mais especificamente da versão do Java. A configuração da task MTFSERVER, cria um conexão única e segura para cada client \ warehouse dentro da aplicação através de chamadas que se comunicam com o RF através de antenas distribuídas dentro da áreas do armazém.

Antes de entramos na configuração da string precisamos entender alguns pontos:

* A utilização do telnet deve estar habilitada.
* Deve conhecer a porta de conexão da aplicação.
* Devem haver portas disponíveis para habilitar a conexão.

O primeiro passo é verificar se o fornecedor (RF) está cadastro no WMS, a RF Vendor Maintenance é a tela que esta disponível a criação do fornecedor, por padrão o sistema possui alguns padrões já cadastrados e que estão prontos para serem utilizados.



Vendor Inquiry - Local onde é configurado o formato do código que envia os dados para o terminal e que chama (invoca) a resposta do terminal,
Vendor Response - Determina a expressão que envia a reposta para o terminal., controla o ID (numero) do terminal.
Vendor Response Time - determina o tempo em milissegundos para as repostas do emulador (RF).

Sempre que é realizada a inicialização da aplicação, o sistema carrega todas as informações cadastradas habilitando para utilização.

A tela RF Terminal Maintenance é onde podem ser criados todos os dispositivos de RF. Nesta tela deverá ser definido o código do fornecedor, e a identificação do dispositivo, podendo ser alfanumérica, normalmente utilizado o mesmo que foi cadastrado na Device Maintenance para o device code.


Display Width - Define o numero de colunas que será mostrado na tela do terminal.
Display Height - Define o numero de linhas que será mostrado na tela do terminal.
Terminal Type - Especifica o tipo de terminal, por exemplo handheld (manual) ou vehicle (veicular).
Locale ID - Identifica a Linguagem (entrada) determinada para o dispositivo.

Sempre que houver a inicialização da aplicação esses dados serão carregados em cache.

Vale salientar que as strings usadas em um versão pode funcionar de forma parcial em outras versões. Pois cada letra da string determina uma função especifica, conforme veremos abaixo. O WMS está pré configurado com uma tarefa chamada MTF_SERVER, ela traz um formato de string determinado que pode ser usado como padrão para ser configurado na aplicação.

Na string
-v representa o fornecedor do RF que será utilizado como o serviço de MTF(RF). Os que estão cadastrados são padrões certificados pela JDA (Redprairie)

-W representa o numero de identificação (ID) do warehouse, ou seja, se a instance tiver mais  que um warehouse cadastrado deverá ser criada uma string para cada warehouse.

-a representa o endereço onde esta instalado o serviço moca. Pode existir varias interpretações para este caso, a padrão é onde está instalado \ funciona a aplicação. Dependendo da necessidade operacional, o serviço pode ser instalado em outro servidor, provendo maior estabilidade na utilização do RF.

-j MTF Logging - representa a configuração do caminho para busca do comando para conexão do RF.
O processo da string funciona em um padrão de linguagem de programação, onde é realizada a declaração e logo em seguida a informação ou dado.

A string abaixo, mostra uma possível configuração permitida do MTF_SERVER.

java -cp $MTF_CLASSPATH com.redprairie.mtf.terminal.Terminal -v "Colocar Vendor" -W "Colocar Warehouse"-a "Colocar servidor":"Porta da aplicação"/service -P "Porta RF" -j $MTFDIR/data/mtf_logging.xml


Todos os emuladores em SSH podem somente serem configurados com as criptografias abaixo:

Blowfish
AES128
AES192
3DES
RC4
Twofish.


quarta-feira, 16 de setembro de 2015

Task Maintenance



        Em nosso dia a dia, existem tarefas que gostaríamos que ao acordar, ela iniciasse automaticamente. Imagine ao acordar e a cafeteira liga para esquentar o café, o fogão esquenta o leite, a banheira começa a encher....tudo estivesse pronto para o inicio do dia. Cada vez mais esse tipo de situação se torna comum nas praticas atuais do sistema, são serviços adicionais dentro de cada programa que pode ser iniciado ou desligado de forma simples, mas que controla um alto nível de fluxo de processamento ou execução, auxiliando componentes e funções paralelas da aplicação. Para quem trabalhou com AS400, Unix ou Linux sabe muito bem do que estou falando, e nos WMS não poderiam ser diferentes.

A task maintenance trabalha na mesma proporção que os serviços do Windows, ou seja, Na task maintenance é o local onde deve ser configurada as tarefas que deveram ser executadas \ iniciadas automaticamente quando o serviço da aplicação iniciar. Por padrão, a tela vem com algumas tarefas proprietarias criadas que podem ou não ser ativados conforme a necessidade de cada operação. Todas as tarefas continuam sendo executadas em segundo plano, e rodando enquanto a aplicação esta ativa.

Entre as tarefas posso destacar as mais comuns: Conexão de RF, Conexão de RFID, Conexão de Voice e processos Seamless.

Tela para configuração da aplicação.

Tela para ativação \ desativação no console.



Para a configuração de uma task, temos os seguintes passos:

Task Id: É um nome que normalmente determina a função que será executada pela tarefa, devendo ser usada uma nomenclatura única.

Name: É onde deve ser descrito o proposito da task de uma forma reduzida.

Command: É o lugar onde é inserida a programação ou código de linguagem que será executado pela tarefa. Pode ser utilizado qualquer tipo de linguagem de programação.
Atenção: cuidado com comandos proprietarios de linguagem, por exemplo: Oracle e SQL Server.

Start in: É onde informamos o caminho (diretório) que esta instalado o programa complementar para execução da Tarefa.Normalmente utilizados por variáveis de ambiente da própria aplicação.

Log File: Local onde deve ser inserido o caminho que deve ser gravado o log de atividade de execução da tarefa.Se não for definido um caminho para o log, por padrão ele é inserido no mocaconmgr.log em uma linha definida como [service]

Start Delay: Este processo define em segundos qual o tempo que essa task será executada depois que o serviço da aplicação for iniciada. Isso define se esta task será executada junto com as demais, ou seja, em casos que existem task dependentes é ideal que seja configurada o delay.

Absolute Group: Identifica se a tarefa esta sendo executada ao mesmo grupo de sua funcionalidade.

Behavior
Auto Start: Define se a tarefa sera iniciada automaticamente junto com o serviço da aplicação. Se não foi ativado, deverá ser ativada manualmente pela tela de console.

Restart on Termination: Define se sera reiniciada automaticamente, quando o serviço da aplicação for reiniciado.

Tracel Level: Define o tipo de nível para criação de trace da tarefa.



Task Type:
Define o tipo de processamento que será executado por cada tarefa.

Thread: Se a tarefa que esta sendo criada devera ser executada como um processo separado do Java junto com o servidor, então essa opção deve ser selecionada.

Process: Se a tarefa que esta sendo criada devera ser executada em paralelo (independente) do servidor, então essa opção deve ser selecionada.

Daemon: Se a tarefa que esta sendo criada devera ser executada em paralelo com a aplicação, então essa opção deve ser selecionada. A diferença principal nesse tipo é que ela executada \ iniciada com a validação do argumento do comando utilizado. Dentre a mais conhecida que utiliza esse método é a MTF_SERVER que controla o funcionamento do coletor (RF, Gladiador, RF veicular,etc).








segunda-feira, 24 de agosto de 2015

Console ou Registry Editor?



           Parei por um tempo e comecei a pensar sobre as evoluções que tivemos no WMS - JDA, e algo que não pode passar despercebido principalmente para quem participa das configurações de hardware são as definições de variáveis de ambiente, java, banco de dados, telnet,etc.

E cheguei na seguinte questão: Qual a diferença entre Console e o Registry Editor?

A nova geração talvez nunca tenha ouvido falar em Registry Editor, ferramenta proveniente das versões até 2010. Antes de entrar na diferença entre eles, temos que abordar o que é Registry Editor?

O Registry Editor era um programa editor que fica disponível no servidor de instalação da aplicação WMS (ou report). Com uma aparência igual ao gerenciador de tarefas do Windows, servia para configurar de forma mais rápida as tarefas, jobs, licenças, banco de dados, conexões e suas portas. Funcionava de forma paralela a algumas telas proprietárias da aplicação WMS, como a task maintenance, job maintenance, database archive maintenance entre outras. Existia 2 impecilios para utilização dele: a primeira estava relacionado a conexão, o usuário deveria ter acesso ao servidor de instalação. Algo fora de cogitação para o nível de segurança utilizado nos ambientes administrativos atuais. O segundo se referia as configurações, caso o usuário realizasse alterações nas telas proprietarias da aplicação e não fosse realizado o reset do serviço o processo não aparecia habilitado no Registry, causando divergência entre as informações.





Para as gerações acostumadas com as versões antes de 2010. Talvez venha a pergunta o que é Console?

O console pode ser definido como a versão mais conservadora do Registry Editor. Conservadora no sentido de limitar as alterações deixando o processo mais para visualização e as alterações para as telas proprietarias do WMS e no arquivo Registry encontrado no caminho $LEDIR/data.




 No caso das configurações do arquivo Registry no $LEDIR/data posso citar:


Configuração do servidor de Instalação:

[SERVER]
url=http://"HOST Servidor de Instalação":4600/service
app-library=%DCSDIR%\bin\dcsmsi.dll
prod-dirs=%LESDIR%;%LESWEBDIR%;%MOCARPTDIR%;%DCSDIR%;%EMSDIR%;%MTFDIR%;%SALDIR%;%MCSDIR%;%SLDIR%;%MOCADIR%;%REPORTINGDIR%
rmi-port=4601
memory-file=%LESDIR%\data\commands.mem
port=4600

Configuração do Banco de dados:

[DATABASE]
url=jdbc:oracle:thin:@"IP \ Host do Banco de Dados":1521:"String"
password="Senha do Banco de Dados Criptografada"
driver=oracle.jdbc.OracleDriver
dba_username=
dba_password=
username="Nome do Usuário do Banco de Dados"


Configuração do Java para processamento de RF e VM. (string padrão utilizada nas versões entre as versões)

[JAVA]
vm=C:\Program Files\Java\jre7\bin\java.exe
vmargs=-Xmx4096m -XX:MaxPermSize=192m
vm32=C:\Program Files (x86)\Java\jre7\bin\java.exe
vmargs32=-Xmx128m
#
#The name of the Java executable to use for the main server and all 64-bit applications.
#vm=java
#
#The arguments to pass to the Java VM.
#vmargs=
#
#The name of the 32-bit Java executable to use. If none is configured, then the value of vm is used instead. If no JVM is configured, then java is used.
#vm32=java
#
#The arguments to pass to the 32-bit Java VM.
#vmargs32=

Configuração Padrão do Voccollet (Voice)

[VOC-LUT]
max-commands=10000
max-pool-size=10
min-pool-size=5
port=4200
server-command=sl_sock proc_inb_thread where sys_id = 'VOCOLLECT' and idle_timeout = 30 and parse_packet_cmd = 'sl_sock parse_packet vcstd' and run_tran_flg = 'T' and xml_flg = 'F'

[VOC-ODR]
max-commands=10000
max-pool-size=10
min-pool-size=5
port=4202
server-command=sl_sock proc_inb_thread where sys_id = 'VOCOLLECT' and idle_timeout = 30 and parse_packet_cmd = 'sl_sock parse_packet vcodr' and run_tran_flg = 'T' and xml_flg = 'F'


Qual a diferença entre Console e o Registry Editor?

O console possui uma interface melhor com os usuários, estilizado com a aparência de Windows Mobile, podendo ser conectado de qualquer browser (versões atualizadas). Os jobs, processo da aplicação e banco de dados ocorrem de forma real time dando ao usuário segurança em tudo que esta sendo executado na aplicação. O bounce (restart de tarefas) ocorre de forma transparente ao usuário, não caindo a conexão dos RF(emuladores) comumente conhecido das versões anteriores. É visivel neste processo a evolução da JDA na correção de atividades que impactam diretamente ou indiretamente na parada da aplicação.







quinta-feira, 30 de julho de 2015

Strawberry Perl





   Neste artigo vamos abordar sobre uma linguagem essencial para funcionamento do WMS (JDA - Redprairie) o PERL.

O que é Perl?

Perl é uma linguagem de programação de propósito geral originalmente desenvolvido para manipulação de texto e agora usado para uma grande variedade de tarefas, incluindo a administração do sistema, desenvolvimento web, programação de rede, desenvolvimento de GUI, entre outras coisas. A linguagem destina-se a ser prático (fácil de usar, eficiente, completo) ao invés de bonita (pequena, elegante, mínimo). Suas principais características são : fácil de usar, suporta tanto códigos de processos quanto de programação orientada a objetos, tem poderoso built-in suporte para processamento de texto, e uma das mais impressionantes coleções do mundo de módulos.

Fonte: http://perldoc.perl.org/perlintro.html


O Perl para Windows

Perl é uma linguagem de programação adequada para escrever scripts simples, bem como para aplicações complexas. Strawberry Perl é um ambiente de perl para Windows que contém tudo que você precisa para executar e desenvolver aplicações Perl. Ele é projetado para ser o mais próximo possível da emulação de um ambiente de sistema UNIX dentro do Windows. Ele inclui os binários perl, compilador (GCC) + ferramentas relacionadas, todas as bibliotecas externas (cripto, matemática, gráficos, xml ...), todos os clientes de banco de dados em pacotes.

Fonte: http://strawberryperl.com/


Uma Breve História do Perl

Larry Wall, criador do Perl, primeiro publicado Perl para Usenet newsgroup as `comp.sources 'no final de 1987. Larry tinha criado Perl como uma linguagem de processamento de texto para os sistemas operacionais Unix-like. Antes do Perl, quase todo o processamento de texto em sistemas Unix-like era feito com um conglomerado de ferramentas que incluíram AWK, `sed ', as várias linguagens de programação shell, e programas em C. Larry queria preencher o vazio entre "manipulexity" (a capacidade de linguagens como C para "entrar nas entranhas das coisas") e "whipuptitude" (a propriedade de linguagens de programação como AWK ou `sh 'que permite aos programadores a escrever rapidamente programas úteis). Assim, Perl (Practical Extraction and Report Language) nasceu.

Perl preencheu um nicho que nenhuma outra ferramenta antes dessa data tinha. Durante os próximos quatro anos ou mais, Perl começou a evoluir. Em 1992, Perl versão 4 tornou-se muito estável e foi uma linguagem de programação Unix "padrão". No entanto, Perl estava começando a mostrar suas limitações. Vários aspectos da linguagem eram confusas, e na pior das hipóteses problemático. Perl funcionava bem para escrever pequenos programas, mas para escrever aplicações de software grandes em Perl era pesado.
Os designers da linguagem Perl, agora um grupo, mas ainda sob a orientação de Larry "dei uma olhada em volta para as outras línguas que as pessoas estavam usando". Eles pareciam se perguntar: "Por que as pessoas escolhem outras línguas sobre Perl?" O resultado desta auto inspeção foi Perl, versão 5. O primeiro lançamento da versão 5 veio no final de 1994. Muitos acreditavam que a versão 5 era a versão Perl "completa". Com a versão 5, Perl foi verdadeiramente uma linguagem de programação de propósito viável.

Fonte: http://www.linuxtopia.org/Perl_Programming/pickingUpPerl_85.html#SEC85

Agora que sabemos o que é o PERL, qual o sentido da instalação da linguagem para o WMS?

PERL é uma linguagem de alta disponibilidade sendo utilizada para serviços e processos que nunca deveriam sofrer nenhuma forma de paralisação. Essa é uma das funções mais procuradas nos sistemas atuais, onde uma parada significa perda de lucros e produtividade. Funciona de forma a complementar \ gerenciar o processamento das aplicações JAVA. É impossível a instalação da aplicação WMS, sem antes haver a instalação do PERL. É a linguagem responsável pelo funcionamento do emulador de RF para os mais intimos da aplicação, irão se lembrar do mboostrap que era o arquivo de configuração dos RFs nas versões anteriores.















quarta-feira, 8 de julho de 2015

Instalação do WMS



  Para toda instalação de um software, existe arquivos ou programas de apoio e no caso do WMS - JDA não seria diferente. Estarei abordado de forma geral alguns programas utilizados, pois cada nova versão do WMS existem novas versões dos aplicativos de apoio. Antes de mais nada precisamos dimensionar o quanto de espaço teremos no servidor da instalação. Isso depende diretamente de qual sistema operacional será utilizado? qual o sistema de banco de dados?

Estarei compartilhando com vocês os Sistemas Operacionais na qual tive a oportunidade de trabalhar junto com o WMS. Existem particularidades distintas entre cada SO em relação a performance, confiabilidade, compatibilidade, instabilidade, etc., entre eles Windows Server, Linux e Unix.

Depois de escolhido o sistema operacional,  o próximo passo é a escolha do banco de dados, assim como o SO existem diversas particularidades entre eles que devem ser levados em consideração principalmente quando pensamos na integração com demais sistemas, entre esses o que mais se destacam são os bancos de dados Oracle e SQL Server.


Fonte: Propria

 Na instalação do WMS - JDA, existem 2 processos: a criação da aplicação e a criação do client. No caso do pacote de instalação da aplicação, estão os programas distintos para cada SO. Entre eles o JAVA e PERL. Cada um devendo ser instalado seguindo a ordem da documentação de instalação disponível dentro do pacote. Logo em seguida a instalação do pacote do client para conseguir acessar a aplicação. No caso do client, existem 2 maneiras diferentes de conexão:

1º Client Individual: Fazendo a instalação do client por maquina, conexão direta.
2º Citrix: Fazendo uma única instalação do client e emulando por citrix.

No primeiro caso, a performance da utilização da aplicação pode variar de acordo com cada maquina, no segundo, a performance da utilização está ligada diretamente ao servidor instalado, mas deve ser avaliado o custo beneficio em ambos os casos.

Junto com o pacote de instalação da aplicação é possivel fazer a instalação do programa de report, esse pode ser instalado de 2 formas:  No mesmo servidor que esta instalado a aplicação, se utilizando do mesmo console ou em servidor diferente, se utilizando de consoles independentes.

Em relação aos consoles, versões atuais da aplicação possuem conexão por navegador, entre eles estão internet explorer, chrome e firefox. Na documentação de cada aplicação são liberados novos plugins para outros navegadores.



















quarta-feira, 10 de junho de 2015

Redprairie - JDA


        
     Quando migrei da área operacional para área de tecnologia dentro da DHL, era um Super User (super usuário) do WMS Prologs (inicio 2000) conhecia a fundo todo processo logístico, operacional e as funcionalidades desse sistema. Em meados de 2007, se de inicio minha experiência com o Dlx2003 (Antigo Dmplus - Redprairie), esse WMS possuia uma estrutura totalmente diferente da que conhecia, os conceitos logísticos eram usados de forma e nomes diferentes, tendo um sistema operacional em Unix e não em Windows utilizados pela maioria dos sistemas da época. Esse sistema era muito robusto, os processos ocorriam em uma velocidade impressionante e a quantidade de dados que transitava era na mesma proporção. Entre os anos de 2009 e 2010, a empresa iniciou o processo para o DLX2006, essa versão estava em uma plataforma Windows e utilizamos na instalação um programa para emular a utilização do RF, a configuração nesse sentindo era um pouco mais complexa, o integrator ainda trabalhava de forma externa, as tabelas haviam mudado muito e os processos também em relação ao seu antecessor, foi um novo aprendizado.

Entre 2010 e 2011, a empresa investiu nas novas versões do WMS, DLX2009 Rapid e Discrete (Full). Essas versões apesar de diferentes entre si, eram muito mais robustas, tanto o RF quanto o integrator era encapsulado no próprio WMS, o processo se tornou mais rapido e menos complexo para instalação e configuração. Em 2012, a Redprairie comprou a JDA e manteve seu nome para fins estratégicos da Empresa.

"A JDA Software, produtora de software de gestão de fornecimento, concordou em ser comprada pela empresa privada rival RedPrairie por cerca de 1,9 bilhão de dólares em dinheiro. A oferta de 45 dólares por ação representa um prêmio de 18 por cento sobre o fechamento das ações da JDA no pregão de quarta-feira. A Reuters reportou citando fontes, que a JDA estava explorando a possibilidade de venda e tinha contratado o JPMorgan como consultor. (Por Supantha Mukherjee e Sayantani Ghosh)."

fonte: http://noticias.r7.com/tecnologia-e-ciencia/noticias/jda-software-e-comprada-por-us-1-9-bilhao-por-rival-redprairie-20121101.html

No inicio de 2014, tive o primeiro contato com a versão DLX2011, participando de melhorias na área de suporte para Panalpina. Neste ano ainda iniciei participação em  um projeto (configuração\suporte) para um cliente com a versão DLX2012, onde ficamos por mais de 1 ano, atuando junto com o cliente em customizações. No final deste mesmo ano, iniciei a configuração do ambiente de DLX2014 para gerar treinamento para outros clientes, essa versão possuia melhorias, com união e separações de algumas telas estrategicamente e outras melhorais referentes as configurações e comandos que não vou mencionar aqui, por que pode ser verificado nos release notes de cada versão.

Em 2015, apos o go-live do cliente Globo, tive o contato com a versão DLX2013 dando suporte a operação \ aplicação, essa versão era muito parecida com a versão 2014. Ainda em 2015, tive a oportunidade de  iniciar a configuração da versão JDA 8.2. Neste a JDA revelou uma nova identidade de marca e logotipo que caracteriza o slogan : Plano para deliverTM  a JDA aplicações têm sido rebatizada para refletir o novo logotipo corporativo e esquema de cores no Windows.

Historia da Redprairie.


fonte: http://www.referenceforbusiness.com/history/Qu-Ro/RedPrairie-Corporation.html









terça-feira, 5 de maio de 2015

Gerenciamento de Armazém 2



           Falamos nos artigos anteriores sobre Logística e sobre a necessidade das empresas em modernizar todo conhecimento operacional, trazendo para dentro, sistemas para gerenciar todas as atividades.
No artigo anterior fiz uma abordagem sobre WMS (warehouse management system) e sobre algumas características e coloquei uma relação dos maiores ou mais utilizados sistemas da cadeia de suprimentos do mundo. A pergunta que talvez esteja incomodando todos agora é: Qual é o melhor sistema de gerenciamento de armazéns do mundo?

A resposta é simples, o melhor WMS é aquele que se adequa na melhor forma aos processos operacionais de cada empresa. Não existe uma ferramenta que possua todas as funções para todas as necessidades operacionais, mas existem WMS que possuem maiores números de funções que se adaptam as realidades das empresas. Existem sistemas baseados em papel ou automatizados, em todos os casos, ambos possuem funcionalidade e investimentos diferentes. Não basta pensar em um sistema de alta performance, sem pensar nos equipamentos atrelados as funções disponibilizadas por estes. Assunto abordado no artigo de equipamentos de movimentação.

http://wmslogistic.blogspot.com.br/2014/12/equipamentos-de-movimentacao.html


Existem sistemas criados de forma particular "caseiros", nestes são criadas as regras de acordo com a necessidade operacional, muitas das vezes não seguindo padrões ou normas de segurança ou integridades para sua criação. E existem os sistemas de Portfólio, onde são criados em plataformas que seguem regras de integridade e padrões ligados diretamente a grandes processos logísticos, baseando-se nas experiências ou atividades realizadas em operadores logísticos.

Algo que se deve considerar na escolha de um WMS, é a origem de criação desses sistemas. Pois as regras desses sistemas são criadas baseadas na cultura de cada País, onde sabemos que a disciplina profissional
é totalmente diferente da utilizada no Brasil. Outra particularidade a ser considerada, em um sistema internacional existe um limite bem definido entre WMS (warehouse management system) \ TMS (transportation management system) \ LMS (labor management system)...etc. Caso que no Brasil, não existe na maioria das vezes uma definição onde uma começa e  outro termina.

Outros fatores técnicos que devem ser considerados é: Qual o sistema operacional o WMS utiliza? Qual o tipo de banco de dados? Qual o tipo de interface será utilizado?. Por que, essas escolhas  influenciam diretamente na transição de dados entre os sistemas utilizados pelos cliente e empresas.

Durante os 15 anos de experiência na logística tive a oportunidade de trabalhar com alguns WMS, entre eles: Triton (Mainframe), Prologs (Prolog), Manhattan (Manhattan Associates) e DLX (Redprairie/JDA). Cada um desses sistemas possui particularidades singulares.

O sistema na qual estarei abordando nos próximos capítulos é o DLX (Redprairie/JDA), baseando se nas versões de 2006 até 2014 onde as configurações são semelhantes, estarei demonstrando alguns configurações \ parametrizações, novidades, telas, etc...

http://www.jda.com/





segunda-feira, 13 de abril de 2015

Gerenciamento de Armazém



     A Logística é a parte fundamental para a sobrevivencia de grandes, medias e pequenas empresas. Sendo parte essencial para cadeia de suprimentos  "desde a fabricação até o ponto de consumo". É uma das principais influenciadoras no valor das mercadorias e do tempo de entrega. Entre todos os processos determina a qualidade e integridade do produto, mas grande parte dessas qualidades não seriam possíveis, sem a existência do WMS.

O que é WMS?

WMS é a sigla para Warehouse Management System ou Sistema de Gerenciamento de Armazém na forma mais simples, o WMS é o programa ou software utilizado para realizar todo processo logístico. O WMS é o modulo entre todos os processos operacionais e suas regras através de um ambiente controlado dentro de uma aplicação, criando uma estrutura mais rígida para que todas as funções sejam realizadas de acordo com o desenho ou a especificação de cada área/produto, controlando por nível de conhecimento ou funcionalidade de cada usuário e limitando por acessos. Fazendo o gerenciamento de todo armazém, indicando os melhores lugares para armazenagem e separação. O WMS viabiliza todo processo se utilizando de suas regras e controles, minimizando os erros ou riscos aumentando a velocidade do fluxo operacional.

A função principal do WMS é trazer funcionalidade e inteligencia para diminuir a dependência de conhecimento individual e aumentando o nível de produtividade, tendo em vista que na situação atual as empresas tem um alto nível de turnover (demissões/contratações). Outra função é o rastreamento dos dados em tempo real, guardando todos os desde o recebimento da mercadoria ate a expedição.

Além de todas as funcionalidades aclopadas ao WMS, ele possui módulos que permitem interagir com outros sistemas. Entre os módulos mais conhecidos  é o de interface que tem maior destaque, através de arquivos de diversos formatos (xml, edifact, X12, RND..etc) em alguns casos, esse modulo pode ser substituido por DBlink para comunicação direta entre banco de dados.

Existem outros módulos que se acoplam ao WMS para gerar maior resultado ou controles específicos, um exemplo é o LMS (labor management system) que é um sistema de gerenciamento de recursos (humanos) que gerencia as atividades pendentes para serem realizadas no sistema, controlando a produtividade e recurso por hora,  equipamento, atividade ..etc.

Não podemos esquecer que o WMS nasceu da necessidade de um maior controle e velocidade dos processos operacionais, como o minimo de erros possível, conforme aumentam as necessidades o sistema de adapta a essas condições, criando resultados precisos.

Entre os sistemas, abaixo estão os melhores programas e empresas do mundo.





http://www.mmh.com/article/top_20_supply_chain_management_software_suppliers_2014








sábado, 14 de março de 2015

Transporte



Nesta etapa, vamos falar de um processo muito importante e do mesmo grau de complexidade. Quando falamos de transporte dentro da logística, automaticamente pensamos em caminhões, aviões e navios, somos direcionados por uma logica de coisas grandes para veículos grandes. Devemos ter em mente que esses são apenas alguns tipos de modais,  e não podemos esquecer a importância dos demais.

Visão Geral:

O transporte representa em media 3,5% do faturamento total da Logística. Entre os utilizados no mundo estão rodoviário, ferroviário, aéreo, dutoviário e  aquaviário que esta dividido em fluvial (rio), lacustre (lagos) e marítimo. Cada País possui uma estrutura apropriada que determina o maior valor do modal. No caso do Brasil, ainda temos como predominante o Rodoviário. Segundo dados da Agencia Nacional de Transportes Terrestres (ANTT) em 2005 o Brasil estava na sequinte situação:

  • Rodoviário: 61,5%
  • Ferroviário: 20,4%
  • Aquaviário: 13,5%
  • Dutoviário: 4,3%
  • Aeroviário: 0,3%
Em 2011 a situação entre os modais ainda se encontra de forma estável.








Fonte: http://www.imam.com.br/logistica/artigos/serie-transporte-de-cargas/1525-o-transporte-de-cargas-no-brasil


Claro que uma margem de crescimento de 3% para o Ferroviário é muito significativa, levando em consideração que não houve um crescimento nas malhas ferroviárias. É importante ressaltar os tipos de produtos mais transportados neste modal.

  • Produtos Siderúrgicos;
  • Grãos;
  • Minério de Ferro;
  • Cimento e Cal;
  • Adubos e Fertilizantes;
  • Derivados de Petróleo;
  • Calcário;
  • Carvão Mineral e Clinquer;
  • Contêineres.
Comparando com outros países, conseguimos enxergar o quanto podemos amadurecer ou criar novas soluções em um País que ainda vive de rodovias criadas com baixa estrutura para o transporte.








Fonte: Extraídos de dados da TigerLog de 2003


O transporte é parte fundamental para o sucesso de todo processo logístico, ela é essencial para o bom funcionamento do fluxo de carregamento e expedição das mercadorias, impedindo o travamento das docas e áreas de stage (áreas determinadas antes do carregamento). Mas isso ainda é a menor parte em relação a tudo que a área de transporte precisa controlar. A principio a área de transporte faz o controle de todos os veículos dentro de um armazém, determinado o melhor horário para o carregamento e a melhor rota para entrega, equilibrando o melhor preço com a melhor qualidade e segurança, levando em consideração cada tipo de produto e suas caracteristicas. Esse princípio parece ser muito simples, mas na pratica existe uma complexidade grande e uma responsabilidade maior ainda.
O transporte é responsável pela entrega de todas as mercadorias em âmbito nacional e internacional se utilizando de todos os modais, levando em consideração o melhor prazo de entrega. Não podemos esquecer que menores prazos de entrega estão relacionados a valor de frete maiores, e valores de fretes maiores gera aumento do valor da mercadoria. Além disso, existe o fator da melhor rota de deslocamento, e isso impacta diretamente na segurança e no tempo de entrega. A otimização da carga no transporte é um fator muito importante, através dela é determinado a quantidade de paradas na entrega ou se a entrega é direta, em ambos o caso a escolha da transportadora correta é essencial. A área de transporte é responsável por administrar cada transportadora e sua região de entrega, se baseando no valor do frete e na forma de entrega, além da responsabilidade de administrar a logística reversa (devolução da mercadoria). Todo esse cuidado deve ser mantido rigorosamente, pois os prazos de entrega são cada vez menores, e as condições das estradas cada vez piores. Apenas para se ter uma ideia, o índice de roubo de cargas nas rodovias federais, subiu 14% no ano passado, em comparação com 2012 que teve 315 ocorrências. Em 2013 foram notificados 359 casos  (segundo PRF - Policia Rodoviaria Federal).
Em alguns casos na logística, existem bases próprias do correio dentro dos armazéns, isso agiliza a entrega de pedidos direta ao cliente, e bases das transportadoras que facilitam todo processo de conferência e entrega.

Na próxima semana, iremos dar inicio aos  artigos de abordagem sobre o WMS (Warehouse Management System) ou Sistema de Gerenciamento de Armazém.
























domingo, 22 de fevereiro de 2015

Separação - Picking 2




A separação é assunto muito extenso, por isso pensei em montar esse novo artigo. Quando pensamos na separação, temos diversas formas que podemos chegar no resultado final, mas existe uma diferença gigante entre velocidade e qualidade para chegar nesse resultado.
Como já vimos anteriormente,  a velocidade depende de alguns fatores, entre eles, disposição dos materiais, distancia entre eles e do percurso que devera ser percorrido. Mas existe um fator que compromete muito mais esse processo, chamada de acuracidade do inventario. Acuracidade do inventário é o fator mais importante para todo sucesso da operação.
Imagine você on-line, fazendo uma compra de um produto de extrema importância,  você realiza o pagamento e já sabe a data de entrega, perto do prazo de entrega a empresa faz o cancelamento da compra. Qual a confiança que você terá de comprar nesta mesma loja novamente? Por isso a separação é tão importante,  pois o fator de influência dela impacta diretamente o comprador ( cliente). Ter um processo de separação eficiente,  consiste em ter o material disponível no momento exato em que operador estiver no armazém coletando cada material para expedição. Claro que nesse contexto não podemos esquecer do processo de reabastecimento que será fundamental para a próxima onda de separação. A onda de separação consiste em um conjunto de pedidos separados por blocos, podendo esses blocos serem por estado, região,  CEP, transportadora,  fornecedores,  tipo de produto, segmento, etc...

Pensando na acuracidade, existem outros processos a serem realizados antes da mercadoria seguir para a expedição,  entre elas a conferência. Nesse processo será verificado tudo que é solicitado no pedido e tudo que foi separado, em qualquer diferença, o separador sera solicitado para correção. Para alguns tipos de materiais a separação é algo muito mais complexo, entre eles alimentos, cosméticos, remédios e químicos (em alguns casos), pois o processo de separação tem que gerenciar o tempo de validade de cada produto desde a saída do armazém a chegada nos compradores.

Em processos de operações antigas, a estrutura era realizada toda em papel, em 2000 quando iniciei em uma operação logística, o sistema tinha a exclusiva funcionalidade de emitir uma copia do pedido com os locais que deveriam ser separadas as mercadorias, não havia qualquer otimização de pedidos ou separação, o processo todo era realizado de forma manual, com a visualização e conferência dos códigos se baseando nas disponibilidades físicas do operador. Infelizmente esse processo em alguns empresas ainda é real, muitas vezes por falta de conhecimento ou até de investimento, mas que traz um risco enorme para empresa em relação a confiabilidade, deixando sua produtividade estagnada.

Por outro lado, existe operações semi automatizadas, são aquelas que consistem em sistemas mais robustos, com um nível de gerenciamento um pouco mais alto, se utilizando de scanners, RFs, empilhadeiras, cubiscan (balança de peso e medição eletrônica). Nesse tipo os pedidos são processados em ondas, com otimização da separação e de tempo de cada tarefa que o operador realiza dentro da operação.

E por fim as automatizadas, industrializadas ou Robóticas, são aquelas em que todo processo são realizados por maquinas, desde a separação ate a expedição do produto. São sistemas que conversam diretamente com os equipamentos, informando a necessidade e o momento certo que cada peça deve estar em uma determinada área da produção, se deslocando pelo armazém através de esteiras ou deslocadores de pallets. Separando de forma fiel a quantidade solicitada e enviando para esteiras de destino de cada entrega.

Este é o video do processo utilizado na Coca-Cola.


https://www.youtube.com/watch?v=sV8qezr18DY&spfreload=10











sexta-feira, 23 de janeiro de 2015

Separação - Picking



   Nos artigos anteriores, tivemos a definição do que é Logistica, falamos sobre armazenagem, movimentação e recebimento. Apartir de agora vai ficar mais claro, por que tivemos que passar por todas esssas etapas antes desse artigo. A etapa da separação de um produto, certamente é o processo mais complexo dentro da Logistica. Ao mesmo tempo que é dependente dos outros  processos acima citados, ela pode ser independente.

Quando a separação é influenciada pelos demais processos, ela se torna dependente da forma que é realizado o recebimento da carga e da maneira que é armazenada, principalmente se houver um tipo de controle mais especifico, como: lote, serial data de expiração (Fefo, Fifo, Lefo, Lifo), etc. Um exemplo prático em nosso dia a dia, é quando fazemos compras e colocamos os produtos de qualquer jeito, condicionalmente, você vai acabar utilizando o produto com vencimento mais longo primeiro. Esse tipo de erro não deveria acontecer na Logistica, mas um mau controle do estoque pode gerar esse tipo de caso.

Quando a separação é independente dos processos (recebimento, armazenamento) aparentemente pode parecer mais simples, mas na realidade não é o que ocorre, pois pode haver uma correlação de outros processos para evitar perda de mercadorias por danos. Um exemplo disso é a utilização de blocados (paletes), se não houver uma substituição dos paletes, o palete base com o tempo cede e danifica a mercadoria. Outra forma de separação independente é a com a criação de Kits, onde produtos diferentes gerem itens diferentes.

De todas as formas o processo de separação se torna complexo no sentido da preocupação da operação/empresa para atender seus clientes finais. Quando se pensa em separação, as primeiras palavras que devem vir a mente são velocidade, acessibilidade e integridade. A velocidade pode ser definida para este caso como o tempo de abastecimento da mercadoria ou o tempo de deslocamento de um funcionario para trazer a mercadoria até o ponto de expedição (abordados no artigo de movimentação). No caso de acessibilidade pode ser definido o tipo de acesso/permissão a area do produto e equipamentos relacionados a cada area. Com a Integridade temos a complexibilidade de manter a qualidade do produto por todo deslocamento no armazém, independente da unidade de medida utilizado, equipamento, transporte etc.

Um controle detalhado do estoque se torna essencial para se obter maior sucesso na separação e com isso uma maior produtividade na Logistica, a escolha do  tipo de armazenagem e veiculo utilizado pode comprometer diretamente todo processo.





terça-feira, 6 de janeiro de 2015

Recebimento (inbound)



Para que o armazenamento ocorra de maneira uniforme e rapida, deve ser determinado a forma com que o recebimento será realizado e qual a complexidade que haverá para cada tipo de fornecedor. Existem varias opções que o fornecedor pode escolher para enviar a mercadoria para seus compradores, isso depende diretamente do tipo de material (seco, resfriado, misto), velocidade (no atendimento ao cliente), caracteristica (fifo, fefo, lefo, lifo), lote, etc...

Antes de entrarmos nesse assunto, vamos entender quais as complexidades existentes das unidades dos produtos e quais as formas que poderão ser armazenadas:


Na figura acima, podemos verificar as caracteristicas de alguns produtos, sendo elas: peça, embalagem primaria, display e caixa. E logo em seguida o detalhamento da forma de armazenagem, como a camada e o palete completo. Claro que a caixa é a forma mais simples para fazer a movimentação de peças, embalagem primaria e display. 
Provavelmente, as formas de movimentações de embalagens mais primitivas tenham nascido no deserto, pois a migração daqueles povos eram constantes e levavam consigo todos os objetos pessoais. Atualmente a embalagem basica para transporte é a caixa,  mas no recebimento, mesmo usando caixas existem uma complexibilidade. 

Unico item por palete: Quando a escolha do fornecedor esta associada a velocidade no carregamento e descarregamento da mercadoria, ele escolhe essa opção. Muitas vezes a mercadoria é enviada com a paletização usada pelo cliente, isso gera uma velocidade grande para o recebimento da mercadoria, armazenagem e liberação do produto para venda.

Varios itens por palete: Esse tipo de recebimento, é muito utilizado quando o fornecedor não possui um padrão para carregamento ou quando quer se aproveitar do espaço do veiculo para carregar sobras de antigos carregamentos, pode ocorrer tambem por compras sem padrão do cliente. Esse tipo de recebimento é complexo para o cliente, pois quebra todo processo de paletização da carga, gerando retrabalho para desmontar e remontar os paletes antes do armazenamento.


Carga não paletizada, diferentes itens: Esse tipo de carga é muito conhecida como carga a granel. A escolha do fornecedor por este tipo de carga esta atrelado principalmente pelo custo (frete), pois é o tipo de carregamento onde se consegue ter o maior aproveitamento de espaço do veiculo, conseguindo carregar um numero maior de mercadoria. Esse tipo de carregamento\descarregamento pode trazer beneficios, em relação ao metodo anterior, pois não é necessario desmontar o palete, mas como ponto negativo esta a velocidade do descarregamento que é muito lenta.





É certo que existem diversos outros metodos, como por rolltainer, gaiolas, caixotes. Lembrando que esses metodos são para tipo de carregamentos que usam como unidade primaria a caixa. Existem outros metodos de carregamentos para liquidos sendo sua forma de armazenagem também diferenciadas de acordo com o produto. Posso citar algumas dessas formas, como a poupa de suco de fruta, onde o carregamento é feito por caminhão tanque até a fabrica antes da embalagem (tetrapak). A gasolina que também é transportada por caminhão tanque até o posto de combustiveis, onde é armazenado em um outro tanque.

Outra forma menos conhecida e não menos importante, é o carregamento de galões, baldes, mini tanques e tambores muito utilizadas por empresas de produtos quimicos e industrilizados e que o carregamento pode ser realizado igual os acima citados.