directoryc

ddd27 com  时间:2021-02-16  阅读:()
ReleaseOverviewextendProductSuiteVersion8.
0Acucorp,Inc.
8515MiralaniDriveSanDiego,CA92126858.
689.
4500CopyrightAcucorp,Inc.
,1998-2007.
Allrightsreserved.
Acucorp,ACUCOBOL-GT,Acu4GL,AcuBench,AcuConnect,AcuServer,AcuSQL,AcuXDBC,AcuXUI,extend,and"ThenewfaceofCOBOL"areregisteredtrademarksorregisteredservicemarksofAcucorp,Inc.
"COBOLVirtualMachine"isatrademarkofAcucorp,Inc.
Acu4GLisprotectedbyU.
S.
patent5,640,550,andAcuXDBCisprotectedbyU.
S.
patent5,826,076.
MicrosoftandWindowsareregisteredtrademarksofMicrosoftCorporationintheUnitedStatesand/orothercountries.
UNIXisaregisteredtrademarkoftheOpenGroupintheUnitedStatesandothercountries.
SolarisisatrademarkofSunMicrosystems,Inc.
,intheUnitedStatesandothercountries.
Otherbrandandproductnamesaretrademarksorregisteredtrademarksoftheirrespectiveholders.
E-01-RO-070924-ReleaseOverview-8.
0ContentsChapter1:OverviewofextendVersion8.
01.
1Introduction.
1-21.
2InteroperabilityEnhancements1-4AddedsupportforDRVandOCXfiles1-4EnhancementstoJavaInteroperability(C$JAVA)1-5ActiveXEnhancements1-6.
NETEnhancements1-6C$XMLEnhancements1-7InternetEnhancements.
1-81.
3DataAccessEnhancements1-9EnhancedDataFormatInformationforXFDFiles.
1-9Large(>2GB)TransactionLogEnhancementforVision.
1-91.
4CompatibilityWithOtherCOBOLs.
1-10++INCLUDESyntaxSupport1-10AddedSupportforIBMCOBOLXMLVerbs.
1-10COPY/REPLACINGandREPLACESyntaxExtensions.
1-11FILESTATUSExtensions1-11NewConditionsforEVALUATEWHENStatement1-11NewIBMCompatibilityMode.
1-12NEXTSENTENCEAllowedinREADStatement1-12PERFORMEnhancements1-13ConvertingNon-USAGEDISPLAYNumericItemstoUSAGEDISPLAY.
1-13--FpRoundingCompilerOption1-13SORTElementsofaWorking-storageTable.
1-13SORT-MESSAGESpecialRegister.
1-141.
5Performance.
1-14ImprovedComputationalPerformance.
1-141.
6ACUCOBOL-GTCompiler.
1-18NewandEnhancedCompilerSwitches.
1-18ACUCOBOL-GTUtilities.
1-23NewRemotePreprocessingUtility-Boomerang1-24Acucorp'sIndexedFileRecordEditor(alfred)1-24.
NETDefinitionGenerator(NETDEFGEN)1-25RuntimeDebugger.
1-25VisionFileUtility—vutil1-25ExternalSortUtility—AcuSort.
1-251-2NewandEnhancedLibraryRoutines1-26C$COPY.
1-26C$EXITINFO1-26C$FILEINFO.
1-26C$GETERRORFILEandC$SETERRORFILE(New)1-27C$GETPID1-27C$JAVA1-27C$SETVARIANT.
1-27C$SOCKET.
1-27C$XML.
1-28CBL_*_FILE(New)1-28WIN$PRINTER.
1-28W$PROGRESSDIALOG(New)1-29CodeGeneration1-291.
7ACUCOBOL-GTRuntime1-31NewandEnhancedConfigurationVariables.
1-31A_SEQ_DEFAULT_BLOCK_SIZE.
1-31ACCEPT_AUTO.
1-31ACU_USER_DIR.
1-32ALLOW_FS_OVERRIDE1-32ANSI_OUTPUT_IN_DEBUG1-32BTRV_USE_REPEAT_DUPS.
1-33COBLPFORM.
1-33CGI_CLEARS_MISSING_VALUES.
1-33EXTFH_KEEP_TRAILING_SPACES.
1-33GRID_NO_CELL_DRAG1-34NESTED_AX_EVENTS.
1-34PAGED_LIST_SCROLL_BAR.
1-35PARAGRAPH_TRACE&SCREEN_TRACE1-35PROFILE_TYPE.
1-36QUIT_ON_FATAL_ERROR.
1-36USE_MPE_REDIRECTION.
1-36USE_SYSTEM_QSORT.
1-37USE_WINSYSFILES.
1-37GraphicalTechnologyEnhancements1-37NewNO-CELL-DRAGStyleProperty.
1-37WheelmouseSupportforPagedGridandPagedListBox.
1-38AbilitytoScaleBitmaps.
1-38Auto-scrollWindowforTabbingtoControlsBeyondVisibleBounds1-381-31.
8AcuBench.
1-38NUM_COL_HEADINGS.
1-39ScreenDesignerEnhancements.
1-39ParameterEntry1-40DragandDrop1-40Screen-LevelPropertySheet1-40HTMLReportImprovement.
1-41PrecompilingwithBoomerang.
1-41AcuXUISupport.
1-41NewNavigationOption.
1-43PrintImprovement.
1-43New"DeleteFromDisk"Functionality1-43NewThinClientFlags.
1-43cblutilEnhancements.
1-44ToolbarandMenuIconsUpdated1-44CompilerWarnings.
1-44WheelmouseSupport.
1-44NewStyleandConfigurationVariable.
1-45NewCompilerOptions.
1-451.
9AcuConnect1-45ThinClient:RedirectingErrorOutput.
1-45ThinClient:NewTEXT36MessageNumber.
1-46ThinClient:LABELTitlesLargerThan1024Characters.
1-46ThinClient:MouseSupportforCharacterScreenSectionItems1-46ThinClient:ACCEPTFROMTERMINAL-INFOIncludesClientUserID.
1-46ThinClient:@[DISPLAY:]NotationNowAllowedWithC$FILEINFO1-46acurclSupportfor-kand-rRuntimeOptions.
1-47COBOLVirtualMachinetoLinkDataRemotelyBYREFERENCE1-471.
10AcuXDBCandAcuXDBCServer.
1-47EnhancedDataFormatInformationforXFDFiles.
1-47NewSUBTABLEDirective1-481.
11AcuSQL1-48ASQL_SQLSTATE_2000_ON_EODConfigurationVariable.
1-48Level-78Items.
1-49ACUSQL_ODBC_CURSORSConfigurationVariable.
1-49AutomaticLineBreaks.
1-49SQLStatementNames.
1-49ProcessSQLWithinCOPYFiles.
1-49RewriteofAcuSQLforSQLServer1-50SupportforINSERTCommandonGroupItems1-501-4BracketsinColumnNames1-50FETCHPositioncanbeaHostVariable1-50SupportforRowsetFunctions1-501.
12Acu4GL.
1-51ConfigurationOptiontosettheOracleSortOrdertoBinary.
1-51COBOLTriggers1-51DB_MAP,USEDIR_LEVELConfigurationVariables1-51RewriteofAcu4GLforMicrosoftSQLServer.
1-52EnhancedtransactionprocessingforAcu4GL/ODBCandAcu4GL/DB2.
1-53ConfigurableVARCHARhandlingforAcu4GLOracle/OCI1-531.
13TechnicalServices1-541OverviewofextendVersion8.
0KeyTopicsIntroduction1-2InteroperabilityEnhancements1-4DataAccessEnhancements1-9CompatibilityWithOtherCOBOLs1-10Performance.
1-14ACUCOBOL-GTCompiler.
1-18ACUCOBOL-GTRuntime1-32AcuBench1-40AcuConnect.
1-47AcuXDBCandAcuXDBCServer.
1-49AcuSQL.
1-50Acu4GL1-53TechnicalServices.
1-561-2OverviewofextendVersion8.
01.
1IntroductionAcucorpispleasedtoannounceVersion8.
0ofextend,thenextreleaseinourInteroperabilitySeries.
Version8.
0introducesbothnewproductsandenhancementsthatincreaseinteroperabilitywithotherlanguagesandtechnologies.
AdditionalenhancementsprovideaddedcompatibilitywithotherCOBOL,andfasterperformanceformath-intensiveapplications.
Version8.
0introducesthefollowingtopfeatures:AcuXUIThisnewproductisacross-platformuserinterfaceenginethatallowsagraphicalACUCOBOL-GTprogramtodisplayitsuserinterfaceonUNIXandLinuxplatformsaswellasWindowsplatforms.
WithAcuXUI,youdonotdirectlyexecuteyourCOBOLprogramusingtheruntime.
RatheryourunyourgraphicalapplicationbyissuingaJavacommandontheservercommandlineindicatingtheresourcestousetoruntheCOBOLprogram.
Becauseofitsplatformindependence,AcuXUIletsyoudeliveronegraphicalprogramonmultipleplatformswithpredictableresults.
AcuXUIisdocumentedinChapter11oftheACUCOBOL-GTUserInterfaceProgrammingGuide.
Version8.
0alsofeaturesnumerousenhancementstoimproveyourapplication'soverallperformance:ACUCOBOL-GTnowusesabinarymathoperationsbydefault.
ThisresultsinfasterperformanceformanyprogramsVisionhasbeenenhancedtoefficientlyWRITEorREADNEXTindexedfileswhilealockisheldonthefile.
Thiscanleadtoasignificantimprovementinruntimeperformance.
TheISNUMERICconditionaloperationonalphanumericorunsignedUSAGEDISPLAYdataitemsnowoperatemuchfasterthanbefore.
Thecompilernowproducesfastercodeforcomparisonoperationsinvolvingreferencemodifieddataitems.
Theimprovementtendstobemorepronouncedwhennativecodeisgenerated.
Introduction1-3Manyoperationsthatinvolvereferencemodificationcontainingarithmeticexpressionsarenowfaster.
Again,thisimprovementismorepronouncedwhenyouaregeneratingnativecode.
ThecompilernowproducesmoreefficientcodefortheGOTODEPENDINGONstatement.
Version8.
0alsoincludesseveralenhancementsthatarefocusedonIBMcompatibility.
ThisincludessupportforXMLPARSEandXMLGENERATEandtheadditionofseparateoptionstothecompilerswitch"-Cv"forOSVSandVSC2.
AnewremotepreprocessingutilitycalledBoomerangprovidesclientandservertechnologiesthatenableyoutoautomaticallytransferfilestoaremoteserver,invokeandperformpreprocessingonthatserver,thenreturnthepreprocessedfilestoyourclientmachinewhereadditionalcompilingcanoccur.
Manyproprietaryorthirdpartypreprocessorshavemachine-specificfunctionsthatrequirepreprocessingtooccurintheirnativeenvironments.
Boomerangmakesaccessingthesetypesofpreprocessorseasierandmoreefficient.
BoomerangisdocumentedinChapter3oftheACUCOBOL-GTUser'sGuide.
Finally,nearlyallofAcucorp'sproductshavebeenenhancedtoprovidegreaterflexibility,tosimplifydevelopmentefforts,andtoincreaseyourapplication'sfunctionality.
Forexample:BringingAcuBenchintotheforefrontofenterpriseapplicationdevelopmentbyallowingremotedebuggingofIBMCICSapplications,supportforAcuXUI,andBoomerang,modernizedtoolbarandmenuicons,HTMLreportimprovements,andnewstylesandconfigurationoptions.
PortingofACUCOBOL-GT,AcuConnect,AcuSQL,andAcu4GLtorunontheWindowsx64platform.
ReengineeringofAcuSQLandAcu4GLforMicrosoftSQLServertoaccessMicrosoftSQLServerusingthelatestMicrosoftcommunicationtechnology.
1-4OverviewofextendVersion8.
0Inadditiontohighlightingenhancementsbysolutioncategory,thisReleaseOverviewhighlightsnewfeaturesinVersion8.
0forthefollowingtechnologies:ACUCOBOL-GTCompilerACUCOBOL-GTCOBOLVirtualMachine(runtime)AcuBenchAcuConnectAcuXDBCTMAcuSQLAcu4GLUnlessotherwiseindicatedinthisoverview,pleaserefertotheirrespectivemanualsforcompletedetails.
Seeeachproduct'sonlineReleaseNotesforinformationnotincludedinthemanuals.
1.
2InteroperabilityEnhancementsThissectiondescribesenhancementsrelatedtoworkingwithothertechnologiessuchasJava,.
NET,andActiveXcontrols.
AddedsupportforDRVandOCXfilesPriortoVersion8.
0,youcouldnotcallonmoduleswithextensions".
drv"or".
ocx"eventhoughtheseweredynamiclinkedlibrariesjustasthosewiththeextensions"dll".
StartingwithVersion8.
0,theruntimesupportscallstoallofthesefiletypes.
ForinformationoncallingDLLs,refertoAGuidetoInteroperatingwithACUCOBOL-GT,Chapter3,section3.
3.
InteroperabilityEnhancements1-5EnhancementstoJavaInteroperability(C$JAVA)WhenCOBOLcallsJavafromtheruntimeandaJavaexceptionoccurs,itisnowpossibletogetastacktraceofthisinformation.
Theexceptioninformationwillbewrittentostderrorthe"-le"errorfile.
Version8.
0alsoaddsfunctionalityforhandlingJavaexceptionsthatmightbethrownwhentheC$JAVAlibraryroutinecallsJavafromCOBOL.
Therearetwonewcodesinsamples/def/java.
deftohandletheseexceptions:CJAVA-EXCEPTIONOCCURREDandCJAVA-GETEXCEPTIONOBJECT.
Anothernewop-code,CJAVA-SETSYSTEMPROPERTY,letsyouchangeasystempropertyfromaC$JAVAcall.
Forexample,youcansettheCLASSPATHenvironmentvariablethisway.
OtherchangessimplifytheuseofC$JAVA.
Namely,younolongerhavetopassamethodsignatureforadefaultconstructorwhenusingCJAVA-NEWwithC$JAVAandyounolongerhavetopassthenameofaclasswhenusingCJAVA-CALLorCJAVA-CALLNONVIRTUAL.
Thesebehaviorsarestillsupportedforbackwardcompatibility.
Anotherop-code,CJAVA-CALLJAVAMAIN,hasbeenaddedasaconvenienceforthepurposeofsimplifyingcallstoaJavamainmethod.
ItusedtorequirefourcallstoC$JAVAtocallaJavamainfunctionandpossiblysomeMOVEstatementsinordertopopulatethestringarray.
WiththeadditionofCJAVA-CALLJAVAMAIN.
ThesamethingcanbeaccomplishedwithonecalltoC$JAVA.
Inaddition,C$JAVAhasbeenenhancedtopreventthemostcommonconfigurationproblemsthatarisewhencallingJavafromCOBOL,specificallytheinabilitytofindtheJavaclasspathandlibrarypathsettings.
StartingwithVersion8.
0.
0,theruntimecheckswhatisbeingsetusingJAVA_OPTIONS.
Ifitisnotjava.
class.
path,thentheruntimesetsCLASSPATHfromtheconfigurationvariable.
Ifitisnotjava.
library.
path,thenitlooksfirstforLD_LIBRARY_PATHandsetsjava.
library.
pathusingthat.
OtherwiseitlooksforLIBPATHandPATHintheenvironmentinthatorderandsetsjava.
library.
pathusingeitherofthose.
Thiscausestheruntimetobehavemoreconsistentlyregardlessofplatform.
1-6OverviewofextendVersion8.
0ForinformationoncallingJavafromCOBOL,refertoAGuidetoInteroperatingwithACUCOBOL-GT,Chapter2,section2.
3.
TheC$JAVAroutineisalsodocumentedinACUCOBOL-GTAppendices,AppendixI.
ActiveXEnhancementsSupportforNestedActiveXandCOMEventProcedureshasbeenaddedtoVersion8.
0.
WhenanapplicationdialogcontainsanActiveXcontrolorCOMobjectthatisassignedaneventprocedure,theeventhandlersometimestriggersadditionalActiveXorCOMevents.
Bydefaulttheeventprocedureisnested,howeverstartingwithVersion8.
0,youcanusetheNESTED_AX_EVENTSconfigurationvariabletospecifywhetherornottheeventprocedureshouldbenested.
FormoreinformationonActiveXevents,refertoAGuidetoInteroperatingwithACUCOBOL-GT,Chapter4,section4.
4.
.
NETEnhancementsPreviousversionsofACUCOBOL-GTsupported.
NETassembliesversion1.
0.
AsofVersion8.
0,ACUCOBOL-GTsupports.
NETassembliesversion1.
1and2.
0.
TheNETDEFGENutilityhasbeenenhancedtorecognizebothversionsofassemblies,andthecompilerhasbeenenhancedtocompilebothversionsofassemblies.
InVersion8.
0,NETDEFGEN'sinterfacehasbeensimplifiedandaSettingsdialoghasbeenaddedtoeliminatethehand-generatedoptionsfile,helptheimplementationofmultiple.
NETversions,andaddpersistencetoyourdirectoryselectionsbetweeninvocations.
Inaddition,therehavealsobeenlargeamountsofcoderefactoring,optimizations,andimprovedannotationsaswellastheeliminationoftwosourcefiles.
TheCOPYfilesgeneratedbyNETDEFGENhavebeenenhancedtoimprovetheirreadability.
Namely:Eliminatedtherecordingofsomeannotationswhentheyweren'trelevant.
InteroperabilityEnhancements1-7Formattedenumerationssothattheyareeasiertoread.
Addedprocessingsothatinsteadofobjectmembers(methods,properties,events,etc.
)beingrecordedasthey'refoundinthesuppliedarray(apropertyhere,andeventthere,anotherproperty,etc.
),theyaregroupedtogetherintosections.
AllgeneratedILsourcefileshavehadtheirformattingimprovedaswell.
Updatedtheutility'shelpfile.
Thecommentaheadofeachmethod/propertyinthesefilesnowincludesareferencetothecurrentclasstoprovidecontext.
Forinformationonworkingwith.
NETassembliesfromCOBOL,refertoAGuidetoInteroperatingwithACUCOBOL-GT,Chapter5.
C$XMLEnhancementsCommentsCommentsinC$XMLarehandledslightlydifferentstartingwithVersion8.
0.
1.
Theynolongerincludetheexpression:'.
*-generatedbyACUCOBOL-GTv.
*'Ifyoudependonhavingthosecomments,youwillneedtoreworkyourapplicationinsomeway.
2.
Theyarenowseparatedbyasinglebyteoflow-valuesastheyareintheXMLfile.
NewC$XMLOp-codesforEncoding,Stand-alone,andProcessingInstructionsStartingwithVersion8.
0,anystylesheet(orotherprocessinginstructions)cannowberetrievedfromaparsedXMLfileandsetwhencreatinganXMLfile.
(Processinginstructionsareanynon-commentlinesafterthefirstxmltag,andbeforethefirsttop-levelelement.
)1-8OverviewofextendVersion8.
0Further,theversion,encoding,andstand-aloneattributesareretrievedfromthefile,andareavailabletotheCOBOLprogram.
TheCOBOLprogramcanalsosetnewvaluesfortheseattributes.
Finally,theDOCTYPEinformationcanberetrievedandset.
Allofthisinformationisincludedinthefilewhenitiswritten.
IftheCOBOLprogramdoesnotmodifyit,thenitwillbewrittenjustasitwasreadwhenthefilewasparsed.
Thereareninenewop-codesforC$XMLtoenablethesefunctions.
Allhavebeenaddedto"acucobol.
def".
Theseinclude:CXML-GET-PROC-INSTR-COUNT(OP-CODE36)CXML-GET-PROC-INSTR(OP-CODE37)CXML-GET-VERSION(OP-CODE39)CXML-SET-VERSION(OP-CODE40)CXML-GET-ENCODING(OP-CODE41)CXML-SET-ENCODING(OP-CODE42)CXML-GET-STANDALONE(OP-CODE43)CXML-SET-STANDALONE(OP-CODE44)CXML-GET-RAW-DOCTYPE-LEN(OP-CODE45)CXML-GET-RAW-DOCTYPE(OP-CODE46)CXML-SET-RAW-DOCTYPE(OP-CODE47)Twonewerrorcodescannowbereturned:CXML-INVALID-PROC-INSTR-NUMBER(value17)CXML-NO-PROCESSING-INSTRUCTIONS(value18)ForinformationonusingtheC$XMLroutine,refertoAGuidetoInteroperatingwithACUCOBOL-GT,Chapter11,section11.
2.
6.
Thislibraryroutineanditsop-codesarealsodocumentedinACUCOBOL-GTAppendices,AppendixI.
DataAccessEnhancements1-9InternetEnhancementsThemaximumsizeofinputtoaCGIprogramwhenREQUEST_METHOD=POSThasbeenraisedfrom32Kto2GB.
1.
3DataAccessEnhancementsInadditiontothedataaccessenhancementsdescribedinthissection,Version8.
0introducesseveralenhancementstoACUCOBOL-GTutilitiesrelatedtodatamanipulationsuchasAcuSortandvutil.
SeethesectionofthisReleaseOverviewfordetailsontheseenhancements.
EnhancedDataFormatInformationforXFDFilesAdditionalinformationisaddedtotheIdentificationSectionofVersion6XFDfilesthatindicatescompileroptionsorprogramsettings,whichmayhavebeenappliedtotheXFD.
Thisincludesfieldsthatidentifythefollowinginformation:Signcompatibility(specifiedbythevarious"-Dc"compileroptions)Maximumnumericdigits(setbythe"-Dd31"compileroption)Programperiod(decimalvalueofthecharacterusedastheprogramperiod)Programcomma(decimalvalueofthecharacterusedastheprogramcomma)XFDsaredocumentedinChapter5oftheACUCOBOL-GTUser'sGuide.
Large(>2GB)TransactionLogEnhancementforVisionVision(andlogutil)havebeenenhancedtoallowtransactionlogfilestobelargerthan2GB.
NotethatthehostoperatingsystemmustallowsuchlargefilesandthatonUNIXthe"USE_LARGE_FILE_API"configurationvariablemustbeset.
1-10OverviewofextendVersion8.
01.
4CompatibilityWithOtherCOBOLsACUCOBOL-GTisenhancedtomakeitmorecompatiblewithotherCOBOLsystems.
Inadditiontothefollowingsections,pleaserefertothesectiontitled"NewandEnhancedConfigurationVariables"forinformationregardingnewconfigurationvariablesforHPCOBOLandMicroFocuscompatibility.
++INCLUDESyntaxSupportThecompilernowsupportsINCLUDEsyntaxsupportedbyotherCOBOLvendors.
Thecompilerunderstands++INCLUDEtobeasynonymtoCOPY.
Filenamesreferencedby++INCLUDEaresearchedforinthesamewayasCOPYfiles.
AddedSupportforIBMCOBOLXMLVerbsACUCOBOL-GTnowsupportstheIBMEnterpriseCOBOLXMLGENERATEandXMLPARSEstatements.
ThissimplifiesIBMmigrationsandgivesyouanalternatewaytoreadandwriteXMLdatafromCOBOL.
XMLPARSEgivesyouawaytoparseXMLdataandprocessitinaCOBOLprogram,associatingprocessingprocedureswiththeexceptionandnon-exceptioncasesthatcanresultfromtheparse.
XMLGENERATEgivesyouawaytotranslateCOBOLdataintoXML.
Asbefore,ACUCOBOL-GTalsoincludesAcuXML,aruntime-residentinterfacethattransparentlyconvertsXMLdatatosequentialfilesforCOBOLprocessing,andC$XML,alibraryroutinethatgivesyouprecisecontroloverwhichelementsorattributesofthedatatoparse.
Adeveloperutilitycalledxml2fdcreatesFileDescriptors(FDs)andSELECTstatementsfromexistingXMLfilestosupportAcuXML.
CompatibilityWithOtherCOBOLs1-11Allthreeoftheseapproachescanbeusedtoparserecords-basedXMLfiles;however,onlyC$XMLandXMLPARSEcanbeusedtoparsenon-records-basedXMLfiles.
COPY/REPLACINGandREPLACESyntaxExtensionsACUCOBOL-GTnowsupportstheuseofcolons,parentheses,andasterisksasdelimitersforsubstringreplacing.
FILESTATUSExtensionsThecompilernowallowsaPIC99dataitemtobeusedasaFILESTATUSitemwithoutissuingawarning.
Inaddition,thecompilernowsupportsthespecificationofasecondFILESTATUSitem,whichistreatedascommentary.
BothofthesechangesareforIBM/COBOLcompatibility.
TheFILESTATUSphraseoftheFile-Controlparagraphnowsupportsthefollowingformat:[FileSTATUSIsstatus-variable[status-variable-2]]NewConditionsforEVALUATEWHENStatementSeveralnewconditionsarenowallowedfortheEVALUATEWHENstatement,asshownbelow:Forinformationon.
.
.
See.
.
.
AcuXMLandxml2fdSections11.
2.
2through11.
2.
5ofAGuidetoInteroperatingwithACUCOBOL-GTC$XMLlibraryroutineSection11.
2.
6ofAGuidetoInteroperatingwithACUCOBOL-GT,andAppendixIinACUCOBOL-GTAppendicesXMLGENERATEandXMLPARSEstatementsACUCOBOL-GTReferenceManual,Chapter6,"ProcedureDivision"1-12OverviewofextendVersion8.
0WHENWHENISGREATERTHANWHENEXCEEDSWHEN>=WHENISGREATERTHANOREQUALTOWHENWHENISUNEQUALTOIntheseconditionstatements,IS,THAN,andTOareoptionalwords.
NewIBMCompatibilityModeThe"-Cv"compileroptionnowtakesanoptionalsecondaryargumenttodistinguishbetweenOSVScompatibilityandVSC2compatibility.
Byitself,"-Cv"impliesOSVScompatibility.
Thetwomodesareverysimilar,exceptthatinVSC2compatibilitymode,thefollowingwordsarenotreserved:CURRENT-DATEEXAMINETIME-OF-DAYTRANSFORMNotethatCURRENT-DATEisavalidfunctioninanycompatibilitymode.
NEXTSENTENCEAllowedinREADStatementTheNEXTSENTENCEphrasemaynowappearinaREADstatement.
CompatibilityWithOtherCOBOLs1-13PERFORMEnhancementsAnin-linePERFORMstatementmaynowendwithaperiod(".
").
AnEND-PERFORMisnolongerrequired.
ConvertingNon-USAGEDISPLAYNumericItemstoUSAGEDISPLAYWithanew"-Vd"videocompileroption,non-USAGEDISPLAYnumericitemsareconvertedtoUSAGEDISPLAYbeforethescreendisplayoccurs.
ForcompatibilitywithotherCOBOLs,thisoptionisusedinconjunctionwiththe"-Ca"switch.
--FpRoundingCompilerOptionAnew"--FpRounding"compileroptionsimulatesthebehaviorofotherCOBOLsystemswithregardtoimpliedroundingwhenfloatingpointisusedinamathstatement.
Formoreinformationaboutthisoption,pleaserefertothe"NewandEnhancedCompilerSwitches"sectioninthisReleaseOverview.
SORTElementsofaWorking-storageTableTheSORTstatementcannowbeusedtosortelementsofaworking-storagetable.
Thesyntaxis:SORTdata-name-2[ONASCENDING/DESCENDINGKEYdata-name-1.
.
.
][WITHDUPLICATESINORDER][COLLATINGSEQUENCEISalphabet-name]1-14OverviewofextendVersion8.
0SORT-MESSAGESpecialRegisterWhencompilingforIBMcompatibility("-Cv"),thefollowingspecialregisterhasbeenadded:SORT-MESSAGE.
SpecialRegistersarevariablesthatrecognizedwithouthavingbeenexplicitlydeclaredintheprogram.
Theimplieddeclarationis:01SORT-MESSAGEPICX(8)EXTERNAL.
1.
5PerformanceVersion8.
0introducesavarietyofperformanceenhancementstoboththecompilerandruntime,includingimprovedcomputationalperformanceforACUCOBOL-GTarithmeticoperations.
ImprovedComputationalPerformanceHistorically,ACUCOBOL-GTperformedthemajorityofitsarithmeticoperationsusinga40-digitdecimalformat(68digitsifusingthe"-Dd31"compileroption).
Theadvantagesofthisformatareitshighprecision,compactcodesize,andeaseofportingtomanymachinearchitectures.
ItalsohasalowconversioncostwhenworkingwithUSAGEDISPLAYorPACKED-DECIMAL(COMP-3)values.
StartingwithVersion8.
0,ACUCOBOL-GTusesbinarymathoperationsasitsdefaultforarithmeticoperations.
Theprimarypurposeforthischangeistoimproveoverallapplicationperformance.
Thedecimaloperationsremainsinplacetohandlecertainhigh-precisioncasesandtomaintaincompatibilitywithexistingprograms.
ACUCOBOL-GTuserscanchoosewhichoperationtheyuse:thebinaryoperationforenhancedperformanceorthedecimalformatforstrictcompatibilitywithpriorcompilers.
Performance1-15AssociatedCompilerOptionsYoucancontrolwhichmathoperationsyourprogramusesviacompilerswitches.
ThefollowingtwoflagsarenewtoVersion8.
0:FunctionDescriptionTheBinarymathaffectstheoperationofthefollowingverbs:ADDSUBTRACTMULTIPLYDIVIDECOMPUTEItalsohasaroleincomparisonoperationswithequationsorinothersituationswhereequationscanappear,suchasreferencemodification.
Ingeneral,intermediateresultsupto9digitscanbestoredin32bitsandupto18digitsin64bits.
ManytraditionalCOBOLmathstatements"fit"thismodel,withthekeyexceptionsbeingwhenlargenumbersaremultipliedtogetheroranequationcontainsadivisionwhoseresultisfurtherusedbytheequation.
Thelattercasemayrequirecarryingalargenumberofdigitsafterthedecimalpoint.
Thebinarymathitselfperformsallofitsoperationsonintegerdata.
Thecompilerdoesscalingasneededtoproducetheproperarithmeticresult.
ThecblutilutilityrecognizesthenewbinaryinstructionsandgenerallyproducesadirectCPUimplementationofthem.
WhenitcannotproduceadirectCPUimplementation,cblutilcallssmallruntimehelperfunctions.
Whendecimalmathisused,nativecodecallstheruntimetoperformtheoperation.
--binaryMathForcestheuseofthebinarymathpackageifthetargetruntimeversioncansupportit.
Thisoptionoverridesanyotheroptions(canbeabbreviatedas"--bin").
--decimalMathForcestheuseofthedecimalmathpackageregardlessofanyotherflags(canbeabbreviatedas"--dec").
1-16OverviewofextendVersion8.
0ApplicationPerformanceGenerally,binarymathismoreefficientandcanbefasterthandecimalmathoperations.
Thisisparticularlytrueifyoucompilefornativecode("-n").
Binarymathperformsbestwhenworkingondatathatisalreadyinbinaryformat.
Typically,thetimeforconvertingnon-binarydataitems(typicallyDISPLAYorPACKED-DECIMAL)tobinaryexceedsthetimefortheactualmathoperation.
Forthisreason,USAGEBINARY(orsimilar)dataitemsarepreferredforcomputationalintensiveaspectsofaprogram.
Forexample,thefollowingdatatypesareefficientwithbinarymathoperations:BINARYCOMPCOMP-4COMP-5COMP-NCOMP-XCOMP-NSCOMP-XSSIGNED-SHORTUNSIGNED-SHORTNotethatCOMPistreatedasadecimalformatundersomecompileoptions,soitsefficiencyisclosertoUSAGEDISPLAYthanitistoUSAGEBINARY.
Theseoptionsare"-D2"(treatCOMPasCOMP-2)and"-Cr"(RM/COBOLcompatibility,whichimplies"-D2").
YoushouldalsonotethatSIGNED-INT,UNSIGNED-INT,SIGNED-LONG,UNSIGNED-LONG,andPOINTERarevariablesizedataitemsthatarenottreatedasnativebinaryitemsinthecurrentimplementation.
OperationresultsForallwell-definedcases,thecomputedresultsofthebinaryanddecimalmathoperationsshouldbethesame.
However,differentresultscanbeproducedforundefinedcases.
InCOBOL,iftheresultofamathoperationexceedsthestorageofthedestinationitem,theresultisa"sizeerror"andisundefinedunlesstheSIZEERRORphraseisspecified.
IftheSIZEERRORphraseisspecified,thecaseiswell-defined,andthetwooperationsbehavethesame.
Performance1-17IftheSIZEERRORphraseisabsent,thecaseisundefinedandthetwooperationscanproducedifferentresults.
Thedifferencesarecausedbywhathappenswhentheoperation'sinternalvariablesoverflow.
Considerthefollowingcode:77DATA-1PIC99BINARY,VALUE95.
COMPUTEDATA-1=DATA-1+10Boththedecimalandbinarymathoperationswouldgivetheresultofthiscomputationas"105".
However,"105"doesnotfitintoaPIC99dataitem,sotheresultistruncatedontheleftandDATA-1contains"05".
Thisresultis"undefined"underCOBOLrules,butthepracticaleffectoftheimplementationisthattheprogramcomputestheremainderoftheresultafterdividingby100.
Nowlet'slookatanothercase:77DATA-1PICS9(9)BINARY,VALUE999999999.
COMPUTEDATA-1=DATA-1*3Whenrunthroughthedecimaloperation,thebinaryDATA-1isconvertedtoaninternaldecimalformat,themultiplicationisperformed,andtheresultsareconvertedbacktobinary.
Thearithmeticallycorrectresultis"2999999997".
However,becausethisresultdoesnotfitintoaS9(9)item,theleadingdigitistruncatedandDATA-1receives"999999997"asitsfinalresult.
Whentheoperationisperformedbya32-bitbinaryoperation,theresultisstill"2999999997",butthatvalueisx"B2D05DFD"inbinary.
Thisvalueisindistinguishablefromthenegativevalue"-29497299",whichisstoredinDATA-1.
Inthiscase,theoverflowcausedtheresultingnumbertogonegativeinsteadofbeingtruncated.
Bothanswersare"correct"underCOBOLrules,becausethecaseisundefined.
Casesthatproducedifferentresultshaveakeycharacteristic.
Aresultcanbedifferentifanyofthecomputedintermediatevaluesorthefinalvalueexceedsthecapacityoftheoperation'sinternalstorage.
Thatcapacityiseither32or64bitsforthebinaryoperationor40digitsforthedecimaloperation.
1-18OverviewofextendVersion8.
0Whilemostprogramsprobablydonotrelyontheparticularbehaviorofoverflowresults,aprogrammayunintentionallydoso.
Forthisreason,usersupgradingtoVersion7.
3orlatermaywishtousethe"--decimalMath"(or"--dec")compileoptiontoavoidanyunwantedeffectsintheirprograms.
AcuBenchSupportDirectsupportforthetwonewmathoperationscompileroptions("--bin"and"--dec")isavailableintheAcuBenchProjectSettingsdialogCompilertab,intheMiscellaneouscatalog.
1.
6ACUCOBOL-GTCompilerThissectionprovidesinformationonthefollowing:NewandEnhancedCompilerSwitchesACUCOBOL-GTUtilitiesNewandEnhancedLibraryRoutinesCodeGenerationNewandEnhancedCompilerSwitchesVersion8.
0introducesthefollowingcompilerswitches.
CompileroptionsaredocumentedinChapter1oftheACUCOBOL-GTUser'sGuide.
--acceptrefreshThisoptiontakesthemostrecentvalueofwhatwasenteredonthescreenandthenusesthatvalueinsubsequentACCEPTstatements.
Ifyouentersomethinginascreensectionthatgoestoavariable,thenMOVEsomethingtothatvariable,the--acceptrefreshoptionwillallowthesubsequentlyMOVEDvaluetobethebasisofwhatisinthenextACCEPTstatement.
ACUCOBOL-GTCompiler1-19--binaryMathCausesthecompilertousebinarymathoperationstohandlearithmeticaslongasthetargetruntimesupportstheseoperations.
Thiscanbeabbreviated"--bin".
Refertothe"ImprovedComputationalPerformance"sectionofthisReleaseOverviewformoredetails.
-CeThe"-Ce"compileroptionisenhanced.
ItcurrentlyallowsyoutospecifyadefaultsourcenameextensionthatisusedforboththemainsourcefileanditsCOPYfiles.
Inpreviousversions,ACUCOBOL-GTautomaticallyadjustedtheCOPYfileextensionspecifiedin"-Ce"forupperorlowercasetomatchthecaseofthenameitwasbeingappendedto.
ItthensearchedfortheCOPYfile.
InVersion8.
0,ifthisfirstsearchfails,ACUCOBOL-GTmatchesthecaseoftheextensionspecifiedinthe"-Ce"compileroptiontoperformasecondsearchfortheCOPYfile.
Notethatthisaffectsonlyoperatingsystemswithacase-dependentfilesystem,suchasUNIX.
1-20OverviewofextendVersion8.
0-CvThisoption,whichsetsthecompilertoitsIBMDOS/VScompatibilitymodehasbeenenhanced.
SincethereareslightdifferencesbetweenIBMCOBOLversions,"-Cv"nowtakesthefollowingoptionalarguments:"-Cv=OSVS"specifiesOSVScompatibility.
"-Cv=VSC2"specifiesVSC2compatibility.
"-Cv"byitselfdefaultstoOSVSmode.
Thetwomodesareverysimilar,exceptthatinVSC2compatibilitymode,thefollowingwordsarenotreserved:CURRENT-DATEEXAMINETIME-OF-DAYTRANSFORMNotethatCURRENT-DATEisavalidfunctioninanycompatibilitymode.
--decimalMathCausesthecompilertousedecimalmathoperationstohandlearithmetic,overridingothercompilerflags.
Thiscanbeabbreviated"--dec".
Refertothe"ImprovedComputationalPerformance"sectionofthisReleaseOverviewformoredetails.
ACUCOBOL-GTCompiler1-21-eThe"-e"optionhasbeenenhancedsothatwhenspecifyingaruntimeerrorfilename,youcanusethefollowingformatspecifiers:"%p"Ifthenamecontainsthestring"%p",thatstringisreplacedwiththeprocessID(PID)oftheruntime.
"%d"Ifthenamecontainsthestring"%d",thatstringisreplacedwiththecurrentdateintheformYYYYMMDDwhereYYYYistheyear,MMmonth,andDDday.
"%t"Ifthenamecontainsthestring"%t",thatstringisreplacedwiththecurrenttimeintheformHHMMSSTTTwhereHHisthehour,MMminute,SSsecond,andTTTmilliseconds.
"%u"Ifthenamecontainsthestring"%u",thatstringisreplacedwiththeusername.
"%h"Ifthenamecontainsthestring"%h",thatstringisreplacedwiththehostname.
NotethatthesespecifiersmayalsobeusedinthefilenamesconfiguredwiththeACU_MON_FILEandACU_DUMP_FILEconfigurationvariables.
--FpRoundingSimulatesthebehaviorofotherCOBOLsystemswithregardtoimpliedroundingwhenfloatingpointisusedinamathstatement.
Thiscase-insensitiveoptionisfollowedbyanequalssign("=")andoneofthefollowing:OSVSmeansthatanymathstatementcontainingafloating-pointdataitemasasendingitemhas"ROUNDED"impliedforeveryreceivingitem.
VSC2meansthatanymathstatementcontainingafloating-pointdataitemaseitherasendingitemorareceivingitemhas"ROUNDED"impliedforeveryreceivingitem.
1-22OverviewofextendVersion8.
0--noTruncAllbinarydatatypesignoretheirPICTUREwhendeterminingthelargestvaluetheycanhold.
However,thePICTUREisusedwhenmovingdatafromabinarynumbertoanonnumericdataitem.
ThenameofthisoptionissimilartothenameusedbysomeotherCOBOLsystemsthatbehavethisway.
--powerProducescodethatiscompatiblewithPOWERandPOWER2processors,aswellasPowerPCandlaterPOWERseriesprocessors.
Thisoptionallowsyoutouseawiderangeofmachines,butitmayaffectperformance.
Theexisting"--ppc"optionproduces32-bitPowerPCcodethatiscompatiblewithPOWER3,POWER4,andPOWER5machines.
ThiscodedoesnotruncorrectlyonPOWER-orPOWER2-basedmachines.
TheseoptionsarealsoavailablefortheACUCOBOL-GTcblutilutility.
-VdCausestheconversionofnon-USAGEDISPLAYnumericitemstoUSAGEDISPLAYbeforethescreendisplayoccurs.
ACUCOBOL-GTCompiler1-23-W1Generatesthefollowing01-levelitemwarning:USINGparameterisnotan01-levelitemTheANSICOBOLstandardrequiresthatparameterspassedtosubprogramsbe01-levelitems.
ACUCOBOL-GTdoesnotrestrictthemassuch;however,therearevalidreasonsforrestrictingtheiruse.
Forexample,startinginversion7.
0.
0,thecompilercangeneratebettercodeforcertainmovesandcomparisons,basedonthealignmentoftheunderlyingdatatypes.
WhenthosedatatypesareinLINKAGE,thealignmentrulesthatthecompilerassumesmaynotbevalid.
Makingallofthepassedparameters01-levelitemsensuresthatthecompiler'sassumptionsaboutalignmentofthedataitemsarevalid.
Notethatthecompilercangenerateincorrectcodewhentheassumptionsareinvalid.
Insuchsituations,itispossibletogetaMAVatruntime.
-WaGeneratesthefollowingalignmentwarning:USINGparameternotalignedandmaycauseproblemsinthecalledsubprogramTobelessrestrictive,thecompileralsoincludesanalignmentwarning.
Thisisgeneratedwheneverapassedparameterisagrouporisbinary,anditsalignmentisnotanevenmultipleofthealignmentspecifiedbythe"-Da#"option.
1-24OverviewofextendVersion8.
0ACUCOBOL-GTUtilitiesVersion8.
0introducesanewutilityprogramforperformingremotepreprocessingaswellasenhancementstoseveralexistingutlitiessuchastheruntimedebugger,vutil,andAcuSort.
NewRemotePreprocessingUtility-BoomerangVersion8.
0introducesthenewremotepreprocessingutilitycalledBoomerang.
TheBoomerangutilityprogramincludesclientandservertechnologiesthatenableyoutoautomaticallytransferfilestoaremoteserver,invokeandperformpreprocessingonthatserver,thenreturnthepreprocessedfilestoyourclientmachinewhereadditionalcompilingcanoccur.
Manyproprietaryorthirdpartypreprocessorshavemachine-specificfunctionsthatrequirepreprocessingtooccurintheirnativeenvironments.
Boomerangmakesaccessingthesetypesofpreprocessorseasierandmoreefficient.
WithBoomerangyoucan:Sendsourcefiles,COPYfiles,anduserINCLUDEfilesfromaWindowsorUNIX/LinuxclienttoaUNIX/Linuxserver.
Invokeandrunpopularthird-partypreprocessorssuchasPro*COBOLorinvokecustom-builtpreprocessors.
Havepreprocessedoutputfiles,errorfiles,andstatusreturnedtoyourclientmachine.
UseBoomerangwiththeACUCOBOL-GTcompiler's"-Pg"optiontoperformmultiplepreprocessingsteps.
SeeChapter3oftheACUCOBOL-GTUser'sGuidefordetailedinstructionsonBoomerangsetupandusage.
ACUCOBOL-GTCompiler1-25Acucorp'sIndexedFileRecordEditor(alfred)AsofVersion8.
0,Acucorp'sIndexedFileRecordEditor(alfred)isprovidedasasampleprogramandislocatedinthe"sample"folderunder"AcuGT".
YoucandownloaddetailedinformationonusingalfredinPDFformatfromourWebsiteatthefollowingaddress:http://www.
acucorp.
com/support/public/sample_programs/index.
php.
.
NETDefinitionGenerator(NETDEFGEN)TheNETDEFGENutilityhasbeenenhancedtorecognize.
NETassembliesversion1.
1and2.
0.
NETDEFGEN'sinterfacehasbeensimplifiedandaSettingsdialoghasbeenadded.
TheCOPYfilesgeneratedbyNETDEFGENhavebeenenhancedtoimprovetheirreadability.
RuntimeDebuggerAqualifierisnolongerneededinthedebuggerformultiplefieldshavingthesamename.
Inpreviousversions,whenthedisplay("d")commandwasusedtodisplaythevalueofaWorking-Storagedataiteminthedebugger,andmorethanonedataitemwiththatnamehadbeendefined,aqualifierwasrequired.
Forexample,iffield-1isdefinedintwogroupsinWorking-Storage,asshownhere:01group-1.
05field-1picxx.
01group-2.
05field-1picxx.
Thedebuggerwilldisplaythevalueofalloccurrencesofthefield.
TheRuntimeDebuggerisdocumentedinChapter3oftheACUCOBOL-GTUser'sGuide.
VisionFileUtility—vutilThevutil"-load"and"-unload"commandsnowbuffertheinputfileaccordingtotheA_SEQ_DEFAULT_BLOCK_SIZEconfigurationvariable'svaluewhenthatvariableissetintheenvironment.
Pleasereferto1-26OverviewofextendVersion8.
0the"NewandEnhancedConfigurationVariables"sectioninthisReleaseOverviewformoreinformation.
ThevutilutilityisdocumentedinChapter3oftheACUCOBOL-GTUser'sGuide.
ExternalSortUtility—AcuSortToimproveperformance,thefilebufferlayerofAcuSorthasbeenenhancedtobettermanageitshashofbufferblocksandtoaddread-aheadcapability.
Twonewkeywordshavebeenaddedtothe"take"filesyntax:CHAR-ASCIIandSIGN-ASCII.
CHAR-ASCIIputsAcuSortintoASCIIcharactermode,andSIGN-ASCIIputsAcuSortintoASCIIsignmode.
ThesetwonewkeywordsmirrortheoperationoftheCHAR-EBCDICandSIGN-EBCDICandmakeitpossibletoswitchbackandforthbetweenthedifferentmodes.
ThismeansyoucanputmultipleSORT/MERGEoperationsinasingle"take"filethatusesdifferentcharactersetsorsignmodes.
AcuSortstilldefaultstoCHAR-ASCIIandSIGN-ASCIImode.
TherestrictionthattheSIGNandCHARmodespecificationsmustoccurpriortoallSORT/MERGEinstructionsnolongerapplies.
Anewtracingbithasalsobeenaddedtodisplaythevariousmodes.
AcuSortisdocumentedinChapter3oftheACUCOBOL-GTUser'sGuide.
NewandEnhancedLibraryRoutinesThissectionbrieflydescribesnewandenhancedlibraryroutines.
DetaileddescriptionsofalllibraryroutinesappearinChapterIoftheACUCOBOL-GTAppendicesManual.
C$COPYThisroutinehasbeenenhancedtocopyfilesremotelyastextfilesinsteadofcopyingonlyinbinarymode.
ThisfunctionalityapplieswhencopyingbetweenUNIXandWindowssystems,wheretextfileshavedifferentlineterminatorcharacters.
ACUCOBOL-GTCompiler1-27C$EXITINFOYoucancallanewC$EXITINFOlibraryroutinefromanENDprocedureinthedeclarativestoreturninformationwhenanENDprocedureisspecifiedwiththeUSEATPROGRAMENDstatement(Format6).
SyntaxinformationcanbefoundinAppendixI,inBook4,ACUCOBOL-GTAppendices.
C$FILEINFOThe"@[DISPLAY:]"notationisnowallowedfortheFILE-NAMEparametertoC$FILEINFO.
C$GETERRORFILEandC$SETERRORFILE(New)Theseroutinesreturnthenameoftheruntimeerrorfileasspecifiedwiththeruntime"-e"commandlineoption,orwithacalltotheC$SETERRORFILEroutine.
Theseroutinesprovideameansforapplicationstoembedidentifyinginformationintheruntimeerrorfilename.
Whenspecifyingaruntimeerrorfilename,youcanaddidentifyinginformationtothatnamebyusingnameformatspecifiers.
Forexample,youcanhaveinformationsuchastheprocessID,date,time,username,orhostnameautomaticallyinsertedinplaceofthecorrespondingformatspecifieryouchoose.
C$GETPIDThisfunction,previouslysupportedonlyonUNIX,isnowsupportedonWindowsandprovidesthesamefunctionalityasonUNIX.
C$JAVASeeSection1.
2,"InteroperabilityEnhancements"foradetaileddescriptionoftheC$JAVAenhancements.
C$SETVARIANTThislibraryroutineisnowsupportedinthinclientenvironmentsandincludesallserveroperatingsystemssupportedbytheThinClient.
NotethatC$GETVARIANTisnotsupportedatthistime.
1-28OverviewofextendVersion8.
0C$SOCKETThisroutinehasbeenenhancedwiththeadditionofseveralnewoperationcodes:AGS-GETHOSTADDR-Thisisusedtogettheaddressofthelocalhostindottednotation(192.
15.
4.
32)whenC$SOCKETreturns.
AGS-GETSOCKETPORT-Thisisusefulwhenpassing"0"astheportnumberwhencreatingasocket,sinceasocketiscreatedonsomeunknownportinthatcase.
Thisfunctioncanthenbeusedtodeterminetheactualportbeingused.
C$XMLSeeSection1.
2,"InteroperabilityEnhancements"foradetaileddescriptionoftheC$XMLenhancements.
CBL_*_FILE(New)SixnewfunctionshavebeenaddedtotheruntimeforreadingandwritingfilesthatarecompatiblewithotherCOBOL'sroutines.
Theseroutinesincludethefollowing:CBL_CLOSE_FILECBL_CREATE_FILECBL_FLUSH_FILECBL_OPEN_FILECBL_READ_FILECBL_WRITE_FILEWIN$PRINTERWINPRINT-UPDATE-PRINTERSThisnewfeatureenablesprogrammerstoforcetheruntimetoreloadtheinternalprinterlistsothatanychangestothatlist(e.
g.
,newprinteradded)willbedetectedbytheCOBOLprogram.
ACUCOBOL-GTCompiler1-29WINPRINT-SET-BKMODEThisnewfeatureenablesprogrammerstosetthebackgroundmodefortheirprinting.
Thisisusefulforaddingwatermarkeffectstoprints.
WINPRINT-COLUMN-ALIGN-VERTThisoperationcodeenablesyourCOBOLapplicationtosupportprintingrequeststhatcontainfontsofalternateheights.
Thisop-codetellstheruntimetofindthetallestfontandaligntheprintsothatalltheprintononelinecomesoutwithoutanyoverlapofanotherlineofprint.
WINPRINT-SETUP-EXThisoperationcodeenablesyoutoinvoketheMicrosoftSDKPrintDlgEXprinterdialog.
Thisprinterdialogisstrictlyusedforselectingaprinter.
Thisoperationcodeisalsosupportedinthinclientenvironments.
W$PROGRESSDIALOG(New)W$PROGRESSDIALOGprovidesaccesstothefeaturesoftheWindowsprogressdialogbox.
Thisroutinecanbeusedtocreateamodalormodelesswindowcontainingaprogressdialogandtosetitstitle,animation,textlines,progress,andcancelmessage.
Theprogressdialogcanbeconfiguredtoautomaticallyestimateanddisplaythetimeremaininguntiltheoperationcompletes.
Progressdialogwindowsaretypicallyusedwhendeleting,copying,moving,uploading,ordownloadinglargefilesoralargenumberoffiles.
Theycanalsobeusedwhenperformingatime-consumingoperationthatyouwanttoallowtheusertocancelatanytime.
1-30OverviewofextendVersion8.
0CodeGenerationSegmentedProgramCodeNoLongerProducedWithVersion8.
0,ACUCOBOL-GTmovestoa"flatmemory"model,sosegmentedprogramcodeisnolongersupported.
Programsmaynowhaveupto16MBofProcedureDivisioncodepercompilationunitfornon-nativecode(anincreasefrom1MB).
Nativecodemayexceedthisamountaslongasthenon-nativeequivalentdoesnotexceed16MB.
IFstatementsinprogramswithmorethan64KBofcodemaybemoreefficientinnon-nativecodeduetosimpleraddresshandling.
Notethatthe"-Zg"compileroptionisignoredforVersion8.
0orlaterobjects.
Youmayneedtoremove"-Zg"fromyourcompilescriptsifyoureceiveanewwarningfromthecompiler.
SegmentedDataSpaceNoLongerCreatedBeginningwithVersion8.
0,alldataisstoredinasingle,32-bitaddressabledataspace,simplifyinginternalmemorymanagement.
Withthischange,allprogramdataiscontiguous,whichmaybeexpectedbynon-COBOLsubroutinesorsomeexternaltools.
Asaresult,themaximumdataallowedperprogramisincreasedto2GB,asisthemaximumdataitemsize.
Theactuallimitwillbesomewhatless,astheruntimeneedssomeaddressingspacetorun.
POWERversusPowerPCCodeGenerationInpreviousversions,cblutilproducedinstructionsthatranunderbothPowerPCandPOWERCPUarchitectureswhengeneratingPowerPCnativecode.
AsofVersion8.
0,thisisnolongerthecase.
Version8.
0providesanewcompileroptionandenhancesanexistingoptiontogeneratecodethatiscompatiblewithPowerPCandPOWERCPUarchitectures.
TheseoptionsareavailablefortheACUCOBOL-GTcblutilutility.
Anew"--power"optionproducescodethatiscompatiblewithPOWERandPOWER2processors,aswellasPowerPCandlaterPOWERseriesprocessors.
Thisoptionallowsyoutouseawiderangeofmachines,butitcanaffectperformance.
Forexample,ifyoudecidetousethe"--power"ACUCOBOL-GTCompiler1-31optioninordertorunonolderAIXmachines,youwillnotgetsomeoftheperformancebenefitsifyoualsoexecuteonnewAIXmachinesonaPOWER3,-4,or-5architecture.
Theexisting"--ppc"optionproduces32-bitPowerPCcodethatiscompatiblewithPOWER3,-4,or-5machines.
ThiscodedoesnotruncorrectlyonPOWER-orPOWER2-basedmachines.
1-32OverviewofextendVersion8.
01.
7ACUCOBOL-GTRuntimeThissectiondescribesruntimeenhancementsastheyrelatetothefollowingcategories:NewandEnhancedConfigurationVariablesGraphicalTechnologyEnhancementsNewandEnhancedConfigurationVariablesInadditiontothedescriptionsinthisReleaseOverview,allACUCOBOL-GTruntimeconfigurationvariablesaredescribedincompletedetailinChapterHoftheACUCOBOL-GTAppendicesManual.
A_SEQ_DEFAULT_BLOCK_SIZEThisconfigurationvariabledeterminesthesizeofthebuffertousewhenaccessingasequentialfilewhosedefinitionhasnoBLOCKCONTAINSclause.
Whenset,A_SEQ_DEFAULT_BLOCK_SIZEspecifiesthesizeofthebufferincharacters,roundeduptothenearestpowerof2thatisgreaterthanorequaltothatvalue.
Thedefaultvalueis"0",whichsetstheblocksizeto1record.
Notethatthisvariabledoesnotapplytoprintfilesortofileswithnamesthatstartwithahyphenfollowedby"D"or"P".
YoucansetA_SEQ_DEFAULT_BLOCK_SIZEintheenvironmenttoallowthevutil"-load"commandtobuffertheinputfileaccordingtothevariable'svalue.
Themaximumbuffersizeis1GB.
Ifthisvariableisnotset,thedefaultbufferblocksizeis4096bytes.
Ifitissetto"0",vutil"-load"performsrecord-basedI/Oonasequentialfile.
ACCEPT_AUTOThisconfigurationvariableappliesonlywhenrunninginHPCOBOLcompatibilitymode(withthe"-Cp"compileroption).
TheACCEPT_AUTOconfigurationvariablecausestheruntimetotreatallFormat1ACCEPTstatementsasiftheAUTOphraseisused,whetherornotAUTOappearsinthestatement.
Setthisvariableto"1"(on,true,yes)toenablethisbehavior.
Thedefaultvalueis"0"(off,false,no).
ACUCOBOL-GTRuntime1-33ACU_USER_DIRInpreviousversions,theACUCOBOLconfigurationvariablewasusedtospecifythedefaultlocationofauserdebuggersettingsfile.
Becausethisvariablemaybeneededforotherreasons,anewACU_USER_DIRvariableiscreatedforthispurpose.
Whenset,ACU_USER_DIRspecifiesthedirectoryfortheuser'sdebuggersettings(".
adb")file.
Thedefaultvalueis"NULL",whichretainscurrentruntimebehavior.
ALLOW_FS_OVERRIDETheruntimehasbeenenhancedtoenabletheusertodetermineiftheactualEXTFHreturnstatuswillbereturnedorifthereturnstatusshouldbetranslatedbytheruntime.
Previously,theruntimealwaystranslatedtheEXTFHreturnstatus.
Setthenewruntimeconfigurationvariable,ALLOW_FS_OVERRIDE.
Thedefaultsettingis"True"or"1"andwillcausetheactualEXTFHreturnstatustobereturnedtotheuser.
Settingthisvariableto"False"or"0"willcausetheEXTFHreturnstatustobetranslatedbytheruntime.
ANSI_OUTPUT_IN_DEBUGThisvariablepreventsaCOBOLprogramthatusesANSI-styleDISPLAYstatementsfrominterferingwiththeruntimedebuggerwindow.
Thisvariableacceptstwopossiblevalues:"CANVAS"or"TERMINAL".
Whensetto"CANVAS"(thedefaultsetting)theruntimeconstructsadefaultcanvasonwhichtoplacetheANSIoutput.
ThispreventstheANSIoutputfrominterferingwiththedebuggerwindow.
NotethatifyourCOBOLprogramsendsescapesequencestotheterminal,thismodewillcausethoseescapesequencestonothavetheintendedresult.
Whensetto"TERMINAL",theruntimewillsendANSIoutputtotheterminal,possiblyinterferingwiththeviewofthedebuggerwindow.
Thisishowtheruntimebehavedbeforetheimplementationofthisnewfeature.
Notethatthisconfigurationvariablemustbesetbeforetheruntimeinitializestheterminalmanager,whichmeansyoucannotsetthisvariablefromaCOBOLprogram.
1-34OverviewofextendVersion8.
0BTRV_USE_REPEAT_DUPSThereisanewconfigurationvariableforusewiththeBtrieveinterfacethatcontrolsbehaviorrelatedtoduplicatekeys.
Previously,theBtrieveinterfacealwayscreatedduplicatekeysasLINKEDduplicates(thedefaultforBTRIEVEfiles).
SetBTRV_USE_REPEAT_DUPSasdesired.
Whensettothedefaultvalueof"FALSE",theBtrieveinterfacewillcreateallduplicatekeysasLINKEDduplicates.
Whensetto"TRUE",theBtrieveinterfacewillcreateallduplicatekeysasREPEATINGduplicates.
SeethePervasivedocumentationforinformationonREPEATINGduplicatesandreasonsforusingthem.
COBLPFORMPreviously,thecompilerandruntimeallowedprintingonlytoC01(channel1),whichwasalwaysassignedthevalueofline1.
Withthisenhancement,anewconfigurationvariablecalled"COBLPFORM"enablesyoutodefineandprinttoall12printchannels.
CGI_CLEARS_MISSING_VALUESThisconfigurationvariablecontrolswhetheranACCEPTsetsthevalueofnumericdataitemstozeroandnonnumericitemstospacesiftheCGIvariableisemptyordoesnotexistinCGIinputdata.
SettheCGI_CLEARS_MISSING_VALUESvariableto"0"(off,false,no)toprohibitACCEPTfromclearingthesedataitemvaluesinthissituation.
Thedefaultvalueis"1"(on,true,yes).
EXTFH_KEEP_TRAILING_SPACESAnewEXTFH_KEEP_TRAILING_SPACESconfigurationvariableallowsyoutopreservetrailingspacesinline-sequentialfilerecordswhenusingourEXTFHmodulewithEXTSM.
Setthisvariableto"1"toretainthetrailingspaces,whichistheruntime'sdefaultbehavior.
Withadefaultvalueof"0",trailingspacesareremoved.
ACUCOBOL-GTRuntime1-35GRID_NO_CELL_DRAGAnewstylepropertycalled"NO-CELL-DRAG"enablesyoutopreventtheuserfromdraggingacellinaGRIDcontrol.
Anewconfigurationvariablecalled"GRID_NO_CELL_DRAG"makesNO-CELL-DRAGthedefaultstyleforallgridcontrols,asopposedtospecifyingtheNO-CELL-DRAGstyleindividuallyforeachgridcontrol.
ToconfiguretheNO-CELL-DRAGstyleasthedefaultsettingforallgridcontrols,settheGRID-NO-CELL-DRAGconfigurationvariableto"1"(on,true,yes).
Thedefaultvalueis"0"(off,false,no)andwillenabletheusertodragacellinaGRIDcontrolunlessyouspecifyNO-CELL-DRAGstyleforthatparticulargrid.
NESTED_AX_EVENTSWhenanapplicationdialogcontainsanActiveXcontrolthatisassignedaneventprocedure,theeventhandlersometimestriggersadditionalActiveXevents.
Thisvariabledetermineswhetherornottheeventprocedurewillbenested.
Setthisvariableto"1"(on,true,yes)ifyouwanttheeventproceduretobenested.
(Thisisthedefault).
WhenNESTED_AX_EVENTSissetto"1",theruntimeallowseventstotriggerwhileitisprocessingotherevents.
Itisyourresponsibilitytoknowwhentheeventprocedureisbusyandrejecteventswhenthisisthecase,ortolookforspecificeventsandproperlyhandlethem.
Forexample,considerthiscode:AX-EVENT.
MOVE1TOMY-LOOP.
PERFORMUNTILMY-LOOP=10*DosomestuffADD1TOMY-LOOPEND-PERFORMWhenNESTED-AX-EVENTSissetto"1",itispossiblethatwhenyourcodeisinsidetheevent,possiblyexecutingtheloopforthefifthtime,aneweventtriggers,settingMY-LOOPbackto"1".
Theperformloopcouldexecutesimultaneouslyintwothreadsonthesamedata,andtheruntime1-36OverviewofextendVersion8.
0couldcrash.
Whenyoudonothavereentrantevents,MY-LOOPcanonlybecome"1"onetime.
ThisisthecasewhenNESTED-AX-EVENTSaresetto"0".
SetNESTED_AX_EVENTsto"0"(off,false,no)ifyoudonotwanttheeventproceduretobenested.
Beaware,however,thatthisoptionmaycauseyoutolosecertainevents(typicallyeventstriggeredbymodificationsmadeintheeventprocedure).
WhenNESTED_AX_EVENTSissetto"0",onceaprogramhasenteredanActiveXcontrol'seventprocedure,neweventsareignored.
Thispreventstheruntimefromexecutingthesamecode,atthesametime.
However,eventsthatareimperativeforthecodeexecutionmayberefused.
Note:NESTED_AX_EVENTSappliesonlytothelocalruntimeandhasnoeffectinthinclientscenarios.
PAGED_LIST_SCROLL_BARThisvariablecontrolstheappearanceofascrollbaronpagedlistboxcontrolsintext-modeenvironments.
PAGED_LIST_SCROLL_BARcanbesetto"-1","0",or"1".
Thedefaultvalueis"-1".
Whensetto"-1",theverticalscrollbarisdisplayedtotherightofapagedlistboxiftheuserinterfaceconfigurationsupportsamouse.
Otherwise,therightborderappearsjustliketheleftborder.
PARAGRAPH_TRACE&SCREEN_TRACETwonewruntimeconfigurationvariableshavebeenintroducedtoallowformoretracingoptions.
SetPARAGRAPH_TRACEto"1"(on,true,yes)toturnonparagraphtracingfromwithintheconfigurationfileortheCOBOLprogram.
Thisisequivalenttothedebugger"tp"command.
TheCOBOLprogrammustbecompiledwithsymbols("-Gs",oranythingthatimpliesthatoption)togetanyerroroutput.
SetSCREEN_TRACEto"1"(on,true,yes)toturnonscreentracingfromwithintheconfigurationfileortheCOBOLprogram.
Thisisequivalenttothedebugger"ts"command.
ACUCOBOL-GTRuntime1-37PROFILE_TYPEThisnewvariableprovidesanoptionalmethodofprofilingACUCOBOL-GTonWindowscalled"COUNTER".
ThecountermethodusesthedebuggertoperformcountingandappearstoprovidethemostaccurateresultsinWindowsenvironments.
SetthePROFILE_TYPEconfigurationvariabletoeither"ASYNCH"or"COUNTER".
Whensettothedefaultvalueof"ASYNCH",theruntimeperformsprofilingthewayithistoricallyhas.
Whensettothevalue"COUNTER",theruntimeusesthenewmethodofprofiling.
NotethatyourCOBOLprogramsmustbecompiledwith"-Gd"aswellas"-Gs"optionsinordertotakeadvantageofthisnewmethod.
ThisnewmethodisalsoavailableonUNIXandcanbeusedifprofilingyourCOBOLresultsinamessagesimilarto"profiletimerexpired".
Thisnewmethoddoesn'tcompletelysolvethatproblem,butitdoessubstantiallymitigateit.
QUIT_ON_FATAL_ERRORThisconfigurationvariableappliesonlywhenrunninginHPCOBOLcompatibilitymode(withthe"-Cp"compileroption).
AnewQUIT_ON_FATAL_ERRORconfigurationvariablecausestheruntimetocalltheMPEQUITintrinsicwhenanerroroccurs.
TheMPEjobcontrolword(JCW)isthenset,andtheMPEenvironmentcandetermineiftheprogramterminatedwithafatalerror.
Whensetto"1"(on,true,yes),QUIT_ON_FATAL_ERRORcallstheMPEQUITintrinsic.
Thedefaultsettingis"0"(off,false,no).
USE_MPE_REDIRECTIONThisconfigurationvariableappliesonlywhenrunninginHPCOBOLcompatibilitymode(withthe"-Cp"compileroption).
WiththeuseoftheUSE_MPE_REDIRECTIONconfigurationvariable,inputforanACCEPTstatementisreadfromthefilespecifiedbySTDIN=,andoutputfromaDISPLAYstatementiswrittentothefilespecifiedbySTDLIST=ontheRUNcommandline.
Toenablethisbehavior,setUSE_MPE_REDIRECTIONto"1"(on,true,yes).
Thedefaultvalueis"0"(off,false,no).
1-38OverviewofextendVersion8.
0USE_SYSTEM_QSORTThisnewvariableinstructstheruntimeSORTroutinetousethesystemqsort()function,ratherthanthebuilt-insortfunction.
SetUSE_SYSTEM_QSORTto"1"ifyouwanttousethesystemqsort()function.
Thedefaultvalueis"0"andresultsintheuseofthebuilt-insortfunction.
Somesystemshaveqsort()functionsthatperformbetterthanthebuilt-infunction.
Considerexperimentingwiththisvariable'ssettingstodetermineifthisoptionyieldsbetterperformanceonyoursystem.
Payparticularattentiontothenumberofcomparisonsdoneduringthesort,whichcanbeseenintheruntimetraceoutput.
USE_WINSYSFILESThisvariablespecifieswhethertheruntimeshouldrecognizecallstomoduleswiththeextensions".
drv"and".
ocx"aswellasthosewiththeextension"dll".
Bydefault,itissetto"1"(on,true,yes).
Forbackwardscompatibility,youcanturnthisfeatureoffbysettingitto"0"(off,false,no).
Then,onlycallsto".
dll"filesaresupported.
GraphicalTechnologyEnhancementsThissectionbrieflydescribesnewfunctionalityforgraphicaluserinterfaceprogramming.
YoucanfinddetailedprogramminginstructionsontheseenhancementsintheACUCOBOL-GTUserInterfaceProgrammingguide.
NewNO-CELL-DRAGStylePropertyAnewstylepropertycalledNO-CELL-DRAGenablesyoutopreventtheuserfromdraggingacellinaGRIDcontrol.
AnewconfigurationvariablecalledGRID_NO_CELL_DRAGmakesNO-CELL-DRAGthedefaultstyleforallgridcontrols,asopposedtospecifyingtheNO-CELL-DRAGstyleindividuallyforeachgridcontrol.
ACUCOBOL-GTRuntime1-39WheelmouseSupportforPagedGridandPagedListBoxACUCOBOL-GTnowsupportswheelmouseeventsforpagedgridsandpagedlistboxes.
Thenewevents(definedinacugui.
def)areasfollows:PagedGRIDMSG-PAGED-NEXT-WHEEL,MSG-PAGED-PREV-WHEELPagedLISTBOXNTF-PL-NEXT-WHEEL,NTF-PL-PREV-WHEELThesearenewexceptions/eventsandarehandledinasimilarwayasthepagedeventsforlistboxesandgrids.
Fordetailsonusingtheseevents,refertotheACUCOBOL-GTUserInterfaceProgrammingguide,Chapters3and6.
Additionally,asampleprogramcalled"WheelEvent.
cbl"demonstratestheuseoftheseeventsandisincludedintheACUCOBOL-GTsamplesdirectoryinstalledaspartofthedevelopmentsystem.
AbilitytoScaleBitmapsNewbitmapcontrolpropertiesenableyoutoapplyautomaticresizingofbitmapstofittheareaonaformwheretheimageistobedisplayed.
RefertotheACUCOBOL-GTUserInterfaceProgrammingmanual,Chapter5,forcodinginstructionsrelatedtothesenewproperties.
Auto-scrollWindowforTabbingtoControlsBeyondVisibleBoundsIncasesinvolvinggraphicalwindowswithscrollbars,userscantabtoacontroloutsideofthevisiblearea;andtheruntimewillscrollthewindowinordertomakethatcontrolvisible.
1-40OverviewofextendVersion8.
01.
8AcuBenchThissectiondescribesthemajorenhancementsmadetoAcuBench.
NoteworthyenhancementsincludesupportforAcuXUI,Boomerang,updatedtoolbarandmenuicons,HTMLreportimprovements,andnewstylesandconfigurationoptions.
NUM_COL_HEADINGSTheAcuBenchPropertysheetforthegridcontrolnowincludesaNumColumnHeadingsoptiontogenerateavaluefortheNUM_COL_HEADINGSpropertyintheScreenSection.
Thegridcontrol'sNUM_COL_HEADINGSpropertyisdocumentedinBook2,section5.
11.
2oftheACUCOBOL-GTmanualset.
ScreenDesignerEnhancementsLogoScreenDisplayTimeIfyouusetheScreenDesignertodesignscreensforaprogram,AcuBenchgivesyoutheoptionintheProgramPropertiesinterfacetosetoneofthosescreensasalogoscreen.
Inpreviousversions,thisscreendisplayedfortwosecondsbeforethemainprogramscreenwasdisplayed;therewasnowaytoconfiguretheamountoftimethelogoscreendisplayed.
Now,whenyouchoosetodisplayalogoscreen,Version8givesyoutheoptiontodeterminehowlongthescreenwillbedisplayedbeforethemainapplicationwindowappears.
Youcanchooseatimebetween1and300seconds.
AcuBench1-41ResetControls'TabOrderImprovementIntheAcuBenchScreenDesigner,itispossibletoviewandrearrangethetaborderofscreenelementsbyopeningtheResetControls'TabOrderinterface.
Thisscreenpresentsalistofcontrolsbytabnumber.
Inpreviousversions,whencontrolsinthelisthadverylongnames,itwassometimesdifficulttodistinguishbetweencontrolswithsimilarnames.
Inversion8.
0,ahorizontalscrollbarhasbeenaddedtothecontrollistintheResetControls'TabOrderdialogbox.
Thescrollbardisplayswhenevercontrolnamestoolongtofitinthelistboxappear.
ParameterEntryInpreviousversions,AcuBenchusersenteredparametersinanentryfieldoftheExecutewithParametersdialogbox.
Inversion8.
0,thatentryfieldhasbeenreplacedwithacomboboxthatcanbeexpandedtodisplayalistofuptotwentypreviouscommandexecutionparameters.
DragandDropControlLabelsWhenyouusetheDragandDropinterfacetocreatecertaintypesofcontrols(suchasentryfields,checkboxes,radiobuttons,andsoon),thecontrolisassociatedwithalabelorgivenatitlethatmatchesthenameofthedataitemassociatedwiththecontrol.
Forexample,ifyouuseDragandDroptocreateanentryfieldassociatedwiththe"client-id"fieldinanFD,alabelwiththetitle"client-id"isdrawnnexttotheentryfield.
Version8.
0makesitpossibletoautomatetheprocessofcreatingmoredescriptivelabelsortitlesforthesecontrols.
IfyouusetheXFDtaboftheFileDesignertoassignaNamedirectivetoafield,youcanelecttohaveDragandDropusethatname,ratherthanthefieldname,whencreatingtitlesandlabels.
Whenthisoptionisenabled,theseassignednameswillalsoappearintheDragandDropandAutoloadinterfaces,evenforcontroltypes(suchaslistboxes)thatarenotgenerallyassociatedwithalabelcontroloratitleproperty.
1-42OverviewofextendVersion8.
0AutoloadComboBoxesInversion8.
0,theDragandDropAutoloadDialogfunctionalityhasbeenaddedtocomboboxesforcharacterscreens.
Screen-LevelPropertySheetTheAcuBenchscreen-levelpropertysheetnowincludestheoption"NoClose",whichaddstheNO-CLOSEpropertytogeneratedcodeusedtoDISPLAYthescreen.
HTMLReportImprovementInpreviousversions,whenyouusedtheAcuBenchReportComposertocreateanHTMLreport,embeddedspacesintitlesorvaluesformanycontrolswerecollapsedatruntime.
Labelcontrols,forexample,supportedembeddedspacesinliteralvalues,butnotvariables.
Theentryfield"DisplayType"propertyallowedsomeoptionsforpreservingspacesinvariables,butnotaffectliteralvalues.
Inversion8.
0,anewoption,"CollapseSpaces,"hasbeenaddedtotheTools/Options/ReportWriter/Generalinterface.
Whenthisoptionisenabled(thedefault),thebehaviordescribedaboveismaintained.
Whenthisoptionisdisabled,embeddedspacesarepreservedintheHTMLcodeforthereportandappearinthereportoutput.
Forentryfields,iftheTools/Options"CollapseSpaces"checkboxismarked,theDisplayTypepropertyisused.
Ifthecheckboxisnotmarked,thevaluesintheentryfieldaretreatedasthoughthe"KeepSpaces"optionwereselected,regardlessoftheactualvaluesetfortheDisplayTypeproperty.
PrecompilingwithBoomerangYoucantakeadvantageofanAcuBenchinterfacetotheBoomerangclientutility.
TheBoomerangutilitysendssourcefilestoaremoteserverforpreprocessing,thenreturnstheprecompiledsourcetothelocalmachineforcompiling.
AcuBench1-43FordetailedinformationabouttheBoomerangutility,includingserversetupandconfiguration,seeChapter3oftheACUCOBOL-GTUser'sGuide.
AcuXUISupportVersion8.
0providessupportforprogramsthatuseAcuXUItechnologythroughthefollowingenhancements:NewEnvironmentVariablesTheenvironmentvariableCLASSPATHDIRhasbeenaddedtotheEnvironmenttaboftheProjectSettingsinterface.
YoushouldsetthisvariabletothedirectorythatcontainstheAcuXUI.
jarfile.
Ithasadefaultvalueof%acudir%/bin.
TheenvironmentvariableXUIJARhasbeenaddedtotheProjectSettinginterface.
Youshouldsetthisvariabletothenameofthejarfile.
IthasadefaultvalueofAcuXUI.
jar.
TheenvironmentvariableXUIPARAMShasbeenaddedtotheProjectSettingsinterface.
ThisallowsyoutopassJavaparametersaspartoftheJavacommandline.
USEAcuXUICommandThe"UseAcuXUI"commandhasbeenaddedtotheAcuBenchBuildmenu.
Whenyouselectthisoption,AcuBenchusestheAcuXUIenvironmentvariablessetintheProjectSettingsinterfacetoexecuteprograms.
ThiscommandoperatesverymuchliketheBuildmenu's"UseThinClient"option.
Notethatyoucaninvokeboththe"UseAcuXUI"and"UseThinClient"commandstorunaremoteprogramusingAcuXUI.
Ifyouarerunninglocally,thecommandlinethatAcuBenchusestoexecuteaprogramwithAcuXUIisasfollows:javawcom.
acucorp.
acuxui.
AcuXUI$XUIPARAMS--acucobolgt"RuntimePath""ProgramPath"1-44OverviewofextendVersion8.
0IfyouareusingtheAcuConnectThinClient,thecommandlinethatAcuBenchusesisasfollows:javawcom.
acucorp.
acuxui.
AcuXUI$XUIPARAMS-s-p-rAlias-nameNewNavigationOptionInpreviousversions,ifanAcuBenchuserhadseveralCodeEditororgraphicaldesignwindowsopen,itwassometimesdifficulttonavigatebetweentheopendocumentsortodiscernquicklywhichdocumentswereopen,especiallywhenthedesigner/editorwindowsweremaximized.
InVersion8.
0,eachtimeyouopenadocument,atabassociatedwiththatdocumentisaddedtoatablistatthetopandbottomofthedesignareaoftheIDE.
Youcanbringanopendesigner/editorwindowimmediatelytotheforegroundbyclickingthetabassociatedwiththedocument.
ThisissimilartothedesignusedbyMicrosoftVisualStudio.
NET.
PrintImprovementVersion8.
0allowsyoutoprintthecontentsoftheoutputwindow.
Right-clickanywhereinsidetheoutputwindowandselectPrintfromthepop-upmenutosendthecontentsoftheselectedoutputwindowtabtothedefaultprinter.
New"DeleteFromDisk"FunctionalityIntheStructural,File,andDataviewsoftheWorkspacewindow,theright-clickpop-upmenuincludesa"DeleteFromDisk"option.
Inpreviousversions,whenyouchosethisoption,theselectedfilewasdeletedfromtheharddisk.
Now,whenyouchoose"DeleteFromDisk",thecorrespondingfileissenttotheWindowsRecycleBin.
AcuBench1-45NewThinClientFlagsTwoVersion7.
2thinclientruntimeflags,"--wait"and"--restart",havebeenaddedtotheAcuBenchProjectSettingsinterface.
Thisintegratesbackgrounddebuggingcapability(asitrelatestoTransactionProcessingsystems)intoAcuBench.
SeetheACUCOBOL-GTInteroperabilityGuide,section9.
8.
2.
3fordetailsonbackgrounddebugging.
AnAcuBenchdialogenablesuserstostartandkeeptrackofthinclientprocessesthatarerunninglocallyin--waitmode.
Thinclientprocessescanbestartedandstoppedfromthisdialog.
cblutilEnhancementsTwoVersion7.
2enhancementstocblutilhavebeenaddedtothegraphicalcblutl32interface,accessedthroughtheAcuBenchToolsmenu.
Theutility'sLibrarytabnowincludestheoptiontoincludeacommentinthelibrary(the"-c"flag);theInformationtabincludesanoptiontoshowextendedlibraryinformation(the"-x"flag).
ToolbarandMenuIconsUpdatedTheAcuBenchtoolbarbuttonsandmenuicons,aswellasothericonsusedthroughouttheinterface,havereceivedafaceliftforVersion8.
It'sthefunctionalityyou'reusedtowithaclean,contemporarylook.
CompilerWarningsTwonewcompileoptions("-Wl"and"-Wa")havebeenaddedtotheCompilertaboftheProjectSettingsinterface.
If"-Wl"isset,thecompilerissuesawarningwhenparameterspassedtoacalledprogramarenot01-levelitems.
If"-Wa"isset,thecompilerissuesanalignmentwarningwhenabinaryorgroupdataitemispassedwhosealignmentisnotanevenmultipleofthealignmentspecifiedbythe"-Da#"option.
1-46OverviewofextendVersion8.
0WheelmouseSupportVersion8.
0includeswheelmousesupportforthepagedgridandlistboxcontrols.
TheEventtaboftheAcuBenchPropertywindowhasbeenenhancedtoaddcodeinsertionpointsforpaged-gridandlist-boxwheelevents.
Inaddition,theautomaticallygeneratedcodeforautoloadpagedlistboxeshasbeenupdatedtohandlewheelevents.
NewStyleandConfigurationVariableAnewstyleandconfigurationvariablewerecreatedtoaffectgridbehavioratruntime.
AcuBenchnowincludessupportfortheseenhancements.
WhenworkingwithagridcontrolintheScreenDesigner,youcanspecifytheNO-CELL-DRAGstyleinthePropertywindow.
Tosetthisstyleasthedefault,addtheGRID-NO-CELL-DRAGconfigurationvariabletoyourruntimeconfigurationfile.
NewCompilerOptionsCompileroptions"-Pe"and"-Pw"havebeenaddedtoVersion8.
0.
AcuConnect1-471.
9AcuConnectThissectiondescribesseveralVersion8.
0enhancementstoAcuConnectandtheThinClient.
ThinClient:RedirectingErrorOutputWhenusing"-ee"tospecifyanerrorfile,theruntimereopensstderrintothenewfile.
Thiscanbeusefulwhenyoulinkroutinesthatusestderrorstartnewchildprocessesthatwritetostderr.
acurclnowaccepts"-ee"(andpreservesthatstate)whentheuserspecifiesthecommandlinetouse.
Whenauserspecifies"-eeerrorfile"asaruntimeoption,theruntimereopensstderr(insteadofusingitsownfile)andallimageerrorsgototheruntimeerrorfile.
Noshellredirectionisrequired.
ThinClient:NewTEXT36MessageNumberMessagenumber"36"hasbeenaddedtotheTEXTconfigurationvariable.
ThismessagenumberenablesyoutocustomizethemessagetextthatisreturnedwhenThinClientdoesnotreceivearesponsefromtheserver.
ThinClient:LABELTitlesLargerThan1024CharactersThelengthofaLABELtitleunderthethinclientwaslimitedto1024characters.
Thislimithasbeenlifted.
ThinClient:MouseSupportforCharacterScreenSectionItemsThinclientnowincludessupportfortheMOUSEconfigurationvariables,selectingacharacterScreenSectionitemwiththemouse,andchangingthemouseshapewhenitpassesoverfields.
1-48OverviewofextendVersion8.
0ThinClient:ACCEPTFROMTERMINAL-INFOIncludesClientUserIDAnewvariablecalledCLIENT-USER-IDhasbeenaddedtotheTERMINAL-ABILITIESgroupitemintheacucobol.
deffile.
WhenIS-REMOTEistrue,theCLIENT-USER-IDfieldisfilledinwiththeclient-sideloginnameofthecurrentuser.
Thisisthenametheuserenterswhenloggingintotheclientthatisrunningacuthin.
Ifitisnotset,acuthinlooksfortheenvironmentvariable"USERNAME".
Ifthatisnotset,thentheliteral"USER"isplacedinthisfield.
ThinClient:@[DISPLAY:]NotationNowAllowedWithC$FILEINFOThe"@[DISPLAY:]"notationisnowallowedfortheFILE-NAMEparametertoC$FILEINFO.
acurclSupportfor-kand-rRuntimeOptionsacurclnowsupportstheuseof"-k"and"-r"runtimeoptionsinthealiasfile'scommandline.
Withthe"-k"option,thescriptfilenamedissearchedfirstontheclientmachineandthenontheserver(asdescribedintheW$KEYBUFlibrarycall).
Withthe"-r"option,thescriptfilenamedissearchedonlyontheserver.
COBOLVirtualMachinetoLinkDataRemotelyBYREFERENCEWiththeimplementationofthenewCOBOLVirtualMachineAPI,theruntimecanexecuteremoteCOBOLobjectswithoutrequiringaCOBOLobjecttobeexecutingontheclient.
Forexample,youmighthaveanapplicationdevelopedinC,C++,Java,Delphi,orVisualBasicrunningontheclientandusingtheCVM.
AcuConnectcanexecuteaCOBOLobjectremotelyandsharedatawiththeCOBOLVirtualMachine.
AcuXDBCandAcuXDBCServer1-491.
10AcuXDBCandAcuXDBCServerVersion7.
4introducedthenewAcuXDBC,whichreplacedAcuODBC.
SeetheAcuXDBCUser'sGuidefordetailedinformationonthefunctionalityaddedtoAcuXDBCincludingcomparisonsbetweenthepreviousAcuODBCproductline.
SinceVersion7.
4isarelativelynewreleasewithmanynewfeatures,Version8.
0enhancementsfocusedontwomainimprovementsthataredescribedinthissection.
EnhancedDataFormatInformationforXFDFilesAdditionalinformationisaddedtotheIdentificationSectionofVersion6XFDfilesthatindicatescompileroptionsorprogramsettingsthatmayhavebeenappliedtotheXFD.
Thisincludesfieldsthatidentifythefollowinginformation:Signcompatibility(specifiedbythevarious"-Dc"compileroptions)Maximumnumericdigits(setbythe"-Dd31"compileroption)Programperiod(decimalvalueofthecharacterusedastheprogramperiod)Programcomma(decimalvalueofthecharacterusedastheprogramcomma)NewSUBTABLEDirectiveAnewdirectivecalledSUBTABLEhasbeenaddedtothecompilerandXFDparsingroutines.
ThisdirectivemodifiesthewayfieldsthatappearinanOCCURSclauseareprocessed.
ThisdirectiveinstructstheXFDparsingroutinesnottoappendtheoccurrencenumbertothefieldname,butinsteadstorejustthebasenamealongwiththenameofthesubtableaswrittenintheXFDfile.
1-50OverviewofextendVersion8.
0Note:AcuXDBCistheonlyproductthatcurrentlymakesuseofthisdirective.
OtherproductsthatuseXFDssuchasAcu4GLdonotsupportthisdirective.
1.
11AcuSQLVersion8.
0ofAcuSQLreceivedextensiveenhancementstoimproveperformanceandincreasefunctionality.
Thissectiondescribesthesemajorenhancements.
ASQL_SQLSTATE_2000_ON_EODConfigurationVariableSomeembeddedSQLproductssetSQLSTATEtothevalueof"02000"whenendofdataisreachedonFETCH(SQLCODE=100).
Anewconfigurationvariable,ASQL_SQLSTATE_2000_ON_EOD,enablesyoutoduplicatethisbehavior.
Level-78ItemsLevel-78itemsarenowallowedinthepicturesofalphahostvariables.
However,Level-78itemsarestillnotallowedinthepicturesofnumericvariables.
ACUSQL_ODBC_CURSORSConfigurationVariableTheMicrosoftcursorlibrarywasremovingthe"FORUPDATE"clausefromSELECTstatements,resultinginrecordsnotbeinglocked.
Topreventthis,anewconfigurationvariable,ACUSQL_ODBC_CURSORS,blocksthelibraryfrombeingloaded.
AcuSQL1-51AutomaticLineBreaksIncertainsituations,AcuSQLnowaddslinebreaksbeforeandaftervariousstatementsandfollowingcodegenerationtoimprovereadability.
SQLStatementNamesToenableyoutocacheSQLstatementsatsomelatertime,thepre-compilernowgeneratesSQLstatementnamesthatpreviouslyhadtheformSQLISTMasSQLISTM####where"####"isasequentialnumericvalueuniquetoapre-compiledprogram.
ProcessSQLWithinCOPYFilesAcuSQLhasbeenenhancedtoenabletheprocessingofESQLlocatedwithinCOPYfiles.
Inaddition,AcuSQLhasbeensignificantlymodifiedthroughtheadditionanddeletionofseveralprecompilerandcompileroptions.
Refertosection3.
2.
2oftheAcuSQLUser'sGuidefordetailsonpreprocessingoptions.
RewriteofAcuSQLforSQLServerTheAcuSQLruntimeforSQLServerhasbeenrewrittentoremovethedependencyontheproprietaryDBLIBlibraryfromMicrosoft.
Instead,theruntimeusesODBCtocommunicatewithSQLServer.
SupportforINSERTCommandonGroupItemsInpreviousversions,ithasbeenpossibletoSELECTagroupitem,butnottoINSERTagroupitem.
InVersion8,thepre-compilernowsupportstheuseoftheINSERTcommandonagroupitem.
1-52OverviewofextendVersion8.
0BracketsinColumnNamesSomeSQLenginesallowbracketsaroundcolumnnamesaspartofthecolumn,forexample[TestDate].
InVersion8.
0,thepre-compilerhasbeenmodifiedtoacceptbracketsincolumnnames.
FETCHPositioncanbeaHostVariableYoucannowspecifyarowpositionthroughahostvariablewhenfetchingfromacursorthatusestheABSOLUTEorRELATIVEextensions.
Inpreviousversions,thespecifiedrowpositionhadtobeaconstant.
SupportforRowsetFunctionsTheAcuSQLpreprocessorhasbeenenhancedtoallowforrowsetfunctions.
MicrosoftSQLServerincludesseveralbuilt-inrowsetfunctions,andalsoallowsuserstodefinetheirownrowsetfunctions.
Acu4GL1-531.
12Acu4GLThissectiondescribesenhancementsmadetothevariousAcu4GLinterfaces.
ConfigurationOptiontosettheOracleSortOrdertoBinaryTheorderofreturnedrecordscanbechangeddependingonthenativelanguage'ssortorderifthecorrectOracleconfigurationoptionsarenotset.
AnewconfigurationvariablecalledA_ORA_NLS_SORTisusedtoforcethesortorderofthereturnedrecordstobeinbinaryorder.
Setthisnewvariable,A_ORA_NLS_SORTto"1"toturnoffthedefaultbinaryorderandusethenativelanguagesortinstead.
Thedefaultis"0",whichmeansthatthesortorderwillnotbetheNLSsortorderandwill,instead,bebinary.
NotethatA_ORA_NLS_SORTmustbesetbeforethefirstdatabasefileisaccessed.
COBOLTriggersThereisanewXFDdirectiveforinstructingAcu4GLthataCOBOLtriggeristobeexecuted.
ThedirectiveiscalledCOBOL-TRIGGER.
PleaseseeChapter4intheACUCOBOL-GTUser'sGuidefordetailedprogramminginstructions.
TriggersareprogramsthatcanbecalledtoexecutebeforeandaftereveryREAD,WRITE,REWRITEandDELETEoperation.
DB_MAP,USEDIR_LEVELConfigurationVariablesAcu4GLhasnewconfigurationvariablesformappingdirectoryspecificationstodatabases.
ThesevariablesallowuserstouseFILE-PREFIXasalistofdirectories,eachofwhichmapstoadifferentdatabase.
Thereisalsoanewvariableformappingfilenames(withdirectory1-54OverviewofextendVersion8.
0information)totablenames.
Thisallowsyoutousefilesofthesamename,whichwouldnormallygointoseparatedirectories,asseparatenamesinasingledatabase.
Currently,thesevariablesareavailablewiththeMSSQLandSybaseAcu4GLinterfaces.
RewriteofAcu4GLforMicrosoftSQLServerAcu4GLforMicrosoftSQLServer(MSSQL)hasbeenrewrittentoremovethedependencyontheproprietaryDBLIBlibraryfromMicrosoft.
Instead,theruntimeusesODBCtocommunicatewithMSSQLServer.
Intheprocessoftherewrite,severalconfigurationvariablesthatarenolongerneededwereremoved.
Theinterfaceshouldbea"drop-in"replacementfortheoldversion,andperformanceshouldbeimproved.
Configurationvariablesthatarenolongersupportedarethefollowing:A_MSSQL_CHECK_DELETE_SPA_MSSQL_CHECK_INSERT_SPA_MSSQL_CHECK_READ_SPA_MSSQL_CHECK_UPDATE_SPA_MSSQL_EXTRA_PROCA_MSSQL_FORCED_INDEXA_MSSQL_NO_DBCLOSENewconfigurationvariablesarethefollowing:A_MSSQL_APPROLE_NAMEA_MSSQL_APPROLE_PASSWDThesevariablescanbeusedtohaveAcu4GLforMSSQLuseapproles.
Beforeconnectingtoadatabase,setthesevariablestothenameoftheroleandtothepasswordforthatrole.
Theruntimewillthenbesettousethatapprole.
Formoreinformationonapproles,pleaseseetheMSSQLServerdocumentation.
Acu4GL1-55EnhancedtransactionprocessingforAcu4GL/ODBCandAcu4GL/DB2AnewsetofconfigurationvariableshavebeenaddedtoallowAcu4GL/ODBCandAcu4GL/DB2tofunctionmorelikeAcu4GL/Oraclewhenworkingwiththeconfigurationvariable4GL_COMMIT_COUNT.
Thesevariablesare:A_DB2_ALTERNATE_COMMIT_LOGICA_ODBC_ALTERNATE_COMMIT_LOGICTheprimarypurposeofthevariable4GL_COMMIT_COUNTistoprovideforapplicationsthatmustcommunicatewithatransaction-orienteddatabase,buthavenotcodedtransactionsintotheirCOBOLapplication.
Now,whendeterminingwhetherornottoissueacommit,thecurrenttransactionstatusisnotchecked.
Forexample,iftheconfigurationfilehasthesetting:4GL_COMMIT_COUNT=1everyWRITEisimmediatelycommitted.
ThispreventsanapplicationfromrollingbackanyoftheWRITEoperations.
WhenA_ODBC_ALTERNATE_COMMIT_LOGIC=1issetforAcu4gl/ODBCorA_DB2_ALTERNATE_COMMIT_LOGICissetforAcu4GL/DB2,thevalueof4GL_COMMIT_COUNTischeckedaftereachWRITE,REWRITE,DELETE,orUNLOCKoperation.
Acommitcausedbythesettingof4GL_COMMIT_COUNTisissuedonlyiftheruntimeisnotcurrentlyinatransaction.
ThisfunctionalitymorecloselymatchesthebehaviorfoundinAcu4GL/Oracle.
ConfigurableVARCHARhandlingforAcu4GLOracle/OCIAnewconfigurationvariable,A_ORA_VARCHAR_MODE,allowsyoutoincludeorleaveoutspacesinfieldsthatarepassedtoOraclevariable-lengthfields.
Thisconfigurationvariableisparticularlyusefulifyourapplication1-56OverviewofextendVersion8.
0interfaceswithinternationaldatabasesandcontainsvariable-lengthcharacterfieldsinwhichacharacteriscomposedofmultiplebyteswithtrailingspacessignificanttotheformationofacharacter.
SeeSectionC.
4oftheAcu4GLUser'sGuidefordetailsonusingandsettingthisvariable.
1.
13TechnicalServicesYoucanreachAcucorpTechnicalServicesintheUnitedStatesMondaythroughFridayfrom6:00a.
m.
to5:00p.
m.
Pacifictime,excludingholidays.
Youcanalsoraiseandmanageproductissuesonlineandfollowtheprogressoftheissueorpostadditionalinformationdirectlythroughthewebsite.
Followingisourcontactinformation:Forworldwidetechnicalsupportinformation,pleasevisithttp://supportline.
microfocus.
com.
Phone:+1858.
689.
4502Phone:800.
399.
7220(intheUSAandCanada)Fax:+1858.
689.
4552E-mail:support@microfocus.
comOnline:http://supportline.
microfocus.
com

建站选择网站域名和IP主机地址之间关系和注意要点

今天中午的时候有网友联系到在选择网站域名建站和主机的时候问到域名和IP地址有没有关联,或者需要注意的问题。毕竟我们在需要建站的时候,我们需要选择网站域名和主机,而主机有虚拟主机,包括共享和独立IP,同时还有云服务器、独立服务器、站群服务器等形式。通过这篇文章,简单的梳理关于网站域名和IP之间的关系。第一、什么是域名所谓网站域名,就是我们看到的类似"www.laozuo.org",我们可以通过直接记...

极光KVM美国美国洛杉矶元/极光kvmCN7月促销,美国CN2 GIA大带宽vps,洛杉矶联通CUVIP,14元/月起

极光KVM怎么样?极光KVM本月主打产品:美西CN2双向,1H1G100M,189/年!在美西CN2资源“一兆难求”的大环境下,CN2+大带宽 是很多用户的福音,也是商家实力的象征。目前,极光KVM在7月份的促销,7月促销,美国CN2 GIA大带宽vps,洛杉矶联通cuvip,14元/月起;香港CN2+BGP仅19元/月起,这次补货,机会,不要错过了。点击进入:极光KVM官方网站地址极光KVM七月...

cyun29元/月,香港CN2 GIA云服务器低至起;香港多ip站群云服务器4核4G

cyun怎么样?cyun蓝米数据是一家(香港)藍米數據有限公司旗下品牌,蓝米云、蓝米主机等同属于该公司品牌。CYUN全系列云产品采用KVM架构,SSD磁盘阵列,优化线路,低延迟,高稳定。目前,cyun推出的香港云服务器性价比超高,香港cn2 gia云服务器,1核1G1M/系统盘+20G数据盘,低至29元/月起;香港多ip站群云服务器,16个ip/4核4G仅220元/月起,希望买香港站群服务器的站长...

ddd27 com为你推荐
cornerradius如何给TextView加个圆角?伪装微信地理位置如何用伪装微信地理位置?外网和内网什么是内网,和外网有什么区别优酷路由宝怎么赚钱优酷路由宝是如何赚钱的?缓冲区溢出教程哪里可以下载黑客教程,详细网址,天天酷跑刷积分教程天天酷跑积分怎么刷最快?万网核心代理万网代理商?中国万网认证核心分销商?flash导航条如何用Flash制作简单的导航栏如何建立一个网站如何建立一个网站?硬盘人什么叫“软盘人”和“硬盘人”?
美国虚拟主机推荐 网址域名注册 高防服务器租用 php主机租用 免费com域名申请 如何注册中文域名 科迈动态域名 赵容 softbank官网 wdcp 火车票抢票攻略 智能骨干网 老左正传 1g空间 吉林铁通 512mb 沈阳主机托管 vul 登陆qq空间 测试网速命令 更多