Suchen nach Erstellungsdatum

Ich arbeite hier in einem Fotoarchiv und nutze Lightroom, um unsere mittlerweile ca. 20.000 digitalisierten Fotos mit einer Grundbeschreibung zu versehen und vorzusortieren, bevor sie in einer Datenbank eingegeben werden. Dazu haben über die Jahre mehrere Kollegen mit Digitalkameras die Abzüge in Karteikarten abfotografiert, mit Scannern Feinscans von Negativen erzeugt und mit hochwertigen Digitalkameras Negative abfotografiert. Die meisten Datensätze wurden aber vor der Markteinführung von Lightroom mit einem anderen Programm beschrieben. Folgendes Problem haben wir nun bei der Arbeit mit Lightroom entdeckt:
Nicht alle Dateien sind im Feld "Erstellt am..." mit einem Eintrag versehen worden. Beim Import aller Digitalisate schaut Lightroom nach ob es einen Eintrag in diesem Feld gibt. Ist ein Eintrag vorhanden, wird dieser auch übernommen. Ist aber keiner vorhanden, wird das Erstellungsdatum der Datei aus dem Exif-Feld automatisch und ungefragt von Lightroom als "Erstellt am..."-Datum eingetragen. Jetzt haben also etliche hunderte, vielleicht auch tausende Dateien einen falschen Datumseintrag. Aufnahmen von 1930 werden auf einmal auf 2005 datiert, weil sie in diesem Jahr digitalisiert wurden.
Das nächste Problem in Lightroom ist, dass mann nicht nach diesen Bildern filtern kann:
Wenn ich im Filter unter Metadaten "Datum" anklicke, listet LR fein säuberlich die Jahre auf, die im Feld "Erstellt am..." eingetragen wurden und die Anzahl der betroffenen Fotos dazu. Klicke ich eines der Jahreszahlen an, werden auch die Fotos mit entsprechendem Datum aufgezeigt. Komme ich jetzt zu den Jahren, in denen mit der Digitalisierung begonnen wurde, wird es unübersichtlicht. Jetzt finde ich z.B. unter tausenden Fotos mit dem im Filter gelisteten Datum "2005" gemischt alle Bilder, die in 2005 fotografiert wurden, aber auch die älteren, die in 2005 digitalisiert wurden und den Exif-Eintrag mit 2005 haben, egal, ob unter "Erstellt am..." nun ein anderes Datum per Hand eingetragen wurde (z.B. 1965-05-01) oder das von Lightroom selbsttätigt eingetragene Exif-Datum. Ich kann sie nicht weiter auseinanderfiltern weil LR sich selbst nicht einig ist, wonach es im Datums-Filter nun schauen soll. Auch mit Smart-Sammlungen komme ich hier nicht weiter weil die Zeitraumangaben unter "Aufnahmedatum" wirkungslos sind, egal was ich einstelle. es werden entweder alle 20.000 Fotos angezeigt oder gar keine oder andere nicht nachvollziehbare Suchergebnisse.
Eine scharfe Trennung der Suchmöglichkeiten nach
1. "Erstellt am..." (bedeutet "Datierung" bzw. "Date Created" im IPTC) meint die tatsächliche Datierung des Bildinhalts
2. Datum/ Uhrzeit digital (bedeutet "Erfassungsdatum" bzw. "Create Date" im Exif) meint das Erstellungsdatum des Digitalisats
in allen Suchmöglichkeiten wäre hier sinnvoll.
Auch das eigenmächtige Verhalten von Lightroom, das unbesetzte "Erstellt am..."-Feld mit den Exif-Daten zu füllen, gehört abgeschaltet.
Das Problem ist, dass ich einen Wildwuchs von 40.000 Bilder in LR importiert und auf mehrfach vorhandene Dateien durchforstet und anschließend als TIFF exportiert hatte. erst danach habe ich das Datumsproblem mit LR bemerkt und muss jetzt tausende Bilder mit falschen Einträgen per Hand nachsortieren und korrigieren.
Ich hoffe, ich konnte mein Dilemma verständlich beschreiben und jemand kann hier helfen.

Hallo,
ich habe meine Scans und abfotografierten Dias erfolgreich mit ExifMeta von Rob Cole auf Vordermann gebracht. Ist im Grunde genommen "nur" ein GUI für exiftool, hat aber eine gute Integration in LR. Leider etwas umständlich zu konfigurieren.
Bei Bildern, welche in LR schon importiert sind, muss man auch immer daran denken, die zu den exifdaten korrespondierenden xmp Daten anzupassen.

