[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2005
    Beiträge
    55

    Problem Overlay bei Datenstruktur

    Hallo Forum

    ich habe ein DS array
    PHP-Code:
    d txt_array       ds                  dim(99)                   
    d                                     likeds(txt_array_ds)      
    d                                                               
    d txt_array_ds    ds                  qualified                 
    d  txtnr                         3s 0 inz
    (0)                    
    d  txt                          40a 
    funktioniert auch soweit ganz gut nur das ewige zuweisein ist eben
    mühselig.
    deswegen suche ich eine möglichkeit andere variablen über
    das array zu legen. habe schon alles mögliche getestet
    mit overlay, zwischenfeld.... leider alles ohne erfolg.
    PHP-Code:
    d aaa             ds                  dim(99)                        
    d                                     likeds(txt_array_ds)           
    d gs_lfdnr1                      3s 0 overlay(aaa:1)                 
    D gs_txt1                       35a   overlay(aaa:4
    war einer meiner versuche geht aber nicht

    bitte um einen tipp was ich machen kann

    mfg stefan

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Ich weiß nicht was du da erreichen willst.
    Definiere doch einfach neben "qualified" auch "dim".
    Du kannst dann "txt" per overlay unterdefinieren.
    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
    Aug 2001
    Beiträge
    2.877
    Hallo,

    hast Du's schon mal so versucht?

    PHP-Code:
    D                 DS                                                 
    D Text_Array                          Dim
    (99)                        
    D   TxtNr                        3S 0 Overlay(Text_Arrayinz(*Zeros)
    D   Txt                         40A   Overlay(Text_Array: *Next)   
     *--------------------------------------------------------
     /
    Free
        TxtNr
    (1) = 1;
        
    Txt(1) = 'ABC';
        
    Dsply Text_Array(1);
     /
    End-Free 
    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

  4. #4
    Registriert seit
    May 2005
    Beiträge
    55
    nicht ganz das was ich brauche.
    habe mich warscheinlich nicht richtig ausgedrückt.
    PHP-Code:
    d txt_array       ds                  dim(99)                           
    d                                     likeds(txt_array_ds)              
    d                                                                       
    d txt_array_ds    ds                  qualified                         
    d  txtnr                         3s 0 inz
    (0)                            
    d  txt                          40a                                     
     
    /free
         
    // also ich habe mir eine procedur gemacht die mir mehrere 
         // texte aus einer datei in einem array liefert
         
    txt_array txt_laden('verwendung':'vonzeile':'anzzeilen');
           
         
    // das was irgedwie unterbinden ist ist dann das zuweisen
         
    txtnr1 txt_array(1).txtnr1;
         
    txt1 txt_array(1).txt1
         
    txtnr2 txt_array(2).txtnr1;
         
    txt2 txt_array(2).txt1
         
    txtnr3 txt_array(3).txtnr1;
         
    txt3 txt_array(3).txt1
         
    // usw jenachdem wieviele texte ich zurückgebe.
         // werden die felder jetzt verändert muss ich sie auch 
         // wieder speichern. alles in umgekehrter reihenfolge
         
    txt_array(1).txtnr1 txtnr1;
         
    txt_array(1).txt1 txt1;       
         
    // .........
     
         // die felder direkt zuwiesen geht nicht da in der datei 
         // belibig ´viele texte sein können
         // sieht etwa so aus (verwendung,txtnr,txt)
     
    /end-free 
    ich hoffe diesesmal habe ich mich richtig ausgedrückt und es giebt
    eine lösung für das problem

    mfg stefan

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    DAS verstehe ich nun gar nicht da du doch Zugriff per Index hast.
    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

  6. #6
    Registriert seit
    May 2005
    Beiträge
    55
    ich habe in einem dspf mehrere textzeilen die von dieser datei befüllt
    werden. mit der bild auf-ab taste kann der user blättern.
    einen subfile konnte ich nicht verwenden da ich 2 voneinander
    unabhängige bereiche nebeneinander habe (je 35zeichen lang)
    die gleichzeitig aktiv sein müssen.
    da sich der index immer ändert wenn der user blättert muss ich
    immer neu zuweisen.
    wäre einfach praktisch wenn das automatisch geht.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Dann führt kein Weg an deiner Methode vorbei, da du ja n Felder im DSPF hast die auch je nach Seite unterschiedlich befüllt werden.

    Mit einer Window-Subfile und Overlay müssten auch 2 Subfiles nebeneinander aktivierbar sein.
    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

  8. #8
    Registriert seit
    Jan 2003
    Beiträge
    118
    Hallo Stefan,

    wenn du die Felder deiner DSPF in ein Array mappen willst, versuch doch mal folgendes:

    D DS
    D DSPFTEXT 240
    D DSPFTEXT01 OVERLAY(DSPFTEXT:1)
    D DSPFTEXT02 OVERLAY(DSPFTEXT:41)
    D DSPFTEXT03 OVERLAY(DSPFTEXT:81)
    D DSPFTEXT04 OVERLAY(DSPFTEXT:121)
    D DSPFTEXT05 OVERLAY(DSPFTEXT:161)
    D DSPFTEXT06 OVERLAY(DSPFTEXT:201)
    D DSPFTEXTFG 40 OVERLAY(DSPFTEXT) DIM(6)


    DSPFTEXT01-DSPFTEXT06 sind die Feldnamen in der DSPF; DSPFTEXTFG ist dann die Feldgruppe/Array, mit der du im Programm arbeiten kannst.

    Jetzt kannst du auf jeden Fall die Zuweisungen in einer Schleife mit zwei verschiedenen Indexen vornehmen. Habe ich schon des öfteren verwendet, um z.B. 12 Monatswerte innerhalb einer Schleife in eine DSPF zu füllen.

    Viel Erfolg

    Jo

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. Merkwürdiges Problem in VRPG
    By Flappes in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 06-10-06, 08:39
  3. Problem mit AFP Overlay
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 30-09-05, 13:55
  4. Problem mit einem Overlay
    By JonnyRico in forum IBM i Hauptforum
    Antworten: 19
    Letzter Beitrag: 07-09-05, 15:41
  5. Problem mit Datenstruktur
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 21-06-05, 12:33

Berechtigungen

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