cancel
Showing results for 
Search instead for 
Did you mean: 

Genehmigungsverfahren mit zwei Bedingungen

Former Member
0 Kudos

Sehr geehrte Damen und Herren,

wir haben einen Kunden, welcher ein Genehmigungsverfahren im SAP B1 einrichten möchte, sodass Kundenaufträge, in welchen Positionen mit einem Bruttogewinn unter 10 % enthalten sind, für bestimmte Geschäftspartner zuerst genehmigt werden müssen.

In dem Standard-Genehmigungsverfahren kann ich den Bruttogewinn < 10 % und zusätzlich eine Abfrage, welche die bestimmten Geschäftspartner selektiert, einstellen...allerdings werden diese zwei Bedingungen mit einem ODER verknüpft und nicht mit einem UND. Kann ich dies irgendwo umstellen?

Eine andere Möglichkeit wäre eine Abfrage in das Genehmigungsverfahren einzurichten, welche beide Bedingungen enthält. Daher nun meine Frage: Wie berechne ich sauber vor dem Hinzufügen des Kundenauftrages den Bruttogewinn (%) der Zeilen?

Vielen Dank im Voraus .

Mit freundlichen Grüßen

Annett Berger

SIGMA Software und Consulting GmbH

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hallo,

vielen Dank für Ihren Hinweis.

Ich habe ein bisschen mit der Transaction Notification bzgl. meinem Problem probiert...allerdings bin ich nur dahin gekommen, dass er mir den Beleg zum Hinzufügen sperrt. Ich kann dieses Ereignis (das Sperren) nicht in das Standard Genehmigungsverfahren integrieren, oder? D.h. mein Kunde bekommt eine Fehlermeldung, der Beleg wird gesperrt und dann muss mein Kunde manuell den Beleg parken und manuell eine Aktivität an den Vorgesetzten senden.

Mit freundlichen Grüßen

Mandy Ehrlich

SIGMA Software und Consulting

Former Member
0 Kudos

Hallo

Schon am 25.Feb. geschrieben:

UDF: Genehmigungsbeleg Ja/Nein. Wenn es auf Ja steht, eine Genehmigung durchführen, auf Nein halt nicht. Default ist N.

Dazu eine Transaction Notification, die ein Hinzufügen verhindert, wenn Deine Bedingung zutrifft (zu kleiner Bruttogewinn), und Genehmigung auf "N" steht. Vorteil in der TN: Die DB-Felder sind gefüllt, obwohl Beleg noch nicht gespeichert.

So geht es.

hdh

Andreas

Former Member
0 Kudos

Hallo,

eine Abfrage für ein Genehmigungsverfahren muss zwingend "TRUE" oder "FALSE" (als varchar) liefern.

Den Bruttogewinn zu errechnen, ist ja Sacher der Einstellung (Belegeinstellungen / Allgemein / %-Bruttogewinn ermitteln auf Basis: Gewinn/verkaufspreis oder Gewinn/Basispreis (OADM/GrossBySal Y/N). Dementsprechend einfach Prozentrechnen...

hdh

Andreas

Former Member
0 Kudos

Hallo,

mir ist bekannt, dass die Abfrage für ein Genehmigungsverfahren "TRUE" oder "FALSE" sein muss. Dies hat auch bereits funktioniert, nur nicht in Zusammenspiel mit der zweiten Bedingung.

Natürlich wird der Bruttogewinn in den Einstellungen festgelegt, aber ich weiß derzeit nicht wie ich auf den errechneten Bruttogewinn pro Belegzeile in meiner Abfrage für das Genehmigungsverfahren zugreifen kann. Ich muss den Bruttogewinn selbst über die Matrix errechnen. Aber wie???

Mit freundlichen Grüßen

Annett Berger

SIGMA Software und Consulting GmbH

Former Member
0 Kudos

Was man nicht alles für Punkte macht...

z.B. so:

SELECT Umsatz=t1.LineTotal * ((100 - t0.DiscPrcnt ) / 100)

, BruttogewinnBasispreis=t1.GrossBuyPr * T1.Quantity

, Bruttogewinn=t1.GrssProfit

, BruttogewinnProzent = case when t1.GrossBuyPr * T1.Quantity <> 0 then t1.GrssProfit / t1.GrossBuyPr * T1.Quantity  * 100 else 0 end

FROM [dbo].[ORDR]  T0

INNER JOIN RDR1 T1 ON T0.DocEntry=T1.DocEntry

(je nachwem wie berechnet wird)

Ohne Gewähr!

hdh

Andreas

Former Member
0 Kudos

Hallo,

vielen Dank für das SQL Statement.

Ich sehe allerdings immer noch ein Problem in der Abfrage, da die Daten zu dem Zeitpunkt der Abfrage noch nicht in der Datenbank (ORDR) verfügbar sind.

D.h. ich muss die Abfrage mit "$[$4.1.0]" aufbauen.

Mit freundlichen Grüßen

Mandy Ehrlich

SIGMA Software und Consulting GmbH

Former Member
0 Kudos

Hallo,

das ist wohl wahr, hatte ich nicht bedacht.

Nun, dann ersetz doch die DB-Felder mit den entsprechenden Feldern aus der Belegzeile.

Wie man herausfindet, welches DB-feld welches Item auf der Maske ist, ist hoffentlich bekannt.

Alternativ: UDF: Genehmigungsbeleg Ja/Nein. Wenn es auf Ja steht, eine Genehmigung durchführen, auf Nein halt nicht. Dazu eine Transaction Notification, die ein Hinzufügen verhindert, wenn Deine Bedingung zutrifft (zu kleiner Bruttogewinn), und Genehmigung auf "N" steht. Vorteil in der TN: Die DB-Felder sind gefüllt, obwohl Beleg noch nicht gespeichert.

hdh

Andreas