il Function Module SAP_WAPI_CREATE_WORKLIST per la visualizzazione del workflow utente
Autore: Domenico
viaggio…
Il viaggio non finisce mai. Solo i viaggiatori finiscono. E anche loro possono prolungarsi in memoria, in ricordo, in narrazione. Quando il viaggiatore si è seduto sulla sabbia della spiaggia e ha detto: “Non c’è altro da vedere”, sapeva che non era vero. Bisogna vedere quel che non si è visto, vedere di nuovo quel che si è già visto, vedere in primavera quel che si è visto in estate, vedere di giorno quel che si è visto di notte, con il sole dove la prima volta pioveva, vedere le messi verdi, il frutto maturo, la pietra che ha cambiato posto, l’ombra che non c’era. Bisogna ritornare sui passi già dati, per ripeterli, e per tracciarvi a fianco nuovi cammini. Bisogna ricominciare il viaggio. Sempre. Il viaggiatore ritorna subito.
José Saramago
SAPPOSO…impostare stampante default per Ordine d’Acquisto
per impostare una stampante di default per Ordine d’Acquisto
Transazione NACE
Selezionare Applicazione EF
Record condizioni e selezionare NEU
…the wild
C’è tanta gente infelice che tuttavia non prende l’iniziativa di cambiare la propria situazione perché è condizionata dalla sicurezza, dal conformismo, dal tradizionalismo, tutte cose che sembrano assicurare la pace dello spirito, ma in realtà per l’animo avventuroso di un uomo non esiste nulla di più devastante di un futuro certo. Il vero nucleo dello spirito vitale di una persona è la passione per l’avventura. La gioia di vivere deriva dall’incontro con nuove esperienze, e quindi non esiste gioia più grande dell’avere un orizzonte in costante cambiamento, del trovarsi ogni giorno sotto un sole nuovo e diverso. CHRIS McCANDLESS
(“INTO THE WILD”)
Come attivare il desktop remoto dal prompt dei comandi di Windows (CMD)?
È possibile attivare desktop remoto dal prompt dei comandi di Windows (Esegui come amministratore) utilizzando i seguenti comandi:
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
invece per disattivare Desktop remoto dal prompt dei comandi di Windows utilizzando i seguenti comandi:
netsh advfirewall firewall set rule group="remote desktop" new enable=No reg add "HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
Windows 7 e i collegamenti misteriosamente scomparsi
Su PC che eseguono Windows 7, esiste una funzione di manutenzione programmata, che provvede a cancellare i collegamenti presenti sul desktop che il sistema considera “danneggiati” (nel mio caso erano principalmente collegamenti cartelle di rete)
Per risolvere il problema, è possibile adottare uno dei seguenti metodi descritti di seguito:
- Disabilitare lo strumento di risoluzione dei problemi Manutenzione sistema
Per disabilitare lo strumento di risoluzione dei problemi Manutenzione del sistema, attenersi alla seguente procedura:
Fare clic sul pulsante Start
Impostare Manutenzione computer su Disattivata.
- Modificare lo script responsabile dell’attività di manutenzione
TS_BrokenShortcuts.ps1 lo si trova in C:\Windows\Diagnostics\Scheduled\Maintenance\
e basterà modificare la riga 44 e sostituire:
–gt 999 al posto di –gt 4
(questo aumenterà il numero minimo di collegamenti “danneggiati” da riscontrare)
Prima di apportare qualsiasi modifica vi consiglio di fare una copia in modo da poterla ripristinare velocemente all’occorrenza.
SAPPOSO…Security & SAP Query
Il componente Query SAP fornisce un modo semplice di generare report senza necessità di scrivere codice (o di limitarne al minimo indispensabile). Da questo punto di vista, è molto simile al Quickviewer (SQVI), ma molto più potente e di conseguenza un po’ più difficile da padroneggiare. Una descrizione completa di questo strumento va oltre lo scopo di questo articolo. Invece, la mia intenzione è quella di concentrarmi quasi esclusivamente sulle caratteristiche di sicurezza per le query SAP e dimostrare come è possibile usare i concetti di base di sicurezza per separare una catena di processo in precisi ruoli e responsabilità. Questo è il lavoro di base di un “analista della sicurezza” durante la fase della progettazione della sicurezza.
Le Query sono reports che possono essere configurati per lo più usando funzionalità di drag and drop anche se è presente un editor grafico per recuperare i dati dalle tabelle del data dictionary. Le Query SAP sono costituite da tre componenti principali: SQ01, SQ02 e SQ03. SQ01 è la transazione per la manutenzione delle query. Questa consente di creare, modificare, cancellare, visualizzare o più semplicemente eseguire le query precedentemente create.
Le query non sono direttamente definite nelle tabelle, ma usano un oggetto intermedio chiamato Infoset. Un infoset può essere definito come una join di tabelle o come un database logico contenente l’insieme di dati a cui la query può potenzialmente accedere. SQ02 è la transazione per la visualizzazione e la manutenzione degli infoset.
L’ultimo anello della catena è la transazione per la manutenzione dei gruppi di utenti. A differenza di altri componenti SAP, la sicurezza per le query non viene del tutto controllata attraverso i ruoli e le autorizzazioni. Per accedere ad una query, l’utente e l’infoset devono essere assegnati allo stesso gruppo utente. Il gruppo utenti per le query non è in alcun modo collegato ai gruppi utenti appartenenti all’user master record (autorizazioni assegnate agli utenti).
Dopo questa breve introduzione sulle query di SAP, proverò a spiegare come mettere in sicurezza il sistema e consentire l’utilizzo di questa applicazione in tranquillità ed evitare che siano accessibili dati sensibili ad utenti non autorizzati.
La protezione per le query SAP è controllata attraverso l’oggetto autorizzativo“S_QUERY”. All’oggetto è assegnato il campo “ACTVT” con solo tre valori possibili:
2 (change)
23 (maintain)
67 (translate)
Di queste, l’attività “2“ è indispensabile per modificare le query, gli infoset e i gruppi utenti. L’attività “23” è necessaria per mantenere le assegnazioni ai gruppi utente. Quindi, l’accesso alle transazioni SQ02 o SQ03 non è possibile senza avere i permessi per l’attività “23”. Infine, un utente avente il campo autorizzativo “23” può accedere alle query appartenenti a gruppi di utenti, senza dover utilizzare SQ03.
È possibile notare che a differenza di molti altri oggetti di autorizzazione, S_QUERY non ha attività 03 (display) e non è necessario assegnare autorizzazioni all’oggetto S_QUERY per la visualizzazione o l’esecuzione di una query (per poter eseguire delle query, è sufficiente avere l’oggetto autorizzativo S_QUERY senza nessun campo “ACTVT”).
Oltre all’oggetto di autorizzazione S_QUERY, potrebbe essere richiesto un autorizzazione per l’accesso ad oggetti come S_TABU_DIS per controllare l’accesso ai dati recuperati dalle tabelle, l’accesso per modificare layout (S_ALV_LAYO) o per l’esportazione dei dati verso Excel (S_GUI) etc…
In una tipica organizzazione si potrebbe avere l’esigenza di separare l’accesso alle query in tre ruoli:
Query Executor
Questi sono gli utenti di reporting che saranno responsabili per le query effettivamente in esecuzione e l’interpretazione dei risultati. Questi sono normalmente gli utenti finali (end-user) e non vengono assegnati privilegi per l’aggiornamento/modifica delle query.
Query Creator
Questi sono gli utenti funzionali che hanno un ottima conoscenza dei flussi per progettare/creare query ed eventualmente modificarle in base alle varie esigenze. Questi dovrebbero quindi essere in grado di eseguire le query per verificare l’output di dati. Tuttavia, dato che l’esecutore delle query è ancora un utente aziendale, si potrebbe impedire le modifiche ai gruppi utenti.
Query Administrators
Questi utenti appartengono al personale di supporto, responsabili del mantenimento e della mappatura gruppo utenti. Questi utenti non necessitano dei permessi per il mantenimento della struttura delle query.
Con i requisiti di cui sopra, è possibile progettare tre ruoli per le tre classi di utente:
Query Executor – Ha bisogno dell’accesso alla transazione SQ01, ma non necessita di permessi per l’oggetto autorizzativo S_QUERY. Potrebbe essere richiesto l’accesso all’oggetto S_TABU_DIS per il recupero dei dati.
Query Creator – Necessita dell’accesso alle transazioni SQ01, SQ02 e S_QUERY (entrambe le attività 02 e 23). Anche per questo, potrebbe essere necessario l’oggetto autorizzativo S_TABU_DIS. Non deve avere accesso alla transazione SQ03.
Query Administrator – Accesso alla transazione SQ03 e S_QUERY (entrambe le attività 02 e 23).
il ponte e le pietre
Marco Polo descrive un ponte, pietra per pietra.
– Ma qual è la pietra che sostiene il ponte? – chiede Kublai Kan.
– Il ponte non è sostenuto da questa o da quella pietra, – risponde Marco, – ma dalla linea dell’arco che esse formano.
Kublai Kan rimase silenzioso, riflettendo. Poi soggiunse: – Perché mi parli delle pietre? È solo dell’arco che mi importa.
Polo risponde: – Senza pietre non c’è arco.
dal libro “Le città invisibili” di Italo Calvino
la vita
Questa sera, mi è capitato tra le mani un libro letto un po’ di tempo fa, è comparso un passaggio che mi ha colpito particolarmente e che voglio condividere in questa mia pagina…
Spesso dicevo che la vita era uno schifo. Anche quella frase mi stava fregando, perché avrei dovuto dire:”La mia vita è uno schifo”. Allora, magari avrei iniziato a chiedermi se potevo fare qualcosa per cambiarla. Se era tutta colpa del destino, del caso, della sfortuna, o se invece anch’io ne ero colpevole. Perché dire che la vita fa schifo è come dire che non c’è niente che si possa fare.
Che bisogna accettarlo come un dato di fatto imprescindibile. Fortuna che poi ho cambiato idea. Fortuna che ho capito che la mia vita ha un valore e quel valore glielo do io con le mie scelte e con il coraggio delle mie decisioni. Ho imparato a pormi una domanda ogni sera prima di addormentarmi: cosa hai fatto oggi per realizzare il tuo sogno, la tua libertà?
Alla seconda sera in cui mi sono risposto: “Niente”, ho capito quanto in fondo una parte del problema fossi io. Quindi, o smettevo di lamentarmi o iniziavo a darmi da fare.
Fabio Volo, da “E’ una Vita che ti Aspetto”
Backup db MySQL
Il backup di un database MySQL è un’operazione abbastanza semplice e la frequenza di esecuzione di quest’attività potrebbe variare a secondo dell’importanza dei dati in esso contenuti.
Il comando più utilizzato, per creare copie di sicurezza dei dati allocati in un database è sicuramente mysqldump, si può eseguire velocemente utilizzando la riga di comando ed è molto ricco di opzioni (per maggiori dettagli mysqldump –help).
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] –databases [OPTIONS] DB1 [DB2 DB3…]
OR mysqldump [OPTIONS] –all-databases [OPTIONS]
mysqldump -u[NOMEUTENTE] -p[PASSWORD] –-opt [NOME DB] > [NOME FILE BACKUP]
Personalmente, su piattaforma Windows, ho automatizzato il processo aiutandomi con file batch (db_bck_mysql.bat) e creando un attività pianificata.
Nella prima parte viene eseguito il dump del db, successivamente procedo alla compressione del file .sql generato utilizzando 7-Zip (programma di compressione di file open source), al termine della compressione viene cancellato il file .sql diventato ormai inutile.
SET destinazione=”C:backup”
SET data=%date:~6,4%-%date:~3,2%-%date:~0,2%
REM dump MySQL
mysqldump -uuser -ppassword –opt ilmiodbmysql > %destinazione%db_bck-%data%.sql
REM Inizio compressione
7z a -tzip db_bck-%data%.zip db_bck-%data%.sql
REM Cancello file .sql
del db_bck-%data%.sql