View Full Version : IFS API für Cobol
Hallo zusammen,
für RPG gibt es ja tolle APIs, um mit dem IFS zu arbeiten.
Weiß jemand, ob solche APIs auch in Cobol eingesetzt werden können?
Vielen Dank im voraus.
Bruno Jakob
21-10-04, 14:11
Das geht auch.
Gruß
Bruno
Danke für die schnelle Antwort.
Gibt es irgendwo Beispielcode?
Gruß Roland
Wie immer ist es in COBOL etwas schwieriger:
Process nomonoprc
Eine Prozedur-Deklaration wie bei RPG ist nicht erforderlich, der Aufruf an sich bestimmt über die Parameter:
01 WorkSpaceSize pic s9(9) comp-4.
01 WorkSpaceEmpty usage pointer.
call procedure "calloc" using by value 1 WorkSpaceSize
returning WorkSpaceEmpty
In diesem Beispiel wird die C-Routine calloc aufgerufen.
Wichtig bei COBOL ist die GENAUE Übergabe von Parametern, da es sonst zu undefinierten Ergebnissen kommen kann.
Eine automatische Typanpassung wie bei RPGLE gibt es nicht !
"by value" ist anzugeben, wenn eben nicht die Adresse verwendet wird
"by reference" übergibt die Adresse.
Da es bei Aufrufen auch zu gemischten Parametern kommt, muss eben für jeden Parameter explizit value/reference angegeben werden.
01 SqlCmpPtr usage procedure-pointer.
01 ReturnLong pic s9(9) comp-4.
* Sortierte Namensliste
01 WrkSortNames.
05 NoOfSrtNames pic s9(9) comp-4.
05 SortNamesTable occurs 1 to 2
depending on NoOfSrtNames
ascending SrtType
ascending SrtName
indexed by I-SrtIndex.
10 SrtType pic x.
10 SrtName pic x(30).
10 SrtIndex pic s9(4) comp-4.
set SqlCmpPtr to entry procedure "SQLCPYCOMP"
call procedure "qsort"
using by reference SortNamesTable (1)
by value NoOfSrtNames
ReturnLong
SqlCmpPtr
Aufruf der C-Routine "qsort".