Seitenhistorie
Anker | ||||
---|---|---|---|---|
|
Inhalt |
---|
Beschreibung
Auszug |
---|
Die Funktion setzt bei Datensätzen der Materialart *ac bzw. *am die Materialart *aqs, entfernt das Feld 0599, falls kein Mahnstatus enthalten ist, entfernt Feld 2100 und ergänzt in 0701 den Kommentar "Gehoert eindeutig nicht zum Sammelgebiet der Deutschen Nationalbibliothek". Der Datzensatz bleibt (im Unterschied zur WinIBW2-Version) am Ende im Bearbeitungsfenster und kann somit vor dem Abspeichern noch kontrolliert werden! |
Historie
...
Datum
...
geändert von
...
Beschreibung
...
30.09.2010
...
Althaus
Publikation ist eindeutig nicht sammelpflichtig. (Daten ohne Bestand Fallgruppe 6). |
Hinweise/Fragen/Anforderungen
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1ecb3127-c784-4cf2-9f1d-e147c2726502"><ac:plain-text-body><![CDATA[ | Der Standard-Vermerk Gehoert eindeutig nicht zum Sammelgebiet der Deutschen Nationalbibliothek soll in den Exemplardatensätzen beider Standorte in einem eigenen Unterfeld von Feld 4801 stehen: 4801 [Unterfeld]Kein Sammelgebiet |
| ]]></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 |
Datei
dnb_scripte_01.js (dnb_public.js) |
Code
Codeblock |
---|
function Kein_Sammelgebiet_eindeutig() {
__eingabeKommentar("Gehoert eindeutig nicht zum Sammelgebiet der Deutschen Nationalbibliothek","s");
/* Lt. Frau Freidhof kann der Inhalt der 4700 wegfallen. Hier der VB-Code:
Application.ActiveWindow.Command "k", False
Call HoleDNBStandort(strStandort)
Call HoleKuerzel(strKuerzel)
Application.ActiveWindow.Title.InsertText vbcr & "4701 " & strStandort & "; " & strKuerzel & "#NSG :" & vbcr
Application.ActiveWindow.SimulateIBWKey "FR"
*/
}
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 strContent4700 = "|" + strAbteilung + "|" + strStandort + ";" + strKuerzel;
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","");
}
}
__geheZuKat("4700","",true);
application.activeWindow.title.insertText("\n4700 " + strContent4700);
//application.messageBox("","4700 eingeben","");
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");
} 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
Codeblock |
---|
Sub Kein_Sammelgebiet_eindeutig()
'*****************************************************************************
On error resume next
'EingabeKommentar "Kein Sammelgebiet, eindeutig","s"
EingabeKommentar "Gehoert eindeutig nicht zum Sammelgebiet der Deutschen Nationalbibliothek","s"
Application.ActiveWindow.Command "k", False
Call HoleDNBStandort(strStandort)
Call HoleKuerzel(strKuerzel)
Call HoleAbteilung(strAbteilung)
Application.ActiveWindow.Title.InsertText vbcr & "4700 |" & strAbteilung & "|" & strStandort & "; " & strKuerzel & "#NSG++" & vbcr
'Application.ActiveWindow.Title.LineUp
'Application.ActiveWindow.Title.EndOfField
Application.ActiveWindow.SimulateIBWKey "FR"
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
|
...