2016-06-28 4 views
1

Ich habe eine .p-Datei und ich führe es in der Unix-Konsole. und ich liebe es . weil es nur ein einfaches Dienstprogramm zum Ausführen ist. Es ist einfach und hilft mir zu lernen.Progress OpenEdge einfaches Dienstprogramm mit Eingabeparameter

Jetzt begann ich mehr Phantasie zu bekommen. Ich frage mich, ob ich einen Eingabeparameter für eine .p-Datei machen kann?

Dies ist, wie ich normalerweise meine .p-Datei ausführen. enter image description here

Nun, wenn test.p 2 Parameter benötigt .. wie mache ich es in der .p? und wie führe ich es in der Konsole?

Das ist, was ich im test.p und dOrd habe und dLocation ist der Eingangsparameter, den ich will.

output to /usr2/appsrv/test/test.txt. 
def var dOrd like Ord.Ord. 
def var dLocation like Ord.Ord. 
find OrdCSRef no-lock where OrdCSRef.Ord = dOrd and OrdCSRef.Loc = dLocation no-error. 
if available OrdCSRef then do: 
    put unformatted OrdCSRef.CSOrdRef skip. 
end. 
else 
    put unformatted "Create CSOrdRef" skip. 
end. 
output close. 

Ich habe die folgende Syntax in der Unix-Konsole ausprobiert. aber offensichtlich wird es nicht funktionieren.

enter image description here

Antwort

1

INPUT-Parameter ist das, was Sie suchen. Ändern test.p wie folgt, und dann laufen sie als "RUN /usr2/appsrv/test/test.p (" ARG1" , "ARG2")“

output to /usr2/appsrv/test/test.txt. 
def input parameter dOrd like Ord.Ord. 
def input parameter dLocation like Ord.Ord. 
find OrdCSRef no-lock where OrdCSRef.Ord = dOrd and OrdCSRef.Loc = dLocation no-error. 
if available OrdCSRef then do: 
    put unformatted OrdCSRef.CSOrdRef skip. 
end. 
else 
    put unformatted "Create CSOrdRef" skip. 
end. 
output close. 
+0

Eine Spitze: folgen die gute Gewohnheit der Definition von Variablen, Eingabe und temporäre Tabellen als no-undo, es sei denn, sie sollten mit Undos umgehen. – Jensd