[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2002
    Beiträge
    331

    Insert Into mit Externer DS?

    Moin moin,

    ich schreibe gerade an einem Service in dem ich einen Eingangsparameter als Externe DS definiert habe.

    PHP-Code:
    D In_OB_ORA     E DS           512    ExtName(OB_ORA)  
    D                                     Prefix(In_OB_)   
    D  In_OB_Method                  1                     
    D  In_OB_ReiDat                   D 
    Nun will ich einen Datensatz weg schreiben und möchte eigentlich ungern alle Felder angeben.....also versuchte ich folgendes:
    PHP-Code:
    /free                                            
           In_OB_CrtDat 
    = %TimeStamp();              
           
    In_OB_CrtUsr User;                      
           
    in_OB_CrtPGM 'P_SQLWrite';              
     
    exec sql                                        
      INSERT INTO OB_ORA                             
      VALUES    
    :In_OB_ORA;                          
                                                     
                       If 
    SqlCod = *Zero;            
                         
    Positiv TRUE;             
                       Endif;                        
                                                     
                       RETURN    
    Positiv
    Bekomme allerdings beim Umwandeln eine verbraten.....
    PHP-Code:
      398           VALUES    :In_OB_ORA;                                                      037700   15.09.09                     
    5761ST1 V6R1M0 080215          SQL
    -ILE-RPG-Objekt erstellen        SRV_OB_ORA                  15.09.09 10:55:57         Seite   
                                                 DIAGNOSENACHRICHTEN                                                                 
    MSG ID  WTK  SATZ  TEXT                                                                                                          
    SQL0117  30     397  Anweisung enthält falsche Anzahl an Werten
    .                                                                 
                        
    Nachrichtenzusammenfassung 
    Ist das überhaupt so möglich, oder muss ich alle Felder abtippen

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    INSERT INTO OB_ORA
    VALUES (
    :In_OB_ORA );


    Versuchs mal so
    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 2002
    Beiträge
    331
    Bekomme immer noch denselben Fehler

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Jetzt hängts ggf. vom Release ab, ob der Precompiler mit PREFIX zurecht kommt.
    Versuchs mal ohne.

    Alternativ kann man auch die Multiple-Rows-Syntax anwenden:

    insert into myfile
    1 rows values(: Structur)

    Ggf. muss die Struktur noch als OCCURS definiert 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

  5. #5
    Registriert seit
    Jul 2002
    Beiträge
    331
    Habs mit einer Kombination aus den Tips hinbekommen

    Hab jetzt einfach
    PHP-Code:
    D Write_ORA     E DS           512    ExtName(OB_ORA)            
    D Positiv         S               N   Inz(FALSE
    innerhalb der SubProcedure definiert und fülle mir dann das Ding und kann es dann direkt so weg schreiben.....
    Top: Danke an euch

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @Birgitta
    Das habe ich doch glatt übersehen
    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
    Aug 2001
    Beiträge
    2.928
    Deine Datenstruktur hat neben den Dateifeldern noch 2 weitere Felder, nämlich IN_OB_Method und IN_OB_ReiDat (Ich vermute da fehlt das S für Stand Alone Field). Damit stimmt die Anzahl der Felder nicht überein!

    Birgitta
    Birgitta Hauser

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

Similar Threads

  1. SQL Insert in schleife
    By Robi in forum IBM i Hauptforum
    Antworten: 20
    Letzter Beitrag: 16-03-09, 10:32
  2. DS Übergabe
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 24-10-06, 08:44
  3. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  4. Antworten: 2
    Letzter Beitrag: 24-02-05, 18:18
  5. geht dieser SQL-Befehl auch einfacher?
    By rebe in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 13-02-02, 13:13

Berechtigungen

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