2017-01-26 3 views
1

Je me demande s'il est possible de faire un SQL contre une structure de données, au lieu d'un fichier.AS400 RPGLE/SQL embarqué libre contre la structure de données

Par exemple, j'ai une structure de données externe avec 100 champs, disons que la convention de dénomination est field1, field2, etc ..... Le nom de la structure de données est DS1. La structure DS1 est transmise au programme avec les 100 champs contenant des valeurs. Je me demande s'il est possible de faire quelque chose comme ceci:

/free 
    exec sql     
    update DS1 set field1 = field2; 
/end-free 

Je ne sais pas s'il est possible d'interroger une structure de données au lieu d'aller sur le disque dans un fichier réel, mais si elle est ce serait faire les choses un peu plus rapide et plus simple.

Merci!

Répondre

1

Réponse simple, non.

La chose la plus proche de ce que vous demandez est avec l'instruction VALUES INTO.

d myDS   ds     qualified 
d fld1       10a 
d fld2       10a 


    /free 
    myDS.fld1 = 'HELLO'; 
    exec sql 
     values (:myDS.fld1) into :myds.fld2; 

    dsply myDS.fld2; 
    *INLR = *ON; 
    return; 
    /end-free  

Pourquoi vous voudriez faire est au-delà de moi est suffisante un myDS.fld2 = myDS.fld1; simple. Je suppose que cela a à voir avec votre autre question: AS400 RPGLE/free dynamic variables in operations

+0

Vous avez raison. Cela avait à voir avec cette autre question. J'aime rendre les choses plus automatiques. Nous avons beaucoup de données en temps réel à travers différents travaux par lots qui remplissent différentes fonctions. Souvent, nous devons écrire un programme lorsqu'un client souhaite un ensemble de champs différent. Donc, vous finissez avec 1 programme que sa seule fonction est de définir un champ à "A" au lieu de "B" lorsque field10 est réglé sur "ABC" ou quoi que ce soit. J'essaie de créer un programme qui lit un fichier de script défini par l'utilisateur et définit le champ en fonction de cela au lieu d'avoir plusieurs programmes effectuant une seule chose. – user1420914