Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN21
  API : setproperty funktioniert nicht

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  API : setproperty funktioniert nicht (390 mal gelesen)
Ulf_K
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Ulf_K an!   Senden Sie eine Private Message an Ulf_K  Schreiben Sie einen Gästebucheintrag für Ulf_K

Beiträge: 204
Registriert: 20.02.2002

erstellt am: 01. Mrz. 2002 13:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

An alle API-User:
Habe Schwierigkeiten beim Schreiben von Properties. Wir tauschen die Artikelnummer von einiger BMK automatisch. Wenn ich dies über "setproperty" mache und den Wert dann wieder lese scheint er diesen auch übernommern zu haben. Schau ich dann im Plan nach ist bei den meisten vorher bearbeiteten BMKs der alte Wert wieder drin. Zum Testen habe ich die Funktion zweimal gestartet und dann sind wirklich alle Artikelnummern getauscht.

Kann mir dies Verhalten jemand erklären?

Gruß, Ulf


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
E21 V4.3 BL2399
E21 V4.3 API
Electric P8 Prof. 2.2.5 HF1
Electric P8 Prof. 2.3.5
Eplan Fluid Addon
Eplan ProPanel Addon
Electric P8 API
<P>Systeme:
MS WINDOWS W7
MS Windows Server 2008

erstellt am: 12. Mrz. 2002 12:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ulf_K 10 Unities + Antwort hilfreich

Hallo Ulf,

ich glaub da kann ich Dir helfen.
Über das Kommando "setproperty" kannst Du das nicht lösen,
das geht nicht! Die Devices bestehen aus einem Component und
einem Part. Deshashalb must Du Dir das entsprechende BMK mit einem Iterator EPL_ITERTYPE_DEVICETAGS suchen und dann über das Eplan Kommando EPLAN.EPLAN21.PART.CREATE die Artikelnummer erzeugen.
Achtung das C Beispiel in der API Hilfe ist fehlerhaft!
Mittels EPLAN.EPLAN21.PART.DELETE kannst Du auch Artikelnummern
auf dem selben Weg löschen.

Du kannst aber auch noch einfacher eine Variable im Betriebsmittel
Dialog des Bauteils in der Reiterkarte Artikel setzen.
Artikelnummer z.B. ein "$1" über Kontextmenü "Neu" eintragen und
dann wie gewohnt per API die Variable setzen. Das geht auch ist aber
nicht so sauber wie die erste Methode.

Gruß Fritz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ulf_K
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Ulf_K an!   Senden Sie eine Private Message an Ulf_K  Schreiben Sie einen Gästebucheintrag für Ulf_K

Beiträge: 204
Registriert: 20.02.2002

erstellt am: 12. Mrz. 2002 13:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Fritz,

das Eigentümliche an der Funktion ist, dass sie funktioniert. Man muss sie nur mehrfach (min 2x) durchführen. Zur Vorgehensweise:

Wir müssen an bestimmten BMKs die Artikelnummer tauschen. Wir haben definiert, dass jedes BMK nur eine Artikelnummer beinhaltet (sonst verschluckt sich unser PPS-System). Ich bilde erst einen Iterator über die ITERTYPE_DEVICETAGS und suche nach den BMKs. Habe ich es gefunden so bilde ich den Iterator über die ITERTYPE_PARTS. Hier tausche ich die Artikelnummer (8001) des ersten Parts über SETPROPERTY. Lese ich anschließend das Property aus, so ist es ok. Schaue ich mir nach dem kompletten Programmablauf das BMK unter EPLAN an, so kann es sein (muss nicht) dass die alte Artikelnummer wieder drinsteht.

Starte ich mein Programm jedoch zweimal hintereinander so sind dann alle Artikelnummern sicher getauscht.

Bist du der Meinung es wäre sicherer zuerst die Artikelnummer zu löschen und dann die neue wieder zu laden?

By the way: auf die Beispiele von EPLAN könnte ich bisher verzichten.

Gruß
Ulf

p.s. Wie sieht es eigentlich mit noch undokumentierten (indirekten) Zugriffen aus? Weisst du, ob sich dort bei EPLAN was tut?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
E21 V4.3 BL2399
E21 V4.3 API
Electric P8 Prof. 2.2.5 HF1
Electric P8 Prof. 2.3.5
Eplan Fluid Addon
Eplan ProPanel Addon
Electric P8 API
<P>Systeme:
MS WINDOWS W7
MS Windows Server 2008

erstellt am: 12. Mrz. 2002 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ulf_K 10 Unities + Antwort hilfreich

Hallo Ulf,

