In diesem Beispiel wird mit dem AutoSignon-Objekt ein Makro erstellt, das die einem Benutzer zugeordneten Berechtigungsnachweise verwendet, um ein Weiterleitungsticket vom Digital Certificate Access Server (DCAS) abzurufen.
var macro = createMacro(function*() {
'use strict';
// Präsentationsbereich für die Interaktion mit dem Host abrufen
var ps = session.getPresentationSpace();
// Variable für Weiterleitungsticket für die Anmeldung
var passTicket;
// Anwendungs-ID für die Anmeldung
var appId = 'CICSV41A';
// Standardwartezeit für "wait"-Funktionen festlegen
wait.setDefaultTimeout(10000);
// Start generiertes Makro
try {
yield wait.forCursor(new Position(24, 2));
// Weiterleitungsticket von DCAS abrufen.
passTicket = yield autoSignon.getPassTicket(appId);
ps.sendKeys('cics');
ps.sendKeys(ControlKey.ENTER);
yield wait.forCursor(new Position(10, 26));
// Generierten Benutzernamen mit 'sendUserName(passTicket) ...' ersetzen
yield autoSignon.sendUserName(passTicket);
// ps.sendKeys('bvtst01' + ControlKey.TAB + ControlKey.TAB);
ps.sendKeys(ControlKey.TAB + ControlKey.TAB);
yield wait.forCursor(new Position(11, 26));
// Generiertes Kennwort mit 'sendPassword(passTicket) ...' ersetzen
yield autoSignon.sendPassword(passTicket);
// var userInput3 = yield ui.prompt('Kennword:', '', true);
// if (userInput3 === null) {
// throw new Error('Kein Kennwort angegeben');
// }
// ps.sendKeys(userInput3);
ps.sendKeys(ControlKey.ENTER);
yield wait.forCursor(new Position(1, 1));
yield ui.message('Angemeldet. Melde mich ab.');
ps.sendKeys('cesf logoff');
ps.sendKeys(ControlKey.ENTER);
} catch (error) {
yield ui.message(error);
}
//Ende generiertes Makro
});
// Makro ausführen
return macro();