Beschreibung
Die Publikation zum Datensatz ist nicht erschienen. (Daten ohne Bestand Fallgruppe 3).
Die Funktion wechselt in den Korrekturmodus, ändert die Satzart in Aaq, erzeugt die Exemplarkategorie 4801 mit dem Standardvermerk „vergriffen“ im eigenen Exemplar und ergänzt die Kategorie 4700 |ERW|Standort;Namenskürzel ***. Das Exemplar des anderen Standortes wird nicht verändert. Da die Funktion auch von anderen Abteilungen genutzt wird, ist die Bildung von 4700 $S (|...|) variabel. Falls die Kategorie 4700 bereits mit Abteilungskürzel des Bearbeiters existiert, wird neuer Text nur angehängt. Der Datensatz bleibt im Korrekturmodus (wg. Hinterlegen von Infos in 4700 und Überprüfung vor dem Abspeichern).
Historie
Datum |
geändert von |
Beschreibung |
|---|---|---|
2011-06-18 |
Althaus |
neu erstellt |
2011-06-30 |
Althaus |
Prüfung 4700 ergänzt |
2011-07-04 |
Althaus |
Standardvermerk jetzt in 4801 statt 8034 |
Code
dnb_erwerbung.js
function Nicht_erschienen() {
__eingabeKommentar("nicht erschienen","");
}
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 Nicht_erschienenNeu()
'*****************************************************************************
On error resume next
EingabeKommentarNeu "nicht erschienen",""
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