Wenn ich wissen will, wer einen Import wann durchgeführt hat, nehme ich
mir die Importhistorie und anschließend den Menüpunkt mehr anzeigen.
Schon habe ich alles zu einem Import.
Vorgehen:
TA STMS - Auswahl Importqueue
Menüpunkt SPRINGEN - Import-Historie <strg>+<F7>
Bei uns erscheint eine Liste der Transporte der letzten 7 Tage. Durch
Doppelklick auf das Datumsintervall kannst du dieses Intervall
verändern.
Über den Menüpunkt BEARBEITEN - Mehr anzeigen <strg>+<umsch>+<F1>
erhälst du das Datum, die Uhrzeit und den Importierenden des
Transportauftrags.
Mittwoch, 16. November 2011
Dienstag, 11. Oktober 2011
Ruhezustand funktioniert nicht
Falls der Ruhezustand nicht funktionieren sollte oder der Ruhezustand nicht einmal mehr auswählbar ist, sollte der folgende Befehl ausprobiert werden:
Hierzu öffnet man die Eingabeaufforderung als Administrator (Start - Programme - Zubehör -> Rechtsklick auf "Eingabeaufforderung" und "Als Administrator ausführen" wählen).
Dort dann "Powercfg /hibernate on" eingeben und mit der Enter-Taste bestätigen.
Hierzu öffnet man die Eingabeaufforderung als Administrator (Start - Programme - Zubehör -> Rechtsklick auf "Eingabeaufforderung" und "Als Administrator ausführen" wählen).
Dort dann "Powercfg /hibernate on" eingeben und mit der Enter-Taste bestätigen.
Dienstag, 8. September 2009
ASUS A8N SLI DELUXE ( NFORCE 4 Chipsatz) unter Windows 7
Die Installation von Windows 7 hatte auf meinem PC super funktioniert. Einzig die Audiotreiber wurden nicht gefunden. Das mag daran liegen, dass mein Boad nicht mehr offiziell von NVIDIA unterstützt wird. Von Asus ganz zu schweigen. Allerdings habe ich es doch hinbekommen die Treiber unter Windows 7 zu installieren.
Dazu geht man auf die nvidia Seite und wählt als Kategorie nicht NFORCE, sondern LEGACY aus. Nun wird auch NFORCE4 für Windows Vista 32 Bit angeboten. Diesen Treiber herunterladen und installieren. Nach einem Neustart sollte man erneut in die Gerätekonfiguration gehen und prüfen, ob nun alle Treiber installiert sind.
Sollte das nicht der Fall sein das Problem von Windows beheben lassen. Sollten keine Treiber gefunden werden können erscheint ein weiterer Dialog. Hier kann man links unten die Einstellungen für die Suche konfigurieren.
Diese auf "in Windows Update suchen, falls auf dem PC keine passende Treiber gefunden wurden" stellen.
Nun sollten sich die Geräte installieren.
Dazu geht man auf die nvidia Seite und wählt als Kategorie nicht NFORCE, sondern LEGACY aus. Nun wird auch NFORCE4 für Windows Vista 32 Bit angeboten. Diesen Treiber herunterladen und installieren. Nach einem Neustart sollte man erneut in die Gerätekonfiguration gehen und prüfen, ob nun alle Treiber installiert sind.
Sollte das nicht der Fall sein das Problem von Windows beheben lassen. Sollten keine Treiber gefunden werden können erscheint ein weiterer Dialog. Hier kann man links unten die Einstellungen für die Suche konfigurieren.
Diese auf "in Windows Update suchen, falls auf dem PC keine passende Treiber gefunden wurden" stellen.
Nun sollten sich die Geräte installieren.
Donnerstag, 3. September 2009
ABAP - Kleine Tipps
Möchte man eine Variable entsprechend des Typs mit vorangestellten Nullen auffüllen kann man entsprechendes machen:
DATA: h_vertrag LIKE EVER-VERTRAG.
UNPACK wa_tab-vertrag TO h_vertrag.
Möchte man zu einem Wert nur den ganzzahligen Teil haben geht das so:
h_verbrauch = TRUNC( wa_tab-verbrauch ).
Die Nachkommastellen erhält man mit FRAC([..])
DATA: h_vertrag LIKE EVER-VERTRAG.
UNPACK wa_tab-vertrag TO h_vertrag.
Möchte man zu einem Wert nur den ganzzahligen Teil haben geht das so:
h_verbrauch = TRUNC( wa_tab-verbrauch ).
Die Nachkommastellen erhält man mit FRAC([..])
Mittwoch, 2. September 2009
ABAP - Ermitteln, ob ein Datum zur Sommer- oder Winterzeit gehört
Nachdem man mit dem Post zur Berechnung der Sommerzeitumstellung nun festgestellt hat wann die Uhren umgestellt werden kann man für ein beliebiges Datum ermitteln zu welcher Zeitperiode es gehört:
Fairerweise muss ich zugestehen, dass die Berechnung des Offsets für die Winterzeit einen kleinen Haken hat:
Wenn der zu untersuchende Wert in der "doppelten Stunde" liegt wird für die Bestimmung des Offsets ein Folgewert, also ein Datum nach dem zu untersuchenden Datum, benötigt.
" Offsets setzen
LOOP AT it_TAB2 INTO wa_TAB2.
" Sommerzeit
IF wa_TAB2-DATEFROM > sommerzeit AND wa_TAB2-DATEFROM < winterzeit.
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
" Winterzeit
ELSEIF wa_TAB2-DATEFROM < sommerzeit OR wa_TAB2-DATEFROM > winterzeit.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ENDIF.
"Sonderfall Sommerzeit
IF wa_TAB2-DATEFROM = sommerzeit.
IF wa_TAB2-TIMEFROM < '03:00:00'.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ELSEIF wa_TAB2-TIMEFROM = '03:00:00'.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+2'.
ELSE.
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
ENDIF.
ENDIF.
"Sonderfall Winterzeit
IF wa_TAB2-DATEFROM = winterzeit.
IF wa_TAB2-TIMEFROM <= '01:59:59'.
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
ELSE.
IF wa_TAB2-TIMEFROM >= '03:00:00'.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ELSE.
"Uhr um 1 Stunde zurückgestellt
IF zeitwechsel <> 'X'. "Noch nicht zurückgestellt
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
" Beim letzten Wert den Wechsel vornehmen
IF wa_TAB2-TIMEFROM > folgewert. "Hier wird ein Folgewert benötigt
wa_TAB2-TOOFFSET = '+1'.
zeitwechsel = 'X'.
ENDIF.
ELSE.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
[..]
ENDLOOP.
Fairerweise muss ich zugestehen, dass die Berechnung des Offsets für die Winterzeit einen kleinen Haken hat:
Wenn der zu untersuchende Wert in der "doppelten Stunde" liegt wird für die Bestimmung des Offsets ein Folgewert, also ein Datum nach dem zu untersuchenden Datum, benötigt.
" Offsets setzen
LOOP AT it_TAB2 INTO wa_TAB2.
" Sommerzeit
IF wa_TAB2-DATEFROM > sommerzeit AND wa_TAB2-DATEFROM < winterzeit.
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
" Winterzeit
ELSEIF wa_TAB2-DATEFROM < sommerzeit OR wa_TAB2-DATEFROM > winterzeit.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ENDIF.
"Sonderfall Sommerzeit
IF wa_TAB2-DATEFROM = sommerzeit.
IF wa_TAB2-TIMEFROM < '03:00:00'.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ELSEIF wa_TAB2-TIMEFROM = '03:00:00'.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+2'.
ELSE.
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
ENDIF.
ENDIF.
"Sonderfall Winterzeit
IF wa_TAB2-DATEFROM = winterzeit.
IF wa_TAB2-TIMEFROM <= '01:59:59'.
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
ELSE.
IF wa_TAB2-TIMEFROM >= '03:00:00'.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ELSE.
"Uhr um 1 Stunde zurückgestellt
IF zeitwechsel <> 'X'. "Noch nicht zurückgestellt
wa_TAB2-FROMOFFSET = '+2'.
wa_TAB2-TOOFFSET = '+2'.
" Beim letzten Wert den Wechsel vornehmen
IF wa_TAB2-TIMEFROM > folgewert. "Hier wird ein Folgewert benötigt
wa_TAB2-TOOFFSET = '+1'.
zeitwechsel = 'X'.
ENDIF.
ELSE.
wa_TAB2-FROMOFFSET = '+1'.
wa_TAB2-TOOFFSET = '+1'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
[..]
ENDLOOP.
PHP - Aufklappmenü für Ordner des Webservers
Auf meinem Webserver habe ich eine Ordnerstruktur. In den Ordnern liegen Dateien, die Besucher meiner Website herunterladen - oder im Fall von Bildern und PDF´s ansehen dürfen.
Nun habe ich im Netz nach einer Anzeige für die Ordner und Dateien gesucht, die ich in meine Website einbauen wollte.
Die Ordner sollten dabei auf- und zuklappbar sein, um die Übersicht zu behalten und damit es nicht eine riesige Liste wird.
Außerdem kommen immer mal wieder Ordner oder Dateien dazu. Es sollte also so sein, dass die Ordner und Dateien zur Laufzeit vom Webserver ausgelesen werden, damit ich nicht ständig das Aufklappmenü überarbeiten muss.
Leider habe ich nicht das richtige gefunden.
Also habe ich mir etwas zusammengebastelt, das ihr hier in Aktion sehen könnt.
Im Head der HTML-Datei:
<script language="javascript">
function init(){
}
var imagefolder = '.'; // hier bitte die URL zum image Ordner angeben
// name = ID des zu schließenden 'Dings' (div, tr, td, was auch immer)
// iconname = ID des zu ändernden Bildes
// prefix = 1. Teil vom Elementname
// num = Anzahl der Unterelemente in einem Ordner
function verstecken(ordner, prefix,iconname, num)
{
if (document.getElementById(ordner).style.overflow == 'visible')
{
document.getElementById(ordner).style.overflow = 'hidden';
document.getElementById(ordner).style.width = '240px';
document.getElementById(ordner).style.height = '30px';
} else {
document.getElementById(ordner).style.overflow = 'visible';
document.getElementById(ordner).style.width = 'auto';
document.getElementById(ordner).style.height = 'auto';
}
var name = '';
for (var i = 1; i <= num; i++) {
name = prefix + '-' + i;
if (document.getElementById(name).style.display == 'block') // Wenn es bereits geschlossen ist, dann öffnen wir es hier
{
document.getElementById(iconname).src = imagefolder + '/plus.gif'; // Wechseln des Bildes
document.getElementById(iconname).alt = '+'; // Wechseln des alt Tags
document.getElementById(name).style.display = 'none';
}else // Wenn sie geöffnet ist, dann schließen wir sie eben
{
document.getElementById(iconname).src = imagefolder + '/minus.gif'; // Wechseln des Bildes
document.getElementById(iconname).alt = '-'; // Wechseln des alt Tags
document.getElementById(name).style.display = 'block'; // Scließen
}
}
// return false;
}
</script>
Und hier der Inhalt der HTML-Datei:
<?PHP
function openOrdnerDateien($ordner) {
$handle = opendir($ordner);
$fileArray[] = "";
while ($file = readdir ($handle)) {
if($file{0} != '.' && $file{0} != '..') { //Versteckte Dateien nicht anzeigen
if(!is_dir($ordner.'/'.$file)) {
$fileArray[] = $file;
}
}
}
closedir($handle);
return $fileArray;
}
function openOrdnerUnterordner($ordner) {
$handle = opendir($ordner);
$i = 0;
$folderArray = array();
while ($file = readdir ($handle)) {
if($file{0} != '.' && $file{0} != '..') { //Versteckte Dateien nicht anzeigen
if(is_dir($ordner.'/'.$file)) {
$folderArray[$i][0] = $file;
$folderArray[$i][1] = date ("YmdHis", filemtime($ordner."/".$file));
$i++;
}
}
}
closedir($handle);
foreach($folderArray as $key => $array) {
$sortArray[$key] = $array[1];
}
array_multisort($sortArray, SORT_DESC, SORT_NUMERIC, $folderArray);
foreach ($folderArray as $fn) {
$ausgabe[] = $fn[0];
}
return $ausgabe;
}
$folderArray = openOrdnerUnterordner('.');
//Erst die Ordner ausgeben
if(isset($folderArray)) {
//asort($folderArray);
$count = 1;
foreach($folderArray as $row) {
$fileArray = openOrdnerDateien($row);
$num = sizeof($fileArray);
echo "<DIV id=Ordner".$count." style='height: 30px; width: 240px; overflow:hidden; border: 1px solid #000000; background-color: #F0F0F0'><a href=# onClick=\"return verstecken('Ordner".$count."','Text_".$count."','Icon_".$count."',".$num.");\"><img src=plus.gif border=0 alt=+ id=Icon_".$count." /> ".$row."</a>\n";
$intCount = 1;
foreach($fileArray as $line) {
$link = $row."/".$line;
$link = str_replace("ä","%E4", $link);
$link = str_replace("ö","%F6", $link);
$link = str_replace("ü","%FC", $link);
$link = str_replace("ß","%DF", $link);
echo "<DIV style='display:none' id=Text_".$count."-".$intCount."><a href='".$link."' target=_blank>".$line."</a></DIV><br>\n";
$intCount++;
}
echo "</DIV><p>\n";
$count++;
}
}
?>
Nun habe ich im Netz nach einer Anzeige für die Ordner und Dateien gesucht, die ich in meine Website einbauen wollte.
Die Ordner sollten dabei auf- und zuklappbar sein, um die Übersicht zu behalten und damit es nicht eine riesige Liste wird.
Außerdem kommen immer mal wieder Ordner oder Dateien dazu. Es sollte also so sein, dass die Ordner und Dateien zur Laufzeit vom Webserver ausgelesen werden, damit ich nicht ständig das Aufklappmenü überarbeiten muss.
Leider habe ich nicht das richtige gefunden.
Also habe ich mir etwas zusammengebastelt, das ihr hier in Aktion sehen könnt.
Im Head der HTML-Datei:
<script language="javascript">
function init(){
}
var imagefolder = '.'; // hier bitte die URL zum image Ordner angeben
// name = ID des zu schließenden 'Dings' (div, tr, td, was auch immer)
// iconname = ID des zu ändernden Bildes
// prefix = 1. Teil vom Elementname
// num = Anzahl der Unterelemente in einem Ordner
function verstecken(ordner, prefix,iconname, num)
{
if (document.getElementById(ordner).style.overflow == 'visible')
{
document.getElementById(ordner).style.overflow = 'hidden';
document.getElementById(ordner).style.width = '240px';
document.getElementById(ordner).style.height = '30px';
} else {
document.getElementById(ordner).style.overflow = 'visible';
document.getElementById(ordner).style.width = 'auto';
document.getElementById(ordner).style.height = 'auto';
}
var name = '';
for (var i = 1; i <= num; i++) {
name = prefix + '-' + i;
if (document.getElementById(name).style.display == 'block') // Wenn es bereits geschlossen ist, dann öffnen wir es hier
{
document.getElementById(iconname).src = imagefolder + '/plus.gif'; // Wechseln des Bildes
document.getElementById(iconname).alt = '+'; // Wechseln des alt Tags
document.getElementById(name).style.display = 'none';
}else // Wenn sie geöffnet ist, dann schließen wir sie eben
{
document.getElementById(iconname).src = imagefolder + '/minus.gif'; // Wechseln des Bildes
document.getElementById(iconname).alt = '-'; // Wechseln des alt Tags
document.getElementById(name).style.display = 'block'; // Scließen
}
}
// return false;
}
</script>
Und hier der Inhalt der HTML-Datei:
<?PHP
function openOrdnerDateien($ordner) {
$handle = opendir($ordner);
$fileArray[] = "";
while ($file = readdir ($handle)) {
if($file{0} != '.' && $file{0} != '..') { //Versteckte Dateien nicht anzeigen
if(!is_dir($ordner.'/'.$file)) {
$fileArray[] = $file;
}
}
}
closedir($handle);
return $fileArray;
}
function openOrdnerUnterordner($ordner) {
$handle = opendir($ordner);
$i = 0;
$folderArray = array();
while ($file = readdir ($handle)) {
if($file{0} != '.' && $file{0} != '..') { //Versteckte Dateien nicht anzeigen
if(is_dir($ordner.'/'.$file)) {
$folderArray[$i][0] = $file;
$folderArray[$i][1] = date ("YmdHis", filemtime($ordner."/".$file));
$i++;
}
}
}
closedir($handle);
foreach($folderArray as $key => $array) {
$sortArray[$key] = $array[1];
}
array_multisort($sortArray, SORT_DESC, SORT_NUMERIC, $folderArray);
foreach ($folderArray as $fn) {
$ausgabe[] = $fn[0];
}
return $ausgabe;
}
$folderArray = openOrdnerUnterordner('.');
//Erst die Ordner ausgeben
if(isset($folderArray)) {
//asort($folderArray);
$count = 1;
foreach($folderArray as $row) {
$fileArray = openOrdnerDateien($row);
$num = sizeof($fileArray);
echo "<DIV id=Ordner".$count." style='height: 30px; width: 240px; overflow:hidden; border: 1px solid #000000; background-color: #F0F0F0'><a href=# onClick=\"return verstecken('Ordner".$count."','Text_".$count."','Icon_".$count."',".$num.");\"><img src=plus.gif border=0 alt=+ id=Icon_".$count." /> ".$row."</a>\n";
$intCount = 1;
foreach($fileArray as $line) {
$link = $row."/".$line;
$link = str_replace("ä","%E4", $link);
$link = str_replace("ö","%F6", $link);
$link = str_replace("ü","%FC", $link);
$link = str_replace("ß","%DF", $link);
echo "<DIV style='display:none' id=Text_".$count."-".$intCount."><a href='".$link."' target=_blank>".$line."</a></DIV><br>\n";
$intCount++;
}
echo "</DIV><p>\n";
$count++;
}
}
?>
ABAP - Berechnung für den Start von Sommer und Winterzeit
Mit dem folgenden Funktionsbaustein lässt sich einfach feststellen, wann genau in einem Jahr die Uhr vor und zurück gestellt wird.
"Start der Sommerzeit berechnen
CALL FUNCTION 'TZON_CALC_VARIABLE_DST_DATE'
EXPORTING
IF_YEAR = '2009'
IF_MONTH = '3' " Kalendermonat -> Für Winterzeit '10'
IF_WEEKD = '1' " Sonntag
IF_WEEKDC = '5' " Letztes Vorkommen im Monat
IMPORTING
EF_DATE = sommerzeit.
"Start der Sommerzeit berechnen
CALL FUNCTION 'TZON_CALC_VARIABLE_DST_DATE'
EXPORTING
IF_YEAR = '2009'
IF_MONTH = '3' " Kalendermonat -> Für Winterzeit '10'
IF_WEEKD = '1' " Sonntag
IF_WEEKDC = '5' " Letztes Vorkommen im Monat
IMPORTING
EF_DATE = sommerzeit.
Abonnieren
Posts (Atom)