/*--------------------------------------------------------------*/ /* Datensicht ist lt. In-Parametern geaendert */ /*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/ # gen /* Start Operationsaufruf */ # gen /* self-->Update ( ); */ # gen /*--------------------------------------------------------------*/ # gen # gen /* Uebergabe der In- und Inout-Parameter */ # gen /* Belegung des Vorspanns */ # gen GKS15Z#s.vorspann.datensicht = addr ( self ); # gen GKS15Z#s.vorspann.opcode = #GKS15Z#s.#op_Update; # gen # gen /* Aufruf der Operation Update */ # gen /* des Objekts self (self) */ # gen call uu#call#GKS15Zo; # gen # gen /* Automatische Pruefung erwarteter Returncodes */ # gen select ( GKS15Z#s.vorspann.rc ); # gen when ( # gen #self.#RC_NOTEXIST, # gen #self.#RC_OK, # gen #self.#RC_CHANGED, # gen #self.#RC_KTO_NOTEXIST # gen ) do; # gen /* RC aus Vorspann in die globale RC-Variable */ # gen $rc = GKS15Z#s.vorspann.rc; # gen end; # gen otherwise do; # gen /*--------------------------------------------------------------*/ # gen /* .set-sf ( 'Unerwarteter RC aus Update' ); */ # gen /*--------------------------------------------------------------*/ # gen # gen /* sf-stelle: detektor |||10010||| */ # gen sf#s.proto_detektor.detektor = '10010'; # gen sf#s.proto_detektor.info = # gen 'Unerwarteter RC aus Update'; # gen call uu#syserror#detektor; # gen /*--------------------------------------------------------------*/ # gen end; # gen end; # gen /* rc vom gerufenen Modul korrekt besetzt */ # gen # gen /* Rueckgabe der Inout- und Out-Parameter */ # gen /* Pruefung der Inout- und Out-Parameter */ # gen /*--------------------------------------------------------------*/ # gen if $RC = #self.#RC_OK then do; /*--------------------------------------------------------------*/ # gen /* .quit with #self.#RC_OK; */ # gen /*--------------------------------------------------------------*/ # gen # gen /*--------------------------------------------------------------*/ # gen /* .set-rc ( #RC_OK ); */ # gen /*--------------------------------------------------------------*/ # gen # gen $rc = #self.#RC_OK; # gen /*--------------------------------------------------------------*/ # gen return; # gen /*--------------------------------------------------------------*/ # gen end; /*--------------------------------------------------------------*/ /* Aenderung fehlgeschlagen, jetzt Fehlerbehandlung */ /*--------------------------------------------------------------*/ /*--------------------------------------------------------------*/ # gen /* .reset-ds; */ # gen /*--------------------------------------------------------------*/ # gen # gen self = self#bi; # gen /*--------------------------------------------------------------*/ # gen /*--------------------------------------------------------------*/ /* Datensicht ist unveraendert */ /*--------------------------------------------------------------*/ select ($RC); when (#self.#RC_NOTEXIST) do; /*--------------------------------------------------------------*/ # gen /* .set-rc ( #RC_KTOBUCH_NOTEXIST ); */ # gen /*--------------------------------------------------------------*/ # gen # gen $rc = #self.#RC_KTOBUCH_NOTEXIST; # gen /*--------------------------------------------------------------*/ # gen end; when (#self.#RC_CHANGED) do; /*--------------------------------------------------------------*/ # gen /* .set-rc ( #RC_KTOBUCH_CHANGED ); */ # gen /*--------------------------------------------------------------*/ # gen # gen $rc = #self.#RC_KTOBUCH_CHANGED; # gen /*--------------------------------------------------------------*/ # gen end; otherwise do; /*--------------------------------------------------------------*/ # gen /* .set-sf ( "Returncode nicht spezifiziert" ); */ # gen /*--------------------------------------------------------------*/ # gen # gen /* sf-stelle: detektor |||10011||| */ # gen sf#s.proto_detektor.detektor = '10011'; # gen sf#s.proto_detektor.info = # gen "Returncode nicht spezifiziert"; # gen call uu#syserror#detektor; # gen /*--------------------------------------------------------------*/ # gen end; end;