Similar Messages

  • Suchen nach Tags

    Ich möchte mir gerne alle Bilder anzeigen lassen, die ein bestimmtes Tag tragen, das ich diesen zugeordnet habe.
    Ich denke, dass ich dies über die Detailsuche machen muss. Hier kann ich als ein Kriterium "Stichwort-Tag" auswählen. Dann kann ich aber nicht einen freien Text als Suchkriterium vorgeben, sondern muss aus einer Liste auswählen. Das hilft mir leider nicht weiter, denn diese Liste umfasst einige hundert Einträge, die nicht alphabetisch sortiert sind.
    Gibt es eine andere Möglichkeit, nach einem bestimmten Tag zu suchen?
    Schönen Gruß, Sebastian

    Hm, bereits in PSE 4.0 für WIN konnte man im Organizer unter >Bearbeiten, >Voreinstellungen und >Tags und Sammlungen sich alle Arten von Tags und auch Sammlungen alphabetisch sortieren lassen. Sollte mich sehr wundern, wenn DAS bei den Versionen 5 und 6 nicht mehr möglich gewesen sein soll. Auch eine manuelle Sortierfunktion gibt es als alternative Möglichkeit dort.
    Ja ja so ist's, mit dem Haben und dem Sein...

  • Suche nach "farbähnlichen" Bildern in PSE 3.0

    Im Menu Suchen gibt es auch die Möglichkeit, nach Farbähnlichkeit zu suchen. Offenbar aber kaum mehr als nur ein kleines, nahezu nutzloses Gimmick? Wenn ich dieses Feature benutze, ist das Ergebnis niederschmetternd: Ein farbähnliches Bild wird im Prinzip nicht gefunden. Es wird dann praktisch der gesamte Katalog angezeigt mit (angeblich)absteigender Reihenfolge bzgl. der (vermeintlichen) Ähnlichkeit. Auch ein Blick in die jeweiligen Histogramme läßt mich an der Logik des Programmes dann doch zweifeln. Und meine Bilder sind schon sehr verschieden; und mehrheitlich, nicht ausschließlich, im JPEG-Format. Ich habe mir dann erlaubt, ein Bild zu duplizieren, um das Duplikat dann über Farbähnlichkeit zu suchen nach dem Motto, mal sehen was er/es (Rechner und Programm) denn so macht. Das gesuchte Bild erscheint dann an der 1.500. Stelle von 2000 insgesamt vorhandenen Bildern. Da kann ich den Katalog ja auch gleich händisch durchstöbern, was ja bei 2.000 Bildern vielleicht noch gehen mag; aber wenn es mal 20 oder 30.000 sind? Was dann? Mache ich da was falsch? Habe ich die Voreinstellungen bzgl. Farbe etc. falsch vorgenommen? Mit PSD-Dateien habe ich das allerdings noch nicht probiert; davon habe ich mittlerweile auch einige. Und: Was tut die Suche nach Farbähnlichkeit denn so rein programmtechnisch wirklich? Nu bin ich mal gespannt... KLAUS W. aus H.

    Englisch als Muttersprache?
    Ha, da könnte ich aber stolz auf mein deutsch sein, was! Nein, englisch ist "nur" meine Internet- und Computersprache ;-)
    Warum nutzt Du denn die englische Version?
    Erstens erscheinen die englischen Version einer Software früher als die deutschen, einige Patches gibt es bisweilen sogar _nur_ für die englische Fassung, da steht man als Europäer oft im Regen.
    Und zweitens besuche ich häufiger die englischen Foren - dann wird es mit der (Rück)-übersetzung noch schwieriger ...
    Alexander.
    1533 MHz, 1 GB, XP SP2, Canon Ixus 430 (aka S410), CanoScan D1250U2F, PSE v3.0.1, 3k images

  • Conditional display in a SQL-Report/Report Region

    Hi,
    here I have an example for "Conditional display in a SQL-Report/Report Region". I figured it out in Firefox 3.6.2 using Firebug as development tool on Apex 3.2.1.00.12.
    First you have to put the following javascript code in the Page HTML-Header:
    <script type="text/javascript">
    <!--
    // SOURCE
    // W:\oracle\PRJ DWLS\javascript.07.js
    // Beispiel Funktion zur bedingten Formatierung einer Tabellenzelle.
    // Help (Substitution Strings):
    // http://htmldb.oracle.com/pls/otn/wwv_flow_help.show_help?p_lang=de&p_session=2412201185523196&p_flow_id=4003&p_step_id=420,4003
    // HTML Expression:
    // <script>ex_conditional_td('R094260001010', #ROWNUM#, #COLNUM#-1);</script>#DFT_COND1#
    function ex_conditional_td
    ( p_id
    , p_rownum
    , p_cellnum
      var l_td;
      l_td = vd_getColumn(p_id, p_rownum, p_cellnum);
      // hier die Bedingung definieren
      if (true) {
        l_td.style.color = '#808080';
    }  // -- eof ex_conditional_td -- //
    // Beispiel Funktion zum Abstellen der onMouse Funktionalität der Tabellenzeile
    // HTML Expression:
    // <script>ex_conditional_tr('R094260001010', #ROWNUM#);</script>#DFT_ID#"
    function ex_conditional_tr
    ( p_id
    , p_rownum
      var l_tr;    // TABLE.TR
      var l_td;    // TABLE.TR.TD
      if (true) {
        l_tr = vd_getRow(p_id, p_rownum);
        l_tr.onmouseover = null;
        l_tr.onmouseout  = null;
        for (var i=0; i<l_tr.cells.length; i++) {
          l_td = l_tr.cells;
    l_td.style.backgroundColor = '#DDDDDD';
    } // -- eof ex_conditional_tr() -- //
    var g_DEBUG = false;
    var g_TBODY = null;
    // Liefert das Body-Element der Tabelle mit der ID <p_id>.
    // Parameter
    // p_id - die Id der HTML-Tabelle
    // Return
    // das Body-Element oder NULL, wenn die Zeile nicht gefunden wurde
    function vd_getBody
    ( p_id
    if (g_TBODY == null) {
    var l_table = null;
    l_table = document.getElementById( p_id );
    if (l_table == null) {
    l_table = document.getElementByName( p_id );
    if (l_table != null) {
    if (vd_debug()) {
    alert("Tabelle gefunden, " + l_table.nodeName);
    g_TBODY = vd_search( l_table, 'TD', 't10data', 'TBODY');
    return g_TBODY;
    } // -- eof vd_getBody() -- //
    // Liefert die Zeile <p_rownum> der HTML-Tabelle mit der Id <p_id>.
    // Parameter
    // p_id - die Id der HTML-Tabelle
    // p_rownum - die Zeilennummer
    // Return
    // die Zeile oder NULL, wenn die Zeile nicht gefunden wurde
    function vd_getRow
    ( p_id
    , p_rownum
    var l_body = vd_getBody(p_id);
    if ( l_body != null
    && l_body.nodeName == 'TBODY'
    && l_body.children[p_rownum].nodeName == 'TR') {
    return l_body.children[p_rownum];
    else {
    return null;
    } // -- eof vd_getRow() -- //
    // Liefert die Spalte <p_column> der Zeile <p_rownum> der HTML-Tabelle mit der
    // Id <p_id>.
    // Parameter
    // p_id - die Id der HTML-Tabelle
    // p_rownum - die Zeilennummer
    // p_column - der Index der Spalte / Zelle
    // Return
    // die Zelle oder NULL, wenn die Zelle nicht gefunden wurde
    function vd_getColumn
    ( p_id
    , p_rownum
    , p_column
    var l_tr = vd_getRow(p_id, p_rownum);
    if ( l_tr != null
    && l_tr.nodeName == 'TR'
    && l_tr.children.length >= p_column
    && l_tr.children[p_column].nodeName == 'TD') {
    return l_tr.children[p_column];
    else {
    return null;
    } // -- eof vd_getColumn() -- //
    // Rekursives Suchen nach einem Node.
    // Zweck: Das bedingte Formatieren einer Tabellenzelle in einem Apex Standard
    // SQL-Report.
    // Diese Funktion durchsucht rekursiv, ab einem Ausgangsknoten <p_node>, alle
    // darunter befindlichen Elemente, ob in dem Element <p_seachIn> sich die
    // Klasse <p_class> befindet.
    // Bei Standard-Reports ist die Reportzelle (TD) mit der Klasse
    // "t10data" formatiert.
    // Zunächst muss dazu die Tabellenzelle (TD) selbst, die übergeordnete
    // Tabellenzeile (TR), der Tabellenbody (TBODY) oder die Tabelle (TABLE)
    // selbst ermittelt werden.
    // Der Beispielaufruf:
    // var l_body;
    // var l_node = document.getElementById( 'R112233' );
    // l_body = search( l_node, 'TD', 't10data', 'TBODY');
    // durchsucht also das mit der Id "R112233" versehene Element [der Report, für
    // den in Apex eine statischen ID vergeben werden musste] rekursiv, bis er
    // die [erste] Tabellenzelle "TD" findet, die als Klasse "t10data"
    // definiert hat. Für diese ermittelt er dann das übergeordnete TBODY-Element.
    // Parameter
    // p_node - das Ausgangselement
    // p_searchIn - der Knotenname, der durchsucht werden soll
    // [node.nodeName == p_searchIn]
    // p_class - der Name der CSS Klasse
    // [node.classList[<index>] == p_class
    // p_parentName - der Name [node.parentNode.nodeName == p_parentName]
    // des Elements, das zurückgeliefert werden soll. Wird als
    // p_parentName der Suchname p_searchIn angegeben, wird
    // das Element selbst zurückgegeben.
    // Return
    // das per p_parentName gesuchte Element (TD, TR, TBODY, TABLE)
    function vd_search
    ( p_node
    , p_searchIn
    , p_class
    , p_parentName
    var LN = "vd_search";
    var l_element = null;
    // DEBUG
    if (vd_debug()) {
    alert(LN + ":" + "Untersuche " + p_node.nodeName + ", id=" + p_node.id);
    // 1) der aktuelle Knoten ist der, der durchsucht werden soll
    if (p_node.nodeName == p_searchIn) {
    if (p_node.classList.length > 0) {
    for(var c=0; c<p_node.classList.length; c++) {
    if (p_node.classList[c] == p_class) {
    // Parent Node dynmisch suchen
    l_node = p_node;
    if (l_node.nodeName == p_parentName) {
    return l_node;
    while(l_node != null && l_node.parentNode != null) {
    if (l_node.parentNode.nodeName == p_parentName) {
    return l_node.parentNode;
    else {
    l_node = l_node.parentNode;
    // 2) wenn nicht 1) oder nicht in 1) gefunden, dann in den Kindelementen
    // weitersuchen
    if (p_node.children.length > 0) {
    var i = 0;
    while (i<p_node.children.length && l_element==null) {
    l_element = vd_search( p_node.children[i], p_searchIn, p_class, p_parentName);
    i++;
    return l_element;
    } // -- eof vd_search() -- //
    // Gibt an, ob Debug ein- (true) oder ausgeschaltet (false) ist.
    // Return
    // true - debug ist eingeschaltet
    // false - debug ist ausgeschaltet
    function vd_debug()
    return g_DEBUG;
    -->
    </script>
    Maybe you have to modify the "vd_getBody" function. I'm searching the table cell with having the class "t10data". When you use another theme, there's maybe another class used.
    Second is, that you set an static id for your report region. I prefer this structure:
    R<app-id><page-id><seq> (Raaaaappppsss) e.g. R094260001010.
    First example is to turn off the onMouse-Effect. Maybe on the first or last column definition you put this code in the "HTML-Expression" area:
    <script>ex_conditional_tr('R094260001010', #ROWNUM#);</script>#ID#This will call the example function ex_conditional_tr with the parameter
    a) the region id
    b) the rownum (as oracle always starts with 1 this is the first data row [rownum=0 is the table header row])
    Second example is the conditional formatting of a table cell. Put this in the HML-Expression area:
    <script>ex_conditional_td('R094260001010', #ROWNUM#, #COLNUM#-1);</script>#ENAME#This will call the example function ex_conditional_tr with the parameter
    a) the region id
    b) the rownum
    c) the cellnum (here we have to subtract 1 to get the "real" cell index)
    The "ex_conditional" functions are just a representation of how to get the row or cell node.
    Hope this help a bit.
    Tom

    I would use a CASE statement in the select....
    each CASE would be an img src tag for a different button if the button is an image.
    does that make sense? I can include an example if you would like...

  • All 30 minutes my Macs (iMac/Snow Leopard, MacMini/Lion) are loosing the connection to the Windows Servers (2 Networks: Home with Home Server 2011 (Server 2008) and Office with Home Server V1 (Server 2003)).

    Hallo,
    Ich betreibe im Büro und zu Hause jeweils einen Microsoft Home Server. In beiden Netzwerken ist neben diversen Windows Rechnern auch ein Mac vorhanden.
    Die jeweilige "Konfiguration" ist wie folgt:
    - Apple MacMini (Late 2011, als HTPC) mit Lion per Wlan über AVM Fritzbox 7390 an Microsoft Windows Home Server 2011 (Windows Server 2008).
    - Apple iMac (Late 2010, Arbeitsplatzrechner) mit Snow Leopard per Lan über AVM Fritzbox 7270 an Microsoft Windows Home Server V1 (Windows Server 2003)
    Alle Betriebssysteme sind auf aktuellem Stand.
    Die Fritzboxen laufen mit der jeweils aktuellen Firmware
    Nun zu dem Problem:
    Beide Macs unterbrechen ca. alle 30 min den Kontakt zum Server. Die Verbindung wird zwar ca. 1-2 Minute später wieder aufgebaut, aber am MacMini (HTPC) macht sich dadurch bemerkbar, daß der Film oder die Musik für obige Zeitspanne stoppt und danach weiterläuft. Beim iMac (Arbeitsrechner) kann ein zuvor vom Server geladenes Dokument dann nicht mehr gespeichert oder gedruckt werden.
    Der MacMini hat dieses Phänomen direkt bei der Verbindung mit dem WHS gezeigt. Der iMac hat jedoch zuvor ca. 1,5 Jahre ohne Probleme funktioniert. Dieses Problem tritt bei dem iMac (Snow Leopard) erst seit ca. 6-9 Monate auf.
    Da unterschiedliche WHS und OS X Versionen betroffen sind und auch unterschiedliche Fritzboxen verwendet werden und scheint ein allgemeines Problem im Zusammenspiel Windows/OS X vorzuliegen.
    Bei dem iMac fällt der genaue Zeitpunkt der Verbindungsunterbrechung nicht auf.
    Bei dem MacMini läßt sich der Zeitpunkt dagegen relativ leicht bestimmen. Aus der Ereignisanzeige beim Windows Server ergibt sich leider kein eindeutiges Fehlerbild. Zu dem jeweiligen Zeitpunkt taucht aber relativ oft, aber nicht immer (!), in "Windows-Protokolle Sicherheit" der Fehler 4625 ("Fehler beim Anmelden eines Kontos") auf. Dies würde auf eine Rechteproblematik hindeuten. Das Konto des Mac kann aber alles was ihm auf dem WHS erlaubt ist.
    Beim Suchen nach einer Lösung (bisher leider erfolglos) bin ich u.a. auch über das Problem des Server Infrastructure License Services (silsvc) beim Windows Small Business Server 2011 Essentials gestolpert (auch alle 30 min!). Vielleicht ein Zusammenhang?
    Hello,
    I run the office and at home each a Microsoft Home Server. In both networks, in addition to various Windows computers, a Mac is available.
    The particular "configuration" is as follows:
    - Apple MacMini (Late 2011, as HTPC) with Lion via wifi via AVM Fritzbox 7390 to Microsoft Windows Home Server 2011 (Windows Server 2008).
    - Apple iMac (Late 2010, desktop PC) with Snow Leopard by Lan on AVM Fritzbox 7270 on Microsoft Windows Home Server V1 (Windows Server 2003)
    All operating systems on current conditions with all patches and updates.
    The Fritz boxes running with the latest firmware
    Now to the problem:
    Both Macs are loosing every 30 minutes the contact to the server. The connection is "re-"established about 1-2 minutes later. On MacMini (HTPC), the film or music is stopped for the above period. Thereafter, the film / music goes on. With the iMac (workstation) a document loaded from the server can no longer be saved or printed.
    The MacMini has shown this phenomenon directly in connection with the WHS. However, the iMac has been working about 1.5 years with no problems. This problem only occurs for about 6-9 months
    Because of different WHS and OS X versions are affected and also different Fritz boxes are used and it seems to be a general problem in the interplay Windows / OS X to be present.
    When the iMac is the exact date of disconnection does not occur.
    With the Mac Mini, the time can however be determined relatively easily. From the Event Viewer on Windows Server is unfortunately no clear error image. At the particular time but appeared relatively often, but not always (!) In Windows Security Logs the error 4625 (Failed to log on an account) on. This would indicate a rights issue.
    Searching for a solution (so far unsuccessfully, unfortunately), I stumbled over the problem of the Server Infrastructure License Services (silsvc) in Windows Small Business Server 2011 Essentials (every 30 min!). Maybe a connection?

    Hi, and thank you for your reply!
    My reason for not posting this in the server forum is that I suspect it is a clien issue. All my other clients connect happily to the server which leads me to believe the server is configured correctly.
    Only my the two MacBook Pro's are having problems.

  • Conversion of fla files (with AS1 and AS 2) to html 5

    Wir wollen unsere Flash Lernmodule auf mobilen Geräten verfügbar machen und suchen nach einer Wandlungsmöglichkeit von fla Files ( mit AS 1 und AS 2) in html 5 Seiten.
    Captivate 8 scheint hier grundsätzlich eine Lösung zu bieten, wenn ich das richtig verstanden habe, aber Bedingung ist wohl AS2.
    Korrekt?
    Wer hat Erfahrung mit so einer Wandlung von vielen und aufwendig gestalteten Flash-Seiten (500 - 600 Seiten) und kann mir hier Tipps geben?
    Beste Grüße
    Hans-J. Schmüser

    Hello
    Jochen,
    I’m already
    in contact with the German engineer Alexander Diepold who tries to get my
    application running. If there are findings that will be interesting to the LV community I would like
    to report about it. Thanks for your interest.
    Regards
    Detlef

  • Session errors

    Hi friends,
    I have created a session with lsmw, and executed the session in background.
    now the problem is out of 2500 records there are 500 records with errors?
    so how to correct these errors?? is it manually you have to identify each error transaction?? or is there any way in LSMW or session to download the error records in a file???
    thanks a lot.

    hi,
    u can use the below program to get the logfile into excel
    You need to provide the session QUEUE ID as input. Please use the code below.
    REPORT ZDOWNLOAD_LOG MESSAGE-ID 00.
    PARAMETERS:
    queue_id LIKE apqi-qid OBLIGATORY.
    INCLUDE rsbdcil3. "Read plain log from TemSe
    TYPE-POOLS: icon, sdydo.
    TABLES:
    apqi, apqd, apql, t100, snap.
    CONTROLS:
    tc_tcodes TYPE TABLEVIEW USING SCREEN 200,
    tc_dynpro TYPE TABLEVIEW USING SCREEN 300,
    tc_protocol TYPE TABLEVIEW USING SCREEN 400,
    tc_bdcld TYPE TABLEVIEW USING SCREEN 600,
    tc_q_tcodes TYPE TABLEVIEW USING SCREEN 700,
    tab_dynpro TYPE TABSTRIP,
    tab_apqi TYPE TABSTRIP.
    FIELD-SYMBOLS:
    DATA:
    this table keeps those tcodes actually displayed
    BEGIN OF bdc_tcodes OCCURS 0,
    index TYPE i, tcode LIKE sy-tcode, status(1), s_text(16),
    END OF bdc_tcodes,
    this table keeps all tcodes of the session
    BEGIN OF all_bdc_tcodes OCCURS 0,
    index TYPE i, tcode LIKE sy-tcode, status(1), s_text(16),
    END OF all_bdc_tcodes.
    DATA:
    this table keeps those dynpros actually displayed
    BEGIN OF bdc_dynpro OCCURS 0,
    program LIKE sy-cprog, dynpro LIKE sy-dynnr,
    fnam LIKE bdcdata-fnam, fval LIKE bdcdata-fval,
    index TYPE i,
    END OF bdc_dynpro,
    this table keeps all dynpros of the session
    BEGIN OF all_bdc_dynpro OCCURS 0,
    program LIKE sy-cprog, dynpro LIKE sy-dynnr,
    fnam LIKE bdcdata-fnam, fval LIKE bdcdata-fval,
    index TYPE i,
    END OF all_bdc_dynpro,
    dynpro_index TYPE i,
    cat_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    DATA:
    this table keeps protocol lines to be displayed
    BEGIN OF bdc_protocol OCCURS 0.
    INCLUDE STRUCTURE bdclm.
    DATA:
    longtext TYPE bdc_mpar,
    END OF bdc_protocol.
    DATA:
    it_apqd LIKE apqd OCCURS 0 WITH HEADER LINE,
    udat LIKE apqd-vardata, sdat LIKE apqd-vardata.
    DATA:
    BEGIN OF tf OCCURS 0, "interne tabelle mit dynprofeldern
    count TYPE i VALUE 0, "zum abmischen
    trcd(4),stat(4),
    pgm(8), "programmname
    dyn(4) TYPE n, "dynpronummer
    fname(35), farg(132), fstart(5) TYPE p, fende(5) TYPE p,
    END OF tf.
    needed for check if TemSe interface is active:
    DATA: protparam(60) VALUE 'bdc/new_protocol',
    newprot(3) VALUE 'off'.
    message header
    DATA:
    BEGIN OF bdcmh,
    mtype, state,
    tcode(20), " (4 -> 20)
    prog(40), " (8 -> 40)
    dynr(4), sepc, filler,
    END OF bdcmh.
    transaction header
    DATA:
    BEGIN OF bdcth,
    mtype, state,
    tcode(20), " (4 -> 20)
    postg, print,
    msgid(20), " (2 -> 20)
    END OF bdcth.
    DATA:
    bdcmhlen TYPE i VALUE 68, " (20 -> 68 ) MessageHeaderlaenge
    dcnt TYPE i, tcnt TYPE i, gencnt TYPE i, delcnt TYPE i, wcount TYPE i,
    mfstart TYPE i, mfende TYPE i, mflen TYPE i, mfart(2).
    DATA BEGIN OF bdclm OCCURS 0. " ITabelle der Messageseintraege
    INCLUDE STRUCTURE bdclm. " LogTabelle
    DATA: counter TYPE i,
    longtext TYPE bdc_mpar,
    isdetail(1) TYPE c,
    END OF bdclm .
    DATA: lm LIKE bdclm,
    save_mpar TYPE bdc_mpar.
    DATA BEGIN OF bdcld OCCURS 0. " ITabelle der Verzeichniseintraege
    INCLUDE STRUCTURE bdcld. " LogTabelle aller Protokolle
    DATA: logname(80), " protokollpfad
    local_host(12), " lokaler rechner
    cnt TYPE i, " satzzaehler
    active(1) TYPE c, " active flag
    temseid TYPE rstsoname. " TemSe ID
    DATA END OF bdcld .
    DATA:
    logtab LIKE bdcld OCCURS 0 WITH HEADER LINE,
    logtab_temse LIKE apql OCCURS 0 WITH HEADER LINE.
    DATA:
    main_okcode TYPE fcode,
    d0500_fcode TYPE fcode,
    d0600_fcode TYPE fcode,
    d0700_fcode TYPE fcode,
    d0701_fcode TYPE fcode,
    tc_mark(1),
    counter TYPE i,
    status_icon(32),
    dynprotab_subscreen_dynpro LIKE sy-dynnr,
    header_subscreen_dynpro LIKE sy-dynnr.
    DATA:
    ex_date(12), string(48), tab_proto(48).
    Radio buttons and checkbox on screen 0500
    DATA:
    BEGIN OF rb,
    tcodes_all VALUE 'X', tcodes_error,
    fieldlist VALUE ' ',
    pro_all VALUE 'X', pro_tcode, pro_session,
    log_detail,
    END OF rb.
    DATA:
    Flags for identifying contents of the bdc_... tables
    bdc_tcodes_content(1), "a: all, e: errors
    bdc_dynpro_content(1), "f: fieldlist, s: screens only
    bdc_protocol_content(1), "a: all, t: for transaction, s: for session
    bdc_lines LIKE sy-index,
    c_field(132),
    c_line TYPE i,
    selected_index LIKE sy-index,
    selected_protocol LIKE sy-index,
    tc_index LIKE sy-index,
    tc_select LIKE sy-index,
    tcode_index LIKE bdc_tcodes-index,
    tcode_index_apqd LIKE bdc_tcodes-index,
    1st_bdc_tcode_index LIKE bdc_tcodes-index,
    i_tcodes TYPE i,
    i_protocols TYPE i,
    tcode LIKE sy-tcode,
    tcode_status(16),
    previous_tab(64).
    Data needed for CATT simulation of screens
    DATA:
    BEGIN OF bdc_subscreen,
    program LIKE sy-cprog,
    dynpro LIKE sy-dynnr,
    subscr(64),
    END OF bdc_subscreen.
    Table for keeping fcodes to be excluded from pf-status
    DATA:
    BEGIN OF ex_cua OCCURS 2,
    fcode LIKE rsmpe-func,
    END OF ex_cua.
    data for keeping scoll infos
    DATA:
    current_page LIKE sy-tabix VALUE 1,
    new_page LIKE sy-tabix,
    total_pages LIKE sy-tabix,
    new_line LIKE sy-tabix,
    entries LIKE sy-tabix,
    loopc LIKE sy-loopc.
    data for queue dump
    DATA:
    BEGIN OF q,
    tcode_index LIKE all_bdc_tcodes-index,
    itab_index LIKE all_bdc_tcodes-index,
    c_field(132),
    c_line LIKE sy-index,
    c_area(132),
    wa LIKE LINE OF all_bdc_tcodes,
    control_init VALUE 'X',
    reuse_control,
    uc_bytes TYPE i,
    c(1),
    show_hex VALUE ' ',
    END OF q.
    DATA:
    t TYPE sdydo_text_element,
    c(128).
    TYPES:
    BEGIN OF block,
    dt TYPE REF TO cl_dd_table_element,
    dta TYPE REF TO cl_dd_table_area,
    END OF block.
    DATA:
    it_blocks TYPE STANDARD TABLE OF block,
    b_wa TYPE block.
    DATA:
    dd TYPE REF TO cl_dd_document,
    cust TYPE REF TO cl_gui_custom_container.
    TYPES:
    BEGIN OF cx,
    char(1) TYPE c,
    hex(4) TYPE x,
    xtoc(8) TYPE c,
    END OF cx,
    uc_1(1) TYPE x,
    uc_2(2) TYPE x,
    uc_4(4) TYPE x.
    DATA:
    it_cx TYPE STANDARD TABLE OF cx,
    cx TYPE cx.
    FIELD-SYMBOLS:
    DATA:
    BEGIN OF count,
    start TYPE i,
    index TYPE i,
    part TYPE i,
    rest TYPE i,
    END OF count.
    DATA:
    cspan TYPE i.
    CONSTANTS:
    nr_cols TYPE i VALUE 64,
    reload_apqi VALUE 'X'.
    DATA:
    BEGIN OF apqdcnt,
    transcntb TYPE apq_tran, "neu
    msgcntb TYPE apq_reco,
    transcnte TYPE apq_tran, "fehlerhaft
    msgcnte TYPE apq_reco,
    transcnto TYPE apq_tran, "noch zu verarbeiten
    msgcnto TYPE apq_reco,
    transcntf TYPE apq_tran, "verarbeitet
    msgcntf TYPE apq_reco,
    transcntd TYPE apq_tran, "gelöscht
    msgcntd TYPE apq_reco,
    transcnt TYPE apq_tran, "enthält aktuell
    msgcnt TYPE apq_reco,
    transcntx TYPE apq_tran, "entfernt
    msgcntx TYPE apq_reco,
    transcntp TYPE apq_tran, "angelegt
    msgcntp TYPE apq_reco,
    END OF apqdcnt.
    DATA:
    dynpro_cnt TYPE i,
    show_dynpro_cnt VALUE ' ',
    filename TYPE string,
    lt_string TYPE char4000 OCCURS 0,
    wa_string TYPE char4000,
    p_cnt(8).
    START-OF-SELECTION.
    PERFORM prepare USING queue_id.
    CALL SCREEN 100.
    *& Form prepare
    FORM prepare USING qid TYPE apqi-qid.
    CLEAR: bdc_tcodes_content, bdc_dynpro_content, bdc_protocol_content.
    SELECT SINGLE * FROM apqi WHERE qid = qid.
    IF sy-subrc <> 0.
    MESSAGE i307(00) WITH 'Lesen'(010) 'mit Queue-ID'(011) qid.
    LEAVE PROGRAM.
    ENDIF.
    PERFORM fill_all_bdc_tcodes. " find all transactions
    PERFORM get_logfiles_for_qid. " logfiles -> bdcld
    PERFORM get_log USING 1. " most recent log -> bdclm
    selected_protocol = 1.
    GET PARAMETER ID 'RSBDC_ANALYSE_RB' FIELD rb.
    IF sy-subrc <> 0.
    rb-tcodes_all = 'X'. rb-pro_all = 'X'.
    ENDIF.
    ex_cua-fcode = 'FL_ON'. APPEND ex_cua.
    ex_cua-fcode = 'FL_OFF'. APPEND ex_cua.
    ENDFORM. "prepare
    Module loopc
    MODULE loopc OUTPUT.
    loopc = sy-loopc.
    ENDMODULE. "loopc OUTPUT
    Module status_main
    MODULE status_main OUTPUT.
    CLEAR main_okcode.
    SET TITLEBAR '0100' WITH apqi-groupid.
    LOOP AT SCREEN.
    set text of tabstrip tab for protocol display or set tab invisible if
    no protocol was found for the qid
    IF screen-name = 'TAB_PROTO'.
    IF selected_protocol IS INITIAL.
    screen-invisible = 1. MODIFY SCREEN.
    ELSE.
    WRITE bdcld-edate TO ex_date.
    CONCATENATE '@96@' 'Protokoll vom'(020) ex_date "ICON_HISTORY
    INTO tab_proto SEPARATED BY ' '.
    ENDIF.
    ENDIF.
    ENDLOOP.
    set header and subscreen dynpro depending on active tab
    CASE tab_dynpro-activetab.
    WHEN 'TAB_TCODES'.
    SET PF-STATUS 'PF_MAIN' EXCLUDING ex_cua.
    dynprotab_subscreen_dynpro = '0200'.
    header_subscreen_dynpro = '0201'.
    WHEN 'TAB_LIST'.
    IF rb-fieldlist = 'X'.
    SET PF-STATUS 'PF_MAIN_NAVI' EXCLUDING 'FL_ON'.
    ELSE.
    SET PF-STATUS 'PF_MAIN_NAVI' EXCLUDING 'FL_OFF'.
    ENDIF.
    dynprotab_subscreen_dynpro = '0300'.
    header_subscreen_dynpro = '0301'.
    WHEN 'TAB_PROTO'.
    IF rb-pro_tcode = 'X'.
    SET PF-STATUS 'PF_MAIN_NAVI' EXCLUDING ex_cua.
    ELSE.
    SET PF-STATUS 'PF_MAIN' EXCLUDING ex_cua.
    ENDIF.
    dynprotab_subscreen_dynpro = '0400'.
    header_subscreen_dynpro = '0401'.
    WHEN OTHERS.
    SET PF-STATUS 'PF_MAIN' EXCLUDING ex_cua.
    tab_dynpro-activetab = 'TAB_TCODES'.
    dynprotab_subscreen_dynpro = '0200'.
    header_subscreen_dynpro = '0201'.
    ENDCASE.
    is this the first call?
    IF tcode_index IS INITIAL.
    tcode_index = 1.
    tcode = all_bdc_tcodes-tcode.
    tcode_status = all_bdc_tcodes-s_text.
    ELSE.
    tcode_index was already set in PAI
    tcode = bdc_tcodes-tcode.
    tcode_status = bdc_tcodes-s_text.
    ENDIF.
    ENDMODULE. "status_main OUTPUT
    Module exit_main
    MODULE exit_main INPUT.
    SET PARAMETER ID 'RSBDC_ANALYSE_RB' FIELD rb.
    LEAVE PROGRAM.
    ENDMODULE. "exit_main INPUT
    Module user_command_main
    MODULE user_command_main INPUT.
    IF tab_dynpro-activetab <> 'TAB_TCODES'.
    previous_tab = tab_dynpro-activetab.
    ENDIF.
    CASE main_okcode.
    change the active tab
    WHEN 'TAB_TCODES'.
    tab_dynpro-activetab = 'TAB_TCODES'.
    WHEN 'TAB_LIST'.
    tab_dynpro-activetab = 'TAB_LIST'.
    WHEN 'TAB_PROTO'.
    tab_dynpro-activetab = 'TAB_PROTO'.
    select entry for display
    WHEN 'DISPLAY'.
    PERFORM set_new_display.
    change the viewing options
    WHEN 'VIEW_OPT'.
    CALL SCREEN 500 STARTING AT 5 5.
    show list of protocols
    WHEN 'PROTO'.
    IF selected_protocol > 0.
    CALL SCREEN 600 STARTING AT 5 5.
    ELSE.
    MESSAGE s324(00).
    ENDIF.
    WHEN 'PROTO_REFRESH'.
    reload protocol file (while watching running sessions)
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
    text = 'Protokoll wird erneut gelesen ...'(006).
    PERFORM get_log USING selected_protocol.
    PERFORM extend_message_texts.
    CLEAR bdc_protocol_content.
    switch field list on or off
    WHEN 'FL_ON'. rb-fieldlist = 'X'.
    WHEN 'FL_OFF'. rb-fieldlist = ' '.
    go to first transaction
    WHEN 'FIRST'.
    IF tcode_index > 1.
    READ TABLE bdc_tcodes INDEX 1.
    tcode_index = 1.
    PERFORM scan_transaction USING bdc_tcodes-index.
    CLEAR: bdc_dynpro_content, bdc_protocol_content.
    ENDIF.
    go to next transaction
    WHEN 'NEXT'.
    IF tcode_index < i_tcodes.
    tcode_index = tcode_index + 1.
    READ TABLE bdc_tcodes INDEX tcode_index.
    PERFORM scan_transaction USING bdc_tcodes-index.
    CLEAR: bdc_dynpro_content, bdc_protocol_content.
    ENDIF.
    go to previous transaction
    WHEN 'PREV'.
    IF tcode_index > 1.
    tcode_index = tcode_index - 1.
    READ TABLE bdc_tcodes INDEX tcode_index.
    PERFORM scan_transaction USING bdc_tcodes-index.
    CLEAR: bdc_dynpro_content, bdc_protocol_content.
    ENDIF.
    go to last transaction
    WHEN 'LAST'.
    IF tcode_index < i_tcodes.
    tcode_index = i_tcodes.
    READ TABLE bdc_tcodes INDEX i_tcodes.
    PERFORM scan_transaction USING bdc_tcodes-index.
    CLEAR: bdc_dynpro_content, bdc_protocol_content.
    ENDIF.
    scrolling in table controls
    WHEN 'P-' OR 'P--' OR 'P' OR 'P+'.
    PERFORM scrolling.
    display queue dump
    WHEN 'QUEUE'.
    CALL SCREEN '0700'.
    display header (APQI)
    WHEN 'APQI'.
    CALL SCREEN '0701'.
    recalculate dynpro counters
    WHEN 'DISP_CNT'.
    PERFORM recalculate_counters.
    leave this nice program
    WHEN 'BACK' OR 'END'.
    SET PARAMETER ID 'RSBDC_ANALYSE_RB' FIELD rb.
    LEAVE PROGRAM.
    WHEN OTHERS.
    ENDCASE.
    if field list or protocol chosen, but no transaction has been
    scanned yet, it's now time to read the first transaction from APQD
    IF ( main_okcode = 'TAB_LIST' OR
    main_okcode = 'TAB_PROTO' ) AND
    tcode_index_apqd IS INITIAL.
    READ TABLE bdc_tcodes INDEX 1.
    IF sy-subrc = 0.
    PERFORM scan_transaction USING bdc_tcodes-index.
    tcode_index_apqd = bdc_tcodes-index.
    ENDIF.
    ENDIF.
    ENDMODULE. "user_command_main INPUT
    Module fill_bdc_tcodes
    copy transactions from all_bdc_tcodes to bdc_tcodes
    according to rb-settings
    MODULE fill_bdc_tcodes OUTPUT.
    check whether contents are already up to date
    IF show_dynpro_cnt = 'X'.
    LOOP AT SCREEN.
    IF screen-group1 = 'DCT'.
    screen-invisible = 0.
    screen-active = 1.
    MODIFY SCREEN.
    ENDIF.
    IF screen-name = 'CMD_DISP_CNT'.
    screen-invisible = 1.
    MODIFY SCREEN.
    ENDIF.
    ENDLOOP.
    ENDIF.
    IF bdc_tcodes_content = 'A' AND rb-tcodes_all = 'X'.
    EXIT.
    ELSEIF bdc_tcodes_content = 'E' AND rb-tcodes_error = 'X'.
    EXIT.
    ENDIF.
    fill bdc_tcodes according to the settings in screen 500
    CLEAR bdc_tcodes. REFRESH bdc_tcodes.
    IF rb-tcodes_all ='X'.
    LOOP AT all_bdc_tcodes.
    bdc_tcodes = all_bdc_tcodes. APPEND bdc_tcodes.
    ENDLOOP.
    bdc_tcodes_content = 'A'.
    ELSEIF rb-tcodes_error = 'X'.
    LOOP AT all_bdc_tcodes WHERE status = 'E'.
    bdc_tcodes = all_bdc_tcodes. APPEND bdc_tcodes.
    ENDLOOP.
    bdc_tcodes_content = 'E'.
    ENDIF.
    DESCRIBE TABLE bdc_tcodes LINES bdc_lines.
    i_tcodes = bdc_lines.
    tc_tcodes-lines = bdc_lines.
    CLEAR tcode_index_apqd.
    READ TABLE bdc_tcodes INDEX 1.
    1st_bdc_tcode_index = bdc_tcodes-index.
    tcode_index = 1.
    ENDMODULE. "fill_bdc_tcodes OUTPUT
    Module fill_bdc_dynpro
    copy dynpro data from all_bdc_dynpro to bdc_bdc_dynpro
    according to rb-settings
    MODULE fill_bdc_dynpro OUTPUT.
    DATA: wa LIKE LINE OF tc_dynpro-cols,
    tline LIKE sy-index.
    tline = tc_dynpro-top_line.
    tc_dynpro-top_line = tline.
    hide fields if no detailed field list shall be displayed
    LOOP AT tc_dynpro-cols INTO wa.
    IF sy-tabix = 3 OR sy-tabix = 4.
    IF rb-fieldlist = 'X'.
    CLEAR wa-invisible.
    ELSE.
    wa-invisible = 1.
    ENDIF.
    MODIFY tc_dynpro-cols FROM wa.
    ENDIF.
    ENDLOOP.
    is bdc_dynpro_content already correctly filled ?
    IF rb-fieldlist = ' ' AND bdc_dynpro_content = 'S'.
    EXIT.
    ELSEIF rb-fieldlist = 'X' AND bdc_dynpro_content = 'F'.
    EXIT.
    ENDIF.
    CLEAR bdc_dynpro. REFRESH bdc_dynpro.
    IF rb-fieldlist = ' '.
    LOOP AT all_bdc_dynpro WHERE NOT program IS INITIAL.
    bdc_dynpro = all_bdc_dynpro.
    APPEND bdc_dynpro.
    ENDLOOP.
    bdc_dynpro_content = 'S'.
    ELSEIF rb-fieldlist = 'X'.
    LOOP AT all_bdc_dynpro.
    bdc_dynpro = all_bdc_dynpro.
    APPEND bdc_dynpro.
    ENDLOOP.
    bdc_dynpro_content = 'F'.
    ENDIF.
    DESCRIBE TABLE bdc_dynpro LINES bdc_lines.
    tc_dynpro-lines = bdc_lines.
    tc_dynpro-top_line = 1.
    ENDMODULE. "fill_bdc_dynpro OUTPUT
    Module fill_bdc_protocol
    copy messages from bdclm to bdc_protocol
    according to rb-settings
    MODULE fill_bdc_protocol OUTPUT.
    IF rb-pro_all = 'X' AND bdc_protocol_content = 'A'.
    EXIT.
    ELSEIF rb-pro_tcode = 'X' AND bdc_protocol_content = 'T'.
    EXIT.
    ELSEIF rb-pro_session = 'X' AND bdc_protocol_content = 'S'.
    EXIT.
    ENDIF.
    CLEAR bdc_protocol. REFRESH bdc_protocol.
    IF rb-pro_all = 'X'.
    LOOP AT bdclm.
    IF rb-log_detail = ' ' AND bdclm-isdetail = 'X'.
    CONTINUE.
    ENDIF.
    MOVE-CORRESPONDING bdclm TO bdc_protocol.
    APPEND bdc_protocol.
    ENDLOOP.
    bdc_protocol_content = 'A'.
    ELSEIF rb-pro_tcode = 'X'.
    LOOP AT bdclm WHERE tcnt = tcode_index_apqd.
    IF rb-log_detail = ' ' AND bdclm-isdetail = 'X'.
    CONTINUE.
    ENDIF.
    MOVE-CORRESPONDING bdclm TO bdc_protocol.
    APPEND bdc_protocol.
    ENDLOOP.
    bdc_protocol_content = 'T'.
    ELSEIF rb-pro_session = 'X'.
    LOOP AT bdclm WHERE tcnt = ' '.
    MOVE-CORRESPONDING bdclm TO bdc_protocol.
    APPEND bdc_protocol.
    ENDLOOP.
    bdc_protocol_content = 'S'.
    ENDIF.
    DESCRIBE TABLE bdc_protocol LINES bdc_lines.
    tc_protocol-lines = bdc_lines.
    tc_protocol-top_line = 1.
    ENDMODULE. "fill_bdc_protocol OUTPUT
    Module check_bdc_tcodes
    MODULE check_bdc_protocol OUTPUT.
    display lines intensified if they contain e- or a-messages
    IF bdc_protocol-mart = 'E'
    OR bdc_protocol-mart = 'A'.
    LOOP AT SCREEN.
    screen-intensified = 1. MODIFY SCREEN.
    ENDLOOP.
    ENDIF.
    skip empty lines
    IF bdc_protocol-indate IS INITIAL.
    EXIT FROM STEP-LOOP.
    ENDIF.
    ENDMODULE. "check_bdc_protocol OUTPUT
    Module get_cursor_position
    MODULE get_cursor_position INPUT.
    GET CURSOR FIELD c_field LINE c_line.
    IF c_line > 0.
    CASE tab_dynpro-activetab.
    WHEN 'TAB_TCODES'.
    selected_index = tc_tcodes-top_line + c_line - 1.
    WHEN 'TAB_LIST'.
    selected_index = tc_dynpro-top_line + c_line - 1.
    WHEN 'TAB_PROTO'.
    selected_index = tc_protocol-top_line + c_line - 1.
    ENDCASE.
    ELSE.
    selected_index = 0.
    ENDIF.
    ENDMODULE. "get_cursor_position INPUT
    Module d0500_init
    MODULE d0500_init OUTPUT.
    SET PF-STATUS 'POPUP'.
    SET TITLEBAR '0500'.
    ENDMODULE. "d0500_init OUTPUT
    Module d0500_fcode
    MODULE d0500_fcode INPUT.
    LEAVE TO SCREEN 0.
    ENDMODULE. "d0500_fcode INPUT
    Module d0600_init
    MODULE d0600_init OUTPUT.
    SET PF-STATUS 'POPUP'.
    SET TITLEBAR '0600'.
    CLEAR d0600_fcode.
    DESCRIBE TABLE bdcld LINES i_protocols.
    tc_bdcld-lines = i_protocols.
    ENDMODULE. "d0600_init OUTPUT
    Module d0500_fcode
    read and process another protocol which was selected on
    popup dynpro 500
    MODULE d0600_fcode INPUT.
    CASE d0600_fcode.
    WHEN 'POP_CANCEL'.
    LEAVE TO SCREEN 0.
    WHEN 'POP_OKAY'.
    read selected protocol
    IF tc_select <> selected_protocol.
    CLEAR bdclm. REFRESH bdclm.
    CLEAR bdc_protocol_content.
    PERFORM get_log USING tc_select.
    PERFORM extend_message_texts.
    selected_protocol = tc_select.
    ENDIF.
    LEAVE TO SCREEN 0.
    WHEN OTHERS.
    scroll in table
    ENDCASE.
    ENDMODULE. "d0600_fcode INPUT
    Module set_mark
    set table view marker for the actual selected protocol
    (dynpro 500)
    MODULE set_mark OUTPUT.
    tc_index = tc_bdcld-top_line + tc_bdcld-current_line - 1.
    IF tc_index = selected_protocol.
    tc_mark = 'X'.
    ENDIF.
    ENDMODULE. "set_mark OUTPUT
    Module get_mark
    get index of selected protocol on popup 500
    MODULE get_mark INPUT.
    IF tc_mark = 'X'.
    tc_select = tc_bdcld-top_line + tc_bdcld-current_line - 1.
    ENDIF.
    ENDMODULE. "get_mark INPUT
    FORM: fill_bdc_tcodes
    Read all transaction codes from apqd and fill internal table
    FORM fill_all_bdc_tcodes.
    read APQD blocks 1 for QID
    CLEAR all_bdc_tcodes. REFRESH all_bdc_tcodes.
    SELECT * FROM apqd WHERE qid = queue_id AND block = 1
    ORDER BY PRIMARY KEY.
    MOVE apqd-vardata TO bdcth.
    all_bdc_tcodes-index = apqd-trans.
    all_bdc_tcodes-tcode = bdcth-tcode.
    all_bdc_tcodes-status = bdcth-state.
    APPEND all_bdc_tcodes.
    ENDSELECT.
    convert status flag to long text
    calculate transaction counters
    CLEAR apqdcnt.
    LOOP AT all_bdc_tcodes.
    ADD 1 TO apqdcnt-transcnt.
    CASE all_bdc_tcodes-status.
    WHEN 'D' OR 'G'.
    all_bdc_tcodes-s_text = 'gelöscht'(005).
    ADD 1 TO apqdcnt-transcntd.
    WHEN 'F'.
    all_bdc_tcodes-s_text = 'verarbeitet'(002).
    ADD 1 TO apqdcnt-transcntf.
    WHEN 'E'.
    all_bdc_tcodes-s_text = 'fehlerhaft'(001).
    ADD 1 TO apqdcnt-transcnte.
    WHEN 'B'.
    all_bdc_tcodes-s_text = ' '. "neu
    ADD 1 TO apqdcnt-transcntb.
    WHEN OTHERS.
    all_bdc_tcodes-s_text = ' '.
    ENDCASE.
    MODIFY all_bdc_tcodes.
    ENDLOOP.
    apqdcnt-transcnto = apqdcnt-transcntb
    + apqdcnt-transcnte.
    apqdcnt-transcntd = apqdcnt-transcnt
    - apqdcnt-transcntf
    - apqdcnt-transcnte
    - apqdcnt-transcntb.
    apqdcnt-transcntp = apqi-puttrans.
    apqdcnt-transcntx = apqdcnt-transcntp
    - apqdcnt-transcnt.
    IF apqi-msgcnt < 1000.
    PERFORM recalculate_counters.
    ENDIF.
    ENDFORM. "fill_all_bdc_tcodes
    FORM scan_transaction
    Read all APQD data for a selected transaction
    FORM scan_transaction USING tcnt.
    CLEAR it_apqd. REFRESH it_apqd.
    CLEAR all_bdc_dynpro. REFRESH all_bdc_dynpro.
    SELECT * FROM apqd INTO TABLE it_apqd
    WHERE qid = queue_id AND trans = tcnt.
    tcode_index_apqd = tcnt. "Display correct index in header screens
    CLEAR dynpro_index.
    LOOP AT it_apqd.
    IF it_apqd-vardata(1) = 'M'. "it's a message header
    dynpro_index = dynpro_index + 1.
    PERFORM scan_dynpro.
    ENDIF.
    ENDLOOP.
    ENDFORM. "scan_transaction
    FORM: scan_dynpro
    Scan APQD data for a single dynpro screen
    and put it into a BDCDATA table
    FORM scan_dynpro.
    MOVE it_apqd-vardata TO bdcmh.
    TRANSLATE bdcmh TO UPPER CASE.
    get program name and screen number
    CLEAR all_bdc_dynpro.
    all_bdc_dynpro-index = dynpro_index.
    all_bdc_dynpro-program = bdcmh-prog.
    all_bdc_dynpro-dynpro = bdcmh-dynr.
    APPEND all_bdc_dynpro.
    get all the fnam/fval pairs
    MOVE it_apqd-vardata TO sdat.
    SHIFT sdat BY bdcmhlen PLACES.
    wcount = bdcmhlen.
    mfstart = wcount.
    mfart = 'FN'.
    WHILE wcount LE it_apqd-varlen.
    IF sdat(1) = bdcmh-sepc.
    mfende = wcount.
    PERFORM move_tf.
    ENDIF.
    SHIFT sdat.
    wcount = wcount + 1.
    ENDWHILE.
    ENDFORM. "scan_dynpro
    Parse the apqd-vardata field for FNAM/FVAL pairs
    FORM: move_tf
    fills TF-FNAME and TF-FARG
    FORM move_tf.
    mflen = mfende - mfstart.
    CASE mfart.
    WHEN 'FN'.
    CLEAR: tf-fname, udat.
    tf-fstart = mfstart.
    MOVE it_apqd-vardata TO udat.
    SHIFT udat BY mfstart PLACES.
    WRITE udat TO tf-fname+0(mflen).
    TRANSLATE tf-fname TO UPPER CASE.
    mfstart = mfende + 1.
    mfende = 0.
    MOVE 'FA' TO mfart.
    WHEN 'FA'.
    CLEAR: tf-farg, udat.
    tf-fende = mfende.
    MOVE it_apqd-vardata TO udat.
    SHIFT udat BY mfstart PLACES.
    WRITE udat TO tf-farg+0(mflen).
    APPEND tf.
    tf-stat = space.
    mfstart = mfende + 1.
    mfende = 0.
    MOVE 'FN' TO mfart.
    copy to bdcdata table if fname/fval is not empty
    CHECK NOT tf-fname IS INITIAL.
    CHECK NOT TF-FARG IS INITIAL.
    CLEAR all_bdc_dynpro.
    all_bdc_dynpro-index = dynpro_index.
    all_bdc_dynpro-fnam = tf-fname.
    all_bdc_dynpro-fval = tf-farg.
    APPEND all_bdc_dynpro.
    WHEN OTHERS.
    ENDCASE.
    ENDFORM. "move_tf
    Form: get_logfiles_for_qid
    DATA:
    paramname(11) VALUE 'bdc/logfile',
    logname(80),
    logname1(80),
    old_logfile(06) VALUE 'bdclog',
    new_logfile(04) VALUE 'BI* ',
    shiftlen TYPE i VALUE 0,
    protflen TYPE i VALUE 0,
    protfoff TYPE i VALUE 0,
    rlen TYPE i VALUE 0,
    bdcld# TYPE i, one TYPE i, ec TYPE i, return TYPE i,
    protcnt TYPE i.
    DATA:
    BEGIN OF prot_list OCCURS 0.
    INCLUDE rstr0112.
    DATA: seen(1), to_be_deleted(1), has_changed(1), local_host(24),
    END OF prot_list.
    DATA:
    BEGIN OF file.
    INCLUDE rstr0112.
    DATA END OF file.
    DATA:
    BEGIN OF bdclda OCCURS 0.
    INCLUDE STRUCTURE bdcld.
    DATA END OF bdclda .
    DATA:
    digits(10) TYPE c VALUE '0123456789',
    mtext(124) TYPE c, "Messagetext
    mtext1(124) TYPE c, "Messagetext
    mtext2(273) TYPE c, "Messagetext
    do_condense TYPE c,
    mtvaroff TYPE i,
    showtyp(05) TYPE c, "showtyp
    lmapn(12) TYPE c, "Hilfsfeld log-mapn
    date1 TYPE d,
    linct0 LIKE sy-linct,
    parcnt TYPE i,
    sp_len TYPE i,
    charcnt TYPE i,
    wcnt TYPE i,
    mparcnt TYPE i,
    qfound(04) TYPE n,
    x(1) VALUE 'X'.
    DATA: "Aufbereitung Messagetext
    BEGIN OF mt,
    off(02) TYPE n,
    len(02) TYPE n,
    text(80),
    END OF mt.
    DATA: "Aufbereitung Messagetext
    BEGIN OF mttab OCCURS 4,
    off(02) TYPE n,
    len(02) TYPE n,
    text(80),
    END OF mttab.
    DATA: "Hilfsfelder
    BEGIN OF old,
    tcnt LIKE bdclm-tcnt,
    mcnt LIKE bdclm-mcnt,
    END OF old.
    DATA: "ParameterAufbereitung
    BEGIN OF par,
    len(02) TYPE n,
    text(254),
    END OF par.
    Form get_logfiles_for_qid
    find all log files for the session in analysis,
    either in common log or in TemSe
    FORM get_logfiles_for_qid.
    get logs from TemSe
    PERFORM get_logfiles_from_temse.
    now bdcld contains the log files for the given qid
    SORT bdcld BY edate DESCENDING etime DESCENDING.
    DESCRIBE TABLE bdcld LINES selected_protocol.
    ENDFORM. "get_logfiles_for_qid
    Form: log_dir
    FORM log_dir.
    CLEAR bdclda. REFRESH bdclda.
    CALL 'ReadLogDirA' ID 'LOGN' FIELD logname
    ID 'DTAB' FIELD bdclda-sys
    ID 'AINF' FIELD one
    ID 'ECNT' FIELD ec.
    IF sy-subrc NE 0 OR ec = 0.
    EXIT.
    ENDIF.
    LOOP AT bdclda WHERE lmand = sy-mandt AND quid = queue_id.
    MOVE-CORRESPONDING bdclda TO bdcld.
    MOVE logname TO bdcld-logname.
    MOVE prot_list-local_host TO bdcld-local_host.
    APPEND bdcld.
    ENDLOOP.
    ENDFORM. " log_dir.
    Form: list_protocol_files
    Suche nach allen aktiven Protokolldateien -> Tabelle prot_list
    FORM list_protocol_files.
    CLEAR: logname1, prot_list, protcnt.
    REFRESH: prot_list.
    protflen = STRLEN( logname ).
    MOVE logname TO logname1.
    WHILE shiftlen LE protflen.
    IF logname1 CP '#B#I'. "suchen nach muster #B#I
    IF sy-fdpos EQ 0. "nur großbuchstaben
    shiftlen = 2.
    ELSE.
    shiftlen = sy-fdpos.
    ENDIF.
    protfoff = protfoff + shiftlen.
    SHIFT logname1 BY shiftlen PLACES.
    ELSE.
    shiftlen = protflen + 1.
    protfoff = protfoff - 2.
    ENDIF.
    ENDWHILE.
    IF protfoff LE 0.
    protfoff = 0.
    ENDIF.
    rlen = 80 - protfoff.
    WRITE space TO logname+protfoff(rlen).
    WRITE new_logfile TO logname+protfoff(4).
    PERFORM search_prot USING logname.
    ENDFORM. " FILL_PROT_LIST
    FORM : search_prot *
    FORM search_prot USING prot_files.
    DATA: errcnt(2) TYPE p VALUE 0.
    CALL 'C_DIR_READ_START' ID 'FILE' FIELD prot_files
    ID 'ERRNO' FIELD file-errno
    ID 'ERRMSG' FIELD file-errmsg.
    IF sy-subrc <> 0.
    MESSAGE i398(00)
    WITH sy-subrc 'C_DIR_READ_START' ' ' prot_files.
    MESSAGE i398(00)
    WITH sy-subrc 'C_DIR_READ_START...'
    file-errno file-errmsg.
    ENDIF.
    DO. "aufbau der internen tabelle fuer alle
    "BI-Protokolle
    CLEAR file.
    CALL 'C_DIR_READ_NEXT'
    ID 'TYPE' FIELD file-type
    ID 'NAME' FIELD file-name
    ID 'LEN' FIELD file-len
    ID 'OWNER' FIELD file-owner
    ID 'MTIME' FIELD file-mtime
    ID 'MODE' FIELD file-mode
    ID 'ERRNO' FIELD file-errno
    ID 'ERRMSG' FIELD file-errmsg.
    MOVE sy-subrc TO file-subrc.
    CASE sy-subrc.
    WHEN 0.
    CASE file-type(1).
    WHEN 'F'. " normal file.
    MOVE 1 TO file-useable.
    WHEN 'f'. " normal file.
    MOVE 1 TO file-useable.
    WHEN OTHERS. " Directory, device, fifo, socket,...
    MOVE 0 TO file-useable.
    ENDCASE.
    IF file-len = 0.
    MOVE 0 TO file-useable.
    ENDIF.
    WHEN 1.
    EXIT.
    WHEN OTHERS. " SY-SUBRC >= 2
    ADD 1 TO errcnt.
    IF errcnt > 10.
    EXIT.
    ENDIF.
    IF sy-subrc = 5.
    MOVE: '???' TO file-type,
    '???' TO file-owner,
    '???' TO file-mode.
    ELSE.
    ENDIF.
    file-useable = 0.
    ENDCASE.
    MOVE-CORRESPONDING file TO prot_list.
    SHIFT file-name BY protfoff PLACES.
    prot_list-local_host = file-name.
    protcnt = protcnt + 1.
    APPEND prot_list.
    ENDDO.
    CALL 'C_DIR_READ_FINISH'
    ID 'ERRNO' FIELD file-errno
    ID 'ERRMSG' FIELD file-errmsg.
    IF sy-subrc <> 0.
    WRITE: / 'C_DIR_READ_FINISH'(999), 'SUBRC', SY-SUBRC.
    ENDIF.
    ENDFORM. " search_prot
    Form: get_log
    FORM get_log USING log_index.
    DATA: BEGIN OF logtable OCCURS 50, " plain log information in TemSe
    enterdate LIKE btctle-enterdate,
    entertime LIKE btctle-entertime,
    logmessage(400) TYPE c,
    END OF logtable.
    DATA:
    external_date(10),
    internal_date TYPE d.
    LOOP AT bdcld.
    logname = bdcld-logname.
    IF newprot = 'OFF'.
    get logfile contents from common log file
    CALL 'ReadLogPartitionA' ID 'LOGN' FIELD logname
    ID 'ETAB' FIELD bdclm-sys
    ID 'PART' FIELD bdcld
    ID 'ECNT' FIELD ec.
    IF sy-subrc <> 0. MESSAGE s325(00). ENDIF.
    IF ec = 0. MESSAGE s324(00). ENDIF.
    ELSE.
    get logfile contents from TemSe
    PERFORM read_bdc_log_plain
    TABLES logtable
    USING bdcld-temseid bdcld-lmand.
    IF sy-subrc <> 0. " Fehler beim Lesen
    MESSAGE s004(ts).
    EXIT.
    ENDIF.
    CLEAR bdclm[].
    LOOP AT logtable.
    Es wird geprüft, ob von TEMSE das Datum korrekt geliefert wurde
    wenn nicht wird einfach der Satz ignoriert und nicht gelesen
    CALL 'DATE_CONV_INT_TO_EXT'
    ID 'DATINT' FIELD logtable-enterdate
    ID 'DATEXT' FIELD external_date.
    CALL 'DATE_CONV_EXT_TO_INT'
    ID 'DATEXT' FIELD external_date
    ID 'DATINT' FIELD internal_date.
    IF sy-subrc NE 0. " Datum ist nicht gültig
    CONTINUE.
    ENDIF.
    CLEAR bdclm.
    bdclm-indate = logtable-enterdate.
    bdclm-intime = logtable-entertime.
    bdclm+14(352) = logtable-logmessage.
    IF bdclm-mcnt > 0.
    bdclm-mcnt = bdclm-mcnt - 1.
    ENDIF.
    IF bdclm-mid EQ '00'.
    IF ( bdclm-mnr EQ '162' )
    OR ( bdclm-mnr EQ '368' ).
    bdclm-isdetail = 'X'.
    ENDIF.
    ENDIF.
    APPEND bdclm.
    ENDLOOP.
    PERFORM extend_message_texts. " extended texts -> bdclm
    PERFORM download.
    ENDIF.
    ENDLOOP.
    ENDFORM. "get_log
    Form: get_logfiles_from_temse
    FORM get_logfiles_from_temse.
    are there any logs in the TemSe for this QID ?
    CLEAR logtab_temse[].
    CLEAR bdcld[].
    SELECT * FROM apql INTO TABLE logtab_temse
    WHERE qid = apqi-qid.
    CHECK sy-subrc = 0.
    some logs were found: now put this info into table bdcld.
    DATA: wa_log LIKE LINE OF logtab_temse,
    wa_ld LIKE LINE OF bdcld.
    LOOP AT logtab_temse INTO wa_log.
    CLEAR wa_ld.
    wa_ld-temseid = wa_log-temseid.
    wa_ld-lmand = wa_log-mandant.
    wa_ld-edate = wa_log-credate.
    wa_ld-etime = wa_log-cretime.
    wa_ld-luser = wa_log-creator.
    wa_ld-grpn = wa_log-groupid.
    wa_ld-quid = wa_log-qid.
    wa_ld-local_host = wa_log-destsys(8).
    APPEND wa_ld TO bdcld.
    ENDLOOP.
    ENDFORM. "get_logfiles_from_temse
    Form: extend_message_texts
    FORM extend_message_texts.
    LOOP AT bdclm.
    lm = bdclm. save_mpar = bdclm-mpar.
    PERFORM get_text.
    bdclm-longtext = mtext.
    bdclm-mpar = save_mpar.
    MODIFY bdclm.
    ENDLOOP.
    ENDFORM. "extend_message_texts
    FORM : get_text *
    FORM get_text.
    Aufbereiten des Messagetextes
    DATA: shiftln TYPE i,
    vartcnt TYPE i,
    fdpos LIKE sy-fdpos.
    IF bdclm-mparcnt CN digits. "Korrupter Datensatz:
    bdclm-mparcnt = 0. "z.B. Hexnullen
    ENDIF.
    SELECT SINGLE * FROM t100
    WHERE sprsl = sy-langu
    AND arbgb = bdclm-mid
    AND msgnr = bdclm-mnr.
    IF sy-subrc EQ 0.
    CLEAR: mtext,
    parcnt,
    mparcnt,
    charcnt,
    wcnt,
    mt,
    sp_len,
    sy-fdpos.
    MOVE bdclm-mparcnt TO mparcnt.
    IF t100-text CA '$&'. "Kennung fuer parameter:
    MOVE t100-text TO mtext1. " alt '$' --- neu '&'
    ELSE.
    MOVE t100-text TO mtext.
    EXIT.
    ENDIF.
    variable teile aus batch-input protokoll in mttab bringen.
    REFRESH mttab.
    CLEAR shiftln.
    DO mparcnt TIMES.
    CLEAR: par, mttab.
    MOVE bdclm-mpar TO par.
    IF par-len CN digits OR par-len EQ 0. "convert_no_number
    par-len = 1. "entschärfen
    par-text = ' '.
    shiftln = 2.
    ELSE.
    shiftln = par-len + 2.
    ENDIF.
    WRITE par-text TO mttab-text(par-len).
    MOVE par-len TO mttab-len.
    MOVE mparcnt TO mttab-off.
    APPEND mttab.
    SHIFT bdclm-mpar BY shiftln PLACES.
    ENDDO.
    mtext2 = mtext1.
    IF bdclm-mid EQ '00' AND " sonderbehandlung s00368
    bdclm-mnr EQ '368' AND
    bdclm-mart EQ 'S'.
    CLEAR mtext2.
    CLEAR mttab.
    READ TABLE mttab INDEX 1.
    WRITE mttab-text TO mtext2+0(mttab-len).
    CLEAR mttab.
    READ TABLE mttab INDEX 2.
    WRITE mttab-text TO mtext2+35(mttab-len).
    mtext = mtext2.
    EXIT.
    ENDIF.
    do_condense = x.
    CLEAR: mt, vartcnt, mtvaroff.
    WHILE vartcnt LE 3.
    vartcnt = vartcnt + 1.
    IF mtext1 CA '$&'.
    parcnt = parcnt + 1.
    IF sy-fdpos GT 0.
    fdpos = sy-fdpos - 1. " neu sy-fdpos -1
    ELSE.
    fdpos = sy-fdpos.
    ENDIF.
    SHIFT mtext1 BY sy-fdpos PLACES.
    IF mtext1(1) EQ '&'.
    SHIFT mtext1 BY 1 PLACES.
    CASE mtext1(1).
    WHEN ' '. "'& '
    PERFORM replace_var USING '& ' parcnt fdpos.
    WHEN '$'. "'&&'
    PERFORM replace_var USING '&&' 0 fdpos.
    WHEN '1'. "'&1'
    PERFORM replace_var USING '&1' 1 fdpos.
    WHEN '2'. "'&2'
    PERFORM replace_var USING '&2' 2 fdpos.
    WHEN '3'. "'&3'
    PERFORM replace_var USING '&3' 3 fdpos.
    WHEN '4'. "'&4'
    PERFORM replace_var USING '&4' 4 fdpos.
    WHEN OTHERS. "'&'
    PERFORM replace_var USING '&<' parcnt fdpos.
    ENDCASE.
    ENDIF.
    IF mtext1(1) EQ '$'.
    SHIFT mtext1 BY 1 PLACES.
    CASE mtext1(1).
    WHEN ' '. "'$ '
    PERFORM replace_var USING '$ ' parcnt fdpos.
    WHEN '$'. "'$$'
    PERFORM replace_var USING '$$' 0 fdpos.
    WHEN '1'. "'$1'
    PERFORM replace_var USING '$1' 1 fdpos.
    WHEN '2'. "'$2'
    PERFORM replace_var USING '$2' 2 fdpos.
    WHEN '3'. "'$3'
    PERFORM replace_var USING '$3' 3 fdpos.
    WHEN '4'. "'$4'
    PERFORM replace_var USING '$4' 4 fdpos.
    WHEN OTHERS. "'$'
    PERFORM replace_var USING '$<' parcnt fdpos.
    ENDCASE.
    ENDIF.
    ENDIF.
    ENDWHILE.
    IF mtext2 CA '%%_D_%%'.
    REPLACE '%%_D_%%' WITH '$' INTO mtext2.
    ENDIF.
    IF mtext2 CA '%%_A_%%'.
    REPLACE '%%_A_%%' WITH '&' INTO mtext2.
    ENDIF.
    IF do_condense EQ space.
    mtext = mtext2.
    ELSE.
    CONDENSE mtext2 .
    mtext = mtext2.
    ENDIF.
    ELSE.
    mtext = '???????????????????????????????????????????????????'.
    ENDIF.
    ENDFORM. " get_text1
    FORM : replace_var *
    FORM replace_var USING vark vari varpos.
    ersetzen der variablen teile einer fehlermeldung
    DATA: var(02),
    var1,
    moff TYPE i.
    CLEAR: mttab , moff.
    var = vark.
    SHIFT var BY 1 PLACES.
    CASE var.
    WHEN ' '. "'& '
    READ TABLE mttab INDEX vari.
    IF sy-subrc EQ 0.
    moff = varpos + mtvaroff.
    ASSIGN mtext2+moff(*) TO . "neu
    mtvaroff = 7. "neu
    ENDIF.
    ENDIF.
    ENDCASE.
    do_condense = space.
    ENDFORM. "replace_var
    Form: set_new_display
    FORM set_new_display.
    CASE tab_dynpro-activetab.
    WHEN 'TAB_TCODES'.
    F2 in tcodes list: choose new transaction:
    CHECK selected_index > 0.
    READ TABLE bdc_tcodes INDEX selected_index.
    CHECK sy-subrc = 0.
    PERFORM scan_transaction USING bdc_tcodes-index.
    CLEAR: bdc_dynpro_content, bdc_protocol_content.
    tcode_index = selected_index.
    tcode_status = bdc_tcodes-s_text.
    tcode = bdc_tcodes-tcode.
    IF previous_tab IS INITIAL.
    tab_dynpro-activetab = 'TAB_LIST'.
    ELSE.
    tab_dynpro-activetab = previous_tab.
    ENDIF.
    WHEN 'TAB_LIST'.
    F2 in screens list: simulate screen
    CHECK selected_index > 0.
    simulate screen
    PERFORM simulate_dynpro.
    WHEN 'TAB_PROTO'.
    F2 in protocol list: show message long text:
    CHECK selected_index > 0.
    READ TABLE bdc_protocol INDEX selected_index.
    CHECK sy-subrc = 0.
    PERFORM show_ltext.
    ENDCASE.
    ENDFORM. "set_new_display
    FORM : show_ltext
    display long text for a log message
    FORM show_ltext.
    DATA:
    docnt TYPE i.
    DATA:
    BEGIN OF my,
    msgv1 LIKE sy-msgv1,
    msgv2 LIKE sy-msgv2,
    msgv3 LIKE sy-msgv3,
    msgv4 LIKE sy-msgv4,
    END OF my.
    DATA:
    msg_text LIKE shkontext-meldung,
    msg_arbgb LIKE shkontext-meld_id,
    msg_nr LIKE shkontext-meld_nr,
    msg_title LIKE shkontext-titel.

  • Testversion Premiere CS3: Encore kann nicht genutzt werden

    Hallo Zusammen
    Ich habe mir gestern die Testversion von Premiere CS3 heruntergeladen.
    Nach längerem Suchen nach einer Möglichkeit, mein Projekt auf eine DVD zu brennen, welche auf DVD-Playern wiedergegeben werden kann, habe ich google kontaktiert.
    Da bin ich auf einen Eintrag gestossen, in welchem Stand, dass unter Datei > Exportieren > Exportieren zu Encore problemlos eine DVD erstellt werden kann.
    Als ich dies versucht habe, war mir dieses Menü leider grau markiert, und somit nicht anzuwählen.
    Was mache ich falsch? Kann es sein, dass die Testversion nicht vollumfänglich genutzt werden kann?
    Herzlichen Dank für euer rasches Feedback.
    Liebe Grüsse aus der Schweiz.
    Reto

    Genau, du hast es erkannt. Du kannst alles ausprobieren aber nix brennen.

  • Kleine Fragen zu 5.0.2

    Hallo,
    bin recht begeistert, aber ein paar kleine Fragen sind schon noch:
    a. Kann es auch identische Bilder finden? Habe leider ein paar tausend doppelt :-(
    b. Kann ich nur direkt bei Kodak Bilder bestellen? (Ist ja leider nicht der günstigste :-( )
    c. Ein Bild unter "Organisieren" sieht echt gut aus, aber dann unter "Editor" sieht das Bild ganz anders aus, ohne das ich etwas geändert habe - woran kann dies liegen? Danke.
    d. Habe eine CASIO EX-S880 - automatischer Datenimport in das Prog. klappt super, aber die Cam lässt sich dann nicht mehr ausschalten. Beendet ich den Service von Photoshop, kann ich die Cam auch wieder ausschalten (Dockingsstaion). Woran kann dies liegen?
    e. Ach ja, lassen sich meine FTP-Daten irgendwie speichern? Muss die beim Webalbum immer wieder neu eingeben (beim jeweils neuen Album).
    Das war es erstmal, vielen Dank im Voraus.

    Hallo columbo1979,
    zu a. Im Organizer Menü Suchen --> Nach visueller Ähnlichkeit suchen kannst du nach identischen Bilder suchen lassen, aber immer nur mit einer Datei. Googel nach Dupfinder.
    b. Ja, wenn du im Programm bleibst. Ansonsten hast du freie Wahl.
    c. Wie anders ?
    d. Ist ein Sicherheitsmechanismus, der verhindern soll, dass die Kamera ausgeschaltet wird, während Daten geschrieben werden (können).
    Grüße
    Matthias
    Tipps und Tricks zu Photoshop Elements hier -->
    www.wertvolleswissen.de

  • Immer wieder Cach Probleme in Bridge

    Hallo,
    ich habe immer wieder Cach Problem, obwohl ich den Cach mittlerweile in das Verzeichnis exportiere. Habe gestern gerade den Cach geleert und für 1800 Bilder neu eingelesen. Heute nun wieder das selbe: Das Suchen nach Bilder mit einer bestimmten Bewertung war nach einiger Zeit nicht mehr möglich.
    Langsam frage ich mich, ob Bridge überhaupt das richtige Tool dafür ist, denn diese andauernden Cach Probleme in Bridge haben mich schon Tage an Zusatzarbeit gekostet.
    Für Hinweise wäre ich sehr dankbar.
    Gruß
    Claus Tropitzsch

    Zuerst hatte ich das hier bereits beschriebe Problem mit dem immer wieder erneuten Drehen von Hochformat Fotos. Eines war dabei, welches schließlich sogar spiegelverkehrt war. Ich habe deshalb mittlerweile diese Bilder aus Digitalkameras als schreibgeschützt, was das Arbeiten sehr erschwert.
    Neuerdings ist jetzt scheinbar der neu erstellte Cach so defekt, dass die Suchfuntkion nicht mehr geht und es kommen auch Meldungen, dass die Datenbank defekt sei. Ich wußte nicht, dass da eine DB dehinter steht. Da hilft dann nur Zentraler Cach bereinigen. Dabei gehen dann aber auch bei JPGs ein Teil der Bewertungen verloren (hauptsächlich die mit 2 und 3 Sternen).

  • Externe Festplatte wird nicht richtig erkannt

    Ich habe mir vor kurzen eine externe Festplatte, Marke: My Passport 3.0 von Western Digital zugelegt. Als ich heute probiert habe das Gerät anzuschließen, hat die Softwareinstallation leider nicht automatisch gestartet.
    Prinzipiell erkennt mein Mac die Externe Festplatte und zeigt sie auch im Finder bzw im Festplattendienstprogramm an. Als ich die Festplatte an ein anderes Mac Gerät angeschlossen habe, wurde mir die Festplatte sofort angezeigt und das Softwareprogramm hat automatisch begonnen.
    Also scheint an meinem Mac irgendetwas nicht richtig zu funktionieren. Vielleicht kann mir jdn. weiterhelfen. Danke im Voraus

    Es hat mit der Software von WD zu tun, nicht mit Ihrem Mac. Wenn Sie hier auf dem Forum suchen nach WD Software (oder ähnliches), werden Sie eine Menge Posts finden die damit zu tun haben. Ausserdem würde ich vorschlagen dass Sie die WD website besuchen und dort nachschaut/nachfragt.
    Ich hab zwar keine WD, aber als erstes würde ich die software löschen - sie ist nichts wert und ist überhaupt nicht notwendig.

  • Premiere Pro CC Timelapse und Bildsequenzen werden nicht flüssig dargestellt.

    Hallo, ich habe ein Problem mit Premiere Pro CC. Wenn ich aus einem mehrere Minuten langen Clip ein Speedup von beispielsweise 3000% erstelle oder eine Bildsequenz als timelapse in meiner Sequenz habe, wird diese nicht flüssig abgespielt. Teilweise hängt sich PP sogar beim ersten Frame auf und stoppt komplett. Ich habe ein Acer Aspire V3-771G-736b321.26TBDWa Notebook, mit dem alles andere eigentlich einwandfrei läuft. Gibt es eine Möglichkeit, die Clips zu rendern (obwohl sie gelb markiert sind, also nicht gerendert werden müssen)? Vielen Dank schon mal für die Hilfe.
    Einzelheiten Notebook:
    Prozessor-ModellCore™ i7
    Prozessor-Bezeichnung3630QM
    Taktfrequenz in GHz2.4
    Taktfrequenz mit Turboboost in GHz3.4
    Cache in MB6
    Chipsatz-TypIntel® HM77
    Arbeitspeicher (RAM) in MB32768
    verbaut4 von 4 Modulen
    Hersteller GrafikchipsatzNvidia®
    GrafikchipsatzGeForce GT 650M
    Festplatten-Speicherkapazität in GB256 / 1000
    BesonderheitSSD
    Kapazität pro Festplatte in GB256 / 1000
    Version BetriebssystemWindows 8 64-Bit

    Also erstmal vielen Dank für deine schnelle Hilfe. Dass man die Timeline vom Menü aus rendern kann war mir vollkommen entgangen. Allerdings konnte ich mir mittlerweile selbst helfen, indem ich den Clip durch eine After Effects Komposition ersetzt habe. Nun habe ich aber noch eine Frage. Sobald ich PP neu starte, sind viele meiner Vorschau Dateien wieder weg und ich muss alles neu rendern. Ich habe die Vorschaudateien auf der gleichen (externen) Festplatte wie das Rohmaterial. (Vielleicht liegt es daran?)
    Eine zweite Frage hätte ich auch noch und zwar kann man anscheinend seit der CC Version im Materialbin die Clips nicht mehr nach Erstellungsdatum ordnen. (In früheren Versionen war das noch möglich und nach anderen Kriterien kann man auch immer noch ordnen, nur nach Datum nicht). Da ich mit 2 Kameras gedreht habe und mehrere Stunden Material habe, kann ich das Material nicht manuell ordnen. Hast du da zufällig nen Tip?
    Danke!

  • Gutes und Verbesserungswürdiges

    Tach auch ...
    Klasse finde ich die Übersichtlichkeit
    z.B. genau an der Stelle, an der ich mich gerade befinde, sprich beim Beschreiben und auch beim Lesen eines Themas (vielleicht noch eine zarte Farbgestaltung kontrastmäßig zwischen Frage bzw. Anliegen und Antworten!).
    Für's Auge zu anstrengend und gestalterisch wenig ansprechend finde ich die Auflistung der Beiträge; man muß z.B zu sehr suchen nach der Anzahl der Beiträge zu einem Thema, wenn man einfach mal interessante Sachen durchblättern will und eben auch Antwortbeiträge lesen möchte.
    Sonst erstmal: Daumen hoch, für das wenige, was ich bisher durchstöbert habe.
    Merci
    Matthias

    Hallöchen,
    diese Foren sind ja interressant aber ich ärgere mich schon sehr über die Problembehandlung im Hause Adobe. PDF-Erstellung unter Windows 2000 ist unmöglich, wenn es sich um Kyrillisch, Polnisch, Tschechisch, will sagen, um Schriften mit Sonderzeichen handelt. Das ändert auch nichts, ob man nun TrueType Schriften hat oder nicht, in der PDF (aus PageMaker + InterLeaf) erscheinen Kästchen statt der Sonderzeichen. Ich habe es im Forum versucht, leider hat offensichtlich sonst niemand dieses Problem. Lobenswerterweise wurde jeder Teilnehmer an der Adobe Tour im letzten Jahr angerufen. Ich habe auch da mein Problem geschildert und mir wurde versprochen, dass sich Anfang Januar jemand bei mir meldet und mir hilft. Ich hatte gehofft, dass es sich um Januar 2002 handelt, aber - ähnlich wie die Hotline bei Adobe - gehört habe ich natürlich mal wieder nichts. Also gehe ich davon aus, dass Adobe auch keine Problemlösung kennt und da ist Ignoranz einfacher, als zugeben zu müssen, dass man es auch nicht kann. Schade. Aber, vielleicht meldet sich im Januar 2003 doch noch jemand aus der Hotline, bis dahin haben die Spezialisten doch noch etwas Zeit, um es herauszufinden.
    Schönen Tach noch
    Brigitte Leven
    -eine von den vielen desillusionierten Hotline-Nutzerinnen-

  • Ereignisse sortieren

    Seit iOS 8.0 bis 8.1 werden Ereignisse weder chronologisch noch alphabetisch sortiert. Es wird nirgends seitens Apple darauf eingagngen was das soll oder welchen Vorteil man sich davon verspricht. Vermutlich hat an der Stelle ein Entwickler einfach nur gepennt, aber mit 8.1 ist es auch nicht behoben worden.
    Das Suchen nach einem Namen eines Ereignisses funktioniert auch nicht. Überhaupt kann man nur nach Orten Suchen, was bei 10.000 Bildern in meiner Heimatstadt natürlich nicht zu meinem gesuchten Bild führt!
    Große Enttäuschung Apple.

    Besten Dank Mylenium
    Nach Abklärungen mit HP kann im Druckertreiber die Sortierfunktion nicht ausgeschaltet werden. Ausser sie programmieren einen neuen Treiber speziell für dieses Problem.
    Kann auf Seite Acro etwas eingestellt / angepasst werden, damit Kästen "Sortieren" standartmässig ausgeschaltet ist?

  • Bei iphoto werden keine schlüsselbilder mehr angezeigt, die Rahmen sind schwarz.

    iphoto zeigt mir an der Korktafel nur noch schwarze Rahmen an. Ich kann auch kein neues Schlüsselfoto anlegen. Die Ordner sindmit den passenden (Gesichter) Bildern gefüllt. Beim Suchen nach neuen passenden Bildern, werden ebenfalls schwarzue Rahmen angezeigt. Was kann ich tun?

    Haben Sie schon versucht, die iPhoto Mediathek zu reparieren?
    Wenn nicht, dann versuchen Sie mal, beim Starten von iPhoto gleichzeitig die beiden Tasten ⌥⌘  (Auswahltaste, Befehlstaste) fest herunterzuhalten.
    Das zeigt den Erste Hilfe Dialog.
    Versuche nacheinander alle vier Optionen - eventuell müssen die Miniaturen neu angelegt werden, oder die Datenbank und Zugriffsrechte repaiert werden.
    Die vierte Option würde ich erst versuchen, nachdem eine aktuell Sicherheitskopie angelegt wurde.
    Falls das noch nicht ausreicht, melden sie sich bitte zurück und erklären ausführlicher, was zuvor passiert ist; ob ein Softwareupdate stattgefunden hat, iPhoto abgestürzt ist, oder was sinst noch wissenswert sein könnte.
    -- Léonie

Maybe you are looking for

  • I purchased two songs and can't play them

    I purchased two songs on iTunes from the same album but when I try to play them, I get an error message that says, "This computer is already associated with an Apple ID. You can download past purchases on this computer with just one Apple ID every 90

  • OS X 10.9.4 Only finder open slow

    iMac 13.1 HD half empty put HD to sleep whenever possible Unchecked.  New com.apple.finder.plist file. Disk permissions OK. Click on finder icon in dock takes 23 seconds for window to appear get spinning colored circle.  If I floe and reopen it is in

  • Itunes 10.7 crashes on startup

    Problem signature: Problem Event Name: APPCRASH Application Name: iTunes.exe Application Version: 10.7.0.21 Application Timestamp: 504d85d9 Fault Module Name: KERNELBASE.dll Fault Module Version: 6.1.7601.17651 Fault Module Timestamp: 4e211319 Except

  • How do i copy a photo from iPhoto to a memory stick

    Can someone help me with this qwestion?

  • Passport messages stay pending

    I have a constant problem with my Passport that my messages, Bbm, whatsapp etc stay pending and does not go through. I have to swith the network to something else, 3g or 4g, or wifi, to get the message out. It stays pending until there is a switch in