Ob Protokollieren zulässig ist, wird zum einen gesteuert über Schutzmechanismen des Datenverwaltungssystems: Die Prozedur kann mit einem Lesekennwort belegt werden. (Der Leseschutz kann nur aufgehoben werden, wenn das entsprechende Kennwort angegeben wird.) Mit BASIC-ACL können Ausführungs- und Leseberechtigung getrennt vergeben werden.
Zum anderen wird dies prozedurintern über die Kommandos SET-PROCEDURE-OPTIONS und MODIFY-PROCEDURE-OPTIONS gesteuert, und zwar jeweils über den Operanden LOGGING-ALLOWED. Dabei wird unterschieden zwischen dem Protokollieren von Kommandos und dem Protokollieren von Daten.
Soll Protokollieren für Kommandos und/oder Daten vom Beginn des Prozedurlaufs an unterbunden werden, muss die Prozedur mit dem Kommando SET-PROCEDURE-OPTIONS beginnen. Dort muss dann der Operand LOGGING-ALLOWED = *PARAMETERS(...) angegeben werden, mit CMD = *NO und/oder DATA= *NO.
Wenn nur für Teile der Prozedur Protokollierung von Kommandos und/oder Daten unterbunden werden soll, muss im Prozedurrumpf das Kommando MODIFY-PROCEDURE-OPTIONS aufgerufen und der entsprechende Wert im Operanden LOGGING-ALLOWED = *PARAMETERS(...) angegeben werden. Die Einstellung (*YES/*NO) bleibt immer so lange erhalten, bis sie erneut mit dem Kommando MODIFY-PROCEDURE-OPTIONS geändert wird.
Wenn für Teile der Prozedur Protokollieren unterbunden ist, kann diese Einstellung nicht „von außen“ verändert werden, das heißt, nicht über die Prozeduraufruf-Kommandos oder Kommandos im Dialog.
Protokollieren sollte zum Beispiel unterbunden werden, wenn der Aufrufer bestimmte Kommandos oder Daten nicht „sehen“ soll.