Olá Márcio, tudo bem?<br><br>Voltei mestre! Bom, agora com um pouco mais de informação e bastante dúvida! Li os posts que você trocou com o Eden e, para minha tristeza, não encontrei ainda uma maneira de solucionar o meu problema. Mas, nem tudo está perdido pois estou no caminho certo!<br>
<br>Segui seus exemplos e, fiz aqui no trabalho um debug no ambiente e notei algumas coisas:<br><br>1 - meu programa em Perl está funcionando ok e interagindo com o expect que, por sua vez dispara o s3270 (fiz um exemplo bem básico para logar no IBM e me retornar a tela de login);<br>
2 - assim como seu exemplo, recebi todas as strings de conexão retornados pelo s3270, linhas no formato U F U C(192.164.123.130) I 4 24 80 15 28 0x0... OK! Muito interessante!<br>3 - passo os comandos do tipo:<br><br><br>
<span style="font-family:courier new,monospace">my $cmd1 = "connect(<a href="http://10.4.23.30:23">10.4.23.30:23</a>)\n";<br>$cmd1 .= "wait(InputField)\n";<br>$cmd1 .= "String(<span style="color:rgb(255,0,0)">user1</span>)\n"; para usuário e o mesmo equivalente para senha <br>
$cmd1 .= "wait(InputField)\n";<br>$cmd1 .= "String(<span style="color:rgb(51,204,0)">password</span>)\n";<br>$cmd1 .= "Ascii(0,0,24,80)\n";<br></span><br>Nesse ponto, notei que o s3270 não reconhece o "\n" como "enter"... no meu caso, diferente do seu, o usuário para o IBM não possui a quantidade máxima de caracteres para esse campo (geralmente 8). O usuário possui apenas 5 caracteres e, preciso que seja enviado para o s3270 o "enter" para que ele passe para o outro campo de senha. Pelo output com a função ascii, notei no arquivo de log que, o campo user é preenchido utilizando o valor passado user1 e mais os próximos 3 caracteres do segundo comando string... fica algo assim:<br>
<br><span style="font-family:courier new,monospace">data:   Userid .............. <span style="color:rgb(255,0,0)">user1</span><span style="color:rgb(51,204,0)">pas</span>      Voce e' responsavel pelos atos praticados<br>
data:   Senha ...............               com  o seu  codigo  de usuario, portanto</span><br><br>E não há envio de "enter" !!! Tem alguma dica? Por favor Márcio, fico muito grato da sua ajuda e atenção!<br><br>
Abc aos Mestres!<br>Frederico<br><br><br><div class="gmail_quote">2013/3/14 Frederico Melo <span dir="ltr"><<a href="mailto:fdmmelo@gmail.com" target="_blank">fdmmelo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Márcio! Você tem toda razão! Realmente estou muito sobrecarregado mas, estou em fase de finalização da outra demanda. Por incrível que pareça, essa pequena ajuda que me deu no exemplo abaixo irá ajudar bastante! Vou anotar aqui e acompanhar pela sua explicação. Tão logo finalize e coloque em produção o outro sistema, irei me aprofundar com dedicação exclusiva para a automação do IBM e, seu exemplo vai ajudar muito.<br>

<br>Muito obrigado pela explicação de cada linha! Esclareceu bastante! Muito obrigado e desculpe o incômodo! Com certeza, dentro em breve contatarei o forum novamente e, se não se incomodar, vou lhe perguntar outras coisas mas, preciso caminhar sozinho para ver as dúvidas!<br>

<br>Muito obrigado Márcio!<br><br>Abc,<br>Frederico<br><br><div class="gmail_quote"><div><div class="h5">2013/3/13 Marcio - Google <span dir="ltr"><<a href="mailto:marciorp@gmail.com" target="_blank">marciorp@gmail.com</a>></span><br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Frederico,<div><br></div><div>   Desculpe-me, mais se você não arrumar tempo para tentar e tentar, não vai evoluir mesmo. Isso que está fazendo é bem complicado mesmo, e não tem receita de bolo, pois quase ninguém usa, além do que como se trata de posicionamento de tela e tal, vária de ambiente para ambiente, não tenho como fazer por você.</div>


<div><br></div><div>   Sobre o usuário e senha:</div><div><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  my $exp = </span><span style="background-color:rgb(255,255,204);color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px">Expect</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">->spawn('s3270');        ## </span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  my $cmd1 = "connect(</span><a href="http://10.1.8.192:23/" style="color:rgb(17,85,204);font-size:13px;font-family:arial,sans-serif" target="_blank">10.1.8.192:23</a><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">)\n";</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">        ## Conectei no servidor, esse ai é o IP.</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  $cmd1 .= "wait(InputField)\n";</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">        ## Aqui estou aguardando um campo de entrada, no meu caso o cursor já cai no campo do usuário</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  $cmd1 .= "String(usertest)\n";</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">        ## Aqui eu "digito" na tela do terminal o nome do usuário, no meu caso é "usertest"</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  $cmd1 .= "wait(InputField)\n";</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">        ## Aguardo o próximo campo de entrada, que no meu caso é a senha. Como no meu ambiente todos os usuário tem tamanho fixo e ocupam o campo todo, quando insiro o nome do usuário o cursor do terminal já cai para o próximo campo, que é a senha</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  $cmd1 .= "String(passtest)\n";</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">        ## Digito a senha, que no meu caso é "passtest"</span><br style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">  $cmd1 .= "Ascii(0,0,24,80)\n";</span><span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">        ## Leio a tela</span></div>


<div><br></div><div>   Aquele código do histórico tem tudo que você precisa para fazer os primeiros e segundos testes. A documentação do s3270 tem os comando que você precisa para interagir com o terminal, isso não é Perl, é TN3270.</div>


<div>   A explicação do Eden também vai ajudar muito a tratar as primeiras saídas.</div><div><br></div><div>   Depois disso, poste as dificuldades, de preferência com o código que você usou e os erros ou dúvidas.</div><div>


<br></div><div><br>[...]'s<span><font color="#888888"><br><br>Marcio
</font></span></div>
<br></div></div><div class="im">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></div></blockquote></div><br>
</blockquote></div><br>