AWS Le service de modernisation du mainframe (expérience de l'environnement d'exécution géré) n'est plus ouvert aux nouveaux clients. Pour des fonctionnalités similaires au service de modernisation AWS du mainframe (expérience de l'environnement d'exécution géré), explorez le service de modernisation AWS du mainframe (expérience autogérée). Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez la section Modification de la disponibilité de la modernisation du AWS mainframe.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilitaires de jeux de
BLUESAMCOPY/BLUESAMCREATE/BLUESAMDELETE/BLUESAMCLEAR
Ces programmes utilitaires fournissent des fonctions essentielles de manipulation de jeux de données sur les ensembles de données Blusam.
L'bypassBluesamStatusindicateur (stocké dans JobContext) détermine s'il convient de contourner la validation normale de l'état du jeu de données qui empêche les conflits d'accès simultanés entre les processus en ligne et par lots.
Quand bypassBluesamStatus est-ce vrai :
Ignore les vérifications d'état normales des ensembles de données pendant les opérations
Autorise l'accès à des ensembles de données qui pourraient normalement être bloqués
COPIE BLUESAM
Le programme BLUESAMCOPY copie la structure des données et des métadonnées d'un ensemble de données Bluesam à un autre.
Parameters
Le programme BLUESAMCOPY utilise deux paramètres :
FROM=<source dataset name>- Ensemble de données source à partir duquel copierTO=<target dataset name>- Ensemble de données cible vers lequel copier
Comportement
Si le jeu de données cible n'existe pas, le crée avec la structure de métadonnées de la source
Si la cible existe, efface la cible avant de la copier (remplace les données existantes)
L'opération se poursuit lorsque les ensembles de données ne sont pas utilisés par les processus en ligne ou lorsqu'elle
bypassBluesamStatusest définie sur truePréserve les clés, la compression, la longueur d'enregistrement et les autres propriétés des métadonnées
Gestion des erreurs
Renvoie le code 1 si le jeu de données source n'existe pas ou si l'un des ensembles de données est utilisé par des processus en ligne.
Utilisation de l'échantillon
import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // copy bluesam dataset res = mpr.withArguments("FROM=MYBLUESAMTABLE","TO=MYBLUESAMTABLE2").runProgram("BLUESAMCOPY")
BLUESAMCREATE
Le programme BLUESAMCREATE crée un jeu de données Bluesam avec les paramètres spécifiés.
Parameters
Le programme BLUESAMCREATE utilise sept paramètres :
name=<dataset name>- Ensemble de données à créer (obligatoire)compress=<true/false>- Activer la compression (facultatif, valeur par défaut : false)fixedLength=<true/false>- État des enregistrements de longueur fixe (facultatif, valeur par défaut : faux)recordLength=<integer>- Longueur de l'enregistrement en octets (facultatif, valeur par défaut : -1)primaryKey=<key id>,duplicates=<true/false>,fields=<offset,length,...>- Spécification de la clé primaire (facultatif)key=<altkey id>,duplicates=<true/false>,fields=<offset,length,...>- Clé alternative (peut avoir plusieurs ou 0)clearExisting=true/false- Efface le jeu de données existant (valeur par défaut facultative : true)
Explications spécifiques des paramètres clés :
duplicates: si les doublons sont autorisés ou non pour la clé donnée ;fields: positions des champs (base 1) et longueurs qui définissent la clé ;
Comportement
Si le jeu de données n'existe pas, le crée avec les paramètres spécifiés
Si le jeu de données existe, l'efface si
clearExisting=trueL'opération se poursuit lorsque les ensembles de données ne sont pas utilisés par les processus en ligne ou lorsqu'elle
bypassBluesamStatusest définie surtrue
Conditions d'erreur
Renvoie le code 0 dans tous les cas.
Utilisation de l'échantillon
import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // create bluesam dataset mpr.withArguments( "name=MYBLUESAMTABLE", "compress=FALSE", "fixedLength=true", "recordLength=54", "primaryKey=MYKEY_PK,duplicates=FALSE,fields=0,6") .runProgram("BLUESAMCREATE")
BLUESAMDELETE
Le programme BLUESAMDELETE supprime les ensembles de données Bluesam.
Parameters
Le programme BLUESAMDELETE accepte un ou plusieurs paramètres :
<dataset name>- jeu de données à supprimer (peut en avoir plusieurs)
Comportement
L'opération se poursuit lorsque les ensembles de données ne sont pas utilisés par les processus en ligne ou lorsqu'elle
bypassBluesamStatusest définie surtrueSi le jeu de données existe, supprimez-le
Conditions d'erreur
Renvoie le code 0 dans tous les cas.
Utilisation de l'échantillon
import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // delete bluesam datasets res = mpr.withArguments("MYBLUESAMTABLE","MYBLUESAMTABLE2","MYBLUESAMTABLE3").runProgram("BLUESAMDELETE")
BLEU/SAM/CLAIR
Le programme BLUESAMCLEAR supprime toutes les données des ensembles de données existants tout en préservant leur structure et leurs métadonnées.
Parameters
Le programme BLUESAMCLEAR prend un ou plusieurs paramètres :
<dataset name>- jeu de données à effacer (peut en avoir plusieurs)
Comportement
L'opération se poursuit lorsque les ensembles de données ne sont pas utilisés par les processus en ligne ou lorsqu'elle
bypassBluesamStatusest définie surtrueSi le jeu de données existe, supprimez-le
Conditions d'erreur
Renvoie le code 0 dans tous les cas.
Utilisation de l'échantillon
import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) // clear bluesam datasets res = mpr.withArguments("MYBLUESAMTABLE","MYBLUESAMTABLE2").runProgram("BLUESAMCLEAR")
BPXWDYN
Ce programme utilitaire simule le service z/OS BPXWDYN pour l'allocation et la désallocation dynamiques des ensembles de données. Dans les applications modernes, les allocations de fichiers sont effectuées dans des scripts Groovy via l'API FileConfigurationUtils Builder. Ce programme permet une gestion dynamique de ces allocations sans Groovy, ce qui est essentiel pour le traitement de fichiers interactif ou conditionnel dans les applications modernisées.
Parameters
L'ancien format des arguments est préservé. Exige un seul argument contenant un en-tête de 2 octets suivi de la chaîne de commande.
format de chaîne de commande pour l'allocation : ALLOC DD(<name>) DSN('<dsn>') SHR?
format de chaîne de commande pour la désallocation : FREE DD(<name>)
Gestion des erreurs
Définissez le code d'erreur 0 en cas de réussite, 1 en cas d'échec
Lance RuntimeException des commandes ou paramètres non valides
Utilisation de l'échantillon
Voici un exemple d'utilisation en Java du programme BPXWDYN, issu d'une modernisation du COBOL via AWS Transform :
Le code COBOL :
01 WK-AREA. 03 DS-ALLOC-STRING. 05 DS-LENGTH PIC S9(004) COMP VALUE 100. 05 DS-TEXT PIC X(100) VALUE "ALLOC DD(INFILE) DSN('A.B.JCLLIB(XYZ470)') SHR". ... 01 RC-RETURN-CODE-AREA. 03 RC-RETURN-CODE PIC S9(008) COMP. ... CALL 'BPXWDYN' USING DS-ALLOC-STRING RETURNING RC-RETURN-CODE.
et la modernisation Java correspondante :
private final Group dsAllocString = new Group(root).named("DS-ALLOC-STRING"); private final Elementary dsLength = new Elementary(dsAllocString,new BinaryType(4, 0, "STD", false, false, true),Short.valueOf("100")).named("DS-LENGTH"); private final Elementary dsText = new Elementary(dsAllocString,new AlphanumericType(100),"ALLOC DD(INFILE) DSN('A.B.JCLLIB(XYZ470)') SHR").named("DS-TEXT"); ... private final Group root = new Group(getData()).named("RC-RETURN-CODE-AREA"); private final Elementary rcReturnCode = new Elementary(root,new BinaryType(8, 0, "STD", false, false, true)).named("RC-RETURN-CODE"); ... // Call to utility program BPXWDYN ctrl.callSubProgram( "BPXWDYN", CallBuilder.newInstance().byReference(ctx.getWkArea().getDsAllocStringReference()).getArguments(), ctx); ctx.getRcReturnCodeArea().setRcReturnCode(NumberUtils.convert(ctx.getProgramReturned()).intValue());
GDGUTILS
GDGs (Generation Data Group) permet aux applications de travailler avec des ensembles de données versionnés où chaque exécution crée une nouvelle génération tout en conservant l'accès aux générations précédentes. Cet utilitaire crée et gère ces générations de jeux de données. Cet utilitaire est destiné à être appelé dans des scripts groovy.
Parameters
l'ordre des paramètres n'a pas d'importance
action=<create|refreshevents>- Opération à effectuer (obligatoire)gdgname=<name>- Nom de la base GDG (obligatoire)storageProvider=<filesystem|bluesam>- Backend de stockagerelativeGeneration=<+integer>- Numéro de génération relatif (par exemple, +1 pour la génération suivante)absoluteGeneration=integer- Numéro de génération absolurecordLength=<integer>- Taille de l'enregistrement dans le jeu de donnéesfixedLength=<true/false>- Spécifie que les enregistrements ont une longueur fixe dans l'ensemble de donnéesownerPath=<File system path>- Le chemin pour stocker l'ensemble de données (spécifique au système de fichiers, obligatoire dans ce cas)compress=<true/false>- Indique que les données doivent rester compressées en mémoire si elles étaient compressées dans le magasin de données (spécifique à Bluesam) (facultatif, false est la valeur par défaut)catalog- Spécifie le jeu de données à cataloguer (facultatif)warmUp- Indique que l'ensemble de données doit être chargé en mémoire lors de son ouverture (spécifique à Bluesam) (facultatif)
RelativeGeneration ou AbsoluteGeneration : l'une de ces propriétés doit être définie.
Opérations
créer : crée une nouvelle génération de jeu de données GDG en fonction des métadonnées GDG (gère à la fois le système de fichiers et le stockage Bluesam)
refreshevents : ajuste le numéro de génération (métadonnées Gdg) sans créer de nouveaux ensembles de données (utilisé lors du redémarrage de tâches ayant échoué qui ont déjà créé des ensembles de données)
Gestion des erreurs
Définissez le code d'erreur 0 en cas de réussite, 1 en cas d'échec
Lance RuntimeException des commandes ou paramètres non valides
Utilisation de l'échantillon
Opération de création de Gdg : le code suivant crée une génération bluesam (43) pour l'ensemble de données IC.PLI.GDGTEST
import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) Map params = new Hashtable() params.put("jobContext", jobContext) Object[] args =["action=create","gdgname=IC.PLI.GDGTEST","absoluteGeneration=43","storageProvider=bluesam","recordLength=80"] mpr.withParameters(params).withArguments(args).runProgram("GDGUTILS")
Opération Gdg refreshevents : seule RelativeGeneration est pertinente pour cette opération. Le code suivant met à jour le numéro de génération (+1 par rapport à la génération actuelle) pour l'IC.PLI.GDGTESTensemble de données
import ... mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) Map params = new Hashtable() params.put("jobContext", jobContext) Object[] args =["action=refreshevents","gdgname=IC.PLI.GDGTEST","relativeGeneration=1","storageProvider=bluesam"] mpr.withParameters(params).withArguments(args).runProgram("GDGUTILS")
ICEGENER/SYNCGENR
Ce programme utilitaire imite le comportement de l'utilitaire z/OS système ICEGENER, il copie les ensembles de données de l'entrée (SYSUT1 ensemble de données) vers la sortie (ensemble de données). SYSUT2 Cette implémentation Java fournit des fonctionnalités équivalentes prenant en charge à la fois le système de fichiers et le stockage Bluesam.
Parameters
Aucun argument
Ensembles de données requis
SYSUT1: jeu de données/fichier d'entrée
SYSUT2: jeu de données/fichier de sortie
Gestion des dispositions pour l' SYSUT2 ensemble de données
NOUVEAU : Création d'un nouveau jeu de données/fichier
OLD/SHR: Use existing dataset/file(doit exister)
MOD : modifier, créer s'il manque, ajouter s'il existe
Gestion des erreurs
Définissez le code d'erreur 0 en cas de réussite de la copie, 1 en cas d'échec
Rejets en
IllegalStateExceptioncas d'utilisation non valide de l'ensemble de données Bluseam
Utilisation de l'échantillon
Voici un exemple d'utilisation groovy du programme ICEGENER, issu d'une modernisation de JCL via AWS Transform :
Le code JCL :
//STEP01 EXEC PGM=ICEGENER //SYSUT1 DD DSN=POI.INPUT,DISP=SHR //SYSUT2 DD DSN=POI.OUTPU, // DISP=(,CATLG,DELETE), // UNIT=3490, // DCB=(RECFM=FB,LRECL=100) /*
et la modernisation correspondante de Groovy :
mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .bluesam("SYSUT1") .dataset("POI.INPUT") .disposition("SHR") .build() .bluesam("SYSUT2") .dataset("POI.OUTPU") .normalTermination("CATLG") .abnormalTermination("DELETE") .build() .getFileConfigurations()) .withParameters(params) .runProgram("ICEGENER")
IDCAMS/KCAMS
Ce programme utilitaire imite le comportement des anciens programmes IDCAMS, qui est un outil de gestion des données mainframe utilisé pour les opérations de fichiers VSAM (Virtual Storage Access Method). Il traite les anciennes commandes IDCAMS en conservant la même syntaxe que les entrées SYSIN d'origine.
Contexte
Le comportement du programme peut être configuré à l'aide de deux paramètres définis dans application-utility-pgm.yml :
JCLType : identifiant du type JCL (vse ou mvs). Les PRINT/REPRO commandes de l'utilitaire IDCAMS renvoient 4 si le fichier est vide pour un jcl non vse
forcedCharsetIdcams: remplacement facultatif du jeu de caractères pour le traitement IDCAMS
Parameters
Aucun argument. Les opérations sont transmises via le jeu de données SYSIN.
Ensembles de données requis
SYSIN - Contient des instructions de commande IDCAMS
Ensembles de données d'entrée/sortie - Comme indiqué dans les commandes IDCAMS (selon la déclaration IDCAMS)
Fonctionnalités principales/Commandes prises en charge
Les détails sur les commandes IDCAMS présentes dans la carte de contrôle SYSIN ne sont pas donnés ici mais doivent être extraits des documentations des anciennes plateformes pertinentes existantes.
DEFINE - Crée des clusters et des ensembles de données VSAM
SUPPRIMER - Supprime les ensembles de données (prend en charge les caractères génériques)
REPRO - Copie les données entre les ensembles de données
IMPRIMER - Affiche le contenu du jeu de données
VERIFY : valide l'existence et l'intégrité de l'ensemble de données
ALTER - Modifie les attributs du jeu de données (renommage)
ALLOC - Alloue les ensembles de données de manière dynamique
SET - Gère les codes de condition (LASTCC/MAXCC)
IF-THEN-ELSE - Exécution conditionnelle des commandes
ANNULER - Met fin à l'exécution de la tâche
Gestion des erreurs
Définissez le code d'erreur 0 si la dernière commande réussit, -1 en cas d'échec
Les commandes SET (LASTCC) peuvent être utilisées pour remplacer le code d'erreur, par ex.
SET LASTCC = 0
Utilisation de l'échantillon
Voici un exemple d'utilisation groovy du programme IDCAMS, issu d'une modernisation de JCL via AWS Transform :
Le code JCL :
//STEP15 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //ACCTDATA DD DISP=SHR, // DSN=AWS.M2.CARDDEMO.ACCTDATA.PS //ACCTVSAM DD DISP=SHR, // DSN=AWS.M2.CARDDEMO.ACCTDATA.VSAM.KSDS //SYSIN DD * REPRO INFILE(ACCTDATA) OUTFILE(ACCTVSAM) /*
et la modernisation correspondante de Groovy :
mpr.withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .systemOut("SYSPRINT") .output("*") .build() .bluesam("ACCTDATA") .dataset("AWS.M2.CARDDEMO.ACCTDATA.PS") .disposition("SHR") .build() .bluesam("ACCTVSAM") .dataset("AWS.M2.CARDDEMO.ACCTDATA.VSAM.KSDS") .disposition("SHR") .build() .fileSystem("SYSIN") .stream("REPRO INFILE(ACCTDATA) OUTFILE(ACCTVSAM)", getEncoding()) .build() .getFileConfigurations()) .withParameters(params) .runProgram("IDCAMS")
IEBGENER/JSDGENER
Ce programme reproduit l'utilitaire IEBGENER. Il est utilisé pour copier et manipuler des ensembles de données séquentiels. Cette implémentation étend les fonctionnalités de copie de base en prenant en charge les instructions de contrôle IEBGENER pour les opérations de traitement de données avancées.
Parameters
Aucun argument. Les opérations sont transmises via le jeu de données SYSIN.
Ensembles de données requis
SYSIN : contient des instructions de contrôle (facultatif, s'il n'est pas défini, le programme IEBGENER est identique à ICEGENER)
SYSUT1: jeu de données/fichier d'entrée
SYSUT2: jeu de données/fichier de sortie
Caractéristiques principales//Déclarations de contrôle IEBGENER prises en charge
Les détails concernant la déclaration de contrôle IEBGENER figurant dans les cartes de contrôle SYSIN ne sont pas donnés ici mais doivent être extraits des documentations des anciennes plateformes pertinentes existantes.
GENERATE - définit la structure globale du processus de manipulation des données en spécifiant le nombre maximum de types d'enregistrements (MAXNAME) et de champs (MAXFLDS) à traiter
RECORD - définit la disposition et le contenu réels de chaque type d'enregistrement en spécifiant la position, la longueur et le format des champs individuels qui seront soit copiés à partir du jeu de données en entrée, soit générés avec des valeurs spécifiques
LABEL/MEMBER/EXITne sont pas pris en charge
exemple :
GENERATE MAXNAME=3,MAXFLDS=5 RECORD TYPE=1, FIELD=(1,1,CH,VALUE='H'), FIELD=(2,30,CH,VALUE='EMPLOYEE REPORT 2024 ') RECORD TYPE=2, FIELD=(1,1,CH,VALUE='D'), FIELD=(2,10,CH), /* Name */ FIELD=(12,8,CH), /* Birth date */ FIELD=(20,8,CH,VALUE='ACTIVE') RECORD TYPE=3, FIELD=(1,1,CH,VALUE='F'), FIELD=(2,30,CH,VALUE='END OF REPORT ')
Gestion des erreurs
Définissez le code d'erreur 0 si la copie réussit, 1 en cas d'échec.
Utilisation de l'échantillon
Voici un exemple d'utilisation groovy du programme IEBGENER, issu d'une modernisation de JCL via AWS Transform :
Le code JCL :
//GENDATA EXEC PGM=IEBGENER //SYSUT1 DD DSN=INPUT.EMPLOYEE.DATA, // DISP=SHR //SYSUT2 DD DSN=OUTPUT.EMPLOYEE.FILE, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(1,1)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920) //SYSIN DD * GENERATE MAXNAME=2,MAXFLDS=5 RECORD TYPE=1, FIELD=(1,1,CH,VALUE='H'), FIELD=(2,30,CH,VALUE='EMPLOYEE SALARY REPORT 2024 ') RECORD TYPE=2, FIELD=(1,1,CH,VALUE='D'), FIELD=(2,10,CH), /* Name from input */ FIELD=(12,8,CH), /* Birth date from input */ FIELD=(20,8,CH), /* Dept from input */ FIELD=(28,8,CH) /* Salary from input */ /*
et la modernisation correspondante de Groovy :
mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .systemOut("SYSPRINT") .output("*") .build() .bluesam("SYSUT1") .dataset("INPUT.EMPLOYEE.DATA") .disposition("SHR") .build() .bluesam("SYSUT2") .dataset("OUTPUT.EMPLOYEE.FILE") .disposition("NEW") .normalTermination("CATLG") .abnormalTermination("DELETE") .build() .fileSystem("SYSIN") .stream( """GENERATE MAXNAME=2,MAXFLDS=5 RECORD TYPE=1, FIELD=(1,1,CH,VALUE='H'), FIELD=(2,30,CH,VALUE='EMPLOYEE SALARY REPORT 2024 ') RECORD TYPE=2, FIELD=(1,1,CH,VALUE='D'), FIELD=(2,10,CH), /* Name from input */ FIELD=(12,8,CH), /* Birth date from input */ FIELD=(20,8,CH), /* Dept from input */ FIELD=(28,8,CH) /* Salary from input */""", getEncoding()) .build() .getFileConfigurations()) .withParameters(params) .runProgram("IEBGENER")
IEFBR14
IEFBR14 est un programme « ne rien faire » qui renvoie simplement un code de retour égal à 0 (zéro). Il est principalement utilisé pour l'allocation de jeux de données, la suppression ou la maintenance du catalogue via des instructions DD, sans effectuer de véritable traitement des données.
Parameters
Aucun argument
Gestion des erreurs
Définissez toujours le code d'erreur 0.
Utilisation de l'échantillon
Voici un exemple d'utilisation du IEFBR14 programme Groovy, issu d'une modernisation de JCL via AWS Transform :
Le code JCL pour créer un nouveau jeu de données séquentiel :
//STEP1 EXEC PGM=IEFBR14 //NEWSEQ DD DSN=USER.NEW.SEQ.DATA, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(10,5)), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)
et la modernisation correspondante de Groovy :
mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .bluesam("NEWSEQ") .dataset("USER.NEW.SEQ.DATA") .disposition("NEW") .normalTermination("CATLG") .abnormalTermination("DELETE") .build() .getFileConfigurations()) .withParameters(params) .runProgram("IEFBR14")
Le code JCL pour supprimer un ensemble de données existant :
//STEP3 EXEC PGM=IEFBR14 //DELDD DD DSN=USER.OLD.DATASET, // DISP=(OLD,DELETE,DELETE)
et la modernisation correspondante de Groovy :
mpr .withFileConfigurations(new FileConfigurationUtils() .withJobContext(jobContext) .bluesam("DELDD") .dataset("USER.OLD.DATASET") .disposition("OLD") .normalTermination("DELETE") .abnormalTermination("DELETE") .build() .getFileConfigurations()) .withParameters(params) .runProgram("IEFBR14")
JCLBCICS
Ce programme gère l'état des ensembles de données, en fonction de la configuration, en prenant en charge à la fois les fichiers individuels et les modèles génériques : il modifie le champ STATUS dans la table JICS file_table. enables/disables
Parameters
Aucun argument. Les opérations sont transmises via un DatasetsConfiguration objet, par ex.
mpr.withDatasetsConfiguration(new DatasetsConfiguration().close(<Dataset Name>)
Contexte
Le comportement du programme peut être configuré à l'aide de deux paramètres :
Dans application-utility-pgm.yml:
jclbcics.ddname.size(la valeur par défaut est 8) : il configure globalement la taille du nom du jeu de données ; si cette valeur est définie et que la longueur du nom du jeu de données est inférieure à cette valeur, le nom du jeu de données sera tronqué.
À chaque étape du fichier Groovy, appelez le programme
JCLBCICS_OVERRIDDEN_SIZE: il remplace la taille du nom du jeu de données global :
TreeMap stepMapTransfo = [:] Map stepParams = ["MapTransfo":stepMapTransfo] stepParams["MapTransfo"]["JCLBCICS_OVERRIDDEN_SIZE"] = '6'
Si la taille du nom dd ajustée (après troncature) est inférieure à 8, le nom dd est considéré comme un caractère générique et la fonction fonctionne pour tous les ensembles de données commençant par ce nom dd.
Fonctionnalités principales
Les opérations prises en charge sont les suivantes :
OUVERT : Attribue aux ensembles de données le statut ACTIVÉ
FERMER : Attribue aux ensembles de données le statut DÉSACTIVÉ
Ces opérations sont déclarées par le biais de la classe DatasetsConfiguration Builder :
new DatasetsConfiguration().close(<DD name>).open(<DD name>)
Nom DD : nom du jeu de données, le caractère générique * est accepté si la taille du nom DD est inférieure à la taille maximale du nom DD (8).
Gestion des erreurs
Définir le code d'erreur 0
Utilisation de l'échantillon
Voici un exemple d'utilisation Groovy du programme JCLBCICS :
il désactive le jeu de donnéesUFOLJ3P, il active tous les ensembles de données commençant par AX, il active tous les ensembles de données commençant par DX
import com.netfective.bluage.gapwalk.rt.call.MainProgramRunner import com.netfective.bluage.gapwalk.rt.call.ProgramExecutionResult import com.netfective.bluage.gapwalk.rt.io.support.DatasetsConfiguration MainProgramRunner mpr = applicationContext.getBean("com.netfective.bluage.gapwalk.rt.call.ExecutionController",MainProgramRunner.class) def TreeMap stepMapTransfo = [:] def Map stepParams = ['MapTransfo':stepMapTransfo] stepParams['MapTransfo']['JCLBCICS_OVERRIDDEN_SIZE'] = '7' ProgramExecutionResult res = mpr .withDatasetsConfiguration(new DatasetsConfiguration().close("UFOLJ3P").open("AX*").open("DX")) .withParameters(stepParams) .runProgram("JCLBCICS")