%%(display:none)
{{{
WikiUp
}}}
/%
[{TableOfContents }]\\
!!! Introduzione\\
La strada che porta ad una "buona installazione" passa anche attraverso la "pulizia" del sistema operativo che supporta il sistema applicativo.\\
\\
In questa sezione tratteremo:\\
* Valori di sistema\\
* Completamento installazione programmi su licenza\\
* Default per comandi\\
* Cambio SIGNON\\
* Accensioni/Spegnimenti macchina\\
* Salvataggi\\
* Pulizia e ottimizzazione delle risorse\\
* Schedulazione lavori\\
* Sottosistemi e code lavori\\
* Profili utente e autorizzazioni\\
* Device\\
* Utilità\\
\\
__N.B.__: l'applicazione dei suggerimenti che seguono deve comunque essere decisa in comunione con il responsabile del sistema presso il cliente\\
\\
!! Valori di sistema\\
Suggeriamo:\\
%%quote
_1_Nome_n_           _1_Descrizione_n_                                    _1_Valore_n_
QAUTOVRT          Config. autom. unità virtuali                   _5_*NOMAX_n_
_3_(impostare a 0 solo se non si vuole permettere collegamenti non codificati)_n_
_1_ cambia valore >>_n_


CHGSYSVAL  SYSVAL(QAUTOVRT) VALUE(*NOMAX)

QCTLSBSD          Sottosistema di controllo                       _5_QSYS/QCTL_n_
/%
----
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QCTLSBSD) VALUE('QCTL')
/%
----
QDEVRCYACN        Azione errore I/E unità                         ''*ENDJOB''\\
''(qualora si avesse la configurazione di device a nome prefissato, si può''\\
'' valutare di impostare il default *DSCJOB per recuperare i lavori sospesi)''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QDEVRCYACN) VALUE(*ENDJOB)
/%
----
QJOBMSGQFL        Azione integrale della coda messaggi di lavoro  ''*WRAP''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QJOBMSGQFL) VALUE(*WRAP)
/%
----
QLMTSECOFR       Limite accesso unità respons.riser.             ''0''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QLMTSECOFR) VALUE('0')
/%
----
QMAXSGNACN       Azione per tentativi non validi di collegamento ''3''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QMAXSGNACN) VALUE('3')
/%
----
QMAXSIGN         Num. mass. tentativi collegam.                  ''3''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QMAXSIGN) VALUE('3')
/%
----
QPWDEXPITV       Interv. scadenza par. d'ordine                  ''120''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QPWDEXPITV) VALUE('120')
/%
----
QPWDMAXLEN       Lung. mass. par. d'ordine ne                    ''10''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QPWDMAXLEN) VALUE(10)
/%
----
QPWDMINLEN       Lung. min. par. d'ordine ne                     ''8''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QPWDMINLEN) VALUE(8)
/%
----
QPWDRQDDIF       Contr. pr. d'ordine dupl.                       ''5 (10)''\\
''(impostazioni sicurezza condizionate dal "documento programmatico sulla''\\
'' sicurezza")''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QPWDRQDDIF) VALUE('5')
/%
----
QSECURITY       Liv.riserv. sistema                              ''30''\\
''(salvo specifica richiesta)''\\
\\
! cambia valore >>\\
%%quote 


 CHGSYSVAL  SYSVAL(QSECURITY) VALUE('30')
/%
----
QSTRUPPGM       Progr. di avvio                                  ''SMESYS/B£QQQS''\\
''(Il prototipo del programma è distribuito da SME.up e si trova nel   ''\\
'' file sorgente SMEQSM. Invitiamo a spostarlo nel file SRC_SYS della  ''\\
'' libreria SMESYS e impostare le eventuali proprie modifiche)         ''\\
\\
\\
\\
! gestione valore >>\\
%%quote 


 WRKSYSVAL  SYSVAL(QSTRUPPGM)
/%
----
QSYSLIBL        Parte sist. elenco librerie                      ''aggiungere SMESYS''\\
''(come da installazione durante LODRUN)''\\
\\
! gestione valore >>\\
%%quote 


 WRKSYSVAL  SYSVAL(QSYSLIBL)
/%
----
\\
!! Comandi collegati:\\
! Gestione valori di sistema >>\\
%%quote 


 WRKSYSVAL
/%
----
\\
! Stampa valori di sistema >>\\
%%quote 


 WRKSYSVAL OUTPUT(*PRINT)
/%
----
\\
!!! Completamento installazione programmi su licenza\\
I nuovi sistemi normalmente pervengono già preinstallati con tutti i programmi su licenza necessari al funzionamento completo di Sme.up, però in casi particolari può essere necessario completare l'installazione di sistema operativo con:\\
* 57xxSS1 opzione 13: OS/400 - Include apertura del sistema\\
* 57xxSS1 opzione 22: OS/400 - ObjectConnect\\
Il primo è necessario qualora si necessiti compilare programmi che utilizzano le API di sistema operativo, mentre il secondo è necessario qualora si intenda utilizzare il supporto del sistema operativo per trasferire librerie ed oggetti da un AS400 ad un altro (ad esempio per il passaggio da un vecchio sistema ad uno nuovo), utilizzando i comandi SAVRSTLIB e SAVRSTOBJ.\\
\\
!!! Default comandi\\
L'ambiente di sviluppo di Sme.up, sia a livello di sviluppo standard che presso i clienti, sfrutta diverse personalizzazioni di comandi di sistema, che vengono effettuate mediante il cambiamento dei default (CHGCMDDFT).\\
\\
Impostando opportunamente le variabili di ambiente:\\
_h_ Valore attuale: V7R3M0\\
_h_ Valore attuale: V7R3M0\\
_h_ Valore attuale: XXX\\
\\
che attualmente impostano:\\
* Release di compilazione oggetti __'V7R3M0'__\\
* Release di salvataggio supporto __'V7R3M0'__\\
* Label default inizializzazione nastro __'XXX'__\\
\\
_h_Att.ne se si effettuano modifiche alle variabili è necessario effettuare un refresh tramite F05\\
\\
si potranno impostare i default dei comandi di sistema come proposti:\\
%%quote
» Creazione file sorgente con lunghezza a 112 bytes (CRTSRCPF)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTSRCPF) NEWDFT('RCDLEN(112)')

