Artikel

11.5: Anwendungen


11.5: Anwendungen

Fehlerbehebung bei Anmeldeproblemen in Oracle Applications 11i (11.5.2 – 11.5.10+) ( Framework und OSSWA) (Doc ID 342332.1)

Oracle Applications Framework – Version 11.5.10.0 bis 11.5.10.2 [Release 11.5.10]
Die Informationen in diesem Dokument gelten für jede Plattform.
Oracle Self-Service-Webanwendungen - Version: 11.5.2 bis 11.5.10
Die Informationen in diesem Dokument gelten für jede Plattform.

Zweck

Einführung

Dieser Hinweis soll Ihnen helfen, Probleme beim Anmelden bei der Homepage mit Ihrem Applications 11i-System zu untersuchen. (11.5.2 &ndash 11.5.10+)

Die Tatsache, dass Sie sich nicht bei Oracle Applications 11i anmelden können, kann ein Symptom für ein ganz anderes zugrunde liegendes Problem sein. Daher ist es wichtig, dass Sie die Ursache des Anmeldefehlers ermitteln.
Die bereitgestellten Schritte zur Fehlerbehebung sollen helfen, diese Ursache zu beheben. Anmeldeprobleme können in zwei große Kategorien unterteilt werden. In der ersten Kategorie wird die Anmeldeseite überhaupt nicht gerendert. Mit anderen Worten, die Hauptseite ist völlig unzugänglich oder unbrauchbar. Die zweite Problemkategorie sind Probleme, die nach der Eingabe einer Kombination aus Benutzername und Passwort auftreten. In dieser Kategorie sind Dinge wie: Erhaltene Fehler, weil das System die Login-Anfrage nicht verarbeiten kann oder nach dem Login die Homepage nicht gerendert wird.

Dieser Hinweis befasst sich NICHT mit Problemen, die nach einer erfolgreichen Anmeldung auftreten, wie z. B. nicht gestartete Formulare oder JavaScript-Fehler bei der Auswahl einer Zuständigkeit oder fehlende Zuständigkeiten.

Dieser Hinweis behandelt NICHT SSO- oder 10gAS-Anmeldeprobleme. (Für SSO/Portal-Probleme siehe Hinweis:146469.1 , Hinweis:233436.1, Hinweis:186981.1)

Im Laufe der Geschichte von 11i hat sich der Login-Prozess mehrfach geändert. Um eine möglichst umfassende Anleitung zur Fehlerbehebung bereitzustellen, werden wir alle Dinge einschließen, die überprüft werden müssen. Einige davon gelten möglicherweise nicht für Ihre Version von Oracle Apps.

Wenn die Prüfung eine bestimmte Version erfordert, wird dies angezeigt&hellip. Wenn Sie sich bezüglich Ihrer Version nicht sicher sind, führen Sie die Überprüfung durch und melden Sie die Ergebnisse.

Zu den jüngsten Änderungen im Anmeldeprozess gehören:
Ab dem Wartungspaket FND.G / 11.5.9 gibt es eine neue URL zum Starten von Anwendungen, nämlich:
http://<host name>.<domain name>:<HTTP port>/oa_servlets/AppsLogin
Siehe Hinweis:226825.1 - Release 11i, Oracle Application Object Library Mini-Pack FND.G

Ab 11.5.10.CU2 wurde die Seite ICXINDEX.htm geändert, um Sie zu oa_servlets/AppsLogin weiterzuleiten

Ansatz zur Fehlerbehebung

Fehlermeldungen geben nicht unbedingt die Ursache des Problems an, daher ist es wichtig, Informationen zu Umfang und Art des Problems zu sammeln.

&bull Hat es vorher funktioniert? Wenn ja, was hat sich geändert, laufen alle Serverprozesse?
&bull Sind alle Benutzer betroffen? Wenn nicht, was ist ein häufiger Link zu Benutzern mit Problemen?
&bull Wenn es sich um ein Problem mit einem einzelnen Benutzer handelt, betrifft es nur den einen PC oder die Benutzer-ID? Welche Profiloptionen auf Benutzerebene gibt es für diesen bestimmten Benutzer?
&bull Ist das Problem auf ein Netzwerksegment oder einen PC beschränkt?
&stier Bekommen Sie ein anderes Verhalten im Internet Explorer als im Netscape-Browser?
&bull Was ist Ihre Instanzarchitektur? Verwenden Sie Load-Balancing, RAC, SSO usw.?

Die folgenden Tipps zur Fehlerbehebung wurden in schnelle Überprüfungen unterteilt, die leicht im Handumdrehen durchgeführt werden können, und detaillierte Überprüfungen, die das Zurückspringen von Servern beinhalten können und möglicherweise das Bearbeiten von Dateien/Paketen erfordern, sodass sichergestellt werden muss, dass sie bei Bedarf wiederhergestellt werden können.

Schritte zur Fehlerbehebung

Um alle Details anzuzeigen, melden Sie sich mit Ihrem My Oracle Support-Konto an.

Sie haben kein My Oracle Support-Konto? Klicken Sie hier, um loszulegen!

My Oracle Support bietet Kunden Zugriff auf über eine Million Wissensartikel und eine lebendige Support-Community aus Kollegen und Oracle-Experten.

Oracle bietet einen umfassenden und vollständig integrierten Stapel von Cloud-Anwendungen und Plattformdiensten. Weitere Informationen zu Oracle (NYSE:ORCL) finden Sie unter oracle.com. Orakel | Kontakt und Chat | Unterstützung | Gemeinschaften | Verbinden Sie sich mit uns | | | | Rechtliche Hinweise | Nutzungsbedingungen


Einführung in die Ökonometrie mit R

In Kapitel 11.2 wurden drei Ansätze zur Modellierung der bedingten Erwartungsfunktion einer binären abhängigen Variablen vorgestellt: das lineare Wahrscheinlichkeitsmodell sowie die Probit- und Logit-Regression.

Die Übungen in diesem Kapitel verwenden Daten über das Schicksal der Passagiere des Ozeans linear Titanic. Unser Ziel ist es, das Überleben, eine binäre Variable, durch sozioökonomische Variablen unter Verwendung der obigen Ansätze zu erklären.

In dieser Übung beginnen wir mit dem aggregierten Datensatz Titanic. Es ist Teil des Pakets Datensätze das ist ein teil der basis R. Das folgende Zitat aus der Beschreibung des Datensatzes motiviert den Versuch, die Wahrscheinlichkeit des Überlebens:

Der Untergang der Titanic ist ein berühmtes Ereignis, über das immer noch neue Bücher veröffentlicht werden. Viele bekannte Tatsachen – von den Anteilen der Passagiere der ersten Klasse über die „Frauen und Kinder zuerst“-Politik bis hin zur Tatsache, dass diese Politik bei der Rettung der Frauen und Kinder in der dritten Klasse nicht ganz erfolgreich war – spiegeln sich im Überleben wider Tarife für verschiedene Passagierklassen.

Anweisungen:

Weisen Sie die . zu Titanic Daten zu Titanic_1 und verschaffen Sie sich einen Überblick.

Visualisieren Sie die bedingten Überlebensraten für die Reiseklasse (Klasse), Geschlecht (Sex) und Alter (Alter) mit Mosaikplot().

2. Titanic-Überlebensdaten – Ctd.

Das Titanic Der Datensatz aus Übung 1 ist für die Regressionsanalyse nicht geeignet, da er stark aggregiert ist. In dieser Übung arbeiten Sie mit titanic.csv die unter der URL https://stanford.io/2O9RUCF verfügbar ist.

Die Spalten von titanic.csv enthalten die folgenden Variablen:

Überlebt — Der überlebte Indikator

Geschwister — Anzahl der Geschwister an Bord

Eltern.Kinder.An Bord — Anzahl der Eltern und Kinder an Bord

Fahrpreis — der in britischen Pfund bezahlte Fahrpreis

Anweisungen:

Importieren Sie die Daten von titanic.csv mit der Funktion read.csv2(). Speichern unter Titanic_2.

Weisen Sie die folgenden Spaltennamen zu Titanic_2:

Überlebt, Klasse, Name, Geschlecht, Alter, Geschwister, Eltern und Tarif.

Verschaffen Sie sich einen Überblick über den Datensatz. Spalte fallen lassen Name.

Hänge die Pakete an Korrplot und dplyr. Überprüfen Sie, ob die Daten Multikollinearität aufweisen, indem Sie verwenden Korrplot().

read_csv() errät die Spaltenangabe sowie die in der verwendeten Trennzeichen .csv Datei. Sie sollten immer überprüfen, ob das Ergebnis korrekt ist.

Sie können verwenden select_if() von dem dplyr Paket, um alle numerischen Spalten aus dem Datensatz auszuwählen.

3. Titanic-Überlebensdaten – Überlebensraten

Kontingenztabellen ähnlich denen des Datensatzes Titanic aus Übung 1 kann Aufschluss über die Verteilung der Überlebensbedingung und mögliche Determinanten davon geben, z. B. die Passagierklasse. Kontingenztabellen werden einfach mit der Basis erstellt R Funktion Tisch.

Anweisungen:

Erstellen Sie eine Kontingenztabelle für Überlebt und Klasse mit Tisch(). Speichern Sie die Tabelle unter t_abs.

t_abs meldet absolute Häufigkeiten. Verwandeln t_abs in eine Tabelle, die relative Häufigkeiten (relativ zur Gesamtzahl der Beobachtungen) angibt. Speichern Sie das Ergebnis unter t_rel.

Visualisieren Sie die relativen Häufigkeiten in t_rel mit Balkendiagramm(). Verwenden Sie verschiedene Farben, um die Überlebensrate und die Nicht-Überlebensrate besser unterscheiden zu können (es spielt keine Rolle, welche Farben Sie verwenden).

4. Titanic-Überlebensdaten – Bedingte Verteilungen von Alter

Kontingenztabellen sind nützlich, um die Verteilung kategorialer Variablen wie Überlebt und Klasse in Aufgabe 3. Sie sind jedoch nicht nützlich, wenn die interessierende Variable viele verschiedene ganze Zahlen annimmt (und sie sind sogar unmöglich zu erzeugen, wenn die Variable stetig ist).

In dieser Übung werden Sie gebeten, Dichteschätzungen der Verteilung von . zu generieren und zu visualisieren Alter bedingt auf Überlebt um zu sehen, ob es Hinweise gibt, wie das Alter mit der Überlebenschance zusammenhängt (obwohl der Datensatz ganze Zahlen enthält, behandeln wir Alter als stetige Variable hier). Es ist beispielsweise interessant zu sehen, ob die Politik „Frauen und Kinder zuerst“ wirksam war.

Der Datensatz Titanic_2 aus den vorherigen Übungen ist in Ihrer Arbeitsumgebung verfügbar.

Anweisungen:

Erhalten Sie Schätzungen der Kerneldichte der Verteilungen von Alter sowohl für die Hinterbliebenen als auch für die Verstorbenen.

Speichern Sie die Ergebnisse unter dens_age_surv (überlebt) und dens_age_died (ist gestorben).

Plotten Sie beide Schätzungen der Kerneldichte (überlagern Sie sie in einem einzigen Plot!). Verwenden Sie verschiedene Farben Ihres Schnittlauchs, um die Schätzungen unterscheidbar zu machen.

Schätzungen der Kerneldichte können mit der Funktion Dichte().

Benutzen Handlung() und Linien() um die Dichteschätzungen zu zeichnen.

5. Titanic-Überlebensdaten – ein lineares Wahrscheinlichkeitsmodell für Überleben ich

Wie wirken sich sozioökonomische Merkmale der Passagiere auf die Überlebenswahrscheinlichkeit aus? Gibt es insbesondere systematische Unterschiede zwischen den drei Fahrgastklassen? Spiegeln die Daten die Richtlinie „Kinder und Frauen zuerst“ wider?

Es ist naheliegend, die Analyse mit der Schätzung eines einfachen linearen Wahrscheinlichkeitsmodells wie (LMP) [Überlebt_i = eta_0 + eta_1 Class2_i + eta_2 Class3_i + u_i] mit Dummy-Variablen (Class2_i) und (Class3_i) zu beginnen. .

Der Datensatz Titanic_2 aus den vorherigen Übungen ist in Ihrer Arbeitsumgebung verfügbar.

Anweisungen:

Klasse ist vom Typ int (Ganzzahl), Konvertieren Klasse auf eine Faktorvariable.

Schätzen Sie das lineare Wahrscheinlichkeitsmodell und speichern Sie das Ergebnis unter surv_mod.

Erhalten Sie eine robuste Zusammenfassung der Modellkoeffizienten.

Benutzen surv_mod um die Überlebenswahrscheinlichkeit für die drei Passagierklassen vorherzusagen.

Lineare Wahrscheinlichkeitsmodelle können geschätzt werden mit lm().

Benutzen Vorhersagen() um die Vorhersagen zu erhalten. Denken Sie daran, dass a data.frame muss dem Argument mitgegeben werden neue Daten.

6. Titanic-Überlebensdaten – ein lineares Wahrscheinlichkeitsmodell für Überleben II

Betrachten Sie noch einmal das Ergebnis aus Übung 5:

[widehat_i = underset<(0.03)> <0.63>- underset<(0.05)> <0.16>Klasse2_i - underset<(0.04)> <0.39>Klasse3_i + u_i ]

(Die geschätzten Koeffizienten in diesem Modell beziehen sich auf die klassenspezifischen Stichprobenmittelwerte von Überlebt. Sie werden gebeten, sie unten zu berechnen.)

Die hochsignifikanten Koeffizienten weisen darauf hin, dass die Überlebenswahrscheinlichkeit mit der Passagierklasse abnimmt, dh Passagiere einer weniger luxuriösen Klasse überleben weniger wahrscheinlich.

Dieses Ergebnis könnte durch einen weggelassenen Variablenbias beeinflusst werden, der sich aus der Korrelation der Passagierklasse mit Determinanten der Überlebenswahrscheinlichkeit ergibt, die nicht im Modell enthalten sind. Daher erweitern wir das Modell so, dass es alle verbleibenden Variablen als Regressoren enthält.

Der Datensatz Titanic_2 sowie das Modell surv_mod aus den vorherigen Übungen stehen in Ihrer Arbeitsumgebung zur Verfügung. Das AER Paket ist beigefügt.

Anweisungen:

Verwenden Sie das Modellobjekt surv_mod um die klassenspezifischen Schätzungen für die Überlebenswahrscheinlichkeit zu erhalten. Bewahren Sie sie auf surv_prob_c1, surv_prob_c2 und surv_prob_c3.

Passen Sie das erweiterte LMP an und weisen Sie das Ergebnis dem Objekt zu LPM_mod.

Erhalten Sie eine robuste Zusammenfassung der Modellkoeffizienten.

    Denken Sie daran, dass die Formel ein

7. Titanic-Überlebensdaten – Logistische Regression

Kapitel 11.2 führt die logistische Regression, auch Logit-Regression genannt, ein, die besser geeignet ist als das LPM, um die bedingte Wahrscheinlichkeitsfunktion einer dichotomen Ergebnisvariablen zu modellieren. Die Logit-Regression verwendet eine nichtlineare Verknüpfungsfunktion, die die angepassten Werte so einschränkt, dass sie zwischen (0) und (1) liegen: Bei der Logit-Regression ist der Log-Quoten des Ergebnisses werden als lineare Kombination der Prädiktoren modelliert, während das LPM davon ausgeht, dass die bedingte Wahrscheinlichkeitsfunktion des Ergebnisses linear ist.

Der Datensatz Titanic_2 aus Übung 2 ist in Ihrer Arbeitsumgebung verfügbar. Das Paket AER es ist angehängt.

Anweisungen:

Benutzen glm() das Modell [egin . schätzen logleft(frac<1-P(survived_i = 1)> ight) =& , eta_0 + eta_1 Class2_i + eta_2 Ckass3_i + eta_3 Sex_i +& , eta_4 Age_i + eta_5 Geschwister_i + eta_6 Perents_i + beta_7 Fahrpreis_i + u_i. Ende]

Erhalten Sie eine robuste Zusammenfassung der Modellkoeffizienten.

Der Datenrahmen Passagiere enthält Daten zu drei hypothetischen männlichen Passagieren, die sich nur in ihrer Passagierklasse unterscheiden (die anderen Variablen werden auf den jeweiligen Stichprobendurchschnitt gesetzt). Benutzen Logit_mod um die Überlebenswahrscheinlichkeit dieser Passagiere vorherzusagen.

Denken Sie daran, dass die Formel ein

. gibt eine Regression von an ein auf alle anderen Variablen in dem als Argument angegebenen Datensatz provided Daten In glm().

Sie müssen den richtigen Vorhersagetyp in . angeben Vorhersagen().

8. Titanic-Überlebensdaten – Probit-Regression

Wiederholen Sie Übung 7, aber schätzen Sie diesmal das Probit-Modell [egin P(Survived_i = 1vert Class2_i, Class3_i, dots, Fare_i) =& , Phi (eta_0 + eta_1 Class2_i + eta_2 Class3_i + eta_3 Sex_i +& , eta_4 Age_i + eta .5 Geschwister + eta_6 Eltern_i + eta_7 Fahrpreis_i + u_i). Ende]

Der Datensatz Titanic_2 aus den vorherigen Übungen sowie dem Logit-Modell Logit_mod sind in Ihrem Arbeitsumfeld verfügbar. Das Paket AER es ist angehängt.

Anweisungen:

Benutzen glm() um das obige Probit-Modell abzuschätzen. Speichern Sie das Ergebnis unter Probit_mod.

Erhalten Sie eine robuste Zusammenfassung der Modellkoeffizienten.

Der Datenrahmen Passagiere enthält Daten zu drei hypothetischen männlichen Passagieren, die sich nur in ihrer Passagierklasse unterscheiden (die anderen Variablen werden auf den jeweiligen Stichprobendurchschnitt gesetzt). Benutzen Probit_mod um die Überlebenswahrscheinlichkeit dieser Passagiere vorherzusagen.

Denken Sie daran, dass die Formel ein

. gibt eine Regression von an ein auf alle anderen Variablen in dem als Argument angegebenen Datensatz provided Daten In glm().

Sie müssen den richtigen Vorhersagetyp in specify angeben Vorhersagen().


11.5: Anwendungen

Die Betonung im Henoch-Beispiel (11:5-6) liegt noch deutlicher auf der Bedeutung der eigenen geistigen Haltung. Dieser treue Gläubige wurde nach der hebräischen Interpretation des alttestamentlichen Textes von Gott aus dieser Welt genommen, ohne den Tod zu erfahren (Gen 5,24). Wieso den? Weil er in seinem Leben „als jemand gelobt wurde, der Gott gefiel“, das heißt, er bereitete Gott Freude. Diese Beobachtung spiegelt eine Überzeugung wider, die dem Text der Genesis innewohnt, der uns sagt, dass Henoch „mit Gott wandelte“. Am bedeutsamsten jedoch denkt der Autor immer noch an das Zitat aus Habakuk 2:3–4 (Hebr 10:37–38), das von Gottes Mangel an Gefallen an einem spricht, der vor Engagement zurückschreckt. Im Gegensatz dazu war Henoch in seinem Engagement entschlossen und brachte so Gott Freude.

Obwohl der Text des Alten Testaments Henochs Glauben nicht erwähnt, kann unser Autor davon ausgehen, dass er eine solche Haltung gegenüber Gott veranschaulicht, basierend auf diesem Habakuk-Zitat. „Ohne Glauben“, sagt er uns in 11,6, „ist es unmöglich, Gott zu gefallen, denn jeder, der zu ihm kommt, muss glauben, dass er existiert und dass er denen belohnt, die ihn ernsthaft suchen.“ Mit anderen Worten, das Glaubensleben hat mindestens drei Komponenten. (1) Es beinhaltet ein Leben, zu Gott zu kommen und ihn ernsthaft zu suchen. Dieser Punkt steht im Einklang mit der Aufforderung des Autors, sich Gott zu nähern oder sich ihm zu nähern (4:16-10:22). Daher ist Gottes Volk berufen, ein Leben in radikaler Offenheit für und im Gespräch mit Gott zu führen.

(2) Dieses Glaubensleben beinhaltet den Glauben, dass Gott existiert. Es ist absurd zu glauben, dass ein Mensch ohne festes Vertrauen in seine Existenz aufrichtig im Gebet zu Gott kommen kann. Ein grundlegender Glaube an Gott unterstützt weitere Glaubensakte, bei denen der Gläubige Gott um Hilfe bittet.

(3) Dieses Glaubensleben beinhaltet das Vertrauen, dass Gott diejenigen belohnen wird, die solchen Glauben ausüben. Die Handlungen von Personen, die ihr Vertrauen in den lebendigen Gott ausdrücken, bleiben nicht unbemerkt oder unbelohnt. Gott belohnt von Natur aus und gemäß seinen Verheißungen diejenigen, die ihm gegenüber im Glauben handeln.


Lektion 54: Wie man sich Gott nähert (Lukas 11,5-13)

