Freigeben über


Ausrichtungsprobleme mit generiertem COBOL-Code

COBOL richtet Datenelemente auf der Ebene 01 auf Doppelwortgrenzen aus. Diese Praxis verursacht ein potenzielles Problem in CICS-nicht-DPL-Anwendungen, die TI-generierte Datendeklarationen zusammen mit Fehlermetadaten verwenden. Wenn Sie Ihre COBOL-Anwendung so codieren, dass die Fehlermetadaten und die Eingabeparameter in einem RECEIVE empfangen werden, werden die Parameter unmittelbar neben den Metadaten im Arbeitsspeicher platziert. Da die Fehlermetadaten jedoch nicht auf einer Doppelwortgrenze enden, übergibt diese Aktion die Parameter 4 Byte vor dem Ort, an dem der COBOL-Code sie erwartet.

Sie können dieses Problem verhindern. Wenn Sie entweder auf den Namen der Include-Methode oder die Option "Alle Informationen einschließen" auf der Registerkarte "Erweitert" auf der Eigenschaftenseite einer Methode klicken, stellen Sie sicher, dass das Großrechnerprogramm zwei RECEIVE-Befehle ausgibt, um eingehende Daten für die Methode zu verarbeiten. Der erste RECEIVE ruft den Metadatenblock ab, und der zweite RECEIVE ruft die Daten für die Methode ab. Wenn COBOL für die Methode generiert wird, wird für die Metadaten ein zusätzlicher 01-Block generiert. Wenn die Option "Alle Informationen einschließen" ausgewählt ist, wird auch erwartet, dass Sie eine zusätzliche SEND für die Metadaten erstellen, bevor Sie die Methodendaten zurück an die Automatisierungsclientanwendung senden.

Siehe auch

Host- und Automatisierungsdaten