» Nel debug si possono aggiornare i files di produzione (STRDBG, STRISDB)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(STRDBG) NEWDFT('UPDPROD(*YES)')
CHGCMDDFT  CMD(STRISDB) NEWDFT('UPDPROD(*YES)       INVPGM(*NO)')

» Creazione file video con riemissione formato (CRTDSPF)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTDSPF) NEWDFT('RSTDSP(*YES)')

» Creazione file di database con ampiezza (CRTPF)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTPF) NEWDFT('SIZE(100000 10000 100)')

» Inizializzazione nastro (INZTAP)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(INZTAP) NEWDFT('NEWVOL(XXX)       CHECK(*YES) DENSITY(*CTGTYPE) CLEAR(*NO)')

» Salvataggio libreria (SAVLIB)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(SAVLIB) NEWDFT('TGTRLS(V7R3M0) SAVACT(*LIB)')

» Salvataggio oggetto (SAVOBJ)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(SAVOBJ) NEWDFT('TGTRLS(V7R3M0) SAVACT(*LIB)')

» Salvataggio cartella (SAVDLO)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(SAVDLO) NEWDFT('TGTRLS(V7R3M0)       SAVACT(*YES) DTACPR(*YES)')

» Opzioni di compilazione di programmi RPG (CRTRPGPGM)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTRPGPGM) NEWDFT('TGTRLS(V7R3M0)       USRPRF(*OWNER)')

» Opzioni di compilazione di programmi SQL (CRTSQLRPG)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTSQLRPG) NEWDFT('COMMIT(*NONE)       OPTION(*SOURCE) TGTRLS(V7R3M0)')

» Opzioni di compilazione di programmi RPGLE (CRTBNDRPG)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTBNDRPG) NEWDFT('DFTACTGRP(*NO)       ACTGRP(*CALLER) DBGVIEW(*SOURCE) USRPRF(*OWNER)       TGTRLS(V7R3M0)')

