Cela peut être fait! Télécharger cette source: http://www.code400.com/ffd.php
Vous pouvez commenter la section GETKEY de FFDRPG car vous n'en aurez pas besoin et il est probable qu'il tombera de toute façon. De plus, souvenez-vous lorsque vous utilisez la commande, pour mettre le nom du format d'enregistrement ainsi que le nom de votre fichier d'affichage - ne laissez pas simplement * FIRST là-dedans ou vous obtiendrez simplement les champs du premier format d'enregistrement dans le fichier d'affichage.
EDIT: Vous aurez besoin d'ajouter un champ supplémentaire à la structure des données LISTDS:
D ListDs DS
D SfFld 1 10
D SfType 11 11
D SfUse 12 12
D BufferOut 13 16B 0
D FieldLen 21 24B 0
D Digits 25 28B 0
D Decimals 29 32B 0
D FieldDesc 33 82
Si vous ajoutez le 3ème champ SfUse
, vous pouvez vérifier si elle contient « I » de sorte que vous ne compter que les champs à capacité d'entrée.
Consultez l'API QUSLFLD https://www.ibm.com/support/knowledgecenter/en/ssw_i5_54/apis/quslfld.htm si vous voulez voir exactement quelles informations peuvent être récupérées par cette API. L'exemple dans le téléchargement utilise le format le plus basique FLDL0100 mais plus d'informations peuvent être récupérées si vous demandez le format FLDL0200 ou FLDL0300 mais elles prendront plus de temps à s'exécuter et vous ne devriez pas avoir besoin des informations supplémentaires pour réaliser ce que vous ' re après.
Merci pour la relecture, j'écris des macros pour mon travail. J'ai besoin d'obtenir le nombre de champs d'entrée, j'utilise IF, sinon dans ma macro. Ce champ est différent sur chaque page d'inventaire. Par exemple si les entrées sont 5, je veux [TAB] 5 fois. –