also Du hast es eigentlich richtig gemacht mit den Iteratoren.
Wie ich Dir schon sagte ist das Setzen der Artikelnummer 8001 aufgrund des objektorientierten Aufbaus der Objekte eigentlich über part_create vorgesehen. In der Api Doku gleich zu Beginn ist eine gute Übersicht über die Verknüpfungen/Verwandtschaften der Objekte. Dort kannst Du die Abhängigkeit erkennen. Warum das über setproperty beim 2 mal geht weiss ich nicht, ich würd mich aber auf Dauer nicht drauf verlassen!!! Ich weiss auch nicht ob das part-Objekt dann vollständig und korrekt gesetzt ist??? Zu Deiner Frage mit dem vorherigen Löschen. Meine Meinung ist dass es eh besserer(sicherer) Stil ist zuerst die Trümmer wegzuräumen wenn sie nicht mehr gebraucht werden und dann wieder neu zu setzen. Ich mach das eigentlich immer so. Sicher können wir noch drüber diskutieren warum es eben an manchen Stellen nicht mittels setproperty geht Properties zu setzen!!

Zu Deiner letzten Frage:
Man bekommt schon Auskunft über undokumentierte Funktionen von Eplan
aber halt ohne Gewähr!!! Mal ehrlich willst Du Dich auf solche Spielchen einlassen und das Risiko eingehen, dass es nach Murphy beim nächsten Release sicher nicht mehr so funktioniert?
Die von Dir erfragte Funktion zum Setzen der P-Hierarchie ist z.B. so ein Fall. Aber das muss jeder für sich entscheiden!! Bei der Größe meiner API Anwendungen werde ich es jedenfalls nicht mal versuchen.
Es tut sich schon was bei Eplan auch im API Bereich doch leider nicht immer so schnell wie wir uns das wünschen.
Deshalb je mehr gleiche Forderungen und Druck von Anwenderseite kommt umso eher wird auch was realisiert.

Gruß Fritz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ulf_K
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Ulf_K an!   Senden Sie eine Private Message an Ulf_K  Schreiben Sie einen Gästebucheintrag für Ulf_K

Beiträge: 204
Registriert: 20.02.2002

erstellt am: 12. Mrz. 2002 16:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Fritz,

die Sache werde ich mir mal genauer ansehen. Mein (lösbares) Problem ist die Tatsache, dass ich aus unserem PPS-System nur die Referenz zwischen BMK und Artikelnummer bekomme. Dann müsste ich, bevor ich den Artikel lösche, die Stückzahl vorher auslesen. Ja, möglich ist es. Werde es demnächst mal testen.

Übrigens, nutzt ihr als PPS-System SAP R3? Habt ihr online- oder offline-Schnittstellen? Wie konfiguriert ihr die Generierungparameter?

Unser PPS-Sytem ist eine IBM mit einer DB aus der ersten Steinzeit. Aus diesem Grunde habe ich mich (fast) komplett abgekoppelt und eine ACCESS-DB zum für die Konfiguration hinterlegt die über eine Software gefüllt wird.

Grüsse
Ulf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

FML
Mitglied



Sehen Sie sich das Profil von FML an!   Senden Sie eine Private Message an FML  Schreiben Sie einen Gästebucheintrag für FML

Beiträge: 491
Registriert: 11.03.2002

Aktuell:
E21 V4.3 BL2399
E21 V4.3 API
Electric P8 Prof. 2.2.5 HF1
Electric P8 Prof. 2.3.5
Eplan Fluid Addon
Eplan ProPanel Addon
Electric P8 API
<P>Systeme:
MS WINDOWS W7
MS Windows Server 2008

erstellt am: 13. Mrz. 2002 08:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Ulf_K 10 Unities + Antwort hilfreich

Hallo Ulf,

mit part.delete musst Du die Stückzahl vorab nicht auslesen.
Schau Dir mal die API-Doku zum Kommando an.

SAP/R3 nutzen wir nicht. Wir sind PPS seitig momentan in der Umbruchphase un niemand kann gerade so genau sagen wo der Weg hinführt. Ich vermute mal nach SAP, weil wir es in Teilbereichen schon einsetzen.

Deshalb wird es bei uns eine Offline Ankopplung an unser PPS geben welche die EPLAN-Artikelverwaltung mit Access verwendet.
Diese Schnittstelle ist aber so konfiguriert, dass wir jederzeit auf SAP schwenken können. Momentan bin ich in der Testphase.

Ich glaube wir haben doch einige Gemeinsamkeiten in der Anbindung von Eplan. Bei dem genannten PPS von IBM sprichst Du nicht zufälligerweise von COPICS/CICS ?? Das haben wir auch noch!!!

Grüße Fritz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ulf_K
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Ulf_K an!   Senden Sie eine Private Message an Ulf_K  Schreiben Sie einen Gästebucheintrag für Ulf_K

Beiträge: 204
Registriert: 20.02.2002

erstellt am: 13. Mrz. 2002 11:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Fritz,

unser jetziges PPS-System ist selbstgestrickt. Die Artikeldatenbank unter EPLAN habe ich zu Fuss angelegt, da die Klassifizierung der für uns relevanten Teile seit 10 Jahren nicht mehr gepflegt wurde. Zudem fehlen die logischen Informationen für Kabel und Schütze.

Doch trotzdem können wir uns gerne über dieses Thema unterhalten. Zudem wir im Moment auch gerade das PPS-System wecheln und höchtwahrscheinlich SAP zum Tragen kommt.

Grüsse
Ulf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz