Es gibt da noch die globalen Variablen, die zur Connection oder Session gehören. Da kann man über die Tabelle auch die der anderen Connections/sessions sehen und auslesen. Könnte man anlegen, falls sie nicht da ist und löschen wenn man fertig ist. Und darüber dann sagen, welche Chargennummer man da gerade nutzt. wenn das mehrere Sessions sind, die sowas machen, dann einfach nur die größte einer fremdsession (also wo SessionId halt nicht die eigene ist) raussuchen und dann die nächste nehmen und selbst die Variable dann für die eigene Session anlegen. Und löschen, wenn man fertig ist.
Unter High Load ist das kein echter Lösungsansatz, weil rollbacks oder exceptions die sessionvariablen dann nie wieder freigeben würden, daher würde ich das so nicht machen