Jetzt muss ich mich doch mal an die Profis wenden.
Bei mir bricht die Umwandlung immer mit dem Fehler CPD5D02 ab (Definition für Symbol ... nicht gefunden). Das scheint im Bindeprozess stattzufinden. Ich verstehe nicht warum.
Jetzt aber von Vorne:
ich habe eine Prozedur in einem Serviceprogramm erstellt:
Ich habe diese Prozedur auch im Bindeprogramm aufgeführt:Code:// Control Specifications Ctl-Opt Nomain; . . . // langen Barcode im Format GS128 parsen Dcl-PR Parse_GS128_Barcode ind; pi_Barcode char(74) const; //Input po_EAN zoned(14); //Output po_MHD date; //Output po_Charge char(20); //Output End-PR; . . . Dcl-Proc Parse_GS128_Barcode export pgminfo(*yes); // Programm-Interface Dcl-PI Parse_GS128_Barcode ind; pi_Barcode char(74) const; //Input po_EAN zoned(14); //Output po_MHD date; //Output po_Charge char(20); //Output End-PI; . . . // Wurde eine wichtige Information im Barcode gefunden? if po_EAN <> 0 //Ja or po_MHD <> *loval or po_Charge <> ''; return *on; else; return *off; endif; . . . End-Proc Parse_GS128_Barcode;
Dann habe ich das Serviceprogramm ohne Fehler erstellt.Code:strpgmexp signature(*gen) lvlchk(*yes) pgmlvl(*current) export symbol(Parse_GS128_Barcode) endpgmexp
Anschließend habe ich das Serviceprogramm in mein Bindeverzeichnis aufgenommen:
Code:Aus- ------Erstellung------ wahl Objekt Art Bibliothek Aktivierung Datum Zeit WAWSRV01 *SRVPGM TEST *IMMED 25.02.21 08:44:01
Und nun möchte ich diese Prozedur in meinem Programm WAW165 vom Typ SQLRPGLE nutzen:
Leider bekomme ich bei der Umwandlung meines Programmes WAW165 über die Auswahl 14 folgende Meldung im Joblog (Fehler CPD5D02):Code:* Control Specifications h DftActGrp(*no) Actgrp(*new) BndDir('*LIBL/BIEBNDD') . . . d Parse_Barcode pr n extproc('Parse_GS128_Barcode') d pi_Barcode 74a d po_EAN 14s 0 d po_MHD d d po_Charge 20a . . . // Langen Barcode parsen if Parse_Barcode(bbarcdl:u25_ean:u25_mhd:u25_charge) = *on; // Bildschirmfelder füllen else; // Fehler ausgeben endif;
Ich habe schon alles mögliche ausprobiert:Code:Nachricht . . . : Definition für Symbol 'Parse_GS128_Barcode' nicht gefunden. Ursache . . . . : Für Referenz Parse_GS128_Barcode in *MODULE Objekt WAW165 der Bibliothek QTEMP wurde keine Definition gefunden. Entweder ist die Definition nicht vorhanden, oder sie gehört nicht zu demselben Datentyp oder derselben Prozedurart wie die Referenz. Fehlerbeseitigung: Den Befehl CRTPGM (Programm erstellen) wiederholen, wobei ein Objekt angegeben wird, das eine Definition für Symbol Parse_GS128_Barcode enthält.
- Programm WAW165 zuerst mit Auswahl 15 zu einem Modul wandeln (geht ohne Probleme)
- anschließend CRTPGM mit Angabe meines Serviceprogrammes
Aber es bleibt bei der gleichen Fehlermeldung.
Was mache ich falsch?
Gruß
Artur Janzen
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten

Bookmarks