« SPOULE » ou le CPYSPLF automatisé

Dans Client Acces on peut copier graphiquement des portions d’écran, au moyen du
presse-papiers de Windows. En utilisant cette particularité, j’ai imaginé une
utilisation particulière pour décoder une ligne d’un WRKSPLF.

Dans un premier temps, on cherche le spoule à  manipuler, puis on presse 2 fois la touche
F11, ensuite on copie toute la ligne du spoule qui nous intéresse dans le presse-papiers.
On appelle le programme SPOULE par un CALL SPOULE (on peut aussi créer une CMD SPOULE
rattachée au programme du même nom).
On colle le contenu du Presse-papiers, on presse la touche ENTREE, et le CPYSPLF se fait
automatiquement.

Naturellement, cela peut être étendu à  d’autres commandes.

Bien sûr, cela ne marche pas avec les écrans passifs.

 

Source de la commande SPOULE rattachée au CL SPOULECL:

CMD PROMPT('Usage des informations spoule')

 

Source du programme CL SPOULECL :

PGM

DCLF FILE(SPOULEFM) RCDFMT(E1)

DCL VAR(&FILE) TYPE(*CHAR) LEN(10)
DCL VAR(&SPLNBR) TYPE(*CHAR) LEN(4)
DCL VAR(&TRAVAIL) TYPE(*CHAR) LEN(10)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&NUMERO) TYPE(*CHAR) LEN(6)
DCL VAR(&NBR) TYPE(*DEC) LEN(4 0)

SNDRCVF RCDFMT(E1)

CHGVAR VAR(&FILE) VALUE(%SST(&FLD001 1 10))
CHGVAR VAR(&SPLNBR) VALUE(%SST(&FLD001 13 4))
CHGVAR VAR(&TRAVAIL) VALUE(%SST(&FLD001 19 10))
CHGVAR VAR(&USER) VALUE(%SST(&FLD001 31 10))
CHGVAR VAR(&NUMERO) VALUE(%SST(&FLD001 43 6))
CHGVAR VAR(&NBR) VALUE(&SPLNBR)

CPYSPLF FILE(&FILE) TOFILE(LIB/BDD) +
JOB(&NUMERO/&USER/&TRAVAIL) SPLNBR(&NBR) +
TOMBR(*FIRST) MBROPT(*REPLACE) /* BDD et +
LIB sont ... renseigner */

/* */
/* A la place de CPYSPLF on peut utiliser SNDNETSPLF, SNDTCPSPLF, LPR, ... */
/* */

SNDNETSPLF FILE(&FILE) TOUSRID((&ID &ADDR)) +
JOB(&NUMERO/&USER/&TRAVAIL) SPLNBR(&NBR) +
/* ID et ADDR sont à  renseigner */

SNDTCPSPLF RMTSYS(RMTSYS) PRTQ(PRTQ) FILE(&FILE) +
JOB(&NUMERO/&USER/&TRAVAIL) SPLNBR(&NBR) +
TRANSFORM(*YES) MFRTYPMDL(MFRTYPMDL) +
DLTSPLF(*NO) SEPPAGE(*NO) /* RMTSYS, PRTQ +
et MFRTYPMDL sont à  renseigner */

LPR RMTSYS(RMTSYS) PRTQ(PRTQ) FILE(&FILE) +
JOB(&NUMERO/&USER/&TRAVAIL) SPLNBR(&NBR) +
TRANSFORM(*YES) MFRTYPMDL(MFRTYPMDL) +
WSCST(WSCST) DLTSPLF(*NO) SEPPAGE(*NO) /* +
RMTSYS, PRTQ, MFRTYPMDL et WSCST sont ... +
renseigner */

FIN:
ENDPGM

Source du DSPF SPOULEFM :


A DSPSIZ(24 80 *DS3)
A PRINT
A R E1
A 1 2SYSNAME
A 1 23'Affichage des informations des spo-
A ules'
A DSPATR(HI)
A 1 72DATE
A EDTCDE(Y)
A 2 2USER
A 2 72TIME
A 7 30'Coller les informations :'
A COLOR(BLU)
A FLD001 70 B 9 5

Print Friendly, PDF & Email