Originariamente inviato da daniele_dll
In ogni caso ti sconsiglio di lavorare direttamente su AS400 perché ti ritroveresti a dover fare un sacco di lavoro via rete (SITO WEB <=> LORO RETE) e ti ritroveresti bloccato se non hanno più internet per qualsiasi motivo (blackout, telecom/provider impazzisce, scoppia una centrale e cosi via)
Per i problemi dell'aggiornamento basta far effettuare gli update a pranzo e la sera, o volendo anche solo la sera, tanto le spedizioni, al massimo verranno fatte ogni giorno e quindi le quantità cambieranno massimo una volta al giorno. Se proprio vogliono, lanciano la procedura di aggiornamento manualmente.
La procedura di aggiornamento non deve fare altro che leggere i dati (usando delle query non bufferizzate ... cursori forward-only) dall'as400, splittarli via php per come serve, raggrupparli tramite delle insert di gruppo (cosi da immettere, ad esempio, 500/1000 prodotti in un colpo) e lanciare le query. Non pensare a fare un eventuale passaggio di ricerca per aggiornare solo le variazioni perché il carico di rete e sui server (remoto e locale) sarebbe per 3 volte!!! Meglio un truncate lanciato a inizio procedura e via ... al massimo scrivi su una tabella, anche quella di config, un valore per indicare che stai aggiornando, cosi da bloccare temporaneamente il sito, e fai un lock per svolgere le operazioni.
Per quanto riguarda eventuali informazioni aggiuntive che hai necessità di associare ti crei delle tabelle a parte e usi gli ID dei prodotti, il codice, il seriale ... quello che vuoi per associarli.