DSPLY Ausgaben zugefügt

This commit is contained in:
2026-09-08 11:07:03 +02:00
parent 88ecb7e271
commit c5ee5954e9
+264 -34
View File
@@ -8,6 +8,12 @@
//
// Erstellen mit:
//
// CRTRPGMOD MODULE(GOSCH1/MEDDFNTSTP)
// SRCSTMF('/home/GOSCH/meddfn/meddfntstp.rpgle')
// OPTION(*EVENTF)
// DBGVIEW(*SOURCE)
// TGTRLS(*CURRENT)
//
// CRTPGM PGM(GOSCH1/MEDDFNTSTP)
// MODULE(GOSCH1/MEDDFNTSTP)
// BNDSRVPGM(GOSCH1/MEDDFNSRV)
@@ -25,13 +31,25 @@ ctl-opt
/COPY './meddfnpr.rpgle'
//=====================================================================
//
// Data
//
//=====================================================================
dcl-ds MediaDefinition
likeds(MD_MediaDefinition_T);
dcl-ds RetrievedDefinition
dcl-ds OriginalDefinition
likeds(MD_MediaDefinition_T);
//=====================================================================
//
// Prototypes
//
//=====================================================================
dcl-pr BuildTestDefinition;
end-pr;
@@ -45,93 +63,305 @@ end-pr;
BuildTestDefinition();
//---------------------------------------------------------------
// Vorhandene Definition löschen
//---------------------------------------------------------------
//---------------------------------------------------------------------
// Vorhandene MEDDFN löschen
//---------------------------------------------------------------------
dsply '----------------------------------------';
dsply 'MEDDFN Parser Test';
dsply '----------------------------------------';
dsply 'Deleting existing MEDDFN...';
monitor;
MD_DeleteMediaDefinition(
MediaDefinition);
dsply 'Delete completed';
on-error;
dsply 'No existing MEDDFN deleted';
endmon;
//---------------------------------------------------------------
// Definition erzeugen
//---------------------------------------------------------------
//---------------------------------------------------------------------
// MEDDFN erstellen
//---------------------------------------------------------------------
dsply 'Creating MEDDFN...';
MD_CreateMediaDefinition(
MediaDefinition);
//---------------------------------------------------------------
// Original sichern
//---------------------------------------------------------------
RetrievedDefinition = MediaDefinition;
dsply 'Create completed';
//---------------------------------------------------------------
// Definition wieder einlesen
//---------------------------------------------------------------
//---------------------------------------------------------------------
// Originaldefinition sichern
//---------------------------------------------------------------------
OriginalDefinition = MediaDefinition;
//---------------------------------------------------------------------
// MEDDFN lesen
//---------------------------------------------------------------------
dsply 'Retrieving MEDDFN...';
MD_RetrieveMediaDefinition(
MediaDefinition);
dsply 'Retrieve completed';
//---------------------------------------------------------------
// Parser-Ergebnis prüfen
//---------------------------------------------------------------
if MediaDefinition.Device(1).DeviceName <>
RetrievedDefinition.Device(1).DeviceName;
//---------------------------------------------------------------------
// Tests
//---------------------------------------------------------------------
dsply 'ERROR: Device 1 DeviceName';
dsply '----------------------------------------';
dsply 'Parser result';
dsply '----------------------------------------';
//=====================================================================
// General
//=====================================================================
if MediaDefinition.MediaDefinitionName =
OriginalDefinition.MediaDefinitionName;
dsply 'PASS MediaDefinitionName';
else;
dsply 'FAIL MediaDefinitionName';
endif;
if MediaDefinition.Device(1).NumberOfMediaFiles <>
RetrievedDefinition.Device(1).NumberOfMediaFiles;
if MediaDefinition.LibraryName =
OriginalDefinition.LibraryName;
dsply 'ERROR: Device 1 NumberOfMediaFiles';
dsply 'PASS LibraryName';
else;
dsply 'FAIL LibraryName';
endif;
if MediaDefinition.Device(1).MediaFile(1).SequenceNumber <>
RetrievedDefinition.Device(1).MediaFile(1).SequenceNumber;
if MediaDefinition.NumberOfDevices =
OriginalDefinition.NumberOfDevices;
dsply 'ERROR: Device 1 SequenceNumber';
dsply 'PASS NumberOfDevices';
else;
dsply 'FAIL NumberOfDevices';
endif;
if MediaDefinition.Device(1).MediaFile(1).NumberOfVolumeIdentifiers <>
RetrievedDefinition.Device(1).MediaFile(1).NumberOfVolumeIdentifiers;
//=====================================================================
// Device 1
//=====================================================================
dsply 'ERROR: Device 1 NumberOfVolumeIdentifiers';
dsply '----------------------------------------';
dsply 'Device 1';
if MediaDefinition.Device(1).DeviceName =
OriginalDefinition.Device(1).DeviceName;
dsply 'PASS Device 1 DeviceName';
else;
dsply 'FAIL Device 1 DeviceName';
endif;
if MediaDefinition.Device(1).NumberOfMediaFiles =
OriginalDefinition.Device(1).NumberOfMediaFiles;
dsply 'PASS Device 1 NumberOfMediaFiles';
else;
dsply 'FAIL Device 1 NumberOfMediaFiles';
endif;
//=====================================================================
// Device 1 / Media File 1
//=====================================================================
dsply 'Media File 1';
if MediaDefinition.Device(1)
.MediaFile(1)
.SequenceNumber =
OriginalDefinition.Device(1)
.MediaFile(1)
.SequenceNumber;
dsply 'PASS Device 1 SequenceNumber';
else;
dsply 'FAIL Device 1 SequenceNumber';
endif;
if MediaDefinition.Device(1)
.MediaFile(1)
.NumberOfVolumeIdentifiers =
OriginalDefinition.Device(1)
.MediaFile(1)
.NumberOfVolumeIdentifiers;
dsply 'PASS Device 1 NumberOfVolumes';
else;
dsply 'FAIL Device 1 NumberOfVolumes';
endif;
//=====================================================================
// Device 1 / Volume 1
//=====================================================================
dsply 'Volume 1';
if MediaDefinition.Device(1)
.MediaFile(1)
.VolumeIdentifier(1)
.VolumeIdentifier <>
RetrievedDefinition.Device(1)
.VolumeIdentifier =
OriginalDefinition.Device(1)
.MediaFile(1)
.VolumeIdentifier(1)
.VolumeIdentifier;
dsply 'ERROR: Device 1 VolumeIdentifier';
dsply 'PASS Device 1 Volume 1';
else;
dsply 'FAIL Device 1 Volume 1';
endif;
//=====================================================================
// Device 2
//=====================================================================
dsply '----------------------------------------';
dsply 'Device 2';
if MediaDefinition.Device(2).DeviceName =
OriginalDefinition.Device(2).DeviceName;
dsply 'PASS Device 2 DeviceName';
else;
dsply 'FAIL Device 2 DeviceName';
endif;
if MediaDefinition.Device(2).NumberOfMediaFiles =
OriginalDefinition.Device(2).NumberOfMediaFiles;
dsply 'PASS Device 2 NumberOfMediaFiles';
else;
dsply 'FAIL Device 2 NumberOfMediaFiles';
endif;
//=====================================================================
// Device 2 / Media File 1
//=====================================================================
dsply 'Media File 1';
if MediaDefinition.Device(2)
.MediaFile(1)
.SequenceNumber =
OriginalDefinition.Device(2)
.MediaFile(1)
.SequenceNumber;
dsply 'PASS Device 2 SequenceNumber';
else;
dsply 'FAIL Device 2 SequenceNumber';
endif;
if MediaDefinition.Device(2)
.MediaFile(1)
.NumberOfVolumeIdentifiers =
OriginalDefinition.Device(2)
.MediaFile(1)
.NumberOfVolumeIdentifiers;
dsply 'PASS Device 2 NumberOfVolumes';
else;
dsply 'FAIL Device 2 NumberOfVolumes';
endif;
//=====================================================================
// Device 2 / Volume 1
//=====================================================================
dsply 'Volume 1';
if MediaDefinition.Device(2)
.MediaFile(1)
.VolumeIdentifier(1)
.VolumeIdentifier =
OriginalDefinition.Device(2)
.MediaFile(1)
.VolumeIdentifier(1)
.VolumeIdentifier;
dsply 'PASS Device 2 Volume 1';
else;
dsply 'FAIL Device 2 Volume 1';
endif;
dsply '----------------------------------------';
dsply 'Parser test completed';
dsply '----------------------------------------';
//=====================================================================
// End
//=====================================================================
*inlr = *on;
return;