Files
MEDDFN/meddfntstp.rpgle
T

258 lines
5.2 KiB
RPGLE

**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;