athomas
19th March 2004, 13:22
Hallo zusammen,

ich versuche "Wareneingänge verwalten" mit AFS zu automatisieren.
Ich habe probleme mit dem Aufruf und wegschreiben des zugehörigen Einlagerungssatzes. (ILC eingeschaltet).

1. beim Aufruf der tdilc4113s000 aus der tdpur4120m000 bleibt der Cursor in der tdilc4113s000 bei wait.for.switch in Warteposition und kommt nicht mehr in die tdpur4120m000 zurück.

2. Beim Versuch den tdilc4113s000-Satz mit stpapi.insert wegzuschreiben , kommt immer die Meldung als Rückgabe "Artikel/Charge nicht vorhanden"

Hat irgend jemand einen Lösungsvorschlag für mein Problem
Ich sende euch mal meine Source als Anhang mit.



Danke schonmal im Vorraus


athomas

hklett
26th March 2004, 10:10
Im Standard werden die WE über das Programm tdpur4131s000
( WE auswählen ) ausgwählt.

in tdpur4131s000 die Datensätze mit stdapi.find()
raussuchen.
Mit Stdapi.mark() markieren und wenn fertig dann mit
stpapi.application.option( "tdpur4131s000" ,1,36, err.string )
die Session mit Speichern und abschliessen beenden.


Danach in Session tdpur4120m000 mit find() die Einzelnen Datensätze suchen, die Werte eintragen und nach Update
erst im ILC den WE buchen.

So sollte es eigentlich finktionieren.

Gruß

Holger

athomas
26th March 2004, 14:43
Hallo Holger,

vielen Dank für die Info. Ich hab leider nach wie vor das Problem, das der Update der Mengenfelder auf der tdpur4120m000 und der Insert in der tdilc4113s000 nicht funktioniert.
Ich bekomme keine Fehlermeldung über err.mess von den api-Funktionen, lediglich im AFS-Log existiert folgender Eintrag:
Meldung im AFS-Log: set+save0
Ich sende nochmal den akt. Source.
Ich habe den Eindruck, daß ich nicht alle Keyfelder an die tdilc4113s000 sende?!

Vielleicht hast du ja noch eine Idee

Vielen Dank schonmal


athomas:(

hklett
26th March 2004, 15:23
Hallo,

habe nicht gesehen, daß du den Wareneingang über die Session
tdpur4224s000 auswählst wegen Parameter "Wareneingänge verwalten pro " Bestellnummer.


Die Funktionalität ist mir bis jetzt entgangen.

Hänge just im Moment an dem gleichen Problem.

Kann das aber umgehen, da in meinem Fall die WE-Menge immer der Bestellmenge enntspricht und ich auch keine Chargen zu buchen habe. ( CTRL-Shift-G )


Melde mich aber wenn ich eine Lösung gefunde habe.


Schönes Wochende

athomas
26th March 2004, 15:55
Hallo Holger,

vielen Dank für deine Antwort.
Ich habe nun endlich mit unserem Baan-Support Unternehmen sprechen können.
Von denen bekam ich die offizielle Aussage, das die Wareneingänge mit ILC unter Baan4 nicht zu automatisieren wären. Unter Baan ERP würde es funktionieren.

Vielleicht hilft dir die Information, daß du vielleicht auch nicht so viel Zeit investierst wie ich.


Noch viel Erfolg und ein schönes Wochenende



athomas

DFisch
27th March 2004, 12:09
Hallo,
die Aussage, dass Wareneingänge mit ILC nicht per AFS automatisiert werden können, stimmt nicht.
Ich bin zwar kein Programmierer, setze aber häufug das Add-On GPA ein, das als Konfigurator für automatisierte Prozesse dient und im Hintergrund AFS-Prozeduren generiert und ausführt.
Dabei habe ich bereits mehrere Projekte auch im WE incl. ILC und LTC mit AFS automatisiert.
Leider kann ich keinen Script bringen, da ich wie gesagt nur mit dem Konfigurator GPA arbeite und keine programmierkenntnisse habe.
Wichtig aber ist die Aussage: Es funktioniert.
Also nochmal dem Support auf die Füße treten...
viele Grüße
Dirk

ulrich.fuchs
29th March 2004, 19:11
Das ganze ist immer ein bisschen von den Parametern abhängig - jenachdem verhält sich die WE-Session nämlich anders. GPA kommt da auch an die Grenzen; meines Wissens kriegt mans da auch nur hin, indem man pro Zeile eine eigene Wareneingangsnummer erzeugt - auch nicht das gelbe vom Ei. Ich hab zwar den WE noch nie mit AFS/GPA auutomatisiert, aber vor zig Jahren mal mit nem "verbogenen" DDC. Eigentlich müsste das mit AFS auch so funktionieren:

Ich würde mal versuchen, zunächst einen elektronischen Lieferschein zu erzeugen - das ist die Tabelle tdpur700, die kann man relativ einfach per Programm befüllen. Der Zoom im Feld Lieferschein geht auf eine Session über diese Tabelle, wo man die Lieferscheinnummer rauspicken kann. Verlässt man das Programm, werden die WE-Zeilen gemäß diesem Lieferschein erzeugt. Dieses "Anziehen" der Lieferscheinzeilen solle man per AFS irgendwie hinkriegen. Dann ist die WE-Makse schonmal gefüllt, und man braucht eigentlich nur noch ein choice.cont.process absetzen.

Ansonsten mal auf jeden Fall hier im engl. AFS-Forum kucken: Der Wareneingang ist so ziemlich das komplizierteste, was man mit AFS machen will; da gibt's hier schon jede Menge Fragen und Antworten.

Uli

hklett
30th March 2004, 14:24
Also noch ein Lösungsansatz.

Ich glaube das Problem liegt in der Synchronisierung der Sessions
ILC4113 und pur4120.


Vorgehenweise:

Auswahl der Wareneingänge wie gehabt.

Nach Lesen der WE-Nummer sofort ilc4113 und pur4120 beenden.

Dann über WE-Nummer die Datensätze in der tdpur045 selektieren
und über
pur4120.put.field reno
pur4120.put.field orno
pur4120.put.field pono
pur4120.find()
f4120m000.handle.sub.process( "tdilc4113s000", "add" )

Gelieferte Menge eintragen
pur4120.Update()

setzen der Werte in ilc4113
Beenden von ilc4113 und beenden Pur4120 und dies für jeden
einzelnen Datensatz.

Bei mir klappt das soweit allerdings ohne Chargenverwaltung
aber mit Auslagerungspriorität FIFO.