**FREE //===================================================================== // // Program......: MEDDFNTSTP // // Description..: MEDDFN Builder / Parser Test Program // // Erstellen mit: // // CRTPGM PGM(GOSCH1/MEDDFNTSTP) // MODULE(GOSCH1/MEDDFNTSTP) // BNDSRVPGM(GOSCH1/MEDDFNSRV) // ACTGRP(*NEW) // TGTRLS(*CURRENT) // //===================================================================== ctl-opt option(*srcstmt:*nodebugio); /COPY './meddfn_h.rpgle' /COPY './meddfnap_h.rpgle' /COPY './meddfnpr.rpgle' dcl-ds MediaDefinition likeds(MD_MediaDefinition_T); dcl-ds RetrievedDefinition likeds(MD_MediaDefinition_T); dcl-pr BuildTestDefinition; end-pr; //===================================================================== // // Main // //===================================================================== BuildTestDefinition(); //--------------------------------------------------------------- // Vorhandene Definition löschen //--------------------------------------------------------------- monitor; MD_DeleteMediaDefinition( MediaDefinition); on-error; endmon; //--------------------------------------------------------------- // Definition erzeugen //--------------------------------------------------------------- MD_CreateMediaDefinition( MediaDefinition); //--------------------------------------------------------------- // Original sichern //--------------------------------------------------------------- RetrievedDefinition = MediaDefinition; //--------------------------------------------------------------- // Definition wieder einlesen //--------------------------------------------------------------- MD_RetrieveMediaDefinition( MediaDefinition); //--------------------------------------------------------------- // Parser-Ergebnis prüfen //--------------------------------------------------------------- if MediaDefinition.Device(1).DeviceName <> RetrievedDefinition.Device(1).DeviceName; dsply 'ERROR: Device 1 DeviceName'; endif; if MediaDefinition.Device(1).NumberOfMediaFiles <> RetrievedDefinition.Device(1).NumberOfMediaFiles; dsply 'ERROR: Device 1 NumberOfMediaFiles'; endif; if MediaDefinition.Device(1).MediaFile(1).SequenceNumber <> RetrievedDefinition.Device(1).MediaFile(1).SequenceNumber; dsply 'ERROR: Device 1 SequenceNumber'; endif; if MediaDefinition.Device(1).MediaFile(1).NumberOfVolumeIdentifiers <> RetrievedDefinition.Device(1).MediaFile(1).NumberOfVolumeIdentifiers; dsply 'ERROR: Device 1 NumberOfVolumeIdentifiers'; endif; if MediaDefinition.Device(1) .MediaFile(1) .VolumeIdentifier(1) .VolumeIdentifier <> RetrievedDefinition.Device(1) .MediaFile(1) .VolumeIdentifier(1) .VolumeIdentifier; dsply 'ERROR: Device 1 VolumeIdentifier'; endif; *inlr = *on; return; //===================================================================== // // BuildTestDefinition // // Builds: // // 2 Devices // // Device 1 // 1 Media File // DAK066 // // Device 2 // 1 Media File // DAK079 // //===================================================================== dcl-proc BuildTestDefinition; dcl-pi *n; end-pi; clear MediaDefinition; //--------------------------------------------------------------- // General //--------------------------------------------------------------- MediaDefinition.MediaDefinitionName = 'TEST0200X'; MediaDefinition.LibraryName = 'GOSCH1'; MediaDefinition.TextDescription = 'Test MEDDFN'; MediaDefinition.MaximumParallelResources = 2; MediaDefinition.MinimumParallelResources = 2; MediaDefinition.DeviceAllocation = MD_DeviceAllocateAll; MediaDefinition.SaveFormat = MD_SaveFormatParallel; MediaDefinition.NumberOfDevices = 2; //--------------------------------------------------------------- // Device 1 / Resource 1 //--------------------------------------------------------------- MediaDefinition.Device(1).DeviceName = 'TAPMLBBRMS'; MediaDefinition.Device(1).NumberOfMediaFiles = 1; MediaDefinition.Device(1) .MediaFile(1) .SequenceNumber = 0; MediaDefinition.Device(1) .MediaFile(1) .StartingPositionInFile = *ALL'0'; MediaDefinition.Device(1) .MediaFile(1) .NumberOfVolumeIdentifiers = 1; MediaDefinition.Device(1) .MediaFile(1) .VolumeIdentifier(1) .VolumeIdentifier = 'DAK066'; //--------------------------------------------------------------- // Device 2 / Resource 2 //--------------------------------------------------------------- MediaDefinition.Device(2).DeviceName = 'TAPMLBBRMS'; MediaDefinition.Device(2).NumberOfMediaFiles = 1; MediaDefinition.Device(2) .MediaFile(1) .SequenceNumber = 0; MediaDefinition.Device(2) .MediaFile(1) .StartingPositionInFile = *ALL'0'; MediaDefinition.Device(2) .MediaFile(1) .NumberOfVolumeIdentifiers = 1; MediaDefinition.Device(2) .MediaFile(1) .VolumeIdentifier(1) .VolumeIdentifier = 'DAK079'; end-proc;