infra:NET Expert
 
×
C:$RLDATA(Makro-/Textausdruck,Optionen)#
Speichert erweiterte ReportLink-Daten zum unmittelbar folgenden ReportLink-Datenobjekt (V-Operator), für den ein ReportLink-Verweis in der Sektion [REPORTLINKS] der Datei SIBPPS.INI existiert.
Makro-/Textausdruck
zu speichernde Daten
Optionen
zusätzliche Schalter
"Makro-/Textausdruck" steht für eine Zeichenkette, die sowohl aus festen Texten als auch aus infra-Makros bestehen kann. Diese Zeichenkette wird entweder nur an die Globalvariable GV_reportlinkdata oder bei zusätzlicher Angabe der Option /INI als Begriff für den Zugriff auf die gewünschten ReportLink-Definitionen in der Sektion [REPORTLINKS] der Datei SIBPPS.INI verwendet (siehe "Optionen").
"Optionen" ermöglicht die Angabe zusätzlicher Steueroptionen zum RLDATA-Operator. Mit der Option /INI wird erreicht, dass der übergebene Makro-/Textausdruck als Begriff für den Zugriff auf die Sektion [REPORTLINKS] der Datei SIBPPS.INI verwendet wird, um die gewünschten Reportlinkdefinitionen zu finden (siehe nachfolgendes Beispiel).
Hinweis:
Der C:$RLDATA-Operator muss bei Nutzung für ReportLinks unmittelbar vor der Ausgabe des zugehörigen ReportLink-Datenobjekts (V-Operator) stehen.
Nutzung für ReportLinks mit zusätzlicher Datenübergabe, z.B. an IMA-Dateien
Mit dem Operator "C:$RLDATA" für Drucksteuertabellen (MILs) können zusätzliche Daten zur Verwendung beim Aufruf eines ReportLinks übergeben werden. Die Daten werden in der Globalvariable "GV_reportlinkdata" abgelegt und können z.B. in der durch den ReportLink aufgerufenen IMA-Datei ausgewertet werden.
Das ist dann sinnvoll, wenn anhand des eigentlichen ReportLink-Objekts (z.B. einer Beleg- oder Auftragsnummer) in der IMA-Datei nicht erkannt werden kann, ob es sich um eine Bestellung, einen Kundenauftrag oder einen Fertigungsauftrag handelt. Oder aber es soll zusätzlich zu einer Teilenummer das Lager übergeben werden, um den betreffenden Lagerstamm zu lesen.
Beispiel
Im Modul "Bestände prüfen/abgleichen"(9963) soll aus der Druckausgabe der Auswahl "Lagerplatz über Lagerplatzbestände abgleichen" aus dem Reportlink zum Lager beim Aufruf von "Lagerplätze bearbeiten"(241) zusätzlich zum Lagerplatz auch das Lager übernommen werden. In der Drucksteuertabelle muss der C:$RLDATA-Operator zur Ablage des Lagers in die Globalvariable "GV_reportlinkdata, unmittelbar vor der Ausgabe des Lagers angegeben werden:
{SIBD03,100}
...
C:$RLDATA(LBUF(84,DDp(84,1),DDl(84,1)))#
V:1,84,F2,F2#
Die RL_241LP.IMA sieht dann wie folgt aus:
// Lager versorgen
obj = infra_wait_child(dialog,"LCV241","LCV241_1_1",5,1);
infra_set_text(obj,do_infra_macro(obj,"GV0(GV_reportlinkdata)"));
 
// Lagerplatz versorgen
obj = infra_wait_child(dialog,"LCV241","LCV241_1_2",5,1);
infra_set_text(obj,do_infra_macro(obj,"GV0(GV_reportlinkobject)"));
Nutzung für ReportLinks abhängig von Situation
Mit dem Operator "C:$RLDATA" für Drucksteuertabellen (MILs) können nicht nur wie oben beschrieben zusätzliche Daten zur Verwendung beim Aufruf eines ReportLinks übergeben werden. Durch die Angabe eines zusätzlichen Parameters (/INI) zum Operator wird der Wert dazu verwendet, einen eigenen Verweisschlüssel für die Sektion [REPORTLINKS] zu definieren und den Standard-Mechanismus (Zugriff über Feldname) zu übersteuern. So lassen sich situations- bzw. datenabhängige Verweise realisieren, wenn z.B. ein bestimmtes Feld bei der Druckausgabe für unterschiedliche Inhalte benutzt wird (siehe Beispiel).
Hinweis:
Der selbstdefinierte Verweisschlüssel darf nicht als Feldname in infra:NET vorkommen.
Beispiel:
Die Vorgangsnummer in Modul 375 "Teile-Dispositionskarte" ist abhängig von der jeweiligen Dispositionsart eine Bestell-, Kundenauftrags- oder Fertigungsauftragsnummer. Bei der Verwendung des Feldnamens (DISPBEW.Auftrag) für die Definition von ReportLinks lässt sich keine Unterscheidung für die zu hinterlegenden Links realisieren, so dass alle Links für die unterschiedlichen Dispositionsarten angegeben werden müssten. Das ist für den Benutzer nicht besonders komfortabel, da je nach angeklickter Vorgangsnummer immer nur einige der angezeigten ReportLinks sinnvoll genutzt werden könnten.
Um dies zu umgehen, wird bei der Druckausgabe mit dem C:$RLDATA-Operator für die Vorgangsnummer ein dynamischer Verweisschlüssel für die Sektion [REPORTLINKS] angegeben. Danach werden die anzuzeigenden ReportLinks nicht mehr über den Feldnamen gesucht, sondern über diesen Verweis.
In der Drucksteuertabelle (MIL) muss der C:$RLDATA-Operator unmittelbar vor Ausgabe der Vorgangsnummer angegeben werden:
{MBP375,100}
...
C:$RLDATA(Trim(MBP375Vorgang_)Trim(LBUF(255,390,1)),/INI)#
V:2,255,392,I23F11#
...
Der Begriff, der an den C:$RLDATA-Operator übergeben wird, setzt sich in diesem Fall aus 2 Teilen zusammen - dem festen Text "MBP375Vorgang_" und der Dispositionsart aus dem Erfassungspuffer des Programms, damit der Eintrag in der INI-Datei sprechender ist. Die Trim-Makros sind notwendig, um die beiden Teilbegriffe lückenlos aneinander zu reihen.
Als ReportLinks können dann z.B. folgende Einträge für die unterschiedlichen Dispositionsarten hinterlegt werden:
[REPORTLINKS]
MBP375Vorgang_K.1000 = "435   Kundenaufträge",RL_435.ima, CbpProcessMakroFile
MBP375Vorgang_F.1000 = "531   Fertigungsaufträge",RL_531.ima, CbpProcessMakroFile
MBP375Vorgang_B.1000 = "731   Einkaufsvorgänge",RL_731.ima, CBpProcessMakroFile