» Opzioni di compilazione di programmi SQLRPGLE (CRTSQLRPGI)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTSQLRPGI) NEWDFT('COMMIT(*NONE) DBGVIEW(*SOURCE)                       USRPRF(*OWNER) TGTRLS(V7R3M0)')

» Opzioni di compilazione di programmi CLP (CRTCLPGM)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTCLPGM) NEWDFT('USRPRF(*OWNER)       TGTRLS(V7R3M0)')

» Opzioni di compilazione di programmi CLLE (CRTBNDCL)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTBNDCL) NEWDFT('DFTACTGRP(*NO)       ACTGRP(*CALLER) USRPRF(*OWNER) TGTRLS(V7R3M0)       DBGVIEW(*SOURCE)')

» Opzioni di compilazione moduli (CRTRPGMOD)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTRPGMOD) NEWDFT('TGTRLS(V7R3M0)')

» Opzioni di fine lavoro (ENDJOB)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(ENDJOB) NEWDFT('OPTION(*IMMED) LOGLMT(0)')

» Opzioni creazione profilo utente (CRTUSRPRF)
_8_ eseguo impostazione >>_n_
CHGCMDDFT  CMD(CRTUSRPRF) NEWDFT('AUT(*USE)')

» Metodo recupero azioni schedulate (ADDJOBSCDE)
_8_ eseguo impostazione >>_n_
CHGCMDDFT CMD(ADDJOBSCDE) NEWDFT('RCYACN(*NOSBM)')

» Copia variabili di ambiente in sottomissione lavori (SBMJOB)
_8_ eseguo impostazione >>_n_
CHGCMDDFT CMD(SBMJOB) NEWDFT('CPYENVVAR(*YES)')

/%
----
\\
!!! Cambio SIGNON\\
L'operazione è semplice e rende gli utenti + contenti! Basta creare un file video apposito.\\
\\
Si parte da__QDSIGNON__sorgente contenuto in__QGPL/QDDSSRC(QDSIGNON)__presente di default su tutti i sistemi AS400.\\
Si può modificare a piacere, con l'unica __accortezza__ di ''non riordinare mai'' i campi I/O (mediante i consueti tasti F4+F6 dallo SDA), che comporterebbe la variazione del buffer di  comunicazione tra sistema e file video e non funzionerebbe più.\\
\\
Una volta compilato nella libreria __SMESYS__, bisogna abbinarlo al sottosistema __QINTER__ per renderlo attivo, seguendo la seguente procedura operativa:\\
1) Assicurarsi che tutti gli utenti attivi in QINTER abbiano concluso i propri lavori e siano scollegati dal sistema\\
2) Collegarsi con l'utente__QSECOFR__o alternativo, e digitare il comando_7_TFRJOB JOBQ(QCTL) per trasferire il proprio lavoro nel sottosistema di controllo.\\
%%quote 
__  eseguo__ ''ATTENZIONE!_7_il lavoro corrente verrà riavviato''.. __>>__

 TFRJOB ?*JOBQ(QCTL)
/%
----
3) Chiudere sottosistema QINTER con il comando __ENDSBS SBS(QINTER) OPTION(*IMMED)__\\
%%quote 
__  eseguo >>__

 ENDSBS ?*SBS(QINTER) ?*OPTION(*IMMED)
/%
----
4) Abbinare il formato video di collegamento al sottosistema QINTER, mediante il comando __CHGSBSD SBSD(QINTER) SGNDSPF(SMESYS/QDSIGNONxx)__\\
%%quote 
__  eseguo >>__

 CHGSBSD ?*SBSD(QINTER) ??SGNDSPF(SMESYS/QDSIGNONxx)
/%
----
5) Avviare sottosistema QINTER mediante il comando __STRSBS SBSD(QINTER)__\\
%%quote 
__  eseguo >>__

 STRSBS ?*SBS(QINTER)
