Positionsnummer um 1 erhöhen (Statt um 10)

Fragen und Problemen zur Inbetriebnahme, Konfiguration und Wartung von AvERP und der Datenbank

Moderator: SYNERPY

Antworten
WSchroeter
Beiträge: 4
Registriert: Fr Aug 01, 2008 3:47 pm
Wohnort: Nußloch

Positionsnummer um 1 erhöhen (Statt um 10)

Beitrag von WSchroeter »

Hallo allerseits,

ich würde AvERP gerne so konfigurieren, das die Positionsummern in den Aufträgen sich um 1er Schritte erhöhen, und nicht um 10er.

Folgendes habe ich versucht:
Im IBExpert in der Tabelle BAUFPO den Before Insert-Trigger bearbeiten,
und zwar die Parameter der Prozedur P_MASKENKEY_LFDNR.

Alter Code:

Code: Alles auswählen

EXECUTE PROCEDURE P_MASKENKEY_LFDNR ('BAUFPO', NEW.BAUF_ID_LINKKEY, 10, NEW.MASKENKEY)
  RETURNING_VALUES (NEW.MASKENKEY);
Neuer Code:

Code: Alles auswählen

EXECUTE PROCEDURE P_MASKENKEY_LFDNR ('BAUFPO', NEW.BAUF_ID_LINKKEY, 1, NEW.MASKENKEY)
  RETURNING_VALUES (NEW.MASKENKEY);
Leider hat das keine Auswirkungen gezeigt - was mache ich falsch?

Danke für Eure Hilfe,
B.Wolf
festus01
Beiträge: 515
Registriert: Di Okt 19, 2004 5:45 am
Wohnort: Diepholz

Re: Positionsnummer um 1 erhöhen (Statt um 10)

Beitrag von festus01 »

Hallo WSchroeter,
WSchroeter hat geschrieben: ich würde AvERP gerne so konfigurieren, das die Positionsummern in den Aufträgen sich um 1er Schritte erhöhen, und nicht um 10er.

Folgendes habe ich versucht:
Im IBExpert in der Tabelle BAUFPO den Before Insert-Trigger bearbeiten,
und zwar die Parameter der Prozedur P_MASKENKEY_LFDNR.

...

Leider hat das keine Auswirkungen gezeigt - was mache ich falsch?
Schauen Sie mal in der Maske FRMV_BAUFPO im Event AfterInsert, dort steht unter anderem folgendes:

Code: Alles auswählen

Schnipp...
  nMyLink := AsInteger(Q_1.FieldByName('BAUF_ID_LINKKEY'));
  frmdata.StP_Universal.StoredProcname := 'P_MASKENKEY_LFDNR';
  frmdata.StP_Universal.ParamByName('MyTabelle', 'BAUFPO');
  frmdata.StP_Universal.ParamByName('LINKKEY', nMyLink);
  frmdata.StP_Universal.ParamByName('MyStep', 10);
  frmdata.StP_Universal.Execute();
  D := AsString(frmdata.StP_Universal.Fieldbyname('MyDefault'));
  M := Q_1.FieldByName('MaskenKey');
  frmdata.StP_Universal.unprepare();
  SetString(M, D);
  SetFocus('E_BSA_MASKENKEY');
...Schnapp
Ist damit die Frage beantwortet :?:

An den Triggern würde ich jetzt nicht unbedingt drehen :wink:
MfG

KDP

----------------------------------------------------------
Durch den Computer spart der Mensch so viel Zeit,
dass er diese am Computer verbringen kann.
WSchroeter
Beiträge: 4
Registriert: Fr Aug 01, 2008 3:47 pm
Wohnort: Nußloch

Beitrag von WSchroeter »

Hi Festus,

erstmal vielen Dank für die schnelle Antwort!
Schauen Sie mal in der Maske FRMV_BAUFPO im Event AfterInsert, dort steht unter anderem folgendes:
Code:

Code: Alles auswählen

nMyLink := AsInteger(Q_1.FieldByName('BAUF_ID_LINKKEY'));
  frmdata.StP_Universal.StoredProcname := 'P_MASKENKEY_LFDNR';
  frmdata.StP_Universal.ParamByName('MyTabelle', 'BAUFPO');
  frmdata.StP_Universal.ParamByName('LINKKEY', nMyLink);
  frmdata.StP_Universal.ParamByName('MyStep', 10);
  frmdata.StP_Universal.Execute();
  D := AsString(frmdata.StP_Universal.Fieldbyname('MyDefault'));
  M := Q_1.FieldByName('MaskenKey');
  frmdata.StP_Universal.unprepare();
  SetString(M, D);
  SetFocus('E_BSA_MASKENKEY');
Ist damit die Frage beantwortet Question
Nach Anpassung des Parameters MyStep funktioniert das jetzt wunderbar.

An den Triggern würde ich jetzt nicht unbedingt drehen Wink
Da ich noch ziemlich neu bin was die Programmierung in AvERP betrifft, würde ich mich über eine kurze Erklärung freuen :)


Vielen Dank unf freundliche Grüße,
B.Wolf
miboe
Beiträge: 1295
Registriert: Fr Jul 28, 2006 9:13 am

Beitrag von miboe »

Trigger in den Datenbanken enthalten zum Teil ernsthaft wichtige Sicherheitsabfragen, damit auch bei reinen Datenbankinternen Bearbeitungen kein Müll passieren kann. Deswegen der Rat zur Vorsicht, wenn man nicht genau weiß was man da macht. Und damit meine ich jetzt nicht, die Fähigkeit SQL zu programmieren sondern das Verständnis für Averp

In Ihrem Fall war aber die Anpassung im Trigger richtig ... greift allerdings nur bei der automatischen Anlage von Aufträgen durch Utilities und Prozeduren. Die Änderung in der Maske ist zusätzlich notwendig für manuelle Anlage von Aufträgen

Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
Antworten