Testprogramm um Parser Test erweitert 1. Stufe

This commit is contained in:
2026-09-08 10:48:35 +02:00
parent 0c6fd71128
commit a2aa8d5b2a
+166 -130
View File
@@ -1,43 +1,54 @@
**FREE **FREE
**FREE
//===================================================================== //=====================================================================
// //
// Program......: MEDDFNTSTP // Program......: MEDDFNTSTP
// //
// Description..: MEDDFN Builder Test Program // Description..: MEDDFN Builder / Parser Test Program
// Erstellen mit : //
// Erstellen mit:
//
// CRTPGM PGM(GOSCH1/MEDDFNTSTP) // CRTPGM PGM(GOSCH1/MEDDFNTSTP)
// MODULE(GOSCH1/MEDDFNTSTP) // MODULE(GOSCH1/MEDDFNTSTP)
// BNDSRVPGM(GOSCH1/MEDDFNSRV) // BNDSRVPGM(GOSCH1/MEDDFNSRV)
// ACTGRP(*NEW) // ACTGRP(*NEW)
// TGTRLS(*CURRENT) // TGTRLS(*CURRENT)
// //
//
//
//
//===================================================================== //=====================================================================
ctl-opt ctl-opt
// dftactgrp(*no)
// actgrp(*new)
option(*srcstmt:*nodebugio); option(*srcstmt:*nodebugio);
/COPY './meddfn_h.rpgle' /COPY './meddfn_h.rpgle'
/COPY './meddfnap_h.rpgle' /COPY './meddfnap_h.rpgle'
// /copy GOSCH1/MEDDFN,MEDDFN_H
// /copy GOSCH1/MEDDFN,MEDDFNPR
dcl-ds MediaDefinition dcl-ds MediaDefinition
likeds(MD_MediaDefinition_T); likeds(MD_MediaDefinition_T);
dcl-ds RetrievedDefinition
likeds(MD_MediaDefinition_T);
dcl-pr BuildTestDefinition; dcl-pr BuildTestDefinition;
end-pr; end-pr;
//=====================================================================
//
// Main
//
//=====================================================================
BuildTestDefinition(); BuildTestDefinition();
//---------------------------------------------------------------
// Vorhandene Definition löschen
//---------------------------------------------------------------
monitor; monitor;
MD_DeleteMediaDefinition( MD_DeleteMediaDefinition(
@@ -48,23 +59,98 @@ on-error;
endmon; endmon;
//---------------------------------------------------------------
// Definition erzeugen
//---------------------------------------------------------------
MD_CreateMediaDefinition( MD_CreateMediaDefinition(
MediaDefinition); 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; *inlr = *on;
return; return;
//===================================================================== //=====================================================================
// //
// BuildTestDefinition // BuildTestDefinition
// //
// Builds a simple test media definition: // Builds:
// //
// 1 Device // 2 Devices
//
// Device 1
// 1 Media File // 1 Media File
// VOL001 // DAK066
// VOL002 //
// Device 2
// 1 Media File
// DAK079
// //
//===================================================================== //=====================================================================
@@ -81,142 +167,92 @@ dcl-proc BuildTestDefinition;
// General // General
//--------------------------------------------------------------- //---------------------------------------------------------------
MediaDefinition.MediaDefinitionName = 'TEST0200X'; MediaDefinition.MediaDefinitionName =
MediaDefinition.LibraryName = 'GOSCH1'; 'TEST0200X';
MediaDefinition.TextDescription = 'Test MEDDFN';
MediaDefinition.MaximumParallelResources = 2; MediaDefinition.LibraryName =
MediaDefinition.MinimumParallelResources = 2; 'GOSCH1';
MediaDefinition.DeviceAllocation = MD_DeviceAllocateAll; MediaDefinition.TextDescription =
MediaDefinition.SaveFormat = MD_SaveFormatParallel; 'Test MEDDFN';
MediaDefinition.NumberOfDevices = 2; MediaDefinition.MaximumParallelResources =
2;
MediaDefinition.MinimumParallelResources =
2;
MediaDefinition.DeviceAllocation =
MD_DeviceAllocateAll;
MediaDefinition.SaveFormat =
MD_SaveFormatParallel;
MediaDefinition.NumberOfDevices =
2;
//--------------------------------------------------------------- //---------------------------------------------------------------
// Device 1 / Resource 1 // 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;
//=====================================================================
//
// BuildTestDefinition
//
//=====================================================================
dcl-proc BuildTestDefinitionOld;
dcl-pi *n;
end-pi;
clear MediaDefinition;
//--------------------------------------------------------------
// Media Definition
//--------------------------------------------------------------
MediaDefinition.MediaDefinitionName = 'TEST0200';
MediaDefinition.LibraryName = 'QTEMP';
MediaDefinition.TextDescription = 'MEDDFN Test';
MediaDefinition.Replace = *on;
MediaDefinition.DeviceAllocation = MD_DeviceAllocateAll;
MediaDefinition.SaveFormat = MD_SaveFormatParallel;
MediaDefinition.MaximumParallelResources = 1;
MediaDefinition.MinimumParallelResources = 1;
//--------------------------------------------------------------
// Device
//--------------------------------------------------------------
MediaDefinition.NumberOfDevices = 1;
MediaDefinition.Device(1).DeviceName = MediaDefinition.Device(1).DeviceName =
'TAPMLBBRMS'; 'TAPMLBBRMS';
MediaDefinition.Device(1).NumberOfMediaFiles = 1; MediaDefinition.Device(1).NumberOfMediaFiles =
1;
//--------------------------------------------------------------
// Media File
//--------------------------------------------------------------
MediaDefinition.Device(1) MediaDefinition.Device(1)
.MediaFile(1) .MediaFile(1)
.SequenceNumber = 0; .SequenceNumber =
0;
MediaDefinition.Device(1) MediaDefinition.Device(1)
.MediaFile(1) .MediaFile(1)
.StartingPositionInFile = *ALLX'00'; .StartingPositionInFile =
// .StartingPositionInFile = '*FIRST'; *ALL'0';
MediaDefinition.Device(1) MediaDefinition.Device(1)
.MediaFile(1) .MediaFile(1)
.NumberOfVolumeIdentifiers = 0; .NumberOfVolumeIdentifiers =
1;
//-------------------------------------------------------------- MediaDefinition.Device(1)
// Volume IDs .MediaFile(1)
//-------------------------------------------------------------- .VolumeIdentifier(1)
.VolumeIdentifier =
'DAK066';
// MediaDefinition.Device(1)
// .MediaFile(1)
// .VolumeIdentifier(1)
// .VolumeIdentifier = 'VOL001';
// MediaDefinition.Device(1) //---------------------------------------------------------------
// .MediaFile(1) // Device 2 / Resource 2
// .VolumeIdentifier(2) //---------------------------------------------------------------
// .VolumeIdentifier = 'VOL002';
end-proc; 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;