Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Anker
begin
begin

Inhalt

...

Beschreibung

...

Auszug

Neu: Setzt den Status in Kategorie 0599 von b oder os auf a. Aufruf aus der Vollanzeige heraus!

Historie

Datum

geändert von

Beschreibung

2011-02-03

Althaus...

neu erstellt

Datei

dnb_scripts_01.js

Code
Codeblock

function Freigabe () {

	if (application.activeWindow.getVariable("scr") != "8A") {
		__dnbFehler("Fehler","Die Funktion kann nur aus der Vollanzeige aufgerufen werden!");
	} else {
	
		var cTitle = application.activeWindow.copyTitle();
		//application.messageBox("cTitle", cTitle, "");
		var regExp = /0599 \d\d-\d\d-\d\d : b|0599 \d\d-\d\d-\d\d : os/;
		var regMatch = regExp.exec(cTitle);
		if (regMatch) {
				//application.messageBox("regMatch", regMatch, "");
				application.activeWindow.command("k", false);
				application.activeWindow.title.findTag("0599", 0, false, true, false);	
				application.activeWindow.title.startOfField(false);
				application.activeWindow.title.endOfField(true);
				//application.activeWindow.title.deleteSelection;
				application.activeWindow.title.insertText("0599 a");			
		} else {
			__dnbFehler("Funktion: Freigabe","Es existiert kein mit >b< oder >os< codiertes Feld 0599.\nEine Freigabe des Datensatzes ist nicht möglich!");
			//__dnbFehler("Funktion: Freigabe","Es existiert kein mit >b< codiertes Feld 0599.\nEine Freigabe des Datensatzes ist nicht möglich!");
		}
	}
}
VB-Code
Codeblock

Sub Freigabe()

Ändert Status in Titeldatensatz
Zeile 2028 - 2078

Code in WinIBW2 (Makro/VBScript)Sub

...

'************************************************

...

	

On error resume next	
'Vollanzeige erzwingen
Set WinA = Application.ActiveWindow
	if not WinA.Variable("scr") = "8A"

...

 then
		Fehler "Es liegt kein Datensatz in Vollanzeige vor!"

...


		exit sub
	end if
		'Datensatz kopieren	
		CopyTitle = WinA.CopyTitle
		'msgbox Application.ActiveWindow.Variable("P3CLIP")

...


		'neue Instanz des Regular Expression Objektes

...

 erzeugen
		set RegEx0599 = New RegExp
		'zu suchendes Muster: 0599 xx-xx-xx :

...

 b
		'RegEx0599.Pattern = "0599 \d\d-\d\d-\d\d : b"

...


		'zu suchendes Muster ab 07.04.08

...


		RegEx0599.Pattern = "0599 \d\d-\d\d-\d\d : b|0599 \d\d-\d\d-\d\d : os"

...


		'Globale Suche über den gesamten

...

 Datensatz 
		RegEx0599.Global =

...

 True
		'Groß- und Kleinschreibung

...

 ignorieren
		RegEx0599.IgnoreCase =

...

 True
		Set Matches = RegEx0599.Execute(CopyTitle)

...


				for each Match in Matches
				search0599b = Match.Value
				'Msg = Msg & "Match.Value = " & Match.Value & vbcrlf & "Match.Length = " & Match.Length & vbcrlf & "Matches.Count = " & Matches.Count & vbcrlf & "Match.FirstIndex = " & Match.FirstIndex

...


				'msgbox

...

 Msg
				'Datensatz

...

 editieren
				Application.ActiveWindow.Command "k",

...

 False
				'Match suchen und

...

 markieren
				Application.ActiveWindow.Title.Find search0599b, True, False,

...

 False
				Application.ActiveWindow.Title.EndOfField

...

 True
				Application.ActiveWindow.Title.DeleteSelection

...


				Application.ActiveWindow.Title.InsertText "0599 a"

...


				'Bug bei Replace: abhängig von Benutzerrechten bestimmte Felder nicht editierbar,

...

 
				'wenn der Cursor sich auf einem solchem Feld befindet läuft Replace nicht korrekt

...

 ab
				'Application.ActiveWindow.Title.Find search0599b, true, false,

...

 true
				'Match

...

 ersetzen
				'Application.ActiveWindow.Title.Replace("0599 a")

...


				next
				
				'keine Matches gefunden? Fehlermeldung und Funktionsabbruch
				if 	search0599b = "" then
					Fehler "Es existiert kein mit ""b"" codiertes Feld 0599," & vbcr & "eine Freigabe des Datensatzes ist nicht möglich!"

...


					exit sub
				end if
				'Abspeichern (war aus Sicherheitsgründen zunächst noch auskommentiert)
				Application.ActiveWindow.SimulateIBWKey("FR")

...



End Sub

...

Code in WinIBW3 (Javascript)

...


Seitenanfang