Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Copystrecken mit COBOL

Empfohlene Antworten

Veröffentlicht

HI habe in eclipse ein hauptprogramm und will eine copystrecke (für callroutine) aufrufen. habe "Copy xxx.cpy" in der Working-Storage section eingebaut. Das copystrecke habe ich auch angelegt als datei.

nun kommt immer der fehler "COBOL LIBRARY IS NOT ALLOCATED. OR DATA SET ALLOCATED FOR LIBRARY HAS INVALID ORGANISATION OR FORMAT RECORD".

wie gesagt ich programmiere mit eclipse ganz frisch und der fehler kommt warum auch immer und was das zu bedeuten hat... hat einer eine ahnung???

Es wäre hilfreich wenn du den relevanten Code hier mal posten würdest denn so ist das wildes rum raten.

Ich denke das deine Copystrecke zwar als Source File vor liegt aber eben nicht als eine Library die du dann in deinem Programm verwenden kannst.

Hi wie stelle ich diesen source-code denn dann um als library... das wäre hilfreich

heute abend werde ich mal mein programm posten damit alles verständlicher wird

Hier ist das Hauptprogramm

IDENTIFICATION DIVISION.

PROGRAM-ID. ....

ENVIRONMENT DIVISION.

*================================================================

*****************************************************************

CONFIGURATION SECTION.

*****************************************************************

SPECIAL-NAMES.

DECIMAL-POINT IS COMMA.

*================================================================

*================================================================

DATA DIVISION.

*================================================================

FILE SECTION.

*****************************************************************

COPY Satzbeschreibung.

*****************************************************************

WORKING-STORAGE SECTION.

*****************************************************************

*

...

COPY Uebergabe-Copystrecke.

/================================================================

PROCEDURE DIVISION.

*================================================================

*****************************************************************

...

Bearbeitet von cobolprogrammierer

hab die zwei copystrecken umbenannt in .lib und in linkage files siehe bild rüber geschoben hat nichts genützt.

l_0a6fea2f89e04f969a9b20eb66bf2b24.jpg

dann habe ich unter [Project]--> Proberties--> Build die library names hinzugefügt hat auch nichts genützt ...

l_e3c847c422634e9bb0550ca7cd33879e.jpg

Einfaches umbenennen von Dateien hilft hier mit Sicherheit nicht. Denn wenn du eine *.doc Datei in *.pdf umbenennst wird auch kein PDF File draus was von eine PDF Reader gelesen werden kann.

Erstelle doch mal ein Minimal Beispiel und posten den kompletten Code. Denn ich bekomme im Moment nicht so wirklich den bogen von deinen per COPY eingebunden Dateien und der wirklich vorhanden Dateien.

Versuche es mal mit dem Dateinamen ohne Endung. Ansonsten lies im Manual von eclipse IDE oder im NetCOBOL Handbuch nach wie die Libraries erzeugen kannst.


...

FILE SECTION.

************************************************** ***************

COPY SDA718-RZ.

************************************************** ***************

WORKING-STORAGE SECTION.

************************************************** ***************

*

...

COPY Uebergabe-Copystrecke.

/================================================== ==============

PROCEDURE DIVISION.

*================================================= ===============

************************************************** ***************

Ich kann es nicht probieren da ich kein NetCOBOL hier habe.

Hier ein einfaches Programm

Hauptprogramm

IDENTIFICATION DIVISION.

PROGRAM-ID. test_main.

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

DATA DIVISION.

WORKING-STORAGE SECTION.

COPY test_copy.

PROCEDURE DIVISION.

display uebergabe

END PROGRAM test_main.

---------------------------

Hier die test_copy (einfach als Datei erstellt ohne endung)

01 uebergabe PIC X(04) VALUE "Hallo".

---------------------------

kommt immer noch im Hauptprogramm an der copy test_copy. anweisung der fehler "COBOL LIBRARY IS NOT ALLOCATED. OR DATA SET ALLOCATED FOR LIBRARY HAS INVALID ORGANIZATION OR RECORD FORMAT." und am program ende kommt der Fehler "Multiple markers at this line

-USER WORD 'UEBERGABE' IS UNDEFINED.

-FORMAT OF DISPLAY STATEMENT IS " wobei der nur als folgefehler auftaucht vermute ich

das hauptprogramm ist unter dem projekt test1/source_files gespeichert

die datei under test1/others

eine beschreibung im netcobol ordner habe ich nicht...

ich durchforste google weiter finde aber nichts...

und ausprobieren bringt auch nichts

Bearbeitet von cobolprogrammierer

mir würde auch einfach helfen, wenn ich wüsste wie das hauptprogramm die externen programme aufrufen kann wie z.b. test_copy

wenn ich eine datei einfach nach *.lib benenne ändert sich nichts am fehler. was muss man dann noch einstellen damit der das animmt?

Das Thema das umbenennen von Dateien nichts bringt hatten wir doch schon. Aus einem Sourcefile wird durch umbenennen nun mal keine lib Datei. Die Dateiendung spielt an dieser Stelle eine Untergeordnete Rolle.

Wie sehen denn deine Copystrecken aus? Vielleicht sind die ja auch nur falsch definiert!

Ansonsten kann ich dir wieder nur das eclipse Manual ans Herz legen. Hier sollte für dich das Kapitel Building a Project -> COBOL Compiler -> Compile Options recht interessant sein. Denn hier werden diverse Compiler Einstellungen erklärt und welche du wann verwenden sollst.

hier ist meine copystrecke

01 KDA.

05 KDAFUNKTION PIC 9(01).

88 KDA-PRUEFEN VALUE 0.

88 KDA-ERGAENZEN VALUE 1.

05 KDA-RETURNCODE PIC 9(01).

88 KDA-VERARBEITUNG-OK VALUE 0.

88 KDA-EINGABEFEHLER VALUE 1.

88 KDA-FEHLER2 VALUE 2.

88 KDA-FEHLER3 VALUE 3.

05 KDA-_RETURNTEXT PIC X(60).

das ist eine satzbeschreibung, die eine callroutine durch den aufruf "call ... USING KDA" benutzt

ist das falsch definiert`?

hi also copy klappt jetzt

habe copy "C:.....\file.lib" gemacht das ging ... man musste das in klammern schreiben

danke für alle bemühungen

Bearbeitet von cobolprogrammierer

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.