[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    122

    Feld-Scan mit n-Variablen

    Hallo,

    folgendes "Problemchen":
    Unsere Artikel-Nr. sind 15A; beim Verarbeiten sollen bestimmte Artikel-Strukturen ausgeschlossen werden, wobei die Position sowie die Anzahl der variablen Felder immer wieder unterschiedlich sein können. Bisher habe ich das fest im Programm verankernt:
    z.B.
    if %substr(teilenr:1:5) = '30081' and
    %substr(teilenr:7:1) = 'S'

    Das ganze will/muss ich nun schnellstens über eine Datei lösen, in dem ich hier einfach die jeweilige Artikel-"Maske" eintragen will; z.B. '30081*S*' oder '30081_S_37%'. Das ganze soll in RGPLE funktionieren, nur irgendwie fehlt mit der nötige Kick. Meine ersten Ansätze waren der %SCAN, habe ich aber wieder verworfen. Am liebsten wäre mir ein Befehl, wo ich einfach die beiden Felder mittels einer "Maskenselektion" miteinander vergleichen könnte.
    if feld-a = %maske(feld-b)... oder so ähnlich
    if '300812S137905 = '30081*S*37%' oder
    if '300812S137905 = '30081_S_37_____' oder...

    Ich hoffe das verstanden wurde, wonach ich auf der Suche bin.


    Mit kollegialem Gruße an alle RPG-Programmierer..

    Peter

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Verwende doch einfach den SQL Like (vorausgesetzt, die Platzhalter sind wie in SQL gesetzt, d.h. % beliebig viele Zeichen und _ genau 1 Zeichen:

    Code:
     /Exec SQL
       Set :isFound = Case When :MyArtNr Like Trim(:MyCompare) Then '1'
                           Else '0' End;
       
       If IsFound;   
         //Erfüllt - Mach was Du willst
       EndIf;
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Nov 2004
    Beiträge
    122
    Hallo Birigitta,

    besten Dank für die schnelle Rückantwort. Das war genau das, wonach ich gesucht habe. Ich arbeite schon lange mit SQL, mit SQLRPGLE-Programmen allerdings weniger, aber auch schon so diverse Erfahrung gesammelt, aber was mir föllig neu war, dass man diese Art von Abfragen, ohne auf einen SELECT, UPDATE oder der gleichen Bezug zu nehmen, einfach im Programm anwenden kann.

    1000x Danke, sagt der Franke
    Peter

  4. #4
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    klasse Sache, Birgitta!

    wenn ich überlege, dass ich das mal aufwendig als /copy in RPG programmiert hatte...

    Allein für solche Tips lohnt sich dieses Forum 100 fach!

    Christian

Similar Threads

  1. Subfile - Feld anzeigen
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 01-09-10, 15:21
  2. per SQL Feld ändern...
    By svente in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 23-01-07, 09:49
  3. Nur einzelnes Feld vor write ändern
    By RaMai in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 28-11-06, 07:59
  4. sql num. Feld formatieren
    By rr2001 in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 11-07-06, 14:10
  5. ILE Feld in Feld ansprechen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 10-05-06, 16:26

Berechtigungen

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