Pesquisar este blog

Mostrando postagens com marcador produtividade. Mostrar todas as postagens
Mostrando postagens com marcador produtividade. Mostrar todas as postagens

quinta-feira, 14 de maio de 2020

Teclado Buga pro PCOMM - Personal Comunications - Emulador de terminal 3270 da IBM

Teclado Buga pro PCOMM - Personal Comunications - Emulador de terminal 3270 da IBM



Atualizacao em 06.06.2025
To aqui ressucitando velhos fantasmas!




-------------------------------------------------------------------------------------------------------------------

Aqui ó que maravilha - teclado do buga.kmp
Figura -1 : Teclado do buga.kmp

Captura de onde tem que ir pra configurar/apontar pro teclado personalizado
Figura 0: pcsws.exe em execucao









 Quem é das antigas igual eu, curte uma customizada no teclado do seu 3270, cada um trabalha de um jeito e sua produtividade aumenta bem quando esta trabalhando em algo que voce esta acostumado.


Estou usando o

Figura 1: pcomm 6.0


Devo ter algum mais novo ou mesmo um que nao seja Trial, mas enfim, vamos seguir com esse splash Screen que foi o que encontrei.


O teclado esta aqui.


https://drive.google.com/file/d/0B59qH6QDRq_uRDRCMGViTTV2bG8/view?usp=sharing



Que eu lembre onde deixei num futuro proximo que venha a precisar, porque hoje procurei e demorei pra achar!



Segue ultima configuração do Personal Communications que fiz aqui pra testar com o Zowe.


Se um dia perder o 3270 da IBM, tem desse cara aqui que da conta do recado para brincar.

Vista TN3270 - Tom Brennan

http://www.tombrennansoftware.com/download.html

http://www.tombrennansoftware.com/vista127_2014-11-12.exe

em todos os casos, vamos deixar o link aqui pra download da versao que baixei hoje (06.06.2025) 
https://drive.google.com/file/d/1cUnMYzfzCeKlJxkPI4E1VC0aP-U_DS9t/view?usp=sharing

terça-feira, 2 de maio de 2017

IBM Debug Tool perdendo os break points a cada execução e não guarda a configuração da tela

JCL para Recuperar Configuração do Debug Tool no Mainframe

No mainframe, o Debug Tool utiliza dois arquivos de controle: um para salvar os breakpoints e outro para guardar suas configurações personalizadas. Como no ambiente em que trabalho os arquivos são deletados automaticamente sem aviso, já perdi minhas preferências algumas vezes. Para não passar mais por isso, montei um JCL que recria tudo de forma automática. Agora, sempre que entro no sistema, rodo junto com o HRECALL e mantenho minha configuração do jeito que gosto!


//C001BUGA JOB BUGA,BUGA,CLASS=K       RESTART=STEP#002
/*NOTIFY WALBUGA
//*--------------------------------------------------------------------
//* Aloca arquivos utilizados pelo debug tool no z/OS
//*--------------------------------------------------------------------
//STEP#001  EXEC PGM=IEFBR14
//SAVINGS     DD DSN=WALBUGA.DBGTOOL.SAVESETS,
//               DISP=(NEW,CATLG,DELETE),
//               UNIT=SYSDA,SPACE=(CYL,(20,10)),
//               DCB=(LRECL=3204,BLKSIZE=0,DSORG=PS,RECFM=VB)
//SETTINGS    DD DSN=WALBUGA.DBGTOOL.SAVEBPS,
//               DISP=(NEW,CATLG,DELETE),
//               UNIT=SYSDA,SPACE=(CYL,(20,10)),
//               DCB=(LRECL=3204,BLKSIZE=0,DSORG=PO,RECFM=VB),
//               DSNTYPE=LIBRARY
//*--------------------------------------------------------------------
//* Carrega configuracoes que o Buga gosta!
//*--------------------------------------------------------------------
//STEP#002  EXEC PGM=IEBGENER
//SYSIN      DD DUMMY
//SYSPRINT   DD SYSOUT=X
//SYSUT1     DD *
      COMMENT YES - DO NOT MODIFY THIS LINE 12/18/2018 10:50:06 AM;
      SET ASSEMBLER OFF;
      SET ASSEMBLER STEPOVER EXTONLY;
      SET AUTOMONITOR ON NOLOG CURRENT;
      SET CHANGE STATEMENT;
      SET COLOR TURQUOISE NONE     HIGH TITLE HEADERS;
      SET COLOR GREEN     NONE     LOW  TITLE FIELDS;
      SET COLOR TURQUOISE REVERSE  LOW  MONITOR AREA;
      SET COLOR TURQUOISE REVERSE  LOW  MONITOR LINES;
      SET COLOR WHITE     REVERSE  LOW  SOURCE AREA;
      SET COLOR TURQUOISE REVERSE  LOW  SOURCE PREFIX;
      SET COLOR YELLOW    REVERSE  LOW  SOURCE SUFFIX;
      SET COLOR RED       REVERSE  HIGH SOURCE CURRENT;
      SET COLOR GREEN     NONE     LOW  SOURCE BREAKPOINTS;
      SET COLOR TURQUOISE NONE     HIGH PROGRAM OUTPUT;
      SET COLOR YELLOW    NONE     LOW  TEST INPUT;
      SET COLOR GREEN     NONE     HIGH TEST OUTPUT;
      SET COLOR BLUE      REVERSE  HIGH LOG LINES;
      SET COLOR WHITE     NONE     HIGH COMMAND LINE;
      SET COLOR GREEN     REVERSE  HIGH WINDOW HEADERS;
      SET COLOR BLUE      REVERSE  HIGH TOFEOF MARKER;
      SET COLOR RED       NONE     HIGH TARGET FIELD;
      SET DEFAULT LISTINGS;
      SET DEFAULT DBG;
      SET DEFAULT MDBG;
      SET DEFAULT SCROLL PAGE;
      SET DEFAULT VIEW STANDARD;
      SET DEFAULT WINDOW SOURCE;
      SET DISASSEMBLY OFF;
      SET DYNDEBUG ON;
      SET ECHO ON;
      SET EXECUTE ON;
      SET EXPLICITDEBUG OFF;
      SET FIND BOUNDS 1 *;
      SET HISTORY ON 100;
      SET IGNORELINK OFF;
      SET LDD SINGLE;
      SET LIST TABULAR OFF;
      SET LIST BY SUBSCRIPT OFF;
      SET LOG OFF;
      SET LOG KEEP 1000;
      SET LOG NUMBERS ON;
      SET LONGCUNAME ON;
      SET MONITOR DATATYPE OFF;
      SET MONITOR LIMIT 1000;
      SET MONITOR NUMBERS ON;
      SET MONITOR WRAP ON;
      SET MSGID OFF;
      SET PACE 2;
      SET PF1      "?"... =   ?;
      SET PF2      "STEP" = STEP;
      SET PF3      "QUIT" = QUIT;
      SET PF4      "LIST" = LIST;
      SET PF5      "FIND" = IMMEDIATE FIND;
      SET PF6      "AT/CLEAR" =AT TOGGLE;
      SET PF7      "UP" =   IMMEDIATE UP;
      SET PF8      "DOWN" = IMMEDIATE DOWN;
      SET PF9      "GO" =   GO;
      SET PF10     "ZOOM" = IMMEDIATE ZOOM;
      SET PF11     "ZOOM LOG" =IMMEDIATE ZOOM LOG;
      SET PF12     "RETRIEVE" =IMMEDIATE RETRIEVE;
      SET PF13     "?"... =   ?;
      SET PF14     "STEP" = STEP;
      SET PF15     "QUIT" = QUIT;
      SET PF16     "LIST" = LIST;
      SET PF17     "FIND" = IMMEDIATE FIND;
      SET PF18     "AT/CLEAR" =AT TOGGLE;
      SET PF19     "UP" =   IMMEDIATE UP;
      SET PF20     "DOWN" = IMMEDIATE DOWN;
      SET PF21     "GO" =   GO;
      SET PF22     "ZOOM" = IMMEDIATE ZOOM;
      SET PF23     "ZOOM LOG" =IMMEDIATE ZOOM LOG;
      SET PF24     "RETRIEVE" =IMMEDIATE RETRIEVE;
      SET POPUP 15;
      SET PROMPT LONG;
      SET REFRESH OFF;
      SET RESTORE SETTINGS AUTO;
      SET RESTORE BPS AUTO;
      SET RESTORE MONITORS AUTO;
      SET REWRITE 50;
      SET SAVE SETTINGS AUTO;
      SET SAVE BPS AUTO FILE WALBUGA.DBGTOOL.SAVEBPS;
      SET SAVE MONITORS AUTO;
      SET SCROLL DISPLAY ON;
      SET SUFFIX ON;
      SET WARNING ON;
      WINDOW SIZE 3 LOG;
      WINDOW SIZE 28 SOURCE;
      WINDOW SIZE 8 MONITOR;
      SET SCREEN ON;
      SET SCREEN 1 MONITOR SOURCE LOG;
      SET KEYS ON 12;
      SET MONITOR COLUMN ON;
//SYSUT2     DD DSN=WALBUGA.DBGTOOL.SAVESETS,
//              DISP=(OLD,CATLG,DELETE),
//              UNIT=SYSDA,SPACE=(CYL,(20,10)),
//              DCB=(LRECL=3204,BLKSIZE=0,DSORG=PS,RECFM=VB)
//

Dica: Usando esse JCL, você nunca mais perde suas configurações do Debug Tool, mesmo que o sistema delete seus arquivos sem aviso. Personalize o nome dos datasets conforme sua necessidade!

Figura 1: Tela do Debug Tool no mainframe z/OS mostrando arquivos de configuração e breakpoints alocados
Figura 1: Debug Tool iniciando o debug de um programa

quinta-feira, 3 de novembro de 2016

Mass Insert DB2 - Inserindo uma caralhada de dados no on-line de uma vez só! Da hora, funciona!

Pequena alteração? Só um insert...

Esses dias me deparei com uma alteração de um programa (já entregue, testado e evidenciado) que precisou de uma “pequena alteração”, só um insert dizia o pedido.

Esse tipo de situação é muito corriqueira (lembro uma vez que trabalhei um carnaval inteiro (desde a sexta feira antes do carnaval até a quarta de cinzas porque tinha que ir pra produção no almoço da quarta de cinzas – esse fiz questão (só pra saber que não era urgente porra nenhuma e que não teria a volumetria informada nunca) de colocar contador de execução e emissão de relatório pra eu saber a real utilização da parada – BINGO, nem o cara que pediu usou na tal quarta de cinzas! Um tempo depois chegou uma solicitação pra desencanar da parada (o “projeto” inicial era bem trabalhoso e saiu só um cotoquinho na quarta de cinzas – afinal milagre é outro departamento, mágica ainda vai!) acho que até hoje deve ter um texto meu no código fonte bem puto explicitando que as vezes fazemos papel de palhaço atendendo pedidos que sabemos que não vai ter futuro, mas que os chefes nas camaradagens e nas boas vizinhanças acabam aceitando (mesmo também sabendo e concordando que não vai vingar) sinceramente não entenderei jamais os meandros do mundo corporativo!

Lembrei de uma vez que o Mané pediu um lê-grava na sexta pra entregar na segunda que era boiada... humpft, outro final de semana e madrugadas, mas esse usaram bastante!

Enfim, voltando a minha pequena alteração de hoje (outubro 2016). Depois que conversei com o figura que fez a solicitação inicial e na hora que integrou tudo reparou que precisava da “alteração” porque esqueceu na hora de “especificar” ou o “cliente” mudou de ideia, enfim, me pagam para além de fazer mágica, resolver pepinos e aqui estou!

A parada era simples, de verdade! Só ler uma tabela recebida via linkage e ir inserindo os caras que não fossem “branco” numa tabela XPTO. Como trabalhei bastante tempo com sistemas on-line de alta performance e diga-se de passagem quando comecei a trabalhar com isso foi justamente retirando os acessos ao DB2 substituindo-os para acesso a arquivos VSAM e outras soluções bem interessantes (como as TS residentes para “tabelas” pequenas).

Isso posto – como diria o nosso advogado Rodrigo – sei e tenho a noção que sair da QR (o programa é CICS e não é ThreadSafe) e ir pra L8 uma porrada de vezes pra gravar no DB2 não é uma boa ideia. Sai então pra pesquisa, afinal alguem já deve ter tido uma situação parecida de fazer uma inserção em massa no DB2 de uma vez só.

A pesquisa foi relativamente simples, tem bastante coisa de DB2 que aparece quando ‘googla’ direitinho (procurei por multiple-row-insert), vi o manual do DB2 – 11 e localizei o que eu precisava. Só os exemplos que estavam meio capengas, mas nada que com uma fuçada aqui e ali não resolvesse.

A parada ficou bem legal pro que eu precisava e deixa eu colocar o código aqui pra não esquecer – afinal pra isso que fiz esse blog!...

Simplificando... a tabela ‘digamos’ que tenha só 2 campos SMALLINT e not null os 2 e a chave é os 2.

As variáveis:

----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
/                                                              
*---------------------------------------------------------------*
*   MASS INSERT DB2                                            
*---------------------------------------------------------------*
01  FILLER             PIC X(30) VALUE 'MASS INSERT'.
01  GD-MASS-INSERT.
   03 I                PIC S9(4) COMP VALUE 1.
   03 GD-NR-LINHAS     PIC S9(4) COMP VALUE 0.
   03 GD-CAMPO1        PIC S9(4) COMP OCCURS 1000.
   03 GD-CAMPO2        PIC S9(4) COMP OCCURS 1000.
/                                                               

Na section do insert fiz um loopzinho básico pra varrer a entrada e mover os dados válidos e acumular quantos eram eles.

O insert é bem “normal”

    EXEC SQL
        INSERT INTO BVISANET.TABELA_XPTO
        (CAMPO_HUM, CAMPO_DOIS)
        VALUES (:GD-CAMPO01, :GD-COMPO02)
        FOR :GD-NR-LINHAS ROWS
        NOT ATOMIC CONTINUE ON SQLEXCEPTION
    END-EXEC.

E no meu caso nem se deu certo ou não eu precisava, nos testes deu uns erros 253 que indica que “olha eu tentei fazer o que voce pediu, mas não garanto porque deu caca” e o 254 que olha amigo, não rolou nem unzinho! Em ambos ou se quiser analisar a parada mais a fundo tem o “GET DIAGNOSTICS” que sai do escopo desse post (afinal nem usei a criança).

O “NOT ATOMIC” é pra não parar se der erro, afinal eu quero uma inserção em massa, os erros depois vejo o que faço com eles, quer dizer, nesse caso nada!

Fiquei puto com a “pequena alteração” ainda mais sabendo que meu patrão não recebe um centavo disso - na real quem deveria saber e cobrar sequer fica sabendo ou se sabe faz o lance da boa vizinhança, e enfim, entramos no mesmo lance do mundo corporativo que não entendo. mas aprendi uma nova e como não manjo nada de DB2 acho que foi bem produtivo!

Deixa eu colocar a fotinho do TSO pra eu lembrar que sou trouxa e trabalho depois do horário (achei que fosse coisa do meu outro serviço, mas parece que é crônico, afinal tudo é urgente e pra ontem!) e mais trouxa ainda porque não entro na justiça processando meu empregador!...

Figura 1: Buga Troxa

Figura 1: Buga Troxa

Os Códigos de SQL da versão 11 do DB2 podem ser pesquisados no link abaixo

http://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/codes/src/tpc/db2z_n.html

Nota:

Ver com o Aldenon ou com o Thiago se eles ainda tem o e-mail de outra vez que trabalhei igual maluco nas madrugada pra abrir o criptograma na mão com todos os passos e tals...

Achei!
Re: Documentação da função CVN 17 de 22.06.2013 tem o anexo e tudo com o passo a passo! (esse só pra eu lembrar mesmo porque tem muita informação $40, vulgo confidencial) e pra não esquecer que se o viadinho do Chahad tivesse descolado o programinha que ele usava tinha resolvido isso instantâneamente!

segunda-feira, 5 de maio de 2014

Gmail Tips - Adicionando funcionalidades extras em seu e-mail !

Ferramentas para Gmail: Envio agendado e hospedagem de arquivos

Atualizacao 2024 09 25

http://www.rightinbox.com/

continua funcionando firme e forte!

Atualização 06.04.2020

Tudo isso já virou uma funcionalidade nativa do Gmail!

Listar mensagens não lidas no Gmail

Pra listar as mensagens nao lidas no gmail: in:unread


Hospedagem de arquivos em servidores remotos

Lembrei do primeiro Logo Dropbox que vi!

Logo GmailDrive
GmailDrive

http://www.viksoe.dk/code/gmail.htm

No Windows Explorer fica assim:

Vista do Gmail drive no Windows Explorer
Figura 1: Vista do Gmail drive no Windows Explorer

Para apagar, renomear, salvar é igualzinho se fosse um pen-drive ou hd externo.

Achei um Pro Mac

http://gdisk.sourceforge.net/

Tela de Logon do gDisk no Mac OS
Figura 2: Tela de Logon do gDisk no Mac OS

Mandando e-mail agendado

Exemplo de envio agendado com Boomerang
Exemplo de envio agendado com Boomerang

http://www.boomeranggmail.com/

http://www.rightinbox.com/

Aviso de recebimento com Right Inbox
Aviso de recebimento com Right Inbox - RECOMENDO!