/%
----
\\
!!! Accensioni/Spegnimenti macchina\\
Lo spegnimento e l'accensione possono dipendere da diversi fattori:\\
* GO power\\
* PWRDWNSYS RESTART(*YES)\\
* Sincronizzare CHGCLNUP con *SCDPWROFF\\
\\
!!! Salvataggi\\
!! Quando\\
* Predisporre supporti specifici per LUN-MAR-MER-GIO (VEN)\\
* Predisporre inoltre salvataggi di sistema almeno una volta all'anno o prima delle ferie principali\\
\\
!! Cosa\\
* Librerie\\
** tutte le notti SMEDATxxx, SME_xxx, SMESYS\\
** ad ogni rilascio o installazione di aggiornamento SMEDEV, SMEUP_OBJ, SMESTD, SMESRC, SMEMOD, SMECON\\
* Cartelle eventuali\\
* Root eventuali\\
\\
!! Come\\
Utilizzo del S.o. per librerie e cartelle (già previsto da b£5)\\
Utilizzo del comando SAV per Root oppure QEZPWROFFP (vedi B£5)\\
\\
__N.B.__: Con i salvataggi organizzati con tab. B£5 è possibile sincronizzare lo spegnimento della macchina dopo aver effettuato i salvataggi.\\
Nel caso in cui il lavoro che supporta il salvataggio (B£PWR..) sia in stato MSGW non rispondere al messaggio, bensì "abbattere" il lavoro con *IMMED, in modo da non SPEGNERE la macchina.\\
\\
!! Sospesi\\
Meccanismo dell'*UNLOAD\\
\\
!! Schedulazione lavori\\
%%quote 
Gestione lavori schedulati

 WRKJOBSCDE
 
 __B£UT05A__
 E' fortemente consigliato di schedulare ogni notte questo programma di utility, che ha lo
 scopo di controllare la dimensione di alcuni file di smeup, al fine di applicarvi un eventuale
 ridimensionamento nel caso la percentuale di occupazione raggiunga il 90%. L'operazione di
 ridimensionamento non comporta aumento della memoria occupata fintanto che non vengono scritti nuovi
 nuovi record.
 Tale lavoro schedulato deve avere una JOBD con lista librerie Sme.UP.
 Nella call a questo programma va indicata la libreria da controllare:
 CALL       PGM(B£UT05A) PARM('SMEDATXXX')
 Se esistono differenti ambienti, il pgm dovrebbe essere schedulato per ognuno di questi.
 
 
/%
----
\\
!!! Pulizia e ottimizzazione risorse\\
Suggeriamo:\\
__CLEANUP__\\
\\
''IMPOSTARE''\\
%%quote
Consentita ripulitura automatica  . . . . . . . .   Y
Orario inizio giornaliero della ripulitura  . . .   *SCDPWROFF
Numero di giorni per la conservazione di:
Messaggi utente . . . . . . . . . . . . . . . .   1
Messaggi di sistema e di terminale  . . . . . .   1
Registrazioni lavori e altre emissioni di sistema . . . . . . . . . . . . . . . . . . .   2
Giornali di sistema e registrazioni di sistema    1
/%
----
\\
''NOTE''\\
La ripulitura automatica, nel caso siano attive le personalizzazioni di sistema (tab.B£5), parte __PRIMA__ delle attività di chiusura impostate in tale tabella.\\
L'orario di inizio giornaliero deve essere impostato ad un certo orario qualora la macchina non si spenga.\\
\\
__ALTRE__\\
Verificare le stampe utente e di sistema con un WRKOUTQ *ALL, elimina tutto il vecchiume (ad esempio QEZDEBUG e QEZJOBLOG possono generalmente essere svuotate);\\
Verificare se ci sono dei files QHST* di troppo *FILE nella QSYS\\
Con RCLSPLSTG *NONE si può recuperare lo spazio delle stampe cancellate\\
\\
!!! Profili utente e autorizzazioni\\
Suggeriamo 3 tipologie di utenti che avranno CLASSE\\
* ''*USR'', Utenti finali del sistema informativo\\
* ''*PGMR'', Manutentori del sistema informativo\\
* ''*SECOFR'', Responsabile del sistema informativo\\
\\
!! Profili di sistema\\
Le impostazioni dei profili di sistema determinano le autorizzazioni di tutti gli utenti, rappresentando i profili di gruppo.\\
» Verifica impostazioni profilo di gruppo UTENTI FINALI (QUSER)\\
%%quote 
__ eseguo >>__

 ?CHGUSRPRF USRPRF(QUSER) USRCLS(*USER) LMTCPB(*YES) SPCAUT(*USRCLS)
