[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Apr 2008
    Beiträge
    72

    cpyf - bin verwirrt.

    Sagt mal steh ich grad völlig auf dem Schlauch?
    Wenn ich einen cpyf in der Art mache:

    CPYF FROMFILE(Datei1) TOFILE(Datei2) INCREL((*IF FeldX *EQ AAA))

    ...dann werden alle Sätze selektiert, bei denen das FeldX mit AAA beginnt.
    Also nicht nur AAA sondern auch AAABBB, AAAAAA, AAAXX.

    Is dat denn normal?!?
    Ede

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das würde mich auch verwirren, schließlich hat das bisher immer geklappt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jul 2004
    Beiträge
    64
    Hallo Ede,

    unter V6R1 macht meine Maschine das genauso.

    Ich habe dann mal aus Spaß eine 12 Jahe alte 200 mit V3R2 hochgefahren und die benimmt sich beim Kopieren exakt identisch.

    Das war also bei Alpha-Feldern wohl schon immer so ? ;-)

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Dann hatte ich wohl deshalb das Problem nicht, weil ich
    a) meistens SQL (Insert/Select) verwende
    b) Den Vergleichswert komplett incl. Leerzeichen verwendet habe (meisten als Variable im CLP)
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    works as expected, zumindest wenn man der Bedienerhilfe (F1) trauen soll...

    D*B

    Zitat Zitat von Edefauler Beitrag anzeigen
    Sagt mal steh ich grad völlig auf dem Schlauch?
    Wenn ich einen cpyf in der Art mache:

    CPYF FROMFILE(Datei1) TOFILE(Datei2) INCREL((*IF FeldX *EQ AAA))

    ...dann werden alle Sätze selektiert, bei denen das FeldX mit AAA beginnt.
    Also nicht nur AAA sondern auch AAABBB, AAAAAA, AAAXX.

    Is dat denn normal?!?
    Ede
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nunja, ich kann in der Hilfe nicht erkennen, dass das Feld nur in der eingegebenen Länge verglichen wird.
    Allerdings steht auch nicht das Gegenteil drin (da hatte ich vorher schon mal nachgesehen).
    Ist wohl Interpretationssache ?!
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Apr 2008
    Beiträge
    72
    ...ich hab da jetzt mal nen Servicerequest eröffnet... mal kucken was die IBMler sagen.

    Ede

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Laut fmu wirds wohl nichts helfen, der "Fehler" war schon immer da.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... ich sehe da keinen Interpretationsspielraum:"Bei jedem Operator außer *CT wird der Vergleich über die Länge des angegebenen Zeichenfolgenwerts durchgeführt (bis maximal 256 Zeichen)"

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Nunja, ich kann in der Hilfe nicht erkennen, dass das Feld nur in der eingegebenen Länge verglichen wird.
    Allerdings steht auch nicht das Gegenteil drin (da hatte ich vorher schon mal nachgesehen).
    Ist wohl Interpretationssache ?!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Apr 2008
    Beiträge
    72
    ...ja helfen wirds nicht viel- aber einen workaround (es gibt ne Technote zu dem Problem- aber der beschriebene Weg funktioniert bei mir irgendwie auch nicht) werden sie mir wohl aufzeigen können.

  11. #11
    Registriert seit
    Apr 2008
    Beiträge
    72
    @Dieter: ...ich übergebe auch nicht wirklich AAA... ich habe eine Variable &var (*char 10) mit dem Inhalt 'AAA '.
    Also 3xA und 7x Blank.
    Sorry- da hatte ich mich ein bisschen ungenau ausgedrückt.

  12. #12
    Registriert seit
    Apr 2008
    Beiträge
    72
    IBM hat nen Workaround für mich:

    PGM
    DCL VAR(&VAR) TYPE(*CHAR) LEN(10) +
    VALUE('AAA')
    DCL VAR(&CMD) TYPE(*CHAR) LEN(200)

    CHGVAR VAR(&CMD) VALUE('CPYF FROMFILE(TESTBIB/ELW) +
    TOFILE(QTEMP/ELW) MBROPT(*ADD) +
    CRTFILE(*YES) INCREL((*IF UPUPRF *EQ ''' +
    *CAT &VAR *CAT '''))')
    CALL PGM(QCMDEXC) PARM(&CMD 200)

    ENDPGM

Similar Threads

  1. Cpyf und alternativer Tabellenname
    By Joe in forum IBM i Hauptforum
    Antworten: 15
    Letzter Beitrag: 04-09-06, 10:42
  2. CPYF Fehler handling
    By RLPforum in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 05-07-06, 14:04
  3. 30000 CPYF am Tag!?
    By V_P in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 14-09-05, 11:04
  4. CPYF
    By ASMaus in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-02-05, 13:15
  5. Bin interessiert an gebrauchten...
    By tomski in forum NEWSboard Server & Hardware Markt
    Antworten: 2
    Letzter Beitrag: 16-01-01, 11:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •