Beschreibung

Funktion zum Kopieren von Datensätzen jeglicher Art. Der jeweiligen Satzart entsprechend werden diverse Felder geleert. Für die Kopie von Ts-Datensätzen wird eine eigene Titelkopiedatei verwendet!

Historie

Datum

geändert von

Beschreibung

2011-02-23

Althaus

Ergänzung für SWD-Datensätze aufgrund der Anforderung der Abt 2. IE (ttlswd.ttl)

Code
function dnbDatensatzkopie() {
/*--------------------------------------------------------------------------------------------------------
iDatensatzkopie ()

Diese kopiert einen Norm- oder Titeldatensatz.

Verwendete Unterfunktionen: 

Historie:
2010-08-13 Bernd Althaus	: erstellt (Vorbild zdb_Datensatzkopie)
2011-02-23 Althaus			: Ergänzung für Ts-Datensätze (titlecopyfileSWD)
--------------------------------------------------------------------------------------------------------*/

	var titlecopyfileSWD = "resource:/ttlcopy/ttlswd.ttl";
		
	if (application.activeWindow.getVariable("scr") != "8A"){
		application.messageBox("Datensatzkopie","Der Datensatz muss sich in der Vollanzeige befinden!", "alert-icon");
		return;
	}
	//Persönliche Einstellung des Titelkopie-Pfades ermitteln
	var titlecopyfileStandard = application.getProfileString("winibw.filelocation", "titlecopy", "");
	//application.messageBox("",titlecopyfileStandard,"");
	application.overwriteMode = false;
	var idn = application.activeWindow.getVariable("P3GPP");
	var strFmt = application.activeWindow.getVariable("P3GPR");
	//application.messageBox("",strFmt,"");
	application.activeWindow.command("show d", false);
	var strMatCode = application.activeWindow.materialCode;
	//application.messageBox("",strMatCode,"");
	
	application.activeWindow.copyTitle();
	application.activeWindow.command("show " + strFmt, false);
	
	if (strMatCode.charAt(0) == "T") {
		application.activeWindow.command("ein n", false);
		application.activeWindow.title.insertText(" *** Normdatenkopie *** \n");
		if (strMatCode.charAt(1) == "s") {
			application.activeWindow.titleCopyFile = titlecopyfileSWD;
			//application.messageBox("",application.activeWindow.titleCopyFile,"");
		}
	} else {
		application.activeWindow.command("ein t", false);
		application.activeWindow.title.insertText(" *** Titeldatenkopie *** \n");
		//if ((strMatCode.charAt(1) == "b") || (strMatCode.charAt(1) == "d")) {
		//	application.activeWindow.titleCopyFile = "resource:/ttlcopy/zdb_dnb.ttl";
		//}
	}

	//application.activeWindow.title.insertText("Kopie von IDN: !" + idn + "!\n");	
	application.activeWindow.pasteTitle();
	
	// Ersetzungen in Kategorie 0600
	var codes0600 = application.activeWindow.title.findTag("0600", 0, false, true, true);
	if (codes0600 != "") {
		deletecodes = new Array("mg", "nw");
		for (var i = 0; i < deletecodes.length; i++) {
			if (codes0600.match(deletecodes[i])) {
				var pos_deletecodes = codes0600.indexOf(deletecodes[i]) + deletecodes[i].length;
				if (codes0600.charAt(pos_deletecodes) == ";") {
					deletecodes[i] = deletecodes[i] + ";";
				}
				codes0600 = codes0600.replace(deletecodes[i],"");
			}
		}
		if (codes0600 != "") {
			application.activeWindow.title.insertText(codes0600);
		} else {
			application.activeWindow.title.deleteLine(1);
		}
	}
	
	application.activeWindow.title.startOfBuffer(false);
	application.activeWindow.title.lineDown(1,false);
	application.activeWindow.title.endOfField(false);

	//Wiederherstellen des ursprünglichen Pfades der Titelkopie-Datei:
	application.activeWindow.titleCopyFile = titlecopyfileStandard;

}
  • Keine Stichwörter