/%
----
» Verifica impostazioni profilo di gruppo SISTEMISTA APPLICATIVO (QPGMR)\\
%%quote 
__ eseguo >>__

 ?CHGUSRPRF USRPRF(QPGMR) USRCLS(*PGMR) LMTCPB(*NO) SPCAUT(*JOBCTL *SAVSYS *SPLCTL)
/%
----
\\
!! Profili personali\\
» Creazione profilo UTENTE FINALE (*USER/QUSER)\\
%%quote 
__ eseguo >>__

 ?CRTUSRPRF USRPRF(*N) USRCLS(*USER) SPCAUT(*USRCLS) JOBD(SMEJOBD) GRPPRF(QUSER) OWNER(*GRPPRF) AUT(*USE) INLPGM(*LIBL/B£QQ50) LMTCPB(*YES)
/%
----
» Creazione profilo UTENTE SISTEMISTA APPLICATVO (*PGMR/QPGMR)\\
%%quote 
__ eseguo >>__

 ?CRTUSRPRF USRPRF(*N) USRCLS(*PGMR) SPCAUT(*USRCLS) JOBD(SMEJOBD) GRPPRF(QPGMR) OWNER(*GRPPRF) AUT(*USE) INLPGM(*LIBL/B£QQ50)
/%
----
» Creazione profilo UTENTE RESPONSABILE RISERVATEZZA / SISTEMISTA (*SECOFR/QPGMR)\\
%%quote 
__ eseguo >>__

 ?CRTUSRPRF USRPRF(*N) USRCLS(*SECOFR) SPCAUT(*USRCLS) JOBD(SMEJOBD) GRPPRF(QPGMR) OWNER(*GRPPRF) AUT(*EXCLUDE) INLPGM(*LIBL/B£QQ50)
/%
----
\\
__Comandi correlati__\\
%%quote 
Gestione profili

 WRKUSRPRF USRPRF(*ALL)
/%
----
%%quote 
Stampa profili

 PRTUSRPRF SELECT(*USRCLS)
/%
----
\\
!! Criteri di codifica del Profilo\\
Salvo esigenze specifiche o esistenza di norme interne all'azienda, un criterio per assegnare profili che diminuisca l'ambiguità, potrebbe essere CCCNNN, dove:\\
* CCC >> prime 3 lettere del cognome\\
* NNN >> prime 3 lettere del nome\\
\\
! Profilo *SECOFR\\
* Sarebbe opportuno avere un profilo di classe *SECOFR (oltre a QSECOFR). Questo perchè, se dimentichiamo la pwd di QSECOFR, è possibile reimpostarla con l'altro (sempre che si ricordi la pwd di quest'ultimo!!)\\
* Se non si ricorda e/o non è possibile ripristinare la pwd di QSECOFR è necessario ricorrere da un IPL manuale con l'opzione M del display oppure impostando il valore di sistema QIPLTYPE a 1, entrare nell'SST con utente QSECOFR e password QSECOFR (se non hai cambiato anche quella) e reimpostare la password di QSECOFR al suo default (QSECOFR).\\
* Non dimenticare di impostare l'autorizzaione sull'oggetto QSECOFR\\
_h_* e sopratutto l'eventuale utente creato per Backup\\
%%quote 
Assegna autorizazzione

 GRTOBJAUT OBJ(QSECOFR) OBJTYPE(*USRPRF) USER(*PUBLIC) AUT(*EXCLUDE)
/%
----
%%quote 
Assegna autorizazzione utente di backup

 ?GRTOBJAUT OBJ(UTENTE) OBJTYPE(*USRPRF) USER(*PUBLIC) AUT(*EXCLUDE)
/%
----
\\
! Profilo QPGMR\\
* Non dimenticare di impostare l'autorizzazione sui seguenti oggetti:\\
%%quote 
RSTOBJ

 GRTOBJAUT OBJ(RSTOBJ) OBJTYPE(*CMD) USER(QPGMR) AUT(*USE)
