From c5ee5954e909616a9a947b4564c10584f2f7b3cf Mon Sep 17 00:00:00 2001 From: Eckhard Gosch Date: Tue, 8 Sep 2026 11:07:03 +0200 Subject: [PATCH] =?UTF-8?q?DSPLY=20Ausgaben=20zugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- meddfntstp.rpgle | 298 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 264 insertions(+), 34 deletions(-) diff --git a/meddfntstp.rpgle b/meddfntstp.rpgle index cec858a..64205a6 100644 --- a/meddfntstp.rpgle +++ b/meddfntstp.rpgle @@ -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;