Beschreibung
Die Publikation zum Datensatz ist vergriffen. (Daten ohne Bestand Fallgruppe 1).
Die Funktion wechselt in den Korrekturmodus, ändert die Satzart in Aaq, erzeugt durch Besetzung der Kategorie 0701 die Exemplarkategorie 8034 mit dem Standardvermerk „vergriffen“ und ergänzt die Kategorie 4700 |ERW|Standort;Namenskürzel ***.
Da die Funktion auch von anderen Abteilungen genutzt wird, ist die Bildung von 4700 $S (|...|) variabel.
Datensatz bleibt im Korrekturmodus (wg. Hinterlegen von Infos in 4700 und Überprüfung vor dem Abspeichern).
Falls die Kategorie 4700 bereits mit Abteilungskürzel des Bearbeiters existiert, wird neuer Text nur angehängt.
Hinweise/Fragen/Anforderungen
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d35080eb-5e42-4cee-b8b1-f5e4b33d5d92"><ac:plain-text-body><![CDATA[ |
Der Standard-Vermerk vergriffen soll in den Exemplardatensätzen beider Standorte in einem eigenen Unterfeld von Feld 4801 stehen: 4801 [Unterfeld]vergriffen |
|
]]></ac:plain-text-body></ac:structured-macro> |
Feld 8034 soll nicht mehr besetzt werden. |
|
Historie
Datum |
geändert von |
Beschreibung |
---|---|---|
2011-06-18 |
Althaus |
neu erstellt |
2011-06-30 |
Althaus |
Prüfung 4700 ergänzt |
Code
dnb_erwerbung.js
function Vergriffen() { __eingabeKommentar("vergriffen",""); }
dnb_public.js
function __eingabeKommentar(comment,kennzeichen) { var Mahnstatus; var strKuerzel = __getProfVal("Kürzel erfassen","kuerzel","Bitte geben Sie Ihr Bearbeiterkürzel ein."); var strAbteilung = __getAbteilung(); var strStandort = __getStandort(); var boolCheck; var str4700Teil1 = "4700 |" + strAbteilung + "|"; var str4700Teil2 = ";" + strKuerzel; //var strContent4700 = "|" + strAbteilung + "|" + strStandort + ";" + strKuerzel; var strContent4700 = "\n" + str4700Teil1 + str4700Teil2; if (application.activeWindow.getVariable("scr") != "8A"){ __dnbFehler("Eingabekommentar","Der Datensatz muss sich in der Vollanzeige befinden!", ""); return; } else { var Kopie = application.activeWindow.copyTitle(); //application.messageBox("Kopie",Kopie,""); if (Kopie == "") { __dnbFehler("Retro","Es konnte keine Titelkopie erstellt werden",""); } else { var Eingabe = ""; var Pos0500 = Kopie.indexOf("0500 "); var Tag0500 = Kopie.substring(Pos0500,Kopie.indexOf("\n",Pos0500)); //application.messageBox("Tag0500",Tag0500,""); var Satzart = Tag0500.substring(6,Tag0500.length-1); var Pos0599 = Kopie.indexOf("0599 "); var Tag0599 = Kopie.substring(Pos0599,Kopie.indexOf("\n",Pos0599)); if (Tag0599.indexOf("m") > 0) { Mahnstatus = true; } //application.messageBox("",Satzart.length,""); if ((Satzart == "ac") || (Satzart == "am")) { application.activeWindow.command("k",false); __dnbUpdMatStatus("q"+kennzeichen) //application.messageBox("","q-Kennzeichnung",""); if (application.activeWindow.title.findTag("0599", 0, false, true, false)) { if (!Mahnstatus) { application.activeWindow.title.deleteLine(1); //application.messageBox("","0599 löeschen",""); } } application.activeWindow.title.startOfBuffer(false); boolCheck = application.activeWindow.title.find(str4700Teil1, false, false, false) //application.messageBox("",boolCheck,""); if (boolCheck) { application.activeWindow.title.endOfField(false); application.activeWindow.title.insertText(str4700Teil2); } else { application.activeWindow.title.startOfBuffer(false); __geheZuKat("4700","",true); application.activeWindow.title.insertText(strContent4700); } if (application.activeWindow.title.findTag("2100", 0, false, true, false)) { application.activeWindow.title.deleteLine(1); //application.messageBox("","2100 löschen",""); } __geheZuKat("0701","",true); if (application.activeWindow.title.findTag("0701", 0, false, true, false)) { application.activeWindow.title.find("#", false, true, false); //application.messageBox("","Text eingeben",""); application.activeWindow.title.insertText("\n0701 /q/@" + comment + "@#"); application.activeWindow.title.lineUp(1,false); //application.messageBox("","Zeile löschen",""); application.activeWindow.title.deleteLine(1); } else { application.activeWindow.title.insertText("\n0701 /q/@" + comment + "@"); } __geheZuKat("0701","",true); //application.activeWindow.simulateIBWKey("FR"); if (kennzeichen != "s") { application.activeWindow.simulateIBWKey("FR"); application.activeWindow.command("k e01",false); application.activeWindow.title.endOfField(false); application.activeWindow.title.insertText("\n4801 " + comment); __dnbDeleteTag("8034"); application.activeWindow.simulateIBWKey("FR"); application.activeWindow.command("k",false); __dnbDeleteTag("0701"); application.activeWindow.simulateIBWKey("FR"); } } else { __dnbFehler("Eingabekommentar","Diese Funktion lässt sich nur für die Datensatzarten\n\n" + "- Aac\n- Aam\n- Bac\n- Oac\n- Kac\n- Sac\n- Zac\n\naufrufen!",""); } } } }
VB-Script
Sub VergriffenNeu() '***************************************************************************** On error resume next EingabeKommentarNeu "vergriffen","" End Sub '***************************************************************************** Private Sub EingabeKommentarNeu(comment,kennzeichen) '***************************************************************************** On error resume next 'Prüfung: Datensatz in Vollanzeige? Wenn nicht: Funktionsabbruch! if not Application.ActiveWindow.Variable("scr") = "8A" then Fehler "Es liegt kein Datensatz in Vollanzeige vor!" exit sub end if 'Bei Vollanzeige: Kopie der Vollanzeige und Extraktion des kompletten Inhaltes von 0500 K0500 = mid(Application.ActiveWindow.Variable("P3CLIP"), instr(Application.ActiveWindow.Variable("P3CLIP"),"0500")) Satzart = mid((left(K0500, instr(K0500,vbcr))),6,3) K0599 = mid(Application.ActiveWindow.Variable("P3CLIP"), instr(Application.ActiveWindow.Variable("P3CLIP"),"0599")) K0599 = left(K0599, instr(K0599,vbcr)) 'Bestimmung des Mahnstatus MahnStatus = instr(K0599, "m") 'Prüfung: wenn Satzart ungleich Aaa, Aac, Bac, Oac, Kac, Sac dann Funktionsabbruch if not (Satzart = "Aac" or Satzart = "Aam" or _ Satzart = "Bac" or Satzart = "Oac" or Satzart = "Sac" or Satzart = "Kac" or Satzart = "Zac") Then Fehler "Diese Funktion lässt sich nur für die Datensatzarten" & vbcr & vbcr & _ "- Aac" & vbcr & _ "- Aam" & vbcr & _ "- Bac" & vbcr & _ "- Oac" & vbcr & _ "- Kac" & vbcr & _ "- Sac" & vbcr & _ "- Zac" & vbcr & vbcr & "aufrufen!" exit sub end if Application.ActiveWindow.Command "k", False Application.ActiveWindow.Title.Find "0500", True, False, False Application.ActiveWindow.Title.WordRight 1, False Application.ActiveWindow.Title.CharRight 2, False Application.ActiveWindow.Title.CharRight 1, True Application.ActiveWindow.Title.DeleteSelection() Application.ActiveWindow.Title.InsertText "q" & kennzeichen & vbCR if ((Application.ActiveWindow.Title.FindTag ("0701", 0, false, true)) <> "" ) then Application.ActiveWindow.Title.Find "#", false, true, false if (kennzeichen <> "") then Application.ActiveWindow.Title.InsertText vbCR & "0701 /q/@" & comment & "@#" Application.ActiveWindow.Title.LineUp Application.ActiveWindow.Title.DeleteLine else Application.ActiveWindow.Title.InsertText vbCR & "0701 /q/#" Application.ActiveWindow.Title.LineUp Application.ActiveWindow.Title.DeleteLine Application.ActiveWindow.Title.EndOfBuffer Application.ActiveWindow.Title.InsertText vbCR & "4801 " & comment End if else if (kennzeichen <> "") then Application.ActiveWindow.Title.InsertText "0701 /q/@" & comment & "@" & vbCR else Application.ActiveWindow.Title.InsertText "0701 /q/" Application.ActiveWindow.Title.EndOfBuffer Application.ActiveWindow.Title.InsertText vbCR & "4801 " & comment End if End if 'Löschung von 0599 nur, wenn Mahnstatus nicht gesetzt if ((Application.ActiveWindow.Title.FindTag ("0599", 0, false, true)) <> "" ) then Application.ActiveWindow.Title.StartOfField False if Mahnstatus = 0 then Application.ActiveWindow.Title.DeleteToEndOfLine End If End if 'if ((Application.ActiveWindow.Title.FindTag ("0599", 0, false, true)) <> "" ) then 'Application.ActiveWindow.Title.DeleteToEndOfLine 'End if if ((Application.ActiveWindow.Title.FindTag ("2100", 0, false, true)) <> "" ) then Application.ActiveWindow.Title.DeleteToEndOfLine End if 'Application.ActiveWindow.SimulateIBWKey "FR" End Sub