/%
----
%%quote 
RSTLIB

 GRTOBJAUT OBJ(RSTLIB) OBJTYPE(*CMD) USER(QPGMR) AUT(*USE)
/%
----
%%quote 
RST

 GRTOBJAUT OBJ(RST) OBJTYPE(*CMD) USER(QPGMR) AUT(*USE)
/%
----
\\
! Altre\\
* Disabilitare (tranne QSECOFR) tutti i profili Q*\\
* Tutti gli oggetti dovrebbero essere di proprietà QPGMR\\
\\
!!! Device\\
!! Utilità\\
! WRKJOB in alternativa al DSPJOB\\
* Attivazione del WRKJOB in alternativa al DSPJOB per la __richiesta sistema__(in gergo la sequenza di tasti shift+Attn o shift+Esc con la linea comandi completa), modificare il testo del messaggio CPX2313 sostituendo DSPJOB con WRKJOB\\
\\
%%quote 
__ eseguo >>__

 WRKMSGD MSGID(CPX2313) MSGF(QCPFMSG)
/%
----
\\
! Query/400 con , e . invertiti\\
* Inversione notazione internazionale per esecuzione Query/400: modificare il testo del messaggio__CPX2D06__in modo da ottenere un testo di messaggio come quello indicato nella sottoindicata riga:\\
''42$11      -     2$           1112''\\
* se il separatore migliaia visualizzato è__,__anziché__.__, e, il separatore decimale visualizzato è__.__anziché__,__, quindi si è in una situazione di inversione dei segni separatori migliaia/decimale, si può procedere modificando la stringa iniziale del messaggio:\\
in__42$11__\\
** la cifra a sinistra del $ governa il separatore decimale (2=, 1=.)\\
** la cifra a destra del $ governa il separatore migliaia (2=, 1=.)\\
\\
%%quote 
__ eseguo >>__

 WRKMSGD MSGID(CPX2D06) MSGF(QCPFMSG)
/%
----
\\
!! Debug in schermo esteso\\
* Impostazione DEBUG origine ILE con schermo esteso (Widescreen), mediante l'impostazione di una variabile di ambiente a livello di sistema.\\
\\
%%quote 
__ eseguo >>__

 ADDENVVAR ENVVAR(ILE_DEBUGGER_1) VALUE(ALLOW_WIDE_SCREEN) LEVEL(*SYS) REPLACE(*YES)
/%
----
\\
!! Trasferimento spool tra AS400\\
* Trasferimento dei file di SPOOL tra due AS400, è possibile utilizzare il comando SNDTCPSPLF per copiare dallo spool di un AS400_O in una coda di stampa di un altro AS400_D. Il comando vuole come prerequisiti il protocollo TCP attivato, una coda di stampa sull'AS400 di destinazione.\\
\\
%%quote 
__ eseguo >>__

 ? SNDTCPSPLF  RMTSYS(nome) PRTQ(coda) FILE(file) JOB(job)                   DESTTYP(*AS400)  TRANSFORM(*NO)
/%
----
%%quote
SNDTCPSPLF RMTSYS(<nome>) PRTQ(<coda>) FILE(<file>) JOB(<job>)
DESTTYP(*AS400) TRANSFORM(*NO)
nome: indirizzo IP o nome host AS400 (dipende da impostazione risuluzione host)
coda: nome della coda di stampa destnazione
file: nome del file da trasferire
job : nome del job da trasferire
/%
----
\\
!! Caratteri non stampabili\\
* In casistiche in cui il programma di scrittura segnala di non essere in grado di riprodurre "caratteri non stampabili", si può ovviare modificando il printer file in modo da indurre che i caratteri non stampabili vengano sostituiti da " " (blank). I printer files di Smeup sono già impostati con tale opzione, ma qualora si necessitasse la modifica di un printer file che presenta tale problema, procedere con il seguente comando:\\
\\
%%quote 
__ eseguo >>__

 ? CHGPRTF FILE(PRT198) RPLUNPRT(*YES ' ')
/%
----
\\
!!! Appunti\\
* Disabilitare tutti i profili Q* (tranne QSECOFR)\\
* Creazione ambiente di test (RSTLIB post salvataggi)\\
* Salvataggi con *UNLOAD\\