Ein Bote in einem Fotolabor verließ eines Tages gerade ein Gebäude, als sein Piepser ertönte. Die Nachricht wies ihn an, ein Paket mit einem 12-silbigen, zungenverdrehenden Namen bei einer unbekannten Firma abzuholen. Der Bote schaute gen Himmel und seufzte: „Gott, wohin soll ich gehen?“ In diesem Moment ging der Pager wieder an, diesmal mit der Adresse des Kunden.

Ein Mann in der Nähe wurde Zeuge dieser Szene. Er hob seine Arme zum Himmel und rief: "Warum antwortest du mir nie?" (Aus Reader's Digest [4/91], p. 127.)

Wir alle, die wir Christen sind, haben mit dem Problem unbeantworteter Gebete gekämpft. Tatsächlich kann uns dieses Problem so entmutigen, dass wir anfangen zu denken: "Was nützt es?" und wir hören sogar auf zu beten. Wir hören Geschichten darüber, wie Gott Gebete für andere erhört hat, aber für uns scheint es einfach nicht zu funktionieren. Manchmal versuchen wir es vielleicht noch einmal, aber wir sind wie Jungs, die an der Tür klingeln und weglaufen. Wir bleiben nicht lange genug, um herauszufinden, ob Gott zu Hause ist und ob er die Tür öffnet und unsere Bitte beantwortet.

Jesus antwortet auf die Bitte eines namenlosen Jüngers: „Herr, lehre uns beten“ (11:1). In 11,2-4 gibt er uns das Muster für das Gebet, dass wir zum Vater über seine Anliegen und über die Bedürfnisse der Familie beten sollen. In 11,5-13 setzt Jesus seine Anweisung fort, indem er uns zeigt, wie wir uns im Gebet an Gott wenden sollen.

Wenn Sie in einem Land mit einem souveränen Monarchen leben, schauen Sie nicht einfach beim König vorbei und sagen: "Hey, wie geht's?" Wenn Sie ein Interview mit dem König haben, brauchen Sie ein Coaching, was Sie sagen und tun sollen und was nicht zu sagen und zu tun. Sie müssen wissen, welche sozialen Höflichkeiten in Anwesenheit des Königs erwartet werden.

Wenn Sie vor dem König der Könige stehen, brauchen Sie eine Anleitung, wie es geht. Einige mögen denken, dass wir ihn vielleicht nicht mit unseren kleinen Bedürfnissen belästigen sollten, weil Gott souverän und heilig ist. Oder vielleicht sollten wir entschuldigend und schüchtern kommen, weil wir Angst davor haben, Ihn wissen zu lassen, was uns wirklich durch den Kopf geht. Vielleicht sollten wir uns, sobald wir unsere Bedürfnisse bekannt gemacht haben, zurückziehen und Gott nicht wieder belästigen. Jesus zeigt uns hier, wie wir uns Gott nähern können, um die Dinge zu erhalten, die wir brauchen, wenn wir versuchen, seinen Willen zu tun:

Nähern Sie sich Gott mit mutiger Beharrlichkeit und wissen Sie, dass er als liebevoller Vater für unser geistliches Wohl sorgen wird.

Die Anweisung von 11:5-13 setzt die grundlegende Anweisung von 11:2-4 voraus. Wir müssen durch die neue Geburt Kinder Gottes sein, bevor wir Gott als Vater ansprechen und uns mit unseren Bedürfnissen an ihn wenden können. Wir müssen uns verpflichten, zuerst Sein Reich und Seine Herrlichkeit zu suchen, damit unsere Gebete richtig motiviert und geleitet werden.Unsere Gebete für unsere Bedürfnisse dienen nicht nur dazu, uns glücklich zu machen, sondern haben das übergeordnete Ziel, dass der Name des Vaters geheiligt und sein Reich auf Erden zustande gekommen ist.

In diesem Zusammenhang erzählt Jesus ein humorvolles Gleichnis (11:5-8), um zu lehren, dass wir Gott mit Kühnheit als seinem Freund begegnen und so lange bestehen sollten, bis wir das bekommen, was wir brauchen, um unseren Freunden zu dienen. Dann (11:9-10) wendet er das Gleichnis an, indem er uns sagt, wir sollen so lange bitten, suchen und im Gebet anklopfen, bis wir die Antwort erhalten, die wir brauchen. Als nächstes (11:11-12) verändert Jesus das Bild mit einer lächerlichen, aber denkwürdigen Darstellung eines Jungen, der seinen Vater um einen Fisch oder ein Ei bittet. Der Vater würde seinem Sohn keine Schlange oder einen Skorpion geben! Dann (11:13) wendet Jesus dieses Gleichnis an, indem er sagt, dass der himmlische Vater den Heiligen Geist denen geben wird, die ihn bitten, wenn wir böse sind und wissen, wie wir unseren Kindern gute Gaben geben können.

Die starke Betonung in diesem ganzen Abschnitt liegt auf Antworten erhalten zu unseren Gebeten. Der Freund um Mitternacht ging nicht leer aus. Er hat das Brot bekommen, für das er gekommen ist. Der Antrag betont, dass jemand, der ständig fragt, sucht und anklopft, bekommt, wonach er sucht. Die Geschichte des Vaters und seines Sohnes zeigt dasselbe: Der Junge wird von seinem Vater bekommen, was er verlangt. Die finale Anwendung treibt es wieder mit Gewalt nach Hause: Wie viel mehr Wird der himmlische Vater denen, die ihn bitten, wohlwollend antworten? Johannes Calvin bemerkt: „Nichts ist besser geeignet, uns zum Gebet anzuregen, als die volle Überzeugung, dass wir erhört werden“ (Calvins ComMentoren [Baker], Harmonie der Evangelisten, 1:351). Unser Herr möchte, dass wir zum Vater kommen und so lange kommen, bis er uns gibt, was wir brauchen, um sein Reich kommen zu sehen.

1. Nähern Sie sich Gott mit Kühnheit als seinem Freund und beharren Sie darauf, bis Sie das bekommen, was Sie brauchen, um Ihren Freunden zu dienen (11:5-10).

A. Die Geschichte (11:5-8):

Die Geschichte gibt uns ein humorvolles Ereignis aus der Kultur der Zeit Jesu. Ein Typ kommt spät in der Nacht von einem Reisenden vorbei und er hat kein frisches Brot vor sich. Du konntest nicht zum durchgehend geöffneten Supermarkt rennen und einen Laib Brot kaufen. Sie hatten keine Gefrierschränke oder Kühlschränke voller Lebensmittel. Kulturelle Gastfreundschaft verlangte, dass man ihm etwas zu essen gab. Also geht der Typ um Mitternacht zum Haus seines Freundes. Drinnen ist es dunkel und die Tür ist verriegelt. Aber schließlich ist dies sein Freund, und wozu sind Freunde da? Also fängt er an, an die Tür zu hämmern.

Drinnen würde die Familie alle zusammen an einem Ort schlafen. Es waren wahrscheinlich einige Haustiere für die Nacht drinnen, und das Klopfen an der Tür würde sie auch erregen. Der Typ ruft benommen: „Wer ist da? Was willst du um diese Stunde?" Der „Freund“ erklärt fröhlich sein Bedürfnis. Der Typ drinnen sagt: „Hör auf, mich zu belästigen! Die Tür ist verriegelt, wir haben die Kinder endlich zum Einschlafen gebracht (jeder Elternteil kennt das!), und ich will nicht aufstehen und dir etwas geben!“ Aber der „Freund“ klopft und fragt weiter! Schließlich erkennt der Typ im Bett, dass der schnellste Weg zum Einschlafen darin besteht, aufzustehen und ihm zu geben, wonach er sucht.

Dann gibt Jesus eine erste Anwendung (11:8), bevor er sie erweitert (11:9-10): Abgesehen von der Freundschaftsfrage (die zu dieser Mitternachtsstunde vielleicht etwas angespannt ist!), wird der Gastgeber bekommen, was er sich vorgenommen hat wegen seiner beharrlichen Kühnheit. Das mit „Beharrlichkeit“ (KJV = Aufdringlichkeit) übersetzte Wort hat die Vorstellung von schamloser Kühnheit. Die Idee der Beharrlichkeit kommt in den Präsensverben der Verse 9 und 10 zum Ausdruck.

Bevor wir uns die direkte Anwendung ansehen, lassen Sie uns einige Dinge über die Geschichte betrachten. Erstens zeigt es uns, dass Not treibt kühnes Gebet an. Der Gastgeber musste für seinen Freund sorgen, und er hatte nicht die Mittel, um diesen Bedarf zu decken. Es ist das Bewusstsein für große Bedürfnisse und unseren eigenen Mangel an Ressourcen, um diese Bedürfnisse zu befriedigen, die uns zum Gebet antreiben. Allzu oft versäumen wir es, zu beten, weil wir unsere eigene Suffizienz oder Kompetenz annehmen. Wir glauben fälschlicherweise, dass wir hier und da mit einem kleinen Schub von Gott auskommen. Tatsache ist jedoch, dass wir keine physischen, mentalen und spirituellen Ressourcen haben, es sei denn, Gott stellt sie gnädig zur Verfügung. In jeder Situation müssen wir unsere verzweifelte Not erkennen und Gott um Hilfe bitten.

Zweitens war der Bedarf in diesem Fall nicht direkt persönlich, sondern die Notwendigkeit von jemand anderem. Wenn der Mann selbst hungrig gewesen wäre, hätte er zweifellos bis zum Morgen gewartet, um zum Haus seines Freundes zu gehen. Aber das Bedürfnis war nicht seins, es war das Bedürfnis des Mitternachtsgastes, das diesen Mann zu dieser unpassenden Stunde zum Haus seines Freundes trieb. Während wir mutig zu Gott gehen sollten, um Hilfe für unsere eigenen Bedürfnisse zu finden, sollten wir bedenken, dass der Hauptgrund des Gebets nicht nur darin besteht, unsere Bedürfnisse zu stillen, sondern das Reich des Vaters zu fördern. Daher müssen wir im Namen des Vaters um das bitten, was wir brauchen, um die Bedürfnisse anderer zu befriedigen.

Drittens hatte der Mann bereits ein etablierte Freundschaft bevor er um Mitternacht zum Haus seines Nachbarn ging. Er stellte sich an diesem Abend nicht nur zum ersten Mal vor! Sie hatten eine persönliche Beziehung, nach der er handelte. Während Gott oft gnädig ist, sich als Reaktion auf ein Mitternachtsklopfen an seiner Tür zum ersten Mal vorzustellen, ist es an der Zeit, ihn zu treffen: Vor das Mitternachtsbedürfnis! Wenn Sie Ihn als vertrauten Freund kennen, werden Sie sich wohler fühlen, wenn Sie um Mitternacht an Seine Tür klopfen müssen, wenn es sein muss!

Viertens sollten wir die starker Kontrast zwischen dem Mann im Bett und Gott. Der Mann im Bett schlief, während Gott nie schläft. Der Mann im Bett wollte nicht gestört werden, während unsere Bitten Gott nicht stören. Die Mitternachtsanfrage hat wahrscheinlich die Beziehung zwischen diesen beiden Freunden belastet, während unsere Mitternachtsanfragen unsere Beziehung zu Gott nicht belasten. Jesu Punkt ist, dass wir mutig beharrlich sein sollten, unsere Bitten zu jeder Stunde und in jeder Situation vor Gott zu bringen. Wenn ein mürrischer Freund auf diese kühne Beharrlichkeit reagiert, wie viel mehr wird Ihr Freund im Himmel reagieren!

B. Die Bewerbung (11:9-10):

Jesus wendet das Gleichnis an, indem er den Jüngern sagt, dass sie weiterhin bitten, suchen und anklopfen sollen, mit der Verheißung, dass sie ihre Bitten erhalten, wenn sie es tun. Die gegenwärtige Imperativstimmung im Griechischen hat die Nuance einer kontinuierlichen Handlung, und daher verstehe ich einige bekannte Kommentatoren nicht und stimme ihnen nicht zu, die sagen, die Idee sei nicht Beharrlichkeit und dass Sie, wenn Sie immer wieder fragen müssen, nicht richtig fragen (G. Campbell Morgan, Die Gleichnisse und Metaphern unseres Herrn [Revell], S. 184). Ich stimme zu, dass Gott nicht wie der Nachbar im Bett ist, wo Sie Ihn ständig nerven müssen, weil Er Ihnen nur ungern gibt, was Sie brauchen. Aber Tatsache ist, dass Gott nicht immer nach unserem Zeitplan antwortet. Er weiß, wann unser Glaube ausreichend geprüft wurde und unsere Unterwerfung unter seinen Willen vollständig genug ist, so dass die Zeit für ihn reif ist, unseren Bitten nachzukommen. Andrew Murray (Mit Christus in der Gebetsschule [Spire-Bücher], p. 49) erklärt,

Fürbitte ist ein Teil der Glaubensschule. Dort wird unsere Freundschaft mit den Menschen und mit Gott auf die Probe gestellt. Da sieht man, ob meine Freundschaft mit den Bedürftigen so echt ist, dass ich mir Zeit nehmen und meine Ruhe opfern werde, auch um Mitternacht gehe und nicht aufhöre, bis ich für sie beschafft habe, was ich brauche. Dort zeigt sich, ob meine Freundschaft mit Gott so deutlich ist, dass ich mich darauf verlassen kann, dass er mich nicht abweist und deshalb betet, bis er gibt.

Außerdem wird die Idee der Beharrlichkeit durch die zunehmende Intensität der Wörter „bitten“, „suchen“ und „klopfen“ verstärkt. Suchen ist stärker als Bitten Klopfen ist stärker als Suchen. Obwohl das Wort dort nicht verwendet wird, bezieht sich das Wort Klopfen auf die Geschichte des Freundes um Mitternacht, der an die Tür seines Nachbarn hämmert, bis der Typ aus dem Bett aufsteht und ihm gibt, was er braucht. Ich stimme Martyn Lloyd-Jones zu, der schreibt (Die Bergpredigt [Eerdmans], 2:201),

Die Bedeutung dieses Elements der Beharrlichkeit kann nicht überbewertet werden. Sie finden es nicht nur in der biblischen Lehre, sondern auch im Leben aller Heiligen. Das Verhängnisvollste im christlichen Leben ist, sich mit vorübergehenden Wünschen zufrieden zu geben. Wenn wir wirklich Männer Gottes sein wollen, wenn wir Ihn wirklich kennen und mit Ihm wandeln und die grenzenlosen Segnungen erfahren wollen, die Er uns anzubieten hat, müssen wir Ihn Tag für Tag darum bitten. Wir müssen diesen Hunger und Durst nach Gerechtigkeit spüren, und dann werden wir satt. Und das bedeutet nicht, dass wir ein für immer gefüllt sind. Wir hungern und dürsten weiter.

Wenn wir erkennen, dass unsere Bitte nicht mit Gottes Willen übereinstimmt oder wenn wir von Gott ein deutliches Gefühl bekommen, dass wir aufhören sollten zu beten, dann sollten wir nicht weiter für diese Not beten. Aber ansonsten sollten wir weiter fragen, weiter suchen und weiter anklopfen, bis Gott antwortet. Ich habe eine Anfrage, die ich seit fast 28 Jahren stelle, eine andere, die ich seit 25 Jahren stelle, und eine andere, die ich seit über 10 Jahren ohne angemessene Antworten stelle. Diese Bitten zu beantworten, wäre zu Gottes Ehre und zur Förderung seines Königreichs. Es sind keine egoistischen Bitten. Also klopfe ich weiter, auch wenn ich manchmal müde werde. Aus Gründen, die ich nicht ganz verstehe, hat Gott diese Bitten nicht für richtig gehalten. Aber ich glaube, dass meine Aufgabe wie der Freund um Mitternacht darin besteht, für meine bedürftigen Freunde zu klopfen, bis ich von Gott bekomme, was sie brauchen.

2. Nähern Sie sich Gott mit Vertrauen als seinem Kind und wissen Sie, dass der Vater es Ihnen geben wird, wenn es zu Ihrem geistlichen Wohl ist (11:11-13).

Jesus scheint auf einen stillen Einwand zu antworten: „Wenn Gott um Mitternacht wie der benommene, unwillige Nachbar ist, dann bin ich mir nicht sicher, ob ich Ihn nerven will.“ Jesus ändert das Bild in einen liebevollen Vater, der die Bedürfnisse seiner Kinder erfüllt und dann schließt wie viel mehr der himmlische Vater wird die Bedürfnisse seiner Kinder erfüllen. Sein Ziel ist es, uns zu ermutigen, zu Gott als unserem liebenden Vater zu kommen, in der Gewissheit, dass er sich um uns kümmert und unsere Bedürfnisse befriedigen wird. Wie in 11,5-10 gibt Jesus eine Illustration, gefolgt von einer direkten Anwendung.

A. Die Illustration (11:11-12):

Einige griechische Manuskripte fügen von Matthäus die Klausel hinzu, dass, wenn ein Sohn um einen Laib Brot bittet, der Vater ihm keinen Stein gibt (siehe Matth. 7:9). Aber wahrscheinlich hat das Original von Lukas diese Illustration weggelassen und die andere über das Ei und den Skorpion hinzugefügt. Es besteht keine Notwendigkeit, die beiden Berichte zu harmonisieren, da Jesus dieselbe Lehre in zwei verschiedenen Umgebungen gab. Er variierte einfach Seine Illustrationen.

Die Illustration ist effektiv, weil sie so lächerlich ist. Kein irdischer Vater würde so grausam sein, seinem hungrigen Kind etwas Täuschendes und Schädliches statt der Nahrung zu geben, um die es bat. Eine Schlange mit ihren silbrigen Schuppen könnte für einen Fisch gehalten werden und ein zusammengerollter Skorpion könnte für ein Kind wie ein kleines Ei aussehen. Aber wenn er diese vertrauensvoll von seinem Vater nimmt, schaden sie ihm eher, als ihn zu ernähren und seine Bedürfnisse zu stillen. Obwohl wir von Natur aus böse sind (11:13 – beachten Sie, dass Jesus davon ausgeht, dass Menschen böse sind, selbst wenn sie ihre Kinder liebevoll behandeln), würden wir unsere Kinder niemals auf diese Weise behandeln. Das Argument ist vom Kleineren zum Größeren. Wie Calvin (S. 353) es ausdrückt: „Wenn die kleinen Tropfen so viel Wohltat bewirken, was sollten wir dann von dem unerschöpflichen Ozean erwarten?“ Wenn sündige Menschen ihre Kinder so lieben und für ihre Bedürfnisse sorgen, wie viel mehr wird Gott dann tun?

B. Die Bewerbung (11:13):

Dann fährt Jesus die Bewerbung nach Hause: „Wenn ihr als Bösewicht euren Kindern gute Gaben zu geben wisst, wie viel mehr wird euer himmlischer Vater den Heiligen Geist denen geben, die ihn bitten?“ In der Parallele in Matthäus 7,11 sagt Jesus allgemeiner, dass Gott geben wird Was ist gut denen, die ihn bitten. Aber hier spezifiziert Er den Heiligen Geist, der als Gott das größte Gut ist, das wir uns vorstellen können. Während alle, die wirklich an Christus glauben, den Heiligen Geist im Augenblick der Errettung empfangen (Röm 8,9), müssen wir alle in unserem täglichen Leben mehr und mehr von der Fülle des Geistes wissen. Was auch immer unsere Bedürfnisse sind, unser größtes Bedürfnis besteht darin, ständig mit Gottes Geist erfüllt zu werden. Jesus weist uns also an, als bedürftige Kinder zu kommen und den Vater zu bitten, seinen Geist über uns auszugießen.

Jesu Spezifizierung des Heiligen Geistes zeigt, dass er nicht verspricht, unsere Launen für materielle Dinge oder für irdische Vorteile zu erfüllen. Aber er verspricht, dass der liebevolle Vater es uns geben wird, wenn etwas zu unserem geistlichen Wohl ist und wir als vertrauensvolle Kinder kommen und darum bitten. Er kann den Segen hinauszögern, weil er weiß, dass ich noch nicht bereit bin, ihn zu empfangen. Vielleicht hat er Absichten, mich im Glauben und im Gebet zu schulen, die erfordern, dass er die Bitte vorerst zurückhält. Er weiß vielleicht, was ich nicht weiß, dass meine Bitte nicht zu meinem letzten Besten ist, und deshalb wird Er meine Bitte ablehnen, weil Er etwas Besseres für mich hat. Aber Jesus lehrt, dass wir uns Gott vertrauensvoll nähern sollten, so wie ein Kind zu einem liebevollen Vater kommt, und wenn meine Bitte für mein geistliches Wohl ist, wird der Vater sie mir geben. Andrew Murray (S. 37) formuliert es so: „Väterliches Geben ist die göttliche Antwort auf ein kindliches Leben.“

Vers 13 bringt uns also zurück zu dem Punkt, an dem Jesu Anweisungen zum Gebet begannen (11:2), dass wir Gott als unseren himmlischen Vater kennenlernen müssen. Martyn Lloyd-Jones (S. 202) sagt,

Dies ist eines unserer Hauptprobleme, nicht wahr? Wenn Sie mich bitten sollten, in einem Satz zu sagen, was ich für den größten Mangel im Leben der meisten Christen halte, würde ich sagen, dass es unser Versagen ist, Gott als unseren Vater so zu kennen, wie wir ihn kennen sollten. … Ah ja, wir sagen, wir wissen es! das und glaube es. Aber kennen wir es in unserem täglichen Leben und Leben? Ist es etwas, dessen wir uns immer bewusst sind? Hätten wir das nur in den Griff bekommen, könnten wir allen Möglichkeiten und Eventualitäten, die vor uns liegen, ins Gesicht lächeln.

Einer der ursprünglichen Tricks Satans bestand darin, Eva dazu zu bringen, daran zu zweifeln, dass Gott gut ist. Sein Gebot war, ihr etwas Gutes zu verschweigen. Er benutzt diesen Trick immer noch, um Christen zum Fallen zu bringen und Ungläubige von Gott fernzuhalten: Wenn dein Gott gut ist, warum lässt er dann solche Schmerzen und Leiden in der Welt zu? Warum lässt ein guter Gott zu, dass einem kleinen Kind in einem vom Krieg zerrütteten Land die Beine von einer Landmine weggeblasen werden? Warum lässt ein guter Gott zu, dass ein süßes kleines Kleinkind einen langsamen, schmerzhaften Tod an Krebs stirbt? Warum lässt ein guter Gott zu, dass seine Diener, die sein Werk tun, von bösen Menschen getötet werden? Die schwierigen Fragen könnten ewig so weitergehen.

Die Bibel beschönigt diese Probleme nicht und gibt nicht vor, dass sie nicht existieren. Das Buch Hiob zeigt uns, dass sich eine teilweise Antwort auf unsere Endlichkeit und Sündhaftigkeit und Gottes unendliche Heiligkeit konzentriert. Wir als sündige Geschöpfe wagen es nicht, den Allmächtigen Heiligen herauszufordern. Er ist vollkommen gerecht, um zuzulassen, dass der rechtschaffenste Mensch auf Erden schreckliche Dinge erleidet, denn nicht einmal dieser Mensch hat Anspruch auf Gott. Darüber hinaus zeigt die Schrift, dass die endgültige Lösung des Problems des Leidens und des Bösen in der Ewigkeit liegt, nicht in diesem Leben, wenn Gott die Gerechten belohnt und die Bösen bestraft.

Aber die Existenz von Schmerz und Bösem in dieser Welt untergräbt nicht die Güte Gottes oder Seine väterliche Liebe zu Seinen Kindern. Auch wenn wir nicht verstehen, warum Gott die Prüfungen, die wir erleiden, zulässt, müssen wir im Glauben zu ihm kommen und um ein umfassenderes Maß an seinem Heiligen Geist bitten. Fragt und sucht und klopft weiter. Jesus verspricht, dass wir nicht mit leeren Händen weggeschickt werden. Nähern Sie sich Gott mit mutiger Beharrlichkeit und wissen Sie, dass er Ihnen als liebevoller Vater das geben wird, was zu Ihrem geistlichen Wohl ist. Es ist ihm unmöglich, uns etwas Böses anzutun.

Abschluss

Ein Vater mit einem dreijährigen Sohn hatte gerade die Schlafenszeit durchgemacht, eine Geschichte zu lesen, seine Gebete zu hören, ein Dutzend Fragen zu beantworten, ihn zu umarmen und vier- oder fünfmal gute Nacht zu sagen, bevor er aus dem Bett schlüpfte der Raum. Endlich, nach einem langen, harten Tag, konnte er sich entspannen.

Er setzte sich in seinen Sessel und es war ungefähr fünf Minuten still, bevor er hörte: „Papa, kann ich Wasser trinken?“ Er sagte: "Nein, mein Sohn, sei still und geh schlafen." Es war ein paar Minuten lang still, lauter als zuvor hörte er: „Papa, kann ich Wasser trinken?“ "Sohn, ich sagte, ich solle still sein und schlafen gehen!" Es herrschte wieder Stille, aber es dauerte nicht lange. "Vati, bitte kann ich Wasser trinken?" Der Vater konnte sehen, dass er nicht weiterkam, also sagte er: "Sohn, wenn ich noch ein Geräusch aus diesem Raum höre, werde ich dich versohlen!" Man konnte eine Stecknadel fallen hören. Etwa eine Minute lang war die Stille dicht. Dann hörte er: „Daddy, wenn du herkommst, um mich zu versohlen, würdest du mir einen Schluck Wasser bringen?“ Jetzt wusste der Papa, dass sein Sohn wirklich durstig war! Wieso den? Weil er in seiner Bitte kühn hartnäckig war.

Wir alle haben Freunde, die um Mitternacht bei uns vorbeischauen. Wir haben nicht in uns, was sie brauchen. Aber wir haben einen Freund und Vater im Himmel, der genug hat, um seine Bedürfnisse zu befriedigen. Er lädt uns ein, Ihn zu jeder Stunde zu stören und so lange anzuklopfen, bis wir bekommen, was unsere Freunde brauchen.

Diskussionsfragen

  1. Woher wissen wir, wann (wenn überhaupt) wir aufhören sollten, im Gebet zu verharren, wenn Gott nicht antwortet?
  2. Wie würden Sie einem Kritiker antworten, der schreckliche Leiden als Beweis dafür anführte, dass Gott nicht gut ist? Warum ist es wichtig, Gottes Güte zu bekräftigen, auch wenn wir leiden?
  3. Warum zögert Gott, Gebete zu beantworten, die anscheinend zu Seiner Ehre jetzt beantwortet würden?
  4. Ist es ein Ausweg, zu beten: „Wenn dein Wille geschehe?“ Können wir Gottes Willen für eine bestimmte Situation im Voraus kennen?

Copyright, Steven J. Cole, 1999, Alle Rechte vorbehalten.

Sofern nicht anders angegeben, stammen alle Bibelzitate aus der New American Standard Bible, aktualisierte Ausgabe © The Lockman Foundation


CTI-Bewerbungsvoraussetzungen

Sie müssen Gerätepools konfiguriert haben, bevor Sie Cisco Unified Communications Manager für CTI-Anwendungen konfigurieren können.

Fügen Sie IP-Telefone für jede CTI-Anwendung hinzu und konfigurieren Sie sie. Weitere Informationen zum Hinzufügen und Konfigurieren von IP-Telefonen finden Sie unter Cisco Unified IP-Telefone.

Konfigurieren Sie die Endbenutzer und Anwendungsbenutzer, die CTI-Anwendungen verwenden.

Computer Telephony Integration (CTI) stellt IP-Adressinformationen über die JTAPI- und TAPI-Schnittstellen bereit, die IPv4- und IPv6-Adressen unterstützen können. Wenn Sie IPv6-Adressen unterstützen möchten, stellen Sie sicher, dass Ihre Anwendungen eine JTAPI-/TAPI-Clientschnittstellenversion verwenden, die IPv6 unterstützt.


Sie können eine PowerBuilder-Anwendung von einer beliebigen Version von PowerBuilder direkt zu einer späteren Version migrieren. Lesen Sie vor der Migration auf eine neuere Version dieses Dokument, um mehr über Änderungen in PowerBuilder zu erfahren, die sich auf Ihre Anwendung auswirken könnten.

1. Migration von einer beliebigen PowerBuilder-Version

1.1 Migrationsassistent

Bevor Sie PBLs öffnen, die in einer früheren Version erstellt wurden, verwenden Sie den Migrationsassistenten in der neuen Version, um sie auf veraltete Syntax oder die Verwendung neuer reservierter Wörter zu überprüfen. Um den Migrationsassistenten zu öffnen, wählen Sie Datei>Neu in der PowerBuilder-Menüleiste und wählen Sie Migrationsassistent auf der Seite Tools des Dialogfelds Neu.

1.2 Migration von PBLs

Sie müssen PBLs, die mit früheren Versionen von PowerBuilder erstellt wurden, auf die neue Version migrieren. Sie sollten PBLs und PBTs immer sichern, bevor Sie migrieren.

Das Dialogfeld Anwendung migrieren wird automatisch geöffnet, nachdem Sie einen Arbeitsbereich geöffnet haben, der PowerScript-Ziele enthält, die mit einer früheren Version erstellt wurden. Wenn Sie ein PBT mit solchen PBLs zu einem geöffneten Arbeitsbereich hinzufügen oder PBLs, die in einer früheren Version von PowerBuilder erstellt wurden, zur Bibliotheksliste eines Ziels hinzufügen, wird das Dialogfeld Anwendung migrieren nicht automatisch geöffnet. Um das Dialogfeld zu öffnen, wählen Sie in der Systemstruktur jedes Ziel aus, das PBLs enthält, die mit früheren Versionen von PowerBuilder erstellt wurden, und wählen Sie Migrieren aus dem Popup-Menü.

Bitte lesen Sie den Abschnitt zum Migrieren von Zielen im PowerBuilder Bedienungsanleitung bevor Sie Ihre Anwendungen migrieren.

1.3 Migration von Datenbankprofilen (IM)

Um Datenbankprofile zu verwenden, die in einer früheren Version von PowerBuilder eingerichtet wurden, klicken Sie mit der rechten Maustaste auf ein beliebiges Element im Dialogfeld Datenbankprofile in der früheren Version von PowerBuilder und wählen Sie Profil(e) exportieren aus dem Popup-Menü. Sie können dann die Profile importieren, die Sie im Dialogfeld Datenbankprofile in einer neueren Version von PowerBuilder auswählen.

1.4 Laufzeit-DLLs (IM)

Die Anwendungen, die Sie mit einer beliebigen Version von PowerBuilder erstellen, sollten mit den PowerBuilder-Laufzeit-DLLs derselben Version bereitgestellt werden. Wenn der Entwicklungscomputer mit einem neuen Build aktualisiert wird, werden PowerBuilder .NET-Anwendungen und -Komponenten muss mit den neuen Laufzeitdateien neu erstellt und bereitgestellt werden.

1.5 Migrieren von PowerBuilder Extension-Anwendungen

Importieren Sie die PowerBuilder-Erweiterungsdatei (pbXXX###.pbx, wobei XXX eine Abkürzung für den Erweiterungstyp ist und ### für die aktuelle PowerBuilder-Version steht) in Ihr migriertes PowerBuilder-Projekt und führen Sie dann einen vollständigen Build durch, bevor Sie die Anwendung bereitstellen .

1.6 Verhalten des Parameters GetFileOpenName Initdir

Der Parameter initdir in GetFileOpenName verwendet einige andere Algorithmen in Windows 7 als in Windows 2000/XP/Vista.

Windows 7:
  1. Wenn initdir denselben Wert hat, der in der ersten Instanz des Dialogfelds Öffnen oder Speichern unter der Anwendung ausgewählt wurde, verwendet es den Pfad, den der Benutzer zuletzt ausgewählt hat, als anfängliches Verzeichnis.
  2. Wenn Dateiname einen Pfad enthält, ist dieser Pfad das Anfangsverzeichnis.
  3. Wenn initdir nicht NULL ist, gibt es das Anfangsverzeichnis an.
  4. Wenn initdir NULL ist und das aktuelle Verzeichnis Dateien der angegebenen Filtertypen enthält, ist das Ausgangsverzeichnis das aktuelle Verzeichnis.
  5. Andernfalls ist das Anfangsverzeichnis das persönliche Dateiverzeichnis des aktuellen Benutzers.
  6. Wenn keine anderen Bedingungen erfüllt sind, ist das Ausgangsverzeichnis der Desktop-Ordner.
Windows 2000/Windows XP/Windows Vista:
  1. Wenn Dateiname einen Pfad enthält, ist dieser Pfad das Anfangsverzeichnis.
  2. Andernfalls gibt initdir das Ausgangsverzeichnis an
  3. Wenn die Anwendung in der Vergangenheit ein Dialogfeld zum Öffnen oder Speichern unter verwendet hat, wird der zuletzt verwendete Pfad als Ausgangsverzeichnis ausgewählt. Wenn eine Anwendung jedoch längere Zeit nicht ausgeführt wird, wird ihr gespeicherter Pfad verworfen.
  4. Wenn initdir NULL ist und das aktuelle Verzeichnis Dateien der angegebenen Filtertypen enthält, ist das Ausgangsverzeichnis das aktuelle Verzeichnis.

2. Migration von PowerBuilder 12.5.2 oder früher

2.1 SAP JVM ersetzt JDK

PowerBuilder verwendet nicht mehr die Java Runtime Environment (JRE) oder das Java Development Kit (JDK). Es verwendet die SAP-JVM. Ignorieren Sie die Erwähnung des JDK in der Online-Hilfe.

2.2 SAP-Branding

Das gesamte in der Dokumentation erwähnte Firmenbranding wird auf SAP für InfoMaker und PowerBuilder aktualisiert.

Das gesamte in der Dokumentation erwähnte Firmenbranding wird auf SAP für InfoMaker und PowerBuilder aktualisiert.

Aktuelle Informationen zur PowerBuilder- und InfoMaker-Dokumentation finden Sie unter:
http://help.sap.com/powerbuilder
http://help.sap.com/infomaker

2.3 Neue SoapConnection-Funktionen

Ab PowerBuilder 12.5.x gibt es zwei Funktionen in der SoapConnection-Klasse nur für die .NET Web Services Engine:

  • EnablePreAuthentication – Gilt nur für Webdienste, die den Basisauthentifizierungsmechanismus verwenden. Rufen Sie diese Funktion auf, um die Anforderung vorab zu authentifizieren.
    Syntax: <conn>.EnablePreAuthentication()
  • SetKeepAlive- Ob eine dauerhafte Verbindung zur Internetressource hergestellt werden soll.
    Syntax: <conn>.SetKeepAlive(Boolescher <value)

2.4 Migrieren von .NET-Zielen aus früheren Versionen von PowerBuilder

Bei .NET-Webdienstkomponenten müssen Sie möglicherweise unterstützende Dateien auf den Entwicklungs- und Bereitstellungscomputern entfernen oder installieren.

Überprüfen Sie für .NET-Projekte die folgenden Schritte oder führen Sie sie aus, bevor Sie die migrierten .NET-Projekte erneut bereitstellen:

  • Deinstallieren Sie für alle .NET-Ziele frühere Versionen der PowerBuilder-Laufzeitdateien (Systemassemblys und Windows 32-DLLs) auf allen Bereitstellungsmaschinen. Installieren Sie dann die Laufzeitdateien für die aktuelle Version von PowerBuilder mit dem Runtime Packager oder einem anderen Tool, wie im Abschnitt „Checkliste für die Bereitstellung“ des Abschnitts Bereitstellen von Anwendungen und Komponenten in .NET beschrieben.
  • Löschen Sie bei .NET-Webdienstzielen die temporären ASP.NET-Dateien für die Anwendung oder Komponente auf den Entwicklungs- und bereitgestellten Computern. Die temporären Dateien befinden sich im Verzeichnis C:WindowsMicrosoft.NETFramework<version>Temporary ASP.NET Files<projectName>, wobei <version> normalerweise v2.0.50727 ist und <projectName> der Webanwendungsname des Projekts oder sein virtueller Webdienst ist Verzeichnisname.
  • Wählen Sie für .NET Windows Forms-Projekte VOLL für den Projektneuerstellungstyp, bevor Sie Ihre Anwendungen zum ersten Mal aus PowerBuilder Classic erneut bereitstellen.
  • Um .PBWX-Lösungen von einer früheren Version zu migrieren, öffnen Sie die .PBWX-Datei über das Menü Datei. Wenn Sie auf die Datei doppelklicken oder sie in PowerBuilder .NET 12.6 ziehen und dort ablegen, wird der Konvertierungsassistent von Visual Studio unangemessen geöffnet. Sie können die PowerBuilder 12.6-Lösungen mit Doppelklick und Drag-and-Drop öffnen.

2.5 Migrieren von EAServer-Zielen

PowerBuilder .NET unterstützt keine EAServer-Ziele.

2.5.1 Zugriff auf EAServer-Komponenten von .NET-Zielen

PowerBuilder installiert die EAServer-DLLs, com.sybase.iiop.net.dll und com.sybase.ejb.net.dll im Global Assembly Cache (GAC) auf dem Entwicklungscomputer und benötigt diese DLLs auf dem Laufzeitcomputer für Anwendungen, die von .NET-Zielen auf EAServer-Komponenten zugreifen. Verwenden Sie den Runtime Packager, um diese DLLs im GAC auf den Bereitstellungscomputern zu installieren.

HINWEIS: Die vom PowerBuilder-Setup-Programm installierten DLLs wurden getestet und sind mit EAServer 6.3.1 kompatibel. Wenn Sie jedoch eine andere EAServer-Version als 6.3.1 verwenden, empfiehlt SAP, die (Assembly-)DLLs aus dem Verzeichnis EAServer/lib in den GAC aller Computer zu kopieren, auf denen Sie Ihre Anwendungen bereitstellen. Wenn Sie dann den Runtime Packager ausführen oder erneut ausführen, müssen Sie auch diese (Assembly-)DLLs erneut in den GAC kopieren, da der Runtime Packager sie überschreibt.

2.6 Größenbeschränkung für ImportFile

Siehe Abschnitt 13.3 Hinweis für ein Update.

2.7 OData-Unterstützung

PowerBuilder Classic und PowerBuilder .NET können OData-Datenquellen verwenden.

2.7.1 Datenbankprofil

Definieren Sie ein Datenbankprofil für den Zugriff auf einen OData-Dienst in PowerBuilder über die OData-Schnittstelle.

2.7.2 Database Painter

Sie können sich mit dem OData-Dienst verbinden und mit dem Database Painter arbeiten.

  • Definieren Sie eine OData-Datenquelle mit dem Database Profile Painter
  • Herstellen einer Verbindung mit einer OData-Datenquelle in der Objektansichtsource
  • Fügen Sie Tabellen per Drag-and-Drop oder dem Kontextmenü zur Objektlayoutansicht hinzu
  • Tabellen- und Spalteneigenschaften in der Eigenschaftenansicht per Drag-and-Drop oder Kontextmenü anzeigen Display
  • Ziehen Sie eine Tabelle per Drag-and-Drop in die Spaltenansicht
  • Rufen Sie die Funktion Daten bearbeiten in der Ergebnisansicht des Database Painter auf

Da OData keine SQL-Quelle ist, werden einige Funktionen nicht unterstützt:

  • Die ISQL-Sitzungsansicht ist nicht aktiviert
  • Sie können keine Tabellen erstellen, ändern oder löschen
  • Sie können keine Benutzer oder Benutzergruppen erstellen
  • Sie können keine SQL-Anweisungen in Powerscript einbetten

2.7.3 Erstellen eines DataWindow mit einem OData-Dienst

Wählen Sie die OData-Service-Datenquelle im DataWindow-Assistenten aus.

2.7.4 Festlegen der Verbindungsinformationen für den OData-Dienst

Verwenden Sie das SQLCA-Transaktionsobjekt (oder das benutzerdefinierte Transaktionsobjekt), um Daten aus dem OData-Dienst in einem DataWindow oder Datastore abzurufen und anzuzeigen.

2.8 64-Bit-Windows-Anwendungen

Erstellen Sie eine native 64-Bit-Anwendung in PowerBuilder Classic. Um eine 64-Bit-Anwendung zu erstellen, wählen Sie die Plattform auf der Registerkarte Allgemein von Project Painter aus.

Wenn Sie sowohl 32-Bit- als auch 64-Bit-Versionen Ihrer Anwendung bereitstellen müssen, sollten Sie separate Projekte und separate Ordner für die Bereitstellungsausgabe verwenden.

Es gibt keine IDE für die 64-Bit-Entwicklung. Die Entwurfszeit verwendet die gleiche 32-Bit-Schnittstelle und die gleiche 64-Bit-Featureanzeige zur Laufzeit, wenn Sie die Anwendung bereitstellen.
Wenn Sie auf die Schaltfläche running man klicken, wird das Projekt als 32-Bit-Anwendung ausgeführt.

32-Bit bleibt der Standard für neue und migrierte Anwendungen. Während des Bereitstellungsprozesses überprüft und meldet PowerBuilder nicht unterstützte Funktionen, die in der Anwendung verwendet werden.

2.8.1 Neue Eigenschaft für Umgebungsobjekt

Die neue ProcessBitness-Eigenschaft identifiziert, ob die Anwendung ein 32-Bit- oder 64-Bit-Prozess ist.

Weitere Informationen zum Umgebungsobjekt finden Sie unter Objekte und Steuerelemente. Lesen Sie die PowerScript-Referenz, um mehr über die GetEnvironment Funktion.

2.8.2 Neuer Datentyp

Der Datentyp longptr ist 4 Byte auf der 32-Bit-Plattform und 8 Byte auf der 64-Bit-Plattform. Auf der 32-Bit-Plattform ist longptr dasselbe wie long Sie können weiterhin long verwenden, wenn longptr in 32-Bit-Anwendungen erforderlich ist. In 64-Bit-Anwendungen führt die Verwendung von long zum Halten von Longptr-Variablen zu einer Datenkürzung von 8 Byte auf 4 Byte oder zu einer Speicherbeschädigung, wenn Sie eine long ref-Variable übergeben, wenn eine longptr ref erforderlich ist. Wenn Sie zu 64-Bit wechseln möchten, verwenden Sie bei Bedarf longptr. 32-Bit schadet es nicht.

Da PowerBuilder keinen dem C++-Zeigertyp entsprechenden Datentyp hat und es in PowerBuilder keine Zeigeroperationen gibt, ist longptr kein vollwertiger PowerBuilder-Datentyp. Sie können damit Fenster-Handles, Datenbank-Handles und andere Objekte halten/übergeben, die im Wesentlichen Speicheradressen sind. Komplexe Operationen für den Typ longptr funktionieren möglicherweise nicht. Wenn Sie 8-Byte lange Ganzzahlen darstellen/berechnen möchten, verwenden Sie longlong.

2.8.3 Systemvoraussetzungen

Die Entwurfszeitumgebung erfordert:

  • Windows SDK für Windows 7 oder höher
  • .NET Framework 4.0 oder höher
  • 64-Bit-Windows-Betriebssystem zum Testen (Entwicklung erfordert nur 32-Bit)

Die Laufzeitumgebung erfordert:

  • 64-Bit-Windows-Betriebssystem
  • PowerBuilder 12.6 64-Bit-Systemdateien
  • 64-Bit-Bibliotheken von Drittanbietern wie Datenbanktreiber und externe DLLs
  • Mehr als 4 GB physischer Speicher, um Leistungsprobleme zu vermeiden

2.8.4 Einschränkungen

  • Um Webdienste zu nutzen, müssen Sie die .Net-Engine verwenden. EasySOAP wird nicht unterstützt
  • Sie können OLE- und ActiveX-Komponenten in Ihren Anwendungen verwenden, müssen jedoch die 32-Bit-Versionen in der PowerBuilder Classic-IDE verwenden. Zur Laufzeit müssen die richtigen 64-Bit-ActiveX-Komponenten installiert sein.
  • Der RichText DataWindow-Header wird nicht angezeigt, wenn die HeaderFooter-Eigenschaft true ist, bis Sie ShowHeadFoot(true) aufrufen. Wenn Sie nicht:
    • Selecttext (long ll, long c1, longl2, long c2, band b Header!) gibt 0 zurück und der ausgewählte Text ist „“ (String mit der Länge 0)
    • Selecttext (long ll, long c1, long l2, long c2, band b Footer!) gibt 0 zurück und der ausgewählte Text ist „“ (String mit der Länge 0)

    2.8.5 Nicht unterstützte Funktionen

    • COM+-Laufzeit
    • Maschinencode-Generierung
    • Tablet
    • PBNI SDK zum Entwickeln von 64-Bit-PowerBuilder-Erweiterungen
    • Spalte im DataWindow-RichText-Stil
    • DataWindow-Websteuerelement für ActiveX
    • Statusleiste
    • Rastertabelle
    • ClearAll()-Funktion
    • Klare (wahre) Funktion
    • Change Pointer funktioniert nicht bei RichTextEdit-Steuerelementen
    • Mausrad scrollt nicht auf einer RichTextEdit-Seite
    • Unterstützung für Anwendungsserver

    HINWEIS: Wenn Sie Eigenschaften im Popup-Menü des RichTextEdit-Objektdialogs auswählen, stürzt die Anwendung ab, wenn Sie die Registerkarte Druckspezifikation auswählen und auf OK klicken.

    2.8.6 Verhaltensunterschiede

    Der RichText-Vorschaumodus verhält sich in 64-Bit anders, er ähnelt eher einer Druckvorschau

    2.8.7 Native Schnittstelle von PowerBuilder (PBNI)

    Sie können nur 32-Bit-PowerBuilder-Erweiterungen in der PowerBuilder Classic-IDE verwenden. Verpacken und verteilen Sie zur Laufzeit 64-Bit-Erweiterungsbibliotheken mit Ihren 64-Bit-Anwendungen. Die Dateinamen Ihrer 64-Bit-Erweiterung sollten mit den 32-Bit-Dateinamen übereinstimmen, da die Anwendung über den Dateinamen darauf verweist.

    2.8.8 OrcaScript

    Um native 64-Bit-Anwendungen mit OrcaScript zu erstellen, verwenden Sie die neue X64-Option, um ausführbare Befehle zu erstellen.

    Syntax: ausführbare Datei erstellen <exeName> < iconName> <pbrName> <pbdflags> <machinecode> <newvstylecontrols> x64

    2.9 Andockbare Windows

    In PowerBuilder Classic können Sie das Andockverhalten für die Blätter festlegen, die im MDI-Rahmenfenster (Multiple Document Interface) geöffnet werden.

    • Fenstertypen und Docking-Zustände
      Neue Fenstertypen ermöglichen das Öffnen von Blättern in einem von vier Zuständen: angedockt, unverankert, Dokument mit Registerkarten oder Fenster mit Registerkarten. Die neuen WindowTypes-Werte sind mdilock! und mdilockhelp!.
    • Sie können den Status jedes geöffneten Blatts mit dem Aufzählungstyp WindowDockState abrufen
      • WindowDockStateAngedockt!
      • WindowDockStateFloating!
      • WindowDockStateTabbedDocument!
      • WindowDockStateTabbedWindow!
      • Blätter in einem bestimmten Status öffnen
        Neue Versionen von OpenSheet() ermöglichen es Ihnen, ein Blatt an einer bestimmten Andockposition, in einer bestimmten Registerkartengruppe oder als Dokument zu öffnen
        • OpenSheetAsDocument()
        • OpenSheetAngedockt()
        • OpenSheetInTabGroup()
        • OpenSheetWithParmAsDocument()
        • OpenSheetWithParmAndocked()
        • OpenSheetWithParmInTabGroup()
        • Den MDI-Status beibehalten
          Sie können die Anwendung so einstellen, dass die Blätter beim Starten der Anwendung durch den Benutzer in derselben Position und im gleichen Zustand geöffnet sind, in denen der Benutzer sie geschlossen hat.
          Um den Status geöffneter Blätter beizubehalten, ist es wichtig, jedem geöffneten Blatt eine aussagekräftige Zeichenfolgen-ID zuzuordnen.
          • Legen Sie es als Argument fest, wenn Sie die Funktion OpenSheetAsDocument(), OpenSheetWithParmAsDocument(), OpenSheetDocked(), OpenSheetWithParmDocked(), OpenSheetInTabGroup() oder OpenSheetWithParmInTabGroup() verwenden
          • Stellen Sie es mit der Funktion SetSheetID() ein

          Sie können eine Funktion verwenden, um den MDI-Status in der Registrierung zu speichern, wenn die Anwendung geschlossen wird. Mit den anderen Funktionen können Sie dann die Blätter im Andockzustand laden, öffnen und präsentieren.

          SetSheetID() – setzt die eindeutige Kennung für ein geöffnetes Blatt

          SavingDockingState() – Speichert den MDI-Status in der Registry

          LoadDockingState() – Lädt zwei gleich große Arrays: Typnamen von persistenten Blättern und die entsprechenden IDs.

          OpenSheetFromDockingState() – Öffnet ein oder mehrere persistente Blätter in einem MDI-Rahmenfenster für andockbare Fenster.

          CommitDocking() – Nachdem alle persistenten Blätter geöffnet wurden, ordnet diese Funktion sie an und macht sie sichtbar.

          2.10 Neue Option für OrcaScript-Befehl

          Ab PowerBuilder 12.5 gibt es zusätzlich zu Full, Migration und Increment eine neue Option: 3pass

          Diese Option führt eine vollständige Neuerstellung der Anwendung durch. Sie sollten es anstelle von full verwenden, wenn es komplexe vererbte Beziehungen gibt.

          3. Migration von PowerBuilder 12.5 oder früher

          3.1 Web Forms-Ziel entfernt

          PowerBuilder 12.5.2 hat das Web Forms-Ziel entfernt. Wenn Sie Web Forms in PowerBuilder 12.5.1 oder früher verwenden, sollten Sie 12.5.2 GA nicht installieren. Die EBFs für 12.5.2 enthalten Fixes für Web Forms sowie Probleme für andere Funktionen.

          4. Migration von PowerBuilder 12.1 oder früher

          4.1 RTF und Bilder im DataWindow-Objekt

          PowerBuilder 12.5 führt die RTF-, Image- und XPS-Datenbank-Blobs sowie die RichText- und RichTextFile-Ausdrucksfunktionen für berechnete Felder ein.

          Die RTF-, Image- und XPS-Datenbank-Blob-Funktion ist eine Portierung der vorhandenen Funktion von PowerBuilder .NET.

          Die RichText-Ausdrucksfunktion nimmt als Argument einen als RTF-Datei interpretierten Zeichenfolgenausdruck und rendert ihn als solchen. Wenn das Argument nicht RTF ist, wird nichts gerendert.

          Die RichTextFile nimmt als Argument eine String-Ausdruck-Interpretation des Namens der RTF-Datei und gibt sie als solche wieder. Wenn das Argument keine RTF-Datei ist, wird nichts gerendert.

          4.2 Benutzerdefinierte Steuerelemente in DataWindow-Objekten

          Die Farbe (ausdruck)-Ausdrucksfunktionen ermöglichen Ihnen das Zeichnen von Objekten im DataWindow wie Polygonen, Pfeilspitzen, Kreissegmenten usw. Die Funktion Paint expression verwendet ein Argument für einen Zeichenfolgenausdruck und gibt dieselbe Zeichenfolge zurück. Dadurch können Sie innerhalb eines DataWindow-Objekts so zeichnen, dass die Position und die Z-Reihenfolge anderer DataWindow-Objekte berücksichtigt werden. Es sollte einen Funktionsaufruf einer globalen Zeichnungsfunktion mit Rendering-Logik enthalten. Ob ausdruck ein Zeichenfolgenausdruck ist und der Wert nicht null ist, gibt das berechnete Feld den ausgewerteten Zeichenfolgenausdruck wieder.

          Diese Funktion bietet auch die folgenden unterstützenden Funktionen:

          • GetPaintDC()
          • GetPaintRectX()
          • GetPaintRectY()
          • GetPaintRectWidth()
          • GetPaintRectHeight()

          4.3 Window Control transparent Wert und Transparenzeigenschaft

          PowerBuilder 12.5 führt zwei neue Funktionen für Fenstersteuerungen ein:

          • transparenter Wert für Fenstersteuerung BackColor
          • Transparenzeigenschaft für Fenstersteuerung

          Die folgenden Steuerelemente unterstützen den neuen Wert und die neue Eigenschaft:

          BildButton

          Radio knopf

          StaticHyperLink

          SingleLineBearbeiten

          MultiLineBearbeiten

          RichTextBearbeiten

          DropDownListBox

          DownDownPictureListBox

          4.4 Unterstützung für neue ASE 15.5-Datentypen (IM)

          PowerBuilder und InfoMaker unterstützen die neuen Datentypen in ASE 15.5: BIGTIME und BIGDATETIME.

          • BIGTIME: Enthält Stunde, Minute, Sekunde und Sekundenbruchteil. Der Bruch wird auf sechs Dezimalstellen gespeichert.
          • BIGDATETIME: Enthält Jahr, Monat, Tag, Stunde, Minute, Sekunde und Sekundenbruchteile. Der Bruch wird auf sechs Dezimalstellen gespeichert.

          4.5 Freigeben von Datenquellen mit .NET

          Neue Unterstützung für die gemeinsame Nutzung von ADO.NET-Verbindungen wurde hinzugefügt. PowerBuilder 12.5 bietet die Möglichkeit, ADO.NET-Verbindungen zwischen PowerBuilder (Win32) und in COM bereitgestellten .NET-Assemblys von Drittanbietern gemeinsam zu nutzen. Eine native PowerBuilder-Anwendung bietet die Möglichkeit, eine ADO.NET-Verbindung aus einer .NET-Assembly eines Drittanbieters zu importieren und eine ADO.NET-Verbindung in eine Assembly eines Drittanbieters zu exportieren. Diese Funktion ist bereits in PowerBuilder.NET vorhanden, aber die PowerBuilder Classic IDE unterstützt eine native Version dieser Funktion mit .NET COM Interop. Der PowerBuilder Transaction NVO wurden zwei Methoden hinzugefügt:

          • bool SetAdoConnection(oleobject connectionProxy) Importiert eine externe ADO.NET-Verbindung.
          • oleobject GetAdoConnection() Exportiert eine ADO.NET-Verbindung von einer verbundenen PB-Transaktionsinstanz.

          Sie können diese beiden Methoden aufrufen, um den Proxy abzurufen oder festzulegen, um eine ADO.NET-DB-Verbindung zwischen einer PB-App und einer .NET-Assembly eines Drittanbieters freizugeben.

          4.6 AutoWidth-Eigenschaft (IM)

          Im Bericht "Rasterdarstellungsstil" können Sie mit der Eigenschaft AutoWidth die Option zum automatischen Berechnen der Breite einer Spalte auswählen. Die AutoWidth-Eigenschaft nimmt einen dieser numerischen Werte an:

          • 0 - Keine AutoWidth: Dies ist der Standardwert.
          • 1 - AutoWidth wird für sichtbare Zeilen berechnet (monoton) und nimmt nicht ab, wenn die breiteste Spalte beim Scrollen verkleinert wird.
          • 2 - AutoWidth wird für sichtbare Zeilen berechnet (nicht monoton)
          • 3 - AutoWidth wird für alle abgerufenen Zeilen berechnet.

          Sie können die AutoWidth-Eigenschaft festlegen:

          • Wählen Sie im Painter in der Eigenschaftenansicht einen der Werte in der Dropdown-Liste für die AutoWidth-Eigenschaft aus.
          • In Skripten – setzen Sie die AutoWidth-Eigenschaft auf einen der numerischen Werte.

          4.7 Unterstützung für Tab-Reihenfolge, Aktiviert und Fokus-Rechteck-Eigenschaften anzeigen

          Diese Eigenschaften werden im PowerBuilder Classic DataWindow unterstützt. PowerBuilder .NET WPF DataWindow unterstützt nur Tab Sequence und Enabled. Die Eigenschaft Tab Sequence ist nicht ausdrucksfähig, aber Enabled und Show Focus Rectangle sind.

          • Der Standardwert von Tab Sequence ist null für alle Nicht-Spalten-Steuerelemente, wodurch das vorherige Verhalten repliziert wird. Sie können es nach Bedarf bearbeiten.
          • Der Standardwert für die Eigenschaft Aktiviert ist "yes."
          • Der Standardwert der Eigenschaft Fokusrechteck anzeigen ist "no."

          Notiz: Die Eigenschaft Fokusrechteck anzeigen wird nur in PowerBuilder Classic unterstützt.

          Die folgenden DataWindow-Steuerelemente verfügen jetzt über die Eigenschaften Tab-Reihenfolge, Aktiviert und Fokusrechteck anzeigen:

          • Schaltfläche (Fokusrechteck anzeigen gilt nicht)
          • Berechnetes Feld
          • Graph
          • Bild
          • TableBlob
          • Text

          Das Column-Steuerelement verfügt nicht über die Enabled-Eigenschaft, da es über vorhandene Mechanismen verfügt, die denselben Effekt erzielen. PowerBuilder Classic unterstützt diese Eigenschaften für OLE-Objekte und OLE-Datenbank-Blobs.

          5. Migration von PowerBuilder 12.0 oder früher

          5.1 ASE 15.5-Unterstützung (IM)

          In PowerBuilder und InfoMaker 12.1 können Sie auf Adaptive Server Enterprise 15.5 zugreifen. Es wird jedoch keine Unterstützung für neue ASE 15.5-Funktionen hinzugefügt.

          5.2 Sql Anywhere 12.0-Unterstützung (IM)

          In PowerBuilder und InfoMaker 12.1 können Sie auf SQL Anywhere Version 12.0 zugreifen. Es wird jedoch keine Unterstützung für neue SQL Anywhere-Funktionen hinzugefügt.

          5.3 HasMinHeight-Eigenschaft

          PowerBuilder Classic 12.1 verfügt über eine neue Höheneigenschaft und eine neue Höhenausdrucksfunktion für das DataWindow-Objekt. Diese Eigenschaft wird nur in PowerBuilder Native unterstützt. Es wird in Windows Forms, Web Forms oder PowerBuilder .NET nicht unterstützt. HasMinHeight gilt nur für Spalten, für die Autosize aktiviert ist. Wenn sowohl Autosize height als auch HasMinHeight true sind, ist der Height-Wert der Höchstwert zwischen dem Autosize-Wert (der berechnete Wert, wenn die Autosize-Höhe auf true gesetzt ist) und dem in der Height-Eigenschaft angegebenen Wert. Beispielsweise:

          5.4 FontHeight-Funktion

          PowerBuilder Classic 12.1 verfügt über eine neue Höhenausdrucksfunktion für das DataWindow-Objekt. Diese Funktion wird nur in PowerBuilder Native unterstützt. Es wird in Windows Forms, Web Forms oder PowerBuilder .NET nicht unterstützt. Mit der neuen DataWindow-Ausdrucksfunktion FontHeight können Sie die Höhe der Schriftart für eine Spalte oder ein berechnetes Feld ermitteln. Diese Funktion verwendet den Spaltennamen als Argument. Verwenden Sie diese Funktion, um die minimale Höhe auf die Größe der Schrift einzustellen.

          5.5 Suchfunktion

          Das Datenfenster Finden Funktion hat jetzt ein Pufferargument. Sie können das neue Argument verwenden, um Daten im Delete! oder filtern! Puffer. Der Standardwert ist Primär! Das Argument ist optional.

          6. Migration von PowerBuilder 11.5.1 oder früher

          6.1 Veraltete Funktionalität

          Die Möglichkeit, eine COM- oder COM+-Komponente zu erstellen, ist nicht mehr verfügbar. Sie können jedoch weiterhin eine Verbindung zu COM- und COM+-Komponenten über standardmäßige PowerBuilder-Client-Server-Anwendungen herstellen.

          6.2 PowerBuilder Classic und PowerBuilder .NET

          PowerBuilder 12.0 wird mit zwei separaten IDEs installiert. Die bekannte PowerBuilder-IDE wird in PowerBuilder Classic umbenannt. Die neue IDE heißt PowerBuilder .NET.

          Die PowerBuilder Classic IDE behält dieselbe grundlegende Funktionalität wie in früheren PowerBuilder-Versionen bei. Die PowerBuilder .NET-IDE hostet die isolierte Visual Studio-Shell und wurde für die Einhaltung der allgemeinen Sprachspezifikationen für .NET entwickelt.

          PowerBuilder .NET enthält einen neuen Zieltyp (WPF Window Application) und zwei neue Projekttypen (WPF Window und WCF Client Proxy). Sie können PowerBuilder Classic-Client-Server- und Windows Forms-Ziele zu PowerBuilder .NET migrieren, indem Sie den Ziel-Assistenten für WPF-Fensteranwendungen verwenden.

          Der Zieltyp .NET-Assembly ist sowohl in PowerBuilder Classic als auch in PowerBuilder .NET verfügbar, aber in PowerBuilder .NET können Sie die Sprachverbesserungen für eine vollständigere .NET-Konformität nutzen. Sie können auch .NET-Assembly-Ziele von PowerBuilder Classic zu PowerBuilder .NET migrieren.

          Informationen zu PowerBuilder .NET-Zielen und -Projekten finden Sie im PowerBuilder .NET-Funktionenhandbuch.

          6.3 Plattformunterstützung (IM)

          PowerBuilder 12.0 bietet Unterstützung für die 32-Bit-Plattform von Windows 7 Professional und wurde auch auf Windows XP (SP3), Windows XP Tablet PC (SP 3), Windows Server 2003 (SP 2) und Windows Vista (SP 2) getestet. . PowerBuilder 12.0 unterstützt weiterhin die Bereitstellung auf Windows Server 2008 (SP 2), unterstützt jedoch nicht mehr die Bereitstellung unter Windows 2000.

          6.4 Neue Eigenschaften, Funktionen und Datenbankparameter

          Die folgenden neuen Elemente sind in der Online-Hilfe zu PowerBuilder 12.0 dokumentiert:

          • OriginalSize-Eigenschaft für Schaltflächen und Bildsteuerelemente in DataWindow-Objekten
          • Klare (gridFlag) Syntax für RichTextEdit-Steuerelemente
          • ClearAll-Funktion für RichTextEdit-Steuerelemente
          • Die Funktionen CloseUserObject, OpenUserObject und OpenUserObjectWithParm werden für visuelle Benutzerobjekte unterstützt
          • PBAddCookie- und PBGetCookies-Funktionen für Web-Service-Proxy-Objekte
          • Elf SoapPBCookie-Methoden zum Abrufen und Einstellen von Cookie-Eigenschaften
          • Vier SoapConnection-Methoden zum Festlegen von Proxyserver-Umgehungsbedingungen
          • GenerateEqualIsNull-Datenbankparameter für alle Datenbankverbindungen
          • NCharBind-Datenbankparameter für SQL Server (SNC)-Verbindungen

          6.5 Erweiterungen des Runtime Packager

          In PowerBuilder 12.0 wurde der Runtime Packager verbessert, um die Generierung eines Microsoft Merge Module (MSM-Datei) anstelle einer MSI-Datei zu ermöglichen.

          Wenn Sie die Option PowerBuilder .NET-Komponenten auswählen, enthält die vom Runtime Packager erstellte MSM- oder MSI-Datei jetzt die Laufzeitdateien, die für Anwendungen erforderlich sind, die in der neuen PowerBuilder .NET-IDE entwickelt wurden. Das Installationspaket, das Sie mit der Option PowerBuilder .NET-Komponenten erstellen, enthält jedoch weiterhin die Laufzeitdateien, die für .NET-Anwendungen und -Komponenten erforderlich sind, die Sie in der PowerBuilder Classic-IDE entwickeln.

          Im Runtime Packager können Sie auch eine Option zum Einschließen von DLL-Dateien auswählen, die zum Exportieren von Diagramm- oder DataWindow-Daten in eine Datei im Microsoft Excel 2007-Format erforderlich sind. Die Dateien Sybase.PowerBuilder.DataWindow.Excel12.dll und PBDWExcel12Interop120.dll werden der MSM- oder MSI-Datei hinzugefügt, wenn Sie das Kontrollkästchen MS Excel12 Support aktivieren und ein Installationspaket aus dem Runtime Packager erstellen. Das Format von Microsoft Excel 2007 erfordert ebenfalls .NET Framework 3.0 oder höher, dieses muss jedoch separat auf dem Runtime-Rechner installiert werden, da es nicht in dem vom Runtime Packager generierten Paket enthalten ist.

          6.6 Erweiterungen für die ADO.NET-Schnittstelle

          Die PowerBuilder 12 ADO-Schnittstelle wurde erweitert, um ADO.NET-Provider zu unterstützen. Jetzt können Sie zur Laufzeit eine Verbindung zu jeder Datenquelle herstellen, die dem ADO.NET 2.0 Common Provider-Modell entspricht.

          ADO .NET-Anbieter

          Erweiterungen für die ADO.NET-Schnittstelle

          ADO.NET für Oracle

          ODP.NET-Treiber-Updates
          Treiber für diese ODP.NET-Versionen werden aktualisiert:

          • Für Oracle 10g wurde der Oracle.DataAccess.dll-Treiber von Version 10.1.0.301 auf 2.102.2.20 aktualisiert
          • Für Oracle 11 wurde der Treiber Oracle.DataAccess.dll Version 2.111.6.20 hinzugefügt

          Beide Treiber sind ADO.NET 2.0 kompatibel.

          Die PowerBuilder ADO.NET-Schnittstelle enthält keinen Treiber für Oracle ODP.NET 9i mehr. Benutzer dieses Anbieters sollten zu Oracle ODP.NET 10g migrieren.

          Neue Funktionen von ODP.NET 2.0 für Oracle 10.2 und früher

          • Kundenkennung: Die Client-ID ist ein vordefiniertes Attribut für den Oracle-Anwendungskontext-Namespace USERENV. Wie bei der Proxy-Authentifizierung ermöglicht die Client-ID die Verfolgung von Benutzeridentitäten. Im Gegensatz zur Proxy-Authentifizierung erfordert die Client-ID jedoch keine separaten Sitzungen für den Proxy-Benutzer und den Endbenutzer. Außerdem muss die Client-ID kein Datenbankbenutzer sein und kann auf eine beliebige Zeichenfolge festgelegt werden. Am wichtigsten ist, dass die Client-ID es ODP.NET-Entwicklern ermöglicht, Anwendungskontext und Oracle Label Security zu verwenden und eine Oracle Virtual Private Database (VPD) einfacher zu konfigurieren. Konfigurieren Sie die Client-ID für Oracle ADO.NET-Datenprovider auf der Registerkarte Treiberspezifisch des Dialogfelds Datenbankprofil-Setup.
          • Verbindungspool-Optimierungen für RAC-Datenbanken: Ein Oracle Data Provider für ADO.NET optimiert das Verbindungspooling für Real Application Cluster (RAC)-Datenbanken, indem er Arbeitsanforderungen über Oracle RAC-Instanzen verteilt, basierend auf den Lastausgleichsberatungs- und Serviceanforderungen. Darüber hinaus kann der ODP.NET-Verbindungspool aktiviert werden, um proaktiv Ressourcen freizugeben, die mit Verbindungen verbunden sind, die getrennt wurden, wenn ein Oracle RAC-Dienst, eine Instanz oder ein Knoten ausfällt. Geben Sie ODP.NET-Verbindungspooloptimierungen als Argumente für den Parameter ProviderString DBParm an. Sie können treiberspezifische Parameter unten auf der Registerkarte „Verbindung“ des Dialogfelds „Datenbankprofil einrichten“ eingeben.
          • Abruf großer Objekte: Sie können ganze Spalten mit LOB-Daten (Large Object) abrufen, auch wenn die Auswahlliste keinen Primärschlüssel, keine Zeilen-ID oder keinen eindeutigen Schlüssel enthält. Um diese Erweiterung zu verwenden, setzen Sie den Eigenschaftswert InitialLOBFetchSize für CLOB- und BLOB-Objekte auf -1.
          • LANGER Abruf: Sie können ganze Spalten mit LONG- und LONGRAW-Daten abrufen, auch wenn die Auswahlliste keinen Primärschlüssel, keine Zeilen-ID oder keinen eindeutigen Schlüssel enthält. Um diese Erweiterung zu verwenden, legen Sie den Eigenschaftswert InitialLONGFetchSize auf -1 fest.
          • XMLTyp: Der Oracle XMLType-Datentyp wird dem PowerBuilder-String-Typ mit den folgenden Einschränkungen zugeordnet:
            • XMLTyp kann nicht in Where-Klauseln in PowerBuilder Embedded SQL-Anweisungen oder in einem DataWindow-Objekt verwendet werden.
            • XMLTyp Spalten können nicht direkt von einem Oracle-Cursor ausgewählt werden.
            • XMLTyp kann kein Parameter einer Prozedur oder Funktion sein, da PowerBuilder bindet XMLTyp Als ein Schnur type, aber Oracle unterstützt diese Verwendung nicht.

            Neue Funktionen für ODP.NET 2.0 für Oracle 11g

            • ODP.NET-Konfiguration: Entwickler können ODP.NET jetzt mithilfe von Konfigurationsdateien konfigurieren, einschließlich der .NET-Anwendungskonfigurationsdatei, web.config und machine.config. Einstellungen in der Datei machine.config überschreiben die Registrierungseinstellungen. Die Einstellungen in der Anwendungskonfigurationsdatei oder der Datei web.config überschreiben die Werte in der Datei machine.config.
            • Zusätzliche Verbindungspool-Optimierungen für RAC und Data Guard: ODP.NET bereinigt jetzt den Verbindungspool, wenn das Datenbank-Down-Ereignis von Real Application Clusters (RAC) oder Oracle Data Guard empfangen wird. Dies gilt zusätzlich zu den Ereignissen, für die ODP.NET zuvor den Verbindungspool bereinigt hat: Knoten ausgefallen, Dienstmitglied ausgefallen und Dienst ausgefallen.
            • Pooling von Windows-authentifizierten Benutzerverbindungen: Sie können jetzt vom Betriebssystem authentifizierte Verbindungen als Teil von ODP.NET-Verbindungspools über die Windows-Kontoverwaltung verwalten.
            • Leistungsindikatoren des Verbindungspools: ODP.NET veröffentlicht Leistungsindikatoren für das Verbindungspooling, die mit dem Windows-Leistungsmonitor angezeigt werden können. Für PowerBuilder können die Zähler in der Windows-Registrierung oder in der Anwendungskonfigurationsdatei festgelegt werden.

            Die folgenden ADO.NET 1.1-Features werden nicht unterstützt:

            • Benutzerdefinierte Oracle-Typen: PowerBuilder unterstützt keine UDT-Typen.
            • Massenkopiervorgänge: ADO.NET 1.1 ermöglicht Anwendungen das effiziente Laden großer Datenmengen aus einer Tabelle in einer Datenbank in eine andere Tabelle in derselben oder einer anderen Datenbank. PowerBuilder unterstützt keine Massenkopien, sondern verwendet Pipelines für Tabellenkopiervorgänge.

            ADO.NET für Adaptive Server Enterprise

            Treiber für diese ADO.NET-Versionen werden aktualisiert:

            • Der ASE 12.5x ADO.NET-Treiber Sybase.Data.AseClient.dll wird von Version 1.1.411.0 auf 1.1.670.0 aktualisiert. Der ASE 12.5x ADO.NET-Treiber ist ADO.NET 1.1-kompatibel und unterstützt ADO.NET 2.0 nicht.
            • Der ASE 15 ADO.NET-Treiber wird von Sybase.Data.AseClient.dll Version 1.15.50.0 auf Sybase.AdoNet2.AseClient.dll 1.15.325.0 aktualisiert. Der ASE 15 ADO.NET-Treiber ist ADO.NET 2.0-kompatibel.

            Neue Funktionen für ASE 15

            Der ASE 15 ADO.NET-Treiber unterstützt diese neuen ASE-Identitätstypen:

            • Bigint Identität
            • Int Identität
            • SmallInt Identität
            • Tinyint Identität
            • ohne Vorzeichen bigint Identität
            • ohne Vorzeichen int Identität
            • ohne Vorzeichen klein Identität

            ADO.NET für Microsoft SQL Server

            Neue Funktionen für SQL Server 2005 und früher

            • xml, varchar(max) und nvarchar(max) werden dem PowerBuilder-String-Typ zugeordnet. varbinary(max) wird dem PowerBuilder-Blob-Typ zugeordnet.
            • PowerBuilder unterstützt die SQL Server-Datenbankspiegelung und ein DBNotification-Ereignis wird ausgelöst, wenn ein Failover auftritt. Ein neuer DBParm-Parameter, FailoverPartner, ermöglicht Ihnen das Festlegen des SQL Server-Failover-Partnerservers, wie in der SQL Native Client (SNC)-Schnittstelle
            • Abfragebenachrichtigungen werden von der PowerBuilder ADO-Schnittstelle für SQL Server nicht unterstützt.

            Neue Funktionen für SQL Server 2008

            Die folgenden SQL Server 2008-Features werden unterstützt:

            Der SQL-Server Terminzeit und Datum/Uhrzeit2 Datentypen werden PowerBuilder zugeordnet Terminzeit und Terminzeit Typen. varbinary(max) (Dateistrom) wird dem PowerBuilder zugeordnet Klecks Typ. Die maximale Skala von Zeit oder Datum/Uhrzeit2 ist 6.

            • Die neuen T-SQL-Befehle unterstützen:
              • MERGE-Anweisung
              • Gruppierungssätze
              • Zeilenkonstruktoren
              • Tabellenhinweise
              • Der neue T-SQL-Befehl funktioniert in der PowerBuilder ADO-Schnittstelle für SQL Server wie in der SNC-Schnittstelle.

              Diese Funktionen von SQL Server 2008 sind nicht unterstützt:

              ADO.NET für SQL Anywhere

              Stellen Sie mithilfe eines iAnywhere.Data.SQLAnywhere-Providers eine Verbindung zu einer SQL Anywhere-Datenbank her. PowerBuilder-Anwendungen können alle datenbankbezogenen Operationen ausführen, beispielsweise das Durchsuchen von SQL Anywhere-Datenbankobjekten wie Tabellen und Prozeduren und das Abrufen und Aktualisieren von Daten im Database Painter.

              ADO.NET für Informix

              Der Informix-Typ DATETIME HOUR TO SECOND wird in PowerBuilder als Typ TIME behandelt. Außerdem wird die Spalte vom Typ TIME im Database Painter als DATETIME angezeigt, da die beiden Varianten des Typs DATETIME von Informix im Ergebnismengenschema nicht zu unterscheiden sind.

              Der IBM.Data.Informix-Treiber unterstützt das BindSPInput-dbarm nicht.

              ADO.NET für DB2

              PowerBuilder unterstützt DB2 mit dem System.Data.Odbc-Provider sowohl für Laufzeit- als auch für Entwurfszeitoperationen.

              7. Migration von PowerBuilder 11.5 oder früher

              7.1 Bereitstellungsunterstützung für die Windows 2000-Plattform (IM)

              Auf Kundenwunsch enthält PowerBuilder 11.5.1 Bereitstellungs- und Laufzeitunterstützung für die Windows 2000-Plattform, die zuvor mit der Version PowerBuilder 11.5 eingestellt wurde. Windows 2000 wird jedoch nicht als Entwicklungsplattform unterstützt und die Laufzeitunterstützung wird möglicherweise in zukünftigen Versionen von PowerBuilder entfernt.

              7.2 JDK 1.6-Unterstützung (IM)

              Anwendungen und Komponenten von PowerBuilder 11.5.1 enthalten Unterstützung für JDK1.6_02, das Sie optional mit dem Setup-Programm von Sybase EAServer 6.2 installieren können.

              7.3 FIPS 140-2-Zertifizierung (IM)

              Die Entwicklungsumgebung PowerBuilder 11.5.1 erfüllt die Verschlüsselungsanforderungen des Federal Information Processing Standard (FIPS), wie in Publikation 140-2 des National Institute of Standards and Technology der US-Regierung beschrieben. Um diese Standards zu erfüllen, bettet PowerBuilder die kryptografischen Module von Certicom 5.x ein. Der Support ist nur für die PowerBuilder-Entwicklungsumgebung zertifiziert, nicht für Laufzeitanwendungen, die mit PowerBuilder erstellt wurden. Der FIPS 140-2-Standard erfordert, dass Kennwörter verschlüsselt werden. Die Benutzeroberfläche von PowerBuilder 11.5.1 zeigt alle Kennwörter als Zeichenfolgen von Sternchen an. Einige Dateien mit Kennwörtern, z. B. Datenbankprofile, die Sie aus PowerBuilder 11.5.1 exportieren, können aufgrund des verbesserten Kennwortschutzes nicht korrekt in frühere Versionen von PowerBuilder importiert werden. Sie können jedoch weiterhin Dateien mit unverschlüsselten Kennwörtern aus früheren Versionen von PowerBuilder importieren. Wenn Sie diese Dateien in PowerBuilder 11.5.1 speichern oder daraus exportieren, werden die Kennwörter mit einer FIPS-kompatiblen Methode verschlüsselt.

              7.4 Unterstützung für Microsoft Office 2007 Excel-Formate (IM)

              PowerBuilder 11.5.1 können Sie auch DataWindow- und Diagrammdaten im .XLSX- und .XLSB (Excel12)-Format mit oder ohne Spaltenüberschriften speichern. Da .NET Framework 3.0 oder höher auf Entwicklungs- und Laufzeitcomputern installiert sein muss, um diese Funktionalität zu verwenden, können Sie Daten in diesen Formaten nicht auf Windows 2000-Computern speichern.

              Abgesehen von der Windows 2000-Plattformeinschränkung wird dieselbe Unterstützungsstufe wie für Microsoft Office 2003 bereitgestellt. Sie können den PowerScript SaveAs-Befehl mit Diagrammen oder DataWindow-Steuerelementen verwenden, um Daten in Excel 2007-Formaten zu speichern, indem Sie das saveastype-Argument auf XLSX! oder XLSB! Sie können DataWindow-Daten auch in Excel 2007-Formate exportieren, indem Sie eines der Excel12-Elemente aus der Dropdown-Liste im Dialogfeld Speichern unter auswählen, das angezeigt wird, wenn Sie das Menüelement Zeilen speichern unter im DataWindow-Maler auswählen.

              Die Unterstützung von Excel 2007 ist von den folgenden stark benannten Assemblys abhängig:

                • Sybase.PowerBuilder.DataWindow.Excel12.dll Diese Assembly wird im GAC installiert.
                • PBDWExcel12Interop115.dll Diese Assembly wird im Verzeichnis Sybase/Shared/PowerBuilder installiert.

                Diese DLLs werden vom Runtime Packager bereitgestellt, wenn Sie das Kontrollkästchen MS Excel12 Support aktivieren.

                7.5 Unterstützung für SQL Anywhere 11.0-Spiegelung (IM)

                PowerBuilder 11.5.1 ermöglicht Ihnen die Nutzung der SQL Anywhere 11.0-Datenbankspiegelung. Die Datenbankspiegelung ist eine Konfiguration von entweder zwei oder drei Datenbankservern, die zusammenarbeiten, um Kopien von Datenbank- und Transaktionsprotokolldateien zu verwalten. Wenn der Primärserver aufgrund eines Hardware- oder Softwarefehlers nicht verfügbar ist, verhandelt der Spiegelserver mit dem SQL Anywhere-Arbiterserver, um den Besitz der Datenbank zu übernehmen und die Rolle des Primärservers zu übernehmen.

                7.6 Informix 11.5-Support (IM)

                PowerBuilder 11.5.1-Anwendungen und -Komponenten funktionieren ordnungsgemäß mit dem Informix 11.5-DBMS über die I10-Schnittstelle, obwohl die neuen Informix 11.5-Funktionen in dieser Version nicht unterstützt werden. Sie können den 110 Informix v10.x-Datenbanktreiber verwenden, um eine Verbindung zum Informix 11.5-DBMS herzustellen, dies erfordert jedoch auch, dass Sie den Informix-Client von Informix SDK 2.9 auf Informix SDK 3.5 aktualisieren.

                7.7 Unterstützung von Microsoft SQL Server 2008 (IM)

                PowerBuilder 11.5 enthielt Unterstützung für viele der neuen SQL Server 2008-Funktionen, aber das freigegebene SQL Server-Produkt war vor dem Veröffentlichungsdatum von PowerBuilder nicht für vollständige Tests verfügbar.Diese Funktionen wurden jedoch mit PowerBuilder 11.5.1 getestet. Sie werden im Handbuch zu neuen Funktionen für PowerBuilder 11.5 und in der Online-Hilfe beschrieben.

                8. Migration von PowerBuilder 11.2 oder früher

                8.1 Verzeichnisänderungen für FDCC-Compliance (IM)

                Die Federal Desktop Core Configuration (FDCC) ist ein vom US Office of Management and Budget (OMB) vorgeschriebener Sicherheitsstandard. Obwohl die meisten PowerBuilder-Dateien standardmäßig in den Unterverzeichnissen ProgrammeSybase installiert werden, ist der Schreibzugriff auf diese Unterverzeichnisse normalerweise auf Administratoren beschränkt. Um die FDCC-Anforderungen zu erfüllen, werden daher in PowerBuilder 11.5 und höher alle beschreibbaren Dateien in Verzeichnissen installiert, kopiert oder erstellt, in denen Standardbenutzer Schreibzugriff haben.

                8.1.1 FDCC-Einschränkungen für bestimmte PowerBuilder-Funktionen (IM)

                Einige PowerBuilder-Funktionen erfordern möglicherweise weiterhin Schreibzugriff auf die Unterverzeichnisse ProgrammeSybase oder die Möglichkeit, einen Systemdrucker hinzuzufügen. Um beispielsweise ein DataWindow in einer PDF-Datei zu speichern, müssen Sie zuerst die Dateien PSCRIPT.DLL, PSCRIPT.NTF und PS5UI.DLL in das Verzeichnis ProgrammeSybaseSharedPowerBuilderdrivers kopieren und Sybase . installieren Datawindow PS-Drucker. Dies muss von einem Administrator durchgeführt werden, bevor ein Standardbenutzer ein DataWindow in einer PDF-Datei speichern kann.

                Bei Verwendung von Remote-Debugging auf einem FDCC-konfigurierten Desktop mit aktivierter Windows-Firewall schlägt die Verbindung zum Server fehl, wenn pb115.exe nicht in der Liste der Firewall-Ausnahmen auf Domänenebene enthalten ist. Um das Remote-Debugging unter diesen Umständen zu verwenden, müssen Sie pb115.exe zur Liste der Firewall-Ausnahmen auf Domänenebene hinzufügen (oder PowerBuilder 11.5 aus der Programmliste auswählen).

                8.1.2 Von allen Benutzern freigegebene Dateien (IM)

                Als Teil seiner FDCC-Konformitätskonfiguration installiert PowerBuilder beschreibbare Dateien, die von allen Benutzern gemeinsam genutzt werden, im Verzeichnis C:Dokumente und EinstellungenAlle BenutzerDokumenteSybasePowerBuilder 11.5 unter Windows XP und Windows 2003 und in C:Benutzer PublicDocumentsSybasePowerBuilder 11.5 unter Windows Vista und Windows 2008. Diese Dateien umfassen:

                  • Die EASDemo-Datenbanken (easdemo115.db und easdemo115u.db)
                  • Alle Verzeichnisse und Dateien mit Codebeispielen
                  • Die PowerBuilder Windows-Hilfe und kompilierte HTML-Hilfedateien
                  • Die Verzeichnisse und Dateien des Translation Toolkit

                  Bei InfoMaker werden beschreibbare Dateien, die von allen Benutzern gemeinsam genutzt werden, im Verzeichnis C:Dokumente und EinstellungenAlle BenutzerDokumenteSybaseInfoMaker 11.5 unter Windows XP und Windows 2003 und unter Windows Vista und Windows 2008 unter C:Benutzer installiert PublicDocumentsSybaseInfoMaker 11.5. Dies beinhaltet die:

                  8.1.3 Für einzelne Benutzer reservierte Dateien (IM)

                  Andere beschreibbare Dateien werden in den standardmäßigen ProgrammdateienSybase-Unterverzeichnissen installiert, aber beim ersten Start eines Benutzers von PowerBuilder oder InfoMaker an andere Speicherorte kopiert. Auf diese Weise erhält jeder PowerBuilder- oder InfoMaker-Benutzer eine private Kopie dieser Dateien.

                  Tabelle 1 listet die Dateien auf, die in die Verzeichnisse aller Benutzer kopiert und aktualisiert werden, die eine Instanz von PowerBuilder oder InfoMaker ausführen. Die Pfadvariable im Tabellenkopf (UserName) steht für den Benutzernamen eines PowerBuilder- oder InfoMaker-Benutzers. Unter Windows XP und 2003 befindet sich dies im Verzeichnis C:Dokumente und Einstellungen. Bei Windows Vista und 2008 befindet sich dies im Verzeichnis C:Benutzer.

                  Tabelle 1. Neue Verzeichnispfade für einige installierte PowerBuilder- und InfoMaker-Dateien

                  Unter Windows XP und 2003: Lokale EinstellungenAnwendungsdatenSybasePowerBuilder 11.5

                  • Initialisierungsdateien (PB.INI, PBLAB115.INI, PBODB115.INI)
                  • Lizenzdateien (PB115.LIC, pb115_sysam.properties)

                  Unter Windows XP und 2003: Eigene DateienSybasePowerBuilder 11.5Tutorial

                  Unter Windows XP und 2003: Lokale EinstellungenAnwendungsdatenSybaseInfoMaker 11.5

                    • Initialisierungsdateien (IM.INI, PBLAB115.INI, PBODB115.INI)
                    • Lizenzdateien (IM115.LIC, im115_sysam.properties)

                    Unter Windows XP und 2003: Eigene DateienSybaseInfoMaker 11.5Tutorial

                    Die Speicherorte der beschreibbaren PowerBuilder-Dateien, die für den individuellen Gebrauch reserviert sind, werden in den Registrierungseinträgen HKEY_CURRENT_USER für jeden PowerBuilder-Benutzer festgelegt. Beispielsweise wird der Speicherort der PB.INI-Datei, die in das lokale Anwendungsdatenverzeichnis jedes Benutzers kopiert wird, unter dem Registrierungsschlüssel HKEY_CURRENT_USERSybasePowerBuilder11.5InitPath registriert.

                    8.2 Veraltete Funktionen

                    Die folgenden Elemente wurden entfernt und sind in PowerBuilder ab Version 11.5 nicht mehr verfügbar:

                      • IE Web Control (PBWebControlSource) Option in Web Forms-Projekten
                      • Oracle 8/8i (O84) Datenbankschnittstelle
                      • JSP-Ziele (verwenden Sie stattdessen Sybase Workspace)
                      • Automatisierungsserver-Projekte
                      • DataWindow-Plug-In und PowerBuilder-Fenster-Plug-In
                      • PowerBuilder-Fenster ActiveX
                      • UDDI-Browser in Web Service Proxy-Projekten

                      9. Migration von PowerBuilder 11.1 oder früher

                      9.1 AJAX-Update-Funktionalität für Web Forms-Anwendungen

                      PowerBuilder 11.2 verwendet AJAX-Aktualisierungsfunktionen (Asynchronous JavaScript and XML) für Web Forms-Anwendungen. Mit ASP.NET AJAX werden Web Forms-Seiten aktualisiert, indem einzelne Bereiche jeder Seite asynchron aktualisiert werden.

                      Die AJAX-Erweiterung für Web Forms-Anwendungen erfordert keine Änderungen in der PowerBuilder-IDE, und Sie müssen Ihren PowerScript-Code nicht ändern, um die AJAX-Funktion zu verwenden. PowerBuilder kann jedoch keine Web Forms-Anwendung bereitstellen, es sei denn, AJAX ist auf dem Webserver installiert. Sie können die Microsoft ASP.NET AJAX Extensions Version 1.0 sowohl auf den Entwicklungs- als auch auf den Bereitstellungscomputern von der ASP.NET-Website unter http://www.asp.net/ajax/downloads/archive herunterladen und installieren.

                      9.2 Telerik RadControls ersetzen IE Web Controls in Web Forms-Anwendungen

                      PowerBuilder 11.2 verwendet standardmäßig Telerik RadControls für Menüs, Symbolleisten und andere Steuerelemente in Web Forms-Anwendungen. Obwohl dies nicht empfohlen wird, können Sie IE Web Controls anstelle der RadControls verwenden, aber Sie müssen die globale Eigenschaft PBWebControlSource für Ihre Anwendung ändern und die IE Web Controls auf dem Server installieren.

                      Wenn Sie IE-Websteuerelemente verwenden müssen, müssen Sie IE-Websteuerelemente von der Microsoft-Website herunterladen und die Steuerelemente auf dem Webserver installieren. Nachdem Sie die Steuerelemente installiert haben, müssen Sie die PBWebControlSource-Auswahl auf „IE“ setzen, entweder auf der Registerkarte „Konfiguration“ des Projektmalers, bevor Sie Ihre Anwendung bereitstellen, oder in der Datei „Web.config“, nachdem Sie Ihre Anwendung bereitgestellt haben.

                      10. Migration von PowerBuilder 11.0 oder früher

                      10.1 Migration zu Microsoft Vista (IM)

                      Eine der wichtigsten Änderungen in Windows Vista ist die Einführung der Benutzerkontensteuerung (UAC). UAC ist der Mechanismus, den Vista verwendet, um die Standardberechtigungen einzuschränken, mit denen Benutzer unter Vista ausgeführt werden. Die Einschränkung dieser Berechtigungen soll die Wahrscheinlichkeit verringern, dass sich die Aktionen eines Benutzers auf die Konfiguration des Systems oder den Status und die Einstellungen anderer Benutzer auswirken.

                      10.1.1 Ausführen von PowerBuilder (IM)

                      PowerBuilder schreibt normalerweise in mehrere Dateien im Programmdateiverzeichnis, einschließlich pb.ini, PB110_sysam.properties sowie Codebeispiele, Tutorials und Demodatenbankdateien. Wenn eine Anwendung ohne Administratorrechte ausgeführt wird, verhindert Vista, dass sie in die Unterstruktur HKEY_LOCAL_MACHINE in der Registrierung, das Verzeichnis für Programmdateien und das Windows-Verzeichnis schreibt. Stattdessen werden Änderungen in einen beschreibbaren Bereich in der Registrierung und in das lokale Verzeichnis des Benutzers geschrieben. Dies wird als Virtualisierung bezeichnet.

                      Wenn Sie beispielsweise PowerBuilder ohne Administratorrechte starten, wird die Datei pb.ini in ProgrammeSybasePowerBuilder 11.0pb.ini im Verzeichnis C:Benutzer<your_name>AppDataVirtualStore geschrieben.

                      Um die aus diesem Verhalten resultierenden Probleme zu vermeiden, müssen Sie PowerBuilder 11.1 unter Vista mit Administratorrechten starten, indem Sie im Startmenü oder Explorer mit der rechten Maustaste auf pb110.exe klicken und im Popup-Menü Als Administrator ausführen auswählen.

                      10.1.2 Signierte DLLs für die Bereitstellung (IM) erforderlich

                      Wenn Sie eine Anwendung unter Vista ausführen, warnt Vista Sie, wenn die Anwendung DLLs verwendet, die nicht mit einem Authenticode-Zertifikat signiert wurden. Wenn Sie Ihre Anwendung mit der Windows Vista-Logo-Zertifizierung bereitstellen möchten, müssen alle DLLs, die Sie damit verteilen, signiert sein. PowerBuilder-Laufzeit-DLLs und alle anderen PowerBuilder-DLLs sind signiert.

                      10.1.3 Anforderungen an IIS 6-Kompatibilitätskomponenten für Web Forms auf IIS 7 (Vista)

                      Wenn Sie eine Web Forms-Anwendung auf einem Remoteserver mit IIS 7 bereitstellen oder eine Smart-Client-Anwendung auf einem lokalen oder Remoteserver mit IIS 7 veröffentlichen, muss die Vista-Metabase-Kompatibilitätskomponente von IIS 7 auf dem Server installiert sein. Diese Komponente wird standardmäßig nicht installiert. Es ist nicht erforderlich, eine Web Forms-Anwendung auf einem lokalen Server bereitzustellen.

                      Sie können es über die Seite Programme und Funktionen in der Windows-Systemsteuerung installieren. Wählen Sie Windows-Features aktivieren oder deaktivieren und dann Internetinformationsdienste>Webverwaltungstools>IIS 6-Verwaltungskompatibilität>IIS-Metabase- und IIS 6-Konfigurationskompatibilität aus.

                      10.1.4 Berechtigungsanforderungen für Web Forms-Anwendungen auf IIS 7 (Vista)

                      Wenn Sie ein neues Web Forms-Ziel bereitstellen, wird ein temporäres Verzeichnis im Verzeichnis Inetpubwwwrootapplication_name erstellt, wobei Anwendungsname der Name Ihrer Anwendung ist, und mehrere Unterverzeichnisse werden im Verzeichnis Inetpubwwwrootapplication_name_root erstellt. Dateien werden in diese Verzeichnisse geschrieben und aus diesen gelöscht, daher muss die Gruppe IIS_IUSRS vollständige Berechtigungen für temp und application_name_root haben.

                      Bevor eine PowerBuilder .NET Web Forms-Anwendung eine Verbindung zu einer SQL Anywhere-Datenbank herstellt, müssen Sie entweder die Datenbank manuell starten oder der Gruppe IIS_IUSRS auf IIS 7 Standardberechtigungen für die Verzeichnisse SybaseShared und SybaseSQL Anywhere erteilen alle untergeordneten Objekte in diesen Verzeichnissen. Für die Datenbank und die Datenbankprotokolldateien, die von Ihrer Anwendung verwendet werden, sind vollständige Berechtigungen erforderlich.

                      Wenn Sie den Sybase-Verzeichnissen nicht die entsprechenden Benutzerberechtigungen erteilen und Ihre Datenbankkonfiguration so eingestellt ist, dass die Datenbank automatisch gestartet wird, kann Ihre Anwendung keine Verbindung zur Datenbank herstellen. SQL Anywhere kann nicht auf Dateien zugreifen, es sei denn, die Benutzergruppe IIS_IUSRS hat das Recht, darauf zuzugreifen.

                      10.1.5 Einige Kalendereigenschaften werden unter Vista (IM) nicht unterstützt

                      Das Betriebssystem Vista unterstützt einige Eigenschaften für die Steuerelemente DatePicker, EditMask und MonthCalendar sowie den Dropdown-Kalender in einer DataWindow-Spalte nicht. Die folgenden Eigenschaften werden unter Vista nicht unterstützt:

                      • DatePicker-Eigenschaften: CalendarBackColor, CalendarFontName, CalendarFontWeight, CalendarItalic, CalendarTextColor, CalendarTextSize, CalendarTitleBackColor, CalendarTitleTextColor, CalendarTrailingTextColor, CalendarUnderLine
                      • BearbeitenMaskeneigenschaften: CalendarBackColor, CalendarTextColor, CalendarTitleBackColor, CalendarTitleTextColor, CalendarTrailingTextColor
                      • MonthCalendar-Eigenschaften: FaceName, MonthBackColor, TextColor, TextSize, TitleBackColor, TitleTextColor, TrailingTextColor, Underline
                      • Eigenschaften für Spaltensteuerelemente in DataWindow-Objekten mit einem Dropdown-Kalender EditMask-Stil: DDCal_BackColor, DDCal_TextColor, DDCal_TitleBackColor, DDCal_TitleTextColor, DDCal_TrailingTextColor

                      Darüber hinaus unterstützt das Vista-Betriebssystem die WeekNumbers-Eigenschaft für das DatePicker-Steuerelement nicht. Wenn diese Eigenschaft true ist, wird das DatePicker-Steuerelement nicht richtig angezeigt. Dieselbe Einschränkung gilt für das MonthCalendar-Steuerelement, wenn WeekNumbers true und Autosize false ist.

                      10.1.6 JSP-Ziele werden unter Vista nicht unterstützt

                      Auf dem Vista-Betriebssystem können Sie ein JSP-Ziel und eine JSP-Seite erstellen, aber die Komponente, die zum Implementieren der Seitenansicht des HTML-Editors und des integrierten Skript-Editors verwendet wird, wird auf dem Vista-Betriebssystem nicht unterstützt, daher werden JSP-Ziele nicht unterstützt auf Vista.

                      11. Migration von PowerBuilder 10.5

                      11.1 Migrieren von EAServer-Zielen

                      In PowerBuilder 11 erstellt der Assistent für das EAServer-Komponentenziel ein spezialisiertes EAServer-Ziel anstelle eines Anwendungsziels. Nachdem Sie ein vorhandenes EAServer-Ziel zu PowerBuilder 11 migriert haben, können Sie den Remote-Debugger nicht starten, um das Ziel zu debuggen, es sei denn, Sie öffnen den Project Painter und wählen das Debug-Menü oder den Symbolleisteneintrag oder wählen Debug im Popup-Menü des Projekts in der Systemstruktur . Um sicherzustellen, dass sich Ihr Ziel korrekt verhält, sollten Sie den Assistenten für das EAServer-Komponentenziel verwenden, um ein neues EAServer-Ziel zu erstellen, im Assistenten „Vorhandene Bibliothek und EAServer-Komponentenprojekt verwenden“ auswählen und Ihre migrierte Bibliothek und Komponente auswählen.

                      12. Migration von PowerBuilder 10 oder früher

                      12.1 Symbolleistenänderungen in PowerBuilder 10.5

                      Im Menu Painter können Sie jetzt sowohl einem eigenständigen Hauptfenster als auch einem MDI-Frame eine Symbolleiste hinzufügen. PowerBuilder passt die Größe des Hauptfensters an die Symbolleiste an. Wenn Ihre Anwendung derzeit ein visuelles Benutzerobjekt als Symbolleiste in einem Hauptfenster verwendet, können sich die von PowerBuilder vorgenommenen Anpassungen auf die Anzeige Ihrer Symbolleiste auswirken und mit den Anpassungen Ihrer Skripts zur Anzeige der Mikrohilfe in Konflikt geraten.

                      Sie können Ihr Werkzeugleisten-Benutzerobjekt durch eine Werkzeugleiste ersetzen, die im Menu Painter erstellt wurde, oder Ihre vorhandene Werkzeugleiste weiterhin verwenden. Um sicherzustellen, dass Ihre vorhandene Symbolleiste korrekt angezeigt wird, legen Sie die ToolbarVisible-Eigenschaft des Fensters in einem Skript oder auf der Symbolleistenseite in der Eigenschaftenansicht auf false fest. Um Konflikte zu vermeiden, sollten Sie auch jeden Positionsanpassungscode der Mikrohilfe in ein Ereignis verschieben, das nach dem Open-Ereignis des Fensters ausgeführt wird.

                      12.2 Symboländerungen in PowerBuilder 10.5 (IM)

                      In PowerBuilder 10.5 wurden viele der in den Benutzeroberflächen von PowerBuilder und InfoMaker verwendeten Symbole geändert. Wenn Sie eine Anwendung zu PowerBuilder 10.5 migrieren, werden alle in der Anwendung verwendeten Aktiensymbole automatisch aktualisiert. Für Benutzer, die es vorziehen, die vorhandenen Symbole zu verwenden, steht auf der CodeXchange-Website eine ZIP-Datei mit 24 Symboldateien und mehr als 500 Bitmap-Dateien zur Verfügung, die in früheren Versionen der Produkte verwendet wurden.

                      12.3 Migrieren von Komponenten zu EAServer 6.0.1 oder höher

                      Aufrufe zwischen Komponenten von einer PowerBuilder-Komponente, die in EAServer 6.0.1 ausgeführt wird, erfordern Proxys für alle aufgerufenen Komponenten. Bei früheren Versionen von EAServer kann eine PowerBuilder-Komponente manchmal eine andere PowerBuilder-Komponente aufrufen, die auf demselben Server ausgeführt wird, ohne dass ein Proxy verwendet wird, da die PowerBuilder-VM dynamisch einen Proxy für die Komponente erstellt, indem sie Methodennamen verwendet, die mit den Namen der Komponenten übereinstimmen Methoden.

                      In EAServer 6.0.1 und höher werden PowerBuilder-Komponenten als EJBs verpackt, was eine zusätzliche Sicherheitsebene bietet und verhindert, dass die PowerBuilder-VM einen Proxy mit Namen generiert, die dynamisch mit den Methodennamen der Komponente übereinstimmen. Daher müssen Sie für alle Komponenten, die Sie mit Interkomponentenaufrufen aufrufen, ein Proxy-Objekt erstellen. Ohne ein Proxy-Objekt kann das TransactionServer-Objekt die korrekten Methodennamen der aufgerufenen Komponente nicht abrufen.

                      12.4 Erstellen einer EJB-Clientanwendung für EAServer 6.x

                      Das Erstellen von EJB-Clientanwendungen für EJBs, die in EAServer 6.x ausgeführt werden, erfordert einige zusätzliche Schritte beim Erstellen des EJB-Client-Proxys und beim Erstellen des Clients.

                      So generieren Sie einen Proxy für ein auf EAServer 6.x bereitgestelltes EJB:

                      1. Kopieren Sie das Verzeichnis Paketname aus dem Verzeichnis %DJC_HOME%deployejbjars auf dem Server auf den Client-Computer, wobei Paketname das Paket ist, das das EJB enthält, das Sie verwenden möchten.
                      2. Fügen Sie dieses Verzeichnis dem Klassenpfad im Dialogfeld EJB-Komponente auswählen im EJB-Proxy-Projektmaler hinzu.
                      3. Generieren Sie den Proxy.

                      So erstellen Sie eine EJB-Clientanwendung für ein EJB, das auf EAServer 6.x bereitgestellt wird:

                      1. Kopieren Sie die Datei eas-server-14.jar (oder eas-server-15.jar, wenn Sie JDK 1.5.x verwenden) aus dem Verzeichnis %DJC_HOME%lib auf den Client-Computer und fügen Sie den vollständigen Pfad in den Klassenpfad des Clients ein.
                      2. Kopieren Sie die Stub-Dateien aus dem Verzeichnis %DJC_HOME%genfilesjavaclasses auf den Client-Computer und fügen Sie diesen Pfad in den Klassenpfad des Clients ein.
                      3. Kopieren Sie das Verzeichnis Paketname aus dem Verzeichnis %DJC_HOME%deployejbjars auf dem Server auf den Client-Computer, wobei Paketname das Paket ist, das das EJB enthält, das Sie verwenden möchten, und fügen Sie diesen Pfad in den Klassenpfad des Clients ein.

                      Wenn Sie diese Dateien und Verzeichnisse in ein Verzeichnis auf dem Client namens EAServer6 kopiert haben und ein EJB im Datenzuordnungspaket verwenden möchten, könnte die Einstellung des Client-Klassenpfads wie folgt aussehen:

                      12.5 PowerBuilder-Systemtypen als Variablennamen in Proxys

                      In PowerBuilder 10.5 und höheren Versionen können Systemtypen nicht als Variablennamen in Webdienst-Proxys verwendet werden. Wenn ein PowerBuilder-Systemtyp als Variablenname verwendet wird, benennt der Webdienst-Proxy-Assistent die Variable um, indem er das Präfix ws_ anwendet. Wenn Sie Webdienstanwendungen von PowerBuilder 10.2 oder früher migrieren und die Webdienst-Proxys in PowerBuilder 10.5 oder höher neu generieren, muss Ihr Code möglicherweise geändert werden, um die Änderung der Variablennamen widerzuspiegeln.

                      PowerBuilder-Systemtypen umfassen nicht nur die Objekte und Steuerelemente, die auf der Registerkarte System im PowerBuilder-Browser aufgelistet sind, sondern auch die Aufzählungstypen, die auf der Seite Aufgezählt im Browser aufgeführt sind, wie Band, Schaltfläche, Kodierung, Standort und Wochentag. Wenn Sie beispielsweise einen Webdienst aus einem benutzerdefinierten PowerBuilder-Klassenbenutzerobjekt erstellen und eine seiner Funktionen ein Zeichenfolgenargument namens location hat, wird das Argument im für diesen Webdienst generierten Proxy in die Zeichenfolge ws_location geändert.

                      12.6 OLE DB-Leistung mit Microsoft SQL Server

                      Wenn Sie in PowerBuilder 10.5.2 und höher die OLE DB-Datenbankschnittstelle mit einer Microsoft SQL Server-Datenbank verwenden und Daten in ein DataWindow abrufen oder einen eingebetteten SQL-Cursor in einer SELECT-Anweisung verwenden, werden serverseitige Cursor verwendet, um die Ausführung mehrerer Befehle zu unterstützen . Wenn sich dies negativ auf die Leistung auswirkt, versuchen Sie, den Datenbankparameter Block auf 500 oder mehr zu erhöhen, oder fügen Sie die folgende Zeile zum Abschnitt [Microsoft SQL Server] in der PBODB-Initialisierungsdatei hinzu, um serverseitige Cursor zu deaktivieren: ServerCursor = 'NEIN'

                      12.7 Verhaltensänderung von OpenTab

                      In PowerBuilder 10.2.1 Build 9716, PowerBuilder 10.5.1 Build 6505 und PowerBuilder 11.0 Build 5021 wurde eine Änderung vorgenommen, um ein anormales Verhalten zu korrigieren, wenn die SelectedTab-Eigenschaft zur Laufzeit auf eine Registerkarte angewendet wurde, deren Visible-Eigenschaft auf false gesetzt war.

                      Als Folge dieser Änderung ändert sich das Verhalten der Funktionen OpenTab und OpenTabWithParm. In früheren Versionen wurde beim Aufrufen der Funktion OpenTab oder OpenTabWithParm zum Öffnen eines Benutzerobjekts als Registerkarte die Registerkarte angezeigt, auch wenn die Visible-Eigenschaft des Benutzerobjekts auf false festgelegt war. In aktuellen Releases muss die Visible-Eigenschaft des Benutzerobjekts auf true gesetzt sein, damit die Registerkarte angezeigt wird.

                      12.8 RichTextEdit-Steuerelement und RichText DataWindow-Änderungen (IM)

                      PowerBuilder 10.5 verwendet einen neuen Rich-Text-Editor zur Unterstützung des RichTextEdit-Steuerelements und des RichText DataWindow-Präsentationsstils.Der neue Editor bringt ein modernes Aussehen und enthält einige neue Funktionen, darunter die Möglichkeit, Formatierungsstile zu benennen und zu verwenden. Der neue Rich-Text-Editor unterstützt eine Teilmenge der RTF-Spezifikation Version 1.6. Die meisten Eigenschaften und Funktionen von Rich-Text-Objekten in früheren Versionen von PowerBuilder werden weiterhin vom neuen Editor unterstützt. Wenn Sie Rich-Text-Objekte aus früheren Versionen von PowerBuilder importieren, werden alle veralteten Eigenschaften und Funktionen ignoriert.

                      Es gibt einige Verhaltensunterschiede, die möglicherweise Änderungen an Ihren Anwendungen erforderlich machen. Wenn Sie beispielsweise Anwendungen migrieren, die in älteren Versionen von PowerBuilder erstellt wurden, wird die InputFieldsVisible-Eigenschaft in RichTextEdit-Steuerelementen und in RichText DataWindow-Objekten in den migrierten Anwendungen automatisch auf „false“ gesetzt. Sie müssen diese Eigenschaft auf „true“ setzen, um Daten in den Eingabefeldern anzuzeigen. Sie müssen diese Eigenschaft und die Eigenschaft InputFieldNamesVisible auf „true“ setzen, um Textbezeichnungen für die Eingabefelder in einem Rich-Text-Steuerelement anzuzeigen.

                      Weitere Informationen zu Änderungen finden Sie im Abschnitt zu Rich-Text-Erweiterungen im Handbuch Neue Funktionen in PowerBuilder 10.5 auf der Website für Sybase-Produkthandbücher.

                      12.9 Einige PSR-Dateien müssen neu generiert werden (IM)

                      PSR-Dateien, die in Builds von PowerBuilder 10.0 oder 10.0.1 vor EBF-Build 6044 erstellt wurden, können in späteren Builds von PowerBuilder oder InfoMaker nicht geöffnet werden. Sie müssen die PSR-Datei in einem späteren Build neu generieren.

                      13. Migration von PowerBuilder 9 oder früher

                      13.1 Unicode-Änderungen (IM)

                      PowerBuilder 10 ist Unicode-fähig. Der Quellcode in PowerBuilder 10 PBLs ist in UTF-16LE codiert. UTF-16LE ist ein Unicode-Codierungsschema, das eine UTF-16-Code-Einheitssequenz als Bytesequenz im Little-Endian-Format serialisiert, in der numerische Mehrbyte-Werte mit dem niederwertigsten Byte zuerst gespeichert werden. PBLs, die in früheren Versionen von PowerBuilder entwickelt wurden, enthalten Quellcode im ANSI- oder DBCS-Format. Wenn Sie Anwendungen zu PowerBuilder 10 migrieren, wird jede PBL wie in früheren Versionen zuerst auf die neue Version von PowerBuilder migriert. Dann konvertiert PowerBuilder den Quellcode von ANSI oder DBCS in Unicode, führt einen vollständigen Build durch und speichert den Quellcode wieder in derselben Datei.

                      Als Folge dieser Änderung wurden einige neue Funktionen hinzugefügt und es gibt Änderungen in der Syntax von dateibezogenen Funktionen und externen Funktionsaufrufen. Weitere Informationen zu diesen Änderungen finden Sie im Abschnitt Unicode-Unterstützung im Thema „Neue Funktionen“ in der Online-Hilfe und im Abschnitt zu Unicode in Anwendungstechniken.

                      13.2 Automatische Änderungen bei der Migration

                      Wenn Sie eine Anwendung aus einer früheren Version migrieren, wird der Quellcode in Unicode konvertiert und die folgenden Änderungen an Ihrem Quellcode werden automatisch vorgenommen:

                      Die Klausel ALIAS FOR Funktionsname ansi wird an externe Funktionsdeklarationen angehängt, die einen String-, Char- oder Strukturdatentyp zurückgeben oder einen String-, Char- oder Strukturwert als Argument haben. Dies weist darauf hin, dass die Argumente und/oder Rückgabewerte als ANSI behandelt werden sollen. Wenn bereits eine ALIAS FOR-Klausel vorhanden ist, wird nur ansi hinzugefügt. Wird ansi nicht an den Funktionsnamen angehängt, werden Strings als Unicode behandelt.

                      Das VonAnsi, VonUnicode, ZuAnsi, und ZuUnicode Funktionen werden aus einer zukünftigen Version von PowerBuilder entfernt. Das Migrationstool ersetzt sie durch die entsprechende Syntax der Klecks oder Zeichenfolge Funktion.

                      Es werden keine Änderungen am Code vorgenommen, wenn die PBL bereits auf PowerBuilder 10 migriert wurde.

                      In einer DBCS-Umgebung können Sie das Kontrollkästchen "DBCS-Zeichenfolgenbearbeitungsfunktionen automatisch konvertieren" im Dialogfeld Anwendung migrieren aktivieren, um Ihren Code an die für die Unicode-Unterstützung erforderlichen Änderungen anzupassen. Tun nicht Aktivieren Sie dieses Kontrollkästchen in einer SBCS-Umgebung. Wenn Sie dieses Kontrollkästchen aktivieren, wird das Suffix W aus PowerScript-Funktionen zur Zeichenfolgenbearbeitung entfernt, wie z LenW und RechtsTrimW, und den folgenden PowerScript-Funktionen wird ein A-Suffix hinzugefügt: Füllen , Links, Len, Mitte, Pos, Ersetzen, und Richtig. Die in der Dokumentation beschriebenen Änderungen an den Zeichenfolgenbearbeitungsfunktionen gelten auch für DataWindow-Ausdrucksfunktionen. Der Migrationsprozess ändert jedoch die DataWindow-Ausdrucksfunktionen nicht automatisch.

                      13.3 Größenbeschränkung für ImportFile

                      PowerBuilder 10.0 und höhere Versionen sind Unicode-fähig. Wenn Ihre Anwendung die ImportFile-Methode verwendet, um sehr große Textdateien (ca. 839.000 Zeilen) in ein DataWindow oder DataStore zu importieren, gibt ImportFile den Fehlercode -15 zurück. Größere Textdateien könnten in ANSI-Versionen von PowerBuilder importiert werden.

                      HINWEIS: In den Release-Bulletins für frühere Versionen wurde die Größenbeschränkung für große Dateien mit ungefähr 839.000 Zeilen angegeben. Die Größenbeschränkung hängt von der Anzahl der Spalten sowie der Anzahl der Zeilen ab.

                      13.4 Migrieren von Web- und JSP-Zielen

                      Webziele, die PowerDynamo verwenden, können nicht direkt zu PowerBuilder 10 migriert werden und müssen mit einem alternativen Modell wie JavaServer Pages oder Active Server Pages neu geschrieben werden. Informationen zum Konvertieren von PowerDynamo-Websites, die mit PowerBuilder erstellt wurden, in JSP finden Sie im Technischen Dokument Konvertieren von 4GL-Webseiten von PowerDynamo in JSPs.

                      Web- und JSP-Ziele, die das Web DataWindow verwenden und in früheren Versionen von PowerBuilder erstellt wurden, müssen geändert werden, um die HTMLGenerator100-Komponente zu verwenden. Die meisten anderen Web- und JSP-Ziele können ohne Änderungen in PowerBuilder 10 geöffnet und bereitgestellt werden. Eine Ausnahme finden Sie in Abschnitt 13.5, "Änderungen des JSP-Objektmodells". Vorsorglich sollten Sie Sicherungskopien der Zielverzeichnisse erstellen, bevor Sie Änderungen vornehmen.

                      13.5 JSP-Objektmodelländerungen

                      Globale Steuervariablen im JSP-Objektmodell wurden in lokale Variablen geändert, um die Thread-Sicherheit von JSP-Seiten zu gewährleisten. Wenn Sie in einem serverseitigen Ereignis auf ein anderes Steuerelement verweisen möchten, müssen Sie den Namen des Steuerelements mit der Zeichenfolge "psPage" qualifizieren. In früheren Versionen beispielsweise legt der folgende Code im ServerAction-Ereignis einer Schaltfläche den Kontext eines einzeiligen Bearbeitungssteuerelements fest:

                      Verwenden Sie in PowerBuilder 10 (und PowerBuilder 9 Build 7151 und höher) stattdessen die folgende Anweisung:

                      13.6 DBCS-Text in Objekteigenschaften wird nicht korrekt konvertiert (IM)

                      DBCS-Anwendungen können erfolgreich auf Betriebssystemen mit einem DBCS-kompatiblen Gebietsschema migriert werden. Auf einem Betriebssystem mit englischem Gebietsschema werden DBCS-Zeichen jedoch als Garbage-Zeichen angezeigt, wenn die Schriftarteigenschaft eines Objekts auf eine Schriftart festgelegt ist, die DBCS-Zeichen nicht unterstützt. Ändern Sie nach der Migration die Schriftart in Tahoma, um dieses Problem umzugehen. [CR 355908]

                      13.7 XML-String-Codierung

                      In PowerBuilder 10 kann der XML-Parser keine Zeichenfolge analysieren, die einen 8-Bit-Zeichencode wie Windows-1253 verwendet. Beispielsweise kann eine Zeichenfolge mit der folgenden Deklaration nicht geparst werden:

                      Zeichenfolge ls_xml
                      ls_xml += '<?xml version="1.0" encoding="windows-1253"?>'

                      Sie müssen einen Unicode-Codierungswert wie UTF16-LE verwenden.

                      13.8 Laufzeitfehler im EAServer

                      Wenn in PowerBuilder 7 eine Laufzeitausnahme von einer in EAServer ausgeführten PowerBuilder-Komponente ausgelöst wurde, wurde die Transaktion zurückgesetzt und die Ausnahme wurde an den Client zurückgegeben. In PowerBuilder 8 wurde das Verhalten so geändert, dass die Transaktion festgeschrieben wurde, bevor die Ausnahme zurückgeworfen wurde. In PowerBuilder 10, PowerBuilder 9.0.2 und EBF-Versionen von PowerBuilder 8 und PowerBuilder 9.0.1 vom 27. Februar 2004 oder höher wurde das Standardverhalten auf das Verhalten in PowerBuilder 7 zurückgesetzt und die Transaktion wird zurückgesetzt.

                      In PowerBuilder 10, PowerBuilder 9.0.2, PowerBuilder 9.0.1 EBF Build 7066 und späteren Versionen und PowerBuilder 8.0.4 können Sie dieses Verhalten mithilfe der Umgebungsvariablen PBRollbackOnRTError steuern. Wenn diese Umgebungsvariable auf 'y', 'yes' oder 'true' gesetzt ist, wird die Transaktion zurückgesetzt, bevor die Ausnahme an den Client zurückgegeben wird. [CR 319543]

                      13.9 Verwenden von Masken mit "Quoten ist"-Zeichen

                      Sie können eine Maske definieren, die "Quoten ist"-Zeichen enthält, die immer im Steuerelement oder in der Spalte erscheinen. Sie können beispielsweise eine numerische Maske wie Rs0000.00 definieren, um indische Rupien in einer Währungsspalte darzustellen. In PowerBuilder 9.0.1 oder höher können Sie kein Plus- oder Minuszeichen eingeben, um positive oder negative Zahlen in einer Maske darzustellen, die "Quoten ist"-Zeichen enthält. In früheren Versionen konnten Sie ein Plus- oder Minuszeichen eingeben, aber das resultierende Verhalten war in DataWindow-Spalten inkonsistent.

                      Die bevorzugte Methode zum Erstellen einer Währungsbearbeitungsmaske ist die Verwendung der vordefinierten [Währung(7)] - International Maske. Sie können die Zahl in Klammern ändern, d. h. die Anzahl der Zeichen in der Maske einschließlich zweier Dezimalstellen. Wenn Sie diese Maske verwenden, verwendet PowerBuilder das Währungssymbol und das Format, die im Abschnitt "Regionale Einstellungen" der Windows-Systemsteuerung definiert sind. Sie können negative Werte in eine Spalte eingeben, die eine Währungsmaske verwendet. [CR 309118]

                      13.10 Format der von DataWindows gespeicherten WMF-Dateien geändert

                      In PowerBuilder 9.0 wurde das Format von WMF-Dateien, die durch Speichern eines DataWindow-Objekts erstellt wurden, geändert, um ein Absturzproblem zu beheben. Mit dem Fix wurden jedoch die Headerinformationen entfernt, mit denen die WMF-Datei in anderen Anwendungen angezeigt werden kann. Das Format wurde geändert, um die Header-Informationen wiederherzustellen, während der Fix beibehalten wird. Diese Änderung ist in PowerBuilder 9.0 EBF Builds 6096 und höher sowie in PowerBuilder 9.0.1, 9.0.2 und 10 enthalten. [CR 292406]

                      13.11 MTS/COM+-Komponenten müssen neu bereitgestellt werden

                      Aufgrund von Änderungen in der PowerBuilder-VM in PowerBuilder 9.0.1 müssen Sie vorhandene Komponenten erneut auf MTS oder COM+ bereitstellen, wenn Sie sie von PowerBuilder 9.0.1 und späteren Clients aufrufen möchten. Wenn Sie die Komponenten nicht erneut bereitstellen, geben Aufrufe von Funktionen der TransactionServer- und ErrorLogging-Objekte falsche Werte zurück.

                      13.12 Änderung des Verhaltens der Datumsfunktion

                      Wenn Sie die Datumsfunktion mit einem Zeichenfolgenargument verwenden, versucht PowerBuilder, die Eingabezeichenfolge mit einem Datumsformat in den Ländereinstellungen auf dem Computer abzugleichen. Wenn in PowerBuilder 10 und höher keine vollständige Übereinstimmung gefunden wird, versucht PowerBuilder eine teilweise Übereinstimmung. Wenn Sie beispielsweise Date('01-JAN-1900') verwenden und PowerBuilder die teilweise Übereinstimmung findet (TT-MMM-JJ), analysiert PowerBuilder die ersten beiden Zahlen des Jahres und erhält 19. Das zweistellige Jahr wird interpretiert als Jahr zwischen 1930 und 2029, und das zurückgegebene Datum ist der 01.01.2019.

                      14. Migration von PowerBuilder 8 oder früher

                      14.1 Geändertes Format von PSR-Dateien (IM)

                      Das Format der in PowerBuilder erstellten PSR-Dateien wurde geändert, um die Datenintegrität für die SpeichernAscii Funktion. Daher können PSR-Dateien, die in neueren Builds von PowerBuilder erstellt wurden, nicht in Builds geöffnet werden, die vor dieser Änderung liegen. Diese Änderung wurde in PowerBuilder 8.0 Build 7063 und PowerBuilder 7.0.3 Build 10102 vorgenommen.

                      14.2 Änderungen der Quellcodeverwaltung

                      PowerBuilder 8 bot eine direkte Verbindung zu externen SCC-kompatiblen Quellcodeverwaltungssystemen, und in PowerBuilder 9.0 wurden zusätzliche Änderungen vorgenommen. Bevor Sie ein quellcodegesteuertes Projekt von PowerBuilder 8 oder früher zu PowerBuilder 9 oder 10 migrieren, lesen Sie das Kapitel zur Verwendung der Quellcodeverwaltung in PowerBuilder Bedienungsanleitung.

                      14.3 ScrollToRow-Verhaltensänderung

                      Die ScrollToRow-Methode löst die RowFocusChanging- und RowFocusChanged-Ereignisse aus. In PowerBuilder 7 traten beide Ereignisse auf, nachdem der Fokus auf die neue Zeile geändert wurde. Dieses Verhalten wurde in PowerBuilder 9 geändert, sodass RowFocusChanging codiert werden konnte, um das Scrollen abzubrechen. Diese Änderung führte jedoch dazu, dass beide Ereignisse ausgelöst wurden, bevor der Fokus auf die neue Zeile geändert wurde. In PowerBuilder 9.0.1 Build 7136 und höher wird das RowFocusChanging-Ereignis ausgelöst, bevor der Bildlauf stattfindet, und das RowFocusChanged-Ereignis wird nach dem Bildlauf ausgelöst. [CR 345104]

                      14.4 Web-ActiveX-Bereitstellungsanforderungen (IM)

                      Microsoft hat die Auslieferung der Microsoft Java VM ab der Version Windows XP SP 1a und Windows 2000 SP 4 eingestellt, und die Microsoft Java VM wird in PowerBuilder 9 oder höher nicht unterstützt. Wenn Sie das DataWindow-Websteuerelement für ActiveX verwenden und Ihre Webseite eine JDBC-Verbindung verwendet, gelten für Web ActiveX zusätzliche Bereitstellungsanforderungen:

                      • Auf dem Client muss Sun JRE 1.2 oder höher installiert sein. Benutzer können die neueste Version der JRE von der Sun Java-Website herunterladen.
                      • Der Pfad zur Datei jvm.dll (. JREinclient für JRE 1.4 oder höher und . JREinclassic für JRE 1.2 oder 1.3) muss der Umgebungsvariablen PATH jedes Benutzers hinzugefügt werden.
                      • Die folgenden Dateien müssen sich in einem Verzeichnis in der Systemumgebungsvariable PATH des Clients befinden: pbjvm90.dll, pbvm90.dll, und libjcc.dll für PowerBuilder 9 oder pbjvmXXX.dll und pbshrXXX.dll für spätere Versionen.
                      • Das pbjdbc12XXX.jar -Datei, die von Web ActiveX benötigte Klassendateien enthält, muss auf dem Client bereitgestellt werden. Sie können die JAR-Datei bereitstellen, indem Sie im CODEBASE-Attribut des Object-Elements auf Ihrer Webseite darauf verweisen.
                      • Java-Klassen, die von der Clientschicht Ihres Datenbankanbieters benötigt werden, müssen auf dem Client verfügbar sein. Sie können einer CAB-Datei hinzugefügt werden, auf die im CODEBASE-Attribut des Object-Elements in Ihrer Webseite verwiesen wird. Wenn Sie beispielsweise Sybase jConnect verwenden, um eine Verbindung zu einer Datenbank herzustellen, wird die jconn2.jar Datei sollte in der CAB-Datei enthalten sein. Wenn die Clientschicht in einer JAR-Datei bereitgestellt wird, kann sie direkt im CODEBASE-Attribut referenziert werden.

                      15. Migration von PowerBuilder 7 oder früher

                      15.1 Hinzufügen von Zielen zu einem Arbeitsbereich

                      Um Ihrem Arbeitsbereich ein Ziel hinzuzufügen, das eine in PowerBuilder 7 oder früher erstellte Anwendung verwendet, verwenden Sie den Assistenten für vorhandene Anwendungsziele auf der Seite Ziel des Dialogfelds Neu. Nachdem Sie den Assistenten abgeschlossen haben, wird das Dialogfeld Anwendung migrieren geöffnet, in dem Sie die Anwendung auf PowerBuilder 10 migrieren können. Informationen zur Verwendung von Arbeitsbereichen und Zielen finden Sie in Kapitel 1 im in Bedienungsanleitung.

                      15.2 Verteilter PowerBuilder wird nicht unterstützt

                      PowerBuilder 7 war die letzte Version von PowerBuilder mit verteilter PowerBuilder-Funktionalität. Sybase empfahl die Verwendung von EAServer anstelle von verteiltem PowerBuilder für verteilte und Webanwendungen in PowerBuilder 7 und höher.

                      Das Transport-Objekt und seine zugehörigen Eigenschaften und Methoden sind in PowerBuilder 8 und höher veraltet und wurden aus PowerBuilder 9 entfernt. Weitere Eigenschaften und Methoden, die für verteilten PowerBuilder verwendet wurden und daher veraltet sind, umfassen:

                      • VerbindungBeginn und VerbindungEnde Ereignisse auf dem Anwendungsobjekt
                      • GetServerInfo, RemoteStopVerbindung, und RemoteStopListening Funktionen auf dem Connection-Objekt
                      • SetConnect Funktion für Proxy-Objekte
                      • ConnectString und Verfolgen Eigenschaften des Connection-Objekts
                      • Verbindungsinfo Struktur

                      Die Generatoren JavaBeans Proxy und Web.PB wurden auch mit verteilten PowerBuilder-Anwendungen verwendet und aus dem Dialogfeld Neu entfernt.

                      15.3 Reservierte Wörter

                      Der PowerScript-Sprache in PowerBuilder 8 wurden neue reservierte Wörter hinzugefügt, um die Ausnahmebehandlung zu unterstützen. Wenn Sie eines der neuen reservierten Wörter ( VERSUCHEN, FANG, SCHLIESSLICH , WURF, und WÜRFE ) als Bezeichner in vorhandenen Anwendungen, müssen Sie diese Bezeichner ändern und ihnen konfliktfreie Namen geben. Sie können den Migrationsassistenten ausführen, der auf der Registerkarte Tool im Dialogfeld Neu verfügbar ist, um die falsche Verwendung der neuen reservierten Wörter zu ermitteln.

                      15.4 SystemError-Ereignisänderung

                      Wenn in PowerBuilder 7 oder früher ein Fehler auftritt, der nicht von einem Error- oder ExternalException-Ereignis abgefangen wird, wird das SystemError-Ereignis der Anwendung sofort ausgelöst. Wenn dem SystemError-Ereignis kein Code zugeordnet ist, wird die Anwendung beendet. Andernfalls kehrt die Steuerung nach der Ausführung des SystemError-Ereignisses an die Stelle im Code zurück, an der der Fehler aufgetreten ist.

                      Wenn in PowerBuilder 8 und höher ein Fehler auftritt, der nicht vom Ausnahmebehandlungsmechanismus oder von einem Error- oder ExternalException-Ereignis abgefangen wird, wird das Skript beendet und die Aufrufliste wird abgewickelt. Wenn der Fehler als Ergebnis von a . auftritt Auslösendes Ereignis Aufruf in einem Skript wird das aufrufende Skript beendet und die Aufrufliste wird abgewickelt. In den meisten Fällen wird das SystemError-Ereignis erst ausgelöst, wenn die Aufrufliste leer ist. Wenn ein Ereignis eines Antwortfensters den Fehler verursacht hat, wird das Ereignis SystemError ausgelöst, sobald das Ereignis des Antwortfensters abgeschlossen ist.

                      Aufgrund dieser Verhaltensänderung wird Code, der der Anweisung folgt, die den Fehler verursacht hat, nicht ausgeführt, nachdem das SystemError-Ereignis ausgelöst wurde, wie dies in früheren Versionen der Fall war. Diese Änderung hat erhebliche Auswirkungen auf Anwendungen, die auf dem vorherigen Verhalten beruhen, die Kontrolle an das Skript zurückzugeben, in dem der Fehler aufgetreten ist. Code, der auf diesem Verhalten beruht, muss in PowerBuilder 8 und höher geändert werden.

                      Sie können potenzielle Fehler behandeln, indem Sie Code umschließen, der einen Fehler in einem try-catch-Block verursachen könnte, um zu verhindern, dass das SystemError-Ereignis ausgelöst wird, wenn ein Ausführungsfehler auftritt. Es ist dennoch ratsam, das SystemError-Ereignis zu codieren, um alle nicht abgefangenen Ausnahmen zu behandeln. Sie sollten nicht zulassen, dass die Anwendung fortgesetzt wird, nachdem das SystemError-Ereignis aufgerufen wurde. Das SystemError-Ereignis sollte die Anwendung bereinigen und anhalten.

                      15.5 Änderung der Funktion IsGültig

                      Das Ist gültig Funktion kehrt jetzt zurück falsch wenn ein Argument vom Typ übergeben wurde Irgendein die nicht in ein PowerObject konvertiert werden können. In PowerBuilder 7 und früheren Versionen wird ein ungültiges Objekt an . übergeben Ist gültig einen Systemfehler verursacht. Beachten Sie auch die im vorherigen Abschnitt beschriebene SystemError-Ereignisänderung.

                      15.6 Format für Farboptionen geändert (IM)

                      Sie können benutzerdefinierte Farben für jede Komponente grafischer Tabellendarstellungen im Database oder SQL Select Painter angeben, indem Sie Design>Options>Object Colors auswählen. Die von Ihnen angegebenen Farben werden in Ihrem . gespeichert PB.INI Datei im Abschnitt [Datenbank]. Das Format, in dem diese Farben gespeichert werden, wurde in PowerBuilder 8 und höher geändert, um die erhöhte Anzahl von Windows-Systemfarben und benutzerdefinierten Farben zu unterstützen, die für Steuerelemente verfügbar sind. Dies sind beispielsweise Farbdefinitionen für Linien, die Schlüssel in einem PowerBuilder 7 darstellen PB.INI:

                      ForeignKeyLineColor=0 0 255
                      IndexKeyLineColor=255 0 0
                      PrimaryKeyLineColor=0 128 0

                      Dies sind die entsprechenden Einträge in einem PowerBuilder 8 oder höher PB.INI:

                      Wenn Sie Ihren PowerBuilder 7 verwenden möchten PB.INI Datei oder den Abschnitt [Datenbank] daraus mit PowerBuilder 8 oder höher sollten Sie zuerst alle Farbeinstellungen im Abschnitt [Datenbank] löschen. Wenn Sie dies nicht tun, können die verwendeten Farben dazu führen, dass Tabellen in PowerBuilder 8 oder höher unlesbar sind. Sie können benutzerdefinierte Farben auf der Seite Objektfarben des Dialogfelds Datenbankeinstellungen in PowerBuilder 8 oder höher zurücksetzen.

                      15.7 Web DataWindow-Migrationsprobleme

                      Möglicherweise haben Sie in Versionen vor PowerBuilder 7.0.2 C3 Problemumgehungen verwendet, um Probleme beim Netscape-Rendering zu lösen. Einige dieser Problemumgehungen funktionieren in späteren Versionen aufgrund von Verbesserungen beim Netscape-Rendering möglicherweise nicht richtig.

                      Insbesondere wenn Sie berechnete Felder oder Textfelder verwendet haben, die nur Leerzeichen enthalten, erstellt der Web DataWindow-Generator jetzt einen Tabelleneintrag für diese Felder, wodurch die Tabellenanzeige doppelt so breit wird. Wenn dieses Verhalten auftritt, löschen Sie diese Platzhalterfelder und verwenden Sie ein Standardlayout.

                      15.8 Rückgabewerte der DataWindow-Methode für eine leere DataObject-Eigenschaft

                      In PowerBuilder 8.0.2 und höher wurde der zurückgegebene Wert, wenn einem DataWindow-Steuerelement oder DataStore kein DataWindow-Objekt zugewiesen ist, für die in Tabelle 2 aufgeführten Methoden standardisiert. Einige dieser Rückgabewerte unterscheiden sich von den in PowerBuilder 7 und zurückgegebenen Werten frühere Veröffentlichungen. SetFilter ist in der Tabelle enthalten, aber sein Rückgabewert wurde in PowerBuilder 8.0.4 und nicht in PowerBuilder 8.0.2 von 1 auf -1 geändert.

                      Tabelle 2: Rückgabewerte, wenn kein DataWindow-Objekt zugewiesen ist

                      Rückgabewert

                      GetItemDate, GetItemDateTime, GetItemTime, GetItemDecimal,
                      GetItemNumber, GetItemStatus

                      GetItemString

                      15.9 Verhaltensänderung von ScrollNextRow und ScrollPriorRow

                      In PowerBuilder 8 und höher sind die DataWindow-Methoden ScrollNächsteReihe und ScrollPriorRow lösen Sie diese Ereignisse in der angezeigten Reihenfolge aus:

                      In PowerBuilder 7 und früheren Versionen wurde das ScrollVertical-Ereignis vor den anderen Ereignissen ausgelöst. Sie sollten diese Methoden nicht mehr im ScrollVertical-Ereignis verwenden. Dadurch wird dieselbe Ereignisreihe wiederholt ausgelöst, bis die letzte oder erste Zeile im DataWindow erreicht ist. [CR 323263]

                      15.10 Geändertes Verhalten von OpenSheet-Funktionen

                      In PowerBuilder 8 und höher ist die OpenSheet und OpenSheetWithParm Funktionen können bei einem Fehler einen Laufzeitfehler auslösen, anstatt -1 zurückzugeben. Dies ist beispielsweise der Fall, wenn das optionale Fenstertyp Argument ist ungültig. Um sicherzustellen, dass dieser Fehler abgefangen wird, wickeln Sie den Aufruf zusätzlich zur Überprüfung des Rückgabewerts in eine try-catch-Anweisung ein:

                      Ganzzahl li_ret
                      Versuchen
                      li_ret = OpenSheet(w_child, "w_child_1", MDI_User, 2, Original!)
                      if li_ret <> 1 then MessageBox("OpenSheet failed", "Check arguments")
                      catch (RuntimeError rt)
                      MessageBox("OpenSheet fehlgeschlagen", rt.GetMessage() )
                      // Fehler behandeln
                      Versuch beenden

                      16. Migration von PowerBuilder 6.5 oder früher

                      16.1 Verschachtelte Berichte in DataWindow-Objekten umbenannt (IM)

                      In PowerBuilder 7 und höher muss jedes Objekt in einem DataWindow-Objekt einen Namen haben. Während der Migration werden Objekten ohne Namen Namen basierend auf den benutzerdefinierten Präfixeinstellungen zugewiesen, normalerweise dw_1, dw_2, usw. Da Namen sequentiell zugewiesen werden, kann einem Objekt ein Name zugewiesen werden, der bereits von einem anderen Objekt im DataWindow-Objekt verwendet wird. Dies kann zu unerwartetem Verhalten führen. Benennen Sie beispielsweise einen unbenannten Bericht mit einem Namen, der bereits für ein anderes DataWindow-Objekt verwendet wird, z dw_2, könnte a . verursachen GetChild/ShareData oder Abrufen -Operation, um das falsche DataWindow-Objekt zu finden und zu verwenden.

                      Um dieses Problem zu umgehen, wählen Sie Design>Options im DataWindow Painter aus, und ändern Sie das DataWindow-Objektpräfix auf der Registerkarte Präfixe vor der Migration. Nachdem Sie das DataWindow-Objekt migriert haben, können Sie das Präfix wieder ändern.

                      16.2 Icons für Fenster müssen zugewiesen werden

                      Ein Fenster erbt sein Symbol nicht mehr von der Anwendung, die das Fenster enthält. Um das Anwendungssymbol zu verwenden, müssen Sie es dem Fenster nach der Migration mit dem neuen Aufzählungswert AppIcon! explizit zuweisen.

                      16.3 ListView- und TreeView-Control-Ereignisse geändert

                      PowerBuilder 7 und höher verwenden Microsoft ListView- und TreeView-Steuerelemente. Infolgedessen sehen Sie möglicherweise einige Verhaltensänderungen, die eine Neuzuordnung einiger Ereignisse erforderlich machen. Wenn Sie Mausaktionen ausführen, werden einige Ereignisse nicht ausgelöst, und einige werden in einer anderen Reihenfolge als in früheren Versionen ausgelöst.

                      16.3.1 Baumansicht

                      In PowerBuilder 7 und höher wird das pbm_rbuttonup-Ereignis nicht ausgelöst, sondern es folgt unmittelbar ein pbm_tvnrclicked-Ereignis (das standardmäßige RightClicked!-Ereignis für eine TreeView). Daher können Sie jeden Code von pbm_rbuttonup nach RightClicked kopieren! oder haben Sie die RightClicked! Ereignisauslöser, welcher Code auch immer in der pbm_rbuttonup. In PowerBuilder 6 beide pbm_rbuttonup und pbm_tvnrclicked fire.

                      Darüber hinaus führt in PowerBuilder 7 und höher die Verwendung der rechten Maustaste zum Auswählen eines zuvor nicht ausgewählten TreeView-Elements dazu, dass das vorherige TreeView-Element den Fokus wiedererlangt, wenn die Taste losgelassen wird. Wenn Sie in PowerBuilder 6 mit der rechten Maustaste ein TreeView-Element auswählen, wird es dauerhaft ausgewählt. Um dieses Verhalten in PowerBuilder 7 und höher zu duplizieren, platzieren Sie die Codezeile this.SelectItem(Handle) im RightClicked! -Ereignis der TreeView, bevor Code aus dem pbm_rbuttonup-Ereignis ausgelöst (oder anderweitig ausgeführt) wird.

                      In PowerBuilder 7 und höher wird das pbm_tvnrdoubleclick-Ereignis (das Standard-RightDoubleClicked!-Ereignis) nicht ausgelöst, ihm geht jedoch unmittelbar ein pbm_rbuttondblclk-Ereignis voraus. Daher können Sie jeden Code aus dem RightDoubleClicked! -Ereignis zum pbm_rbuttondblclk-Ereignis oder lassen Sie das pbm_rbuttondblclk-Ereignis vorhandenen Code im RightDoubleClicked! Veranstaltung. Beide Ereignisse werden in PowerBuilder 6 ausgelöst.

                      16.3.2 Listenansicht

                      In PowerBuilder 7 und höher wird das Ereignis pbm_rbuttonup nicht Feuer, wenn Sie mit der rechten Maustaste auf ein bestimmtes ListView-Element klicken, aber es tut Feuer, wenn Sie mit der rechten Maustaste in den weißen Bereich der ListView klicken, in dem sich keine Elemente befinden. Ein neues Ereignis, pbm_contextmenu, wird immer ausgelöst, wenn die rechte Maustaste losgelassen wird. Tabelle 3 zeigt, wann Ereignisse in PowerBuilder 7 und höher ausgelöst werden.


                      Planen Sie, wie Sie Ihr Papier organisieren

                      Der letzte Schritt, der abgeschlossen werden muss, bevor Sie mit Ihrem Entwurf beginnen, ist die Auswahl einer Organisationsstruktur. Bei einigen Aufgaben kann dies durch die Anforderungen des Lehrers bestimmt werden. Wenn Sie beispielsweise gebeten werden, die Auswirkungen eines neuen Kommunikationsgeräts zu untersuchen, ist eine Ursache-Wirkungs-Struktur offensichtlich angemessen. In anderen Fällen müssen Sie die Struktur entsprechend Ihrem Thema und Zweck festlegen. Weitere Informationen zu den schriftlich verwendeten Strukturen finden Sie in Kapitel 10 “Rhetorische Modi”.

                      Der Zweck von Jorges Papier bestand in erster Linie darin, zu überzeugen. Vor diesem Hintergrund plante er die folgende Gliederung.

                      Übung 3

                      Sehen Sie sich die in diesem Abschnitt und Kapitel 10 “Rhetorische Modi” besprochenen Organisationsstrukturen an. Befolgen Sie diese Schritte, um mit den zuvor organisierten Notizen zu arbeiten, um mit der Planung der Organisation Ihres Papiers zu beginnen.

                      1. Erstellen Sie eine Gliederung, die Ihre Abschlussarbeit, wichtige Unterthemen und unterstützende Punkte enthält.
                      2. Die Hauptüberschriften in Ihrer Gliederung werden zu Abschnitten oder Absätzen in Ihrer Arbeit. Denken Sie daran, dass Ihre Ideen das Rückgrat des Papiers bilden sollten. Schreiben Sie für jeden Hauptabschnitt Ihrer Gliederung einen Themensatz, in dem Sie den Hauptpunkt angeben, den Sie in diesem Abschnitt ansprechen.
                      3. Wenn Sie Schritt 2 ausführen, stellen Sie möglicherweise fest, dass einige Punkte zu komplex sind, um sie in einem Satz zu erklären. Überlegen Sie, ob wichtige Abschnitte Ihrer Gliederung aufgebrochen werden müssen, und notieren Sie bei Bedarf zusätzliche Themensätze.
                      4. Überprüfen Sie Ihre Notizen und bestimmen Sie, wie die verschiedenen Informationen als Stützpunkte in Ihre Gliederung passen.

                      Zusammenarbeit

                      Bitte teilen Sie die erstellte Gliederung mit einem Mitschüler. Untersuchen Sie die Gliederung Ihres Mitschülers und sehen Sie, ob Ihnen Fragen einfallen oder ob Sie einen Bereich sehen, der von einem zusätzlichen Punkt oder einer Klarstellung profitieren würde. Bringen Sie die Umrisse zueinander und vergleichen Sie die Beobachtungen.

                      Schreiben bei der Arbeit

                      Die in diesem Abschnitt und Kapitel 10 “Rhetorische Modi” beschriebenen Strukturen können Ihnen auch dabei helfen, Informationen in verschiedenen Arten von Arbeitsplatzdokumenten zu organisieren. Beispielsweise folgen medizinische Zwischenfallberichte und Polizeiberichte einer chronologischen Struktur. Wenn sich das Unternehmen für die Erbringung einer Dienstleistung zwischen zwei Anbietern entscheiden muss, können Sie eine E-Mail an Ihren Vorgesetzten schreiben und die Auswahl vergleichen und gegenüberstellen. Wenn Sie wissen, wann und wie die einzelnen Organisationsstrukturen verwendet werden, können Sie Arbeitsplatzdokumente effizient und effektiv schreiben.


                      Erstellen Sie die 9i-Datenbank und migrieren Sie die Quelldatenbank

                      • Installieren Sie die Software (entweder von Standard-Softwaremedien oder von 11i-Medien).
                      • Aktualisieren Sie auf 9.2.0.8.
                      • Patch 5035661 anwenden
                        entpacken -qo p5035661_11i_LINUX.zip -d $ORACLE_HOME
                      • Installieren Sie OPatch (Patch 6880880 Version 10.1).
                      • Wenden Sie Patch 5391326 mit OPatch an.
                      • Folgen Sie den Abschnitten 2 und 3, um die neue Datenbank zu erstellen und die aus der Quelldatenbank generierten Dump-Dateien zu importieren:
                        9i Export-/Importprozess für Oracle Applications Release 11i (Doc ID 230627.1)
                      • Legen Sie den folgenden Initialisierungsparameter fest, bevor Sie die Datenbank importieren:
                        Ereignis = � Ablaufverfolgungsname Kontextebene 32768”
                      • Die Tablespaces der neu erstellten Datenbank müssen wörterbuchverwaltet sein.

                      Software-Tutorial, Bildung - http://www.dwcrk.com/

                      Voraussetzungen für Bentley Desktop Applications 8.11.5 muss vor der Installation von MicroStation 8.11.5 oder einer der 8.11.5-Versionen der MicroStation V8i-Derivatprodukte (Bentley View, ProjectWise Navigator oder MicroStation PowerDraft) ausgeführt werden. Es handelt sich lediglich um eine Installationssequenz verschiedener Microsoft-Pakete, die vorhanden sein müssen, bevor MicroStation 8.11.5 oder seine abgeleiteten Produkte ordnungsgemäß installiert und ausgeführt werden können.

                      Inhalt Windows Installer Version 3.1v2
                      Microsoft .NET-Framework 3.5
                      Microsoft XML-Parser (MSXML) 6 SP 1 (32 Bit)
                      Microsoft XML-Parser (MSXML) 6 SP 1 (64 Bit)
                      Kern von Microsoft Visual Basic für Applikationen
                      Microsoft Visual Basic für Anwendungen lokalisiert
                      DirectX 9c
                      DHTML-Bearbeitungssteuerung für Anwendungen (mit Vista-Kompatibilität)

                      Die Urheberrechte an allen Komponenten sind Eigentum der Microsoft Corporation oder einer ihrer verbundenen Unternehmen, Tochtergesellschaften oder Lizenzgeber.

                      Die Voraussetzungen für Bentley Desktop Applications 8.11.5 erfordern mindestens 400 MB, um alle Komponenten zu installieren. Bitte beachten Sie, dass Microsoft Internet Explorer v6.0 oder höher mit 128-Bit-Verschlüsselungsstärke vor der Installation der Voraussetzungen für Bentley Desktop-Anwendungen auf Ihrer Workstation installiert werden muss.

                      Wichtiger Hinweis: Es wird dringend empfohlen, vor der Installation dieser Software alle Programme zu schließen und laufende Antivirensoftware zu deaktivieren. Stellen Sie sicher, dass Sie Ihre Antivirensoftware wieder einschalten, wenn Sie fertig sind.

                      1. Klicken Sie in einem Explorer-Fenster auf Setup Prerequisites 8.11.5.exe.
                      Das Dialogfeld „Voraussetzungen für Bentley Desktop-Anwendungen“ wird geöffnet und fordert Sie zum Installieren oder Abbrechen auf.

                      2. Klicken Sie auf Installieren.
                      Die MicroStation-Voraussetzungen sind auf Ihrem Computer installiert. Ein Dialog benachrichtigt Sie, wenn die Installation abgeschlossen ist.

                      3. Klicken Sie auf OK.
                      Ein Dialogfeld weist Sie darauf hin, dass Sie Ihren Computer neu starten müssen, bevor die neuen Einstellungen wirksam werden.

                      4. Klicken Sie auf Ja, um Ihren Computer neu zu starten.
                      Sie haben jetzt die entsprechenden Voraussetzungen installiert, um MicroStation 8.11.5 und seine abgeleiteten Produkte auszuführen.