Deze pagina bevat de volgende voorbeeld programma's:
Opmerking 1:
Alle voorbeelden op deze pagina zijn slechts voorbeelden, en onder
voorbehoud
van fouten en/of omissies. U mag (delen van) deze code gebruiken maar
u doet
dat volledig voor eigen risico. Het blijft natuurlijk altijd zaak uw
programma's grondig te testen.
Opmerking 2:
Alle voorbeelden op deze pagina zijn volledig in het engels. Dit is
gedaan
om de volgende redenen:
Overigens wijzen wij er op, dat u voor alle commentaar in uw sources het best de taal kunt kiezen die in uw bedrijf het meest gangbaar is. Dit geldt natuurlijk ook voor alle overige vormen van documentatie.
Ten einde een miniatuur DataBase Manager (DBMS) te bouwen zijn bij het ontwerp de volgende uitgangspunten gehanteerd:
Bekijk de source code van programma BXAIO.
Voor een korte beschrijving van het ontwerp zie a.u.b. het hierboven beschreven static glue module.
Bekijk de source code van programma BXAIO00.
Dit programma geeft een bericht af om te tonen dat het correct is aangeroepen. Het programaa draait in amode 24, en heeft verder geen nuttige functie. Het programma is gemaakt om de GLUE macro te testen en het kan gebruikt worden als voorbeeld-programma.
Bekijk de source code van programma BXALOWPG.
Dit programma heeft geen run-time functie. Het wordt gebruikt om overzichten aan te maken van velden in control blocks, en om te controleren of er geen conflicten ontstaan in de naamgeving van velden.
De te genereren control blocks kunnen geselecteerd worden door de waarde van de assembly-variabele &SELECT te veranderen.
Bekijk de source code van programma BXAMAPS.
Dit programma controleert de waarde van een JCL-variabele.
De uit te voeren test wordt opgegeven in het PARM-veld van het
EXEC-statement.
De syntax is als volgt:
Het programma geeft een return code van 0 (test voldoet) of 4 (test voldoet niet). Andere steps in de zelfde job kunnen uitgevoerd of overgeslagen worden aan de hand van deze return codes.
Het volgende voorbeeld toont hoe het programma BXATEST gebruikt kan worden in een JCL proc:
//BXAASM PROC MEMB=,PROJ=,LVL= //* //TEST EXEC PGM=BXATEST,PARM='&LVL EQ T' //PROD EXEC PGM=BXATEST,PARM='&LVL EQ P' //* //* Aanroep assembler, met standaard parms voor TEST //* // IF (TEST.RC = 0) THEN //ASMT EXEC PGM=ASMA90,PARM=(OBJECT,NODECK,TERM, // 'SYSPARM(SRLIST,DBG,OPT)') //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.MODGEN,DISP=SHR // DD DSN=BIXOFT.ASMPLUS&LVL..MACLIB,DISP=SHR // DD DSN=BIXOFT.ASMPLUSP.MACLIB,DISP=SHR // DD DSN=BIXOFT.&PROJ.&LVL..MACLIB,DISP=SHR // DD DSN=BIXOFT.&PROJ.P.MACLIB,DISP=SHR //... Overige DD-statements // ENDIF //* //* Aanroep assembler, met standaard parms voor PROD //* // IF (PROD.RC = 0) THEN //ASMP EXEC PGM=ASMA90,PARM=(OBJECT,NODECK,TERM, // 'SYSPARM(SRLIST,NODBG,OPT)') //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.MODGEN,DISP=SHR // DD DSN=BIXOFT.ASMPLUS&LVL..MACLIB,DISP=SHR // DD DSN=BIXOFT.&PROJ.&LVL..MACLIB,DISP=SHR //... Overige DD-statements // ENDIF //* // PEND
Bekijk de source code van programma BXATEST.
Dit programma kopieert een member van een PDS concatenatie of een concatenatie van sequentiële datasets.
Voor MEMBER=memname wordt de INPUT concatenatie van PDS'en
afgezocht
naar het opgegeven member, welke vervolgens wordt gekopieerd naar
OUTPUT.
Voor DATSET=PS wordt de volledige concatenatie van sequentiële
datasets
gekopieerd van INPUT naar OUTPUT.
IEBCOPY doet meer, maar gebruikt control cards als input; deze
kunnen niet
gesubstitueerd worden vanuit JCL variabelen.
IEHLIST kopieert eveneens datasets, maar het drukt ook alle records
af,
waardoor de spool snel volloopt.
Het volgende voorbeeld toont hoe het programma BXACOPY gebruikt kan worden in een JCL proc:
//BXAASM PROC MEMB=,PROJ=,LVL= //* //* Copy source member to be used //* //COPY EXEC PGM=BXACOPY,PARM='MEMBER=&MEMB' //INPUT DD DSN=BIXOFT.&PROJ.&LVL..ASM,DISP=SHR // DD DSN=BIXOFT.&PROJ.P.ASM,DISP=SHR //OUTPUT DD SPACE=(TRK,(10,10,1),RLSE),DISP=(NEW,PASS,DELETE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920), // DSN=&&ASM(&MEMB) //* //... andere steps // PEND
Bekijk de source code van programma BXACOPY.
Dit programma ontlaadt alle members van een PDS in een enkele
IEBUPDTE-job waarmee de bibliotheek elders weer geladen kan worden.
Het programma accepteert een parameter, deze specificeert de
step-name voor
de te genereren IEBUPDTE-job.
Het voordeel van het IEBUPDTE-formaat is dat de broncode ook onder DOS, Windows, en Unix zichtbaar gemaakt en gewijzigd kan worden.
Onderstaand voorbeeld toont hoe BXAUNLD kan worden aangeroepen.
//BXAUNLD EXEC PGM=BXAUNLD,PARM='GOODIES' //SYSUT1 DD DSN=BIXOFT.GOODIES.ASM,DISP=OLD //SYSUT2 DD DSN=BIXOFT.GOODIES.UNLOAD,DISP=(NEW,CATLG,CATLG), // SPACE=(TRK,(10,10),RLSE),UNIT=3390,VOL=SER=TEMP00, // DCB=(LRECL=80,BLKSIZE=27920,RECFM=FB)
Bekijk de source code van programma BXAUNLD.
Opmerkingen? Vragen? Meer informatie? Klik het onderwerp van uw keuze aan, of e-mail ons met uw vragen.
Klassieke Assembler voorbeelden:
Bixoft's eXtended Assembly voorbeelden:
Deze site is aangesloten bij WebRing. Bekijkt u gerust de lijst van mainframe-gerelateerde sites. |
Dino's zijn niet dood. Ze zijn gezond en wel en leven in computer-centra overal om ons heen. Zij spreken in tongen en doen wonderbare magie met computers. Pas op voor de dino! En voor het geval u zit te wachten op het definitieve einde van deze dino's: onthoud dat dino's de wereld 155 miljoen jaren hebben geregeerd! | |
[ Aanmelden | Ring Overzicht | Willekeurig | | ] |