martedì 29 agosto 2017

Fuso orario utente SAP.

Lavorando con Plant produttivi in zone del mondo con un timezone differenti da quello locale Italiano, dove è installato il server SAP centrale, mi ero chiesto come si facesse a gestire il fatto che nello stesso momento, può accadere, ci si trovi in giorni di calendario differenti.

La Cina ha una differenza di fuso di -6 ore (-7 con l'ora solare), quindi quando là è mattina presto da noi è la sera del giorno precedente.


Per l'America invece è il contrario: quando da loro è tardo pomeriggio in Europa è già mattina del giorno successivo.

Come gestire in SAP la registrazione che avviene localmente in un determinato giorno ma, il server centrale, presenta una data differente?

Facciamo un esempio: In Cina stanno lavorando alle 5 di mattina del 1 settembre e registrano uno scarico da magazzino ma il server centrale, essendo in Italia, presenta ancora la data del 31 agosto ore 23.

Che succede?

Avevo anche chiesto ai nostri consulenti SAP come gestire eventuali casi del genere e mi avevano risposto che, in tutte le transazioni, SAP consente di impostare a mano la data di registrazione, per esempio nella registrazione dei movimenti magazzino:


per cui ci si doveva ricordare di cambiare a mano la data di registrazione: una gran SECCATURA!!!

In modo del tutto casuale invece (quando stavo in Cina avevo sbagliato una impostazione di un utente SAP e mi sono accorto che il sistema registrava le operazione in giorni differenti) ho scoperto che le impostazioni dello user consentono di tener conto della differenza di data tra utente e server SAP, per cui viene proposta la data corretta.

Transazione SU01: Aggiornamento utente

Nella scheda "Valori fissi"


C'è il campo "Fuso or. personale dell'utente" (USLOGOND-TZONE) dove inserire il fuso orario in modo che, come data di registrazione, venga proposta di default la data corretta in cui si trova l'utente.

Non solo viene proposta la data corretta nel campo "Data di registrazione", ma anche quando si preme il matchcode su un campo data e si apre il calendario, viene proposta la data attuale corretta.

In questo esempio si vede che è indipendente dalla data di sistema nel PC:


Dopo alcuni tentativi ho capito che il sistema funziona in questo modo:

Nel campo dell'anagrafica utente:


si deve impostare la differenza di fuso dal GMT (Greenwich Mean Time) dell'utente (nel caso della Cina, per esempio, è vero che la differenza di orario con IT è +6 ore, ma è invece a +8 sul GMT).

NOTA BENE:
  • In questo modo il sistema propone la data di registrazione corretta per l'utente in base al fuso impostato nella sua anagrafica, ma la data e ora di acquisizione del documento resta sempre la data e ora di sistema del server SAP. Esempio di un documento creato il 28/08/2017 ore IT 09:13 ma in cui l'impostazione utente prevedeva data di registrazione 27/08/2017:
 

  • L'impostazione mette in relazione Orario Utente SAP Orario Sistema SAP. Non considera in nessun modo la data e ora impostata nel PC. Per cui, se per qualche motivo l'utente viene usato in timezone differenti (per esempio il Cinese va in trasferta in IT o America), ci si deve ricordare di modificare la sua anagrafica.
  • Non ho idea di come si comporti nelle registrazioni da collegamenti RFC: ho tentato di fare una verifica con il foglio Excel che avevo predisposto per lo scarico da magazzino su CDC (pensavo di non passare nessuna data per vedere cosa prendeva di default), purtroppo la data di registrazione è un campo obbligatorio del FM per cui non è possibile chiamare la funzione senza passare un valore.


Nessun commento:

Posta un commento